1
mirror of https://github.com/Shiewk/Widgets.git synced 2026-04-28 11:34:17 +02:00

Rework widget positioning

This commit is contained in:
Shy
2025-11-20 19:33:12 +01:00
parent 4b27e15e0c
commit ceb507078c
8 changed files with 279 additions and 164 deletions
@@ -1,7 +1,6 @@
package de.shiewk.widgets.client;
import de.shiewk.widgets.ModWidget;
import de.shiewk.widgets.WidgetSettings;
import de.shiewk.widgets.WidgetsMod;
import de.shiewk.widgets.client.screen.EditWidgetPositionsScreen;
import de.shiewk.widgets.client.screen.WidgetConfigScreen;
@@ -18,8 +17,6 @@ import net.minecraft.util.Util;
import net.minecraft.util.profiler.Profiler;
import net.minecraft.util.profiler.Profilers;
import static de.shiewk.widgets.utils.WidgetUtils.translateToScreen;
public class WidgetRenderer implements ClientTickEvents.StartTick, ClientLifecycleEvents.ClientStarted {
public static final Identifier LAYER_ID = Identifier.of(WidgetsMod.MOD_ID, "widgets-hud-layer");
@@ -46,13 +43,12 @@ public class WidgetRenderer implements ClientTickEvents.StartTick, ClientLifecyc
for (int i = 0, enabledSize = enabled.size(); i < enabledSize; i++) {
final ModWidget widget = enabled.get(i);
profiler.push(widget.getId().toString());
final WidgetSettings settings = widget.getSettings();
widget.render(
drawContext,
timeNano,
textRenderer,
(int) Math.round(Math.min(translateToScreen(settings.posX, windowWidth), windowWidth - (widget.width() * widget.getScaleFactor()))),
(int) Math.round(Math.min(translateToScreen(settings.posY, windowHeight), windowHeight - (widget.height() * widget.getScaleFactor())))
widget.getX(windowWidth),
widget.getY(windowHeight)
);
profiler.pop();
}