2012-10-08 17:55:42 -06:00

62 lines
1.8 KiB
Java

package me.Travja.HungerArena;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile;
import org.bukkit.entity.Skeleton;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
public class PvP implements Listener {
public Main plugin;
public PvP(Main m) {
this.plugin = m;
}
@EventHandler(priority= EventPriority.MONITOR)
public void PlayerPvP(EntityDamageByEntityEvent event){
Entity p = event.getEntity();
Entity d = event.getDamager();
if(p instanceof Player && d instanceof Player){
String pname = ((Player) p).getName();
String dname = ((Player) d).getName();
if(plugin.Playing.contains(pname) && plugin.Playing.contains(dname)){
if(plugin.canjoin){
if(event.isCancelled()){
event.setCancelled(false);
}
}
}else if(plugin.Playing.contains(pname)){
if(!plugin.canjoin){
if(!event.isCancelled()){
event.setCancelled(true);
}
}
}else if(!plugin.Playing.contains(pname) && plugin.Playing.contains(dname)){
if(!event.isCancelled()){
event.setCancelled(true);
}
}
}else if(p instanceof Player && d instanceof Projectile){
Projectile projectile = (Projectile) d;
String pname = ((Player) p).getName();
if(projectile.getShooter() instanceof Player){
if(plugin.Playing.contains(pname)){
Player shooter = (Player) projectile.getShooter();
if(plugin.Playing.contains(shooter.getName())){
event.setCancelled(false);
}
}
}else if(projectile.getShooter() instanceof Entity){
Entity e = projectile.getShooter();
if(e instanceof Skeleton){
if(plugin.Playing.contains(pname)){
event.setCancelled(false);
}
}
}
}
}
}