Iron Gear Box

基本信息

属性 值
注册名 thaumicenergistics:gear.box(BlockEnum.IRON_GEAR_BOX,BlockEnum.java:21)
方块类 thaumicenergistics.common.blocks.BlockGearBox
继承链 AbstractBlockGearBoxBase → AbstractBlockAEWrenchable → Block
TileEntity thaumicenergistics.common.tiles.TileGearBox(TileID thaumicenergistics.TileGearBox,两种齿轮箱共用)
材质 Material.ground(AbstractBlockGearBoxBase.java:36)
硬度 0.6F(AbstractBlockGearBoxBase.java:47)
碰撞箱 (0.23, 0.23, 0.23) → (0.77, 0.77, 0.77)(AbstractBlockGearBoxBase.java:49)
脚步声 Block.soundTypeStone(AbstractBlockGearBoxBase.java:44)
爆炸抗性 源码中 setResistance 0 命中,无显式数值可引用
创造标签 thaumicenergistics.ThETab(AbstractBlockGearBoxBase.java:40)
允许傀儡交互 否(allowGolemInteraction 默认 false,AbstractBlockGearBoxBase.java:31)
显示名 Iron Gear Box(en_US.lang:thaumicenergistics.block.gear.box.name)

功能

Iron Gear Box(铁齿轮箱)为 AE2 的 Mechanical Grinder(机械研磨机)提供免燃料的手摇动力。它本身不消耗 AE 电力 —— 玩家右键摇动曲柄,把「轴动力」分发给 6 个面相邻的可摇设备;攒够 18 点动力就驱动一次研磨。

核心机制(TileGearBox.java):

  • 右键 → AbstractBlockGearBoxBase.onBlockActivated 取 tile 并调用 gearBox.crankGearbox()(AbstractBlockGearBoxBase.java:56-64)
  • crankGearbox() 客户端直接返回 true 不做功,服务端检查是否有可摇设备且能分出动力,否则返回 false(TileGearBox.java:268-297)
  • calculateTransferPower() 遍历 6 个面,把动力在所有当前可转的邻居之间均分:BASE_POWER / 能转的邻居数(TileGearBox.java:126-146)—— 连接的设备越多,单次摇动每台分到的越少
  • 达到 REQUIRED_POWER 累积值后该面转一格,并把 shaftRotation 累加,满 FULL_ROTATION(=π) 视为一整圈
  • 多方块:6 个面各自独立记录可摇设备与轴动力,shaftRotation 同步给客户端(MIN_TICKS_PER_SYNC = 6 tick 一次)
  • 可被 AE2 扳手旋转(继承 AbstractBlockAEWrenchable)
  • 傀儡限制:canPlayerInteract 对 FakePlayer 返回 false,除非名字是 FakeThaumcraftGolem 且 allowGolemInteraction 为 true。Iron Gear Box 的该标志为 false,因此傀儡无法摇动铁齿轮箱(AbstractBlockGearBoxBase.java:66-80)。Thaumium Gear Box 才是允许傀儡驱动的版本

数值

数值名 值 来源
每次摇动产生的总轴动力 6 BASE_POWER = 6(TileGearBox.java:27)
驱动一转所需累积动力 18 REQUIRED_POWER = 18(TileGearBox.java:32)
可摇方向数 6 SIDE_COUNT = ForgeDirection.VALID_DIRECTIONS.length(TileGearBox.java:37)
单设备动力公式 6 / 可转邻居数(整数除) TileGearBox.java:146
同步最小间隔 6 tick MIN_TICKS_PER_SYNC = 6(TileGearBox.java:42)
一整圈弧度 π (3.14159) FULL_ROTATION = (float) Math.PI(TileGearBox.java:47)
硬度 0.6 AbstractBlockGearBoxBase.java:47
爆炸抗性 源码未调用 setResistance(0 命中) —

交互

触发 行为
玩家右键 摇动曲柄,按 6 / 可转邻居数 向各面分发动力;无可摇设备或动力为 0 时返回 false
傀儡右键 被拒绝(canPlayerInteract 对非 FakeThaumcraftGolem 的 FakePlayer 返回 false)
AE2 扳手 可旋转方块朝向(AbstractBlockAEWrenchable)
NBT 持久化 crankables / shaftrotation / isthaumbox(TileGearBox.java:52-53)

合成配方

奥术合成(Arcane Crafting),FeatureGearbox.java:83-84:

SGS
GGG
SGS
字符 物品
S Cobblestone
G Iron Gear(本 mod 自制)

所需要素:AIR 2 + ORDER 2(FeatureGearbox.java:75-78)。

研究:id thaumicenergistics.TEIRONGEARBOX,研究要素 MECHANISM 6 + METAL 4 + EXCHANGE 4,复杂度 COMPLEXITY_SMALL(=1),图标为 Iron Gear,4 页(2 页说明 + 铁齿轮配方 + 齿轮箱配方),并 setSecondary() 标记为次要研究(FeatureGearbox.java:107-124)。父研究为伪研究 COREUSE。

相关条目