Capacitor Bank
The Capacitor Bank (BlockCapBank / TileCapBank) is Ender IO’s primary RF power storage multiblock. It stores large amounts of energy and can be expanded by connecting multiple banks together.
Core Blocks
- Block:
crazypants.enderio.machine.capbank.BlockCapBank - Tile:
crazypants.enderio.machine.capbank.TileCapBank - ModObject:
blockCapBank
Cap Bank Types
| Type | Max I/O (RF/t) | Max Storage (RF) | Multiblock | Creative |
|---|---|---|---|---|
| Simple | Config.tierOneMaxIoRF | Config.tierOneMaxStorageRF | Yes | No |
| Activated | Config.tierTwoMaxIoRF | Config.tierTwoMaxStorageRF | Yes | No |
| Vibrant | Config.tierThreeMaxIoRF | Config.tierThreeMaxStorageRF | Yes | No |
| Creative | 500,000 | tierTwoMaxStorageRF | No | Yes |
Config values (from Config.java):
capacitorBankTierOneMaxStorageRF: 1,000,000 RFcapacitorBankTierTwoMaxStorageRF: 5,000,000 RFcapacitorBankTierThreeMaxStorageRF: 25,000,000 RF
Multiblock Formation
- Automatic formation: Any two capacitor banks of the same type (same UID) that are adjacent will form a network.
- The network is managed by
ICapBankNetwork(server-side:CapBankNetwork, client-side:CapBankClientNetwork). - No fixed shape: Any adjacent arrangement of same-type banks is valid — networks grow organically.
- Scale: Minimum 1 block (solo), no hard maximum. All members share total storage and I/O.
- Network discovery:
NetworkUtil.ensureValidNetwork()is called each tick if no network is assigned. - Breaking any member destroys that member’s participation; the remaining banks remain connected.
Formation Rules
- Same type required:
canConnectTo()checksgetType().getUid().equals(cap.getType().getUid()). - Formation is triggered automatically on block update.
- Inventory sharing: The network has a shared inventory of 4 slots, held by one designated member (
getInventory().getCapBank()).
Energy / Data Flow
- Per-tick I/O: Each bank’s
maxInput/maxOutputis set from itsCapBankType. All members share the network’s aggregate power. - Energy distribution:
CapBankNetwork.distributePower()/CapBankNetwork.receiveEnergy()routes power across all members. - Receptors:
EnergyReceptortracks adjacent power interfaces (machines, conduits). IO mode per face:PULL(input),PUSH(output),DISABLED,NONE. - Redstone control:
RedstoneControlMode(IGNORE / SIGNAL_OFF / SIGNAL_ON) controls whether the bank accepts/provides power. - Display types: Per-face
InfoDisplayType(NONE, INPUT, OUTPUT, STORED, CAPACITY) controls the icon overlay. - Comparator output:
IComparatorOutputreturns signal strength proportional to fill ratio.
GUI
- Right-click opens the capacitor bank GUI (
GuiCapBank). - Displays: current storage, max storage, I/O rates, network members, inventory.
- IO mode cycling per face via the GUI.
Rendering
CapBankRenderer(inrender/) renders the multiblock as a unified structure.- Per-tier textures: simple (blue border), activated (orange), vibrant (green), creative (rainbow).
- Icon overlays for input/output/locked states.