SignManager
基本信息
| 属性 | 值 |
|---|---|
| 类名 | myessentials.entities.api.sign.SignManager |
| 类型 | class,static final SignManager instance,3 个方法 |
| 事件 | PlayerInteractEvent、PlayerEvent.PlayerLoggedOutEvent 等 |
| 启用版本 | Minecraft 1.7.10 |
功能
告示牌的生命周期管理:加载、玩家交互处理、方块破坏处理。
| 方法 | 说明 |
|---|---|
loadSign(...) |
从世界 / TileEntity 载入告示牌 |
onPlayerInteract(...) |
玩家点击告示牌 |
onPlayerBreaksBlock(...) |
玩家破坏告示牌方块 |
实现要点
- 单例
instance被 MyEssentialsCore 的preInit同时注册到 FML 总线与 Forge 总线。 - 载入时调用
SignClassTransformer
的
getMyEssentialsDataValue(tileEntity)读取注入字段。 - ⚠️ 由于该 transformer 未注册(无 coremod),
上述反射会因字段不存在而抛
RuntimeException—— 这是本 mod 最实质的功能缺陷。 - 事件里还会通过 SignType 的
isTileValid确认目标方块确实是受管的告示牌。
相关条目
- Sign - 管理的对象
- SignType - 类型校验
- SignClassTransformer - 未注册的字段注入
- MyEssentialsCore - 注册方