Files
Purpur/patches/server/0036-Make-illusioners-naturally-spawn.patch
2019-07-28 09:45:50 -05:00

75 lines
4.7 KiB
Diff

From fd49366b6a1dac4bf110b263caf1e162749aebf5 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 5 Jul 2019 11:09:25 -0500
Subject: [PATCH] Make illusioners naturally spawn
---
src/main/java/net/minecraft/server/Biomes.java | 18 ++++++++++++++++++
.../net/minecraft/server/SpawnerCreature.java | 4 ++++
.../java/net/pl3x/purpur/PurpurConfig.java | 5 +++++
3 files changed, 27 insertions(+)
diff --git a/src/main/java/net/minecraft/server/Biomes.java b/src/main/java/net/minecraft/server/Biomes.java
index 3f7f7a2de8..38284a62b9 100644
--- a/src/main/java/net/minecraft/server/Biomes.java
+++ b/src/main/java/net/minecraft/server/Biomes.java
@@ -112,6 +112,24 @@ public abstract class Biomes {
addSpawn("eroded_badlands", EnumCreatureType.MONSTER, EntityTypes.GIANT, 10, 1, 2);
addSpawn("modified_badlands_plateau", EnumCreatureType.MONSTER, EntityTypes.GIANT, 10, 2, 1);
}
+ if (net.pl3x.purpur.PurpurConfig.illusionersNaturallySpawn) {
+ addSpawn("plains", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ addSpawn("sunflower_plains", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ addSpawn("desert", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ addSpawn("desert_hills", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ addSpawn("desert_lakes", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ addSpawn("mountains", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ addSpawn("gravelly_mountains", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ addSpawn("modified_gravelly_mountains", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ addSpawn("savanna", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ addSpawn("savanna_plateau", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ addSpawn("shattered_savanna", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ addSpawn("shattered_savanna_plateau", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 5, 1, 1);
+ addSpawn("badlands", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 10, 1, 1);
+ addSpawn("badlands_plateau", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 10, 1, 1);
+ addSpawn("eroded_badlands", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 10, 1, 1);
+ addSpawn("modified_badlands_plateau", EnumCreatureType.MONSTER, EntityTypes.ILLUSIONER, 10, 1, 1);
+ }
}
private static void addSpawn(String biome, EnumCreatureType ct, EntityTypes et, int weight, int min_group, int max_group) {
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index 28dff2a03c..78bed1ca7e 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -86,6 +86,10 @@ public final class SpawnerCreature {
if (!net.pl3x.purpur.PurpurConfig.giantsNaturallySpawn) {
return amountSpawned;
}
+ } else if (entitytypes == EntityTypes.ILLUSIONER) {
+ if (!net.pl3x.purpur.PurpurConfig.illusionersNaturallySpawn) {
+ return amountSpawned;
+ }
} else if (entitytypes == EntityTypes.PHANTOM) {
if (!net.pl3x.purpur.PurpurConfig.spawnPhantomsInTheEnd) {
return amountSpawned;
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 1320435da8..ff7c43ee0a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -158,6 +158,11 @@ public class PurpurConfig {
giantsHaveAI = getBoolean("settings.mobs.giant.have-ai", giantsHaveAI);
}
+ public static boolean illusionersNaturallySpawn = true;
+ private static void illusionersSettings() {
+ illusionersNaturallySpawn = getBoolean("settings.mobs.illusioner.naturally-spawn", illusionersNaturallySpawn);
+ }
+
public static boolean ironGolemSwims = true;
private static void ironGolemSettings() {
ironGolemSwims = getBoolean("settings.mobs.iron_golem.swims", ironGolemSwims);
--
2.20.1