EntryAbstract
基本信息
| 属性 |
值 |
| 类名 |
amerifrance.guideapi.api.abstraction.EntryAbstract |
| 类型 |
abstract class,3 个 public 字段 + 12 个方法 |
| 启用版本 |
Minecraft 1.7.10 |
功能
四层结构的第 3 层——条目的抽象基类。持有页面列表并定义条目在
GUI 上的绘制、可见性与点击行为。
字段
| 字段 |
类型 |
说明 |
pageList |
List<IPage> |
本条目的页面列表 |
unlocEntryName |
String |
条目名的本地化键 |
unicode |
boolean |
是否用 Unicode 字体渲染 |
已实现的方法
- 列表操作:
addPage、removePage、addPageList、removePageList
- 本地化:
getLocalizedName(走 StatCollector.translateToLocal)
- 值语义:
equals、hashCode(比较 pageList + unlocEntryName)
必须由子类实现的方法
| 方法 |
侧 |
说明 |
draw(...) |
CLIENT |
在分类页中绘制自身 |
drawExtras(...) |
CLIENT |
绘制附加信息 |
canSee(EntityPlayer, ItemStack) |
双端 |
该玩家能否看到此条目 |
onLeftClicked(...) |
CLIENT |
左键点击 |
onRightClicked(...) |
CLIENT |
右键点击 |
onInit(...) |
CLIENT |
界面初始化(GuiCategory 上下文) |
实现要点
- 提供 2 个构造器:
EntryAbstract(List, String, boolean) 主构造器,
与 EntryAbstract(List, String) 便捷重载(unicode 传 false)。
- 主构造器参数声明为裸
List(无泛型),而 pageList 字段是
List<IPage>——存在未检查转换。
equals / hashCode 不比较 unicode 字段,
两个仅字体设置不同的条目会被判相等。
unicode 字段被 PageBase 读取以决定字体:
条目的 unicode 设置需要显式下传给页面。
相关条目