GregTech 曲曲效果

[!INFO] 来源:WarpEventRegistry 枚举中注释为 // Requires GregTech 的 3 个常量

3 个需外部 mod 的效果

常量 name description 默认开 minWarp 事件类
GREGTECH_FAKE_SOUND GregTechFakeSound GregTech fake sound ✅ 30 WarpGregTechFakeSound
FAKE_DISCORD_PING FakeDiscordPing fake discord ping ✅ 50 WarpFakeSoundRateLimited
FAKE_DISCORD_VOICE_CHANNEL_JOIN FakeDiscordVoiceChannelJoin fake discord voice channel join ✅ 100 WarpFakeSoundRateLimited

唯一被覆写 createWarpEvent 的常量

GREGTECH_FAKE_SOUND 是 50 个常量中唯一带 { … } 类体的, 覆写了 createWarpEvent:

GREGTECH_FAKE_SOUND(WarpGregTechFakeSound::new, "GregTechFakeSound", "GregTech fake sound",
        true, 30, false, false) {

    @Override
    public void createWarpEvent(Consumer<IWarpEvent> consumer) { // This doesn't need a change to gregtech_nh
        if (Loader.isModLoaded("gregtech") && Loader.isModLoaded("IC2NuclearControl")) {
            super.createWarpEvent(consumer);
        }
    }
},

门控条件是 两个 mod 同时存在:

依赖 检测方式
gregtech cpw.mods.fml.common.Loader.isModLoaded
IC2NuclearControl 同上

⚠️ 与其它 49 个常量不同,这里不调用 super 之外不做任何事: 条件不满足时 consumer.accept(...) 根本不被调用, 该效果静默不创建(无 INFO/WARN 日志)。

源码注释 // This doesn't need a change to gregtech_nh 表明 这是为原版 GT(gregtech)写的,GTNH 版 GT 无需改动。

另有 3 个效果需 GregTech,但走 Compat 检测

除了本节的 GREGTECH_FAKE_SOUND,MixinConfigPlugin 式的 外部 mod 检测也出现在 WarpEventHandler 中 —— 但那属于 曲曲值的豁免逻辑(见 曲曲机制), 不控制效果的创建。

关于 IC2NuclearControl 的依赖说明

WarpGregTechFakeSound 依赖 IC2 Nuclear Control 的音效资源 (核反应堆类音效),因此仅有 GregTech 不足以触发 —— 必须同时装 IC2 Nuclear Control。这解释了为何门控是两个 mod 的 逻辑与而非任一存在。

⚠️ IC2NuclearControl 与 gregtech 均不在本 wiki 的收录范围 (relation.md 无对应行),故不建分类、不建前向引用。

效果定位

WarpGregTechFakeSound 的 minWarp 仅 30,是 3 个外部 mod 效果中 门槛最低的 —— 即曲曲值刚过 30 就可能听到核设施音效, 在装了该组合的整合包中属早期体验。

WarpFakeSoundRateLimited(2 个 Discord 效果)带限流, 防止高频触发;WarpGregTechFakeSound 不限流。

相关条目