From dc4fde5a01f65b131eb2517455b3c0cd4c88c47c 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 ++++++++++++------ .../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 a41d050cf..e73257f3f 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 { boolean flag1 = this.getGameRules().getBoolean(GameRules.DO_MOB_SPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.b() * paperConfig.skeleHorseSpawnChance; // Paper if (flag1) { - EntityHorseSkeleton entityhorseskeleton = (EntityHorseSkeleton) EntityTypes.SKELETON_HORSE.a((World) this); - - entityhorseskeleton.r(true); - entityhorseskeleton.setAgeRaw(0); - entityhorseskeleton.setPosition((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ()); - this.addEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit + // Purpur start + EntityHorseAbstract horse; + 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); + } + horse.setAgeRaw(0); + horse.setPosition((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ()); + this.addEntity(horse, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit + // Purpur end } 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 e515f4775..c7e634ecc 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -194,6 +194,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