From c567e2714aff2dcd64104dda996e901abdf99a12 Mon Sep 17 00:00:00 2001 From: GJ Date: Mon, 9 Jul 2012 09:26:22 -0400 Subject: [PATCH] Fixed custom woodcutting blocks throwing errors. --- Changelog.txt | 1 + .../nossr50/skills/gathering/WoodCutting.java | 65 +++++++++---------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index 1966a3c93..5bfcf75ef 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -28,6 +28,7 @@ Version 1.3.10-dev = Fixed custom tools not properly respecting the Ability_Enabled flag. = Fixed "lower tool" messages still being displayed even when ability messages are disabled. = Fixed custom blocks not dropping the proper item with Super Breaker when Silk Touch is used + = Fixed custom woodcutting blocks throwing errors. ! Changed the format by which Chunklets are stored to be much smaller, and much faster to load ! Optimized how player placed blocks are tracked diff --git a/src/main/java/com/gmail/nossr50/skills/gathering/WoodCutting.java b/src/main/java/com/gmail/nossr50/skills/gathering/WoodCutting.java index 8f6e74884..7d0657514 100644 --- a/src/main/java/com/gmail/nossr50/skills/gathering/WoodCutting.java +++ b/src/main/java/com/gmail/nossr50/skills/gathering/WoodCutting.java @@ -300,9 +300,6 @@ public class WoodCutting { byte type = block.getData(); Material mat = Material.getMaterial(block.getTypeId()); - Tree tree = (Tree) block.getState().getData(); - TreeSpecies species = tree.getSpecies(); - int randomChance = 1000; if (player.hasPermission("mcmmo.perks.lucky.woodcutting")) { @@ -329,41 +326,42 @@ public class WoodCutting { else { Misc.dropItems(location, item, minimumDropAmount); } - return; } else { item = new ItemStack(mat, 1, (short) 0, type); location = block.getLocation(); - } - /* Drop the block */ - switch (species) { - case GENERIC: - if (configInstance.getOakDoubleDropsEnabled()) { - Misc.dropItem(location, item); + TreeSpecies species = TreeSpecies.getByData(type); + + /* Drop the block */ + switch (species) { + case GENERIC: + if (configInstance.getOakDoubleDropsEnabled()) { + Misc.dropItem(location, item); + } + break; + + case REDWOOD: + if (configInstance.getSpruceDoubleDropsEnabled()) { + Misc.dropItem(location, item); + } + break; + + case BIRCH: + if (configInstance.getBirchDoubleDropsEnabled()) { + Misc.dropItem(location, item); + } + break; + + case JUNGLE: + if (configInstance.getJungleDoubleDropsEnabled()) { + Misc.dropItem(location, item); + } + break; + + default: + break; } - break; - - case REDWOOD: - if (configInstance.getSpruceDoubleDropsEnabled()) { - Misc.dropItem(location, item); - } - break; - - case BIRCH: - if (configInstance.getBirchDoubleDropsEnabled()) { - Misc.dropItem(location, item); - } - break; - - case JUNGLE: - if (configInstance.getJungleDoubleDropsEnabled()) { - Misc.dropItem(location, item); - } - break; - - default: - break; } } } @@ -377,7 +375,6 @@ public class WoodCutting { public static void woodcuttingBlockCheck(Player player, Block block) { PlayerProfile profile = Users.getProfile(player); int xp = 0; - TreeSpecies species = TreeSpecies.getByData(block.getData()); if (mcMMO.placeStore.isTrue(block)) { return; @@ -387,6 +384,8 @@ public class WoodCutting { xp = ModChecks.getCustomBlock(block).getXpGain(); } else { + TreeSpecies species = TreeSpecies.getByData(block.getData()); + switch (species) { case GENERIC: xp += Config.getInstance().getWoodcuttingXPOak();