diff --git a/src/main/java/markil3/immersive_hud/TimerUtils.java b/src/main/java/markil3/immersive_hud/TimerUtils.java index 9fefeb1..ea858a3 100755 --- a/src/main/java/markil3/immersive_hud/TimerUtils.java +++ b/src/main/java/markil3/immersive_hud/TimerUtils.java @@ -250,6 +250,8 @@ public class TimerUtils ConfigManager.getInstance().getExperienceTime(); ConfigManager.TimeValues jump = ConfigManager.getInstance().getJumpTime(); + ConfigManager.TimeValues healthTimes = ConfigManager.getInstance().getHealthTime(); + ConfigManager.TimeValues hungerTimes = ConfigManager.getInstance().getHungerTime(); float hotbarAlpha = Main.getAlpha(hotbarTime, hotbar.getMaxTime(), @@ -263,8 +265,21 @@ public class TimerUtils jump.getMaxTime(), jump.getFadeInTime(), jump.getFadeOutTime()); + float statusAlpha = Main.getAlpha(healthTime, + healthTimes.getMaxTime(), + healthTimes.getFadeInTime(), + healthTimes.getFadeOutTime()); + statusAlpha = Math.max(statusAlpha, Main.getAlpha(hungerTime, + hungerTimes.getMaxTime(), + hungerTimes.getFadeInTime(), + hungerTimes.getFadeOutTime())); + /* + * Draw it in its standard location until it is completely transparent, then move it + * instantly. + */ + statusAlpha = (float) Math.ceil(statusAlpha); return 7 * (1 - Math.max(experienceAlpha, - jumpAlpha)) + 22 * (1 - hotbarAlpha); + jumpAlpha)) + 22 * (1 - hotbarAlpha) + 42 * (1 - statusAlpha); } /** diff --git a/src/main/java/markil3/immersive_hud/mixin/HudHook.java b/src/main/java/markil3/immersive_hud/mixin/HudHook.java index 7f440cb..53cd3bb 100755 --- a/src/main/java/markil3/immersive_hud/mixin/HudHook.java +++ b/src/main/java/markil3/immersive_hud/mixin/HudHook.java @@ -338,7 +338,7 @@ public class HudHook @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", - ordinal = 1)) + ordinal = 1, shift = At.Shift.BY, by = 3)) public void renderFood(MatrixStack matrices, CallbackInfo callbackInfo) { try