Przeglądaj źródła

Merge pull request #383 from Glitchfinder/master

Fixing a few more NPEs.
Glitchfinder 12 lat temu
rodzic
commit
d35e56fd37

+ 1 - 1
src/main/java/com/gmail/nossr50/skills/gathering/Mining.java

@@ -308,7 +308,7 @@ public class Mining {
             break;
 
         default:
-            if (ModChecks.isCustomMiningBlock(block) && ModChecks.getCustomBlock(block) != null) {
+            if (ModChecks.isCustomMiningBlock(block)) {
                 xp += ModChecks.getCustomBlock(block).getXpGain();
             }
             break;

+ 28 - 16
src/main/java/com/gmail/nossr50/util/ModChecks.java

@@ -76,11 +76,14 @@ public class ModChecks {
         item.setData(new MaterialData(block.getTypeId(), block.getData()));
 
         if (customBlocksEnabled && blocksInstance.customMiningBlocks.contains(item)) {
-            return true;
-        }
-        else {
-            return false;
+            for (CustomBlock b : blocksInstance.customBlocks) {
+                if ((b.getItemID() == block.getTypeId()) && (b.getDataValue() == block.getData())) {
+                    return true;
+                }
+            }
         }
+
+        return false;
     }
 
     /**
@@ -94,11 +97,14 @@ public class ModChecks {
         item.setData(new MaterialData(block.getTypeId(), block.getData()));
 
         if (blocksInstance.customLeaves.contains(item)) {
-            return true;
-        }
-        else {
-            return false;
+            for (CustomBlock b : blocksInstance.customBlocks) {
+                if ((b.getItemID() == block.getTypeId()) && (b.getDataValue() == block.getData())) {
+                    return true;
+                }
+            }
         }
+
+        return false;
     }
 
     /**
@@ -112,11 +118,14 @@ public class ModChecks {
         item.setData(new MaterialData(block.getTypeId(), block.getData()));
 
         if (blocksInstance.customLogs.contains(item)) {
-            return true;
-        }
-        else {
-            return false;
+            for (CustomBlock b : blocksInstance.customBlocks) {
+                if ((b.getItemID() == block.getTypeId()) && (b.getDataValue() == block.getData())) {
+                    return true;
+                }
+            }
         }
+
+        return false;
     }
 
     /**
@@ -130,11 +139,14 @@ public class ModChecks {
         item.setData(new MaterialData(block.getTypeId(), block.getData()));
 
         if (blocksInstance.customOres.contains(item)) {
-            return true;
-        }
-        else {
-            return false;
+            for (CustomBlock b : blocksInstance.customBlocks) {
+                if ((b.getItemID() == block.getTypeId()) && (b.getDataValue() == block.getData())) {
+                    return true;
+                }
+            }
         }
+
+        return false;
     }
 
     /**