虚空箱与运输信标

基本信息

属性 值
虚空箱方块 void_chest(BlockVoidChest),硬度 5.0,抗性 140,脚步声 piston
虚空箱 TileEntity TileEntityVoidChest,注册名 VoidChest(init/BlockList.java:512)
虚空箱槽位数 27(InventoryVoidChest 构造第 3 参)
运输信标方块 transport_beacon(BlockTransportBeacon),不可破坏,抗性 6000000,发光 1.0
运输信标 TileEntity TileEntityTransportBeacon,注册名 TransportBeacon(init/BlockList.java:513)
玩家数据键 HardcoreEnderExpansion~VoidChest / HardcoreEnderExpansion~TransportBeacons

功能

虚空箱(Void Chest)

虚空箱是每玩家私有的 27 格容器:无论箱体放在末地哪里,同一个玩家打开任何虚空箱看到的都是同一份物品。物品存在玩家扩展属性里,不随区块/实体保存。

  • GUI 标题 key:container.voidChest(mechanics/voidchest/InventoryVoidChest.java:14)
  • 堆叠合并判据 isSameItem:物品实例相同,或物品 + 伤害值相同且 NBT 完全相同(InventoryVoidChest.java:22-26)
  • putItem 优先向已有同类槽位合并,合并上限为 is.getMaxStackSize()(InventoryVoidChest.java:28-45)
  • 容器通过 setChest(TileEntityVoidChest chest) 绑定到具体箱体(InventoryVoidChest.java:17-20)
  • 玩家侧持有者 PlayerVoidChest implements IExtendedEntityProperties(mechanics/voidchest/PlayerVoidChest.java:15),通过 PlayerDataHandler.registerProperty("HardcoreEnderExpansion~VoidChest", …) 注册(:19-28),读取入口 getInventory(EntityPlayer)(:30-32)
  • 相关实体:EntityTechnicalVoidChest(init/EntityList.java:118),用于箱子被破坏时的物品回收
  • 事件:VoidChestEvents,注册于 HardcoreEnderExpansion.java:142
  • GUI:gui/GuiVoidChest.java:16,背景复用原版 generic_54.png

运输信标(Transport Beacon)

运输信标是不可破坏的地标方块,成对使用:站在一个信标上使用 temple_caller 之类的传送机制可以跳到已激活的另一个信标。

  • 激活列表存在玩家扩展属性 HardcoreEnderExpansion~TransportBeacons(mechanics/misc/PlayerTransportBeacons.java:21)
  • 有效半径 960 格:locations.contains(new LocationXZ(x, z)) && MathUtil.distance(fromX - x, fromZ - z) <= 960D(PlayerTransportBeacons.java:49)
  • 同上,loc.distance(center) <= 960D 收集附近已激活信标(PlayerTransportBeacons.java:57)
  • 内部位置类 PlayerTransportBeacons.LocationXZ(:89),distance 用 MathUtil.distance(dx, dz)(:98-100)
  • 数据同步包:C13TransportBeaconData(客户端)、S04TransportBeaconTravel(服务端)
  • GUI:gui/GuiTransportBeacon.java:25
  • 注册于 HardcoreEnderExpansion.java:146

数值

项 值 位置
虚空箱槽位数 27 InventoryVoidChest.java:14
运输信标有效半径 960.0 格 PlayerTransportBeacons.java:49、57
transport_beacon 抗性 6000000(setBlockUnbreakable()) init/BlockList.java:329
void_chest 抗性 140 init/BlockList.java:309
void_chest 能量价值 4.30 energyUnits mechanics/energy/EnergyValues.java:53

交互

触发 行为
右键虚空箱 打开私有 27 格 GUI(container.voidChest)
破坏虚空箱 由 EntityTechnicalVoidChest 回收物品,不影响其他玩家的物品
右键运输信标 打开 GuiTransportBeacon,选择已激活的信标位置
传送 只能传到激活列表中 960 格内的信标
多人 虚空箱与信标列表都是按玩家隔离的(IExtendedEntityProperties)

合成配方

虚空箱

PPP
ECE
PPP
符号 物品
P end_powder
E endium_block
C Blocks.ender_chest(末影箱)

产出 1 个。位置:mechanics/RecipeList.java:50-60。

运输信标

没有合成配方。 已核对 mechanics/RecipeList.java 全部 37 个 GameRegistry 调用点,没有任何一条以 BlockList.transport_beacon 为产物。它是末地生态岛结构的自然产物(world/structure/island/feature/island/ 体系)与末影传送门周边的地标。

相关条目