From 170a63f7ff7e1bfd6c8b55cc75c9319f593bee84 Mon Sep 17 00:00:00 2001 From: Brianna O'Keefe Date: Thu, 13 Dec 2018 09:02:38 -0500 Subject: [PATCH] "Kill Whole Stack On Death" will no longer cause lag. --- .../songoda/ultimatestacker/events/DeathListeners.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/songoda/ultimatestacker/events/DeathListeners.java b/src/main/java/com/songoda/ultimatestacker/events/DeathListeners.java index d917aad..3fdcfa9 100644 --- a/src/main/java/com/songoda/ultimatestacker/events/DeathListeners.java +++ b/src/main/java/com/songoda/ultimatestacker/events/DeathListeners.java @@ -7,6 +7,8 @@ import org.bukkit.entity.*; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityDeathEvent; +import org.bukkit.inventory.ItemStack; +import org.bukkit.metadata.FixedMetadataValue; public class DeathListeners implements Listener { @@ -29,10 +31,12 @@ public class DeathListeners implements Listener { EntityStack stack = stackManager.getStack(killed); - if (instance.getConfig().getBoolean("Entity.Kill Whole Stack On Death")) { + if (instance.getConfig().getBoolean("Entity.Kill Whole Stack On Death") && stack.getAmount() != 1) { for (int i = 1; i < stack.getAmount(); i++) { - LivingEntity newEntity = newEntity(killed); - newEntity.damage(99999); + for (ItemStack item : event.getDrops()) { + killed.getWorld().dropItemNaturally(killed.getLocation(), item); + } + killed.getWorld().spawn(killed.getLocation(), ExperienceOrb.class).setExperience(event.getDroppedExp()); } } else { Entity newEntity = newEntity(killed);