package tc.oc.pgm.modules;
import org.bukkit.Material;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.inventory.ItemStack;
import tc.oc.pgm.match.Match;
import tc.oc.commons.bukkit.util.NMSHacks;
import tc.oc.pgm.match.MatchModule;
import tc.oc.pgm.match.MatchScope;
import tc.oc.pgm.events.ListenerScope;
@ListenerScope(MatchScope.RUNNING)
public class FriendlyFireRefundMatchModule extends MatchModule implements Listener {
public FriendlyFireRefundMatchModule(Match match) {
super(match);
}
@EventHandler(priority = EventPriority.NORMAL)
public void handleFriendlyFire(EntityDamageByEntityEvent event) {
if(event.isCancelled() && event.getDamager() instanceof Arrow) {
Arrow arrow = (Arrow) event.getDamager();
if(arrow.getPickupRule() == Arrow.PickupRule.ALLOWED && arrow.getShooter() != null && arrow.getShooter() instanceof Player){
Player owner = (Player) arrow.getShooter();
owner.getInventory().addItem(new ItemStack(Material.ARROW));
arrow.remove();
}
}
}
}