Fix villager iron golem spawn patch

This commit is contained in:
William Blake Galbreath
2019-07-24 20:16:54 -05:00
parent 93f16c326a
commit 8f3dd0b176

View File

@@ -1,39 +1,40 @@
From 3bee4bd1b4435f72a658e951f512ab1effde64ef Mon Sep 17 00:00:00 2001
From 1dd837a707fbdd7d6a1fcbbb863c851464a75331 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Mon, 22 Jul 2019 17:32:17 -0500
Subject: [PATCH] Implement configurable search radius for villagers to spawn
iron golems
---
src/main/java/net/minecraft/server/EntityVillager.java | 2 +-
src/main/java/net/pl3x/purpur/PurpurWorldConfig.java | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
src/main/java/net/minecraft/server/EntityVillager.java | 1 +
src/main/java/net/pl3x/purpur/PurpurWorldConfig.java | 7 +++++++
2 files changed, 8 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index 976473a678..c3bbf49978 100644
index 976473a678..7bc0c2f861 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -844,7 +844,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -886,6 +886,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@Nullable
private EntityIronGolem eG() {
+ if (world.a(EntityIronGolem.class, getBoundingBox().grow(world.purpurConfig.radiusVillagerIronGolemSpawns)).size() > world.purpurConfig.limitVillagerIronGolemSpawns) return null; // Purpur
BlockPosition blockposition = new BlockPosition(this);
int i = 0;
public void a(long i, int j) {
if (this.a(i)) {
- AxisAlignedBB axisalignedbb = this.getBoundingBox().grow(10.0D, 10.0D, 10.0D);
+ AxisAlignedBB axisalignedbb = this.getBoundingBox().grow(world.purpurConfig.radiusVillagerIronGolemSpawns);
List<EntityVillager> list = this.world.a(EntityVillager.class, axisalignedbb);
List<EntityVillager> list1 = (List) list.stream().filter((entityvillager) -> {
return entityvillager.a(i);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e3fe4ed5f0..9b8621e5a1 100644
index e3fe4ed5f0..88a7e9ec6e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -133,4 +133,9 @@ public class PurpurWorldConfig {
@@ -133,4 +133,11 @@ public class PurpurWorldConfig {
private void limitPillagerOutpostSpawns() {
limitPillagerOutpostSpawns = getInt("limit-pillager-outpost-spawns", limitPillagerOutpostSpawns);
}
+
+ public int radiusVillagerIronGolemSpawns = 10;
+ public int radiusVillagerIronGolemSpawns = 64;
+ public int limitVillagerIronGolemSpawns = 5;
+ private void radiusVillagerIronGolemSpawns() {
+ radiusVillagerIronGolemSpawns = getInt("radius-villager-iron-golem-spawns", radiusVillagerIronGolemSpawns);
+ limitVillagerIronGolemSpawns = getInt("limit-villager-iron-golem-spawns", limitVillagerIronGolemSpawns);
+ }
}
--