diff --git a/Spigot-Server-Patches/0424-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch b/Spigot-Server-Patches/0424-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch index 2b913cdcd1..9475a3b938 100644 --- a/Spigot-Server-Patches/0424-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch +++ b/Spigot-Server-Patches/0424-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch @@ -1,4 +1,4 @@ -From c793973ddc0690b434945f844250b8e79d3bf60d Mon Sep 17 00:00:00 2001 +From c00cbd11cd310d1b03883c60261ced22e8ae6cae Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 24 Mar 2019 01:01:32 -0400 Subject: [PATCH] Only count Natural Spawned mobs towards natural spawn mob @@ -16,8 +16,27 @@ worse than vanilla. This should fully solve all of the issues around it so that only natural influences natural spawns. +diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +index f259c4e514..fa1d88aa84 100644 +--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java ++++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +@@ -594,4 +594,14 @@ public class PaperWorldConfig { + log("Using vanilla redstone algorithm."); + } + } ++ ++ public boolean countAllMobsForSpawning = false; ++ private void countAllMobsForSpawning() { ++ countAllMobsForSpawning = getBoolean("count-all-mobs-for-spawning", false); ++ if (countAllMobsForSpawning) { ++ log("Counting all mobs for spawning. Mob farms may reduce natural spawns elsewhere in world."); ++ } else { ++ log("Using improved mob spawn limits (Only Natural Spawns impact spawn limits for more natural spawns)"); ++ } ++ } + } diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldEntityList.java b/src/main/java/com/destroystokyo/paper/PaperWorldEntityList.java -index a10a5bc138..8ad00c7d11 100644 +index a10a5bc138..346176cf98 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldEntityList.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldEntityList.java @@ -7,6 +7,7 @@ import net.minecraft.server.IAnimal; @@ -34,7 +53,7 @@ index a10a5bc138..8ad00c7d11 100644 public void updateEntityCount(Entity entity, int amt) { - if (!(entity instanceof IAnimal)) return; + // Only count natural spawns so that mob -+ if (!(entity instanceof IAnimal) || entity.spawnReason != SpawnReason.NATURAL) return; ++ if (!(entity instanceof IAnimal) || (entity.spawnReason != SpawnReason.NATURAL && !world.paperConfig.countAllMobsForSpawning)) return; if (entity instanceof EntityInsentient) { EntityInsentient entityinsentient = (EntityInsentient) entity;