isXander / YetAnotherConfigLib

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

Cannot invoke "String.isEmpty()" because "this.inputField" is null #186

Closed KhafraDev closed 3 weeks ago

KhafraDev commented 3 weeks ago

using the code in the tests:

opt ->
                                DropdownStringControllerBuilder.create(opt)
                                    .values("Apple", "Banana", "Cherry", "Date"))
java.lang.NullPointerException: Cannot invoke "String.isEmpty()" because "this.inputField" is null
    at dev.isxander.yacl3.gui.controllers.string.StringControllerElement.getValueText(StringControllerElement.java:461)
    at dev.isxander.yacl3.gui.controllers.string.StringControllerElement.setDimension(StringControllerElement.java:436)
    at dev.isxander.yacl3.gui.controllers.dropdown.AbstractDropdownControllerElement.setDimension(AbstractDropdownControllerElement.java:175)
    at dev.isxander.yacl3.gui.controllers.string.StringControllerElement.<init>(StringControllerElement.java:45)
    at dev.isxander.yacl3.gui.controllers.dropdown.AbstractDropdownControllerElement.<init>(AbstractDropdownControllerElement.java:27)
    at dev.isxander.yacl3.gui.controllers.dropdown.DropdownStringControllerElement.<init>(DropdownStringControllerElement.java:12)
    at dev.isxander.yacl3.gui.controllers.dropdown.DropdownStringController.provideWidget(DropdownStringController.java:31)
    at dev.isxander.yacl3.gui.OptionListWidget.refreshOptions(OptionListWidget.java:75)
    at dev.isxander.yacl3.gui.OptionListWidget.<init>(OptionListWidget.java:40)
    at dev.isxander.yacl3.gui.YACLScreen$CategoryTab.<init>(YACLScreen.java:359)
    at dev.isxander.yacl3.gui.YACLScreen.lambda$init$4(YACLScreen.java:89)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
    at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
    at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
    at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
    at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
    at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
    at dev.isxander.yacl3.gui.YACLScreen.init(YACLScreen.java:90)
    at net.minecraft.client.gui.screen.Screen.init(Screen.java:336)
    at net.minecraft.client.MinecraftClient.setScreen(MinecraftClient.java:1058)
    at com.terraformersmc.modmenu.gui.widget.entries.ModListEntry.openConfig(ModListEntry.java:120)
    at com.terraformersmc.modmenu.gui.widget.entries.ModListEntry.mouseClicked(ModListEntry.java:112)
    at com.terraformersmc.modmenu.gui.widget.ModListWidget.mouseClicked(ModListWidget.java:270)
    at net.minecraft.client.gui.ParentElement.mouseClicked(ParentElement.java:50)
    at net.minecraft.client.Mouse.method_1611(Mouse.java:99)
    at net.minecraft.client.gui.screen.Screen.wrapScreenError(Screen.java:474)
    at net.minecraft.client.Mouse.onMouseButton(Mouse.java:99)
    at net.minecraft.client.Mouse.method_22686(Mouse.java:193)
    at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103)
    at net.minecraft.client.Mouse.method_22684(Mouse.java:193)
    at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
    at org.lwjgl.system.JNI.invokeV(Native Method)
    at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3509)
    at com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem.java:152)
    at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1205)
    at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:833)
    at net.minecraft.client.main.Main.main(Main.java:224)
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
    at net.fabricmc.devlaunchinjector.Main.main(Main.java:86)

this is on fabric 1.21