From 261892e5199193eed4f87e8c0c2411a7d0698d1e 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 70cbff313..0a9df816c 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -540,12 +540,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 511429677..3389d626a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -207,6 +207,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.24.0