Advanced Botany

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

Advanced Botany 是 Minecraft 1.7.10 / Forge 10.13.4.1614 的 Botania 附属模组。

属性 值
modid AdvancedBotany(首字母大写,1.7.10 资源名大小写敏感)
名称 Advanced Botany
版本 GRADLETOKEN_VERSION(构建期占位符,源码未硬编码)
硬依赖 required-after:Botania(ab/AdvancedBotany.java:19)
软依赖 Thaumcraft(Botania.thaumcraftLoaded 运行时检测)
创造栏 tabAB(AdvancedBotanyTab)
语言 源码 src/main/java/ab/,共 160 个 .java 文件(无 Scala / Kotlin)
源码目录 /Users/evlos/a/mirror/Advanced-Botany/

实际注册规模(源码实测)

维度 实际数量 本 wiki 覆盖
方块 13(GameRegistry.registerBlock 调用数) 13 条目 + 1 个未注册方块条目
物品 15(registerItem 调用数,其中 1 个条件注册) 15 条目
TileEntity 10(9 无条件 + 2 条件,其中 tileGameBoard 无对应方块) 见方块条目
实体 6 6
Botania 花(subtile) 5(3 无条件 + 2 需 Thaumcraft) 5
多方块结构 1(Lebethron Tree) 1
成就 6(1 个 special) 见下
图鉴研究页 7(ResearchItem) —
注魔配方 10(InfusionRecipe,全部需 Thaumcraft) —

本 mod 有多方块结构,且只有 1 个:TileLebethronCore.makeMultiblockSet()(ab/common/block/tile/TileLebethronCore.java:35-46)定义的 6 格高直线神木。

4 类「实例化但未注册」陷阱

这是本 mod 最容易写错的地方。静态字段存在 ≠ 玩家能获得:

对象 实例化 注册 后果
blockMagicCraftCrate ✅ BlockListAB.java:80 ❌ 无 registerBlock 玩家完全无法获得
itemNebulaHelm/Chest/Legs/Boots ✅ ItemListAB.java:107-110 ❌ 无 registerItem 星云套甲(4 件)不可获得
itemNebulaHelmReveal ✅ ItemListAB.java:116 ❌ 无 registerItem 揭示头盔不可获得
itemWildHuntHelm/Chest/Legs/Boots ❌ 整行被注释 ItemListAB.java:102-105 ❌ 荒野猎人套甲完全不存在

⚠️ tileMagicCraftCrate 却注册了 TileEntity(BlockListAB.java:110)——方块不可达而 TE 存在,属源码不一致。

对照组:5 件 Botania 遗物(itemFreyrSlingshot 等)同样只 new 不注册,但这是 Botania 的 NBT 遗物机制(统一用 botania:relic + NBT 区分),属设计而非缺陷。判定依据:Botania 自身的遗物也不单独注册。

依赖与收录范围

依赖 relation.md 状态 处理
Botania 已登记(botania),状态列为空(尚未成文) 条目内保留前向引用 ../../botania
Thaumcraft relation.md 无此行 → 不在收录范围 明确写出,未建分类
GTNH Gradle / MineTweaker 非内容依赖 未收录

方块列表

  • AB Spreader - blockABSpreader,Material.wood,硬度 7.0,魔力上限 128000
  • Nidavellir Forge - blockABPlate(类名 BlockNidavellirForge),硬度 3.0 / 抗性 10.0
  • Mana Container - blockManaContainer,硬度 9.0,3 种 metadata
  • Lebethron Wood - blockLebethron,硬度 6.0,多方块核心(meta 4)
  • AB Storage - blockABStorage,纯 Block,无 TileEntity(名字有误导性)
  • Mana Crystal Cube - blockManaCrystalCube,硬度 5.5
  • Terra Farmland - blockTerraFarmland,Material.ground,碰撞高 0.9375
  • Antigravitation - blockAntigravitation,硬度 -1.0(不可破坏)
  • Mana Charger - blockManaCharger,硬度 6.0,TileEntity 受配置开关控制
  • Engineer Hopper - blockEngineerHopper,未设硬度(默认 0)
  • Freyr Liana - blockFreyrLiana,BlockBush
  • Luminous Freyr Liana - blockLuminousFreyrLiana,上者的唯一子类
  • Board Fate - blockBoardFate,64 格容器,fateBoard 特殊成就
  • Magic Craft Crate - ⚠️ 未注册,玩家不可获得

物品列表

常规注册物品(14 件无条件)

条件注册(1 件)

  • Crafting Pattern - itemCraftingPattern,需 Thaumcraft + hasAutoThaum,10 个变种

Botania 遗物(5 件,经 NBT 机制,非独立注册)

⚠️ 未注册物品(5 件)

  • Nebula Armor - 星云套甲 4 件 + 揭示头盔 1 件,全部实例化但未注册

多方块结构

  • Lebethron Tree - 6 格高直线神木,核心在 blockLebethron meta 4

实体列表

花(Botania subtile,非 GameRegistry 实体)

按 BotaniaAPI.registerSubTile 注册,用 botania: 域,无 AdvancedBotany: 前缀。

成就(6 个)

AchievementRegister.java:19-38 注册 6 个成就,其中 fateBoard 调 .setSpecial()(特殊成就)。 relicSlingshot / relicPocketArmor / relicItemChest / hornPlenty / sphereNavigation 5 个均以未注册的遗物物品为图标。

源码缺陷汇总

# 缺陷 位置
1 blockMagicCraftCrate 实例化但从不注册,玩家不可获得 BlockListAB.java:80(注册列表 :83-96 无它)
2 tileMagicCraftCrate 已注册但无可达方块可挂载 BlockListAB.java:110
3 星云套甲 4 件实例化但未注册 ItemListAB.java:107-110
4 itemNebulaHelmReveal 实例化但未注册 ItemListAB.java:116
5 荒野猎人套甲 4 件整行被注释,功能完全不可用 ItemListAB.java:102-105
6 4 条注魔配方共用同一名字 "Nebula",名字冲突只保留最后一个 RecipeListAB.java:873,893,914,936
7 lockEntityListToHorn 传入的 desc 是上一属性遗留值;:163 的赋值是死代码 ConfigABHandler.java:157-163
8 hasManaCharger=false 时方块仍注册但 TileEntity 不注册 BlockListAB.java:92 vs :106
9 配置键拼写错误 "Thaumim Crafty Crate" ConfigABHandler.java:188
10 6 个 ResearchItem 共用完全相同的 AspectList(复制粘贴) RecipeListAB.java:1106-1190