From 8cf16d4a1c57be03f9b1bbe5c25e6a4f21cd2494 Mon Sep 17 00:00:00 2001 From: TfT_02 Date: Fri, 22 Mar 2013 11:22:03 +0100 Subject: [PATCH] Update player inventory after crafting multiple ChimaeraWings Fixes #864 --- .../nossr50/listeners/InventoryListener.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java b/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java index b0c4fa62b..c465af39f 100644 --- a/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java @@ -8,6 +8,7 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; +import org.bukkit.event.inventory.CraftItemEvent; import org.bukkit.event.inventory.FurnaceBurnEvent; import org.bukkit.event.inventory.FurnaceExtractEvent; import org.bukkit.event.inventory.FurnaceSmeltEvent; @@ -159,4 +160,29 @@ public class InventoryListener implements Listener { public void onInventoryClickEvent(InventoryClickEvent event) { SkillUtils.removeAbilityBuff(event.getCurrentItem()); } + + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onCraftItem(CraftItemEvent event) { + if (event.getRecipe().getResult() == null) { + return; + } + else if (!ItemUtils.isChimaeraWing(event.getRecipe().getResult())) { + return; + } + else if (event.getWhoClicked() == null) { + return; + } + else if (!(event.getWhoClicked() instanceof Player)) { + return; + } + + final Player player = (Player) event.getWhoClicked(); + + mcMMO.p.getServer().getScheduler().scheduleSyncDelayedTask(mcMMO.p, new Runnable() { + @Override + public void run() { + player.updateInventory(); + } + }); + } }