ploppyperson / StackMob-5

A plugin for bukkit servers, which aims to reduce the lag that the server experiences by combining several entities into a single entity.
GNU General Public License v3.0
51 stars 19 forks source link

IllegalArgumentException on EntityDeathEvent (v5.6.2) #229

Open bermudalocket opened 2 years ago

bermudalocket commented 2 years ago

StackMobs v5.6.2 Purpur 1.17.1 build 1328 (Paper build 126)

Getting this exception while killing stacked zombies spawned at a grinder:

[22:10:14 ERROR]: Could not pass event EntityDeathEvent to StackMob v5.6.2
java.lang.IllegalArgumentException: Missing required parameters: [<parameter minecraft:explosion_radius>, <parameter minecraft:block_state>, <parameter minecraft:block_entity>, <parameter minecraft:tool>, <parameter minecraft:direct_killer_entity>]
        at net.minecraft.world.level.storage.loot.LootContext$Builder.create(LootContext.java:208) ~[app:?]
        at org.bukkit.craftbukkit.v1_17_R1.CraftLootTable.convertContext(CraftLootTable.java:114) ~[patched_1.17.1.jar:git-Purpur-1328]
        at org.bukkit.craftbukkit.v1_17_R1.CraftLootTable.populateLoot(CraftLootTable.java:43) ~[patched_1.17.1.jar:git-Purpur-1328]
        at uk.antiperson.stackmob.entity.Drops.calculateDrops(Drops.java:50) ~[StackMob-5.6.2.jar:?]
        at uk.antiperson.stackmob.listeners.DeathListener.onStackDeath(DeathListener.java:67) ~[StackMob-5.6.2.jar:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor529.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.17.1.jar:git-Purpur-1328]
        at org.bukkit.plugin.EventExecutor$$Lambda$5171/0x0000000041426850.execute(Unknown Source) ~[app:?]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.17.1.jar:git-Purpur-1328]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.17.1.jar:git-Purpur-1328]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.17.1.jar:git-Purpur-1328]
        at org.bukkit.craftbukkit.v1_17_R1.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:867) ~[patched_1.17.1.j
ar:git-Purpur-1328]
        at net.minecraft.world.entity.LivingEntity.dropAllDeathLoot(LivingEntity.java:1753) ~[app:?]
        at net.minecraft.world.entity.LivingEntity.die(LivingEntity.java:1666) ~[app:?]
        at net.minecraft.world.entity.LivingEntity.hurt(LivingEntity.java:1480) ~[app:?]
        at net.minecraft.world.entity.Mob.hurt(Mob.java:357) ~[app:?]
        at net.minecraft.world.entity.monster.Zombie.hurt(Zombie.java:337) ~[app:?]
        at net.minecraft.world.entity.player.Player.attack(Player.java:1303) ~[app:?]
        at net.minecraft.server.level.ServerPlayer.attack(ServerPlayer.java:2128) ~[app:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl$5.onAttack(ServerGamePacketListenerImpl.java:2541) ~[app:?]
        at net.minecraft.network.protocol.game.ServerboundInteractPacket$1.dispatch(ServerboundInteractPacket.java:24) ~[app:?]
        at net.minecraft.network.protocol.game.ServerboundInteractPacket.dispatch(ServerboundInteractPacket.java:80) ~[app:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.handleInteract(ServerGamePacketListenerImpl.java:2466) ~[app:?]
        at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:67) ~[app:?]
        at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:12) ~[app:?]
        at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:56) ~[app:?]
        at net.minecraft.network.protocol.PlayerConnectionUtils$$Lambda$9331/0x00000000100de828.run(Unknown Source) ~[app:?]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[patched_1.17.1.jar:git-Purpur-1328]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:149) ~[app:?]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[app:?]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1422) ~[patched_1.17.1.jar:git-Purpur-1328]
        at net.minecraft.server.MinecraftServer.shouldRun(MinecraftServer.java:190) ~[patched_1.17.1.jar:git-Purpur-1328]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[app:?]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1400) ~[patched_1.17.1.jar:git-Purpur-1328]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1393) ~[patched_1.17.1.jar:git-Purpur-1328]
        at net.minecraft.util.thread.BlockableEventLoop.runAllTasks(BlockableEventLoop.java:110) ~[app:?]
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1532) ~[patched_1.17.1.jar:git-Purpur-1328]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1270) ~[patched_1.17.1.jar:git-Purpur-1328]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[patched_1.17.1.jar:git-Purpur-1328]
        at net.minecraft.server.MinecraftServer$$Lambda$3743/0x00000000d8456120.run(Unknown Source) ~[app:?]
        at java.lang.Thread.run(Thread.java:853) [?:?]
bermudalocket commented 2 years ago

Potential similar issue: https://github.com/Nathat23/StackMob-5/issues/146

And here's where the stacktrace leaves StackMobs: https://github.com/Nathat23/StackMob-5/blob/183c058299ce85918db18e20068c113b177bcade/src/main/java/uk/antiperson/stackmob/entity/Drops.java#L50

ploppyperson commented 2 years ago

Looks like a spigot bug