diff --git a/patches/server/0306-Option-Ocelot-Spawn-Under-Sea-Level.patch b/patches/server/0306-Option-Ocelot-Spawn-Under-Sea-Level.patch new file mode 100644 index 000000000..ae071ec74 --- /dev/null +++ b/patches/server/0306-Option-Ocelot-Spawn-Under-Sea-Level.patch @@ -0,0 +1,39 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: William Blake Galbreath +Date: Fri, 21 Jul 2023 11:04:47 -0500 +Subject: [PATCH] Option Ocelot Spawn Under Sea Level + + +diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java +index c72d5e7c2a19c5690a8065c95c75f0415358c2a9..45fb438065b1db2a9baa648f4d397472847ed638 100644 +--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java ++++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java +@@ -293,7 +293,7 @@ public class Ocelot extends Animal { + if (world.isUnobstructed(this) && !world.containsAnyLiquid(this.getBoundingBox())) { + BlockPos blockposition = this.blockPosition(); + +- if (blockposition.getY() < world.getSeaLevel()) { ++ if (!level().purpurConfig.ocelotSpawnUnderSeaLevel && blockposition.getY() < world.getSeaLevel()) { + return false; + } + +diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +index 59c413b5d6681da2636d7cfa0d452a4643e9f84b..b70b9609671ae8bc9504cef48d7531b5ad5fe65f 100644 +--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java ++++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +@@ -2015,6 +2015,7 @@ public class PurpurWorldConfig { + public int ocelotBreedingTicks = 6000; + public boolean ocelotTakeDamageFromWater = false; + public boolean ocelotAlwaysDropExp = false; ++ public boolean ocelotSpawnUnderSeaLevel = false; + private void ocelotSettings() { + ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); + ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); +@@ -2028,6 +2029,7 @@ public class PurpurWorldConfig { + ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks); + ocelotTakeDamageFromWater = getBoolean("mobs.ocelot.takes-damage-from-water", ocelotTakeDamageFromWater); + ocelotAlwaysDropExp = getBoolean("mobs.ocelot.always-drop-exp", ocelotAlwaysDropExp); ++ ocelotSpawnUnderSeaLevel = getBoolean("mobs.ocelot.spawn-below-sea-level", ocelotSpawnUnderSeaLevel); + } + + public boolean pandaRidable = false;