Reduce decompile API blockers
Some checks failed
Build / build (push) Failing after 6m48s

This commit is contained in:
MrSphay
2026-05-04 13:33:41 +02:00
parent e41adca82b
commit 93c8d5efae
40 changed files with 472 additions and 1083 deletions

View File

@@ -137,7 +137,7 @@ configurations {
dependencies { dependencies {
implementation "curse.maven:cloth-config-348521:5623420" implementation "curse.maven:cloth-config-348521:5623420"
implementation "curse.maven:geckolib-388172:6920810" implementation "software.bernie.geckolib:geckolib-neoforge-1.21.1:4.7.7"
} }
// This block of code expands all declared replace properties in the specified resource targets. // This block of code expands all declared replace properties in the specified resource targets.

View File

@@ -29,7 +29,6 @@ import net.minecraft.util.Mth;
import net.minecraft.util.RandomSource; import net.minecraft.util.RandomSource;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.Vec3;
import net.neoforged.neoforge.network.PacketDistributor;
public class AmbientExplosionManager { public class AmbientExplosionManager {
private static final Map<UUID, PlayerTimer> playerTimers = new HashMap<UUID, PlayerTimer>(); private static final Map<UUID, PlayerTimer> playerTimers = new HashMap<UUID, PlayerTimer>();
@@ -310,7 +309,7 @@ public class AmbientExplosionManager {
explosionIsInCaveLocation = true; explosionIsInCaveLocation = true;
playerInCave = true; playerInCave = true;
if (isShellingShot || !((Boolean)Config.COMMON.ambient.soundTypes.enableAmbientCaveDust.get()).booleanValue()) break; 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) { 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)); 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); ServerExplosionHandler.CameraShakeProfile shakeProfile = AmbientExplosionManager.determineCameraShakeProfile(power, distance, playerInCave, level);
if (shakeProfile.intensity() > 0.0f && shakeProfile.durationTicks() > 0) { if (shakeProfile.intensity() > 0.0f && shakeProfile.durationTicks() > 0) {
int delayTicks = (int)Math.max(0L, Math.round(distance / speedOfSound)); 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)))) { 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); RedstoneLampEffects.triggerLampFlicker(level, player, power, delayTicksEffect, distance);
@@ -352,7 +351,7 @@ public class AmbientExplosionManager {
if (useAmbientSound) { 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); 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 { } 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));
} }
} }
} }

View File

@@ -87,7 +87,6 @@ import net.neoforged.neoforge.event.server.ServerStoppedEvent;
import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.Mod; import net.neoforged.fml.common.Mod;
import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.network.PacketDistributor;
import net.neoforged.neoforge.server.ServerLifecycleHooks; import net.neoforged.neoforge.server.ServerLifecycleHooks;
@EventBusSubscriber @EventBusSubscriber
@@ -386,7 +385,7 @@ public class BlockIndexManager {
if (server != null) { if (server != null) {
for (ServerPlayer player : server.m_6846_().m_11314_()) { for (ServerPlayer player : server.m_6846_().m_11314_()) {
if (!BlockIndexManager.isPlayerAuthorized(player)) continue; 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) { if (server != null) {
for (ServerPlayer player : server.m_6846_().m_11314_()) { for (ServerPlayer player : server.m_6846_().m_11314_()) {
if (!BlockIndexManager.isPlayerAuthorized(player)) continue; 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) { private static void sendScanPromptPacket(ServerPlayer player) {
try { try {
ScanPromptPacket packet = new ScanPromptPacket(true); 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()); ExplosionOverhaul.LOGGER.info("Sent scan prompt to authorized player: {}", (Object)player.m_7755_().getString());
} }
catch (Exception e) { catch (Exception e) {
@@ -459,14 +458,14 @@ public class BlockIndexManager {
try { try {
if (requestingPlayer != null && requestingPlayer.m_6084_()) { if (requestingPlayer != null && requestingPlayer.m_6084_()) {
ScanPromptPacket packet = new ScanPromptPacket(false); ScanPromptPacket packet = new ScanPromptPacket(false);
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> requestingPlayer), (Object)packet); PacketHandler.sendToPlayer(requestingPlayer, packet);
} else { } else {
MinecraftServer server = ServerLifecycleHooks.getCurrentServer(); MinecraftServer server = ServerLifecycleHooks.getCurrentServer();
if (server != null) { if (server != null) {
for (ServerPlayer player : server.m_6846_().m_11314_()) { for (ServerPlayer player : server.m_6846_().m_11314_()) {
if (!BlockIndexManager.isPlayerAuthorized(player)) continue; if (!BlockIndexManager.isPlayerAuthorized(player)) continue;
ScanPromptPacket packet = new ScanPromptPacket(false); 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_()) { for (ServerPlayer serverPlayer : currentServer.m_6846_().m_11314_()) {
if (!BlockIndexManager.isPlayerAuthorized(serverPlayer)) continue; if (!BlockIndexManager.isPlayerAuthorized(serverPlayer)) continue;
packet = new ScanLoadPromptPacket(false); 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()); 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_()) { for (ServerPlayer serverPlayer : server.m_6846_().m_11314_()) {
if (!BlockIndexManager.isPlayerAuthorized(serverPlayer)) continue; if (!BlockIndexManager.isPlayerAuthorized(serverPlayer)) continue;
ScanLoadPromptPacket hideLoadPacket = new ScanLoadPromptPacket(false); ScanLoadPromptPacket hideLoadPacket = new ScanLoadPromptPacket(false);
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> serverPlayer), (Object)hideLoadPacket); PacketHandler.sendToPlayer(serverPlayer, hideLoadPacket);
ScanPromptPacket showScanPacket = new ScanPromptPacket(true); 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()); ExplosionOverhaul.LOGGER.debug("Switched prompts for authorized player: {}", (Object)serverPlayer.m_7755_().getString());
} }
} }
@@ -554,14 +553,14 @@ public class BlockIndexManager {
try { try {
if (requestingPlayer != null && requestingPlayer.m_6084_()) { if (requestingPlayer != null && requestingPlayer.m_6084_()) {
ScanPromptPacket packet = new ScanPromptPacket(false); ScanPromptPacket packet = new ScanPromptPacket(false);
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> requestingPlayer), (Object)packet); PacketHandler.sendToPlayer(requestingPlayer, packet);
} else { } else {
MinecraftServer server = ServerLifecycleHooks.getCurrentServer(); MinecraftServer server = ServerLifecycleHooks.getCurrentServer();
if (server != null) { if (server != null) {
for (ServerPlayer player : server.m_6846_().m_11314_()) { for (ServerPlayer player : server.m_6846_().m_11314_()) {
if (!BlockIndexManager.isPlayerAuthorized(player)) continue; if (!BlockIndexManager.isPlayerAuthorized(player)) continue;
ScanPromptPacket packet = new ScanPromptPacket(false); 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; serverScanDecisionMade = false;
try { try {
ScanPromptPacket packet = new ScanPromptPacket(true); 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()); ExplosionOverhaul.LOGGER.info("BlockIndexManager: showing rescan prompt to player: {}", (Object)player.m_7755_().getString());
} }
catch (Exception e) { catch (Exception e) {
@@ -621,7 +620,7 @@ public class BlockIndexManager {
for (ServerPlayer player : server.m_6846_().m_11314_()) { for (ServerPlayer player : server.m_6846_().m_11314_()) {
if (!BlockIndexManager.isPlayerAuthorized(player)) continue; if (!BlockIndexManager.isPlayerAuthorized(player)) continue;
ScanPromptPacket packet = new ScanPromptPacket(show); ScanPromptPacket packet = new ScanPromptPacket(show);
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)packet); PacketHandler.sendToPlayer(player, packet);
if (!show) continue; if (!show) continue;
ExplosionOverhaul.LOGGER.debug("Sent scan prompt to authorized player: {}", (Object)player.m_7755_().getString()); ExplosionOverhaul.LOGGER.debug("Sent scan prompt to authorized player: {}", (Object)player.m_7755_().getString());
} }
@@ -1186,7 +1185,7 @@ public class BlockIndexManager {
hasSaveFile = true; hasSaveFile = true;
try { try {
ScanLoadPromptPacket packet = new ScanLoadPromptPacket(true); 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_()); ExplosionOverhaul.LOGGER.info("BlockIndexManager: showing load prompt for existing save file in world: {}", (Object)level.m_46472_().m_135782_());
} }
catch (Exception e) { catch (Exception e) {
@@ -1201,7 +1200,7 @@ public class BlockIndexManager {
} else if (BlockIndexManager.isScanning() || !chunkScanQueue.isEmpty() && totalChunksToScan > 0) { } else if (BlockIndexManager.isScanning() || !chunkScanQueue.isEmpty() && totalChunksToScan > 0) {
try { try {
ScanProgressPacket packet = new ScanProgressPacket(totalChunksToScan, chunksScanned, scanningComplete, lampsFound, dripstonesFound, glassBlocksFound); 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); ExplosionOverhaul.LOGGER.debug("Sent scan progress to rejoining OP player: {}/{} chunks", (Object)chunksScanned, (Object)totalChunksToScan);
} }
catch (Exception e) { catch (Exception e) {
@@ -1221,7 +1220,7 @@ public class BlockIndexManager {
hasSaveFile = true; hasSaveFile = true;
try { try {
ScanLoadPromptPacket packet = new ScanLoadPromptPacket(true); 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()); ExplosionOverhaul.LOGGER.info("BlockIndexManager: showing load prompt for existing save file to OP: {}", (Object)player2.m_7755_().getString());
} }
catch (Exception e) { catch (Exception e) {
@@ -1232,7 +1231,7 @@ public class BlockIndexManager {
hasSaveFile = false; hasSaveFile = false;
try { try {
ScanPromptPacket packet = new ScanPromptPacket(true); 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()); ExplosionOverhaul.LOGGER.info("BlockIndexManager: showing scan prompt to OP: {}", (Object)player2.m_7755_().getString());
} }
catch (Exception e) { catch (Exception e) {
@@ -1242,7 +1241,7 @@ public class BlockIndexManager {
} else if (totalChunksToScan > 0 && !scanningComplete) { } else if (totalChunksToScan > 0 && !scanningComplete) {
try { try {
ScanProgressPacket packet = new ScanProgressPacket(totalChunksToScan, chunksScanned, scanningComplete, lampsFound, dripstonesFound, glassBlocksFound); 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); ExplosionOverhaul.LOGGER.debug("Sent scan progress to joining OP player: {}/{} chunks", (Object)chunksScanned, (Object)totalChunksToScan);
} }
catch (Exception e) { catch (Exception e) {
@@ -1380,7 +1379,7 @@ public class BlockIndexManager {
INITIAL_SCAN_ENQUEUED = false; INITIAL_SCAN_ENQUEUED = false;
try { try {
ScanProgressPacket packet = new ScanProgressPacket(0, 0, true, 0, 0, 0); ScanProgressPacket packet = new ScanProgressPacket(0, 0, true, 0, 0, 0);
PacketHandler.INSTANCE.send(PacketDistributor.ALL.noArg(), (Object)packet); PacketHandler.sendToAll(packet);
} }
catch (Exception exception) { catch (Exception exception) {
// empty catch block // empty catch block
@@ -1415,7 +1414,7 @@ public class BlockIndexManager {
ServerPlayer player2 = (ServerPlayer)player; ServerPlayer player2 = (ServerPlayer)player;
try { try {
ScanProgressPacket packet = new ScanProgressPacket(0, 0, true, 0, 0, 0); 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) { catch (Exception exception) {
// empty catch block // empty catch block

View File

@@ -555,12 +555,12 @@ public class ExplosionOverhaul {
public static void onClientTick(TickEvent.ClientTickEvent event) { public static void onClientTick(TickEvent.ClientTickEvent event) {
if (event.phase == TickEvent.Phase.END) { if (event.phase == TickEvent.Phase.END) {
ClientEffects.onClientTick(); 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..."); LOGGER.info("Pre-warming explosion particle render pipeline...");
ClientLevel level = Minecraft.m_91087_().f_91073_; ClientLevel level = Minecraft.getInstance().f_91073_;
double x = Minecraft.m_91087_().f_91074_.m_20185_(); double x = Minecraft.getInstance().player.m_20185_();
double y = -200.0; 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); level.m_7106_((ParticleOptions)new PlasmaParticleOptions(1.0f), x, y, z, 0.0, 0.0, 0.0);
LOGGER.info("Pre-warming 'glow' animation..."); 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); 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; return;
} }
LOGGER.info("Preloading {} textures from '{}' to GPU...", (Object)locationsToLoad.size(), (Object)ExplosionOverhaul.MODID); 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) { for (ResourceLocation location : locationsToLoad) {
textureManager.m_118506_(location); textureManager.m_118506_(location);
} }

View File

@@ -37,7 +37,6 @@ import net.neoforged.neoforge.event.RegisterCommandsEvent;
import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.Mod; import net.neoforged.fml.common.Mod;
import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.network.PacketDistributor;
@EventBusSubscriber(modid="explosionoverhaul") @EventBusSubscriber(modid="explosionoverhaul")
public class ModCommands { public class ModCommands {
@@ -51,13 +50,13 @@ public class ModCommands {
float power = FloatArgumentType.getFloat((CommandContext)ctx, (String)"power"); float power = FloatArgumentType.getFloat((CommandContext)ctx, (String)"power");
float scale = FloatArgumentType.getFloat((CommandContext)ctx, (String)"scale"); float scale = FloatArgumentType.getFloat((CommandContext)ctx, (String)"scale");
int count = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"count"); 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) { 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); 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 centerY = (float)pos.f_82480_;
float maxRadius = Math.max(1.0f, power * 2.0f); float maxRadius = Math.max(1.0f, power * 2.0f);
float heightPercent = 0.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; return 1;
}))))))); })))))));
@@ -69,23 +68,23 @@ public class ModCommands {
for (int i = 0; i < 50; ++i) { 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); 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; return 1;
})); }));
dispatcher.register((LiteralArgumentBuilder)((LiteralArgumentBuilder)Commands.m_82127_((String)"rescanchunks").requires(source -> source.m_6761_(2))).executes(ctx -> { dispatcher.register((LiteralArgumentBuilder)((LiteralArgumentBuilder)Commands.m_82127_((String)"rescanchunks").requires(source -> source.m_6761_(2))).executes(ctx -> {
try { try {
Entity patt5242$temp = ((CommandSourceStack)ctx.getSource()).m_81373_(); Entity patt5242$temp = ((CommandSourceStack)ctx.getSource()).m_81373_();
if (!(patt5242$temp instanceof ServerPlayer)) { 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; return 0;
} }
ServerPlayer player = (ServerPlayer)patt5242$temp; ServerPlayer player = (ServerPlayer)patt5242$temp;
BlockIndexManager.showRescanPrompt(player); 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; return 1;
} }
catch (Exception e) { 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); ExplosionOverhaul.LOGGER.error("Failed to execute rescanchunks command", (Throwable)e);
return 0; 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 -> { 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_(); ServerPlayer player = ((CommandSourceStack)ctx.getSource()).m_81375_();
int duration = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"duration"); int duration = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"duration");
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)new LowPassTestPacket(duration)); PacketHandler.sendToPlayer(player, new LowPassTestPacket(duration));
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.m_237113_((String)("Started low-pass test for " + duration + "s")), false); ((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.literal((String)("Started low-pass test for " + duration + "s")), false);
return 1; 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 -> { 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_(); ServerPlayer player = ((CommandSourceStack)ctx.getSource()).m_81375_();
int duration = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"duration"); int duration = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"duration");
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)new BlurTestPacket(duration)); PacketHandler.sendToPlayer(player, new BlurTestPacket(duration));
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.m_237113_((String)("Started blur test for " + duration + "s")), false); ((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.literal((String)("Started blur test for " + duration + "s")), false);
return 1; 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 -> { 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 duration = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"duration");
int intensityPercent = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"intensity"); int intensityPercent = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"intensity");
float intensity = (float)intensityPercent / 100.0f; float intensity = (float)intensityPercent / 100.0f;
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)new CameraShakeConcussionPacket(duration, intensity)); PacketHandler.sendToPlayer(player, new CameraShakeConcussionPacket(duration, intensity));
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.m_237113_((String)("Started camera shake test for " + duration + "s at " + intensityPercent + "% intensity")), false); ((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.literal((String)("Started camera shake test for " + duration + "s at " + intensityPercent + "% intensity")), false);
return 1; 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 -> { 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"); boolean bl = turnOn = state.equals("on") || state.equals("enable") || state.equals("true");
if (target.equals("deafness") || target.equals("lowpass") || target.equals("low_pass")) { if (target.equals("deafness") || target.equals("lowpass") || target.equals("low_pass")) {
ServerPlayer player = ((CommandSourceStack)ctx.getSource()).m_81375_(); ServerPlayer player = ((CommandSourceStack)ctx.getSource()).m_81375_();
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)new OpenALTogglePacket(target, turnOn)); PacketHandler.sendToPlayer(player, new OpenALTogglePacket(target, turnOn));
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.m_237113_((String)("Sent OpenAL toggle to player: " + target + " -> " + (turnOn ? "ON" : "OFF"))), false); ((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.literal((String)("Sent OpenAL toggle to player: " + target + " -> " + (turnOn ? "ON" : "OFF"))), false);
return 1; 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; return 0;
})))); }))));
} }

View File

@@ -16,7 +16,7 @@ import net.neoforged.neoforge.registries.DeferredRegister;
public class ModCreativeTabs { public class ModCreativeTabs {
public static final DeferredRegister<CreativeModeTab> CREATIVE_MODE_TABS = DeferredRegister.create((ResourceKey)Registries.f_279569_, (String)"explosionoverhaul"); 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) { public static void register(IEventBus eventBus) {
CREATIVE_MODE_TABS.register(eventBus); CREATIVE_MODE_TABS.register(eventBus);

View File

@@ -23,12 +23,12 @@ public class OpenALTogglePacket {
} }
public OpenALTogglePacket(FriendlyByteBuf buf) { public OpenALTogglePacket(FriendlyByteBuf buf) {
this.target = buf.m_130136_(Short.MAX_VALUE); this.target = buf.readUtf(Short.MAX_VALUE);
this.enabled = buf.readBoolean(); this.enabled = buf.readBoolean();
} }
public void encode(FriendlyByteBuf buf) { public void encode(FriendlyByteBuf buf) {
buf.m_130070_(this.target); buf.writeUtf(this.target);
buf.writeBoolean(this.enabled); buf.writeBoolean(this.enabled);
} }
@@ -44,13 +44,13 @@ public class OpenALTogglePacket {
DeafnessConcussionEffect.enabled = packet.enabled; DeafnessConcussionEffect.enabled = packet.enabled;
DeafnessConcussionEffect.debugShowChat = packet.enabled; DeafnessConcussionEffect.debugShowChat = packet.enabled;
if (DeafnessConcussionEffect.debugShowChat) { 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")) { } else if (t.equals("lowpass") || t.equals("low_pass")) {
LowPassConcussionEffect.enabled = packet.enabled; LowPassConcussionEffect.enabled = packet.enabled;
LowPassConcussionEffect.debugShowChat = packet.enabled; LowPassConcussionEffect.debugShowChat = packet.enabled;
if (LowPassConcussionEffect.debugShowChat) { 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);
} }
} }
})); }));

View File

@@ -26,6 +26,7 @@ import com.vinlanx.explosionoverhaul.SpawnShockwavePacket;
import com.vinlanx.explosionoverhaul.StartConcussionPacket; import com.vinlanx.explosionoverhaul.StartConcussionPacket;
import com.vinlanx.explosionoverhaul.SuppressExplosionSoundPacket; import com.vinlanx.explosionoverhaul.SuppressExplosionSoundPacket;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerPlayer;
import net.neoforged.neoforge.network.NetworkRegistry; import net.neoforged.neoforge.network.NetworkRegistry;
import net.neoforged.neoforge.network.simple.SimpleChannel; 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++, ScanLoadPromptPacket.class, ScanLoadPromptPacket::encode, ScanLoadPromptPacket::decode, ScanLoadPromptPacket::handle);
INSTANCE.registerMessage(messageId++, ScanLoadControlPacket.class, ScanLoadControlPacket::encode, ScanLoadControlPacket::decode, ScanLoadControlPacket::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);
}
} }

View File

@@ -29,36 +29,36 @@ public class ScanInfoHUD {
if (!isVisible) { if (!isVisible) {
return; return;
} }
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc.f_91074_ == null) { if (mc.player == null) {
return; return;
} }
if (!mc.f_91074_.m_20310_(2) && !mc.m_91091_()) { if (!mc.player.m_20310_(2) && !mc.hasSingleplayerServer()) {
return; return;
} }
GuiGraphics guiGraphics = event.getGuiGraphics(); 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; int maxWidth = 0;
for (String line : infoLines) { for (String line : infoLines) {
int lineWidth = mc.f_91062_.m_92895_(line); int lineWidth = mc.font.width(line);
if (lineWidth <= maxWidth) continue; if (lineWidth <= maxWidth) continue;
maxWidth = lineWidth; maxWidth = lineWidth;
} }
int windowWidth = maxWidth + 20; int windowWidth = maxWidth + 20;
int windowHeight = infoLines.length * 12 + 20; int windowHeight = infoLines.length * 12 + 20;
int screenWidth = mc.m_91268_().m_85445_(); int screenWidth = mc.getWindow().getGuiScaledWidth();
int screenHeight = mc.m_91268_().m_85446_(); int screenHeight = mc.getWindow().getGuiScaledHeight();
int x = (screenWidth - windowWidth) / 2; int x = (screenWidth - windowWidth) / 2;
int y = (screenHeight - windowHeight) / 2; int y = (screenHeight - windowHeight) / 2;
guiGraphics.m_280509_(x - 5, y - 5, x + windowWidth, y + windowHeight, -536870912); guiGraphics.fill(x - 5, y - 5, x + windowWidth, y + windowHeight, -536870912);
guiGraphics.m_280509_(x - 6, y - 6, x + windowWidth + 1, y - 5, -12303292); guiGraphics.fill(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.fill(x - 6, y + windowHeight, x + windowWidth + 1, y + windowHeight + 1, -12303292);
guiGraphics.m_280509_(x - 6, y - 5, x - 5, y + windowHeight, -12303292); guiGraphics.fill(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 + windowWidth, y - 5, x + windowWidth + 1, y + windowHeight, -12303292);
for (int i = 0; i < infoLines.length; ++i) { for (int i = 0; i < infoLines.length; ++i) {
String line = infoLines[i]; String line = infoLines[i];
if (line.isEmpty()) continue; 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);
} }
} }
} }

View File

@@ -24,27 +24,27 @@ import net.neoforged.fml.common.EventBusSubscriber;
public class ScanKeyHandler { public class ScanKeyHandler {
@SubscribeEvent @SubscribeEvent
public static void onKeyInput(InputEvent.Key event) { public static void onKeyInput(InputEvent.Key event) {
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc.f_91074_ == null || mc.f_91080_ != null) { if (mc.player == null || mc.screen != null) {
return; return;
} }
if (!mc.f_91074_.m_20310_(2) && !mc.m_91091_()) { if (!mc.player.m_20310_(2) && !mc.hasSingleplayerServer()) {
return; return;
} }
if (event.getAction() != 1) { if (event.getAction() != 1) {
return; 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 (ScanLoadPromptHUD.isVisible()) {
if (key.equals((Object)ModKeyMappings.ACCEPT_SCAN.getKey())) { if (key.equals((Object)ModKeyMappings.ACCEPT_SCAN.getKey())) {
PacketHandler.INSTANCE.sendToServer((Object)new ScanLoadControlPacket(true)); PacketHandler.sendToServer(new ScanLoadControlPacket(true));
ScanLoadPromptHUD.setVisible(false); ScanLoadPromptHUD.setVisible(false);
ScanLoadInfoHUD.setVisible(false); ScanLoadInfoHUD.setVisible(false);
if (event.getKey() != 49 && event.getKey() != 50) { if (event.getKey() != 49 && event.getKey() != 50) {
ScanKeyHandler.consumeKey(event.getKey()); ScanKeyHandler.consumeKey(event.getKey());
} }
} else if (key.equals((Object)ModKeyMappings.DECLINE_SCAN.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); ScanLoadPromptHUD.setVisible(false);
ScanLoadInfoHUD.setVisible(false); ScanLoadInfoHUD.setVisible(false);
if (event.getKey() != 49 && event.getKey() != 50) { if (event.getKey() != 49 && event.getKey() != 50) {
@@ -59,14 +59,14 @@ public class ScanKeyHandler {
} }
if (ScanPromptHUD.isVisible()) { if (ScanPromptHUD.isVisible()) {
if (key.equals((Object)ModKeyMappings.ACCEPT_SCAN.getKey())) { if (key.equals((Object)ModKeyMappings.ACCEPT_SCAN.getKey())) {
PacketHandler.INSTANCE.sendToServer((Object)new ScanControlPacket(true)); PacketHandler.sendToServer(new ScanControlPacket(true));
ScanPromptHUD.setVisible(false); ScanPromptHUD.setVisible(false);
ScanInfoHUD.setVisible(false); ScanInfoHUD.setVisible(false);
if (event.getKey() != 49 && event.getKey() != 50) { if (event.getKey() != 49 && event.getKey() != 50) {
ScanKeyHandler.consumeKey(event.getKey()); ScanKeyHandler.consumeKey(event.getKey());
} }
} else if (key.equals((Object)ModKeyMappings.DECLINE_SCAN.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); ScanPromptHUD.setVisible(false);
ScanInfoHUD.setVisible(false); ScanInfoHUD.setVisible(false);
if (event.getKey() != 49 && event.getKey() != 50) { if (event.getKey() != 49 && event.getKey() != 50) {
@@ -81,10 +81,10 @@ public class ScanKeyHandler {
} }
private static void consumeKey(int keyCode) { private static void consumeKey(int keyCode) {
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
for (KeyMapping mapping : mc.f_91066_.f_92059_) { for (KeyMapping mapping : mc.options.keyMappings) {
if (mapping.getKey().m_84873_() != keyCode) continue; if (mapping.getKey().getValue() != keyCode) continue;
while (mapping.m_90859_()) { while (mapping.consumeClick()) {
} }
} }
} }

View File

@@ -29,36 +29,36 @@ public class ScanLoadInfoHUD {
if (!isVisible) { if (!isVisible) {
return; return;
} }
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc.f_91074_ == null) { if (mc.player == null) {
return; return;
} }
if (!mc.f_91074_.m_20310_(2) && !mc.m_91091_()) { if (!mc.player.m_20310_(2) && !mc.hasSingleplayerServer()) {
return; return;
} }
GuiGraphics guiGraphics = event.getGuiGraphics(); 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; int maxWidth = 0;
for (String line : infoLines) { for (String line : infoLines) {
int lineWidth = mc.f_91062_.m_92895_(line); int lineWidth = mc.font.width(line);
if (lineWidth <= maxWidth) continue; if (lineWidth <= maxWidth) continue;
maxWidth = lineWidth; maxWidth = lineWidth;
} }
int windowWidth = maxWidth + 20; int windowWidth = maxWidth + 20;
int windowHeight = infoLines.length * 12 + 20; int windowHeight = infoLines.length * 12 + 20;
int screenWidth = mc.m_91268_().m_85445_(); int screenWidth = mc.getWindow().getGuiScaledWidth();
int screenHeight = mc.m_91268_().m_85446_(); int screenHeight = mc.getWindow().getGuiScaledHeight();
int x = (screenWidth - windowWidth) / 2; int x = (screenWidth - windowWidth) / 2;
int y = (screenHeight - windowHeight) / 2; int y = (screenHeight - windowHeight) / 2;
guiGraphics.m_280509_(x - 5, y - 5, x + windowWidth, y + windowHeight, -536870912); guiGraphics.fill(x - 5, y - 5, x + windowWidth, y + windowHeight, -536870912);
guiGraphics.m_280509_(x - 6, y - 6, x + windowWidth + 1, y - 5, -12303292); guiGraphics.fill(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.fill(x - 6, y + windowHeight, x + windowWidth + 1, y + windowHeight + 1, -12303292);
guiGraphics.m_280509_(x - 6, y - 5, x - 5, y + windowHeight, -12303292); guiGraphics.fill(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 + windowWidth, y - 5, x + windowWidth + 1, y + windowHeight, -12303292);
for (int i = 0; i < infoLines.length; ++i) { for (int i = 0; i < infoLines.length; ++i) {
String line = infoLines[i]; String line = infoLines[i];
if (line.isEmpty()) continue; 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);
} }
} }
} }

View File

@@ -33,30 +33,30 @@ public class ScanLoadPromptHUD {
if (!isVisible) { if (!isVisible) {
return; return;
} }
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc.f_91074_ == null) { if (mc.player == null) {
return; return;
} }
if (!mc.f_91074_.m_20310_(2) && !mc.m_91091_()) { if (!mc.player.m_20310_(2) && !mc.hasSingleplayerServer()) {
return; return;
} }
GuiGraphics guiGraphics = event.getGuiGraphics(); GuiGraphics guiGraphics = event.getGuiGraphics();
String promptText = "Found existing scan data for this world!"; String promptText = "Found existing scan data for this world!";
int x = 10; int x = 10;
int y = 10; int y = 10;
String key1Text = "[" + ModKeyMappings.ACCEPT_SCAN.m_90863_().getString() + "] = Load Data"; String key1Text = "[" + ModKeyMappings.ACCEPT_SCAN.getTranslatedKeyMessage().getString() + "] = Load Data";
String key2Text = "[" + ModKeyMappings.DECLINE_SCAN.m_90863_().getString() + "] = New Scan"; String key2Text = "[" + ModKeyMappings.DECLINE_SCAN.getTranslatedKeyMessage().getString() + "] = New Scan";
String key3Text = "[" + ModKeyMappings.INFO_SCAN.m_90863_().getString() + "] = Info"; String key3Text = "[" + ModKeyMappings.INFO_SCAN.getTranslatedKeyMessage().getString() + "] = Info";
int maxWidth = Math.max(mc.f_91062_.m_92895_(promptText), mc.f_91062_.m_92895_("Press " + key1Text + ", " + key2Text + ", " + key3Text)); int maxWidth = Math.max(mc.font.width(promptText), mc.font.width("Press " + key1Text + ", " + key2Text + ", " + key3Text));
guiGraphics.m_280509_(x - 5, y - 5, x + maxWidth + 10, y + 35, Integer.MIN_VALUE); guiGraphics.fill(x - 5, y - 5, x + maxWidth + 10, y + 35, Integer.MIN_VALUE);
guiGraphics.m_280488_(mc.f_91062_, promptText, x, y, 0xFFFFFF); guiGraphics.drawString(mc.font, promptText, x, y, 0xFFFFFF);
int currentX = x; int currentX = x;
int textY = y + 12; int textY = y + 12;
guiGraphics.m_280488_(mc.f_91062_, "Press ", currentX, textY, 0xFFFFFF); guiGraphics.drawString(mc.font, "Press ", currentX, textY, 0xFFFFFF);
guiGraphics.m_280488_(mc.f_91062_, key1Text, currentX += mc.f_91062_.m_92895_("Press "), textY, 65280); guiGraphics.drawString(mc.font, key1Text, currentX += mc.font.width("Press "), textY, 65280);
guiGraphics.m_280488_(mc.f_91062_, ", ", currentX += mc.f_91062_.m_92895_(key1Text), textY, 0xFFFFFF); guiGraphics.drawString(mc.font, ", ", currentX += mc.font.width(key1Text), textY, 0xFFFFFF);
guiGraphics.m_280488_(mc.f_91062_, key2Text, currentX += mc.f_91062_.m_92895_(", "), textY, 0xFF0000); guiGraphics.drawString(mc.font, key2Text, currentX += mc.font.width(", "), textY, 0xFF0000);
guiGraphics.m_280488_(mc.f_91062_, ", ", currentX += mc.f_91062_.m_92895_(key2Text), textY, 0xFFFFFF); guiGraphics.drawString(mc.font, ", ", currentX += mc.font.width(key2Text), textY, 0xFFFFFF);
guiGraphics.m_280488_(mc.f_91062_, key3Text, currentX += mc.f_91062_.m_92895_(", "), textY, 0xFFFF00); guiGraphics.drawString(mc.font, key3Text, currentX += mc.font.width(", "), textY, 0xFFFF00);
} }
} }

View File

@@ -116,11 +116,11 @@ public class ScanProgressHUD {
if (ScanPromptHUD.isVisible() || ScanInfoHUD.isVisible() || ScanLoadPromptHUD.isVisible() || ScanLoadInfoHUD.isVisible()) { if (ScanPromptHUD.isVisible() || ScanInfoHUD.isVisible() || ScanLoadPromptHUD.isVisible() || ScanLoadInfoHUD.isVisible()) {
return; return;
} }
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc.f_91074_ == null) { if (mc.player == null) {
return; return;
} }
if (!mc.f_91074_.m_20310_(2) && !mc.m_91091_()) { if (!mc.player.m_20310_(2) && !mc.hasSingleplayerServer()) {
return; return;
} }
if (isComplete && System.currentTimeMillis() > hideTime) { if (isComplete && System.currentTimeMillis() > hideTime) {
@@ -128,7 +128,7 @@ public class ScanProgressHUD {
return; return;
} }
GuiGraphics guiGraphics = event.getGuiGraphics(); GuiGraphics guiGraphics = event.getGuiGraphics();
Font font = mc.f_91062_; Font font = mc.font;
float progress = totalChunks > 0 ? (float)scannedChunks / (float)totalChunks : 0.0f; float progress = totalChunks > 0 ? (float)scannedChunks / (float)totalChunks : 0.0f;
int percentage = isComplete ? 100 : Math.round(progress * 100.0f); int percentage = isComplete ? 100 : Math.round(progress * 100.0f);
String statusText = isComplete ? "Scan Complete! (100%)" : String.format("Scanning Chunks: %d%%", percentage); String statusText = isComplete ? "Scan Complete! (100%)" : String.format("Scanning Chunks: %d%%", percentage);
@@ -139,22 +139,22 @@ public class ScanProgressHUD {
int y = 10; int y = 10;
int textColor = isComplete ? 65280 : 0xFFFFFF; int textColor = isComplete ? 65280 : 0xFFFFFF;
boolean shadowColor = false; 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 bgWidth = Math.max(maxWidth, 100) + 10;
int bgHeight = 64; int bgHeight = 64;
guiGraphics.m_280509_(x - 5, y - 2, x + bgWidth, y + bgHeight, Integer.MIN_VALUE); guiGraphics.fill(x - 5, y - 2, x + bgWidth, y + bgHeight, Integer.MIN_VALUE);
guiGraphics.m_280488_(font, statusText, x, y, textColor); guiGraphics.drawString(font, statusText, x, y, textColor);
guiGraphics.m_280488_(font, detailText, x, y + 12, 0xAAAAAA); guiGraphics.drawString(font, detailText, x, y + 12, 0xAAAAAA);
guiGraphics.m_280488_(font, blockCountText, x, y + 24, 0xCCCCCC); guiGraphics.drawString(font, blockCountText, x, y + 24, 0xCCCCCC);
int timeTextColor = isComplete ? 65280 : 0xFFFF00; 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 barWidth = 100;
int barHeight = 4; int barHeight = 4;
int barX = x; int barX = x;
int barY = y + 52; 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 progressWidth = isComplete ? barWidth : (int)((float)barWidth * progress);
int barColor = isComplete ? -16711936 : -16733696; int barColor = isComplete ? -16711936 : -16733696;
guiGraphics.m_280509_(barX, barY, barX + progressWidth, barY + barHeight, barColor); guiGraphics.fill(barX, barY, barX + progressWidth, barY + barHeight, barColor);
} }
} }

View File

@@ -34,30 +34,30 @@ public class ScanPromptHUD {
if (!isVisible) { if (!isVisible) {
return; return;
} }
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc.f_91074_ == null) { if (mc.player == null) {
return; return;
} }
if (!mc.f_91074_.m_20310_(2) && !mc.m_91091_()) { if (!mc.player.m_20310_(2) && !mc.hasSingleplayerServer()) {
return; return;
} }
GuiGraphics guiGraphics = event.getGuiGraphics(); GuiGraphics guiGraphics = event.getGuiGraphics();
String promptText = BlockIndexManager.isRescanMode() ? "Rescan all chunks?" : "Start chunk scanning?"; String promptText = BlockIndexManager.isRescanMode() ? "Rescan all chunks?" : "Start chunk scanning?";
int x = 10; int x = 10;
int y = 10; int y = 10;
String key1Text = "[" + ModKeyMappings.ACCEPT_SCAN.m_90863_().getString() + "] = Yes"; String key1Text = "[" + ModKeyMappings.ACCEPT_SCAN.getTranslatedKeyMessage().getString() + "] = Yes";
String key2Text = "[" + ModKeyMappings.DECLINE_SCAN.m_90863_().getString() + "] = No"; String key2Text = "[" + ModKeyMappings.DECLINE_SCAN.getTranslatedKeyMessage().getString() + "] = No";
String key3Text = "[" + ModKeyMappings.INFO_SCAN.m_90863_().getString() + "] = Info"; String key3Text = "[" + ModKeyMappings.INFO_SCAN.getTranslatedKeyMessage().getString() + "] = Info";
int maxWidth = Math.max(mc.f_91062_.m_92895_(promptText), mc.f_91062_.m_92895_("Press " + key1Text + ", " + key2Text + ", " + key3Text)); int maxWidth = Math.max(mc.font.width(promptText), mc.font.width("Press " + key1Text + ", " + key2Text + ", " + key3Text));
guiGraphics.m_280509_(x - 5, y - 5, x + maxWidth + 10, y + 35, Integer.MIN_VALUE); guiGraphics.fill(x - 5, y - 5, x + maxWidth + 10, y + 35, Integer.MIN_VALUE);
guiGraphics.m_280488_(mc.f_91062_, promptText, x, y, 0xFFFFFF); guiGraphics.drawString(mc.font, promptText, x, y, 0xFFFFFF);
int currentX = x; int currentX = x;
int textY = y + 12; int textY = y + 12;
guiGraphics.m_280488_(mc.f_91062_, "Press ", currentX, textY, 0xFFFFFF); guiGraphics.drawString(mc.font, "Press ", currentX, textY, 0xFFFFFF);
guiGraphics.m_280488_(mc.f_91062_, key1Text, currentX += mc.f_91062_.m_92895_("Press "), textY, 65280); guiGraphics.drawString(mc.font, key1Text, currentX += mc.font.width("Press "), textY, 65280);
guiGraphics.m_280488_(mc.f_91062_, ", ", currentX += mc.f_91062_.m_92895_(key1Text), textY, 0xFFFFFF); guiGraphics.drawString(mc.font, ", ", currentX += mc.font.width(key1Text), textY, 0xFFFFFF);
guiGraphics.m_280488_(mc.f_91062_, key2Text, currentX += mc.f_91062_.m_92895_(", "), textY, 0xFF0000); guiGraphics.drawString(mc.font, key2Text, currentX += mc.font.width(", "), textY, 0xFF0000);
guiGraphics.m_280488_(mc.f_91062_, ", ", currentX += mc.f_91062_.m_92895_(key2Text), textY, 0xFFFFFF); guiGraphics.drawString(mc.font, ", ", currentX += mc.font.width(key2Text), textY, 0xFFFFFF);
guiGraphics.m_280488_(mc.f_91062_, key3Text, currentX += mc.f_91062_.m_92895_(", "), textY, 0xFFFF00); guiGraphics.drawString(mc.font, key3Text, currentX += mc.font.width(", "), textY, 0xFFFF00);
} }
} }

File diff suppressed because one or more lines are too long

View File

@@ -61,7 +61,7 @@ public class SpawnCustomGlowPacket {
public static class ClientPacketHandler { public static class ClientPacketHandler {
public static void handlePacket(SpawnCustomGlowPacket msg) { public static void handlePacket(SpawnCustomGlowPacket msg) {
ClientLevel level = Minecraft.m_91087_().f_91073_; ClientLevel level = Minecraft.getInstance().f_91073_;
if (level != null) { if (level != null) {
CustomGlowParticleOptions options = new CustomGlowParticleOptions(msg.zone, msg.power, msg.scale, 0, msg.centerY, msg.maxRadius, msg.heightPercent); 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_); 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_);

View File

@@ -42,7 +42,7 @@ public class AnimationSoundManager {
} }
lastAnimationSoundIndex = AnimationSoundManager.getNextRandomIndex(ANIMATION_SOUNDS, lastAnimationSoundIndex); lastAnimationSoundIndex = AnimationSoundManager.getNextRandomIndex(ANIMATION_SOUNDS, lastAnimationSoundIndex);
SoundEvent sound = (SoundEvent)ANIMATION_SOUNDS.get(lastAnimationSoundIndex).get(); 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() { public static void playRandomFarPower2Sound() {
@@ -51,7 +51,7 @@ public class AnimationSoundManager {
} }
lastFarPower2SoundIndex = AnimationSoundManager.getNextRandomIndex(FAR_POWER_2_SOUNDS, lastFarPower2SoundIndex); lastFarPower2SoundIndex = AnimationSoundManager.getNextRandomIndex(FAR_POWER_2_SOUNDS, lastFarPower2SoundIndex);
SoundEvent sound = (SoundEvent)FAR_POWER_2_SOUNDS.get(lastFarPower2SoundIndex).get(); 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() { public static void playRandomFarPower3Sound() {
@@ -60,7 +60,7 @@ public class AnimationSoundManager {
} }
lastFarPower3SoundIndex = AnimationSoundManager.getNextRandomIndex(FAR_POWER_3_SOUNDS, lastFarPower3SoundIndex); lastFarPower3SoundIndex = AnimationSoundManager.getNextRandomIndex(FAR_POWER_3_SOUNDS, lastFarPower3SoundIndex);
SoundEvent sound = (SoundEvent)FAR_POWER_3_SOUNDS.get(lastFarPower3SoundIndex).get(); 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() { public static void playRandomMediumCavePower4Sound() {
@@ -69,7 +69,7 @@ public class AnimationSoundManager {
} }
lastMediumCavePower4SoundIndex = AnimationSoundManager.getNextRandomIndex(MEDIUM_CAVE_POWER_4_SOUNDS, lastMediumCavePower4SoundIndex); lastMediumCavePower4SoundIndex = AnimationSoundManager.getNextRandomIndex(MEDIUM_CAVE_POWER_4_SOUNDS, lastMediumCavePower4SoundIndex);
SoundEvent sound = (SoundEvent)MEDIUM_CAVE_POWER_4_SOUNDS.get(lastMediumCavePower4SoundIndex).get(); 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() { public static void playRandomSuperfar4Sound() {
@@ -78,7 +78,7 @@ public class AnimationSoundManager {
} }
lastSuperfar4SoundIndex = AnimationSoundManager.getNextRandomIndex(SUPERFAR_POWER_4_SOUNDS, lastSuperfar4SoundIndex); lastSuperfar4SoundIndex = AnimationSoundManager.getNextRandomIndex(SUPERFAR_POWER_4_SOUNDS, lastSuperfar4SoundIndex);
SoundEvent sound = (SoundEvent)SUPERFAR_POWER_4_SOUNDS.get(lastSuperfar4SoundIndex).get(); 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 { static {

View File

@@ -66,7 +66,7 @@ extends Screen {
private List<String> registryCache = new ArrayList<String>(); private List<String> registryCache = new ArrayList<String>();
public BlacklistScreen(Screen parent) { public BlacklistScreen(Screen parent) {
super((Component)Component.m_237115_((String)"title.explosionoverhaul.blacklist")); super((Component)Component.translatable((String)"title.explosionoverhaul.blacklist"));
this.parent = parent; this.parent = parent;
} }
@@ -93,7 +93,7 @@ extends Screen {
private void addNavigation() { private void addNavigation() {
int buttonY = 48; int buttonY = 48;
for (BlacklistCategory category : BlacklistCategory.values()) { 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.categoryButtons.put(category, button);
this.m_142416_((GuiEventListener)button); this.m_142416_((GuiEventListener)button);
buttonY += 24; buttonY += 24;
@@ -102,15 +102,15 @@ extends Screen {
private void addTopControls() { private void addTopControls() {
int listLeft = 172; 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.m_142416_((GuiEventListener)this.backButton);
this.searchField = new EditBox(this.f_96547_, listLeft, 26, 200, 18, (Component)Component.m_237119_()); 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.searchField.m_94151_(s -> this.refreshList());
this.m_142416_((GuiEventListener)this.searchField); 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.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.showDefaults = value;
this.refreshList(); this.refreshList();
}); });
@@ -121,12 +121,12 @@ extends Screen {
int y = this.f_96544_ - 28; 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 = 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_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.inputField.m_94151_(this::updateSuggestions);
this.m_142416_((GuiEventListener)this.inputField); 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.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.infoButton.f_93624_ = this.currentCategory == BlacklistCategory.SOURCES;
this.m_142416_((GuiEventListener)this.infoButton); this.m_142416_((GuiEventListener)this.infoButton);
} }
@@ -142,7 +142,7 @@ extends Screen {
this.save(); this.save();
} }
this.refreshList(); 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) { if (this.inputField != null) {
this.inputField.m_94144_(""); this.inputField.m_94144_("");
this.updateSuggestions(""); 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) { private Component formatCategoryLabel(BlacklistCategory category) {
MutableComponent label = Component.m_237115_((String)category.getLabelKey()); MutableComponent label = Component.translatable((String)category.getLabelKey());
if (category == this.currentCategory) { 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; return label;
} }
@@ -224,13 +224,13 @@ extends Screen {
} else { } else {
ResourceLocation id = ResourceLocation.m_135820_((String)(raw.contains(":") ? raw : "minecraft:" + raw)); ResourceLocation id = ResourceLocation.m_135820_((String)(raw.contains(":") ? raw : "minecraft:" + raw));
if (id == null) { 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; return;
} }
normalized = id.toString(); normalized = id.toString();
} }
if (!this.persistedEntries.add(normalized)) { 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; return;
} }
if (this.currentCategory == BlacklistCategory.SOURCES) { if (this.currentCategory == BlacklistCategory.SOURCES) {
@@ -306,7 +306,7 @@ extends Screen {
int line = 0; int line = 0;
for (String s : this.suggestions) { for (String s : this.suggestions) {
int yy = y + line * 12; 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); graphics.m_280056_(this.f_96547_, s, x + 4, yy + 2, 0xE0E0E0, false);
++line; ++line;
} }
@@ -432,7 +432,7 @@ extends Screen {
} }
ExplosionOverhaul.ExplosionSourceMode currentMode = BlacklistScreen.this.persistedSourceModes.getOrDefault(id, ExplosionOverhaul.ExplosionSourceMode.DEFAULT); ExplosionOverhaul.ExplosionSourceMode currentMode = BlacklistScreen.this.persistedSourceModes.getOrDefault(id, ExplosionOverhaul.ExplosionSourceMode.DEFAULT);
String entryId = id; 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.persistedSourceModes.put(entryId, (ExplosionOverhaul.ExplosionSourceMode)((Object)value));
BlacklistScreen.this.save(); BlacklistScreen.this.save();
}); });
@@ -445,11 +445,11 @@ extends Screen {
} }
this.icon = stack; 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_() { 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) { public boolean m_6375_(double mouseX, double mouseY, int button) {

View File

@@ -85,7 +85,7 @@ public class Blur {
public static void onClientTick() { public static void onClientTick() {
float intensity; float intensity;
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc.m_91104_() || phase == Phase.IDLE) { if (mc.m_91104_() || phase == Phase.IDLE) {
return; return;
} }
@@ -119,8 +119,8 @@ public class Blur {
} }
} }
currentIntensity = intensity; currentIntensity = intensity;
if (mc.f_91074_ != null) { if (mc.player != null) {
ConcussionAudioEffect.updateHeartbeat(mc.f_91074_, currentIntensity); ConcussionAudioEffect.updateHeartbeat(mc.player, currentIntensity);
} }
} }
@@ -131,7 +131,7 @@ public class Blur {
if (!Blur.shouldRenderStage(stage)) { if (!Blur.shouldRenderStage(stage)) {
return; return;
} }
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc == null) { if (mc == null) {
return; return;
} }
@@ -170,11 +170,11 @@ public class Blur {
} }
private static boolean isFirstPerson() { private static boolean isFirstPerson() {
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc == null) { if (mc == null) {
return false; 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) { private static void ensureTarget(int width, int height) {

View File

@@ -45,11 +45,11 @@ public class CameraShakeConcussionEffect {
} }
public static void onClientTick() { public static void onClientTick() {
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc.m_91104_()) { if (mc.m_91104_()) {
return; return;
} }
LocalPlayer player = mc.f_91074_; LocalPlayer player = mc.player;
if (player == null) { if (player == null) {
CameraShakeConcussionEffect.stop(); CameraShakeConcussionEffect.stop();
return; return;

View File

@@ -88,8 +88,8 @@ public class ClientEffects {
} }
private static void handleTrackedSoundsTick() { private static void handleTrackedSoundsTick() {
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc.f_91074_ == null || mc.m_91106_() == null) { if (mc.player == null || mc.m_91106_() == null) {
return; return;
} }
Iterator<TrackedSound> iterator = activeTrackedSounds.iterator(); Iterator<TrackedSound> iterator = activeTrackedSounds.iterator();
@@ -99,7 +99,7 @@ public class ClientEffects {
iterator.remove(); iterator.remove();
continue; 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() { public static void onClientTick() {
if (Minecraft.m_91087_().m_91104_()) { if (Minecraft.getInstance().m_91104_()) {
return; return;
} }
Blur.onClientTick(); Blur.onClientTick();
@@ -171,13 +171,13 @@ public class ClientEffects {
if (!((Boolean)Config.CLIENT.enableFlashEffect.get()).booleanValue()) { if (!((Boolean)Config.CLIENT.enableFlashEffect.get()).booleanValue()) {
return; return;
} }
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc.f_91074_ == null || activeFlashEffects.isEmpty()) { if (mc.player == null || activeFlashEffects.isEmpty()) {
return; return;
} }
float maxOpacity = 0.0f; float maxOpacity = 0.0f;
for (FlashEffect effect : activeFlashEffects) { for (FlashEffect effect : activeFlashEffects) {
float opacity = effect.getCurrentOpacity((Player)mc.f_91074_); float opacity = effect.getCurrentOpacity((Player)mc.player);
if (!(opacity > maxOpacity)) continue; if (!(opacity > maxOpacity)) continue;
maxOpacity = opacity; maxOpacity = opacity;
} }
@@ -185,8 +185,8 @@ public class ClientEffects {
return; return;
} }
GuiGraphics guiGraphics = event.getGuiGraphics(); GuiGraphics guiGraphics = event.getGuiGraphics();
int screenWidth = mc.m_91268_().m_85445_(); int screenWidth = mc.getWindow().getGuiScaledWidth();
int screenHeight = mc.m_91268_().m_85446_(); int screenHeight = mc.getWindow().getGuiScaledHeight();
ResourceLocation flashTexture = ResourceLocation.fromNamespaceAndPath((String)"explosionoverhaul", (String)"textures/effects/flash.png"); ResourceLocation flashTexture = ResourceLocation.fromNamespaceAndPath((String)"explosionoverhaul", (String)"textures/effects/flash.png");
RenderSystem.enableBlend(); RenderSystem.enableBlend();
RenderSystem.defaultBlendFunc(); RenderSystem.defaultBlendFunc();
@@ -230,8 +230,8 @@ public class ClientEffects {
public static void triggerAmbientCaveDust(float power) { public static void triggerAmbientCaveDust(float power) {
int i; int i;
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
LocalPlayer player = mc.f_91074_; LocalPlayer player = mc.player;
ClientLevel level = mc.f_91073_; ClientLevel level = mc.f_91073_;
if (player == null || level == null) { if (player == null || level == null) {
return; return;
@@ -255,8 +255,8 @@ public class ClientEffects {
} }
private static void handleCameraShakeTick() { private static void handleCameraShakeTick() {
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
LocalPlayer player = mc.f_91074_; LocalPlayer player = mc.player;
if (player == null) { if (player == null) {
if (shakeDurationTicks > 0 || lastYawOffset != 0.0f || lastPitchOffset != 0.0f) { if (shakeDurationTicks > 0 || lastYawOffset != 0.0f || lastPitchOffset != 0.0f) {
lastYawOffset = 0.0f; lastYawOffset = 0.0f;
@@ -293,7 +293,7 @@ public class ClientEffects {
if (!((Boolean)Config.CLIENT.enableLineSparks.get()).booleanValue()) { if (!((Boolean)Config.CLIENT.enableLineSparks.get()).booleanValue()) {
return; return;
} }
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
ClientLevel level = mc.f_91073_; ClientLevel level = mc.f_91073_;
if (level == null) { if (level == null) {
return; return;

View File

@@ -42,8 +42,8 @@ public class ConcussionAudioEffect {
@SubscribeEvent @SubscribeEvent
public static void onClientTick(TickEvent.ClientTickEvent event) { public static void onClientTick(TickEvent.ClientTickEvent event) {
if (event.phase == TickEvent.Phase.END) { if (event.phase == TickEvent.Phase.END) {
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc.f_91074_ != null && !mc.f_91074_.m_6084_()) { if (mc.player != null && !mc.player.m_6084_()) {
ConcussionAudioEffect.stopAll(); ConcussionAudioEffect.stopAll();
} }
} }
@@ -66,8 +66,8 @@ public class ConcussionAudioEffect {
if (!((Boolean)Config.CLIENT.enableConcussion.get()).booleanValue()) { if (!((Boolean)Config.CLIENT.enableConcussion.get()).booleanValue()) {
return; return;
} }
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc == null || mc.f_91073_ == null || mc.f_91074_ == null) { if (mc == null || mc.f_91073_ == null || mc.player == null) {
return; return;
} }
double rawPercent = ConcussionAudioEffect.computePercent(power, distance, explosionInCave); double rawPercent = ConcussionAudioEffect.computePercent(power, distance, explosionInCave);
@@ -77,12 +77,12 @@ public class ConcussionAudioEffect {
double effectivePercent = hasDirectLineOfSight ? rawPercent : ConcussionAudioEffect.applyOcclusion(rawPercent); double effectivePercent = hasDirectLineOfSight ? rawPercent : ConcussionAudioEffect.applyOcclusion(rawPercent);
double maxDistance = ConcussionAudioEffect.computeMaxDistance(power, explosionInCave); double maxDistance = ConcussionAudioEffect.computeMaxDistance(power, explosionInCave);
if (rawPercent <= 0.0) { if (rawPercent <= 0.0) {
LocalPlayer player4 = mc.f_91074_; LocalPlayer player4 = mc.player;
if (player4 != null && debugSendDebugMessage) { if (player4 != null && debugSendDebugMessage) {
double metersToExplosion = distance; double metersToExplosion = distance;
double onePercentDistance = maxDistance * 0.99; 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); 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; return;
} }
@@ -129,17 +129,17 @@ public class ConcussionAudioEffect {
if (((Boolean)Config.CLIENT.enableCameraSway.get()).booleanValue()) { if (((Boolean)Config.CLIENT.enableCameraSway.get()).booleanValue()) {
CameraShakeConcussionEffect.start(blurSeconds, swayIntensity); CameraShakeConcussionEffect.start(blurSeconds, swayIntensity);
} }
if (debugSendDebugMessage && (player5 = mc.f_91074_) != null) { if (debugSendDebugMessage && (player5 = mc.player) != null) {
String reductionInfo = lowpassReduced ? " [LowPass reduced /3]" : ""; 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); 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) {} 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 reason = !anyAudioEffectActive ? "no audio effects" : "out of range";
String blurMsg = String.format("Blur %.1f m \u2014 not activated (%s)", distance, reason); 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; int lowpassSeconds = blurSeconds;
double lowpassIntensityPercent = ConcussionAudioEffect.computeBaseLowpassIntensityPercent(effectivePercent); double lowpassIntensityPercent = ConcussionAudioEffect.computeBaseLowpassIntensityPercent(effectivePercent);
@@ -155,42 +155,42 @@ public class ConcussionAudioEffect {
float finalLpIntensity = lowpassRoll ? lowpassIntensity : 0.0f; float finalLpIntensity = lowpassRoll ? lowpassIntensity : 0.0f;
int finalLpRound = lowpassRoll ? lowpassIntensityRound : 0; int finalLpRound = lowpassRoll ? lowpassIntensityRound : 0;
LowPassConcussionEffect.start(lowpassSeconds, finalLpIntensity, effectivePercent, lpVisibility, finalLpRound); 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 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); 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) {} 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 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); 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) { if (debugSendDebugMessage) {
ConcussionAudioEffect.sendDebugMessage(mc, effectivePercent, rawPercent, hasDirectLineOfSight, distance, maxDistance); 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"; 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 + (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); 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); 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 maxDistanceNormal = ConcussionAudioEffect.computeMaxDistance(power, false);
double maxDistanceUsed = ConcussionAudioEffect.computeMaxDistance(power, explosionInCave); 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); 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 baseSilentNormal = ConcussionAudioEffect.computeBaseSilentSeconds(effectivePercent, false);
double baseSilentCave = ConcussionAudioEffect.computeBaseSilentSeconds(effectivePercent, true); 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); 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) { if (roll) {
String deafnessMsg = String.format("Deafness %.1f m \u2014 activated (intensity=%.1f%% chance=%.1f%%)", distance, intensityPercent, chance * 100.0); 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 { } else {
String deafnessMsg = String.format("Deafness %.1f m \u2014 not activated (chance)", distance); 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) { 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) { 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) { if (player == null) {
return; return;
} }
@@ -258,16 +258,16 @@ public class ConcussionAudioEffect {
double metersToExplosion = distance; double metersToExplosion = distance;
double onePercentDistance = maxDistance * 0.99; 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); 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; return;
} }
ChatFormatting color = ConcussionAudioEffect.pickColor(clamped); 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 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); 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) { 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))); 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()) { if (!((Boolean)Config.CLIENT.showHeartbeatHUD.get()).booleanValue() || !Blur.isActive()) {
return; return;
} }
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc.f_91074_ == null) { if (mc.player == null) {
return; return;
} }
float bps = currentBPM / 60.0f; float bps = currentBPM / 60.0f;
@@ -459,7 +459,7 @@ public class ConcussionAudioEffect {
} else if (currentBPM < 50.0f) { } else if (currentBPM < 50.0f) {
color = -171; 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() { public static float getCurrentHeartbeatVisual() {
@@ -549,7 +549,7 @@ public class ConcussionAudioEffect {
lubTriggered = true; lubTriggered = true;
if (blurIntensity >= 0.1f && ((Boolean)Config.CLIENT.enableHeartbeatPulse.get()).booleanValue()) { if (blurIntensity >= 0.1f && ((Boolean)Config.CLIENT.enableHeartbeatPulse.get()).booleanValue()) {
try { try {
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc != null) { if (mc != null) {
mc.m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119755_((SoundEvent)((SoundEvent)ModSounds.HEART_LAB.get()), (float)1.0f, (float)100.0f)); 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; dubTriggered = true;
if (blurIntensity >= 0.1f && ((Boolean)Config.CLIENT.enableHeartbeatPulse.get()).booleanValue()) { if (blurIntensity >= 0.1f && ((Boolean)Config.CLIENT.enableHeartbeatPulse.get()).booleanValue()) {
try { try {
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc != null) { if (mc != null) {
mc.m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119755_((SoundEvent)((SoundEvent)ModSounds.HEART_DAB.get()), (float)1.0f, (float)100.0f)); mc.m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119755_((SoundEvent)((SoundEvent)ModSounds.HEART_DAB.get()), (float)1.0f, (float)100.0f));
} }

View File

@@ -29,8 +29,8 @@ public class ConcussionSoundManager {
if (event.phase != TickEvent.Phase.END) { if (event.phase != TickEvent.Phase.END) {
return; return;
} }
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc.f_91073_ == null || mc.f_91074_ == null) { if (mc.f_91073_ == null || mc.player == null) {
if (currentLowSound != null) { if (currentLowSound != null) {
mc.m_91106_().m_120399_((SoundInstance)currentLowSound); mc.m_91106_().m_120399_((SoundInstance)currentLowSound);
currentLowSound = null; currentLowSound = null;

View File

@@ -48,11 +48,11 @@ public class DeafnessConcussionEffect {
if (effectiveIntensity < 1.0E-4f) { if (effectiveIntensity < 1.0E-4f) {
return false; return false;
} }
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc == null || mc.f_91073_ == null || mc.f_91074_ == null) { if (mc == null || mc.f_91073_ == null || mc.player == null) {
return false; return false;
} }
Options options = mc.f_91066_; Options options = mc.options;
if (options == null) { if (options == null) {
return false; return false;
} }
@@ -73,9 +73,9 @@ public class DeafnessConcussionEffect {
phaseTicksTotal = DELAY_TICKS; phaseTicksTotal = DELAY_TICKS;
} }
lastIntensity = currentIntensity; 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); 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; return true;
} }
@@ -88,8 +88,8 @@ public class DeafnessConcussionEffect {
if (phase == Phase.NONE) { if (phase == Phase.NONE) {
return; return;
} }
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc == null || mc.f_91066_ == null) { if (mc == null || mc.options == null) {
DeafnessConcussionEffect.resetVolume(); DeafnessConcussionEffect.resetVolume();
return; return;
} }

View File

@@ -39,7 +39,7 @@ public class ExplosionTextureManager {
public void reload() { public void reload() {
this.clear(); this.clear();
if (Minecraft.m_91087_().m_91098_() == null) { if (Minecraft.getInstance().m_91098_() == null) {
return; return;
} }
ExplosionOverhaul.LOGGER.info("Reloading Explosion Texture Manager..."); ExplosionOverhaul.LOGGER.info("Reloading Explosion Texture Manager...");
@@ -71,10 +71,10 @@ public class ExplosionTextureManager {
private void loadTexture(int index, String path) { private void loadTexture(int index, String path) {
ResourceLocation fullPath = new ResourceLocation("explosionoverhaul", BASE_PATH + path); ResourceLocation fullPath = new ResourceLocation("explosionoverhaul", BASE_PATH + path);
try { 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); NativeImage image = NativeImage.m_85058_((InputStream)is);
DynamicTexture texture = new DynamicTexture(image); 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.textures.put(index, texture);
this.resourceLocations.put(index, loc); this.resourceLocations.put(index, loc);
} }

View File

@@ -69,9 +69,9 @@ public class ExplosionWindController {
} }
private static double getWeatherMultiplier() { private static double getWeatherMultiplier() {
Minecraft minecraft = Minecraft.m_91087_(); Minecraft minecraft = Minecraft.getInstance();
if (minecraft.f_91073_ != null && minecraft.f_91074_ != null) { if (minecraft.f_91073_ != null && minecraft.player != null) {
Biome.Precipitation precipitation = ((Biome)minecraft.f_91073_.m_204166_(minecraft.f_91074_.m_20183_()).m_203334_()).m_264600_(minecraft.f_91074_.m_20183_()); 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_()) { if (minecraft.f_91073_.m_46471_() || minecraft.f_91073_.m_46470_()) {
return 1.5; return 1.5;
} }

View File

@@ -98,7 +98,7 @@ extends Screen {
private static final long FORCE_CLOSE_BUFFER_MS = 2000L; private static final long FORCE_CLOSE_BUFFER_MS = 2000L;
public FirstTimeScreen() { public FirstTimeScreen() {
super((Component)Component.m_237113_((String)"First Time Setup")); super((Component)Component.literal((String)"First Time Setup"));
} }
protected void m_7856_() { protected void m_7856_() {
@@ -259,7 +259,7 @@ extends Screen {
if (!musicStillFading) { if (!musicStillFading) {
ExplosionOverhaul.LOGGER.info("Screen and music fade out complete. Opening TitleScreen."); ExplosionOverhaul.LOGGER.info("Screen and music fade out complete. Opening TitleScreen.");
this.cleanupAnimators(); this.cleanupAnimators();
Minecraft.m_91087_().m_91152_((Screen)new TitleScreen()); Minecraft.getInstance().m_91152_((Screen)new TitleScreen());
} else { } else {
ExplosionOverhaul.LOGGER.info("Waiting for music to finish fading..."); ExplosionOverhaul.LOGGER.info("Waiting for music to finish fading...");
} }
@@ -272,7 +272,7 @@ extends Screen {
this.cleanupAnimators(); this.cleanupAnimators();
this.fadingOut = false; this.fadingOut = false;
this.fadeOutStartMillis = -1L; this.fadeOutStartMillis = -1L;
Minecraft.m_91087_().m_91152_((Screen)new TitleScreen()); Minecraft.getInstance().m_91152_((Screen)new TitleScreen());
return; return;
} }
} }
@@ -337,7 +337,7 @@ extends Screen {
} }
public void m_88315_(GuiGraphics graphics, int mouseX, int mouseY, float partialTick) { 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) { if (this.screenAlpha < 0.01f) {
return; return;
} }
@@ -359,7 +359,7 @@ extends Screen {
private void renderModeSelection(GuiGraphics graphics, int mouseX, int mouseY, float renderAlpha) { private void renderModeSelection(GuiGraphics graphics, int mouseX, int mouseY, float renderAlpha) {
String title = "Choose Your Explosion Style"; 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 titleX = (this.f_96543_ - titleWidth) / 2;
int titleY = this.leftBoxY - 40; int titleY = this.leftBoxY - 40;
int titleAlpha = (int)(renderAlpha * 255.0f) << 24; 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 + 1, titleY + 1, 0xF28B0C | (int)(128.0f * renderAlpha) << 24, false);
graphics.m_280056_(this.f_96547_, title, titleX, titleY, 0xF28B0C | titleAlpha, true); graphics.m_280056_(this.f_96547_, title, titleX, titleY, 0xF28B0C | titleAlpha, true);
String subtitle = "You can change this anytime in the config"; 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); 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"; 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; int psColor = 0x999999 | titleAlpha;
graphics.m_280056_(this.f_96547_, psNote, (this.f_96543_ - psWidth) / 2, titleY + 30, psColor, false); graphics.m_280056_(this.f_96547_, psNote, (this.f_96543_ - psWidth) / 2, titleY + 30, psColor, false);
if (!this.isTransitioning) { if (!this.isTransitioning) {
@@ -406,7 +406,7 @@ extends Screen {
private void renderStyleSelection(GuiGraphics graphics, int mouseX, int mouseY, float renderAlpha) { private void renderStyleSelection(GuiGraphics graphics, int mouseX, int mouseY, float renderAlpha) {
String title = "Choose Render Style"; 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 titleX = (this.f_96543_ - titleWidth) / 2;
int titleY = this.leftBoxY - 40; int titleY = this.leftBoxY - 40;
int titleAlpha = (int)(renderAlpha * 255.0f) << 24; 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 + 1, titleY + 1, 0xF28B0C | (int)(128.0f * renderAlpha) << 24, false);
graphics.m_280056_(this.f_96547_, title, titleX, titleY, 0xF28B0C | titleAlpha, true); graphics.m_280056_(this.f_96547_, title, titleX, titleY, 0xF28B0C | titleAlpha, true);
String subtitle = "Higher quality requires more VRAM"; 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); graphics.m_280056_(this.f_96547_, subtitle, (this.f_96543_ - subtitleWidth) / 2, titleY + 15, 0xCCCCCC | titleAlpha, false);
if (!this.isTransitioning) { if (!this.isTransitioning) {
boolean wasLeftHovered = this.leftHovered; boolean wasLeftHovered = this.leftHovered;
@@ -456,10 +456,10 @@ extends Screen {
if (hovered) { if (hovered) {
int glowSize = 4; int glowSize = 4;
int glowAlpha = (int)(128.0f * alpha) << 24; 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; 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) { if (animator != null && animator.getTextureLocation() != null) {
RenderSystem.enableBlend(); RenderSystem.enableBlend();
RenderSystem.defaultBlendFunc(); RenderSystem.defaultBlendFunc();
@@ -470,21 +470,21 @@ extends Screen {
} else { } else {
int placeholderTextColor = (int)(150.0f * alpha) << 24 | 0xFFFFFFFF; int placeholderTextColor = (int)(150.0f * alpha) << 24 | 0xFFFFFFFF;
String placeholder = "[Image not found]"; 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); graphics.m_280056_(this.f_96547_, placeholder, (width - placeholderWidth) / 2, height / 2 - 5, placeholderTextColor, false);
} }
int borderColor = hovered ? accentColor : -2529701; int borderColor = hovered ? accentColor : -2529701;
int borderAlpha = (int)(255.0f * alpha) << 24; int borderAlpha = (int)(255.0f * alpha) << 24;
int fadedBorderColor = borderColor & 0xFFFFFF | borderAlpha; int fadedBorderColor = borderColor & 0xFFFFFF | borderAlpha;
graphics.m_280509_(0, 0, width, 2, fadedBorderColor); graphics.fill(0, 0, width, 2, fadedBorderColor);
graphics.m_280509_(0, height - 2, width, height, fadedBorderColor); graphics.fill(0, height - 2, width, height, fadedBorderColor);
graphics.m_280509_(0, 0, 2, height, fadedBorderColor); graphics.fill(0, 0, 2, height, fadedBorderColor);
graphics.m_280509_(width - 2, 0, width, height, fadedBorderColor); graphics.fill(width - 2, 0, width, height, fadedBorderColor);
graphics.m_280168_().m_85849_(); graphics.m_280168_().m_85849_();
int labelAlpha = (int)(255.0f * alpha) << 24; int labelAlpha = (int)(255.0f * alpha) << 24;
int labelColor = hovered ? accentColor : -1; int labelColor = hovered ? accentColor : -1;
int fadedLabelColor = labelColor & 0xFFFFFF | labelAlpha; 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); graphics.m_280056_(this.f_96547_, label, x + (width - labelWidth) / 2, y + height + 10, fadedLabelColor, true);
} }
@@ -614,19 +614,19 @@ extends Screen {
} }
case EMBER: { case EMBER: {
int emberSize = (int)p.size; 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; break;
} }
case FLASH: { case FLASH: {
int flashSize = (int)(p.size * 0.7f); int flashSize = (int)(p.size * 0.7f);
int flashColor = colorWithAlpha & 0xFFFFFF | (int)(finalAlpha * 180.0f) << 24; 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; break;
} }
case SMOKE: { case SMOKE: {
int smokeSize = (int)p.size; int smokeSize = (int)p.size;
int smokeColor = colorWithAlpha & 0xFFFFFF | (int)(finalAlpha * 60.0f) << 24; 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 vignetteAlpha = (int)(ratio * ratio * 180.0f * globalAlpha);
int vignetteColor = vignetteAlpha << 24; int vignetteColor = vignetteAlpha << 24;
int thickness = 4; int thickness = 4;
graphics.m_280509_(0, i * thickness, this.f_96543_, (i + 1) * thickness, vignetteColor); graphics.fill(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.fill(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.fill(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(this.f_96543_ - (i + 1) * thickness, 0, this.f_96543_ - i * thickness, this.f_96544_, vignetteColor);
} }
for (i = 0; i < 150; ++i) { for (i = 0; i < 150; ++i) {
int gx = this.random.m_188503_(this.f_96543_); int gx = this.random.m_188503_(this.f_96543_);
int gy = this.random.m_188503_(this.f_96544_); int gy = this.random.m_188503_(this.f_96544_);
int grainAlpha = (int)((float)(20 + this.random.m_188503_(30)) * globalAlpha); int grainAlpha = (int)((float)(20 + this.random.m_188503_(30)) * globalAlpha);
int grainColor = grainAlpha << 24 | 0xFFFFFF; 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) { 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(); RenderSystem.disableBlend();
} }
@@ -661,7 +661,7 @@ extends Screen {
int sy = y1 < y2 ? 1 : -1; int sy = y1 < y2 ? 1 : -1;
int err = dx - dy; int err = dx - dy;
for (int steps = 0; steps < 200; ++steps) { 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; if (x1 == x2 && y1 == y2) break;
int e2 = 2 * err; int e2 = 2 * err;
if (e2 > -dy) { if (e2 > -dy) {
@@ -710,20 +710,20 @@ extends Screen {
if (this.backButtonHovered) { if (this.backButtonHovered) {
int glowSize = 3; int glowSize = 3;
int glowAlpha = (int)(128.0f * alpha) << 24; 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; 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 borderColor = this.backButtonHovered ? -881908 : -2529701;
int borderAlpha = (int)(255.0f * alpha) << 24; int borderAlpha = (int)(255.0f * alpha) << 24;
int fadedBorderColor = borderColor & 0xFFFFFF | borderAlpha; int fadedBorderColor = borderColor & 0xFFFFFF | borderAlpha;
graphics.m_280509_(0, 0, this.backButtonW, 2, fadedBorderColor); graphics.fill(0, 0, this.backButtonW, 2, fadedBorderColor);
graphics.m_280509_(0, this.backButtonH - 2, this.backButtonW, this.backButtonH, fadedBorderColor); graphics.fill(0, this.backButtonH - 2, this.backButtonW, this.backButtonH, fadedBorderColor);
graphics.m_280509_(0, 0, 2, this.backButtonH, fadedBorderColor); graphics.fill(0, 0, 2, this.backButtonH, fadedBorderColor);
graphics.m_280509_(this.backButtonW - 2, 0, this.backButtonW, this.backButtonH, fadedBorderColor); graphics.fill(this.backButtonW - 2, 0, this.backButtonW, this.backButtonH, fadedBorderColor);
graphics.m_280168_().m_85849_(); graphics.m_280168_().m_85849_();
String buttonText = "BACK"; 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 textColor = this.backButtonHovered ? -881908 : -1;
int textAlpha = (int)(255.0f * alpha) << 24; int textAlpha = (int)(255.0f * alpha) << 24;
int fadedTextColor = textColor & 0xFFFFFF | textAlpha; int fadedTextColor = textColor & 0xFFFFFF | textAlpha;
@@ -732,7 +732,7 @@ extends Screen {
private void playButtonSound() { private void playButtonSound() {
try { try {
Minecraft minecraft = Minecraft.m_91087_(); Minecraft minecraft = Minecraft.getInstance();
if (minecraft.m_91106_() != null) { 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)); minecraft.m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119755_((SoundEvent)((SoundEvent)ModSounds.BUTTON_SOUND.get()), (float)1.0f, (float)1.0f));
} }

View File

@@ -25,8 +25,8 @@ public class FirstTimeSetupHandler {
if (event.phase != TickEvent.Phase.END) { if (event.phase != TickEvent.Phase.END) {
return; return;
} }
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (!hasChecked && mc.f_91080_ instanceof TitleScreen) { if (!hasChecked && mc.screen instanceof TitleScreen) {
hasChecked = true; hasChecked = true;
ExplosionOverhaul.LOGGER.info("Detected TitleScreen on client, hasChecked=true"); ExplosionOverhaul.LOGGER.info("Detected TitleScreen on client, hasChecked=true");
if (Config.isFirstLaunch()) { if (Config.isFirstLaunch()) {
@@ -36,7 +36,7 @@ public class FirstTimeSetupHandler {
if (!pendingShowIntro) { if (!pendingShowIntro) {
return; return;
} }
if (mc.f_91080_ instanceof TitleScreen) { if (mc.screen instanceof TitleScreen) {
pendingShowIntro = false; pendingShowIntro = false;
ExplosionOverhaul.LOGGER.info("Showing IntroSplashScreen (first launch)"); ExplosionOverhaul.LOGGER.info("Showing IntroSplashScreen (first launch)");
mc.m_91152_((Screen)new IntroSplashScreen()); mc.m_91152_((Screen)new IntroSplashScreen());

View File

@@ -38,7 +38,7 @@ public class GroundDustEffect {
private final int raycastFrequency; private final int raycastFrequency;
public GroundDustEffect(Vec3 position, float power) { public GroundDustEffect(Vec3 position, float power) {
this.level = Minecraft.m_91087_().f_91073_; this.level = Minecraft.getInstance().f_91073_;
this.initialPosition = position; this.initialPosition = position;
this.power = power; this.power = power;
double qualityMultiplier = (Double)Config.CLIENT.groundDustQuality.get(); double qualityMultiplier = (Double)Config.CLIENT.groundDustQuality.get();

View File

@@ -33,7 +33,7 @@ public class GroundMistEffect {
private final int raycastFrequency; private final int raycastFrequency;
public GroundMistEffect(Vec3 position, float power) { public GroundMistEffect(Vec3 position, float power) {
this.level = Minecraft.m_91087_().f_91073_; this.level = Minecraft.getInstance().f_91073_;
this.initialPosition = position; this.initialPosition = position;
this.power = power; this.power = power;
double qualityMultiplier = (Double)Config.CLIENT.groundMistQuality.get(); double qualityMultiplier = (Double)Config.CLIENT.groundMistQuality.get();

View File

@@ -89,7 +89,7 @@ extends Screen {
private IntroMusicManager musicManager; private IntroMusicManager musicManager;
public GuideSlidesScreen() { public GuideSlidesScreen() {
super((Component)Component.m_237113_((String)"Guide Slides")); super((Component)Component.literal((String)"Guide Slides"));
} }
protected void m_7856_() { protected void m_7856_() {
@@ -266,7 +266,7 @@ extends Screen {
} }
public void m_88315_(GuiGraphics graphics, int mouseX, int mouseY, float partialTick) { 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) { if (this.fadeAlpha < 0.01f) {
return; return;
} }
@@ -307,19 +307,19 @@ extends Screen {
} }
case EMBER: { case EMBER: {
int emberSize = (int)p.size; 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; break;
} }
case FLASH: { case FLASH: {
int flashSize = (int)(p.size * 0.7f); int flashSize = (int)(p.size * 0.7f);
int flashColor = colorWithAlpha & 0xFFFFFF | (int)(finalAlpha * 180.0f) << 24; 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; break;
} }
case SMOKE: { case SMOKE: {
int smokeSize = (int)p.size; int smokeSize = (int)p.size;
int smokeColor = colorWithAlpha & 0xFFFFFF | (int)(finalAlpha * 60.0f) << 24; 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); 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 glowColor = (int)(alpha * 32.0f) << 24 | 0xF28B0C;
int borderThickness = 2; int borderThickness = 2;
graphics.m_280509_(this.animationX - borderThickness, this.animationY - borderThickness, this.animationX + this.animationWidth + borderThickness, this.animationY, glowColor); graphics.fill(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.fill(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.fill(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 + this.animationWidth, this.animationY, this.animationX + this.animationWidth + borderThickness, this.animationY + this.animationHeight, glowColor);
} }
private void renderProgressBar(GuiGraphics graphics, float alpha) { private void renderProgressBar(GuiGraphics graphics, float alpha) {
@@ -350,13 +350,13 @@ extends Screen {
int totalFrames = GuideSlidesScreen.SLIDES[this.currentSlideIndex].totalFrames; int totalFrames = GuideSlidesScreen.SLIDES[this.currentSlideIndex].totalFrames;
float progress = (float)currentFrame / (float)totalFrames; float progress = (float)currentFrame / (float)totalFrames;
int bgColor = (int)(alpha * 128.0f) << 24 | 0; 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 fillWidth = (int)((float)this.progressBarWidth * progress);
int fillColor = (int)(alpha * 255.0f) << 24 | 0xF28B0C; 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) { if (fillWidth > 0) {
int glowColor = (int)(alpha * 64.0f) << 24 | 0xF28B0C; 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; int startY = textY;
for (int i = 0; i < lines.size(); ++i) { for (int i = 0; i < lines.size(); ++i) {
String line = lines.get(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; int x = this.animationX + (this.animationWidth - lineWidth) / 2;
graphics.m_280056_(this.f_96547_, line, x, startY + i * lineHeight, textColor, true); graphics.m_280056_(this.f_96547_, line, x, startY + i * lineHeight, textColor, true);
} }
@@ -384,7 +384,7 @@ extends Screen {
StringBuilder currentLine = new StringBuilder(); StringBuilder currentLine = new StringBuilder();
for (String word : words) { for (String word : words) {
Object testLine = currentLine.length() > 0 ? currentLine + " " + word : word; 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) { if (width > maxWidth && currentLine.length() > 0) {
lines.add(currentLine.toString()); lines.add(currentLine.toString());
currentLine = new StringBuilder(word); currentLine = new StringBuilder(word);
@@ -448,7 +448,7 @@ extends Screen {
for (int y = -radius; y <= radius; ++y) { for (int y = -radius; y <= radius; ++y) {
for (int x = -radius; x <= radius; ++x) { for (int x = -radius; x <= radius; ++x) {
if (x * x + y * y > radius * radius) continue; 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); maxX = Math.max(maxX, x);
} }
if (minX == Integer.MAX_VALUE || maxX == Integer.MIN_VALUE) continue; 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 drawX = this.continueButtonX - offsetX;
int drawY = this.continueButtonY - offsetY; int drawY = this.continueButtonY - offsetY;
int bgColor = this.continueButtonHovered ? (int)(alpha * 220.0f) << 24 | 0xF28B0C : (int)(alpha * 160.0f) << 24 | 0x591515; 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) { if (this.continueButtonHovered) {
int glowColor = (int)(alpha * 80.0f) << 24 | 0xF28B0C; int glowColor = (int)(alpha * 80.0f) << 24 | 0xF28B0C;
int border = 3; int border = 3;
graphics.m_280509_(drawX - border, drawY - border, drawX + scaledWidth + border, drawY, glowColor); graphics.fill(drawX - border, drawY - border, drawX + scaledWidth + border, drawY, glowColor);
graphics.m_280509_(drawX - border, drawY + scaledHeight, drawX + scaledWidth + border, drawY + scaledHeight + border, glowColor); graphics.fill(drawX - border, drawY + scaledHeight, drawX + scaledWidth + border, drawY + scaledHeight + border, glowColor);
graphics.m_280509_(drawX - border, drawY, drawX, drawY + scaledHeight, glowColor); graphics.fill(drawX - border, drawY, drawX, drawY + scaledHeight, glowColor);
graphics.m_280509_(drawX + scaledWidth, drawY, drawX + scaledWidth + border, drawY + scaledHeight, glowColor); graphics.fill(drawX + scaledWidth, drawY, drawX + scaledWidth + border, drawY + scaledHeight, glowColor);
} }
String text = "Skip Guide"; String text = "Skip Guide";
int textColor = (int)(alpha * 255.0f) << 24 | 0xFFFFFF; 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_); Objects.requireNonNull(this.f_96547_);
int textY = drawY + (scaledHeight - 9) / 2; int textY = drawY + (scaledHeight - 9) / 2;
graphics.m_280056_(this.f_96547_, text, textX, textY, textColor, true); graphics.m_280056_(this.f_96547_, text, textX, textY, textColor, true);
@@ -572,7 +572,7 @@ extends Screen {
private void transitionToFirstTimeScreen() { private void transitionToFirstTimeScreen() {
ExplosionOverhaul.LOGGER.info("All guide slides complete. Transitioning to FirstTimeScreen."); 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) { 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 sy = y1 < y2 ? 1 : -1;
int err = dx - dy; int err = dx - dy;
for (int steps = 0; steps < 200; ++steps) { 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; if (x1 == x2 && y1 == y2) break;
int e2 = 2 * err; int e2 = 2 * err;
if (e2 > -dy) { if (e2 > -dy) {
@@ -609,7 +609,7 @@ extends Screen {
private void playButtonSound() { private void playButtonSound() {
try { try {
Minecraft minecraft = Minecraft.m_91087_(); Minecraft minecraft = Minecraft.getInstance();
if (minecraft.m_91106_() != null) { 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)); minecraft.m_91106_().m_120367_((SoundInstance)SimpleSoundInstance.m_119755_((SoundEvent)((SoundEvent)ModSounds.BUTTON_SOUND.get()), (float)1.0f, (float)1.0f));
} }

View File

@@ -36,7 +36,7 @@ public class IntroMusicManager {
if (this.isPlaying) { if (this.isPlaying) {
return; 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); this.musicInstance = new FadingMusicInstance((SoundEvent)ModSounds.INTRO_MUSIC.get(), 0.25f, SoundSource.MASTER);
soundManager.m_120367_((SoundInstance)this.musicInstance); soundManager.m_120367_((SoundInstance)this.musicInstance);
ExplosionOverhaul.LOGGER.info("Started intro music with FadingMusicInstance"); ExplosionOverhaul.LOGGER.info("Started intro music with FadingMusicInstance");
@@ -63,7 +63,7 @@ public class IntroMusicManager {
public void stopBoomSound() { public void stopBoomSound() {
if (this.boomInstance != null) { if (this.boomInstance != null) {
try { try {
SoundManager soundManager = Minecraft.m_91087_().m_91106_(); SoundManager soundManager = Minecraft.getInstance().m_91106_();
soundManager.m_120399_((SoundInstance)this.boomInstance); soundManager.m_120399_((SoundInstance)this.boomInstance);
this.boomInstance = null; this.boomInstance = null;
ExplosionOverhaul.LOGGER.info("Boom sound stopped."); ExplosionOverhaul.LOGGER.info("Boom sound stopped.");
@@ -76,7 +76,7 @@ public class IntroMusicManager {
public void stop() { public void stop() {
ExplosionOverhaul.LOGGER.info("stop() called! Stack trace:", (Throwable)new Exception("Music stop trace")); 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) { if (this.musicInstance != null) {
soundManager.m_120399_((SoundInstance)this.musicInstance); soundManager.m_120399_((SoundInstance)this.musicInstance);
this.musicInstance = null; this.musicInstance = null;
@@ -112,7 +112,7 @@ public class IntroMusicManager {
} }
private void stopVanillaMusic() { private void stopVanillaMusic() {
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc.m_91397_() != null) { if (mc.m_91397_() != null) {
mc.m_91397_().m_120186_(); mc.m_91397_().m_120186_();
} }

View File

@@ -30,7 +30,7 @@ extends Screen {
private boolean animationFinished = false; private boolean animationFinished = false;
public IntroSplashScreen() { public IntroSplashScreen() {
super((Component)Component.m_237113_((String)"Intro")); super((Component)Component.literal((String)"Intro"));
} }
protected void m_7856_() { protected void m_7856_() {
@@ -62,7 +62,7 @@ extends Screen {
public void m_88315_(GuiGraphics graphics, int mouseX, int mouseY, float partialTick) { public void m_88315_(GuiGraphics graphics, int mouseX, int mouseY, float partialTick) {
int displayWidth; int displayWidth;
int displayHeight; 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) { if (this.animator == null) {
return; return;
} }
@@ -127,10 +127,10 @@ extends Screen {
} }
private void transitionToFirstTimeScreen() { private void transitionToFirstTimeScreen() {
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (!(mc.f_91080_ instanceof TitleScreen)) { if (!(mc.screen instanceof TitleScreen)) {
mc.execute(() -> { mc.execute(() -> {
if (mc.f_91080_ instanceof TitleScreen) { if (mc.screen instanceof TitleScreen) {
mc.m_91152_((Screen)new VinlanxSplashScreen()); mc.m_91152_((Screen)new VinlanxSplashScreen());
} else { } else {
mc.m_91152_((Screen)new VinlanxSplashScreen()); mc.m_91152_((Screen)new VinlanxSplashScreen());

View File

@@ -55,9 +55,9 @@ extends TextureSheetParticle {
} }
stretchFactor = Mth.m_14036_((float)stretchFactor, (float)0.0f, (float)1.0f); stretchFactor = Mth.m_14036_((float)stretchFactor, (float)0.0f, (float)1.0f);
float distanceScale = 1.0f; float distanceScale = 1.0f;
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc.f_91074_ != null) { if (mc.player != null) {
double distSqr = mc.f_91074_.m_20275_(this.f_107212_, this.f_107213_, this.f_107214_); double distSqr = mc.player.m_20275_(this.f_107212_, this.f_107213_, this.f_107214_);
double dist = Math.sqrt(distSqr); double dist = Math.sqrt(distSqr);
if (dist > 171.0) { if (dist > 171.0) {
distanceScale = 2.5f; distanceScale = 2.5f;

View File

@@ -108,18 +108,18 @@ public class LowPassConcussionEffect {
}); });
SoundEngineAudioQueue.drainNow(); SoundEngineAudioQueue.drainNow();
} }
if (debugShowChat && (mc = Minecraft.m_91087_()) != null && mc.f_91074_ != null) { if (debugShowChat && (mc = Minecraft.getInstance()) != null && mc.player != null) {
mc.f_91074_.m_5661_((Component)Component.m_237113_((String)("Low pass test queued for " + seconds + "s (strength=" + addedStrength + ")")), false); 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) { public static void start(int seconds, float intensity, double effectivePercent, String visibility, int intensityPercent) {
Minecraft mc; Minecraft mc;
if (debugShowChat && (mc = Minecraft.m_91087_()) != null && mc.f_91074_ != null) { if (debugShowChat && (mc = Minecraft.getInstance()) != null && mc.player != null) {
mc.f_91074_.m_5661_((Component)Component.m_237113_((String)"__________________________________________"), false); 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); 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.player.m_5661_((Component)Component.literal((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)"__________________________________________"), false);
} }
LowPassConcussionEffect.start(seconds, intensity); LowPassConcussionEffect.start(seconds, intensity);
} }
@@ -162,7 +162,7 @@ public class LowPassConcussionEffect {
} }
public static void onClientTick() { public static void onClientTick() {
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
if (mc != null && mc.m_91104_()) { if (mc != null && mc.m_91104_()) {
return; return;
} }

View File

@@ -28,188 +28,188 @@ import net.neoforged.neoforge.common.ModConfigSpec;
public class ModConfigScreen { public class ModConfigScreen {
public static Screen create(Screen parent) { 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(); 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(() -> { builder.setSavingRunnable(() -> {
Config.CLIENT_SPEC.save(); Config.CLIENT_SPEC.save();
Config.COMMON_SPEC.save(); Config.COMMON_SPEC.save();
ExplosionTextureManager.getInstance().reload(); 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.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.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.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.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.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.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.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.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.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.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.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.m_237113_((String)" ")).build()); serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237115_((String)"option.explosionoverhaul.craterSettingsHeader")).build()); serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((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.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; double val = (double)value.intValue() / 100.0;
Object text = String.format("%.2fx", val); Object text = String.format("%.2fx", val);
if (val > 10.0) { if (val > 10.0) {
text = (String)text + " \u00a7c(EXTREME!)"; 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()); }).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.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.m_237113_((String)" ")).build()); serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((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.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.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.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.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.maxClusterPower"), ((Integer)Config.COMMON.maxClusterPower.get()).intValue(), 4, 1000).setDefaultValue(100).setTextGetter(v -> Component.literal((String)String.valueOf(v))).setTooltipSupplier(v -> {
if (v >= 500) { 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) { 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) { 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()); }).setSaveConsumer(arg_0 -> ((ModConfigSpec.IntValue)Config.COMMON.maxClusterPower).set(arg_0)).build());
int availableThreads = Runtime.getRuntime().availableProcessors(); int availableThreads = Runtime.getRuntime().availableProcessors();
int maxThreadsForSystem = Math.min(32, availableThreads); 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.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.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.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.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.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.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.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.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.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.m_237113_((String)" ")).build()); serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237115_((String)"option.explosionoverhaul.glassBreakingSettings")).build()); serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((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.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.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.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.m_237113_((String)" ")).build()); serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237115_((String)"option.explosionoverhaul.lampFlickerSettings")).build()); serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((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.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.m_237115_((String)"option.explosionoverhaul.dripstoneFallingSettings")).build()); serverCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((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()); 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.m_237115_((String)"category.explosionoverhaul.ambient")); ConfigCategory ambientCategory = builder.getOrCreateCategory((Component)Component.translatable((String)"category.explosionoverhaul.ambient"));
Config.Common.Ambient ambientConfig = Config.COMMON.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.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.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.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.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.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.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.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.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.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.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.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; 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.literal((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.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.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.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.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.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.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.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.m_237115_((String)"option.explosionoverhaul.chainReactionSettingsHeader")).build()); ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((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.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.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.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.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.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.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.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.m_237115_((String)"option.explosionoverhaul.shellingSettingsHeader")).build()); ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((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.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.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.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.m_237113_((String)" ")).build()); ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((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.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.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.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.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.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.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.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.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.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.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.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.m_237113_((String)" ")).build()); ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((String)" ")).build());
ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237115_((String)"option.explosionoverhaul.soundTypesHeader")).build()); ambientCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((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.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.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.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.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()); 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.m_237115_((String)"category.explosionoverhaul.render")); ConfigCategory renderCategory = builder.getOrCreateCategory((Component)Component.translatable((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.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.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 -> { 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) { 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) { 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()); }).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.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.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.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.m_237113_((String)" ")).build()); renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((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.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.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.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.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.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.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.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.m_237113_((String)" ")).build()); renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((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.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.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.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.m_237113_((String)" ")).build()); renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((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.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.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.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.m_237113_((String)" ")).build()); renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((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.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.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.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.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.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.m_237113_((String)" ")).build()); renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((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.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.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.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.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.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.m_237113_((String)" ")).build()); renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((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.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.m_237113_((String)" ")).build()); renderCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.literal((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.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.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()); 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.m_237115_((String)"category.explosionoverhaul.camera")); ConfigCategory cameraCategory = builder.getOrCreateCategory((Component)Component.translatable((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.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.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.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.m_237115_((String)"option.explosionoverhaul.cameraServerHeader")).build()); cameraCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((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.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.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()); 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.m_237115_((String)"category.explosionoverhaul.scan")); ConfigCategory scanCategory = builder.getOrCreateCategory((Component)Component.translatable((String)"category.explosionoverhaul.scan"));
scanCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.m_237115_((String)"option.explosionoverhaul.scanSettingsHeader")).build()); scanCategory.addEntry((AbstractConfigListEntry)entryBuilder.startTextDescription((Component)Component.translatable((String)"option.explosionoverhaul.scanSettingsHeader")).build());
int availableCores = Runtime.getRuntime().availableProcessors(); int availableCores = Runtime.getRuntime().availableProcessors();
int maxThreads = Math.min(32, availableCores); 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) { 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)); return Component.literal((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()); }).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.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.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.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.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.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()); 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.m_237115_((String)"category.explosionoverhaul.sounds")); ConfigCategory soundsCategory = builder.getOrCreateCategory((Component)Component.translatable((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()); 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.m_237115_((String)"category.explosionoverhaul.concussion")); ConfigCategory concussionCategory = builder.getOrCreateCategory((Component)Component.translatable((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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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()); 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.m_237115_((String)"category.explosionoverhaul.blacklists")); ConfigCategory blacklistCategory = builder.getOrCreateCategory((Component)Component.translatable((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)))); 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(); return builder.build();
} }
private static Component[] generateCraterTable(double multiplier) { private static Component[] generateCraterTable(double multiplier) {
int[] powerLevels; int[] powerLevels;
ArrayList<MutableComponent> lines = new ArrayList<MutableComponent>(); ArrayList<MutableComponent> lines = new ArrayList<MutableComponent>();
lines.add(Component.m_237115_((String)"tooltip.explosionoverhaul.craterSizeMultiplier.title")); lines.add(Component.translatable((String)"tooltip.explosionoverhaul.craterSizeMultiplier.title"));
lines.add(Component.m_237113_((String)"")); lines.add(Component.literal((String)""));
lines.add(Component.m_237113_((String)"\u00a7bPower \u00a78| \u00a7aApprox. Diameter")); lines.add(Component.literal((String)"\u00a7bPower \u00a78| \u00a7aApprox. Diameter"));
lines.add(Component.m_237113_((String)"\u00a77--------------------------")); lines.add(Component.literal((String)"\u00a77--------------------------"));
for (int power : powerLevels = new int[]{4, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100}) { for (int power : powerLevels = new int[]{4, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100}) {
float baseRadius = CraterDeformer.calculateRadius(power); float baseRadius = CraterDeformer.calculateRadius(power);
float diameter = (float)((double)baseRadius * multiplier * 2.0); float diameter = (float)((double)baseRadius * multiplier * 2.0);
String formattedLine = String.format("\u00a7f%-12d\u00a78| \u00a7a~%.1f blocks", power, Float.valueOf(diameter)); 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.literal((String)"\u00a77--------------------------"));
lines.add(Component.m_237115_((String)"tooltip.explosionoverhaul.craterSizeMultiplier.footer")); lines.add(Component.translatable((String)"tooltip.explosionoverhaul.craterSizeMultiplier.footer"));
lines.add(Component.m_237113_((String)"")); lines.add(Component.literal((String)""));
lines.add(Component.m_237115_((String)"tooltip.explosionoverhaul.craterShapeInfo")); lines.add(Component.translatable((String)"tooltip.explosionoverhaul.craterShapeInfo"));
return lines.toArray(new Component[0]); return lines.toArray(new Component[0]);
} }
@@ -230,7 +230,7 @@ public class ModConfigScreen {
this.button.m_253211_(y); this.button.m_253211_(y);
this.button.m_88315_(graphics, mouseX, mouseY, delta); 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_()) { 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);
} }
} }

View File

@@ -39,7 +39,7 @@ public class PhysicsBasedExplosionEffect {
this.position = position; this.position = position;
this.power = power; this.power = power;
this.random = new Random(); this.random = new Random();
this.level = Minecraft.m_91087_().f_91073_; this.level = Minecraft.getInstance().f_91073_;
if (this.level == null) { if (this.level == null) {
this.finished = true; this.finished = true;
this.maxRadius = 0.0f; this.maxRadius = 0.0f;

View File

@@ -25,7 +25,7 @@ public class ShockwaveEffect {
private boolean finished = false; private boolean finished = false;
public ShockwaveEffect(Vec3 position, float power) { public ShockwaveEffect(Vec3 position, float power) {
this.level = Minecraft.m_91087_().f_91073_; this.level = Minecraft.getInstance().f_91073_;
this.position = position; this.position = position;
this.power = power; this.power = power;
float powerFraction = Mth.m_184655_((float)this.power, (float)5.0f, (float)100.0f); float powerFraction = Mth.m_184655_((float)this.power, (float)5.0f, (float)100.0f);

View File

@@ -41,7 +41,7 @@ public class SpriteSheetAnimator {
} }
public void load() { public void load() {
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
try { try {
InputStream stream = ((Resource)mc.m_91098_().m_213713_(this.spriteSheetLocation).orElseThrow()).m_215507_(); InputStream stream = ((Resource)mc.m_91098_().m_213713_(this.spriteSheetLocation).orElseThrow()).m_215507_();
this.spriteSheet = NativeImage.m_85058_((InputStream)stream); this.spriteSheet = NativeImage.m_85058_((InputStream)stream);

View File

@@ -34,7 +34,7 @@ extends Screen {
private SimpleSoundInstance boomSoundInstance; private SimpleSoundInstance boomSoundInstance;
public VinlanxSplashScreen() { public VinlanxSplashScreen() {
super((Component)Component.m_237113_((String)"Vinlanx Intro")); super((Component)Component.literal((String)"Vinlanx Intro"));
} }
protected void m_7856_() { protected void m_7856_() {
@@ -43,7 +43,7 @@ extends Screen {
this.animator.load(); this.animator.load();
this.animator.play(); this.animator.play();
try { 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); this.boomSoundInstance = SimpleSoundInstance.m_119755_((SoundEvent)((SoundEvent)ModSounds.INTRO_BOOM_2.get()), (float)1.0f, (float)1.0f);
soundManager.m_120367_((SoundInstance)this.boomSoundInstance); soundManager.m_120367_((SoundInstance)this.boomSoundInstance);
} }
@@ -69,7 +69,7 @@ extends Screen {
public void m_88315_(GuiGraphics graphics, int mouseX, int mouseY, float partialTick) { public void m_88315_(GuiGraphics graphics, int mouseX, int mouseY, float partialTick) {
int displayWidth; int displayWidth;
int displayHeight; 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) { if (this.animator == null) {
return; return;
} }
@@ -125,7 +125,7 @@ extends Screen {
} }
if (this.boomSoundInstance != null) { if (this.boomSoundInstance != null) {
try { try {
Minecraft.m_91087_().m_91106_().m_120399_((SoundInstance)this.boomSoundInstance); Minecraft.getInstance().m_91106_().m_120399_((SoundInstance)this.boomSoundInstance);
} }
catch (Exception e) { catch (Exception e) {
ExplosionOverhaul.LOGGER.warn("Failed to stop intro_boom_2: {}", (Object)e.toString()); ExplosionOverhaul.LOGGER.warn("Failed to stop intro_boom_2: {}", (Object)e.toString());
@@ -139,7 +139,7 @@ extends Screen {
} }
private void transitionToFirstTimeScreen() { private void transitionToFirstTimeScreen() {
Minecraft mc = Minecraft.m_91087_(); Minecraft mc = Minecraft.getInstance();
mc.m_91152_((Screen)new GuideSlidesScreen()); mc.m_91152_((Screen)new GuideSlidesScreen());
} }
} }