EvModder / DropHeads

A highly configurable head collecting plugin for Minecraft
GNU Lesser General Public License v3.0
36 stars 28 forks source link

DropHeads v3.9.7 Could not pass event EntityDeathEvent to DropHeads v3.9.7 #115

Open pjindras opened 1 week ago

pjindras commented 1 week ago

[22:03:05] [Server thread/ERROR]: Could not pass event EntityDeathEvent to DropHeads v3.9.7 java.lang.ClassCastException: class org.bukkit.craftbukkit.entity.CraftVillager$CraftType cannot be cast to class java.lang.Enum (org.bukkit.craftbukkit.entity.CraftVillager$CraftType is in unnamed module of loader java.net.URLClassLoader @7e774085; java.lang.Enum is in module java.base of loader 'bootstrap') at DropHeads.jar/net.evmodder.DropHeads.TextureKeyLookup.getTextureKey(TextureKeyLookup.java:209) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.HeadAPI.getHead(HeadAPI.java:834) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.DropChanceAPI.triggerHeadDropEvent(DropChanceAPI.java:710) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.DropChanceAPI.triggerHeadDropEvent(DropChanceAPI.java:734) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.listeners.EntityDeathListener.onEntityDeath(EntityDeathListener.java:153) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.listeners.EntityDeathListener$DeathEventExecutor.execute(EntityDeathListener.java:288) ~[DropHeads.jar:?] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:72) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:60) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:629) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:1007) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.LivingEntity.dropAllDeathLoot(LivingEntity.java:1951) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.LivingEntity.die(LivingEntity.java:1852) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.npc.AbstractVillager.die(AbstractVillager.java:243) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.npc.Villager.die(Villager.java:797) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.LivingEntity.hurt(LivingEntity.java:1645) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.player.Player.attack(Player.java:1393) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.level.ServerPlayer.attack(ServerPlayer.java:2565) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.network.ServerGamePacketListenerImpl$3.onAttack(ServerGamePacketListenerImpl.java:2984) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.network.protocol.game.ServerboundInteractPacket$1.dispatch(ServerboundInteractPacket.java:29) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.network.protocol.game.ServerboundInteractPacket.dispatch(ServerboundInteractPacket.java:89) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.network.ServerGamePacketListenerImpl.handleInteract(ServerGamePacketListenerImpl.java:2893) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:76) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:14) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:55) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:152) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1555) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:190) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1533) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1526) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1484) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1491) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1338) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at java.base/java.lang.Thread.run(Unknown Source) ~[?:?] [22:03:06] [Server thread/ERROR]: Could not pass event EntityDeathEvent to DropHeads v3.9.7 java.lang.ClassCastException: class org.bukkit.craftbukkit.entity.CraftVillager$CraftType cannot be cast to class java.lang.Enum (org.bukkit.craftbukkit.entity.CraftVillager$CraftType is in unnamed module of loader java.net.URLClassLoader @7e774085; java.lang.Enum is in module java.base of loader 'bootstrap') at DropHeads.jar/net.evmodder.DropHeads.TextureKeyLookup.getTextureKey(TextureKeyLookup.java:209) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.HeadAPI.getHead(HeadAPI.java:834) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.DropChanceAPI.triggerHeadDropEvent(DropChanceAPI.java:710) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.DropChanceAPI.triggerHeadDropEvent(DropChanceAPI.java:734) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.listeners.EntityDeathListener.onEntityDeath(EntityDeathListener.java:153) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.listeners.EntityDeathListener$DeathEventExecutor.execute(EntityDeathListener.java:288) ~[DropHeads.jar:?] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:72) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:60) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:629) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:1007) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.LivingEntity.dropAllDeathLoot(LivingEntity.java:1951) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.LivingEntity.die(LivingEntity.java:1852) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.npc.AbstractVillager.die(AbstractVillager.java:243) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.npc.Villager.die(Villager.java:797) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.LivingEntity.hurt(LivingEntity.java:1645) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.player.Player.attack(Player.java:1393) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.level.ServerPlayer.attack(ServerPlayer.java:2565) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.network.ServerGamePacketListenerImpl$3.onAttack(ServerGamePacketListenerImpl.java:2984) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.network.protocol.game.ServerboundInteractPacket$1.dispatch(ServerboundInteractPacket.java:29) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.network.protocol.game.ServerboundInteractPacket.dispatch(ServerboundInteractPacket.java:89) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.network.ServerGamePacketListenerImpl.handleInteract(ServerGamePacketListenerImpl.java:2893) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:76) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:14) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:55) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:152) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1555) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:190) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1533) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1526) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1484) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1491) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1338) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at java.base/java.lang.Thread.run(Unknown Source) ~[?:?] [22:03:06] [Server thread/ERROR]: Could not pass event EntityDeathEvent to DropHeads v3.9.7 java.lang.ClassCastException: class org.bukkit.craftbukkit.entity.CraftVillager$CraftType cannot be cast to class java.lang.Enum (org.bukkit.craftbukkit.entity.CraftVillager$CraftType is in unnamed module of loader java.net.URLClassLoader @7e774085; java.lang.Enum is in module java.base of loader 'bootstrap') at DropHeads.jar/net.evmodder.DropHeads.TextureKeyLookup.getTextureKey(TextureKeyLookup.java:209) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.HeadAPI.getHead(HeadAPI.java:834) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.DropChanceAPI.triggerHeadDropEvent(DropChanceAPI.java:710) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.DropChanceAPI.triggerHeadDropEvent(DropChanceAPI.java:734) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.listeners.EntityDeathListener.onEntityDeath(EntityDeathListener.java:153) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.listeners.EntityDeathListener$DeathEventExecutor.execute(EntityDeathListener.java:288) ~[DropHeads.jar:?] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:72) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:60) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:629) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:1007) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.LivingEntity.dropAllDeathLoot(LivingEntity.java:1951) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.LivingEntity.die(LivingEntity.java:1852) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.npc.AbstractVillager.die(AbstractVillager.java:243) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.npc.Villager.die(Villager.java:797) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.LivingEntity.hurt(LivingEntity.java:1645) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.world.entity.player.Player.attack(Player.java:1393) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.level.ServerPlayer.attack(ServerPlayer.java:2565) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.network.ServerGamePacketListenerImpl$3.onAttack(ServerGamePacketListenerImpl.java:2984) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.network.protocol.game.ServerboundInteractPacket$1.dispatch(ServerboundInteractPacket.java:29) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.network.protocol.game.ServerboundInteractPacket.dispatch(ServerboundInteractPacket.java:89) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.network.ServerGamePacketListenerImpl.handleInteract(ServerGamePacketListenerImpl.java:2893) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:76) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:14) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:55) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:152) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1555) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:190) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1533) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1526) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1484) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1491) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1338) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[leaf-1.21.1.jar:1.21.1-DEV-1a9ddb5] at java.base/java.lang.Thread.run(Unknown Source) ~[?:?]

EvModder commented 1 week ago

Hmm, looks like a similar issue to what was happening with Wolf variant heads. I did some further research and it seems in 1.21 the Bukkit/Spigot API changed about 15% of mobs away from using Enums and now they instead use a Keyed Registry.

Anyways, in non-programmer speak, I think I was able to fix it, but I won't be able to fully test and upload a new release until this weekend at the earliest.

In the meantime though, I've updated the dev jar for v3.9.8, if you'd like you can try it out and LMK if it's still giving that error.