Forráskód Böngészése

Fixed custom woodcutting blocks throwing errors.

GJ 13 éve
szülő
commit
c567e2714a

+ 1 - 0
Changelog.txt

@@ -28,6 +28,7 @@ Version 1.3.10-dev
  = Fixed custom tools not properly respecting the Ability_Enabled flag.
  = Fixed custom tools not properly respecting the Ability_Enabled flag.
  = Fixed "lower tool" messages still being displayed even when ability messages are disabled.
  = 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 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
  ! Changed the format by which Chunklets are stored to be much smaller, and much faster to load
  ! Optimized how player placed blocks are tracked
  ! Optimized how player placed blocks are tracked
 
 

+ 29 - 30
src/main/java/com/gmail/nossr50/skills/gathering/WoodCutting.java

@@ -300,9 +300,6 @@ public class WoodCutting {
         byte type = block.getData();
         byte type = block.getData();
         Material mat = Material.getMaterial(block.getTypeId());
         Material mat = Material.getMaterial(block.getTypeId());
 
 
-        Tree tree = (Tree) block.getState().getData();
-        TreeSpecies species = tree.getSpecies();
-
         int randomChance = 1000;
         int randomChance = 1000;
 
 
         if (player.hasPermission("mcmmo.perks.lucky.woodcutting")) {
         if (player.hasPermission("mcmmo.perks.lucky.woodcutting")) {
@@ -329,41 +326,42 @@ public class WoodCutting {
                 else {
                 else {
                     Misc.dropItems(location, item, minimumDropAmount);
                     Misc.dropItems(location, item, minimumDropAmount);
                 }
                 }
-                return;
             }
             }
             else {
             else {
                 item = new ItemStack(mat, 1, (short) 0, type);
                 item = new ItemStack(mat, 1, (short) 0, type);
                 location = block.getLocation();
                 location = block.getLocation();
-            }
 
 
-            /* Drop the block */
-            switch (species) {
-            case GENERIC:
-                if (configInstance.getOakDoubleDropsEnabled()) {
-                    Misc.dropItem(location, item);
-                }
-                break;
+                TreeSpecies species = TreeSpecies.getByData(type);
 
 
-            case REDWOOD:
-                if (configInstance.getSpruceDoubleDropsEnabled()) {
-                    Misc.dropItem(location, item);
-                }
-                break;
+                /* Drop the block */
+                switch (species) {
+                case GENERIC:
+                    if (configInstance.getOakDoubleDropsEnabled()) {
+                        Misc.dropItem(location, item);
+                    }
+                    break;
 
 
-            case BIRCH:
-                if (configInstance.getBirchDoubleDropsEnabled()) {
-                    Misc.dropItem(location, item);
-                }
-                break;
+                case REDWOOD:
+                    if (configInstance.getSpruceDoubleDropsEnabled()) {
+                        Misc.dropItem(location, item);
+                    }
+                    break;
 
 
-            case JUNGLE:
-                if (configInstance.getJungleDoubleDropsEnabled()) {
-                    Misc.dropItem(location, item);
-                }
-                break;
+                case BIRCH:
+                    if (configInstance.getBirchDoubleDropsEnabled()) {
+                        Misc.dropItem(location, item);
+                    }
+                    break;
 
 
-            default:
-                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) {
     public static void woodcuttingBlockCheck(Player player, Block block) {
         PlayerProfile profile = Users.getProfile(player);
         PlayerProfile profile = Users.getProfile(player);
         int xp = 0;
         int xp = 0;
-        TreeSpecies species = TreeSpecies.getByData(block.getData());
 
 
         if (mcMMO.placeStore.isTrue(block)) {
         if (mcMMO.placeStore.isTrue(block)) {
             return;
             return;
@@ -387,6 +384,8 @@ public class WoodCutting {
             xp = ModChecks.getCustomBlock(block).getXpGain();
             xp = ModChecks.getCustomBlock(block).getXpGain();
         }
         }
         else {
         else {
+            TreeSpecies species = TreeSpecies.getByData(block.getData());
+
             switch (species) {
             switch (species) {
             case GENERIC:
             case GENERIC:
                 xp += Config.getInstance().getWoodcuttingXPOak();
                 xp += Config.getInstance().getWoodcuttingXPOak();