diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2023-10-20 19:28:02 -0400 |
---|---|---|
committer | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2023-10-20 19:28:02 -0400 |
commit | 99a538292ac344aa9fd6087a2752e20563bf310c (patch) | |
tree | 498874667851b47ed5e10d735568fb31eb0e3b7f /src/main/java/de/hysky/skyblocker/mixin/yacl/IntegerFieldControllerMixin.java | |
parent | e3177643df14bc08cd4544eed85898c723f02b4f (diff) | |
download | Skyblocker-99a538292ac344aa9fd6087a2752e20563bf310c.tar.gz Skyblocker-99a538292ac344aa9fd6087a2752e20563bf310c.tar.bz2 Skyblocker-99a538292ac344aa9fd6087a2752e20563bf310c.zip |
Patch Float/Double Field Controller Bug
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/mixin/yacl/IntegerFieldControllerMixin.java')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/mixin/yacl/IntegerFieldControllerMixin.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/mixin/yacl/IntegerFieldControllerMixin.java b/src/main/java/de/hysky/skyblocker/mixin/yacl/IntegerFieldControllerMixin.java new file mode 100644 index 00000000..b95cbef7 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/mixin/yacl/IntegerFieldControllerMixin.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.IntegerFieldController; +import dev.isxander.yacl3.gui.controllers.string.number.NumberFieldController; +import net.minecraft.text.Text; + +@Mixin(value = IntegerFieldController.class, remap = false) +public abstract class IntegerFieldControllerMixin extends NumberFieldController<Integer> { + private static final NumberFormat NUMBER_FORMAT = NumberFormat.getInstance(); + + public IntegerFieldControllerMixin(Option<Integer> option, Function<Integer, 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); + } +} |