From 32a6128fb8766cdf6d367d23c93c244d58f41110 Mon Sep 17 00:00:00 2001 From: Sven65 Date: Wed, 26 Aug 2020 17:34:36 +0200 Subject: [PATCH] - Fix issue with importing ushops shops selling air - Fix issue with shops from unknown users not opening --- .../java/xyz/mackan/Slabbo/GUI/items/GUIItems.java | 4 +++- .../main/java/xyz/mackan/Slabbo/utils/ItemUtil.java | 10 ++++++++-- .../src/main/java/xyz/mackan/Slabbo/utils/Misc.java | 4 ++++ modules/Plugin/src/main/resources/lang.yml | 2 ++ 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/modules/Plugin/src/main/java/xyz/mackan/Slabbo/GUI/items/GUIItems.java b/modules/Plugin/src/main/java/xyz/mackan/Slabbo/GUI/items/GUIItems.java index c6c1211..5019019 100644 --- a/modules/Plugin/src/main/java/xyz/mackan/Slabbo/GUI/items/GUIItems.java +++ b/modules/Plugin/src/main/java/xyz/mackan/Slabbo/GUI/items/GUIItems.java @@ -230,7 +230,9 @@ public static ItemStack getUserInfoItem (Shop shop) { HashMap replacementMap = new HashMap(); - replacementMap.put("owner", owner.getName()); + String ownerName = Misc.getValueOrDefault(owner.getName(), LocaleManager.getString("general.general.unknown-user")); + + replacementMap.put("owner", ownerName); replacementMap.put("item", shop.item.getType()); replacementMap.put("quantity", shop.quantity); replacementMap.put("buyPrice", shop.buyPrice); diff --git a/modules/Plugin/src/main/java/xyz/mackan/Slabbo/utils/ItemUtil.java b/modules/Plugin/src/main/java/xyz/mackan/Slabbo/utils/ItemUtil.java index d991f47..3f0b568 100644 --- a/modules/Plugin/src/main/java/xyz/mackan/Slabbo/utils/ItemUtil.java +++ b/modules/Plugin/src/main/java/xyz/mackan/Slabbo/utils/ItemUtil.java @@ -69,6 +69,10 @@ public static void dropShopItem (Location location, ItemStack item, int quantity String displayType = Slabbo.getInstance().getConfig().getString("itemdisplay", "quantity"); + if (clonedItem.getType() == Material.AIR) { + return; + } + if (displayType.equalsIgnoreCase("quantity")) { if (quantity < 1) quantity = 1; if (quantity > 64) quantity = 64; @@ -82,9 +86,11 @@ public static void dropShopItem (Location location, ItemStack item, int quantity clonedItem.setAmount(64); } - meta.setDisplayName("Slabbo Item "+ ShopManager.locationToString(location)); + if (clonedItem.hasItemMeta() && meta != null) { + meta.setDisplayName("Slabbo Item " + ShopManager.locationToString(location)); - clonedItem.setItemMeta(meta); + clonedItem.setItemMeta(meta); + } Item itemEnt = location.getWorld().dropItem(dropLocation, clonedItem); diff --git a/modules/Plugin/src/main/java/xyz/mackan/Slabbo/utils/Misc.java b/modules/Plugin/src/main/java/xyz/mackan/Slabbo/utils/Misc.java index 12d7956..3509779 100644 --- a/modules/Plugin/src/main/java/xyz/mackan/Slabbo/utils/Misc.java +++ b/modules/Plugin/src/main/java/xyz/mackan/Slabbo/utils/Misc.java @@ -79,4 +79,8 @@ public static List getPage (List sourceList, int page, int pageSize) { // toIndex exclusive return sourceList.subList(fromIndex, Math.min(fromIndex + pageSize, sourceList.size())); } + + public static T getValueOrDefault(T value, T defaultValue) { + return value == null ? defaultValue : value; + } } diff --git a/modules/Plugin/src/main/resources/lang.yml b/modules/Plugin/src/main/resources/lang.yml index 9cafbe1..443f3fc 100644 --- a/modules/Plugin/src/main/resources/lang.yml +++ b/modules/Plugin/src/main/resources/lang.yml @@ -88,6 +88,8 @@ general: next-page: Next Page previous-page: Previous Page + unknown-user: Unknown User + buy-price: Buy price sell-price: Sell price