ソースを参照

2.1.137 - avoid npe on armor iterating

nossr50 5 年 前
コミット
9f9518eea0

+ 3 - 0
Changelog.txt

@@ -1,3 +1,6 @@
+Version 2.1.137
+    Added some code to avoid NPE errors when checking armor on entities
+
 Version 2.1.136
     Furnace ownership is no longer lost when the furnace stops doing a job
     Furnaces remember owners between restarts (requires MC 1.14 or higher)

+ 1 - 1
pom.xml

@@ -2,7 +2,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.gmail.nossr50.mcMMO</groupId>
     <artifactId>mcMMO</artifactId>
-    <version>2.1.136</version>
+    <version>2.1.137</version>
     <name>mcMMO</name>
     <url>https://github.com/mcMMO-Dev/mcMMO</url>
     <scm>

+ 4 - 1
src/main/java/com/gmail/nossr50/skills/axes/Axes.java

@@ -23,10 +23,13 @@ public class Axes {
     public static double skullSplitterModifier = AdvancedConfig.getInstance().getSkullSplitterModifier();
 
     protected static boolean hasArmor(LivingEntity target) {
-        if(target.getEquipment() == null)
+        if(target == null || !target.isValid() || target.getEquipment() == null)
             return false;
 
         for (ItemStack itemStack : target.getEquipment().getArmorContents()) {
+            if(itemStack == null)
+                continue;
+
             if (ItemUtils.isArmor(itemStack)) {
                 return true;
             }

+ 0 - 1
src/main/java/com/gmail/nossr50/util/skills/SmeltingTracker.java

@@ -98,7 +98,6 @@ public class SmeltingTracker {
                 return;
         }
 
-
         changeFurnaceOwnership(furnace, player);
     }
 }