| 
					
				 | 
			
			
				@@ -51,8 +51,6 @@ public final class CombatUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param event The event to run the combat checks on. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static void combatChecks(EntityDamageByEntityEvent event, Entity attacker, LivingEntity target) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        boolean targetIsPlayer = (target.getType() == EntityType.PLAYER); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        boolean targetIsTamedPet = (target instanceof Tameable) ? ((Tameable) target).isTamed() : false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Entity damager = event.getDamager(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (attacker instanceof Player && damager.getType() == EntityType.PLAYER) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -77,7 +75,7 @@ public final class CombatUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (ItemUtils.isSword(heldItem)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (((targetIsPlayer || targetIsTamedPet) && !SkillType.SWORDS.getPVPEnabled()) || (!targetIsPlayer && !targetIsTamedPet && !SkillType.SWORDS.getPVEEnabled())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!shouldProcessSkill(target, SkillType.SWORDS)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -100,7 +98,7 @@ public final class CombatUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             else if (ItemUtils.isAxe(heldItem)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (((targetIsPlayer || targetIsTamedPet) && !SkillType.AXES.getPVPEnabled()) || (!targetIsPlayer && !targetIsTamedPet && !SkillType.AXES.getPVEEnabled())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!shouldProcessSkill(target, SkillType.AXES)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -134,7 +132,7 @@ public final class CombatUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             else if (heldItem.getType() == Material.AIR) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (((targetIsPlayer || targetIsTamedPet) && !SkillType.UNARMED.getPVPEnabled()) || (!targetIsPlayer && !targetIsTamedPet && !SkillType.UNARMED.getPVEEnabled())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!shouldProcessSkill(target, SkillType.UNARMED)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -180,12 +178,7 @@ public final class CombatUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (targetIsPlayer || targetIsTamedPet) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if (!SkillType.TAMING.getPVPEnabled()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    else if (!SkillType.TAMING.getPVEEnabled()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (!shouldProcessSkill(target, SkillType.TAMING)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -220,12 +213,7 @@ public final class CombatUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (targetIsPlayer || targetIsTamedPet) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (!SkillType.ARCHERY.getPVPEnabled()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                else if (!SkillType.ARCHERY.getPVEEnabled()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!shouldProcessSkill(target, SkillType.ARCHERY)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -236,7 +224,7 @@ public final class CombatUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (targetIsPlayer) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (target instanceof Player) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Player player = (Player) target; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (Misc.isNPCEntity(player)) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -593,4 +581,17 @@ public final class CombatUtils { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static boolean shouldProcessSkill(LivingEntity target, SkillType skill) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        boolean process; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (target instanceof Player || (target instanceof Tameable && ((Tameable) target).isTamed())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            process = skill.getPVPEnabled(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            process = skill.getPVEEnabled(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return process; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |