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 不限流。