UltimateStacker/src/main/java/com/songoda/ultimatestacker/listeners/DeathListeners.java

47 lines
1.7 KiB
Java
Raw Normal View History

package com.songoda.ultimatestacker.listeners;
2018-11-06 04:33:10 +01:00
import com.songoda.ultimatestacker.UltimateStacker;
2019-07-08 18:39:57 +02:00
import com.songoda.ultimatestacker.utils.settings.Setting;
import org.bukkit.Material;
import org.bukkit.entity.Pig;
2018-11-06 04:33:10 +01:00
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
2018-11-06 04:33:10 +01:00
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDeathEvent;
2019-07-08 18:39:57 +02:00
import org.bukkit.inventory.ItemStack;
2018-11-06 04:33:10 +01:00
2019-07-08 18:39:57 +02:00
import java.util.List;
2019-02-25 15:23:41 +01:00
2018-11-06 04:33:10 +01:00
public class DeathListeners implements Listener {
private final UltimateStacker instance;
public DeathListeners(UltimateStacker instance) {
this.instance = instance;
}
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
2018-11-06 04:33:10 +01:00
public void onEntityDeath(EntityDeathEvent event) {
2019-07-08 18:39:57 +02:00
List<ItemStack> items = Setting.CUSTOM_DROPS.getBoolean()
? instance.getLootManager().getDrops(event.getEntity()) : event.getDrops();
if (items.size() != 0) {
if (event.getEntity() instanceof Pig && ((Pig) event.getEntity()).hasSaddle())
event.getEntity().getWorld().dropItemNaturally(event.getEntity().getLocation(),
new ItemStack(Material.SADDLE));
event.getDrops().clear();
} else
items = event.getDrops();
for (ItemStack item : items) {
if (item == null) continue;
event.getEntity().getWorld().dropItemNaturally(event.getEntity().getLocation(), item);
}
if (instance.getEntityStackManager().isStacked(event.getEntity()))
instance.getEntityStackManager().getStack(event.getEntity())
2019-07-08 18:39:57 +02:00
.onDeath(event.getEntity(), items, event.getDroppedExp());
2018-11-06 04:33:10 +01:00
}
}