AttributeFix

AttributeFix

114M Downloads

Unknown crash error

assomed00011 opened this issue ยท 7 comments

commented

When I didn't delete the config file, the first time I went in, it crashed:
crash-2024-02-21_21.09.16-fml.txt

When I deleted the config file, this is its crash:
crash-2024-02-21_21.10.41-fml.txt

If the config file is not deleted, it will always be the first crash log, and if deleted, it will be the second one
This is another generated config file, which can also be considered as the original file, because whether deleted or not, it cannot enter the game:
attributefix.json

commented

Delete attributefix mod, I can enter the game normally

commented

This has already been fixed on newer versions, I've backported the fix for 1.19.2 and you can find it here. Make sure you delete the old config file before loading the update. Let me know if this resolves your issue.

commented

Having the same issue

Could be due to this:

https://github.com/Momo-Softworks/Cold-Sweat/blob/ceb16dce7cf901f010a00fb1130539c8673ef402/src/main/java/com/momosoftworks/coldsweat/common/event/AddTempAttributes.java#L30-L37

[22:29:52] [Worker-ResourceReload-6/ERROR] [ne.mi.fm.ja.FMLModContainer/]: Exception caught during firing event: Character N is neither a decimal digit number, decimal point, nor "e" notation exponential mark.
	Index: 1
	Listeners:
		0: NORMAL
		1: ASM: class net.darkhax.attributefix.AttributeFixForge onLoadComplete(Lnet/minecraftforge/fml/event/lifecycle/FMLLoadCompleteEvent;)V
java.lang.NumberFormatException: Character N is neither a decimal digit number, decimal point, nor "e" notation exponential mark.
	at java.base/java.math.BigDecimal.<init>(Unknown Source)
	at java.base/java.math.BigDecimal.<init>(Unknown Source)
	at java.base/java.math.BigDecimal.<init>(Unknown Source)
	at java.base/java.math.BigDecimal.valueOf(Unknown Source)
	at TRANSFORMER/[email protected]/net.darkhax.attributefix.Constants$DoubleJsonSerializer.serialize(Constants.java:29)
	at TRANSFORMER/[email protected]/net.darkhax.attributefix.Constants$DoubleJsonSerializer.serialize(Constants.java:24)
	at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.TreeTypeAdapter.write(TreeTypeAdapter.java:81)
	at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69)
	at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:127)
	at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:245)
	at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69)
	at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:127)
	at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:245)
	at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69)
	at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(MapTypeAdapterFactory.java:208)
	at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(MapTypeAdapterFactory.java:145)
	at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69)
	at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:127)
	at MC-BOOTSTRAP/[email protected]/com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:245)
	at MC-BOOTSTRAP/[email protected]/com.google.gson.Gson.toJson(Gson.java:735)
	at MC-BOOTSTRAP/[email protected]/com.google.gson.Gson.toJson(Gson.java:714)
	at MC-BOOTSTRAP/[email protected]/com.google.gson.Gson.toJson(Gson.java:689)
	at TRANSFORMER/[email protected]/net.darkhax.attributefix.config.AttributeConfig.load(AttributeConfig.java:131)
	at TRANSFORMER/[email protected]/net.darkhax.attributefix.AttributeFixForge.onLoadComplete(AttributeFixForge.java:19)
	at TRANSFORMER/[email protected]/net.darkhax.attributefix.__AttributeFixForge_onLoadComplete_FMLLoadCompleteEvent.invoke(.dynamic)
	at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73)
	at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:315)
	at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:296)
	at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:107)
	at LAYER PLUGIN/[email protected]/net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$10(ModContainer.java:122)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

[22:29:52] [Worker-ResourceReload-6/ERROR] [ne.mi.fm.ja.FMLModContainer/LOADING]: Caught exception during event FMLLoadCompleteEvent dispatch for modid attributefix
java.lang.NumberFormatException: Character N is neither a decimal digit number, decimal point, nor "e" notation exponential mark.
	at java.math.BigDecimal.<init>(Unknown Source) ~[?:?] {}
	at java.math.BigDecimal.<init>(Unknown Source) ~[?:?] {}
	at java.math.BigDecimal.<init>(Unknown Source) ~[?:?] {}
	at java.math.BigDecimal.valueOf(Unknown Source) ~[?:?] {}
	at net.darkhax.attributefix.Constants$DoubleJsonSerializer.serialize(Constants.java:29) ~[AttributeFix-Forge-1.19.2-17.2.7.jar%23531!/:17.2.7] {re:classloading}
	at net.darkhax.attributefix.Constants$DoubleJsonSerializer.serialize(Constants.java:24) ~[AttributeFix-Forge-1.19.2-17.2.7.jar%23531!/:17.2.7] {re:classloading}
	at com.google.gson.internal.bind.TreeTypeAdapter.write(TreeTypeAdapter.java:81) ~[gson-2.8.9.jar%23122!/:?] {}
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69) ~[gson-2.8.9.jar%23122!/:?] {}
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:127) ~[gson-2.8.9.jar%23122!/:?] {}
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:245) ~[gson-2.8.9.jar%23122!/:?] {}
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69) ~[gson-2.8.9.jar%23122!/:?] {}
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:127) ~[gson-2.8.9.jar%23122!/:?] {}
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:245) ~[gson-2.8.9.jar%23122!/:?] {}
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69) ~[gson-2.8.9.jar%23122!/:?] {}
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(MapTypeAdapterFactory.java:208) ~[gson-2.8.9.jar%23122!/:?] {}
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(MapTypeAdapterFactory.java:145) ~[gson-2.8.9.jar%23122!/:?] {}
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69) ~[gson-2.8.9.jar%23122!/:?] {}
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:127) ~[gson-2.8.9.jar%23122!/:?] {}
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:245) ~[gson-2.8.9.jar%23122!/:?] {}
	at com.google.gson.Gson.toJson(Gson.java:735) ~[gson-2.8.9.jar%23122!/:?] {re:mixin}
	at com.google.gson.Gson.toJson(Gson.java:714) ~[gson-2.8.9.jar%23122!/:?] {re:mixin}
	at com.google.gson.Gson.toJson(Gson.java:689) ~[gson-2.8.9.jar%23122!/:?] {re:mixin}
	at net.darkhax.attributefix.config.AttributeConfig.load(AttributeConfig.java:131) ~[AttributeFix-Forge-1.19.2-17.2.7.jar%23531!/:17.2.7] {re:classloading}
	at net.darkhax.attributefix.AttributeFixForge.onLoadComplete(AttributeFixForge.java:19) ~[AttributeFix-Forge-1.19.2-17.2.7.jar%23531!/:17.2.7] {re:classloading}
	at net.darkhax.attributefix.__AttributeFixForge_onLoadComplete_FMLLoadCompleteEvent.invoke(.dynamic) ~[AttributeFix-Forge-1.19.2-17.2.7.jar%23531!/:17.2.7] {re:classloading,pl:eventbus:B}
	at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73) ~[eventbus-6.0.3.jar%23134!/:?] {}
	at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.3.jar%23134!/:?] {}
	at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.3.jar%23134!/:?] {}
	at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:107) ~[javafmllanguage-1.19.2-43.3.0.jar%23859!/:?] {}
	at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$10(ModContainer.java:122) ~[fmlcore-1.19.2-43.3.0.jar%23858!/:?] {re:mixin}
	at java.util.concurrent.CompletableFuture$AsyncRun.run(Unknown Source) [?:?] {}
	at java.util.concurrent.CompletableFuture$AsyncRun.exec(Unknown Source) [?:?] {}
	at java.util.concurrent.ForkJoinTask.doExec(Unknown Source) [?:?] {}
	at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source) [?:?] {}
	at java.util.concurrent.ForkJoinPool.scan(Unknown Source) [?:?] {re:mixin,re:computing_frames}
	at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source) [?:?] {re:mixin,re:computing_frames}
	at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source) [?:?] {re:mixin}
commented

AttributeFix does not parse attributes correctly if they are set to NaN (undefined), which Cold Sweat uses to mark attributes as "unset" and have them not override normal mod behavior. Maybe setting them to NaN isn't necessarily best solution, but it should still be able to be parsed in my opinion.

commented

I just tried it and it works perfectly. Thank you for the great work :)

commented

Thanks for letting me know.

commented

AttributeFix does not parse attributes correctly if they are set to NaN (undefined), which Cold Sweat uses to mark attributes as "unset" and have them not override normal mod behavior. Maybe setting them to NaN isn't necessarily best solution, but it should still be able to be parsed in my opinion.

FYSA most mods struggle with this