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 件无条件)
- AB Resource -
itemABResource,7 个 damage 变种 - Mithrill Mana Ring -
itemMithrillRing(本地化名mithrillManaRing),耐久 1000 - Nebula Mana Ring -
itemNebulaRing,耐久 1000 - Mithrill Multi-tool -
itemMihrillMultiTool(字段名拼写少个 t),材质MITHRIL - Advanced Spark -
itemAdvancedSpark - Space Blade -
itemMithrillSword(本地化名spaceBlade),6 档魔力等级 - Aqua Sword -
itemAquaSword,同为MITHRIL材质但无魔力系统 - Terra Hoe -
itemTerraHoe,用 terrasteel 材质(非秘银) - Mana Flower -
itemManaFlower,每 5 tick 注 54 魔力 - Black Halo -
itemBlackHalo,实现IBlockProvider - Nebula Blaze -
itemNebulaBlaze - Antigravity Charm -
itemAntigravityCharm - Nebula Rod -
itemNebulaRod,耐久 100,冷却 18 tick - Rod of Sprawl -
itemSprawlRod,耐久 100,范围 64
条件注册(1 件)
- Crafting Pattern -
itemCraftingPattern,需 Thaumcraft +hasAutoThaum,10 个变种
Botania 遗物(5 件,经 NBT 机制,非独立注册)
- Freyr Slingshot - 遗物 7/11
- Talisman of Hidden Riches - 遗物 8/11
- Pocket Wardrobe - 遗物 9/11,本地名
autoPocketWardrobe - Sphere of Navigation - 遗物 10/11,搜寻耗 2500 魔力
- Horn of Plenty - 遗物 11/11
⚠️ 未注册物品(5 件)
- Nebula Armor - 星云套甲 4 件 + 揭示头盔 1 件,全部实例化但未注册
多方块结构
- Lebethron Tree - 6 格高直线神木,核心在
blockLebethronmeta 4
实体列表
- Entity Advanced Spark -
advancedSpark,AABB 0.1×0.5 - Entity Nebula Blaze -
nebulaBlaze - Entity Mana Vine -
manaVineBall(注册名 ≠ 类名) - Entity Alphirine Portal -
alphirinePortal,唯一无发射者构造函数 - Entity Sword -
entitySword - Entity Seed -
entitySeed
花(Botania subtile,非 GameRegistry 实体)
按 BotaniaAPI.registerSubTile 注册,用 botania: 域,无 AdvancedBotany: 前缀。
- Ancient Alphirine - 魔力 180000(最大),无条件
- Ardent Azarcissus - 魔力 16000,无条件
- Aspecolus - 魔力 15000,需 Thaumcraft
- Pure Gladiolus - 魔力 10000,需 Thaumcraft
- Dictarius - 魔力 8000(最小),相邻上限 64
成就(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 |