百科条目分布

基本信息

属性 值
条目字段总数 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 显示指定模组的内容

相关条目