5a86fba668
keep in mind many patches in the removed folder still need to be updated
49 lines
2.5 KiB
Diff
49 lines
2.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: chase <chasewhip20@gmail.com>
|
|
Date: Wed, 2 Dec 2020 22:43:39 -0800
|
|
Subject: [PATCH] add per world spawn limits
|
|
|
|
Taken from #2982. Credit to Chasewhip8
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
index f2981aa82c26d7bdac08f45818813025b240b77e..974fba89648399919802dc4c11846601d2923712 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -605,6 +605,19 @@ public class PaperWorldConfig {
|
|
zombieVillagerInfectionChance = getDouble("zombie-villager-infection-chance", zombieVillagerInfectionChance);
|
|
}
|
|
|
|
+ public int spawnLimitMonsters = -1;
|
|
+ public int spawnLimitAnimals = -1;
|
|
+ public int spawnLimitWaterAnimals = -1;
|
|
+ public int spawnLimitWaterAmbient = -1;
|
|
+ public int spawnLimitAmbient = -1;
|
|
+ private void perWorldSpawnLimits() {
|
|
+ spawnLimitMonsters = getInt("spawn-limits.monsters", spawnLimitMonsters);
|
|
+ spawnLimitAnimals = getInt("spawn-limits.animals", spawnLimitAnimals);
|
|
+ spawnLimitWaterAnimals = getInt("spawn-limits.water-animals", spawnLimitWaterAnimals);
|
|
+ spawnLimitWaterAmbient = getInt("spawn-limits.water-ambient", spawnLimitWaterAmbient);
|
|
+ spawnLimitAmbient = getInt("spawn-limits.ambient", spawnLimitAmbient);
|
|
+ }
|
|
+
|
|
public int lightQueueSize = 20;
|
|
private void lightQueueSize() {
|
|
lightQueueSize = getInt("light-queue-size", lightQueueSize);
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
index 88635209d1c6598dc62804ad01e9ebbf039435f9..f2428723ac4a30f57baa0d31aba75a1a95547aa6 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
@@ -351,6 +351,13 @@ public class CraftWorld implements World {
|
|
this.generator = gen;
|
|
|
|
this.environment = env;
|
|
+ // Paper start - per world spawn limits
|
|
+ this.monsterSpawn = this.world.paperConfig.spawnLimitMonsters;
|
|
+ this.animalSpawn = this.world.paperConfig.spawnLimitAnimals;
|
|
+ this.waterAnimalSpawn = this.world.paperConfig.spawnLimitWaterAnimals;
|
|
+ this.waterAmbientSpawn = this.world.paperConfig.spawnLimitWaterAmbient;
|
|
+ this.ambientSpawn = this.world.paperConfig.spawnLimitAmbient;
|
|
+ // Paper end
|
|
}
|
|
|
|
@Override
|