declare namespace org { namespace bukkit { namespace block { // @ts-ignore interface BlockState extends org.bukkit.metadata.Metadatable { /** * Gets the block represented by this block state. */ getBlock(): org.bukkit.block.Block; /** * Gets the metadata for this block state. */ getData(): org.bukkit.material.MaterialData; /** * Gets the data for this block state. */ getBlockData(): org.bukkit.block.data.BlockData; /** * Gets the type of this block state. */ getType(): org.bukkit.Material; /** * Gets the current light level of the block represented by this block state. */ getLightLevel(): number; /** * Gets the world which contains the block represented by this block state. */ getWorld(): org.bukkit.World; /** * Gets the x-coordinate of this block state. */ getX(): number; /** * Gets the y-coordinate of this block state. */ getY(): number; /** * Gets the z-coordinate of this block state. */ getZ(): number; /** * Gets the location of this block state. *

* If this block state is not placed the location's world will be null! */ getLocation(): org.bukkit.Location; /** * Stores the location of this block state in the provided Location object. *

* If the provided Location is null this method does nothing and returns * null. *

* If this block state is not placed the location's world will be null! */ getLocation(loc: org.bukkit.Location): org.bukkit.Location; /** * Gets the chunk which contains the block represented by this block state. */ getChunk(): org.bukkit.Chunk; /** * Sets the metadata for this block state. */ setData(data: org.bukkit.material.MaterialData): void; /** * Sets the data for this block state. */ setBlockData(data: org.bukkit.block.data.BlockData): void; /** * Sets the type of this block state. */ setType(type: org.bukkit.Material): void; /** * 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. */ update(): boolean; /** * 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. */ update(force: boolean): boolean; /** * Attempts to update the block represented by this state, setting it to * the new values as defined by this state. *

* If this state is not placed, this will have no effect and return true. *

* 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. */ update(force: boolean, applyPhysics: boolean): boolean; getRawData(): number; setRawData(data: number): void; /** * Returns whether this state is placed in the world. *

* Some methods will not work if the block state isn't * placed in the world. */ isPlaced(): boolean; } } } }