isXander / YetAnotherConfigLib

YetAnotherConfigLib (yacl) is just that. A builder-based configuration library for Minecraft.
GNU Lesser General Public License v3.0
96 stars 37 forks source link

Clicking reset after not saving anything crashes #57

Closed nopeless closed 1 year ago

nopeless commented 1 year ago

Minimal reproduction not guaranteed, but I am sure that this is enough information. Here is the stack trace


Description: Rendering screen
java.lang.StringIndexOutOfBoundsException: begin 0, end 4, length 3
    at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4604)
    at java.base/java.lang.String.substring(String.java:2707)
    at dev.isxander.yacl.gui.controllers.string.StringControllerElement.drawValueText(StringControllerElement.java:70)
    at dev.isxander.yacl.gui.controllers.ControllerWidget.method_25394(ControllerWidget.java:53)
    at dev.isxander.yacl.gui.OptionListWidget$OptionEntry.method_25343(OptionListWidget.java:288)
    at net.minecraft.class_350.method_44397(class_350.java:463)
    at dev.isxander.yacl.gui.ElementListWidgetExt.method_25311(ElementListWidgetExt.java:135)
    at net.minecraft.class_350.method_25394(class_350.java:227)
    at dev.isxander.yacl.gui.ElementListWidgetExt.method_25394(ElementListWidgetExt.java:49)
    at dev.isxander.yacl.gui.YACLScreen.method_25394(YACLScreen.java:122)
    at net.minecraft.class_437.method_47413(class_437.java:121)
    at net.minecraft.class_757.method_3192(class_757.java:937)
    at net.minecraft.class_310.method_1523(class_310.java:1218)
    at net.minecraft.class_310.method_1514(class_310.java:801)
    at net.minecraft.client.main.Main.main(Main.java:237)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:527)
    at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:82)
    at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:28)
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:88)
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:126)
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:71)

If you need more information/reproduction steps, let me know

The reason why I did not test this using yacl 2.3.1 is because of the click bug.

If this had already been fixed in 2.3.1, this is invalid.