BuildCraft Oil Tweak
[!INFO] Git Commit:
6cd50ef| Updated: 2026-10-01
BuildCraft Oil Tweak(作者 Vexatos)是一个纯行为调整的附属, 让玩家(或生物)泡在油里时几乎动不了——上升被完全禁止、下落与水平速度 大幅衰减、台阶高度归零,并附带挖掘减速、末影传送禁用与物品右键限制。 它还有一条 Simply Jetpacks 集成,把"可燃流体是否爆炸"强制打开,让油真的会炸。
它不注册任何方块、物品或实体,也没有自己的配置文件。
主要特性:
- 三态浸没判定:按实体包围盒扫描,
NONE/HALF/FULL; 全身浸没时连方块都放不了,半身浸没仍可用方块类物品; - 移动阻尼:上升清零、下落衰减到 5%、水平速度衰减到 5% 且钳制在
±0.05、 每 tick 额外压低0.05、步高归零; - 生存模式飞行强制关闭(创造模式保留);
- 交互限制:挖掘速度取
original/new较小者再除 3; 末影传送无条件取消(创造豁免);右键按"全身 + 非方块"与"黑名单"两条规则拦截; - 末影珍珠黑名单:内置 provider 拦原版与自定义末影珍珠,其他 mod 可注册自己的 provider;
- 可热插拔:
canBeDeactivated = true,deInit还原 Simply Jetpacks 配置。
⚠️ 名字有误导性。自
1.0.1起它已不再依赖 BuildCraft 的油实现, 判定依据只是流体名等于"oil"(equalsIgnoreCase), 所以 Ender IO 的油同样生效;而crude oil/heavy oil这类名字不同的不算。 更要命的是总开关直接读 BuildCraft Energy 的isOilDense: BuildCraft Energy 缺失时isOilDense()恒为false, 全部 5 个事件处理器第一行就 return,本 mod 静默完全失效。BuildCraft|Core、EnderIO、simplyjetpacks三个after:依赖在源码中 均无对应类引用。
⚠️
mcmod.info中modid/name/version均为${modId}/${modName}/${modVersion}占位符。实测 modid 来自 Java 常量Mods.BCOilTweak = "OilTweak"(Mods.java:11,驼峰)—— 与分类名buildcraftoiltweak、与仓库名BuildCraftOilTweak都不一致; 资源域则是全小写oiltweak(语言文件在assets/oiltweak/lang/), 属 modid ≠ 资源域 的情形。
效果
配置与 API
- 油液检测 - 包围盒扫描、
FULL判定两条件、流体名匹配、isOilDense开关链 - 黑名单 API -
OilTweakAPI抽象基类设计、provider 短路 OR、内置末影珍珠判定 - Simply Jetpacks 集成 - 强制
flammableFluidsExplode = true、配置变更后自动改回、静默失败