summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/ArslaansMagicHaxClient.java2
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/events/PacketEvent.java11
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/events/ReceivePacketEventBus.java18
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/mixin/AbstractBlockMixin.java33
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/mixin/AbstractBlockStateMixin.java9
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/mixin/ClientConnectionMixin.java36
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java33
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Criticals.java5
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Fullbright.java49
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/HideModulesHUD.java12
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Xray.java30
-rw-r--r--src/main/resources/arslaansmagichax.mixins.json2
12 files changed, 185 insertions, 55 deletions
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/ArslaansMagicHaxClient.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/ArslaansMagicHaxClient.java
index c6a0f91..274ca76 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/ArslaansMagicHaxClient.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/ArslaansMagicHaxClient.java
@@ -26,6 +26,7 @@ public class ArslaansMagicHaxClient implements ClientModInitializer {
public static Jetpack jetpack = new Jetpack();
public static GravityModifier gravityModifier = new GravityModifier();
public static Xray xray = new Xray();
+ public static HideModulesHUD hideModulesHUD = new HideModulesHUD();
@Override
public void onInitializeClient() {
@@ -53,6 +54,7 @@ public class ArslaansMagicHaxClient implements ClientModInitializer {
ModuleManager.INSTANCE.register(jetpack);
ModuleManager.INSTANCE.register(gravityModifier);
ModuleManager.INSTANCE.register(xray);
+ ModuleManager.INSTANCE.register(hideModulesHUD);
ModuleManager.INSTANCE.registerHUD();
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/events/PacketEvent.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/events/PacketEvent.java
index 654d2d8..7250fdc 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/events/PacketEvent.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/events/PacketEvent.java
@@ -15,4 +15,15 @@ public final class PacketEvent {
public void setCancelled(boolean c) { cancelled = c; }
public boolean isCancelled() { return cancelled; }
}
+
+ public static final class Receive {
+ private final Packet<?> packet;
+ private boolean cancelled;
+
+ public Receive(Packet<?> packet) { this.packet = packet; }
+
+ public Packet<?> packet() { return packet; }
+ public void setCancelled(boolean c) { cancelled = c; }
+ public boolean isCancelled() { return cancelled; }
+ }
} \ No newline at end of file
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/events/ReceivePacketEventBus.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/events/ReceivePacketEventBus.java
new file mode 100644
index 0000000..5aa340b
--- /dev/null
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/events/ReceivePacketEventBus.java
@@ -0,0 +1,18 @@
+package net.justlearning.arslaan3102.arslaansmagichax.events;
+
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.function.Consumer;
+
+public class ReceivePacketEventBus {
+ private static final List<Consumer<PacketEvent.Receive>> listeners = new CopyOnWriteArrayList<>();
+
+ public static void register(Consumer<PacketEvent.Receive> listener) {
+ listeners.add(listener);
+ }
+
+ public static void post(PacketEvent.Receive ev) {
+ for (Consumer<PacketEvent.Receive> l : listeners) l.accept(ev);
+ }
+}
+
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/mixin/AbstractBlockMixin.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/mixin/AbstractBlockMixin.java
new file mode 100644
index 0000000..c4da479
--- /dev/null
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/mixin/AbstractBlockMixin.java
@@ -0,0 +1,33 @@
+package net.justlearning.arslaan3102.arslaansmagichax.mixin;
+
+import net.justlearning.arslaan3102.arslaansmagichax.ArslaansMagicHaxClient;
+import net.minecraft.block.AbstractBlock;
+import net.minecraft.block.BlockState;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.util.math.BlockPos;
+import net.minecraft.world.BlockView;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
+
+import java.util.Objects;
+
+@Mixin(AbstractBlock.class)
+public class AbstractBlockMixin {
+ private static MinecraftClient mc = MinecraftClient.getInstance();
+
+ @Inject(method = "getAmbientOcclusionLightLevel", at = @At("HEAD"), cancellable = true)
+ private void onGetAmbientOcclusionLightLevel(BlockState state, BlockView world, BlockPos pos, CallbackInfoReturnable<Float> cir) {
+ if (mc == null) mc = MinecraftClient.getInstance(); // just in case :)
+ if (mc != null) {
+ if (mc.world != null && (ArslaansMagicHaxClient.fullbright.isEnabled())) {
+ if (Objects.equals(ArslaansMagicHaxClient.fullbright.mode.getMode(), "Break AO Renderer")) {
+ cir.setReturnValue(15.0F); // over the limit of 1.0F, breaks the ambient occlusion renderer and messes everything up :) yay
+ } else {
+ cir.setReturnValue(1.0F);
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/mixin/AbstractBlockStateMixin.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/mixin/AbstractBlockStateMixin.java
index dfb6c7d..9595227 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/mixin/AbstractBlockStateMixin.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/mixin/AbstractBlockStateMixin.java
@@ -1,8 +1,14 @@
+/*
+THIS FILE EXISTS AS AN ARCHIVE!!!!
+Injecting into getLuminance causes TONS of weird crashes and issues related to world rendering
+New logic is implemented in AbstractBlockMixin.java
+ */
package net.justlearning.arslaan3102.arslaansmagichax.mixin;
import net.justlearning.arslaan3102.arslaansmagichax.ArslaansMagicHaxClient;
import net.minecraft.block.AbstractBlock.AbstractBlockState;
import net.minecraft.block.BlockState;
+import net.minecraft.client.MinecraftClient;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@@ -10,12 +16,13 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(AbstractBlockState.class)
public class AbstractBlockStateMixin {
+ private static MinecraftClient mc = MinecraftClient.getInstance();
@Inject(method = "getLuminance", at = @At("HEAD"), cancellable = true)
private void onGetLuminance(CallbackInfoReturnable<Integer> cir) {
AbstractBlockState state = (AbstractBlockState)(Object)this;
- if ((ArslaansMagicHaxClient.xray.isEnabled() && ArslaansMagicHaxClient.xray.isInterestingBlock((BlockState) state)) || ArslaansMagicHaxClient.fullbright.isEnabled()) {
+ if (mc.world != null && (ArslaansMagicHaxClient.xray.isEnabled() && ArslaansMagicHaxClient.xray.isInterestingBlock((BlockState) state) || ArslaansMagicHaxClient.fullbright.isEnabled())) {
cir.setReturnValue(15);
}
}
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/mixin/ClientConnectionMixin.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/mixin/ClientConnectionMixin.java
new file mode 100644
index 0000000..549076c
--- /dev/null
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/mixin/ClientConnectionMixin.java
@@ -0,0 +1,36 @@
+package net.justlearning.arslaan3102.arslaansmagichax.mixin;
+
+import io.netty.channel.ChannelHandlerContext;
+import net.justlearning.arslaan3102.arslaansmagichax.events.PacketEvent;
+import net.justlearning.arslaan3102.arslaansmagichax.events.ReceivePacketEventBus;
+import net.minecraft.network.ClientConnection;
+import net.minecraft.network.listener.ClientPlayPacketListener;
+import net.minecraft.network.packet.Packet;
+import net.minecraft.network.packet.s2c.play.BundleS2CPacket;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
+
+import java.util.Iterator;
+
+@Mixin(ClientConnection.class)
+public class ClientConnectionMixin {
+ @Inject(method = "channelRead0(Lio/netty/channel/ChannelHandlerContext;Lnet/minecraft/network/packet/Packet;)V",
+ at = @At(value = "INVOKE", target = "Lnet/minecraft/network/ClientConnection;handlePacket(Lnet/minecraft/network/packet/Packet;Lnet/minecraft/network/listener/PacketListener;)V", shift = At.Shift.BEFORE), cancellable = true)
+ private void onHandlePacket(ChannelHandlerContext channelHandlerContext, Packet<?> packet, CallbackInfo ci) {
+ if (packet instanceof BundleS2CPacket bundle) {
+ for (Iterator<Packet<? super ClientPlayPacketListener>> it = bundle.getPackets().iterator(); it.hasNext(); ) {
+ Packet<? super ClientPlayPacketListener> innerPacket = it.next();
+ PacketEvent.Receive ev = new PacketEvent.Receive(innerPacket);
+ ReceivePacketEventBus.post(ev);
+ if (ev.isCancelled()) it.remove();
+ }
+ } else {
+ PacketEvent.Receive ev = new PacketEvent.Receive(packet);
+ ReceivePacketEventBus.post(ev);
+ if (ev.isCancelled()) ci.cancel();
+ }
+ }
+}
+
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java
index 80176e0..c555fa7 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java
@@ -2,6 +2,7 @@ package net.justlearning.arslaan3102.arslaansmagichax.modules;
import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
import net.justlearning.arslaan3102.arslaansmagichax.ArslaansMagicHax;
+import net.justlearning.arslaan3102.arslaansmagichax.ArslaansMagicHaxClient;
import net.justlearning.arslaan3102.arslaansmagichax.modules.settings.Setting;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
@@ -84,21 +85,23 @@ public class ModuleManager {
}
private void onRenderHud(DrawContext drawContext, RenderTickCounter renderTickCounter) {
- TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer;
- float alpha = 1.0F;
- int i = MathHelper.ceil(alpha * 255.0F) << 24; // I don't know what this dark magic is but it works
- int x = 5;
- int y = 5;
-
- int titleColor = 16568909 | i; // weird magic
-
- drawContext.drawTextWithBackground(textRenderer, Text.literal("Arslaan's Magic Hax"), x, y, 50, titleColor);
- y += textRenderer.fontHeight + 4;
-
- for (Module module : ModuleManager.getEnabledModules()) {
- int color = 16777215 | i; // more magic I don't understand
- drawContext.drawTextWithShadow(textRenderer, Text.literal(module.getName()), x, y, color);
- y += textRenderer.fontHeight + 2;
+ if (!ArslaansMagicHaxClient.hideModulesHUD.isEnabled()) {
+ TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer;
+ float alpha = 1.0F;
+ int i = MathHelper.ceil(alpha * 255.0F) << 24; // I don't know what this dark magic is but it works
+ int x = 5;
+ int y = 5;
+
+ int titleColor = 16568909 | i; // weird magic
+
+ drawContext.drawTextWithBackground(textRenderer, Text.literal("Arslaan's Magic Hax"), x, y, 50, titleColor);
+ y += textRenderer.fontHeight + 4;
+
+ for (Module module : ModuleManager.getEnabledModules()) {
+ int color = 16777215 | i; // more magic I don't understand
+ drawContext.drawTextWithShadow(textRenderer, Text.literal(module.getName()), x, y, color);
+ y += textRenderer.fontHeight + 2;
+ }
}
}
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Criticals.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Criticals.java
index e539ee7..5c90cf0 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Criticals.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Criticals.java
@@ -65,9 +65,8 @@ public class Criticals extends Module {
}
} else if (Objects.equals(mode.getMode(), "Bypass")) {
// don't do the sprint bypass and make it more random-looking to throw off anticheat
- sendYPacket(0.11);
- sendYPacket(0.1100013579);
- sendYPacket(0.0000013579);
+ sendYPacket(0.0625 + (Math.random() * 0.01));
+ sendYPacket(0.0);
}
}
}
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Fullbright.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Fullbright.java
index bf72c6a..eefd5fb 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Fullbright.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Fullbright.java
@@ -3,7 +3,6 @@ package net.justlearning.arslaan3102.arslaansmagichax.modules.impl;
import net.justlearning.arslaan3102.arslaansmagichax.modules.Category;
import net.justlearning.arslaan3102.arslaansmagichax.modules.Module;
import net.justlearning.arslaan3102.arslaansmagichax.modules.settings.ModeSetting;
-import net.minecraft.client.option.SimpleOption;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.registry.Registries;
@@ -11,23 +10,24 @@ import net.minecraft.registry.Registries;
import java.util.Objects;
public class Fullbright extends Module {
- private ModeSetting mode = new ModeSetting("Mode", "Gamma", "Effect", "Gamma", "Effect + Gamma");
- private SimpleOption<Double> option;
+ public ModeSetting mode = new ModeSetting("Mode", "Gamma", "Effect", "Gamma", "Effect + Gamma", "Break AO Renderer");
private double previousGamma = 1.0;
private boolean setPreviousGamma = false;
+ private String lastMode = ""; // track previous mode
public Fullbright() {
super("Fullbright", "Brightens up your world!", -1, Category.RENDER);
addSetting(mode);
+ lastMode = mode.getMode(); // initialize
}
@Override
protected void onEnable() {
if (mc.options == null) return;
- if (Objects.equals(mode.getMode(), "Gamma")) {
- if (!setPreviousGamma) previousGamma = mc.options.getGamma().getValue();
- setPreviousGamma = true;
- mc.options.getGamma().setValue(1000.0);
+ applyMode(mode.getMode());
+
+ if (mc.worldRenderer != null) {
+ mc.worldRenderer.reload();
}
}
@@ -35,31 +35,52 @@ public class Fullbright extends Module {
public void tick() {
if (!this.isEnabled() || mc.player == null) return;
- if (Objects.equals(mode.getMode(), "Effect")) {
- mc.options.getGamma().setValue(previousGamma);
- setPreviousGamma = false;
+ String currentMode = mode.getMode();
+ if (!Objects.equals(currentMode, lastMode)) {
+ applyMode(currentMode);
+
+ if (mc.worldRenderer != null) {
+ mc.worldRenderer.reload();
+ }
+
+ lastMode = currentMode;
+ }
+
+ if (Objects.equals(currentMode, "Effect")) {
+ mc.player.addStatusEffect(new StatusEffectInstance(Registries.STATUS_EFFECT.getEntry(StatusEffects.NIGHT_VISION.value()), 1, 255));
+ } else if (Objects.equals(currentMode, "Effect + Gamma")) {
mc.player.addStatusEffect(new StatusEffectInstance(Registries.STATUS_EFFECT.getEntry(StatusEffects.NIGHT_VISION.value()), 1, 255));
}
- if (Objects.equals(mode.getMode(), "Gamma")) {
+ }
+
+ private void applyMode(String modeName) {
+ if (Objects.equals(modeName, "Gamma")) {
if (!setPreviousGamma) previousGamma = mc.options.getGamma().getValue();
setPreviousGamma = true;
mc.options.getGamma().setValue(1000.0);
- }
- if (Objects.equals(mode.getMode(), "Effect + Gamma")) {
+ } else if (Objects.equals(modeName, "Effect + Gamma")) {
if (!setPreviousGamma) previousGamma = mc.options.getGamma().getValue();
setPreviousGamma = true;
mc.options.getGamma().setValue(1000.0);
- mc.player.addStatusEffect(new StatusEffectInstance(Registries.STATUS_EFFECT.getEntry(StatusEffects.NIGHT_VISION.value()), 1, 255));
+ } else if (Objects.equals(modeName, "Effect")) {
+ mc.options.getGamma().setValue(previousGamma);
+ setPreviousGamma = false;
}
}
@Override
protected void onDisable() {
if (mc.player == null) return;
+
if (mc.player.hasStatusEffect(Registries.STATUS_EFFECT.getEntry(StatusEffects.NIGHT_VISION.value()))) {
mc.player.removeStatusEffect(Registries.STATUS_EFFECT.getEntry(StatusEffects.NIGHT_VISION.value()));
}
mc.options.getGamma().setValue(previousGamma);
+
+ if (mc.worldRenderer != null) {
+ mc.worldRenderer.reload();
+ }
}
}
+
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/HideModulesHUD.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/HideModulesHUD.java
new file mode 100644
index 0000000..09268e6
--- /dev/null
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/HideModulesHUD.java
@@ -0,0 +1,12 @@
+package net.justlearning.arslaan3102.arslaansmagichax.modules.impl;
+
+import net.justlearning.arslaan3102.arslaansmagichax.modules.Category;
+import net.justlearning.arslaan3102.arslaansmagichax.modules.Module;
+
+public class HideModulesHUD extends Module {
+ public HideModulesHUD() {
+ super("Hide Modules HUD", "Hides the list of modules in the top-left of the HUD.", -1, Category.RENDER);
+ }
+
+ // actual shit is in ModuleManager::onRenderHud (if condition to check if this is not enabled)
+}
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Xray.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Xray.java
index a57c855..71163b5 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Xray.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Xray.java
@@ -2,24 +2,26 @@ package net.justlearning.arslaan3102.arslaansmagichax.modules.impl;
import net.justlearning.arslaan3102.arslaansmagichax.modules.Category;
import net.justlearning.arslaan3102.arslaansmagichax.modules.Module;
+import net.justlearning.arslaan3102.arslaansmagichax.modules.settings.ModeSetting;
import net.minecraft.block.AbstractBlock;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.registry.Registries;
+import net.minecraft.text.Text;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
public class Xray extends Module {
private List<BlockState> interestingBlocks = new ArrayList<>();
- private double previousGamma = 1.0;
- private boolean setPreviousGamma = false;
public Xray() {
super("Xray", "Allows you to see through blocks.", -1, Category.RENDER);
+ // Add ores, spawners, liquids, etc.
interestingBlocks.add(Blocks.DIAMOND_ORE.getDefaultState());
interestingBlocks.add(Blocks.DEEPSLATE_DIAMOND_ORE.getDefaultState());
interestingBlocks.add(Blocks.GOLD_ORE.getDefaultState());
@@ -38,45 +40,31 @@ public class Xray extends Module {
interestingBlocks.add(Blocks.DEEPSLATE_COPPER_ORE.getDefaultState());
interestingBlocks.add(Blocks.NETHER_QUARTZ_ORE.getDefaultState());
interestingBlocks.add(Blocks.NETHER_GOLD_ORE.getDefaultState());
-
interestingBlocks.add(Blocks.SPAWNER.getDefaultState());
interestingBlocks.add(Blocks.CHEST.getDefaultState());
interestingBlocks.add(Blocks.ANCIENT_DEBRIS.getDefaultState());
interestingBlocks.add(Blocks.GLOWSTONE.getDefaultState());
-
interestingBlocks.add(Blocks.WATER.getDefaultState());
interestingBlocks.add(Blocks.LAVA.getDefaultState());
}
@Override
protected void onEnable() {
- if (mc.worldRenderer == null) return;
+ if (mc.worldRenderer != null) mc.worldRenderer.reload();
- mc.worldRenderer.reload();
+ if (mc.player != null) mc.player.sendMessage(Text.literal("[Xray] It is recommended to use this hack with Fullbright for a better experience."), false);
}
- @Override
- public void tick() {
- if (!this.isEnabled() || mc.player == null || mc.world == null || mc.options == null) return;
-
- if (!setPreviousGamma) previousGamma = mc.options.getGamma().getValue();
- setPreviousGamma = true;
- mc.options.getGamma().setValue(1000.0);
- mc.player.addStatusEffect(new StatusEffectInstance(Registries.STATUS_EFFECT.getEntry(StatusEffects.NIGHT_VISION.value()), 1, 255));
- }
@Override
protected void onDisable() {
- if (mc.worldRenderer == null || mc.options == null) return;
-
- mc.worldRenderer.reload();
- mc.options.getGamma().setValue(previousGamma);
- setPreviousGamma = false;
+ if (mc.worldRenderer != null) mc.worldRenderer.reload();
}
public boolean isInterestingBlock(BlockState state) {
return interestingBlocks.contains(state);
}
- // xraying is handled in BlockMixin
+ // xraying is handled in BlockMixin.java
}
+
diff --git a/src/main/resources/arslaansmagichax.mixins.json b/src/main/resources/arslaansmagichax.mixins.json
index c442b85..5d6c559 100644
--- a/src/main/resources/arslaansmagichax.mixins.json
+++ b/src/main/resources/arslaansmagichax.mixins.json
@@ -3,7 +3,7 @@
"package": "net.justlearning.arslaan3102.arslaansmagichax.mixin",
"compatibilityLevel": "JAVA_21",
"mixins": [
- "AbstractBlockStateMixin",
+ "AbstractBlockMixin",
"BlockMixin",
"ClientCommonNetworkHandlerMixin",
"MinecraftClientMixin",