Conduit Bundle

The Conduit Bundle (block: BlockConduitBundle, tile: TileConduitBundle) is Ender IO’s central hub for all conduit types. It is a single-block tile entity that serves as the attachment point for up to six different conduit networks, providing a unified interface for power, fluids, items, redstone signals, ME network traffic, and OpenComputers cables.

Supported Conduit Types

Conduit Network Class Function
Power Conduit PowerConduitNetwork RF power transfer
Fluid Conduit LiquidConduitNetwork Liquid/fluid transfer
Item Conduit ItemConduitNetwork Item transfer with filtering
Redstone Conduit RedstoneConduitNetwork Redstone signal transfer
ME Conduit MEConduitNetwork Applied Energistics 2 network access
OC Conduit OCConduitNetwork OpenComputers network access
Gas Conduit GasConduitNetwork Mekanism gas transfer

Core Block

  • Block: crazypants.enderio.conduit.BlockConduitBundle
  • Tile: crazypants.enderio.conduit.TileConduitBundle
  • ModObject: blockConduitBundle

Key Interfaces Implemented

TileConduitBundle implements IConduitBundle, which aggregates:

  • IInternalPowerHandler — RF power I/O
  • IFluidHandler — fluid tank I/O (via liquid conduits)
  • IItemDuct — item transfer I/O (cofh API)
  • IGasHandler — gas transfer I/O (Mekanism API, optional)
  • IGridHost — AE2 network node attachment (optional)
  • Environment / SidedEnvironment — OpenComputers node (optional)
  • IMicroblockSupporterTile — Immibis Microblocks support (optional)

Formation Rules

  • No multiblock formation — the bundle is a single block. Each placed BlockConduitBundle is an independent attachment point.
  • Conduits are inserted into the bundle by right-clicking with the conduit item.
  • Connections between bundles are formed automatically when two bundles have compatible conduit types facing each other.
  • Auto-connect: Conduits scan adjacent blocks each tick and create connections when a compatible conduit is detected on an adjacent face.
  • Connection modes per conduit type: INPUT, OUTPUT, INPUT_OUTPUT, DISABLED — configurable via the conduit GUI.

Facades

The bundle supports conduit facades (ItemConduitFacade), which allow it to be covered with any painted block texture. Facade state is stored per-bundle (block type + metadata). Supports both basic and “annihilator” facade types via Immibis Microblocks API.

Conduit Network Architecture

Each conduit type maintains its own network:

  1. Discovery: When two bundle tiles detect compatible conduit connections, they form a network.
  2. Tick-based update: Each conduit network ticks independently via AbstractConduitNetwork.updateEntity().
  3. Network-wide logic: Networks aggregate all connections and propagate transfer operations across the network (e.g., NetworkPowerManager for power, LiquidConduitNetwork for fluids).
  4. Extraction modes: Item conduits support ROUND_ROBIN, RANDOM, and FIRST_AVAILABLE extraction strategies.

Energy / Data Flow

  • Power: NetworkPowerManager distributes RF power across all connected power conduits. Tracks per-conduit input/output rates and balances load.
  • Fluids: LiquidConduitNetwork transfers fluids between tanks. Each conduit can hold a small internal buffer (displayed as fill level). Supports multiple channel types (ender-gold-silver-iron-copper-yellorium).
  • Items: ItemConduitNetwork moves items between inventories. Supports filter upgrades (ItemFilter, ItemModFilter, BigItemFilter) and speed upgrades.
  • Redstone: RedstoneConduitNetwork propagates signal. Insulated redstone conduits can connect to vanilla redstone and carry up to 16 signal colors.
  • ME/OC: Passive network interfaces; no active transfer logic in the conduit itself.

Rendering

  • ConduitBundleRenderer renders all attached conduits and their connectors in 3D.
  • DefaultConduitRenderer handles the base conduit shape.
  • Individual conduit types have dedicated renderers (e.g., PowerConduitRenderer, LiquidConduitRenderer).
  • Connectors are rendered as rounded segments via RoundedSegmentRenderer.

See Also