TileKnowledgeBook 知识之书方块实体

基本信息

属性 值
类 common/blocks/tiles/TileKnowledgeBook.java
注册名 gadomancy:TileKnowledgeBook
注册位置 common/registration/RegisteredBlocks.java:149
所属方块 知识之书
实现接口 EntityPermNoClipItem.IItemMasterTile + IAspectContainer(TileKnowledgeBook.java:47)

功能

知识之书需要持有玩家正在研究的实体物品(如神秘学onomicon、护目镜),而它不能真的吞掉这些物品——因此它是一个 IItemMasterTile,借助 穿透物品实体 暂存物品。

ItemMaster 机制

成员 位置
调度任务字段 private EntityPermNoClipItem.ItemChangeTask scheduledTask;(:64)
任务体 new EntityPermNoClipItem.ItemChangeTask() { public void changeItem(EntityPermNoClipItem item) {...} }(:286-289)
取出调度任务 getAndRemoveScheduledChangeTask()(:362-364)
生成穿透物品实体 new EntityPermNoClipItem(...)(:431)

移除通知

实体被移除时 EventHandlerEntityServer 回调 informItemRemoval()(EventHandlerEntityServer.java:94-99),知识之书据此清理自身持有的实体物品。

要素容器

实现 IAspectContainer,使书能保存并显示研究进度相关的要素。

数值

数值名 值
实现的接口数 2(IItemMasterTile、IAspectContainer)
已注册的主人类方块数 2(本类 + TileAuraPylon)
调度任务字段 1(scheduledTask)

相关条目