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)
- Magic Hive -
hive,6 变种,亮度 12/12/12/4/15/7 - Enchanted Earth - ⚠️ 注册名
magicbees.enchantedEarth(点号),硬度 0.1 - Effect Jar -
effectJar,收集负面效果 - Magic Apiary -
magicApiary,核心养蜂机器
Botania 联动(1)
- Mana Aura Provider -
manaAuraProvider,需 Botania
Thaumcraft 联动(2)
- Vis Aura Provider -
visAuraProvider,需 Thaumcraft - Apimancer’s Drainer -
apimancersDrainer,TileEntity 按是否装 GTNH Core Mod 切换实现
蜜蜂条目
- 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,注册名带点号
物品条目
- Hive Frames - 7 种,各 6 项系数;⚠️
OBLIVION产出 -9001 - Bee Nugget - 8 种,⚠️ 运行时按矿种动态禁用
- Mystery Magnet - 9 级 × 2 = 18 变种
- Scoops and Grafts - 6 把采集工具(3 套 × 2)
- Moon Dial - 月相表
- Bee Ring - Baubles 戒指
- Jelly Babies - ⚠️ 用原版
ItemFood,本地化名带域 - Blood Magic Frames - 3 种,Blood Magic 联动
- Thaumaturge Backpack - 2 级,借用 Backpacks 模组实现
依赖范围
| 依赖 | 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 |