跳到正文
烈焰甘蔗Wiki

Cable Intake(物品阀门)

基本信息

属性 值
modid StevesFactoryManager
FML 注册键 StevesFactoryManager:BlockCableIntakeName(CABLE_INTAKE_NAME_TAG,ModBlocks.java:42,135)
未本地化名 sfm.BlockCableIntake / sfm.BlockInstantCableIntake(ModBlocks.java:43-44)
显示名 物品阀门 / 快速物品阀门(Item Valve / Rapid Item Valve)
TileEntity TileEntityIntake(BlockCableIntake.java:11)
方块类 BlockCableIntake extends BlockCableDirectionAdvanced(BlockCableIntake.java:7)
硬度 1.2(继承 BlockCableDirectionAdvanced,BlockCableDirectionAdvanced.java:28)
爆炸抗性 10.0 — 源码未设置,Block 默认值
metadata meta & 8 = 快速版(isAdvanced,BlockCableDirectionAdvanced.java:95-97)

功能

Intake 扫描自身周围一个 AABB 立方体内的 EntityItem,把它们变成"可读槽位"供 Manager 抽取;isUseableByPlayer 返回 false,玩家不能手动开箱(TileEntityIntake.java:149-151)。

拾取范围:DISTANCE = 3,取 [x-3, x+4) × [y-3, y+4) × [z-3, z+4) 的 AABB(TileEntityIntake.java:109-125)。

缓存策略:updateEntity() 每 tick 置空 items,下次访问重建(TileEntityIntake.java:169-171);建表时用 canPickUp 过滤(TileEntityIntake.java:127-134)。

快速版(meta 8)差异:canPickUp 额外放行尚处于掉落冷却中的实体(item.delayBeforeCanPickup != 0)——即刚扔出/刚生成、还没到拾取延迟的掉落物(TileEntityIntake.java:173-176)。

不导通电缆:类头注释明确 “This is indeed not a subclass to the cable, you can’t relay signals through this block”(BlockCableIntake.java:6)。

摆放要求

  • 可在任何位置放置;朝向由放置时 determineOrientation 写入 meta(BlockCableDirectionAdvanced.java:79)
  • 不可旋转

数值

参数 值 证据
拾取半径 3 格(AABB 立方体,非球形) TileEntityIntake.java:109-125
槽位数 动态 = 范围内可拾取物品实体数 + 1(items.size() + 1,恒留 1 个空槽) TileEntityIntake.java:20-23
每槽堆叠上限 64 TileEntityIntake.java:144-146 getInventoryStackLimit()
堆叠 / 耐久(物品形态) 64 / 无 ItemIntake.java:14 setMaxDamage(0),未调 setMaxStackSize

交互

触发 行为
左键 无特殊行为
右键 无特殊行为(onBlockActivated 未覆写)

合成配方

  • 普通:无序 工厂线缆 + 漏斗 + 漏斗 + 投掷器(ModBlocks.java:236-241)
  • 快速:无序 普通物品阀门 + 金锭(ModBlocks.java:256-259)

审计订正

  • 数值取自错误来源:「库存上限 64 个物品槽」→ 错误。64 是 getInventoryStackLimit()(每槽堆叠上限,TileEntityIntake.java:144-146),被当成了槽位总数。真实槽位数是动态的 items.size() + 1(TileEntityIntake.java:20-23)。已拆成两行。
  • 编造几何:「拾取范围为 3 格(球形区域)」→ 错误。用 AxisAlignedBB.getBoundingBox 取的是轴对齐立方体(TileEntityIntake.java:123-125),没有球形判定。3 格本身正确。
  • 语义写反:「高级 Intake 支持即时传输模式,可以更快地将物品注入网络中」→ 源码中高级版唯一差异是能拾取处于 delayBeforeCanPickup 冷却中的掉落物(TileEntityIntake.java:173-176),跟"传输速度/注入网络"无关。已改写。
  • modid / 注册名错:原文 stevesfactorymanager:blockCableIntake → StevesFactoryManager;传入实参 CABLE_INTAKE_NAME_TAG = "BlockCableIntakeName"(ModBlocks.java:42,135)。
  • 补正:原文未登记 meta 0/8 两个变体及中文名(快速物品阀门)、未写"玩家不能手动开箱"(TileEntityIntake.java:149-151)、未写每 tick 重建缓存(TileEntityIntake.java:169-171)、未写"不导通电缆"(BlockCableIntake.java:6)与两条合成配方。

相关条目

浏览全部模组