CC: Tweaked

CC: Tweaked

59M Downloads

VisualOverhaul compitability bug

SirEdvin opened this issue ยท 1 comments

commented

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.

Mirror issue in VisualOverhaul repository

commented

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.