VisualOverhaul compitability bug
SirEdvin opened this issue ยท 1 comments
Minecraft Version
1.20.x
Version
1.106.0
Details
So, with VisualOverhaul installed, CC:T gui screens for computers and turtle doesn't get focus, when you first open them. There is possible to click on gui screen with mouse to set focus for this screen, but this is not how it should works.
Error message in logs for context:
[18:42:58] [Render thread/ERROR]: Error executing task on Client
java.lang.NullPointerException: Cannot invoke "java.util.function.Supplier.get()" because "this.message" is null
at dan200.computercraft.client.gui.widgets.DynamicImageButton.method_25369(DynamicImageButton.java:72) ~[cc-tweaked-1.20.1-fabric-1.106.0.jar:?]
at eu.midnightdust.visualoverhaul.IconicButtons.init(IconicButtons.java:30) ~[visualoverhaul-fabric-5.0.1.jar:?]
at eu.midnightdust.visualoverhaul.IconicButtons.<init>(IconicButtons.java:27) ~[visualoverhaul-fabric-5.0.1.jar:?]
at net.minecraft.class_4264.handler$zlh000$visualoverhaul$iconic$onInitButton(class_4264.java:522) ~[client-intermediary.jar:?]
at net.minecraft.class_4264.<init>(class_4264.java:21) ~[client-intermediary.jar:?]
at net.minecraft.class_4185.<init>(class_4185.java:86) ~[client-intermediary.jar:?]
at dan200.computercraft.client.gui.widgets.DynamicImageButton.<init>(DynamicImageButton.java:49) ~[cc-tweaked-1.20.1-fabric-1.106.0.jar:?]
at dan200.computercraft.client.gui.widgets.ComputerSidebar.addButtons(ComputerSidebar.java:52) ~[cc-tweaked-1.20.1-fabric-1.106.0.jar:?]
at dan200.computercraft.client.gui.AbstractComputerScreen.method_25426(AbstractComputerScreen.java:89) ~[cc-tweaked-1.20.1-fabric-1.106.0.jar:?]
at net.minecraft.class_437.method_25423(class_437.java:297) ~[client-intermediary.jar:?]
at net.minecraft.class_310.method_1507(class_310.java:1080) ~[client-intermediary.jar:?]
at net.fabricmc.fabric.impl.screenhandler.client.ClientNetworking.openScreen(ClientNetworking.java:83) ~[fabric-screen-handler-api-v1-1.3+b3afc78b77-ba0168c08da90df0.jar:?]
at net.fabricmc.fabric.impl.screenhandler.client.ClientNetworking.lambda$onInitializeClient$0(ClientNetworking.java:51) ~[fabric-screen-handler-api-v1-1.3+b3afc78b77-ba0168c08da90df0.jar:?]
at net.minecraft.class_1255.method_18859(class_1255.java:156) ~[client-intermediary.jar:?]
at net.minecraft.class_4093.method_18859(class_4093.java:23) ~[client-intermediary.jar:?]
at net.minecraft.class_1255.method_16075(class_1255.java:130) ~[client-intermediary.jar:?]
at net.minecraft.class_1255.method_5383(class_1255.java:115) ~[client-intermediary.jar:?]
at net.minecraft.class_310.method_1523(class_310.java:1175) ~[client-intermediary.jar:?]
at net.minecraft.class_310.method_1514(class_310.java:802) ~[client-intermediary.jar:?]
at net.minecraft.client.main.Main.main(Main.java:250) ~[minecraft-1.20.1-client.jar:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:468) ~[fabric-loader-0.14.21.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.14.21.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.14.21.jar:?]
at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:88) ~[NewLaunch.jar:?]
at org.prismlauncher.EntryPoint.listen(EntryPoint.java:126) ~[NewLaunch.jar:?]
at org.prismlauncher.EntryPoint.main(EntryPoint.java:71) ~[NewLaunch.jar:?]
VisualOverhaul has a mixin which calls .getMessage()
inside the button constructor, which then fails with our DynamicImageButton
. We could probably change DynamicImageButton
to call setMessage
inside render instead of overriding getMessage
, but I think it's probably cleaner for IconicButtons
to just not call init
inside its constructor.