Package org.bukkit.block
Interface CreatureSpawner
- All Superinterfaces:
BlockState
,Metadatable
,PersistentDataHolder
,TileState
Represents a captured state of a creature spawner.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addPotentialSpawn
(SpawnerEntry spawnerEntry) Adds a newSpawnerEntry
to the list of entities this spawner can spawn.void
addPotentialSpawn
(EntitySnapshot snapshot, int weight, SpawnRule spawnRule) Adds a newEntitySnapshot
to the list of entities this spawner can spawn.Deprecated.int
getDelay()
Get the spawner's delay.int
Set the new maximum amount of similar entities that are allowed to be within spawning range of this spawner.int
The maximum spawn delay amount (in ticks).int
The minimum spawn delay amount (in ticks).Gets a list of potential spawns from this spawner or an empty list if no entities have been assigned to this spawner.int
Get the maximum distance(squared) a player can be in order for this spawner to be active.int
Get how many mobs attempt to spawn.Gets theEntitySnapshot
that will be spawned by this spawner or null if no entities have been assigned to this spawner.Get the spawner's creature type.int
Get the radius around which the spawner will attempt to spawn mobs in.void
setCreatureTypeByName
(String creatureType) Deprecated.magic value, usesetSpawnedType(org.bukkit.entity.EntityType)
.void
setDelay
(int delay) Set the spawner's delay.void
setMaxNearbyEntities
(int maxNearbyEntities) Set the maximum number of similar entities that are allowed to be within spawning range of this spawner.void
setMaxSpawnDelay
(int delay) Set the maximum spawn delay amount (in ticks).void
setMinSpawnDelay
(int delay) Set the minimum spawn delay amount (in ticks).void
setPotentialSpawns
(Collection<SpawnerEntry> entries) Sets the list ofSpawnerEntry
this spawner can spawn.void
setRequiredPlayerRange
(int requiredPlayerRange) Set the maximum distance (squared) a player can be in order for this spawner to be active.void
setSpawnCount
(int spawnCount) Set how many mobs attempt to spawn.void
setSpawnedEntity
(EntitySnapshot snapshot) Sets the entity that will be spawned by this spawner.void
setSpawnedType
(EntityType creatureType) Set the spawner's creature type.void
setSpawnRange
(int spawnRange) Set the new spawn range.Methods inherited from interface org.bukkit.block.BlockState
copy, copy, getBlock, getBlockData, getChunk, getData, getLightLevel, getLocation, getLocation, getRawData, getType, getWorld, getX, getY, getZ, 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.block.TileState
getPersistentDataContainer
-
Method Details
-
getSpawnedType
Get the spawner's creature type.- Returns:
- The creature type or null if it not set.
-
setSpawnedType
Set the spawner's creature type.
This will override any entities that have been added withaddPotentialSpawn(org.bukkit.entity.EntitySnapshot, int, org.bukkit.block.spawner.SpawnRule)
- Parameters:
creatureType
- The creature type or null to clear.
-
setCreatureTypeByName
Deprecated.magic value, usesetSpawnedType(org.bukkit.entity.EntityType)
.Set the spawner mob type.- Parameters:
creatureType
- The creature type's name or null to clear.
-
getCreatureTypeName
Deprecated.magic value, usegetSpawnedType()
.Get the spawner's creature type.- Returns:
- The creature type's name if is set.
-
getDelay
int getDelay()Get the spawner's delay.
This is the delay, in ticks, until the spawner will spawn its next mob.- Returns:
- The delay.
-
setDelay
void setDelay(int delay) Set the spawner's delay.
If set to -1, the spawn delay will be reset to a random value betweengetMinSpawnDelay()
andgetMaxSpawnDelay()
.- Parameters:
delay
- The delay.
-
getMinSpawnDelay
int getMinSpawnDelay()The minimum spawn delay amount (in ticks).
This value is used when the spawner resets its delay (for any reason). It will choose a random number betweengetMinSpawnDelay()
andgetMaxSpawnDelay()
for its nextgetDelay()
.
Default value is 200 ticks.- Returns:
- the minimum spawn delay amount
-
setMinSpawnDelay
void setMinSpawnDelay(int delay) Set the minimum spawn delay amount (in ticks).- Parameters:
delay
- the minimum spawn delay amount- See Also:
-
getMaxSpawnDelay
int getMaxSpawnDelay()The maximum spawn delay amount (in ticks).
This value is used when the spawner resets its delay (for any reason). It will choose a random number betweengetMinSpawnDelay()
andgetMaxSpawnDelay()
for its nextgetDelay()
.
This value must be greater than 0 and less than or equal togetMaxSpawnDelay()
.
Default value is 800 ticks.- Returns:
- the maximum spawn delay amount
-
setMaxSpawnDelay
void setMaxSpawnDelay(int delay) Set the maximum spawn delay amount (in ticks).
This value must be greater than 0, as well as greater than or equal togetMinSpawnDelay()
- Parameters:
delay
- the new maximum spawn delay amount- See Also:
-
getSpawnCount
int getSpawnCount()Get how many mobs attempt to spawn.
Default value is 4.- Returns:
- the current spawn count
-
setSpawnCount
void setSpawnCount(int spawnCount) Set how many mobs attempt to spawn.- Parameters:
spawnCount
- the new spawn count
-
getMaxNearbyEntities
int getMaxNearbyEntities()Set the new maximum amount of similar entities that are allowed to be within spawning range of this spawner.
If more than the maximum number of entities are within range, the spawner will not spawn and try again with a newgetDelay()
.
Default value is 16.- Returns:
- the maximum number of nearby, similar, entities
-
setMaxNearbyEntities
void setMaxNearbyEntities(int maxNearbyEntities) Set the maximum number of similar entities that are allowed to be within spawning range of this spawner.
Similar entities are entities that are of the sameEntityType
- Parameters:
maxNearbyEntities
- the maximum number of nearby, similar, entities
-
getRequiredPlayerRange
int getRequiredPlayerRange()Get the maximum distance(squared) a player can be in order for this spawner to be active.
If this value is less than or equal to 0, this spawner is always active (given that there are players online).
Default value is 16.- Returns:
- the maximum distance(squared) a player can be in order for this spawner to be active.
-
setRequiredPlayerRange
void setRequiredPlayerRange(int requiredPlayerRange) Set the maximum distance (squared) a player can be in order for this spawner to be active.
Setting this value to less than or equal to 0 will make this spawner always active (given that there are players online).- Parameters:
requiredPlayerRange
- the maximum distance (squared) a player can be in order for this spawner to be active.
-
getSpawnRange
int getSpawnRange()Get the radius around which the spawner will attempt to spawn mobs in.
This area is square, includes the block the spawner is in, and is centered on the spawner's x,z coordinates - not the spawner itself.
It is 2 blocks high, centered on the spawner's y-coordinate (its bottom); thus allowing mobs to spawn as high as its top surface and as low as 1 block below its bottom surface.
Default value is 4.- Returns:
- the spawn range
-
setSpawnRange
void setSpawnRange(int spawnRange) Set the new spawn range.- Parameters:
spawnRange
- the new spawn range- See Also:
-
getSpawnedEntity
Gets theEntitySnapshot
that will be spawned by this spawner or null if no entities have been assigned to this spawner.
All applicable data from the spawner will be copied, such as custom name, health, and velocity.
- Returns:
- the entity snapshot or null if no entities have been assigned to this spawner.
-
setSpawnedEntity
Sets the entity that will be spawned by this spawner.
This will override any previous entries that have been added withaddPotentialSpawn(org.bukkit.entity.EntitySnapshot, int, org.bukkit.block.spawner.SpawnRule)
All applicable data from the snapshot will be copied, such as custom name, health, and velocity.
- Parameters:
snapshot
- the entity snapshot
-
addPotentialSpawn
Adds a newEntitySnapshot
to the list of entities this spawner can spawn.The weight will determine how often this entry is chosen to spawn, higher weighted entries will spawn more often than lower weighted ones.
TheSpawnRule
will determine under what conditions this entry can spawn, passing null will use the default conditions for the given entity.- Parameters:
snapshot
- the snapshot that will be spawnedweight
- the weightspawnRule
- the spawn rule for this entity, or null
-
addPotentialSpawn
Adds a newSpawnerEntry
to the list of entities this spawner can spawn.- Parameters:
spawnerEntry
- the spawner entry to use- See Also:
-
setPotentialSpawns
Sets the list ofSpawnerEntry
this spawner can spawn.
This will override any previous entries added withaddPotentialSpawn(org.bukkit.entity.EntitySnapshot, int, org.bukkit.block.spawner.SpawnRule)
- Parameters:
entries
- the list of entries
-
getPotentialSpawns
Gets a list of potential spawns from this spawner or an empty list if no entities have been assigned to this spawner.
Changes made to the returned list will not be reflected in the spawner unless applied withsetPotentialSpawns(java.util.Collection<org.bukkit.block.spawner.SpawnerEntry>)
- Returns:
- a list of potential spawns from this spawner, or an empty list if no entities have been assigned to this spawner
- See Also:
-
getSpawnedType()
.