wisp-forest / accessories

A extendable and data-driven Accessory Mod for Minecraft
Other
29 stars 12 forks source link

[1.20.1 - Fabric] Incompatibility with Enchancement #143

Closed HIKIaqui closed 1 month ago

HIKIaqui commented 1 month ago

When using Accessories and PuzzlesLib together in a modpack, the game caused a strange crash after killing a mob while playing, and then proceeds to just crash when loading the world, with a ticking player exception.

[17:56:22] [Render thread/ERROR]: Calling server config when it is not yet available! This is a bug! Message: Config data is missing
java.lang.Exception: Config not yet available
    at fuzs.puzzleslib.impl.config.ConfigDataHolderImpl.lambda$testAvailable$2(ConfigDataHolderImpl.java:88) ~[PuzzlesLib-v8.1.21-1.20.1-Fabric.jar:?]
    at com.mojang.datafixers.util.Either$Right.ifRight(Either.java:109) ~[datafixerupper-6.0.8.jar:?]
    at fuzs.puzzleslib.impl.config.ConfigDataHolderImpl.testAvailable(ConfigDataHolderImpl.java:87) ~[PuzzlesLib-v8.1.21-1.20.1-Fabric.jar:?]
    at fuzs.puzzleslib.impl.config.ConfigDataHolderImpl.getOrCreateDefaultConfig(ConfigDataHolderImpl.java:54) ~[PuzzlesLib-v8.1.21-1.20.1-Fabric.jar:?]
    at fuzs.puzzleslib.impl.config.ConfigDataHolderImpl.getConfig(ConfigDataHolderImpl.java:49) ~[PuzzlesLib-v8.1.21-1.20.1-Fabric.jar:?]
    at fuzs.puzzleslib.api.config.v3.ConfigHolder.get(ConfigHolder.java:42) ~[PuzzlesLib-v8.1.21-1.20.1-Fabric.jar:?]
    at fuzs.puzzleslib.impl.config.ConfigHolderRegistry.get(ConfigHolderRegistry.java:16) ~[PuzzlesLib-v8.1.21-1.20.1-Fabric.jar:?]
    at fuzs.illagerinvasion.handler.PlatinumTrimHandler.getPlatinumTrim(PlatinumTrimHandler.java:64) ~[IllagerInvasion-v8.0.6-1.20.1-Fabric.jar:?]
    at fuzs.illagerinvasion.client.handler.EnchantmentTooltipHandler.onItemTooltip$2(EnchantmentTooltipHandler.java:49) ~[IllagerInvasion-v8.0.6-1.20.1-Fabric.jar:?]
    at fuzs.puzzleslib.impl.client.event.FabricClientEventInvokers.lambda$registerEventHandlers$24(FabricClientEventInvokers.java:159) ~[PuzzlesLib-v8.1.21-1.20.1-Fabric.jar:?]
    at net.fabricmc.fabric.api.client.item.v1.ItemTooltipCallback.lambda$static$0(ItemTooltipCallback.java:34) ~[fabric-item-api-v1-2.1.28+1802ada577-3d71adeb05625762.jar:?]
    at net.minecraft.class_1799.handler$eop001$fabric-item-api-v1$getTooltip(class_1799.java:16611) ~[client-intermediary.jar:?]
    at net.minecraft.class_1799.method_7950(class_1799.java:791) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1485(class_310.java:839) ~[client-intermediary.jar:?]
    at net.minecraft.class_7454.method_43796(class_7454.java:20) ~[client-intermediary.jar:?]
    at net.minecraft.class_1126.method_4799(class_1126.java:26) ~[client-intermediary.jar:?]
    at net.minecraft.class_1124$class_7457.method_43807(class_1124.java:61) ~[client-intermediary.jar:?]
    at net.minecraft.class_1124.method_43804(class_1124.java:42) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_43759(class_310.java:2653) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_46740(class_310.java:857) ~[client-intermediary.jar:?]
    at net.minecraft.class_1761.method_47314(class_1761.java:128) ~[client-intermediary.jar:?]
    at net.minecraft.class_1761.method_47306(class_1761.java:107) ~[client-intermediary.jar:?]
    at net.minecraft.class_7706.method_47331(class_7706.java:2054) ~[client-intermediary.jar:?]
    at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:?]
    at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[?:?]
    at java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?]
    at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845) ~[?:?]
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
    at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
    at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
    at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
    at net.minecraft.class_7706.method_47337(class_7706.java:2054) ~[client-intermediary.jar:?]
    at net.minecraft.class_7706.callUpdateEntries$polymer-core_$md$95a824$0(class_7706.java) ~[client-intermediary.jar:?]
    at eu.pb4.polymer.core.mixin.other.ItemGroupsAccessor.callUpdateEntries(ItemGroupsAccessor.java) ~[polymer-core-0.5.15+1.20.1-2938b7d2ba8fe83b.jar:?]
    at eu.pb4.polymer.core.impl.client.InternalClientRegistry.lambda$clear$6(InternalClientRegistry.java:339) ~[polymer-core-0.5.15+1.20.1-2938b7d2ba8fe83b.jar:?]
    at net.minecraft.class_1255.execute(class_1255.java:102) ~[client-intermediary.jar:?]
    at eu.pb4.polymer.core.impl.client.InternalClientRegistry.clear(InternalClientRegistry.java:325) ~[polymer-core-0.5.15+1.20.1-2938b7d2ba8fe83b.jar:?]
    at eu.pb4.polymer.core.impl.client.InternalClientRegistry.disable(InternalClientRegistry.java:170) ~[polymer-core-0.5.15+1.20.1-2938b7d2ba8fe83b.jar:?]
    at net.minecraft.class_310.handler$kph000$polymer-core$polymer$onDisconnect(class_310.java:49550) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_18096(class_310.java:2197) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_18099(class_310.java:2158) ~[client-intermediary.jar:?]
    at net.minecraft.class_634.method_10839(class_634.java:828) ~[client-intermediary.jar:?]
    at net.minecraft.class_2535.method_10768(class_2535.java:450) ~[client-intermediary.jar:?]
    at net.minecraft.class_636.method_2927(class_636.java:296) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1574(class_310.java:1853) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1523(class_310.java:1181) ~[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) ~[fabric-loader-0.15.11-1.20.1.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.11.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.11.jar:?]
HIKIaqui commented 1 month ago

Seems to have something to do with tooltips, but besides that i really have no idea. I was hoping to add this mod to my modpack but this is a real problem.

Dragon-Seeker commented 1 month ago

Send the full log of the crash and the latest log

HIKIaqui commented 1 month ago

Oh sorry i completely forgot about that lol I'm using Neruina, so it prevented the crash, but sent info about it in the log. Also, some mods started behaving oddly, spamming config errors, so the log is TITANIC. The most relevant info (I think) is at the end of the log. https://gist.github.com/HIKIaqui/27d675c26180163c3369cadc505487fb

Also, some guy already sent a comment about this in the curseforge page. That's why i came here before even trying to test it further, so my information may be wrong about it.

The modpack was working flawlessly, but after switching from trinkets to accessories i had this problem. At first the game started without many problems (at least not ones i could see), but then it happened.

HIKIaqui commented 1 month ago

Tested a small modlist with only puzzleslib, accessories, trinkets accessories compat, and jewelry The error did not happen, so it seems to really be something else... Tried killing mobs and nothing happened. Seems to be some other mod causing the compatibility issue. But if the other guy had a similar problem, it may be somehow related, as puzzlelib and accessories seem to be compatible. It must be some mod that depends on puzzlelib, then causing this false alarm that this guy and i had.

Fuzss commented 1 month ago

That's not what is crashing your game. The exception there is caught and handled.

It is simply there to log when mod configs in Puzzles Lib are accessed when they are not loaded, which makes them fall back to default values which is not ideal.

HIKIaqui commented 1 month ago

real crashlog: https://gist.github.com/HIKIaqui/0c6c8cfa7bbe09be6beb9c7a13eaf9f3 new log: https://gist.github.com/HIKIaqui/773606a7eba77b1e587fbcd196535816 Removed neruina so the game could crash and create a crashlog. Sorry for the mess, now everything is alright i guess.

HIKIaqui commented 1 month ago

Tried to remove "clumps" because the mod was mentioned in the crash log but nothing changed. Same crash.

Dragon-Seeker commented 1 month ago

I've seen this crash before as a mod in the past was handling enchants wrong that lead to this issue but I can't remember what exactly

Dragon-Seeker commented 1 month ago

@HIKIaqui Do you know what enchantments you had on your gear, this crash is typically when a mod has a custom enchantment that was not registered leading to Accessories crashing even though they should be registering such.

Enchancement is incompatible as noted it dose not register there added enchantments for 1.20.1 leading to accessories crashing even though they should be doing such.

HIKIaqui commented 1 month ago

ohhh. Now it makes sense. Thanks for the help. Btw, do you know if there is some way for me to fix this enchancement issue? I'm thinking about creating a patch for it or something like it, because it is a pretty good mod.

Dragon-Seeker commented 1 month ago

Unknown exactly but best chance is to modify the mod to register the enchantments to prevent issues

HIKIaqui commented 1 month ago

Yeah... i wanted to avoid it, but i'll see what i can do. Probably just going to do exactly it. Thanks a lot for the help!