From 0c2375728659b5512a35ea0d5fc1f066855df38c Mon Sep 17 00:00:00 2001 From: Shiewk Date: Fri, 6 Dec 2024 15:31:47 +0100 Subject: [PATCH] Added a plain text widget --- .../widgets/client/WidgetsModClient.java | 1 + .../widgets/widgets/PlainTextWidget.java | 35 +++++++++++++++++++ .../resources/assets/widgets/lang/de_de.json | 7 +++- .../resources/assets/widgets/lang/en_us.json | 7 +++- 4 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 src/main/java/de/shiewk/widgets/widgets/PlainTextWidget.java diff --git a/src/main/java/de/shiewk/widgets/client/WidgetsModClient.java b/src/main/java/de/shiewk/widgets/client/WidgetsModClient.java index 185f66b..217eca4 100644 --- a/src/main/java/de/shiewk/widgets/client/WidgetsModClient.java +++ b/src/main/java/de/shiewk/widgets/client/WidgetsModClient.java @@ -57,5 +57,6 @@ public class WidgetsModClient implements ClientModInitializer { WidgetManager.register(new PlayTimeWidget(Identifier.of(WidgetsMod.MOD_ID, "playtime"))); WidgetManager.register(new MemoryUsageWidget(Identifier.of(WidgetsMod.MOD_ID, "memory"))); WidgetManager.register(new KeyStrokesWidget(Identifier.of(WidgetsMod.MOD_ID, "keystrokes"))); + WidgetManager.register(new PlainTextWidget(Identifier.of(WidgetsMod.MOD_ID, "plaintext"))); } } diff --git a/src/main/java/de/shiewk/widgets/widgets/PlainTextWidget.java b/src/main/java/de/shiewk/widgets/widgets/PlainTextWidget.java new file mode 100644 index 0000000..c07cf43 --- /dev/null +++ b/src/main/java/de/shiewk/widgets/widgets/PlainTextWidget.java @@ -0,0 +1,35 @@ +package de.shiewk.widgets.widgets; + +import de.shiewk.widgets.WidgetSettings; +import de.shiewk.widgets.widgets.settings.TextFieldWidgetSettingOption; +import net.minecraft.text.Text; +import net.minecraft.util.Identifier; + +import java.util.List; + +public class PlainTextWidget extends BasicTextWidget { + public PlainTextWidget(Identifier id) { + super(id, List.of( + new TextFieldWidgetSettingOption("text", Text.translatable("widgets.widgets.plaintext.text"), Text.translatable("widgets.widgets.plaintext.initial"), Text.translatable("widgets.widgets.plaintext.placeholder"), true, 200) + )); + } + + @Override + public void tickWidget() {} + + @Override + public Text getName() { + return Text.translatable("widgets.widgets.plaintext"); + } + + @Override + public Text getDescription() { + return Text.translatable("widgets.widgets.plaintext.description"); + } + + @Override + public void onSettingsChanged(WidgetSettings settings) { + super.onSettingsChanged(settings); + renderText = Text.literal(((TextFieldWidgetSettingOption) settings.optionById("text")).getValue()); + } +} diff --git a/src/main/resources/assets/widgets/lang/de_de.json b/src/main/resources/assets/widgets/lang/de_de.json index 968752f..7afc292 100644 --- a/src/main/resources/assets/widgets/lang/de_de.json +++ b/src/main/resources/assets/widgets/lang/de_de.json @@ -82,5 +82,10 @@ "widgets.widgets.keystrokes": "Keystrokes", "widgets.widgets.keystrokes.description": "Zeigt an, welche Tasten du momentan drückst.", "widgets.widgets.basictext.textshadow": "Textschatten", - "widgets.widgets.playerCount.showLabel": "Beschriftung anzeigen" + "widgets.widgets.playerCount.showLabel": "Beschriftung anzeigen", + "widgets.widgets.plaintext": "Text", + "widgets.widgets.plaintext.description": "Zeigt einen festgelegten Text an", + "widgets.widgets.plaintext.text": "Text", + "widgets.widgets.plaintext.initial": "Ändere dies in den Widget-Einstellungen", + "widgets.widgets.plaintext.placeholder": "Gib hier deinen Text ein..." } diff --git a/src/main/resources/assets/widgets/lang/en_us.json b/src/main/resources/assets/widgets/lang/en_us.json index 34c9305..368cec0 100644 --- a/src/main/resources/assets/widgets/lang/en_us.json +++ b/src/main/resources/assets/widgets/lang/en_us.json @@ -82,5 +82,10 @@ "widgets.widgets.keystrokes": "Keystrokes", "widgets.widgets.keystrokes.description": "Shows which keys you are currently pressing.", "widgets.widgets.basictext.textshadow": "Text shadow", - "widgets.widgets.playerCount.showLabel": "Show label" + "widgets.widgets.playerCount.showLabel": "Show label", + "widgets.widgets.plaintext": "Text", + "widgets.widgets.plaintext.description": "Input a text to display on screen", + "widgets.widgets.plaintext.text": "Text", + "widgets.widgets.plaintext.initial": "Change this in the widget settings", + "widgets.widgets.plaintext.placeholder": "Type your text here..." } \ No newline at end of file