跳到正文
烈焰甘蔗Wiki

Teleport Network

The Teleport Network in Ender IO consists of two separate but complementary systems: Travel Anchors and Teleport Pads. Both allow player (and entity) teleportation, but with different mechanisms, power costs, and network topologies.


Travel Anchor System

Travel Anchors (BlockTravelAnchor / TileTravelAnchor) are point-to-point teleportation points that form an ad-hoc network — any anchor can teleport to any other anchor in range, without explicit pairing.

Core Blocks

  • Block: crazypants.enderio.teleport.anchor.BlockTravelAnchor (registered as blockTravelPlatform)
  • Tile: crazypants.enderio.teleport.anchor.TileTravelAnchor
  • ModObject: blockTravelAnchor

Formation Rules

  • Single block — no multiblock structure.
  • Anchors are placed as individual blocks. There is no minimum or maximum member count.
  • Anchors must be within Config.travelAnchorMaxDistance (default: 48 blocks) to be valid travel destinations.
  • Teleportation is initiated by equipping a Travel Staff or Teleport Staff and right-clicking an anchor.
  • Sneak-right-click to access the anchor’s GUI for access mode, password, and labeling.

Access Control

TileTravelAnchor implements ITravelAccessable with three access modes:

Mode Description
PUBLIC Anyone can use the anchor
PROTECTED Only the owner and authorized users can access; password may be required
PRIVATE Only the owner can see or use the anchor

Authorization is granted by the owner via the GUI after entering the correct password.

Energy / Data Flow

  • Power cost: Config.travelStaffPowerPerBlockRF RF per block traveled (default: 250 RF/block).
  • Uses the Travel Controller (TravelController) to find valid destinations and validate range.
  • Staffs can also “blink” short distances at reduced or zero power cost (STAFF_BLINK, TELEPORT_STAFF_BLINK).
  • Supports cross-dimensional travel (configurable: telepadLockDimension).

Key Features

  • Paintable with any block texture via IPaintableTileEntity.
  • Can be named with an item label for visual identification in the world.
  • Configurable cooldown: Config.travelAnchorCooldown (ticks between uses).
  • Visibility toggle: canSeeBlock respects access mode.

Teleport Pad System

Teleport Pads (BlockTelePad / TileTelePad) form a multiblock structure that allows teleporting entities to a specific coordinate (X, Y, Z, dimension), not just to another pad.

Core Blocks

  • Block: crazypants.enderio.teleport.telepad.BlockTelePad
  • Tile: crazypants.enderio.teleport.telepad.TileTelePad (extends TileTravelAnchor)
  • ModObject: blockTelePad

Multiblock Formation

The telepad forms a 3×3 flat 9-block multiblock (single Y plane) when the 8 surrounding positions are all telepad tiles:

  1. Place a center block (any telepad tile).
  2. Fill all 8 surrounding positions on the same Y level — the 4 cardinal sides and the 4 diagonals.
  3. The center block becomes the master when all 8 are occupied.
  4. If any of the 8 is removed (or replaced by a non-telepad), the network dissolves and must reform.

✅ 订正记录:原文写「3×3 十字形 / 1 中心 + 4 边 = 5 块 / 只需四向」,结构尺寸与控制器判定均错。 证据:TileTelePad.getSurroundingCoords() 遍历 for (int x = -1; x <= 1; x++) for (int z = -1; z <= 1; z++) 且 Y 固定为 yCoord,返回 8 格(含 4 对角)(TileTelePad.java:277-285); formNetwork() 遍历这 8 格,遇到任何非 TileTelePad 或已入网者立即 return false,必须 9 块全满(TileTelePad.java:234-247); updateConnectedState() 的成立条件是 connections.size() == 4(四个边向,对角不计入连接方向)(TileTelePad.java:210-212)。

[T][T][T]      T = Telepad tile(含对角)
[T][C][T]      C = Center / master
[T][T][T]

Minimum: 9 blocks (1 中心 + 8 邻位,全同一 Y 平面).
Maximum: 9 blocks (固定 3×3 平面,无更大规模).
Formation: Automatic — onBlockAdded / onNeighborBlockChange 触发 updateConnectedState().
可否旋转: 不适用 —— 结构在同一 Y 平面且四向对称,无朝向概念。
可否拆除: 拆除 8 格中任一格即 breakNetwork() 解散,需重新凑满 9 块。

Network Logic

  • Master tile (isMaster() == true) stores the target coordinates and target dimension.
  • Target coordinates are set via the Coord Selector (ItemCoordSelector) or manually in the GUI.
  • All 5 tiles participate in entity queueing; only the master tile processes teleportation logic.
  • Redstone active check (isActive()): if no power, no teleportation occurs.

Energy / Data Flow

  • Internal EnergyStorage: Config.telepadPowerStorageRF (default: 100,000 RF)
  • Max I/O per tick: Config.telepadPowerPerTickRF (default: 1,000 RF/tick)
  • Power cost formula: distance × Config.teleportStaffPowerPerBlockRF + Config.telepadPowerCoefficient (default: 100,000 base cost)
  • Interdimensional travel: Config.telepadPowerInterdimensional (default: 100,000 RF)
  • Entity queue: entities stand on the pad, consume power, and teleport when powerUsed >= maxPower.

Key Features

  • Progress rendering: Blades spin up as power accumulates; blade speed reflects teleport progress.
  • Sound: MachineSound (“telepad.active”) plays while active.
  • Redstone control: Can be disabled via redstone signal.
  • Entity types: Teleports players and generic entities; does not teleport tile entities.
  • Coord lock: Config.telepadLockCoords and Config.telepadLockDimension enforce fixed destination.

Comparison

Feature Travel Anchor Teleport Pad
Multiblock No 3×3 平面(9 块,含对角)
Destination Any anchor in range Fixed X/Y/Z/dim
Access control Per-anchor (PUBLIC/PROTECTED/PRIVATE) Network-wide
Power cost Per-block (RF) Base + per-block
Interdimensional Yes Yes
Entity queue N/A Yes (batch teleport)

See Also

浏览全部模组