ResearchBrowser 模块
基本信息
net.glease.tc4tweak.modules.researchBrowser —— 重写 Thaumcraft 研究浏览器 GUI
的翻页、边框与完成度计数。共 6 个源文件(含 package-info.java)。
类清单
| 类 | 可见性 | 职责 |
|---|---|---|
BrowserPaging |
public class |
标签页翻页 |
DrawResearchBrowserBorders |
public class |
边框绘制 |
DrawResearchCompletionCounter |
public class |
研究完成计数 |
ThaumonomiconIndexSearcher |
public class |
魔道书索引搜索 |
Utils |
包私有 class |
共享反射字段 |
package-info.java |
— | 包说明 |
关键常量
| 常量 | 值 | 出处 |
|---|---|---|
BUTTON_HEIGHT |
8 |
BrowserPaging:30 |
BUTTON_WIDTH |
24 |
BrowserPaging:31 |
BORDER_HEIGHT |
17 |
DrawResearchBrowserBorders:10 |
BORDER_WIDTH |
16 |
同上 |
TEXTURE_WIDTH |
256 |
同上 |
TEXTURE_HEIGHT |
230 |
同上 |
⚠️
TEXTURE_HEIGHT = 230与配置字段browserHeight的声明初值230一致 (见 Configuration Handler);browserWidth = 256与TEXTURE_WIDTH = 256同理。 二者数值吻合,但一个是常量、一个是配置默认值,改动时需同步。
BrowserPaging
| 成员 | 行 | 说明 |
|---|---|---|
static Field fieldPlayer |
32 | ReflectionHelper.findField(GuiResearchBrowser.class, "player") |
getTabPerSide() |
39 | 每页标签数 |
getTabsOnCurrentPage(String player) |
61 | 返回 LinkedHashMap<String, ResearchCategoryList> |
返回 LinkedHashMap 而非 HashMap —— 依赖插入顺序保持标签排列。
ThaumonomiconIndexSearcher
类注释:Credit to BluSunrize for originally creating this class.(致谢原作者)。
onGuiInit(GuiScreenEvent.InitGuiEvent.Post)(131 行)挂钩搜索。
init() 里反射取 Mouse.readBuffer。
DrawResearchCompletionCounter
| 成员 | 行 | 说明 |
|---|---|---|
static init() |
26 | 注册监听 |
enum EventHandler |
87 | 内部枚举,onPostGuiDraw(GuiScreenEvent.DrawScreenEvent.Post) |
样式由配置 completionCounterStyle(默认 CompletionCounterStyle.Current)控制。
ASM 侧接线
| 目标类 | Visitor | 侧 |
|---|---|---|
thaumcraft.client.gui.GuiResearchBrowser |
GuiResearchBrowserVisitor |
CLIENT |
thaumcraft.client.gui.GuiResearchRecipe |
GuiResearchRecipeVisitor |
CLIENT |
thaumcraft.client.gui.GuiResearchTable |
AddHandleMouseInputVisitor |
CLIENT |
thaumcraft.client.gui.MappingThread |
MappingThreadVisitor |
CLIENT |
相关配置
| 键 | 分组 |
|---|---|
browserScale |
client.browser_scale: scale |
infer / maximum / minimum / considerSearchArea |
client.browser_scale |
addResearchSearch |
client |
limitBookSearchToCategory |
client |
addClearButton |
client |
completionCounterStyle |
client |
相关条目
源码
src/main/java/net/glease/tc4tweak/modules/researchBrowser/BrowserPaging.javasrc/main/java/net/glease/tc4tweak/modules/researchBrowser/DrawResearchBrowserBorders.javasrc/main/java/net/glease/tc4tweak/modules/researchBrowser/DrawResearchCompletionCounter.javasrc/main/java/net/glease/tc4tweak/modules/researchBrowser/ThaumonomiconIndexSearcher.javasrc/main/java/net/glease/tc4tweak/modules/researchBrowser/Utils.java