From 9266a54fcedfea5ee96184f2ae8c113b4da3fd85 Mon Sep 17 00:00:00 2001 From: nossr50 Date: Thu, 30 Jul 2020 11:17:08 -0700 Subject: [PATCH 1/2] debug tweaks --- .../com/gmail/nossr50/util/skills/SmeltingTracker.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/com/gmail/nossr50/util/skills/SmeltingTracker.java b/src/main/java/com/gmail/nossr50/util/skills/SmeltingTracker.java index 91faf30d9..36a634062 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/SmeltingTracker.java +++ b/src/main/java/com/gmail/nossr50/util/skills/SmeltingTracker.java @@ -92,6 +92,13 @@ public class SmeltingTracker { if(!Permissions.skillEnabled(player, PrimarySkillType.SMELTING)) return; + //Don't swap ownership if its the same player + if(getFurnaceOwner(furnace) != null) { + if(getFurnaceOwner(furnace).getUniqueId().equals(player.getUniqueId())) + return; + } + + changeFurnaceOwnership(furnace, player); } } From 9f9518eea04daa9355edc8c8c998f6f355bc54ca Mon Sep 17 00:00:00 2001 From: nossr50 Date: Thu, 30 Jul 2020 13:05:19 -0700 Subject: [PATCH 2/2] 2.1.137 - avoid npe on armor iterating --- Changelog.txt | 3 +++ pom.xml | 2 +- src/main/java/com/gmail/nossr50/skills/axes/Axes.java | 5 ++++- .../java/com/gmail/nossr50/util/skills/SmeltingTracker.java | 1 - 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index 1808d6e88..9f87c496c 100644 --- a/Changelog.txt +++ b/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) diff --git a/pom.xml b/pom.xml index 8e60ce5b1..f77c819f9 100755 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 com.gmail.nossr50.mcMMO mcMMO - 2.1.136 + 2.1.137 mcMMO https://github.com/mcMMO-Dev/mcMMO diff --git a/src/main/java/com/gmail/nossr50/skills/axes/Axes.java b/src/main/java/com/gmail/nossr50/skills/axes/Axes.java index 753d55971..7f1ba62df 100644 --- a/src/main/java/com/gmail/nossr50/skills/axes/Axes.java +++ b/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; } diff --git a/src/main/java/com/gmail/nossr50/util/skills/SmeltingTracker.java b/src/main/java/com/gmail/nossr50/util/skills/SmeltingTracker.java index 36a634062..630991341 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/SmeltingTracker.java +++ b/src/main/java/com/gmail/nossr50/util/skills/SmeltingTracker.java @@ -98,7 +98,6 @@ public class SmeltingTracker { return; } - changeFurnaceOwnership(furnace, player); } }