mirror of
https://github.com/PaperMC/Paper.git
synced 2025-07-26 09:42:06 -07:00
[ci skip] Fix docs for Spawner class and cleanup (#12710)
This commit is contained in:
@@ -8,13 +8,14 @@ import org.bukkit.block.spawner.SpawnerEntry;
|
|||||||
import org.bukkit.entity.EntitySnapshot;
|
import org.bukkit.entity.EntitySnapshot;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.minecart.SpawnerMinecart;
|
import org.bukkit.entity.minecart.SpawnerMinecart;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jspecify.annotations.NullMarked;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jspecify.annotations.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a basic entity spawner. <br>
|
* Represents a basic entity spawner. <br>
|
||||||
* May be a {@link SpawnerMinecart}, {@link CreatureSpawner} or {@link TrialSpawnerConfiguration}.
|
* May be a {@link SpawnerMinecart}, {@link CreatureSpawner} or {@link TrialSpawnerConfiguration}.
|
||||||
*/
|
*/
|
||||||
|
@NullMarked
|
||||||
public interface BaseSpawner {
|
public interface BaseSpawner {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -23,7 +24,7 @@ public interface BaseSpawner {
|
|||||||
* @return The creature type or null if it not set.
|
* @return The creature type or null if it not set.
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
public EntityType getSpawnedType();
|
EntityType getSpawnedType();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the spawner's creature type. <br>
|
* Set the spawner's creature type. <br>
|
||||||
@@ -31,7 +32,7 @@ public interface BaseSpawner {
|
|||||||
*
|
*
|
||||||
* @param creatureType The creature type or null to clear.
|
* @param creatureType The creature type or null to clear.
|
||||||
*/
|
*/
|
||||||
public void setSpawnedType(@Nullable EntityType creatureType);
|
void setSpawnedType(@Nullable EntityType creatureType);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the spawner's delay.
|
* Get the spawner's delay.
|
||||||
@@ -40,14 +41,14 @@ public interface BaseSpawner {
|
|||||||
*
|
*
|
||||||
* @return The delay.
|
* @return The delay.
|
||||||
*/
|
*/
|
||||||
public int getDelay();
|
int getDelay();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the spawner's delay.
|
* Set the spawner's delay.
|
||||||
*
|
*
|
||||||
* @param delay The delay.
|
* @param delay The delay.
|
||||||
*/
|
*/
|
||||||
public void setDelay(int delay);
|
void setDelay(int delay);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the maximum distance(squared) a player can be in order for this
|
* Get the maximum distance(squared) a player can be in order for this
|
||||||
@@ -61,7 +62,7 @@ public interface BaseSpawner {
|
|||||||
* @return the maximum distance(squared) a player can be in order for this
|
* @return the maximum distance(squared) a player can be in order for this
|
||||||
* spawner to be active.
|
* spawner to be active.
|
||||||
*/
|
*/
|
||||||
public int getRequiredPlayerRange();
|
int getRequiredPlayerRange();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the maximum distance (squared) a player can be in order for this
|
* Set the maximum distance (squared) a player can be in order for this
|
||||||
@@ -73,7 +74,7 @@ public interface BaseSpawner {
|
|||||||
* @param requiredPlayerRange the maximum distance (squared) a player can be
|
* @param requiredPlayerRange the maximum distance (squared) a player can be
|
||||||
* in order for this spawner to be active.
|
* in order for this spawner to be active.
|
||||||
*/
|
*/
|
||||||
public void setRequiredPlayerRange(int requiredPlayerRange);
|
void setRequiredPlayerRange(int requiredPlayerRange);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the radius around which the spawner will attempt to spawn mobs in.
|
* Get the radius around which the spawner will attempt to spawn mobs in.
|
||||||
@@ -89,7 +90,7 @@ public interface BaseSpawner {
|
|||||||
*
|
*
|
||||||
* @return the spawn range
|
* @return the spawn range
|
||||||
*/
|
*/
|
||||||
public int getSpawnRange();
|
int getSpawnRange();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the new spawn range.
|
* Set the new spawn range.
|
||||||
@@ -98,7 +99,7 @@ public interface BaseSpawner {
|
|||||||
* @param spawnRange the new spawn range
|
* @param spawnRange the new spawn range
|
||||||
* @see #getSpawnRange()
|
* @see #getSpawnRange()
|
||||||
*/
|
*/
|
||||||
public void setSpawnRange(int spawnRange);
|
void setSpawnRange(int spawnRange);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the {@link EntitySnapshot} that will be spawned by this spawner or null
|
* Gets the {@link EntitySnapshot} that will be spawned by this spawner or null
|
||||||
@@ -111,7 +112,7 @@ public interface BaseSpawner {
|
|||||||
* spawner.
|
* spawner.
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
public EntitySnapshot getSpawnedEntity();
|
EntitySnapshot getSpawnedEntity();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the entity that will be spawned by this spawner. <br>
|
* Sets the entity that will be spawned by this spawner. <br>
|
||||||
@@ -123,7 +124,7 @@ public interface BaseSpawner {
|
|||||||
*
|
*
|
||||||
* @param snapshot the entity snapshot or null to clear
|
* @param snapshot the entity snapshot or null to clear
|
||||||
*/
|
*/
|
||||||
public void setSpawnedEntity(@Nullable EntitySnapshot snapshot);
|
void setSpawnedEntity(@Nullable EntitySnapshot snapshot);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the {@link SpawnerEntry} that will be spawned by this spawner. <br>
|
* Sets the {@link SpawnerEntry} that will be spawned by this spawner. <br>
|
||||||
@@ -132,14 +133,14 @@ public interface BaseSpawner {
|
|||||||
*
|
*
|
||||||
* @param spawnerEntry the spawner entry to use
|
* @param spawnerEntry the spawner entry to use
|
||||||
*/
|
*/
|
||||||
public void setSpawnedEntity(@NotNull SpawnerEntry spawnerEntry);
|
void setSpawnedEntity(SpawnerEntry spawnerEntry);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a new {@link EntitySnapshot} to the list of entities this spawner can
|
* Adds a new {@link EntitySnapshot} to the list of entities this spawner can
|
||||||
* spawn.
|
* spawn.
|
||||||
* <p>
|
* <p>
|
||||||
* The weight will determine how often this entry is chosen to spawn, higher
|
* The weight will determine how often this entry is chosen to spawn, higher
|
||||||
* weighted entries will spawn more often than lower weighted ones. <br>
|
* weighted entries will spawn more often than lower-weighted ones. <br>
|
||||||
* The {@link SpawnRule} will determine under what conditions this entry can
|
* The {@link SpawnRule} will determine under what conditions this entry can
|
||||||
* spawn, passing null will use the default conditions for the given entity.
|
* spawn, passing null will use the default conditions for the given entity.
|
||||||
*
|
*
|
||||||
@@ -147,7 +148,7 @@ public interface BaseSpawner {
|
|||||||
* @param weight the weight
|
* @param weight the weight
|
||||||
* @param spawnRule the spawn rule for this entity, or null
|
* @param spawnRule the spawn rule for this entity, or null
|
||||||
*/
|
*/
|
||||||
public void addPotentialSpawn(@NotNull EntitySnapshot snapshot, int weight, @Nullable SpawnRule spawnRule);
|
void addPotentialSpawn(EntitySnapshot snapshot, int weight, @Nullable SpawnRule spawnRule);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a new {@link SpawnerEntry} to the list of entities this spawner can
|
* Adds a new {@link SpawnerEntry} to the list of entities this spawner can
|
||||||
@@ -156,7 +157,7 @@ public interface BaseSpawner {
|
|||||||
* @param spawnerEntry the spawner entry to use
|
* @param spawnerEntry the spawner entry to use
|
||||||
* @see #addPotentialSpawn(EntitySnapshot, int, SpawnRule)
|
* @see #addPotentialSpawn(EntitySnapshot, int, SpawnRule)
|
||||||
*/
|
*/
|
||||||
public void addPotentialSpawn(@NotNull final SpawnerEntry spawnerEntry);
|
void addPotentialSpawn(final SpawnerEntry spawnerEntry);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the list of {@link SpawnerEntry} this spawner can spawn. <br>
|
* Sets the list of {@link SpawnerEntry} this spawner can spawn. <br>
|
||||||
@@ -165,7 +166,7 @@ public interface BaseSpawner {
|
|||||||
*
|
*
|
||||||
* @param entries the list of entries
|
* @param entries the list of entries
|
||||||
*/
|
*/
|
||||||
public void setPotentialSpawns(@NotNull final Collection<SpawnerEntry> entries);
|
void setPotentialSpawns(final Collection<SpawnerEntry> entries);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a list of potential spawns from this spawner or an empty list if no
|
* Gets a list of potential spawns from this spawner or an empty list if no
|
||||||
@@ -177,6 +178,5 @@ public interface BaseSpawner {
|
|||||||
* entities have been assigned to this spawner
|
* entities have been assigned to this spawner
|
||||||
* @see #getSpawnedType()
|
* @see #getSpawnedType()
|
||||||
*/
|
*/
|
||||||
@NotNull
|
List<SpawnerEntry> getPotentialSpawns();
|
||||||
public List<SpawnerEntry> getPotentialSpawns();
|
|
||||||
}
|
}
|
||||||
|
@@ -3,11 +3,14 @@ package org.bukkit.spawner;
|
|||||||
import org.bukkit.block.CreatureSpawner;
|
import org.bukkit.block.CreatureSpawner;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.minecart.SpawnerMinecart;
|
import org.bukkit.entity.minecart.SpawnerMinecart;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.jspecify.annotations.NullMarked;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents an entity spawner. <br>
|
* Represents an entity spawner. <br>
|
||||||
* May be a {@link SpawnerMinecart} or a {@link CreatureSpawner}.
|
* May be a {@link SpawnerMinecart} or a {@link CreatureSpawner}.
|
||||||
*/
|
*/
|
||||||
|
@NullMarked
|
||||||
public interface Spawner extends BaseSpawner {
|
public interface Spawner extends BaseSpawner {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -19,7 +22,7 @@ public interface Spawner extends BaseSpawner {
|
|||||||
* @param delay The delay.
|
* @param delay The delay.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void setDelay(int delay);
|
void setDelay(int delay);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The minimum spawn delay amount (in ticks).
|
* The minimum spawn delay amount (in ticks).
|
||||||
@@ -32,7 +35,7 @@ public interface Spawner extends BaseSpawner {
|
|||||||
*
|
*
|
||||||
* @return the minimum spawn delay amount
|
* @return the minimum spawn delay amount
|
||||||
*/
|
*/
|
||||||
public int getMinSpawnDelay();
|
int getMinSpawnDelay();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the minimum spawn delay amount (in ticks).
|
* Set the minimum spawn delay amount (in ticks).
|
||||||
@@ -40,7 +43,7 @@ public interface Spawner extends BaseSpawner {
|
|||||||
* @param delay the minimum spawn delay amount
|
* @param delay the minimum spawn delay amount
|
||||||
* @see #getMinSpawnDelay()
|
* @see #getMinSpawnDelay()
|
||||||
*/
|
*/
|
||||||
public void setMinSpawnDelay(int delay);
|
void setMinSpawnDelay(int delay);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The maximum spawn delay amount (in ticks).
|
* The maximum spawn delay amount (in ticks).
|
||||||
@@ -56,7 +59,7 @@ public interface Spawner extends BaseSpawner {
|
|||||||
*
|
*
|
||||||
* @return the maximum spawn delay amount
|
* @return the maximum spawn delay amount
|
||||||
*/
|
*/
|
||||||
public int getMaxSpawnDelay();
|
int getMaxSpawnDelay();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the maximum spawn delay amount (in ticks).
|
* Set the maximum spawn delay amount (in ticks).
|
||||||
@@ -67,7 +70,7 @@ public interface Spawner extends BaseSpawner {
|
|||||||
* @param delay the new maximum spawn delay amount
|
* @param delay the new maximum spawn delay amount
|
||||||
* @see #getMaxSpawnDelay()
|
* @see #getMaxSpawnDelay()
|
||||||
*/
|
*/
|
||||||
public void setMaxSpawnDelay(int delay);
|
void setMaxSpawnDelay(int delay);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get how many mobs attempt to spawn.
|
* Get how many mobs attempt to spawn.
|
||||||
@@ -76,27 +79,27 @@ public interface Spawner extends BaseSpawner {
|
|||||||
*
|
*
|
||||||
* @return the current spawn count
|
* @return the current spawn count
|
||||||
*/
|
*/
|
||||||
public int getSpawnCount();
|
int getSpawnCount();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set how many mobs attempt to spawn.
|
* Set how many mobs attempt to spawn.
|
||||||
*
|
*
|
||||||
* @param spawnCount the new spawn count
|
* @param spawnCount the new spawn count
|
||||||
*/
|
*/
|
||||||
public void setSpawnCount(int spawnCount);
|
void setSpawnCount(int spawnCount);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the new maximum amount of similar entities that are allowed to be
|
* Get the maximum number of similar entities that are allowed to be
|
||||||
* within spawning range of this spawner.
|
* within the spawning range of this spawner.
|
||||||
* <br>
|
* <br>
|
||||||
* If more than the maximum number of entities are within range, the spawner
|
* If more than the maximum number of entities are within range, the spawner
|
||||||
* will not spawn and try again with a new {@link #getDelay()}.
|
* will not spawn and try again with a new {@link #getDelay()}.
|
||||||
* <br>
|
* <br>
|
||||||
* Default value is 16.
|
* Default value is 6.
|
||||||
*
|
*
|
||||||
* @return the maximum number of nearby, similar, entities
|
* @return the maximum number of nearby, similar, entities
|
||||||
*/
|
*/
|
||||||
public int getMaxNearbyEntities();
|
int getMaxNearbyEntities();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the maximum number of similar entities that are allowed to be within
|
* Set the maximum number of similar entities that are allowed to be within
|
||||||
@@ -106,20 +109,19 @@ public interface Spawner extends BaseSpawner {
|
|||||||
*
|
*
|
||||||
* @param maxNearbyEntities the maximum number of nearby, similar, entities
|
* @param maxNearbyEntities the maximum number of nearby, similar, entities
|
||||||
*/
|
*/
|
||||||
public void setMaxNearbyEntities(int maxNearbyEntities);
|
void setMaxNearbyEntities(int maxNearbyEntities);
|
||||||
|
|
||||||
// Paper start
|
|
||||||
/**
|
/**
|
||||||
* Check if spawner is activated (a player is close enough)
|
* Check if spawner is activated (a player is close enough)
|
||||||
*
|
*
|
||||||
* @return True if a player is close enough to activate it
|
* @return True if a player is close enough to activate it
|
||||||
*/
|
*/
|
||||||
public boolean isActivated();
|
boolean isActivated();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resets the spawn delay timer within the min/max range
|
* Resets the spawn delay timer within the min/max range
|
||||||
*/
|
*/
|
||||||
public void resetTimer();
|
void resetTimer();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the {@link EntityType} to {@link EntityType#ITEM} and sets the data to the given
|
* Sets the {@link EntityType} to {@link EntityType#ITEM} and sets the data to the given
|
||||||
@@ -128,9 +130,8 @@ public interface Spawner extends BaseSpawner {
|
|||||||
* {@link #setSpawnCount(int)} does not dictate the amount of items in the stack spawned, but rather how many
|
* {@link #setSpawnCount(int)} does not dictate the amount of items in the stack spawned, but rather how many
|
||||||
* stacks should be spawned.
|
* stacks should be spawned.
|
||||||
*
|
*
|
||||||
* @param itemStack The item to spawn. Must not {@link org.bukkit.Material#isAir be air}.
|
* @param itemStack The item to spawn. Must not {@link ItemStack#isEmpty() be empty}.
|
||||||
* @see #setSpawnedType(EntityType)
|
* @see #setSpawnedType(EntityType)
|
||||||
*/
|
*/
|
||||||
void setSpawnedItem(org.bukkit.inventory.@org.jetbrains.annotations.NotNull ItemStack itemStack);
|
void setSpawnedItem(ItemStack itemStack);
|
||||||
// Paper end
|
|
||||||
}
|
}
|
||||||
|
@@ -8,7 +8,6 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import net.minecraft.core.RegistryAccess;
|
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.util.InclusiveRange;
|
import net.minecraft.util.InclusiveRange;
|
||||||
import net.minecraft.util.ProblemReporter;
|
import net.minecraft.util.ProblemReporter;
|
||||||
|
Reference in New Issue
Block a user