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:
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user