fix weird NPEs

fixes #132, fixes #131
This commit is contained in:
C10udburst
2022-07-07 18:13:55 +02:00
parent 48de587b1e
commit 0339975b8c
5 changed files with 15 additions and 8 deletions

View File

@@ -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();

View File

@@ -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);
}
}

View File

@@ -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());

View File

@@ -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));
}

View File

@@ -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());
}
}