From 6bd848a389e01742aa032de5f6412513819a740b Mon Sep 17 00:00:00 2001 From: Shiewk Date: Sun, 8 Sep 2024 10:31:56 +0200 Subject: [PATCH] Add button for toggling widget aligning --- .../client/screen/EditWidgetPositionsScreen.java | 12 ++++++++++++ src/main/resources/assets/widgets/lang/en_us.json | 4 +++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/shiewk/widgets/client/screen/EditWidgetPositionsScreen.java b/src/main/java/de/shiewk/widgets/client/screen/EditWidgetPositionsScreen.java index f047333..a4df525 100644 --- a/src/main/java/de/shiewk/widgets/client/screen/EditWidgetPositionsScreen.java +++ b/src/main/java/de/shiewk/widgets/client/screen/EditWidgetPositionsScreen.java @@ -7,6 +7,8 @@ import de.shiewk.widgets.client.WidgetManager; import it.unimi.dsi.fastutil.objects.ObjectArrayList; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.tooltip.Tooltip; +import net.minecraft.client.gui.widget.ButtonWidget; import net.minecraft.text.Text; import net.minecraft.util.Util; import org.jetbrains.annotations.Nullable; @@ -195,4 +197,14 @@ public class EditWidgetPositionsScreen extends AnimatedScreen { } return super.mouseDragged(mouseX, mouseY, button, deltaX, deltaY); } + + @Override + protected void init() { + super.init(); + this.addDrawableChild(new ButtonWidget.Builder(Text.translatable("widgets.ui.editPositions.snap", alignX ? Text.translatable("gui.yes") : Text.translatable("gui.no")), button -> { + alignX = !alignX; + alignY = !alignY; + button.setMessage(Text.translatable("widgets.ui.editPositions.snap", alignX ? Text.translatable("gui.yes") : Text.translatable("gui.no"))); + }).position(this.width / 2 - 75, this.height / 2 - 10).tooltip(Tooltip.of(Text.translatable("widgets.ui.editPositions.snap.help"))).build()); + } } diff --git a/src/main/resources/assets/widgets/lang/en_us.json b/src/main/resources/assets/widgets/lang/en_us.json index 109f26f..58fced2 100644 --- a/src/main/resources/assets/widgets/lang/en_us.json +++ b/src/main/resources/assets/widgets/lang/en_us.json @@ -47,5 +47,7 @@ "widgets.widgets.cps.appearance": "Appearance", "widgets.widgets.cps.appearance.pipe": "Split (Pipe)", "widgets.widgets.cps.appearance.slash": "Split (Slash)", - "widgets.widgets.cps.appearance.unified": "Unified" + "widgets.widgets.cps.appearance.unified": "Unified", + "widgets.ui.editPositions.snap": "Align positions: %s", + "widgets.ui.editPositions.snap.help": "Aligns the widget with positions of other widgets" } \ No newline at end of file