Book
基本信息
| 属性 | 值 |
|---|---|
| 类名 | amerifrance.guideapi.api.base.Book |
| 类型 | class(非抽象),4 个构造器 + 9 个方法 |
| 启用版本 | Minecraft 1.7.10 |
功能
一本指南书的顶层数据对象,是整个四层结构的根。
| 字段 | 类型 | 说明 |
|---|---|---|
categoryList |
List<CategoryAbstract> |
本书的分类列表 |
unlocBookTitle |
String |
书标题的本地化键 |
unlocWelcomeMessage |
String |
打开首页时的欢迎语本地化键 |
unlocDisplayName |
String |
物品显示名的本地化键 |
author |
String |
作者名(非本地化键,直接取自本地化) |
pageTexture |
ResourceLocation |
书页背景纹理 |
outlineTexture |
ResourceLocation |
边框纹理 |
itemTexture |
String |
物品图标纹理名(null 则用颜色着色) |
bookColor |
java.awt.Color |
书的主色(用于着色封面) |
spawnWithBook |
boolean |
新玩家是否自动获得 |
isLostBook |
boolean |
是否为「残页书」(页面需逐页解锁) |
lootChance |
int |
残页的箱子权重 |
chestHooks |
String[] |
残页加入哪些战利品表 |
实现要点
- 4 个构造器:1 个主构造器(13 参数,含
author/itemTexture/isLostBook/lootChance/chestHooks)+ 3 个@Deprecated构造器, 分别为 7 参数、4 参数、5 参数。 - 3 个废弃构造器都不设
author、itemTexture、isLostBook、lootChance、chestHooks——这些字段保持null/0。 因此走废弃构造器创建的书无法参与残页战利品系统。 - 两个「带默认纹理」的废弃构造器把
pageTexture/outlineTexture设为GUITEXLOC + "book_colored.png"与book_greyscale.png; 7 参数的那个把Color bookColor直接赋给两个纹理字段 (Color不是ResourceLocation),属明显的类型错误路径。 - 4 个
add*/remove*方法提供分类列表的增删。 - 3 个
getLocalized*方法走StatCollector.translateToLocal。 equals/hashCode比较 7 个字段,不含author、itemTexture、isLostBook、lootChance、chestHooks——两本内容相同但战利品设置不同的书 会被判相等。
相关条目
- CategoryAbstract - 列表元素类型
- CategoryBase -
CategoryAbstract的默认实现 - GuideRegistry - 存放本书的注册表
- LootGenerator - 消费
isLostBook/lootChance/chestHooks - EventHandler - 消费
spawnWithBook - TestBook - 本类的构造示例
- BookBuilder - 链式构造本类