Add per-world spawn limits

This commit is contained in:
William Blake Galbreath
2020-03-21 18:23:54 -05:00
parent 3f72647618
commit 4d3eb6de60

View File

@@ -0,0 +1,53 @@
From 2eb8ed62d0984187ba4614e4b106ca5e689732da Mon Sep 17 00:00:00 2001
From: chase <chasewhip20@gmail.com>
Date: Sun, 15 Mar 2020 18:32:22 -0600
Subject: [PATCH] Per World Spawn limits
---
src/main/java/net/pl3x/purpur/PurpurWorldConfig.java | 11 +++++++++++
src/main/java/org/bukkit/craftbukkit/CraftWorld.java | 7 +++++++
2 files changed, 18 insertions(+)
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 629fbca11c..88b704b50b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -288,6 +288,17 @@ public class PurpurWorldConfig {
idleTimeoutBroadcastBack = org.bukkit.ChatColor.translateAlternateColorCodes('&', getString("gameplay-mechanics.player.idle-timeout.broadcast.back", idleTimeoutBroadcastBack));
}
+ public int spawnLimitMonsters;
+ public int spawnLimitAnimals;
+ public int spawnLimitWaterAnimals;
+ public int spawnLimitAmbient;
+ private void perWorldSpawnLimit(){
+ spawnLimitMonsters = getInt("spawn-limits.monsters", -1);
+ spawnLimitAnimals = getInt("spawn-limits.animals", -1);
+ spawnLimitWaterAnimals = getInt("spawn-limits.water-animals", -1);
+ spawnLimitAmbient = getInt("spawn-limits.ambient", -1);
+ }
+
public boolean batRidable = false;
public boolean batRidableInWater = false;
public boolean batRequireShiftToMount = true;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 561931f639..2960c94d0c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -325,6 +325,13 @@ public class CraftWorld implements World {
this.generator = gen;
environment = env;
+
+ // Purpur start
+ monsterSpawn = world.purpurConfig.spawnLimitMonsters;
+ animalSpawn = world.purpurConfig.spawnLimitAnimals;
+ waterAnimalSpawn = world.purpurConfig.spawnLimitWaterAnimals;
+ ambientSpawn = world.purpurConfig.spawnLimitAmbient;
+ // Purpur end
}
@Override
--
2.24.0