mirror of
				https://github.com/mcMMO-Dev/mcMMO.git
				synced 2025-11-04 02:53:43 +01:00 
			
		
		
		
	All changes up to 0.5.15
This commit is contained in:
		@@ -1,5 +1,21 @@
 | 
			
		||||
Changelog:
 | 
			
		||||
#Versions without changelogs probably had very small misc fixes, like tweaks to the source code#
 | 
			
		||||
Version 0.5.15
 | 
			
		||||
	Fixed stone swords not being recognized as swords
 | 
			
		||||
	Fixed /a not working if you were an op but did not have permissions
 | 
			
		||||
	
 | 
			
		||||
Version 0.5.14
 | 
			
		||||
	Added permissions for skills
 | 
			
		||||
 | 
			
		||||
Version 0.5.13
 | 
			
		||||
 | 
			
		||||
	Removed skillgain from succesful parries
 | 
			
		||||
	Repair now refreshed the inventory
 | 
			
		||||
	
 | 
			
		||||
Version 0.5.12
 | 
			
		||||
 | 
			
		||||
	Fixed being able to hurt party members with the bow and arrow
 | 
			
		||||
	
 | 
			
		||||
Version 0.5.11
 | 
			
		||||
 | 
			
		||||
	Added /mmoedit command
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,12 @@ public class mcBlockListener extends BlockListener {
 | 
			
		||||
    }
 | 
			
		||||
    public void onBlockPlace(BlockPlaceEvent event) {
 | 
			
		||||
    	Block block = event.getBlock();
 | 
			
		||||
    	int x = block.getX();
 | 
			
		||||
    	int y = block.getY();
 | 
			
		||||
    	int z = block.getZ();
 | 
			
		||||
    	String xyz = x+","+y+","+z;
 | 
			
		||||
    	mcConfig.getInstance().addBlockWatch(block);
 | 
			
		||||
    	mcConfig.getInstance().addCoordsWatch(xyz);
 | 
			
		||||
    	if(block.getTypeId() == 42)
 | 
			
		||||
    		event.getPlayer().sendMessage(ChatColor.DARK_RED+"You have placed an anvil, anvils can repair tools and armor.");
 | 
			
		||||
    }
 | 
			
		||||
@@ -29,24 +34,45 @@ public class mcBlockListener extends BlockListener {
 | 
			
		||||
    		//STARTED(0), DIGGING(1), BROKEN(3), STOPPED(2);
 | 
			
		||||
    		Player player = event.getPlayer();
 | 
			
		||||
    		Block block = event.getBlock();
 | 
			
		||||
    		int x = block.getX();
 | 
			
		||||
        	int y = block.getY();
 | 
			
		||||
        	int z = block.getZ();
 | 
			
		||||
        	String xyz = x+","+y+","+z;
 | 
			
		||||
    		int type = block.getTypeId();
 | 
			
		||||
    		Location loc = block.getLocation();
 | 
			
		||||
    		int dmg = event.getDamageLevel().getLevel();
 | 
			
		||||
    		//Smooth Stone
 | 
			
		||||
    		if(dmg == 3 && !mcConfig.getInstance().isBlockWatched(block)){
 | 
			
		||||
    		/*
 | 
			
		||||
    		 * MINING
 | 
			
		||||
    		 */
 | 
			
		||||
    		if(dmg == 3 && !mcConfig.getInstance().isBlockWatched(block) && !mcConfig.getInstance().isCoordsWatched(xyz)){
 | 
			
		||||
    		if(mcPermissions.getInstance().mining(player))
 | 
			
		||||
    		mcm.getInstance().miningBlockCheck(player, block);
 | 
			
		||||
    		//Give skill for woodcutting
 | 
			
		||||
    		if(block.getTypeId() == 17)
 | 
			
		||||
    		/*
 | 
			
		||||
    		 * WOOD CUTTING
 | 
			
		||||
    		 */
 | 
			
		||||
    		if(block.getTypeId() == 17 
 | 
			
		||||
    				&& mcPermissions.getInstance().woodcutting(player)){
 | 
			
		||||
    		mcUsers.getProfile(player).addwgather(1);    		
 | 
			
		||||
    		//Skill up players based on gather/wgather stuff
 | 
			
		||||
    		mcm.getInstance().simulateSkillUp(player);
 | 
			
		||||
    		if(block.getTypeId() == 17){
 | 
			
		||||
    			mcm.getInstance().woodCuttingProcCheck(player, block, loc);
 | 
			
		||||
    		}
 | 
			
		||||
    		mcm.getInstance().simulateSkillUp(player);
 | 
			
		||||
    		/*
 | 
			
		||||
    		 * EXCAVATION
 | 
			
		||||
    		 */
 | 
			
		||||
    		if(mcPermissions.getInstance().excavation(player))
 | 
			
		||||
    		mcm.getInstance().excavationProcCheck(block, player);
 | 
			
		||||
    	}
 | 
			
		||||
    		if(mcConfig.getInstance().isBlockWatched(block) && !(type == 39 || type == 40 || type == 37 || type == 38));
 | 
			
		||||
    		/*
 | 
			
		||||
    		 * HERBALISM
 | 
			
		||||
    		 */
 | 
			
		||||
    		if(!(type == 39 || type == 40 || type == 37 || type == 38) 
 | 
			
		||||
    				&& mcPermissions.getInstance().herbalism(player));
 | 
			
		||||
    		mcm.getInstance().herbalismProcCheck(block, player); //You place the blocks so we wont check if they are being watched
 | 
			
		||||
    		/*
 | 
			
		||||
    		 * EXPLOIT COUNTERMEASURES
 | 
			
		||||
    		 */
 | 
			
		||||
    		mcConfig.getInstance().addCoordsWatch(xyz);
 | 
			
		||||
    		mcConfig.getInstance().addBlockWatch(block);
 | 
			
		||||
    		}
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
 
 | 
			
		||||
@@ -13,11 +13,15 @@ public class mcConfig {
 | 
			
		||||
    String location = "mcmmo.properties";
 | 
			
		||||
    protected static final Logger log = Logger.getLogger("Minecraft");
 | 
			
		||||
    static ArrayList<String> adminChatList = new ArrayList<String>();
 | 
			
		||||
    static ArrayList<String> coordsWatchList = new ArrayList<String>();
 | 
			
		||||
    static ArrayList<Block> blockWatchList = new ArrayList<Block>();
 | 
			
		||||
    static ArrayList<String> partyChatList = new ArrayList<String>();
 | 
			
		||||
    public boolean isBlockWatched(Block block) {return blockWatchList.contains(block);}
 | 
			
		||||
    public boolean isCoordsWatched(String xyz) {return coordsWatchList.contains(xyz);}
 | 
			
		||||
    public void removeBlockWatch(Block block) {blockWatchList.remove(blockWatchList.indexOf(block));}
 | 
			
		||||
    public void removeCoordsWatch(String xyz) {coordsWatchList.remove(coordsWatchList.indexOf(xyz));}
 | 
			
		||||
    public void addBlockWatch(Block block) {blockWatchList.add(block);}
 | 
			
		||||
    public void addCoordsWatch(String xyz) {coordsWatchList.add(xyz);}
 | 
			
		||||
	public boolean isAdminToggled(String playerName) {return adminChatList.contains(playerName);}
 | 
			
		||||
    public boolean isPartyToggled(String playerName) {return partyChatList.contains(playerName);}
 | 
			
		||||
    public void removePartyToggled(String playerName) {partyChatList.remove(partyChatList.indexOf(playerName));}
 | 
			
		||||
 
 | 
			
		||||
@@ -110,6 +110,7 @@ public class mcEntityListener extends EntityListener {
 | 
			
		||||
    	 */
 | 
			
		||||
    	if(y instanceof Player){
 | 
			
		||||
    		Player attacker = (Player)y;
 | 
			
		||||
    		if(mcPermissions.getInstance().archery(attacker)){
 | 
			
		||||
    		/*
 | 
			
		||||
    		 * Defender is Monster
 | 
			
		||||
    		 */
 | 
			
		||||
@@ -177,6 +178,12 @@ public class mcEntityListener extends EntityListener {
 | 
			
		||||
    			/*
 | 
			
		||||
    			 * Stuff for the daze proc
 | 
			
		||||
    			 */
 | 
			
		||||
    	    		if(mcUsers.getProfile(attacker).inParty() && mcUsers.getProfile(defender).inParty()){
 | 
			
		||||
    					if(mcm.getInstance().inSameParty(defender, attacker)){
 | 
			
		||||
    						event.setCancelled(true);
 | 
			
		||||
    						return;
 | 
			
		||||
    					}
 | 
			
		||||
    	    		}
 | 
			
		||||
    				Location loc = defender.getLocation();
 | 
			
		||||
    				if(Math.random() * 10 > 5){
 | 
			
		||||
					loc.setPitch(90);
 | 
			
		||||
@@ -214,9 +221,9 @@ public class mcEntityListener extends EntityListener {
 | 
			
		||||
    					if(mcUsers.getProfile(defender).isDead())
 | 
			
		||||
            				return;
 | 
			
		||||
    					if(defender.getHealth() <= 0){
 | 
			
		||||
    						mcUsers.getProfile(defender).setDead(true);
 | 
			
		||||
            				for(Player derp : plugin.getServer().getOnlinePlayers()){
 | 
			
		||||
            					derp.sendMessage(ChatColor.GRAY+attacker.getName() + " has " +ChatColor.DARK_RED+"slain "+ChatColor.GRAY+defender.getName() + " with an arrow.");
 | 
			
		||||
            					mcUsers.getProfile(defender).setDead(true);
 | 
			
		||||
            				}
 | 
			
		||||
            			}
 | 
			
		||||
    				}
 | 
			
		||||
@@ -231,7 +238,7 @@ public class mcEntityListener extends EntityListener {
 | 
			
		||||
    				}
 | 
			
		||||
    			}
 | 
			
		||||
    		}
 | 
			
		||||
    	
 | 
			
		||||
    	}
 | 
			
		||||
    	}
 | 
			
		||||
    public void onEntityDamage(EntityDamageEvent event) {
 | 
			
		||||
    	Entity x = event.getEntity();
 | 
			
		||||
@@ -243,42 +250,52 @@ public class mcEntityListener extends EntityListener {
 | 
			
		||||
    	int y = loc.getBlockY();
 | 
			
		||||
    	int z = loc.getBlockZ();
 | 
			
		||||
    	if(type == DamageCause.FALL){
 | 
			
		||||
    		if(mcUsers.getProfile(player).getAcrobaticsInt() >= 50 && mcUsers.getProfile(player).getAcrobaticsInt() < 250 ){
 | 
			
		||||
    		if(mcUsers.getProfile(player).getAcrobaticsInt() >= 50 
 | 
			
		||||
    				&& mcUsers.getProfile(player).getAcrobaticsInt() < 250
 | 
			
		||||
    				&& mcPermissions.getInstance().acrobatics(player)){
 | 
			
		||||
    			if(Math.random() * 10 > 8){
 | 
			
		||||
    				event.setCancelled(true);
 | 
			
		||||
    				player.sendMessage("**ROLLED**");
 | 
			
		||||
    				return;
 | 
			
		||||
    			}
 | 
			
		||||
    		}
 | 
			
		||||
    		if(mcUsers.getProfile(player).getAcrobaticsInt() >= 250 && mcUsers.getProfile(player).getAcrobaticsInt() < 450 ){
 | 
			
		||||
    		if(mcUsers.getProfile(player).getAcrobaticsInt() >= 250 
 | 
			
		||||
    				&& mcUsers.getProfile(player).getAcrobaticsInt() < 450 
 | 
			
		||||
    				&& mcPermissions.getInstance().acrobatics(player)){
 | 
			
		||||
    			if(Math.random() * 10 > 6){
 | 
			
		||||
    				event.setCancelled(true);
 | 
			
		||||
    				player.sendMessage("**ROLLED**");
 | 
			
		||||
    				return;
 | 
			
		||||
    			}
 | 
			
		||||
    		}
 | 
			
		||||
    		if(mcUsers.getProfile(player).getAcrobaticsInt() >= 450 && mcUsers.getProfile(player).getAcrobaticsInt() < 750 ){
 | 
			
		||||
    		if(mcUsers.getProfile(player).getAcrobaticsInt() >= 450 
 | 
			
		||||
    				&& mcUsers.getProfile(player).getAcrobaticsInt() < 750 
 | 
			
		||||
    				&& mcPermissions.getInstance().acrobatics(player)){
 | 
			
		||||
    			if(Math.random() * 10 > 4){
 | 
			
		||||
    				event.setCancelled(true);
 | 
			
		||||
    				player.sendMessage("**ROLLED**");
 | 
			
		||||
    				return;
 | 
			
		||||
    			}
 | 
			
		||||
    		}
 | 
			
		||||
    		if(mcUsers.getProfile(player).getAcrobaticsInt() >= 750 && mcUsers.getProfile(player).getAcrobaticsInt() < 950 ){
 | 
			
		||||
    		if(mcUsers.getProfile(player).getAcrobaticsInt() >= 750 
 | 
			
		||||
    				&& mcUsers.getProfile(player).getAcrobaticsInt() < 950 
 | 
			
		||||
    				&& mcPermissions.getInstance().acrobatics(player)){
 | 
			
		||||
    			if(Math.random() * 10 > 2){
 | 
			
		||||
    				event.setCancelled(true);
 | 
			
		||||
    				player.sendMessage("**BARREL ROLLED**");
 | 
			
		||||
    				return;
 | 
			
		||||
    			}
 | 
			
		||||
    		}
 | 
			
		||||
    		if(mcUsers.getProfile(player).getAcrobaticsInt() >= 950){
 | 
			
		||||
    		if(mcUsers.getProfile(player).getAcrobaticsInt() >= 950
 | 
			
		||||
    				&& mcPermissions.getInstance().acrobatics(player)){
 | 
			
		||||
    				event.setCancelled(true);
 | 
			
		||||
    				player.sendMessage("**ROLLED... LIKE A BOSS**");
 | 
			
		||||
    				return;
 | 
			
		||||
    			}
 | 
			
		||||
    		if(player.getHealth() - event.getDamage() <= 0)
 | 
			
		||||
    			return;
 | 
			
		||||
    		if(!mcConfig.getInstance().isBlockWatched(loc.getWorld().getBlockAt(xx, y, z))){
 | 
			
		||||
    		if(!mcConfig.getInstance().isBlockWatched(loc.getWorld().getBlockAt(xx, y, z)) 
 | 
			
		||||
    				&& mcPermissions.getInstance().acrobatics(player)){
 | 
			
		||||
    		if(event.getDamage() >= 2 && event.getDamage() < 6){
 | 
			
		||||
    		mcUsers.getProfile(player).skillUpAcrobatics(1);
 | 
			
		||||
    		player.sendMessage(ChatColor.YELLOW+"Acrobatics skill increased by 1. Total ("+mcUsers.getProfile(player).getAcrobatics()+")");
 | 
			
		||||
 
 | 
			
		||||
@@ -98,4 +98,67 @@ public class mcPermissions {
 | 
			
		||||
    	}
 | 
			
		||||
    	return instance;
 | 
			
		||||
    	}
 | 
			
		||||
    public boolean mining(Player player) {
 | 
			
		||||
        if (permissionsEnabled) {
 | 
			
		||||
            return permission(player, "mcmmo.skills.mining");
 | 
			
		||||
        } else {
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    public boolean woodcutting(Player player) {
 | 
			
		||||
        if (permissionsEnabled) {
 | 
			
		||||
            return permission(player, "mcmmo.skills.woodcutting");
 | 
			
		||||
        } else {
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    public boolean repair(Player player) {
 | 
			
		||||
        if (permissionsEnabled) {
 | 
			
		||||
            return permission(player, "mcmmo.skills.repair");
 | 
			
		||||
        } else {
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    public boolean unarmed(Player player) {
 | 
			
		||||
        if (permissionsEnabled) {
 | 
			
		||||
            return permission(player, "mcmmo.skills.unarmed");
 | 
			
		||||
        } else {
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    public boolean archery(Player player) {
 | 
			
		||||
        if (permissionsEnabled) {
 | 
			
		||||
            return permission(player, "mcmmo.skills.archery");
 | 
			
		||||
        } else {
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    public boolean herbalism(Player player) {
 | 
			
		||||
        if (permissionsEnabled) {
 | 
			
		||||
            return permission(player, "mcmmo.skills.herbalism");
 | 
			
		||||
        } else {
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    public boolean excavation(Player player) {
 | 
			
		||||
        if (permissionsEnabled) {
 | 
			
		||||
            return permission(player, "mcmmo.skills.excavation");
 | 
			
		||||
        } else {
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    public boolean swords(Player player) {
 | 
			
		||||
        if (permissionsEnabled) {
 | 
			
		||||
            return permission(player, "mcmmo.skills.swords");
 | 
			
		||||
        } else {
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    public boolean acrobatics(Player player) {
 | 
			
		||||
        if (permissionsEnabled) {
 | 
			
		||||
            return permission(player, "mcmmo.skills.acrobatics");
 | 
			
		||||
        } else {
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -90,12 +90,16 @@ public class mcPlayerListener extends PlayerListener {
 | 
			
		||||
    	Block block = event.getBlockClicked();
 | 
			
		||||
    	Player player = event.getPlayer();
 | 
			
		||||
    	ItemStack is = player.getItemInHand();
 | 
			
		||||
    	if(mcPermissions.getInstance().herbalism(player)){
 | 
			
		||||
    	//BREADCHECK, CHECKS HERBALISM SKILL FOR BREAD HP MODIFIERS
 | 
			
		||||
    	mcm.getInstance().breadCheck(player, is);
 | 
			
		||||
    	//STEW, CHECKS HERBALISM SKILL FOR BREAD HP MODIFIERS
 | 
			
		||||
    	mcm.getInstance().stewCheck(player, is);
 | 
			
		||||
    	}
 | 
			
		||||
    	if(mcPermissions.getInstance().repair(player)){
 | 
			
		||||
    	//REPAIRCHECK, CHECKS TO MAKE SURE PLAYER IS RIGHT CLICKING AN ANVIL, PLAYER HAS ENOUGH RESOURCES, AND THE ITEM IS NOT AT FULL DURABILITY.
 | 
			
		||||
    	mcm.getInstance().repairCheck(player, is, block);
 | 
			
		||||
    	}
 | 
			
		||||
    }
 | 
			
		||||
  
 | 
			
		||||
    public void onPlayerCommand(PlayerChatEvent event) {
 | 
			
		||||
@@ -277,7 +281,7 @@ public class mcPlayerListener extends PlayerListener {
 | 
			
		||||
    		}
 | 
			
		||||
    	}
 | 
			
		||||
    	if(split[0].equalsIgnoreCase("/a") && (player.isOp() || mcPermissions.getInstance().adminChat(player))){
 | 
			
		||||
    		if(!mcPermissions.getInstance().adminChat(player)){
 | 
			
		||||
    		if(!mcPermissions.getInstance().adminChat(player) && !player.isOp()){
 | 
			
		||||
    			player.sendMessage(ChatColor.YELLOW+"[mcMMO]"+ChatColor.DARK_RED +" Insufficient permissions.");
 | 
			
		||||
    			return;
 | 
			
		||||
    		}
 | 
			
		||||
@@ -327,7 +331,8 @@ public class mcPlayerListener extends PlayerListener {
 | 
			
		||||
    		}
 | 
			
		||||
    		return;
 | 
			
		||||
    	}
 | 
			
		||||
    	if((player.isOp() || mcPermissions.getInstance().adminChat(player)) && mcConfig.getInstance().isAdminToggled(player.getName())){
 | 
			
		||||
    	if((player.isOp() || mcPermissions.getInstance().adminChat(player)) 
 | 
			
		||||
    			&& mcConfig.getInstance().isAdminToggled(player.getName())){
 | 
			
		||||
    		log.log(Level.INFO, "[A]"+"<"+player.getName()+"> "+event.getMessage());
 | 
			
		||||
    		event.setCancelled(true);
 | 
			
		||||
    		for(Player herp : plugin.getServer().getOnlinePlayers()){
 | 
			
		||||
 
 | 
			
		||||
@@ -421,7 +421,7 @@ public class mcm {
 | 
			
		||||
			player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.GRAY+ "Iron");
 | 
			
		||||
		}
 | 
			
		||||
    public boolean isSwords(ItemStack is){
 | 
			
		||||
    	if(is.getTypeId() == 268 || is.getTypeId() == 267 || is.getTypeId() == 271 || is.getTypeId() == 283 || is.getTypeId() == 276){
 | 
			
		||||
    	if(is.getTypeId() == 268 || is.getTypeId() == 267 || is.getTypeId() == 272 || is.getTypeId() == 283 || is.getTypeId() == 276){
 | 
			
		||||
    		return true;
 | 
			
		||||
    	} else {
 | 
			
		||||
    		return false;
 | 
			
		||||
@@ -525,7 +525,7 @@ public class mcm {
 | 
			
		||||
    public void playerVersusSquidChecks(EntityDamageByEntityEvent event, Player attacker, Entity x, int type){
 | 
			
		||||
    	if(x instanceof Squid){
 | 
			
		||||
			Squid defender = (Squid)event.getEntity();
 | 
			
		||||
			if(isSwords(attacker.getItemInHand()) && defender.getHealth() > 0){
 | 
			
		||||
			if(isSwords(attacker.getItemInHand()) && defender.getHealth() > 0 && mcPermissions.getInstance().swords(attacker)){
 | 
			
		||||
				if(Math.random() * 10 > 9){
 | 
			
		||||
					mcUsers.getProfile(attacker).skillUpSwords(1);
 | 
			
		||||
					attacker.sendMessage(ChatColor.YELLOW+"Swords skill increased by 1. Total ("+mcUsers.getProfile(attacker).getSwords()+")");
 | 
			
		||||
@@ -534,7 +534,7 @@ public class mcm {
 | 
			
		||||
			/*
 | 
			
		||||
			 * UNARMED VS SQUID
 | 
			
		||||
			 */
 | 
			
		||||
			if(type == 0){
 | 
			
		||||
			if(type == 0 && mcPermissions.getInstance().unarmed(attacker)){
 | 
			
		||||
    			if(defender.getHealth() <= 0)
 | 
			
		||||
    				return;
 | 
			
		||||
    			if(mcUsers.getProfile(attacker).getUnarmedInt() >= 50 && mcUsers.getProfile(attacker).getUnarmedInt() < 100){
 | 
			
		||||
@@ -568,7 +568,7 @@ public class mcm {
 | 
			
		||||
    }
 | 
			
		||||
    public void playerVersusAnimalsChecks(Entity x, Player attacker, EntityDamageByEntityEvent event, int type){
 | 
			
		||||
    	if(x instanceof Animals){
 | 
			
		||||
			if(type == 0){
 | 
			
		||||
			if(type == 0 && mcPermissions.getInstance().unarmed(attacker)){
 | 
			
		||||
			Animals defender = (Animals)event.getEntity();
 | 
			
		||||
			if(defender.getHealth() <= 0)
 | 
			
		||||
				return;
 | 
			
		||||
@@ -631,13 +631,15 @@ public class mcm {
 | 
			
		||||
    public void playerVersusMonsterChecks(EntityDamageByEntityEvent event, Player attacker, Entity x, int type){
 | 
			
		||||
    	if(x instanceof Monster){
 | 
			
		||||
			Monster defender = (Monster)event.getEntity();
 | 
			
		||||
			if(isSwords(attacker.getItemInHand()) && defender.getHealth() > 0){
 | 
			
		||||
			if(isSwords(attacker.getItemInHand()) 
 | 
			
		||||
					&& defender.getHealth() > 0 
 | 
			
		||||
					&& mcPermissions.getInstance().swords(attacker)){
 | 
			
		||||
				if(Math.random() * 10 > 9){
 | 
			
		||||
					mcUsers.getProfile(attacker).skillUpSwords(1);
 | 
			
		||||
					attacker.sendMessage(ChatColor.YELLOW+"Swords skill increased by 1. Total ("+mcUsers.getProfile(attacker).getSwords()+")");
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			if(type == 0){
 | 
			
		||||
			if(type == 0 && mcPermissions.getInstance().unarmed(attacker)){
 | 
			
		||||
			if(defender.getHealth() <= 0)
 | 
			
		||||
				return;
 | 
			
		||||
			if(mcUsers.getProfile(attacker).getUnarmedInt() >= 50 && mcUsers.getProfile(attacker).getUnarmedInt() < 100){
 | 
			
		||||
@@ -724,14 +726,14 @@ public class mcm {
 | 
			
		||||
    	}
 | 
			
		||||
    }
 | 
			
		||||
    public void parryCheck(Player defender, EntityDamageByEntityEvent event, Entity y){
 | 
			
		||||
    	if(isSwords(defender.getItemInHand())){
 | 
			
		||||
    	if(isSwords(defender.getItemInHand()) 
 | 
			
		||||
    			&& event.getDamage() > 0 
 | 
			
		||||
    			&& mcPermissions.getInstance().swords(defender)){
 | 
			
		||||
			if(mcUsers.getProfile(defender).getSwordsInt() >= 50 && mcUsers.getProfile(defender).getSwordsInt() < 250){
 | 
			
		||||
				if(Math.random() * 10 > 8){
 | 
			
		||||
				if(Math.random() * 100 > 95){
 | 
			
		||||
					event.setCancelled(true);
 | 
			
		||||
					defender.sendMessage(ChatColor.YELLOW+"*CLANG* SUCCESSFUL PARRY *CLANG*");
 | 
			
		||||
					defender.getItemInHand().setDurability((short) (defender.getItemInHand().getDurability() + 1));
 | 
			
		||||
					mcUsers.getProfile(defender).skillUpSwords(1);
 | 
			
		||||
					defender.sendMessage(ChatColor.YELLOW+"Swords skill increased by 1. Total ("+mcUsers.getProfile(defender).getSwords()+")");
 | 
			
		||||
					if(y instanceof Player){
 | 
			
		||||
						Player attacker = (Player)y;
 | 
			
		||||
						attacker.sendMessage(ChatColor.DARK_RED+"**TARGET HAS PARRIED THAT ATTACK**");
 | 
			
		||||
@@ -740,12 +742,10 @@ public class mcm {
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			if(mcUsers.getProfile(defender).getSwordsInt() >= 250 && mcUsers.getProfile(defender).getSwordsInt() < 450){
 | 
			
		||||
				if(Math.random() * 10 > 6){
 | 
			
		||||
				if(Math.random() * 100 > 90){
 | 
			
		||||
					event.setCancelled(true);
 | 
			
		||||
					defender.sendMessage(ChatColor.YELLOW+"*CLANG* SUCCESSFUL PARRY *CLANG*");
 | 
			
		||||
					defender.getItemInHand().setDurability((short) (defender.getItemInHand().getDurability() + 1));
 | 
			
		||||
					mcUsers.getProfile(defender).skillUpSwords(1);
 | 
			
		||||
					defender.sendMessage(ChatColor.YELLOW+"Swords skill increased by 1. Total ("+mcUsers.getProfile(defender).getSwords()+")");
 | 
			
		||||
					if(y instanceof Player){
 | 
			
		||||
						Player attacker = (Player)y;
 | 
			
		||||
						attacker.sendMessage(ChatColor.DARK_RED+"**TARGET HAS PARRIED THAT ATTACK**");
 | 
			
		||||
@@ -754,12 +754,10 @@ public class mcm {
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			if(mcUsers.getProfile(defender).getSwordsInt() >= 450 && mcUsers.getProfile(defender).getSwordsInt() < 775){
 | 
			
		||||
				if(Math.random() * 10 > 5){
 | 
			
		||||
				if(Math.random() * 100 > 85){
 | 
			
		||||
					event.setCancelled(true);
 | 
			
		||||
					defender.sendMessage(ChatColor.YELLOW+"*CLANG* SUCCESSFUL PARRY *CLANG*");
 | 
			
		||||
					defender.getItemInHand().setDurability((short) (defender.getItemInHand().getDurability() + 1));
 | 
			
		||||
					mcUsers.getProfile(defender).skillUpSwords(1);
 | 
			
		||||
					defender.sendMessage(ChatColor.YELLOW+"Swords skill increased by 1. Total ("+mcUsers.getProfile(defender).getSwords()+")");
 | 
			
		||||
					if(y instanceof Player){
 | 
			
		||||
						Player attacker = (Player)y;
 | 
			
		||||
						attacker.sendMessage(ChatColor.DARK_RED+"**TARGET HAS PARRIED THAT ATTACK**");
 | 
			
		||||
@@ -768,7 +766,7 @@ public class mcm {
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			if(mcUsers.getProfile(defender).getSwordsInt() >= 775){
 | 
			
		||||
				if(Math.random() * 10 > 4){
 | 
			
		||||
				if(Math.random() * 100 > 80){
 | 
			
		||||
					event.setCancelled(true);
 | 
			
		||||
					defender.sendMessage(ChatColor.YELLOW+"*CLANG* SUCCESSFUL PARRY *CLANG*");
 | 
			
		||||
					defender.getItemInHand().setDurability((short) (defender.getItemInHand().getDurability() + 1));
 | 
			
		||||
@@ -913,7 +911,9 @@ public class mcm {
 | 
			
		||||
    	}
 | 
			
		||||
    }
 | 
			
		||||
    public void repairCheck(Player player, ItemStack is, Block block){
 | 
			
		||||
    	if(block != null && block.getTypeId() == 42){
 | 
			
		||||
    	if(block != null 
 | 
			
		||||
    			&& block.getTypeId() == 42 
 | 
			
		||||
    			&& mcPermissions.getInstance().repair(player)){
 | 
			
		||||
        	short durability = is.getDurability();
 | 
			
		||||
        	if(player.getItemInHand().getDurability() > 0){
 | 
			
		||||
        		/*
 | 
			
		||||
@@ -956,6 +956,7 @@ public class mcm {
 | 
			
		||||
        	} else {
 | 
			
		||||
        		player.sendMessage("That is at full durability.");
 | 
			
		||||
        	}
 | 
			
		||||
        	player.updateInventory();
 | 
			
		||||
        	} //end if block is iron block bracket
 | 
			
		||||
    }
 | 
			
		||||
    public void herbalismProcCheck(Block block, Player player){
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,3 @@
 | 
			
		||||
name: mcMMO
 | 
			
		||||
main: com.bukkit.nossr50.mcMMO.mcMMO
 | 
			
		||||
version: 0.5.11
 | 
			
		||||
version: 0.5.15
 | 
			
		||||
		Reference in New Issue
	
	Block a user