Files
Purpur/patches/server/0120-PaperPR-Per-World-Spawn-limits.patch
William Blake Galbreath 193c511fce Updated Upstream (Paper)
Upstream has released updates that appears to apply and compile correctly

Paper Changes:
a4f066cc Fix method profiler inbalance introduced in a2a9ffe (#3132)
c65dcad3 Don't delay chunk unloads during entity ticking
bc17ce69 Delay unsafe actions until after entity ticking is done - Fixes #3114
5553e6b3 Disable Sync Events firing Async errors during shutdown
e12c51d9 Use better variable for isStopping() API
586ee2bb Remove patch for MC-111480, fixed in 1.14
09a94215 Remove streams from Mob AI System
bb5c294e Fix Disabling Asynchronous Chunks
089d8356 Implement Chunk Priority / Urgency System for World Gen
fce69af7 Use dedicated thread for main thread blocking chunk loads
588b62e4 Add tick times API and /mspt command (#3102)
11de41c7 Add API MinecraftServer#isStopping (#3129)
942ff3c2 My patches are under MIT (#3130)
2020-04-12 03:45:54 -05:00

54 lines
2.1 KiB
Diff

From a88295b5511f3e93068d8218334c69ce92b36ed7 Mon Sep 17 00:00:00 2001
From: chase <chasewhip20@gmail.com>
Date: Sun, 15 Mar 2020 18:32:22 -0600
Subject: [PATCH] PaperPR - 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 b844b93d77..f1cca7219e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -307,6 +307,17 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
}
+ 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 b9b23c9803..46de7d232f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -332,6 +332,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