BiomeBridge
概述
BiomeBridge 是一个 Minecraft 1.7.10 兼容性模组,由 glowredman 开发,MODID 为 biomebridge。其核心功能是将 Extra Biomes XL(EBXL)的生态群系桥接至 Biomes O’ Plenty(BOP),通过导入并适配 BOP 的配置文件实现生态群系迁移。
Minecraft 版本: 1.7.10
包名: glowredman.biomebridge
源码文件: 仅 2 个 Java 文件
核心机制
依赖检测
在 preInit 阶段,模组通过 Loader.isModLoaded("BiomesOPlenty") 检测 BOP 是否已加载。若检测到 BOP 存在,则抛出 RuntimeException 阻止游戏启动,确保 BiomeBridge 与 BOP 不可共存:
if (Loader.isModLoaded("BiomesOPlenty")) {
throw new RuntimeException("Biomes O' Plenty is incompatible with BiomeBridge!");
}
配置导入流程
模组初始化时,ConfigHandler 会从 config/biomesoplenty/ 目录读取以下 BOP 配置文件并迁移设置。
若该目录不存在,importBOPConfigs() 直接 return(ConfigHandler.java:78-80):
| 配置文件 | 读取内容 |
|---|---|
structures/strongholds.cfg |
允许生成要塞的生态群系 |
structures/villages.cfg |
允许生成村庄的生态群系 |
biomegen.cfg |
启用的生态群系列表、 vanilla 群系覆盖 |
biomeweights.cfg |
生态群系权重(overworld / nether / end) |
ids.cfg |
生态群系 ID、药水 ID(默认 Paralysis 20, Possession 21) |
main.cfg |
调试模式、怪物生成开关 |
misc.cfg |
雾色/天空色、地牢战利品、特殊事件、主菜单全景 |
terraingen.cfg |
生物群系大小、陆块百分比、海底填充、矿石生成 |
[!CAUTION] 上述 8 个文件的「备份」当前并未生效。 每个文件读取后虽然调用了
this.backup(path),但backup()的方法体已被整段注释掉(ConfigHandler.java:250-260, 注释标注// disabled during testing),方法为空实现,不会产生任何.bak文件, 原配置文件也不会被移动或改名。
readConfig() 状态
ConfigHandler.readConfig() 目前为 TODO 空实现,尚未从 BiomeBridge 自有的 BiomeBridge.cfg 读取配置。
配置项总览
世界生成
| 配置项 | 默认值 | 说明 |
|---|---|---|
biomeSize |
4 |
生物群系尺寸 |
landmassPercentage |
10 |
陆块百分比 |
oceanFiller |
true |
是否填充海洋底层 |
enableOreGen |
true |
是否启用矿石生成 |
矿石生成
| 配置项 | 默认值 | 说明 |
|---|---|---|
generateAmber |
true |
琥珀矿石 |
generateAmethyst |
true |
紫水晶矿石 |
generateMalachite |
true |
孔雀石矿石 |
generatePeridot |
true |
橄榄石矿石 |
generateRuby |
true |
红宝石矿石 |
generateSapphire |
true |
蓝宝石矿石 |
generateTanzanite |
true |
坦桑石矿石 |
generateTopaz |
true |
黄玉矿石 |
generateWaspHives |
true |
黄蜂蜂巢 |
药水效果
| 配置项 | 默认值 | 说明 |
|---|---|---|
autoAssignPotions |
true |
是否自动分配药水 ID |
paralysisID |
20 |
麻痹(Paralysis)药水 ID |
possessionID |
21 |
附身(Possession)药水 ID |
怪物生成
| 配置项 | 默认值 | 说明 |
|---|---|---|
spawnAll |
true |
是否生成所有怪物 |
spawnGlob |
true |
Glob |
spawnJungleSpider |
true |
丛林蜘蛛 |
spawnPhantom |
true |
幻影 |
spawnPixie |
true |
精灵 |
spawnRosester |
true |
玫瑰鸡 |
onlySpawnOnBeaches |
true |
是否仅在海滩生成 |
spawnLocationSearchRadius |
1024 |
生成位置搜索半径 |
视觉效果
| 配置项 | 默认值 | 说明 |
|---|---|---|
enableFogColors |
true |
启用雾气颜色 |
enableSkyColors |
true |
启用天空颜色 |
enableMainMenuPanorama |
true |
启用主菜单全景图 |
enablePoisonIvyEffects |
true |
启用毒葛效应 |
enableSpringWaterRegenEffect |
true |
启用泉水再生效应 |
其他
| 配置项 | 默认值 | 说明 |
|---|---|---|
addCustomDungeonLoot |
true |
添加自定义地牢战利品 |
enableSpecialEvents |
true |
启用特殊事件行为 |
enableDebug |
false |
调试模式 |
生态群系映射
详见 生态群系映射。需注意:映射数据来自 docs/convertable-biomes.md,
Java 源码中没有任何群系名字面量。
审计记录
[!WARNING] 本条目为审计订正,错误已就地修正并保留记录。
| 原文错误 | 正确值 | 证据 |
|---|---|---|
| 「读取以下 BOP 配置文件并备份」 | backup() 方法体被整段注释,实际不执行任何备份 |
ConfigHandler.java:250-260(方法体为注释,标注 // disabled during testing) |
未提及 config/biomesoplenty/ 缺失时的提前返回 |
目录不存在则 importBOPConfigs() 直接 return |
ConfigHandler.java:78-80 |
| 药水 ID 写作「Paralysis 20, Possession 21」,读似 BOP 配置的实测值 | 20 / 21 是字段默认值,仅在 ids.cfg 未给出该项时作为 fallback 使用 |
ConfigHandler.java:50-51(默认字段值)、:149-152(作为 getInt() 的第三参数默认值) |
「由 glowredman 开发」为据包名推断 |
Git 作者确为 glowredman(5 次提交),但另有 1 次 Raven Szewczyk |
git log --format='%an' | sort | uniq -c |
核对无误的部分
- MODID
biomebridge(BiomeBridge.java:14) acceptedMinecraftVersions = "1.7.10"(BiomeBridge.java:11)- 包名
glowredman.biomebridge(BiomeBridge.java:1) - Java 源文件确为 2 个
- BOP 冲突检测逻辑与异常文案(
BiomeBridge.java:19-21) readConfig()为空 TODO(ConfigHandler.java:246-248)- 本文「配置项总览」全部 25 个配置项的字段名与默认值逐条比对
ConfigHandler.java:17-68, 全部一致(biomeSize=4、landmassPercentage=10、oceanFiller=true、paralysisID=20、possessionID=21、spawnLocationSearchRadius=1024、enableDebug=false等)