Stardust-Labs-MC / Incendium

A popular Minecraft worldgen and adventure datapack for the Nether
https://www.planetminecraft.com/data-pack/incendium-nether-expansion/
Other
46 stars 9 forks source link

[Bug] 5.3.2 Does not load as a mod on a server #61

Closed nicholasrobertm closed 1 year ago

nicholasrobertm commented 1 year ago

What Minecraft version(s) does this apply to?

1.20

Project version

5.3.2

Forge Version

forge-1.20.2-48.0.30

Mod or datapack version?

Mod (Forge)

Describe the bug

Trying to load a world with Incendium in 1.20.2 (on 5.3.2) doesn't allow the server to start and throws this error.

java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Multiple entries with same key: LootItemEntityPropertyCondition[predicate=Optional[EntityPredicate[entityType=Optional.empty, distanceToPlayer=Optional.empty, location=Optional.empty, steppingOnLocation=Optional.empty, effects=Optional.empty, nbt=Optional.empty, flags=Optional.empty, equipment=Optional[EntityEquipmentPredicate[head=Optional.empty, chest=Optional.empty, legs=Optional.empty, feet=Optional.empty, mainhand=Optional[ItemPredicate[tag=Optional.empty, items=Optional.empty, count=Ints[min=Optional.empty, max=Optional.empty, minSq=Optional.empty, maxSq=Optional.empty], durability=Ints[min=Optional.empty, max=Optional.empty, minSq=Optional.empty, maxSq=Optional.empty], enchantments=[EnchantmentPredicate[enchantment=Optional[Reference{ResourceKey[minecraft:enchantment / minecraft:quick_charge]=net.minecraft.world.item.enchantment.QuickChargeEnchantment@3dbb7f60}], level=Ints[min=Optional[2], max=Optional[2], minSq=Optional[4], maxSq=Optional[4]]]], storedEnchantments=[], potion=Optional.empty, nbt=Optional.empty]], offhand=Optional.empty]], subPredicate=Optional.empty, vehicle=Optional.empty, passenger=Optional.empty, targetedEntity=Optional.empty, team=Optional.empty]], entityTarget=THIS]=incendium:holding/quick_charge/mainhand and LootItemEntityPropertyCondition[predicate=Optional[EntityPredicate[entityType=Optional.empty, distanceToPlayer=Optional.empty, location=Optional.empty, steppingOnLocation=Optional.empty, effects=Optional.empty, nbt=Optional.empty, flags=Optional.empty, equipment=Optional[EntityEquipmentPredicate[head=Optional.empty, chest=Optional.empty, legs=Optional.empty, feet=Optional.empty, mainhand=Optional[ItemPredicate[tag=Optional.empty, items=Optional.empty, count=Ints[min=Optional.empty, max=Optional.empty, minSq=Optional.empty, maxSq=Optional.empty], durability=Ints[min=Optional.empty, max=Optional.empty, minSq=Optional.empty, maxSq=Optional.empty], enchantments=[EnchantmentPredicate[enchantment=Optional[Reference{ResourceKey[minecraft:enchantment / minecraft:quick_charge]=net.minecraft.world.item.enchantment.QuickChargeEnchantment@3dbb7f60}], level=Ints[min=Optional[2], max=Optional[2], minSq=Optional[4], maxSq=Optional[4]]]], storedEnchantments=[], potion=Optional.empty, nbt=Optional.empty]], offhand=Optional.empty]], subPredicate=Optional.empty, vehicle=Optional.empty, passenger=Optional.empty, targetedEntity=Optional.empty, team=Optional.empty]], entityTarget=THIS]=incendium:holding/quick_charge/offhand
        at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?]
        at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) ~[?:?]
        at net.minecraft.server.Main.main(Main.java:191) ~[server-1.20.2-20230921.100330-srg.jar%23193!/:?]
        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 net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:98) ~[fmlloader-1.20.2-48.0.30.jar%23101!/:?]
        at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.lambda$makeService$0(CommonLaunchHandler.java:82) ~[fmlloader-1.20.2-48.0.30.jar%23101!/:?]
        at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar%2387!/:?]
        at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar%2387!/:?]
        at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar%2387!/:?]
        at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar%2387!/:?]
        at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar%2387!/:?]
        at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar%2387!/:?]
        at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar%2387!/:?]
        at io.izzel.arclight.boot.application.ApplicationBootstrap.accept(ApplicationBootstrap.java:46) ~[arclight-forge-1.20.2-1.0.0-SNAPSHOT.jar:arclight-1.20.2-1.0.0-SNAPSHOT-c92f1ab9]
        at io.izzel.arclight.boot.application.ApplicationBootstrap.accept(ApplicationBootstrap.java:13) ~[arclight-forge-1.20.2-1.0.0-SNAPSHOT.jar:arclight-1.20.2-1.0.0-SNAPSHOT-c92f1ab9]
        at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.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 io.izzel.arclight.boot.application.Main_Forge.main(Main_Forge.java:23) ~[arclight-forge-1.20.2-1.0.0-SNAPSHOT.jar%2381!/:arclight-1.20.2-1.0.0-SNAPSHOT-c92f1ab9]
        at io.izzel.arclight.server.Launcher.main(Launcher.java:18) ~[arclight-forge-1.20.2-1.0.0-SNAPSHOT.jar%2381!/:arclight-1.20.2-1.0.0-SNAPSHOT-c92f1ab9]
Caused by: java.lang.IllegalArgumentException: Multiple entries with same key: LootItemEntityPropertyCondition[predicate=Optional[EntityPredicate[entityType=Optional.empty, distanceToPlayer=Optional.empty, location=Optional.empty, steppingOnLocation=Optional.empty, effects=Optional.empty, nbt=Optional.empty, flags=Optional.empty, equipment=Optional[EntityEquipmentPredicate[head=Optional.empty, chest=Optional.empty, legs=Optional.empty, feet=Optional.empty, mainhand=Optional[ItemPredicate[tag=Optional.empty, items=Optional.empty, count=Ints[min=Optional.empty, max=Optional.empty, minSq=Optional.empty, maxSq=Optional.empty], durability=Ints[min=Optional.empty, max=Optional.empty, minSq=Optional.empty, maxSq=Optional.empty], enchantments=[EnchantmentPredicate[enchantment=Optional[Reference{ResourceKey[minecraft:enchantment / minecraft:quick_charge]=net.minecraft.world.item.enchantment.QuickChargeEnchantment@3dbb7f60}], level=Ints[min=Optional[2], max=Optional[2], minSq=Optional[4], maxSq=Optional[4]]]], storedEnchantments=[], potion=Optional.empty, nbt=Optional.empty]], offhand=Optional.empty]], subPredicate=Optional.empty, vehicle=Optional.empty, passenger=Optional.empty, targetedEntity=Optional.empty, team=Optional.empty]], entityTarget=THIS]=incendium:holding/quick_charge/mainhand and LootItemEntityPropertyCondition[predicate=Optional[EntityPredicate[entityType=Optional.empty, distanceToPlayer=Optional.empty, location=Optional.empty, steppingOnLocation=Optional.empty, effects=Optional.empty, nbt=Optional.empty, flags=Optional.empty, equipment=Optional[EntityEquipmentPredicate[head=Optional.empty, chest=Optional.empty, legs=Optional.empty, feet=Optional.empty, mainhand=Optional[ItemPredicate[tag=Optional.empty, items=Optional.empty, count=Ints[min=Optional.empty, max=Optional.empty, minSq=Optional.empty, maxSq=Optional.empty], durability=Ints[min=Optional.empty, max=Optional.empty, minSq=Optional.empty, maxSq=Optional.empty], enchantments=[EnchantmentPredicate[enchantment=Optional[Reference{ResourceKey[minecraft:enchantment / minecraft:quick_charge]=net.minecraft.world.item.enchantment.QuickChargeEnchantment@3dbb7f60}], level=Ints[min=Optional[2], max=Optional[2], minSq=Optional[4], maxSq=Optional[4]]]], storedEnchantments=[], potion=Optional.empty, nbt=Optional.empty]], offhand=Optional.empty]], subPredicate=Optional.empty, vehicle=Optional.empty, passenger=Optional.empty, targetedEntity=Optional.empty, team=Optional.empty]], entityTarget=THIS]=incendium:holding/quick_charge/offhand
        at com.google.common.collect.ImmutableMap.conflictException(ImmutableMap.java:378) ~[guava-32.1.2-jre.jar:?]
        at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:372) ~[guava-32.1.2-jre.jar:?]
        at com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(RegularImmutableMap.java:246) ~[guava-32.1.2-jre.jar:?]
        at com.google.common.collect.RegularImmutableMap.fromEntryArrayCheckingBucketOverflow(RegularImmutableMap.java:133) ~[guava-32.1.2-jre.jar:?]
        at com.google.common.collect.RegularImmutableMap.fromEntryArray(RegularImmutableMap.java:95) ~[guava-32.1.2-jre.jar:?]
        at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:572) ~[guava-32.1.2-jre.jar:?]
        at com.google.common.collect.ImmutableMap$Builder.buildOrThrow(ImmutableMap.java:600) ~[guava-32.1.2-jre.jar:?]
        at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:587) ~[guava-32.1.2-jre.jar:?]
        at net.minecraft.world.level.storage.loot.LootDataManager.handler$bfi000$arclight$buildRev(LootDataManagerMixin.java:529) ~[server-1.20.2-20230921.100330-srg.jar%23193!/:?]
        at net.minecraft.world.level.storage.loot.LootDataManager.m_278787_(LootDataManagerMixin.java:86) ~[server-1.20.2-20230921.100330-srg.jar%23193!/:?]
        at net.minecraft.world.level.storage.loot.LootDataManager.m_278738_(LootDataManagerMixin.java:41) ~[server-1.20.2-20230921.100330-srg.jar%23193!/:?]
        at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?]
        at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
        at net.minecraft.server.packs.resources.SimpleReloadInstance.m_143940_(SimpleReloadInstance.java:69) ~[server-1.20.2-20230921.100330-srg.jar%23193!/:?]
        at net.minecraft.Util.m_214652_(Util.java:784) ~[server-1.20.2-20230921.100330-srg.jar%23193!/:?]
        at net.minecraft.Util.m_214679_(Util.java:773) ~[server-1.20.2-20230921.100330-srg.jar%23193!/:?]
        at net.minecraft.server.Main.main(Main.java:162) ~[server-1.20.2-20230921.100330-srg.jar%23193!/:?]
        ... 22 more

The log is really wide so for convenience this is what entry it's referring to incendium:holding/quick_charge/offhand

Additional context

No response

catter1 commented 1 year ago

Weird, I've not seen this issue on Forge before. This is not an Incendium issue. When 1.20.2 first released, people got the same error, but it was due to this Paper issue. However, you are obviously not using Paper... so I would guess it would be Forge having a same or similar problem as Paper did.

nicholasrobertm commented 1 year ago

This is very odd indeed, this is for forge version forge-1.20.2-48.0.30 if it helps. I've added this to the original post

catter1 commented 1 year ago

I would investigate with messing around with Forge versions and see if that does anything. If not, and you have other mods, try disabling those and see if anything changes.

nicholasrobertm commented 1 year ago

Apologies I meant to reply - did infact identify this was the same issue as the paper one, but wasn't in the forge end but in our custom backend which had a paper patch in it. Appreciate the response!