曲曲消耗品
[!INFO] 注册真源:
WarpItems.initItems()(shukaro.warptheory.items.WarpItems)
3 个消耗品
| 常量字段 | 值 | 类 | 堆叠 | 创造标签 |
|---|---|---|---|---|
ITEM_SOMETHING |
"warptheory.something" |
ItemSomething |
64 | WarpTheory |
ITEM_LITMUS |
"warptheory.paper" |
ItemPaper |
64 | WarpTheory |
ITEM_POTION |
"warptheory.oblivionpotion" |
ItemOblivionPotion |
1 | ⚠️ 未设置 |
三者的注册名同样取自 getUnlocalizedName(),
故标识符为 WarpTheory:warptheory.something / .paper / .oblivionpotion。
⚠️ 常量名与物品语义错位:
ITEM_SOMETHING= 「某物」(something)——刻意含糊的名字;ITEM_LITMUS= 石蕊,但值是warptheory.paper(纸)——只取「纸」的语义;ITEM_POTION= 药水,但类是ItemOblivionPotion(遗忘药水)——只取「药水」的语义。
即三个常量的名字都只描述了物品的一部分。
「某物」(ItemSomething)—— 唯一的批量产物
ItemSomething 是唯一用坩埚(addCrucibleRecipe)批量合成的物品,
4 种肉类各出一条配方:
| 配方键 | 材料 | 要素 | 产物 |
|---|---|---|---|
WarpChunk<meats> × 4 |
Items.chicken / beef / porkchop / fish |
ELDRITCH 16 + EXCHANGE 8 |
itemSomething |
WarpRecipes.meats 是一个 ArrayList<ItemStack>,
initMeats() 固定加入上述 4 种原版 meats。
4 条配方在循环中生成,键名为 "WarpChunk" + meat
(ItemStack.toString() 拼接,即形如 WarpChunk{items:chicken})。
它是唯一被 ThaumcraftApi.addWarpToItem(…, 1) 单独加曲曲的产物,
且研究页也调用了 addWarpToItem(Constants.ITEM_SOMETHING, 2)
(研究加 2、物品加 1,两处数值不同)。
ItemSomething 还是唯一的研究页动态生成的物品 ——
WarpResearch 中 somethingPages[i] 循环为 4 种肉各生成一页:
int i = 1;
for (ItemStack meat : WarpRecipes.meats) {
somethingPages[i] = (new ResearchPage((CrucibleRecipe) recipes.get("WarpChunk" + meat)));
i++;
}
石蕊试纸(ItemPaper)
ItemPaper 是研究体系的枢纽:它是
净化器 的研究前置之一
(setParents(…, Constants.ITEM_LITMUS, …))。
合成走无序奥术合成(addShapelessArcaneCraftingRecipe):
| 配方键 | 材料 | 要素 |
|---|---|---|
Litmus |
itemResource[14] + Items.paper + itemResource[14] |
WATER 8 |
研究状态为 setConcealed()(默认隐藏),
靠 setAspectTriggers(ELDRITCH, MAGIC, SENSES) 三要素集解锁。
它是 GTNH 曲曲效果 中
LITMUS_PAPER(门槛 100)效果所涉的物品。
遗忘药水(ItemOblivionPotion)
| 属性 | 值 |
|---|---|
| 堆叠 | 1 |
| 创造标签 | ⚠️ 未调用 setCreativeTab,不进任何标签 |
| 图标 | warptheory:itemOblivionPotion(modID.toLowerCase(Locale.ENGLISH) 拼接) |
⚠️ 它是 7 个物品中唯一没有创造标签的 —— 只能靠合成获得。
合成走有序奥术合成(addArcaneCraftingRecipe),
3×3 形状 "QZQ" / "SBS" / "GSG":
| 符号 | 物品 |
|---|---|
Q |
ConfigItems.itemResource meta 3(水银 / Quicksilver) |
Z |
ConfigItems.itemZombieBrain(僵尸脑) |
S |
ConfigItems.itemShard meta 5(熵碎片 / Entropy Shard) |
B / G |
见 WarpRecipes 末段(ConfigItems 取值) |
⚠️ 要素列表由全部原始要素动态生成:
AspectList potionVis = new AspectList();
for (Aspect a : Aspect.getPrimalAspects()) {
potionVis.add(a, 25);
}
即每个原始要素各 25 点(Aspect.getPrimalAspects() 返回
7 个原始要素 → 合计 175),是全模组要素消耗最高的配方。
研究状态为 setAutoUnlock().setSpecial() ——
自动解锁(无需研究即在书里出现)且标记为特殊。
7 个物品的创造标签分布
| 标签 | 物品 |
|---|---|
WarpTheory.mainTab(WarpTab) |
amulet、warpWardAmulet、something、paper |
原版 tabMaterials |
cleanser、cleanserMinor |
| 无标签 | oblivionPotion |
WarpTab 的显示名由 StatCollector.translateToLocal("warptheory.tab")
在类初始化期求值(WarpTheory.mainTab 是静态字段)——
若语言文件在该时点未加载,标签名会退化为键名本身。