From 0fa998403590a50ef10c4ee96101569873cb1b94 Mon Sep 17 00:00:00 2001 From: pixar02 Date: Sun, 12 Nov 2023 22:27:58 +0100 Subject: [PATCH] removed a mixin --- .../client/event/ClientModsEvents.java | 2 + .../client/gui/hud/HudOverlayCallBack.java | 38 +++++++++++++++++++ .../minelabs/client/mixin/InGameHudMixin.java | 38 ------------------- .../resources/minelabs.client.mixins.json | 1 - 4 files changed, 40 insertions(+), 39 deletions(-) create mode 100644 src/client/java/be/minelabs/client/gui/hud/HudOverlayCallBack.java delete mode 100644 src/client/java/be/minelabs/client/mixin/InGameHudMixin.java diff --git a/src/client/java/be/minelabs/client/event/ClientModsEvents.java b/src/client/java/be/minelabs/client/event/ClientModsEvents.java index 8fff8892c..260788158 100644 --- a/src/client/java/be/minelabs/client/event/ClientModsEvents.java +++ b/src/client/java/be/minelabs/client/event/ClientModsEvents.java @@ -1,6 +1,7 @@ package be.minelabs.client.event; import be.minelabs.client.gui.hud.BohrBlueprintHUDRenderer; +import be.minelabs.client.gui.hud.HudOverlayCallBack; import be.minelabs.entity.BohrBlueprintEntity; import be.minelabs.entity.Entities; import net.fabricmc.api.EnvType; @@ -57,5 +58,6 @@ public static void onInitializeClient() { } } ); + HudRenderCallback.EVENT.register(new HudOverlayCallBack()); } } diff --git a/src/client/java/be/minelabs/client/gui/hud/HudOverlayCallBack.java b/src/client/java/be/minelabs/client/gui/hud/HudOverlayCallBack.java new file mode 100644 index 000000000..840f14f30 --- /dev/null +++ b/src/client/java/be/minelabs/client/gui/hud/HudOverlayCallBack.java @@ -0,0 +1,38 @@ +package be.minelabs.client.gui.hud; + +import be.minelabs.Minelabs; +import be.minelabs.item.Items; +import com.mojang.blaze3d.systems.RenderSystem; +import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.hud.InGameHud; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.item.ItemStack; +import net.minecraft.util.Identifier; + +public class HudOverlayCallBack implements HudRenderCallback { + + private static final Identifier SAFETY_GLASS = new Identifier(Minelabs.MOD_ID, "textures/misc/safety_glass.png"); + + private void renderOverlay(MatrixStack matrices, Identifier texture, float opacity, int scaledWidth,int scaledHeight) { + RenderSystem.disableDepthTest(); + RenderSystem.depthMask(false); + RenderSystem.setShaderColor(1.0f, 1.0f, 1.0f, opacity); + RenderSystem.setShaderTexture(0, texture); + InGameHud.drawTexture(matrices, 0, 0, -90, 0.0f, 0.0f, scaledWidth, scaledHeight, scaledWidth, scaledHeight); + RenderSystem.depthMask(true); + RenderSystem.enableDepthTest(); + RenderSystem.setShaderColor(1.0f, 1.0f, 1.0f, 1.0f); + } + + @Override + public void onHudRender(MatrixStack matrices, float tickDelta) { + ItemStack itemStack = MinecraftClient.getInstance().player.getInventory().getArmorStack(3); + + if (itemStack.isOf(Items.SAFETY_GLASSES)) { + renderOverlay(matrices, SAFETY_GLASS, 1.0F, + MinecraftClient.getInstance().getWindow().getScaledWidth(), + MinecraftClient.getInstance().getWindow().getScaledHeight()); + } + } +} diff --git a/src/client/java/be/minelabs/client/mixin/InGameHudMixin.java b/src/client/java/be/minelabs/client/mixin/InGameHudMixin.java deleted file mode 100644 index fc0391723..000000000 --- a/src/client/java/be/minelabs/client/mixin/InGameHudMixin.java +++ /dev/null @@ -1,38 +0,0 @@ -package be.minelabs.client.mixin; - -import be.minelabs.Minelabs; -import be.minelabs.item.Items; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.hud.InGameHud; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Identifier; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Environment(EnvType.CLIENT) -@Mixin(InGameHud.class) -public abstract class InGameHudMixin { - - private static final Identifier SAFETY_GLASS = new Identifier(Minelabs.MOD_ID, "textures/misc/safety_glass.png"); - @Shadow - @Final - private MinecraftClient client; - - @Shadow - protected abstract void renderOverlay(MatrixStack matrices, Identifier texture, float opacity); - - @Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/Block;asItem()Lnet/minecraft/item/Item;")) - public void renderInject(MatrixStack matrices, float tickDelta, CallbackInfo ci) { - ItemStack itemStack = client.player.getInventory().getArmorStack(3); - if (itemStack.isOf(Items.SAFETY_GLASSES)) { - renderOverlay(matrices, SAFETY_GLASS, 1.0F); - } - } -} diff --git a/src/client/resources/minelabs.client.mixins.json b/src/client/resources/minelabs.client.mixins.json index cff08f18c..b8c420a33 100644 --- a/src/client/resources/minelabs.client.mixins.json +++ b/src/client/resources/minelabs.client.mixins.json @@ -3,7 +3,6 @@ "package": "be.minelabs.client.mixin", "compatibilityLevel": "JAVA_17", "client": [ - "InGameHudMixin", "LabCoatArmorItemMixin" ], "injectors": {