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;
|
|
|
|
}
|
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){
|
|
|
|
Entity p = event.getEntity();
|
2012-10-08 17:55:42 -06:00
|
|
|
Entity d = event.getDamager();
|
|
|
|
if(p instanceof Player && d instanceof Player){
|
2012-07-18 07:14:50 +10:00
|
|
|
String pname = ((Player) p).getName();
|
2012-10-08 17:55:42 -06:00
|
|
|
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);
|
|
|
|
}
|
|
|
|
}
|
2012-07-18 07:14:50 +10:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|