diff --git a/CHANGELOG.md b/CHANGELOG.md index d29b03420..bac3a6a9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,7 @@ #### Fixes * Fixed #2075 * Fixed #2093 +* Fixed #2086 ## Release Candidate 14 (12 Jul 2020) diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/tasks/ArmorTask.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/tasks/ArmorTask.java index a64607702..62fbf22f7 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/tasks/ArmorTask.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/tasks/ArmorTask.java @@ -75,7 +75,9 @@ public class ArmorTask implements Runnable { if (armorpiece.hasDiverged(item)) { SlimefunItem sfItem = SlimefunItem.getByItem(item); - if (!(sfItem instanceof SlimefunArmorPiece) || !Slimefun.hasUnlocked(p, sfItem, true)) { + + if (!(sfItem instanceof SlimefunArmorPiece)) { + // If it isn't actually Armor, then we won't care about it. sfItem = null; } @@ -84,9 +86,13 @@ public class ArmorTask implements Runnable { if (item != null && armorpiece.getItem().isPresent()) { Slimefun.runSync(() -> { - for (PotionEffect effect : armorpiece.getItem().get().getPotionEffects()) { - p.removePotionEffect(effect.getType()); - p.addPotionEffect(effect); + SlimefunArmorPiece slimefunArmor = armorpiece.getItem().get(); + + if (Slimefun.hasUnlocked(p, slimefunArmor, true)) { + for (PotionEffect effect : slimefunArmor.getPotionEffects()) { + p.removePotionEffect(effect.getType()); + p.addPotionEffect(effect); + } } }); }