diff --git a/src/main/java/anticope/rejects/gui/screens/InteractionScreen.java b/src/main/java/anticope/rejects/gui/screens/InteractionScreen.java index 7cb800c..388e91a 100644 --- a/src/main/java/anticope/rejects/gui/screens/InteractionScreen.java +++ b/src/main/java/anticope/rejects/gui/screens/InteractionScreen.java @@ -73,6 +73,7 @@ public class InteractionScreen extends Screen { public InteractionScreen(Entity entity, InteractionMenu module) { super(Text.literal("Menu Screen")); + if (module == null) closeScreen(); selectedDotColor = module.selectedDotColor.get().getPacked(); dotColor = module.dotColor.get().getPacked(); diff --git a/src/main/java/anticope/rejects/mixin/Deadmau5FeatureRendererMixin.java b/src/main/java/anticope/rejects/mixin/Deadmau5FeatureRendererMixin.java index 208995d..c9de558 100644 --- a/src/main/java/anticope/rejects/mixin/Deadmau5FeatureRendererMixin.java +++ b/src/main/java/anticope/rejects/mixin/Deadmau5FeatureRendererMixin.java @@ -2,6 +2,7 @@ package anticope.rejects.mixin; import anticope.rejects.modules.Rendering; import meteordevelopment.meteorclient.systems.modules.Modules; + import net.minecraft.client.render.entity.feature.Deadmau5FeatureRenderer; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -11,9 +12,8 @@ import org.spongepowered.asm.mixin.injection.Redirect; public class Deadmau5FeatureRendererMixin { @Redirect(method = "render", at = @At(value = "INVOKE", target = "Ljava/lang/String;equals(Ljava/lang/Object;)Z")) private boolean redirectAllow(String s, Object name){ - if (Modules.get().get(Rendering.class).deadmau5EarsEnabled()) { - return true; //Allow it always - } + Rendering renderingModule = Modules.get().get(Rendering.class); + if (renderingModule != null && renderingModule.deadmau5EarsEnabled()) return true; return name.equals(s); } } diff --git a/src/main/java/anticope/rejects/mixin/GameRendererMixin.java b/src/main/java/anticope/rejects/mixin/GameRendererMixin.java index 1664d45..751e9ac 100644 --- a/src/main/java/anticope/rejects/mixin/GameRendererMixin.java +++ b/src/main/java/anticope/rejects/mixin/GameRendererMixin.java @@ -1,6 +1,8 @@ package anticope.rejects.mixin; import anticope.rejects.modules.Rendering; +import meteordevelopment.meteorclient.systems.modules.Modules; + import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -10,7 +12,6 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.gl.ShaderEffect; import net.minecraft.client.render.GameRenderer; -import meteordevelopment.meteorclient.systems.modules.Modules; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(GameRenderer.class) @@ -19,7 +20,9 @@ public class GameRendererMixin { @Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/WorldRenderer;drawEntityOutlinesFramebuffer()V", ordinal = 0)) private void renderShader(float tickDelta, long startTime, boolean tick, CallbackInfo ci) { - ShaderEffect shader = Modules.get().get(Rendering.class).getShaderEffect(); + Rendering renderingModule = Modules.get().get(Rendering.class); + if (renderingModule == null) return; + ShaderEffect shader = renderingModule.getShaderEffect(); if (shader != null) { shader.setupDimensions(client.getWindow().getFramebufferWidth(), client.getWindow().getFramebufferHeight()); diff --git a/src/main/java/anticope/rejects/mixin/LivingEntityRendererMixin.java b/src/main/java/anticope/rejects/mixin/LivingEntityRendererMixin.java index b5952c7..f5bc97d 100644 --- a/src/main/java/anticope/rejects/mixin/LivingEntityRendererMixin.java +++ b/src/main/java/anticope/rejects/mixin/LivingEntityRendererMixin.java @@ -20,7 +20,9 @@ public class LivingEntityRendererMixin { @Inject(method = "setupTransforms", at = @At(value = "TAIL")) private void dinnerboneEntities(LivingEntity entity, MatrixStack matrices, float _animationProgress, float _bodyYaw, float _tickDelta, CallbackInfo _info) { - if ((!(entity instanceof PlayerEntity)) && Modules.get().get(Rendering.class).dinnerboneEnabled()) { + Rendering renderingModule = Modules.get().get(Rendering.class); + if (renderingModule == null) return; + if ((!(entity instanceof PlayerEntity)) && renderingModule.dinnerboneEnabled()) { matrices.translate(0.0D, entity.getHeight() + 0.1F, 0.0D); matrices.multiply(Vec3f.POSITIVE_Z.getDegreesQuaternion(180.0F)); } diff --git a/src/main/java/anticope/rejects/mixin/StructureVoidBlockMixin.java b/src/main/java/anticope/rejects/mixin/StructureVoidBlockMixin.java index c445d32..3bf32f5 100644 --- a/src/main/java/anticope/rejects/mixin/StructureVoidBlockMixin.java +++ b/src/main/java/anticope/rejects/mixin/StructureVoidBlockMixin.java @@ -6,8 +6,8 @@ import net.minecraft.block.BlockState; import net.minecraft.block.StructureVoidBlock; import net.minecraft.util.math.Direction; -import meteordevelopment.meteorclient.systems.modules.Modules; import anticope.rejects.modules.Rendering; +import meteordevelopment.meteorclient.systems.modules.Modules; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -28,7 +28,8 @@ public abstract class StructureVoidBlockMixin extends Block { @Override public boolean isSideInvisible(BlockState state, BlockState neighbor, Direction facing) { - return !(Modules.get().get(Rendering.class).renderStructureVoid()); + Rendering renderingModule = Modules.get().get(Rendering.class); + return !(renderingModule != null && renderingModule.renderStructureVoid()); } }