Package org.bukkit.block

# Interface Beacon

All Superinterfaces:
  `BlockState`, `Lockable`, `Metadatable`, `Nameable`, `PersistentDataHolder`, `TileState`

public interface Beacon extends TileState, Lockable, Nameable
Represents a captured state of a beacon.

## Method Summary

Modifier and Type
Method
Description
`double`
`getEffectRange()`
Gets the effect range of this beacon.
`@NotNull Collection<LivingEntity>`
`getEntitiesInRange()`
Returns the list of players within the beacon's range of effect.
`@Nullable PotionEffect`
`getPrimaryEffect()`
Returns the primary effect set on the beacon
`@Nullable PotionEffect`
`getSecondaryEffect()`
Returns the secondary effect set on the beacon.
`int`
`getTier()`
Returns the tier of the beacon pyramid (0-4).
`void`
`resetEffectRange()`
Resets the custom range from this beacon and falls back to the range based on the the beacon tier.
`void`
`setEffectRange(double range)`
Sets the effect range of the beacon A negative range value means the beacon is using its default range based on tier.
`void`
`setPrimaryEffect(@Nullable PotionEffectType effect)`
Set the primary effect on this beacon, or null to clear.
`void`
`setSecondaryEffect(@Nullable PotionEffectType effect)`
Set the secondary effect on this beacon, or null to clear.

### Methods inherited from interface org.bukkit.block.BlockState

`getBlock, getBlockData, getChunk, getData, getLightLevel, getLocation, getLocation, getRawData, getType, getWorld, getX, getY, getZ, isCollidable, isPlaced, setBlockData, setData, setRawData, setType, update, update, update`

### Methods inherited from interface org.bukkit.block.Lockable

`getLock, isLocked, setLock`

### 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`

## Method Details

### getEntitiesInRange

@NotNull @NotNull Collection<LivingEntity> getEntitiesInRange()
Returns the list of players within the beacon's range of effect.

This will return an empty list if the block represented by this state is no longer a beacon.

Returns:
  the players in range
Throws:
  `IllegalStateException` - if this block state is not placed

### getTier

int getTier()
Returns the tier of the beacon pyramid (0-4). The tier refers to the beacon's power level, based on how many layers of blocks are in the pyramid. Tier 1 refers to a beacon with one layer of 9 blocks under it.

Returns:
  the beacon tier

### getPrimaryEffect

@Nullable @Nullable PotionEffect getPrimaryEffect()
Returns the primary effect set on the beacon

Returns:
  the primary effect or null if not set

### setPrimaryEffect

void setPrimaryEffect(@Nullable @Nullable PotionEffectType effect)
Set the primary effect on this beacon, or null to clear.

Parameters:
  `effect` - new primary effect

### getSecondaryEffect

@Nullable @Nullable PotionEffect getSecondaryEffect()
Returns the secondary effect set on the beacon.

Returns:
  the secondary effect or null if no secondary effect

### setSecondaryEffect

void setSecondaryEffect(@Nullable @Nullable PotionEffectType effect)
Set the secondary effect on this beacon, or null to clear. Note that tier must be >= 4 for this effect to be active.

Parameters:
  `effect` - desired secondary effect

### getEffectRange

double getEffectRange()
Gets the effect range of this beacon. A negative range value means the beacon is using its default range based on tier.

Returns:
  Either the custom range set with `setEffectRange(double)` or the range based on the beacon tier.

### setEffectRange

void setEffectRange(double range)
Sets the effect range of the beacon A negative range value means the beacon is using its default range based on tier.

Parameters:
  `range` - Radius of effect range.

### resetEffectRange

void resetEffectRange()
Resets the custom range from this beacon and falls back to the range based on the the beacon tier. Shortcut for setting the effect range to a negative number.