From 74d4a8e0c3f92da9ba22148bb7ea2083dd6734df Mon Sep 17 00:00:00 2001 From: Auxilor Date: Tue, 9 Feb 2021 09:38:46 +0000 Subject: [PATCH] Fixed crystals/shards consuming the entire stack --- .../upgrades/advanced/AdvancementShardListener.java | 8 ++++++-- .../willfp/ecoarmor/upgrades/crystal/CrystalListener.java | 7 ++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/upgrades/advanced/AdvancementShardListener.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/upgrades/advanced/AdvancementShardListener.java index 141d3fe..921786d 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/upgrades/advanced/AdvancementShardListener.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/upgrades/advanced/AdvancementShardListener.java @@ -70,8 +70,12 @@ public class AdvancementShardListener extends PluginDependent implements Listene ArmorUtils.setAdvanced(current, true); - event.getWhoClicked().setItemOnCursor(new ItemStack(Material.AIR)); - + if (cursor.getAmount() > 1) { + cursor.setAmount(cursor.getAmount() - 1); + event.getWhoClicked().setItemOnCursor(cursor); + } else { + event.getWhoClicked().setItemOnCursor(new ItemStack(Material.AIR)); + } event.setCancelled(true); } } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/upgrades/crystal/CrystalListener.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/upgrades/crystal/CrystalListener.java index c309b18..440af80 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/upgrades/crystal/CrystalListener.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoarmor/upgrades/crystal/CrystalListener.java @@ -66,7 +66,12 @@ public class CrystalListener extends PluginDependent implements Listener { ArmorUtils.setTier(current, tier); - event.getWhoClicked().setItemOnCursor(new ItemStack(Material.AIR)); + if (cursor.getAmount() > 1) { + cursor.setAmount(cursor.getAmount() - 1); + event.getWhoClicked().setItemOnCursor(cursor); + } else { + event.getWhoClicked().setItemOnCursor(new ItemStack(Material.AIR)); + } event.setCancelled(true); }