Move per-world mob options around in config

This commit is contained in:
William Blake Galbreath
2020-01-03 01:41:07 -06:00
parent 8d40b034fc
commit f518f72269
17 changed files with 189 additions and 186 deletions

View File

@@ -1,42 +1,61 @@
From 966076841875809a4cc27b3a8fd525bef3547582 Mon Sep 17 00:00:00 2001
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 | 1 +
src/main/java/net/minecraft/server/EntityVillager.java | 5 +----
src/main/java/net/pl3x/purpur/PurpurWorldConfig.java | 7 +++++++
2 files changed, 8 insertions(+)
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 572723005..b3a0295ae 100644
index 5727230058..daa9544453 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -874,6 +874,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -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.radiusVillagerIronGolemSpawns > 0 && world.a(EntityIronGolem.class, getBoundingBox().grow(world.purpurConfig.radiusVillagerIronGolemSpawns)).size() > world.purpurConfig.limitVillagerIronGolemSpawns) return null; // Purpur
+ 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 a934099d8..8d01cdc8e 100644
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 limitPillagerOutpostSpawns() {
limitPillagerOutpostSpawns = getInt("limit-pillager-outpost-spawns", limitPillagerOutpostSpawns);
private void pillagerSettings() {
pillagerLimitOutpostSpawns = getInt("mobs.pillager.limit-outpost-spawns", pillagerLimitOutpostSpawns);
}
+
+ public int radiusVillagerIronGolemSpawns = 0;
+ public int limitVillagerIronGolemSpawns = 5;
+ private void radiusVillagerIronGolemSpawns() {
+ radiusVillagerIronGolemSpawns = getInt("radius-villager-iron-golem-spawns", radiusVillagerIronGolemSpawns);
+ limitVillagerIronGolemSpawns = getInt("limit-villager-iron-golem-spawns", limitVillagerIronGolemSpawns);
+ 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.rc1
2.24.0