CategoryAbstract

基本信息

属性 值
类名 amerifrance.guideapi.api.abstraction.CategoryAbstract
类型 abstract class,2 个 public 字段 + 12 个方法
启用版本 Minecraft 1.7.10

功能

四层结构的第 2 层——分类的抽象基类。持有条目列表并定义分类在 GUI 上的绘制、可见性与点击行为。

已实现的方法

分类 方法
列表操作 addEntry、removeEntry、addEntryList、removeEntryList
本地化 getLocalizedName
提示 getTooltip(默认返回只含本地化名的单元素列表)
值语义 equals、hashCode

必须由子类实现的方法

方法 侧 说明
draw(...) CLIENT 在分类列表中绘制自身(参数含 drawOnLeft、RenderItem)
drawExtras(...) CLIENT 绘制附加信息
canSee(EntityPlayer, ItemStack) 双端 该玩家能否看到此分类
onLeftClicked(...) CLIENT 左键点击
onRightClicked(...) CLIENT 右键点击
onInit(...) CLIENT 界面初始化(GuiHome 上下文)

实现要点

  • entryList 与 unlocCategoryName 是 public 非 final 字段, 子类与外部代码可直接改写,绕过 4 个 add* / remove* 方法。
  • equals / hashCode 只比较 entryList 与 unlocCategoryName, 不比较子类特有的图标字段(如 CategoryItemStack 的 ItemStack), 因此两个图标不同但条目列表相同的分类会被判相等。
  • getTooltip() 的默认实现返回 new ArrayList 并只放入本地化名, 供 GuiHome 统一渲染悬浮提示。

相关条目