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 设置需要显式下传给页面。

相关条目