package techcable.minecraft.combattag.listeners;

import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.entity.Player;

import techcable.minecraft.combattag.event.CombatTagByPlayerEvent;
import techcable.minecraft.combattag.event.CombatTagEvent;
import techcable.minecraft.combattag.Utils;
import techcable.minecraft.combattag.PluginCompatibility;

public class CompatibilityListener implements Listener {
	@EventHandler
	public void onCombatTag(CombatTagEvent event) {
		if (!event.getDefender().isAuthenticated()) event.setCancelled(true);
	}
	@EventHandler
	public void onCombatTagByPlayer(CombatTagByPlayerEvent event) {
		if (!event.getCTAttacker().isAuthenticated()) event.setCancelled(true);
	}
	@EventHandler(ignoreCancelled=true)
     	public void onDamage(EntityDamageByEntityEvent event) {
     		if ((event.getEntity() instanceof Player) && !event.getEntity().isAuthenticated()) {
            		event.setCancelled(true);
			return;
        	}
        	if ((Utils.getRootDamager(event.getDamager()) != null) && 
        		(Utils.getRootDamager(event.getDamager()) instanceof Player) && 
        		!PluginCompatibility.isAuthenticated((Player)Utils.getRootDamager(event.getDamager()))) {
            		event.setCancelled(true);
            		return;
        	}
     	}
}

@@ -41,19 +41,17 @@
 steners;
-%0D%0A%0D
+%0A
 %0Aimport 
@@ -80,17 +80,16 @@
 Handler;
-%0D
 %0Aimport 
@@ -114,17 +114,16 @@
 istener;
-%0D
 %0Aimport 
@@ -168,25 +168,24 @@
 EntityEvent;
-%0D
 %0Aimport org.
@@ -205,19 +205,50 @@
 .Player;
-%0D%0A%0D
+%0Aimport org.bukkit.entity.Entity;%0A
 %0Aimport 
@@ -302,25 +302,24 @@
 PlayerEvent;
-%0D
 %0Aimport tech
@@ -365,17 +365,16 @@
 agEvent;
-%0D
 %0Aimport 
@@ -409,17 +409,16 @@
 g.Utils;
-%0D
 %0Aimport 
@@ -471,11 +471,9 @@
 ity;
-%0D%0A%0D
+%0A
 %0Apub
@@ -525,17 +525,16 @@
 stener %7B
-%0D
 %0A%09@Event
@@ -532,33 +532,32 @@
 %7B%0A%09@EventHandler
-%0D
 %0A%09public void on
@@ -581,33 +581,32 @@
 agEvent event) %7B
-%0D
 %0A%09%09if (!event.ge
@@ -653,37 +653,35 @@
 Cancelled(true);
-%0D
 %0A%09%7D
-%0D
 %0A%09@EventHandler%0D
@@ -679,17 +679,16 @@
 tHandler
-%0D
 %0A%09public
@@ -744,17 +744,16 @@
 event) %7B
-%0D
 %0A%09%09if (!
@@ -822,13 +822,11 @@
 ue);
-%0D
 %0A%09%7D
-%0D
 %0A%09@E
@@ -858,24 +858,21 @@
 ed=true)
-%0D
 %0A    
- %09
 public v
@@ -922,39 +922,140 @@
 t) %7B
-%0D
 %0A     
-%09%09if ((event.getEntity()
+   Entity defender = event.getEntity();%0A        Entity attacker = Utils.getRootDamager(event.getDamager());%0A     %09if (defender
  ins
@@ -1072,64 +1072,78 @@
 ayer
-)
  && !
-event.getEntity().isAuthenticated()) %7B%0D%0A  
+PluginCompatibility.isAuthenticated((Player)defender)) %7B%0A
         
   %09%09
@@ -1130,35 +1130,32 @@
 der)) %7B%0A        
-  %09
 %09event.setCancel
@@ -1168,21 +1168,22 @@
 ue);
-%0D
 %0A%09%09
-%09
+    
 return;
-%0D
 %0A   
@@ -1183,27 +1183,25 @@
 rn;%0A        
-%09%7D%0D
+%7D
 %0A        %09if
@@ -1201,62 +1201,28 @@
     
-%09
 if (
-(Utils.getRootDamager(event.getDamager())
+attacker
  != null
 ) &&
@@ -1221,66 +1221,20 @@
 null
-)
  && 
-%0D%0A        %09%09(Utils.getRootDamager(event.getDamager())
+attacker
  ins
@@ -1251,26 +1251,12 @@
 ayer
-)
  && 
-%0D%0A        %09%09!
 Plug
@@ -1299,53 +1299,20 @@
 yer)
-Utils.getRootDamager(event.getDamager()
+attacker
 ))
-)
  %7B
-%0D
 %0A   
@@ -1320,18 +1320,16 @@
         
-%09%09
 event.se
@@ -1345,17 +1345,16 @@
 d(true);
-%0D
 %0A       
@@ -1362,18 +1362,15 @@
     
-%09%09
 return;
-%0D
 %0A   
@@ -1378,20 +1378,14 @@
     
-%09%7D%0D
+%7D
 %0A    
- %09%7D%0D
+%7D
 %0A%7D
-%0D
 %0A

Fix Compile Errors