That's exactly what's written here:
private static int getItemBurnTime(ItemStack itemstack) {
if(itemstack == null){
return 0;
}else{
Item item = itemstack.getItem();
if(item instanceof ItemBlock && Block.getBlockFromItem(item) != Blocks.air) {
Block block = Block.getBlockFromItem(item);
if(block == main.aniteBlock) return 216000;
}
if(item == main.aniteChunk) return 24000;
}
return GameRegistry.getFuelValue(itemstack);
}
public boolean isBurning() {
return this.burnTime > 0;
}
public void updateEntity() {
boolean flag = this.burnTime > 0;
boolean flag1 = false;
if(this.isBurning()) {
this.burnTime--;
}
if(this.burnTime == 0 && this.canSmelt()) {
this.currentItemBurnTime = this.burnTime = getItemBurnTime(this.slots[1]);
if(this.isBurning()) {
flag1 = true;
if(this.slots[1] != null) {
this.slots[1].stackSize--;
if(this.slots[1].stackSize == 0) {
this.slots[1] = this.slots[1].getItem().getContainerItem(this.slots[1]);
}
}
}
if(this.isBurning() && this.canSmelt()) {
this.cookTime++;
if(this.cookTime == this.furnaceSpeed) {
this.cookTime = 0;
this.smeltItem();
flag1 = true;
}
}else{
this.cookTime = 0;
}
if(flag != this.isBurning()) {
flag1 = true;
compressedBlock.updateCompressedBlockState(this.burnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord);
}
}
if(flag1) {
this.markDirty();
}
}
private boolean canSmelt() {
if (this.slots[0] == null) {
return false;
} else {
ItemStack itemstack = CompressedBlockRecipes.smelting().getSmeltingResult(this.slots[0]);
if (itemstack == null) return false;
if (this.slots[2] == null) return true;
if (!this.slots[2].isItemEqual(itemstack)) return false;
int result = slots[2].stackSize + itemstack.stackSize;
return result <= getInventoryStackLimit() && result <= this.slots[2].getMaxStackSize();
}
}
public void smeltItem() {
if (this.canSmelt()) {
ItemStack itemstack = CompressedBlockRecipes.smelting().getSmeltingResult(this.slots[0]);
if (this.slots[2] == null) {
this.slots[2] = itemstack.copy();
} else if (this.slots[2].getItem() == itemstack.getItem()) {
this.slots[2].stackSize += itemstack.stackSize;
}
--this.slots[0].stackSize;
if(this.slots[0].stackSize >= 0){
this.slots[0] = null;
}
}
}
AFAIK there is not any errors here... halp?