From 384d9954aedefcee6f132d2bdadca11fca682bd7 Mon Sep 17 00:00:00 2001 From: msg-programs Date: Sun, 23 Jul 2023 12:29:32 +0200 Subject: Massive refactor, see details Instead of creating a new widget instance every frame, instantiate once and update content. This means that every widget had to be updated to work like that. This also necessitated some ugly hackery for the dwarven HUD. Many other minor things like moving and renaming classes --- .../java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker/mixin') diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java index b3d78fa8..0acf5b31 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java @@ -6,11 +6,13 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import dev.architectury.event.events.common.TickEvent.Player; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import me.xmrvizzy.skyblocker.skyblock.tabhud.TabHud; +import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.ScreenBuilder; +import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.ScreenMaster; import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.Screen; -import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.ScreenBuilder; -import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.ScreenMaster; +import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr; import me.xmrvizzy.skyblocker.utils.Utils; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -51,8 +53,10 @@ public class PlayerListHudMixin { w = (int) (w / scale); h = (int) (h / scale); + PlayerListMgr.updateFooter(footer); + try { - ScreenMaster.render(context, w,h,footer); + ScreenMaster.render(context, w,h); // Screen screen = Screen.getCorrect(w, h, footer); // screen.render(context); info.cancel(); -- cgit