5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,5 @@
 | 
			
		||||
 | 
			
		||||
/.project
 | 
			
		||||
/.classpath
 | 
			
		||||
/target
 | 
			
		||||
/.settings
 | 
			
		||||
@@ -3,6 +3,7 @@ Changelog:
 | 
			
		||||
 | 
			
		||||
Version 1.2.08
 | 
			
		||||
 - Fixed CraftOfflinePlayer issue (Issue #212) errors for offline wolf owners
 | 
			
		||||
 - Pull in commit from @NuclearW for issue from previous commit
 | 
			
		||||
 | 
			
		||||
Version 1.2.07
 | 
			
		||||
Fixed mctop not working at all (whoops!)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										53
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						@@ -24,12 +24,43 @@
 | 
			
		||||
            <resource>
 | 
			
		||||
                <targetPath>resources</targetPath>
 | 
			
		||||
                <filtering>true</filtering>
 | 
			
		||||
                <directory>${basedir}/src/main/resources/</directory>
 | 
			
		||||
                <directory>${basedir}/src/main/resources/xpbar/</directory>
 | 
			
		||||
                <includes>
 | 
			
		||||
                    <include>xpbar*.png</include>
 | 
			
		||||
                </includes>
 | 
			
		||||
            </resource>
 | 
			
		||||
            <resource>
 | 
			
		||||
                <targetPath>resources</targetPath>
 | 
			
		||||
                <filtering>true</filtering>
 | 
			
		||||
                <directory>${basedir}/src/main/resources/healthbar/</directory>
 | 
			
		||||
                <includes>
 | 
			
		||||
                    <include>health*.png</include>
 | 
			
		||||
                </includes>
 | 
			
		||||
            </resource>
 | 
			
		||||
            <resource>
 | 
			
		||||
                <targetPath>resources</targetPath>
 | 
			
		||||
                <filtering>true</filtering>
 | 
			
		||||
                <directory>${basedir}/src/main/resources/skillicon/</directory>
 | 
			
		||||
                <includes>
 | 
			
		||||
                    <include>*.png</include>
 | 
			
		||||
                </includes>
 | 
			
		||||
            </resource>
 | 
			
		||||
            <resource>
 | 
			
		||||
                <targetPath>resources</targetPath>
 | 
			
		||||
                <filtering>true</filtering>
 | 
			
		||||
                <directory>${basedir}/src/main/resources/sound/</directory>
 | 
			
		||||
                <includes>
 | 
			
		||||
                    <include>*.wav</include>
 | 
			
		||||
                </includes>
 | 
			
		||||
            </resource>
 | 
			
		||||
            <resource>
 | 
			
		||||
            	<targetPath>com/gmail/nossr50/locale</targetPath>
 | 
			
		||||
            	<filtering>true</filtering>
 | 
			
		||||
            	<directory>${basedir}/src/main/resources/locale/</directory>
 | 
			
		||||
            	<includes>
 | 
			
		||||
            		<include>locale*.properties</include>
 | 
			
		||||
            	</includes>
 | 
			
		||||
            </resource>
 | 
			
		||||
        </resources>
 | 
			
		||||
        <plugins>
 | 
			
		||||
            <plugin>
 | 
			
		||||
@@ -62,31 +93,41 @@
 | 
			
		||||
            </plugin>
 | 
			
		||||
        </plugins>
 | 
			
		||||
    </build>
 | 
			
		||||
    <repositories>
 | 
			
		||||
        <repository>
 | 
			
		||||
            <id>bukkit-repo</id>
 | 
			
		||||
            <url>http://repo.bukkit.org/content/groups/public/</url>
 | 
			
		||||
        </repository>
 | 
			
		||||
        <repository>
 | 
			
		||||
        	<id>spout-repo</id>
 | 
			
		||||
        	<url>http://nexus.getspout.org/content/groups/public/</url>
 | 
			
		||||
        </repository>
 | 
			
		||||
    </repositories>
 | 
			
		||||
    <dependencies>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.bukkit</groupId>
 | 
			
		||||
            <artifactId>bukkit</artifactId>
 | 
			
		||||
            <version>1.0.1-R2-SNAPSHOT</version>
 | 
			
		||||
            <version>1.1-R1</version>
 | 
			
		||||
            <type>jar</type>
 | 
			
		||||
            <scope>compile</scope>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.bukkit</groupId>
 | 
			
		||||
            <artifactId>craftbukkit</artifactId>
 | 
			
		||||
            <version>1.0.1-R2-SNAPSHOT</version>
 | 
			
		||||
            <version>1.1-R1</version>
 | 
			
		||||
            <type>jar</type>
 | 
			
		||||
            <scope>compile</scope>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>com.nijikokun.bukkit</groupId>
 | 
			
		||||
            <artifactId>Permissions</artifactId>
 | 
			
		||||
            <version>3.2</version>
 | 
			
		||||
            <version>3.1.6</version>
 | 
			
		||||
            <type>jar</type>
 | 
			
		||||
            <scope>compile</scope>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>ru.tehkode</groupId>
 | 
			
		||||
            <artifactId>PermissionsEx</artifactId>
 | 
			
		||||
            <groupId>ru.tehkode.permissions</groupId>
 | 
			
		||||
            <artifactId>bukkit</artifactId>
 | 
			
		||||
            <version>1.18</version>
 | 
			
		||||
            <type>jar</type>
 | 
			
		||||
            <scope>compile</scope>
 | 
			
		||||
 
 | 
			
		||||
@@ -106,9 +106,9 @@ public class Combat
 | 
			
		||||
				      			int hpLeft = defender.getHealth(), xpinc = 0;
 | 
			
		||||
				      			
 | 
			
		||||
				      			if(hpLeft < event.getDamage())
 | 
			
		||||
				      				xpinc = event.getDamage();
 | 
			
		||||
				      			else
 | 
			
		||||
				      				xpinc = hpLeft;
 | 
			
		||||
				      			else
 | 
			
		||||
				      				xpinc = event.getDamage;
 | 
			
		||||
				      			
 | 
			
		||||
			    				int xp = (int) (xpinc * 2 * LoadProperties.pvpxprewardmodifier);
 | 
			
		||||
			    				
 | 
			
		||||
@@ -380,9 +380,9 @@ public class Combat
 | 
			
		||||
				int hpLeft = le.getHealth(), xpinc = 0;
 | 
			
		||||
				
 | 
			
		||||
				if(hpLeft < event.getDamage())
 | 
			
		||||
					xpinc = event.getDamage();
 | 
			
		||||
				else
 | 
			
		||||
					xpinc = hpLeft;
 | 
			
		||||
				else
 | 
			
		||||
					xpinc = event.getDamage();
 | 
			
		||||
			
 | 
			
		||||
	    	if(entity instanceof Animals)
 | 
			
		||||
	    	{
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,7 @@ public class LoadProperties
 | 
			
		||||
	
 | 
			
		||||
	public static String xplock, MySQLtablePrefix, MySQLuserName, MySQLserverName, MySQLdbName, MySQLdbPass, mctop, addxp,
 | 
			
		||||
	xprate, mcability, mcmmo, mcc, mcrefresh, mcgod, stats, mmoedit, ptp, party, myspawn, whois, invite, accept, clearmyspawn, nWood,
 | 
			
		||||
	nStone, nIron, nGold, nDiamond, locale;
 | 
			
		||||
	nStone, nIron, nGold, nDiamond, locale, nString, nLeather;
 | 
			
		||||
	
 | 
			
		||||
	public static int mfishing, mwatch, xpbar_x, xpbar_y, xpicon_x, xpicon_y, mstring, mbucket, mweb,
 | 
			
		||||
	chimaeraId, msandstone, mcocoa, water_thunder, cure_self, cure_other, mslimeballs, mbones, msulphur, mslowsand,
 | 
			
		||||
@@ -40,7 +40,7 @@ public class LoadProperties
 | 
			
		||||
	msugar, mpumpkin, mwheat, mgold, mdiamond, miron, mredstone, mlapis, mobsidian, mnetherrack, mglowstone, mcoal, mstone, MySQLport,
 | 
			
		||||
	xpGainMultiplier, superBreakerCooldown, greenTerraCooldown, gigaDrillBreakerCooldown, treeFellerCooldown,
 | 
			
		||||
	berserkCooldown, serratedStrikeCooldown, skullSplitterCooldown, abilityDurabilityLoss,
 | 
			
		||||
	feathersConsumedByChimaeraWing, bonesConsumedByCOTW, repairdiamondlevel, rWood, rStone, rIron, rGold, rDiamond;
 | 
			
		||||
	feathersConsumedByChimaeraWing, bonesConsumedByCOTW, repairdiamondlevel, rWood, rStone, rIron, rGold, rDiamond, rString, rLeather;
 | 
			
		||||
	
 | 
			
		||||
	public static double xpbackground_r, xpbackground_g, xpbackground_b, xpborder_r, xpborder_g, xpborder_b, fishing_r, fishing_g, fishing_b, acrobatics_r, acrobatics_g, acrobatics_b, archery_r, archery_g, archery_b, axes_r, axes_g, axes_b,
 | 
			
		||||
	excavation_r, excavation_g, excavation_b, herbalism_r, herbalism_g, herbalism_b, mining_r, mining_g, mining_b,
 | 
			
		||||
@@ -342,6 +342,10 @@ public class LoadProperties
 | 
			
		||||
	    	write("Skills.Repair.Diamond.Level_Required", 50);
 | 
			
		||||
	    	write("Skills.Repair.Iron.ID", 265);
 | 
			
		||||
	    	write("Skills.Repair.Iron.Name", "Iron Bars");
 | 
			
		||||
		write("Skills.Repair.String.ID", 287);
 | 
			
		||||
	        write("Skills.Repair.String.Name", "String");
 | 
			
		||||
	        write("Skills.Repair.Leather.ID", 334);
 | 
			
		||||
	        write("Skills.Repair.String.Name", "Leather")
 | 
			
		||||
	    	write("Skills.Herbalism.Green_Thumb.Cobble_To_Mossy", true);
 | 
			
		||||
	    	write("Skills.Excavation.Requires_Shovel", true);
 | 
			
		||||
	    	write("Skills.Mining.Requires_Pickaxe", true);
 | 
			
		||||
@@ -541,6 +545,10 @@ public class LoadProperties
 | 
			
		||||
	        nDiamond =  readString("Skills.Repair.Diamond.Name", "Diamond");          
 | 
			
		||||
	        rIron =   readInteger("Skills.Repair.Iron.ID", 265);
 | 
			
		||||
	        nIron =  readString("Skills.Repair.Iron.Name", "Iron Bars");
 | 
			
		||||
	        rString = readInteger("Skills.Repair.String.ID", 287);
 | 
			
		||||
	        nString = readString("Skills.Repair.String.Name", "String");
 | 
			
		||||
	        rLeather = readInteger("Skills.Repair.Leather.ID", 334);
 | 
			
		||||
	        nLeather = readString("Skills.Repair.String.Name", "Leather");
 | 
			
		||||
 | 
			
		||||
	    	cocoabeans = readBoolean("Excavation.Drops.Cocoa_Beans", true);
 | 
			
		||||
	    	mushrooms = readBoolean("Excavation.Drops.Mushrooms", true);
 | 
			
		||||
 
 | 
			
		||||
@@ -339,6 +339,7 @@ public class mcPlayerListener extends PlayerListener
 | 
			
		||||
		if(!message.startsWith("/")) return;
 | 
			
		||||
		String command = message.substring(1).split(" ")[0];
 | 
			
		||||
		if(plugin.aliasMap.containsKey(command)) {
 | 
			
		||||
			if(command.equalsIgnoreCase(plugin.aliasMap.get(command))) return;
 | 
			
		||||
			event.setCancelled(true);
 | 
			
		||||
			event.getPlayer().chat(message.replaceFirst(command, plugin.aliasMap.get(command)));
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
@@ -178,10 +178,10 @@ public class m
 | 
			
		||||
	{
 | 
			
		||||
		int id = item.getTypeId();
 | 
			
		||||
		if(tier == 1){
 | 
			
		||||
			if((id == 276 || id == 277 || id == 278 || id == 279 || id == 293)){
 | 
			
		||||
				return 33;
 | 
			
		||||
			if((id == 283 || id == 284 || id == 285 || id == 286 || id == 294)){
 | 
			
		||||
				return 33; //GOLD
 | 
			
		||||
			} else {
 | 
			
		||||
				return 60;
 | 
			
		||||
				return 60; //WOOD
 | 
			
		||||
			}
 | 
			
		||||
		} else if (tier == 2){
 | 
			
		||||
			return 132;
 | 
			
		||||
@@ -268,7 +268,8 @@ public class m
 | 
			
		||||
 | 
			
		||||
	public static boolean isSwords(ItemStack is)
 | 
			
		||||
	{
 | 
			
		||||
		return is.getTypeId() == 268 || is.getTypeId() == 267 || is.getTypeId() == 272 || is.getTypeId() == 283 || is.getTypeId() == 276;
 | 
			
		||||
		int id = is.getTypeId();
 | 
			
		||||
		return id == 268 || id == 267 || id == 272 || id == 283 || id == 276;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public static boolean isHoe(ItemStack is)
 | 
			
		||||
@@ -277,35 +278,28 @@ public class m
 | 
			
		||||
		return id == 290 || id == 291 || id == 292 || id == 293 || id == 294;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public static boolean isShovel(ItemStack is){
 | 
			
		||||
		return is.getTypeId() == 269 || is.getTypeId() == 273 || is.getTypeId() == 277 || is.getTypeId() == 284 || is.getTypeId() == 256;
 | 
			
		||||
	public static boolean isShovel(ItemStack is)
 | 
			
		||||
	{	
 | 
			
		||||
		int id = is.getTypeId();
 | 
			
		||||
		return id == 269 || id == 273 || id == 277 || id == 284 || id == 256;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public static boolean isAxes(ItemStack is){
 | 
			
		||||
		if(is.getTypeId() == 271 || is.getTypeId() == 258 || is.getTypeId() == 286 || is.getTypeId() == 279 || is.getTypeId() == 275){
 | 
			
		||||
			return true;
 | 
			
		||||
		} else {
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
	public static boolean isAxes(ItemStack is)
 | 
			
		||||
	{	
 | 
			
		||||
		int id = is.getTypeId();
 | 
			
		||||
		return id == 271 || id == 258 || id == 286 || id == 279 || id == 275;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public static boolean isMiningPick(ItemStack is)
 | 
			
		||||
	{
 | 
			
		||||
		if(is.getTypeId() == 270 || is.getTypeId() == 274 || is.getTypeId() == 285 || is.getTypeId() == 257 || is.getTypeId() == 278)
 | 
			
		||||
		{
 | 
			
		||||
			return true;
 | 
			
		||||
		} else {
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	public boolean isGold(ItemStack is)
 | 
			
		||||
	{
 | 
			
		||||
		int i = is.getTypeId();
 | 
			
		||||
		if(i == 283 || i == 284 || i == 285 || i == 286 || i == 294 || i == 314 || i == 315 || i == 316 || i == 317){
 | 
			
		||||
			return true;
 | 
			
		||||
		} else {
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
		int id = is.getTypeId();
 | 
			
		||||
		return id == 270 || id == 274 || id == 285 || id == 257 || id == 278;
 | 
			
		||||
	}
 | 
			
		||||
//	public boolean isGold(ItemStack is)
 | 
			
		||||
//	{
 | 
			
		||||
//		int id = is.getTypeId();
 | 
			
		||||
//		return id == 283 || id == 284 || id == 285 || id == 286 || id == 294 || id == 314 || id == 315 || id == 316 || id == 317;
 | 
			
		||||
//	}
 | 
			
		||||
	public static void convertToMySQL()
 | 
			
		||||
	{
 | 
			
		||||
		if(!LoadProperties.useMySQL)
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@ import org.bukkit.Material;
 | 
			
		||||
import org.bukkit.World;
 | 
			
		||||
import org.bukkit.craftbukkit.entity.CraftItem;
 | 
			
		||||
import org.bukkit.enchantments.Enchantment;
 | 
			
		||||
import org.bukkit.entity.*
 | 
			
		||||
import org.bukkit.entity.*;
 | 
			
		||||
import org.bukkit.event.player.PlayerFishEvent;
 | 
			
		||||
import org.bukkit.inventory.ItemStack;
 | 
			
		||||
import org.bukkit.material.Wool;
 | 
			
		||||
@@ -703,7 +703,7 @@ public class Fishing {
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.LEATHER, 1));
 | 
			
		||||
			}
 | 
			
		||||
			else{
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.RAW_BEEF, 1));)
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.RAW_BEEF, 1));
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
@@ -737,7 +737,7 @@ public class Fishing {
 | 
			
		||||
					world.dropItemNaturally(le.getLocation(), new ItemStack(Material.LEATHER, 1));
 | 
			
		||||
				}
 | 
			
		||||
				else{
 | 
			
		||||
					world.dropItemNaturally(le.getLocation(), new ItemStack(Material.RAW_BEEF, 1));)
 | 
			
		||||
					world.dropItemNaturally(le.getLocation(), new ItemStack(Material.RAW_BEEF, 1));
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			else{
 | 
			
		||||
@@ -748,7 +748,7 @@ public class Fishing {
 | 
			
		||||
		
 | 
			
		||||
		else if(le instanceof Squid)
 | 
			
		||||
		{
 | 
			
		||||
			world.dropItemNaturally(le.getLocation(), new ItemStack(Material.getMaterial(351), 1, (byte)0, (byte)0)));
 | 
			
		||||
			world.dropItemNaturally(le.getLocation(), new ItemStack(Material.getMaterial(351), 1, (byte)0, (byte)0));
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		else if(le instanceof Snowman){
 | 
			
		||||
 
 | 
			
		||||
@@ -47,7 +47,10 @@ public class Repair {
 | 
			
		||||
	private static String nDiamond =  LoadProperties.nDiamond;        
 | 
			
		||||
	private static int rIron =  LoadProperties.rIron;
 | 
			
		||||
	private static String nIron =  LoadProperties.nIron;
 | 
			
		||||
 | 
			
		||||
	private static int rString =  LoadProperties.rString;
 | 
			
		||||
	private static String nString =  LoadProperties.nString;
 | 
			
		||||
	private static int rLeather =  LoadProperties.rLeather;
 | 
			
		||||
	private static String nLeather =  LoadProperties.nLeather;
 | 
			
		||||
 | 
			
		||||
	public static void repairCheck(Player player, ItemStack is, Block block){
 | 
			
		||||
		PlayerProfile PP = Users.getProfile(player);
 | 
			
		||||
@@ -120,6 +123,21 @@ public class Repair {
 | 
			
		||||
							SpoutStuff.playRepairNoise(player);
 | 
			
		||||
					} 
 | 
			
		||||
 | 
			
		||||
					//LEATHER ARMOR
 | 
			
		||||
					else if (isLeatherArmor(is) && hasItem(player, rLeather)){
 | 
			
		||||
						removeItem(player, rLeather);
 | 
			
		||||
						repairItem(player, enchants, enchantsLevel);
 | 
			
		||||
 | 
			
		||||
						durabilityAfter = player.getItemInHand().getDurability();
 | 
			
		||||
						dif = (short) (durabilityBefore - durabilityAfter);
 | 
			
		||||
						dif = (short) (dif * 1); //Boost XP
 | 
			
		||||
						PP.addXP(SkillType.REPAIR, dif*10, player);
 | 
			
		||||
 | 
			
		||||
						//CLANG CLANG
 | 
			
		||||
						if(LoadProperties.spoutEnabled)
 | 
			
		||||
							SpoutStuff.playRepairNoise(player);
 | 
			
		||||
					} 
 | 
			
		||||
 | 
			
		||||
					//UNABLE TO REPAIR
 | 
			
		||||
					else {
 | 
			
		||||
						needMoreVespeneGas(is, player);
 | 
			
		||||
@@ -233,6 +251,25 @@ public class Repair {
 | 
			
		||||
							SpoutStuff.playRepairNoise(player);
 | 
			
		||||
					}
 | 
			
		||||
					
 | 
			
		||||
					//BOW
 | 
			
		||||
					else if(isBow(is) && hasItem(player, rString)){
 | 
			
		||||
						removeItem(player, rString);
 | 
			
		||||
						repairItem(player, enchants, enchantsLevel);
 | 
			
		||||
 | 
			
		||||
						durabilityAfter = player.getItemInHand().getDurability();
 | 
			
		||||
						dif = (short) (durabilityBefore - durabilityAfter);
 | 
			
		||||
						
 | 
			
		||||
						//STRING NERF
 | 
			
		||||
						dif = (short) (dif / 2);
 | 
			
		||||
						
 | 
			
		||||
						PP.addXP(SkillType.REPAIR, dif*10, player);
 | 
			
		||||
 | 
			
		||||
						
 | 
			
		||||
						//CLANG CLANG
 | 
			
		||||
						if(LoadProperties.spoutEnabled)
 | 
			
		||||
							SpoutStuff.playRepairNoise(player);
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					//UNABLE TO REPAIR
 | 
			
		||||
					else {
 | 
			
		||||
						needMoreVespeneGas(is, player);
 | 
			
		||||
@@ -362,7 +399,11 @@ public class Repair {
 | 
			
		||||
	public static boolean isArmor(ItemStack is){
 | 
			
		||||
		return is.getTypeId() == 306 || is.getTypeId() == 307 ||is.getTypeId() == 308 ||is.getTypeId() == 309 || //IRON
 | 
			
		||||
				is.getTypeId() == 310 ||is.getTypeId() == 311 ||is.getTypeId() == 312 ||is.getTypeId() == 313 || //DIAMOND
 | 
			
		||||
				is.getTypeId() == 314 || is.getTypeId() == 315 || is.getTypeId() == 316 || is.getTypeId() == 317; //GOLD
 | 
			
		||||
				is.getTypeId() == 314 || is.getTypeId() == 315 || is.getTypeId() == 316 || is.getTypeId() == 317 || //GOLD
 | 
			
		||||
				is.getTypeId() == 298 || is.getTypeId() == 299 || is.getTypeId() == 300 || is.getTypeId() == 301; //LEATHER
 | 
			
		||||
	}
 | 
			
		||||
	public static boolean isLeatherArmor(ItemStack is){
 | 
			
		||||
		return is.getTypeId() == 298 || is.getTypeId() == 299 || is.getTypeId() == 300 || is.getTypeId() == 301;
 | 
			
		||||
	}
 | 
			
		||||
	public static boolean isGoldArmor(ItemStack is){
 | 
			
		||||
		return is.getTypeId() == 314 || is.getTypeId() == 315 || is.getTypeId() == 316 || is.getTypeId() == 317;
 | 
			
		||||
@@ -379,7 +420,8 @@ public class Repair {
 | 
			
		||||
				is.getTypeId() == 276 || is.getTypeId() == 277 || is.getTypeId() == 278 || is.getTypeId() == 279 || is.getTypeId() == 293 || //DIAMOND
 | 
			
		||||
				is.getTypeId() == 283 || is.getTypeId() == 285 || is.getTypeId() == 286 || is.getTypeId() == 284 || is.getTypeId() == 294 || //GOLD
 | 
			
		||||
				is.getTypeId() == 268 || is.getTypeId() == 269 || is.getTypeId() == 270 || is.getTypeId() == 271 || is.getTypeId() == 290 ||//WOOD
 | 
			
		||||
				is.getTypeId() == 272 || is.getTypeId() == 273 || is.getTypeId() == 274 || is.getTypeId() == 275|| is.getTypeId() == 291;  //STONE
 | 
			
		||||
				is.getTypeId() == 272 || is.getTypeId() == 273 || is.getTypeId() == 274 || is.getTypeId() == 275|| is.getTypeId() == 291 ||  //STONE
 | 
			
		||||
				is.getTypeId() == 261; //BOW
 | 
			
		||||
	}
 | 
			
		||||
	public static boolean isStoneTools(ItemStack is){
 | 
			
		||||
		return is.getTypeId() == 272 || is.getTypeId() == 273 || is.getTypeId() == 274 || is.getTypeId() == 275 || is.getTypeId() == 291;
 | 
			
		||||
@@ -396,6 +438,9 @@ public class Repair {
 | 
			
		||||
	public static boolean isDiamondTools(ItemStack is){
 | 
			
		||||
		return is.getTypeId() == 276 || is.getTypeId() == 277 || is.getTypeId() == 278 || is.getTypeId() == 279 || is.getTypeId() == 293;
 | 
			
		||||
	}
 | 
			
		||||
	public static boolean isBow(ItemStack is){
 | 
			
		||||
		return is.getTypeId() == 261;
 | 
			
		||||
	}
 | 
			
		||||
	public static void removeItem(Player player, int typeid)
 | 
			
		||||
	{
 | 
			
		||||
		ItemStack[] inventory = player.getInventory().getContents();
 | 
			
		||||
@@ -422,7 +467,7 @@ public class Repair {
 | 
			
		||||
		}
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
	public static short repairCalculate(Player player, short durability, short ramt){
 | 
			
		||||
	public static short repairCalculate(Player player, short durability, int ramt){
 | 
			
		||||
		PlayerProfile PP = Users.getProfile(player);
 | 
			
		||||
		float bonus = (PP.getSkillLevel(SkillType.REPAIR) / 500);
 | 
			
		||||
		bonus = (ramt * bonus);
 | 
			
		||||
@@ -438,7 +483,7 @@ public class Repair {
 | 
			
		||||
	}
 | 
			
		||||
	public static short getRepairAmount(ItemStack is, Player player){
 | 
			
		||||
		short durability = is.getDurability();
 | 
			
		||||
		short ramt = 0;
 | 
			
		||||
		int ramt = 0;
 | 
			
		||||
		switch(is.getTypeId())
 | 
			
		||||
		{
 | 
			
		||||
		/*
 | 
			
		||||
@@ -450,6 +495,11 @@ public class Repair {
 | 
			
		||||
			ramt = Material.SHEARS.getMaxDurability() / 2;
 | 
			
		||||
			break;
 | 
			
		||||
			
 | 
			
		||||
		//BOW
 | 
			
		||||
		case 261:
 | 
			
		||||
			ramt = Material.BOW.getMaxDurability() / 3;
 | 
			
		||||
			break;
 | 
			
		||||
			
 | 
			
		||||
		/* WOOD TOOLS */
 | 
			
		||||
			
 | 
			
		||||
		//WOOD SWORD
 | 
			
		||||
@@ -624,6 +674,25 @@ public class Repair {
 | 
			
		||||
		case 317:
 | 
			
		||||
			ramt = Material.GOLD_BOOTS.getMaxDurability() / 4;
 | 
			
		||||
			break;			
 | 
			
		||||
		
 | 
			
		||||
		/* LEATHER ARMOR */
 | 
			
		||||
		
 | 
			
		||||
		//LEATHER HELMET
 | 
			
		||||
		case 298:
 | 
			
		||||
			ramt = Material.LEATHER_HELMET.getMaxDurability() / 5;
 | 
			
		||||
			break;
 | 
			
		||||
		//LEATHER CHESTPLATE
 | 
			
		||||
		case 299:
 | 
			
		||||
			ramt = Material.LEATHER_CHESTPLATE.getMaxDurability() / 8;
 | 
			
		||||
			break;
 | 
			
		||||
		//LEATHER LEGGINGS
 | 
			
		||||
		case 300:
 | 
			
		||||
			ramt = Material.LEATHER_LEGGINGS.getMaxDurability() / 7;
 | 
			
		||||
			break;
 | 
			
		||||
		//LEATHER BOOTS
 | 
			
		||||
		case 301:
 | 
			
		||||
			ramt = Material.LEATHER_BOOTS.getMaxDurability() / 4;
 | 
			
		||||
			break;			
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		return repairCalculate(player, durability, ramt);
 | 
			
		||||
@@ -652,6 +721,10 @@ public class Repair {
 | 
			
		||||
			player.sendMessage(mcLocale.getString("Skills.NeedMore")+" "+ChatColor.GRAY+ nIron);
 | 
			
		||||
		} else if (isGoldArmor(is) && !hasItem(player, rGold)){
 | 
			
		||||
			player.sendMessage(mcLocale.getString("Skills.NeedMore")+" "+ChatColor.GOLD+ nGold);
 | 
			
		||||
		} else if (isLeatherArmor(is) && !hasItem(player, rLeather)){
 | 
			
		||||
			player.sendMessage(mcLocale.getString("Skills.NeedMore")+" "+ChatColor.YELLOW+ nLeather);
 | 
			
		||||
		} else if (isBow(is) && !hasItem(player, rString)){
 | 
			
		||||
			player.sendMessage(mcLocale.getString("Skills.NeedMore")+" "+ChatColor.YELLOW+ nString);
 | 
			
		||||
		} else if (is.getAmount() > 1)
 | 
			
		||||
			player.sendMessage(mcLocale.getString("Skills.StackedItems"));
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 255 B After Width: | Height: | Size: 255 B  | 
| 
		 Before Width: | Height: | Size: 254 B After Width: | Height: | Size: 254 B  | 
| 
		 Before Width: | Height: | Size: 263 B After Width: | Height: | Size: 263 B  | 
| 
		 Before Width: | Height: | Size: 270 B After Width: | Height: | Size: 270 B  | 
| 
		 Before Width: | Height: | Size: 271 B After Width: | Height: | Size: 271 B  | 
| 
		 Before Width: | Height: | Size: 271 B After Width: | Height: | Size: 271 B  | 
| 
		 Before Width: | Height: | Size: 273 B After Width: | Height: | Size: 273 B  | 
| 
		 Before Width: | Height: | Size: 271 B After Width: | Height: | Size: 271 B  | 
| 
		 Before Width: | Height: | Size: 274 B After Width: | Height: | Size: 274 B  | 
| 
		 Before Width: | Height: | Size: 275 B After Width: | Height: | Size: 275 B  | 
| 
		 Before Width: | Height: | Size: 275 B After Width: | Height: | Size: 275 B  | 
| 
		 Before Width: | Height: | Size: 275 B After Width: | Height: | Size: 275 B  | 
| 
		 Before Width: | Height: | Size: 277 B After Width: | Height: | Size: 277 B  | 
| 
		 Before Width: | Height: | Size: 275 B After Width: | Height: | Size: 275 B  | 
| 
		 Before Width: | Height: | Size: 275 B After Width: | Height: | Size: 275 B  | 
| 
		 Before Width: | Height: | Size: 275 B After Width: | Height: | Size: 275 B  | 
| 
		 Before Width: | Height: | Size: 273 B After Width: | Height: | Size: 273 B  | 
| 
		 Before Width: | Height: | Size: 273 B After Width: | Height: | Size: 273 B  | 
| 
		 Before Width: | Height: | Size: 272 B After Width: | Height: | Size: 272 B  | 
| 
		 Before Width: | Height: | Size: 265 B After Width: | Height: | Size: 265 B  | 
| 
		 Before Width: | Height: | Size: 246 B After Width: | Height: | Size: 246 B  | 
@@ -1,8 +1,8 @@
 | 
			
		||||
name: mcMMO
 | 
			
		||||
main: com.gmail.nossr50.mcMMO
 | 
			
		||||
version: 1.2.08-dev
 | 
			
		||||
version: 1.2.08-dev-2
 | 
			
		||||
softdepend: [Spout]
 | 
			
		||||
author: nossr50
 | 
			
		||||
author: TheYeti
 | 
			
		||||
description: mcMMO takes core Minecraft game mechanics and expands them to add an extensive RPG experience, the goal of the project has always been a quality RPG experience. Everything in mcMMO is carefully thought out and is constantly improving. mcMMO adds eleven skills to train in and level in, while also offering a high level of customization for server admins. There are countless features, including custom sounds, graphical elements, and more added when running mcMMO in conjunction with Spout. I carefully read feedback and evaluate the mechanics of mcMMO in every update to provide an ever-evolving experience.
 | 
			
		||||
commands:
 | 
			
		||||
    mchud:
 | 
			
		||||
 
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 506 B After Width: | Height: | Size: 506 B  | 
| 
		 Before Width: | Height: | Size: 229 B After Width: | Height: | Size: 229 B  | 
| 
		 Before Width: | Height: | Size: 580 B After Width: | Height: | Size: 580 B  | 
| 
		 Before Width: | Height: | Size: 260 B After Width: | Height: | Size: 260 B  | 
| 
		 Before Width: | Height: | Size: 210 B After Width: | Height: | Size: 210 B  | 
| 
		 Before Width: | Height: | Size: 496 B After Width: | Height: | Size: 496 B  | 
| 
		 Before Width: | Height: | Size: 230 B After Width: | Height: | Size: 230 B  | 
| 
		 Before Width: | Height: | Size: 547 B After Width: | Height: | Size: 547 B  | 
| 
		 Before Width: | Height: | Size: 238 B After Width: | Height: | Size: 238 B  | 
| 
		 Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB  | 
| 
		 Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB  | 
| 
		 Before Width: | Height: | Size: 498 B After Width: | Height: | Size: 498 B  | 
| 
		 Before Width: | Height: | Size: 220 B After Width: | Height: | Size: 220 B  | 
| 
		 Before Width: | Height: | Size: 365 B After Width: | Height: | Size: 365 B  | 
| 
		 Before Width: | Height: | Size: 399 B After Width: | Height: | Size: 399 B  | 
| 
		 Before Width: | Height: | Size: 195 B After Width: | Height: | Size: 195 B  | 
| 
		 Before Width: | Height: | Size: 520 B After Width: | Height: | Size: 520 B  | 
| 
		 Before Width: | Height: | Size: 224 B After Width: | Height: | Size: 224 B  | 
| 
		 Before Width: | Height: | Size: 500 B After Width: | Height: | Size: 500 B  | 
| 
		 Before Width: | Height: | Size: 201 B After Width: | Height: | Size: 201 B  | 
| 
		 Before Width: | Height: | Size: 534 B After Width: | Height: | Size: 534 B  | 
| 
		 Before Width: | Height: | Size: 201 B After Width: | Height: | Size: 201 B  | 
| 
		 Before Width: | Height: | Size: 777 B After Width: | Height: | Size: 777 B  | 
| 
		 Before Width: | Height: | Size: 205 B After Width: | Height: | Size: 205 B  | 
| 
		 Before Width: | Height: | Size: 523 B After Width: | Height: | Size: 523 B  | 
| 
		 Before Width: | Height: | Size: 188 B After Width: | Height: | Size: 188 B  | 
| 
		 Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB  | 
| 
		 Before Width: | Height: | Size: 215 B After Width: | Height: | Size: 215 B  | 
| 
		 Before Width: | Height: | Size: 377 B After Width: | Height: | Size: 377 B  | 
| 
		 Before Width: | Height: | Size: 393 B After Width: | Height: | Size: 393 B  | 
| 
		 Before Width: | Height: | Size: 384 B After Width: | Height: | Size: 384 B  | 
| 
		 Before Width: | Height: | Size: 411 B After Width: | Height: | Size: 411 B  | 
| 
		 Before Width: | Height: | Size: 433 B After Width: | Height: | Size: 433 B  | 
| 
		 Before Width: | Height: | Size: 442 B After Width: | Height: | Size: 442 B  | 
| 
		 Before Width: | Height: | Size: 446 B After Width: | Height: | Size: 446 B  | 
| 
		 Before Width: | Height: | Size: 443 B After Width: | Height: | Size: 443 B  | 
| 
		 Before Width: | Height: | Size: 445 B After Width: | Height: | Size: 445 B  | 
| 
		 Before Width: | Height: | Size: 440 B After Width: | Height: | Size: 440 B  | 
| 
		 Before Width: | Height: | Size: 444 B After Width: | Height: | Size: 444 B  | 
| 
		 Before Width: | Height: | Size: 446 B After Width: | Height: | Size: 446 B  | 
| 
		 Before Width: | Height: | Size: 447 B After Width: | Height: | Size: 447 B  | 
| 
		 Before Width: | Height: | Size: 438 B After Width: | Height: | Size: 438 B  | 
| 
		 Before Width: | Height: | Size: 435 B After Width: | Height: | Size: 435 B  | 
| 
		 Before Width: | Height: | Size: 440 B After Width: | Height: | Size: 440 B  | 
| 
		 Before Width: | Height: | Size: 423 B After Width: | Height: | Size: 423 B  | 
| 
		 Before Width: | Height: | Size: 441 B After Width: | Height: | Size: 441 B  | 
| 
		 Before Width: | Height: | Size: 463 B After Width: | Height: | Size: 463 B  | 
| 
		 Before Width: | Height: | Size: 469 B After Width: | Height: | Size: 469 B  | 
| 
		 Before Width: | Height: | Size: 469 B After Width: | Height: | Size: 469 B  | 
| 
		 Before Width: | Height: | Size: 465 B After Width: | Height: | Size: 465 B  | 
| 
		 Before Width: | Height: | Size: 462 B After Width: | Height: | Size: 462 B  | 
| 
		 Before Width: | Height: | Size: 461 B After Width: | Height: | Size: 461 B  | 
| 
		 Before Width: | Height: | Size: 466 B After Width: | Height: | Size: 466 B  | 
| 
		 Before Width: | Height: | Size: 469 B After Width: | Height: | Size: 469 B  | 
| 
		 Before Width: | Height: | Size: 469 B After Width: | Height: | Size: 469 B  | 
| 
		 Before Width: | Height: | Size: 461 B After Width: | Height: | Size: 461 B  | 
| 
		 Before Width: | Height: | Size: 455 B After Width: | Height: | Size: 455 B  | 
| 
		 Before Width: | Height: | Size: 448 B After Width: | Height: | Size: 448 B  |