Download Dimensional Inventories — Minecraft Mods — MetaMods
Dimensional Inventories

Dimensional Inventories

Active

Downloads

19

Last update

2 months ago

Versions

1.19.2 — 1.21.8
Server
Fabric
Control
Utils

Dimensional Inventories

A Minecraft Fabric mod that enables independent inventory sets for different dimension groups. Originally developed to add a separate creative world to a survival server using custom dimension datapacks (example datapack available in releases on GitHub).

Core Features

The mod operates with dimension pools. Each pool can contain any number of dimensions, but a dimension can only belong to one pool. A player's inventory (including main inventory, armor, offhand, ender chest, experience, score, hunger, saturation, exhaustion, and health) and game mode remain the same within the same dimension pool.

When a player moves to a dimension from a different pool, their current inventory is saved to a file corresponding to the source pool. Then the inventory and status effects are cleared, the inventory is loaded from the target pool's file (if it exists), and the game mode is switched to the one set for that pool. Non-player entities are simply deleted when moving between different pools.

Advancement progress can be enabled or disabled for each pool. Players can view their advancements in any pool, but can only progress and complete them, as well as unlock recipes, in pools with advancement progress enabled. A similar setting applies to statistics.

Pool parameters are loaded from and saved to a JSON file. If the file is not found, a pool named default is automatically created, containing dimensions minecraft:overworld, minecraft:the_nether, and minecraft:the_end with survival mode, enabled advancement progress, and statistic incrementation. Thus, in a standard survival world, the mod initially has no effect.

If the source or target dimension is not assigned to any pool, the player's inventory and game mode remain unchanged. This allows preserving inventory when traveling between pools by moving through an unassigned dimension.

Usage

Mod management is done through commands starting with diminv. The simplest command shows the mod version and is available to everyone:

diminv

All other commands require access level 4 (operator).

Managing Dimension Pools

Show all dimension pools, their game modes, and contained dimensions:

diminv list

Show a specific dimension pool, its game mode, and contained dimensions:

diminv pool <pool_name> list

Create a new dimension pool:

diminv pool <pool_name> create

Remove an existing dimension pool:

diminv pool <pool_name> remove

Assign a dimension to a pool (with simultaneous removal from all other pools):

diminv pool <pool_name> dimension <dimension_name> assign

Remove a dimension from a pool:

diminv pool <pool_name> dimension <dimension_name> remove

Set the game mode for a dimension pool:

diminv pool <pool_name> gamemode <gamemode>

Enable or disable advancement progress for a dimension pool:

diminv pool <pool_name> progressAdvancements <boolean>

Enable or disable statistic incrementation for a dimension pool:

diminv pool <pool_name> incrementStatistics <boolean>

Tips

Custom dimensions do not support portal travel, so teleportation is required to access them. One method is to use the standard teleport command with the execute command:

execute in <dimension_name> run teleport <coordinates>

Access to custom dimensions can be simplified using mods that provide warps, homes, and other teleportation types. For convenient dimension hopping, players can be allowed to teleport to their previous location - typically implemented with a /back command. An example mod with such functionality is Essential Commands.

On a survival server with a creative dimension, access to the creative dimension can be organized via a warp. Players can set a home in the creative dimension for easy access to their current project and quickly return to the survival world using the /back command. This allows easily designing builds in creative and using them as a reference when building in survival.

To manage access to these and other commands, it's useful to assign permissions independently for different dimensions. This can be implemented using a permissions management mod like LuckPerms - see the wiki entry on contexts. For example, permissions essentialcommands.warp.tp and essentialcommands.home.tp can be granted globally, while essentialcommands.home.set and essentialcommands.back - only in the creative dimension.

Using Vanilla Permissions or Universal Perms to provide additional permission nodes in this context may also be useful.

To add portal support to custom dimensions, another mod can be used alongside Dimensional Inventories. An example of such a mod is Dimension Portal Linker.

Project members
Thomilist

Thomilist

Developer

Created: 15 Feb 2023

ID: 8007