Browse Source

mcMMO 1.0.05

nossr50 14 years ago
parent
commit
139f50c5d1

+ 7 - 0
mcMMO/Changelog.txt

@@ -1,5 +1,12 @@
 Changelog:
 Changelog:
 #Versions without changelogs probably had very small misc fixes, like tweaks to the source code
 #Versions without changelogs probably had very small misc fixes, like tweaks to the source code
+
+Version 1.0.05
+PVP interactions now check for permissions before handing out any experience
+Many skill abilities now check for permissions correctly
+All interactions with Taming now check for permissions
+mcMMO now checks for its pvp flag being true before handling pvp interactions
+
 Version 1.0.04
 Version 1.0.04
 Fixed bug where players would be informed incorrectly when their cooldowns refreshed
 Fixed bug where players would be informed incorrectly when their cooldowns refreshed
 Fixed exploit where players could reconnect to reset their cooldowns
 Fixed exploit where players could reconnect to reset their cooldowns

+ 44 - 40
mcMMO/com/gmail/nossr50/Combat.java

@@ -60,10 +60,11 @@ public class Combat {
 	    	combatAbilityChecks(attacker, PPa, pluginx);
 	    	combatAbilityChecks(attacker, PPa, pluginx);
 	    	
 	    	
 	    	//Check for offensive procs
 	    	//Check for offensive procs
-	    	Axes.axeCriticalCheck(attacker, eventb, pluginx); //Axe Criticals
+	    	if(mcPermissions.getInstance().axes(attacker))
+	    		Axes.axeCriticalCheck(attacker, eventb, pluginx); //Axe Criticals
 	    	if(!Config.getInstance().isBleedTracked(event.getEntity())) //Swords Bleed
 	    	if(!Config.getInstance().isBleedTracked(event.getEntity())) //Swords Bleed
     			Swords.bleedCheck(attacker, event.getEntity(), pluginx);
     			Swords.bleedCheck(attacker, event.getEntity(), pluginx);
-	    	if(event.getEntity() instanceof Player){
+	    	if(event.getEntity() instanceof Player && mcPermissions.getInstance().unarmed(attacker)){
 	    		Player defender = (Player)event.getEntity();
 	    		Player defender = (Player)event.getEntity();
 	    		Unarmed.disarmProcCheck(attacker, defender);
 	    		Unarmed.disarmProcCheck(attacker, defender);
 	    	}
 	    	}
@@ -88,11 +89,11 @@ public class Combat {
 	    		{
 	    		{
 	    			if(System.currentTimeMillis() >= PPd.getRespawnATS() + 5000 && defender.getHealth() >= 1)
 	    			if(System.currentTimeMillis() >= PPd.getRespawnATS() + 5000 && defender.getHealth() >= 1)
 	    			{
 	    			{
-		    			if(m.isAxes(attacker.getItemInHand()))
+		    			if(m.isAxes(attacker.getItemInHand()) && mcPermissions.getInstance().axes(attacker))
 		    				PPa.addAxesXP((event.getDamage() * 3) * LoadProperties.pvpxprewardmodifier);
 		    				PPa.addAxesXP((event.getDamage() * 3) * LoadProperties.pvpxprewardmodifier);
-		    			if(m.isSwords(attacker.getItemInHand()))
+		    			if(m.isSwords(attacker.getItemInHand()) && mcPermissions.getInstance().swords(attacker))
 		    				PPa.addSwordsXP((event.getDamage() * 3) * LoadProperties.pvpxprewardmodifier);
 		    				PPa.addSwordsXP((event.getDamage() * 3) * LoadProperties.pvpxprewardmodifier);
-		    			if(attacker.getItemInHand().getTypeId() == 0)
+		    			if(attacker.getItemInHand().getTypeId() == 0 && mcPermissions.getInstance().unarmed(attacker))
 		    				PPa.addUnarmedXP((event.getDamage() * 3) * LoadProperties.pvpxprewardmodifier);
 		    				PPa.addUnarmedXP((event.getDamage() * 3) * LoadProperties.pvpxprewardmodifier);
 	    			}
 	    			}
 	    		}
 	    		}
@@ -148,28 +149,29 @@ public class Combat {
 			{
 			{
 				Player master = Taming.getOwner(eventb.getDamager(), pluginx);
 				Player master = Taming.getOwner(eventb.getDamager(), pluginx);
 				PlayerProfile PPo = Users.getProfile(master);
 				PlayerProfile PPo = Users.getProfile(master);
-				
-				//Sharpened Claws
-				if(PPo.getTamingInt() >= 750)
-				{
-					event.setDamage(event.getDamage() + 2);
-				}
-				
-				//Gore
-				if(Math.random() * 1000 <= PPo.getTamingInt())
-				{
-					event.setDamage(event.getDamage() * 2);
-					
-					if(event.getEntity() instanceof Player)
+				if(mcPermissions.getInstance().taming(master)){
+					//Sharpened Claws
+					if(PPo.getTamingInt() >= 750)
 					{
 					{
-						Player target = (Player)event.getEntity();
-						target.sendMessage(ChatColor.RED+"**STRUCK BY GORE**");
-						Users.getProfile(target).setBleedTicks(2);
+						event.setDamage(event.getDamage() + 2);
 					}
 					}
-					else
-						Config.getInstance().addToBleedQue(event.getEntity());
 					
 					
-					master.sendMessage(ChatColor.GREEN+"**GORE**");
+					//Gore
+					if(Math.random() * 1000 <= PPo.getTamingInt())
+					{
+						event.setDamage(event.getDamage() * 2);
+						
+						if(event.getEntity() instanceof Player)
+						{
+							Player target = (Player)event.getEntity();
+							target.sendMessage(ChatColor.RED+"**STRUCK BY GORE**");
+							Users.getProfile(target).setBleedTicks(2);
+						}
+						else
+							Config.getInstance().addToBleedQue(event.getEntity());
+						
+						master.sendMessage(ChatColor.GREEN+"**GORE**");
+					}
 				}
 				}
 			}
 			}
 		}
 		}
@@ -195,24 +197,26 @@ public class Combat {
 			{
 			{
 				Player master = Taming.getOwner(event.getEntity(), pluginx);
 				Player master = Taming.getOwner(event.getEntity(), pluginx);
 				PlayerProfile PPo = Users.getProfile(master);
 				PlayerProfile PPo = Users.getProfile(master);
-				
-				/*
-				 * TEMPORARY FIX AS WOLVES AREN'T TRIGGERING DAMAGE EVENTS WHEN ATTACKING NON PLAYERS AT THE TIME OF WRITING
-				 */
-				if(!event.isCancelled() && event.getCause() != DamageCause.LIGHTNING){
-					PPo.addTamingXP(event.getDamage() * 3);
-					Skills.XpCheck(master);
-				}
-				
-				//Shock-Proof
-				if((event.getCause() == DamageCause.ENTITY_EXPLOSION || event.getCause() == DamageCause.BLOCK_EXPLOSION) && PPo.getTamingInt() >= 500)
+				if(mcPermissions.getInstance().taming(master))
 				{
 				{
-					event.setDamage(2);
+					/*
+					 * TEMPORARY FIX AS WOLVES AREN'T TRIGGERING DAMAGE EVENTS WHEN ATTACKING NON PLAYERS AT THE TIME OF WRITING
+					 */
+					if(!event.isCancelled() && event.getCause() != DamageCause.LIGHTNING){
+						PPo.addTamingXP(event.getDamage() * 3);
+						Skills.XpCheck(master);
+					}
+					
+					//Shock-Proof
+					if((event.getCause() == DamageCause.ENTITY_EXPLOSION || event.getCause() == DamageCause.BLOCK_EXPLOSION) && PPo.getTamingInt() >= 500)
+					{
+						event.setDamage(2);
+					}
+					
+					//Thick Fur
+					if(PPo.getTamingInt() >= 250)
+						event.setDamage(event.getDamage() / 2);
 				}
 				}
-				
-				//Thick Fur
-				if(PPo.getTamingInt() >= 250)
-					event.setDamage(event.getDamage() / 2);
 			}
 			}
 		}
 		}
 	}
 	}

+ 10 - 1
mcMMO/com/gmail/nossr50/mcEntityListener.java

@@ -49,7 +49,16 @@ public class mcEntityListener extends EntityListener {
     }
     }
     public void onEntityDamage(EntityDamageEvent event) {
     public void onEntityDamage(EntityDamageEvent event) {
     	if(event.isCancelled())
     	if(event.isCancelled())
-    		return;		
+    		return;
+    	/*
+    	 * CHECK FOR mcMMO PVP FLAG
+    	 */
+    	if(event instanceof EntityDamageByEntityEvent)
+    	{
+    		EntityDamageByEntityEvent eventb = (EntityDamageByEntityEvent)event;
+    		if(eventb.getEntity() instanceof Player && eventb.getDamager() instanceof Player && !LoadProperties.pvp)
+    			return;
+    	}
     	/*
     	/*
     	 * CHECK FOR INVULNERABILITY
     	 * CHECK FOR INVULNERABILITY
     	 */
     	 */

+ 1 - 1
mcMMO/plugin.yml

@@ -1,3 +1,3 @@
 name: mcMMO
 name: mcMMO
 main: com.gmail.nossr50.mcMMO
 main: com.gmail.nossr50.mcMMO
-version: 1.0.04
+version: 1.0.05