From 05da0754c2d7ccf8c9031f6a7af4ccffcc98679d Mon Sep 17 00:00:00 2001 From: Bukkit/Spigot Date: Mon, 23 Apr 2012 19:25:11 -0500 Subject: [PATCH] Add API for managing mob spawn limits per-world. Fixes BUKKIT-1565 By: Travis Watkins --- .../src/main/java/org/bukkit/Bukkit.java | 12 ++++++ .../src/main/java/org/bukkit/Server.java | 18 ++++++++ paper-api/src/main/java/org/bukkit/World.java | 42 +++++++++++++++++++ 3 files changed, 72 insertions(+) diff --git a/paper-api/src/main/java/org/bukkit/Bukkit.java b/paper-api/src/main/java/org/bukkit/Bukkit.java index 8654700774..8654b50a26 100644 --- a/paper-api/src/main/java/org/bukkit/Bukkit.java +++ b/paper-api/src/main/java/org/bukkit/Bukkit.java @@ -353,4 +353,16 @@ public final class Bukkit { public static HelpMap getHelpMap() { return server.getHelpMap(); } + + public static int getMonsterSpawnLimit() { + return server.getMonsterSpawnLimit(); + } + + public static int getAnimalSpawnLimit() { + return server.getAnimalSpawnLimit(); + } + + public static int getWaterAnimalSpawnLimit() { + return server.getWaterAnimalSpawnLimit(); + } } diff --git a/paper-api/src/main/java/org/bukkit/Server.java b/paper-api/src/main/java/org/bukkit/Server.java index 44f44af4a7..119685a58f 100644 --- a/paper-api/src/main/java/org/bukkit/Server.java +++ b/paper-api/src/main/java/org/bukkit/Server.java @@ -621,4 +621,22 @@ public interface Server extends PluginMessageRecipient { * @throws IllegalArgumentException If the size is not a multiple of 9. */ Inventory createInventory(InventoryHolder owner, int size, String title); + + /** + * Gets user-specified limit for number of monsters that can spawn in a chunk + * @returns The monster spawn limit + */ + int getMonsterSpawnLimit(); + + /** + * Gets user-specified limit for number of animals that can spawn in a chunk + * @returns The animal spawn limit + */ + int getAnimalSpawnLimit(); + + /** + * Gets user-specified limit for number of water animals that can spawn in a chunk + * @returns The water animal spawn limit + */ + int getWaterAnimalSpawnLimit(); } \ No newline at end of file diff --git a/paper-api/src/main/java/org/bukkit/World.java b/paper-api/src/main/java/org/bukkit/World.java index 2035a93b3e..dae10d78a5 100644 --- a/paper-api/src/main/java/org/bukkit/World.java +++ b/paper-api/src/main/java/org/bukkit/World.java @@ -895,6 +895,48 @@ public interface World extends PluginMessageRecipient, Metadatable { */ public void setTicksPerMonsterSpawns(int ticksPerMonsterSpawns); + /** + * Gets limit for number of monsters that can spawn in a chunk in this world + * @returns The monster spawn limit + */ + int getMonsterSpawnLimit(); + + /** + * Sets the limit for number of monsters that can spawn in a chunk in this world + *

+ * Note: + * If set to a negative number the world will use the server-wide spawn limit instead. + */ + void setMonsterSpawnLimit(int limit); + + /** + * Gets the limit for number of animals that can spawn in a chunk in this world + * @returns The animal spawn limit + */ + int getAnimalSpawnLimit(); + + /** + * Sets the limit for number of animals that can spawn in a chunk in this world + *

+ * Note: + * If set to a negative number the world will use the server-wide spawn limit instead. + */ + void setAnimalSpawnLimit(int limit); + + /** + * Gets the limit for number of water animals that can spawn in a chunk in this world + * @returns The water animal spawn limit + */ + int getWaterAnimalSpawnLimit(); + + /** + * Sets the limit for number of water animals that can spawn in a chunk in this world + *

+ * Note: + * If set to a negative number the world will use the server-wide spawn limit instead. + */ + void setWaterAnimalSpawnLimit(int limit); + /** * Represents various map environment types that a world may be */