Dynamic Crosshair

Dynamic Crosshair

2M Downloads

[BUG] Exception with Beneath The Wetlands mod

kkempfer opened this issue ยท 5 comments

commented

Configuration

Minecraft 1.19.2
Fabric API 0.77.0
Dynamic Crosshair 5.7.1+1.19.2
Beneath the Wetlands 1.2
GeckoLib 3.1.40

Description

I believe that there is an incompatibility between Dynamic Crosshair and Beneath The Wetlands mod. If I look at a block from the Beneath The Wetlands mod, I get the following error in the log file:

[15:39:13] [Render thread/ERROR]: Exception occurred during evaluation of API minecraft
java.lang.NullPointerException: Cannot invoke "String.split(String)" because "configString" is null
	at mod.crend.dynamiccrosshair.config.ConfigHandler.buildAdditionalItemList(ConfigHandler.java:74) ~[dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
	at mod.crend.dynamiccrosshair.config.ConfigHandler.getAdditionalUsableItems(ConfigHandler.java:121) ~[dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
	at mod.crend.dynamiccrosshair.handler.VanillaUsableItemHandler.isAlwaysUsableItem(VanillaUsableItemHandler.java:39) ~[dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
	at mod.crend.dynamiccrosshair.handler.VanillaApiImpl.isAlwaysUsableItem(VanillaApiImpl.java:46) ~[dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
	at mod.crend.dynamiccrosshair.component.CrosshairHandler.buildCrosshairAdvancedFromItem(CrosshairHandler.java:62) [dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
	at mod.crend.dynamiccrosshair.component.CrosshairHandler.buildCrosshairAdvancedByHand(CrosshairHandler.java:111) [dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
	at mod.crend.dynamiccrosshair.component.CrosshairHandler.buildCrosshairAdvanced(CrosshairHandler.java:126) [dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
	at mod.crend.dynamiccrosshair.component.CrosshairHandler.buildCrosshairDynamic(CrosshairHandler.java:206) [dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
	at mod.crend.dynamiccrosshair.component.CrosshairHandler.buildCrosshair(CrosshairHandler.java:313) [dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
	at mod.crend.dynamiccrosshair.component.CrosshairHandler.checkShowCrosshair(CrosshairHandler.java:353) [dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
	at mod.crend.dynamiccrosshair.component.CrosshairHandler.tick(CrosshairHandler.java:374) [dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
	at net.minecraft.class_329.handler$zza000$dynamiccrosshair$tickDynamicCrosshair(class_329.java:1538) [client-intermediary.jar:?]
	at net.minecraft.class_329.method_1748(class_329.java:1305) [client-intermediary.jar:?]
	at net.minecraft.class_329.method_39191(class_329.java:1271) [client-intermediary.jar:?]
	at net.minecraft.class_310.method_1574(class_310.java:1792) [client-intermediary.jar:?]
	at net.minecraft.class_310.method_1523(class_310.java:1135) [client-intermediary.jar:?]
	at net.minecraft.class_310.method_1514(class_310.java:768) [client-intermediary.jar:?]
	at net.minecraft.client.main.Main.method_44604(Main.java:244) [client-intermediary.jar:?]
	at net.minecraft.client.main.Main.main(Main.java:51) [client-intermediary.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480) [fabric-loader-0.16.0.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.16.0.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.16.0.jar:?]

Attached the full log file. The error is spammed a lot. The game does not crash.
latest.log

Additional details

Note that adding Dynamic Crosshair Compat does not solve the issue.

commented

Hm, it looks like your config file is broken. Could you upload your dynamiccrosshair.json5 config file?

commented

Sure, here is the config file. Everything should be set to its default value, as I did not edit it in this minimal instance I created for testing. GitHub wouldn't let me upload a JSON5 file type, so I had to make a ZIP.
dynamiccrosshair.zip

commented

Based on the "configString" is null error displayed above, I did some additional testing. I replaced "null" by empty quotation marks "" in the dynamiccrosshair.json5 configuration file. See file below (again, zipped because GitHub would not let upload a JSON5 file type).

The error in the log when looking at a block from Beneath The Wetlands seems to be more explicit than in my previous test. I hope this can help you figuring out the issue. Full log file attached below.

[08:28:02] [Render thread/ERROR]: Exception occurred during evaluation of API wetlands
java.lang.NoClassDefFoundError: net/vedycrew/wetlands/item/WetlandsItems
        at mod.crend.dynamiccrosshair.compat.beneaththewetlands.ApiImplBeneathTheWetlands.isAlwaysUsableItem(ApiImplBeneathTheWetlands.java:26) ~[dynamiccrosshair-compat-3.3.4+1.19.2.jar:?]
        at mod.crend.dynamiccrosshair.component.CrosshairHandler.buildCrosshairAdvancedFromItem(CrosshairHandler.java:62) [dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
        at mod.crend.dynamiccrosshair.component.CrosshairHandler.buildCrosshairAdvancedByHand(CrosshairHandler.java:111) [dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
        at mod.crend.dynamiccrosshair.component.CrosshairHandler.buildCrosshairAdvanced(CrosshairHandler.java:116) [dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
        at mod.crend.dynamiccrosshair.component.CrosshairHandler.buildCrosshairDynamic(CrosshairHandler.java:206) [dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
        at mod.crend.dynamiccrosshair.component.CrosshairHandler.buildCrosshair(CrosshairHandler.java:313) [dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
        at mod.crend.dynamiccrosshair.component.CrosshairHandler.checkShowCrosshair(CrosshairHandler.java:353) [dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
        at mod.crend.dynamiccrosshair.component.CrosshairHandler.tick(CrosshairHandler.java:374) [dynamiccrosshair-5.7.1+1.19.2-fabric.jar:?]
        at net.minecraft.class_329.handler$zdd000$dynamiccrosshair$tickDynamicCrosshair(class_329.java:1538) [client-intermediary.jar:?]
        at net.minecraft.class_329.method_1748(class_329.java:1305) [client-intermediary.jar:?]
        at net.minecraft.class_329.method_39191(class_329.java:1271) [client-intermediary.jar:?]
        at net.minecraft.class_310.method_1574(class_310.java:1792) [client-intermediary.jar:?]
        at net.minecraft.class_310.method_1523(class_310.java:1135) [client-intermediary.jar:?]
        at net.minecraft.class_310.method_1514(class_310.java:768) [client-intermediary.jar:?]
        at net.minecraft.client.main.Main.method_44604(Main.java:244) [client-intermediary.jar:?]
        at net.minecraft.client.main.Main.main(Main.java:51) [client-intermediary.jar:?]
        at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480) [fabric-loader-0.16.0.jar:?]
        at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.16.0.jar:?]
        at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.16.0.jar:?]
Caused by: java.lang.ClassNotFoundException: net.vedycrew.wetlands.item.WetlandsItems
        ... 19 more

latest.log
dynamiccrosshair.zip

commented

Ah nice, that is an actual incompatibility error now. Am going to fix in DynamicCrosshairCompat soon. I do wonder how your config file got messed up. Your fix was exactly right, though.

commented

Fixed in Dynamic Crosshair Compat 3.3.5