Package org.bukkit.block
Interface Furnace
- All Superinterfaces:
BlockInventoryHolder
,BlockState
,Container
,InventoryHolder
,Lockable
,LockableTileState
,Metadatable
,Nameable
,PersistentDataHolder
,TileState
- All Known Subinterfaces:
BlastFurnace
,Smoker
Represents a captured state of a furnace.
-
Method Summary
Modifier and TypeMethodDescriptionshort
Get burn time.double
Gets the cook speed multiplier that thisFurnace
will cook compared to vanilla.short
Get cook time.int
Get cook time total.Gets the inventory of the block represented by this block state.Get the recipes used in this furnace.int
getRecipeUsedCount
(NamespacedKey furnaceRecipe) Gets the number of times a recipe has been used since the last player removed items from the result slot.Gets the captured inventory snapshot of this container.boolean
hasRecipeUsedCount
(NamespacedKey furnaceRecipe) Checks if the recipe has a used count present on this furnace.void
setBurnTime
(short burnTime) Set burn time.void
setCookSpeedMultiplier
(double multiplier) Sets the speed multiplier that thisFurnace
will cook compared to vanilla.void
setCookTime
(short cookTime) Set cook time.void
setCookTimeTotal
(int cookTimeTotal) Set cook time.void
setRecipesUsed
(@NotNull Map<CookingRecipe<?>, Integer> recipesUsed) Sets all recipes used by this furnace.void
setRecipeUsedCount
(CookingRecipe<?> furnaceRecipe, int count) Sets the number of times a recipe has been used.Methods inherited from interface org.bukkit.inventory.BlockInventoryHolder
getBlock
Methods inherited from interface org.bukkit.block.BlockState
copy, getBlock, getBlockData, getChunk, getData, getDrops, getDrops, getDrops, getLightLevel, getLocation, getLocation, getRawData, getType, getWorld, getX, getY, getZ, isCollidable, isPlaced, setBlockData, setData, setRawData, setType, update, update, update
Methods inherited from interface org.bukkit.metadata.Metadatable
getMetadata, hasMetadata, removeMetadata, setMetadata
Methods inherited from interface org.bukkit.Nameable
customName, customName, getCustomName, setCustomName
Methods inherited from interface org.bukkit.block.TileState
getPersistentDataContainer, isSnapshot
-
Method Details
-
getBurnTime
short getBurnTime()Get burn time.- Returns:
- Burn time
-
setBurnTime
void setBurnTime(short burnTime) Set burn time. A burn time greater than 0 will cause this block to be lit, whilst a time less than 0 will extinguish it.- Parameters:
burnTime
- Burn time
-
getCookTime
short getCookTime()Get cook time. This is the amount of time the item has been cooking for.- Returns:
- Cook time
-
setCookTime
void setCookTime(short cookTime) Set cook time. This is the amount of time the item has been cooking for.- Parameters:
cookTime
- Cook time
-
getCookTimeTotal
int getCookTimeTotal()Get cook time total. This is the amount of time the item is required to cook for.- Returns:
- Cook time total
-
setCookTimeTotal
void setCookTimeTotal(int cookTimeTotal) Set cook time. This is the amount of time the item is required to cook for.- Parameters:
cookTimeTotal
- Cook time total
-
getRecipesUsed
Get the recipes used in this furnace. Note: These recipes used are reset when the result item is manually taken from the furnace.- Returns:
- An immutable map with the recipes used and the times used
-
getCookSpeedMultiplier
double getCookSpeedMultiplier()Gets the cook speed multiplier that thisFurnace
will cook compared to vanilla.- Returns:
- the multiplier, a value between 0 and 200
-
setCookSpeedMultiplier
void setCookSpeedMultiplier(double multiplier) Sets the speed multiplier that thisFurnace
will cook compared to vanilla.- Parameters:
multiplier
- the multiplier to set, a value between 0 and 200- Throws:
IllegalArgumentException
- if value is less than 0IllegalArgumentException
- if value is more than 200
-
getRecipeUsedCount
Gets the number of times a recipe has been used since the last player removed items from the result slot. This is used to calculate experience rewards when withdrawing items from furnaces.- Parameters:
furnaceRecipe
- the recipe to query the count for- Returns:
- the count or 0 if none found
-
hasRecipeUsedCount
Checks if the recipe has a used count present on this furnace.- Parameters:
furnaceRecipe
- the recipe to check if a count exists for- Returns:
- true if there is a positive count, else false
-
setRecipeUsedCount
Sets the number of times a recipe has been used. This is used to calculate experience rewards when withdrawing items from furnaces.- Parameters:
furnaceRecipe
- the recipe to set the count forcount
- the count, a non-positive number will remove the recipe
-
setRecipesUsed
Sets all recipes used by this furnace.- Parameters:
recipesUsed
- the recipes used
-
getInventory
Description copied from interface:Container
Gets the inventory of the block represented by this block state.If the block was changed to a different type in the meantime, the returned inventory might no longer be valid.
If this block state is not placed this will return the captured inventory snapshot instead.
- Specified by:
getInventory
in interfaceContainer
- Specified by:
getInventory
in interfaceInventoryHolder
- Returns:
- the inventory
-
getSnapshotInventory
Description copied from interface:Container
Gets the captured inventory snapshot of this container.The returned inventory is not linked to any block. Any modifications to the returned inventory will not be applied to the block represented by this block state up until
BlockState.update(boolean, boolean)
has been called.- Specified by:
getSnapshotInventory
in interfaceContainer
- Returns:
- the captured inventory snapshot
-