曲曲消耗品

[!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 是静态字段)—— 若语言文件在该时点未加载,标签名会退化为键名本身。

相关条目