Sign

基本信息

属性 值
类名 myessentials.entities.api.sign.Sign
类型 class extends ArrayList + 内部类 Container,10 个方法
启用版本 Minecraft 1.7.10

功能

告示牌(sign)的逻辑包装:管理告示牌方块、其 TileEntity 与自定义数据行。

10 个方法分组

组 方法
交互 onRightClick、onShiftRightClick
方块管理 createSignBlock、getTileEntity、deleteSignBlock
内容管理 add、get、contains

实现要点

  • 内部类 Container 保存告示牌的自定义数据行 (最多 4 行,对应原版告示牌的 4 行文本)。
  • 自定义数据通过 SignClassTransformer 注入的 myEssentials 字段持久化——读写由该 transformer 的 setMyEssentialsDataValue / getMyEssentialsDataValue 完成。
  • ⚠️ 功能风险:该 transformer 未注册(无 coremod), 故 myEssentials 字段实际不会被注入到 TileEntitySign。 此时 getMyEssentialsDataValue 内部的反射 sign.getClass().getField("myEssentials") 会抛 NoSuchFieldException,被包成 RuntimeException 抛出—— 即告示牌的自定义数据功能在当前构建下不可用。
  • 类型系统用 SignType 区分告示牌种类。

相关条目