[1.21.1][Neoforge] Game fails to open world when EMI Loot is installed
ffuentesm opened this issue ยท 14 comments
emi_loot-0.7.4+1.21+neoforge
emi-1.1.18+1.21.1+neoforge
Neoforge: 21.1.79
Latest Log: https://api.mclo.gs/1/raw/MREIxPP
For some reason when I try to join a single player world I get this message

The game does not create a crash log, so is hard to locate the issue, but from what I see from the log, it's a range error about a bone item.
[minecraft/Util]: Error saving [177 minecraft:bone]. Original cause: java.lang.IllegalStateException: Value must be within range [1;99]: 177
With components:
{
minecraft:max_stack_size=>64
minecraft:lore=>ItemLore[lines=[], styledLines=[]]
minecraft:enchantments=>ItemEnchantments{enchantments={}, showInTooltip=true}
minecraft:repair_cost=>0
minecraft:attribute_modifiers=>ItemAttributeModifiers[modifiers=[], showInTooltip=true]
minecraft:rarity=>COMMON
}
Then when I disable EMI loot from the load order, the game works without problems
I have the exact same issue! Except I get an Invalid Player Data error, but the error logs are identical.
Same issue, "Invalid player data" with same error about 177 bones in logs. Disabling EMI Loot fixes the issue for me.
Twilight Forest includes a loot table which provides 177 bones, for some ungodly reason. EMI Loot cannot handle this.
Here's a datapack that works around the issue by setting it to 17 bones, which is probably what was originally intended: tf.zip
Twilight Forest includes a loot table which provides 177 bones, for some ungodly reason. EMI Loot cannot handle this.
Here's a datapack that works around the issue by setting it to 17 bones, which is probably what was originally intended: [tf.zip]
I tried the Datapack, but does not seem to be working. I still get the 177 bones error.
I tried adding the pack to my current world, as well as make a new one with the pack
177 actually is intended! (I made the loot table!)
I will look into a workaround from my end but it would be nice if emi loot could serialize stacks higher than 99. The vanilla itemstack codec clamps the stack size to be 99, but if its just used for displaying purposes it would be nice to allow any number
use this now
Twilight Forest includes a loot table which provides 177 bones, for some ungodly reason. EMI Loot cannot handle this.
Here's a datapack that works around the issue by setting it to 17 bones, which is probably what was originally intended: [tf.zip]
I tried the Datapack, but does not seem to be working. I still get the 177 bones error. I tried adding the pack to my current world, as well as make a new one with the pack
- error on server with emi loot: [10:37:29] [main/WARN] [minecraft/Main]: Failed to load datapacks, can't proceed with server load. You can either fix your datapacks or reset to vanilla with --safeMode
java.util.concurrent.ExecutionException: java.lang.IllegalAccessError: class fzzyhmstrs.emi_loot.parser.function.SetAttributesFunctionParser tried to access private field net.minecraft.world.level.storage.loot.functions.SetAttributesFunction.modifiers (fzzyhmstrs.emi_loot.parser.function.SetAttributesFunctionParser is in module [email protected]+1.21+neoforge of loader 'TRANSFORMER' @6c835217; net.minecraft.world.level.storage.loot.functions.SetAttributesFunction is in module [email protected] of loader 'TRANSFORMER' @6c835217)
at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?] {re:mixin}
at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) ~[?:?] {re:mixin}
at TRANSFORMER/[email protected]/net.minecraft.server.Main.main(Main.java:258) ~[server-1.21.1-20240808.144430-srg.jar%23350!/:?] {re:mixin,re:classloading,pl:mixin:A}
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] {}
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] {re:mixin}
at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:136) ~[loader-4.0.34.jar%2360!/:4.0] {}
at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.serverService(CommonLaunchHandler.java:128) ~[loader-4.0.34.jar%2360!/:4.0] {}
at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonServerLaunchHandler.runService(CommonServerLaunchHandler.java:32) ~[loader-4.0.34.jar%2360!/:4.0] {}
at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.lambda$launchService$4(CommonLaunchHandler.java:118) ~[loader-4.0.34.jar%2360!/:4.0] {}
at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-11.0.4.jar%2362!/:?] {}
at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-11.0.4.jar%2362!/:?] {}
at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-11.0.4.jar%2362!/:?] {}
at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.run(Launcher.java:103) [modlauncher-11.0.4.jar%2362!/:?] {}
at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.main(Launcher.java:74) [modlauncher-11.0.4.jar%2362!/:?] {}
at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-11.0.4.jar%2362!/:?] {}
at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-11.0.4.jar%2362!/:?] {}
at [email protected]/cpw.mods.bootstraplauncher.BootstrapLauncher.run(BootstrapLauncher.java:210) [bootstraplauncher-2.0.2.jar:?] {}
at [email protected]/cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:69) [bootstraplauncher-2.0.2.jar:?] {}
Caused by: java.lang.IllegalAccessError: class fzzyhmstrs.emi_loot.parser.function.SetAttributesFunctionParser tried to access private field net.minecraft.world.level.storage.loot.functions.SetAttributesFunction.modifiers (fzzyhmstrs.emi_loot.parser.function.SetAttributesFunctionParser is in module [email protected]+1.21+neoforge of loader 'TRANSFORMER' @6c835217; net.minecraft.world.level.storage.loot.functions.SetAttributesFunction is in module [email protected] of loader 'TRANSFORMER' @6c835217)
at TRANSFORMER/[email protected]+1.21+neoforge/fzzyhmstrs.emi_loot.parser.function.SetAttributesFunctionParser.parseFunction(SetAttributesFunctionParser.java:24) ~[emi_loot-0.7.4+1.21+neoforge.jar%23417!/:?] {re:classloading}
at TRANSFORMER/[email protected]+1.21+neoforge/fzzyhmstrs.emi_loot.parser.registry.LootParserRegistry.parseFunction(LootParserRegistry.java:93) ~[emi_loot-0.7.4+1.21+neoforge.jar%23417!/:?] {re:classloading}
at TRANSFORMER/[email protected]+1.21+neoforge/fzzyhmstrs.emi_loot.parser.LootTableParser.parseLootFunction(LootTableParser.java:589) ~[emi_loot-0.7.4+1.21+neoforge.jar%23417!/:?] {re:classloading,re:mixin}
at TRANSFORMER/[email protected]+1.21+neoforge/fzzyhmstrs.emi_loot.parser.LootTableParser.applyLootFunctionToItem(LootTableParser.java:616) ~[emi_loot-0.7.4+1.21+neoforge.jar%23417!/:?] {re:classloading,re:mixin}
at TRANSFORMER/[email protected]+1.21+neoforge/fzzyhmstrs.emi_loot.parser.LootTableParser.parseItemEntry(LootTableParser.java:452) ~[emi_loot-0.7.4+1.21+neoforge.jar%23417!/:?] {re:classloading,re:mixin}
at TRANSFORMER/[email protected]+1.21+neoforge/fzzyhmstrs.emi_loot.parser.LootTableParser.parseItemEntry(LootTableParser.java:448) ~[emi_loot-0.7.4+1.21+neoforge.jar%23417!/:?] {re:classloading,re:mixin}
at TRANSFORMER/[email protected]+1.21+neoforge/fzzyhmstrs.emi_loot.parser.LootTableParser.parseLootPoolEntry(LootTableParser.java:428) ~[emi_loot-0.7.4+1.21+neoforge.jar%23417!/:?] {re:classloading,re:mixin}
at TRANSFORMER/[email protected]+1.21+neoforge/fzzyhmstrs.emi_loot.parser.LootTableParser.parseLootPoolEntry(LootTableParser.java:421) ~[emi_loot-0.7.4+1.21+neoforge.jar%23417!/:?] {re:classloading,re:mixin}
at TRANSFORMER/[email protected]+1.21+neoforge/fzzyhmstrs.emi_loot.parser.LootTableParser.parseLootPoolEntry(LootTableParser.java:409) ~[emi_loot-0.7.4+1.21+neoforge.jar%23417!/:?] {re:classloading,re:mixin}
at TRANSFORMER/[email protected]+1.21+neoforge/fzzyhmstrs.emi_loot.parser.LootTableParser.parseChestLootTable(LootTableParser.java:265) ~[emi_loot-0.7.4+1.21+neoforge.jar%23417!/:?] {re:classloading,re:mixin}
at TRANSFORMER/[email protected]+1.21+neoforge/fzzyhmstrs.emi_loot.parser.LootTableParser.parseLootTable(LootTableParser.java:180) ~[emi_loot-0.7.4+1.21+neoforge.jar%23417!/:?] {re:classloading,re:mixin}
at TRANSFORMER/[email protected]+1.21+neoforge/fzzyhmstrs.emi_loot.parser.LootTableParser.lambda$parseLootTables$5(LootTableParser.java:146) ~[emi_loot-0.7.4+1.21+neoforge.jar%23417!/:?] {re:classloading,re:mixin}
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?] {re:mixin}
at MC-BOOTSTRAP/[email protected]/com.google.common.collect.Maps$IteratorBasedAbstractMap.forEachEntry(Maps.java:3868) ~[guava-32.1.2-jre.jar%2383!/:?] {}
at MC-BOOTSTRAP/[email protected]/com.google.common.collect.Maps$IteratorBasedAbstractMap$1.forEach(Maps.java:3862) ~[guava-32.1.2-jre.jar%2383!/:?] {}
at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1116) ~[?:?] {}
at TRANSFORMER/[email protected]+1.21+neoforge/fzzyhmstrs.emi_loot.parser.LootTableParser.parseLootTables(LootTableParser.java:144) ~[emi_loot-0.7.4+1.21+neoforge.jar%23417!/:?] {re:classloading,re:mixin}
at TRANSFORMER/[email protected]+1.21+neoforge/fzzyhmstrs.emi_loot.EMILoot.parseTables(EMILoot.java:82) ~[emi_loot-0.7.4+1.21+neoforge.jar%23417!/:?] {re:classloading,re:mixin}
at TRANSFORMER/[email protected]/net.minecraft.server.ReloadableServerRegistries.handler$bkh000$emi_loot$onLootTablesLoaded(ReloadableServerRegistries.java:524) ~[server-1.21.1-20240808.144430-srg.jar%23350!/:?] {re:mixin,re:classloading,pl:mixin:APP:emi_loot.mixins.json:ReloadableRegistriesMixin from mod emi_loot,pl:mixin:A}
at TRANSFORMER/[email protected]/net.minecraft.server.ReloadableServerRegistries.lambda$scheduleElementParse$4(ReloadableServerRegistries.java:64) ~[server-1.21.1-20240808.144430-srg.jar%23350!/:?] {re:mixin,re:classloading,pl:mixin:APP:emi_loot.mixins.json:ReloadableRegistriesMixin from mod emi_loot,pl:mixin:A}
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?] {}
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?] {}
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) ~[?:?] {}
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) ~[?:?] {}
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) ~[?:?] {re:mixin,re:computing_frames}
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) ~[?:?] {re:mixin,re:computing_frames}
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) ~[?:?] {re:mixin}
@MehanikTMYT Yeah that one is my fault. It's not related to this issue. It's fixed with #102
What?? No, you should always be using the latest version of EMI. This mod doesn't depend on any one specific version of EMI.
make sure your emi version matches this ones dependency (should be stated on mod home page, it is not, latest version of this mod is supported by emi version 1.1.13+1.21.1, neoforge modloader. if that helps anyone, it was the reason i kept getting invalid player data when loading into a world as my emi version was 1.1.16 and at the time this mod only supported emi 1.1.12(now1.1.13).
