跳到正文
烈焰甘蔗Wiki

Cable Sign(告示牌更新器)

基本信息

属性 值
modid StevesFactoryManager
FML 注册键 StevesFactoryManager:BlockCableSignName(CABLE_SIGN_NAME_TAG,ModBlocks.java:64,183)
未本地化名 sfm.BlockCableSign(BlockCableSign.java:25)
显示名 告示牌更新器 / Sign Updater
TileEntity TileEntitySignUpdater(BlockCableSign.java:31)
方块类 BlockCableSign extends BlockContainer(BlockCableSign.java:19)
硬度 1.2(setHardness(1.2F),BlockCableSign.java:26)
爆炸抗性 10.0 — 源码未设置,Block 默认值
metadata 6 面朝向 = 目标告示牌所在面
可更新行数 4

功能

Sign 电缆本身不存文字。它按 metadata 朝向找到紧邻的那一格上的 TileEntitySign,由 Manager 里的 ComponentMenuSignText 组件推送文字。

updateSign(menu)(TileEntitySignUpdater.java:18-45):

  1. direction = VALID_DIRECTIONS[getBlockMetadata() % 6],取该面相邻方块的 TileEntity(TileEntitySignUpdater.java:19-22)
  2. 必须是 TileEntitySign(TileEntitySignUpdater.java:23)
  3. 清空编辑器文本 sign.func_145912_a(null)(TileEntitySignUpdater.java:26)
  4. 对 4 行逐行判断 menu.shouldUpdate(i),只覆盖勾选的行(TileEntitySignUpdater.java:28-37)
  5. 有实际变化才 markDirty() + markBlockForUpdate(TileEntitySignUpdater.java:38-41)

朝向写入:onBlockPlacedBy 用 BlockPistonBase.determineOrientation 存入 meta(BlockCableSign.java:62-68)。

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

摆放要求

  • 可在任何位置放置
  • 朝向必须正对相邻的告示牌,否则静默无动作(源码无任何报错或回退,TileEntitySignUpdater.java:23)
  • 不可旋转

数值

参数 值 证据
可更新行数 4 TileEntitySignUpdater.java:28 for (int i = 0; i < 4; i++)
朝向粒度 6 面 TileEntitySignUpdater.java:19-20

交互

触发 行为
左键 无特殊行为
右键 无特殊行为(onBlockActivated 未覆写)
放置 按玩家面向写入 meta
Manager 组件更新 覆盖相邻告示牌的勾选行

合成配方

无序:工厂线缆 + 白色染料(dye meta 0) + 羽毛(ModBlocks.java:287-291)

审计订正

  • modid / 注册名错:原文 stevesfactorymanager:blockCableSign → StevesFactoryManager;传入实参 CABLE_SIGN_NAME_TAG = "BlockCableSignName"(ModBlocks.java:64,183)。
  • 登记名大小写/词形:方块类名是 BlockCableSign(单数),注册常量值是 "BlockCableSignName";原文写的 blockCableSign 两边都不对。
  • 补正:原文"可更新行数 4 行"✓ 正确(TileEntitySignUpdater.java:28);"方向由 BlockPistonBase.determineOrientation 决定、指向要更新的告示牌"✓ 正确(BlockCableSign.java:63、TileEntitySignUpdater.java:19-22)。已补上原文缺失的关键信息:按行选择性更新(menu.shouldUpdate(i))、朝向不对时静默失败、不可旋转、合成配方、“不导通电缆”(BlockCableSign.java:18)。
  • 原文"无特殊行为"式交互表信息量极低,已改为反映实际触发链路。

相关条目

浏览全部模组