MagicBees

[!INFO] Git Commit: 53d085d | Updated: 2026-10-02

MagicBees 是 Minecraft 1.7.10 / Forge 10.13.4.1614 的 Forestry 养蜂附属模组——加入 126 个魔法蜂种及其产出物。

属性 值
modid MagicBees(首字母大写!与分类名 magicbees 大小写不同)
名称 Magic Bees
硬依赖 required-after:Forestry@[4.2.5,)
软依赖 Baubles、Thaumcraft、ExtraBees、EE3、ArsMagica、TConstruct、Railcraft、ThermalFoundation、ThermalExpansion、RedstoneArsenal、AWWayofTime、Botania、appliedenergistics2
源码依赖 ForestryMC:4.11.8(dependencies.gradle:4)、Botania:1.13.16-GTNH:api
语言 源码 170 个 .java(无 Scala / Kotlin)
源码目录 /Users/evlos/a/mirror/MagicBees/

⚠️ modid 大小写陷阱:modid 是 MagicBees(gradle.properties:10 的 modId = MagicBees),而本 wiki 分类名是全小写 magicbees。1.7.10 资源名大小写敏感,游戏内资源名是 MagicBees:hive 等。mcmod.info 整份是 ${modId} 占位符,不可用于判断。

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

维度 实际数量 本 wiki 覆盖
方块 7(4 无条件 + 1 Botania 条件 + 2 Thaumcraft 条件) 7
物品 最多 30(9 核心 + 2 胶囊 + 7 蜂框 + 2 背包 + 3 血魔法蜂框 + 1 蜂戒 + 6 铲/锄),随联动 mod 增减 覆盖全部
TileEntity 4 随方块条目
实体 0(无 registerModEntity) —
蜂种 126 1(集合运算条目)
蜂巢变种 6 1
多方块结构 0 —
物品变种合计 Comb 27 + Wax 3 + Propolis 7 + Drop 6 + Pollen 2 + Capsule 2 + Frame 7 + Nugget 8 + Misc 22 + Magnet 18 —

本 mod 无多方块结构(全仓库 multiblock 匹配数为 0)。名字里的 “Bees” 不代表多方块。

⚠️ 三类计数陷阱(本分类的核心结论)

1. 蜂种:126,不是 131

朴素 grep ^\s+[A-Z][A-Za-z0-9_]*\s*(\(|,|;|$) 得 131,多算 5 个(把方法体内的局部大写标识符算进去)。 枚举块解析法:截取 public enum BeeSpecies { 到第一个 ;,正则 \b([A-Z][A-Z0-9_]*)\s*\( → 126 个常量,去重后仍 126,学名 126 个全唯一、显示名 126 个全唯一。

2. 蜂巢变种:6,不是 12

HiveType 枚举构造函数第 3 个参数是 BeeSpecies.XXX,正则把蜂种名重复计入,得 12。逐条读源码(HiveType.java:27-32)确认只有 6 个常量。

3. 物品注册散落在 4 处

grep registerItem 命中 12 个文件,但注册点分布在:

  • 9 个物品类自己的构造函数(comb/wax/propolis/drop/miscResources/pollen/moonDial/capsule/frame)
  • Config.java(magnet/jellyBabies/beeNugget/铲锄/背包)
  • compat/BloodHelper.java(3 血魔法蜂框)
  • compat/baubles/ItemBeeRing.java(蜂戒)

只读 Config.java 会漏掉一半以上。

方块列表

核心(无条件,4)

Botania 联动(1)

Thaumcraft 联动(2)

蜜蜂条目

  • Bee Species - 126 个蜂种,20 个分类,附完整计数方法
  • Hive Types - 6 个蜂巢变种,绑定蜂种 + 亮度

产物条目

  • Bee Products - 全部产物总览
  • Comb - 27 种(基础 15 + TC 6 + AM 2 + TE 4)
  • Wax - 3 种,⚠️ SOUL 未注册进矿物词典
  • Propolis - 7 种
  • Drop - 6 种
  • Pollen - 2 种
  • Misc Resources - 22 种,⚠️ 部分创造栏不可见
  • Capsule - 2 种,容量 2000 / 8000,注册名带点号

物品条目

依赖范围

依赖 relation.md 状态 处理
Forestry 已登记(forestry),✓ 完成 交叉引用 ../../forestry
Botania 已登记(botania),尚未成文 前向引用 ../../botania
Thaumcraft relation.md 无此行 → 不在收录范围 明确写出,未建分类
Baubles / Blood Magic / Ars Magica / Thermal / TConstruct / EE3 / Applied Energistics 2 / Railcraft / ExtraBees / Redstone Arsenal / AWWayofTime 均无行 → 不在收录范围 明确写出,未建分类
Backpacks(背包实现) 无行 → 不在收录范围 明确写出

源码缺陷汇总

# 缺陷 位置
1 enchantedEarth 把 magicbees. 写进注册名,全仓库唯一 Config.java:197
2 胶囊注册名用点号(capsule.magic/capsule.void),与其它物品不一致 ItemCapsule.java:30
3 背包注册名同样用点号(backpack.thaumaturgeT1) Config.java:557,560
4 ItemMiscResources 在构造函数里调 registerItem ItemMiscResources.java:27
5 WaxType.SOUL 未注册进任何矿物词典(只有 MAGIC/AMNESIC 进了 waxMagical) Config.java:489-490
6 矿粒被 setInactive() 禁用后仍会 registerOre 进矿物词典 Config.java:462-478 vs 489-496
7 JellyBabies.setUnlocalizedName 传入带域字符串,产出畸形本地化键 Config.java:456-457
8 BlockHive 构造函数 setLightLevel(0.8f) 被 getLightValue 完全绕过,是死值 BlockHive.java:27,44-49
9 capsuleStackSizeMax 只有声明无默认值,实际堆叠数源码不可知 Config.java:91
10 血魔法蜂框的注册嵌套在 ThaumcraftHelper.isActive() 内(需同时装 Thaumcraft) BloodHelper.java:56