diff --git a/src/main/java/fi/dy/masa/malilib/mixin/MixinInGameHud.java b/src/main/java/fi/dy/masa/malilib/mixin/MixinInGameHud.java index c987a2b243..6f6827e713 100644 --- a/src/main/java/fi/dy/masa/malilib/mixin/MixinInGameHud.java +++ b/src/main/java/fi/dy/masa/malilib/mixin/MixinInGameHud.java @@ -1,25 +1,33 @@ package fi.dy.masa.malilib.mixin; +import fi.dy.masa.malilib.event.RenderEventHandler; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.gui.LayeredDrawer; +import net.minecraft.client.gui.hud.InGameHud; +import net.minecraft.client.render.RenderTickCounter; 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; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.gui.hud.InGameHud; -import net.minecraft.client.render.RenderTickCounter; -import fi.dy.masa.malilib.event.RenderEventHandler; -@Mixin(InGameHud.class) -public abstract class MixinInGameHud -{ - @Shadow @Final private MinecraftClient client; +@Mixin(value = InGameHud.class) +public abstract class MixinInGameHud { + @Shadow + @Final + private MinecraftClient client; + @Shadow + @Final + private LayeredDrawer layeredDrawer; + + @Inject(method = "", at = @At("TAIL")) + private void onInit(CallbackInfo info) { + this.layeredDrawer.addLayer(this::renderGameOverlayPost); + } - @Inject(method = "render", at = @At("RETURN")) - private void onGameOverlayPost(DrawContext context, RenderTickCounter tickCounter, CallbackInfo ci) - { + private void renderGameOverlayPost(DrawContext context, RenderTickCounter tickCounter) { ((RenderEventHandler) RenderEventHandler.getInstance()).onRenderGameOverlayPost(context, this.client, tickCounter.getTickDelta(false)); } }