67 lines
1.8 KiB
Java
Raw Normal View History

2012-07-17 15:58:45 -06:00
package me.Travja.HungerArena;
2012-07-18 07:14:50 +10:00
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
2012-10-08 17:55:42 -06:00
import org.bukkit.entity.Projectile;
import org.bukkit.entity.Skeleton;
2012-07-18 07:14:50 +10:00
import org.bukkit.event.EventHandler;
2012-10-08 17:55:42 -06:00
import org.bukkit.event.EventPriority;
2012-07-18 07:14:50 +10:00
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;
}
2013-02-16 18:03:13 -07:00
int a = 0;
2012-10-08 17:55:42 -06:00
@EventHandler(priority= EventPriority.MONITOR)
2012-07-18 07:14:50 +10:00
public void PlayerPvP(EntityDamageByEntityEvent event){
2013-02-16 18:03:13 -07:00
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)){
2012-10-08 17:55:42 -06:00
if(event.isCancelled()){
event.setCancelled(false);
}
}
2013-02-16 18:03:13 -07:00
}
if(plugin.getArena(p)!= null){
a = plugin.getArena(p);
if(!plugin.canjoin.get(a)){
2012-10-08 17:55:42 -06:00
if(!event.isCancelled()){
event.setCancelled(true);
}
}
2013-02-16 18:03:13 -07:00
}
if(plugin.getArena(p)== null && plugin.getArena(d)!= null){
2012-10-08 17:55:42 -06:00
if(!event.isCancelled()){
event.setCancelled(true);
}
}
2013-02-16 18:03:13 -07:00
}else if(pl instanceof Player && dl instanceof Projectile){
Projectile projectile = (Projectile) dl;
Player p = (Player) pl;
2012-10-08 17:55:42 -06:00
if(projectile.getShooter() instanceof Player){
2013-02-16 18:03:13 -07:00
if(plugin.getArena(p) != null){
2012-10-08 17:55:42 -06:00
Player shooter = (Player) projectile.getShooter();
2013-02-16 18:03:13 -07:00
if(plugin.getArena(shooter)!= null){
2012-10-08 17:55:42 -06:00
event.setCancelled(false);
}
}
}else if(projectile.getShooter() instanceof Entity){
Entity e = projectile.getShooter();
if(e instanceof Skeleton){
2013-02-16 18:03:13 -07:00
if(plugin.getArena(p)!= null){
2012-10-08 17:55:42 -06:00
event.setCancelled(false);
}
}
2012-07-18 07:14:50 +10:00
}
}
}
}