mirror of
				https://github.com/mcMMO-Dev/mcMMO.git
				synced 2025-11-04 02:53:43 +01:00 
			
		
		
		
	Merge remote branch 'org.eclipse.jgit.transport.RemoteConfig@10a3c73/master'
This commit is contained in:
		@@ -1,6 +1,14 @@
 | 
			
		||||
Changelog:
 | 
			
		||||
#Versions without changelogs probably had very small misc fixes, like tweaks to the source code
 | 
			
		||||
 | 
			
		||||
Version 1.2.09-dev
 | 
			
		||||
 - Fixed issue with Repair Mastery (Issue #47)
 | 
			
		||||
 - Made Arcane Forging fully configurable (Pull Request #52)
 | 
			
		||||
 - Changed timer to be a bit more efficient (Issue #19)
 | 
			
		||||
 - Changed to fire EntityDamageEvents for all damage done by mcMMO
 | 
			
		||||
 - New custom event for developers McMMOPlayerLevelUpEvent
 | 
			
		||||
 - New custmo event for developers McMMOItemSpawnEvent
 | 
			
		||||
 | 
			
		||||
Version 1.2.08
 | 
			
		||||
 - Changed Bukkit events to new event system
 | 
			
		||||
 - Changed aliasing to send both the mcmmo command and the command used.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								pom.xml
									
									
									
									
									
								
							@@ -107,14 +107,14 @@
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.bukkit</groupId>
 | 
			
		||||
            <artifactId>bukkit</artifactId>
 | 
			
		||||
            <version>1.1-R1</version>
 | 
			
		||||
            <version>1.1-R3-SNAPSHOT</version>
 | 
			
		||||
            <type>jar</type>
 | 
			
		||||
            <scope>compile</scope>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.bukkit</groupId>
 | 
			
		||||
            <artifactId>craftbukkit</artifactId>
 | 
			
		||||
            <version>1.1-R1</version>
 | 
			
		||||
            <version>1.1-R2</version>
 | 
			
		||||
            <type>jar</type>
 | 
			
		||||
            <scope>compile</scope>
 | 
			
		||||
        </dependency>
 | 
			
		||||
 
 | 
			
		||||
@@ -361,8 +361,7 @@ public class Combat
 | 
			
		||||
     * @param dmg Amount of damage to attempt to do
 | 
			
		||||
     */
 | 
			
		||||
    public static void dealDamage(LivingEntity target, int dmg){
 | 
			
		||||
    	EntityDamageEvent ede = new EntityDamageEvent(target, EntityDamageEvent.DamageCause.CUSTOM, dmg);
 | 
			
		||||
    	Bukkit.getPluginManager().callEvent(ede);
 | 
			
		||||
    	dealDamage(target, dmg, EntityDamageEvent.DamageCause.CUSTOM);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    /**
 | 
			
		||||
@@ -375,6 +374,9 @@ public class Combat
 | 
			
		||||
    public static void dealDamage(LivingEntity target, int dmg, DamageCause cause) {
 | 
			
		||||
    	EntityDamageEvent ede = new EntityDamageEvent(target, cause, dmg);
 | 
			
		||||
    	Bukkit.getPluginManager().callEvent(ede);
 | 
			
		||||
    	if(ede.isCancelled()) return;
 | 
			
		||||
    	
 | 
			
		||||
    	target.damage(ede.getDamage());
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    /**
 | 
			
		||||
@@ -387,6 +389,8 @@ public class Combat
 | 
			
		||||
    public static void dealDamage(LivingEntity target, int dmg, Player attacker) {
 | 
			
		||||
    	EntityDamageEvent ede = new EntityDamageByEntityEvent(attacker, target, EntityDamageEvent.DamageCause.ENTITY_ATTACK, dmg);
 | 
			
		||||
    	Bukkit.getPluginManager().callEvent(ede);
 | 
			
		||||
    	
 | 
			
		||||
    	target.damage(ede.getDamage());
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public static boolean pvpAllowed(EntityDamageByEntityEvent event, World world)
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,89 @@
 | 
			
		||||
/*
 | 
			
		||||
	This file is part of mcMMO.
 | 
			
		||||
 | 
			
		||||
    mcMMO is free software: you can redistribute it and/or modify
 | 
			
		||||
    it under the terms of the GNU General Public License as published by
 | 
			
		||||
    the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
    (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
    mcMMO is distributed in the hope that it will be useful,
 | 
			
		||||
    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
    GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
    You should have received a copy of the GNU General Public License
 | 
			
		||||
    along with mcMMO.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
*/
 | 
			
		||||
package com.gmail.nossr50.events;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.Location;
 | 
			
		||||
import org.bukkit.event.Cancellable;
 | 
			
		||||
import org.bukkit.event.Event;
 | 
			
		||||
import org.bukkit.event.HandlerList;
 | 
			
		||||
import org.bukkit.inventory.ItemStack;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Called when mcMMO is preparing to drop an item
 | 
			
		||||
 */
 | 
			
		||||
@SuppressWarnings("serial")
 | 
			
		||||
public class McMMOItemSpawnEvent extends Event implements Cancellable {
 | 
			
		||||
	private Location location;
 | 
			
		||||
	private ItemStack itemStack;
 | 
			
		||||
	private boolean cancelled;
 | 
			
		||||
	
 | 
			
		||||
	public McMMOItemSpawnEvent(Location location, ItemStack itemStack) {
 | 
			
		||||
		this.location = location;
 | 
			
		||||
		this.itemStack = itemStack;
 | 
			
		||||
		this.cancelled = false;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	/**
 | 
			
		||||
	 * @return Location where the item will be dropped
 | 
			
		||||
	 */
 | 
			
		||||
	public Location getLocation() {
 | 
			
		||||
		return location;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	/**
 | 
			
		||||
	 * @param location Location where to drop the item
 | 
			
		||||
	 */
 | 
			
		||||
	public void setLocation(Location location) {
 | 
			
		||||
		this.location = location;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	/**
 | 
			
		||||
	 * @return ItemStack that will be dropped
 | 
			
		||||
	 */
 | 
			
		||||
	public ItemStack getItemStack() {
 | 
			
		||||
		return itemStack;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	/**
 | 
			
		||||
	 * @param itemStack ItemStack to drop
 | 
			
		||||
	 */
 | 
			
		||||
	public void setItemStack(ItemStack itemStack) {
 | 
			
		||||
		this.itemStack = itemStack;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	/** Following are required for Cancellable **/
 | 
			
		||||
	@Override
 | 
			
		||||
	public boolean isCancelled() {
 | 
			
		||||
		return cancelled;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public void setCancelled(boolean cancelled) {
 | 
			
		||||
		this.cancelled = cancelled;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	/** Rest of file is required boilerplate for custom events **/
 | 
			
		||||
	private static final HandlerList handlers = new HandlerList();
 | 
			
		||||
	
 | 
			
		||||
	public HandlerList getHandlers() {
 | 
			
		||||
		return handlers;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public static HandlerList getHandlerList() {
 | 
			
		||||
		return handlers;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -1,3 +1,19 @@
 | 
			
		||||
/*
 | 
			
		||||
	This file is part of mcMMO.
 | 
			
		||||
 | 
			
		||||
    mcMMO is free software: you can redistribute it and/or modify
 | 
			
		||||
    it under the terms of the GNU General Public License as published by
 | 
			
		||||
    the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
    (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
    mcMMO is distributed in the hope that it will be useful,
 | 
			
		||||
    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
    GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
    You should have received a copy of the GNU General Public License
 | 
			
		||||
    along with mcMMO.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
*/
 | 
			
		||||
package com.gmail.nossr50.events;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
 
 | 
			
		||||
@@ -226,7 +226,7 @@ public class mcBlockListener implements Listener
 | 
			
		||||
    					ItemStack item = new ItemStack(mat, 1, (byte)0, type);
 | 
			
		||||
    					if(blockx.getTypeId() == 17)
 | 
			
		||||
    					{
 | 
			
		||||
    						blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item);
 | 
			
		||||
    						m.mcDropItem(blockx.getLocation(), item);
 | 
			
		||||
    						//XP WOODCUTTING
 | 
			
		||||
    						if(!plugin.misc.blockWatchList.contains(block))
 | 
			
		||||
    						{
 | 
			
		||||
@@ -241,7 +241,7 @@ public class mcBlockListener implements Listener
 | 
			
		||||
    						item = new ItemStack(mat, 1, (short)0, blockx.getData());
 | 
			
		||||
    						
 | 
			
		||||
    						if(Math.random() * 10 > 9)
 | 
			
		||||
    							blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item);
 | 
			
		||||
    							m.mcDropItem(blockx.getLocation(), item);
 | 
			
		||||
    					}
 | 
			
		||||
    					if(blockx.getType() != Material.AIR)
 | 
			
		||||
    						player.incrementStatistic(Statistic.MINE_BLOCK, event.getBlock().getType());
 | 
			
		||||
@@ -289,7 +289,7 @@ public class mcBlockListener implements Listener
 | 
			
		||||
    	ItemStack inhand = player.getItemInHand();
 | 
			
		||||
    	Block block = event.getBlock();
 | 
			
		||||
    	
 | 
			
		||||
    	Skills.monitorSkills(player);
 | 
			
		||||
    	Skills.monitorSkills(player, PP);
 | 
			
		||||
 | 
			
		||||
    	/*
 | 
			
		||||
    	 * ABILITY PREPARATION CHECKS
 | 
			
		||||
@@ -353,13 +353,13 @@ public class mcBlockListener implements Listener
 | 
			
		||||
			
 | 
			
		||||
			if(item.getType() == Material.CLAY_BALL)
 | 
			
		||||
			{
 | 
			
		||||
				block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item);
 | 
			
		||||
				block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item);
 | 
			
		||||
				block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item);
 | 
			
		||||
				block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item);
 | 
			
		||||
				m.mcDropItem(block.getLocation(), item);
 | 
			
		||||
				m.mcDropItem(block.getLocation(), item);
 | 
			
		||||
				m.mcDropItem(block.getLocation(), item);
 | 
			
		||||
				m.mcDropItem(block.getLocation(), item);
 | 
			
		||||
			} else
 | 
			
		||||
			{
 | 
			
		||||
				block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item);
 | 
			
		||||
				m.mcDropItem(block.getLocation(), item);
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			//Spout stuff
 | 
			
		||||
@@ -392,13 +392,13 @@ public class mcBlockListener implements Listener
 | 
			
		||||
			
 | 
			
		||||
			if(item.getType() == Material.CLAY_BALL)
 | 
			
		||||
			{
 | 
			
		||||
				block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item);
 | 
			
		||||
				block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item);
 | 
			
		||||
				block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item);
 | 
			
		||||
				block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item);
 | 
			
		||||
				m.mcDropItem(block.getLocation(), item);
 | 
			
		||||
				m.mcDropItem(block.getLocation(), item);
 | 
			
		||||
				m.mcDropItem(block.getLocation(), item);
 | 
			
		||||
				m.mcDropItem(block.getLocation(), item);
 | 
			
		||||
			} else
 | 
			
		||||
			{
 | 
			
		||||
				block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item);
 | 
			
		||||
				m.mcDropItem(block.getLocation(), item);
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			if(LoadProperties.spoutEnabled)
 | 
			
		||||
@@ -431,7 +431,7 @@ public class mcBlockListener implements Listener
 | 
			
		||||
    		if(Math.random() * 10 > 9)
 | 
			
		||||
    		{
 | 
			
		||||
    			ItemStack x = new ItemStack(Material.SAPLING, 1, (short)0, block.getData());
 | 
			
		||||
    			block.getLocation().getWorld().dropItemNaturally(block.getLocation(), x);
 | 
			
		||||
    			m.mcDropItem(block.getLocation(), x);
 | 
			
		||||
    		}
 | 
			
		||||
    		block.setType(Material.AIR);
 | 
			
		||||
    		player.incrementStatistic(Statistic.MINE_BLOCK, event.getBlock().getType());
 | 
			
		||||
 
 | 
			
		||||
@@ -31,6 +31,7 @@ import com.gmail.nossr50.config.*;
 | 
			
		||||
import com.gmail.nossr50.datatypes.PlayerProfile;
 | 
			
		||||
import com.gmail.nossr50.datatypes.FakeBlockBreakEvent;
 | 
			
		||||
import com.gmail.nossr50.datatypes.SkillType;
 | 
			
		||||
import com.gmail.nossr50.events.McMMOItemSpawnEvent;
 | 
			
		||||
 | 
			
		||||
public class m 
 | 
			
		||||
{
 | 
			
		||||
@@ -255,15 +256,21 @@ public class m
 | 
			
		||||
		}
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
	public static void mcDropItem(Location loc, int id)
 | 
			
		||||
	public static void mcDropItem(Location location, int id)
 | 
			
		||||
	{
 | 
			
		||||
		if(loc != null)
 | 
			
		||||
		{
 | 
			
		||||
			Material mat = Material.getMaterial(id);
 | 
			
		||||
			byte damage = 0;
 | 
			
		||||
			ItemStack item = new ItemStack(mat, 1, (byte)0, damage);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
		}
 | 
			
		||||
		if(location == null) return;
 | 
			
		||||
		
 | 
			
		||||
		Material mat = Material.getMaterial(id);
 | 
			
		||||
		ItemStack item = new ItemStack(mat, 1, (byte) 0, (byte) 0);
 | 
			
		||||
		mcDropItem(location, item);
 | 
			
		||||
	}
 | 
			
		||||
	public static void mcDropItem(Location location, ItemStack itemStack) {
 | 
			
		||||
		// We can't get the item until we spawn it and we want to make it cancellable, so we have a custom event.
 | 
			
		||||
		McMMOItemSpawnEvent event = new McMMOItemSpawnEvent(location, itemStack);
 | 
			
		||||
		Bukkit.getPluginManager().callEvent(event);
 | 
			
		||||
		if(event.isCancelled()) return;
 | 
			
		||||
		
 | 
			
		||||
		location.getWorld().dropItemNaturally(location, itemStack);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public static boolean isSwords(ItemStack is)
 | 
			
		||||
 
 | 
			
		||||
@@ -37,6 +37,7 @@ public class mcTimer implements Runnable
 | 
			
		||||
    
 | 
			
		||||
	public void run() 
 | 
			
		||||
	{
 | 
			
		||||
		long curTime = System.currentTimeMillis();
 | 
			
		||||
		for(Player player : plugin.getServer().getOnlinePlayers())
 | 
			
		||||
		{
 | 
			
		||||
			if(player == null)
 | 
			
		||||
@@ -49,12 +50,12 @@ public class mcTimer implements Runnable
 | 
			
		||||
			/*
 | 
			
		||||
			 * MONITOR SKILLS
 | 
			
		||||
			 */
 | 
			
		||||
			Skills.monitorSkills(player);
 | 
			
		||||
			Skills.monitorSkills(player, PP, curTime);
 | 
			
		||||
			
 | 
			
		||||
			/*
 | 
			
		||||
			 * COOLDOWN MONITORING
 | 
			
		||||
			 */
 | 
			
		||||
			Skills.watchCooldowns(player);
 | 
			
		||||
			Skills.watchCooldowns(player, PP, curTime);
 | 
			
		||||
			
 | 
			
		||||
			/*
 | 
			
		||||
			 * PLAYER BLEED MONITORING
 | 
			
		||||
 
 | 
			
		||||
@@ -269,7 +269,7 @@ public class Excavation
 | 
			
		||||
    	for(ItemStack x : is)
 | 
			
		||||
    	{
 | 
			
		||||
    		if(x != null)
 | 
			
		||||
    			loc.getWorld().dropItemNaturally(loc, x);
 | 
			
		||||
    			m.mcDropItem(loc, x);
 | 
			
		||||
    	}
 | 
			
		||||
    	
 | 
			
		||||
    	//Handle XP related tasks
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
package com.gmail.nossr50.skills;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.Location;
 | 
			
		||||
import org.bukkit.Material;
 | 
			
		||||
import org.bukkit.World;
 | 
			
		||||
import org.bukkit.craftbukkit.entity.CraftItem;
 | 
			
		||||
import org.bukkit.enchantments.Enchantment;
 | 
			
		||||
import org.bukkit.entity.*;
 | 
			
		||||
@@ -11,6 +11,7 @@ import org.bukkit.material.Wool;
 | 
			
		||||
 | 
			
		||||
import com.gmail.nossr50.Combat;
 | 
			
		||||
import com.gmail.nossr50.Users;
 | 
			
		||||
import com.gmail.nossr50.m;
 | 
			
		||||
import com.gmail.nossr50.config.LoadProperties;
 | 
			
		||||
import com.gmail.nossr50.datatypes.PlayerProfile;
 | 
			
		||||
import com.gmail.nossr50.datatypes.SkillType;
 | 
			
		||||
@@ -61,7 +62,7 @@ public class Fishing {
 | 
			
		||||
			getFishingResultsTier5(player, event);
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
		player.getWorld().dropItem(player.getLocation(), new ItemStack(Material.RAW_FISH, 1));
 | 
			
		||||
		m.mcDropItem(player.getLocation(), new ItemStack(Material.RAW_FISH, 1));
 | 
			
		||||
		Users.getProfile(player).addXP(SkillType.FISHING, LoadProperties.mfishing, player);
 | 
			
		||||
		Skills.XpCheckSkill(SkillType.FISHING, player);
 | 
			
		||||
	}
 | 
			
		||||
@@ -673,7 +674,7 @@ public class Fishing {
 | 
			
		||||
			return;
 | 
			
		||||
		
 | 
			
		||||
		Combat.dealDamage(le, 1, event.getPlayer());
 | 
			
		||||
		World world = le.getWorld();
 | 
			
		||||
		Location loc = le.getLocation();
 | 
			
		||||
 | 
			
		||||
		/* Neutral Mobs */
 | 
			
		||||
		if(le instanceof Sheep)
 | 
			
		||||
@@ -685,26 +686,26 @@ public class Fishing {
 | 
			
		||||
				wool.setColor(sheep.getColor());
 | 
			
		||||
				ItemStack theWool = wool.toItemStack();
 | 
			
		||||
				theWool.setAmount((int)(Math.random() * 6));
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), theWool);
 | 
			
		||||
				m.mcDropItem(loc, theWool);
 | 
			
		||||
				sheep.setSheared(true);
 | 
			
		||||
			}
 | 
			
		||||
		} 
 | 
			
		||||
		
 | 
			
		||||
		else if(le instanceof Pig)
 | 
			
		||||
		{
 | 
			
		||||
			world.dropItemNaturally(le.getLocation(), new ItemStack(Material.PORK, 1));
 | 
			
		||||
			m.mcDropItem(loc, new ItemStack(Material.PORK, 1));
 | 
			
		||||
		} 
 | 
			
		||||
		
 | 
			
		||||
		else if(le instanceof Cow)
 | 
			
		||||
		{
 | 
			
		||||
			if(Math.random() * 100 < 99){
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.MILK_BUCKET, 1)); //rare chance to drop milk
 | 
			
		||||
				m.mcDropItem(loc, new ItemStack(Material.MILK_BUCKET, 1)); //rare chance to drop milk
 | 
			
		||||
			}
 | 
			
		||||
			else if(Math.random() * 10 < 5){
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.LEATHER, 1));
 | 
			
		||||
				m.mcDropItem(loc, new ItemStack(Material.LEATHER, 1));
 | 
			
		||||
			}
 | 
			
		||||
			else{
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.RAW_BEEF, 1));
 | 
			
		||||
				m.mcDropItem(loc, new ItemStack(Material.RAW_BEEF, 1));
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
@@ -712,14 +713,14 @@ public class Fishing {
 | 
			
		||||
		{
 | 
			
		||||
			if(Math.random() * 10 <= 7){
 | 
			
		||||
				if(Math.random() * 10 < 5){
 | 
			
		||||
					world.dropItemNaturally(le.getLocation(), new ItemStack(Material.FEATHER, 1));
 | 
			
		||||
					m.mcDropItem(loc, new ItemStack(Material.FEATHER, 1));
 | 
			
		||||
				}
 | 
			
		||||
				else{
 | 
			
		||||
					world.dropItemNaturally(le.getLocation(), new ItemStack(Material.RAW_CHICKEN, 1));
 | 
			
		||||
					m.mcDropItem(loc, new ItemStack(Material.RAW_CHICKEN, 1));
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			else{
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.EGG, 1));
 | 
			
		||||
				m.mcDropItem(loc, new ItemStack(Material.EGG, 1));
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
@@ -727,37 +728,37 @@ public class Fishing {
 | 
			
		||||
		{
 | 
			
		||||
			if(Math.random() * 100 < 99){
 | 
			
		||||
				if(Math.random() * 10 < 5){
 | 
			
		||||
					world.dropItemNaturally(le.getLocation(), new ItemStack(Material.MILK_BUCKET, 1)); //rare chance to drop milk
 | 
			
		||||
					m.mcDropItem(loc, new ItemStack(Material.MILK_BUCKET, 1)); //rare chance to drop milk
 | 
			
		||||
				}
 | 
			
		||||
				else{
 | 
			
		||||
					world.dropItemNaturally(le.getLocation(), new ItemStack(Material.MUSHROOM_SOUP, 1)); //rare chance to drop soup
 | 
			
		||||
					m.mcDropItem(loc, new ItemStack(Material.MUSHROOM_SOUP, 1)); //rare chance to drop soup
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			else if(Math.random() * 10 <= 7){
 | 
			
		||||
				if(Math.random() * 10 < 5){
 | 
			
		||||
					world.dropItemNaturally(le.getLocation(), new ItemStack(Material.LEATHER, 1));
 | 
			
		||||
					m.mcDropItem(loc, new ItemStack(Material.LEATHER, 1));
 | 
			
		||||
				}
 | 
			
		||||
				else{
 | 
			
		||||
					world.dropItemNaturally(le.getLocation(), new ItemStack(Material.RAW_BEEF, 1));
 | 
			
		||||
					m.mcDropItem(loc, new ItemStack(Material.RAW_BEEF, 1));
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			else{
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.RED_MUSHROOM, 3));
 | 
			
		||||
				m.mcDropItem(loc, new ItemStack(Material.RED_MUSHROOM, 3));
 | 
			
		||||
				//need some way to remove MushroomCow & replace with regular cow when sheared
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		else if(le instanceof Squid)
 | 
			
		||||
		{
 | 
			
		||||
			world.dropItemNaturally(le.getLocation(), new ItemStack(Material.getMaterial(351), 1, (byte)0, (byte)0));
 | 
			
		||||
			m.mcDropItem(loc, new ItemStack(Material.getMaterial(351), 1, (byte)0, (byte)0));
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		else if(le instanceof Snowman){
 | 
			
		||||
			if(Math.random() * 100 < 99){
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.PUMPKIN, 1)); //rare chance to drop pumpkin
 | 
			
		||||
				m.mcDropItem(loc, new ItemStack(Material.PUMPKIN, 1)); //rare chance to drop pumpkin
 | 
			
		||||
			}
 | 
			
		||||
			else{
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.SNOW_BALL, 5));
 | 
			
		||||
				m.mcDropItem(loc, new ItemStack(Material.SNOW_BALL, 5));
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
@@ -765,71 +766,71 @@ public class Fishing {
 | 
			
		||||
		else if(le instanceof Skeleton)
 | 
			
		||||
		{
 | 
			
		||||
			if(Math.random() * 10 < 5)
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.BONE, 1));
 | 
			
		||||
				m.mcDropItem(loc, new ItemStack(Material.BONE, 1));
 | 
			
		||||
			else
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.ARROW, 3));
 | 
			
		||||
				m.mcDropItem(loc, new ItemStack(Material.ARROW, 3));
 | 
			
		||||
		} 
 | 
			
		||||
		
 | 
			
		||||
		else if(le instanceof Spider)
 | 
			
		||||
		{
 | 
			
		||||
			if(Math.random() * 10 < 5)
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.SPIDER_EYE, 1));
 | 
			
		||||
				m.mcDropItem(loc, new ItemStack(Material.SPIDER_EYE, 1));
 | 
			
		||||
			else
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.STRING, 1));
 | 
			
		||||
				m.mcDropItem(loc, new ItemStack(Material.STRING, 1));
 | 
			
		||||
		} 
 | 
			
		||||
		
 | 
			
		||||
		else if(le instanceof Creeper)
 | 
			
		||||
		{
 | 
			
		||||
			world.dropItemNaturally(le.getLocation(), new ItemStack(Material.SULPHUR, 1));
 | 
			
		||||
			m.mcDropItem(loc, new ItemStack(Material.SULPHUR, 1));
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		else if(le instanceof Enderman)
 | 
			
		||||
		{
 | 
			
		||||
			world.dropItemNaturally(le.getLocation(), new ItemStack(Material.ENDER_PEARL, 1));
 | 
			
		||||
			m.mcDropItem(loc, new ItemStack(Material.ENDER_PEARL, 1));
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		else if(le instanceof PigZombie)
 | 
			
		||||
		{
 | 
			
		||||
			if(Math.random() * 10 < 5)
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.ROTTEN_FLESH, 1));
 | 
			
		||||
				m.mcDropItem(loc, new ItemStack(Material.ROTTEN_FLESH, 1));
 | 
			
		||||
			else
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.GOLD_NUGGET, 1));
 | 
			
		||||
				m.mcDropItem(loc, new ItemStack(Material.GOLD_NUGGET, 1));
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		else if(le instanceof Blaze)
 | 
			
		||||
		{
 | 
			
		||||
			world.dropItemNaturally(le.getLocation(), new ItemStack(Material.BLAZE_ROD, 1));
 | 
			
		||||
			m.mcDropItem(loc, new ItemStack(Material.BLAZE_ROD, 1));
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		else if(le instanceof CaveSpider)
 | 
			
		||||
		{
 | 
			
		||||
			if(Math.random() * 10 < 5)
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.SPIDER_EYE, 1));
 | 
			
		||||
				m.mcDropItem(loc, new ItemStack(Material.SPIDER_EYE, 1));
 | 
			
		||||
			else
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.STRING, 1));
 | 
			
		||||
				m.mcDropItem(loc, new ItemStack(Material.STRING, 1));
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		else if(le instanceof Ghast)
 | 
			
		||||
		{
 | 
			
		||||
			if(Math.random() * 10 < 5)
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.SULPHUR, 1));
 | 
			
		||||
				m.mcDropItem(loc, new ItemStack(Material.SULPHUR, 1));
 | 
			
		||||
			else
 | 
			
		||||
				world.dropItemNaturally(le.getLocation(), new ItemStack(Material.GHAST_TEAR, 1));
 | 
			
		||||
				m.mcDropItem(loc, new ItemStack(Material.GHAST_TEAR, 1));
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		else if(le instanceof MagmaCube)
 | 
			
		||||
		{
 | 
			
		||||
			world.dropItemNaturally(le.getLocation(), new ItemStack(Material.MAGMA_CREAM, 1));
 | 
			
		||||
			m.mcDropItem(loc, new ItemStack(Material.MAGMA_CREAM, 1));
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		else if(le instanceof Slime)
 | 
			
		||||
		{
 | 
			
		||||
			world.dropItemNaturally(le.getLocation(), new ItemStack(Material.SLIME_BALL, 1));
 | 
			
		||||
			m.mcDropItem(loc, new ItemStack(Material.SLIME_BALL, 1));
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		else if(le instanceof Zombie)
 | 
			
		||||
		{
 | 
			
		||||
			world.dropItemNaturally(le.getLocation(), new ItemStack(Material.ROTTEN_FLESH, 1));
 | 
			
		||||
			m.mcDropItem(loc, new ItemStack(Material.ROTTEN_FLESH, 1));
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -82,12 +82,12 @@ public class Herbalism
 | 
			
		||||
			Location loc = block.getLocation();
 | 
			
		||||
			ItemStack is = new ItemStack(mat, 1, (byte)0, (byte)0);
 | 
			
		||||
			PP.addXP(SkillType.HERBALISM, LoadProperties.mwheat, player);
 | 
			
		||||
	    	loc.getWorld().dropItemNaturally(loc, is);
 | 
			
		||||
			m.mcDropItem(loc, is);
 | 
			
		||||
	    	
 | 
			
		||||
	    	//DROP SOME SEEDS
 | 
			
		||||
			mat = Material.SEEDS;
 | 
			
		||||
			is = new ItemStack(mat, 1, (byte)0, (byte)0);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, is);
 | 
			
		||||
			m.mcDropItem(loc, is);
 | 
			
		||||
			
 | 
			
		||||
	    	herbalismProcCheck(block, player, event, plugin);
 | 
			
		||||
	    	herbalismProcCheck(block, player, event, plugin);
 | 
			
		||||
@@ -166,18 +166,18 @@ public class Herbalism
 | 
			
		||||
    		{
 | 
			
		||||
	    		if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.HERBALISM))
 | 
			
		||||
	    		{
 | 
			
		||||
	    			loc.getWorld().dropItemNaturally(loc, is);
 | 
			
		||||
	    			m.mcDropItem(loc, is);
 | 
			
		||||
	    		}
 | 
			
		||||
    		}
 | 
			
		||||
    		//GREEN THUMB
 | 
			
		||||
    		if(Math.random() * 1500 <= PP.getSkillLevel(SkillType.HERBALISM))
 | 
			
		||||
    		{
 | 
			
		||||
    			event.setCancelled(true);
 | 
			
		||||
    			loc.getWorld().dropItemNaturally(loc, is);
 | 
			
		||||
    			m.mcDropItem(loc, is);
 | 
			
		||||
    			//DROP SOME SEEDS
 | 
			
		||||
    			mat = Material.SEEDS;
 | 
			
		||||
    			is = new ItemStack(mat, 1, (byte)0, (byte)0);
 | 
			
		||||
    			loc.getWorld().dropItemNaturally(loc, is);
 | 
			
		||||
    			m.mcDropItem(loc, is);
 | 
			
		||||
    			
 | 
			
		||||
    			block.setData((byte) 0x1); //Change it to first stage
 | 
			
		||||
    			
 | 
			
		||||
@@ -233,7 +233,7 @@ public class Herbalism
 | 
			
		||||
	    				{
 | 
			
		||||
		    		    	if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.HERBALISM))
 | 
			
		||||
		    		    	{
 | 
			
		||||
		    		    		loc.getWorld().dropItemNaturally(target.getLocation(), is);
 | 
			
		||||
		    		    		m.mcDropItem(target.getLocation(), is);
 | 
			
		||||
		    		    	}
 | 
			
		||||
		    		    	PP.addXP(SkillType.HERBALISM, LoadProperties.mcactus, player);
 | 
			
		||||
	    				}
 | 
			
		||||
@@ -272,7 +272,7 @@ public class Herbalism
 | 
			
		||||
	    				{
 | 
			
		||||
		    		    	if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.HERBALISM))
 | 
			
		||||
		    		    	{
 | 
			
		||||
		    		    		loc.getWorld().dropItemNaturally(target.getLocation(), is);
 | 
			
		||||
		    		    		m.mcDropItem(target.getLocation(), is);
 | 
			
		||||
		    		    	}
 | 
			
		||||
		    		    	PP.addXP(SkillType.HERBALISM, LoadProperties.msugar, player);
 | 
			
		||||
	    				}
 | 
			
		||||
@@ -290,7 +290,7 @@ public class Herbalism
 | 
			
		||||
	    		{
 | 
			
		||||
		    		if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.HERBALISM))
 | 
			
		||||
		    		{
 | 
			
		||||
		    			loc.getWorld().dropItemNaturally(loc, is);
 | 
			
		||||
		    			m.mcDropItem(loc, is);
 | 
			
		||||
		    		}
 | 
			
		||||
	    		}
 | 
			
		||||
	    		PP.addXP(SkillType.HERBALISM, LoadProperties.mpumpkin, player);
 | 
			
		||||
@@ -303,7 +303,7 @@ public class Herbalism
 | 
			
		||||
				
 | 
			
		||||
				if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.HERBALISM))
 | 
			
		||||
	    		{
 | 
			
		||||
	    			loc.getWorld().dropItemNaturally(loc, is);
 | 
			
		||||
					m.mcDropItem(loc, is);
 | 
			
		||||
	    		}
 | 
			
		||||
				PP.addXP(SkillType.HERBALISM, LoadProperties.mmelon, player);
 | 
			
		||||
	    	}
 | 
			
		||||
@@ -316,7 +316,7 @@ public class Herbalism
 | 
			
		||||
	    		{
 | 
			
		||||
		    		if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.HERBALISM))
 | 
			
		||||
		    		{
 | 
			
		||||
		    			loc.getWorld().dropItemNaturally(loc, is);
 | 
			
		||||
		    			m.mcDropItem(loc, is);
 | 
			
		||||
		    		}
 | 
			
		||||
	    		}
 | 
			
		||||
	    		PP.addXP(SkillType.HERBALISM, LoadProperties.mmushroom, player);
 | 
			
		||||
@@ -327,7 +327,7 @@ public class Herbalism
 | 
			
		||||
				is = new ItemStack(mat, 1, (byte)0, (byte)0);
 | 
			
		||||
	    		if(player != null){
 | 
			
		||||
		    		if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.HERBALISM)){
 | 
			
		||||
		    			loc.getWorld().dropItemNaturally(loc, is);
 | 
			
		||||
		    			m.mcDropItem(loc, is);
 | 
			
		||||
		    		}
 | 
			
		||||
	    		}
 | 
			
		||||
	    		PP.addXP(SkillType.HERBALISM, LoadProperties.mflower, player);
 | 
			
		||||
 
 | 
			
		||||
@@ -84,50 +84,50 @@ public class Mining
 | 
			
		||||
		ItemStack item = new ItemStack(mat, 1, (byte)0, damage);
 | 
			
		||||
		if(block.getTypeId() != 89 && block.getTypeId() != 73 && block.getTypeId() != 74 && block.getTypeId() != 56 
 | 
			
		||||
				&& block.getTypeId() != 21 && block.getTypeId() != 1 && block.getTypeId() != 16)
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
		if(block.getTypeId() == 89)
 | 
			
		||||
		{
 | 
			
		||||
			mat = Material.getMaterial(348);
 | 
			
		||||
			item = new ItemStack(mat, 1, (byte)0, damage);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
		}
 | 
			
		||||
		if(block.getTypeId() == 73 || block.getTypeId() == 74)
 | 
			
		||||
		{
 | 
			
		||||
			mat = Material.getMaterial(331);
 | 
			
		||||
			item = new ItemStack(mat, 1, (byte)0, damage);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			if(Math.random() * 10 > 5){
 | 
			
		||||
				loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
				m.mcDropItem(loc, item);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		if(block.getTypeId() == 21)
 | 
			
		||||
		{
 | 
			
		||||
			mat = Material.getMaterial(351);
 | 
			
		||||
			item = new ItemStack(mat, 1, (byte)0,(byte)0x4);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
		}
 | 
			
		||||
		if(block.getTypeId() == 56)
 | 
			
		||||
		{
 | 
			
		||||
			mat = Material.getMaterial(264);
 | 
			
		||||
			item = new ItemStack(mat, 1, (byte)0, damage);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
		}
 | 
			
		||||
		if(block.getTypeId() == 1)
 | 
			
		||||
		{
 | 
			
		||||
			mat = Material.getMaterial(4);
 | 
			
		||||
			item = new ItemStack(mat, 1, (byte)0, damage);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
		}
 | 
			
		||||
		if(block.getTypeId() == 16)
 | 
			
		||||
		{
 | 
			
		||||
			mat = Material.getMaterial(263);
 | 
			
		||||
			item = new ItemStack(mat, 1, (byte)0, damage);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
		}
 | 
			
		||||
    }
 | 
			
		||||
    public static void blockProcCheck(Block block, Player player)
 | 
			
		||||
@@ -291,7 +291,7 @@ public class Mining
 | 
			
		||||
        		}
 | 
			
		||||
    		}
 | 
			
		||||
			item = new ItemStack(mat, 1, (byte)0, damage);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
 | 
			
		||||
    		block.setType(Material.AIR);
 | 
			
		||||
    	}
 | 
			
		||||
@@ -305,7 +305,7 @@ public class Mining
 | 
			
		||||
    		}
 | 
			
		||||
    		mat = Material.getMaterial(87);
 | 
			
		||||
			item = new ItemStack(mat, 1, (byte)0, damage);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
 | 
			
		||||
    		block.setType(Material.AIR);
 | 
			
		||||
    	}
 | 
			
		||||
@@ -319,7 +319,7 @@ public class Mining
 | 
			
		||||
    		}
 | 
			
		||||
    		mat = Material.getMaterial(348);
 | 
			
		||||
			item = new ItemStack(mat, 1, (byte)0, damage);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
 | 
			
		||||
    		block.setType(Material.AIR);
 | 
			
		||||
    	}
 | 
			
		||||
@@ -333,7 +333,7 @@ public class Mining
 | 
			
		||||
        		}
 | 
			
		||||
    		mat = Material.getMaterial(263);
 | 
			
		||||
			item = new ItemStack(mat, 1, (byte)0, damage);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
 | 
			
		||||
    		block.setType(Material.AIR);
 | 
			
		||||
    	}
 | 
			
		||||
@@ -346,7 +346,7 @@ public class Mining
 | 
			
		||||
        		blockProcCheck(block, player);
 | 
			
		||||
        		}
 | 
			
		||||
    		item = new ItemStack(mat, 1, (byte)0, damage);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
 | 
			
		||||
    		block.setType(Material.AIR);
 | 
			
		||||
    	}
 | 
			
		||||
@@ -362,7 +362,7 @@ public class Mining
 | 
			
		||||
        	}
 | 
			
		||||
    		mat = Material.getMaterial(49);
 | 
			
		||||
			item = new ItemStack(mat, 1, (byte)0, damage);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
 | 
			
		||||
    		block.setType(Material.AIR);
 | 
			
		||||
    	}
 | 
			
		||||
@@ -376,7 +376,7 @@ public class Mining
 | 
			
		||||
        	}
 | 
			
		||||
    		mat = Material.getMaterial(264);
 | 
			
		||||
			item = new ItemStack(mat, 1, (byte)0, damage);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
 | 
			
		||||
    		block.setType(Material.AIR);
 | 
			
		||||
    	}
 | 
			
		||||
@@ -389,7 +389,7 @@ public class Mining
 | 
			
		||||
        		blockProcCheck(block, player);
 | 
			
		||||
        	}
 | 
			
		||||
    		item = new ItemStack(mat, 1, (byte)0, damage);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
 | 
			
		||||
    		block.setType(Material.AIR);
 | 
			
		||||
    	}
 | 
			
		||||
@@ -404,12 +404,12 @@ public class Mining
 | 
			
		||||
        	}
 | 
			
		||||
    		mat = Material.getMaterial(331);
 | 
			
		||||
			item = new ItemStack(mat, 1, (byte)0, damage);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			if(Math.random() * 10 > 5)
 | 
			
		||||
			{
 | 
			
		||||
				loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
				m.mcDropItem(loc, item);
 | 
			
		||||
			}
 | 
			
		||||
			player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
 | 
			
		||||
    		block.setType(Material.AIR);
 | 
			
		||||
@@ -423,10 +423,10 @@ public class Mining
 | 
			
		||||
        	}
 | 
			
		||||
    		mat = Material.getMaterial(351);
 | 
			
		||||
			item = new ItemStack(mat, 1, (byte)0,(byte)0x4);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			m.mcDropItem(loc, item);
 | 
			
		||||
			player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
 | 
			
		||||
    		block.setType(Material.AIR);
 | 
			
		||||
    	}
 | 
			
		||||
 
 | 
			
		||||
@@ -77,33 +77,32 @@ public class Skills
 | 
			
		||||
    	return (int) (((deactivatedTimeStamp + (cooldown * 1000)) - System.currentTimeMillis())/1000);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public static void watchCooldowns(Player player){
 | 
			
		||||
    	PlayerProfile PP = Users.getProfile(player);
 | 
			
		||||
    	if(!PP.getGreenTerraInformed() && System.currentTimeMillis() - (PP.getGreenTerraDeactivatedTimeStamp()*1000) >= (LoadProperties.greenTerraCooldown * 1000)){
 | 
			
		||||
    public static void watchCooldowns(Player player, PlayerProfile PP, long curTime){
 | 
			
		||||
    	if(!PP.getGreenTerraInformed() && curTime - (PP.getGreenTerraDeactivatedTimeStamp()*1000) >= (LoadProperties.greenTerraCooldown * 1000)){
 | 
			
		||||
			PP.setGreenTerraInformed(true);
 | 
			
		||||
    		player.sendMessage(mcLocale.getString("Skills.YourGreenTerra"));
 | 
			
		||||
    	}
 | 
			
		||||
    	if(!PP.getTreeFellerInformed() && System.currentTimeMillis() - (PP.getTreeFellerDeactivatedTimeStamp()*1000) >= (LoadProperties.greenTerraCooldown * 1000)){
 | 
			
		||||
    	if(!PP.getTreeFellerInformed() && curTime - (PP.getTreeFellerDeactivatedTimeStamp()*1000) >= (LoadProperties.greenTerraCooldown * 1000)){
 | 
			
		||||
			PP.setTreeFellerInformed(true);
 | 
			
		||||
			player.sendMessage(mcLocale.getString("Skills.YourTreeFeller"));
 | 
			
		||||
    	}
 | 
			
		||||
    	if(!PP.getSuperBreakerInformed() && System.currentTimeMillis() - (PP.getSuperBreakerDeactivatedTimeStamp()*1000) >= (LoadProperties.superBreakerCooldown * 1000)){
 | 
			
		||||
    	if(!PP.getSuperBreakerInformed() && curTime - (PP.getSuperBreakerDeactivatedTimeStamp()*1000) >= (LoadProperties.superBreakerCooldown * 1000)){
 | 
			
		||||
			PP.setSuperBreakerInformed(true);
 | 
			
		||||
			player.sendMessage(mcLocale.getString("Skills.YourSuperBreaker"));
 | 
			
		||||
    	}
 | 
			
		||||
    	if(!PP.getSerratedStrikesInformed() && System.currentTimeMillis() - (PP.getSerratedStrikesDeactivatedTimeStamp()*1000) >= (LoadProperties.serratedStrikeCooldown * 1000)){
 | 
			
		||||
    	if(!PP.getSerratedStrikesInformed() && curTime - (PP.getSerratedStrikesDeactivatedTimeStamp()*1000) >= (LoadProperties.serratedStrikeCooldown * 1000)){
 | 
			
		||||
			PP.setSerratedStrikesInformed(true);
 | 
			
		||||
			player.sendMessage(mcLocale.getString("Skills.YourSerratedStrikes"));
 | 
			
		||||
    	}
 | 
			
		||||
    	if(!PP.getBerserkInformed() && System.currentTimeMillis() - (PP.getBerserkDeactivatedTimeStamp()*1000) >= (LoadProperties.berserkCooldown * 1000)){
 | 
			
		||||
    	if(!PP.getBerserkInformed() && curTime - (PP.getBerserkDeactivatedTimeStamp()*1000) >= (LoadProperties.berserkCooldown * 1000)){
 | 
			
		||||
			PP.setBerserkInformed(true);
 | 
			
		||||
			player.sendMessage(mcLocale.getString("Skills.YourBerserk"));
 | 
			
		||||
    	}
 | 
			
		||||
    	if(!PP.getSkullSplitterInformed() && System.currentTimeMillis() - (PP.getSkullSplitterDeactivatedTimeStamp()*1000) >= (LoadProperties.skullSplitterCooldown * 1000)){
 | 
			
		||||
    	if(!PP.getSkullSplitterInformed() && curTime - (PP.getSkullSplitterDeactivatedTimeStamp()*1000) >= (LoadProperties.skullSplitterCooldown * 1000)){
 | 
			
		||||
			PP.setSkullSplitterInformed(true);
 | 
			
		||||
			player.sendMessage(mcLocale.getString("Skills.YourSkullSplitter"));
 | 
			
		||||
    	}
 | 
			
		||||
    	if(!PP.getGigaDrillBreakerInformed() && System.currentTimeMillis() - (PP.getGigaDrillBreakerDeactivatedTimeStamp()*1000) >= (LoadProperties.gigaDrillBreakerCooldown * 1000)){
 | 
			
		||||
    	if(!PP.getGigaDrillBreakerInformed() && curTime - (PP.getGigaDrillBreakerDeactivatedTimeStamp()*1000) >= (LoadProperties.gigaDrillBreakerCooldown * 1000)){
 | 
			
		||||
			PP.setGigaDrillBreakerInformed(true);
 | 
			
		||||
			player.sendMessage(mcLocale.getString("Skills.YourGigaDrillBreaker"));
 | 
			
		||||
    	}
 | 
			
		||||
@@ -126,104 +125,103 @@ public class Skills
 | 
			
		||||
			PP.setHoePreparationMode(true);
 | 
			
		||||
    	}
 | 
			
		||||
    }
 | 
			
		||||
    public static void monitorSkills(Player player){
 | 
			
		||||
		PlayerProfile PP = Users.getProfile(player);
 | 
			
		||||
		if(PP != null) 
 | 
			
		||||
		{
 | 
			
		||||
			if(PP.getHoePreparationMode() && System.currentTimeMillis() - (PP.getHoePreparationATS()*1000) >= 4000){
 | 
			
		||||
				PP.setHoePreparationMode(false);
 | 
			
		||||
				player.sendMessage(mcLocale.getString("Skills.LowerHoe"));
 | 
			
		||||
    public static void monitorSkills(Player player, PlayerProfile PP) {
 | 
			
		||||
    	monitorSkills(player, PP, System.currentTimeMillis());
 | 
			
		||||
    }
 | 
			
		||||
    public static void monitorSkills(Player player, PlayerProfile PP, long curTime){
 | 
			
		||||
		if(PP.getHoePreparationMode() && curTime - (PP.getHoePreparationATS()*1000) >= 4000){
 | 
			
		||||
			PP.setHoePreparationMode(false);
 | 
			
		||||
			player.sendMessage(mcLocale.getString("Skills.LowerHoe"));
 | 
			
		||||
		}
 | 
			
		||||
		if(PP.getAxePreparationMode() && curTime - (PP.getAxePreparationATS()*1000) >= 4000){
 | 
			
		||||
			PP.setAxePreparationMode(false);
 | 
			
		||||
			player.sendMessage(mcLocale.getString("Skills.LowerAxe"));
 | 
			
		||||
		}
 | 
			
		||||
		if(PP.getPickaxePreparationMode() && curTime - (PP.getPickaxePreparationATS()*1000) >= 4000){
 | 
			
		||||
			PP.setPickaxePreparationMode(false);
 | 
			
		||||
			player.sendMessage(mcLocale.getString("Skills.LowerPickAxe"));
 | 
			
		||||
		}
 | 
			
		||||
		if(PP.getSwordsPreparationMode() && curTime - (PP.getSwordsPreparationATS()*1000) >= 4000){
 | 
			
		||||
			PP.setSwordsPreparationMode(false);
 | 
			
		||||
			player.sendMessage(mcLocale.getString("Skills.LowerSword"));
 | 
			
		||||
		}
 | 
			
		||||
		if(PP.getFistsPreparationMode() && curTime - (PP.getFistsPreparationATS()*1000) >= 4000){
 | 
			
		||||
			PP.setFistsPreparationMode(false);
 | 
			
		||||
			player.sendMessage(mcLocale.getString("Skills.LowerFists"));
 | 
			
		||||
		}
 | 
			
		||||
		if(PP.getShovelPreparationMode() && curTime - (PP.getShovelPreparationATS()*1000) >= 4000){
 | 
			
		||||
			PP.setShovelPreparationMode(false);
 | 
			
		||||
			player.sendMessage(mcLocale.getString("Skills.LowerShovel"));
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		/*
 | 
			
		||||
		 * HERBALISM ABILITY
 | 
			
		||||
		 */
 | 
			
		||||
		if(mcPermissions.getInstance().herbalismAbility(player)){
 | 
			
		||||
			if(PP.getGreenTerraMode() && (PP.getGreenTerraDeactivatedTimeStamp()*1000) <= curTime){
 | 
			
		||||
				PP.setGreenTerraMode(false);
 | 
			
		||||
				PP.setGreenTerraInformed(false);
 | 
			
		||||
				player.sendMessage(mcLocale.getString("Skills.GreenTerraOff"));
 | 
			
		||||
			}
 | 
			
		||||
			if(PP.getAxePreparationMode() && System.currentTimeMillis() - (PP.getAxePreparationATS()*1000) >= 4000){
 | 
			
		||||
				PP.setAxePreparationMode(false);
 | 
			
		||||
				player.sendMessage(mcLocale.getString("Skills.LowerAxe"));
 | 
			
		||||
		}
 | 
			
		||||
		/*
 | 
			
		||||
		 * AXES ABILITY
 | 
			
		||||
		 */
 | 
			
		||||
		if(mcPermissions.getInstance().axesAbility(player)){
 | 
			
		||||
			if(PP.getSkullSplitterMode() && (PP.getSkullSplitterDeactivatedTimeStamp()*1000) <= curTime){
 | 
			
		||||
					PP.setSkullSplitterMode(false);
 | 
			
		||||
					PP.setSkullSplitterInformed(false);
 | 
			
		||||
					player.sendMessage(mcLocale.getString("Skills.SkullSplitterOff"));
 | 
			
		||||
			}
 | 
			
		||||
			if(PP.getPickaxePreparationMode() && System.currentTimeMillis() - (PP.getPickaxePreparationATS()*1000) >= 4000){
 | 
			
		||||
				PP.setPickaxePreparationMode(false);
 | 
			
		||||
				player.sendMessage(mcLocale.getString("Skills.LowerPickAxe"));
 | 
			
		||||
		}
 | 
			
		||||
		/*
 | 
			
		||||
		 * WOODCUTTING ABILITY
 | 
			
		||||
		 */
 | 
			
		||||
		if(mcPermissions.getInstance().woodCuttingAbility(player)){
 | 
			
		||||
			if(PP.getTreeFellerMode() && (PP.getTreeFellerDeactivatedTimeStamp()*1000) <= curTime){
 | 
			
		||||
					PP.setTreeFellerMode(false);
 | 
			
		||||
					PP.setTreeFellerInformed(false);
 | 
			
		||||
					player.sendMessage(mcLocale.getString("Skills.TreeFellerOff"));
 | 
			
		||||
			}
 | 
			
		||||
			if(PP.getSwordsPreparationMode() && System.currentTimeMillis() - (PP.getSwordsPreparationATS()*1000) >= 4000){
 | 
			
		||||
				PP.setSwordsPreparationMode(false);
 | 
			
		||||
				player.sendMessage(mcLocale.getString("Skills.LowerSword"));
 | 
			
		||||
		}
 | 
			
		||||
		/*
 | 
			
		||||
		 * MINING ABILITY
 | 
			
		||||
		 */
 | 
			
		||||
		if(mcPermissions.getInstance().miningAbility(player)){
 | 
			
		||||
			if(PP.getSuperBreakerMode() && (PP.getSuperBreakerDeactivatedTimeStamp()*1000) <= curTime){
 | 
			
		||||
					PP.setSuperBreakerMode(false);
 | 
			
		||||
					PP.setSuperBreakerInformed(false);
 | 
			
		||||
					player.sendMessage(mcLocale.getString("Skills.SuperBreakerOff"));
 | 
			
		||||
			}
 | 
			
		||||
			if(PP.getFistsPreparationMode() && System.currentTimeMillis() - (PP.getFistsPreparationATS()*1000) >= 4000){
 | 
			
		||||
				PP.setFistsPreparationMode(false);
 | 
			
		||||
				player.sendMessage(mcLocale.getString("Skills.LowerFists"));
 | 
			
		||||
		}
 | 
			
		||||
		/*
 | 
			
		||||
		 * EXCAVATION ABILITY
 | 
			
		||||
		 */
 | 
			
		||||
		if(mcPermissions.getInstance().excavationAbility(player)){
 | 
			
		||||
			if(PP.getGigaDrillBreakerMode() && (PP.getGigaDrillBreakerDeactivatedTimeStamp()*1000) <= curTime){
 | 
			
		||||
					PP.setGigaDrillBreakerMode(false);
 | 
			
		||||
					PP.setGigaDrillBreakerInformed(false);
 | 
			
		||||
					player.sendMessage(mcLocale.getString("Skills.GigaDrillBreakerOff"));
 | 
			
		||||
			}
 | 
			
		||||
			if(PP.getShovelPreparationMode() && System.currentTimeMillis() - (PP.getShovelPreparationATS()*1000) >= 4000){
 | 
			
		||||
				PP.setShovelPreparationMode(false);
 | 
			
		||||
				player.sendMessage(mcLocale.getString("Skills.LowerShovel"));
 | 
			
		||||
		}
 | 
			
		||||
		/*
 | 
			
		||||
		 * SWORDS ABILITY
 | 
			
		||||
		 */
 | 
			
		||||
		if(mcPermissions.getInstance().swordsAbility(player)){
 | 
			
		||||
			if(PP.getSerratedStrikesMode() && (PP.getSerratedStrikesDeactivatedTimeStamp()*1000) <= curTime){
 | 
			
		||||
					PP.setSerratedStrikesMode(false);
 | 
			
		||||
					PP.setSerratedStrikesInformed(false);
 | 
			
		||||
					player.sendMessage(mcLocale.getString("Skills.SerratedStrikesOff"));
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			/*
 | 
			
		||||
			 * HERBALISM ABILITY
 | 
			
		||||
			 */
 | 
			
		||||
			if(mcPermissions.getInstance().herbalismAbility(player)){
 | 
			
		||||
				if(PP.getGreenTerraMode() && (PP.getGreenTerraDeactivatedTimeStamp()*1000) <= System.currentTimeMillis()){
 | 
			
		||||
					PP.setGreenTerraMode(false);
 | 
			
		||||
					PP.setGreenTerraInformed(false);
 | 
			
		||||
					player.sendMessage(mcLocale.getString("Skills.GreenTerraOff"));
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			/*
 | 
			
		||||
			 * AXES ABILITY
 | 
			
		||||
			 */
 | 
			
		||||
			if(mcPermissions.getInstance().axesAbility(player)){
 | 
			
		||||
				if(PP.getSkullSplitterMode() && (PP.getSkullSplitterDeactivatedTimeStamp()*1000) <= System.currentTimeMillis()){
 | 
			
		||||
						PP.setSkullSplitterMode(false);
 | 
			
		||||
						PP.setSkullSplitterInformed(false);
 | 
			
		||||
						player.sendMessage(mcLocale.getString("Skills.SkullSplitterOff"));
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			/*
 | 
			
		||||
			 * WOODCUTTING ABILITY
 | 
			
		||||
			 */
 | 
			
		||||
			if(mcPermissions.getInstance().woodCuttingAbility(player)){
 | 
			
		||||
				if(PP.getTreeFellerMode() && (PP.getTreeFellerDeactivatedTimeStamp()*1000) <= System.currentTimeMillis()){
 | 
			
		||||
						PP.setTreeFellerMode(false);
 | 
			
		||||
						PP.setTreeFellerInformed(false);
 | 
			
		||||
						player.sendMessage(mcLocale.getString("Skills.TreeFellerOff"));
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			/*
 | 
			
		||||
			 * MINING ABILITY
 | 
			
		||||
			 */
 | 
			
		||||
			if(mcPermissions.getInstance().miningAbility(player)){
 | 
			
		||||
				if(PP.getSuperBreakerMode() && (PP.getSuperBreakerDeactivatedTimeStamp()*1000) <= System.currentTimeMillis()){
 | 
			
		||||
						PP.setSuperBreakerMode(false);
 | 
			
		||||
						PP.setSuperBreakerInformed(false);
 | 
			
		||||
						player.sendMessage(mcLocale.getString("Skills.SuperBreakerOff"));
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			/*
 | 
			
		||||
			 * EXCAVATION ABILITY
 | 
			
		||||
			 */
 | 
			
		||||
			if(mcPermissions.getInstance().excavationAbility(player)){
 | 
			
		||||
				if(PP.getGigaDrillBreakerMode() && (PP.getGigaDrillBreakerDeactivatedTimeStamp()*1000) <= System.currentTimeMillis()){
 | 
			
		||||
						PP.setGigaDrillBreakerMode(false);
 | 
			
		||||
						PP.setGigaDrillBreakerInformed(false);
 | 
			
		||||
						player.sendMessage(mcLocale.getString("Skills.GigaDrillBreakerOff"));
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			/*
 | 
			
		||||
			 * SWORDS ABILITY
 | 
			
		||||
			 */
 | 
			
		||||
			if(mcPermissions.getInstance().swordsAbility(player)){
 | 
			
		||||
				if(PP.getSerratedStrikesMode() && (PP.getSerratedStrikesDeactivatedTimeStamp()*1000) <= System.currentTimeMillis()){
 | 
			
		||||
						PP.setSerratedStrikesMode(false);
 | 
			
		||||
						PP.setSerratedStrikesInformed(false);
 | 
			
		||||
						player.sendMessage(mcLocale.getString("Skills.SerratedStrikesOff"));
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			/*
 | 
			
		||||
			 * UNARMED ABILITY
 | 
			
		||||
			 */
 | 
			
		||||
			if(mcPermissions.getInstance().unarmedAbility(player)){
 | 
			
		||||
				if(PP.getBerserkMode() && (PP.getBerserkDeactivatedTimeStamp()*1000) <= System.currentTimeMillis()){
 | 
			
		||||
						PP.setBerserkMode(false);
 | 
			
		||||
						PP.setBerserkInformed(false);
 | 
			
		||||
						player.sendMessage(mcLocale.getString("Skills.BerserkOff"));
 | 
			
		||||
				}
 | 
			
		||||
		}
 | 
			
		||||
		/*
 | 
			
		||||
		 * UNARMED ABILITY
 | 
			
		||||
		 */
 | 
			
		||||
		if(mcPermissions.getInstance().unarmedAbility(player)){
 | 
			
		||||
			if(PP.getBerserkMode() && (PP.getBerserkDeactivatedTimeStamp()*1000) <= curTime){
 | 
			
		||||
					PP.setBerserkMode(false);
 | 
			
		||||
					PP.setBerserkInformed(false);
 | 
			
		||||
					player.sendMessage(mcLocale.getString("Skills.BerserkOff"));
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -84,7 +84,7 @@ public class Unarmed {
 | 
			
		||||
	    				ItemStack item = defender.getItemInHand();
 | 
			
		||||
		    			if(item != null)
 | 
			
		||||
		    			{
 | 
			
		||||
		    				loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
		    				m.mcDropItem(loc, item);
 | 
			
		||||
		    				ItemStack itemx = null;
 | 
			
		||||
		    				defender.setItemInHand(itemx);
 | 
			
		||||
		    			}
 | 
			
		||||
@@ -99,7 +99,7 @@ public class Unarmed {
 | 
			
		||||
	    				ItemStack item = defender.getItemInHand();
 | 
			
		||||
		    			if(item != null)
 | 
			
		||||
		    			{
 | 
			
		||||
		    				loc.getWorld().dropItemNaturally(loc, item);
 | 
			
		||||
		    				m.mcDropItem(loc, item);
 | 
			
		||||
		    				ItemStack itemx = null;
 | 
			
		||||
		    				defender.setItemInHand(itemx);
 | 
			
		||||
	    				}
 | 
			
		||||
 
 | 
			
		||||
@@ -48,7 +48,7 @@ public class WoodCutting
 | 
			
		||||
    		if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.WOODCUTTING))
 | 
			
		||||
    		{
 | 
			
		||||
    			ItemStack item = new ItemStack(mat, 1, (short) 0, type);
 | 
			
		||||
    			block.getWorld().dropItemNaturally(block.getLocation(), item);
 | 
			
		||||
    			m.mcDropItem(block.getLocation(), item);
 | 
			
		||||
    		}
 | 
			
		||||
    	}
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user