EMI Loot

EMI Loot

5M Downloads

"Failed to load level data or datapacks, can't proceed with server load"

MechanosG opened this issue ยท 9 comments

commented

Seems like a similar issue to this one - #16 - except mention of Mythic Metals. After noticing the EMI Loot update and adding it to my WIP modpack, loading a singleplayer world pops up the datapack error, wanting to load the vanilla datapack or go back to menu.

[15:34:29] [Render thread/WARN]: Failed to load level data or datapacks, can't proceed with server load
java.util.concurrent.ExecutionException: java.lang.ClassCastException: class nourl.mythicmetals.misc.RandomChanceWithLuckCondition cannot be cast to class fzzyhmstrs.emi_loot.mixins.RandomChanceLootConditionAccessor (nourl.mythicmetals.misc.RandomChanceWithLuckCondition and fzzyhmstrs.emi_loot.mixins.RandomChanceLootConditionAccessor are in unnamed module of loader org.quiltmc.loader.impl.launch.knot.KnotClassLoader @335eadca)
	at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?]
	at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) ~[?:?]
	at net.minecraft.class_7196.method_45694(class_7196.java:183) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_7196.method_41891(class_7196.java:117) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_7196.method_41899(class_7196.java:196) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_7196.method_41894(class_7196.java:62) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_528$class_4272.method_20174(class_528.java:513) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_528$class_4272.method_20164(class_528.java:420) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_528$class_4272.method_25402(class_528.java:351) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_350.method_25402(class_350.java:328) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_4069.method_25402(class_4069.java:537) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_312.method_1611(class_312.java:98) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_437.method_25412(class_437.java:540) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_312.method_1601(class_312.java:98) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_312.method_22686(class_312.java:169) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_1255.execute(class_1255.java:102) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_312.method_22684(class_312.java:169) ~[transformed-mod-minecraft.i0:0/:?]
	at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43) ~[lwjgl-glfw-3.3.1.jar:build 7]
	at org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.3.1.jar:build 7]
	at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3403) ~[lwjgl-glfw-3.3.1.jar:build 7]
	at com.mojang.blaze3d.systems.RenderSystem.pollEvents(RenderSystem.java:198) ~[transformed-mod-minecraft.i0:0/:?]
	at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:209) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_1041.method_15998(class_1041.java:310) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_310.method_1523(class_310.java:1238) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_310.method_1514(class_310.java:801) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.client.main.Main.main(Main.java:237) ~[minecraft-1.19.4-client.jar:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
	at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:524) ~[quilt-loader-0.19.1.jar:?]
	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:82) ~[quilt-loader-0.19.1.jar:?]
	at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:28) ~[quilt-loader-0.19.1.jar:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
	at org.polymc.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104) ~[NewLaunch.jar:?]
	at org.polymc.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:176) ~[NewLaunch.jar:?]
	at org.polymc.impl.OneSixLauncher.launch(OneSixLauncher.java:186) ~[NewLaunch.jar:?]
	at org.polymc.EntryPoint.listen(EntryPoint.java:144) ~[NewLaunch.jar:?]
	at org.polymc.EntryPoint.main(EntryPoint.java:74) ~[NewLaunch.jar:?]
Caused by: java.lang.ClassCastException: class nourl.mythicmetals.misc.RandomChanceWithLuckCondition cannot be cast to class fzzyhmstrs.emi_loot.mixins.RandomChanceLootConditionAccessor (nourl.mythicmetals.misc.RandomChanceWithLuckCondition and fzzyhmstrs.emi_loot.mixins.RandomChanceLootConditionAccessor are in unnamed module of loader org.quiltmc.loader.impl.launch.knot.KnotClassLoader @335eadca)
	at fzzyhmstrs.emi_loot.parser.condition.RandomChanceConditionParser.parseCondition(RandomChanceConditionParser.java:16) ~[transformed-mod-emi-loot.i0:0/:?]
	at fzzyhmstrs.emi_loot.parser.registry.LootParserRegistry.parseCondition(LootParserRegistry.java:45) ~[transformed-mod-emi-loot.i0:0/:?]
	at fzzyhmstrs.emi_loot.parser.LootTableParser.parseLootCondition(LootTableParser.java:569) ~[transformed-mod-emi-loot.i0:0/:?]
	at fzzyhmstrs.emi_loot.parser.LootTableParser.parseLootConditions(LootTableParser.java:547) ~[transformed-mod-emi-loot.i0:0/:?]
	at fzzyhmstrs.emi_loot.parser.LootTableParser.parseLootConditionTexts(LootTableParser.java:537) ~[transformed-mod-emi-loot.i0:0/:?]
	at fzzyhmstrs.emi_loot.parser.LootTableParser.parseItemEntry(LootTableParser.java:355) ~[transformed-mod-emi-loot.i0:0/:?]
	at fzzyhmstrs.emi_loot.parser.LootTableParser.parseItemEntry(LootTableParser.java:347) ~[transformed-mod-emi-loot.i0:0/:?]
	at fzzyhmstrs.emi_loot.parser.LootTableParser.parseLootPoolEntry(LootTableParser.java:327) ~[transformed-mod-emi-loot.i0:0/:?]
	at fzzyhmstrs.emi_loot.parser.LootTableParser.lambda$parseAlternativeEntry$8(LootTableParser.java:391) ~[transformed-mod-emi-loot.i0:0/:?]
	at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[?:?]
	at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) ~[?:?]
	at fzzyhmstrs.emi_loot.parser.LootTableParser.parseAlternativeEntry(LootTableParser.java:390) ~[transformed-mod-emi-loot.i0:0/:?]
	at fzzyhmstrs.emi_loot.parser.LootTableParser.parseLootPoolEntry(LootTableParser.java:329) ~[transformed-mod-emi-loot.i0:0/:?]
	at fzzyhmstrs.emi_loot.parser.LootTableParser.parseLootPoolEntry(LootTableParser.java:320) ~[transformed-mod-emi-loot.i0:0/:?]
	at fzzyhmstrs.emi_loot.parser.LootTableParser.parseLootPoolEntry(LootTableParser.java:308) ~[transformed-mod-emi-loot.i0:0/:?]
	at fzzyhmstrs.emi_loot.parser.LootTableParser.parseBlockLootTableInternal(LootTableParser.java:234) ~[transformed-mod-emi-loot.i0:0/:?]
	at fzzyhmstrs.emi_loot.parser.LootTableParser.parseBlockLootTable(LootTableParser.java:199) ~[transformed-mod-emi-loot.i0:0/:?]
	at fzzyhmstrs.emi_loot.parser.LootTableParser.parseLootTable(LootTableParser.java:124) ~[transformed-mod-emi-loot.i0:0/:?]
	at com.google.common.collect.RegularImmutableMap.forEach(RegularImmutableMap.java:292) ~[guava-31.1-jre.jar:?]
	at fzzyhmstrs.emi_loot.parser.LootTableParser.parseLootTables(LootTableParser.java:96) ~[transformed-mod-emi-loot.i0:0/:?]
	at net.minecraft.class_60.handler$zjn000$emi_loot$lootTablesAfterFabric(class_60.java:2040) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_60.method_20712(class_60.java:59) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_60.method_18788(class_60.java:17) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_4080.method_18790(class_4080.java:13) ~[transformed-mod-minecraft.i0:0/:?]
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?]
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
	at net.minecraft.class_4014.method_18365(class_4014.java:69) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_1255.method_18859(class_1255.java:156) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_4093.method_18859(class_4093.java:23) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_1255.method_16075(class_1255.java:130) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_1255.method_18857(class_1255.java:139) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_7196.method_45694(class_7196.java:182) ~[transformed-mod-minecraft.i0:0/:?]
	... 39 more

Minecraft 1.19.4
Quilt 0.19.1
EMI Loot 0.6.3
EMI 1.0.4
Mythic Metals 0.18.1

commented

just experienced similar thing when trying to load world list in singleplayer. took mod out and works as normal.

commented

@Noaaan heads up there's some conflict with your custom loot condition. It looks like you are using a Vanilla loot condition type instead of creating a custom one. Thats causing my parser to fail on the condition not matching to its presumed actual class type.

commented

I might have to find a way to make parsing by type a bit safer in parallel....

commented

I have the same problem on my end but with different mods

commented

Just tested 0.6.4. Confirmed not crashing now. I did notice a pretty large memory usage increase and FPS drop.. but not pointing fingers. I'll need to test further and see if it's just coincidence (lots of things it could be - fairly large modpack - but the test world I've been using has been consistent, and nothing had changed for the 0.6.4 test, so it caught my attention). Thanks for the update.

commented

@Mathead253 can you post your crash log(s)? I want to see if there is a different root cause

commented

Version 0.6.4 should handle the problem seen on the OP here, but doesn't fix the underlying problem; using a LootCondition with a non-matching Type, so this will still fail to parse the table this condition belongs too. It should simply log errors instead of crashing.

As such I'll be leaving this issue open to track this.

commented

@Mathead253 can you post your crash log(s)? I want to see if there is a different root cause

Sorry for the wait but here's the crash log:
crash-2023-06-25_01.24.17-client.txt

commented

Marking this as closed now that I see Noaaan has acted on it and committed a fix.