From b4e02316c8a3a78404bc1a0905c066bffc0d4b37 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 27 Jul 2019 13:52:12 -0500 Subject: [PATCH] Make zombie horse spawn chance configurable --- docs/source/configuration.rst | 5 ++++ ...ance-for-zombie-horse-natural-spawns.patch | 29 +++++++++++++++---- ...nt-configurable-villager-brain-ticks.patch | 12 ++++---- 3 files changed, 34 insertions(+), 12 deletions(-) diff --git a/docs/source/configuration.rst b/docs/source/configuration.rst index ea5ec0592..e2be1f893 100644 --- a/docs/source/configuration.rst +++ b/docs/source/configuration.rst @@ -145,6 +145,11 @@ mobs - **default**: true - **description**: Control if pumpkins can be placed back onto snowmen +* zombie_horse + * spawn-chance + - **default**: 0 + - **description**: Percent chance a zombie horse will spawn instead of a skeleton horse (natural spawns during thunderstorms) + ridable ~~~~~~~ * diff --git a/patches/server/0044-Add-chance-for-zombie-horse-natural-spawns.patch b/patches/server/0044-Add-chance-for-zombie-horse-natural-spawns.patch index 10dfdfd6a..a98ce45b2 100644 --- a/patches/server/0044-Add-chance-for-zombie-horse-natural-spawns.patch +++ b/patches/server/0044-Add-chance-for-zombie-horse-natural-spawns.patch @@ -1,14 +1,15 @@ -From 7a308187a76c55a72d4822a854c36e95d6517606 Mon Sep 17 00:00:00 2001 +From aefe8bfa24742683de4ec3f13d0aadbf16e424d8 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 7 Jul 2019 19:52:16 -0500 Subject: [PATCH] Add chance for zombie horse natural spawns --- .../java/net/minecraft/server/WorldServer.java | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) + .../java/net/pl3x/purpur/PurpurConfig.java | 5 +++++ + 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index f780aea01a..917fbb35b4 100644 +index f780aea01a..ed30e83e7d 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -402,12 +402,18 @@ public class WorldServer extends World { @@ -23,11 +24,11 @@ index f780aea01a..917fbb35b4 100644 - this.addEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit + // Purpur start + EntityHorseAbstract horse; -+ if (random.nextFloat() < 0.75) { ++ if (net.pl3x.purpur.PurpurConfig.zombieHorseSpawnChance > 0F && random.nextFloat() <= net.pl3x.purpur.PurpurConfig.zombieHorseSpawnChance) { ++ horse = EntityTypes.ZOMBIE_HORSE.a(this); ++ } else { + horse = EntityTypes.SKELETON_HORSE.a(this); + ((EntityHorseSkeleton) horse).r(true); -+ } else { -+ horse = EntityTypes.ZOMBIE_HORSE.a(this); + } + horse.setAgeRaw(0); + horse.setPosition((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ()); @@ -36,6 +37,22 @@ index f780aea01a..917fbb35b4 100644 } this.strikeLightning(new EntityLightning(this, (double) blockposition.getX() + 0.5D, (double) blockposition.getY(), (double) blockposition.getZ() + 0.5D, flag1), org.bukkit.event.weather.LightningStrikeEvent.Cause.WEATHER); // CraftBukkit +diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java +index a3197414a9..e9ae041ea6 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +@@ -197,6 +197,11 @@ public class PurpurConfig { + snowmanPumpkinPutBack = getBoolean("settings.mobs.snow_golem.pumpkin-can-be-added-back", snowmanPumpkinPutBack); + } + ++ public static float zombieHorseSpawnChance = 0F; ++ private static void zombieHorseSettings() { ++ zombieHorseSpawnChance = (float) getDouble("settings.mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance); ++ } ++ + public static boolean largeEnderChests = true; + private static void largeEnderChests() { + largeEnderChests = getBoolean("settings.large-ender-chests", largeEnderChests); -- 2.20.1 diff --git a/patches/server/0060-Implement-configurable-villager-brain-ticks.patch b/patches/server/0060-Implement-configurable-villager-brain-ticks.patch index d25a63f64..ddc83de1e 100644 --- a/patches/server/0060-Implement-configurable-villager-brain-ticks.patch +++ b/patches/server/0060-Implement-configurable-villager-brain-ticks.patch @@ -1,4 +1,4 @@ -From 231031bd01cabca6ff6eb2b8588fa2fd974f2387 Mon Sep 17 00:00:00 2001 +From a64e52abaf40732e740469379b83b2c9277705ac Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 23 Jul 2019 08:28:21 -0500 Subject: [PATCH] Implement configurable villager brain ticks @@ -9,7 +9,7 @@ Subject: [PATCH] Implement configurable villager brain ticks 2 files changed, 13 insertions(+) diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index c3bbf49978..53a50b4a40 100644 +index 7bc0c2f861..f49b279252 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -53,6 +53,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @@ -40,7 +40,7 @@ index c3bbf49978..53a50b4a40 100644 this.world.getMethodProfiler().exit(); if (!this.dY() && this.bE > 0) { diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 14450651cb..08475aa6fc 100644 +index b7ea53656a..85acb47ad4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -209,6 +209,13 @@ public class PurpurConfig { @@ -54,9 +54,9 @@ index 14450651cb..08475aa6fc 100644 + villagerBrainTicks = getInt("settings.mobs.villager.brain-ticks", villagerBrainTicks); + } + - public static boolean largeEnderChests = true; - private static void largeEnderChests() { - largeEnderChests = getBoolean("settings.large-ender-chests", largeEnderChests); + public static float zombieHorseSpawnChance = 0F; + private static void zombieHorseSettings() { + zombieHorseSpawnChance = (float) getDouble("settings.mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance); -- 2.20.1