浏览代码

Removed redundancy

nossr50 13 年之前
父节点
当前提交
4b26732f51
共有 2 个文件被更改,包括 117 次插入121 次删除
  1. 116 120
      src/main/java/com/gmail/nossr50/Combat.java
  2. 1 1
      src/main/java/com/gmail/nossr50/listeners/mcEntityListener.java

+ 116 - 120
src/main/java/com/gmail/nossr50/Combat.java

@@ -40,147 +40,143 @@ import com.gmail.nossr50.skills.Unarmed;
 
 public class Combat 
 {
-	public static void combatChecks(EntityDamageEvent event, mcMMO pluginx)
+	public static void combatChecks(EntityDamageByEntityEvent event, mcMMO pluginx)
 	{
 		if(event.isCancelled() || event.getDamage() == 0 || event.getEntity().isDead())
 			return;
 		
-		if(event instanceof EntityDamageByEntityEvent)
-		{	
-			//Declare Things
-			EntityDamageByEntityEvent eEvent = (EntityDamageByEntityEvent) event;
-			Entity damager = eEvent.getDamager();
-			LivingEntity target = (LivingEntity) eEvent.getEntity();
-			int damage = eEvent.getDamage();
+		//Declare Things
+		Entity damager = event.getDamager();
+		LivingEntity target = (LivingEntity) event.getEntity();
+		int damage = event.getDamage();
+
+		/*
+		 * PLAYER VERSUS ENTITIES
+		 */
+		if(damager instanceof Player)
+		{
+			Player attacker = (Player) event.getDamager();
+			ItemStack itemInHand = attacker.getItemInHand();
+			PlayerProfile PPa = Users.getProfile(attacker);
 			
-			/*
-			 * PLAYER VERSUS ENTITIES
-			 */
-			if(damager instanceof Player)
+			//If there are any abilities to activate
+			combatAbilityChecks(attacker, PPa, pluginx);
+			
+			//Damage modifiers and proc checks
+			if(m.isSwords(itemInHand) && mcPermissions.getInstance().swords(attacker))
 			{
-				Player attacker = (Player) eEvent.getDamager();
-				ItemStack itemInHand = attacker.getItemInHand();
-				PlayerProfile PPa = Users.getProfile(attacker);
-				
-				//If there are any abilities to activate
-				combatAbilityChecks(attacker, PPa, pluginx);
-				
-				//Damage modifiers and proc checks
-				if(m.isSwords(itemInHand) && mcPermissions.getInstance().swords(attacker))
-				{
-					if(!pluginx.misc.bleedTracker.contains(target)) //Bleed
-						Swords.bleedCheck(attacker, target, pluginx);
-					
-					if (!(event instanceof FakeEntityDamageByEntityEvent) && PPa.getSerratedStrikesMode())
-						Swords.applySerratedStrikes(attacker, eEvent, pluginx);
+				if(!pluginx.misc.bleedTracker.contains(target)) //Bleed
+					Swords.bleedCheck(attacker, target, pluginx);
 					
-					if(target instanceof Player)
-						PvPExperienceGain(attacker, PPa, (Player) target, damage, SkillType.SWORDS);
-					else if(!pluginx.misc.mobSpawnerList.contains(target.getEntityId()))
-						PvEExperienceGain(attacker, PPa, target, damage, SkillType.SWORDS); 
-				}
-				else if(m.isAxes(itemInHand) && mcPermissions.getInstance().axes(attacker))
-				{
-					if(Users.getProfile(attacker).getSkillLevel(SkillType.AXES) >= 500)
-						event.setDamage(damage + 4);
-					
-					Axes.axeCriticalCheck(attacker, eEvent, pluginx); //Critical hit
-					
-					if (!(event instanceof FakeEntityDamageByEntityEvent) && PPa.getSkullSplitterMode())
-						Axes.applyAoeDamage(attacker, eEvent, pluginx);
-					
-					if(target instanceof Player)
-						PvPExperienceGain(attacker, PPa, (Player) target, eEvent.getDamage(), SkillType.AXES);
-					else if(!pluginx.misc.mobSpawnerList.contains(target.getEntityId()))
-						PvEExperienceGain(attacker, PPa, target, eEvent.getDamage(), SkillType.AXES);
-				}
-				else if(itemInHand.getTypeId() == 0 && mcPermissions.getInstance().unarmed(attacker)) //Unarmed
-				{
-					Unarmed.unarmedBonus(attacker, eEvent);
-					if(PPa.getBerserkMode())
-						event.setDamage(eEvent.getDamage() + (eEvent.getDamage() / 2));
-					if(target instanceof Player)
-						Unarmed.disarmProcCheck(attacker, (Player) target);	//Disarm
+				if (!(event instanceof FakeEntityDamageByEntityEvent) && PPa.getSerratedStrikesMode())
+					Swords.applySerratedStrikes(attacker, event, pluginx);
 					
-					if(target instanceof Player)
-						PvPExperienceGain(attacker, PPa, (Player) target, eEvent.getDamage(), SkillType.UNARMED);
-					else if(!pluginx.misc.mobSpawnerList.contains(target.getEntityId()))
-						PvEExperienceGain(attacker, PPa, target, eEvent.getDamage(), SkillType.UNARMED);
-				}
+				if(target instanceof Player)
+					PvPExperienceGain(attacker, PPa, (Player) target, damage, SkillType.SWORDS);
+				else if(!pluginx.misc.mobSpawnerList.contains(target.getEntityId()))
+					PvEExperienceGain(attacker, PPa, target, damage, SkillType.SWORDS); 
+			}
+			else if(m.isAxes(itemInHand) && mcPermissions.getInstance().axes(attacker))
+			{
+				if(Users.getProfile(attacker).getSkillLevel(SkillType.AXES) >= 500)
+					event.setDamage(damage + 4);
 				
-				//Player use bone on wolf.
-				else if(target instanceof Wolf)
-				{
-					Wolf wolf = (Wolf) target;
+				Axes.axeCriticalCheck(attacker, event, pluginx); //Critical hit
 				
-					if(itemInHand.getTypeId() == 352 && mcPermissions.getInstance().taming(attacker))
-					{
-						event.setCancelled(true);
-						if(wolf.isTamed())
-							attacker.sendMessage(mcLocale.getString("Combat.BeastLore")+" "+
-									mcLocale.getString("Combat.BeastLoreOwner", new Object[] {Taming.getOwnerName(wolf)})+" "+
-									mcLocale.getString("Combat.BeastLoreHealthWolfTamed", new Object[] {wolf.getHealth()}));
-						else
-							attacker.sendMessage(mcLocale.getString("Combat.BeastLore")+" "+
-									mcLocale.getString("Combat.BeastLoreHealthWolf", new Object[] {wolf.getHealth()}));
-					}
-				}
+				if (!(event instanceof FakeEntityDamageByEntityEvent) && PPa.getSkullSplitterMode())
+					Axes.applyAoeDamage(attacker, event, pluginx);
+				
+				if(target instanceof Player)
+					PvPExperienceGain(attacker, PPa, (Player) target, event.getDamage(), SkillType.AXES);
+				else if(!pluginx.misc.mobSpawnerList.contains(target.getEntityId()))
+					PvEExperienceGain(attacker, PPa, target, event.getDamage(), SkillType.AXES);
 			}
-			
-			/*
-			 * TAMING (WOLVES VERSUS ENTITIES)
-			 */
-			else if(damager instanceof Wolf)
+			else if(itemInHand.getTypeId() == 0 && mcPermissions.getInstance().unarmed(attacker)) //Unarmed
 			{
-				Wolf wolf = (Wolf) damager;
+				Unarmed.unarmedBonus(attacker, event);
+				if(PPa.getBerserkMode())
+					event.setDamage(event.getDamage() + (event.getDamage() / 2));
+				if(target instanceof Player)
+					Unarmed.disarmProcCheck(attacker, (Player) target);	//Disarm
 				
-				if (wolf.isTamed() && Taming.ownerOnline(wolf, pluginx))
-				{
-					Player master = Taming.getOwner(wolf, pluginx);
-					if (master == null) //Can it really happen?
-						return;
-					
-					PlayerProfile PPo = Users.getProfile(master);
-					if(mcPermissions.getInstance().taming(master))
-					{
-						//Fast Food Service
-						Taming.fastFoodService(PPo, wolf, event);
-						
-						//Sharpened Claws
-						Taming.sharpenedClaws(PPo, event);
-						
-						//Gore
-						Taming.gore(PPo, event, master, pluginx);
-						
-						//Reward XP
-						Taming.rewardXp(event, pluginx, master);
-					}
-				}
+				if(target instanceof Player)
+					PvPExperienceGain(attacker, PPa, (Player) target, event.getDamage(), SkillType.UNARMED);
+				else if(!pluginx.misc.mobSpawnerList.contains(target.getEntityId()))
+					PvEExperienceGain(attacker, PPa, target, event.getDamage(), SkillType.UNARMED);
 			}
 			
-			//Another offensive check for Archery
-			else if(damager instanceof Arrow)
-				archeryCheck((EntityDamageByEntityEvent)event, pluginx);
-			
-			/*
-			 * DEFENSIVE CHECKS
-			 */
-			if(target instanceof Player)
+			//Player use bone on wolf.
+			else if(target instanceof Wolf)
 			{
-				Swords.counterAttackChecks(eEvent);
-				Acrobatics.dodgeChecks(eEvent);
+				Wolf wolf = (Wolf) target;
+			
+				if(itemInHand.getTypeId() == 352 && mcPermissions.getInstance().taming(attacker))
+				{
+					event.setCancelled(true);
+					if(wolf.isTamed())
+						attacker.sendMessage(mcLocale.getString("Combat.BeastLore")+" "+
+							mcLocale.getString("Combat.BeastLoreOwner", new Object[] {Taming.getOwnerName(wolf)})+" "+
+							mcLocale.getString("Combat.BeastLoreHealthWolfTamed", new Object[] {wolf.getHealth()}));
+					else
+						attacker.sendMessage(mcLocale.getString("Combat.BeastLore")+" "+
+							mcLocale.getString("Combat.BeastLoreHealthWolf", new Object[] {wolf.getHealth()}));
+				}
 			}
+		}
 			
-			/*
-			 * DEFENSIVE CHECKS FOR WOLVES
-			 */
-			else if(target instanceof Wolf)
+		/*
+		 * TAMING (WOLVES VERSUS ENTITIES)
+		 */
+		else if(damager instanceof Wolf)
+		{
+			Wolf wolf = (Wolf) damager;
+			
+			if (wolf.isTamed() && Taming.ownerOnline(wolf, pluginx))
 			{
-				Wolf wolf = (Wolf) target;
-				if(wolf.isTamed() && Taming.ownerOnline(wolf, pluginx))
-					Taming.preventDamage(eEvent, pluginx);
+				Player master = Taming.getOwner(wolf, pluginx);
+				if (master == null) //Can it really happen?
+					return;
+				
+				PlayerProfile PPo = Users.getProfile(master);
+				if(mcPermissions.getInstance().taming(master))
+				{
+					//Fast Food Service
+					Taming.fastFoodService(PPo, wolf, event);
+					
+					//Sharpened Claws
+					Taming.sharpenedClaws(PPo, event);
+					
+					//Gore
+					Taming.gore(PPo, event, master, pluginx);
+					
+					//Reward XP
+					Taming.rewardXp(event, pluginx, master);
+				}
 			}
 		}
+		
+		//Another offensive check for Archery
+		else if(damager instanceof Arrow)
+			archeryCheck((EntityDamageByEntityEvent)event, pluginx);
+		
+		/*
+		 * DEFENSIVE CHECKS
+		 */
+		if(target instanceof Player)
+		{
+			Swords.counterAttackChecks(event);
+			Acrobatics.dodgeChecks(event);
+		}
+	
+		/*			 
+		 * DEFENSIVE CHECKS FOR WOLVES
+		 */
+		else if(target instanceof Wolf)
+		{
+			Wolf wolf = (Wolf) target;
+			if(wolf.isTamed() && Taming.ownerOnline(wolf, pluginx))
+				Taming.preventDamage(event, pluginx);
+		}
 	}
 	
 	public static void combatAbilityChecks(Player attacker, PlayerProfile PPa, Plugin pluginx)

+ 1 - 1
src/main/java/com/gmail/nossr50/listeners/mcEntityListener.java

@@ -125,7 +125,7 @@ public class mcEntityListener implements Listener
 			        		if(Party.getInstance().inSameParty(defender, attacker))
 			        			event.setCancelled(true);
 			    		}
-			    		Combat.combatChecks(event, plugin);	
+			    		Combat.combatChecks(eventb, plugin);	
 			        }
 			    	/*
 			    	 * Check to see if the defender took damage so we can apply recently hurt