Thaumcraft Mob Aspects
[!INFO] Git Commit:
56dbe77| Updated: 2026-10-01
Thaumcraft Mob Aspects 是一个纯数据 / API 类附属(原作者 iguana_man,
1.7 端口由 Parker8283 维护),它通过 Thaumcraft 的
ThaumcraftApi.registerEntityTag 给其他 mod 的生物赋予精华(aspects),
让它们能被妖术学的妖术、检定等系统正常识别与交互。
它不注册任何方块、物品或实体,也不提供自己的游戏内容; 全部功能就是一张"实体名 → 精华表"的映射,以及把该映射持久化成可编辑的配置文件。
主要特性:
- 6 个生物插件:为 SpecialMobs(107)、MoCreatures(57)、TwilightForest(44)、 LycanitesMobs(9)、EnderZoo(8)、BiomesOPlenty(7) 的生物硬编码精华, 合计 233 处赋值 / 232 个不同实体名,全部是字面量、无运行时条件追加;
- 按 modid 分文件:每个来源 mod 一个
config/ThaumcraftMobAspects/<modid>.cfg, 内容是 Gson pretty-print 的 JSON 数组(尽管扩展名是.cfg); - 配置优先:启动时先读配置再放插件硬编码值, 因此玩家改过的精华表会覆盖插件里的数值——这是唯一的定制入口;
- 全实体建档:为
EntityList里每个已注册实体建空条目, 方便玩家在对应文件里自行添加精华(空条目不会被注册); - 两个玩家条目:
the_iguana_man与XanderGryphon硬编码同一组 boss 级精华; - 守卫严格:只注册
aspectList.size() > 0的实体,不存在的精华 tag 被静默跳过。
不碰原版与 Thaumcraft 本体生物——职责仅限上述 6 个外部 mod 与 2 个玩家名。
⚠️
mcmod.info中modid/name/version全部是${modId}/${modName}/${modVersion}占位符。实测 modid 来自 Java 常量ModInfo.MODID = "ThaumcraftMobAspects"(ModInfo.java:5,驼峰), 而资源域与分类名都是全小写thaumcraftmobaspects(语言文件在assets/thaumcraftmobaspects/lang/)——这是本 mod 属于 modid ≠ 资源域 的情形。 版本号同样是构建期占位:ModInfo.VERSION = "GRADLETOKEN_VERSION", 由replaceGradleTokenInFile = ModInfo.java在构建时替换。
依赖:
@Mod声明required-after:Forge@[10.12.2.1121,);required-after:Thaumcraft@[4.1.1,)。 依赖的 Thaumcraft 已收录,见 thaumcraft。dependencies.gradle另有一条未被任何源码引用的runtimeOnlyBaubles 依赖。
实体精华
- 精华赋值与注册 -
ThaumcraftEntity的相等性只看实体名、creatureAspects与bossAspects的数量语义、注册前的双重校验 - 各 Mod 生物插件 - 6 个插件的规模表、三种实体名写法、233 处赋值里的重复与被注释掉的两处
配置
- 实体精华配置文件 - 按 modid 分文件的 JSON 格式、
postInit六步顺序即优先级、guessModId四级回退