EMI Loot

EMI Loot

9M Downloads

[1.21.1][Neoforge] Game fails to open world when EMI Loot is installed

ffuentesm opened this issue ยท 14 comments

commented

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
image

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

commented

I have the exact same issue! Except I get an Invalid Player Data error, but the error logs are identical.

commented

I was getting that error too sometimes.
image

commented

Same issue, "Invalid player data" with same error about 177 bones in logs. Disabling EMI Loot fixes the issue for me.

commented

same issue got the "Disconnected" error

commented

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

commented

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

commented

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

commented

use this now

twilight forest fix.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

commented

same in neoforge 21.1.90

commented
  • 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}
commented

@MehanikTMYT Yeah that one is my fault. It's not related to this issue. It's fixed with #102

commented

What?? No, you should always be using the latest version of EMI. This mod doesn't depend on any one specific version of EMI.

commented

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).

commented

The root cause of this issue is fixed in the latest set of versions. And as Unilock says, no specific version of EMI is specifically required by EMI Loot per design. If there is some incompatibility introduced in more recent versions, that can be addressed separately.