diff --git a/src/main/java/org/auraclient/auraclient/menus/CloakSelector.java b/src/main/java/org/auraclient/auraclient/menus/CloakSelector.java index c439f0d..150b949 100644 --- a/src/main/java/org/auraclient/auraclient/menus/CloakSelector.java +++ b/src/main/java/org/auraclient/auraclient/menus/CloakSelector.java @@ -1,34 +1,18 @@ package org.auraclient.auraclient.menus; -import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.widget.ButtonWidget; import net.minecraft.text.Text; -import org.auraclient.auraclient.AuraClient; -import org.auraclient.auraclient.ui.AuraUi; -import org.auraclient.auraclient.ui.AuraTexture; -import net.minecraft.util.Identifier; -import org.auraclient.auraclient.ui.AuraWidget; -public class CloakSelector extends AuraUi { +public class CloakSelector extends Screen { public CloakSelector() { - super(Text.of("UI")); + super(Text.literal("Cloaks")); } @Override - public void ui(DrawContext context) { - int width = (32 * (AuraClient.list.size() + 1)); - int x = (context.getScaledWindowWidth() - (width - 8)) / 2; - int y = (context.getScaledWindowHeight() - 92) / 2; + protected void init() { + ButtonWidget btn = ButtonWidget.builder(Text.literal("Cloaks"), (_button) -> {}).dimensions((this.width - 50) / 2, (this.height - 30) / 2, 50, 30).build(); - widgets.add(new AuraWidget(AuraTexture.BOX, x - 8, y - 8, width, 108)); - - for (int i = 0; i < AuraClient.list.size(); i++) { - String cloak = AuraClient.list.get(i); - - widgets.add(new AuraWidget(Identifier.of("auraclient", "textures/gui/cloaks/"+cloak.replaceAll("\\.(gif|png)", "")+".prev.png"), x, y, 32, 92, () -> { - AuraClient.cape = cloak; - })); - - x += 40; - } + addDrawableChild(btn); } } diff --git a/src/main/java/org/auraclient/auraclient/menus/MainMenu.java b/src/main/java/org/auraclient/auraclient/menus/MainMenu.java index 9f850aa..3be6764 100644 --- a/src/main/java/org/auraclient/auraclient/menus/MainMenu.java +++ b/src/main/java/org/auraclient/auraclient/menus/MainMenu.java @@ -1,24 +1,18 @@ package org.auraclient.auraclient.menus; -import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.widget.ButtonWidget; import net.minecraft.text.Text; -import org.auraclient.auraclient.AuraClient; -import org.auraclient.auraclient.ui.AuraTexture; -import org.auraclient.auraclient.ui.AuraUi; -import org.auraclient.auraclient.ui.AuraWidget; -public class MainMenu extends AuraUi { +public class MainMenu extends Screen { public MainMenu() { - super(Text.of("Main Menu")); + super(Text.literal("Custom Screen")); } @Override - public void ui(DrawContext context) { - int x = (context.getScaledWindowWidth() - 30) / 2; - int y = (context.getScaledWindowHeight() - 14) / 2; + protected void init() { + ButtonWidget btn = ButtonWidget.builder(Text.literal("Cloaks"), (_button) -> {}).dimensions((this.width - 50) / 2, (this.height - 30) / 2, 50, 30).build(); - widgets.add(new AuraWidget(AuraTexture.BOX, x, y, 30, 14, () -> { - client.setScreen(new CloakSelector()); - })); + addDrawableChild(btn); } } \ No newline at end of file diff --git a/src/main/java/org/auraclient/auraclient/ui/AuraTexture.java b/src/main/java/org/auraclient/auraclient/ui/AuraTexture.java deleted file mode 100644 index 8c7e870..0000000 --- a/src/main/java/org/auraclient/auraclient/ui/AuraTexture.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.auraclient.auraclient.ui; - -import net.minecraft.util.Identifier; - -public class AuraTexture { - public static Identifier BOX = Identifier.of("auraclient", "textures/gui/box/box.png"); -} diff --git a/src/main/java/org/auraclient/auraclient/ui/AuraUi.java b/src/main/java/org/auraclient/auraclient/ui/AuraUi.java deleted file mode 100644 index 1ef3d7f..0000000 --- a/src/main/java/org/auraclient/auraclient/ui/AuraUi.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.auraclient.auraclient.ui; - -import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.text.Text; - -import java.util.ArrayList; - -public abstract class AuraUi extends Screen { - public final ArrayList widgets = new ArrayList<>(); - - protected AuraUi(Text title) { - super(title); - } - - @Override - protected void init() {} - - public void ui(DrawContext context) {} - - @Override - public void render(DrawContext context, int mouseX, int mouseY, float delta) { - widgets.clear(); - - ui(context); - - for (AuraWidget widget : widgets) { - widget.client = client; - widget.render(context, isInside(mouseX, mouseY, widget.x, widget.y, widget.x + widget.width, widget.y + widget.height)); - } - } - - @Override - public boolean mouseClicked(double mouseX, double mouseY, int button) { - if (button == 0) { - for (AuraWidget widget : widgets) { - if (isInside(mouseX, mouseY, widget.x, widget.y, widget.x + widget.width, widget.y + widget.height)) { - widget.onClick.run(); - } - } - } - - return super.mouseClicked(mouseX, mouseY, button); - } - - private boolean isInside(double mouseX, double mouseY, int x1, int y1, int x2, int y2) { - return mouseX >= x1 && mouseX <= x2 && mouseY >= y1 && mouseY <= y2; - } -} diff --git a/src/main/java/org/auraclient/auraclient/ui/AuraWidget.java b/src/main/java/org/auraclient/auraclient/ui/AuraWidget.java deleted file mode 100644 index 5319ef3..0000000 --- a/src/main/java/org/auraclient/auraclient/ui/AuraWidget.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.auraclient.auraclient.ui; - -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.render.RenderLayer; -import net.minecraft.util.Identifier; - -public class AuraWidget { - public int x; - public int y; - public int width; - public int height; - public MinecraftClient client; - public Identifier sprite; - public Runnable onClick; - - public AuraWidget(Identifier sprite, int x, int y, int width, int height) { - this.x = x; - this.y = y; - - this.width = width; - this.height = height; - this.sprite = sprite; - this.onClick = () -> {}; - } - - public AuraWidget(Identifier sprite, int x, int y, int width, int height, Runnable onClick) { - this.x = x; - this.y = y; - - this.width = width; - this.height = height; - this.sprite = sprite; - this.onClick = onClick; - } - - void render(DrawContext context, boolean hover) { - context.drawTexture(RenderLayer::getGuiTextured, sprite, x, y, 0, 0, width, height, width, height); - } -} diff --git a/src/main/resources/assets/auraclient/textures/gui/box/box.png b/src/main/resources/assets/auraclient/textures/gui/box/box.png deleted file mode 100644 index a408ab2..0000000 Binary files a/src/main/resources/assets/auraclient/textures/gui/box/box.png and /dev/null differ diff --git a/src/main/resources/assets/minecraft/textures/gui/sprites/widget/button.png b/src/main/resources/assets/minecraft/textures/gui/sprites/widget/button.png new file mode 100644 index 0000000..c90a966 Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/gui/sprites/widget/button.png differ diff --git a/src/main/resources/assets/minecraft/textures/gui/sprites/widget/button.png.mcmeta b/src/main/resources/assets/minecraft/textures/gui/sprites/widget/button.png.mcmeta new file mode 100644 index 0000000..9768602 --- /dev/null +++ b/src/main/resources/assets/minecraft/textures/gui/sprites/widget/button.png.mcmeta @@ -0,0 +1,10 @@ +{ + "gui": { + "scaling": { + "type": "nine_slice", + "width": 300, + "height": 30, + "border": 9 + } + } +}