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——两本内容相同但战利品设置不同的书 会被判相等。

相关条目