Interface BlockState
- All Superinterfaces:
Metadatable
- All Known Subinterfaces:
Banner
,Beacon
,BrewingStand
,Chest
,CommandBlock
,CreatureSpawner
,Dispenser
,Dropper
,Furnace
,Hopper
,Jukebox
,NoteBlock
,Sign
,Skull
public interface BlockState extends Metadatable
Unlike Block, which only one object can exist per coordinate, BlockState can exist multiple times for any given Block. Note that another plugin may change the state of the block and you will not know, or they may change the block to another type entirely, causing your BlockState to become invalid.
-
Method Summary
Modifier and Type Method Description Block
getBlock()
Gets the block represented by this BlockStateChunk
getChunk()
Gets the chunk which contains this blockMaterialData
getData()
Gets the metadata for this blockbyte
getLightLevel()
Gets the light level between 0-15Location
getLocation()
Gets the location of this blockLocation
getLocation(Location loc)
Stores the location of this block in the provided Location object.byte
getRawData()
Deprecated.Magic valueMaterial
getType()
Gets the type of this blockint
getTypeId()
Deprecated.Magic valueWorld
getWorld()
Gets the world which contains this Blockint
getX()
Gets the x-coordinate of this blockint
getY()
Gets the y-coordinate of this blockint
getZ()
Gets the z-coordinate of this blockboolean
isPlaced()
Returns whether this state is placed in the world.void
setData(MaterialData data)
Sets the metadata for this blockvoid
setRawData(byte data)
Deprecated.Magic valuevoid
setType(Material type)
Sets the type of this blockboolean
setTypeId(int type)
Deprecated.Magic valueboolean
update()
Attempts to update the block represented by this state, setting it to the new values as defined by this state.boolean
update(boolean force)
Attempts to update the block represented by this state, setting it to the new values as defined by this state.boolean
update(boolean force, boolean applyPhysics)
Attempts to update the block represented by this state, setting it to the new values as defined by this state.Methods inherited from interface org.bukkit.metadata.Metadatable
getMetadata, hasMetadata, removeMetadata, setMetadata
-
Method Details
-
getBlock
Block getBlock()Gets the block represented by this BlockState- Returns:
- Block that this BlockState represents
-
getData
MaterialData getData()Gets the metadata for this block- Returns:
- block specific metadata
-
getType
Material getType()Gets the type of this block- Returns:
- block type
-
getTypeId
@Deprecated int getTypeId()Deprecated.Magic valueGets the type-id of this block- Returns:
- block type-id
-
getLightLevel
byte getLightLevel()Gets the light level between 0-15- Returns:
- light level
-
getWorld
World getWorld()Gets the world which contains this Block- Returns:
- World containing this block
-
getX
int getX()Gets the x-coordinate of this block- Returns:
- x-coordinate
-
getY
int getY()Gets the y-coordinate of this block- Returns:
- y-coordinate
-
getZ
int getZ()Gets the z-coordinate of this block- Returns:
- z-coordinate
-
getLocation
Location getLocation()Gets the location of this block- Returns:
- location
-
getLocation
Stores the location of this block in the provided Location object.If the provided Location is null this method does nothing and returns null.
- Parameters:
loc
- the location to copy into- Returns:
- The Location object provided or null
-
getChunk
Chunk getChunk()Gets the chunk which contains this block- Returns:
- Containing Chunk
-
setData
Sets the metadata for this block- Parameters:
data
- New block specific metadata
-
setType
Sets the type of this block- Parameters:
type
- Material to change this block to
-
setTypeId
@Deprecated boolean setTypeId(int type)Deprecated.Magic valueSets the type-id of this block- Parameters:
type
- Type-Id to change this block to- Returns:
- Whether it worked?
-
update
boolean update()Attempts to update the block represented by this state, setting it to the new values as defined by this state.This has the same effect as calling update(false). That is to say, this will not modify the state of a block if it is no longer the same type as it was when this state was taken. It will return false in this eventuality.
- Returns:
- true if the update was successful, otherwise false
- See Also:
update(boolean)
-
update
boolean update(boolean force)Attempts to update the block represented by this state, setting it to the new values as defined by this state.This has the same effect as calling update(force, true). That is to say, this will trigger a physics update to surrounding blocks.
- Parameters:
force
- true to forcefully set the state- Returns:
- true if the update was successful, otherwise false
-
update
boolean update(boolean force, boolean applyPhysics)Attempts to update the block represented by this state, setting it to the new values as defined by this state.Unless force is true, this will not modify the state of a block if it is no longer the same type as it was when this state was taken. It will return false in this eventuality.
If force is true, it will set the type of the block to match the new state, set the state data and then return true.
If applyPhysics is true, it will trigger a physics update on surrounding blocks which could cause them to update or disappear.
- Parameters:
force
- true to forcefully set the stateapplyPhysics
- false to cancel updating physics on surrounding blocks- Returns:
- true if the update was successful, otherwise false
-
getRawData
@Deprecated byte getRawData()Deprecated.Magic value- Returns:
- The data as a raw byte.
-
setRawData
@Deprecated void setRawData(byte data)Deprecated.Magic value- Parameters:
data
- The new data value for the block.
-
isPlaced
boolean isPlaced()Returns whether this state is placed in the world. Some methods will not work if the blockState isn't placed in the world.- Returns:
- whether the state is placed in the world or 'virtual' (e.g. on an itemstack)
-