From 6a551f52ad57a09ff11284ce73053473cff1f547 Mon Sep 17 00:00:00 2001 From: triagonal Date: Tue, 6 Jul 2021 08:58:54 +1000 Subject: [PATCH] fix behaviour of `/itemdb` on legacy versions --- .../com/earth2me/essentials/commands/Commanditemdb.java | 7 ++++++- .../com/earth2me/essentials/items/CustomItemResolver.java | 8 +++++--- Essentials/src/main/resources/items.csv | 3 +++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commanditemdb.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commanditemdb.java index 7f75b0beb23..ba6ceeb3f97 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commanditemdb.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commanditemdb.java @@ -7,6 +7,7 @@ import org.bukkit.Server; import org.bukkit.inventory.ItemStack; +import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -55,9 +56,13 @@ protected void run(final Server server, final CommandSource sender, final String } List nameList = ess.getItemDb().nameList(itemStack); + nameList = nameList != null ? new ArrayList<>(nameList) : new ArrayList<>(); nameList.addAll(ess.getCustomItemResolver().getAliasesFor(ess.getItemDb().name(itemStack))); - Collections.sort(nameList); + if (nameList.isEmpty()) { + return; + } + Collections.sort(nameList); if (nameList.size() > 15) { nameList = nameList.subList(0, 14); } diff --git a/Essentials/src/main/java/com/earth2me/essentials/items/CustomItemResolver.java b/Essentials/src/main/java/com/earth2me/essentials/items/CustomItemResolver.java index ac8e196dbbf..3e575427674 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/items/CustomItemResolver.java +++ b/Essentials/src/main/java/com/earth2me/essentials/items/CustomItemResolver.java @@ -44,9 +44,11 @@ public Collection getNames() { public List getAliasesFor(String item) throws Exception { final List results = new ArrayList<>(); - for (Map.Entry entry : map.entrySet()) { - if (item.equalsIgnoreCase(ess.getItemDb().name(ess.getItemDb().get(entry.getValue())))) { - results.add(entry.getKey()); + if (item != null) { + for (Map.Entry entry : map.entrySet()) { + if (item.equalsIgnoreCase(ess.getItemDb().name(ess.getItemDb().get(entry.getValue())))) { + results.add(entry.getKey()); + } } } return results; diff --git a/Essentials/src/main/resources/items.csv b/Essentials/src/main/resources/items.csv index f1970d4b218..d2e4dd7bed9 100644 --- a/Essentials/src/main/resources/items.csv +++ b/Essentials/src/main/resources/items.csv @@ -7490,6 +7490,9 @@ sparklymelon,382,0 shiningmelon,382,0 gmelon,382,0 smelon,382,0 +mobegg,383,0 +spawnegg,383,0 +mobspawnegg,383,0 creeperegg,383,50 eggcreeper,383,50 skeletonegg,383,51