New McMMOItemSpawnEvent

- Changed all of mcMMO to use one drop method to facilitate new event
- Added a missing bit of copyright notice to last event
This commit is contained in:
NuclearW 2012-01-29 02:51:59 -05:00
parent a61efae527
commit 01bbd9bcac
10 changed files with 213 additions and 100 deletions

View File

@ -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;
}
}

View File

@ -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; package com.gmail.nossr50.events;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;

View File

@ -226,7 +226,7 @@ public class mcBlockListener implements Listener
ItemStack item = new ItemStack(mat, 1, (byte)0, type); ItemStack item = new ItemStack(mat, 1, (byte)0, type);
if(blockx.getTypeId() == 17) if(blockx.getTypeId() == 17)
{ {
blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item); m.mcDropItem(blockx.getLocation(), item);
//XP WOODCUTTING //XP WOODCUTTING
if(!plugin.misc.blockWatchList.contains(block)) if(!plugin.misc.blockWatchList.contains(block))
{ {
@ -241,7 +241,7 @@ public class mcBlockListener implements Listener
item = new ItemStack(mat, 1, (short)0, blockx.getData()); item = new ItemStack(mat, 1, (short)0, blockx.getData());
if(Math.random() * 10 > 9) if(Math.random() * 10 > 9)
blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item); m.mcDropItem(blockx.getLocation(), item);
} }
if(blockx.getType() != Material.AIR) if(blockx.getType() != Material.AIR)
player.incrementStatistic(Statistic.MINE_BLOCK, event.getBlock().getType()); player.incrementStatistic(Statistic.MINE_BLOCK, event.getBlock().getType());
@ -353,13 +353,13 @@ public class mcBlockListener implements Listener
if(item.getType() == Material.CLAY_BALL) if(item.getType() == Material.CLAY_BALL)
{ {
block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); m.mcDropItem(block.getLocation(), item);
block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); m.mcDropItem(block.getLocation(), item);
block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); m.mcDropItem(block.getLocation(), item);
block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); m.mcDropItem(block.getLocation(), item);
} else } else
{ {
block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); m.mcDropItem(block.getLocation(), item);
} }
//Spout stuff //Spout stuff
@ -392,13 +392,13 @@ public class mcBlockListener implements Listener
if(item.getType() == Material.CLAY_BALL) if(item.getType() == Material.CLAY_BALL)
{ {
block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); m.mcDropItem(block.getLocation(), item);
block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); m.mcDropItem(block.getLocation(), item);
block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); m.mcDropItem(block.getLocation(), item);
block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); m.mcDropItem(block.getLocation(), item);
} else } else
{ {
block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); m.mcDropItem(block.getLocation(), item);
} }
if(LoadProperties.spoutEnabled) if(LoadProperties.spoutEnabled)
@ -431,7 +431,7 @@ public class mcBlockListener implements Listener
if(Math.random() * 10 > 9) if(Math.random() * 10 > 9)
{ {
ItemStack x = new ItemStack(Material.SAPLING, 1, (short)0, block.getData()); 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); block.setType(Material.AIR);
player.incrementStatistic(Statistic.MINE_BLOCK, event.getBlock().getType()); player.incrementStatistic(Statistic.MINE_BLOCK, event.getBlock().getType());

View File

@ -31,6 +31,7 @@ import com.gmail.nossr50.config.*;
import com.gmail.nossr50.datatypes.PlayerProfile; import com.gmail.nossr50.datatypes.PlayerProfile;
import com.gmail.nossr50.datatypes.FakeBlockBreakEvent; import com.gmail.nossr50.datatypes.FakeBlockBreakEvent;
import com.gmail.nossr50.datatypes.SkillType; import com.gmail.nossr50.datatypes.SkillType;
import com.gmail.nossr50.events.McMMOItemSpawnEvent;
public class m public class m
{ {
@ -255,15 +256,21 @@ public class m
} }
return true; return true;
} }
public static void mcDropItem(Location loc, int id) public static void mcDropItem(Location location, int id)
{
if(loc != null)
{ {
if(location == null) return;
Material mat = Material.getMaterial(id); Material mat = Material.getMaterial(id);
byte damage = 0; ItemStack item = new ItemStack(mat, 1, (byte) 0, (byte) 0);
ItemStack item = new ItemStack(mat, 1, (byte)0, damage); mcDropItem(location, item);
loc.getWorld().dropItemNaturally(loc, 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) public static boolean isSwords(ItemStack is)

View File

@ -269,7 +269,7 @@ public class Excavation
for(ItemStack x : is) for(ItemStack x : is)
{ {
if(x != null) if(x != null)
loc.getWorld().dropItemNaturally(loc, x); m.mcDropItem(loc, x);
} }
//Handle XP related tasks //Handle XP related tasks

View File

@ -1,7 +1,7 @@
package com.gmail.nossr50.skills; package com.gmail.nossr50.skills;
import org.bukkit.Location;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.craftbukkit.entity.CraftItem; import org.bukkit.craftbukkit.entity.CraftItem;
import org.bukkit.enchantments.Enchantment; import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.*; import org.bukkit.entity.*;
@ -11,6 +11,7 @@ import org.bukkit.material.Wool;
import com.gmail.nossr50.Combat; import com.gmail.nossr50.Combat;
import com.gmail.nossr50.Users; import com.gmail.nossr50.Users;
import com.gmail.nossr50.m;
import com.gmail.nossr50.config.LoadProperties; import com.gmail.nossr50.config.LoadProperties;
import com.gmail.nossr50.datatypes.PlayerProfile; import com.gmail.nossr50.datatypes.PlayerProfile;
import com.gmail.nossr50.datatypes.SkillType; import com.gmail.nossr50.datatypes.SkillType;
@ -61,7 +62,7 @@ public class Fishing {
getFishingResultsTier5(player, event); getFishingResultsTier5(player, event);
break; 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); Users.getProfile(player).addXP(SkillType.FISHING, LoadProperties.mfishing, player);
Skills.XpCheckSkill(SkillType.FISHING, player); Skills.XpCheckSkill(SkillType.FISHING, player);
} }
@ -673,7 +674,7 @@ public class Fishing {
return; return;
Combat.dealDamage(le, 1, event.getPlayer()); Combat.dealDamage(le, 1, event.getPlayer());
World world = le.getWorld(); Location loc = le.getLocation();
/* Neutral Mobs */ /* Neutral Mobs */
if(le instanceof Sheep) if(le instanceof Sheep)
@ -685,26 +686,26 @@ public class Fishing {
wool.setColor(sheep.getColor()); wool.setColor(sheep.getColor());
ItemStack theWool = wool.toItemStack(); ItemStack theWool = wool.toItemStack();
theWool.setAmount((int)(Math.random() * 6)); theWool.setAmount((int)(Math.random() * 6));
world.dropItemNaturally(le.getLocation(), theWool); m.mcDropItem(loc, theWool);
sheep.setSheared(true); sheep.setSheared(true);
} }
} }
else if(le instanceof Pig) 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) else if(le instanceof Cow)
{ {
if(Math.random() * 100 < 99){ 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){ else if(Math.random() * 10 < 5){
world.dropItemNaturally(le.getLocation(), new ItemStack(Material.LEATHER, 1)); m.mcDropItem(loc, new ItemStack(Material.LEATHER, 1));
} }
else{ 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 <= 7){
if(Math.random() * 10 < 5){ if(Math.random() * 10 < 5){
world.dropItemNaturally(le.getLocation(), new ItemStack(Material.FEATHER, 1)); m.mcDropItem(loc, new ItemStack(Material.FEATHER, 1));
} }
else{ else{
world.dropItemNaturally(le.getLocation(), new ItemStack(Material.RAW_CHICKEN, 1)); m.mcDropItem(loc, new ItemStack(Material.RAW_CHICKEN, 1));
} }
} }
else{ 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() * 100 < 99){
if(Math.random() * 10 < 5){ 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{ 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){ else if(Math.random() * 10 <= 7){
if(Math.random() * 10 < 5){ if(Math.random() * 10 < 5){
world.dropItemNaturally(le.getLocation(), new ItemStack(Material.LEATHER, 1)); m.mcDropItem(loc, new ItemStack(Material.LEATHER, 1));
} }
else{ else{
world.dropItemNaturally(le.getLocation(), new ItemStack(Material.RAW_BEEF, 1)); m.mcDropItem(loc, new ItemStack(Material.RAW_BEEF, 1));
} }
} }
else{ 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 //need some way to remove MushroomCow & replace with regular cow when sheared
} }
} }
else if(le instanceof Squid) 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){ else if(le instanceof Snowman){
if(Math.random() * 100 < 99){ 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{ 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) else if(le instanceof Skeleton)
{ {
if(Math.random() * 10 < 5) if(Math.random() * 10 < 5)
world.dropItemNaturally(le.getLocation(), new ItemStack(Material.BONE, 1)); m.mcDropItem(loc, new ItemStack(Material.BONE, 1));
else else
world.dropItemNaturally(le.getLocation(), new ItemStack(Material.ARROW, 3)); m.mcDropItem(loc, new ItemStack(Material.ARROW, 3));
} }
else if(le instanceof Spider) else if(le instanceof Spider)
{ {
if(Math.random() * 10 < 5) 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 else
world.dropItemNaturally(le.getLocation(), new ItemStack(Material.STRING, 1)); m.mcDropItem(loc, new ItemStack(Material.STRING, 1));
} }
else if(le instanceof Creeper) 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) 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) else if(le instanceof PigZombie)
{ {
if(Math.random() * 10 < 5) 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 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) 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) else if(le instanceof CaveSpider)
{ {
if(Math.random() * 10 < 5) 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 else
world.dropItemNaturally(le.getLocation(), new ItemStack(Material.STRING, 1)); m.mcDropItem(loc, new ItemStack(Material.STRING, 1));
} }
else if(le instanceof Ghast) else if(le instanceof Ghast)
{ {
if(Math.random() * 10 < 5) if(Math.random() * 10 < 5)
world.dropItemNaturally(le.getLocation(), new ItemStack(Material.SULPHUR, 1)); m.mcDropItem(loc, new ItemStack(Material.SULPHUR, 1));
else 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) 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) 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) else if(le instanceof Zombie)
{ {
world.dropItemNaturally(le.getLocation(), new ItemStack(Material.ROTTEN_FLESH, 1)); m.mcDropItem(loc, new ItemStack(Material.ROTTEN_FLESH, 1));
} }
} }
} }

View File

@ -82,12 +82,12 @@ public class Herbalism
Location loc = block.getLocation(); Location loc = block.getLocation();
ItemStack is = new ItemStack(mat, 1, (byte)0, (byte)0); ItemStack is = new ItemStack(mat, 1, (byte)0, (byte)0);
PP.addXP(SkillType.HERBALISM, LoadProperties.mwheat, player); PP.addXP(SkillType.HERBALISM, LoadProperties.mwheat, player);
loc.getWorld().dropItemNaturally(loc, is); m.mcDropItem(loc, is);
//DROP SOME SEEDS //DROP SOME SEEDS
mat = Material.SEEDS; mat = Material.SEEDS;
is = new ItemStack(mat, 1, (byte)0, (byte)0); 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);
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)) if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.HERBALISM))
{ {
loc.getWorld().dropItemNaturally(loc, is); m.mcDropItem(loc, is);
} }
} }
//GREEN THUMB //GREEN THUMB
if(Math.random() * 1500 <= PP.getSkillLevel(SkillType.HERBALISM)) if(Math.random() * 1500 <= PP.getSkillLevel(SkillType.HERBALISM))
{ {
event.setCancelled(true); event.setCancelled(true);
loc.getWorld().dropItemNaturally(loc, is); m.mcDropItem(loc, is);
//DROP SOME SEEDS //DROP SOME SEEDS
mat = Material.SEEDS; mat = Material.SEEDS;
is = new ItemStack(mat, 1, (byte)0, (byte)0); 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 block.setData((byte) 0x1); //Change it to first stage
@ -233,7 +233,7 @@ public class Herbalism
{ {
if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.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); PP.addXP(SkillType.HERBALISM, LoadProperties.mcactus, player);
} }
@ -272,7 +272,7 @@ public class Herbalism
{ {
if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.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); PP.addXP(SkillType.HERBALISM, LoadProperties.msugar, player);
} }
@ -290,7 +290,7 @@ public class Herbalism
{ {
if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.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); PP.addXP(SkillType.HERBALISM, LoadProperties.mpumpkin, player);
@ -303,7 +303,7 @@ public class Herbalism
if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.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); PP.addXP(SkillType.HERBALISM, LoadProperties.mmelon, player);
} }
@ -316,7 +316,7 @@ public class Herbalism
{ {
if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.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); PP.addXP(SkillType.HERBALISM, LoadProperties.mmushroom, player);
@ -327,7 +327,7 @@ public class Herbalism
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);
if(player != null){ if(player != null){
if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.HERBALISM)){ if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.HERBALISM)){
loc.getWorld().dropItemNaturally(loc, is); m.mcDropItem(loc, is);
} }
} }
PP.addXP(SkillType.HERBALISM, LoadProperties.mflower, player); PP.addXP(SkillType.HERBALISM, LoadProperties.mflower, player);

View File

@ -84,50 +84,50 @@ public class Mining
ItemStack item = new ItemStack(mat, 1, (byte)0, damage); ItemStack item = new ItemStack(mat, 1, (byte)0, damage);
if(block.getTypeId() != 89 && block.getTypeId() != 73 && block.getTypeId() != 74 && block.getTypeId() != 56 if(block.getTypeId() != 89 && block.getTypeId() != 73 && block.getTypeId() != 74 && block.getTypeId() != 56
&& block.getTypeId() != 21 && block.getTypeId() != 1 && block.getTypeId() != 16) && block.getTypeId() != 21 && block.getTypeId() != 1 && block.getTypeId() != 16)
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
if(block.getTypeId() == 89) if(block.getTypeId() == 89)
{ {
mat = Material.getMaterial(348); mat = Material.getMaterial(348);
item = new ItemStack(mat, 1, (byte)0, damage); item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
} }
if(block.getTypeId() == 73 || block.getTypeId() == 74) if(block.getTypeId() == 73 || block.getTypeId() == 74)
{ {
mat = Material.getMaterial(331); mat = Material.getMaterial(331);
item = new ItemStack(mat, 1, (byte)0, damage); item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
if(Math.random() * 10 > 5){ if(Math.random() * 10 > 5){
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
} }
} }
if(block.getTypeId() == 21) if(block.getTypeId() == 21)
{ {
mat = Material.getMaterial(351); mat = Material.getMaterial(351);
item = new ItemStack(mat, 1, (byte)0,(byte)0x4); item = new ItemStack(mat, 1, (byte)0,(byte)0x4);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
} }
if(block.getTypeId() == 56) if(block.getTypeId() == 56)
{ {
mat = Material.getMaterial(264); mat = Material.getMaterial(264);
item = new ItemStack(mat, 1, (byte)0, damage); item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
} }
if(block.getTypeId() == 1) if(block.getTypeId() == 1)
{ {
mat = Material.getMaterial(4); mat = Material.getMaterial(4);
item = new ItemStack(mat, 1, (byte)0, damage); item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
} }
if(block.getTypeId() == 16) if(block.getTypeId() == 16)
{ {
mat = Material.getMaterial(263); mat = Material.getMaterial(263);
item = new ItemStack(mat, 1, (byte)0, damage); 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) public static void blockProcCheck(Block block, Player player)
@ -291,7 +291,7 @@ public class Mining
} }
} }
item = new ItemStack(mat, 1, (byte)0, damage); item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
player.incrementStatistic(Statistic.MINE_BLOCK, block.getType()); player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
block.setType(Material.AIR); block.setType(Material.AIR);
} }
@ -305,7 +305,7 @@ public class Mining
} }
mat = Material.getMaterial(87); mat = Material.getMaterial(87);
item = new ItemStack(mat, 1, (byte)0, damage); item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
player.incrementStatistic(Statistic.MINE_BLOCK, block.getType()); player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
block.setType(Material.AIR); block.setType(Material.AIR);
} }
@ -319,7 +319,7 @@ public class Mining
} }
mat = Material.getMaterial(348); mat = Material.getMaterial(348);
item = new ItemStack(mat, 1, (byte)0, damage); item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
player.incrementStatistic(Statistic.MINE_BLOCK, block.getType()); player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
block.setType(Material.AIR); block.setType(Material.AIR);
} }
@ -333,7 +333,7 @@ public class Mining
} }
mat = Material.getMaterial(263); mat = Material.getMaterial(263);
item = new ItemStack(mat, 1, (byte)0, damage); item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
player.incrementStatistic(Statistic.MINE_BLOCK, block.getType()); player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
block.setType(Material.AIR); block.setType(Material.AIR);
} }
@ -346,7 +346,7 @@ public class Mining
blockProcCheck(block, player); blockProcCheck(block, player);
} }
item = new ItemStack(mat, 1, (byte)0, damage); item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
player.incrementStatistic(Statistic.MINE_BLOCK, block.getType()); player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
block.setType(Material.AIR); block.setType(Material.AIR);
} }
@ -362,7 +362,7 @@ public class Mining
} }
mat = Material.getMaterial(49); mat = Material.getMaterial(49);
item = new ItemStack(mat, 1, (byte)0, damage); item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
player.incrementStatistic(Statistic.MINE_BLOCK, block.getType()); player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
block.setType(Material.AIR); block.setType(Material.AIR);
} }
@ -376,7 +376,7 @@ public class Mining
} }
mat = Material.getMaterial(264); mat = Material.getMaterial(264);
item = new ItemStack(mat, 1, (byte)0, damage); item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
player.incrementStatistic(Statistic.MINE_BLOCK, block.getType()); player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
block.setType(Material.AIR); block.setType(Material.AIR);
} }
@ -389,7 +389,7 @@ public class Mining
blockProcCheck(block, player); blockProcCheck(block, player);
} }
item = new ItemStack(mat, 1, (byte)0, damage); item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
player.incrementStatistic(Statistic.MINE_BLOCK, block.getType()); player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
block.setType(Material.AIR); block.setType(Material.AIR);
} }
@ -404,12 +404,12 @@ public class Mining
} }
mat = Material.getMaterial(331); mat = Material.getMaterial(331);
item = new ItemStack(mat, 1, (byte)0, damage); item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
if(Math.random() * 10 > 5) if(Math.random() * 10 > 5)
{ {
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
} }
player.incrementStatistic(Statistic.MINE_BLOCK, block.getType()); player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
block.setType(Material.AIR); block.setType(Material.AIR);
@ -423,10 +423,10 @@ public class Mining
} }
mat = Material.getMaterial(351); mat = Material.getMaterial(351);
item = new ItemStack(mat, 1, (byte)0,(byte)0x4); item = new ItemStack(mat, 1, (byte)0,(byte)0x4);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
player.incrementStatistic(Statistic.MINE_BLOCK, block.getType()); player.incrementStatistic(Statistic.MINE_BLOCK, block.getType());
block.setType(Material.AIR); block.setType(Material.AIR);
} }

View File

@ -84,7 +84,7 @@ public class Unarmed {
ItemStack item = defender.getItemInHand(); ItemStack item = defender.getItemInHand();
if(item != null) if(item != null)
{ {
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
ItemStack itemx = null; ItemStack itemx = null;
defender.setItemInHand(itemx); defender.setItemInHand(itemx);
} }
@ -99,7 +99,7 @@ public class Unarmed {
ItemStack item = defender.getItemInHand(); ItemStack item = defender.getItemInHand();
if(item != null) if(item != null)
{ {
loc.getWorld().dropItemNaturally(loc, item); m.mcDropItem(loc, item);
ItemStack itemx = null; ItemStack itemx = null;
defender.setItemInHand(itemx); defender.setItemInHand(itemx);
} }

View File

@ -48,7 +48,7 @@ public class WoodCutting
if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.WOODCUTTING)) if(Math.random() * 1000 <= PP.getSkillLevel(SkillType.WOODCUTTING))
{ {
ItemStack item = new ItemStack(mat, 1, (short) 0, type); ItemStack item = new ItemStack(mat, 1, (short) 0, type);
block.getWorld().dropItemNaturally(block.getLocation(), item); m.mcDropItem(block.getLocation(), item);
} }
} }
} }