Botania

[!INFO] Git Commit: c802a44 | Updated: 2026-10-03

Botania(作者 Vazkii)是一个自然魔法主题的大型内容模组,在 GTNH 整合包中以 1.13.36-GTNH 版本发布,对应 Minecraft 1.7.10 + Forge 10.13.4.1614。源码位于 vazkii.botania 包下,共 953 个 .java 文件(无 Scala / Kotlin),是本次待补 wiki 中规模最大的模组。

⚠️ modid 与本分类名不一致:分类目录名为 botania(小写,遵循项目命名规范),但模组的真实 modid 是 Botania(首字母大写),定义在 vazkii.botania.common.lib.LibMisc.MOD_ID = "Botania"(LibMisc.java:18),并由 gradle.properties 的 modId = Botania 声明。资源文件中同时存在 Botania: 与 botania: 两种前缀:@Mod 实体用 Botania,而资源/语言键用 botania(如 tile.botania:pool.name、entity.Botania.botania:manaBurst.name)。查找资源时需注意这一区分。

运行环境

属性 值 证据
Minecraft 1.7.10 gradle.properties:24 minecraftVersion = 1.7.10;mcmod.info 的 "mcversion": "${minecraftVersion}"
Forge 10.13.4.1614 gradle.properties:29
分支 / 标签 master @ c802a44(tag 1.13.36-GTNH) git describe
其他 MC 版本分支 无 仓库仅 master 一个分支,无 1.12+ 分支混入
modid Botania LibMisc.java:18
包名 vazkii.botania gradle.properties modGroup

依赖(读自 dependencies.gradle)

配置 依赖 说明
api Baubles-Expanded 2.2.21-GTNH 硬依赖,饰品系统的基础
implementation GTNHLib 0.11.35 运行时声明为 required-after:gtnhlib@[0.5.22,)
compileOnly Thaumcraft 4.2.3.5、BuildCraft 7.1.63、IC2 2.2.828、Railcraft 9.17.30、Storage Drawers 2.2.26、CoFH-lib、MineFactory Reloaded、ForgeMultipart 1.7.11、StructureLib 1.4.42 全部为可选集成
devOnlyNonPublishable NotEnoughItems 2.8.118-GTNH 仅开发期

运行时的 @Mod(dependencies = "required-after:Baubles;after:Thaumcraft;required-after:gtnhlib@[0.5.22,)")(LibMisc.java:22)与 Gradle 声明不完全一致:Thaumcraft 在运行时是软依赖(after:,无版本约束),而 Gradle 侧只声明 compileOnly。

内容规模(仅统计已注册内容)

类型 数量 统计方法
方块 90 ModBlocks.init() 中 90 处 = new Block,与 90 个 public static Block 声明双向吻合
物品 148 ModItems.init() 中 148 处 = new Item,与 148 个 public static Item 声明双向吻合
SubTile 变体 54 43 个主键 + 8 个 Chibi 迷你花 + 3 个 Decor 装饰变体;与 en_US.lang 中 54 条 tile.botania:flower.*.name 完全吻合
实体 19 ModEntities.init() 中 19 次 EntityRegistry.registerModEntity
调制饮剂 21 21 个 public static Brew 字段 + 21 处实例化
百科条目 227 227 个 public static LexiconEntry,全部已赋值
百科分类 10 LexiconData.preInit() 中 10 次 BotaniaAPI.addCategory
多方块结构 4 ModMultiblocks.init() 中 4 次赋值
配方系统 9 见 符文祭坛配方
命令 3 1 个条件注册
成就 49 49 个 public static Achievement + 49 次 new AchievementMod + 49 个 LibAchievementNames 常量,三者吻合;12 个 .setSpecial();7 个受 relics.enabled 门控
挑战 20 ModChallenges.init() 中 20 次 addChallenge,分 4 个难度(6+6+4+4)
凝矿兰权重表 67 BotaniaAPI 静态块中 43 条 oreWeights + 24 条 oreWeightsNether

@Mod 类只有 1 个:vazkii.botania.common.Botania(Botania.java:34)。它通过 preInit / init / postInit / serverStarting / serverStopping / handleIMC 六个 @EventHandler 驱动整个模组生命周期,serverStopping 中清空法力网络。

文档范围说明

953 个源文件无法在一轮内穷尽。本轮采用本项目既有的「一个家族 → 一页 + 表格」惯例(参照 gadomancy 41 个光环效果、54 个研究合一页),按家族聚合而非逐文件建页:

  • 已覆盖(14 个维度,27 页):配置、法力、花卉、方块家族、物品家族、百科、集成、实体、饮剂、多方块、命令、配方、成就挑战、凝矿兰权重
  • 未覆盖:client/(183 个文件,纯客户端渲染与 GUI)、api/(137 个文件,API 契约)、装饰方块的逐个说明、精灵生物(Pixie)与 Gaia III 战斗、客户端 20 个 GUI、TileEntity(55 个 registerTile,其行为由对应方块页覆盖,不另立维度)、世界生成与群系细节

关于世界生成:已核实 Botania 没有注册任何 IWorldGenerator(全仓无 registerWorldGenerator / IGenerator 实现),因此不存在未覆盖的矿物生成。BotaniaAPI.addOreWeight 中的 ore 指的是物品字典名,服务于凝矿兰的产出权重表,见凝矿兰权重表。群系方面只有 BiomeDecorationHandler 按 IFlowerlessBiome 决定是否生成神秘花,属装饰性生成。

方块列表

  • 魔力方块组 - mana/ 包的 18 个方块:散播器、棱镜、检测器、虚空、RF 发生器等
  • 祭坛组 - 普通祭坛与符文祭坛,27 条工作台配方入口
  • 红线组 - 6 个红线逻辑方块,红石之外的独立信号系统
  • Corporea 物流 - 5 个跨区块物流方块,对接 Storage Drawers

花卉列表

  • 生成花 - 14 类生成花 + 2 个 Primus 变体的产量、间隔与触发条件
  • 功能花 - 25 种功能花 + 8 个 Chibi 迷你花
  • 纯雏菊与星辰 - 7 条纯雏菊转化配方与 3 个装饰 Motif 变体

物品列表

  • 森林魔杖 - 魔杖的绑定、旋转与青金石块转附魔台
  • 魔力透镜 - 22 种透镜的属性位与实现类,外加 1 个隐藏风暴透镜
  • 护甲套装 - 4 套 16 件护甲及其继承链
  • 饰品 - Baubles 硬依赖下的 28 件饰品
  • 魔杖 - 13 把范围型交互魔杖

魔力系统列表

配方列表

  • 符文祭坛配方 - 16 种符文的 3 档法力消耗与全部材料,附 9 个配方系统的总量

成就与挑战列表

  • 成就系统 - 49 个原版成就的图标、页内坐标、依赖关系与两个 IPickup/ICraft 触发接口
  • 挑战系统 - 20 条挑战分 4 难度;纯客户端、由玩家手动勾选、状态存本地文件

凝矿兰列表

  • 凝矿兰权重表 - 67 条 oreXxx 权重(主世界 43 / 下界 24)、GregTech 硬编码排除与 5×3×5 落点扫描

百科列表

调制饮剂列表

  • 调制饮剂 - 21 种饮剂的颜色、法力消耗与效果,1 种条件注册

实体列表

  • 实体 - 19 个已注册实体的追踪间隔、更新频率与显示名

多方块结构列表

  • 多方块结构 - 附魔台、精灵传送门、泰拉钢板、盖亚仪式的坐标定义

命令列表

  • 命令 - 3 条服务端命令及其权限与参数校验

集成列表

  • 模组集成 - 10 个加载检测点、硬/软依赖划分,含一处静默失败风险

配置列表

  • 配置文件 - 62 个配置项全表,含 1 个已确认失效的配置项