Class TileEntityFurnace

java.lang.Object
net.minecraft.src.TileEntity
net.minecraft.src.TileEntityFurnace
All Implemented Interfaces:
IInventory, ISidedInventory
Direct Known Subclasses:
OvenTileEntity

public class TileEntityFurnace extends TileEntity implements ISidedInventory
  • Field Details

    • furnaceItemStacks

      protected ItemStack[] furnaceItemStacks
      The ItemStacks that hold the items currently being used in the furnace
    • furnaceBurnTime

      public int furnaceBurnTime
      The number of ticks that the furnace will keep burning
    • currentItemBurnTime

      public int currentItemBurnTime
      The number of ticks that a fresh copy of the currently-burning item would keep the furnace burning for
    • furnaceCookTime

      public int furnaceCookTime
      The number of ticks that the current item has been cooking for
    • DEFAULT_COOK_TIME

      public static final int DEFAULT_COOK_TIME
      See Also:
    • BASE_BURN_TIME_MULTIPLIER

      public static final int BASE_BURN_TIME_MULTIPLIER
      See Also:
  • Constructor Details

    • TileEntityFurnace

      public TileEntityFurnace()
  • Method Details

    • getSizeInventory

      public int getSizeInventory()
      Returns the number of slots in the inventory.
      Specified by:
      getSizeInventory in interface IInventory
    • getStackInSlot

      public ItemStack getStackInSlot(int par1)
      Returns the stack in slot i
      Specified by:
      getStackInSlot in interface IInventory
    • decrStackSize

      public ItemStack decrStackSize(int par1, int par2)
      Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a new stack.
      Specified by:
      decrStackSize in interface IInventory
    • getStackInSlotOnClosing

      public ItemStack getStackInSlotOnClosing(int par1)
      When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - like when you close a workbench GUI.
      Specified by:
      getStackInSlotOnClosing in interface IInventory
    • setInventorySlotContents

      public void setInventorySlotContents(int par1, ItemStack par2ItemStack)
      Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
      Specified by:
      setInventorySlotContents in interface IInventory
    • getInvName

      public String getInvName()
      Returns the name of the inventory.
      Specified by:
      getInvName in interface IInventory
    • isInvNameLocalized

      public boolean isInvNameLocalized()
      If this returns false, the inventory name will be used as an unlocalized name, and translated into the player's language. Otherwise it will be used directly.
      Specified by:
      isInvNameLocalized in interface IInventory
    • setGuiDisplayName

      public void setGuiDisplayName(String par1Str)
      Sets the custom display name to use when opening a GUI linked to this tile entity.
    • readFromNBT

      public void readFromNBT(NBTTagCompound par1NBTTagCompound)
      Reads a tile entity from NBT.
      Overrides:
      readFromNBT in class TileEntity
    • writeToNBT

      public void writeToNBT(NBTTagCompound par1NBTTagCompound)
      Writes a tile entity to NBT.
      Overrides:
      writeToNBT in class TileEntity
    • getInventoryStackLimit

      public int getInventoryStackLimit()
      Returns the maximum stack size for a inventory slot. Seems to always be 64, possibly will be extended. *Isn't this more of a set than a get?*
      Specified by:
      getInventoryStackLimit in interface IInventory
    • getCookProgressScaled

      public int getCookProgressScaled(int par1)
      Returns an integer between 0 and the passed value representing how close the current item is to being completely cooked
    • getBurnTimeRemainingScaled

      public int getBurnTimeRemainingScaled(int par1)
      Returns an integer between 0 and the passed value representing how much burn time is left on the current fuel item, where 0 means that the item is exhausted and the passed value means that the item is fresh
    • isBurning

      public boolean isBurning()
      Returns true if the furnace is currently burning
    • updateEntity

      public void updateEntity()
      Allows the entity to update its state. Overridden in most subclasses, e.g. the mob spawner uses this to count ticks and creates a new spawn inside its implementation.
      Overrides:
      updateEntity in class TileEntity
    • canSmelt

      protected boolean canSmelt()
      Returns true if the furnace can smelt an item, i.e. has a source item, destination stack isn't full, etc.
    • smeltItem

      public void smeltItem()
      Turn one item from the furnace source stack into the appropriate smelted item in the furnace result stack
    • isItemFuel

      public static boolean isItemFuel(ItemStack par0ItemStack)
      // +++START EDIT+++ // ---END EDIT--- Return true if item is a fuel source (getItemBurnTime() > 0).
    • isUseableByPlayer

      public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer)
      Do not make give this method the name canInteractWith because it clashes with Container
      Specified by:
      isUseableByPlayer in interface IInventory
    • openChest

      public void openChest()
      Specified by:
      openChest in interface IInventory
    • closeChest

      public void closeChest()
      Specified by:
      closeChest in interface IInventory
    • isItemValidForSlot

      public boolean isItemValidForSlot(int par1, ItemStack par2ItemStack)
      Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
      Specified by:
      isItemValidForSlot in interface IInventory
    • getAccessibleSlotsFromSide

      public int[] getAccessibleSlotsFromSide(int par1)
      Returns an array containing the indices of the slots that can be accessed by automation on the given side of this block.
      Specified by:
      getAccessibleSlotsFromSide in interface ISidedInventory
    • canInsertItem

      public boolean canInsertItem(int par1, ItemStack par2ItemStack, int par3)
      Returns true if automation can insert the given item in the given slot from the given side. Args: Slot, item, side
      Specified by:
      canInsertItem in interface ISidedInventory
    • canExtractItem

      public boolean canExtractItem(int par1, ItemStack par2ItemStack, int par3)
      Returns true if automation can extract the given item in the given slot from the given side. Args: Slot, item, side
      Specified by:
      canExtractItem in interface ISidedInventory
    • getCookTimeForCurrentItem

      protected int getCookTimeForCurrentItem()
    • getItemBurnTime

      public int getItemBurnTime(ItemStack stack)