SPIGOT-7800, SPIGOT-7801: Keep vanilla behaviour for items dropped on player death

By: Doc <nachito94@msn.com>
This commit is contained in:
CraftBukkit/Spigot
2024-06-29 14:03:10 +10:00
parent 5f8cff3bb5
commit 8821aa372c
2 changed files with 23 additions and 8 deletions

View File

@@ -910,7 +910,6 @@ public class CraftEventFactory {
PlayerDeathEvent event = new PlayerDeathEvent(entity, bukkitDamageSource, drops, victim.getExpReward(damageSource.getEntity()), 0, deathMessage);
event.setKeepInventory(keepInventory);
event.setKeepLevel(victim.keepLevel); // SPIGOT-2222: pre-set keepLevel
org.bukkit.World world = entity.getWorld();
Bukkit.getServer().getPluginManager().callEvent(event);
victim.keepLevel = event.getKeepLevel();
@@ -922,7 +921,7 @@ public class CraftEventFactory {
for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
if (stack == null || stack.getType() == Material.AIR) continue;
world.dropItem(entity.getLocation(), stack);
victim.drop(CraftItemStack.asNMSCopy(stack), true, false, false); // SPIGOT-7800, SPIGOT-7801: Vanilla Behaviour for dropped items
}
return event;