百科条目分布
基本信息
| 属性 | 值 |
|---|---|
| 条目字段总数 | 227 个 public static LexiconEntry(LexiconData.java) |
| 已赋值 | 227(全部,无死字段) |
| 分类数 | 10(见 Lexica Botania) |
| 页面类型 | 16 个(common/lexicon/page/) |
| 条目子类 | 9 个(A/B/C/D/H/R/T/W/WIP 前缀) |
功能
本页汇总 227 个百科条目的构成,用于判断各子系统的文档权重。条目数据全部集中在 LexiconData.java(1498 行)的 preInit() 之后。
数值
按条目子类
| 条目类 | 实例化次数 | 含义 |
|---|---|---|
BLexiconEntry |
149 | 基础条目(默认知识类型) |
ALexiconEntry |
66 | 使用 BotaniaAPI.elevenKnowledge(精灵知识),ALexiconEntry.java |
RLexiconEntry |
7 | 遗物条目,构造时绑定成就,如 new RLexiconEntry(LibLexicon.ALF_KING_KEY, categoryAlfhomancy, ModAchievements.relicKingKey)(LexiconData.java:1321) |
CLexiconEntry |
4 | 外部模组条目,第 3 参数为来源模组 ID |
DLexiconEntry / HLexiconEntry / TLexiconEntry / WLexiconEntry |
各 1 | 各自知识类型的单一条目 |
WIPLexiconEntry |
0 | 未被实例化 |
子类实例化次数合计 230,其中 3 次是三元表达式的双分支重复计数(orechid 在 gardenOfGlassLoaded 两个分支各构造一次,cocoon 同理),230 − 3 = 227,与字段总数吻合。
按页面类型
| 页面类 | 在 LexiconData 中使用次数 |
继承 |
|---|---|---|
PageText |
312 | LexiconPage |
PageCraftingRecipe |
295 | PageRecipe |
PageManaInfusionRecipe |
54 | PageRecipe |
PagePetalRecipe |
41 | PageRecipe |
PageBrew |
21 | PageRecipe |
PageRuneRecipe |
17 | PageRecipe |
PageImage |
13 | — |
PageElvenRecipe |
6 | PageRecipe |
PageLoreText |
5 | — |
PageMultiblock |
4 | — |
PageTerrasteel |
1 | PageRecipe |
PageTutorial |
0(在 TLexiconEntry.java 中使用) |
PageText |
PageShedding |
0(在 SheddingHandler.java 中使用) |
PageEntity |
PageEntity |
0(仅被 PageShedding 继承) |
LexiconPage |
PageRecipe |
0(被 6 个子类继承的基类) | LexiconPage |
PageGuide |
0 | PageText |
PageRecipe / PageEntity / PageTutorial / PageShedding 在 LexiconData 中计数为 0,但都在别处真实使用(继承链或由 TLexiconEntry、SheddingHandler 引用),因此不算死代码。
一处已确认的死代码
PageGuide(common/lexicon/page/PageGuide.java)是唯一完全未被使用的页面类。全仓库对 PageGuide 的引用只有它自己的类声明与构造器两行:
$ grep -rn 'PageGuide' --include=*.java src/
src/main/java/vazkii/botania/common/lexicon/page/PageGuide.java:20:public class PageGuide extends PageText {
src/main/java/vazkii/botania/common/lexicon/page/PageGuide.java:24: public PageGuide(String unlocalizedName) {
它原本用于在百科中插入一个"播放视频"按钮(onOpened 中创建 ID 101 的 GuiButton,文案取自 botaniamisc.playVideo;onActionPerformed 中通过 java.awt.Desktop 打开 URI),但没有任何条目引用它。按死代码不计入已注册内容的原则,本页不把它计入 16 个有效页面类型中的可用项。
交互
| 触发 | 行为 |
|---|---|
| 阅读条目 | 条目按分类排序,分类优先级见 Lexica Botania |
| 配方页 | PageCraftingRecipe(295 次)自动抓取玩家的配方书内容 |
| 遗物页 | RLexiconEntry 需先获得对应成就才解锁 |
| 外部模组页 | CLexiconEntry 显示指定模组的内容 |
相关条目
- Lexica Botania - 书籍本身与 10 个分类
- 多方块结构 - 4 个
PageMultiblock页面对应的 4 个多方块 - 调制饮剂 - 21 个
PageBrew页面 - 符文祭坛配方 - 17 个
PageRuneRecipe页面