Dimensional Transceiver (HyperCube)
The Dimensional Transceiver (commonly called the HyperCube, block: BlockHyperCube, tile: TileHyperCube) is Ender IO’s cross-dimensional I/O system. It transmits power, fluids, and items between multiple HyperCube blocks that share the same channel, across any distance and dimension.
Core Blocks
- Block:
crazypants.enderio.machine.hypercube.BlockHyperCube - Tile:
crazypants.enderio.machine.hypercube.TileHyperCube - ModObject:
blockHyperCube
Multiblock Notes
The HyperCube is not a traditional multiblock — each TileHyperCube is an independent tile entity. However, all cubes sharing the same Channel form a logical network that transfers resources between each other. This is managed by HyperCubeRegister (server-side singleton).
Channel System
Each HyperCube belongs to a named Channel (Channel class). All cubes with the same channel name share:
| SubChannel | IO Modes | Function |
|---|---|---|
POWER |
SEND / RECIEVE / BOTH / NEITHER | RF power distribution |
FLUID |
SEND / RECIEVE / BOTH / NEITHER | Fluid transfer |
ITEM |
SEND / RECIEVE / BOTH / NEITHER | Item transfer |
Channel assignment is done via the GUI (GuiHyperCube). Channels are stored in ClientChannelRegister (client) and ServerChannelRegister (server).
Formation Rules
- No physical formation — each HyperCube is placed independently.
- Cubes are registered to
HyperCubeRegisterononBlockAdded()and deregistered oninvalidate()/onChunkUnload(). - All cubes with the same channel name form a logical network.
- Minimum for function: 2 cubes on the same channel (one sending, one receiving).
- Redstone control: Each cube has an independent
RedstoneControlModethat can disable its participation in the network.
Energy / Data Flow
Power
- Internal capacitor:
BasicCapacitor(transceiverMaxIoRF, 25000)— stores power for operations. - Upkeep cost:
Config.transceiverUpkeepCostRFRF/tick (deducted every tick). - Transmission cost:
Config.transceiverBucketTransmissionCostRF / 1000FRF per millibucket of fluid transferred. - Max I/O:
Config.transceiverMaxIoRFRF/tick per cube. - Energy loss:
Config.transceiverEnergyLoss(default 0.1 = 10% loss per hop). - Distribution logic (
sendEnergyToOtherNodes): Each cube with excess power (> 0) distributes to other cubes in the same channel, subject to per-tick max I/O limits. - Connection requirement: A cube must have > 0 energy stored AND at least one other connected cube with > 0 energy to stay “connected” (
canMaintainConnection()). If energy runs out, it deregisters from the channel.
Fluids
IFluidHandlerinterface:fill()(send) anddrain()(receive).- Each cube tracks
NetworkFluidHandlerobjects for all adjacent fluid handlers. - Fluid is distributed across all receiving cubes in the channel.
- Transmission cost is paid in RF per millibucket transferred.
Items
ISidedInventorywith 8 input + 8 output slots.- Items are pulled from local inventory and distributed to receiving cubes’ output slots.
- Item filters (
ItemFilter) control what can be sent/received. ItemRecieveBufferqueues incoming items before inserting into the inventory.
Redstone Control
RedstoneControlMode:IGNORE,SIGNAL_OFF,SIGNAL_ON- When redstone check fails: cube deregisters from channel, stops all transmission.
- Per-cube independently controllable.
Energy Loss
The HyperCube has configurable energy loss per transmission:
energy_received = energy_sent × (1 - ENERGY_LOSS)
Default ENERGY_LOSS = Config.transceiverEnergyLoss = 0.1 (10%).
This makes long-distance power transmission expensive and prevents infinite energy loops.
GUI
- Right-click opens
GuiHyperCube. - Configure: channel name, per-subchannel IO mode, redstone control.
- Displays: current power stored, channel members, inventory slots.
Rendering
HyperCubeRendererrenders the 3D block.- Overlay icons for channel state and connection status.
Configuration
From Config.java:
transceiverMaxIoRF: 5000 RF/ticktransceiverInternalBuffer: used as max storage in capacitortransceiverEnergyLoss: 0.1 (10%)transceiverUpkeepCostRF: 5 RF/ticktransceiverBucketTransmissionCostRF: 100 RF/mBtransceiverMaxIoRF: also used for max power transfer per tick
See Also
- Transceiver (Dimensional Transceiver — same block, different name)
- Power Conduit
- Fluid Conduit
- Item Conduit