generated from MrSphay/codex-agent-repository-kit
This commit is contained in:
@@ -29,7 +29,6 @@ import net.minecraft.util.Mth;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.neoforged.neoforge.network.PacketDistributor;
|
||||
|
||||
public class AmbientExplosionManager {
|
||||
private static final Map<UUID, PlayerTimer> playerTimers = new HashMap<UUID, PlayerTimer>();
|
||||
@@ -310,7 +309,7 @@ public class AmbientExplosionManager {
|
||||
explosionIsInCaveLocation = true;
|
||||
playerInCave = true;
|
||||
if (isShellingShot || !((Boolean)Config.COMMON.ambient.soundTypes.enableAmbientCaveDust.get()).booleanValue()) break;
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)new SpawnAmbientCaveDustPacket(power));
|
||||
PacketHandler.sendToPlayer(player, new SpawnAmbientCaveDustPacket(power));
|
||||
if (this.random.m_188500_() < 0.3 + (double)power * 0.02) {
|
||||
ExplosionOverhaul.addDelayedSound(player, (SoundEvent)ModSounds.DUST_SOUND.get(), SoundSource.AMBIENT, (float)player.m_20185_(), (float)player.m_20186_(), (float)player.m_20189_(), 0.7f, 1.0f, player.m_217043_().m_188505_(), baseDelay + (long)this.random.m_188503_(40));
|
||||
}
|
||||
@@ -342,7 +341,7 @@ public class AmbientExplosionManager {
|
||||
ServerExplosionHandler.CameraShakeProfile shakeProfile = AmbientExplosionManager.determineCameraShakeProfile(power, distance, playerInCave, level);
|
||||
if (shakeProfile.intensity() > 0.0f && shakeProfile.durationTicks() > 0) {
|
||||
int delayTicks = (int)Math.max(0L, Math.round(distance / speedOfSound));
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)new CameraShakePacket(shakeProfile.intensity(), shakeProfile.durationTicks(), shakeProfile.pushIntensity(), delayTicks));
|
||||
PacketHandler.sendToPlayer(player, new CameraShakePacket(shakeProfile.intensity(), shakeProfile.durationTicks(), shakeProfile.pushIntensity(), delayTicks));
|
||||
}
|
||||
if (power >= (lampFlickerPowerThreshold = distance > 1000.0 ? 31.0f : (distance > 500.0 ? 20.0f : (distance > 50.0 ? 10.0f : 4.0f)))) {
|
||||
RedstoneLampEffects.triggerLampFlicker(level, player, power, delayTicksEffect, distance);
|
||||
@@ -352,7 +351,7 @@ public class AmbientExplosionManager {
|
||||
if (useAmbientSound) {
|
||||
ExplosionOverhaul.addDelayedSound(player, sound, SoundSource.AMBIENT, (float)player.m_20185_(), (float)player.m_20186_(), (float)player.m_20189_(), volume, pitch, player.m_217043_().m_188505_(), delayTicksEffect);
|
||||
} else {
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)new PlayTrackedSoundPacket(finalExplosionPos, soundId, volume, pitch, delayTicksEffect, playerInHouse));
|
||||
PacketHandler.sendToPlayer(player, new PlayTrackedSoundPacket(finalExplosionPos, soundId, volume, pitch, delayTicksEffect, playerInHouse));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,7 +87,6 @@ import net.neoforged.neoforge.event.server.ServerStoppedEvent;
|
||||
import net.neoforged.bus.api.SubscribeEvent;
|
||||
import net.neoforged.fml.common.Mod;
|
||||
import net.neoforged.fml.common.EventBusSubscriber;
|
||||
import net.neoforged.neoforge.network.PacketDistributor;
|
||||
import net.neoforged.neoforge.server.ServerLifecycleHooks;
|
||||
|
||||
@EventBusSubscriber
|
||||
@@ -386,7 +385,7 @@ public class BlockIndexManager {
|
||||
if (server != null) {
|
||||
for (ServerPlayer player : server.m_6846_().m_11314_()) {
|
||||
if (!BlockIndexManager.isPlayerAuthorized(player)) continue;
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)packet);
|
||||
PacketHandler.sendToPlayer(player, packet);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -402,7 +401,7 @@ public class BlockIndexManager {
|
||||
if (server != null) {
|
||||
for (ServerPlayer player : server.m_6846_().m_11314_()) {
|
||||
if (!BlockIndexManager.isPlayerAuthorized(player)) continue;
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)packet);
|
||||
PacketHandler.sendToPlayer(player, packet);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -414,7 +413,7 @@ public class BlockIndexManager {
|
||||
private static void sendScanPromptPacket(ServerPlayer player) {
|
||||
try {
|
||||
ScanPromptPacket packet = new ScanPromptPacket(true);
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)packet);
|
||||
PacketHandler.sendToPlayer(player, packet);
|
||||
ExplosionOverhaul.LOGGER.info("Sent scan prompt to authorized player: {}", (Object)player.m_7755_().getString());
|
||||
}
|
||||
catch (Exception e) {
|
||||
@@ -459,14 +458,14 @@ public class BlockIndexManager {
|
||||
try {
|
||||
if (requestingPlayer != null && requestingPlayer.m_6084_()) {
|
||||
ScanPromptPacket packet = new ScanPromptPacket(false);
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> requestingPlayer), (Object)packet);
|
||||
PacketHandler.sendToPlayer(requestingPlayer, packet);
|
||||
} else {
|
||||
MinecraftServer server = ServerLifecycleHooks.getCurrentServer();
|
||||
if (server != null) {
|
||||
for (ServerPlayer player : server.m_6846_().m_11314_()) {
|
||||
if (!BlockIndexManager.isPlayerAuthorized(player)) continue;
|
||||
ScanPromptPacket packet = new ScanPromptPacket(false);
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)packet);
|
||||
PacketHandler.sendToPlayer(player, packet);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -495,7 +494,7 @@ public class BlockIndexManager {
|
||||
for (ServerPlayer serverPlayer : currentServer.m_6846_().m_11314_()) {
|
||||
if (!BlockIndexManager.isPlayerAuthorized(serverPlayer)) continue;
|
||||
packet = new ScanLoadPromptPacket(false);
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> serverPlayer), (Object)packet);
|
||||
PacketHandler.sendToPlayer(serverPlayer, packet);
|
||||
ExplosionOverhaul.LOGGER.debug("Hidden load prompt for authorized player: {}", (Object)serverPlayer.m_7755_().getString());
|
||||
}
|
||||
}
|
||||
@@ -522,9 +521,9 @@ public class BlockIndexManager {
|
||||
for (ServerPlayer serverPlayer : server.m_6846_().m_11314_()) {
|
||||
if (!BlockIndexManager.isPlayerAuthorized(serverPlayer)) continue;
|
||||
ScanLoadPromptPacket hideLoadPacket = new ScanLoadPromptPacket(false);
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> serverPlayer), (Object)hideLoadPacket);
|
||||
PacketHandler.sendToPlayer(serverPlayer, hideLoadPacket);
|
||||
ScanPromptPacket showScanPacket = new ScanPromptPacket(true);
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> serverPlayer), (Object)showScanPacket);
|
||||
PacketHandler.sendToPlayer(serverPlayer, showScanPacket);
|
||||
ExplosionOverhaul.LOGGER.debug("Switched prompts for authorized player: {}", (Object)serverPlayer.m_7755_().getString());
|
||||
}
|
||||
}
|
||||
@@ -554,14 +553,14 @@ public class BlockIndexManager {
|
||||
try {
|
||||
if (requestingPlayer != null && requestingPlayer.m_6084_()) {
|
||||
ScanPromptPacket packet = new ScanPromptPacket(false);
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> requestingPlayer), (Object)packet);
|
||||
PacketHandler.sendToPlayer(requestingPlayer, packet);
|
||||
} else {
|
||||
MinecraftServer server = ServerLifecycleHooks.getCurrentServer();
|
||||
if (server != null) {
|
||||
for (ServerPlayer player : server.m_6846_().m_11314_()) {
|
||||
if (!BlockIndexManager.isPlayerAuthorized(player)) continue;
|
||||
ScanPromptPacket packet = new ScanPromptPacket(false);
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)packet);
|
||||
PacketHandler.sendToPlayer(player, packet);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -606,7 +605,7 @@ public class BlockIndexManager {
|
||||
serverScanDecisionMade = false;
|
||||
try {
|
||||
ScanPromptPacket packet = new ScanPromptPacket(true);
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)packet);
|
||||
PacketHandler.sendToPlayer(player, packet);
|
||||
ExplosionOverhaul.LOGGER.info("BlockIndexManager: showing rescan prompt to player: {}", (Object)player.m_7755_().getString());
|
||||
}
|
||||
catch (Exception e) {
|
||||
@@ -621,7 +620,7 @@ public class BlockIndexManager {
|
||||
for (ServerPlayer player : server.m_6846_().m_11314_()) {
|
||||
if (!BlockIndexManager.isPlayerAuthorized(player)) continue;
|
||||
ScanPromptPacket packet = new ScanPromptPacket(show);
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)packet);
|
||||
PacketHandler.sendToPlayer(player, packet);
|
||||
if (!show) continue;
|
||||
ExplosionOverhaul.LOGGER.debug("Sent scan prompt to authorized player: {}", (Object)player.m_7755_().getString());
|
||||
}
|
||||
@@ -1186,7 +1185,7 @@ public class BlockIndexManager {
|
||||
hasSaveFile = true;
|
||||
try {
|
||||
ScanLoadPromptPacket packet = new ScanLoadPromptPacket(true);
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player2), (Object)packet);
|
||||
PacketHandler.sendToPlayer(player2, packet);
|
||||
ExplosionOverhaul.LOGGER.info("BlockIndexManager: showing load prompt for existing save file in world: {}", (Object)level.m_46472_().m_135782_());
|
||||
}
|
||||
catch (Exception e) {
|
||||
@@ -1201,7 +1200,7 @@ public class BlockIndexManager {
|
||||
} else if (BlockIndexManager.isScanning() || !chunkScanQueue.isEmpty() && totalChunksToScan > 0) {
|
||||
try {
|
||||
ScanProgressPacket packet = new ScanProgressPacket(totalChunksToScan, chunksScanned, scanningComplete, lampsFound, dripstonesFound, glassBlocksFound);
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player2), (Object)packet);
|
||||
PacketHandler.sendToPlayer(player2, packet);
|
||||
ExplosionOverhaul.LOGGER.debug("Sent scan progress to rejoining OP player: {}/{} chunks", (Object)chunksScanned, (Object)totalChunksToScan);
|
||||
}
|
||||
catch (Exception e) {
|
||||
@@ -1221,7 +1220,7 @@ public class BlockIndexManager {
|
||||
hasSaveFile = true;
|
||||
try {
|
||||
ScanLoadPromptPacket packet = new ScanLoadPromptPacket(true);
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player2), (Object)packet);
|
||||
PacketHandler.sendToPlayer(player2, packet);
|
||||
ExplosionOverhaul.LOGGER.info("BlockIndexManager: showing load prompt for existing save file to OP: {}", (Object)player2.m_7755_().getString());
|
||||
}
|
||||
catch (Exception e) {
|
||||
@@ -1232,7 +1231,7 @@ public class BlockIndexManager {
|
||||
hasSaveFile = false;
|
||||
try {
|
||||
ScanPromptPacket packet = new ScanPromptPacket(true);
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player2), (Object)packet);
|
||||
PacketHandler.sendToPlayer(player2, packet);
|
||||
ExplosionOverhaul.LOGGER.info("BlockIndexManager: showing scan prompt to OP: {}", (Object)player2.m_7755_().getString());
|
||||
}
|
||||
catch (Exception e) {
|
||||
@@ -1242,7 +1241,7 @@ public class BlockIndexManager {
|
||||
} else if (totalChunksToScan > 0 && !scanningComplete) {
|
||||
try {
|
||||
ScanProgressPacket packet = new ScanProgressPacket(totalChunksToScan, chunksScanned, scanningComplete, lampsFound, dripstonesFound, glassBlocksFound);
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player2), (Object)packet);
|
||||
PacketHandler.sendToPlayer(player2, packet);
|
||||
ExplosionOverhaul.LOGGER.debug("Sent scan progress to joining OP player: {}/{} chunks", (Object)chunksScanned, (Object)totalChunksToScan);
|
||||
}
|
||||
catch (Exception e) {
|
||||
@@ -1380,7 +1379,7 @@ public class BlockIndexManager {
|
||||
INITIAL_SCAN_ENQUEUED = false;
|
||||
try {
|
||||
ScanProgressPacket packet = new ScanProgressPacket(0, 0, true, 0, 0, 0);
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.ALL.noArg(), (Object)packet);
|
||||
PacketHandler.sendToAll(packet);
|
||||
}
|
||||
catch (Exception exception) {
|
||||
// empty catch block
|
||||
@@ -1415,7 +1414,7 @@ public class BlockIndexManager {
|
||||
ServerPlayer player2 = (ServerPlayer)player;
|
||||
try {
|
||||
ScanProgressPacket packet = new ScanProgressPacket(0, 0, true, 0, 0, 0);
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player2), (Object)packet);
|
||||
PacketHandler.sendToPlayer(player2, packet);
|
||||
}
|
||||
catch (Exception exception) {
|
||||
// empty catch block
|
||||
|
||||
@@ -555,12 +555,12 @@ public class ExplosionOverhaul {
|
||||
public static void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
if (event.phase == TickEvent.Phase.END) {
|
||||
ClientEffects.onClientTick();
|
||||
if (!hasPreWarmed && Minecraft.m_91087_().f_91073_ != null && Minecraft.m_91087_().f_91074_ != null) {
|
||||
if (!hasPreWarmed && Minecraft.getInstance().f_91073_ != null && Minecraft.getInstance().player != null) {
|
||||
LOGGER.info("Pre-warming explosion particle render pipeline...");
|
||||
ClientLevel level = Minecraft.m_91087_().f_91073_;
|
||||
double x = Minecraft.m_91087_().f_91074_.m_20185_();
|
||||
ClientLevel level = Minecraft.getInstance().f_91073_;
|
||||
double x = Minecraft.getInstance().player.m_20185_();
|
||||
double y = -200.0;
|
||||
double z = Minecraft.m_91087_().f_91074_.m_20189_();
|
||||
double z = Minecraft.getInstance().player.m_20189_();
|
||||
level.m_7106_((ParticleOptions)new PlasmaParticleOptions(1.0f), x, y, z, 0.0, 0.0, 0.0);
|
||||
LOGGER.info("Pre-warming 'glow' animation...");
|
||||
level.m_7106_((ParticleOptions)new CustomGlowParticleOptions(0, 1.0f, 0.01f, 0, (float)y, 4.0f, 0.0f), x, y, z, 0.0, 0.0, 0.0);
|
||||
@@ -606,7 +606,7 @@ public class ExplosionOverhaul {
|
||||
return;
|
||||
}
|
||||
LOGGER.info("Preloading {} textures from '{}' to GPU...", (Object)locationsToLoad.size(), (Object)ExplosionOverhaul.MODID);
|
||||
TextureManager textureManager = Minecraft.m_91087_().m_91097_();
|
||||
TextureManager textureManager = Minecraft.getInstance().m_91097_();
|
||||
for (ResourceLocation location : locationsToLoad) {
|
||||
textureManager.m_118506_(location);
|
||||
}
|
||||
|
||||
@@ -37,7 +37,6 @@ import net.neoforged.neoforge.event.RegisterCommandsEvent;
|
||||
import net.neoforged.bus.api.SubscribeEvent;
|
||||
import net.neoforged.fml.common.Mod;
|
||||
import net.neoforged.fml.common.EventBusSubscriber;
|
||||
import net.neoforged.neoforge.network.PacketDistributor;
|
||||
|
||||
@EventBusSubscriber(modid="explosionoverhaul")
|
||||
public class ModCommands {
|
||||
@@ -51,13 +50,13 @@ public class ModCommands {
|
||||
float power = FloatArgumentType.getFloat((CommandContext)ctx, (String)"power");
|
||||
float scale = FloatArgumentType.getFloat((CommandContext)ctx, (String)"scale");
|
||||
int count = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"count");
|
||||
PacketDistributor.TargetPoint targetPoint = new PacketDistributor.TargetPoint(pos.m_7096_(), pos.m_7098_(), pos.m_7094_(), 256.0, level.m_46472_());
|
||||
|
||||
for (int i = 0; i < count; ++i) {
|
||||
Vec3 motion = new Vec3((level.m_213780_().m_188500_() - 0.5) * 0.5, (level.m_213780_().m_188500_() - 0.5) * 0.5, (level.m_213780_().m_188500_() - 0.5) * 0.5);
|
||||
float centerY = (float)pos.f_82480_;
|
||||
float maxRadius = Math.max(1.0f, power * 2.0f);
|
||||
float heightPercent = 0.0f;
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.NEAR.with(() -> targetPoint), (Object)new SpawnCustomGlowPacket(pos, motion, zone, power, scale, centerY, maxRadius, heightPercent));
|
||||
PacketHandler.sendNear(new SpawnCustomGlowPacket(pos, motion, zone, power, scale, centerY, maxRadius, heightPercent));
|
||||
}
|
||||
return 1;
|
||||
})))))));
|
||||
@@ -69,23 +68,23 @@ public class ModCommands {
|
||||
for (int i = 0; i < 50; ++i) {
|
||||
level.m_8767_((ParticleOptions)((SimpleParticleType)ModParticles.LINE_SPARK.get()), pos.m_7096_(), pos.m_7098_(), pos.m_7094_(), 1, (random.m_188500_() - 0.5) * 2.5, (random.m_188500_() - 0.5) * 2.5, (random.m_188500_() - 0.5) * 2.5, 1.0);
|
||||
}
|
||||
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.m_237113_((String)"Spawned 50 juicy sparks!"), true);
|
||||
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.literal((String)"Spawned 50 juicy sparks!"), true);
|
||||
return 1;
|
||||
}));
|
||||
dispatcher.register((LiteralArgumentBuilder)((LiteralArgumentBuilder)Commands.m_82127_((String)"rescanchunks").requires(source -> source.m_6761_(2))).executes(ctx -> {
|
||||
try {
|
||||
Entity patt5242$temp = ((CommandSourceStack)ctx.getSource()).m_81373_();
|
||||
if (!(patt5242$temp instanceof ServerPlayer)) {
|
||||
((CommandSourceStack)ctx.getSource()).m_81352_((Component)Component.m_237113_((String)"\u00a76[Explosion Overhaul] \u00a7cThis command can only be used by players"));
|
||||
((CommandSourceStack)ctx.getSource()).m_81352_((Component)Component.literal((String)"\u00a76[Explosion Overhaul] \u00a7cThis command can only be used by players"));
|
||||
return 0;
|
||||
}
|
||||
ServerPlayer player = (ServerPlayer)patt5242$temp;
|
||||
BlockIndexManager.showRescanPrompt(player);
|
||||
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.m_237113_((String)"\u00a76[Explosion Overhaul] \u00a7eShowing rescan prompt..."), false);
|
||||
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.literal((String)"\u00a76[Explosion Overhaul] \u00a7eShowing rescan prompt..."), false);
|
||||
return 1;
|
||||
}
|
||||
catch (Exception e) {
|
||||
((CommandSourceStack)ctx.getSource()).m_81352_((Component)Component.m_237113_((String)("\u00a76[Explosion Overhaul] \u00a7cFailed to show rescan prompt: " + e.getMessage())));
|
||||
((CommandSourceStack)ctx.getSource()).m_81352_((Component)Component.literal((String)("\u00a76[Explosion Overhaul] \u00a7cFailed to show rescan prompt: " + e.getMessage())));
|
||||
ExplosionOverhaul.LOGGER.error("Failed to execute rescanchunks command", (Throwable)e);
|
||||
return 0;
|
||||
}
|
||||
@@ -93,15 +92,15 @@ public class ModCommands {
|
||||
dispatcher.register((LiteralArgumentBuilder)((LiteralArgumentBuilder)Commands.m_82127_((String)"lowpasstest").requires(source -> source.m_6761_(2))).then(Commands.m_82129_((String)"duration", (ArgumentType)IntegerArgumentType.integer((int)1, (int)600)).executes(ctx -> {
|
||||
ServerPlayer player = ((CommandSourceStack)ctx.getSource()).m_81375_();
|
||||
int duration = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"duration");
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)new LowPassTestPacket(duration));
|
||||
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.m_237113_((String)("Started low-pass test for " + duration + "s")), false);
|
||||
PacketHandler.sendToPlayer(player, new LowPassTestPacket(duration));
|
||||
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.literal((String)("Started low-pass test for " + duration + "s")), false);
|
||||
return 1;
|
||||
})));
|
||||
dispatcher.register((LiteralArgumentBuilder)((LiteralArgumentBuilder)Commands.m_82127_((String)"blurtesting").requires(source -> source.m_6761_(2))).then(Commands.m_82129_((String)"duration", (ArgumentType)IntegerArgumentType.integer((int)1, (int)600)).executes(ctx -> {
|
||||
ServerPlayer player = ((CommandSourceStack)ctx.getSource()).m_81375_();
|
||||
int duration = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"duration");
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)new BlurTestPacket(duration));
|
||||
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.m_237113_((String)("Started blur test for " + duration + "s")), false);
|
||||
PacketHandler.sendToPlayer(player, new BlurTestPacket(duration));
|
||||
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.literal((String)("Started blur test for " + duration + "s")), false);
|
||||
return 1;
|
||||
})));
|
||||
dispatcher.register((LiteralArgumentBuilder)((LiteralArgumentBuilder)Commands.m_82127_((String)"testcamerashake").requires(source -> source.m_6761_(2))).then(Commands.m_82129_((String)"duration", (ArgumentType)IntegerArgumentType.integer((int)1, (int)600)).then(Commands.m_82129_((String)"intensity", (ArgumentType)IntegerArgumentType.integer((int)1, (int)100)).executes(ctx -> {
|
||||
@@ -109,8 +108,8 @@ public class ModCommands {
|
||||
int duration = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"duration");
|
||||
int intensityPercent = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"intensity");
|
||||
float intensity = (float)intensityPercent / 100.0f;
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)new CameraShakeConcussionPacket(duration, intensity));
|
||||
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.m_237113_((String)("Started camera shake test for " + duration + "s at " + intensityPercent + "% intensity")), false);
|
||||
PacketHandler.sendToPlayer(player, new CameraShakeConcussionPacket(duration, intensity));
|
||||
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.literal((String)("Started camera shake test for " + duration + "s at " + intensityPercent + "% intensity")), false);
|
||||
return 1;
|
||||
}))));
|
||||
dispatcher.register((LiteralArgumentBuilder)((LiteralArgumentBuilder)Commands.m_82127_((String)"openaltest").requires(source -> source.m_6761_(2))).then(Commands.m_82129_((String)"target", (ArgumentType)StringArgumentType.word()).suggests((ctx, sb) -> SharedSuggestionProvider.m_82970_(Arrays.asList("deafness", "lowpass", "low_pass"), (SuggestionsBuilder)sb)).then(Commands.m_82129_((String)"state", (ArgumentType)StringArgumentType.word()).suggests((ctx, sb) -> SharedSuggestionProvider.m_82970_(Arrays.asList("on", "off", "enable", "disable", "true", "false"), (SuggestionsBuilder)sb)).executes(ctx -> {
|
||||
@@ -120,11 +119,11 @@ public class ModCommands {
|
||||
boolean bl = turnOn = state.equals("on") || state.equals("enable") || state.equals("true");
|
||||
if (target.equals("deafness") || target.equals("lowpass") || target.equals("low_pass")) {
|
||||
ServerPlayer player = ((CommandSourceStack)ctx.getSource()).m_81375_();
|
||||
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)new OpenALTogglePacket(target, turnOn));
|
||||
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.m_237113_((String)("Sent OpenAL toggle to player: " + target + " -> " + (turnOn ? "ON" : "OFF"))), false);
|
||||
PacketHandler.sendToPlayer(player, new OpenALTogglePacket(target, turnOn));
|
||||
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.literal((String)("Sent OpenAL toggle to player: " + target + " -> " + (turnOn ? "ON" : "OFF"))), false);
|
||||
return 1;
|
||||
}
|
||||
((CommandSourceStack)ctx.getSource()).m_81352_((Component)Component.m_237113_((String)("Unknown target: " + target + ". Use 'Deafness' or 'LowPass'.")));
|
||||
((CommandSourceStack)ctx.getSource()).m_81352_((Component)Component.literal((String)("Unknown target: " + target + ". Use 'Deafness' or 'LowPass'.")));
|
||||
return 0;
|
||||
}))));
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ import net.neoforged.neoforge.registries.DeferredRegister;
|
||||
|
||||
public class ModCreativeTabs {
|
||||
public static final DeferredRegister<CreativeModeTab> CREATIVE_MODE_TABS = DeferredRegister.create((ResourceKey)Registries.f_279569_, (String)"explosionoverhaul");
|
||||
public static final DeferredHolder<CreativeModeTab, CreativeModeTab> MAIN = CREATIVE_MODE_TABS.register("main", () -> CreativeModeTab.builder().m_257737_(() -> new ItemStack((ItemLike)ModItems.MOD_LOGO.get())).m_257941_((Component)Component.m_237115_((String)"itemGroup.explosionoverhaul.main")).m_257501_((parameters, output) -> output.m_246326_((ItemLike)ModItems.VINLANX_THE_LIGHT.get())).m_257652_());
|
||||
public static final DeferredHolder<CreativeModeTab, CreativeModeTab> MAIN = CREATIVE_MODE_TABS.register("main", () -> CreativeModeTab.builder().m_257737_(() -> new ItemStack((ItemLike)ModItems.MOD_LOGO.get())).m_257941_((Component)Component.translatable((String)"itemGroup.explosionoverhaul.main")).m_257501_((parameters, output) -> output.m_246326_((ItemLike)ModItems.VINLANX_THE_LIGHT.get())).m_257652_());
|
||||
|
||||
public static void register(IEventBus eventBus) {
|
||||
CREATIVE_MODE_TABS.register(eventBus);
|
||||
|
||||
@@ -23,12 +23,12 @@ public class OpenALTogglePacket {
|
||||
}
|
||||
|
||||
public OpenALTogglePacket(FriendlyByteBuf buf) {
|
||||
this.target = buf.m_130136_(Short.MAX_VALUE);
|
||||
this.target = buf.readUtf(Short.MAX_VALUE);
|
||||
this.enabled = buf.readBoolean();
|
||||
}
|
||||
|
||||
public void encode(FriendlyByteBuf buf) {
|
||||
buf.m_130070_(this.target);
|
||||
buf.writeUtf(this.target);
|
||||
buf.writeBoolean(this.enabled);
|
||||
}
|
||||
|
||||
@@ -44,13 +44,13 @@ public class OpenALTogglePacket {
|
||||
DeafnessConcussionEffect.enabled = packet.enabled;
|
||||
DeafnessConcussionEffect.debugShowChat = packet.enabled;
|
||||
if (DeafnessConcussionEffect.debugShowChat) {
|
||||
Minecraft.m_91087_().f_91074_.m_5661_((Component)Component.m_237113_((String)("Deafness effect set to " + (packet.enabled ? "ON" : "OFF"))), false);
|
||||
Minecraft.getInstance().player.m_5661_((Component)Component.literal((String)("Deafness effect set to " + (packet.enabled ? "ON" : "OFF"))), false);
|
||||
}
|
||||
} else if (t.equals("lowpass") || t.equals("low_pass")) {
|
||||
LowPassConcussionEffect.enabled = packet.enabled;
|
||||
LowPassConcussionEffect.debugShowChat = packet.enabled;
|
||||
if (LowPassConcussionEffect.debugShowChat) {
|
||||
Minecraft.m_91087_().f_91074_.m_5661_((Component)Component.m_237113_((String)("LowPass effect set to " + (packet.enabled ? "ON" : "OFF"))), false);
|
||||
Minecraft.getInstance().player.m_5661_((Component)Component.literal((String)("LowPass effect set to " + (packet.enabled ? "ON" : "OFF"))), false);
|
||||
}
|
||||
}
|
||||
}));
|
||||
|
||||
@@ -26,6 +26,7 @@ import com.vinlanx.explosionoverhaul.SpawnShockwavePacket;
|
||||
import com.vinlanx.explosionoverhaul.StartConcussionPacket;
|
||||
import com.vinlanx.explosionoverhaul.SuppressExplosionSoundPacket;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.neoforged.neoforge.network.NetworkRegistry;
|
||||
import net.neoforged.neoforge.network.simple.SimpleChannel;
|
||||
|
||||
@@ -58,4 +59,20 @@ public class PacketHandler {
|
||||
INSTANCE.registerMessage(messageId++, ScanLoadPromptPacket.class, ScanLoadPromptPacket::encode, ScanLoadPromptPacket::decode, ScanLoadPromptPacket::handle);
|
||||
INSTANCE.registerMessage(messageId++, ScanLoadControlPacket.class, ScanLoadControlPacket::encode, ScanLoadControlPacket::decode, ScanLoadControlPacket::handle);
|
||||
}
|
||||
|
||||
public static void sendToPlayer(ServerPlayer player, Object message) {
|
||||
INSTANCE.send(null, message);
|
||||
}
|
||||
|
||||
public static void sendToAll(Object message) {
|
||||
INSTANCE.send(null, message);
|
||||
}
|
||||
|
||||
public static void sendNear(Object message) {
|
||||
INSTANCE.send(null, message);
|
||||
}
|
||||
|
||||
public static void sendToServer(Object message) {
|
||||
INSTANCE.sendToServer(message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,36 +29,36 @@ public class ScanInfoHUD {
|
||||
if (!isVisible) {
|
||||
return;
|
||||
}
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
if (mc.f_91074_ == null) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.player == null) {
|
||||
return;
|
||||
}
|
||||
if (!mc.f_91074_.m_20310_(2) && !mc.m_91091_()) {
|
||||
if (!mc.player.m_20310_(2) && !mc.hasSingleplayerServer()) {
|
||||
return;
|
||||
}
|
||||
GuiGraphics guiGraphics = event.getGuiGraphics();
|
||||
String[] infoLines = new String[]{"\u00a76\u00a7lChunk Scanning Information", "", "\u00a7eWhat is chunk scanning?", "\u00a77Chunk scanning analyzes your world to find", "\u00a77and index specific blocks for explosion effects:", "", "\u00a7a\u2022 \u00a77Redstone Lamps \u00a77- for lamp flickering effects", "\u00a7a\u2022 \u00a77Pointed Dripstone \u00a77- for dripstone collapse in caves", "\u00a7a\u2022 \u00a77Glass Blocks \u00a77- for realistic glass breaking", "", "\u00a7eWhy scan chunks?", "\u00a77This allows the mod to create more realistic", "\u00a77explosion effects by knowing where these", "\u00a77blocks are located in your world.", "", "\u00a7ePerformance:", "\u00a77Scanning happens in background and won't", "\u00a77affect your gameplay. You can adjust speed", "\u00a77in mod settings if needed.", "", "\u00a7cPress [" + ModKeyMappings.INFO_SCAN.m_90863_().getString() + "] again to close this info"};
|
||||
String[] infoLines = new String[]{"\u00a76\u00a7lChunk Scanning Information", "", "\u00a7eWhat is chunk scanning?", "\u00a77Chunk scanning analyzes your world to find", "\u00a77and index specific blocks for explosion effects:", "", "\u00a7a\u2022 \u00a77Redstone Lamps \u00a77- for lamp flickering effects", "\u00a7a\u2022 \u00a77Pointed Dripstone \u00a77- for dripstone collapse in caves", "\u00a7a\u2022 \u00a77Glass Blocks \u00a77- for realistic glass breaking", "", "\u00a7eWhy scan chunks?", "\u00a77This allows the mod to create more realistic", "\u00a77explosion effects by knowing where these", "\u00a77blocks are located in your world.", "", "\u00a7ePerformance:", "\u00a77Scanning happens in background and won't", "\u00a77affect your gameplay. You can adjust speed", "\u00a77in mod settings if needed.", "", "\u00a7cPress [" + ModKeyMappings.INFO_SCAN.getTranslatedKeyMessage().getString() + "] again to close this info"};
|
||||
int maxWidth = 0;
|
||||
for (String line : infoLines) {
|
||||
int lineWidth = mc.f_91062_.m_92895_(line);
|
||||
int lineWidth = mc.font.width(line);
|
||||
if (lineWidth <= maxWidth) continue;
|
||||
maxWidth = lineWidth;
|
||||
}
|
||||
int windowWidth = maxWidth + 20;
|
||||
int windowHeight = infoLines.length * 12 + 20;
|
||||
int screenWidth = mc.m_91268_().m_85445_();
|
||||
int screenHeight = mc.m_91268_().m_85446_();
|
||||
int screenWidth = mc.getWindow().getGuiScaledWidth();
|
||||
int screenHeight = mc.getWindow().getGuiScaledHeight();
|
||||
int x = (screenWidth - windowWidth) / 2;
|
||||
int y = (screenHeight - windowHeight) / 2;
|
||||
guiGraphics.m_280509_(x - 5, y - 5, x + windowWidth, y + windowHeight, -536870912);
|
||||
guiGraphics.m_280509_(x - 6, y - 6, x + windowWidth + 1, y - 5, -12303292);
|
||||
guiGraphics.m_280509_(x - 6, y + windowHeight, x + windowWidth + 1, y + windowHeight + 1, -12303292);
|
||||
guiGraphics.m_280509_(x - 6, y - 5, x - 5, y + windowHeight, -12303292);
|
||||
guiGraphics.m_280509_(x + windowWidth, y - 5, x + windowWidth + 1, y + windowHeight, -12303292);
|
||||
guiGraphics.fill(x - 5, y - 5, x + windowWidth, y + windowHeight, -536870912);
|
||||
guiGraphics.fill(x - 6, y - 6, x + windowWidth + 1, y - 5, -12303292);
|
||||
guiGraphics.fill(x - 6, y + windowHeight, x + windowWidth + 1, y + windowHeight + 1, -12303292);
|
||||
guiGraphics.fill(x - 6, y - 5, x - 5, y + windowHeight, -12303292);
|
||||
guiGraphics.fill(x + windowWidth, y - 5, x + windowWidth + 1, y + windowHeight, -12303292);
|
||||
for (int i = 0; i < infoLines.length; ++i) {
|
||||
String line = infoLines[i];
|
||||
if (line.isEmpty()) continue;
|
||||
guiGraphics.m_280488_(mc.f_91062_, line, x + 10, y + 10 + i * 12, 0xFFFFFF);
|
||||
guiGraphics.drawString(mc.font, line, x + 10, y + 10 + i * 12, 0xFFFFFF);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,27 +24,27 @@ import net.neoforged.fml.common.EventBusSubscriber;
|
||||
public class ScanKeyHandler {
|
||||
@SubscribeEvent
|
||||
public static void onKeyInput(InputEvent.Key event) {
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
if (mc.f_91074_ == null || mc.f_91080_ != null) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.player == null || mc.screen != null) {
|
||||
return;
|
||||
}
|
||||
if (!mc.f_91074_.m_20310_(2) && !mc.m_91091_()) {
|
||||
if (!mc.player.m_20310_(2) && !mc.hasSingleplayerServer()) {
|
||||
return;
|
||||
}
|
||||
if (event.getAction() != 1) {
|
||||
return;
|
||||
}
|
||||
InputConstants.Key key = InputConstants.m_84827_((int)event.getKey(), (int)event.getScanCode());
|
||||
InputConstants.Key key = InputConstants.getKey((int)event.getKey(), (int)event.getScanCode());
|
||||
if (ScanLoadPromptHUD.isVisible()) {
|
||||
if (key.equals((Object)ModKeyMappings.ACCEPT_SCAN.getKey())) {
|
||||
PacketHandler.INSTANCE.sendToServer((Object)new ScanLoadControlPacket(true));
|
||||
PacketHandler.sendToServer(new ScanLoadControlPacket(true));
|
||||
ScanLoadPromptHUD.setVisible(false);
|
||||
ScanLoadInfoHUD.setVisible(false);
|
||||
if (event.getKey() != 49 && event.getKey() != 50) {
|
||||
ScanKeyHandler.consumeKey(event.getKey());
|
||||
}
|
||||
} else if (key.equals((Object)ModKeyMappings.DECLINE_SCAN.getKey())) {
|
||||
PacketHandler.INSTANCE.sendToServer((Object)new ScanLoadControlPacket(false));
|
||||
PacketHandler.sendToServer(new ScanLoadControlPacket(false));
|
||||
ScanLoadPromptHUD.setVisible(false);
|
||||
ScanLoadInfoHUD.setVisible(false);
|
||||
if (event.getKey() != 49 && event.getKey() != 50) {
|
||||
@@ -59,14 +59,14 @@ public class ScanKeyHandler {
|
||||
}
|
||||
if (ScanPromptHUD.isVisible()) {
|
||||
if (key.equals((Object)ModKeyMappings.ACCEPT_SCAN.getKey())) {
|
||||
PacketHandler.INSTANCE.sendToServer((Object)new ScanControlPacket(true));
|
||||
PacketHandler.sendToServer(new ScanControlPacket(true));
|
||||
ScanPromptHUD.setVisible(false);
|
||||
ScanInfoHUD.setVisible(false);
|
||||
if (event.getKey() != 49 && event.getKey() != 50) {
|
||||
ScanKeyHandler.consumeKey(event.getKey());
|
||||
}
|
||||
} else if (key.equals((Object)ModKeyMappings.DECLINE_SCAN.getKey())) {
|
||||
PacketHandler.INSTANCE.sendToServer((Object)new ScanControlPacket(false));
|
||||
PacketHandler.sendToServer(new ScanControlPacket(false));
|
||||
ScanPromptHUD.setVisible(false);
|
||||
ScanInfoHUD.setVisible(false);
|
||||
if (event.getKey() != 49 && event.getKey() != 50) {
|
||||
@@ -81,10 +81,10 @@ public class ScanKeyHandler {
|
||||
}
|
||||
|
||||
private static void consumeKey(int keyCode) {
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
for (KeyMapping mapping : mc.f_91066_.f_92059_) {
|
||||
if (mapping.getKey().m_84873_() != keyCode) continue;
|
||||
while (mapping.m_90859_()) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
for (KeyMapping mapping : mc.options.keyMappings) {
|
||||
if (mapping.getKey().getValue() != keyCode) continue;
|
||||
while (mapping.consumeClick()) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,36 +29,36 @@ public class ScanLoadInfoHUD {
|
||||
if (!isVisible) {
|
||||
return;
|
||||
}
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
if (mc.f_91074_ == null) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.player == null) {
|
||||
return;
|
||||
}
|
||||
if (!mc.f_91074_.m_20310_(2) && !mc.m_91091_()) {
|
||||
if (!mc.player.m_20310_(2) && !mc.hasSingleplayerServer()) {
|
||||
return;
|
||||
}
|
||||
GuiGraphics guiGraphics = event.getGuiGraphics();
|
||||
String[] infoLines = new String[]{"\u00a76\u00a7lExisting Scan Data Found", "", "\u00a7eThis world has previously scanned block data.", "\u00a7eYou have two options:", "", "\u00a7a\u00a7l[" + ModKeyMappings.ACCEPT_SCAN.m_90863_().getString() + "] Load Data \u00a7r\u00a77- Load existing scan results", "\u00a77\u2022 Instant setup - no waiting time", "\u00a77\u2022 Uses previously found block positions", "\u00a77\u2022 May miss blocks placed after last scan", "\u00a77\u2022 Recommended for established worlds", "", "\u00a7c\u00a7l[" + ModKeyMappings.DECLINE_SCAN.m_90863_().getString() + "] New Scan \u00a7r\u00a77- Perform fresh scan", "\u00a77\u2022 Scans all chunks for current blocks", "\u00a77\u2022 Takes time but finds all blocks", "\u00a77\u2022 Replaces old data with new results", "\u00a77\u2022 Recommended if world changed significantly", "", "\u00a7eNote: \u00a77Block changes are tracked automatically", "\u00a77after loading, so both options work well for", "\u00a77ongoing gameplay.", "", "\u00a7cPress [" + ModKeyMappings.INFO_SCAN.m_90863_().getString() + "] again to close this info"};
|
||||
String[] infoLines = new String[]{"\u00a76\u00a7lExisting Scan Data Found", "", "\u00a7eThis world has previously scanned block data.", "\u00a7eYou have two options:", "", "\u00a7a\u00a7l[" + ModKeyMappings.ACCEPT_SCAN.getTranslatedKeyMessage().getString() + "] Load Data \u00a7r\u00a77- Load existing scan results", "\u00a77\u2022 Instant setup - no waiting time", "\u00a77\u2022 Uses previously found block positions", "\u00a77\u2022 May miss blocks placed after last scan", "\u00a77\u2022 Recommended for established worlds", "", "\u00a7c\u00a7l[" + ModKeyMappings.DECLINE_SCAN.getTranslatedKeyMessage().getString() + "] New Scan \u00a7r\u00a77- Perform fresh scan", "\u00a77\u2022 Scans all chunks for current blocks", "\u00a77\u2022 Takes time but finds all blocks", "\u00a77\u2022 Replaces old data with new results", "\u00a77\u2022 Recommended if world changed significantly", "", "\u00a7eNote: \u00a77Block changes are tracked automatically", "\u00a77after loading, so both options work well for", "\u00a77ongoing gameplay.", "", "\u00a7cPress [" + ModKeyMappings.INFO_SCAN.getTranslatedKeyMessage().getString() + "] again to close this info"};
|
||||
int maxWidth = 0;
|
||||
for (String line : infoLines) {
|
||||
int lineWidth = mc.f_91062_.m_92895_(line);
|
||||
int lineWidth = mc.font.width(line);
|
||||
if (lineWidth <= maxWidth) continue;
|
||||
maxWidth = lineWidth;
|
||||
}
|
||||
int windowWidth = maxWidth + 20;
|
||||
int windowHeight = infoLines.length * 12 + 20;
|
||||
int screenWidth = mc.m_91268_().m_85445_();
|
||||
int screenHeight = mc.m_91268_().m_85446_();
|
||||
int screenWidth = mc.getWindow().getGuiScaledWidth();
|
||||
int screenHeight = mc.getWindow().getGuiScaledHeight();
|
||||
int x = (screenWidth - windowWidth) / 2;
|
||||
int y = (screenHeight - windowHeight) / 2;
|
||||
guiGraphics.m_280509_(x - 5, y - 5, x + windowWidth, y + windowHeight, -536870912);
|
||||
guiGraphics.m_280509_(x - 6, y - 6, x + windowWidth + 1, y - 5, -12303292);
|
||||
guiGraphics.m_280509_(x - 6, y + windowHeight, x + windowWidth + 1, y + windowHeight + 1, -12303292);
|
||||
guiGraphics.m_280509_(x - 6, y - 5, x - 5, y + windowHeight, -12303292);
|
||||
guiGraphics.m_280509_(x + windowWidth, y - 5, x + windowWidth + 1, y + windowHeight, -12303292);
|
||||
guiGraphics.fill(x - 5, y - 5, x + windowWidth, y + windowHeight, -536870912);
|
||||
guiGraphics.fill(x - 6, y - 6, x + windowWidth + 1, y - 5, -12303292);
|
||||
guiGraphics.fill(x - 6, y + windowHeight, x + windowWidth + 1, y + windowHeight + 1, -12303292);
|
||||
guiGraphics.fill(x - 6, y - 5, x - 5, y + windowHeight, -12303292);
|
||||
guiGraphics.fill(x + windowWidth, y - 5, x + windowWidth + 1, y + windowHeight, -12303292);
|
||||
for (int i = 0; i < infoLines.length; ++i) {
|
||||
String line = infoLines[i];
|
||||
if (line.isEmpty()) continue;
|
||||
guiGraphics.m_280488_(mc.f_91062_, line, x + 10, y + 10 + i * 12, 0xFFFFFF);
|
||||
guiGraphics.drawString(mc.font, line, x + 10, y + 10 + i * 12, 0xFFFFFF);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,30 +33,30 @@ public class ScanLoadPromptHUD {
|
||||
if (!isVisible) {
|
||||
return;
|
||||
}
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
if (mc.f_91074_ == null) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.player == null) {
|
||||
return;
|
||||
}
|
||||
if (!mc.f_91074_.m_20310_(2) && !mc.m_91091_()) {
|
||||
if (!mc.player.m_20310_(2) && !mc.hasSingleplayerServer()) {
|
||||
return;
|
||||
}
|
||||
GuiGraphics guiGraphics = event.getGuiGraphics();
|
||||
String promptText = "Found existing scan data for this world!";
|
||||
int x = 10;
|
||||
int y = 10;
|
||||
String key1Text = "[" + ModKeyMappings.ACCEPT_SCAN.m_90863_().getString() + "] = Load Data";
|
||||
String key2Text = "[" + ModKeyMappings.DECLINE_SCAN.m_90863_().getString() + "] = New Scan";
|
||||
String key3Text = "[" + ModKeyMappings.INFO_SCAN.m_90863_().getString() + "] = Info";
|
||||
int maxWidth = Math.max(mc.f_91062_.m_92895_(promptText), mc.f_91062_.m_92895_("Press " + key1Text + ", " + key2Text + ", " + key3Text));
|
||||
guiGraphics.m_280509_(x - 5, y - 5, x + maxWidth + 10, y + 35, Integer.MIN_VALUE);
|
||||
guiGraphics.m_280488_(mc.f_91062_, promptText, x, y, 0xFFFFFF);
|
||||
String key1Text = "[" + ModKeyMappings.ACCEPT_SCAN.getTranslatedKeyMessage().getString() + "] = Load Data";
|
||||
String key2Text = "[" + ModKeyMappings.DECLINE_SCAN.getTranslatedKeyMessage().getString() + "] = New Scan";
|
||||
String key3Text = "[" + ModKeyMappings.INFO_SCAN.getTranslatedKeyMessage().getString() + "] = Info";
|
||||
int maxWidth = Math.max(mc.font.width(promptText), mc.font.width("Press " + key1Text + ", " + key2Text + ", " + key3Text));
|
||||
guiGraphics.fill(x - 5, y - 5, x + maxWidth + 10, y + 35, Integer.MIN_VALUE);
|
||||
guiGraphics.drawString(mc.font, promptText, x, y, 0xFFFFFF);
|
||||
int currentX = x;
|
||||
int textY = y + 12;
|
||||
guiGraphics.m_280488_(mc.f_91062_, "Press ", currentX, textY, 0xFFFFFF);
|
||||
guiGraphics.m_280488_(mc.f_91062_, key1Text, currentX += mc.f_91062_.m_92895_("Press "), textY, 65280);
|
||||
guiGraphics.m_280488_(mc.f_91062_, ", ", currentX += mc.f_91062_.m_92895_(key1Text), textY, 0xFFFFFF);
|
||||
guiGraphics.m_280488_(mc.f_91062_, key2Text, currentX += mc.f_91062_.m_92895_(", "), textY, 0xFF0000);
|
||||
guiGraphics.m_280488_(mc.f_91062_, ", ", currentX += mc.f_91062_.m_92895_(key2Text), textY, 0xFFFFFF);
|
||||
guiGraphics.m_280488_(mc.f_91062_, key3Text, currentX += mc.f_91062_.m_92895_(", "), textY, 0xFFFF00);
|
||||
guiGraphics.drawString(mc.font, "Press ", currentX, textY, 0xFFFFFF);
|
||||
guiGraphics.drawString(mc.font, key1Text, currentX += mc.font.width("Press "), textY, 65280);
|
||||
guiGraphics.drawString(mc.font, ", ", currentX += mc.font.width(key1Text), textY, 0xFFFFFF);
|
||||
guiGraphics.drawString(mc.font, key2Text, currentX += mc.font.width(", "), textY, 0xFF0000);
|
||||
guiGraphics.drawString(mc.font, ", ", currentX += mc.font.width(key2Text), textY, 0xFFFFFF);
|
||||
guiGraphics.drawString(mc.font, key3Text, currentX += mc.font.width(", "), textY, 0xFFFF00);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,11 +116,11 @@ public class ScanProgressHUD {
|
||||
if (ScanPromptHUD.isVisible() || ScanInfoHUD.isVisible() || ScanLoadPromptHUD.isVisible() || ScanLoadInfoHUD.isVisible()) {
|
||||
return;
|
||||
}
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
if (mc.f_91074_ == null) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.player == null) {
|
||||
return;
|
||||
}
|
||||
if (!mc.f_91074_.m_20310_(2) && !mc.m_91091_()) {
|
||||
if (!mc.player.m_20310_(2) && !mc.hasSingleplayerServer()) {
|
||||
return;
|
||||
}
|
||||
if (isComplete && System.currentTimeMillis() > hideTime) {
|
||||
@@ -128,7 +128,7 @@ public class ScanProgressHUD {
|
||||
return;
|
||||
}
|
||||
GuiGraphics guiGraphics = event.getGuiGraphics();
|
||||
Font font = mc.f_91062_;
|
||||
Font font = mc.font;
|
||||
float progress = totalChunks > 0 ? (float)scannedChunks / (float)totalChunks : 0.0f;
|
||||
int percentage = isComplete ? 100 : Math.round(progress * 100.0f);
|
||||
String statusText = isComplete ? "Scan Complete! (100%)" : String.format("Scanning Chunks: %d%%", percentage);
|
||||
@@ -139,22 +139,22 @@ public class ScanProgressHUD {
|
||||
int y = 10;
|
||||
int textColor = isComplete ? 65280 : 0xFFFFFF;
|
||||
boolean shadowColor = false;
|
||||
int maxWidth = Math.max(Math.max(Math.max(font.m_92895_(statusText), font.m_92895_(detailText)), font.m_92895_(blockCountText)), font.m_92895_(timeText));
|
||||
int maxWidth = Math.max(Math.max(Math.max(font.width(statusText), font.width(detailText)), font.width(blockCountText)), font.width(timeText));
|
||||
int bgWidth = Math.max(maxWidth, 100) + 10;
|
||||
int bgHeight = 64;
|
||||
guiGraphics.m_280509_(x - 5, y - 2, x + bgWidth, y + bgHeight, Integer.MIN_VALUE);
|
||||
guiGraphics.m_280488_(font, statusText, x, y, textColor);
|
||||
guiGraphics.m_280488_(font, detailText, x, y + 12, 0xAAAAAA);
|
||||
guiGraphics.m_280488_(font, blockCountText, x, y + 24, 0xCCCCCC);
|
||||
guiGraphics.fill(x - 5, y - 2, x + bgWidth, y + bgHeight, Integer.MIN_VALUE);
|
||||
guiGraphics.drawString(font, statusText, x, y, textColor);
|
||||
guiGraphics.drawString(font, detailText, x, y + 12, 0xAAAAAA);
|
||||
guiGraphics.drawString(font, blockCountText, x, y + 24, 0xCCCCCC);
|
||||
int timeTextColor = isComplete ? 65280 : 0xFFFF00;
|
||||
guiGraphics.m_280488_(font, timeText, x, y + 36, timeTextColor);
|
||||
guiGraphics.drawString(font, timeText, x, y + 36, timeTextColor);
|
||||
int barWidth = 100;
|
||||
int barHeight = 4;
|
||||
int barX = x;
|
||||
int barY = y + 52;
|
||||
guiGraphics.m_280509_(barX, barY, barX + barWidth, barY + barHeight, -13421773);
|
||||
guiGraphics.fill(barX, barY, barX + barWidth, barY + barHeight, -13421773);
|
||||
int progressWidth = isComplete ? barWidth : (int)((float)barWidth * progress);
|
||||
int barColor = isComplete ? -16711936 : -16733696;
|
||||
guiGraphics.m_280509_(barX, barY, barX + progressWidth, barY + barHeight, barColor);
|
||||
guiGraphics.fill(barX, barY, barX + progressWidth, barY + barHeight, barColor);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,30 +34,30 @@ public class ScanPromptHUD {
|
||||
if (!isVisible) {
|
||||
return;
|
||||
}
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
if (mc.f_91074_ == null) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.player == null) {
|
||||
return;
|
||||
}
|
||||
if (!mc.f_91074_.m_20310_(2) && !mc.m_91091_()) {
|
||||
if (!mc.player.m_20310_(2) && !mc.hasSingleplayerServer()) {
|
||||
return;
|
||||
}
|
||||
GuiGraphics guiGraphics = event.getGuiGraphics();
|
||||
String promptText = BlockIndexManager.isRescanMode() ? "Rescan all chunks?" : "Start chunk scanning?";
|
||||
int x = 10;
|
||||
int y = 10;
|
||||
String key1Text = "[" + ModKeyMappings.ACCEPT_SCAN.m_90863_().getString() + "] = Yes";
|
||||
String key2Text = "[" + ModKeyMappings.DECLINE_SCAN.m_90863_().getString() + "] = No";
|
||||
String key3Text = "[" + ModKeyMappings.INFO_SCAN.m_90863_().getString() + "] = Info";
|
||||
int maxWidth = Math.max(mc.f_91062_.m_92895_(promptText), mc.f_91062_.m_92895_("Press " + key1Text + ", " + key2Text + ", " + key3Text));
|
||||
guiGraphics.m_280509_(x - 5, y - 5, x + maxWidth + 10, y + 35, Integer.MIN_VALUE);
|
||||
guiGraphics.m_280488_(mc.f_91062_, promptText, x, y, 0xFFFFFF);
|
||||
String key1Text = "[" + ModKeyMappings.ACCEPT_SCAN.getTranslatedKeyMessage().getString() + "] = Yes";
|
||||
String key2Text = "[" + ModKeyMappings.DECLINE_SCAN.getTranslatedKeyMessage().getString() + "] = No";
|
||||
String key3Text = "[" + ModKeyMappings.INFO_SCAN.getTranslatedKeyMessage().getString() + "] = Info";
|
||||
int maxWidth = Math.max(mc.font.width(promptText), mc.font.width("Press " + key1Text + ", " + key2Text + ", " + key3Text));
|
||||
guiGraphics.fill(x - 5, y - 5, x + maxWidth + 10, y + 35, Integer.MIN_VALUE);
|
||||
guiGraphics.drawString(mc.font, promptText, x, y, 0xFFFFFF);
|
||||
int currentX = x;
|
||||
int textY = y + 12;
|
||||
guiGraphics.m_280488_(mc.f_91062_, "Press ", currentX, textY, 0xFFFFFF);
|
||||
guiGraphics.m_280488_(mc.f_91062_, key1Text, currentX += mc.f_91062_.m_92895_("Press "), textY, 65280);
|
||||
guiGraphics.m_280488_(mc.f_91062_, ", ", currentX += mc.f_91062_.m_92895_(key1Text), textY, 0xFFFFFF);
|
||||
guiGraphics.m_280488_(mc.f_91062_, key2Text, currentX += mc.f_91062_.m_92895_(", "), textY, 0xFF0000);
|
||||
guiGraphics.m_280488_(mc.f_91062_, ", ", currentX += mc.f_91062_.m_92895_(key2Text), textY, 0xFFFFFF);
|
||||
guiGraphics.m_280488_(mc.f_91062_, key3Text, currentX += mc.f_91062_.m_92895_(", "), textY, 0xFFFF00);
|
||||
guiGraphics.drawString(mc.font, "Press ", currentX, textY, 0xFFFFFF);
|
||||
guiGraphics.drawString(mc.font, key1Text, currentX += mc.font.width("Press "), textY, 65280);
|
||||
guiGraphics.drawString(mc.font, ", ", currentX += mc.font.width(key1Text), textY, 0xFFFFFF);
|
||||
guiGraphics.drawString(mc.font, key2Text, currentX += mc.font.width(", "), textY, 0xFF0000);
|
||||
guiGraphics.drawString(mc.font, ", ", currentX += mc.font.width(key2Text), textY, 0xFFFFFF);
|
||||
guiGraphics.drawString(mc.font, key3Text, currentX += mc.font.width(", "), textY, 0xFFFF00);
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -61,7 +61,7 @@ public class SpawnCustomGlowPacket {
|
||||
|
||||
public static class ClientPacketHandler {
|
||||
public static void handlePacket(SpawnCustomGlowPacket msg) {
|
||||
ClientLevel level = Minecraft.m_91087_().f_91073_;
|
||||
ClientLevel level = Minecraft.getInstance().f_91073_;
|
||||
if (level != null) {
|
||||
CustomGlowParticleOptions options = new CustomGlowParticleOptions(msg.zone, msg.power, msg.scale, 0, msg.centerY, msg.maxRadius, msg.heightPercent);
|
||||
level.m_7106_((ParticleOptions)options, msg.pos.f_82479_, msg.pos.f_82480_, msg.pos.f_82481_, msg.motion.f_82479_, msg.motion.f_82480_, msg.motion.f_82481_);
|
||||
|
||||
@@ -42,7 +42,7 @@ public class AnimationSoundManager {
|
||||
}
|
||||
lastAnimationSoundIndex = AnimationSoundManager.getNextRandomIndex(ANIMATION_SOUNDS, lastAnimationSoundIndex);
|
||||
SoundEvent sound = (SoundEvent)ANIMATION_SOUNDS.get(lastAnimationSoundIndex).get();
|
||||
Minecraft.m_91087_().m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119752_((SoundEvent)sound, (float)1.0f));
|
||||
Minecraft.getInstance().m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119752_((SoundEvent)sound, (float)1.0f));
|
||||
}
|
||||
|
||||
public static void playRandomFarPower2Sound() {
|
||||
@@ -51,7 +51,7 @@ public class AnimationSoundManager {
|
||||
}
|
||||
lastFarPower2SoundIndex = AnimationSoundManager.getNextRandomIndex(FAR_POWER_2_SOUNDS, lastFarPower2SoundIndex);
|
||||
SoundEvent sound = (SoundEvent)FAR_POWER_2_SOUNDS.get(lastFarPower2SoundIndex).get();
|
||||
Minecraft.m_91087_().m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119752_((SoundEvent)sound, (float)1.0f));
|
||||
Minecraft.getInstance().m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119752_((SoundEvent)sound, (float)1.0f));
|
||||
}
|
||||
|
||||
public static void playRandomFarPower3Sound() {
|
||||
@@ -60,7 +60,7 @@ public class AnimationSoundManager {
|
||||
}
|
||||
lastFarPower3SoundIndex = AnimationSoundManager.getNextRandomIndex(FAR_POWER_3_SOUNDS, lastFarPower3SoundIndex);
|
||||
SoundEvent sound = (SoundEvent)FAR_POWER_3_SOUNDS.get(lastFarPower3SoundIndex).get();
|
||||
Minecraft.m_91087_().m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119752_((SoundEvent)sound, (float)1.0f));
|
||||
Minecraft.getInstance().m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119752_((SoundEvent)sound, (float)1.0f));
|
||||
}
|
||||
|
||||
public static void playRandomMediumCavePower4Sound() {
|
||||
@@ -69,7 +69,7 @@ public class AnimationSoundManager {
|
||||
}
|
||||
lastMediumCavePower4SoundIndex = AnimationSoundManager.getNextRandomIndex(MEDIUM_CAVE_POWER_4_SOUNDS, lastMediumCavePower4SoundIndex);
|
||||
SoundEvent sound = (SoundEvent)MEDIUM_CAVE_POWER_4_SOUNDS.get(lastMediumCavePower4SoundIndex).get();
|
||||
Minecraft.m_91087_().m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119752_((SoundEvent)sound, (float)1.0f));
|
||||
Minecraft.getInstance().m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119752_((SoundEvent)sound, (float)1.0f));
|
||||
}
|
||||
|
||||
public static void playRandomSuperfar4Sound() {
|
||||
@@ -78,7 +78,7 @@ public class AnimationSoundManager {
|
||||
}
|
||||
lastSuperfar4SoundIndex = AnimationSoundManager.getNextRandomIndex(SUPERFAR_POWER_4_SOUNDS, lastSuperfar4SoundIndex);
|
||||
SoundEvent sound = (SoundEvent)SUPERFAR_POWER_4_SOUNDS.get(lastSuperfar4SoundIndex).get();
|
||||
Minecraft.m_91087_().m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119752_((SoundEvent)sound, (float)1.0f));
|
||||
Minecraft.getInstance().m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119752_((SoundEvent)sound, (float)1.0f));
|
||||
}
|
||||
|
||||
static {
|
||||
|
||||
@@ -66,7 +66,7 @@ extends Screen {
|
||||
private List<String> registryCache = new ArrayList<String>();
|
||||
|
||||
public BlacklistScreen(Screen parent) {
|
||||
super((Component)Component.m_237115_((String)"title.explosionoverhaul.blacklist"));
|
||||
super((Component)Component.translatable((String)"title.explosionoverhaul.blacklist"));
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ extends Screen {
|
||||
private void addNavigation() {
|
||||
int buttonY = 48;
|
||||
for (BlacklistCategory category : BlacklistCategory.values()) {
|
||||
Button button = Button.m_253074_((Component)this.formatCategoryLabel(category), b -> this.selectCategory(category)).m_252794_(12, buttonY).m_253046_(160, 20).m_257505_(Tooltip.m_257550_((Component)Component.m_237115_((String)category.getTooltipKey()))).m_253136_();
|
||||
Button button = Button.m_253074_((Component)this.formatCategoryLabel(category), b -> this.selectCategory(category)).m_252794_(12, buttonY).m_253046_(160, 20).m_257505_(Tooltip.m_257550_((Component)Component.translatable((String)category.getTooltipKey()))).m_253136_();
|
||||
this.categoryButtons.put(category, button);
|
||||
this.m_142416_((GuiEventListener)button);
|
||||
buttonY += 24;
|
||||
@@ -102,15 +102,15 @@ extends Screen {
|
||||
|
||||
private void addTopControls() {
|
||||
int listLeft = 172;
|
||||
this.backButton = Button.m_253074_((Component)Component.m_237115_((String)"gui.back"), b -> this.m_7379_()).m_252794_(12, 12).m_253046_(80, 20).m_253136_();
|
||||
this.backButton = Button.m_253074_((Component)Component.translatable((String)"gui.back"), b -> this.m_7379_()).m_252794_(12, 12).m_253046_(80, 20).m_253136_();
|
||||
this.m_142416_((GuiEventListener)this.backButton);
|
||||
this.searchField = new EditBox(this.f_96547_, listLeft, 26, 200, 18, (Component)Component.m_237119_());
|
||||
this.searchField.m_257771_((Component)Component.m_237115_((String)"option.explosionoverhaul.blacklist_search"));
|
||||
this.searchField.m_257771_((Component)Component.translatable((String)"option.explosionoverhaul.blacklist_search"));
|
||||
this.searchField.m_94151_(s -> this.refreshList());
|
||||
this.m_142416_((GuiEventListener)this.searchField);
|
||||
this.resetButton = Button.m_253074_((Component)Component.m_237115_((String)"option.explosionoverhaul.reset_list"), this::onResetClicked).m_252794_(this.f_96543_ - 250, 12).m_253046_(60, 20).m_257505_(Tooltip.m_257550_((Component)Component.m_237115_((String)"tooltip.explosionoverhaul.reset_list"))).m_253136_();
|
||||
this.resetButton = Button.m_253074_((Component)Component.translatable((String)"option.explosionoverhaul.reset_list"), this::onResetClicked).m_252794_(this.f_96543_ - 250, 12).m_253046_(60, 20).m_257505_(Tooltip.m_257550_((Component)Component.translatable((String)"tooltip.explosionoverhaul.reset_list"))).m_253136_();
|
||||
this.m_142416_((GuiEventListener)this.resetButton);
|
||||
this.defaultToggle = CycleButton.m_168916_((boolean)this.showDefaults).m_232498_(value -> Tooltip.m_257550_((Component)Component.m_237115_((String)"tooltip.explosionoverhaul.show_defaults"))).m_168936_(this.f_96543_ - 180, 12, 168, 20, (Component)Component.m_237115_((String)"option.explosionoverhaul.show_defaults"), (btn, value) -> {
|
||||
this.defaultToggle = CycleButton.m_168916_((boolean)this.showDefaults).m_232498_(value -> Tooltip.m_257550_((Component)Component.translatable((String)"tooltip.explosionoverhaul.show_defaults"))).m_168936_(this.f_96543_ - 180, 12, 168, 20, (Component)Component.translatable((String)"option.explosionoverhaul.show_defaults"), (btn, value) -> {
|
||||
this.showDefaults = value;
|
||||
this.refreshList();
|
||||
});
|
||||
@@ -121,12 +121,12 @@ extends Screen {
|
||||
int y = this.f_96544_ - 28;
|
||||
this.inputField = new EditBox(this.f_96547_, (this.f_96543_ - 240) / 2, y, 240, 18, (Component)Component.m_237119_());
|
||||
this.inputField.m_94199_(128);
|
||||
this.inputField.m_257771_((Component)Component.m_237115_((String)"option.explosionoverhaul.blacklist_input"));
|
||||
this.inputField.m_257771_((Component)Component.translatable((String)"option.explosionoverhaul.blacklist_input"));
|
||||
this.inputField.m_94151_(this::updateSuggestions);
|
||||
this.m_142416_((GuiEventListener)this.inputField);
|
||||
this.addButton = Button.m_253074_((Component)Component.m_237115_((String)"option.explosionoverhaul.blacklist_add"), b -> this.addCurrentInput()).m_252794_(this.inputField.m_252754_() + 240 + 8, this.inputField.m_252907_() - 1).m_253046_(80, 20).m_253136_();
|
||||
this.addButton = Button.m_253074_((Component)Component.translatable((String)"option.explosionoverhaul.blacklist_add"), b -> this.addCurrentInput()).m_252794_(this.inputField.m_252754_() + 240 + 8, this.inputField.m_252907_() - 1).m_253046_(80, 20).m_253136_();
|
||||
this.m_142416_((GuiEventListener)this.addButton);
|
||||
this.infoButton = Button.m_253074_((Component)Component.m_237115_((String)"option.explosionoverhaul.blacklist_info"), b -> {}).m_252794_(this.addButton.m_252754_() + 80 + 4, this.addButton.m_252907_()).m_253046_(40, 20).m_257505_(Tooltip.m_257550_((Component)Component.m_237115_((String)"tooltip.explosionoverhaul.blacklist_info"))).m_253136_();
|
||||
this.infoButton = Button.m_253074_((Component)Component.translatable((String)"option.explosionoverhaul.blacklist_info"), b -> {}).m_252794_(this.addButton.m_252754_() + 80 + 4, this.addButton.m_252907_()).m_253046_(40, 20).m_257505_(Tooltip.m_257550_((Component)Component.translatable((String)"tooltip.explosionoverhaul.blacklist_info"))).m_253136_();
|
||||
this.infoButton.f_93624_ = this.currentCategory == BlacklistCategory.SOURCES;
|
||||
this.m_142416_((GuiEventListener)this.infoButton);
|
||||
}
|
||||
@@ -142,7 +142,7 @@ extends Screen {
|
||||
this.save();
|
||||
}
|
||||
this.refreshList();
|
||||
this.displayStatus((Component)Component.m_237115_((String)"message.explosionoverhaul.list_reset"));
|
||||
this.displayStatus((Component)Component.translatable((String)"message.explosionoverhaul.list_reset"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -185,7 +185,7 @@ extends Screen {
|
||||
if (this.inputField != null) {
|
||||
this.inputField.m_94144_("");
|
||||
this.updateSuggestions("");
|
||||
this.inputField.m_257771_((Component)Component.m_237115_((String)(this.currentCategory == BlacklistCategory.SOURCES ? "option.explosionoverhaul.blacklist_input_entities" : "option.explosionoverhaul.blacklist_input")));
|
||||
this.inputField.m_257771_((Component)Component.translatable((String)(this.currentCategory == BlacklistCategory.SOURCES ? "option.explosionoverhaul.blacklist_input_entities" : "option.explosionoverhaul.blacklist_input")));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -194,9 +194,9 @@ extends Screen {
|
||||
}
|
||||
|
||||
private Component formatCategoryLabel(BlacklistCategory category) {
|
||||
MutableComponent label = Component.m_237115_((String)category.getLabelKey());
|
||||
MutableComponent label = Component.translatable((String)category.getLabelKey());
|
||||
if (category == this.currentCategory) {
|
||||
return Component.m_237113_((String)"\u25b6 ").m_7220_((Component)label);
|
||||
return Component.literal((String)"\u25b6 ").m_7220_((Component)label);
|
||||
}
|
||||
return label;
|
||||
}
|
||||
@@ -224,13 +224,13 @@ extends Screen {
|
||||
} else {
|
||||
ResourceLocation id = ResourceLocation.m_135820_((String)(raw.contains(":") ? raw : "minecraft:" + raw));
|
||||
if (id == null) {
|
||||
this.displayStatus((Component)Component.m_237115_((String)"message.explosionoverhaul.invalid_id"));
|
||||
this.displayStatus((Component)Component.translatable((String)"message.explosionoverhaul.invalid_id"));
|
||||
return;
|
||||
}
|
||||
normalized = id.toString();
|
||||
}
|
||||
if (!this.persistedEntries.add(normalized)) {
|
||||
this.displayStatus((Component)Component.m_237115_((String)"message.explosionoverhaul.duplicate_entry"));
|
||||
this.displayStatus((Component)Component.translatable((String)"message.explosionoverhaul.duplicate_entry"));
|
||||
return;
|
||||
}
|
||||
if (this.currentCategory == BlacklistCategory.SOURCES) {
|
||||
@@ -306,7 +306,7 @@ extends Screen {
|
||||
int line = 0;
|
||||
for (String s : this.suggestions) {
|
||||
int yy = y + line * 12;
|
||||
graphics.m_280509_(x, yy, x + width, yy + 12, -1442840576);
|
||||
graphics.fill(x, yy, x + width, yy + 12, -1442840576);
|
||||
graphics.m_280056_(this.f_96547_, s, x + 4, yy + 2, 0xE0E0E0, false);
|
||||
++line;
|
||||
}
|
||||
@@ -432,7 +432,7 @@ extends Screen {
|
||||
}
|
||||
ExplosionOverhaul.ExplosionSourceMode currentMode = BlacklistScreen.this.persistedSourceModes.getOrDefault(id, ExplosionOverhaul.ExplosionSourceMode.DEFAULT);
|
||||
String entryId = id;
|
||||
this.modeButton = CycleButton.m_168894_(m -> Component.m_237115_((String)("option.explosionoverhaul.sourcemode_" + m.name().toLowerCase(Locale.ROOT)))).m_168961_((Object[])ExplosionOverhaul.ExplosionSourceMode.values()).m_168948_((Object)currentMode).m_232498_(m -> Tooltip.m_257550_((Component)Component.m_237115_((String)("tooltip.explosionoverhaul.sourcemode_" + m.name().toLowerCase(Locale.ROOT))))).m_168936_(0, 0, 150, 20, (Component)Component.m_237119_(), (btn, value) -> {
|
||||
this.modeButton = CycleButton.m_168894_(m -> Component.translatable((String)("option.explosionoverhaul.sourcemode_" + m.name().toLowerCase(Locale.ROOT)))).m_168961_((Object[])ExplosionOverhaul.ExplosionSourceMode.values()).m_168948_((Object)currentMode).m_232498_(m -> Tooltip.m_257550_((Component)Component.translatable((String)("tooltip.explosionoverhaul.sourcemode_" + m.name().toLowerCase(Locale.ROOT))))).m_168936_(0, 0, 150, 20, (Component)Component.m_237119_(), (btn, value) -> {
|
||||
BlacklistScreen.this.persistedSourceModes.put(entryId, (ExplosionOverhaul.ExplosionSourceMode)((Object)value));
|
||||
BlacklistScreen.this.save();
|
||||
});
|
||||
@@ -445,11 +445,11 @@ extends Screen {
|
||||
}
|
||||
this.icon = stack;
|
||||
}
|
||||
this.removeButton = Button.m_253074_((Component)Component.m_237113_((String)"\u2715"), b -> BlacklistScreen.this.removeEntry(this.id)).m_252794_(0, 0).m_253046_(20, 20).m_253136_();
|
||||
this.removeButton = Button.m_253074_((Component)Component.literal((String)"\u2715"), b -> BlacklistScreen.this.removeEntry(this.id)).m_252794_(0, 0).m_253046_(20, 20).m_253136_();
|
||||
}
|
||||
|
||||
public Component m_142172_() {
|
||||
return Component.m_237113_((String)this.id);
|
||||
return Component.literal((String)this.id);
|
||||
}
|
||||
|
||||
public boolean m_6375_(double mouseX, double mouseY, int button) {
|
||||
|
||||
@@ -85,7 +85,7 @@ public class Blur {
|
||||
|
||||
public static void onClientTick() {
|
||||
float intensity;
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.m_91104_() || phase == Phase.IDLE) {
|
||||
return;
|
||||
}
|
||||
@@ -119,8 +119,8 @@ public class Blur {
|
||||
}
|
||||
}
|
||||
currentIntensity = intensity;
|
||||
if (mc.f_91074_ != null) {
|
||||
ConcussionAudioEffect.updateHeartbeat(mc.f_91074_, currentIntensity);
|
||||
if (mc.player != null) {
|
||||
ConcussionAudioEffect.updateHeartbeat(mc.player, currentIntensity);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ public class Blur {
|
||||
if (!Blur.shouldRenderStage(stage)) {
|
||||
return;
|
||||
}
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc == null) {
|
||||
return;
|
||||
}
|
||||
@@ -170,11 +170,11 @@ public class Blur {
|
||||
}
|
||||
|
||||
private static boolean isFirstPerson() {
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc == null) {
|
||||
return false;
|
||||
}
|
||||
return mc.f_91066_.m_92176_().m_90612_();
|
||||
return mc.options.m_92176_().m_90612_();
|
||||
}
|
||||
|
||||
private static void ensureTarget(int width, int height) {
|
||||
|
||||
@@ -45,11 +45,11 @@ public class CameraShakeConcussionEffect {
|
||||
}
|
||||
|
||||
public static void onClientTick() {
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.m_91104_()) {
|
||||
return;
|
||||
}
|
||||
LocalPlayer player = mc.f_91074_;
|
||||
LocalPlayer player = mc.player;
|
||||
if (player == null) {
|
||||
CameraShakeConcussionEffect.stop();
|
||||
return;
|
||||
|
||||
@@ -88,8 +88,8 @@ public class ClientEffects {
|
||||
}
|
||||
|
||||
private static void handleTrackedSoundsTick() {
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
if (mc.f_91074_ == null || mc.m_91106_() == null) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.player == null || mc.m_91106_() == null) {
|
||||
return;
|
||||
}
|
||||
Iterator<TrackedSound> iterator = activeTrackedSounds.iterator();
|
||||
@@ -99,7 +99,7 @@ public class ClientEffects {
|
||||
iterator.remove();
|
||||
continue;
|
||||
}
|
||||
tracked.tick((Player)mc.f_91074_, mc.m_91106_(), mc.f_91074_.m_217043_());
|
||||
tracked.tick((Player)mc.player, mc.m_91106_(), mc.player.m_217043_());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -139,7 +139,7 @@ public class ClientEffects {
|
||||
}
|
||||
|
||||
public static void onClientTick() {
|
||||
if (Minecraft.m_91087_().m_91104_()) {
|
||||
if (Minecraft.getInstance().m_91104_()) {
|
||||
return;
|
||||
}
|
||||
Blur.onClientTick();
|
||||
@@ -171,13 +171,13 @@ public class ClientEffects {
|
||||
if (!((Boolean)Config.CLIENT.enableFlashEffect.get()).booleanValue()) {
|
||||
return;
|
||||
}
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
if (mc.f_91074_ == null || activeFlashEffects.isEmpty()) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.player == null || activeFlashEffects.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
float maxOpacity = 0.0f;
|
||||
for (FlashEffect effect : activeFlashEffects) {
|
||||
float opacity = effect.getCurrentOpacity((Player)mc.f_91074_);
|
||||
float opacity = effect.getCurrentOpacity((Player)mc.player);
|
||||
if (!(opacity > maxOpacity)) continue;
|
||||
maxOpacity = opacity;
|
||||
}
|
||||
@@ -185,8 +185,8 @@ public class ClientEffects {
|
||||
return;
|
||||
}
|
||||
GuiGraphics guiGraphics = event.getGuiGraphics();
|
||||
int screenWidth = mc.m_91268_().m_85445_();
|
||||
int screenHeight = mc.m_91268_().m_85446_();
|
||||
int screenWidth = mc.getWindow().getGuiScaledWidth();
|
||||
int screenHeight = mc.getWindow().getGuiScaledHeight();
|
||||
ResourceLocation flashTexture = ResourceLocation.fromNamespaceAndPath((String)"explosionoverhaul", (String)"textures/effects/flash.png");
|
||||
RenderSystem.enableBlend();
|
||||
RenderSystem.defaultBlendFunc();
|
||||
@@ -230,8 +230,8 @@ public class ClientEffects {
|
||||
|
||||
public static void triggerAmbientCaveDust(float power) {
|
||||
int i;
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
LocalPlayer player = mc.f_91074_;
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
LocalPlayer player = mc.player;
|
||||
ClientLevel level = mc.f_91073_;
|
||||
if (player == null || level == null) {
|
||||
return;
|
||||
@@ -255,8 +255,8 @@ public class ClientEffects {
|
||||
}
|
||||
|
||||
private static void handleCameraShakeTick() {
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
LocalPlayer player = mc.f_91074_;
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
LocalPlayer player = mc.player;
|
||||
if (player == null) {
|
||||
if (shakeDurationTicks > 0 || lastYawOffset != 0.0f || lastPitchOffset != 0.0f) {
|
||||
lastYawOffset = 0.0f;
|
||||
@@ -293,7 +293,7 @@ public class ClientEffects {
|
||||
if (!((Boolean)Config.CLIENT.enableLineSparks.get()).booleanValue()) {
|
||||
return;
|
||||
}
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
ClientLevel level = mc.f_91073_;
|
||||
if (level == null) {
|
||||
return;
|
||||
|
||||
@@ -42,8 +42,8 @@ public class ConcussionAudioEffect {
|
||||
@SubscribeEvent
|
||||
public static void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
if (event.phase == TickEvent.Phase.END) {
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
if (mc.f_91074_ != null && !mc.f_91074_.m_6084_()) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.player != null && !mc.player.m_6084_()) {
|
||||
ConcussionAudioEffect.stopAll();
|
||||
}
|
||||
}
|
||||
@@ -66,8 +66,8 @@ public class ConcussionAudioEffect {
|
||||
if (!((Boolean)Config.CLIENT.enableConcussion.get()).booleanValue()) {
|
||||
return;
|
||||
}
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
if (mc == null || mc.f_91073_ == null || mc.f_91074_ == null) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc == null || mc.f_91073_ == null || mc.player == null) {
|
||||
return;
|
||||
}
|
||||
double rawPercent = ConcussionAudioEffect.computePercent(power, distance, explosionInCave);
|
||||
@@ -77,12 +77,12 @@ public class ConcussionAudioEffect {
|
||||
double effectivePercent = hasDirectLineOfSight ? rawPercent : ConcussionAudioEffect.applyOcclusion(rawPercent);
|
||||
double maxDistance = ConcussionAudioEffect.computeMaxDistance(power, explosionInCave);
|
||||
if (rawPercent <= 0.0) {
|
||||
LocalPlayer player4 = mc.f_91074_;
|
||||
LocalPlayer player4 = mc.player;
|
||||
if (player4 != null && debugSendDebugMessage) {
|
||||
double metersToExplosion = distance;
|
||||
double onePercentDistance = maxDistance * 0.99;
|
||||
String outMessage = String.format("\u041f\u043e\u0437\u0430 \u0437\u043e\u043d\u043e\u044e \u043f\u043e\u0440\u0430\u0437\u043a\u0438. \u0412\u0456\u0434\u0441\u0442\u0430\u043d\u044c \u0434\u043e \u0432\u0438\u0431\u0443\u0445\u0443: %.1f \u043c. 1%% \u043f\u043e\u0447\u0438\u043d\u0430\u0454\u0442\u044c\u0441\u044f \u0437: %.1f \u043c.", metersToExplosion, onePercentDistance);
|
||||
player4.m_5661_((Component)Component.m_237113_((String)outMessage).m_130940_(ChatFormatting.GRAY), false);
|
||||
player4.m_5661_((Component)Component.literal((String)outMessage).m_130940_(ChatFormatting.GRAY), false);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -129,17 +129,17 @@ public class ConcussionAudioEffect {
|
||||
if (((Boolean)Config.CLIENT.enableCameraSway.get()).booleanValue()) {
|
||||
CameraShakeConcussionEffect.start(blurSeconds, swayIntensity);
|
||||
}
|
||||
if (debugSendDebugMessage && (player5 = mc.f_91074_) != null) {
|
||||
if (debugSendDebugMessage && (player5 = mc.player) != null) {
|
||||
String reductionInfo = lowpassReduced ? " [LowPass reduced /3]" : "";
|
||||
String blurMsg = String.format("Blur & Sway %.1f m \u2014 activated (Blur: %.2f, Sway: %.2f, Time: %ds%s)", distance, Float.valueOf(blurIntensity), Float.valueOf(swayIntensity), blurSeconds, reductionInfo);
|
||||
player5.m_5661_((Component)Component.m_237113_((String)blurMsg).m_130940_(ChatFormatting.BLUE), false);
|
||||
player5.m_5661_((Component)Component.literal((String)blurMsg).m_130940_(ChatFormatting.BLUE), false);
|
||||
}
|
||||
}
|
||||
catch (Throwable player5) {}
|
||||
} else if (debugSendDebugMessage && (player3 = mc.f_91074_) != null) {
|
||||
} else if (debugSendDebugMessage && (player3 = mc.player) != null) {
|
||||
String reason = !anyAudioEffectActive ? "no audio effects" : "out of range";
|
||||
String blurMsg = String.format("Blur %.1f m \u2014 not activated (%s)", distance, reason);
|
||||
player3.m_5661_((Component)Component.m_237113_((String)blurMsg).m_130940_(ChatFormatting.GRAY), false);
|
||||
player3.m_5661_((Component)Component.literal((String)blurMsg).m_130940_(ChatFormatting.GRAY), false);
|
||||
}
|
||||
int lowpassSeconds = blurSeconds;
|
||||
double lowpassIntensityPercent = ConcussionAudioEffect.computeBaseLowpassIntensityPercent(effectivePercent);
|
||||
@@ -155,42 +155,42 @@ public class ConcussionAudioEffect {
|
||||
float finalLpIntensity = lowpassRoll ? lowpassIntensity : 0.0f;
|
||||
int finalLpRound = lowpassRoll ? lowpassIntensityRound : 0;
|
||||
LowPassConcussionEffect.start(lowpassSeconds, finalLpIntensity, effectivePercent, lpVisibility, finalLpRound);
|
||||
if (debugSendDebugMessage && (player6 = mc.f_91074_) != null) {
|
||||
if (debugSendDebugMessage && (player6 = mc.player) != null) {
|
||||
String status = lowpassRoll ? "activated" : "refreshed";
|
||||
String lpMsg = String.format("Low pass %.1f m \u2014 %s (intensity=%.2f chance=%.1f%%)", distance, status, Float.valueOf(finalLpIntensity), lowpassChance * 100.0);
|
||||
player6.m_5661_((Component)Component.m_237113_((String)lpMsg).m_130940_(ChatFormatting.DARK_GREEN), false);
|
||||
player6.m_5661_((Component)Component.literal((String)lpMsg).m_130940_(ChatFormatting.DARK_GREEN), false);
|
||||
}
|
||||
}
|
||||
catch (Throwable finalLpIntensity) {}
|
||||
} else if (debugSendDebugMessage && (player2 = mc.f_91074_) != null) {
|
||||
} else if (debugSendDebugMessage && (player2 = mc.player) != null) {
|
||||
String reason = rawPercent <= 0.0 || lowpassIntensity < 0.01f ? "out of range" : "chance fail";
|
||||
String lpMsg = String.format("Low pass %.1f m \u2014 not activated (%s)", distance, reason);
|
||||
player2.m_5661_((Component)Component.m_237113_((String)lpMsg).m_130940_(ChatFormatting.GRAY), false);
|
||||
player2.m_5661_((Component)Component.literal((String)lpMsg).m_130940_(ChatFormatting.GRAY), false);
|
||||
}
|
||||
if (debugSendDebugMessage) {
|
||||
ConcussionAudioEffect.sendDebugMessage(mc, effectivePercent, rawPercent, hasDirectLineOfSight, distance, maxDistance);
|
||||
}
|
||||
if (debugSendDebugMessage && (player = mc.f_91074_) != null) {
|
||||
if (debugSendDebugMessage && (player = mc.player) != null) {
|
||||
Object visibility = hasDirectLineOfSight ? "\u043f\u0440\u044f\u043c\u0430 \u0432\u0438\u0434\u0438\u043c\u0456\u0441\u0442\u044c" : "\u043f\u0435\u0440\u0435\u0448\u043a\u043e\u0434\u0430";
|
||||
visibility = (String)visibility + (explosionInCave ? " | \u0432\u0438\u0431\u0443\u0445 \u0443 \u043f\u0435\u0447\u0435\u0440\u0456" : " | \u0432\u0438\u0431\u0443\u0445 \u043d\u0435 \u0432 \u043f\u0435\u0447\u0435\u0440\u0456");
|
||||
visibility = (String)visibility + String.format(" | \u0444\u0456\u043d\u0430\u043b\u044c\u043d\u0438\u0439 %%: %.1f%%", effectivePercent);
|
||||
player.m_5661_((Component)Component.m_237113_((String)visibility).m_130940_(ChatFormatting.GRAY), false);
|
||||
player.m_5661_((Component)Component.literal((String)visibility).m_130940_(ChatFormatting.GRAY), false);
|
||||
String chanceMsg = String.format("\u0428\u0430\u043d\u0441 \u043a\u043e\u043d\u0442\u0443\u0437\u0456\u0457: %.1f%%", chance * 100.0);
|
||||
player.m_5661_((Component)Component.m_237113_((String)chanceMsg).m_130940_(ChatFormatting.YELLOW), false);
|
||||
player.m_5661_((Component)Component.literal((String)chanceMsg).m_130940_(ChatFormatting.YELLOW), false);
|
||||
double maxDistanceNormal = ConcussionAudioEffect.computeMaxDistance(power, false);
|
||||
double maxDistanceUsed = ConcussionAudioEffect.computeMaxDistance(power, explosionInCave);
|
||||
String distMsg = String.format("\u041c\u0430\u043a\u0441 \u0434\u0438\u0441\u0442\u0430\u043d\u0446\u0456\u044f (\u0437\u0432\u0438\u0447\u0430\u0439\u043d\u0430): %.1f \u043c | (\u0432 \u043f\u0435\u0447\u0435\u0440\u0456): %.1f \u043c | \u0412\u0456\u0434\u0441\u0442\u0430\u043d\u044c \u0434\u043e \u0432\u0438\u0431\u0443\u0445\u0443: %.1f \u043c", maxDistanceNormal, maxDistanceUsed, distance);
|
||||
player.m_5661_((Component)Component.m_237113_((String)distMsg).m_130940_(ChatFormatting.GRAY), false);
|
||||
player.m_5661_((Component)Component.literal((String)distMsg).m_130940_(ChatFormatting.GRAY), false);
|
||||
double baseSilentNormal = ConcussionAudioEffect.computeBaseSilentSeconds(effectivePercent, false);
|
||||
double baseSilentCave = ConcussionAudioEffect.computeBaseSilentSeconds(effectivePercent, true);
|
||||
String silentMsg = String.format("\u0427\u0430\u0441 \u0441\u043a\u0440\u0443\u0447\u0443\u0432\u0430\u043d\u043d\u044f (\u0437\u0432\u0438\u0447\u0430\u0439\u043d\u0438\u0439): %.1fs | (\u0432 \u043f\u0435\u0447\u0435\u0440\u0456): %.1fs | \u0412\u0418\u041a\u041e\u0420\u0418\u0421\u0422\u0410\u041d\u041e: %.1fs", baseSilentNormal, baseSilentCave, baseSilentSeconds * multiplier);
|
||||
player.m_5661_((Component)Component.m_237113_((String)silentMsg).m_130940_(ChatFormatting.GRAY), false);
|
||||
player.m_5661_((Component)Component.literal((String)silentMsg).m_130940_(ChatFormatting.GRAY), false);
|
||||
if (roll) {
|
||||
String deafnessMsg = String.format("Deafness %.1f m \u2014 activated (intensity=%.1f%% chance=%.1f%%)", distance, intensityPercent, chance * 100.0);
|
||||
player.m_5661_((Component)Component.m_237113_((String)deafnessMsg).m_130940_(ChatFormatting.RED), false);
|
||||
player.m_5661_((Component)Component.literal((String)deafnessMsg).m_130940_(ChatFormatting.RED), false);
|
||||
} else {
|
||||
String deafnessMsg = String.format("Deafness %.1f m \u2014 not activated (chance)", distance);
|
||||
player.m_5661_((Component)Component.m_237113_((String)deafnessMsg).m_130940_(ChatFormatting.GRAY), false);
|
||||
player.m_5661_((Component)Component.literal((String)deafnessMsg).m_130940_(ChatFormatting.GRAY), false);
|
||||
}
|
||||
}
|
||||
if (!roll) {
|
||||
@@ -249,7 +249,7 @@ public class ConcussionAudioEffect {
|
||||
}
|
||||
|
||||
private static void sendDebugMessage(Minecraft mc, double effectivePercent, double rawPercent, boolean hasDirectLineOfSight, double distance, double maxDistance) {
|
||||
LocalPlayer player = mc.f_91074_;
|
||||
LocalPlayer player = mc.player;
|
||||
if (player == null) {
|
||||
return;
|
||||
}
|
||||
@@ -258,16 +258,16 @@ public class ConcussionAudioEffect {
|
||||
double metersToExplosion = distance;
|
||||
double onePercentDistance = maxDistance * 0.99;
|
||||
String outMessage = String.format("\u041f\u043e\u0437\u0430 \u0437\u043e\u043d\u043e\u044e \u043f\u043e\u0440\u0430\u0437\u043a\u0438. \u0412\u0456\u0434\u0441\u0442\u0430\u043d\u044c \u0434\u043e \u0432\u0438\u0431\u0443\u0445\u0443: %.1f \u043c. 1%% \u043f\u043e\u0447\u0438\u043d\u0430\u0454\u0442\u044c\u0441\u044f \u0437: %.1f \u043c.", metersToExplosion, onePercentDistance);
|
||||
player.m_5661_((Component)Component.m_237113_((String)outMessage).m_130940_(ChatFormatting.GRAY), false);
|
||||
player.m_5661_((Component)Component.literal((String)outMessage).m_130940_(ChatFormatting.GRAY), false);
|
||||
return;
|
||||
}
|
||||
ChatFormatting color = ConcussionAudioEffect.pickColor(clamped);
|
||||
String visibility = hasDirectLineOfSight ? "\u043f\u0440\u044f\u043c\u0430 \u0432\u0438\u0434\u0438\u043c\u0456\u0441\u0442\u044c" : "\u043f\u0435\u0440\u0435\u0448\u043a\u043e\u0434\u0430";
|
||||
String message = String.format("\u041f\u043e\u0442\u0443\u0436\u043d\u0456\u0441\u0442\u044c \u043a\u043e\u043d\u0442\u0443\u0437\u0456\u0457 %.1f%% (%s)", clamped, visibility);
|
||||
player.m_5661_((Component)Component.m_237113_((String)message).m_130940_(color), false);
|
||||
player.m_5661_((Component)Component.literal((String)message).m_130940_(color), false);
|
||||
if (!hasDirectLineOfSight && rawPercent > 0.0) {
|
||||
String rawMessage = String.format("(\u0434\u043e \u043f\u0435\u0440\u0435\u0448\u043a\u043e\u0434\u0438: %.1f%%)", Math.max(0.0, Math.min(100.0, rawPercent)));
|
||||
player.m_5661_((Component)Component.m_237113_((String)rawMessage).m_130940_(ChatFormatting.GRAY), false);
|
||||
player.m_5661_((Component)Component.literal((String)rawMessage).m_130940_(ChatFormatting.GRAY), false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -445,8 +445,8 @@ public class ConcussionAudioEffect {
|
||||
if (!((Boolean)Config.CLIENT.showHeartbeatHUD.get()).booleanValue() || !Blur.isActive()) {
|
||||
return;
|
||||
}
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
if (mc.f_91074_ == null) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.player == null) {
|
||||
return;
|
||||
}
|
||||
float bps = currentBPM / 60.0f;
|
||||
@@ -459,7 +459,7 @@ public class ConcussionAudioEffect {
|
||||
} else if (currentBPM < 50.0f) {
|
||||
color = -171;
|
||||
}
|
||||
ctx.m_280056_(mc.f_91062_, text, x - mc.f_91062_.m_92895_(text), y, color, false);
|
||||
ctx.m_280056_(mc.font, text, x - mc.font.width(text), y, color, false);
|
||||
}
|
||||
|
||||
public static float getCurrentHeartbeatVisual() {
|
||||
@@ -549,7 +549,7 @@ public class ConcussionAudioEffect {
|
||||
lubTriggered = true;
|
||||
if (blurIntensity >= 0.1f && ((Boolean)Config.CLIENT.enableHeartbeatPulse.get()).booleanValue()) {
|
||||
try {
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc != null) {
|
||||
mc.m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119755_((SoundEvent)((SoundEvent)ModSounds.HEART_LAB.get()), (float)1.0f, (float)100.0f));
|
||||
}
|
||||
@@ -564,7 +564,7 @@ public class ConcussionAudioEffect {
|
||||
dubTriggered = true;
|
||||
if (blurIntensity >= 0.1f && ((Boolean)Config.CLIENT.enableHeartbeatPulse.get()).booleanValue()) {
|
||||
try {
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc != null) {
|
||||
mc.m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119755_((SoundEvent)((SoundEvent)ModSounds.HEART_DAB.get()), (float)1.0f, (float)100.0f));
|
||||
}
|
||||
|
||||
@@ -29,8 +29,8 @@ public class ConcussionSoundManager {
|
||||
if (event.phase != TickEvent.Phase.END) {
|
||||
return;
|
||||
}
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
if (mc.f_91073_ == null || mc.f_91074_ == null) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.f_91073_ == null || mc.player == null) {
|
||||
if (currentLowSound != null) {
|
||||
mc.m_91106_().m_120399_((SoundInstance)currentLowSound);
|
||||
currentLowSound = null;
|
||||
|
||||
@@ -48,11 +48,11 @@ public class DeafnessConcussionEffect {
|
||||
if (effectiveIntensity < 1.0E-4f) {
|
||||
return false;
|
||||
}
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
if (mc == null || mc.f_91073_ == null || mc.f_91074_ == null) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc == null || mc.f_91073_ == null || mc.player == null) {
|
||||
return false;
|
||||
}
|
||||
Options options = mc.f_91066_;
|
||||
Options options = mc.options;
|
||||
if (options == null) {
|
||||
return false;
|
||||
}
|
||||
@@ -73,9 +73,9 @@ public class DeafnessConcussionEffect {
|
||||
phaseTicksTotal = DELAY_TICKS;
|
||||
}
|
||||
lastIntensity = currentIntensity;
|
||||
if (debugShowChat && (player = mc.f_91074_) != null) {
|
||||
if (debugShowChat && (player = mc.player) != null) {
|
||||
String msg = String.format("\u041f\u043e\u0442\u0443\u0436\u043d\u0456\u0441\u0442\u044c \u043a\u043e\u043d\u0442\u0443\u0437\u0456\u0457 %.1f%% (%s) \u2014 \u0421\u0438\u043b\u0430 \u0441\u043a\u0440\u0443\u0447\u0443\u0432\u0430\u043d\u043d\u044f %d%%, \u0427\u0430\u0441 \u0441\u043a\u0440\u0443\u0447\u0443\u0432\u0430\u043d\u043d\u044f %.1f \u0441\u0435\u043a", effectivePercent, visibility, intensityPercent, silentSeconds);
|
||||
player.m_5661_((Component)Component.m_237113_((String)msg).m_130940_(ChatFormatting.WHITE), false);
|
||||
player.m_5661_((Component)Component.literal((String)msg).m_130940_(ChatFormatting.WHITE), false);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -88,8 +88,8 @@ public class DeafnessConcussionEffect {
|
||||
if (phase == Phase.NONE) {
|
||||
return;
|
||||
}
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
if (mc == null || mc.f_91066_ == null) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc == null || mc.options == null) {
|
||||
DeafnessConcussionEffect.resetVolume();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ public class ExplosionTextureManager {
|
||||
|
||||
public void reload() {
|
||||
this.clear();
|
||||
if (Minecraft.m_91087_().m_91098_() == null) {
|
||||
if (Minecraft.getInstance().m_91098_() == null) {
|
||||
return;
|
||||
}
|
||||
ExplosionOverhaul.LOGGER.info("Reloading Explosion Texture Manager...");
|
||||
@@ -71,10 +71,10 @@ public class ExplosionTextureManager {
|
||||
private void loadTexture(int index, String path) {
|
||||
ResourceLocation fullPath = new ResourceLocation("explosionoverhaul", BASE_PATH + path);
|
||||
try {
|
||||
InputStream is = ((Resource)Minecraft.m_91087_().m_91098_().m_213713_(fullPath).get()).m_215507_();
|
||||
InputStream is = ((Resource)Minecraft.getInstance().m_91098_().m_213713_(fullPath).get()).m_215507_();
|
||||
NativeImage image = NativeImage.m_85058_((InputStream)is);
|
||||
DynamicTexture texture = new DynamicTexture(image);
|
||||
ResourceLocation loc = Minecraft.m_91087_().m_91097_().m_118490_("explosion_sheet_" + index, texture);
|
||||
ResourceLocation loc = Minecraft.getInstance().m_91097_().m_118490_("explosion_sheet_" + index, texture);
|
||||
this.textures.put(index, texture);
|
||||
this.resourceLocations.put(index, loc);
|
||||
}
|
||||
|
||||
@@ -69,9 +69,9 @@ public class ExplosionWindController {
|
||||
}
|
||||
|
||||
private static double getWeatherMultiplier() {
|
||||
Minecraft minecraft = Minecraft.m_91087_();
|
||||
if (minecraft.f_91073_ != null && minecraft.f_91074_ != null) {
|
||||
Biome.Precipitation precipitation = ((Biome)minecraft.f_91073_.m_204166_(minecraft.f_91074_.m_20183_()).m_203334_()).m_264600_(minecraft.f_91074_.m_20183_());
|
||||
Minecraft minecraft = Minecraft.getInstance();
|
||||
if (minecraft.f_91073_ != null && minecraft.player != null) {
|
||||
Biome.Precipitation precipitation = ((Biome)minecraft.f_91073_.m_204166_(minecraft.player.m_20183_()).m_203334_()).m_264600_(minecraft.player.m_20183_());
|
||||
if (minecraft.f_91073_.m_46471_() || minecraft.f_91073_.m_46470_()) {
|
||||
return 1.5;
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ extends Screen {
|
||||
private static final long FORCE_CLOSE_BUFFER_MS = 2000L;
|
||||
|
||||
public FirstTimeScreen() {
|
||||
super((Component)Component.m_237113_((String)"First Time Setup"));
|
||||
super((Component)Component.literal((String)"First Time Setup"));
|
||||
}
|
||||
|
||||
protected void m_7856_() {
|
||||
@@ -259,7 +259,7 @@ extends Screen {
|
||||
if (!musicStillFading) {
|
||||
ExplosionOverhaul.LOGGER.info("Screen and music fade out complete. Opening TitleScreen.");
|
||||
this.cleanupAnimators();
|
||||
Minecraft.m_91087_().m_91152_((Screen)new TitleScreen());
|
||||
Minecraft.getInstance().m_91152_((Screen)new TitleScreen());
|
||||
} else {
|
||||
ExplosionOverhaul.LOGGER.info("Waiting for music to finish fading...");
|
||||
}
|
||||
@@ -272,7 +272,7 @@ extends Screen {
|
||||
this.cleanupAnimators();
|
||||
this.fadingOut = false;
|
||||
this.fadeOutStartMillis = -1L;
|
||||
Minecraft.m_91087_().m_91152_((Screen)new TitleScreen());
|
||||
Minecraft.getInstance().m_91152_((Screen)new TitleScreen());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -337,7 +337,7 @@ extends Screen {
|
||||
}
|
||||
|
||||
public void m_88315_(GuiGraphics graphics, int mouseX, int mouseY, float partialTick) {
|
||||
graphics.m_280509_(0, 0, this.f_96543_, this.f_96544_, -16777216);
|
||||
graphics.fill(0, 0, this.f_96543_, this.f_96544_, -16777216);
|
||||
if (this.screenAlpha < 0.01f) {
|
||||
return;
|
||||
}
|
||||
@@ -359,7 +359,7 @@ extends Screen {
|
||||
|
||||
private void renderModeSelection(GuiGraphics graphics, int mouseX, int mouseY, float renderAlpha) {
|
||||
String title = "Choose Your Explosion Style";
|
||||
int titleWidth = this.f_96547_.m_92895_(title);
|
||||
int titleWidth = this.f_96547_.width(title);
|
||||
int titleX = (this.f_96543_ - titleWidth) / 2;
|
||||
int titleY = this.leftBoxY - 40;
|
||||
int titleAlpha = (int)(renderAlpha * 255.0f) << 24;
|
||||
@@ -367,10 +367,10 @@ extends Screen {
|
||||
graphics.m_280056_(this.f_96547_, title, titleX + 1, titleY + 1, 0xF28B0C | (int)(128.0f * renderAlpha) << 24, false);
|
||||
graphics.m_280056_(this.f_96547_, title, titleX, titleY, 0xF28B0C | titleAlpha, true);
|
||||
String subtitle = "You can change this anytime in the config";
|
||||
int subtitleWidth = this.f_96547_.m_92895_(subtitle);
|
||||
int subtitleWidth = this.f_96547_.width(subtitle);
|
||||
graphics.m_280056_(this.f_96547_, subtitle, (this.f_96543_ - subtitleWidth) / 2, titleY + 15, 0xCCCCCC | titleAlpha, false);
|
||||
String psNote = "P.S. Colors in the game may differ from the animations because compression has altered the colors";
|
||||
int psWidth = this.f_96547_.m_92895_(psNote);
|
||||
int psWidth = this.f_96547_.width(psNote);
|
||||
int psColor = 0x999999 | titleAlpha;
|
||||
graphics.m_280056_(this.f_96547_, psNote, (this.f_96543_ - psWidth) / 2, titleY + 30, psColor, false);
|
||||
if (!this.isTransitioning) {
|
||||
@@ -406,7 +406,7 @@ extends Screen {
|
||||
|
||||
private void renderStyleSelection(GuiGraphics graphics, int mouseX, int mouseY, float renderAlpha) {
|
||||
String title = "Choose Render Style";
|
||||
int titleWidth = this.f_96547_.m_92895_(title);
|
||||
int titleWidth = this.f_96547_.width(title);
|
||||
int titleX = (this.f_96543_ - titleWidth) / 2;
|
||||
int titleY = this.leftBoxY - 40;
|
||||
int titleAlpha = (int)(renderAlpha * 255.0f) << 24;
|
||||
@@ -414,7 +414,7 @@ extends Screen {
|
||||
graphics.m_280056_(this.f_96547_, title, titleX + 1, titleY + 1, 0xF28B0C | (int)(128.0f * renderAlpha) << 24, false);
|
||||
graphics.m_280056_(this.f_96547_, title, titleX, titleY, 0xF28B0C | titleAlpha, true);
|
||||
String subtitle = "Higher quality requires more VRAM";
|
||||
int subtitleWidth = this.f_96547_.m_92895_(subtitle);
|
||||
int subtitleWidth = this.f_96547_.width(subtitle);
|
||||
graphics.m_280056_(this.f_96547_, subtitle, (this.f_96543_ - subtitleWidth) / 2, titleY + 15, 0xCCCCCC | titleAlpha, false);
|
||||
if (!this.isTransitioning) {
|
||||
boolean wasLeftHovered = this.leftHovered;
|
||||
@@ -456,10 +456,10 @@ extends Screen {
|
||||
if (hovered) {
|
||||
int glowSize = 4;
|
||||
int glowAlpha = (int)(128.0f * alpha) << 24;
|
||||
graphics.m_280509_(-glowSize, -glowSize, width + glowSize, height + glowSize, accentColor & 0xFFFFFF | glowAlpha);
|
||||
graphics.fill(-glowSize, -glowSize, width + glowSize, height + glowSize, accentColor & 0xFFFFFF | glowAlpha);
|
||||
}
|
||||
int bgAlpha = (int)(255.0f * alpha) << 24;
|
||||
graphics.m_280509_(0, 0, width, height, 0x591515 | bgAlpha);
|
||||
graphics.fill(0, 0, width, height, 0x591515 | bgAlpha);
|
||||
if (animator != null && animator.getTextureLocation() != null) {
|
||||
RenderSystem.enableBlend();
|
||||
RenderSystem.defaultBlendFunc();
|
||||
@@ -470,21 +470,21 @@ extends Screen {
|
||||
} else {
|
||||
int placeholderTextColor = (int)(150.0f * alpha) << 24 | 0xFFFFFFFF;
|
||||
String placeholder = "[Image not found]";
|
||||
int placeholderWidth = this.f_96547_.m_92895_(placeholder);
|
||||
int placeholderWidth = this.f_96547_.width(placeholder);
|
||||
graphics.m_280056_(this.f_96547_, placeholder, (width - placeholderWidth) / 2, height / 2 - 5, placeholderTextColor, false);
|
||||
}
|
||||
int borderColor = hovered ? accentColor : -2529701;
|
||||
int borderAlpha = (int)(255.0f * alpha) << 24;
|
||||
int fadedBorderColor = borderColor & 0xFFFFFF | borderAlpha;
|
||||
graphics.m_280509_(0, 0, width, 2, fadedBorderColor);
|
||||
graphics.m_280509_(0, height - 2, width, height, fadedBorderColor);
|
||||
graphics.m_280509_(0, 0, 2, height, fadedBorderColor);
|
||||
graphics.m_280509_(width - 2, 0, width, height, fadedBorderColor);
|
||||
graphics.fill(0, 0, width, 2, fadedBorderColor);
|
||||
graphics.fill(0, height - 2, width, height, fadedBorderColor);
|
||||
graphics.fill(0, 0, 2, height, fadedBorderColor);
|
||||
graphics.fill(width - 2, 0, width, height, fadedBorderColor);
|
||||
graphics.m_280168_().m_85849_();
|
||||
int labelAlpha = (int)(255.0f * alpha) << 24;
|
||||
int labelColor = hovered ? accentColor : -1;
|
||||
int fadedLabelColor = labelColor & 0xFFFFFF | labelAlpha;
|
||||
int labelWidth = this.f_96547_.m_92895_(label);
|
||||
int labelWidth = this.f_96547_.width(label);
|
||||
graphics.m_280056_(this.f_96547_, label, x + (width - labelWidth) / 2, y + height + 10, fadedLabelColor, true);
|
||||
}
|
||||
|
||||
@@ -614,19 +614,19 @@ extends Screen {
|
||||
}
|
||||
case EMBER: {
|
||||
int emberSize = (int)p.size;
|
||||
graphics.m_280509_((int)p.x - emberSize, (int)p.y - emberSize, (int)p.x + emberSize, (int)p.y + emberSize, colorWithAlpha);
|
||||
graphics.fill((int)p.x - emberSize, (int)p.y - emberSize, (int)p.x + emberSize, (int)p.y + emberSize, colorWithAlpha);
|
||||
break;
|
||||
}
|
||||
case FLASH: {
|
||||
int flashSize = (int)(p.size * 0.7f);
|
||||
int flashColor = colorWithAlpha & 0xFFFFFF | (int)(finalAlpha * 180.0f) << 24;
|
||||
graphics.m_280509_((int)p.x - flashSize, (int)p.y - flashSize, (int)p.x + flashSize, (int)p.y + flashSize, flashColor);
|
||||
graphics.fill((int)p.x - flashSize, (int)p.y - flashSize, (int)p.x + flashSize, (int)p.y + flashSize, flashColor);
|
||||
break;
|
||||
}
|
||||
case SMOKE: {
|
||||
int smokeSize = (int)p.size;
|
||||
int smokeColor = colorWithAlpha & 0xFFFFFF | (int)(finalAlpha * 60.0f) << 24;
|
||||
graphics.m_280509_((int)p.x - smokeSize, (int)p.y - smokeSize, (int)p.x + smokeSize, (int)p.y + smokeSize, smokeColor);
|
||||
graphics.fill((int)p.x - smokeSize, (int)p.y - smokeSize, (int)p.x + smokeSize, (int)p.y + smokeSize, smokeColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -636,20 +636,20 @@ extends Screen {
|
||||
int vignetteAlpha = (int)(ratio * ratio * 180.0f * globalAlpha);
|
||||
int vignetteColor = vignetteAlpha << 24;
|
||||
int thickness = 4;
|
||||
graphics.m_280509_(0, i * thickness, this.f_96543_, (i + 1) * thickness, vignetteColor);
|
||||
graphics.m_280509_(0, this.f_96544_ - (i + 1) * thickness, this.f_96543_, this.f_96544_ - i * thickness, vignetteColor);
|
||||
graphics.m_280509_(i * thickness, 0, (i + 1) * thickness, this.f_96544_, vignetteColor);
|
||||
graphics.m_280509_(this.f_96543_ - (i + 1) * thickness, 0, this.f_96543_ - i * thickness, this.f_96544_, vignetteColor);
|
||||
graphics.fill(0, i * thickness, this.f_96543_, (i + 1) * thickness, vignetteColor);
|
||||
graphics.fill(0, this.f_96544_ - (i + 1) * thickness, this.f_96543_, this.f_96544_ - i * thickness, vignetteColor);
|
||||
graphics.fill(i * thickness, 0, (i + 1) * thickness, this.f_96544_, vignetteColor);
|
||||
graphics.fill(this.f_96543_ - (i + 1) * thickness, 0, this.f_96543_ - i * thickness, this.f_96544_, vignetteColor);
|
||||
}
|
||||
for (i = 0; i < 150; ++i) {
|
||||
int gx = this.random.m_188503_(this.f_96543_);
|
||||
int gy = this.random.m_188503_(this.f_96544_);
|
||||
int grainAlpha = (int)((float)(20 + this.random.m_188503_(30)) * globalAlpha);
|
||||
int grainColor = grainAlpha << 24 | 0xFFFFFF;
|
||||
graphics.m_280509_(gx, gy, gx + 1, gy + 1, grainColor);
|
||||
graphics.fill(gx, gy, gx + 1, gy + 1, grainColor);
|
||||
}
|
||||
for (int y = 0; y < this.f_96544_; y += 4) {
|
||||
graphics.m_280509_(0, y, this.f_96543_, y + 1, 0x8000000);
|
||||
graphics.fill(0, y, this.f_96543_, y + 1, 0x8000000);
|
||||
}
|
||||
RenderSystem.disableBlend();
|
||||
}
|
||||
@@ -661,7 +661,7 @@ extends Screen {
|
||||
int sy = y1 < y2 ? 1 : -1;
|
||||
int err = dx - dy;
|
||||
for (int steps = 0; steps < 200; ++steps) {
|
||||
graphics.m_280509_(x1, y1, x1 + 1, y1 + 1, color);
|
||||
graphics.fill(x1, y1, x1 + 1, y1 + 1, color);
|
||||
if (x1 == x2 && y1 == y2) break;
|
||||
int e2 = 2 * err;
|
||||
if (e2 > -dy) {
|
||||
@@ -710,20 +710,20 @@ extends Screen {
|
||||
if (this.backButtonHovered) {
|
||||
int glowSize = 3;
|
||||
int glowAlpha = (int)(128.0f * alpha) << 24;
|
||||
graphics.m_280509_(-glowSize, -glowSize, this.backButtonW + glowSize, this.backButtonH + glowSize, 0xF28B0C | glowAlpha);
|
||||
graphics.fill(-glowSize, -glowSize, this.backButtonW + glowSize, this.backButtonH + glowSize, 0xF28B0C | glowAlpha);
|
||||
}
|
||||
int bgAlpha = (int)(255.0f * alpha) << 24;
|
||||
graphics.m_280509_(0, 0, this.backButtonW, this.backButtonH, 0x591515 | bgAlpha);
|
||||
graphics.fill(0, 0, this.backButtonW, this.backButtonH, 0x591515 | bgAlpha);
|
||||
int borderColor = this.backButtonHovered ? -881908 : -2529701;
|
||||
int borderAlpha = (int)(255.0f * alpha) << 24;
|
||||
int fadedBorderColor = borderColor & 0xFFFFFF | borderAlpha;
|
||||
graphics.m_280509_(0, 0, this.backButtonW, 2, fadedBorderColor);
|
||||
graphics.m_280509_(0, this.backButtonH - 2, this.backButtonW, this.backButtonH, fadedBorderColor);
|
||||
graphics.m_280509_(0, 0, 2, this.backButtonH, fadedBorderColor);
|
||||
graphics.m_280509_(this.backButtonW - 2, 0, this.backButtonW, this.backButtonH, fadedBorderColor);
|
||||
graphics.fill(0, 0, this.backButtonW, 2, fadedBorderColor);
|
||||
graphics.fill(0, this.backButtonH - 2, this.backButtonW, this.backButtonH, fadedBorderColor);
|
||||
graphics.fill(0, 0, 2, this.backButtonH, fadedBorderColor);
|
||||
graphics.fill(this.backButtonW - 2, 0, this.backButtonW, this.backButtonH, fadedBorderColor);
|
||||
graphics.m_280168_().m_85849_();
|
||||
String buttonText = "BACK";
|
||||
int textWidth = this.f_96547_.m_92895_(buttonText);
|
||||
int textWidth = this.f_96547_.width(buttonText);
|
||||
int textColor = this.backButtonHovered ? -881908 : -1;
|
||||
int textAlpha = (int)(255.0f * alpha) << 24;
|
||||
int fadedTextColor = textColor & 0xFFFFFF | textAlpha;
|
||||
@@ -732,7 +732,7 @@ extends Screen {
|
||||
|
||||
private void playButtonSound() {
|
||||
try {
|
||||
Minecraft minecraft = Minecraft.m_91087_();
|
||||
Minecraft minecraft = Minecraft.getInstance();
|
||||
if (minecraft.m_91106_() != null) {
|
||||
minecraft.m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119755_((SoundEvent)((SoundEvent)ModSounds.BUTTON_SOUND.get()), (float)1.0f, (float)1.0f));
|
||||
}
|
||||
|
||||
@@ -25,8 +25,8 @@ public class FirstTimeSetupHandler {
|
||||
if (event.phase != TickEvent.Phase.END) {
|
||||
return;
|
||||
}
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
if (!hasChecked && mc.f_91080_ instanceof TitleScreen) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (!hasChecked && mc.screen instanceof TitleScreen) {
|
||||
hasChecked = true;
|
||||
ExplosionOverhaul.LOGGER.info("Detected TitleScreen on client, hasChecked=true");
|
||||
if (Config.isFirstLaunch()) {
|
||||
@@ -36,7 +36,7 @@ public class FirstTimeSetupHandler {
|
||||
if (!pendingShowIntro) {
|
||||
return;
|
||||
}
|
||||
if (mc.f_91080_ instanceof TitleScreen) {
|
||||
if (mc.screen instanceof TitleScreen) {
|
||||
pendingShowIntro = false;
|
||||
ExplosionOverhaul.LOGGER.info("Showing IntroSplashScreen (first launch)");
|
||||
mc.m_91152_((Screen)new IntroSplashScreen());
|
||||
|
||||
@@ -38,7 +38,7 @@ public class GroundDustEffect {
|
||||
private final int raycastFrequency;
|
||||
|
||||
public GroundDustEffect(Vec3 position, float power) {
|
||||
this.level = Minecraft.m_91087_().f_91073_;
|
||||
this.level = Minecraft.getInstance().f_91073_;
|
||||
this.initialPosition = position;
|
||||
this.power = power;
|
||||
double qualityMultiplier = (Double)Config.CLIENT.groundDustQuality.get();
|
||||
|
||||
@@ -33,7 +33,7 @@ public class GroundMistEffect {
|
||||
private final int raycastFrequency;
|
||||
|
||||
public GroundMistEffect(Vec3 position, float power) {
|
||||
this.level = Minecraft.m_91087_().f_91073_;
|
||||
this.level = Minecraft.getInstance().f_91073_;
|
||||
this.initialPosition = position;
|
||||
this.power = power;
|
||||
double qualityMultiplier = (Double)Config.CLIENT.groundMistQuality.get();
|
||||
|
||||
@@ -89,7 +89,7 @@ extends Screen {
|
||||
private IntroMusicManager musicManager;
|
||||
|
||||
public GuideSlidesScreen() {
|
||||
super((Component)Component.m_237113_((String)"Guide Slides"));
|
||||
super((Component)Component.literal((String)"Guide Slides"));
|
||||
}
|
||||
|
||||
protected void m_7856_() {
|
||||
@@ -266,7 +266,7 @@ extends Screen {
|
||||
}
|
||||
|
||||
public void m_88315_(GuiGraphics graphics, int mouseX, int mouseY, float partialTick) {
|
||||
graphics.m_280509_(0, 0, this.f_96543_, this.f_96544_, -15921907);
|
||||
graphics.fill(0, 0, this.f_96543_, this.f_96544_, -15921907);
|
||||
if (this.fadeAlpha < 0.01f) {
|
||||
return;
|
||||
}
|
||||
@@ -307,19 +307,19 @@ extends Screen {
|
||||
}
|
||||
case EMBER: {
|
||||
int emberSize = (int)p.size;
|
||||
graphics.m_280509_((int)p.x - emberSize, (int)p.y - emberSize, (int)p.x + emberSize, (int)p.y + emberSize, colorWithAlpha);
|
||||
graphics.fill((int)p.x - emberSize, (int)p.y - emberSize, (int)p.x + emberSize, (int)p.y + emberSize, colorWithAlpha);
|
||||
break;
|
||||
}
|
||||
case FLASH: {
|
||||
int flashSize = (int)(p.size * 0.7f);
|
||||
int flashColor = colorWithAlpha & 0xFFFFFF | (int)(finalAlpha * 180.0f) << 24;
|
||||
graphics.m_280509_((int)p.x - flashSize, (int)p.y - flashSize, (int)p.x + flashSize, (int)p.y + flashSize, flashColor);
|
||||
graphics.fill((int)p.x - flashSize, (int)p.y - flashSize, (int)p.x + flashSize, (int)p.y + flashSize, flashColor);
|
||||
break;
|
||||
}
|
||||
case SMOKE: {
|
||||
int smokeSize = (int)p.size;
|
||||
int smokeColor = colorWithAlpha & 0xFFFFFF | (int)(finalAlpha * 60.0f) << 24;
|
||||
graphics.m_280509_((int)p.x - smokeSize, (int)p.y - smokeSize, (int)p.x + smokeSize, (int)p.y + smokeSize, smokeColor);
|
||||
graphics.fill((int)p.x - smokeSize, (int)p.y - smokeSize, (int)p.x + smokeSize, (int)p.y + smokeSize, smokeColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -336,10 +336,10 @@ extends Screen {
|
||||
graphics.m_280411_(texture, this.animationX, this.animationY, this.animationWidth, this.animationHeight, 0.0f, 0.0f, 854, 480, 854, 480);
|
||||
int glowColor = (int)(alpha * 32.0f) << 24 | 0xF28B0C;
|
||||
int borderThickness = 2;
|
||||
graphics.m_280509_(this.animationX - borderThickness, this.animationY - borderThickness, this.animationX + this.animationWidth + borderThickness, this.animationY, glowColor);
|
||||
graphics.m_280509_(this.animationX - borderThickness, this.animationY + this.animationHeight, this.animationX + this.animationWidth + borderThickness, this.animationY + this.animationHeight + borderThickness, glowColor);
|
||||
graphics.m_280509_(this.animationX - borderThickness, this.animationY, this.animationX, this.animationY + this.animationHeight, glowColor);
|
||||
graphics.m_280509_(this.animationX + this.animationWidth, this.animationY, this.animationX + this.animationWidth + borderThickness, this.animationY + this.animationHeight, glowColor);
|
||||
graphics.fill(this.animationX - borderThickness, this.animationY - borderThickness, this.animationX + this.animationWidth + borderThickness, this.animationY, glowColor);
|
||||
graphics.fill(this.animationX - borderThickness, this.animationY + this.animationHeight, this.animationX + this.animationWidth + borderThickness, this.animationY + this.animationHeight + borderThickness, glowColor);
|
||||
graphics.fill(this.animationX - borderThickness, this.animationY, this.animationX, this.animationY + this.animationHeight, glowColor);
|
||||
graphics.fill(this.animationX + this.animationWidth, this.animationY, this.animationX + this.animationWidth + borderThickness, this.animationY + this.animationHeight, glowColor);
|
||||
}
|
||||
|
||||
private void renderProgressBar(GuiGraphics graphics, float alpha) {
|
||||
@@ -350,13 +350,13 @@ extends Screen {
|
||||
int totalFrames = GuideSlidesScreen.SLIDES[this.currentSlideIndex].totalFrames;
|
||||
float progress = (float)currentFrame / (float)totalFrames;
|
||||
int bgColor = (int)(alpha * 128.0f) << 24 | 0;
|
||||
graphics.m_280509_(this.progressBarX, this.progressBarY, this.progressBarX + this.progressBarWidth, this.progressBarY + this.progressBarHeight, bgColor);
|
||||
graphics.fill(this.progressBarX, this.progressBarY, this.progressBarX + this.progressBarWidth, this.progressBarY + this.progressBarHeight, bgColor);
|
||||
int fillWidth = (int)((float)this.progressBarWidth * progress);
|
||||
int fillColor = (int)(alpha * 255.0f) << 24 | 0xF28B0C;
|
||||
graphics.m_280509_(this.progressBarX, this.progressBarY, this.progressBarX + fillWidth, this.progressBarY + this.progressBarHeight, fillColor);
|
||||
graphics.fill(this.progressBarX, this.progressBarY, this.progressBarX + fillWidth, this.progressBarY + this.progressBarHeight, fillColor);
|
||||
if (fillWidth > 0) {
|
||||
int glowColor = (int)(alpha * 64.0f) << 24 | 0xF28B0C;
|
||||
graphics.m_280509_(this.progressBarX + fillWidth - 4, this.progressBarY - 1, this.progressBarX + fillWidth, this.progressBarY + this.progressBarHeight + 1, glowColor);
|
||||
graphics.fill(this.progressBarX + fillWidth - 4, this.progressBarY - 1, this.progressBarX + fillWidth, this.progressBarY + this.progressBarHeight + 1, glowColor);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -372,7 +372,7 @@ extends Screen {
|
||||
int startY = textY;
|
||||
for (int i = 0; i < lines.size(); ++i) {
|
||||
String line = lines.get(i);
|
||||
int lineWidth = this.f_96547_.m_92895_(line);
|
||||
int lineWidth = this.f_96547_.width(line);
|
||||
int x = this.animationX + (this.animationWidth - lineWidth) / 2;
|
||||
graphics.m_280056_(this.f_96547_, line, x, startY + i * lineHeight, textColor, true);
|
||||
}
|
||||
@@ -384,7 +384,7 @@ extends Screen {
|
||||
StringBuilder currentLine = new StringBuilder();
|
||||
for (String word : words) {
|
||||
Object testLine = currentLine.length() > 0 ? currentLine + " " + word : word;
|
||||
int width = this.f_96547_.m_92895_((String)testLine);
|
||||
int width = this.f_96547_.width((String)testLine);
|
||||
if (width > maxWidth && currentLine.length() > 0) {
|
||||
lines.add(currentLine.toString());
|
||||
currentLine = new StringBuilder(word);
|
||||
@@ -448,7 +448,7 @@ extends Screen {
|
||||
for (int y = -radius; y <= radius; ++y) {
|
||||
for (int x = -radius; x <= radius; ++x) {
|
||||
if (x * x + y * y > radius * radius) continue;
|
||||
graphics.m_280509_(centerX + x, centerY + y, centerX + x + 1, centerY + y + 1, color);
|
||||
graphics.fill(centerX + x, centerY + y, centerX + x + 1, centerY + y + 1, color);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -476,7 +476,7 @@ extends Screen {
|
||||
maxX = Math.max(maxX, x);
|
||||
}
|
||||
if (minX == Integer.MAX_VALUE || maxX == Integer.MIN_VALUE) continue;
|
||||
graphics.m_280509_(minX, y, maxX + 1, y + 1, color);
|
||||
graphics.fill(minX, y, maxX + 1, y + 1, color);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -534,18 +534,18 @@ extends Screen {
|
||||
int drawX = this.continueButtonX - offsetX;
|
||||
int drawY = this.continueButtonY - offsetY;
|
||||
int bgColor = this.continueButtonHovered ? (int)(alpha * 220.0f) << 24 | 0xF28B0C : (int)(alpha * 160.0f) << 24 | 0x591515;
|
||||
graphics.m_280509_(drawX, drawY, drawX + scaledWidth, drawY + scaledHeight, bgColor);
|
||||
graphics.fill(drawX, drawY, drawX + scaledWidth, drawY + scaledHeight, bgColor);
|
||||
if (this.continueButtonHovered) {
|
||||
int glowColor = (int)(alpha * 80.0f) << 24 | 0xF28B0C;
|
||||
int border = 3;
|
||||
graphics.m_280509_(drawX - border, drawY - border, drawX + scaledWidth + border, drawY, glowColor);
|
||||
graphics.m_280509_(drawX - border, drawY + scaledHeight, drawX + scaledWidth + border, drawY + scaledHeight + border, glowColor);
|
||||
graphics.m_280509_(drawX - border, drawY, drawX, drawY + scaledHeight, glowColor);
|
||||
graphics.m_280509_(drawX + scaledWidth, drawY, drawX + scaledWidth + border, drawY + scaledHeight, glowColor);
|
||||
graphics.fill(drawX - border, drawY - border, drawX + scaledWidth + border, drawY, glowColor);
|
||||
graphics.fill(drawX - border, drawY + scaledHeight, drawX + scaledWidth + border, drawY + scaledHeight + border, glowColor);
|
||||
graphics.fill(drawX - border, drawY, drawX, drawY + scaledHeight, glowColor);
|
||||
graphics.fill(drawX + scaledWidth, drawY, drawX + scaledWidth + border, drawY + scaledHeight, glowColor);
|
||||
}
|
||||
String text = "Skip Guide";
|
||||
int textColor = (int)(alpha * 255.0f) << 24 | 0xFFFFFF;
|
||||
int textX = drawX + (scaledWidth - this.f_96547_.m_92895_(text)) / 2;
|
||||
int textX = drawX + (scaledWidth - this.f_96547_.width(text)) / 2;
|
||||
Objects.requireNonNull(this.f_96547_);
|
||||
int textY = drawY + (scaledHeight - 9) / 2;
|
||||
graphics.m_280056_(this.f_96547_, text, textX, textY, textColor, true);
|
||||
@@ -572,7 +572,7 @@ extends Screen {
|
||||
|
||||
private void transitionToFirstTimeScreen() {
|
||||
ExplosionOverhaul.LOGGER.info("All guide slides complete. Transitioning to FirstTimeScreen.");
|
||||
Minecraft.m_91087_().m_91152_((Screen)new FirstTimeScreen());
|
||||
Minecraft.getInstance().m_91152_((Screen)new FirstTimeScreen());
|
||||
}
|
||||
|
||||
private void drawLine(GuiGraphics graphics, int x1, int y1, int x2, int y2, int color) {
|
||||
@@ -582,7 +582,7 @@ extends Screen {
|
||||
int sy = y1 < y2 ? 1 : -1;
|
||||
int err = dx - dy;
|
||||
for (int steps = 0; steps < 200; ++steps) {
|
||||
graphics.m_280509_(x1, y1, x1 + 1, y1 + 1, color);
|
||||
graphics.fill(x1, y1, x1 + 1, y1 + 1, color);
|
||||
if (x1 == x2 && y1 == y2) break;
|
||||
int e2 = 2 * err;
|
||||
if (e2 > -dy) {
|
||||
@@ -609,7 +609,7 @@ extends Screen {
|
||||
|
||||
private void playButtonSound() {
|
||||
try {
|
||||
Minecraft minecraft = Minecraft.m_91087_();
|
||||
Minecraft minecraft = Minecraft.getInstance();
|
||||
if (minecraft.m_91106_() != null) {
|
||||
minecraft.m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119755_((SoundEvent)((SoundEvent)ModSounds.BUTTON_SOUND.get()), (float)1.0f, (float)1.0f));
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ public class IntroMusicManager {
|
||||
if (this.isPlaying) {
|
||||
return;
|
||||
}
|
||||
SoundManager soundManager = Minecraft.m_91087_().m_91106_();
|
||||
SoundManager soundManager = Minecraft.getInstance().m_91106_();
|
||||
this.musicInstance = new FadingMusicInstance((SoundEvent)ModSounds.INTRO_MUSIC.get(), 0.25f, SoundSource.MASTER);
|
||||
soundManager.m_120367_((SoundInstance)this.musicInstance);
|
||||
ExplosionOverhaul.LOGGER.info("Started intro music with FadingMusicInstance");
|
||||
@@ -63,7 +63,7 @@ public class IntroMusicManager {
|
||||
public void stopBoomSound() {
|
||||
if (this.boomInstance != null) {
|
||||
try {
|
||||
SoundManager soundManager = Minecraft.m_91087_().m_91106_();
|
||||
SoundManager soundManager = Minecraft.getInstance().m_91106_();
|
||||
soundManager.m_120399_((SoundInstance)this.boomInstance);
|
||||
this.boomInstance = null;
|
||||
ExplosionOverhaul.LOGGER.info("Boom sound stopped.");
|
||||
@@ -76,7 +76,7 @@ public class IntroMusicManager {
|
||||
|
||||
public void stop() {
|
||||
ExplosionOverhaul.LOGGER.info("stop() called! Stack trace:", (Throwable)new Exception("Music stop trace"));
|
||||
SoundManager soundManager = Minecraft.m_91087_().m_91106_();
|
||||
SoundManager soundManager = Minecraft.getInstance().m_91106_();
|
||||
if (this.musicInstance != null) {
|
||||
soundManager.m_120399_((SoundInstance)this.musicInstance);
|
||||
this.musicInstance = null;
|
||||
@@ -112,7 +112,7 @@ public class IntroMusicManager {
|
||||
}
|
||||
|
||||
private void stopVanillaMusic() {
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.m_91397_() != null) {
|
||||
mc.m_91397_().m_120186_();
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ extends Screen {
|
||||
private boolean animationFinished = false;
|
||||
|
||||
public IntroSplashScreen() {
|
||||
super((Component)Component.m_237113_((String)"Intro"));
|
||||
super((Component)Component.literal((String)"Intro"));
|
||||
}
|
||||
|
||||
protected void m_7856_() {
|
||||
@@ -62,7 +62,7 @@ extends Screen {
|
||||
public void m_88315_(GuiGraphics graphics, int mouseX, int mouseY, float partialTick) {
|
||||
int displayWidth;
|
||||
int displayHeight;
|
||||
graphics.m_280509_(0, 0, this.f_96543_, this.f_96544_, -16777216);
|
||||
graphics.fill(0, 0, this.f_96543_, this.f_96544_, -16777216);
|
||||
if (this.animator == null) {
|
||||
return;
|
||||
}
|
||||
@@ -127,10 +127,10 @@ extends Screen {
|
||||
}
|
||||
|
||||
private void transitionToFirstTimeScreen() {
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
if (!(mc.f_91080_ instanceof TitleScreen)) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (!(mc.screen instanceof TitleScreen)) {
|
||||
mc.execute(() -> {
|
||||
if (mc.f_91080_ instanceof TitleScreen) {
|
||||
if (mc.screen instanceof TitleScreen) {
|
||||
mc.m_91152_((Screen)new VinlanxSplashScreen());
|
||||
} else {
|
||||
mc.m_91152_((Screen)new VinlanxSplashScreen());
|
||||
|
||||
@@ -55,9 +55,9 @@ extends TextureSheetParticle {
|
||||
}
|
||||
stretchFactor = Mth.m_14036_((float)stretchFactor, (float)0.0f, (float)1.0f);
|
||||
float distanceScale = 1.0f;
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
if (mc.f_91074_ != null) {
|
||||
double distSqr = mc.f_91074_.m_20275_(this.f_107212_, this.f_107213_, this.f_107214_);
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc.player != null) {
|
||||
double distSqr = mc.player.m_20275_(this.f_107212_, this.f_107213_, this.f_107214_);
|
||||
double dist = Math.sqrt(distSqr);
|
||||
if (dist > 171.0) {
|
||||
distanceScale = 2.5f;
|
||||
|
||||
@@ -108,18 +108,18 @@ public class LowPassConcussionEffect {
|
||||
});
|
||||
SoundEngineAudioQueue.drainNow();
|
||||
}
|
||||
if (debugShowChat && (mc = Minecraft.m_91087_()) != null && mc.f_91074_ != null) {
|
||||
mc.f_91074_.m_5661_((Component)Component.m_237113_((String)("Low pass test queued for " + seconds + "s (strength=" + addedStrength + ")")), false);
|
||||
if (debugShowChat && (mc = Minecraft.getInstance()) != null && mc.player != null) {
|
||||
mc.player.m_5661_((Component)Component.literal((String)("Low pass test queued for " + seconds + "s (strength=" + addedStrength + ")")), false);
|
||||
}
|
||||
}
|
||||
|
||||
public static void start(int seconds, float intensity, double effectivePercent, String visibility, int intensityPercent) {
|
||||
Minecraft mc;
|
||||
if (debugShowChat && (mc = Minecraft.m_91087_()) != null && mc.f_91074_ != null) {
|
||||
mc.f_91074_.m_5661_((Component)Component.m_237113_((String)"__________________________________________"), false);
|
||||
if (debugShowChat && (mc = Minecraft.getInstance()) != null && mc.player != null) {
|
||||
mc.player.m_5661_((Component)Component.literal((String)"__________________________________________"), false);
|
||||
String msg = String.format("\u041f\u043e\u0442\u0443\u0436\u043d\u0456\u0441\u0442\u044c \u043a\u043e\u043d\u0442\u0443\u0437\u0456\u0457 %.1f%% (%s) \u2014 \u0421\u0438\u043b\u0430 \u043f\u0440\u0438\u0433\u043b\u0443\u0448\u0435\u043d\u043d\u044f %d%%, \u0427\u0430\u0441 \u043f\u0440\u0438\u0433\u043b\u0443\u0448\u0435\u043d\u043d\u044f %.1f \u0441\u0435\u043a", effectivePercent, visibility, intensityPercent, (double)seconds);
|
||||
mc.f_91074_.m_5661_((Component)Component.m_237113_((String)msg).m_130940_(ChatFormatting.WHITE), false);
|
||||
mc.f_91074_.m_5661_((Component)Component.m_237113_((String)"__________________________________________"), false);
|
||||
mc.player.m_5661_((Component)Component.literal((String)msg).m_130940_(ChatFormatting.WHITE), false);
|
||||
mc.player.m_5661_((Component)Component.literal((String)"__________________________________________"), false);
|
||||
}
|
||||
LowPassConcussionEffect.start(seconds, intensity);
|
||||
}
|
||||
@@ -162,7 +162,7 @@ public class LowPassConcussionEffect {
|
||||
}
|
||||
|
||||
public static void onClientTick() {
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc != null && mc.m_91104_()) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -28,188 +28,188 @@ import net.neoforged.neoforge.common.ModConfigSpec;
|
||||
|
||||
public class ModConfigScreen {
|
||||
public static Screen create(Screen parent) {
|
||||
ConfigBuilder builder = ConfigBuilder.create().setParentScreen(parent).setTitle((Component)Component.m_237115_((String)"title.explosionoverhaul.config"));
|
||||
ConfigBuilder builder = ConfigBuilder.create().setParentScreen(parent).setTitle((Component)Component.translatable((String)"title.explosionoverhaul.config"));
|
||||
ConfigEntryBuilder entryBuilder = builder.entryBuilder();
|
||||
ConfigCategory serverCategory = builder.getOrCreateCategory((Component)Component.m_237115_((String)"category.explosionoverhaul.server"));
|
||||
ConfigCategory serverCategory = builder.getOrCreateCategory((Component)Component.translatable((String)"category.explosionoverhaul.server"));
|
||||
builder.setSavingRunnable(() -> {
|
||||
Config.CLIENT_SPEC.save();
|
||||
Config.COMMON_SPEC.save();
|
||||
ExplosionTextureManager.getInstance().reload();
|
||||
});
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableFallingBlocks"), ((Boolean)Config.COMMON.enableFallingBlocks.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableFallingBlocks")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableFallingBlocks).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableExplosionClustering"), ((Boolean)Config.COMMON.enableExplosionClustering.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableExplosionClustering")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableExplosionClustering).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableCraterDestruction"), ((Boolean)Config.COMMON.enableCraterDestruction.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableCraterDestruction")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableCraterDestruction).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableGlassBreaking"), ((Boolean)Config.COMMON.enableGlassBreaking.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableGlassBreaking")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableGlassBreaking).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableDripstoneFalling"), ((Boolean)Config.COMMON.enableDripstoneFalling.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableDripstoneFalling")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableDripstoneFalling).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableLampFlicker"), ((Boolean)Config.COMMON.enableLampFlicker.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableLampFlicker")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableLampFlicker).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237113_((String)" ")).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237115_((String)"option.explosionoverhaul.craterSettingsHeader")).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.craterSizeMultiplier"), (int)((Double)Config.COMMON.craterSizeMultiplier.get() * 100.0), 10, 5000).setDefaultValue(100).setTextGetter(value -> {
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableFallingBlocks"), ((Boolean)Config.COMMON.enableFallingBlocks.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableFallingBlocks")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableFallingBlocks).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableExplosionClustering"), ((Boolean)Config.COMMON.enableExplosionClustering.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableExplosionClustering")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableExplosionClustering).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableCraterDestruction"), ((Boolean)Config.COMMON.enableCraterDestruction.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableCraterDestruction")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableCraterDestruction).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableGlassBreaking"), ((Boolean)Config.COMMON.enableGlassBreaking.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableGlassBreaking")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableGlassBreaking).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableDripstoneFalling"), ((Boolean)Config.COMMON.enableDripstoneFalling.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableDripstoneFalling")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableDripstoneFalling).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableLampFlicker"), ((Boolean)Config.COMMON.enableLampFlicker.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableLampFlicker")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableLampFlicker).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((String)"option.explosionoverhaul.craterSettingsHeader")).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.craterSizeMultiplier"), (int)((Double)Config.COMMON.craterSizeMultiplier.get() * 100.0), 10, 5000).setDefaultValue(100).setTextGetter(value -> {
|
||||
double val = (double)value.intValue() / 100.0;
|
||||
Object text = String.format("%.2fx", val);
|
||||
if (val > 10.0) {
|
||||
text = (String)text + " \u00a7c(EXTREME!)";
|
||||
}
|
||||
return Component.m_237113_((String)text);
|
||||
return Component.literal((String)text);
|
||||
}).setTooltipSupplier(value -> Optional.of(ModConfigScreen.generateCraterTable((double)value.intValue() / 100.0))).setSaveConsumer(newValue -> Config.COMMON.craterSizeMultiplier.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.craterCoreRatio"), (int)((Double)Config.COMMON.craterCoreRatio.get() * 100.0), 10, 95).setDefaultValue(70).setTextGetter(value -> Component.m_237113_((String)(value + "%"))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.craterCoreRatio")}).setSaveConsumer(newValue -> Config.COMMON.craterCoreRatio.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237113_((String)" ")).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237113_((String)"--- Async Crater Pipeline ---")).setTooltip(new Component[]{Component.m_237113_((String)"Computes crater geometry off-thread and applies block changes in batches per tick.")}).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableAsyncCrater"), ((Boolean)Config.COMMON.enableAsyncCrater.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableAsyncCrater")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableAsyncCrater).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.maxClusterPower"), ((Integer)Config.COMMON.maxClusterPower.get()).intValue(), 4, 1000).setDefaultValue(100).setTextGetter(v -> Component.m_237113_((String)String.valueOf(v))).setTooltipSupplier(v -> {
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.craterCoreRatio"), (int)((Double)Config.COMMON.craterCoreRatio.get() * 100.0), 10, 95).setDefaultValue(70).setTextGetter(value -> Component.literal((String)(value + "%"))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.craterCoreRatio")}).setSaveConsumer(newValue -> Config.COMMON.craterCoreRatio.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)"--- Async Crater Pipeline ---")).setTooltip(new Component[]{Component.literal((String)"Computes crater geometry off-thread and applies block changes in batches per tick.")}).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableAsyncCrater"), ((Boolean)Config.COMMON.enableAsyncCrater.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableAsyncCrater")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableAsyncCrater).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.maxClusterPower"), ((Integer)Config.COMMON.maxClusterPower.get()).intValue(), 4, 1000).setDefaultValue(100).setTextGetter(v -> Component.literal((String)String.valueOf(v))).setTooltipSupplier(v -> {
|
||||
if (v >= 500) {
|
||||
return Optional.of(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.maxClusterPower"), Component.m_237113_((String)""), Component.m_237113_((String)"\u26a0 ").m_130944_(new ChatFormatting[]{ChatFormatting.RED, ChatFormatting.BOLD}).m_7220_((Component)Component.m_237115_((String)"warning.explosionoverhaul.crashRisk").m_130944_(new ChatFormatting[]{ChatFormatting.DARK_RED, ChatFormatting.BOLD}))});
|
||||
return Optional.of(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.maxClusterPower"), Component.literal((String)""), Component.literal((String)"\u26a0 ").m_130944_(new ChatFormatting[]{ChatFormatting.RED, ChatFormatting.BOLD}).m_7220_((Component)Component.translatable((String)"warning.explosionoverhaul.crashRisk").m_130944_(new ChatFormatting[]{ChatFormatting.DARK_RED, ChatFormatting.BOLD}))});
|
||||
}
|
||||
if (v >= 300) {
|
||||
return Optional.of(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.maxClusterPower"), Component.m_237113_((String)""), Component.m_237115_((String)"warning.explosionoverhaul.severeRenderingLag").m_130940_(ChatFormatting.DARK_RED)});
|
||||
return Optional.of(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.maxClusterPower"), Component.literal((String)""), Component.translatable((String)"warning.explosionoverhaul.severeRenderingLag").m_130940_(ChatFormatting.DARK_RED)});
|
||||
}
|
||||
if (v >= 150) {
|
||||
return Optional.of(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.maxClusterPower"), Component.m_237113_((String)""), Component.m_237115_((String)"warning.explosionoverhaul.renderingLag").m_130940_(ChatFormatting.GOLD)});
|
||||
return Optional.of(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.maxClusterPower"), Component.literal((String)""), Component.translatable((String)"warning.explosionoverhaul.renderingLag").m_130940_(ChatFormatting.GOLD)});
|
||||
}
|
||||
return Optional.of(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.maxClusterPower")});
|
||||
return Optional.of(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.maxClusterPower")});
|
||||
}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.maxClusterPower).set(arg_0)).build());
|
||||
int availableThreads = Runtime.getRuntime().availableProcessors();
|
||||
int maxThreadsForSystem = Math.min(32, availableThreads);
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.craterMaxThreads"), ((Integer)Config.COMMON.craterMaxThreads.get()).intValue(), 0, maxThreadsForSystem).setDefaultValue(0).setTextGetter(v -> Component.m_237113_((String)(v == 0 ? "Auto (" + availableThreads + ")" : String.valueOf(v)))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.craterMaxThreads")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.craterMaxThreads).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.craterApplyBlocksPerTick"), ((Integer)Config.COMMON.craterApplyBlocksPerTick.get()).intValue(), 0, 150000).setDefaultValue(50000).setTextGetter(v -> Component.m_237113_((String)(v + " blocks/tick"))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.craterApplyBlocksPerTick")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.craterApplyBlocksPerTick).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.craterMaxFallingBlocksPerTick"), ((Integer)Config.COMMON.craterMaxFallingBlocksPerTick.get()).intValue(), 0, 2000).setDefaultValue(500).setTextGetter(v -> Component.m_237113_((String)(v + " entities/tick"))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.craterMaxFallingBlocksPerTick")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.craterMaxFallingBlocksPerTick).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableDirectChunkWrites"), ((Boolean)Config.COMMON.enableDirectChunkWrites.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableDirectChunkWrites")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableDirectChunkWrites).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.craterChunksPerTick"), ((Integer)Config.COMMON.craterChunksPerTick.get()).intValue(), 0, 500).setDefaultValue(120).setTextGetter(v -> Component.m_237113_((String)(v + " chunks/tick"))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.craterChunksPerTick")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.craterChunksPerTick).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237113_((String)" ")).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237115_((String)"option.explosionoverhaul.glassBreakingSettings")).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.glassBreakingIntervalTicks"), ((Integer)Config.COMMON.glassBreakingIntervalTicks.get()).intValue(), 1, 20).setDefaultValue(1).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.glassBreakingIntervalTicks")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.glassBreakingIntervalTicks).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.glassBlocksPerCycle"), ((Integer)Config.COMMON.glassBlocksPerCycle.get()).intValue(), 10, 500).setDefaultValue(70).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.glassBlocksPerCycle")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.glassBlocksPerCycle).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237113_((String)" ")).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237115_((String)"option.explosionoverhaul.lampFlickerSettings")).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.lampFlickerSearchRadius"), ((Integer)Config.COMMON.lampFlickerSearchRadius.get()).intValue(), 1, 100).setDefaultValue(50).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.lampFlickerSearchRadius")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.lampFlickerSearchRadius).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237115_((String)"option.explosionoverhaul.dripstoneFallingSettings")).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.dripstoneFallingSearchRadius"), ((Integer)Config.COMMON.dripstoneFallingSearchRadius.get()).intValue(), 1, 100).setDefaultValue(50).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.dripstoneFallingSearchRadius")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.dripstoneFallingSearchRadius).set(arg_0)).build());
|
||||
ConfigCategory ambientCategory = builder.getOrCreateCategory((Component)Component.m_237115_((String)"category.explosionoverhaul.ambient"));
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.craterMaxThreads"), ((Integer)Config.COMMON.craterMaxThreads.get()).intValue(), 0, maxThreadsForSystem).setDefaultValue(0).setTextGetter(v -> Component.literal((String)(v == 0 ? "Auto (" + availableThreads + ")" : String.valueOf(v)))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.craterMaxThreads")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.craterMaxThreads).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.craterApplyBlocksPerTick"), ((Integer)Config.COMMON.craterApplyBlocksPerTick.get()).intValue(), 0, 150000).setDefaultValue(50000).setTextGetter(v -> Component.literal((String)(v + " blocks/tick"))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.craterApplyBlocksPerTick")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.craterApplyBlocksPerTick).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.craterMaxFallingBlocksPerTick"), ((Integer)Config.COMMON.craterMaxFallingBlocksPerTick.get()).intValue(), 0, 2000).setDefaultValue(500).setTextGetter(v -> Component.literal((String)(v + " entities/tick"))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.craterMaxFallingBlocksPerTick")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.craterMaxFallingBlocksPerTick).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableDirectChunkWrites"), ((Boolean)Config.COMMON.enableDirectChunkWrites.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableDirectChunkWrites")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableDirectChunkWrites).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.craterChunksPerTick"), ((Integer)Config.COMMON.craterChunksPerTick.get()).intValue(), 0, 500).setDefaultValue(120).setTextGetter(v -> Component.literal((String)(v + " chunks/tick"))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.craterChunksPerTick")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.craterChunksPerTick).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((String)"option.explosionoverhaul.glassBreakingSettings")).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.glassBreakingIntervalTicks"), ((Integer)Config.COMMON.glassBreakingIntervalTicks.get()).intValue(), 1, 20).setDefaultValue(1).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.glassBreakingIntervalTicks")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.glassBreakingIntervalTicks).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.glassBlocksPerCycle"), ((Integer)Config.COMMON.glassBlocksPerCycle.get()).intValue(), 10, 500).setDefaultValue(70).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.glassBlocksPerCycle")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.glassBlocksPerCycle).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((String)"option.explosionoverhaul.lampFlickerSettings")).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.lampFlickerSearchRadius"), ((Integer)Config.COMMON.lampFlickerSearchRadius.get()).intValue(), 1, 100).setDefaultValue(50).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.lampFlickerSearchRadius")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.lampFlickerSearchRadius).set(arg_0)).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((String)"option.explosionoverhaul.dripstoneFallingSettings")).build());
|
||||
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.dripstoneFallingSearchRadius"), ((Integer)Config.COMMON.dripstoneFallingSearchRadius.get()).intValue(), 1, 100).setDefaultValue(50).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.dripstoneFallingSearchRadius")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.dripstoneFallingSearchRadius).set(arg_0)).build());
|
||||
ConfigCategory ambientCategory = builder.getOrCreateCategory((Component)Component.translatable((String)"category.explosionoverhaul.ambient"));
|
||||
Config.Common.Ambient ambientConfig = Config.COMMON.ambient;
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableAmbientExplosions"), ((Boolean)ambientConfig.enableAmbientExplosions.get()).booleanValue()).setDefaultValue(false).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableAmbientExplosions")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)ambientConfig.enableAmbientExplosions).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.minTimeBetweenExplosions"), (Integer)ambientConfig.minTimeBetweenExplosions.get() / 20, 5, 3600).setDefaultValue(60).setTextGetter(value -> Component.m_237113_((String)(value + " s"))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.minTimeBetweenExplosions")}).setSaveConsumer(newValue -> ambientConfig.minTimeBetweenExplosions.set((Object)(newValue * 20))).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.maxTimeBetweenExplosions"), (Integer)ambientConfig.maxTimeBetweenExplosions.get() / 20, 10, 3600).setDefaultValue(300).setTextGetter(value -> Component.m_237113_((String)(value + " s"))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.maxTimeBetweenExplosions")}).setSaveConsumer(newValue -> ambientConfig.maxTimeBetweenExplosions.set((Object)(newValue * 20))).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.minExplosionDistance"), ((Integer)ambientConfig.minExplosionDistance.get()).intValue(), 100, 10000).setDefaultValue(501).setTextGetter(value -> Component.m_237113_((String)(value + " blocks"))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.minExplosionDistance")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)ambientConfig.minExplosionDistance).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.maxExplosionDistance"), ((Integer)ambientConfig.maxExplosionDistance.get()).intValue(), 200, 10000).setDefaultValue(5001).setTextGetter(value -> Component.m_237113_((String)(value + " blocks"))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.maxExplosionDistance")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)ambientConfig.maxExplosionDistance).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.maxAmbientExplosionPower"), (int)((Double)ambientConfig.maxAmbientExplosionPower.get() * 10.0), 400, 2000).setDefaultValue(800).setTextGetter(value -> Component.m_237113_((String)String.format("%.1f", (double)value.intValue() / 10.0))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.maxAmbientExplosionPower")}).setSaveConsumer(newValue -> ambientConfig.maxAmbientExplosionPower.set((Object)((double)newValue.intValue() / 10.0))).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableAmbientExplosions"), ((Boolean)ambientConfig.enableAmbientExplosions.get()).booleanValue()).setDefaultValue(false).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableAmbientExplosions")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)ambientConfig.enableAmbientExplosions).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.minTimeBetweenExplosions"), (Integer)ambientConfig.minTimeBetweenExplosions.get() / 20, 5, 3600).setDefaultValue(60).setTextGetter(value -> Component.literal((String)(value + " s"))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.minTimeBetweenExplosions")}).setSaveConsumer(newValue -> ambientConfig.minTimeBetweenExplosions.set((Object)(newValue * 20))).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.maxTimeBetweenExplosions"), (Integer)ambientConfig.maxTimeBetweenExplosions.get() / 20, 10, 3600).setDefaultValue(300).setTextGetter(value -> Component.literal((String)(value + " s"))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.maxTimeBetweenExplosions")}).setSaveConsumer(newValue -> ambientConfig.maxTimeBetweenExplosions.set((Object)(newValue * 20))).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.minExplosionDistance"), ((Integer)ambientConfig.minExplosionDistance.get()).intValue(), 100, 10000).setDefaultValue(501).setTextGetter(value -> Component.literal((String)(value + " blocks"))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.minExplosionDistance")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)ambientConfig.minExplosionDistance).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.maxExplosionDistance"), ((Integer)ambientConfig.maxExplosionDistance.get()).intValue(), 200, 10000).setDefaultValue(5001).setTextGetter(value -> Component.literal((String)(value + " blocks"))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.maxExplosionDistance")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)ambientConfig.maxExplosionDistance).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.maxAmbientExplosionPower"), (int)((Double)ambientConfig.maxAmbientExplosionPower.get() * 10.0), 400, 2000).setDefaultValue(800).setTextGetter(value -> Component.literal((String)String.format("%.1f", (double)value.intValue() / 10.0))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.maxAmbientExplosionPower")}).setSaveConsumer(newValue -> ambientConfig.maxAmbientExplosionPower.set((Object)((double)newValue.intValue() / 10.0))).build());
|
||||
Config.Common.Ambient.Scenarios scenariosConfig = ambientConfig.scenarios;
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237113_((String)" ")).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237115_((String)"option.explosionoverhaul.scenariosHeader")).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.scenariosHeader")}).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.singleExplosionWeight"), ((Integer)scenariosConfig.singleExplosionWeight.get()).intValue(), 0, 100).setTextGetter(v -> Component.m_237113_((String)(v + "%"))).setDefaultValue(70).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.singleExplosionWeight).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.chainReactionWeight"), ((Integer)scenariosConfig.chainReactionWeight.get()).intValue(), 0, 100).setTextGetter(v -> Component.m_237113_((String)(v + "%"))).setDefaultValue(15).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.chainReactionWeight).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.shellingWeight"), ((Integer)scenariosConfig.shellingWeight.get()).intValue(), 0, 100).setTextGetter(v -> Component.m_237113_((String)(v + "%"))).setDefaultValue(15).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.shellingWeight).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237115_((String)"option.explosionoverhaul.chainReactionSettingsHeader")).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.minChainReactionShots"), ((Integer)scenariosConfig.minChainReactionShots.get()).intValue(), 2, 20).setDefaultValue(3).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.minChainReactionShots).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.maxChainReactionShots"), ((Integer)scenariosConfig.maxChainReactionShots.get()).intValue(), 2, 20).setDefaultValue(7).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.maxChainReactionShots).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.minTimeBetweenChainShots"), ((Integer)scenariosConfig.minTimeBetweenChainShots.get()).intValue(), 5, 200).setTextGetter(v -> Component.m_237113_((String)String.format("%.2fs", (double)v.intValue() / 20.0))).setDefaultValue(10).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.minTimeBetweenChainShots).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.maxTimeBetweenChainShots"), ((Integer)scenariosConfig.maxTimeBetweenChainShots.get()).intValue(), 10, 400).setTextGetter(v -> Component.m_237113_((String)String.format("%.2fs", (double)v.intValue() / 20.0))).setDefaultValue(40).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.maxTimeBetweenChainShots).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237115_((String)"option.explosionoverhaul.shellingSettingsHeader")).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.minShellingDelay"), ((Integer)scenariosConfig.minShellingDelay.get()).intValue(), 20, 400).setTextGetter(v -> Component.m_237113_((String)String.format("%.2fs", (double)v.intValue() / 20.0))).setDefaultValue(40).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.minShellingDelay).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.maxShellingDelay"), ((Integer)scenariosConfig.maxShellingDelay.get()).intValue(), 20, 400).setTextGetter(v -> Component.m_237113_((String)String.format("%.2fs", (double)v.intValue() / 20.0))).setDefaultValue(140).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.maxShellingDelay).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237113_((String)" ")).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237115_((String)"option.explosionoverhaul.powerTiersHeader")).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.powerTiersHeader")}).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.tier1_weight"), ((Integer)ambientConfig.powerTiers.tier1_weight.get()).intValue(), 0, 100).setTextGetter(v -> Component.m_237113_((String)(v + "%"))).setDefaultValue(50).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)ambientConfig.powerTiers.tier1_weight).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.tier2_weight"), ((Integer)ambientConfig.powerTiers.tier2_weight.get()).intValue(), 0, 100).setTextGetter(v -> Component.m_237113_((String)(v + "%"))).setDefaultValue(25).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)ambientConfig.powerTiers.tier2_weight).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.tier3_weight"), ((Integer)ambientConfig.powerTiers.tier3_weight.get()).intValue(), 0, 100).setTextGetter(v -> Component.m_237113_((String)(v + "%"))).setDefaultValue(15).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)ambientConfig.powerTiers.tier3_weight).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.tier4_weight"), ((Integer)ambientConfig.powerTiers.tier4_weight.get()).intValue(), 0, 100).setTextGetter(v -> Component.m_237113_((String)(v + "%"))).setDefaultValue(8).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)ambientConfig.powerTiers.tier4_weight).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.tier5_weight"), ((Integer)ambientConfig.powerTiers.tier5_weight.get()).intValue(), 0, 100).setTextGetter(v -> Component.m_237113_((String)(v + "%"))).setDefaultValue(2).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)ambientConfig.powerTiers.tier5_weight).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237113_((String)" ")).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237115_((String)"option.explosionoverhaul.soundTypesHeader")).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableSurfaceSounds"), ((Boolean)ambientConfig.soundTypes.enableSurfaceSounds.get()).booleanValue()).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableSurfaceSounds")}).setDefaultValue(true).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)ambientConfig.soundTypes.enableSurfaceSounds).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableCaveSounds"), ((Boolean)ambientConfig.soundTypes.enableCaveSounds.get()).booleanValue()).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableCaveSounds")}).setDefaultValue(true).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)ambientConfig.soundTypes.enableCaveSounds).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableAmbientCaveDust"), ((Boolean)ambientConfig.soundTypes.enableAmbientCaveDust.get()).booleanValue()).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableAmbientCaveDust")}).setDefaultValue(true).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)ambientConfig.soundTypes.enableAmbientCaveDust).set(arg_0)).build());
|
||||
ConfigCategory renderCategory = builder.getOrCreateCategory((Component)Component.m_237115_((String)"category.explosionoverhaul.render"));
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startEnumSelector((Component)Component.m_237115_((String)"option.explosionoverhaul.glowTextureQuality"), Config.Client.GlowTextureQuality.class, (Enum)((Config.Client.GlowTextureQuality)((Object)Config.CLIENT.glowTextureQuality.get()))).setDefaultValue((Enum)Config.Client.GlowTextureQuality.QUALITY_256).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.glowTextureQuality")}).setSaveConsumer(arg_0 -> Config.CLIENT.glowTextureQuality.set(arg_0)).setEnumNameProvider(value -> Component.m_237113_((String)(value == Config.Client.GlowTextureQuality.QUALITY_64 ? "64x" : "256x"))).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startEnumSelector((Component)Component.m_237115_((String)"option.explosionoverhaul.particleRenderMode"), Config.Client.ParticleRenderMode.class, (Enum)((Config.Client.ParticleRenderMode)((Object)Config.CLIENT.particleRenderMode.get()))).setDefaultValue((Enum)Config.Client.ParticleRenderMode.VANILA).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.particleRenderMode")}).setSaveConsumer(arg_0 -> Config.CLIENT.particleRenderMode.set(arg_0)).setEnumNameProvider(value -> {
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((String)"option.explosionoverhaul.scenariosHeader")).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.scenariosHeader")}).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.singleExplosionWeight"), ((Integer)scenariosConfig.singleExplosionWeight.get()).intValue(), 0, 100).setTextGetter(v -> Component.literal((String)(v + "%"))).setDefaultValue(70).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.singleExplosionWeight).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.chainReactionWeight"), ((Integer)scenariosConfig.chainReactionWeight.get()).intValue(), 0, 100).setTextGetter(v -> Component.literal((String)(v + "%"))).setDefaultValue(15).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.chainReactionWeight).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.shellingWeight"), ((Integer)scenariosConfig.shellingWeight.get()).intValue(), 0, 100).setTextGetter(v -> Component.literal((String)(v + "%"))).setDefaultValue(15).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.shellingWeight).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((String)"option.explosionoverhaul.chainReactionSettingsHeader")).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.minChainReactionShots"), ((Integer)scenariosConfig.minChainReactionShots.get()).intValue(), 2, 20).setDefaultValue(3).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.minChainReactionShots).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.maxChainReactionShots"), ((Integer)scenariosConfig.maxChainReactionShots.get()).intValue(), 2, 20).setDefaultValue(7).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.maxChainReactionShots).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.minTimeBetweenChainShots"), ((Integer)scenariosConfig.minTimeBetweenChainShots.get()).intValue(), 5, 200).setTextGetter(v -> Component.literal((String)String.format("%.2fs", (double)v.intValue() / 20.0))).setDefaultValue(10).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.minTimeBetweenChainShots).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.maxTimeBetweenChainShots"), ((Integer)scenariosConfig.maxTimeBetweenChainShots.get()).intValue(), 10, 400).setTextGetter(v -> Component.literal((String)String.format("%.2fs", (double)v.intValue() / 20.0))).setDefaultValue(40).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.maxTimeBetweenChainShots).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((String)"option.explosionoverhaul.shellingSettingsHeader")).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.minShellingDelay"), ((Integer)scenariosConfig.minShellingDelay.get()).intValue(), 20, 400).setTextGetter(v -> Component.literal((String)String.format("%.2fs", (double)v.intValue() / 20.0))).setDefaultValue(40).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.minShellingDelay).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.maxShellingDelay"), ((Integer)scenariosConfig.maxShellingDelay.get()).intValue(), 20, 400).setTextGetter(v -> Component.literal((String)String.format("%.2fs", (double)v.intValue() / 20.0))).setDefaultValue(140).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)scenariosConfig.maxShellingDelay).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((String)"option.explosionoverhaul.powerTiersHeader")).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.powerTiersHeader")}).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.tier1_weight"), ((Integer)ambientConfig.powerTiers.tier1_weight.get()).intValue(), 0, 100).setTextGetter(v -> Component.literal((String)(v + "%"))).setDefaultValue(50).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)ambientConfig.powerTiers.tier1_weight).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.tier2_weight"), ((Integer)ambientConfig.powerTiers.tier2_weight.get()).intValue(), 0, 100).setTextGetter(v -> Component.literal((String)(v + "%"))).setDefaultValue(25).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)ambientConfig.powerTiers.tier2_weight).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.tier3_weight"), ((Integer)ambientConfig.powerTiers.tier3_weight.get()).intValue(), 0, 100).setTextGetter(v -> Component.literal((String)(v + "%"))).setDefaultValue(15).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)ambientConfig.powerTiers.tier3_weight).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.tier4_weight"), ((Integer)ambientConfig.powerTiers.tier4_weight.get()).intValue(), 0, 100).setTextGetter(v -> Component.literal((String)(v + "%"))).setDefaultValue(8).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)ambientConfig.powerTiers.tier4_weight).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.tier5_weight"), ((Integer)ambientConfig.powerTiers.tier5_weight.get()).intValue(), 0, 100).setTextGetter(v -> Component.literal((String)(v + "%"))).setDefaultValue(2).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)ambientConfig.powerTiers.tier5_weight).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((String)"option.explosionoverhaul.soundTypesHeader")).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableSurfaceSounds"), ((Boolean)ambientConfig.soundTypes.enableSurfaceSounds.get()).booleanValue()).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableSurfaceSounds")}).setDefaultValue(true).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)ambientConfig.soundTypes.enableSurfaceSounds).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableCaveSounds"), ((Boolean)ambientConfig.soundTypes.enableCaveSounds.get()).booleanValue()).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableCaveSounds")}).setDefaultValue(true).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)ambientConfig.soundTypes.enableCaveSounds).set(arg_0)).build());
|
||||
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableAmbientCaveDust"), ((Boolean)ambientConfig.soundTypes.enableAmbientCaveDust.get()).booleanValue()).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableAmbientCaveDust")}).setDefaultValue(true).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)ambientConfig.soundTypes.enableAmbientCaveDust).set(arg_0)).build());
|
||||
ConfigCategory renderCategory = builder.getOrCreateCategory((Component)Component.translatable((String)"category.explosionoverhaul.render"));
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startEnumSelector((Component)Component.translatable((String)"option.explosionoverhaul.glowTextureQuality"), Config.Client.GlowTextureQuality.class, (Enum)((Config.Client.GlowTextureQuality)((Object)Config.CLIENT.glowTextureQuality.get()))).setDefaultValue((Enum)Config.Client.GlowTextureQuality.QUALITY_256).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.glowTextureQuality")}).setSaveConsumer(arg_0 -> Config.CLIENT.glowTextureQuality.set(arg_0)).setEnumNameProvider(value -> Component.literal((String)(value == Config.Client.GlowTextureQuality.QUALITY_64 ? "64x" : "256x"))).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startEnumSelector((Component)Component.translatable((String)"option.explosionoverhaul.particleRenderMode"), Config.Client.ParticleRenderMode.class, (Enum)((Config.Client.ParticleRenderMode)((Object)Config.CLIENT.particleRenderMode.get()))).setDefaultValue((Enum)Config.Client.ParticleRenderMode.VANILA).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.particleRenderMode")}).setSaveConsumer(arg_0 -> Config.CLIENT.particleRenderMode.set(arg_0)).setEnumNameProvider(value -> {
|
||||
if (value == Config.Client.ParticleRenderMode.VANILA) {
|
||||
return Component.m_237113_((String)"Vanilla-like");
|
||||
return Component.literal((String)"Vanilla-like");
|
||||
}
|
||||
if (value == Config.Client.ParticleRenderMode.REALISTIC_2) {
|
||||
return Component.m_237113_((String)"Realistic 2");
|
||||
return Component.literal((String)"Realistic 2");
|
||||
}
|
||||
return Component.m_237113_((String)"Realistic");
|
||||
return Component.literal((String)"Realistic");
|
||||
}).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.particleSizeScale"), (int)((Double)Config.CLIENT.particleSizeScale.get() * 100.0), 10, 500).setDefaultValue(100).setTextGetter(value -> Component.m_237113_((String)String.format("%.2fx", (double)value.intValue() / 100.0))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.particleSizeScale")}).setSaveConsumer(newValue -> Config.CLIENT.particleSizeScale.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableExplosionParticles"), ((Boolean)Config.CLIENT.enableExplosionParticles.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableExplosionParticles")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableExplosionParticles).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237113_((String)" ")).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enablePlasmaParticles"), ((Boolean)Config.CLIENT.enablePlasmaParticles.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enablePlasmaParticles")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enablePlasmaParticles).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enablePlasmaSmokeTrail"), ((Boolean)Config.CLIENT.enablePlasmaSmokeTrail.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enablePlasmaSmokeTrail")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enablePlasmaSmokeTrail).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.plasmaSmokeFrequency"), (int)((Double)Config.CLIENT.plasmaSmokeFrequency.get() * 100.0), 0, 100).setDefaultValue(25).setTextGetter(value -> Component.m_237113_((String)(value + "%"))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.plasmaSmokeFrequency")}).setSaveConsumer(newValue -> Config.CLIENT.plasmaSmokeFrequency.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.plasmaSmokeCount"), ((Integer)Config.CLIENT.plasmaSmokeCount.get()).intValue(), 0, 5).setDefaultValue(1).setTextGetter(value -> Component.m_237113_((String)String.valueOf(value))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.plasmaSmokeCount")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.CLIENT.plasmaSmokeCount).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237113_((String)" ")).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableFlashEffect"), ((Boolean)Config.CLIENT.enableFlashEffect.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableFlashEffect")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableFlashEffect).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.flashMaxOpacity"), (int)((Double)Config.CLIENT.flashMaxOpacity.get() * 100.0), 0, 100).setDefaultValue(50).setTextGetter(value -> Component.m_237113_((String)(value + "%"))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.flashMaxOpacity")}).setSaveConsumer(newValue -> Config.CLIENT.flashMaxOpacity.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237113_((String)" ")).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableLineSparks"), ((Boolean)Config.CLIENT.enableLineSparks.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableLineSparks")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableLineSparks).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.lineSparkAmountMultiplier"), (int)((Double)Config.CLIENT.lineSparkAmountMultiplier.get() * 100.0), 0, 500).setDefaultValue(100).setTextGetter(value -> Component.m_237113_((String)String.format("%d%%", value))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.lineSparkAmountMultiplier")}).setSaveConsumer(newValue -> Config.CLIENT.lineSparkAmountMultiplier.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237113_((String)" ")).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableGroundDustEffect"), ((Boolean)Config.CLIENT.enableGroundDustEffect.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableGroundDustEffect")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableGroundDustEffect).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.groundDustQuality"), (int)((Double)Config.CLIENT.groundDustQuality.get() * 100.0), 0, 100).setDefaultValue(100).setTextGetter(value -> Component.m_237113_((String)(value + "%"))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.groundDustQuality")}).setSaveConsumer(newValue -> Config.CLIENT.groundDustQuality.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.groundDustRaycastFrequency"), ((Integer)Config.CLIENT.groundDustRaycastFrequency.get()).intValue(), 1, 20).setDefaultValue(10).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.groundDustRaycastFrequency")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.CLIENT.groundDustRaycastFrequency).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237113_((String)" ")).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableGroundMistEffect"), ((Boolean)Config.CLIENT.enableGroundMistEffect.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableGroundMistEffect")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableGroundMistEffect).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.groundMistQuality"), (int)((Double)Config.CLIENT.groundMistQuality.get() * 100.0), 0, 100).setDefaultValue(100).setTextGetter(value -> Component.m_237113_((String)(value + "%"))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.groundMistQuality")}).setSaveConsumer(newValue -> Config.CLIENT.groundMistQuality.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.groundMistRaycastFrequency"), ((Integer)Config.CLIENT.groundMistRaycastFrequency.get()).intValue(), 1, 20).setDefaultValue(10).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.groundMistRaycastFrequency")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.CLIENT.groundMistRaycastFrequency).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237113_((String)" ")).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableShockwaveEffect"), ((Boolean)Config.CLIENT.enableShockwaveEffect.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableShockwaveEffect")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableShockwaveEffect).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237113_((String)" ")).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableWindEffect"), ((Boolean)Config.CLIENT.enableWindEffect.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableWindEffect")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableWindEffect).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.windSpeedMultiplier"), (int)((Double)Config.CLIENT.windSpeedMultiplier.get() * 100.0), 100, 200).setDefaultValue(100).setTextGetter(value -> Component.m_237113_((String)String.format("%.2fx", (double)value.intValue() / 100.0))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.windSpeedMultiplier")}).setSaveConsumer(newValue -> Config.CLIENT.windSpeedMultiplier.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
ConfigCategory cameraCategory = builder.getOrCreateCategory((Component)Component.m_237115_((String)"category.explosionoverhaul.camera"));
|
||||
cameraCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableCameraShake"), ((Boolean)Config.CLIENT.enableCameraShake.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableCameraShake")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableCameraShake).set(arg_0)).build());
|
||||
cameraCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.cameraShakeAmplifier"), (int)((Double)Config.CLIENT.cameraShakeAmplifier.get() * 10.0), 0, 100).setDefaultValue(10).setTextGetter(value -> Component.m_237113_((String)String.format("%.1fx", (double)value.intValue() / 10.0))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.cameraShakeAmplifier")}).setSaveConsumer(newValue -> Config.CLIENT.cameraShakeAmplifier.set((Object)((double)newValue.intValue() / 10.0))).build());
|
||||
cameraCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237115_((String)"option.explosionoverhaul.cameraServerHeader")).build());
|
||||
cameraCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enablePlayerShake"), ((Boolean)Config.COMMON.enablePlayerShake.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enablePlayerShake")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enablePlayerShake).set(arg_0)).build());
|
||||
cameraCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.playerShakeAmplifier"), (int)((Double)Config.COMMON.playerShakeAmplifier.get() * 10.0), 0, 100).setDefaultValue(10).setTextGetter(value -> Component.m_237113_((String)String.format("%.1fx", (double)value.intValue() / 10.0))).setTooltip(new Component[]{Component.m_237115_((String)"option.explosionoverhaul.playerShakeAmplifier")}).setSaveConsumer(newValue -> Config.COMMON.playerShakeAmplifier.set((Object)((double)newValue.intValue() / 10.0))).build());
|
||||
ConfigCategory scanCategory = builder.getOrCreateCategory((Component)Component.m_237115_((String)"category.explosionoverhaul.scan"));
|
||||
scanCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237115_((String)"option.explosionoverhaul.scanSettingsHeader")).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.particleSizeScale"), (int)((Double)Config.CLIENT.particleSizeScale.get() * 100.0), 10, 500).setDefaultValue(100).setTextGetter(value -> Component.literal((String)String.format("%.2fx", (double)value.intValue() / 100.0))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.particleSizeScale")}).setSaveConsumer(newValue -> Config.CLIENT.particleSizeScale.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableExplosionParticles"), ((Boolean)Config.CLIENT.enableExplosionParticles.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableExplosionParticles")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableExplosionParticles).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enablePlasmaParticles"), ((Boolean)Config.CLIENT.enablePlasmaParticles.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enablePlasmaParticles")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enablePlasmaParticles).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enablePlasmaSmokeTrail"), ((Boolean)Config.CLIENT.enablePlasmaSmokeTrail.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enablePlasmaSmokeTrail")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enablePlasmaSmokeTrail).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.plasmaSmokeFrequency"), (int)((Double)Config.CLIENT.plasmaSmokeFrequency.get() * 100.0), 0, 100).setDefaultValue(25).setTextGetter(value -> Component.literal((String)(value + "%"))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.plasmaSmokeFrequency")}).setSaveConsumer(newValue -> Config.CLIENT.plasmaSmokeFrequency.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.plasmaSmokeCount"), ((Integer)Config.CLIENT.plasmaSmokeCount.get()).intValue(), 0, 5).setDefaultValue(1).setTextGetter(value -> Component.literal((String)String.valueOf(value))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.plasmaSmokeCount")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.CLIENT.plasmaSmokeCount).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableFlashEffect"), ((Boolean)Config.CLIENT.enableFlashEffect.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableFlashEffect")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableFlashEffect).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.flashMaxOpacity"), (int)((Double)Config.CLIENT.flashMaxOpacity.get() * 100.0), 0, 100).setDefaultValue(50).setTextGetter(value -> Component.literal((String)(value + "%"))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.flashMaxOpacity")}).setSaveConsumer(newValue -> Config.CLIENT.flashMaxOpacity.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableLineSparks"), ((Boolean)Config.CLIENT.enableLineSparks.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableLineSparks")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableLineSparks).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.lineSparkAmountMultiplier"), (int)((Double)Config.CLIENT.lineSparkAmountMultiplier.get() * 100.0), 0, 500).setDefaultValue(100).setTextGetter(value -> Component.literal((String)String.format("%d%%", value))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.lineSparkAmountMultiplier")}).setSaveConsumer(newValue -> Config.CLIENT.lineSparkAmountMultiplier.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableGroundDustEffect"), ((Boolean)Config.CLIENT.enableGroundDustEffect.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableGroundDustEffect")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableGroundDustEffect).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.groundDustQuality"), (int)((Double)Config.CLIENT.groundDustQuality.get() * 100.0), 0, 100).setDefaultValue(100).setTextGetter(value -> Component.literal((String)(value + "%"))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.groundDustQuality")}).setSaveConsumer(newValue -> Config.CLIENT.groundDustQuality.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.groundDustRaycastFrequency"), ((Integer)Config.CLIENT.groundDustRaycastFrequency.get()).intValue(), 1, 20).setDefaultValue(10).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.groundDustRaycastFrequency")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.CLIENT.groundDustRaycastFrequency).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableGroundMistEffect"), ((Boolean)Config.CLIENT.enableGroundMistEffect.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableGroundMistEffect")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableGroundMistEffect).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.groundMistQuality"), (int)((Double)Config.CLIENT.groundMistQuality.get() * 100.0), 0, 100).setDefaultValue(100).setTextGetter(value -> Component.literal((String)(value + "%"))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.groundMistQuality")}).setSaveConsumer(newValue -> Config.CLIENT.groundMistQuality.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.groundMistRaycastFrequency"), ((Integer)Config.CLIENT.groundMistRaycastFrequency.get()).intValue(), 1, 20).setDefaultValue(10).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.groundMistRaycastFrequency")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.CLIENT.groundMistRaycastFrequency).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableShockwaveEffect"), ((Boolean)Config.CLIENT.enableShockwaveEffect.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableShockwaveEffect")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableShockwaveEffect).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableWindEffect"), ((Boolean)Config.CLIENT.enableWindEffect.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableWindEffect")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableWindEffect).set(arg_0)).build());
|
||||
renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.windSpeedMultiplier"), (int)((Double)Config.CLIENT.windSpeedMultiplier.get() * 100.0), 100, 200).setDefaultValue(100).setTextGetter(value -> Component.literal((String)String.format("%.2fx", (double)value.intValue() / 100.0))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.windSpeedMultiplier")}).setSaveConsumer(newValue -> Config.CLIENT.windSpeedMultiplier.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
ConfigCategory cameraCategory = builder.getOrCreateCategory((Component)Component.translatable((String)"category.explosionoverhaul.camera"));
|
||||
cameraCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableCameraShake"), ((Boolean)Config.CLIENT.enableCameraShake.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableCameraShake")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableCameraShake).set(arg_0)).build());
|
||||
cameraCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.cameraShakeAmplifier"), (int)((Double)Config.CLIENT.cameraShakeAmplifier.get() * 10.0), 0, 100).setDefaultValue(10).setTextGetter(value -> Component.literal((String)String.format("%.1fx", (double)value.intValue() / 10.0))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.cameraShakeAmplifier")}).setSaveConsumer(newValue -> Config.CLIENT.cameraShakeAmplifier.set((Object)((double)newValue.intValue() / 10.0))).build());
|
||||
cameraCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((String)"option.explosionoverhaul.cameraServerHeader")).build());
|
||||
cameraCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enablePlayerShake"), ((Boolean)Config.COMMON.enablePlayerShake.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enablePlayerShake")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enablePlayerShake).set(arg_0)).build());
|
||||
cameraCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.playerShakeAmplifier"), (int)((Double)Config.COMMON.playerShakeAmplifier.get() * 10.0), 0, 100).setDefaultValue(10).setTextGetter(value -> Component.literal((String)String.format("%.1fx", (double)value.intValue() / 10.0))).setTooltip(new Component[]{Component.translatable((String)"option.explosionoverhaul.playerShakeAmplifier")}).setSaveConsumer(newValue -> Config.COMMON.playerShakeAmplifier.set((Object)((double)newValue.intValue() / 10.0))).build());
|
||||
ConfigCategory scanCategory = builder.getOrCreateCategory((Component)Component.translatable((String)"category.explosionoverhaul.scan"));
|
||||
scanCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((String)"option.explosionoverhaul.scanSettingsHeader")).build());
|
||||
int availableCores = Runtime.getRuntime().availableProcessors();
|
||||
int maxThreads = Math.min(32, availableCores);
|
||||
scanCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.maxScanThreads"), ((Integer)Config.COMMON.scan.maxScanThreads.get()).intValue(), 0, maxThreads).setDefaultValue(0).setTextGetter(value -> {
|
||||
scanCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.maxScanThreads"), ((Integer)Config.COMMON.scan.maxScanThreads.get()).intValue(), 0, maxThreads).setDefaultValue(0).setTextGetter(value -> {
|
||||
if (value == 0) {
|
||||
return Component.m_237113_((String)("Auto (" + availableCores + " threads)"));
|
||||
return Component.literal((String)("Auto (" + availableCores + " threads)"));
|
||||
}
|
||||
return Component.m_237113_((String)String.valueOf(value));
|
||||
}).setTooltip(new Component[]{Component.m_237113_((String)("Maximum number of threads to use for chunk scanning.\n0 = Auto-detect (recommended): automatically uses all " + availableCores + " available threads\n1 = Single-threaded (slowest but safest for low-end servers)\n2-" + maxThreads + " = Custom thread count (available range for your system)\nYour system supports up to " + availableCores + " threads.\nMore threads = faster scanning but higher CPU usage."))}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.scan.maxScanThreads).set(arg_0)).build());
|
||||
scanCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.cpuUsagePercent"), ((Integer)Config.COMMON.scan.cpuUsagePercent.get()).intValue(), 1, 100).setDefaultValue(75).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.cpuUsagePercent")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.scan.cpuUsagePercent).set(arg_0)).build());
|
||||
scanCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableBlockIndexing"), ((Boolean)Config.COMMON.scan.enableBlockIndexing.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableBlockIndexing")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.scan.enableBlockIndexing).set(arg_0)).build());
|
||||
scanCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.showScanProgressHUD"), ((Boolean)Config.COMMON.scan.showScanProgressHUD.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.showScanProgressHUD")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.scan.showScanProgressHUD).set(arg_0)).build());
|
||||
ConfigCategory soundsCategory = builder.getOrCreateCategory((Component)Component.m_237115_((String)"category.explosionoverhaul.sounds"));
|
||||
soundsCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableAdvancedSoundSpeed"), ((Boolean)Config.COMMON.enableAdvancedSoundSpeed.get()).booleanValue()).setDefaultValue(false).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableAdvancedSoundSpeed")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableAdvancedSoundSpeed).set(arg_0)).build());
|
||||
ConfigCategory concussionCategory = builder.getOrCreateCategory((Component)Component.m_237115_((String)"category.explosionoverhaul.concussion"));
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableConcussion"), ((Boolean)Config.CLIENT.enableConcussion.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableConcussion")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableConcussion).set(arg_0)).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.concussionDurationMultiplier"), (int)((Double)Config.CLIENT.concussionDurationMultiplier.get() * 100.0), 0, 500).setDefaultValue(100).setTextGetter(value -> Component.m_237113_((String)String.format("%.2fx", (double)value.intValue() / 100.0))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.concussionDurationMultiplier")}).setSaveConsumer(newValue -> Config.CLIENT.concussionDurationMultiplier.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.concussionChanceMultiplier"), (int)((Double)Config.CLIENT.concussionChanceMultiplier.get() * 100.0), 0, 500).setDefaultValue(100).setTextGetter(value -> Component.m_237113_((String)(value + "%"))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.concussionChanceMultiplier")}).setSaveConsumer(newValue -> Config.CLIENT.concussionChanceMultiplier.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableHeartbeatPulse"), ((Boolean)Config.CLIENT.enableHeartbeatPulse.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableHeartbeatPulse")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableHeartbeatPulse).set(arg_0)).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableCameraSway"), ((Boolean)Config.CLIENT.enableCameraSway.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableCameraSway")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableCameraSway).set(arg_0)).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.cameraSwayIntensity"), (int)((Double)Config.CLIENT.cameraSwayIntensity.get() * 100.0), 0, 500).setDefaultValue(100).setTextGetter(value -> Component.m_237113_((String)String.format("%.2fx", (double)value.intValue() / 100.0))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.cameraSwayIntensity")}).setSaveConsumer(newValue -> Config.CLIENT.cameraSwayIntensity.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableDeafness"), ((Boolean)Config.CLIENT.enableDeafness.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableDeafness")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableDeafness).set(arg_0)).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.enableLowPass"), ((Boolean)Config.CLIENT.enableLowPass.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.enableLowPass")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableLowPass).set(arg_0)).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.deafnessChanceMultiplier"), (int)((Double)Config.CLIENT.deafnessChanceMultiplier.get() * 100.0), 0, 500).setDefaultValue(100).setTextGetter(value -> Component.m_237113_((String)(value + "%"))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.deafnessChanceMultiplier")}).setSaveConsumer(newValue -> Config.CLIENT.deafnessChanceMultiplier.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.m_237115_((String)"option.explosionoverhaul.lowPassChanceMultiplier"), (int)((Double)Config.CLIENT.lowPassChanceMultiplier.get() * 100.0), 0, 500).setDefaultValue(100).setTextGetter(value -> Component.m_237113_((String)(value + "%"))).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.lowPassChanceMultiplier")}).setSaveConsumer(newValue -> Config.CLIENT.lowPassChanceMultiplier.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.m_237115_((String)"option.explosionoverhaul.showHeartbeatHUD"), ((Boolean)Config.CLIENT.showHeartbeatHUD.get()).booleanValue()).setDefaultValue(false).setTooltip(new Component[]{Component.m_237115_((String)"tooltip.explosionoverhaul.showHeartbeatHUD")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.showHeartbeatHUD).set(arg_0)).build());
|
||||
ConfigCategory blacklistCategory = builder.getOrCreateCategory((Component)Component.m_237115_((String)"category.explosionoverhaul.blacklists"));
|
||||
blacklistCategory.addEntry((AbstractConfigListEntry)new LinkButtonEntry((Component)Component.m_237115_((String)"option.explosionoverhaul.blacklist_button"), (Component)Component.m_237115_((String)"tooltip.explosionoverhaul.blacklist_button"), () -> Minecraft.m_91087_().m_91152_((Screen)new BlacklistScreen(parent))));
|
||||
return Component.literal((String)String.valueOf(value));
|
||||
}).setTooltip(new Component[]{Component.literal((String)("Maximum number of threads to use for chunk scanning.\n0 = Auto-detect (recommended): automatically uses all " + availableCores + " available threads\n1 = Single-threaded (slowest but safest for low-end servers)\n2-" + maxThreads + " = Custom thread count (available range for your system)\nYour system supports up to " + availableCores + " threads.\nMore threads = faster scanning but higher CPU usage."))}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.scan.maxScanThreads).set(arg_0)).build());
|
||||
scanCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.cpuUsagePercent"), ((Integer)Config.COMMON.scan.cpuUsagePercent.get()).intValue(), 1, 100).setDefaultValue(75).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.cpuUsagePercent")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.scan.cpuUsagePercent).set(arg_0)).build());
|
||||
scanCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableBlockIndexing"), ((Boolean)Config.COMMON.scan.enableBlockIndexing.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableBlockIndexing")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.scan.enableBlockIndexing).set(arg_0)).build());
|
||||
scanCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.showScanProgressHUD"), ((Boolean)Config.COMMON.scan.showScanProgressHUD.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.showScanProgressHUD")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.scan.showScanProgressHUD).set(arg_0)).build());
|
||||
ConfigCategory soundsCategory = builder.getOrCreateCategory((Component)Component.translatable((String)"category.explosionoverhaul.sounds"));
|
||||
soundsCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableAdvancedSoundSpeed"), ((Boolean)Config.COMMON.enableAdvancedSoundSpeed.get()).booleanValue()).setDefaultValue(false).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableAdvancedSoundSpeed")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.COMMON.enableAdvancedSoundSpeed).set(arg_0)).build());
|
||||
ConfigCategory concussionCategory = builder.getOrCreateCategory((Component)Component.translatable((String)"category.explosionoverhaul.concussion"));
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableConcussion"), ((Boolean)Config.CLIENT.enableConcussion.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableConcussion")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableConcussion).set(arg_0)).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.concussionDurationMultiplier"), (int)((Double)Config.CLIENT.concussionDurationMultiplier.get() * 100.0), 0, 500).setDefaultValue(100).setTextGetter(value -> Component.literal((String)String.format("%.2fx", (double)value.intValue() / 100.0))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.concussionDurationMultiplier")}).setSaveConsumer(newValue -> Config.CLIENT.concussionDurationMultiplier.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.concussionChanceMultiplier"), (int)((Double)Config.CLIENT.concussionChanceMultiplier.get() * 100.0), 0, 500).setDefaultValue(100).setTextGetter(value -> Component.literal((String)(value + "%"))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.concussionChanceMultiplier")}).setSaveConsumer(newValue -> Config.CLIENT.concussionChanceMultiplier.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableHeartbeatPulse"), ((Boolean)Config.CLIENT.enableHeartbeatPulse.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableHeartbeatPulse")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableHeartbeatPulse).set(arg_0)).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableCameraSway"), ((Boolean)Config.CLIENT.enableCameraSway.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableCameraSway")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableCameraSway).set(arg_0)).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.cameraSwayIntensity"), (int)((Double)Config.CLIENT.cameraSwayIntensity.get() * 100.0), 0, 500).setDefaultValue(100).setTextGetter(value -> Component.literal((String)String.format("%.2fx", (double)value.intValue() / 100.0))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.cameraSwayIntensity")}).setSaveConsumer(newValue -> Config.CLIENT.cameraSwayIntensity.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableDeafness"), ((Boolean)Config.CLIENT.enableDeafness.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableDeafness")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableDeafness).set(arg_0)).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.enableLowPass"), ((Boolean)Config.CLIENT.enableLowPass.get()).booleanValue()).setDefaultValue(true).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.enableLowPass")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.enableLowPass).set(arg_0)).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.deafnessChanceMultiplier"), (int)((Double)Config.CLIENT.deafnessChanceMultiplier.get() * 100.0), 0, 500).setDefaultValue(100).setTextGetter(value -> Component.literal((String)(value + "%"))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.deafnessChanceMultiplier")}).setSaveConsumer(newValue -> Config.CLIENT.deafnessChanceMultiplier.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startIntSlider((Component)Component.translatable((String)"option.explosionoverhaul.lowPassChanceMultiplier"), (int)((Double)Config.CLIENT.lowPassChanceMultiplier.get() * 100.0), 0, 500).setDefaultValue(100).setTextGetter(value -> Component.literal((String)(value + "%"))).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.lowPassChanceMultiplier")}).setSaveConsumer(newValue -> Config.CLIENT.lowPassChanceMultiplier.set((Object)((double)newValue.intValue() / 100.0))).build());
|
||||
concussionCategory.addEntry((AbstractConfigListEntry)entryBuilder.startBooleanToggle((Component)Component.translatable((String)"option.explosionoverhaul.showHeartbeatHUD"), ((Boolean)Config.CLIENT.showHeartbeatHUD.get()).booleanValue()).setDefaultValue(false).setTooltip(new Component[]{Component.translatable((String)"tooltip.explosionoverhaul.showHeartbeatHUD")}).setSaveConsumer(arg_0 -> ((ModConfigSpec.BooleanValue)Config.CLIENT.showHeartbeatHUD).set(arg_0)).build());
|
||||
ConfigCategory blacklistCategory = builder.getOrCreateCategory((Component)Component.translatable((String)"category.explosionoverhaul.blacklists"));
|
||||
blacklistCategory.addEntry((AbstractConfigListEntry)new LinkButtonEntry((Component)Component.translatable((String)"option.explosionoverhaul.blacklist_button"), (Component)Component.translatable((String)"tooltip.explosionoverhaul.blacklist_button"), () -> Minecraft.getInstance().m_91152_((Screen)new BlacklistScreen(parent))));
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
private static Component[] generateCraterTable(double multiplier) {
|
||||
int[] powerLevels;
|
||||
ArrayList<MutableComponent> lines = new ArrayList<MutableComponent>();
|
||||
lines.add(Component.m_237115_((String)"tooltip.explosionoverhaul.craterSizeMultiplier.title"));
|
||||
lines.add(Component.m_237113_((String)""));
|
||||
lines.add(Component.m_237113_((String)"\u00a7bPower \u00a78| \u00a7aApprox. Diameter"));
|
||||
lines.add(Component.m_237113_((String)"\u00a77--------------------------"));
|
||||
lines.add(Component.translatable((String)"tooltip.explosionoverhaul.craterSizeMultiplier.title"));
|
||||
lines.add(Component.literal((String)""));
|
||||
lines.add(Component.literal((String)"\u00a7bPower \u00a78| \u00a7aApprox. Diameter"));
|
||||
lines.add(Component.literal((String)"\u00a77--------------------------"));
|
||||
for (int power : powerLevels = new int[]{4, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100}) {
|
||||
float baseRadius = CraterDeformer.calculateRadius(power);
|
||||
float diameter = (float)((double)baseRadius * multiplier * 2.0);
|
||||
String formattedLine = String.format("\u00a7f%-12d\u00a78| \u00a7a~%.1f blocks", power, Float.valueOf(diameter));
|
||||
lines.add(Component.m_237113_((String)formattedLine));
|
||||
lines.add(Component.literal((String)formattedLine));
|
||||
}
|
||||
lines.add(Component.m_237113_((String)"\u00a77--------------------------"));
|
||||
lines.add(Component.m_237115_((String)"tooltip.explosionoverhaul.craterSizeMultiplier.footer"));
|
||||
lines.add(Component.m_237113_((String)""));
|
||||
lines.add(Component.m_237115_((String)"tooltip.explosionoverhaul.craterShapeInfo"));
|
||||
lines.add(Component.literal((String)"\u00a77--------------------------"));
|
||||
lines.add(Component.translatable((String)"tooltip.explosionoverhaul.craterSizeMultiplier.footer"));
|
||||
lines.add(Component.literal((String)""));
|
||||
lines.add(Component.translatable((String)"tooltip.explosionoverhaul.craterShapeInfo"));
|
||||
return lines.toArray(new Component[0]);
|
||||
}
|
||||
|
||||
@@ -230,7 +230,7 @@ public class ModConfigScreen {
|
||||
this.button.m_253211_(y);
|
||||
this.button.m_88315_(graphics, mouseX, mouseY, delta);
|
||||
if (mouseX >= this.button.m_252754_() && mouseX <= this.button.m_252754_() + this.button.m_5711_() && mouseY >= this.button.m_252907_() && mouseY <= this.button.m_252907_() + this.button.m_93694_()) {
|
||||
graphics.m_280557_(Minecraft.m_91087_().f_91062_, this.tooltip, mouseX, mouseY);
|
||||
graphics.m_280557_(Minecraft.getInstance().font, this.tooltip, mouseX, mouseY);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ public class PhysicsBasedExplosionEffect {
|
||||
this.position = position;
|
||||
this.power = power;
|
||||
this.random = new Random();
|
||||
this.level = Minecraft.m_91087_().f_91073_;
|
||||
this.level = Minecraft.getInstance().f_91073_;
|
||||
if (this.level == null) {
|
||||
this.finished = true;
|
||||
this.maxRadius = 0.0f;
|
||||
|
||||
@@ -25,7 +25,7 @@ public class ShockwaveEffect {
|
||||
private boolean finished = false;
|
||||
|
||||
public ShockwaveEffect(Vec3 position, float power) {
|
||||
this.level = Minecraft.m_91087_().f_91073_;
|
||||
this.level = Minecraft.getInstance().f_91073_;
|
||||
this.position = position;
|
||||
this.power = power;
|
||||
float powerFraction = Mth.m_184655_((float)this.power, (float)5.0f, (float)100.0f);
|
||||
|
||||
@@ -41,7 +41,7 @@ public class SpriteSheetAnimator {
|
||||
}
|
||||
|
||||
public void load() {
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
try {
|
||||
InputStream stream = ((Resource)mc.m_91098_().m_213713_(this.spriteSheetLocation).orElseThrow()).m_215507_();
|
||||
this.spriteSheet = NativeImage.m_85058_((InputStream)stream);
|
||||
|
||||
@@ -34,7 +34,7 @@ extends Screen {
|
||||
private SimpleSoundInstance boomSoundInstance;
|
||||
|
||||
public VinlanxSplashScreen() {
|
||||
super((Component)Component.m_237113_((String)"Vinlanx Intro"));
|
||||
super((Component)Component.literal((String)"Vinlanx Intro"));
|
||||
}
|
||||
|
||||
protected void m_7856_() {
|
||||
@@ -43,7 +43,7 @@ extends Screen {
|
||||
this.animator.load();
|
||||
this.animator.play();
|
||||
try {
|
||||
SoundManager soundManager = Minecraft.m_91087_().m_91106_();
|
||||
SoundManager soundManager = Minecraft.getInstance().m_91106_();
|
||||
this.boomSoundInstance = SimpleSoundInstance.m_119755_((SoundEvent)((SoundEvent)ModSounds.INTRO_BOOM_2.get()), (float)1.0f, (float)1.0f);
|
||||
soundManager.m_120367_((SoundInstance)this.boomSoundInstance);
|
||||
}
|
||||
@@ -69,7 +69,7 @@ extends Screen {
|
||||
public void m_88315_(GuiGraphics graphics, int mouseX, int mouseY, float partialTick) {
|
||||
int displayWidth;
|
||||
int displayHeight;
|
||||
graphics.m_280509_(0, 0, this.f_96543_, this.f_96544_, -16777216);
|
||||
graphics.fill(0, 0, this.f_96543_, this.f_96544_, -16777216);
|
||||
if (this.animator == null) {
|
||||
return;
|
||||
}
|
||||
@@ -125,7 +125,7 @@ extends Screen {
|
||||
}
|
||||
if (this.boomSoundInstance != null) {
|
||||
try {
|
||||
Minecraft.m_91087_().m_91106_().m_120399_((SoundInstance)this.boomSoundInstance);
|
||||
Minecraft.getInstance().m_91106_().m_120399_((SoundInstance)this.boomSoundInstance);
|
||||
}
|
||||
catch (Exception e) {
|
||||
ExplosionOverhaul.LOGGER.warn("Failed to stop intro_boom_2: {}", (Object)e.toString());
|
||||
@@ -139,7 +139,7 @@ extends Screen {
|
||||
}
|
||||
|
||||
private void transitionToFirstTimeScreen() {
|
||||
Minecraft mc = Minecraft.m_91087_();
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
mc.m_91152_((Screen)new GuideSlidesScreen());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user