IRecipeRenderer

基本信息

属性 值
类名 amerifrance.guideapi.api.abstraction.IRecipeRenderer
类型 interface + 1 个内部抽象类 RecipeRendererBase<T>
启用版本 Minecraft 1.7.10

功能

配方在指南书页面中的渲染器接口,与 IPage 平行但独立。

接口方法

方法 侧 说明
draw(Book, CategoryAbstract, EntryAbstract, guiLeft, guiTop, mouseX, mouseY, GuiBase, FontRenderer) CLIENT 绘制配方
drawExtras(...) CLIENT 绘制 tooltip 等附加内容

内部类 RecipeRendererBase<T extends IRecipe>

成员 说明
protected T recipe 持有的配方实例
protected List<String> tooltips 累积的提示文本(Lists.newArrayList())
RecipeRendererBase(T recipe) 构造器,存入 recipe
drawExtras(...) 调 guiBase.func_146283_a(tooltips, mouseX, mouseY) 后 tooltips.clear()

实现要点

  • 内部类只实现 drawExtras(即上面表格里两个方法中的一个), draw 仍为抽象。
  • drawExtras 的实现模式是「子类在 draw 里往 tooltips 塞字符串, 框架统一在 drawExtras 里渲染并清空」——即 producer/consumer 约定。 因此子类必须覆写 drawExtras 才能显示提示。
  • 5 个具体渲染器都继承 BasicRecipeRenderer, 而不是直接实现本接口。

相关条目