DropHeads v3.9.7 Could not pass event EntityDeathEvent to DropHeads v3.9.7
[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) ~[?:?]
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.
Currently running Paper 1.20.1 version 196 Minecraft 1.20.1 DropHeads v3.9.7
I've since updated to the v3.9.8 dev jar as of now and will let you know if this occurs again.
Here is the following log:
[19:32:31] [Server thread/WARN]: [DropHeads] Unable to find key in 'head-textures.txt': SKELETON|HOLLOW|PRE_JAPPA [19:32:31] [Server thread/WARN]: [DropHeads] Unable to find key in 'head-textures.txt': SKELETON|HOLLOW [19:32:31] [Server thread/ERROR]: Could not pass event EntityDeathEvent to DropHeads v3.9.7 java.lang.ClassCastException: class org.bukkit.craftbukkit.v1_20_R1.block.data.CraftBlockData cannot be cast to class org.bukkit.block.data.Rotatable (org.bukkit.craftbukkit.v1_20_R1.block.data.CraftBlockData and org.bukkit.block.data.Rotatable are in unnamed module of loader java.net.URLClassLoader @5a10411) at net.evmodder.DropHeads.DropChanceAPI.dropHeadItem(DropChanceAPI.java:506) ~[DropHeads.jar:?] at net.evmodder.DropHeads.DropChanceAPI.triggerHeadDropEvent(DropChanceAPI.java:718) ~[DropHeads.jar:?] at net.evmodder.DropHeads.DropChanceAPI.triggerHeadDropEvent(DropChanceAPI.java:734) ~[DropHeads.jar:?] at net.evmodder.DropHeads.listeners.EntityDeathListener.onEntityDeath(EntityDeathListener.java:195) ~[DropHeads.jar:?] at net.evmodder.DropHeads.listeners.EntityDeathListener$DeathEventExecutor.execute(EntityDeathListener.java:288) ~[DropHeads.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:git-Paper-196] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.20.1.jar:git-Paper-196] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[paper-1.20.1.jar:git-Paper-196] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_20_R1.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:928) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.world.entity.LivingEntity.dropAllDeathLoot(LivingEntity.java:1801) ~[?:?] at net.minecraft.world.entity.LivingEntity.die(LivingEntity.java:1695) ~[?:?] at net.minecraft.world.entity.LivingEntity.hurt(LivingEntity.java:1519) ~[?:?] at net.minecraft.world.entity.player.Player.attack(Player.java:1320) ~[?:?] at net.minecraft.server.level.ServerPlayer.attack(ServerPlayer.java:2168) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl$4.a(ServerGamePacketListenerImpl.java:2913) ~[?:?] at net.minecraft.network.protocol.game.ServerboundInteractPacket$1.dispatch(ServerboundInteractPacket.java:24) ~[?:?] at net.minecraft.network.protocol.game.ServerboundInteractPacket.dispatch(ServerboundInteractPacket.java:80) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.handleInteract(ServerGamePacketListenerImpl.java:2837) ~[?:?] at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:67) ~[?:?] at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:12) ~[?:?] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:51) ~[?:?] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1338) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1315) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1308) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1286) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1174) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[paper-1.20.1.jar:git-Paper-196] at java.lang.Thread.run(Thread.java:1583) ~[?:?]
Currently running Paper 1.20.1 version 196 Minecraft 1.20.1 DropHeads v3.9.8 Dev Build
I'm still seeing this occur with this recent dev build. Not sure if there's anything I can do on my end to mitigate this other than updating to 1.21.1. If I do update to the latest Minecraft version and this error occurs I'll make another comment. I'll continue using the latest dev build.
[04:27:40 WARN]: [DropHeads] Unable to find key in 'head-textures.txt': SKELETON|HOLLOW|PRE_JAPPA [04:27:40 WARN]: [DropHeads] Unable to find key in 'head-textures.txt': SKELETON|HOLLOW [04:27:40 ERROR]: Could not pass event EntityDeathEvent to DropHeads v3.9.8 java.lang.ClassCastException: class org.bukkit.craftbukkit.v1_20_R1.block.data.CraftBlockData cannot be cast to class org.bukkit.block.data.Rotatable (org.bukkit.craftbukkit.v1_20_R1.block.data.CraftBlockData and org.bukkit.block.data.Rotatable are in unnamed module of loader java.net.URLClassLoader @5a10411) at net.evmodder.DropHeads.DropChanceAPI.dropHeadItem(DropChanceAPI.java:506) ~[DropHeads_v3.9.8.jar:?] at net.evmodder.DropHeads.DropChanceAPI.triggerHeadDropEvent(DropChanceAPI.java:718) ~[DropHeads_v3.9.8.jar:?] at net.evmodder.DropHeads.DropChanceAPI.triggerHeadDropEvent(DropChanceAPI.java:734) ~[DropHeads_v3.9.8.jar:?] at net.evmodder.DropHeads.listeners.EntityDeathListener.onEntityDeath(EntityDeathListener.java:195) ~[DropHeads_v3.9.8.jar:?] at net.evmodder.DropHeads.listeners.EntityDeathListener$DeathEventExecutor.execute(EntityDeathListener.java:288) ~[DropHeads_v3.9.8.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:git-Paper-196] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.20.1.jar:git-Paper-196] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[paper-1.20.1.jar:git-Paper-196] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_20_R1.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:928) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.world.entity.LivingEntity.dropAllDeathLoot(LivingEntity.java:1801) ~[?:?] at net.minecraft.world.entity.LivingEntity.die(LivingEntity.java:1695) ~[?:?] at net.minecraft.world.entity.LivingEntity.hurt(LivingEntity.java:1519) ~[?:?] at net.minecraft.world.entity.player.Player.attack(Player.java:1320) ~[?:?] at net.minecraft.server.level.ServerPlayer.attack(ServerPlayer.java:2168) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl$4.a(ServerGamePacketListenerImpl.java:2913) ~[?:?] at net.minecraft.network.protocol.game.ServerboundInteractPacket$1.dispatch(ServerboundInteractPacket.java:24) ~[?:?] at net.minecraft.network.protocol.game.ServerboundInteractPacket.dispatch(ServerboundInteractPacket.java:80) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.handleInteract(ServerGamePacketListenerImpl.java:2837) ~[?:?] at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:67) ~[?:?] at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:12) ~[?:?] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:51) ~[?:?] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1338) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1315) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1308) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1286) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1174) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[paper-1.20.1.jar:git-Paper-196] at java.lang.Thread.run(Thread.java:1583) ~[?:?]
Hmm, based on the error, I assume you are using the setting to place the head as a block in the world?
I'm surprised to see the "hollow skulls" warnings because Mojang removed support for transparency in head textures a couple years ago and I thought I removed all options to use those in DropHeads shortly after.
If you can link a pastebin with your plugins/DropHeads/config.yml file, I can probably get this error fixed in an updated dev jar
I found those errors in console:
23:54:55[ERROR] Could not pass event PlayerInteractEvent to DropHeads v3.9.7 java.lang.ClassCastException: class net.minecraft.world.item.component.ResolvableProfile cannot be cast to class com.mojang.authlib.GameProfile (net.minecraft.world.item.component.ResolvableProfile and com.mojang.authlib.GameProfile are in unnamed module o f loader java.net.URLClassLoader @108c4c35) at DropHeads.jar/net.evmodder.EvLib.extras.HeadUtils.getGameProfile(HeadUtils.java:142) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.listeners.BlockClickListener.getHeadNameData(BlockClickListener.java:148) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.listeners.BlockClickListener.onBlockClickEvent(BlockClickListener.java:230) ~[DropHeads.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor1079.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:65) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:629) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:604) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.level.ServerPlayerGameMode.useItemOn(ServerPlayerGameMode.java:538) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItemOn(ServerGamePacketListenerImpl.java:2031) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:44) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:11) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:55) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1564) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:190) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1542) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1535) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1483) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1493) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1337) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at java.base/java.lang.Thread.run(Unknown Source) ~[?:?] 23:55:09[ERROR] Could not pass event PlayerInteractEvent to DropHeads v3.9.7 java.lang.ClassCastException: class net.minecraft.world.item.component.ResolvableProfile cannot be cast to class com.mojang.authlib.GameProfile (net.minecraft.world.item.component.ResolvableProfile and com.mojang.authlib.GameProfile are in unnamed module o f loader java.net.URLClassLoader @108c4c35) at DropHeads.jar/net.evmodder.EvLib.extras.HeadUtils.getGameProfile(HeadUtils.java:142) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.listeners.BlockClickListener.getHeadNameData(BlockClickListener.java:148) ~[DropHeads.jar:?] at DropHeads.jar/net.evmodder.DropHeads.listeners.BlockClickListener.onBlockClickEvent(BlockClickListener.java:230) ~[DropHeads.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor1079.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:65) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:629) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:604) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.level.ServerPlayerGameMode.useItemOn(ServerPlayerGameMode.java:538) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItemOn(ServerGamePacketListenerImpl.java:2031) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:44) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:11) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:55) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1564) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:190) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1542) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1535) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1483) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1493) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1337) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[leaf-1.21.1.jar:1.21.1-DEV-4548da8] at java.base/java.lang.Thread.run(Unknown Source) ~[?:?]
MC 1.21.1 Java 21
MC 1.21.1 -->
[17:52:36] [Server thread/ERROR]: Could not pass event EntityDeathEvent to DropHeads v3.9.8
@EvModder Is config.yml still needed?
Sorry for the late reply. I only just got an email this morning telling me about your reply.
This is my current config. I've had the plugin installed for over 2 years but have never actually gotten it to work. https://pastebin.com/BknMvjc3
I've since updated my server to 1.21.1 with Paper 1.21.1-118 I now get the following error on bootup:
[01:15:53] [Server thread/ERROR]: Could not pass event EntityDeathEvent to DropHeads v3.9.8 java.lang.IllegalArgumentException: Can not set net.minecraft.world.item.component.ResolvableProfile field org.bukkit.craftbukkit.inventory.CraftMetaSkull.profile to com.mojang.authlib.GameProfile at java.base/jdk.internal.reflect.FieldAccessorImpl.throwSetIllegalArgumentException(FieldAccessorImpl.java:228) ~[?:?] at java.base/jdk.internal.reflect.FieldAccessorImpl.throwSetIllegalArgumentException(FieldAccessorImpl.java:232) ~[?:?] at java.base/jdk.internal.reflect.MethodHandleObjectFieldAccessorImpl.set(MethodHandleObjectFieldAccessorImpl.java:115) ~[?:?] at java.base/java.lang.reflect.Field.set(Field.java:836) ~[?:?] at DropHeads_v3.9.8.jar/net.evmodder.EvLib.extras.HeadUtils.setGameProfile(HeadUtils.java:116) ~[DropHeads_v3.9.8.jar:?] at DropHeads_v3.9.8.jar/net.evmodder.DropHeads.HeadAPI.makeHeadFromTexture(HeadAPI.java:644) ~[DropHeads_v3.9.8.jar:?] at DropHeads_v3.9.8.jar/net.evmodder.DropHeads.HeadAPI.getHead(HeadAPI.java:741) ~[DropHeads_v3.9.8.jar:?] at DropHeads_v3.9.8.jar/net.evmodder.DropHeads.HeadAPI.getHead(HeadAPI.java:851) ~[DropHeads_v3.9.8.jar:?] at DropHeads_v3.9.8.jar/net.evmodder.DropHeads.DropChanceAPI.triggerHeadDropEvent(DropChanceAPI.java:710) ~[DropHeads_v3.9.8.jar:?] at DropHeads_v3.9.8.jar/net.evmodder.DropHeads.DropChanceAPI.triggerHeadDropEvent(DropChanceAPI.java:734) ~[DropHeads_v3.9.8.jar:?] at DropHeads_v3.9.8.jar/net.evmodder.DropHeads.listeners.EntityDeathListener.onEntityDeath(EntityDeathListener.java:195) ~[DropHeads_v3.9.8.jar:?] at DropHeads_v3.9.8.jar/net.evmodder.DropHeads.listeners.EntityDeathListener$DeathEventExecutor.execute(EntityDeathListener.java:288) ~[DropHeads_v3.9.8.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:84) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:1.21.1-118-fb76840] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:998) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.world.entity.LivingEntity.dropAllDeathLoot(LivingEntity.java:1878) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.world.entity.LivingEntity.die(LivingEntity.java:1781) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.world.entity.LivingEntity.hurt(LivingEntity.java:1586) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.world.entity.player.Player.attack(Player.java:1344) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.server.level.ServerPlayer.attack(ServerPlayer.java:2420) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.server.network.ServerGamePacketListenerImpl$3.onAttack(ServerGamePacketListenerImpl.java:2879) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.network.protocol.game.ServerboundInteractPacket$1.dispatch(ServerboundInteractPacket.java:29) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.network.protocol.game.ServerboundInteractPacket.dispatch(ServerboundInteractPacket.java:89) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.server.network.ServerGamePacketListenerImpl.handleInteract(ServerGamePacketListenerImpl.java:2790) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:76) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:14) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:56) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1535) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:201) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1512) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1505) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1464) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1471) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1316) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:329) ~[paper-1.21.1.jar:1.21.1-118-fb76840] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
and also,
[12:01:07 INFO]: [DropHeads] Enabling DropHeads v3.9.8 [12:01:07 ERROR]: [DropHeads] Unknown material in 'head-place-overwrite-blocks': GRASS
Let me know if there's something wrong with my config.
Hmm, based on the error, I assume you are using the setting to place the head as a block in the world?
I'm surprised to see the "hollow skulls" warnings because Mojang removed support for transparency in head textures a couple years ago and I thought I removed all options to use those in DropHeads shortly after.
If you can link a pastebin with your plugins/DropHeads/config.yml file, I can probably get this error fixed in an updated dev jar
Thanks for the all the details, I should definitely be able to fix this, and sorry for taking a while to do so. I'll dig into it rn, and hopefully have an update later this afternoon.
Okay, I've updated the dev jar DropHeads v3.9.8 just a few minutes ago, it should now be compatible with the changes in Minecraft 1.21 -> 1.21.1
As for the other error, I think I've fixed that too. LMK if any further errors appear in the console.
I'm strongly considering dropping support for older versions of Minecraft (right now the plugin supports all the way back to 1.13+), because it feels like Mojang/Spigot keep changing the player profile API every minor version (like 1.21 to 1.21.1) and it is becoming a headache to keep all the different code paths.
Okay, I've updated the dev jar DropHeads v3.9.8 just a few minutes ago, it should now be compatible with the changes in Minecraft 1.21 -> 1.21.1
This version on Purpur 1.21.1 fixed the EntityDeathEvent error for me. Thank you!
I'm strongly considering dropping support for older versions of Minecraft (right now the plugin supports all the way back to 1.13+), because it feels like Mojang/Spigot keep changing the player profile API every minor version (like 1.21 to 1.21.1) and it is becoming a headache to keep all the different code paths.
You could have a "legacy" version for <1.19, and only make bug/security fixes to it, with no guarantee that new features can be back-ported. It's far more work to make sure any changes for new features don't break compatibility.
I still encounter this on bootup:
[17:56:36 ERROR]: [DropHeads] Unknown material in 'head-place-overwrite-blocks': GRASS
Yep, those head textures are no longer included in the jar by default because it was starting to increase the file size a LOT, and those head variants are all disabled by default.
If you have them enabled in your config, and the plugin detects texture changes (which happen in most DropHeads updates), it will automatically download the extra textures and merge them into the local head-textures.txt file
Getting the following when I am killed by another player. I AM using Multiverse Inventories. I included their log in case that is what's interfering.
[02:01:02 ERROR]: Could not pass event PlayerDeathEvent to DropHeads v3.9.8 java.lang.ClassCastException: class org.bukkit.craftbukkit.block.data.CraftBlockData cannot be cast to class org.bukkit.block.data.Rotatable (org.bukkit.craftbukkit.block.data.CraftBlockData and org.bukkit.block.data.Rotatable are in unnamed module of loader java.net.URLClassLoader @5a10411) at DropHeads_v3.9.8.jar/net.evmodder.DropHeads.DropChanceAPI.dropHeadItem(DropChanceAPI.java:506) ~[DropHeads_v3.9.8.jar:?] at DropHeads_v3.9.8.jar/net.evmodder.DropHeads.DropChanceAPI.triggerHeadDropEvent(DropChanceAPI.java:718) ~[DropHeads_v3.9.8.jar:?] at DropHeads_v3.9.8.jar/net.evmodder.DropHeads.DropChanceAPI.triggerHeadDropEvent(DropChanceAPI.java:734) ~[DropHeads_v3.9.8.jar:?] at DropHeads_v3.9.8.jar/net.evmodder.DropHeads.listeners.EntityDeathListener.onEntityDeath(EntityDeathListener.java:195) ~[DropHeads_v3.9.8.jar:?] at DropHeads_v3.9.8.jar/net.evmodder.DropHeads.listeners.EntityDeathListener$DeathEventExecutor.execute(EntityDeathListener.java:288) ~[DropHeads_v3.9.8.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:84) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:1.21.1-119-7cd4f2c] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:1030) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.server.level.ServerPlayer.die(ServerPlayer.java:1038) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.world.entity.LivingEntity.hurt(LivingEntity.java:1586) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.world.entity.player.Player.hurt(Player.java:1002) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.server.level.ServerPlayer.hurt(ServerPlayer.java:1205) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.world.entity.player.Player.attack(Player.java:1344) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.server.level.ServerPlayer.attack(ServerPlayer.java:2420) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.server.network.ServerGamePacketListenerImpl$3.onAttack(ServerGamePacketListenerImpl.java:2879) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.network.protocol.game.ServerboundInteractPacket$1.dispatch(ServerboundInteractPacket.java:29) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.network.protocol.game.ServerboundInteractPacket.dispatch(ServerboundInteractPacket.java:89) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.server.network.ServerGamePacketListenerImpl.handleInteract(ServerGamePacketListenerImpl.java:2790) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:76) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:14) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:56) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1535) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:201) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1512) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1505) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1464) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1471) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1316) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:329) ~[paper-1.21.1.jar:1.21.1-119-7cd4f2c] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?] [02:01:02 INFO]: [Multiverse-Inventories-Debug] === Handling PlayerDeathEvent for: R3D_R4V3N === [02:01:02 INFO]: [Multiverse-Inventories-Debug] got data file: plugins/Multiverse-Inventories/worlds/world/R3D_R4V3N.json. Type: WORLD, DataName: world, PlayerName: R3D_R4V3N [02:01:02 INFO]: [Multiverse-Inventories-Debug] got data file: plugins/Multiverse-Inventories/groups/Survival/R3D_R4V3N.json. Type: GROUP, DataName: Survival, PlayerName: R3D_R4V3N [02:01:02 INFO]: [Multiverse-Inventories-Debug] Created player profile from map for 'R3D_R4V3N'. [02:01:02 INFO]: [Multiverse-Inventories-Debug] [ProfileType:SURVIVAL - GROUP - Survival - R3D_R4V3N] not cached, loading from disk... [02:01:02 INFO]: [Multiverse-Inventories-Debug] got data file: plugins/Multiverse-Inventories/groups/Survival/R3D_R4V3N.json. Type: GROUP, DataName: Survival, PlayerName: R3D_R4V3N [02:01:02 INFO]: [Multiverse-Inventories-Debug] === Finished handling PlayerDeathEvent for: R3D_R4V3N! ===
Ok I think I've finally got a workaround for the Rotatable placed skulls when players die (for when that feature is enabled).
For whatever reason, Spigot API 1.21.1+ doesn't consider skull blocks to be Rotatable/directional anymore, so I have to use some hacky workaround to not cause it to error out. I've opened a bug report but sadly I'll probably need to leave in my workaround permanently for servers on this version (since Spigot will fix it for the next version, but they don't do backwards-fixes).
Anyways there is a 3.9.9 dev jar if you want to try it out, I haven't run it myself yet so it might not even load lol, but in theory should work