Manual
基本信息
| 属性 | 值 |
|---|---|
| 类名 | mantle.items.Manual |
| 类型 | class extends CraftingItem |
| 注册名 | mantleBook(Mantle.java:72) |
| unlocalized name | Mantle:item.mantle.manual |
| 启用版本 | 1.7.10 |
功能
「手册」物品:右键打开一本可翻页的书。 它是 Mantle 唯一注册进游戏的内容,其余全是给第三方用的库。
实现要点
- 构造函数声明了 4 个变体名
{"beginner", "toolstation", "smeltery", "diary"}与 4 个纹理名{"tinkerbook_diary", "tinkerbook_toolstation", "tinkerbook_smeltery", "tinkerbook_blue"}——名字与纹理并非一一对应(beginner配tinkerbook_diary)。这些是 TConstruct 手工书的残留命名。 onItemRightClick(第 42-52 行)在打开 GUI 前后各发一次ManualOpenEvent.Pre/.Post,是本 mod 仅有的两个事件。- 打开 GUI 用
player.openGui(Mantle.instance, MProxyClient.manualGuiID, ...),而manualGuiID常量为 -1。 addInformation(第 55-61 行)用BookDataStore.getBookfromID(stack.getItemDamage())取提示文本,再直接.toolTip。当物品伤害值超出已注册书籍数量时返回 null,会抛 NPE。- ⚠️ 构造器把
CreativeTabs参数写成null,所以手册不会出现在任何创造模式标签页。
相关条目
- CraftingItem - 多贴图物品基类
- MProxyCommon -
manualGuiID = -1的定义处 - BookDataStore -
addInformation依赖的注册表 - ManualOpenEvent - 打开前后的两个事件
- GuiManual - 被打开的 GUI