Botanic Horizons

[!INFO] Git Commit: 45f458e | Updated: 2026-09-28

Botania 的 GTNH 自动化附属模组,modid 为 botanichorizons(全小写、无连字符)。 它把 Botania 的魔力池、炼金台、注魔台、符文祭坛与精灵传送门改造成可自动化的多方块结构, 并附带 13 个跨模组配方补丁。

[!WARNING] 命名与定位 不是 Variable-Horizons 那类「变体框架」。 本 mod 确实自带一套多方块框架(util/multiblock/,9 个类), 但那是自研的、与 Variable-Horizons 无任何代码关系的实现—— dependencies.gradle 中没有 Variable-Horizons。 名字里的 “horizons” 取自 GTNH 整合包前缀(New Horizons), mcmod.info 的描述是 “Expert-style recipes for use with GTNewHorizons”。

依赖关系(实测 dependencies.gradle)

依赖 作用域 实际作用
Botania api 硬依赖,魔力池 / 词典 / 方块来源
GregTech api Mods 枚举 + GT5 配方与机器
Thaumcraft api 自定义 Aspect 研究
StructureLib api 全息投影与多方块还原
Avaritia api 配方补丁目标
NotEnoughItems compileOnly NEI 处理器 id 常量
Chisel compileOnly 凿石变体补丁
Baubles-Expanded runtimeOnly 仅运行时需要

[!NOTE] mcmod.info 的依赖串不可信 它声明了 Baubles / witchery / BiomesOPlenty / dreamcraft, 但这些都不在 dependencies.gradle 里,属历史遗留。 真实的运行时依赖以上表为准。

内容概览

本 mod 只有 4 个方块和 5 件物品,且全部条件注册: 3 把基础魔力扳手挂在 Mods.GregTech.isModLoaded() 下, 2 把拆解扳手挂在 Mods.StructureLib.isModLoaded() 下。条件不满足时字段为 null。

多方块只有 4 个:3 个共用同一张模板的魔力池变体(5×3×7), 加上精灵传送门(7×6×7)。全部仅支持水平 4 向旋转,不支持上下翻转。 尺寸、控制器位置与旋转规则见 Multiblocks。

源码:/Users/evlos/a/mirror/Botanic-horizons/ 关系登记:见 data/relation.md(全局 Wiki 分类映射表)

模组核心

  • ClientProxy - 客户端 proxy:注册扳手自定义渲染器
  • ForgeMod - 模组主类:modid、加载阶段与依赖声明
  • IProxy - 客户端/服务端 proxy 接口
  • ServerProxy - 服务端 proxy(空实现)

方块与控制器

物品

方块实体

多方块框架

StructureLib 全息支持

配方补丁

词典

通用工具

  • BlockBreakHelper - 统一 IC2 IWrenchable 扳手路径与手持工具路径:
  • BlockPos - 行数 13 的极简坐标载体,用于多方块与结构运算中传递位置,避免装箱 BlockPos 带来的开销。
  • ChargeState - 共 5 个枚举常量。ChargeState.java:47 特殊识别
  • Constants - 151 行常量类,包含 20 组 meta 映射(魔力池、扩散器、魔力材料、
  • Facing2D - 仅水平 4 向的朝向枚举,驱动本模组全部多方块旋转
  • IBlockTooltip - 行数 12。由 4 个控制器方块实现(连同 IWandHUD/IWandable/ILexiconable),
  • InventoryHelper - 141 行。为 AutomationTileEntity 等
  • NonFuzzyInfusionRecipe - 78 行。Botania 注魔默认对输入做模糊匹配;
  • OreDict - 46 行。本 mod 的 ore dict 条目注册入口,
  • ResearchBuilder - 183 行。链式构建神秘学研究记录(前置、图标、隐藏前置、扭曲度),
  • SparkHelper - 27 行。对 Botania Spark 实体(spark / sparkUpgrade0..3)的轻量操作封装。

NEI

  • NEIConfig - NEI 处理器前缀与分类常量

客户端渲染