mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 09:27:43 +01:00
62 lines
2.7 KiB
Diff
62 lines
2.7 KiB
Diff
From 2b50b40a4d96a235826d2702936bd1f1afc2bc55 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 | 5 +----
|
|
src/main/java/net/pl3x/purpur/PurpurWorldConfig.java | 7 +++++++
|
|
2 files changed, 8 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
|
index 5727230058..daa9544453 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
|
@@ -12,18 +12,14 @@ import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Optional;
|
|
import java.util.Set;
|
|
-import java.util.Map.Entry;
|
|
import java.util.function.BiPredicate;
|
|
import java.util.stream.Collectors;
|
|
import javax.annotation.Nullable;
|
|
// CraftBukkit start
|
|
import org.bukkit.Bukkit;
|
|
-import org.bukkit.craftbukkit.entity.CraftVillager;
|
|
import org.bukkit.craftbukkit.event.CraftEventFactory;
|
|
-import org.bukkit.craftbukkit.inventory.CraftMerchantRecipe;
|
|
import org.bukkit.entity.Villager;
|
|
import org.bukkit.event.entity.EntityTransformEvent;
|
|
-import org.bukkit.event.entity.VillagerAcquireTradeEvent;
|
|
import org.bukkit.event.entity.VillagerReplenishTradeEvent;
|
|
// CraftBukkit end
|
|
|
|
@@ -874,6 +870,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
|
|
|
@Nullable
|
|
private EntityIronGolem fb() {
|
|
+ if (world.purpurConfig.villagerSpawnIronGolemRadius > 0 && world.a(EntityIronGolem.class, getBoundingBox().grow(world.purpurConfig.villagerSpawnIronGolemRadius)).size() > world.purpurConfig.villagerSpawnIronGolemLimit) return null; // Purpur
|
|
BlockPosition blockposition = new BlockPosition(this);
|
|
int i = 0;
|
|
|
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
index c6de971ac5..9dddfd8155 100644
|
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
@@ -123,4 +123,11 @@ public class PurpurWorldConfig {
|
|
private void pillagerSettings() {
|
|
pillagerLimitOutpostSpawns = getInt("mobs.pillager.limit-outpost-spawns", pillagerLimitOutpostSpawns);
|
|
}
|
|
+
|
|
+ public int villagerSpawnIronGolemRadius = 0;
|
|
+ public int villagerSpawnIronGolemLimit = 5;
|
|
+ private void villagerSettings() {
|
|
+ villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
|
|
+ villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
|
|
+ }
|
|
}
|
|
--
|
|
2.24.0
|
|
|