package net.glowstone.block.state; import net.glowstone.block.GlowBlock; import net.glowstone.block.GlowBlockState; import net.glowstone.block.entity.TEFurnace; import org.bukkit.block.Furnace; import org.bukkit.inventory.FurnaceInventory; public class GlowFurnace extends GlowBlockState implements Furnace { private short burnTime = 0; private short cookTime = 0; public GlowFurnace(GlowBlock block) { super(block); burnTime = getTileEntity().getBurnTime(); cookTime = getTileEntity().getCookTime(); } public GlowFurnace(GlowBlock block, short burnTime, short cookTime) { super(block); this.burnTime = burnTime; this.cookTime = cookTime; } private TEFurnace getTileEntity() { return (TEFurnace) getBlock().getTileEntity(); } @Override public short getBurnTime() { return burnTime; } @Override public void setBurnTime(short burnTime) { this.burnTime = burnTime; } @Override public short getCookTime() { return cookTime; } @Override public void setCookTime(short cookTime) { this.cookTime = cookTime; } @Override public FurnaceInventory getInventory() { return (FurnaceInventory) getTileEntity().getInventory(); } @Override public boolean update(boolean force, boolean applyPhysics) { boolean result = super.update(force, applyPhysics); if (result) { TEFurnace furnace = getTileEntity(); furnace.setBurnTime(burnTime); furnace.setCookTime(cookTime); } return result; } }