Beyond Dimensions

Beyond Dimensions is a mod that provides storage solutions. It introduces a virtual storage system obtainable in the late-game of vanilla game

411,16k

Beyond Dimensions

Dimensional Network --- Beyond Dimensions is a mod focused on storage and utility. It introduces a "Dimensional Network" – a versatile storage system supporting items, fluids, FE energy, XP, Mekanism's chemicals, Ars Nouveau's sources, Botania's mana and Industrial Foregoing:Souls. It combines exceptional storage capacity and performance with a user-friendly interface, easily handling storage needs for most scenarios.

O --- You need to defeat the Wither, or acquire a Nether Star by any other means. Craft it into an O. Keep this fragment in your inventory for one hour, transforming it into a O. Use this to craft a O and activate it to create your Dimensional Network. Then, simply press the hotkey (default: 'O') to open the storage interface.

Terminals --- * Terminals The default storage capacity is the maximum. It can store 2.1 billion different item or resource types, with each type capable of holding 2^63^-1 units (the maximum value of a Java `long`). The maximum number of stored types, the capacity per type, and the methods for expanding storage can all be customized using Terminals. * Terminals The storage system has undergone extensive optimization. Performance tests show excellent results whether connecting to AE2 or using just this mod alone. See the Terminals section for specific test results. * Terminals The storage system binds networks using player permissions. A single network can be shared with multiple players. Alternatively, sharing can be achieved through item-form Terminals.

Intuitive Storage Interface: --- Intuitive Storage Interface: The mod provides an interface following interaction logic consistent with popular storage mods like AE2 and RS. * Built-in crafting grid. * Multiple search modes: Direct text input searches names, tooltips, *or* mod IDs. Prefix with `#` to match tooltips strictly. Prefix with `@` to match mod IDs strictly. * Customizable number of displayed item rows. * Multiple sorting options: By storage time, by quantity, by name, by mod ID.

Universal Slot System: Any slot in any of the mod's GUIs can store all supported resource types and supports quick interaction mechanics.

Quick Container Operation: Right-click a slot while holding the corresponding container to quickly deposit/withdraw resources from the container. For example: Right-clicking a slot with a Shulker Box, Sophisticated Backpack, or any container will quickly store items into the container; right-clicking an empty slot will quickly withdraw items from the container and place them into the slot. This operation supports fluids, Mekanism's chemicals, and even FE energy.

Automation Support & Utilities --- The mod provides blocks for automation and utility items. These blocks need to be bound to a network and mostly support redstone control, enabling interaction with other mods via the storage.

* Main Hand Item Quick Transfer: Exposes the *entire* storage contents of the Dimensional Network. Allows input/output via pipes, hoppers, AE2/RS Storage Buses, and Sophisticated Backpack unload upgrades. * Main Hand Item Quick Transfer: Functions almost identically to the Network Pathway but is dedicated to FE energy transfer. Its UI shows current FE energy flux. Supports an "Eject Mode" outputting FE to adjacent blocks at 2.1 billion FE/tick. * Main Hand Item Quick Transfer: Similar to an ME Interface. Features "Pattern Slots" and "Storage Slots". Attempts to insert stored resources *into* the network and extract resources *from* the network marked in the pattern slots. Supports Eject Mode. * Main Hand Item Quick Transfer: Actively pulls resources from adjacent containers and inserts them into the Dimensional Network. Has filter slots supporting blacklist/whitelist modes. * Main Hand Item Quick Transfer: Absorbs nearby item entities and even flowing fluids, depositing them directly into the network. Its operational range is adjustable (from 2 blocks up to a whole chunk). Larger ranges have longer operation intervals. Has filter slots supporting blacklist/whitelist. * Main Hand Item Quick Transfer: Allows marking recipes (input and fuel). Automatically pulls marked resources from the network for smelting. Supports FE or Lava as fuel. Finished products can be ejected into adjacent containers or stored back in the network. * Main Hand Item Quick Transfer: When a player's hunger drops below its configured threshold, it will feed the player food marked from the network. Won't consume "infinite" foods like Neverending Bacon or Eternal Steak. Equippable in a Curios Charm slot. * Main Hand Item Quick Transfer: Similar to the Net Hopper but portable. Absorbs item entities with a higher frequency than the Hopper. Has a hotkey toggle. Equippable in a Curios Charm slot. * Main Hand Item Quick Transfer: Middle-click a block to instantly extract a stack of the held item type from the network. Crouch + Middle-click to deposit the held item(s) back into the network. This keybind is configurable.

Inventory Profiles Next (IPN) --- * Supports drag-and-drop ghost ingredient marking and quick recipe transfer in Inventory Profiles Next (IPN). * JEI/EMI ghost ingredient marking can recognize items stored within AE2 Generic Stack. * Adds an Inventory Profiles Next (IPN) for reading bound network contents. Offers Inventory Profiles Next (IPN) than using Storage Buses. * Supports storage of Inventory Profiles Next (IPN). * Crafting grid supports the Inventory Profiles Next (IPN) mod. * The Inventory Profiles Next (IPN) can be equipped in a Curios Charm slot. Installing Beyond Dimensions with Curios adds an extra Charm slot. * Inventory Profiles Next (IPN) Support: Exposes classes allowing customization of network creation logic, initial capacity, expansion methods, and direct storage manipulation. * Disables the Inventory Profiles Next (IPN) mod within the mod's GUIs due to significant UI modifications making them incompatible. Please use Mouse Tweaks for quick transfers instead.

Add-on Development & KubeJS Customization Help ---

Add-on Development

Adding new storable resource types is straightforward in code. Implement the following interfaces and register the resource type along with corresponding handlers:

1. `StackTypedHandler.typedHandlerMap` - Enables the mod to recognize and store this resource type. 2. `StackTypedHandler.typedHandlerMap` - Enables the mod to interact programmatically with containers/mod blocks holding this resource. 3. `StackTypedHandler.typedHandlerMap` - Allows the resource type to be accessed by other mods' pipes/Storage Buses *from blocks*. 4. `StackTypedHandler.typedHandlerMap` - Enables the quick container slot interaction (middle-click) for *items* holding this resource. 5. `StackTypedHandler.typedHandlerMap` - Allows the Dimensional Network core storage to manipulate this resource. 6. `StackTypedHandler.typedHandlerMap` - Allows peripheral blocks (like Network Interfaces) to manipulate this resource in their internal slots.

Special compatibility of AE2, even if skipped, does not prevent the use of storage buses for reading.: 7. `AEHelper.AEKEY_TO_STACK_TYPE_MAP` - Maps Beyond Dimensions resource objects to AE2 keys (for read Dimensional ME Storage Cell). 8. `AEHelper.AEKEY_TO_STACK_TYPE_MAP` - Maps AE2 keys back to Beyond Dimensions resource types (for Dimensional ME Storage Cell operations).

Refer to the mod's main registration file (BeyondDimensions.java) for implementation examples. *Note: Registration specifics may change in future versions.*

KubeJS Customization Help

To customize network capacity: 1. Disable the default Dimensional Network Generator recipe. 2. Use the provided KubeJS-exposed classes/methods to implement your own network creation and expansion logic.

| Class Name | Method Signature | Return Type | Static | Purpose | | :------------------- | :------------------------------------------------------------------------------- | :--------------- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | No | `createNewNetForPlayer(Player player, long defaultSlotCapability, int defaultSlotMaxSize)` | DimensionsNet | Yes | Create a Dimensional Network for the specified player. `defaultSlotCapability`: Max units per resource type. `defaultSlotMaxSize`: Max number of resource types. | | | `getNetFromId(int id, MinecraftServer dataProvider)` | DimensionsNet | Yes | Retrieve a DimensionsNet object by its numerical ID. | | | `getNetFromPlayer(Player player)` | DimensionsNet | Yes | Retrieve the DimensionsNet bound to the specified player. | | | `getUnifiedStorage()` | UnifiedStorage | No | Get the UnifiedStorage object representing the *storage content* of this network. | | No | `setSlotCapacity(long capacity)` | void | No | Set the maximum storage capacity (units) for *each* resource type in this network. | | | `setSlotMaxSize(int maxSize)` | void | No | Set the maximum number of *different* resource types this network can store. |

In addition, the mod exposes some other classes to KubeJS. For details, see here.

The `UnifiedStorage` class also contains a considerable number of other methods that allow you to directly modify a player's storage contents.

The mod's API comes with complete Chinese annotations. Check them out here.

Other Information ---

Performance Testing

Tests covered three scenarios on the same machine under identical background conditions, utilizing the Spark mod. All tests used 1319 randomly generated unique items.

1. Native AE2 Storage: Items stored/modified via Beyond Dimensions. Input/Output via Mekanism pipes. 2. Native AE2 Storage: Network connected to AE2 via Dimensional ME Storage Cell. Input/Output via Mekanism pipes. 3. Native AE2 Storage: Items stored in standard AE2 drives (21 x 64k Storage Cells). Input/Output via Mekanism pipes.

*Note: Scenario 1 uses Beyond Dimensions blocks (`Dimensional Network Pathway`, `Network Interface`) and reflects the mod's core performance. Scenarios 2 & 3 use identical AE2 setups (Export Bus, ME Interface, infinite channels), differing only in the storage source, enabling direct comparison.*

Results:

| Test Environment | TPS | MSPT (Median) | MSPT (95th %) | Loaded Chunks | Entity Count | | :---------------------------- | --: | -----------: | -----------: | -----------: | -----------: | | Standalone Beyond Dimensions | 20 | 4.86 | 4.86 | 2601 | 13 | | AE2 + Dimensional ME Cell | 20 | 2.97 | 3.37 | 2601 | 13 | | AE2 Native Storage | 20 | 2.70 | 3.08 | 2601 | 13 |

Detailed Spark profiles and test setup information are available here.

Roadmap (Upcoming Features)

* Change vanilla item/fluid storage max capacity to 64-bit integers (Completed). * Experience (XP) storage and utility tools. * Ars Nouveau Source storage and utility tools. * Refined Storage (RS) dedicated storage component. * Add progression mechanics (initially granting limited storage that requires expansion). * More automation utilities and tools. * Additional utility items and equipment.

Supported Versions

| MC Version | Loader | Mod Version | Status | | :--------- | :-------- | :---------- | :----------------- | | 1.12.2 | Neoforge | 0.3.0+ | 1.12.2 | | 1.12.2 | Forge / Neoforge | 0.3.0+ | 1.12.2 | | 1.12.2 | Forge | 0.1.7.4 | Maintanence Only (Critical bugs only) |

Support for other Minecraft versions is not planned until the current roadmap for supported versions is substantially complete.

---

ADS