package net.glowstone.inventory; import net.glowstone.entity.GlowPlayer; import org.bukkit.block.Furnace; import org.bukkit.event.inventory.InventoryType; import org.bukkit.inventory.FurnaceInventory; import org.bukkit.inventory.InventoryView; import org.bukkit.inventory.ItemStack; public class GlowFurnaceInventory extends GlowInventory implements FurnaceInventory { private static final int INPUT_SLOT = 0; private static final int FUEL_SLOT = 1; private static final int RESULT_SLOT = 2; public GlowFurnaceInventory(Furnace owner) { super(owner, InventoryType.FURNACE); getSlot(INPUT_SLOT).setType(InventoryType.SlotType.CRAFTING); getSlot(FUEL_SLOT).setType(InventoryType.SlotType.FUEL); getSlot(RESULT_SLOT).setType(InventoryType.SlotType.RESULT); } @Override public ItemStack getResult() { return getItem(RESULT_SLOT); } @Override public ItemStack getFuel() { return getItem(FUEL_SLOT); } @Override public ItemStack getSmelting() { return getItem(INPUT_SLOT); } @Override public void setFuel(ItemStack stack) { setItem(FUEL_SLOT, stack); } @Override public void setResult(ItemStack stack) { setItem(RESULT_SLOT, stack); } @Override public void setSmelting(ItemStack stack) { setItem(INPUT_SLOT, stack); } @Override public Furnace getHolder() { return (Furnace) super.getHolder(); } @Override public void handleShiftClick(GlowPlayer player, InventoryView view, int clickedSlot, ItemStack clickedItem) { clickedItem = player.getInventory().tryToFillSlots(clickedItem, 9, 36, 0, 9); view.setItem(clickedSlot, clickedItem); } }