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

Initial Commit (1.0)

This commit is contained in:
Shy
2024-09-07 18:54:20 +02:00
commit 6ef0f3758d
42 changed files with 2893 additions and 0 deletions
@@ -0,0 +1,45 @@
package de.shiewk.widgets;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
import java.util.List;
import java.util.Objects;
public abstract class ModWidget implements Dimensionable {
private final Identifier id;
private final WidgetSettings settings;
protected ModWidget(Identifier id, List<WidgetSettingOption> customSettings) {
Objects.requireNonNull(id, "id");
this.id = id;
this.settings = WidgetSettings.ofId(id, customSettings);
}
public final Identifier getId() {
return id;
}
public final WidgetSettings getSettings() {
return settings;
}
public abstract void render(DrawContext context, long measuringTimeNano, TextRenderer textRenderer, int posX, int posY);
public abstract void tick();
public abstract Text getName();
public abstract Text getDescription();
public abstract void onSettingsChanged(WidgetSettings settings);
@Override
public double getX(int mx) {
return (int) WidgetUtils.translateToScreen(settings.posX, mx);
}
@Override
public double getY(int my) {
return (int) WidgetUtils.translateToScreen(settings.posY, my);
}
}