Spatial
Spatial is a server-side Fabric mod that completely transforms the standard item storage system, converting it into a grid-based layout. This is an entirely new approach to inventory organization.
Unlike many other mods that attempt to simplify item management, Spatial doesn't make the process easier. Instead, it offers you a new way to struggle with clutter in storage, forcing you to carefully plan the placement of each item like a puzzle.
Additionally, there's an optional client-side version of the mod available that improves the visual representation of the system and makes interaction with inventory more cohesive.
Images
Demonstration of the inventory system
With Optional Client Mod
Interface with improved graphics
Without Optional Client Mod
Standard system display
Configuration
The configuration file is located at ./config/spatial.json.
You can add custom shapes for items through the shape_overrides setting in the configuration file.
Shape Format
The format for shape overrides resembles the one used in crafting recipes. Any character except a space is considered an occupied cell, while spaces represent empty slots.
Example configuration that gives goat horns an L-shape:
{
...
"shape_overrides": {
"minecraft:goat_horn": [
"x ",
"xx"
]
},
...
}
Brutal Mode
When this mode is enabled, stacking of any items is completely disabled. This mode is turned off by default.
Mod Compatibility
Spatial automatically detects all crafting recipes loaded on the server. For modded items that have crafting recipes, no additional configuration is required.
To avoid breaking other mods' inventories, Spatial only works in specific container types. This may become configurable in the future, but currently the system isn't compatible with storage interfaces that don't inherit from vanilla containers supported by the mod.
Supported Containers
- Survival player inventory
- Chests
- Ender Chests
- Barrels
- Shulker Boxes
- Dispensers and Droppers
- Vehicle inventories
For Mod Developers
If you want to add custom shapes for items in your mod or another mod, you need to register an event handler for Spatial.SHAPES_LOADED and call Spatial.addShapeOverride(item, shape) or any other shape override method.