package net.glowstone.block.state;
import net.glowstone.block.GlowBlock;
import net.glowstone.block.entity.FurnaceEntity;
import org.bukkit.block.Furnace;
import org.bukkit.inventory.FurnaceInventory;
public class GlowFurnace extends GlowLootableBlock implements Furnace {
private short burnTime;
private short cookTime;
public GlowFurnace(GlowBlock block) {
super(block);
burnTime = getBlockEntity().getBurnTime();
cookTime = getBlockEntity().getCookTime();
}
public GlowFurnace(GlowBlock block, short burnTime, short cookTime) {
super(block);
this.burnTime = burnTime;
this.cookTime = cookTime;
}
private FurnaceEntity getBlockEntity() {
return (FurnaceEntity) getBlock().getBlockEntity();
}
@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) getBlockEntity().getInventory();
}
@Override
public boolean update(boolean force, boolean applyPhysics) {
boolean result = super.update(force, applyPhysics);
if (result) {
FurnaceEntity furnace = getBlockEntity();
furnace.setBurnTime(burnTime);
furnace.setCookTime(cookTime);
}
return result;
}
}