法杖组件占位物品
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | capPlaceholder / rodPlaceholder |
| 完整名 | salisarcana:capPlaceholder / salisarcana:rodPlaceholder |
| 基类 | common/item/PlaceholderItem.java(128 行,抽象类) |
| 端盖子类 | PlaceholderItem.WandCapPlaceholderItem(PlaceholderItem.java:106-115) |
| 核心子类 | PlaceholderItem.WandRodPlaceholderItem(PlaceholderItem.java:117-126) |
| 注册入口 | PlaceholderItem.registerPlaceholders(),由 CommonProxy.java:79 在 preInit 调用 |
| 端盖开关 | enhancements.replaceWandCaps |
| 核心开关 | enhancements.replaceWandCore |
功能
这是本模组注册的两个纯展示用物品。它们没有堆叠实体、没有用途、不参与任何合成, 存在的唯一目的是在泰奥纳米肯(Thaumonomicon)的研究页面上充当一个图标代表一整类物品。
Thaumcraft 4 的泰奥纳米肯按 WandCap / WandRod 的注册顺序显示法杖组件,
一次只能画一个代表性物品。本模组把「原版」法杖组件收拢进两个占位物品:
capPlaceholder覆盖WandHelper.allVanillaCaps()返回的全部原版端盖rodPlaceholder覆盖WandHelper.allVanillaRods()返回的全部原版核心
由于对应功能启用了「用已有法杖的魔力替换组件」, 原版组件的配方入口被这两条新配方取代,占位物品即新配方的产物。
数值
| 属性 | 值 | 源码 |
|---|---|---|
| 最大耐久 | 0(不可损耗) |
PlaceholderItem.java:43 |
| 启用子类型 | setHasSubtypes(true) |
PlaceholderItem.java:44 |
| 元数据范围 | 0 到「基础物品数 - 1」,越界时 getIconFromDamage 返回 null |
PlaceholderItem.java:74-80 |
| 元数据 → 名称 | 越界时 getUnlocalizedName 返回 null |
PlaceholderItem.java:92-99 |
两个占位物品的元数据没有固定上界:变种数量等于
WandHelper.allVanillaCaps() / allVanillaRods() 实际返回的元素个数,
在 postInit 由 WandHelper.loadWandParts()(CommonProxy.java:143)加载完成后才确定。
因此变种数无法从源码静态核实——它取决于运行时注册了哪些端盖/核心。
物品数量是动态的:任何一个模组通过 Thaumcraft API 注册新的
WandCap,capPlaceholder就会多出一个元数据变种,且自动沿用那个新组件的贴图与本地化名 (getUnlocalizedName直接透传cachedItems[damage].getUnlocalizedName())。
交互
无。占位物品不响应任何右键/左键,不入合成栏之外的功能路径。 它们是「只读」的展示条目。
PlaceholderItem.java:87的创意模式列举使用了new ItemStack(item, 0, index)—— 第二个参数写作栈大小0而非常见的1。此处为源码原样,未见注释说明是否有意, 也未发现相关缺陷证据,仅作记录。
注册条件
两个物品分别受各自的研究设置控制,且这两个设置本身就是
ReplaceWandComponentSettings(CustomResearchSetting 的子类):
| 物品 | 注册条件 | 对应研究 |
|---|---|---|
capPlaceholder |
SalisConfig.features.replaceWandCapsSettings.isEnabled()(PlaceholderItem.java:30) |
REPLACEWANDCAPS,前置 CAP_gold,自动解锁 |
rodPlaceholder |
SalisConfig.features.replaceWandCoreSettings.isEnabled()(PlaceholderItem.java:33) |
REPLACEWANDCORE,前置 ROD_greatwood,自动解锁 |
未开启时对应物品根本不注册,其静态字段
capPlaceholder / rodPlaceholder 保持 null。详见 自定义研究。
合成配方
两物品本身不参与合成;产出它们的是
CustomRecipes.replaceWandCapsRecipe 与 replaceWandCoreRecipe
(CustomRecipes.java:35-36),由 replaceWandCapsSettings /
replaceWandCoreSettings 两个设置分别控制启用。
相关条目
- 自定义研究 —
REPLACEWANDCAPS/REPLACEWANDCORE - 功能增强组 — 组件替换的 5 项设置
- 类生木木板 — 本模组注册的另一个方块
- Salis Arcana — 模组总览