程序包 org.bukkit.spawner

# 接口 BaseSpawner

所有已知子接口:
  `CreatureSpawner`, `Spawner`, `SpawnerMinecart`, `TrialSpawnerConfiguration`

public interface BaseSpawner
Represents a basic entity spawner.
May be a `SpawnerMinecart`, `CreatureSpawner` or `TrialSpawnerConfiguration`.

- ## 方法概要

  修饰符和类型
  方法
  说明
  `void`
  `addPotentialSpawn(@NotNull SpawnerEntry spawnerEntry)`
  Adds a new `SpawnerEntry` to the list of entities this spawner can spawn.
  `void`
  `addPotentialSpawn(@NotNull EntitySnapshot snapshot, int weight, @Nullable SpawnRule spawnRule)`
  Adds a new `EntitySnapshot` to the list of entities this spawner can spawn.
  `int`
  `getDelay()`
  获取刷怪笼的刷怪延迟.
  `@NotNull List<SpawnerEntry>`
  `getPotentialSpawns()`
  Gets a list of potential spawns from this spawner or an empty list if no entities have been assigned to this spawner.
  `int`
  `getRequiredPlayerRange()`
  获取玩家使刷怪笼激活所需的最远距离.
  `@Nullable EntitySnapshot`
  `getSpawnedEntity()`
  Gets the `EntitySnapshot` that will be spawned by this spawner or null if no entities have been assigned to this spawner.
  `@Nullable EntityType`
  `getSpawnedType()`
  获取刷出的生物的类型.
  `int`
  `getSpawnRange()`
  获取刷怪笼刷怪区域的半径.
  `void`
  `setDelay(int delay)`
  设置刷怪笼刷怪延迟.
  `void`
  `setPotentialSpawns(@NotNull Collection<SpawnerEntry> entries)`
  Sets the list of `SpawnerEntry` this spawner can spawn.
  `void`
  `setRequiredPlayerRange(int requiredPlayerRange)`
  设置玩家使刷怪笼激活所需的最远距离.
  `void`
  `setSpawnedEntity(@NotNull SpawnerEntry spawnerEntry)`
  Sets the `SpawnerEntry` that will be spawned by this spawner.
  `void`
  `setSpawnedEntity(@Nullable EntitySnapshot snapshot)`
  Sets the entity that will be spawned by this spawner.
  `void`
  `setSpawnedType(@Nullable EntityType creatureType)`
  Set the spawner's creature type.
  `void`
  `setSpawnRange(int spawnRange)`
  设置新的刷怪半径.

- ## 方法详细资料

  - ### getSpawnedType

    @Nullable @Nullable EntityType getSpawnedType()
    获取刷出的生物的类型.

    原文: Get the spawner's creature type.

    返回:
      生物类型, 如未设置返回 null

  - ### setSpawnedType

    void setSpawnedType(@Nullable @Nullable EntityType creatureType)
    Set the spawner's creature type.
    This will override any entities that have been added with `addPotentialSpawn(org.bukkit.entity.EntitySnapshot, int, org.bukkit.block.spawner.SpawnRule)`
    参数:
      `creatureType` - The creature type or null to clear.

  - ### getDelay

    int getDelay()
    获取刷怪笼的刷怪延迟.
    延迟时间以tick为单位.

    原文: Get the spawner's delay.
    This is the delay, in ticks, until the spawner will spawn its next mob.

    返回:
      延迟.

  - ### setDelay

    void setDelay(int delay)
    设置刷怪笼刷怪延迟.

    原文:Set the spawner's delay.

    参数:
      `delay` - 延迟.

  - ### getRequiredPlayerRange

    int getRequiredPlayerRange()
    获取玩家使刷怪笼激活所需的最远距离.
    如果该值小于或等于0, 则此刷怪笼永远处于激活状态.
    默认值为 16.
    译注:原文中的 "distance(squared)" 意为在比较距离时会使用此距离的平方与 两点(玩家与刷怪笼)间坐标差的平方和作比较, 毕竟乘法运算比开方运算快很多.

    原文: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.

    返回:
      激活刷怪笼所需最远距离

  - ### setRequiredPlayerRange

    void setRequiredPlayerRange(int requiredPlayerRange)
    设置玩家使刷怪笼激活所需的最远距离.
    如果设置小于或等于0的值, 将使刷怪笼永远处于激活状态.

    原文: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).

    参数:
      `requiredPlayerRange` - 激活刷怪笼所需最远距离

  - ### getSpawnRange

    int getSpawnRange()
    获取刷怪笼刷怪区域的半径.
    这个区域形为正方形, 以刷怪笼所在地为中心, 向 x,z 轴方向延伸(不含刷怪笼本身).
    这个区域以刷怪笼的y轴(它的底部)为中心算起, 高2个方块, 这允许生物有足够空间在这个区域的顶部和底部平面下一格方块的区域内生成.
    默认值为 4.

    原文: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.

    返回:
      刷怪半径

  - ### setSpawnRange

    void setSpawnRange(int spawnRange)
    设置新的刷怪半径.

    原文:Set the new spawn range.

    参数:
      `spawnRange` - 半径
    另请参阅:
      - `getSpawnRange()`

  - ### getSpawnedEntity

    @Nullable @Nullable EntitySnapshot getSpawnedEntity()
    Gets the `EntitySnapshot` 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.

    返回:
      the entity snapshot or null if no entities have been assigned to this spawner.

  - ### setSpawnedEntity

    void setSpawnedEntity(@Nullable @Nullable EntitySnapshot snapshot)
    Sets the entity that will be spawned by this spawner.
    This will override any previous entries that have been added with `addPotentialSpawn(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.

    参数:
      `snapshot` - the entity snapshot or null to clear

  - ### setSpawnedEntity

    void setSpawnedEntity(@NotNull @NotNull SpawnerEntry spawnerEntry)
    Sets the `SpawnerEntry` that will be spawned by this spawner.
    This will override any previous entries that have been added with `addPotentialSpawn(org.bukkit.entity.EntitySnapshot, int, org.bukkit.block.spawner.SpawnRule)`
    参数:
      `spawnerEntry` - the spawner entry to use

  - ### addPotentialSpawn

    void addPotentialSpawn(@NotNull @NotNull EntitySnapshot snapshot, int weight, @Nullable @Nullable SpawnRule spawnRule)
    Adds a new `EntitySnapshot` 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.
    The `SpawnRule` will determine under what conditions this entry can spawn, passing null will use the default conditions for the given entity.

    参数:
      `snapshot` - the snapshot that will be spawned
      `weight` - the weight
      `spawnRule` - the spawn rule for this entity, or null

  - ### addPotentialSpawn

    void addPotentialSpawn(@NotNull @NotNull SpawnerEntry spawnerEntry)
    Adds a new `SpawnerEntry` to the list of entities this spawner can spawn.
    参数:
      `spawnerEntry` - the spawner entry to use
    另请参阅:
      - `addPotentialSpawn(EntitySnapshot, int, SpawnRule)`

  - ### setPotentialSpawns

    void setPotentialSpawns(@NotNull @NotNull Collection<SpawnerEntry> entries)
    Sets the list of `SpawnerEntry` this spawner can spawn.
    This will override any previous entries added with `addPotentialSpawn(org.bukkit.entity.EntitySnapshot, int, org.bukkit.block.spawner.SpawnRule)`
    参数:
      `entries` - the list of entries

  - ### getPotentialSpawns

    @NotNull @NotNull List<SpawnerEntry> 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 with `setPotentialSpawns(java.util.Collection<org.bukkit.block.spawner.SpawnerEntry>)`
    返回:
      a list of potential spawns from this spawner, or an empty list if no entities have been assigned to this spawner
    另请参阅:
      - `getSpawnedType()`