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 统一渲染悬浮提示。
相关条目