From e036e0f756e11ea10c68535159da87f4bfa3b33b Mon Sep 17 00:00:00 2001 From: TheBusyBiscuit Date: Sun, 27 Oct 2019 14:18:31 +0100 Subject: [PATCH] Fixes #1206 --- .../Objects/SlimefunItem/multiblocks/ArmorForge.java | 8 ++++++-- .../multiblocks/EnhancedCraftingTable.java | 10 +++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/ArmorForge.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/ArmorForge.java index 551fabf11..e2f801e78 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/ArmorForge.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/ArmorForge.java @@ -12,6 +12,7 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; +import io.github.thebusybiscuit.cscorelib2.inventory.ItemUtils; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem; import me.mrCookieSlime.Slimefun.SlimefunPlugin; import me.mrCookieSlime.Slimefun.Lists.Categories; @@ -54,8 +55,11 @@ public class ArmorForge extends MultiBlockMachine { if (Slimefun.hasUnlocked(p, adding, true)) { Inventory outputInv = findOutputInventory(adding, dispBlock, inv); if (outputInv != null) { - for (ItemStack removing: inputs.get(i)) { - if (removing != null) inv.removeItem(removing); + for (int j = 0; j < 9; j++) { + ItemStack item = inv.getContents()[j]; + if (item != null && item.getType() != Material.AIR) { + ItemUtils.consumeItem(item, true); + } } for (int j = 0; j < 4; j++) { diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/EnhancedCraftingTable.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/EnhancedCraftingTable.java index a769b714f..ad5e3781c 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/EnhancedCraftingTable.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/EnhancedCraftingTable.java @@ -3,7 +3,6 @@ package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks; import java.util.List; import java.util.UUID; -import me.mrCookieSlime.Slimefun.listeners.BackpackListener; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; @@ -16,6 +15,7 @@ import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; +import io.github.thebusybiscuit.cscorelib2.inventory.ItemUtils; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem; import me.mrCookieSlime.Slimefun.SlimefunPlugin; import me.mrCookieSlime.Slimefun.Lists.Categories; @@ -26,6 +26,7 @@ import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem; import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.PlayerProfile; import me.mrCookieSlime.Slimefun.api.Slimefun; +import me.mrCookieSlime.Slimefun.listeners.BackpackListener; public class EnhancedCraftingTable extends MultiBlockMachine { @@ -127,10 +128,9 @@ public class EnhancedCraftingTable extends MultiBlockMachine { for (int j = 0; j < 9; j++) { - if (inv.getContents()[j] != null && inv.getContents()[j].getType() != Material.AIR) { - if (inv.getContents()[j].getType().toString().endsWith("_BUCKET")) inv.setItem(j, new ItemStack(Material.BUCKET)); - else if (inv.getContents()[j].getAmount() > 1) inv.setItem(j, new CustomItem(inv.getContents()[j], inv.getContents()[j].getAmount() - 1)); - else inv.setItem(j, null); + ItemStack item = inv.getContents()[j]; + if (item != null && item.getType() != Material.AIR) { + ItemUtils.consumeItem(item, true); } } p.getWorld().playSound(b.getLocation(), Sound.BLOCK_WOODEN_BUTTON_CLICK_ON, 1, 1);