Files
Purpur/patches/server/0045-Implement-a-hard-limit-for-pillager-outpost-spawns.patch
William Blake Galbreath 7edbf259ba rebuild patches
2020-02-27 21:33:44 -06:00

43 lines
2.3 KiB
Diff

From 267577cd6fc0399ed8ddaafc5718594c7f32d5a5 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Mon, 22 Jul 2019 14:24:26 -0500
Subject: [PATCH] Implement a hard limit for pillager outpost spawns
---
src/main/java/net/minecraft/server/ChunkProviderGenerate.java | 1 +
src/main/java/net/pl3x/purpur/PurpurWorldConfig.java | 2 ++
2 files changed, 3 insertions(+)
diff --git a/src/main/java/net/minecraft/server/ChunkProviderGenerate.java b/src/main/java/net/minecraft/server/ChunkProviderGenerate.java
index 70f43c5159..baca8f7054 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderGenerate.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderGenerate.java
@@ -143,6 +143,7 @@ public class ChunkProviderGenerate extends ChunkGeneratorAbstract<GeneratorSetti
}
} else if (enumcreaturetype == EnumCreatureType.MONSTER) {
if (WorldGenerator.PILLAGER_OUTPOST.a(this.a, blockposition)) {
+ if (getWorld().purpurConfig.pillagerLimitOutpostSpawns > 0 && getWorld().getEntitiesByClass(EntityPillager.class, new AxisAlignedBB(blockposition).grow(128)).size() < getWorld().purpurConfig.pillagerLimitOutpostSpawns) // Purpur
return WorldGenerator.PILLAGER_OUTPOST.e();
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index fd3e92560e..3a44e6e441 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -528,10 +528,12 @@ public class PurpurWorldConfig {
public boolean pillagerRidable = false;
public boolean pillagerRidableInWater = false;
public boolean pillagerRequireShiftToMount = true;
+ public int pillagerLimitOutpostSpawns = 0;
private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
pillagerRequireShiftToMount = getBoolean("mobs.pillager.require-shift-to-mount", pillagerRequireShiftToMount);
+ pillagerLimitOutpostSpawns = getInt("mobs.pillager.limit-outpost-spawns", pillagerLimitOutpostSpawns);
}
public boolean polarBearRidable = false;
--
2.24.0