From b6eefa268b950dc6a1732c0d9ac36045fcee28f4 Mon Sep 17 00:00:00 2001 From: Indyuce Date: Mon, 17 Aug 2020 12:52:20 +0200 Subject: [PATCH] Fixed crafting station buttons --- src/main/java/net/Indyuce/mmoitems/MMOUtils.java | 14 -------------- .../api/droptable/item/MMOItemDropItem.java | 2 +- .../mmoitems/api/item/util/ConfigItem.java | 4 ++-- .../mmoitems/gui/CraftingStationPreview.java | 15 +++++++-------- .../Indyuce/mmoitems/gui/CraftingStationView.java | 10 +++++----- 5 files changed, 15 insertions(+), 30 deletions(-) diff --git a/src/main/java/net/Indyuce/mmoitems/MMOUtils.java b/src/main/java/net/Indyuce/mmoitems/MMOUtils.java index e6e30956..e11195ef 100644 --- a/src/main/java/net/Indyuce/mmoitems/MMOUtils.java +++ b/src/main/java/net/Indyuce/mmoitems/MMOUtils.java @@ -249,20 +249,6 @@ public class MMOUtils { return format; } - // @Deprecated - // public static boolean areSimilar(ItemStack item1, ItemStack iitem2) { - // if (item1.getType() == VersionMaterial.PLAYER_HEAD.toMaterial() && - // iitem2.getType() == VersionMaterial.PLAYER_HEAD.toMaterial()) { - // ItemMeta meta1 = item1.getItemMeta(); - // ItemMeta meta2 = iitem2.getItemMeta(); - // - // if (meta1.hasDisplayName() && meta2.hasDisplayName()) - // return meta1.getDisplayName().equalsIgnoreCase(meta2.getDisplayName()); - // } - // - // return item1.isSimilar(iitem2); - // } - public static double truncation(double x, int n) { double pow = Math.pow(10.0, n); return Math.floor(x * pow) / pow; diff --git a/src/main/java/net/Indyuce/mmoitems/api/droptable/item/MMOItemDropItem.java b/src/main/java/net/Indyuce/mmoitems/api/droptable/item/MMOItemDropItem.java index a07d5c7b..b81bbe61 100644 --- a/src/main/java/net/Indyuce/mmoitems/api/droptable/item/MMOItemDropItem.java +++ b/src/main/java/net/Indyuce/mmoitems/api/droptable/item/MMOItemDropItem.java @@ -50,7 +50,7 @@ public class MMOItemDropItem extends DropItem { @Override public ItemStack getItem(PlayerData player, int amount) { - ItemStack item = MMOItems.plugin.getItem(type, id, player); + ItemStack item = player == null ? MMOItems.plugin.getItem(type, id) : MMOItems.plugin.getItem(type, id, player); if (item == null || item.getType() == Material.AIR) return null; diff --git a/src/main/java/net/Indyuce/mmoitems/api/item/util/ConfigItem.java b/src/main/java/net/Indyuce/mmoitems/api/item/util/ConfigItem.java index 2869b3b9..f10c7887 100644 --- a/src/main/java/net/Indyuce/mmoitems/api/item/util/ConfigItem.java +++ b/src/main/java/net/Indyuce/mmoitems/api/item/util/ConfigItem.java @@ -16,6 +16,7 @@ import net.Indyuce.mmoitems.api.item.util.crafting.CraftingRecipeDisplay; import net.Indyuce.mmoitems.api.item.util.crafting.QueueItemDisplay; import net.Indyuce.mmoitems.api.item.util.crafting.UpgradingRecipeDisplay; import net.mmogroup.mmolib.MMOLib; +import net.mmogroup.mmolib.api.item.ItemTag; import net.mmogroup.mmolib.version.VersionMaterial; public class ConfigItem { @@ -105,8 +106,7 @@ public class ConfigItem { } item.setItemMeta(meta); - // item = MMOLib.plugin.getVersion().getWrapper().getNBTItem(item).addTag(new - // ItemTag("itemId", id)).toItem(); + item = MMOLib.plugin.getVersion().getWrapper().getNBTItem(item).addTag(new ItemTag("ItemId", id)).toItem(); } public Material getMaterial() { diff --git a/src/main/java/net/Indyuce/mmoitems/gui/CraftingStationPreview.java b/src/main/java/net/Indyuce/mmoitems/gui/CraftingStationPreview.java index a70aae99..eb664eea 100644 --- a/src/main/java/net/Indyuce/mmoitems/gui/CraftingStationPreview.java +++ b/src/main/java/net/Indyuce/mmoitems/gui/CraftingStationPreview.java @@ -19,6 +19,8 @@ import net.Indyuce.mmoitems.api.crafting.recipe.RecipeInfo; import net.Indyuce.mmoitems.api.crafting.recipe.UpgradingRecipe; import net.Indyuce.mmoitems.api.item.util.ConfigItem; import net.Indyuce.mmoitems.api.util.message.Message; +import net.mmogroup.mmolib.MMOLib; +import net.mmogroup.mmolib.api.item.NBTItem; public class CraftingStationPreview extends PluginInventory { private final CraftingStationView previous; @@ -108,29 +110,26 @@ public class CraftingStationPreview extends PluginInventory { @Override public void whenClicked(InventoryClickEvent event) { event.setCancelled(true); - if (!MMOUtils.isMetaItem(event.getCurrentItem(), false)) return; - if (event.getCurrentItem().isSimilar(ConfigItem.CONFIRM.getItem())) { + NBTItem nbtItem = MMOLib.plugin.getVersion().getWrapper().getNBTItem(event.getCurrentItem()); + if (nbtItem.getString("ItemId").equals("CONFIRM")) { previous.processRecipe(recipe); previous.open(); - return; } - if (event.getCurrentItem().isSimilar(ConfigItem.PREVIOUS_PAGE.getItem())) { + else if (nbtItem.getString("ItemId").equals("PREVIOUS_PAGE")) { page--; open(); - return; } - if (event.getCurrentItem().isSimilar(ConfigItem.NEXT_PAGE.getItem())) { + else if (nbtItem.getString("ItemId").equals("NEXT_PAGE")) { page++; open(); - return; } - if (event.getCurrentItem().isSimilar(ConfigItem.BACK.getItem())) + else if (nbtItem.getString("ItemId").equals("BACK")) previous.open(); } } diff --git a/src/main/java/net/Indyuce/mmoitems/gui/CraftingStationView.java b/src/main/java/net/Indyuce/mmoitems/gui/CraftingStationView.java index 2af5fd58..f06cbfe8 100644 --- a/src/main/java/net/Indyuce/mmoitems/gui/CraftingStationView.java +++ b/src/main/java/net/Indyuce/mmoitems/gui/CraftingStationView.java @@ -134,29 +134,29 @@ public class CraftingStationView extends PluginInventory { @Override public void whenClicked(InventoryClickEvent event) { event.setCancelled(true); - if (!MMOUtils.isMetaItem(event.getCurrentItem(), false)) return; - if (event.getCurrentItem().isSimilar(ConfigItem.PREVIOUS_IN_QUEUE.getItem())) { + NBTItem nbtItem = MMOLib.plugin.getVersion().getWrapper().getNBTItem(event.getCurrentItem()); + if (nbtItem.getString("ItemId").equals("PREVIOUS_IN_QUEUE")) { queueOffset--; open(); return; } - if (event.getCurrentItem().isSimilar(ConfigItem.NEXT_IN_QUEUE.getItem())) { + if (nbtItem.getString("ItemId").equals("NEXT_IN_QUEUE")) { queueOffset++; open(); return; } - if (event.getCurrentItem().isSimilar(ConfigItem.NEXT_PAGE.getItem())) { + if (nbtItem.getString("ItemId").equals("NEXT_PAGE")) { page++; open(); return; } - if (event.getCurrentItem().isSimilar(ConfigItem.PREVIOUS_PAGE.getItem())) { + if (nbtItem.getString("ItemId").equals("PREVIOUS_PAGE")) { page--; open(); return;