Cable Input(红石信号接收器)
基本信息
| 属性 | 值 |
|---|---|
| modid | StevesFactoryManager |
| FML 注册键 | StevesFactoryManager:BlockCableInputName(CABLE_INPUT_NAME_TAG,ModBlocks.java:34,125) |
| 未本地化名 | sfm.BlockCableInput(BlockCableInput.java:21) |
| 显示名 | 红石信号接收器 / Redstone Receiver |
| TileEntity | TileEntityInput(BlockCableInput.java:27) |
| 方块类 | BlockCableInput extends BlockContainer(BlockCableInput.java:15) |
| 硬度 | 1.2(setHardness(1.2F),BlockCableInput.java:22) |
| 爆炸抗性 | 10.0 — 源码未设置,Block 默认值 |
| 接口 | IRedstoneNode, ISystemListener, ITriggerNode(TileEntityInput.java:11) |
| 监测方向 | 6(ForgeDirection.VALID_DIRECTIONS) |
功能
Input 把周围 6 个面的间接红石信号读进来,交给 Manager 里的红石组件判断。
triggerRedstone() 每次都全量重算 6 个面的 getIndirectPowerLevelTo(...)(TileEntityInput.java:29-38),随后无条件通知 managerList 中所有 Manager(TileEntityInput.java:40-42),最后 oldPowered = isPowered(TileEntityInput.java:44)。
oldPowered[] / isPowered[] 通过 ITriggerNode.getPower() 暴露给 GUI(TileEntityInput.java:47-50),供玩家在 Manager 里设置条件(例如"某面信号由 0 变 1");方块本身不做边沿判定。
触发时机:onBlockAdded 与 onNeighborBlockChange 均调用 input.triggerRedstone()(BlockCableInput.java:41-60)。
数值
| 参数 | 值 | 证据 |
|---|---|---|
| 监测面数 | 6 | TileEntityInput.java:31-37(ForgeDirection.VALID_DIRECTIONS) |
| 信号范围 | 0-15(间接信号强度) | getIndirectPowerLevelTo 返回值 |
交互
| 触发 | 行为 |
|---|---|
| 左键 | 无特殊行为 |
| 右键 | 无特殊行为(onBlockActivated 未覆写) |
| 方块加入 / 邻居变化 | 触发 triggerRedstone() |
合成配方
无序:工厂线缆 + 红石(ModBlocks.java:229)
审计订正
- 语义写反:「用于检测边沿变化(上升沿触发)」→ 错误。
triggerRedstone()无条件重算并通知所有 Manager,源码里没有任何if (isPowered != oldPowered)判定(TileEntityInput.java:29-45)。边沿比较发生在 GUI/Manager 侧,Input 只负责提供当前值与上一次的值。已改写。 - modid / 注册名错:原文
stevesfactorymanager:blockCableInput→StevesFactoryManager;传入实参CABLE_INPUT_NAME_TAG = "BlockCableInputName"(ModBlocks.java:34,125)。 - 补正:原文未写"不导通电缆"(BlockCableInput 未继承 BlockCable,源码无相关注释但
isCable()也不含它,BlockCable.java:103-106)、未写"读的是间接红石信号"(getIndirectPowerLevelTo,TileEntityInput.java:33)、未写触发时机(onBlockAdded+onNeighborBlockChange,BlockCableInput.java:41-53)、未写合成配方。 - 原文"信号方向数 6"✓ 正确。
相关条目
- Cable Output - 红石发射
- Connection Block - 连接抽象(非注册物品)