diff --git a/src/main/java/markil3/immersive_hud/ConfigManager.java b/src/main/java/markil3/immersive_hud/ConfigManager.java index 08dd7df..b8f30f1 100644 --- a/src/main/java/markil3/immersive_hud/ConfigManager.java +++ b/src/main/java/markil3/immersive_hud/ConfigManager.java @@ -2,7 +2,7 @@ package markil3.immersive_hud; import net.minecraft.util.math.MathHelper; -import me.shedaniel.autoconfig.AutoConfig; +import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; import static markil3.immersive_hud.Main.TICKS_PER_SECOND; diff --git a/src/main/java/markil3/immersive_hud/ConfigManagerCloth.java b/src/main/java/markil3/immersive_hud/ConfigManagerCloth.java index 7451fa9..c52f117 100644 --- a/src/main/java/markil3/immersive_hud/ConfigManagerCloth.java +++ b/src/main/java/markil3/immersive_hud/ConfigManagerCloth.java @@ -1,13 +1,13 @@ package markil3.immersive_hud; -import me.shedaniel.autoconfig.ConfigData; -import me.shedaniel.autoconfig.annotation.Config; +import me.sargunvohra.mcmods.autoconfig1u.ConfigData; +import me.sargunvohra.mcmods.autoconfig1u.annotation.Config; @Config(name = "immersive_hud") public class ConfigManagerCloth extends ConfigManager implements ConfigData { @Override - public void validatePostLoad() throws ValidationException + public void validatePostLoad() throws ConfigData.ValidationException { this.setMinHealth(this.getMinHealth()); } diff --git a/src/main/java/markil3/immersive_hud/Main.java b/src/main/java/markil3/immersive_hud/Main.java index c556d9b..cab61af 100644 --- a/src/main/java/markil3/immersive_hud/Main.java +++ b/src/main/java/markil3/immersive_hud/Main.java @@ -19,8 +19,8 @@ package markil3.immersive_hud; import net.fabricmc.api.ModInitializer; -import me.shedaniel.autoconfig.AutoConfig; -import me.shedaniel.autoconfig.serializer.Toml4jConfigSerializer; +import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; +import me.sargunvohra.mcmods.autoconfig1u.serializer.Toml4jConfigSerializer; /** * The main entry point for the Immersive HUD mod. @@ -37,7 +37,7 @@ public class Main implements ModInitializer { try { - if (Class.forName("me.shedaniel.autoconfig.AutoConfig") != null) + if (Class.forName("me.sargunvohra.mcmods.autoconfig1u.AutoConfig") != null) { AutoConfig.register(ConfigManagerCloth.class, Toml4jConfigSerializer::new); diff --git a/src/main/java/markil3/immersive_hud/ModMenu.java b/src/main/java/markil3/immersive_hud/ModMenu.java index d165e27..119bada 100644 --- a/src/main/java/markil3/immersive_hud/ModMenu.java +++ b/src/main/java/markil3/immersive_hud/ModMenu.java @@ -1,11 +1,11 @@ package markil3.immersive_hud; -import com.terraformersmc.modmenu.api.ConfigScreenFactory; -import com.terraformersmc.modmenu.api.ModMenuApi; +import net.minecraft.client.gui.screen.Screen; -import net.minecraft.text.TranslatableText; +import java.util.function.Function; -import me.shedaniel.autoconfig.AutoConfig; +import io.github.prospector.modmenu.api.ModMenuApi; +import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; import me.shedaniel.clothconfig2.api.ConfigBuilder; import me.shedaniel.clothconfig2.api.ConfigCategory; import me.shedaniel.clothconfig2.api.ConfigEntryBuilder; @@ -25,44 +25,38 @@ public class ModMenu implements ModMenuApi final float FADE_OUT = 0.5F; DoubleListEntry maxTime = - entryBuilder.startDoubleField(new TranslatableText( - "option.immersive_hud." + name + - "MaxTime"), + entryBuilder.startDoubleField("option.immersive_hud." + name + + "MaxTime", (float) value.getMaxTime() / TICKS_PER_SECOND) .setDefaultValue(SHOW_TIME) .setMin(0) .setMax(10 * 60 * TICKS_PER_SECOND) // 10 Minutes - .setTooltip(new TranslatableText( - "tooltip.immersive_hud." + name + - "MaxTime")) + .setTooltip("tooltip.immersive_hud." + name + + "MaxTime") .setSaveConsumer(val -> value.setMaxTime((int) (val * TICKS_PER_SECOND))) .build(); DoubleListEntry fadeIn = - entryBuilder.startDoubleField(new TranslatableText( - "option.immersive_hud." + name + - "FadeIn"), + entryBuilder.startDoubleField("option.immersive_hud." + name + + "FadeIn", (float) value.getFadeInTime() / TICKS_PER_SECOND) .setDefaultValue(FADE_IN) .setMin(0) .setMax(10 * 60 * TICKS_PER_SECOND) - .setTooltip(new TranslatableText( - "tooltip.immersive_hud." + name + - "FadeIn")) + .setTooltip("tooltip.immersive_hud." + name + + "FadeIn") .setSaveConsumer(val -> value.setFadeInTime((int) (val * TICKS_PER_SECOND))) .build(); DoubleListEntry fadeOut = - entryBuilder.startDoubleField(new TranslatableText( - "option.immersive_hud." + name + - "FadeOut"), + entryBuilder.startDoubleField("option.immersive_hud." + name + + "FadeOut", (float) value.getFadeOutTime() / TICKS_PER_SECOND) .setDefaultValue(FADE_OUT) .setMin(0) .setMax(10 * 60 * TICKS_PER_SECOND) - .setTooltip(new TranslatableText( - "tooltip.immersive_hud." + name + - "FadeOut")) + .setTooltip("tooltip.immersive_hud." + name + + "FadeOut") .setSaveConsumer(val -> value.setFadeOutTime((int) (val * TICKS_PER_SECOND))) .build(); @@ -72,7 +66,13 @@ public class ModMenu implements ModMenuApi } @Override - public ConfigScreenFactory getModConfigScreenFactory() + public String getModId() + { + return "immersive_hud"; + } + + @Override + public Function getConfigScreenFactory() { return screen -> { ConfigCategory general; @@ -80,15 +80,16 @@ public class ModMenu implements ModMenuApi ConfigManager instance = ConfigManager.getInstance(); final ConfigBuilder builder = ConfigBuilder.create() .setParentScreen(screen) - .setTitle(new TranslatableText( - "immersive_hud.configGui.title")) + .setTitle("immersive_hud.configGui.title") .setSavingRunnable(() -> { try { - if (Class.forName("me.shedaniel.autoconfig.AutoConfig") != null) + if (Class.forName( + "me.shedaniel.autoconfig.AutoConfig") != null) { - AutoConfig.getConfigHolder(ConfigManagerCloth.class) - .save(); + ((me.sargunvohra.mcmods.autoconfig1u.ConfigManager) AutoConfig + .getConfigHolder( + ConfigManagerCloth.class)).save(); } } catch (ClassNotFoundException e) @@ -97,8 +98,8 @@ public class ModMenu implements ModMenuApi } }); general = - builder.getOrCreateCategory(new TranslatableText( - "category.immersive_hud.general")); + builder.getOrCreateCategory("category.immersive_hud" + + ".general"); entryBuilder = builder.entryBuilder(); startTimeField("hotbar", entryBuilder, @@ -120,50 +121,43 @@ public class ModMenu implements ModMenuApi general, instance.getPotionTime()); - general.addEntry(entryBuilder.startDoubleField(new TranslatableText( - "option.immersive_hud" + - ".crosshairTime"), + general.addEntry(entryBuilder.startDoubleField( + "option.immersive_hud.crosshairTime", (float) instance.getCrosshairTime() / TICKS_PER_SECOND) .setDefaultValue(6) - .setTooltip(new TranslatableText( - "tooltip.immersive_hud" + - ".crosshairTime")) + .setTooltip("tooltip.immersive_hud.crosshairTime") .setSaveConsumer(val -> instance.setCrosshairTime((int) (val * TICKS_PER_SECOND))) .build()); - general.addEntry(entryBuilder.startDoubleField(new TranslatableText( - "option.immersive_hud.handTime"), + general.addEntry(entryBuilder.startDoubleField( + "option.immersive_hud.handTime", (float) instance.getHandTime() / TICKS_PER_SECOND) .setDefaultValue(30) - .setTooltip(new TranslatableText( - "tooltip.immersive_hud.handTime")) + .setTooltip("tooltip.immersive_hud.handTime") .setSaveConsumer(val -> instance.setHandTime((int) (val * TICKS_PER_SECOND))) .build()); - general.addEntry(entryBuilder.startDoubleField(new TranslatableText( - "option.immersive_hud.minHealth"), + general.addEntry(entryBuilder.startDoubleField( + "option.immersive_hud.minHealth", instance.getMinHealth()) .setDefaultValue(0.5) - .setTooltip(new TranslatableText( - "tooltip.immersive_hud.minHealth")) + .setTooltip("tooltip.immersive_hud.minHealth") .setSaveConsumer(val -> instance.setMinHealth(val)) .build()); - general.addEntry(entryBuilder.startIntField(new TranslatableText( - "option.immersive_hud.minHunger"), + general.addEntry(entryBuilder.startIntField( + "option.immersive_hud.minHunger", instance.getMinHunger()) .setDefaultValue(17) - .setTooltip(new TranslatableText( - "tooltip.immersive_hud.minHunger")) + .setTooltip("tooltip.immersive_hud.minHunger") .setSaveConsumer(val -> instance.setMinHunger(val)) .build()); - general.addEntry(entryBuilder.startBooleanToggle(new TranslatableText( - "option.immersive_hud.showArmor"), + general.addEntry(entryBuilder.startBooleanToggle( + "option.immersive_hud.showArmor", instance.shouldShowArmor()) .setDefaultValue(true) - .setTooltip(new TranslatableText( - "tooltip.immersive_hud.showArmor")) + .setTooltip("tooltip.immersive_hud.showArmor") .setSaveConsumer(val -> instance.shouldShowArmor(val)) .build()); diff --git a/src/main/java/markil3/immersive_hud/TimerUtils.java b/src/main/java/markil3/immersive_hud/TimerUtils.java index 8fcf235..00d3b64 100644 --- a/src/main/java/markil3/immersive_hud/TimerUtils.java +++ b/src/main/java/markil3/immersive_hud/TimerUtils.java @@ -337,10 +337,6 @@ public class TimerUtils 0); } } - else - { - System.out.println("Unusing hand " + hand); - } } /** @@ -469,7 +465,7 @@ public class TimerUtils * * @since 0.1-1.16.4-fabric */ - public static boolean drawMountHealth(MatrixStack stack, float ticks) + public static boolean drawMountHealth(float ticks) { /* * When the health percentage falls to this level or below, the @@ -501,9 +497,9 @@ public class TimerUtils mountHealth = mount.getHealth(); changed = true; } - if (mountMaxHealth != mount.getMaxHealth()) + if (mountMaxHealth != mount.getMaximumHealth()) { - mountMaxHealth = mount.getMaxHealth(); + mountMaxHealth = mount.getMaximumHealth(); changed = true; } } @@ -524,10 +520,10 @@ public class TimerUtils */ if (mountHealth / mountMaxHealth > HEALTH_BOUNDARY) { - if (mountTime > 0) + if (tmp != null && mountTime > 0) { - stack.push(); - stack.translate(0F, + RenderSystem.pushMatrix(); + RenderSystem.translatef(0F, getHealthTranslation(), 0F); setAlpha(Main.getAlpha(mountTime, @@ -538,8 +534,8 @@ public class TimerUtils } return true; } - stack.push(); - stack.translate(0F, + RenderSystem.pushMatrix(); + RenderSystem.translatef(0F, getHealthTranslation(), 0F); return false; @@ -699,9 +695,9 @@ public class TimerUtils health = entity.getHealth(); changed = true; } - if (maxHealth != entity.getMaxHealth()) + if (maxHealth != entity.getMaximumHealth()) { - maxHealth = entity.getMaxHealth(); + maxHealth = entity.getMaximumHealth(); changed = true; } if (changed) @@ -817,13 +813,11 @@ public class TimerUtils * Determines whether or not to draw the horse jump bar, adjusting the alpha * as needed. * - * @param stack - * * @return If true, then cancel drawing the jump bar. * * @since 0.1-1.16.4-fabric */ - public static boolean drawJumpbar(MatrixStack stack, float ticks) + public static boolean drawJumpbar(float ticks) { ConfigManager.TimeValues jump = ConfigManager.getInstance().getJumpTime(); @@ -851,8 +845,8 @@ public class TimerUtils } if (jumpTime > 0) { - stack.push(); - stack.translate(0F, TimerUtils.getJumpTranslation(), 0F); + RenderSystem.pushMatrix(); + RenderSystem.translatef(0F, TimerUtils.getJumpTranslation(), 0F); setAlpha(Main.getAlpha(jumpTime, jump.getMaxTime(), jump.getFadeInTime(), @@ -870,7 +864,7 @@ public class TimerUtils * * @since 0.1-1.16.4-fabric */ - public static boolean drawExperience(MatrixStack stack, float ticks) + public static boolean drawExperience(float ticks) { ConfigManager.TimeValues experience = ConfigManager.getInstance().getExperienceTime(); @@ -905,8 +899,8 @@ public class TimerUtils } if (experienceTime > 0) { - stack.push(); - stack.translate(0F, TimerUtils.getExperienceTranslation(), 0F); + RenderSystem.pushMatrix(); + RenderSystem.translatef(0F, TimerUtils.getExperienceTranslation(), 0F); setAlpha(Main.getAlpha(experienceTime, experience.getMaxTime(), experience.getFadeInTime(), @@ -923,7 +917,7 @@ public class TimerUtils * * @return If true, then cancel drawing the hotbar. * - * @see #recolorHotbar(MatrixStack) + * @see #recolorHotbar() * @since 0.1-1.16.4-fabric */ public static boolean updateHotbar(float ticks) @@ -1146,12 +1140,11 @@ public class TimerUtils * * @since 0.1-1.16.4-fabric */ - public static void recolorHotbar(MatrixStack stack) + public static void recolorHotbar() { ConfigManager.TimeValues hotbar = ConfigManager.getInstance().getHotbarTime(); RenderSystem.pushMatrix(); - stack.push(); RenderSystem.translatef(0F, TimerUtils.getHotbarTranslation(), 0F); setAlpha(Main.getAlpha(hotbarTime, hotbar.getMaxTime(), diff --git a/src/main/java/markil3/immersive_hud/mixin/HudHook.java b/src/main/java/markil3/immersive_hud/mixin/HudHook.java index aa65ad0..4c72b89 100644 --- a/src/main/java/markil3/immersive_hud/mixin/HudHook.java +++ b/src/main/java/markil3/immersive_hud/mixin/HudHook.java @@ -21,9 +21,10 @@ import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.hud.InGameHud; import net.minecraft.client.network.ClientPlayerEntity; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.effect.StatusEffectInstance; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -43,12 +44,13 @@ import markil3.immersive_hud.TimerUtils; @Mixin(InGameHud.class) public class HudHook { + private static final Logger logger = LogManager.getLogger(HudHook.class); + private StatusEffectInstance currentEffect; /** * Determines whether or not to draw the crosshair. * - * @param stack - The matrix drawing stack. * @param callbackInfo * * @version 0.2-1.16.4-fabric @@ -56,8 +58,9 @@ public class HudHook */ @Inject(method = "renderCrosshair", at = @At(value = "HEAD"), cancellable = true) - public void startCrosshair(MatrixStack stack, CallbackInfo callbackInfo) + public void startCrosshair(CallbackInfo callbackInfo) { + logger.debug("Starting crosshair"); if (TimerUtils.drawCrosshair(MinecraftClient.getInstance() .getTickDelta())) { @@ -68,15 +71,15 @@ public class HudHook /** * Resets any changes from drawing the crosshair. * - * @param stack - The matrix drawing stack. * @param callbackInfo * * @version 0.2-1.16.4-fabric * @since 0.1-1.16.4-fabric */ @Inject(method = "renderCrosshair", at = @At(value = "TAIL")) - public void finishCrosshair(MatrixStack stack, CallbackInfo callbackInfo) + public void finishCrosshair(CallbackInfo callbackInfo) { + logger.debug("Finishing crosshair"); /* * Resets the color so that nothing else is bothered. */ @@ -86,7 +89,6 @@ public class HudHook /** * Determines whether or not to draw the horse jump bar. * - * @param stack - The matrix drawing stack. * @param callbackInfo * * @version 0.2-1.16.4-fabric @@ -94,12 +96,10 @@ public class HudHook */ @Inject(method = "renderMountJumpBar", at = @At(value = "HEAD"), cancellable = true) - public void startJumpbar(MatrixStack stack, - int x, - CallbackInfo callbackInfo) + public void startJumpbar(int x, CallbackInfo callbackInfo) { - if (TimerUtils.drawJumpbar(stack, - MinecraftClient.getInstance().getTickDelta())) + logger.debug("Starting jumpbar"); + if (TimerUtils.drawJumpbar(MinecraftClient.getInstance().getTickDelta())) { callbackInfo.cancel(); } @@ -108,18 +108,18 @@ public class HudHook /** * Resets any changes from drawing the horse jump bar. * - * @param stack - The matrix drawing stack. * @param callbackInfo * * @version 0.2-1.16.4-fabric * @since 0.1-1.16.4-fabric */ @Inject(method = "renderMountJumpBar", at = @At(value = "TAIL")) - public void finishJumpbar(MatrixStack stack, - int x, - CallbackInfo callbackInfo) + public void finishJumpbar( + int x, + CallbackInfo callbackInfo) { - stack.pop(); + logger.debug("Finishing jumpbar"); + RenderSystem.popMatrix(); /* * Resets the color so that nothing else is bothered. */ @@ -129,7 +129,6 @@ public class HudHook /** * Determines whether or not to draw the experience bar. * - * @param stack - The matrix drawing stack. * @param callbackInfo * * @version 0.2-1.16.4-fabric @@ -137,12 +136,10 @@ public class HudHook */ @Inject(method = "renderExperienceBar", at = @At(value = "HEAD"), cancellable = true) - public void startExperience(MatrixStack stack, - int x, - CallbackInfo callbackInfo) + public void startExperience(int x, CallbackInfo callbackInfo) { - if (TimerUtils.drawExperience(stack, - MinecraftClient.getInstance().getTickDelta())) + logger.debug("Starting experience bar"); + if (TimerUtils.drawExperience(MinecraftClient.getInstance().getTickDelta())) { callbackInfo.cancel(); } @@ -151,18 +148,16 @@ public class HudHook /** * Resets any changes from drawing the experience bar. * - * @param stack - The matrix drawing stack. * @param callbackInfo * * @version 0.2-1.16.4-fabric * @since 0.1-1.16.4-fabric */ @Inject(method = "renderExperienceBar", at = @At(value = "TAIL")) - public void finishExperience(MatrixStack stack, - int x, - CallbackInfo callbackInfo) + public void finishExperience(int x, CallbackInfo callbackInfo) { - stack.pop(); + logger.debug("Finishing experience bar"); + RenderSystem.popMatrix(); /* * Resets the color so that nothing else is bothered. */ @@ -173,30 +168,29 @@ public class HudHook * Changes the position of the status bars as the ones below them move up * and down. * - * @param stack - The matrix stack used. * * @return The same matrix stack, with a new matrix pushed onto it. */ - @ModifyVariable(method = "renderStatusBars(Lnet/minecraft/client/util" + - "/math/MatrixStack;)V", at = @At("HEAD")) - public MatrixStack startStatus(MatrixStack stack) + @Inject(method = "renderStatusBars", at = @At("HEAD")) + public void startStatus(CallbackInfo info) { - stack.push(); - stack.translate(0F, TimerUtils.getHealthTranslation(), 0F); - return stack; + logger.debug("Starting status bars"); + RenderSystem.pushMatrix(); + RenderSystem.translatef(0F, TimerUtils.getHealthTranslation(), 0F); } /** * Adjusts the armor GUI. * - * @param matrices * @param callbackInfo */ - @Inject(method = "renderStatusBars(Lnet/minecraft/client/util" + - "/math/MatrixStack;)V", at = @At(value = "INVOKE", target = "Lnet" + - "/minecraft/util/profiler/Profiler;push(Ljava/lang/String;)V")) - public void renderArmor(MatrixStack matrices, CallbackInfo callbackInfo) + @Inject(method = "renderStatusBars()V", at = @At(value = "INVOKE", + target = "Lnet" + + "/minecraft/util/profiler/Profiler;push" + + "(Ljava/lang/String;)V")) + public void renderArmor(CallbackInfo callbackInfo) { + logger.debug("Rendering armor"); if (TimerUtils.drawArmor()) { TimerUtils.setAlpha(0F); @@ -206,15 +200,16 @@ public class HudHook /** * Adjusts the health GUI. * - * @param matrices * @param callbackInfo */ - @Inject(method = "renderStatusBars(Lnet/minecraft/client/util" + - "/math/MatrixStack;)V", at = @At(value = "INVOKE", target = "Lnet" + - "/minecraft/util/profiler/Profiler;swap(Ljava/lang/String;)V", + @Inject(method = "renderStatusBars()V", at = @At(value = "INVOKE", + target = "Lnet" + + "/minecraft/util/profiler/Profiler;swap" + + "(Ljava/lang/String;)V", ordinal = 0)) - public void renderHealth(MatrixStack matrices, CallbackInfo callbackInfo) + public void renderHealth(CallbackInfo callbackInfo) { + logger.debug("Rendering health"); /* * Resets the transparency from the previous call. */ @@ -228,15 +223,14 @@ public class HudHook /** * Adjusts the food GUI. * - * @param matrices * @param callbackInfo */ - @Inject(method = "renderStatusBars(Lnet/minecraft/client/util" + - "/math/MatrixStack;)V", at = @At(value = "INVOKE", target = "Lnet" + + @Inject(method = "renderStatusBars()V", at = @At(value = "INVOKE", target = "Lnet" + "/minecraft/util/profiler/Profiler;swap(Ljava/lang/String;)V", ordinal = 1)) - public void renderFood(MatrixStack matrices, CallbackInfo callbackInfo) + public void renderFood(CallbackInfo callbackInfo) { + logger.debug("Rendering food"); /* * Resets the transparency from the previous call. */ @@ -250,33 +244,30 @@ public class HudHook /** * Resets the air GUI. * - * @param matrices * @param callbackInfo */ - @Inject(method = "renderStatusBars(Lnet/minecraft/client/util" + - "/math/MatrixStack;)V", at = @At(value = "INVOKE", target = "Lnet" + + @Inject(method = "renderStatusBars()V", at = @At(value = "INVOKE", target = "Lnet" + "/minecraft/util/profiler/Profiler;swap(Ljava/lang/String;)V", ordinal = 2)) - public void renderAir(MatrixStack matrices, CallbackInfo callbackInfo) + public void renderAir(CallbackInfo callbackInfo) { + logger.debug("Rendering air"); /* * Resets the color so that nothing else is bothered. */ TimerUtils.setAlpha(1F); } - @ModifyVariable(method = "renderStatusBars(Lnet/minecraft/client/util" + - "/math/MatrixStack;)V", at = @At("TAIL")) - public MatrixStack finishStatus(MatrixStack stack) + @Inject(method = "renderStatusBars", at = @At("TAIL")) + public void finishStatus(CallbackInfo info) { - stack.pop(); - return stack; + logger.debug("Finishing status bars"); + RenderSystem.popMatrix(); } /** * Determines whether or not to draw the mount's health. * - * @param stack - The matrix drawing stack. * @param callbackInfo * * @version 0.2-1.16.4-fabric @@ -284,31 +275,34 @@ public class HudHook */ @Inject(method = "renderMountHealth", at = @At(value = "HEAD"), cancellable = true) - public void startMountHealth(MatrixStack stack, CallbackInfo callbackInfo) + public void startMountHealth(CallbackInfo callbackInfo) { - if (TimerUtils.drawMountHealth(stack, - MinecraftClient.getInstance().getTickDelta())) + if (TimerUtils.drawMountHealth(MinecraftClient.getInstance().getTickDelta())) { callbackInfo.cancel(); } + else + { + logger.debug("Starting mount health"); + } } /** * Resets any changes from drawing the mount's health. * - * @param stack - The matrix drawing stack. * @param callbackInfo * * @version 0.2-1.16.4-fabric * @since 0.1-1.16.4-fabric */ @Inject(method = "renderMountHealth", at = @At(value = "TAIL")) - public void finishMountHealth(MatrixStack stack, CallbackInfo callbackInfo) + public void finishMountHealth(CallbackInfo callbackInfo) { + logger.debug("Finishing mount health"); /* * Resets the color so that nothing else is bothered. */ - stack.pop(); + RenderSystem.popMatrix(); TimerUtils.resetAlpha(); } @@ -318,11 +312,11 @@ public class HudHook * @version 0.2-1.16.4-fabric * @since 0.1-1.16.4-fabric */ - @Inject(method = "renderStatusEffectOverlay" + - "(Lnet/minecraft/client/util/math/MatrixStack;)V", at = + @Inject(method = "renderStatusEffectOverlay()V", at = @At(value = "HEAD", shift = At.Shift.AFTER)) - public void startPotion(MatrixStack effect, CallbackInfo info) + public void startPotion(CallbackInfo info) { + logger.debug("Starting potions"); TimerUtils.updatePotions(MinecraftClient.getInstance().cameraEntity instanceof ClientPlayerEntity ? ((ClientPlayerEntity) MinecraftClient.getInstance().cameraEntity) : null); @@ -334,14 +328,14 @@ public class HudHook * @version 0.2-1.16.4-fabric * @since 0.1-1.16.4-fabric */ - @Redirect(method = "renderStatusEffectOverlay" + - "(Lnet/minecraft/client/util/math/MatrixStack;)V", at = + @Redirect(method = "renderStatusEffectOverlay()V", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/effect/StatusEffectInstance;" + "shouldShowIcon()Z")) public boolean shouldRenderPotion(StatusEffectInstance effect) { + logger.debug("Updating potions"); currentEffect = effect; return TimerUtils.updatePotion(effect, MinecraftClient.getInstance().getTickDelta()); @@ -351,33 +345,30 @@ public class HudHook * Makes the actual adjustment to the hotbar as needed. * * @param f - The original transparency - * @param stack - The matrix stack * * @version 0.2-1.16.4-fabric * @since 0.1-1.16.4-fabric */ - @ModifyVariable(method = "renderStatusEffectOverlay" + - "(Lnet/minecraft/client/util/math/MatrixStack;)V", at = + @ModifyVariable(method = "renderStatusEffectOverlay()V", at = @At(value = "STORE")) - public float updatePotion(float f, - MatrixStack stack) + public float updatePotion(float f) { + logger.debug("Adjusting potions"); return TimerUtils.getPotionAlpha(currentEffect); } /** * Resets any changes from drawing the potion effects. * - * @param matrices - The matrix drawing stack. * @param callbackInfo * * @version 0.2-1.16.4-fabric * @since 0.2-1.16.4-fabric */ @Inject(method = "renderStatusEffectOverlay", at = @At(value = "TAIL")) - public void finishPotion(MatrixStack matrices, - CallbackInfo callbackInfo) + public void finishPotion(CallbackInfo callbackInfo) { + logger.debug("Finishing potions"); /* * Resets the color so that nothing else is bothered. */ @@ -388,7 +379,6 @@ public class HudHook * Determines whether or not to draw the hotbar. * * @param tickDelta - * @param matrices - The matrix drawing stack. * @param callbackInfo * * @version 0.2-1.16.4-fabric @@ -397,9 +387,9 @@ public class HudHook @Inject(method = "renderHotbar", at = @At(value = "HEAD"), cancellable = true) public void startHotbar(float tickDelta, - MatrixStack matrices, CallbackInfo callbackInfo) { + logger.debug("Starting hotbar"); if (TimerUtils.updateHotbar(tickDelta)) { callbackInfo.cancel(); @@ -410,7 +400,6 @@ public class HudHook * Makes the actual adjustment to the hotbar as needed. * * @param tickDelta - * @param matrices - The matrix drawing stack. * @param callbackInfo * * @version 0.2-1.16.4-fabric @@ -420,17 +409,16 @@ public class HudHook "Lcom/mojang/blaze3d/systems/RenderSystem;color4f(FFFF)V", shift = At.Shift.AFTER)) public void adjustHotbar(float tickDelta, - MatrixStack matrices, CallbackInfo callbackInfo) { - TimerUtils.recolorHotbar(matrices); + logger.debug("Adjusting hotbar"); + TimerUtils.recolorHotbar(); } /** * Resets any changes from drawing the hotbar. * * @param tickDelta - * @param stack - The matrix drawing stack. * @param callbackInfo * * @version 0.2-1.16.4-fabric @@ -438,11 +426,10 @@ public class HudHook */ @Inject(method = "renderHotbar", at = @At(value = "TAIL")) public void finishHotbar(float tickDelta, - MatrixStack stack, CallbackInfo callbackInfo) { + logger.debug("Finishing hotbar"); RenderSystem.popMatrix(); - stack.pop(); /* * Resets the color so that nothing else is bothered. */