diff --git a/Essentials/src/main/java/com/earth2me/essentials/UserData.java b/Essentials/src/main/java/com/earth2me/essentials/UserData.java index d377135a3..5ae00b5c1 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/UserData.java +++ b/Essentials/src/main/java/com/earth2me/essentials/UserData.java @@ -621,7 +621,7 @@ public abstract class UserData extends PlayerExtension implements IConf { public Map getCommandCooldowns() { final Map map = new HashMap<>(); for (final CommandCooldown c : getCooldownsList()) { - if (c == null) { + if (c == null || c.isIncomplete()) { // stupid solution to stupid problem continue; } @@ -632,7 +632,7 @@ public abstract class UserData extends PlayerExtension implements IConf { public Date getCommandCooldownExpiry(final String label) { for (CommandCooldown cooldown : getCooldownsList()) { - if (cooldown == null) { + if (cooldown == null || cooldown.isIncomplete()) { // stupid solution to stupid problem continue; } @@ -661,7 +661,7 @@ public abstract class UserData extends PlayerExtension implements IConf { return false; // false for no modification } - if (getCooldownsList().removeIf(cooldown -> cooldown.pattern().equals(pattern))) { + if (getCooldownsList().removeIf(cooldown -> cooldown != null && !cooldown.isIncomplete() && cooldown.pattern().equals(pattern))) { save(); return true; } diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandunlimited.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandunlimited.java index 883fcdd99..db740e6ff 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandunlimited.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandunlimited.java @@ -32,6 +32,9 @@ public class Commandunlimited extends EssentialsCommand { user.sendMessage(getList(target)); } else if (args[0].equalsIgnoreCase("clear")) { for (final Material m : new HashSet<>(target.getUnlimited())) { + if (m == null) { + continue; + } toggleUnlimited(user, target, m.toString()); } } else { @@ -48,6 +51,9 @@ public class Commandunlimited extends EssentialsCommand { } final StringJoiner joiner = new StringJoiner(", "); for (final Material material : items) { + if (material == null) { + continue; + } joiner.add(material.toString().toLowerCase(Locale.ENGLISH).replace("_", "")); } output.append(joiner.toString()); diff --git a/Essentials/src/main/java/com/earth2me/essentials/config/serializers/MaterialTypeSerializer.java b/Essentials/src/main/java/com/earth2me/essentials/config/serializers/MaterialTypeSerializer.java index ca940a3b5..50e231572 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/config/serializers/MaterialTypeSerializer.java +++ b/Essentials/src/main/java/com/earth2me/essentials/config/serializers/MaterialTypeSerializer.java @@ -22,6 +22,9 @@ public class MaterialTypeSerializer extends ScalarSerializer { @Override protected Object serialize(Material item, Predicate> typeSupported) { + if (item == null) { + return null; + } return item.name(); } }