Download Beyond Dimensions — Minecraft Mods — MetaMods
Beyond Dimensions

Beyond Dimensions

Active

Downloads

0

Last update

1 week ago

Versions

1.12.2 — 1.21.1
Client and server
Forge
Neoforge
Storage
Utils

Beyond Dimensions

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.

Getting Started

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

Storage System

  • Capacity: 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 KubeJS.
  • Performance: The storage system has undergone extensive optimization. Performance tests show excellent results whether connecting to AE2 or using just this mod alone. See the Performance Testing section for specific test results.
  • Multiplayer: 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.

UI 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.

  • Dimensional Network Pathway: Exposes the entire storage contents of the Dimensional Network. Allows input/output via pipes, hoppers, AE2/RS Storage Buses, and Sophisticated Backpack unload upgrades.
  • Dimensional Network Energy Pathway: 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.
  • Network Interface: 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.
  • Net Pump: Actively pulls resources from adjacent containers and inserts them into the Dimensional Network. Has filter slots supporting blacklist/whitelist modes.
  • Net Hopper: 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.
  • Net Furnace: 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.
  • Net Feeder: 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.
  • Net Magnet: 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.

Mod Integration & Support

  • Supports drag-and-drop ghost ingredient marking and quick recipe transfer in JEI/EMI.
  • JEI/EMI ghost ingredient marking can recognize items stored within AE2 Generic Stack.
  • Adds an AE2 Dimensional ME Storage Cell for reading bound network contents. Offers over 10x higher performance than using Storage Buses.
  • Supports storage of Mekanism's chemicals.
  • Crafting grid supports the Polymorph mod.
  • The Portable Network Terminal can be equipped in a Curios Charm slot. Installing Beyond Dimensions with Curios adds an extra Charm slot.
  • KubeJS 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. IStackType - Enables the mod to recognize and store this resource type.
  2. IStackHandlerWrapper - Enables the mod to interact programmatically with containers/mod blocks holding this resource.
  3. CapabilityHelper.BlockCapabilityMap - Allows the resource type to be accessed by other mods' pipes/Storage Buses from blocks.
  4. CapabilityHelper.ItemCapabilityMap - Enables the quick container slot interaction (middle-click) for items holding this resource.
  5. UnifiedStorage.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.ISTACK_TO_AEKEY_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
DimensionsNet 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.
UnifiedStorage 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. Standalone Beyond Dimensions: Items stored/modified via Beyond Dimensions. Input/Output via Mekanism pipes.
  2. Beyond Dimensions via AE2 Storage Cell: 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 3.67 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.21.1 Neoforge 0.3.0+ Actively Updated
1.20.1 Forge / Neoforge 0.3.0+ Actively Updated
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.