Package org.bukkit.event.block

# Class BlockCanBuildEvent

java.lang.Object
org.bukkit.event.Event
org.bukkit.event.block.BlockEvent
org.bukkit.event.block.BlockCanBuildEvent

public class BlockCanBuildEvent extends BlockEvent
Called when we try to place a block, to see if we can build it here or not.

Note:

- The Block returned by getBlock() is the block we are trying to place on, not the block we are trying to place.
- If you want to figure out what is being placed, use `getMaterial()` instead.

## Nested Class Summary

## Nested classes/interfaces inherited from class org.bukkit.event.Event

`Event.Result`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected BlockData`
`blockData`
`protected boolean`
`buildable`

### Fields inherited from class org.bukkit.event.block.BlockEvent

`block`

## Constructor Summary

Constructors
Constructor
Description
`BlockCanBuildEvent(@NotNull Block block, @NotNull BlockData type, boolean canBuild)`
Deprecated.
`BlockCanBuildEvent(@NotNull Block block, @Nullable Player player, @NotNull BlockData type, boolean canBuild)`

## Method Summary

Modifier and Type
Method
Description
`@NotNull BlockData`
`getBlockData()`
Gets the BlockData that we are trying to place.
`static @NotNull HandlerList`
`getHandlerList()`
`@NotNull HandlerList`
`getHandlers()`
`@NotNull Material`
`getMaterial()`
Gets the Material that we are trying to place.
`@Nullable Player`
`getPlayer()`
Gets the player who placed the block involved in this event.
`boolean`
`isBuildable()`
Gets whether or not the block can be built here.
`void`
`setBuildable(boolean cancel)`
Sets whether the block can be built here or not.

### Methods inherited from class org.bukkit.event.block.BlockEvent

`getBlock`

### Methods inherited from class org.bukkit.event.Event

`callEvent, getEventName, isAsynchronous`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### buildable

protected boolean buildable

### blockData

protected BlockData blockData

## Constructor Details

### BlockCanBuildEvent

@Deprecated public BlockCanBuildEvent(@NotNull @NotNull Block block, @NotNull @NotNull BlockData type, boolean canBuild)
Deprecated.

### BlockCanBuildEvent

public BlockCanBuildEvent(@NotNull @NotNull Block block, @Nullable @Nullable Player player, @NotNull @NotNull BlockData type, boolean canBuild)

Parameters:
  `block` - the block involved in this event
  `player` - the player placing the block
  `type` - the id of the block to place
  `canBuild` - whether we can build

## Method Details

### isBuildable

public boolean isBuildable()
Gets whether or not the block can be built here.

By default, returns Minecraft's answer on whether the block can be built here or not.

Returns:
  boolean whether or not the block can be built

### setBuildable

public void setBuildable(boolean cancel)
Sets whether the block can be built here or not.

Parameters:
  `cancel` - true if you want to allow the block to be built here despite Minecraft's default behaviour

### getMaterial

@NotNull public @NotNull Material getMaterial()
Gets the Material that we are trying to place.

Returns:
  The Material that we are trying to place

### getBlockData

@NotNull public @NotNull BlockData getBlockData()
Gets the BlockData that we are trying to place.

Returns:
  The BlockData that we are trying to place

### getPlayer

@Nullable public @Nullable Player getPlayer()
Gets the player who placed the block involved in this event.
May be null for legacy calls of the event.

Returns:
  The Player who placed the block involved in this event

### getHandlers

@NotNull public @NotNull HandlerList getHandlers()

Specified by:
  `getHandlers` in class `Event`

### getHandlerList

@NotNull public static @NotNull HandlerList getHandlerList()