From 1cc546bc79f7c1028f6f58b3fb17369b9d4ab9b9 Mon Sep 17 00:00:00 2001 From: Janiel777 Date: Tue, 26 May 2026 20:58:18 -0400 Subject: [PATCH] Fix HUD rerenders on Hytale 0.5.1 --- .../java/au/ellie/hyui/builders/HyUIHud.java | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/main/java/au/ellie/hyui/builders/HyUIHud.java b/src/main/java/au/ellie/hyui/builders/HyUIHud.java index 3970ed3..333bc7a 100644 --- a/src/main/java/au/ellie/hyui/builders/HyUIHud.java +++ b/src/main/java/au/ellie/hyui/builders/HyUIHud.java @@ -300,12 +300,9 @@ public void refreshOrRerender(boolean shouldRerender, boolean unsafe) { } else { // Re-render completely. if (!unsafe) { - this.safeAdd(); + this.safeFullRerender(); } else { - var player = getPlayer(); - if (player == null) return; - - MultiHudWrapper.setCustomHud(player, getPlayerRef(), this.name, this); + this.fullRerender(); } } @@ -369,6 +366,19 @@ private void safeAdd() { }); } + private void safeFullRerender() { + var store = getStore(); + if (store == null) return; + + store.getExternalData().getWorld().execute(this::fullRerender); + } + + private void fullRerender() { + UICommandBuilder uiCommandBuilder = new UICommandBuilder(); + delegate.buildFromCommandBuilder(uiCommandBuilder, false, new UIEventBuilder()); + this.update(true, uiCommandBuilder); + } + private Store getStore() { var playerRef = getPlayerRef(); if (!playerRef.isValid()) {