From 9e73c29b40f75a8f279a8e90cc7da88e8f1dd4ea Mon Sep 17 00:00:00 2001 From: md678685 Date: Wed, 20 Feb 2019 12:24:07 +0000 Subject: [PATCH] Fix creating and using kits on legacy versions (#2428) * Attempt to look up legacy items in Material enum * Use name method when serializing ItemStacks * Make name uppercase before looking up in Material enum --- .../src/com/earth2me/essentials/items/AbstractItemDb.java | 2 +- .../src/com/earth2me/essentials/items/LegacyItemDb.java | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Essentials/src/com/earth2me/essentials/items/AbstractItemDb.java b/Essentials/src/com/earth2me/essentials/items/AbstractItemDb.java index 7a3d9a234..867d3ae13 100644 --- a/Essentials/src/com/earth2me/essentials/items/AbstractItemDb.java +++ b/Essentials/src/com/earth2me/essentials/items/AbstractItemDb.java @@ -64,7 +64,7 @@ public abstract class AbstractItemDb implements IConf, net.ess3.api.IItemDb { @Override public String serialize(ItemStack is) { - String mat = is.getType().name(); + String mat = name(is); if (VersionUtil.getServerBukkitVersion().isLowerThanOrEqualTo(VersionUtil.v1_12_2_R01) && is.getData().getData() != 0) { mat = mat + ":" + is.getData().getData(); } diff --git a/Essentials/src/com/earth2me/essentials/items/LegacyItemDb.java b/Essentials/src/com/earth2me/essentials/items/LegacyItemDb.java index 6700c2211..6f84c8104 100644 --- a/Essentials/src/com/earth2me/essentials/items/LegacyItemDb.java +++ b/Essentials/src/com/earth2me/essentials/items/LegacyItemDb.java @@ -150,6 +150,13 @@ public class LegacyItemDb extends AbstractItemDb { } } + if (itemid < 1) { + Material matFromName = EnumUtil.getMaterial(itemname.toUpperCase()); + if (matFromName != null) { + itemid = matFromName.getId(); + } + } + if (itemid < 1) { throw new Exception(tl("unknownItemName", itemname)); }