BloodMagic

[!INFO] Git Commit: 6776676 | Updated: 2026-10-02

Blood Magic(模组名 Blood Magic: Alchemical Wizardry,代码名 Alchemical Wizardry)是 WayofTime 编写、GTNH 维护的 1.7.10 大型魔法模组。核心机制是生命点(Life Essence,简称 LP) 流体:玩家用 香炉 把可燃物转化为 LP,再通过 血之祭坛、仪式石结构 与 炼金煅烧炉 三套并列的配方系统把 LP 转化为装备、道具与效果。

模组同时提供 4 套相互独立的内容树:约束(绑定)系统把普通装备升级为 Blood Magic 护具;法术系统以 4 范式 × 4 类型 × 4 元素组合出 64 种法术效果;恶魔村庄维度可通过仪式 AW031Convocation 进入并遭遇 24 种自注册实体;陨石与压缩系统提供独立的自动化能力。

五个名字互不相同

本模组的modid、资源域、分类名、目录名、jar 名是五个互相独立的字符串,引用时务必区分:

名称 值 来源
modid AWWayofTime AlchemicalWizardry.java:302 的 @Mod(modid = "AWWayofTime", ...);与 gradle.properties 的 modId 一致
资源域 alchemicalwizardry + alchemicalwizardrybooks src/main/resources/assets/ 下两个目录,共 2 个资源域;两者各带 lang/,alchemicalwizardry 有 9 种语言、alchemicalwizardrybooks 有 2 种
分类名 bloodmagic 本 wiki 的分类名(relation.md 指定)
目录名 BloodMagic /Users/evlos/a/mirror/BloodMagic/,首字母 B 与 M 均大写(用 os.listdir 验证,APFS 大小写不敏感,ls 不可靠)
jar 名 BloodMagic-<版本>.jar gradle.properties:199 的 customArchiveBaseName = BloodMagic

⚠️ modid ≠ 分类名:modid 是 AWWayofTime,不是 bloodmagic。命令、配置文件名(AWWayofTime.cfg)、实体语言键(entity.AWWayofTime.*)与 IMCSender 字符串均用 modid,而非分类名。

版本与依赖

  • MC 版本 1.7.10,证据形式 ①:gradle.properties:24 的 minecraftVersion = 1.7.10;形式 ②:mcmod.info 的 "mcversion": "${minecraftVersion}" 占位符回溯到同一行;形式 ③:@Mod 注解未声明 acceptedMinecraftVersions,故该形式无内容。
  • Forge 版本 10.13.4.1614(gradle.properties)。
  • 验证分支/标签:master 分支,HEAD = 6776676ef209d8c142a1a159519c40d06c7e0bc7,且 HEAD 正好等于仓库唯一标签 1.9.13(git rev-parse 1.9.13 与 git rev-parse HEAD 相同)。git cat-file -t 6776676 返回 commit,引用有效。仓库中不存在其他 MC 版本的分支或标签,不存在跨版本合并问题(ROADMAP §0.11)。
  • 依赖:硬依赖 CodeChickenLib 与 NotEnoughItems(均为 after: 顺序依赖),api 依赖 Waila 与 NEI,另有 11 个 compileOnly 软依赖。详见 依赖声明。

注册内容统计(仅 live 注册)

类型 数量 证据
方块 39 ModBlocks.java:166-232,声明/赋值/注册三向交叉核对一致
物品 120 ModItems.java:420-568
物品(Thaumcraft 条件) 4 AlchemicalWizardry.java:3254-3257
物品(guideapi 条件) 1 AlchemicalWizardry.java:3307
TileEntity 24 AlchemicalWizardry.java:1479-1502(CommonProxy.registerTileEntities() 的另 2 处无调用点,为死代码,见法术与工具投射实体)
实体(恶魔 / 元素精灵 / 小恶魔) 24 实体 ID 20–43 连续无缺
实体(法术与工具弹道) 18 实体 ID 0–17,注册于 CommonProxy.registerEntityTrackers()(由 AlchemicalWizardry.java:741 调用),见法术与工具投射实体
工作台配方 135 有序 125 + 无序 10,见工作台配方
成就 24 + 1 成就页 ModAchievements.init(),见成就
血之祭坛(altar)配方 25 initAltarRecipes()
仪式(ritual) 36 initRituals(),AW001–AW036 无缺号
炼金(transmutation)配方 57 AlchemyRecipeRegistry.registerRecipe
炼金药水配方 26 initAlchemyPotionRecipes()
法术效果 64 4 范式 × 4 类型 × 4 元素;磁盘 CSE* 类数同为 64
印记 21 注册数与 common/items/sigil/ 类数一致
试剂 15 ReagentRegistry
配置字段 213 死配置 0
指令 1(4 子指令) /bloodmagic
加载检查点 18 Loader.isModLoaded 去重计数
机器拉黑名单 24 实体 与注册实体数完全一致

已排除的死代码

死代码 证据 处理
focusBloodBlast、focusGravityWell、itemBloodFrame ModItems.java:258-260 声明,= new 与 registerItem 中均无出现 不计入 120 件物品
RitualEffectApiaryOverclock AlchemicalWizardry.java:4319 注册被整行注释 不计入 36 条仪式
RitualEffectAlphaPact 全仓库仅自身文件引用该类名,无对应语言键 不计入 36 条仪式
CommandBind、CommandUnbind、CommandSN 全仓库 registerServerCommand 仅 1 次且只注册 CommandBloodMagic;3 类在自身文件外 0 引用 不计入指令数
itemFluidSigil、itemAssassinSigil ModItems.java:339 注释标 // Unimplemented,但确实已注册 保留计数,并标注源码自述未实现

静默失败点

位置 现象
AlchemicalWizardry.java:728 catch (Exception ignored) {} —— 完全空的 catch,解压默认配置失败时无任何日志
BloodMagicConfiguration.java:62-64 配置加载异常时只记录固定字符串,异常对象 e 未被记录,无法定位原因;finally 仍会 config.save()
AlchemicalWizardry.java:3291-3294 Thaumcraft 集成整段被 catch (Exception e) { e.printStackTrace(System.err); } 包裹,4 件装备会静默缺失
AlchemicalWizardry.java:3373-3375 ChromatiCraft 反射拉黑失败仅记日志,玩家无感知

方块列表

物品列表

方块实体列表

血之祭坛配方列表

仪式列表

  • 仪式系统 - 仪式与 altar 系统的区别、运行与禁用机制
  • 仪式目录 - 36 条仪式的 ID、名称、效果类与成本全表

炼金列表

气血与生命之源列表

法术列表

  • 法术系统 - 64 = 4 范式 × 4 类型 × 4 元素的组合结构

实体列表

成就列表

  • 成就 - 24 条成就 + 1 个成就页,含 2 条不可达成就与 1 个死列表

工作台配方列表

  • 工作台配方 - 135 条原版工作台配方(有序 125 / 无序 10)与 2 个自定义 RecipeSorter 条目

集成列表

指令列表

配置列表

  • 配置总览 - AWWayofTime.cfg 的 19 个分类与 213 个字段

收录范围与未收录内容

本分类已覆盖 39 方块、120+5 条件物品、24 TileEntity、42 实体(ID 0–17 与 20–43 全覆盖)、135 工作台配方、24 成就、118 条并列配方(25 altar + 36 ritual + 57 alchemy)及 213 个配置字段的全量清单(以表格形式归并同类项)。未展开的内容及原因:

  • ItemComponents(baseItems)的全部 meta 语义:需逐分支追踪,本次只记录已核实的 5 个 meta。baseItems meta 29 作为 demons 成就的图标已登记在成就,但其物品含义未展开。
  • api/soulNetwork 包的衰减算法:网络容量衰减速率等未逐行核实。
  • 客户端渲染细节(client/ 包 26 个文件):本次聚焦服务端注册内容与配置。
  • 成就系统:已补全,24 条成就 + 成就页 + 触发机制 + 2 条不可达成就,见成就。
  • 单个工作台配方的逐条转写:已补全 135 条的产出全表,见工作台配方。配方的具体形状字符串与材料未逐条转写,仅登记产出、类型与配方类。