2013-02-16 18:03:13 -07:00

67 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;
}
int a = 0;
@EventHandler(priority= EventPriority.MONITOR)
public void PlayerPvP(EntityDamageByEntityEvent event){
Entity pl = event.getEntity();
Entity dl = event.getDamager();
if(pl instanceof Player && dl instanceof Player){
Player p = (Player) pl;
Player d = (Player) dl;
if(plugin.getArena(p)!= null && plugin.getArena(d)!= null){
a = plugin.getArena(p);
if(plugin.canjoin.get(a)){
if(event.isCancelled()){
event.setCancelled(false);
}
}
}
if(plugin.getArena(p)!= null){
a = plugin.getArena(p);
if(!plugin.canjoin.get(a)){
if(!event.isCancelled()){
event.setCancelled(true);
}
}
}
if(plugin.getArena(p)== null && plugin.getArena(d)!= null){
if(!event.isCancelled()){
event.setCancelled(true);
}
}
}else if(pl instanceof Player && dl instanceof Projectile){
Projectile projectile = (Projectile) dl;
Player p = (Player) pl;
if(projectile.getShooter() instanceof Player){
if(plugin.getArena(p) != null){
Player shooter = (Player) projectile.getShooter();
if(plugin.getArena(shooter)!= null){
event.setCancelled(false);
}
}
}else if(projectile.getShooter() instanceof Entity){
Entity e = projectile.getShooter();
if(e instanceof Skeleton){
if(plugin.getArena(p)!= null){
event.setCancelled(false);
}
}
}
}
}
}