仪式系统

基本信息

属性 值
仪式总数 36(详见 仪式目录)
注册表 WayofTime.alchemicalWizardry.api.rituals.Rituals
效果基类 WayofTime.alchemicalWizardry.common.rituals.RitualEffect
配置 AWWayofTime.cfg 的 Ritual Blacklist 分类,36 个独立开关

与血之祭坛(altar)系统的区别

本模组有两套完全独立的配方系统,初学者极易混淆:

血之祭坛(altar) 仪式(ritual)
载体方块 血之祭坛(1 个) 仪式石结构(多个方块)
配方表 AltarRecipeRegistry(25 条) Rituals.ritualMap(36 条)
消耗物 生命之源流体 仪式石充能
等级概念 祭坛等级 1–6 仪式 tier 1/2
配置文件 Dungeon Loot Chances 等 Ritual Blacklist
条目 血之祭坛配方 本条目

运行机制

  1. 玩家用仪式推测杖(ItemRitualDiviner)定位已建成但未激活的仪式结构。推测杖有 2 个等级,由 setMaxRuneDisplacement(stack, 1|2) 设定(AlchemicalWizardry.java:814-817)。
  2. 仪式结构被识别后,其 ID 出现在主仪式石的 GUI 列表中。
  3. 玩家激活后,仪式按 lpCost 扣除生命点,按 tick 逐 tick 消耗充能。
  4. 效果由该仪式对应的 RitualEffect 子类实现。
  5. 若 AWWayofTime.cfg 中对应 Ritual Blacklist 项为 true,该仪式在 postInit 阶段被从注册表移除,玩家完全看不到也用不了。

仪式结构方块

构成仪式结构的 7 个方块(主仪式石、仪式石、不完善的仪式石、奥术基座、奥术基柱、稳定符印、附魔符印)见 仪式石系统。

ImperfectRitualStone(不完善的仪式石)是廉价填充块:源码把它与石板升级链(空白的石板 → 加强的石板 → 灌输石板 → 恶魔石板)放在同一设计语境下,对应「渐进式解锁」的仪式结构成本。

仪式效果类

RitualEffect 抽象基类位于 WayofTime.alchemicalWizardry.api.rituals.RitualEffect(注意不在 common.rituals 包内)。36 条 live 仪式对应 36 个位于 common/rituals/ 的 RitualEffect 子类。

common/rituals/ 下共有 38 个 RitualEffect* 子类文件,其中 2 个未注册:

类 状态 证据
RitualEffectApiaryOverclock 注册被注释掉 AlchemicalWizardry.java:4319(整行以 // 开头)
RitualEffectAlphaPact 从未被引用注册 全仓库仅 RitualEffectAlphaPact.java 自身出现该类名;语言文件中也没有任何以 AW0 开头的仪式名键与之对应

RitualEffectAlphaPact 是完全实现的类(120 行,含 spawnMoreDemons() 与 getNewStorage() 实现),依赖 common/rituals/LocalStorageAlphaPact 存储恶魔列表,但没有任何 Rituals.registerRitual 调用引用它,玩家无法获得该仪式。EntityMinorDemonGrunt.java:197 中的 stor instanceof LocalStorageAlphaPact 判断的是存储类而非该效果类,二者不可混为一谈。

以上 2 个属死代码,不计入 36 条仪式。

数值

数值名 来源 值
仪式总数 initRituals() live 注册数 36
注释掉的注册 AlchemicalWizardry.java:4319 1(RitualEffectApiaryOverclock)
从未注册的已实现效果类 RitualEffectAlphaPact 1
common/rituals/ 下效果类总数 文件枚举 38(36 live + 2 dead)
一级 / 二级 tier 参数 27 / 9
黑名单配置项数 blacklistRituals() 的 r() 调用 36,与仪式数一一对应

相关条目