From 5d7f44636b25ac21873856e6b404ec97fec1c09f Mon Sep 17 00:00:00 2001 From: Markil3 <75867393+Markil3@users.noreply.github.com> Date: Thu, 22 Jul 2021 13:29:40 -0600 Subject: [PATCH] Changes how the mod handles status bars slightly. This should somewhat increase compatibility with the AppleSkin mod. --- .../java/markil3/immersive_hud/TimerUtils.java | 17 ++++++++++++++++- .../markil3/immersive_hud/mixin/HudHook.java | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/main/java/markil3/immersive_hud/TimerUtils.java b/src/main/java/markil3/immersive_hud/TimerUtils.java index 4915f43..36b600f 100644 --- 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 35c0f2f..ae6207c 100644 --- 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