aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/mixin/yacl/LongFieldControllerMixin.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/mixin/yacl/LongFieldControllerMixin.java')
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/yacl/LongFieldControllerMixin.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/mixin/yacl/LongFieldControllerMixin.java b/src/main/java/de/hysky/skyblocker/mixin/yacl/LongFieldControllerMixin.java
new file mode 100644
index 00000000..99871e2e
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/mixin/yacl/LongFieldControllerMixin.java
@@ -0,0 +1,31 @@
+package de.hysky.skyblocker.mixin.yacl;
+
+import java.text.NumberFormat;
+import java.util.function.Function;
+
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.Overwrite;
+
+import dev.isxander.yacl3.api.Option;
+import dev.isxander.yacl3.gui.controllers.string.number.LongFieldController;
+import dev.isxander.yacl3.gui.controllers.string.number.NumberFieldController;
+import net.minecraft.text.Text;
+
+@Mixin(value = LongFieldController.class, remap = false)
+public abstract class LongFieldControllerMixin extends NumberFieldController<Long> {
+ private static final NumberFormat NUMBER_FORMAT = NumberFormat.getInstance();
+
+ public LongFieldControllerMixin(Option<Long> option, Function<Long, Text> displayFormatter) {
+ super(option, displayFormatter);
+ }
+
+ @Overwrite
+ public String getString() {
+ return NUMBER_FORMAT.format(option().pendingValue());
+ }
+
+ @Overwrite
+ public boolean isInputValid(String input) {
+ return super.isInputValid(input);
+ }
+}