diff --git a/patches/server/0091-Add-option-to-disable-zombie-aggressiveness-towards-.patch b/patches/server/0090-Add-option-to-disable-zombie-aggressiveness-towards-.patch similarity index 96% rename from patches/server/0091-Add-option-to-disable-zombie-aggressiveness-towards-.patch rename to patches/server/0090-Add-option-to-disable-zombie-aggressiveness-towards-.patch index c9073fde4..2704ad437 100644 --- a/patches/server/0091-Add-option-to-disable-zombie-aggressiveness-towards-.patch +++ b/patches/server/0090-Add-option-to-disable-zombie-aggressiveness-towards-.patch @@ -70,10 +70,10 @@ index bd24217d0c696a506c916e062b3cb5bc751981f8..c0adb41e2772ac1204bbdf8e6eee27fb this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0d2a9c030404e57a0ec5d921080304fd54838bbd..51485b123545d11f7327aea9b6d76cb1fe1f3b97 100644 +index 54e7250a70ef538ff25df1737a064690a204fa91..ad6a39364a835d698fc008fca433930b6f47800f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2001,6 +2001,7 @@ public class PurpurWorldConfig { +@@ -1967,6 +1967,7 @@ public class PurpurWorldConfig { public boolean zombieJockeyOnlyBaby = true; public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; @@ -81,7 +81,7 @@ index 0d2a9c030404e57a0ec5d921080304fd54838bbd..51485b123545d11f7327aea9b6d76cb1 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2016,6 +2017,7 @@ public class PurpurWorldConfig { +@@ -1982,6 +1983,7 @@ public class PurpurWorldConfig { zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby); zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); diff --git a/patches/server/0090-Despawn-rate-config-options-per-projectile-type.patch b/patches/server/0090-Despawn-rate-config-options-per-projectile-type.patch deleted file mode 100644 index 855b6c1ab..000000000 --- a/patches/server/0090-Despawn-rate-config-options-per-projectile-type.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jason Penilla <11360596+jpenilla@users.noreply.github.com> -Date: Mon, 14 Sep 2020 10:09:05 -0700 -Subject: [PATCH] Despawn rate config options per projectile type - -This patch's implementation has been removed in favor of Pufferfish's entity-timeouts. -The config remains for migration purposes. - -diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 54e7250a70ef538ff25df1737a064690a204fa91..0d2a9c030404e57a0ec5d921080304fd54838bbd 100644 ---- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -313,6 +313,40 @@ public class PurpurWorldConfig { - }); - } - -+ private static boolean projectileDespawnRateSettingsMigrated = false; -+ private void projectileDespawnRateSettings() { -+ if (PurpurConfig.version < 28 && !projectileDespawnRateSettingsMigrated) { -+ migrateProjectileDespawnRateSettings(EntityType.DRAGON_FIREBALL); -+ migrateProjectileDespawnRateSettings(EntityType.EGG); -+ migrateProjectileDespawnRateSettings(EntityType.ENDER_PEARL); -+ migrateProjectileDespawnRateSettings(EntityType.EXPERIENCE_BOTTLE); -+ migrateProjectileDespawnRateSettings(EntityType.FIREWORK_ROCKET); -+ migrateProjectileDespawnRateSettings(EntityType.FISHING_BOBBER); -+ migrateProjectileDespawnRateSettings(EntityType.FIREBALL); -+ migrateProjectileDespawnRateSettings(EntityType.LLAMA_SPIT); -+ migrateProjectileDespawnRateSettings(EntityType.POTION); -+ migrateProjectileDespawnRateSettings(EntityType.SHULKER_BULLET); -+ migrateProjectileDespawnRateSettings(EntityType.SMALL_FIREBALL); -+ migrateProjectileDespawnRateSettings(EntityType.SNOWBALL); -+ migrateProjectileDespawnRateSettings(EntityType.WITHER_SKULL); -+ //PufferfishConfig.save(); // TODO: Pufferfish -+ set("gameplay-mechanics.projectile-despawn-rates", null); -+ // pufferfish's entity_timeout is a global config -+ // we only want to migrate values from the -+ // default world (first world loaded) -+ projectileDespawnRateSettingsMigrated = true; -+ } -+ } -+ private void migrateProjectileDespawnRateSettings(EntityType type) { -+ // TODO: Pufferfish -+ //String pufferName = "entity_timeouts." + type.id.toUpperCase(Locale.ROOT); -+ //int value = getInt("gameplay-mechanics.projectile-despawn-rates." + type.id, -1); -+ //if (value != -1 && PufferfishConfig.getRawInt(pufferName, -1) == -1) { -+ // PufferfishConfig.setInt(pufferName, value); -+ // type.ttl = value; -+ //} -+ } -+ - public boolean anvilAllowColors = false; - public boolean anvilColorsUseMiniMessage; - private void anvilSettings() { diff --git a/patches/server/0092-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch b/patches/server/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch similarity index 100% rename from patches/server/0092-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch rename to patches/server/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch diff --git a/patches/server/0093-Flying-squids-Oh-my.patch b/patches/server/0092-Flying-squids-Oh-my.patch similarity index 94% rename from patches/server/0093-Flying-squids-Oh-my.patch rename to patches/server/0092-Flying-squids-Oh-my.patch index 984b90c6b..3b4eae089 100644 --- a/patches/server/0093-Flying-squids-Oh-my.patch +++ b/patches/server/0092-Flying-squids-Oh-my.patch @@ -58,10 +58,10 @@ index 522dabcf6ec8b19902890718717fc890d430c750..ea80eca266500f93fa9c00962d078ec2 float g = Mth.cos(f) * 0.2F; float h = -0.1F + this.squid.getRandom().nextFloat() * 0.2F; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 51485b123545d11f7327aea9b6d76cb1fe1f3b97..0c852bdc84dbb3fc9855dc69269daac2e2dfe305 100644 +index ad6a39364a835d698fc008fca433930b6f47800f..18faf8ef7c09b72849502a9e3b880d62bcc50a3f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -967,11 +967,13 @@ public class PurpurWorldConfig { +@@ -933,11 +933,13 @@ public class PurpurWorldConfig { public boolean glowSquidControllable = true; public double glowSquidMaxHealth = 10.0D; public double glowSquidScale = 1.0D; @@ -75,7 +75,7 @@ index 51485b123545d11f7327aea9b6d76cb1fe1f3b97..0c852bdc84dbb3fc9855dc69269daac2 } public boolean goatRidable = false; -@@ -1658,6 +1660,7 @@ public class PurpurWorldConfig { +@@ -1624,6 +1626,7 @@ public class PurpurWorldConfig { public double squidScale = 1.0D; public boolean squidImmuneToEAR = true; public double squidOffsetWaterCheck = 0.0D; @@ -83,7 +83,7 @@ index 51485b123545d11f7327aea9b6d76cb1fe1f3b97..0c852bdc84dbb3fc9855dc69269daac2 private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -1670,6 +1673,7 @@ public class PurpurWorldConfig { +@@ -1636,6 +1639,7 @@ public class PurpurWorldConfig { squidScale = Mth.clamp(getDouble("mobs.squid.attributes.scale", squidScale), 0.0625D, 16.0D); squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); diff --git a/patches/server/0094-Infinity-bow-settings.patch b/patches/server/0093-Infinity-bow-settings.patch similarity index 96% rename from patches/server/0094-Infinity-bow-settings.patch rename to patches/server/0093-Infinity-bow-settings.patch index a23d81e10..a6d143c82 100644 --- a/patches/server/0094-Infinity-bow-settings.patch +++ b/patches/server/0093-Infinity-bow-settings.patch @@ -30,7 +30,7 @@ index 6eb5c0f23d9dc61e69ad5ad493c89602a9dcd4b5..4db2032178471860baddc6b669c9a4f8 } else { user.startUsingItem(hand); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0c852bdc84dbb3fc9855dc69269daac2e2dfe305..c28c1a42600345468edd87ff2bf6223d8b0398bf 100644 +index 18faf8ef7c09b72849502a9e3b880d62bcc50a3f..0abf6598e8bf4ac59ea4387ee07d4de68032076b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -135,6 +135,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0095-Configurable-daylight-cycle.patch b/patches/server/0094-Configurable-daylight-cycle.patch similarity index 98% rename from patches/server/0095-Configurable-daylight-cycle.patch rename to patches/server/0094-Configurable-daylight-cycle.patch index 9b7085f65..ea41a44d9 100644 --- a/patches/server/0095-Configurable-daylight-cycle.patch +++ b/patches/server/0094-Configurable-daylight-cycle.patch @@ -88,7 +88,7 @@ index 9eeb5a5304a25f8709288bc78ec8458b70e18649..e077c6cb1880ee19e696d2430b07d110 public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) { Iterator iterator = this.customSpawners.iterator(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c28c1a42600345468edd87ff2bf6223d8b0398bf..939da41bf38a912c1f25f56096d8c10d1b9bfb08 100644 +index 0abf6598e8bf4ac59ea4387ee07d4de68032076b..ac473b14269e124bbb60d063ee869103800e7cbc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -119,6 +119,13 @@ public class PurpurWorldConfig { diff --git a/patches/server/0096-Furnace-uses-lava-from-underneath.patch b/patches/server/0095-Furnace-uses-lava-from-underneath.patch similarity index 95% rename from patches/server/0096-Furnace-uses-lava-from-underneath.patch rename to patches/server/0095-Furnace-uses-lava-from-underneath.patch index 9c0068265..baa256f70 100644 --- a/patches/server/0096-Furnace-uses-lava-from-underneath.patch +++ b/patches/server/0095-Furnace-uses-lava-from-underneath.patch @@ -39,10 +39,10 @@ index 730aca233f6e7564d4cb85b5b628d23c4f01d2f4..699bdc1f01a95ecdfe899493c8d81ec3 private static boolean canBurn(RegistryAccess registryManager, @Nullable RecipeHolder recipe, NonNullList slots, int count) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 939da41bf38a912c1f25f56096d8c10d1b9bfb08..5cf762eeb981c4b2832bacefd79027148693e58f 100644 +index ac473b14269e124bbb60d063ee869103800e7cbc..c0a4aa371c870756333465659b747144a3bae5f4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -399,6 +399,17 @@ public class PurpurWorldConfig { +@@ -365,6 +365,17 @@ public class PurpurWorldConfig { farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); } diff --git a/patches/server/0097-Arrows-should-not-reset-despawn-counter.patch b/patches/server/0096-Arrows-should-not-reset-despawn-counter.patch similarity index 95% rename from patches/server/0097-Arrows-should-not-reset-despawn-counter.patch rename to patches/server/0096-Arrows-should-not-reset-despawn-counter.patch index 59200c3f2..29b24d9ac 100644 --- a/patches/server/0097-Arrows-should-not-reset-despawn-counter.patch +++ b/patches/server/0096-Arrows-should-not-reset-despawn-counter.patch @@ -20,7 +20,7 @@ index 9ca29b3d4bf8bca5f51f3644e12fcbec2cb5d35e..2ace900721f4aa185b8ed28ac95feb50 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b398af642abe85747cc416f49cc229c1f491c1a3..61585b3e964f5f80d6c3dba8ee5dfae7e59e53f3 100644 +index c0a4aa371c870756333465659b747144a3bae5f4..ac680a0b331d7a4a72c3f973a3a7440202651631 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -102,6 +102,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0098-Ability-to-re-add-farmland-mechanics-from-Alpha.patch b/patches/server/0097-Ability-to-re-add-farmland-mechanics-from-Alpha.patch similarity index 92% rename from patches/server/0098-Ability-to-re-add-farmland-mechanics-from-Alpha.patch rename to patches/server/0097-Ability-to-re-add-farmland-mechanics-from-Alpha.patch index de06a18b3..f63a83fdb 100644 --- a/patches/server/0098-Ability-to-re-add-farmland-mechanics-from-Alpha.patch +++ b/patches/server/0097-Ability-to-re-add-farmland-mechanics-from-Alpha.patch @@ -24,10 +24,10 @@ index da85fabd75e9bd5ebece7127ef5b512df16fe3ac..dc356bd0931af9bdab9ec71e3de66e88 return; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4f105633f458cab3ed2877594a5b56f888f546ae..9289c97d303588c55db43b0e239904ffa91131fb 100644 +index ac680a0b331d7a4a72c3f973a3a7440202651631..1865aff6f5601fc24a86a41c84bebc282ff9b111 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -400,8 +400,10 @@ public class PurpurWorldConfig { +@@ -366,8 +366,10 @@ public class PurpurWorldConfig { } public boolean farmlandGetsMoistFromBelow = false; diff --git a/patches/server/0099-Add-adjustable-breeding-cooldown-to-config.patch b/patches/server/0098-Add-adjustable-breeding-cooldown-to-config.patch similarity index 98% rename from patches/server/0099-Add-adjustable-breeding-cooldown-to-config.patch rename to patches/server/0098-Add-adjustable-breeding-cooldown-to-config.patch index 0f05eed08..8a961f2e6 100644 --- a/patches/server/0099-Add-adjustable-breeding-cooldown-to-config.patch +++ b/patches/server/0098-Add-adjustable-breeding-cooldown-to-config.patch @@ -104,7 +104,7 @@ index df881431c8f32e2c12224b44084ca4d71edf9ab3..7bc1d9ed3a3e3679caff8da0a38a3de9 this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9289c97d303588c55db43b0e239904ffa91131fb..560342aff844201ee678eae45e77079fc1fd2a23 100644 +index 1865aff6f5601fc24a86a41c84bebc282ff9b111..1f2af3b001ce000cd504a9a5dafb74f65b3b468e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -114,6 +114,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0100-Make-entity-breeding-times-configurable.patch b/patches/server/0099-Make-entity-breeding-times-configurable.patch similarity index 94% rename from patches/server/0100-Make-entity-breeding-times-configurable.patch rename to patches/server/0099-Make-entity-breeding-times-configurable.patch index a3aef6c47..dd4798192 100644 --- a/patches/server/0100-Make-entity-breeding-times-configurable.patch +++ b/patches/server/0099-Make-entity-breeding-times-configurable.patch @@ -538,10 +538,10 @@ index cd6428d0d61f68eafa8829fc21084586447cd61e..eb4a2e57ee9bddacef184e81167f8ee3 public boolean canBeLeashed() { return true; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c6839734098a 100644 +index 1f2af3b001ce000cd504a9a5dafb74f65b3b468e..eefd829f617f2af60b9846f2fe8003676a997c88 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -497,23 +497,27 @@ public class PurpurWorldConfig { +@@ -463,23 +463,27 @@ public class PurpurWorldConfig { public boolean armadilloControllable = true; public double armadilloMaxHealth = 12.0D; public double armadilloScale = 1.0D; @@ -569,7 +569,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean batRidable = false; -@@ -556,6 +560,7 @@ public class PurpurWorldConfig { +@@ -522,6 +526,7 @@ public class PurpurWorldConfig { public double beeMaxY = 320D; public double beeMaxHealth = 10.0D; public double beeScale = 1.0D; @@ -577,7 +577,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -568,6 +573,7 @@ public class PurpurWorldConfig { +@@ -534,6 +539,7 @@ public class PurpurWorldConfig { } beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth); beeScale = Mth.clamp(getDouble("mobs.bee.attributes.scale", beeScale), 0.0625D, 16.0D); @@ -585,7 +585,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean blazeRidable = false; -@@ -610,6 +616,7 @@ public class PurpurWorldConfig { +@@ -576,6 +582,7 @@ public class PurpurWorldConfig { public double camelJumpStrengthMax = 0.42D; public double camelMovementSpeedMin = 0.09D; public double camelMovementSpeedMax = 0.09D; @@ -593,7 +593,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void camelSettings() { camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater); camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin); -@@ -618,6 +625,7 @@ public class PurpurWorldConfig { +@@ -584,6 +591,7 @@ public class PurpurWorldConfig { camelJumpStrengthMax = getDouble("mobs.camel.attributes.jump_strength.max", camelJumpStrengthMax); camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin); camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax); @@ -601,7 +601,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean catRidable = false; -@@ -628,6 +636,7 @@ public class PurpurWorldConfig { +@@ -594,6 +602,7 @@ public class PurpurWorldConfig { public int catSpawnDelay = 1200; public int catSpawnSwampHutScanRange = 16; public int catSpawnVillageScanRange = 48; @@ -609,7 +609,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -642,6 +651,7 @@ public class PurpurWorldConfig { +@@ -608,6 +617,7 @@ public class PurpurWorldConfig { catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay); catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange); catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange); @@ -617,7 +617,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean caveSpiderRidable = false; -@@ -668,6 +678,7 @@ public class PurpurWorldConfig { +@@ -634,6 +644,7 @@ public class PurpurWorldConfig { public double chickenMaxHealth = 4.0D; public double chickenScale = 1.0D; public boolean chickenRetaliate = false; @@ -625,7 +625,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -680,6 +691,7 @@ public class PurpurWorldConfig { +@@ -646,6 +657,7 @@ public class PurpurWorldConfig { chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); chickenScale = Mth.clamp(getDouble("mobs.chicken.attributes.scale", chickenScale), 0.0625D, 16.0D); chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); @@ -633,7 +633,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean codRidable = false; -@@ -704,6 +716,7 @@ public class PurpurWorldConfig { +@@ -670,6 +682,7 @@ public class PurpurWorldConfig { public double cowMaxHealth = 10.0D; public double cowScale = 1.0D; public int cowFeedMushrooms = 0; @@ -641,7 +641,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void cowSettings() { cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); -@@ -716,6 +729,7 @@ public class PurpurWorldConfig { +@@ -682,6 +695,7 @@ public class PurpurWorldConfig { cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); cowScale = Mth.clamp(getDouble("mobs.cow.attributes.scale", cowScale), 0.0625D, 16.0D); cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); @@ -649,7 +649,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean creeperRidable = false; -@@ -771,6 +785,7 @@ public class PurpurWorldConfig { +@@ -737,6 +751,7 @@ public class PurpurWorldConfig { public double donkeyJumpStrengthMax = 0.5D; public double donkeyMovementSpeedMin = 0.175D; public double donkeyMovementSpeedMax = 0.175D; @@ -657,7 +657,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); if (PurpurConfig.version < 10) { -@@ -786,6 +801,7 @@ public class PurpurWorldConfig { +@@ -752,6 +767,7 @@ public class PurpurWorldConfig { donkeyJumpStrengthMax = getDouble("mobs.donkey.attributes.jump_strength.max", donkeyJumpStrengthMax); donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin); donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax); @@ -665,7 +665,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean drownedRidable = false; -@@ -916,6 +932,7 @@ public class PurpurWorldConfig { +@@ -882,6 +898,7 @@ public class PurpurWorldConfig { public double foxMaxHealth = 10.0D; public double foxScale = 1.0D; public boolean foxTypeChangesWithTulips = false; @@ -673,7 +673,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -928,17 +945,20 @@ public class PurpurWorldConfig { +@@ -894,17 +911,20 @@ public class PurpurWorldConfig { foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxScale = Mth.clamp(getDouble("mobs.fox.attributes.scale", foxScale), 0.0625D, 16.0D); foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); @@ -694,7 +694,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean ghastRidable = false; -@@ -1013,12 +1033,14 @@ public class PurpurWorldConfig { +@@ -979,12 +999,14 @@ public class PurpurWorldConfig { public boolean goatControllable = true; public double goatMaxHealth = 10.0D; public double goatScale = 1.0D; @@ -709,7 +709,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean guardianRidable = false; -@@ -1042,6 +1064,7 @@ public class PurpurWorldConfig { +@@ -1008,6 +1030,7 @@ public class PurpurWorldConfig { public boolean hoglinControllable = true; public double hoglinMaxHealth = 40.0D; public double hoglinScale = 1.0D; @@ -717,7 +717,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -1053,6 +1076,7 @@ public class PurpurWorldConfig { +@@ -1019,6 +1042,7 @@ public class PurpurWorldConfig { } hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); hoglinScale = Mth.clamp(getDouble("mobs.hoglin.attributes.scale", hoglinScale), 0.0625D, 16.0D); @@ -725,7 +725,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean horseRidableInWater = false; -@@ -1062,6 +1086,7 @@ public class PurpurWorldConfig { +@@ -1028,6 +1052,7 @@ public class PurpurWorldConfig { public double horseJumpStrengthMax = 1.0D; public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMax = 0.3375D; @@ -733,7 +733,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1077,6 +1102,7 @@ public class PurpurWorldConfig { +@@ -1043,6 +1068,7 @@ public class PurpurWorldConfig { horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax); horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin); horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax); @@ -741,7 +741,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean huskRidable = false; -@@ -1160,6 +1186,7 @@ public class PurpurWorldConfig { +@@ -1126,6 +1152,7 @@ public class PurpurWorldConfig { public double llamaJumpStrengthMax = 0.5D; public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMax = 0.175D; @@ -749,7 +749,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1177,6 +1204,7 @@ public class PurpurWorldConfig { +@@ -1143,6 +1170,7 @@ public class PurpurWorldConfig { llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax); llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin); llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); @@ -757,7 +757,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean magmaCubeRidable = false; -@@ -1206,6 +1234,7 @@ public class PurpurWorldConfig { +@@ -1172,6 +1200,7 @@ public class PurpurWorldConfig { public boolean mooshroomControllable = true; public double mooshroomMaxHealth = 10.0D; public double mooshroomScale = 1.0D; @@ -765,7 +765,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1217,6 +1246,7 @@ public class PurpurWorldConfig { +@@ -1183,6 +1212,7 @@ public class PurpurWorldConfig { } mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); mooshroomScale = Mth.clamp(getDouble("mobs.mooshroom.attributes.scale", mooshroomScale), 0.0625D, 16.0D); @@ -773,7 +773,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean muleRidableInWater = false; -@@ -1226,6 +1256,7 @@ public class PurpurWorldConfig { +@@ -1192,6 +1222,7 @@ public class PurpurWorldConfig { public double muleJumpStrengthMax = 0.5D; public double muleMovementSpeedMin = 0.175D; public double muleMovementSpeedMax = 0.175D; @@ -781,7 +781,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1241,6 +1272,7 @@ public class PurpurWorldConfig { +@@ -1207,6 +1238,7 @@ public class PurpurWorldConfig { muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax); muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin); muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); @@ -789,7 +789,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean ocelotRidable = false; -@@ -1248,6 +1280,7 @@ public class PurpurWorldConfig { +@@ -1214,6 +1246,7 @@ public class PurpurWorldConfig { public boolean ocelotControllable = true; public double ocelotMaxHealth = 10.0D; public double ocelotScale = 1.0D; @@ -797,7 +797,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1259,6 +1292,7 @@ public class PurpurWorldConfig { +@@ -1225,6 +1258,7 @@ public class PurpurWorldConfig { } ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); ocelotScale = Mth.clamp(getDouble("mobs.ocelot.attributes.scale", ocelotScale), 0.0625D, 16.0D); @@ -805,7 +805,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean pandaRidable = false; -@@ -1266,6 +1300,7 @@ public class PurpurWorldConfig { +@@ -1232,6 +1266,7 @@ public class PurpurWorldConfig { public boolean pandaControllable = true; public double pandaMaxHealth = 20.0D; public double pandaScale = 1.0D; @@ -813,7 +813,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1277,6 +1312,7 @@ public class PurpurWorldConfig { +@@ -1243,6 +1278,7 @@ public class PurpurWorldConfig { } pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); pandaScale = Mth.clamp(getDouble("mobs.panda.attributes.scale", pandaScale), 0.0625D, 16.0D); @@ -821,7 +821,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean parrotRidable = false; -@@ -1363,6 +1399,7 @@ public class PurpurWorldConfig { +@@ -1329,6 +1365,7 @@ public class PurpurWorldConfig { public double pigMaxHealth = 10.0D; public double pigScale = 1.0D; public boolean pigGiveSaddleBack = false; @@ -829,7 +829,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -1375,6 +1412,7 @@ public class PurpurWorldConfig { +@@ -1341,6 +1378,7 @@ public class PurpurWorldConfig { pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigScale = Mth.clamp(getDouble("mobs.pig.attributes.scale", pigScale), 0.0625D, 16.0D); pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); @@ -837,7 +837,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean piglinRidable = false; -@@ -1438,6 +1476,7 @@ public class PurpurWorldConfig { +@@ -1404,6 +1442,7 @@ public class PurpurWorldConfig { public double polarBearScale = 1.0D; public String polarBearBreedableItemString = ""; public Item polarBearBreedableItem = null; @@ -845,7 +845,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -1452,6 +1491,7 @@ public class PurpurWorldConfig { +@@ -1418,6 +1457,7 @@ public class PurpurWorldConfig { polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString); Item item = BuiltInRegistries.ITEM.get(ResourceLocation.parse(polarBearBreedableItemString)); if (item != Items.AIR) polarBearBreedableItem = item; @@ -853,7 +853,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean pufferfishRidable = false; -@@ -1477,6 +1517,7 @@ public class PurpurWorldConfig { +@@ -1443,6 +1483,7 @@ public class PurpurWorldConfig { public double rabbitScale = 1.0D; public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; @@ -861,7 +861,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1490,6 +1531,7 @@ public class PurpurWorldConfig { +@@ -1456,6 +1497,7 @@ public class PurpurWorldConfig { rabbitScale = Mth.clamp(getDouble("mobs.rabbit.attributes.scale", rabbitScale), 0.0625D, 16.0D); rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast); rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); @@ -869,7 +869,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean ravagerRidable = false; -@@ -1531,6 +1573,7 @@ public class PurpurWorldConfig { +@@ -1497,6 +1539,7 @@ public class PurpurWorldConfig { public boolean sheepControllable = true; public double sheepMaxHealth = 8.0D; public double sheepScale = 1.0D; @@ -877,7 +877,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1542,6 +1585,7 @@ public class PurpurWorldConfig { +@@ -1508,6 +1551,7 @@ public class PurpurWorldConfig { } sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepScale = Mth.clamp(getDouble("mobs.sheep.attributes.scale", sheepScale), 0.0625D, 16.0D); @@ -885,7 +885,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean shulkerRidable = false; -@@ -1678,12 +1722,14 @@ public class PurpurWorldConfig { +@@ -1644,12 +1688,14 @@ public class PurpurWorldConfig { public boolean snifferControllable = true; public double snifferMaxHealth = 14.0D; public double snifferScale = 1.0D; @@ -900,7 +900,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean squidRidable = false; -@@ -1749,6 +1795,7 @@ public class PurpurWorldConfig { +@@ -1715,6 +1761,7 @@ public class PurpurWorldConfig { public boolean striderControllable = true; public double striderMaxHealth = 20.0D; public double striderScale = 1.0D; @@ -908,7 +908,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1760,6 +1807,7 @@ public class PurpurWorldConfig { +@@ -1726,6 +1773,7 @@ public class PurpurWorldConfig { } striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderScale = Mth.clamp(getDouble("mobs.strider.attributes.scale", striderScale), 0.0625D, 16.0D); @@ -916,7 +916,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean tadpoleRidable = false; -@@ -1780,6 +1828,7 @@ public class PurpurWorldConfig { +@@ -1746,6 +1794,7 @@ public class PurpurWorldConfig { public double traderLlamaJumpStrengthMax = 0.5D; public double traderLlamaMovementSpeedMin = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D; @@ -924,7 +924,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -1797,6 +1846,7 @@ public class PurpurWorldConfig { +@@ -1763,6 +1812,7 @@ public class PurpurWorldConfig { traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax); traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin); traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); @@ -932,7 +932,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean tropicalFishRidable = false; -@@ -1820,6 +1870,7 @@ public class PurpurWorldConfig { +@@ -1786,6 +1836,7 @@ public class PurpurWorldConfig { public boolean turtleControllable = true; public double turtleMaxHealth = 30.0D; public double turtleScale = 1.0D; @@ -940,7 +940,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -1831,6 +1882,7 @@ public class PurpurWorldConfig { +@@ -1797,6 +1848,7 @@ public class PurpurWorldConfig { } turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); turtleScale = Mth.clamp(getDouble("mobs.turtle.attributes.scale", turtleScale), 0.0625D, 16.0D); @@ -948,7 +948,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean vexRidable = false; -@@ -1861,6 +1913,7 @@ public class PurpurWorldConfig { +@@ -1827,6 +1879,7 @@ public class PurpurWorldConfig { public boolean villagerFollowEmeraldBlock = false; public boolean villagerCanBeLeashed = false; public boolean villagerCanBreed = true; @@ -956,7 +956,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1875,6 +1928,7 @@ public class PurpurWorldConfig { +@@ -1841,6 +1894,7 @@ public class PurpurWorldConfig { villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); @@ -964,7 +964,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 } public boolean vindicatorRidable = false; -@@ -1997,6 +2051,7 @@ public class PurpurWorldConfig { +@@ -1963,6 +2017,7 @@ public class PurpurWorldConfig { public boolean wolfControllable = true; public double wolfMaxHealth = 8.0D; public double wolfScale = 1.0D; @@ -972,7 +972,7 @@ index 560342aff844201ee678eae45e77079fc1fd2a23..b0397d5586f4356e9b8bd11973a5c683 private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -2008,6 +2063,7 @@ public class PurpurWorldConfig { +@@ -1974,6 +2029,7 @@ public class PurpurWorldConfig { } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); wolfScale = Mth.clamp(getDouble("mobs.wolf.attributes.scale", wolfScale), 0.0625D, 16.0D); diff --git a/patches/server/0101-Apply-display-names-from-item-forms-of-entities-to-e.patch b/patches/server/0100-Apply-display-names-from-item-forms-of-entities-to-e.patch similarity index 99% rename from patches/server/0101-Apply-display-names-from-item-forms-of-entities-to-e.patch rename to patches/server/0100-Apply-display-names-from-item-forms-of-entities-to-e.patch index 69cea675c..2cc350723 100644 --- a/patches/server/0101-Apply-display-names-from-item-forms-of-entities-to-e.patch +++ b/patches/server/0100-Apply-display-names-from-item-forms-of-entities-to-e.patch @@ -126,7 +126,7 @@ index d8a63ac5444eff8e3decb2f4addc2decb8a5d648..41cc9229108aa8e4f5655dfe590ff414 if (((HangingEntity) object).survives()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b0397d5586f4356e9b8bd11973a5c6839734098a..53d0d688a0a4195bc1fe57a47e523bd4edf9a58f 100644 +index eefd829f617f2af60b9846f2fe8003676a997c88..cc95e8ba5d847348afdd4263c9e84554cb2ec713 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -98,8 +98,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0102-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch b/patches/server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch similarity index 96% rename from patches/server/0102-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch rename to patches/server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch index 76c6cdc7b..f7d6bfcd4 100644 --- a/patches/server/0102-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch +++ b/patches/server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch @@ -17,7 +17,7 @@ index 774c982f28b4f127fc3f036c19dfb47fb9ae3264..d49b60e7e643498b49c03593dc0da2f8 // Paper end - Add PlayerNameEntityEvent mob.setPersistenceRequired(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 79eb0e3553a3f9b2fb8059e882fed0427be67043..39aa800ecca20af51d7d07288c8db2f16969fc20 100644 +index cc95e8ba5d847348afdd4263c9e84554cb2ec713..4294b5bbf24f63023dd3c63614de7d7a14c50857 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -99,9 +99,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0103-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch b/patches/server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch similarity index 92% rename from patches/server/0103-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch rename to patches/server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch index 08c1333b6..040edd6b8 100644 --- a/patches/server/0103-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch +++ b/patches/server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch @@ -21,10 +21,10 @@ index b081ea3f272ec2dba426bf0ebdfbbba1cec718ee..3348b5a9e4e00ef7f4dabe10d0fe0a9c private static class EndermanFreezeWhenLookedAt extends Goal { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index de933c8cc5eafc99a77cd1271238ab9717f81d25..5089e9c899fef29a0078d5fce8af93538046b3b8 100644 +index 4294b5bbf24f63023dd3c63614de7d7a14c50857..35457d2d53d7497ab8e370b0059a67b8563e1eff 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -882,6 +882,7 @@ public class PurpurWorldConfig { +@@ -848,6 +848,7 @@ public class PurpurWorldConfig { public double endermanMaxHealth = 40.0D; public double endermanScale = 1.0D; public boolean endermanAllowGriefing = true; @@ -32,7 +32,7 @@ index de933c8cc5eafc99a77cd1271238ab9717f81d25..5089e9c899fef29a0078d5fce8af9353 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -894,6 +895,7 @@ public class PurpurWorldConfig { +@@ -860,6 +861,7 @@ public class PurpurWorldConfig { endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanScale = Mth.clamp(getDouble("mobs.enderman.attributes.scale", endermanScale), 0.0625D, 16.0D); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); diff --git a/patches/server/0104-Add-configurable-snowball-damage.patch b/patches/server/0103-Add-configurable-snowball-damage.patch similarity index 91% rename from patches/server/0104-Add-configurable-snowball-damage.patch rename to patches/server/0103-Add-configurable-snowball-damage.patch index 0f2f1e4a6..e9754a2cd 100644 --- a/patches/server/0104-Add-configurable-snowball-damage.patch +++ b/patches/server/0103-Add-configurable-snowball-damage.patch @@ -18,11 +18,11 @@ index 2b4d206c0d31ba38d7b2af654bd420e85145d441..f59a2903bfb8ae591a638ea5bb387caa entity.hurt(this.damageSources().thrown(this, this.getOwner()), (float) i); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5089e9c899fef29a0078d5fce8af93538046b3b8..5540dca552e6a6aa4b3ee2042cc7898adb25eae9 100644 +index 35457d2d53d7497ab8e370b0059a67b8563e1eff..e1efcfcddacf41e516dd297b99183fe8f8aabddc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -372,6 +372,11 @@ public class PurpurWorldConfig { - //} +@@ -338,6 +338,11 @@ public class PurpurWorldConfig { + }); } + public int snowballDamage = -1; diff --git a/patches/server/0105-Changeable-Mob-Left-Handed-Chance.patch b/patches/server/0104-Changeable-Mob-Left-Handed-Chance.patch similarity index 94% rename from patches/server/0105-Changeable-Mob-Left-Handed-Chance.patch rename to patches/server/0104-Changeable-Mob-Left-Handed-Chance.patch index c9c819d08..50fe607d7 100644 --- a/patches/server/0105-Changeable-Mob-Left-Handed-Chance.patch +++ b/patches/server/0104-Changeable-Mob-Left-Handed-Chance.patch @@ -18,7 +18,7 @@ index 0d93a8cbf15fa84f422d61adddb420ba5dcb226a..d9743c9e0026d1f858aacc6a78dc39f1 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5540dca552e6a6aa4b3ee2042cc7898adb25eae9..9e909a0a151997c8fd2922f40a858c673bd723b8 100644 +index e1efcfcddacf41e516dd297b99183fe8f8aabddc..fc218492aeca22efd869433b145699bf31e95aca 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -151,8 +151,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0106-Add-boat-fall-damage-config.patch b/patches/server/0105-Add-boat-fall-damage-config.patch similarity index 97% rename from patches/server/0106-Add-boat-fall-damage-config.patch rename to patches/server/0105-Add-boat-fall-damage-config.patch index 665fdec61..5d15646eb 100644 --- a/patches/server/0106-Add-boat-fall-damage-config.patch +++ b/patches/server/0105-Add-boat-fall-damage-config.patch @@ -27,7 +27,7 @@ index aca60e21e7a191212d07a03a105fc4fb636359b2..0b57d9a2e2573bdb41c9e163d953130c if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9e909a0a151997c8fd2922f40a858c673bd723b8..3ffa21c107a2b815f729d28294c530f64dc75287 100644 +index fc218492aeca22efd869433b145699bf31e95aca..17df2ad9ec746736ca2968caa66a0bb1ff5a1151 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -113,6 +113,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0107-Snow-Golem-rate-of-fire-config.patch b/patches/server/0106-Snow-Golem-rate-of-fire-config.patch similarity index 94% rename from patches/server/0107-Snow-Golem-rate-of-fire-config.patch rename to patches/server/0106-Snow-Golem-rate-of-fire-config.patch index 9497a0ab9..0a2201f3b 100644 --- a/patches/server/0107-Snow-Golem-rate-of-fire-config.patch +++ b/patches/server/0106-Snow-Golem-rate-of-fire-config.patch @@ -23,10 +23,10 @@ index dc5af0b71ec82a8f22e64b03950e35845110a331..5b910b4168b7f7825916c14e402f7f00 this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(4, new RandomLookAroundGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3ffa21c107a2b815f729d28294c530f64dc75287..05f206afe40b6924a0354f2b9ffb9b8390e24539 100644 +index 17df2ad9ec746736ca2968caa66a0bb1ff5a1151..7cb8996240fe658fe5858f009fb1b8171c6de7de 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1719,6 +1719,10 @@ public class PurpurWorldConfig { +@@ -1685,6 +1685,10 @@ public class PurpurWorldConfig { public double snowGolemMaxHealth = 4.0D; public double snowGolemScale = 1.0D; public boolean snowGolemPutPumpkinBack = false; @@ -37,7 +37,7 @@ index 3ffa21c107a2b815f729d28294c530f64dc75287..05f206afe40b6924a0354f2b9ffb9b83 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1732,6 +1736,10 @@ public class PurpurWorldConfig { +@@ -1698,6 +1702,10 @@ public class PurpurWorldConfig { snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth); snowGolemScale = Mth.clamp(getDouble("mobs.snow_golem.attributes.scale", snowGolemScale), 0.0625D, 16.0D); snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack); diff --git a/patches/server/0108-EMC-Configurable-disable-give-dropping.patch b/patches/server/0107-EMC-Configurable-disable-give-dropping.patch similarity index 95% rename from patches/server/0108-EMC-Configurable-disable-give-dropping.patch rename to patches/server/0107-EMC-Configurable-disable-give-dropping.patch index 109fd9380..7aa6538bd 100644 --- a/patches/server/0108-EMC-Configurable-disable-give-dropping.patch +++ b/patches/server/0107-EMC-Configurable-disable-give-dropping.patch @@ -20,7 +20,7 @@ index 0d9de4c61c7b26a6ff37c12fde629161fd0c3d5a..2f7897744f4aea718170698881773e90 entityitem = entityplayer.drop(itemstack, false, false, false); // CraftBukkit - SPIGOT-2942: Add boolean to call event if (entityitem != null) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index ce7ef9b4149021812c325bfd24cd6b9d4dc610a6..7800c63fad9e2b0ce33d03e7e061fffa45d5effc 100644 +index d4371bebdcb3b55c412334491959835e2d52220f..e86e3ceb8c93b89a37aeb3829fea65430b387941 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -211,6 +211,11 @@ public class PurpurConfig { diff --git a/patches/server/0109-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch b/patches/server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch similarity index 98% rename from patches/server/0109-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch rename to patches/server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch index 63cf0ef08..7625a9b5b 100644 --- a/patches/server/0109-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch +++ b/patches/server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch @@ -174,10 +174,10 @@ index 8734ab1bd8299bbf43906d81a349c2a13e0981a7..3ca83269311cbc18c9ef3ce62cff6a2d "farmer", PoiTypes.FARMER, diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 05f206afe40b6924a0354f2b9ffb9b8390e24539..24ecf0e61ce4957eda46c2a507543ae6c2ac51c3 100644 +index 7cb8996240fe658fe5858f009fb1b8171c6de7de..057877ee0430de3b14a3082f16e510e64f3663ae 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1939,6 +1939,8 @@ public class PurpurWorldConfig { +@@ -1905,6 +1905,8 @@ public class PurpurWorldConfig { public boolean villagerCanBeLeashed = false; public boolean villagerCanBreed = true; public int villagerBreedingTicks = 6000; @@ -186,7 +186,7 @@ index 05f206afe40b6924a0354f2b9ffb9b8390e24539..24ecf0e61ce4957eda46c2a507543ae6 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1954,6 +1956,8 @@ public class PurpurWorldConfig { +@@ -1920,6 +1922,8 @@ public class PurpurWorldConfig { villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); diff --git a/patches/server/0110-Toggle-for-Zombified-Piglin-death-always-counting-as.patch b/patches/server/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch similarity index 94% rename from patches/server/0110-Toggle-for-Zombified-Piglin-death-always-counting-as.patch rename to patches/server/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch index 001d0223c..5a24292f6 100644 --- a/patches/server/0110-Toggle-for-Zombified-Piglin-death-always-counting-as.patch +++ b/patches/server/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch @@ -35,10 +35,10 @@ index 53b8f46bda60289ec310cb45513a2b729fcbea76..2756319fd1e53eca6a3dfa094d7c6690 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 24ecf0e61ce4957eda46c2a507543ae6c2ac51c3..03a74aa5e0b9d51b63722809bbee288e544c5ff5 100644 +index 057877ee0430de3b14a3082f16e510e64f3663ae..43f98be23b7da635f168b123f7e47c005707be77 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2205,6 +2205,7 @@ public class PurpurWorldConfig { +@@ -2171,6 +2171,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyOnlyBaby = true; public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; @@ -46,7 +46,7 @@ index 24ecf0e61ce4957eda46c2a507543ae6c2ac51c3..03a74aa5e0b9d51b63722809bbee288e private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -2220,5 +2221,6 @@ public class PurpurWorldConfig { +@@ -2186,5 +2187,6 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby); zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance); zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); diff --git a/patches/server/0111-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch similarity index 98% rename from patches/server/0111-Configurable-chance-for-wolves-to-spawn-rabid.patch rename to patches/server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch index ed3617a13..4ec654dec 100644 --- a/patches/server/0111-Configurable-chance-for-wolves-to-spawn-rabid.patch +++ b/patches/server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch @@ -182,10 +182,10 @@ index 86574da257731de7646a712ed73384955fe35aa3..e223234dd64b0e41441c3b9f649f0b64 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 03a74aa5e0b9d51b63722809bbee288e544c5ff5..da84a0bbfeeccc3a6db0f5aa8ae3cdd6c8043ea4 100644 +index 43f98be23b7da635f168b123f7e47c005707be77..2b23ba7a29fb1fd0952e476fae4fe999609dfe6e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2080,6 +2080,8 @@ public class PurpurWorldConfig { +@@ -2046,6 +2046,8 @@ public class PurpurWorldConfig { public boolean wolfControllable = true; public double wolfMaxHealth = 8.0D; public double wolfScale = 1.0D; @@ -194,7 +194,7 @@ index 03a74aa5e0b9d51b63722809bbee288e544c5ff5..da84a0bbfeeccc3a6db0f5aa8ae3cdd6 public int wolfBreedingTicks = 6000; private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); -@@ -2092,6 +2094,8 @@ public class PurpurWorldConfig { +@@ -2058,6 +2060,8 @@ public class PurpurWorldConfig { } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); wolfScale = Mth.clamp(getDouble("mobs.wolf.attributes.scale", wolfScale), 0.0625D, 16.0D); diff --git a/patches/server/0112-Configurable-default-collar-color.patch b/patches/server/0111-Configurable-default-collar-color.patch similarity index 93% rename from patches/server/0112-Configurable-default-collar-color.patch rename to patches/server/0111-Configurable-default-collar-color.patch index ffe5ab5bd..a023b094e 100644 --- a/patches/server/0112-Configurable-default-collar-color.patch +++ b/patches/server/0111-Configurable-default-collar-color.patch @@ -43,10 +43,10 @@ index d159d573d5f87c31cf61baacbaae193d24ab6801..143717d64651ffd75124973ca7a15fc1 protected void registerGoals() { this.goalSelector.addGoal(1, new FloatGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index da84a0bbfeeccc3a6db0f5aa8ae3cdd6c8043ea4..84989993500837388e1c6cea74f8bce46c131627 100644 +index 2b23ba7a29fb1fd0952e476fae4fe999609dfe6e..ec7b78a2a9270ae5f0e37cfe559768adc41dab84 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -652,6 +652,7 @@ public class PurpurWorldConfig { +@@ -618,6 +618,7 @@ public class PurpurWorldConfig { public int catSpawnSwampHutScanRange = 16; public int catSpawnVillageScanRange = 48; public int catBreedingTicks = 6000; @@ -54,7 +54,7 @@ index da84a0bbfeeccc3a6db0f5aa8ae3cdd6c8043ea4..84989993500837388e1c6cea74f8bce4 private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -667,6 +668,11 @@ public class PurpurWorldConfig { +@@ -633,6 +634,11 @@ public class PurpurWorldConfig { catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange); catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange); catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks); @@ -66,7 +66,7 @@ index da84a0bbfeeccc3a6db0f5aa8ae3cdd6c8043ea4..84989993500837388e1c6cea74f8bce4 } public boolean caveSpiderRidable = false; -@@ -2080,6 +2086,7 @@ public class PurpurWorldConfig { +@@ -2046,6 +2052,7 @@ public class PurpurWorldConfig { public boolean wolfControllable = true; public double wolfMaxHealth = 8.0D; public double wolfScale = 1.0D; @@ -74,7 +74,7 @@ index da84a0bbfeeccc3a6db0f5aa8ae3cdd6c8043ea4..84989993500837388e1c6cea74f8bce4 public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; -@@ -2094,6 +2101,11 @@ public class PurpurWorldConfig { +@@ -2060,6 +2067,11 @@ public class PurpurWorldConfig { } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); wolfScale = Mth.clamp(getDouble("mobs.wolf.attributes.scale", wolfScale), 0.0625D, 16.0D); diff --git a/patches/server/0113-Phantom-flames-on-swoop.patch b/patches/server/0112-Phantom-flames-on-swoop.patch similarity index 91% rename from patches/server/0113-Phantom-flames-on-swoop.patch rename to patches/server/0112-Phantom-flames-on-swoop.patch index fb14a5a37..fd935da1e 100644 --- a/patches/server/0113-Phantom-flames-on-swoop.patch +++ b/patches/server/0112-Phantom-flames-on-swoop.patch @@ -17,10 +17,10 @@ index 8f221fe016ea7221eb3a2116a2213139cf961797..88725e6f8c6490253e110485f5a62e9d @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 84989993500837388e1c6cea74f8bce46c131627..d43f1f2fac56a7590e80639cf2baa9190e348342 100644 +index ec7b78a2a9270ae5f0e37cfe559768adc41dab84..4dce5107ed9a2ae1148ccc5c51ec54d57426cb83 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1381,6 +1381,7 @@ public class PurpurWorldConfig { +@@ -1347,6 +1347,7 @@ public class PurpurWorldConfig { public int phantomBurnInLight = 0; public boolean phantomIgnorePlayersWithTorch = false; public boolean phantomBurnInDaylight = true; @@ -28,7 +28,7 @@ index 84989993500837388e1c6cea74f8bce46c131627..d43f1f2fac56a7590e80639cf2baa919 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1414,6 +1415,7 @@ public class PurpurWorldConfig { +@@ -1380,6 +1381,7 @@ public class PurpurWorldConfig { phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight); phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight); phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); diff --git a/patches/server/0114-Option-for-chests-to-open-even-with-a-solid-block-on.patch b/patches/server/0113-Option-for-chests-to-open-even-with-a-solid-block-on.patch similarity index 91% rename from patches/server/0114-Option-for-chests-to-open-even-with-a-solid-block-on.patch rename to patches/server/0113-Option-for-chests-to-open-even-with-a-solid-block-on.patch index 0d32afc81..76bd35afb 100644 --- a/patches/server/0114-Option-for-chests-to-open-even-with-a-solid-block-on.patch +++ b/patches/server/0113-Option-for-chests-to-open-even-with-a-solid-block-on.patch @@ -17,10 +17,10 @@ index 0b27baf10770cb3077c4e75da55209689d614513..485ea9892f257c6843db23bca43f9fdc return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d43f1f2fac56a7590e80639cf2baa9190e348342..fefe3331c6b383288b47fde58dda050f6dbbdb90 100644 +index 4dce5107ed9a2ae1148ccc5c51ec54d57426cb83..a83719bd540910f799997e6593356d56bd097c42 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -409,6 +409,11 @@ public class PurpurWorldConfig { +@@ -375,6 +375,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0115-Implement-TPSBar.patch b/patches/server/0114-Implement-TPSBar.patch similarity index 97% rename from patches/server/0115-Implement-TPSBar.patch rename to patches/server/0114-Implement-TPSBar.patch index 771534a76..5224c15a0 100644 --- a/patches/server/0115-Implement-TPSBar.patch +++ b/patches/server/0114-Implement-TPSBar.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement TPSBar diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 38a345901a743f5ddac18ba876d5245c5c11f111..c7b7cc0d9ce589b5a0600e9b8c46b2e5d7a520bd 100644 +index 09e3c9dd08b6a5765d76390b2c8f62200fd3e27c..286f141255984dddbc3252304d6c11b0647cbbf4 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java @@ -253,6 +253,7 @@ public class Commands { @@ -17,7 +17,7 @@ index 38a345901a743f5ddac18ba876d5245c5c11f111..c7b7cc0d9ce589b5a0600e9b8c46b2e5 if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index dd02ae5af707c8335a296e66b0f55e960c8e86bc..0a94e42d3c5bf8bc0c3b1957bb84b929ef934b3c 100644 +index f514c421b5ff7e46b2d211f895dcb0d7a375704f..b14bfa10927c1e0e93f1c3515947077f11eb3ece 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1137,6 +1137,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop magmaCubeMaxHealthCache = new HashMap<>(); public Map magmaCubeAttackDamageCache = new HashMap<>(); @@ -1685,7 +1685,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void magmaCubeSettings() { magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable); magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater); -@@ -1315,6 +1376,7 @@ public class PurpurWorldConfig { +@@ -1281,6 +1342,7 @@ public class PurpurWorldConfig { magmaCubeAttackDamage = getString("mobs.magma_cube.attributes.attack_damage", magmaCubeAttackDamage); magmaCubeMaxHealthCache.clear(); magmaCubeAttackDamageCache.clear(); @@ -1693,7 +1693,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean mooshroomRidable = false; -@@ -1323,6 +1385,7 @@ public class PurpurWorldConfig { +@@ -1289,6 +1351,7 @@ public class PurpurWorldConfig { public double mooshroomMaxHealth = 10.0D; public double mooshroomScale = 1.0D; public int mooshroomBreedingTicks = 6000; @@ -1701,7 +1701,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1335,6 +1398,7 @@ public class PurpurWorldConfig { +@@ -1301,6 +1364,7 @@ public class PurpurWorldConfig { mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); mooshroomScale = Mth.clamp(getDouble("mobs.mooshroom.attributes.scale", mooshroomScale), 0.0625D, 16.0D); mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks); @@ -1709,7 +1709,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean muleRidableInWater = false; -@@ -1345,6 +1409,7 @@ public class PurpurWorldConfig { +@@ -1311,6 +1375,7 @@ public class PurpurWorldConfig { public double muleMovementSpeedMin = 0.175D; public double muleMovementSpeedMax = 0.175D; public int muleBreedingTicks = 6000; @@ -1717,7 +1717,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1361,6 +1426,7 @@ public class PurpurWorldConfig { +@@ -1327,6 +1392,7 @@ public class PurpurWorldConfig { muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin); muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks); @@ -1725,7 +1725,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean ocelotRidable = false; -@@ -1369,6 +1435,7 @@ public class PurpurWorldConfig { +@@ -1335,6 +1401,7 @@ public class PurpurWorldConfig { public double ocelotMaxHealth = 10.0D; public double ocelotScale = 1.0D; public int ocelotBreedingTicks = 6000; @@ -1733,7 +1733,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1381,6 +1448,7 @@ public class PurpurWorldConfig { +@@ -1347,6 +1414,7 @@ public class PurpurWorldConfig { ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); ocelotScale = Mth.clamp(getDouble("mobs.ocelot.attributes.scale", ocelotScale), 0.0625D, 16.0D); ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks); @@ -1741,7 +1741,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean pandaRidable = false; -@@ -1389,6 +1457,7 @@ public class PurpurWorldConfig { +@@ -1355,6 +1423,7 @@ public class PurpurWorldConfig { public double pandaMaxHealth = 20.0D; public double pandaScale = 1.0D; public int pandaBreedingTicks = 6000; @@ -1749,7 +1749,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1401,6 +1470,7 @@ public class PurpurWorldConfig { +@@ -1367,6 +1436,7 @@ public class PurpurWorldConfig { pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); pandaScale = Mth.clamp(getDouble("mobs.panda.attributes.scale", pandaScale), 0.0625D, 16.0D); pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks); @@ -1757,7 +1757,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean parrotRidable = false; -@@ -1409,6 +1479,7 @@ public class PurpurWorldConfig { +@@ -1375,6 +1445,7 @@ public class PurpurWorldConfig { public double parrotMaxY = 320D; public double parrotMaxHealth = 6.0D; public double parrotScale = 1.0D; @@ -1765,7 +1765,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1421,6 +1492,7 @@ public class PurpurWorldConfig { +@@ -1387,6 +1458,7 @@ public class PurpurWorldConfig { } parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); parrotScale = Mth.clamp(getDouble("mobs.parrot.attributes.scale", parrotScale), 0.0625D, 16.0D); @@ -1773,7 +1773,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean phantomRidable = false; -@@ -1447,6 +1519,7 @@ public class PurpurWorldConfig { +@@ -1413,6 +1485,7 @@ public class PurpurWorldConfig { public boolean phantomIgnorePlayersWithTorch = false; public boolean phantomBurnInDaylight = true; public boolean phantomFlamesOnSwoop = false; @@ -1781,7 +1781,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1481,6 +1554,7 @@ public class PurpurWorldConfig { +@@ -1447,6 +1520,7 @@ public class PurpurWorldConfig { phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight); phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop); @@ -1789,7 +1789,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean pigRidable = false; -@@ -1490,6 +1564,7 @@ public class PurpurWorldConfig { +@@ -1456,6 +1530,7 @@ public class PurpurWorldConfig { public double pigScale = 1.0D; public boolean pigGiveSaddleBack = false; public int pigBreedingTicks = 6000; @@ -1797,7 +1797,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -1503,6 +1578,7 @@ public class PurpurWorldConfig { +@@ -1469,6 +1544,7 @@ public class PurpurWorldConfig { pigScale = Mth.clamp(getDouble("mobs.pig.attributes.scale", pigScale), 0.0625D, 16.0D); pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks); @@ -1805,7 +1805,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean piglinRidable = false; -@@ -1511,6 +1587,7 @@ public class PurpurWorldConfig { +@@ -1477,6 +1553,7 @@ public class PurpurWorldConfig { public double piglinMaxHealth = 16.0D; public double piglinScale = 1.0D; public boolean piglinBypassMobGriefing = false; @@ -1813,7 +1813,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1523,6 +1600,7 @@ public class PurpurWorldConfig { +@@ -1489,6 +1566,7 @@ public class PurpurWorldConfig { piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); piglinScale = Mth.clamp(getDouble("mobs.piglin.attributes.scale", piglinScale), 0.0625D, 16.0D); piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); @@ -1821,7 +1821,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean piglinBruteRidable = false; -@@ -1530,6 +1608,7 @@ public class PurpurWorldConfig { +@@ -1496,6 +1574,7 @@ public class PurpurWorldConfig { public boolean piglinBruteControllable = true; public double piglinBruteMaxHealth = 50.0D; public double piglinBruteScale = 1.0D; @@ -1829,7 +1829,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void piglinBruteSettings() { piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable); piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater); -@@ -1541,6 +1620,7 @@ public class PurpurWorldConfig { +@@ -1507,6 +1586,7 @@ public class PurpurWorldConfig { } piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth); piglinBruteScale = Mth.clamp(getDouble("mobs.piglin_brute.attributes.scale", piglinBruteScale), 0.0625D, 16.0D); @@ -1837,7 +1837,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean pillagerRidable = false; -@@ -1549,6 +1629,7 @@ public class PurpurWorldConfig { +@@ -1515,6 +1595,7 @@ public class PurpurWorldConfig { public double pillagerMaxHealth = 24.0D; public double pillagerScale = 1.0D; public boolean pillagerBypassMobGriefing = false; @@ -1845,7 +1845,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -1561,6 +1642,7 @@ public class PurpurWorldConfig { +@@ -1527,6 +1608,7 @@ public class PurpurWorldConfig { pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); pillagerScale = Mth.clamp(getDouble("mobs.pillager.attributes.scale", pillagerScale), 0.0625D, 16.0D); pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing); @@ -1853,7 +1853,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean polarBearRidable = false; -@@ -1571,6 +1653,7 @@ public class PurpurWorldConfig { +@@ -1537,6 +1619,7 @@ public class PurpurWorldConfig { public String polarBearBreedableItemString = ""; public Item polarBearBreedableItem = null; public int polarBearBreedingTicks = 6000; @@ -1861,7 +1861,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -1586,12 +1669,14 @@ public class PurpurWorldConfig { +@@ -1552,12 +1635,14 @@ public class PurpurWorldConfig { Item item = BuiltInRegistries.ITEM.get(ResourceLocation.parse(polarBearBreedableItemString)); if (item != Items.AIR) polarBearBreedableItem = item; polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks); @@ -1876,7 +1876,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void pufferfishSettings() { pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable); pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable); -@@ -1602,6 +1687,7 @@ public class PurpurWorldConfig { +@@ -1568,6 +1653,7 @@ public class PurpurWorldConfig { } pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth); pufferfishScale = Mth.clamp(getDouble("mobs.pufferfish.attributes.scale", pufferfishScale), 0.0625D, 16.0D); @@ -1884,7 +1884,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean rabbitRidable = false; -@@ -1613,6 +1699,7 @@ public class PurpurWorldConfig { +@@ -1579,6 +1665,7 @@ public class PurpurWorldConfig { public double rabbitNaturalKiller = 0.0D; public int rabbitBreedingTicks = 6000; public boolean rabbitBypassMobGriefing = false; @@ -1892,7 +1892,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1628,6 +1715,7 @@ public class PurpurWorldConfig { +@@ -1594,6 +1681,7 @@ public class PurpurWorldConfig { rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); rabbitBypassMobGriefing = getBoolean("mobs.rabbit.bypass-mob-griefing", rabbitBypassMobGriefing); @@ -1900,7 +1900,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean ravagerRidable = false; -@@ -1636,6 +1724,7 @@ public class PurpurWorldConfig { +@@ -1602,6 +1690,7 @@ public class PurpurWorldConfig { public double ravagerMaxHealth = 100.0D; public double ravagerScale = 1.0D; public boolean ravagerBypassMobGriefing = false; @@ -1908,7 +1908,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1648,12 +1737,14 @@ public class PurpurWorldConfig { +@@ -1614,12 +1703,14 @@ public class PurpurWorldConfig { ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); ravagerScale = Mth.clamp(getDouble("mobs.ravager.attributes.scale", ravagerScale), 0.0625D, 16.0D); ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); @@ -1923,7 +1923,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void salmonSettings() { salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable); salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable); -@@ -1664,6 +1755,7 @@ public class PurpurWorldConfig { +@@ -1630,6 +1721,7 @@ public class PurpurWorldConfig { } salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth); salmonScale = Mth.clamp(getDouble("mobs.salmon.attributes.scale", salmonScale), 0.0625D, 16.0D); @@ -1931,7 +1931,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean sheepRidable = false; -@@ -1673,6 +1765,7 @@ public class PurpurWorldConfig { +@@ -1639,6 +1731,7 @@ public class PurpurWorldConfig { public double sheepScale = 1.0D; public int sheepBreedingTicks = 6000; public boolean sheepBypassMobGriefing = false; @@ -1939,7 +1939,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1686,6 +1779,7 @@ public class PurpurWorldConfig { +@@ -1652,6 +1745,7 @@ public class PurpurWorldConfig { sheepScale = Mth.clamp(getDouble("mobs.sheep.attributes.scale", sheepScale), 0.0625D, 16.0D); sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing); @@ -1947,7 +1947,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean shulkerRidable = false; -@@ -1693,6 +1787,7 @@ public class PurpurWorldConfig { +@@ -1659,6 +1753,7 @@ public class PurpurWorldConfig { public boolean shulkerControllable = true; public double shulkerMaxHealth = 30.0D; public double shulkerScale = 1.0D; @@ -1955,7 +1955,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -1704,6 +1799,7 @@ public class PurpurWorldConfig { +@@ -1670,6 +1765,7 @@ public class PurpurWorldConfig { } shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth); shulkerScale = Mth.clamp(getDouble("mobs.shulker.attributes.scale", shulkerScale), 0.0625D, Shulker.MAX_SCALE); @@ -1963,7 +1963,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean silverfishRidable = false; -@@ -1714,6 +1810,7 @@ public class PurpurWorldConfig { +@@ -1680,6 +1776,7 @@ public class PurpurWorldConfig { public double silverfishMovementSpeed = 0.25D; public double silverfishAttackDamage = 1.0D; public boolean silverfishBypassMobGriefing = false; @@ -1971,7 +1971,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -1728,6 +1825,7 @@ public class PurpurWorldConfig { +@@ -1694,6 +1791,7 @@ public class PurpurWorldConfig { silverfishMovementSpeed = getDouble("mobs.silverfish.attributes.movement_speed", silverfishMovementSpeed); silverfishAttackDamage = getDouble("mobs.silverfish.attributes.attack_damage", silverfishAttackDamage); silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing); @@ -1979,7 +1979,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean skeletonRidable = false; -@@ -1735,6 +1833,7 @@ public class PurpurWorldConfig { +@@ -1701,6 +1799,7 @@ public class PurpurWorldConfig { public boolean skeletonControllable = true; public double skeletonMaxHealth = 20.0D; public double skeletonScale = 1.0D; @@ -1987,7 +1987,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -1746,6 +1845,7 @@ public class PurpurWorldConfig { +@@ -1712,6 +1811,7 @@ public class PurpurWorldConfig { } skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth); skeletonScale = Mth.clamp(getDouble("mobs.skeleton.attributes.scale", skeletonScale), 0.0625D, 16.0D); @@ -1995,7 +1995,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean skeletonHorseRidable = false; -@@ -1757,6 +1857,7 @@ public class PurpurWorldConfig { +@@ -1723,6 +1823,7 @@ public class PurpurWorldConfig { public double skeletonHorseJumpStrengthMax = 1.0D; public double skeletonHorseMovementSpeedMin = 0.2D; public double skeletonHorseMovementSpeedMax = 0.2D; @@ -2003,7 +2003,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void skeletonHorseSettings() { skeletonHorseRidable = getBoolean("mobs.skeleton_horse.ridable", skeletonHorseRidable); skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater); -@@ -1773,6 +1874,7 @@ public class PurpurWorldConfig { +@@ -1739,6 +1840,7 @@ public class PurpurWorldConfig { skeletonHorseJumpStrengthMax = getDouble("mobs.skeleton_horse.attributes.jump_strength.max", skeletonHorseJumpStrengthMax); skeletonHorseMovementSpeedMin = getDouble("mobs.skeleton_horse.attributes.movement_speed.min", skeletonHorseMovementSpeedMin); skeletonHorseMovementSpeedMax = getDouble("mobs.skeleton_horse.attributes.movement_speed.max", skeletonHorseMovementSpeedMax); @@ -2011,7 +2011,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean slimeRidable = false; -@@ -1782,6 +1884,7 @@ public class PurpurWorldConfig { +@@ -1748,6 +1850,7 @@ public class PurpurWorldConfig { public String slimeAttackDamage = "size"; public Map slimeMaxHealthCache = new HashMap<>(); public Map slimeAttackDamageCache = new HashMap<>(); @@ -2019,7 +2019,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void slimeSettings() { slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable); slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater); -@@ -1795,6 +1898,7 @@ public class PurpurWorldConfig { +@@ -1761,6 +1864,7 @@ public class PurpurWorldConfig { slimeAttackDamage = getString("mobs.slime.attributes.attack_damage", slimeAttackDamage); slimeMaxHealthCache.clear(); slimeAttackDamageCache.clear(); @@ -2027,7 +2027,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean snowGolemRidable = false; -@@ -1809,6 +1913,7 @@ public class PurpurWorldConfig { +@@ -1775,6 +1879,7 @@ public class PurpurWorldConfig { public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; @@ -2035,7 +2035,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1827,6 +1932,7 @@ public class PurpurWorldConfig { +@@ -1793,6 +1898,7 @@ public class PurpurWorldConfig { snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier); snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance); snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing); @@ -2043,7 +2043,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean snifferRidable = false; -@@ -1851,6 +1957,7 @@ public class PurpurWorldConfig { +@@ -1817,6 +1923,7 @@ public class PurpurWorldConfig { public boolean squidImmuneToEAR = true; public double squidOffsetWaterCheck = 0.0D; public boolean squidsCanFly = false; @@ -2051,7 +2051,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -1864,6 +1971,7 @@ public class PurpurWorldConfig { +@@ -1830,6 +1937,7 @@ public class PurpurWorldConfig { squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly); @@ -2059,7 +2059,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean spiderRidable = false; -@@ -1871,6 +1979,7 @@ public class PurpurWorldConfig { +@@ -1837,6 +1945,7 @@ public class PurpurWorldConfig { public boolean spiderControllable = true; public double spiderMaxHealth = 16.0D; public double spiderScale = 1.0D; @@ -2067,7 +2067,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -1882,6 +1991,7 @@ public class PurpurWorldConfig { +@@ -1848,6 +1957,7 @@ public class PurpurWorldConfig { } spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth); spiderScale = Mth.clamp(getDouble("mobs.spider.attributes.scale", spiderScale), 0.0625D, 16.0D); @@ -2075,7 +2075,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean strayRidable = false; -@@ -1889,6 +1999,7 @@ public class PurpurWorldConfig { +@@ -1855,6 +1965,7 @@ public class PurpurWorldConfig { public boolean strayControllable = true; public double strayMaxHealth = 20.0D; public double strayScale = 1.0D; @@ -2083,7 +2083,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void straySettings() { strayRidable = getBoolean("mobs.stray.ridable", strayRidable); strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater); -@@ -1900,6 +2011,7 @@ public class PurpurWorldConfig { +@@ -1866,6 +1977,7 @@ public class PurpurWorldConfig { } strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth); strayScale = Mth.clamp(getDouble("mobs.stray.attributes.scale", strayScale), 0.0625D, 16.0D); @@ -2091,7 +2091,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean striderRidable = false; -@@ -1909,6 +2021,7 @@ public class PurpurWorldConfig { +@@ -1875,6 +1987,7 @@ public class PurpurWorldConfig { public double striderScale = 1.0D; public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; @@ -2099,7 +2099,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1922,6 +2035,7 @@ public class PurpurWorldConfig { +@@ -1888,6 +2001,7 @@ public class PurpurWorldConfig { striderScale = Mth.clamp(getDouble("mobs.strider.attributes.scale", striderScale), 0.0625D, 16.0D); striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack); @@ -2107,7 +2107,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean tadpoleRidable = false; -@@ -1943,6 +2057,7 @@ public class PurpurWorldConfig { +@@ -1909,6 +2023,7 @@ public class PurpurWorldConfig { public double traderLlamaMovementSpeedMin = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D; public int traderLlamaBreedingTicks = 6000; @@ -2115,7 +2115,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -1961,12 +2076,14 @@ public class PurpurWorldConfig { +@@ -1927,12 +2042,14 @@ public class PurpurWorldConfig { traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin); traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks); @@ -2130,7 +2130,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void tropicalFishSettings() { tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable); -@@ -1977,6 +2094,7 @@ public class PurpurWorldConfig { +@@ -1943,6 +2060,7 @@ public class PurpurWorldConfig { } tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth); tropicalFishScale = Mth.clamp(getDouble("mobs.tropical_fish.attributes.scale", tropicalFishScale), 0.0625D, 16.0D); @@ -2138,7 +2138,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean turtleRidable = false; -@@ -1985,6 +2103,7 @@ public class PurpurWorldConfig { +@@ -1951,6 +2069,7 @@ public class PurpurWorldConfig { public double turtleMaxHealth = 30.0D; public double turtleScale = 1.0D; public int turtleBreedingTicks = 6000; @@ -2146,7 +2146,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -1997,6 +2116,7 @@ public class PurpurWorldConfig { +@@ -1963,6 +2082,7 @@ public class PurpurWorldConfig { turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); turtleScale = Mth.clamp(getDouble("mobs.turtle.attributes.scale", turtleScale), 0.0625D, 16.0D); turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks); @@ -2154,7 +2154,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean vexRidable = false; -@@ -2005,6 +2125,7 @@ public class PurpurWorldConfig { +@@ -1971,6 +2091,7 @@ public class PurpurWorldConfig { public double vexMaxY = 320D; public double vexMaxHealth = 14.0D; public double vexScale = 1.0D; @@ -2162,7 +2162,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void vexSettings() { vexRidable = getBoolean("mobs.vex.ridable", vexRidable); vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater); -@@ -2017,6 +2138,7 @@ public class PurpurWorldConfig { +@@ -1983,6 +2104,7 @@ public class PurpurWorldConfig { } vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth); vexScale = Mth.clamp(getDouble("mobs.vex.attributes.scale", vexScale), 0.0625D, 16.0D); @@ -2170,7 +2170,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean villagerRidable = false; -@@ -2031,6 +2153,7 @@ public class PurpurWorldConfig { +@@ -1997,6 +2119,7 @@ public class PurpurWorldConfig { public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; public boolean villagerBypassMobGriefing = false; @@ -2178,7 +2178,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2049,6 +2172,7 @@ public class PurpurWorldConfig { +@@ -2015,6 +2138,7 @@ public class PurpurWorldConfig { villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); @@ -2186,7 +2186,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean vindicatorRidable = false; -@@ -2057,6 +2181,7 @@ public class PurpurWorldConfig { +@@ -2023,6 +2147,7 @@ public class PurpurWorldConfig { public double vindicatorMaxHealth = 24.0D; public double vindicatorScale = 1.0D; public double vindicatorJohnnySpawnChance = 0D; @@ -2194,7 +2194,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -2069,6 +2194,7 @@ public class PurpurWorldConfig { +@@ -2035,6 +2160,7 @@ public class PurpurWorldConfig { vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); vindicatorScale = Mth.clamp(getDouble("mobs.vindicator.attributes.scale", vindicatorScale), 0.0625D, 16.0D); vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance); @@ -2202,7 +2202,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean wanderingTraderRidable = false; -@@ -2078,6 +2204,7 @@ public class PurpurWorldConfig { +@@ -2044,6 +2170,7 @@ public class PurpurWorldConfig { public double wanderingTraderScale = 1.0D; public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderCanBeLeashed = false; @@ -2210,7 +2210,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -2091,6 +2218,7 @@ public class PurpurWorldConfig { +@@ -2057,6 +2184,7 @@ public class PurpurWorldConfig { wanderingTraderScale = Mth.clamp(getDouble("mobs.wandering_trader.attributes.scale", wanderingTraderScale), 0.0625D, 16.0D); wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); @@ -2218,7 +2218,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean wardenRidable = false; -@@ -2107,6 +2235,7 @@ public class PurpurWorldConfig { +@@ -2073,6 +2201,7 @@ public class PurpurWorldConfig { public boolean witchControllable = true; public double witchMaxHealth = 26.0D; public double witchScale = 1.0D; @@ -2226,7 +2226,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void witchSettings() { witchRidable = getBoolean("mobs.witch.ridable", witchRidable); witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater); -@@ -2118,6 +2247,7 @@ public class PurpurWorldConfig { +@@ -2084,6 +2213,7 @@ public class PurpurWorldConfig { } witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth); witchScale = Mth.clamp(getDouble("mobs.witch.attributes.scale", witchScale), 0.0625D, 16.0D); @@ -2234,7 +2234,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean witherRidable = false; -@@ -2129,6 +2259,7 @@ public class PurpurWorldConfig { +@@ -2095,6 +2225,7 @@ public class PurpurWorldConfig { public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; @@ -2242,7 +2242,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2148,6 +2279,7 @@ public class PurpurWorldConfig { +@@ -2114,6 +2245,7 @@ public class PurpurWorldConfig { witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); @@ -2250,7 +2250,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean witherSkeletonRidable = false; -@@ -2155,6 +2287,7 @@ public class PurpurWorldConfig { +@@ -2121,6 +2253,7 @@ public class PurpurWorldConfig { public boolean witherSkeletonControllable = true; public double witherSkeletonMaxHealth = 20.0D; public double witherSkeletonScale = 1.0D; @@ -2258,7 +2258,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void witherSkeletonSettings() { witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); -@@ -2166,6 +2299,7 @@ public class PurpurWorldConfig { +@@ -2132,6 +2265,7 @@ public class PurpurWorldConfig { } witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth); witherSkeletonScale = Mth.clamp(getDouble("mobs.wither_skeleton.attributes.scale", witherSkeletonScale), 0.0625D, 16.0D); @@ -2266,7 +2266,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean wolfRidable = false; -@@ -2177,6 +2311,7 @@ public class PurpurWorldConfig { +@@ -2143,6 +2277,7 @@ public class PurpurWorldConfig { public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; @@ -2274,7 +2274,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -2196,6 +2331,7 @@ public class PurpurWorldConfig { +@@ -2162,6 +2297,7 @@ public class PurpurWorldConfig { wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies); wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid); wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks); @@ -2282,7 +2282,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean zoglinRidable = false; -@@ -2203,6 +2339,7 @@ public class PurpurWorldConfig { +@@ -2169,6 +2305,7 @@ public class PurpurWorldConfig { public boolean zoglinControllable = true; public double zoglinMaxHealth = 40.0D; public double zoglinScale = 1.0D; @@ -2290,7 +2290,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void zoglinSettings() { zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable); zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater); -@@ -2214,6 +2351,7 @@ public class PurpurWorldConfig { +@@ -2180,6 +2317,7 @@ public class PurpurWorldConfig { } zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth); zoglinScale = Mth.clamp(getDouble("mobs.zoglin.attributes.scale", zoglinScale), 0.0625D, 16.0D); @@ -2298,7 +2298,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean zombieRidable = false; -@@ -2227,6 +2365,7 @@ public class PurpurWorldConfig { +@@ -2193,6 +2331,7 @@ public class PurpurWorldConfig { public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieBypassMobGriefing = false; @@ -2306,7 +2306,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2244,6 +2383,7 @@ public class PurpurWorldConfig { +@@ -2210,6 +2349,7 @@ public class PurpurWorldConfig { zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing); @@ -2314,7 +2314,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean zombieHorseRidable = false; -@@ -2256,6 +2396,7 @@ public class PurpurWorldConfig { +@@ -2222,6 +2362,7 @@ public class PurpurWorldConfig { public double zombieHorseMovementSpeedMin = 0.2D; public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseSpawnChance = 0.0D; @@ -2322,7 +2322,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void zombieHorseSettings() { zombieHorseRidable = getBoolean("mobs.zombie_horse.ridable", zombieHorseRidable); zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); -@@ -2273,6 +2414,7 @@ public class PurpurWorldConfig { +@@ -2239,6 +2380,7 @@ public class PurpurWorldConfig { zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin); zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax); zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance); @@ -2330,7 +2330,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean zombieVillagerRidable = false; -@@ -2284,6 +2426,7 @@ public class PurpurWorldConfig { +@@ -2250,6 +2392,7 @@ public class PurpurWorldConfig { public boolean zombieVillagerJockeyOnlyBaby = true; public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; @@ -2338,7 +2338,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2299,6 +2442,7 @@ public class PurpurWorldConfig { +@@ -2265,6 +2408,7 @@ public class PurpurWorldConfig { zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby); zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance); zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); @@ -2346,7 +2346,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f } public boolean zombifiedPiglinRidable = false; -@@ -2311,6 +2455,7 @@ public class PurpurWorldConfig { +@@ -2277,6 +2421,7 @@ public class PurpurWorldConfig { public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; @@ -2354,7 +2354,7 @@ index aeb6171c1fad09e3837c51fb4d2395f958c78103..886203f69ec02774ef82f53d8649fa1f private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -2327,5 +2472,6 @@ public class PurpurWorldConfig { +@@ -2293,5 +2438,6 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance); zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); diff --git a/patches/server/0126-Config-to-always-tame-in-Creative.patch b/patches/server/0125-Config-to-always-tame-in-Creative.patch similarity index 98% rename from patches/server/0126-Config-to-always-tame-in-Creative.patch rename to patches/server/0125-Config-to-always-tame-in-Creative.patch index 7309873b6..eda45c2de 100644 --- a/patches/server/0126-Config-to-always-tame-in-Creative.patch +++ b/patches/server/0125-Config-to-always-tame-in-Creative.patch @@ -59,7 +59,7 @@ index b6602362b7b450749ae1768572658b756c4e7840..2949adfbe7c71d552a4afb6aca1c166a this.navigation.stop(); this.setTarget((LivingEntity) null); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 886203f69ec02774ef82f53d8649fa1f991a8a0f..6af8eb71bf32431ba33b206adaece0bcb4dceb80 100644 +index 791b12dd28c0a56cc9ce6a4e4414b85ea641efd0..0f2d27f3ceea7fc87bf63b10d94f4ccf339e59b9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -118,6 +118,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0127-End-crystal-explosion-options.patch b/patches/server/0126-End-crystal-explosion-options.patch similarity index 97% rename from patches/server/0127-End-crystal-explosion-options.patch rename to patches/server/0126-End-crystal-explosion-options.patch index 9d9aa1d90..0c19f3961 100644 --- a/patches/server/0127-End-crystal-explosion-options.patch +++ b/patches/server/0126-End-crystal-explosion-options.patch @@ -53,10 +53,10 @@ index 72122333cf0247e4a8511ac633487f170b89586c..02f1d0418395b100cabfad7294466aaa this.remove(Entity.RemovalReason.KILLED, EntityRemoveEvent.Cause.DEATH); // CraftBukkit - add Bukkit remove cause } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6af8eb71bf32431ba33b206adaece0bcb4dceb80..5690cf9b5219076c907b70b2788a7ff9cc68682b 100644 +index 0f2d27f3ceea7fc87bf63b10d94f4ccf339e59b9..4c35cab67704690ce54f412ea145537171ba0ebf 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -458,6 +458,43 @@ public class PurpurWorldConfig { +@@ -424,6 +424,43 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } diff --git a/patches/server/0128-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch b/patches/server/0127-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch similarity index 92% rename from patches/server/0128-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch rename to patches/server/0127-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch index bb22f59f3..35fbc1456 100644 --- a/patches/server/0128-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch +++ b/patches/server/0127-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch @@ -29,10 +29,10 @@ index 6fedac6f92193d7031b6265f897d9688fd2c8780..8809b88dec7beffa569de6832f5b4581 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5690cf9b5219076c907b70b2788a7ff9cc68682b..abd4e0b1b81c6071cba1d057732f594d53c184f3 100644 +index 4c35cab67704690ce54f412ea145537171ba0ebf..caeaf92e383cb5aa7e2e2c053adc7aee391f38a7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -999,6 +999,7 @@ public class PurpurWorldConfig { +@@ -965,6 +965,7 @@ public class PurpurWorldConfig { public boolean enderDragonAlwaysDropsFullExp = false; public boolean enderDragonBypassMobGriefing = false; public boolean enderDragonTakeDamageFromWater = false; @@ -40,7 +40,7 @@ index 5690cf9b5219076c907b70b2788a7ff9cc68682b..abd4e0b1b81c6071cba1d057732f594d private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -1017,6 +1018,7 @@ public class PurpurWorldConfig { +@@ -983,6 +984,7 @@ public class PurpurWorldConfig { enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing); enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater); @@ -48,7 +48,7 @@ index 5690cf9b5219076c907b70b2788a7ff9cc68682b..abd4e0b1b81c6071cba1d057732f594d } public boolean endermanRidable = false; -@@ -2299,6 +2301,7 @@ public class PurpurWorldConfig { +@@ -2265,6 +2267,7 @@ public class PurpurWorldConfig { public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; public boolean witherTakeDamageFromWater = false; @@ -56,7 +56,7 @@ index 5690cf9b5219076c907b70b2788a7ff9cc68682b..abd4e0b1b81c6071cba1d057732f594d private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2319,6 +2322,7 @@ public class PurpurWorldConfig { +@@ -2285,6 +2288,7 @@ public class PurpurWorldConfig { witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); diff --git a/patches/server/0129-Dont-run-with-scissors.patch b/patches/server/0128-Dont-run-with-scissors.patch similarity index 98% rename from patches/server/0129-Dont-run-with-scissors.patch rename to patches/server/0128-Dont-run-with-scissors.patch index 5331cd93b..58c6f66cb 100644 --- a/patches/server/0129-Dont-run-with-scissors.patch +++ b/patches/server/0128-Dont-run-with-scissors.patch @@ -124,7 +124,7 @@ index e34584e4780f343d6c946af5377088d53818e88e..da790aac3bd8981f351b7e241015ff42 return this.inFire; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index fb9f03ec90e5e5ed17886dc4e6443bd7b7d1fe32..50e8d2d54ce383f8c569ff2688c65b2a2db9f896 100644 +index 2685a3e5e4d0a1559f2d28152bab73b8982362fd..6fcb2db92a38e862da288518ce34d16aa4b856e0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -185,6 +185,7 @@ public class PurpurConfig { @@ -149,7 +149,7 @@ index fb9f03ec90e5e5ed17886dc4e6443bd7b7d1fe32..50e8d2d54ce383f8c569ff2688c65b2a public static String serverModName = io.papermc.paper.ServerBuildInfo.buildInfo().brandName(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index abd4e0b1b81c6071cba1d057732f594d53c184f3..8679ba225faac9f332907256c2dee8fb25b13f60 100644 +index caeaf92e383cb5aa7e2e2c053adc7aee391f38a7..1cf04d5acd6a252762f643f5933f22846930c1a0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -190,6 +190,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0130-One-Punch-Man.patch b/patches/server/0129-One-Punch-Man.patch similarity index 97% rename from patches/server/0130-One-Punch-Man.patch rename to patches/server/0129-One-Punch-Man.patch index 7554f5863..ce9bc535f 100644 --- a/patches/server/0130-One-Punch-Man.patch +++ b/patches/server/0129-One-Punch-Man.patch @@ -35,7 +35,7 @@ index 4f172f9a0ec61a10b0b1411b9d0eb82d49bd0c57..7a99319d6ac85fd794fef361dd6f8092 float f1 = amount; final float originalAmount = f1; // Paper - revert to vanilla #hurt - OBFHELPER boolean flag = amount > 0.0F && this.isDamageSourceBlocked(source); // Copied from below diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8679ba225faac9f332907256c2dee8fb25b13f60..cbd0064a469c1d4add4bde06358f8e16ba33dfcf 100644 +index 1cf04d5acd6a252762f643f5933f22846930c1a0..a963ceb3b9ed41d36239c468ebc901e3d94e4768 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -337,6 +337,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0131-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch b/patches/server/0130-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch similarity index 98% rename from patches/server/0131-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch rename to patches/server/0130-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch index c698afa1a..e34509471 100644 --- a/patches/server/0131-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch +++ b/patches/server/0130-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch @@ -43,7 +43,7 @@ index 20a91d798d31a71b3c05efa2cc5bda55494e26cc..fc62754f93bd11a10c28b8b7b116e9ff // Paper end - PlayerLaunchProjectileEvent if (user instanceof net.minecraft.server.level.ServerPlayer) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index cbd0064a469c1d4add4bde06358f8e16ba33dfcf..85c866dc2e82126c854e609e810a92e2dccbbb16 100644 +index a963ceb3b9ed41d36239c468ebc901e3d94e4768..70d5b6e46dce5f1e22f7bc365fd01e6da8a7c591 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -194,6 +194,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0132-Config-to-ignore-nearby-mobs-when-sleeping.patch b/patches/server/0131-Config-to-ignore-nearby-mobs-when-sleeping.patch similarity index 96% rename from patches/server/0132-Config-to-ignore-nearby-mobs-when-sleeping.patch rename to patches/server/0131-Config-to-ignore-nearby-mobs-when-sleeping.patch index ec67c1237..902bf3410 100644 --- a/patches/server/0132-Config-to-ignore-nearby-mobs-when-sleeping.patch +++ b/patches/server/0131-Config-to-ignore-nearby-mobs-when-sleeping.patch @@ -18,7 +18,7 @@ index d677c1308412e5a12046225ce2449af136b7665f..513ab3d7d3ff4fe0a5c9c609ca752357 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 85c866dc2e82126c854e609e810a92e2dccbbb16..7b86ec71e8cf59561b494864b4c5eea34a1954ad 100644 +index 70d5b6e46dce5f1e22f7bc365fd01e6da8a7c591..4293d2a343fa9ac2dec503371c2fb62311f8e77f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -346,6 +346,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0133-Add-back-player-spawned-endermite-API.patch b/patches/server/0132-Add-back-player-spawned-endermite-API.patch similarity index 100% rename from patches/server/0133-Add-back-player-spawned-endermite-API.patch rename to patches/server/0132-Add-back-player-spawned-endermite-API.patch diff --git a/patches/server/0134-Config-Enderman-aggressiveness-towards-Endermites.patch b/patches/server/0133-Config-Enderman-aggressiveness-towards-Endermites.patch similarity index 94% rename from patches/server/0134-Config-Enderman-aggressiveness-towards-Endermites.patch rename to patches/server/0133-Config-Enderman-aggressiveness-towards-Endermites.patch index 73bc464e0..99a34d992 100644 --- a/patches/server/0134-Config-Enderman-aggressiveness-towards-Endermites.patch +++ b/patches/server/0133-Config-Enderman-aggressiveness-towards-Endermites.patch @@ -18,10 +18,10 @@ index d4360a62cc2514dafc02749e49674213db65cc85..22583cdb173862b021c9701d26171ca3 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7b86ec71e8cf59561b494864b4c5eea34a1954ad..96ff0103788c002ff8a0e58cb85ca382e6c0ad57 100644 +index 4293d2a343fa9ac2dec503371c2fb62311f8e77f..9dd087d34438b7685e50d4574e3cb58c09bdf9c5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1050,6 +1050,8 @@ public class PurpurWorldConfig { +@@ -1016,6 +1016,8 @@ public class PurpurWorldConfig { public boolean endermanDespawnEvenWithBlock = false; public boolean endermanBypassMobGriefing = false; public boolean endermanTakeDamageFromWater = true; @@ -30,7 +30,7 @@ index 7b86ec71e8cf59561b494864b4c5eea34a1954ad..96ff0103788c002ff8a0e58cb85ca382 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1059,12 +1061,18 @@ public class PurpurWorldConfig { +@@ -1025,12 +1027,18 @@ public class PurpurWorldConfig { set("mobs.enderman.attributes.max-health", null); set("mobs.enderman.attributes.max_health", oldValue); } diff --git a/patches/server/0135-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch b/patches/server/0134-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch similarity index 93% rename from patches/server/0135-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch rename to patches/server/0134-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch index 6dd8cf0e7..0aee4c529 100644 --- a/patches/server/0135-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch +++ b/patches/server/0134-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch @@ -20,10 +20,10 @@ index 22583cdb173862b021c9701d26171ca337796557..65c7bf88071dda62034d71b6a83caedd } else { Vec3 vec3d = player.getViewVector(1.0F).normalize(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 96ff0103788c002ff8a0e58cb85ca382e6c0ad57..715ee6cfd559a0c1ce58b81cfa686b3057f05924 100644 +index 9dd087d34438b7685e50d4574e3cb58c09bdf9c5..5902f7c6a74723c07892abbefbf7d2daf5e66271 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1052,6 +1052,8 @@ public class PurpurWorldConfig { +@@ -1018,6 +1018,8 @@ public class PurpurWorldConfig { public boolean endermanTakeDamageFromWater = true; public boolean endermanAggroEndermites = true; public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; @@ -32,7 +32,7 @@ index 96ff0103788c002ff8a0e58cb85ca382e6c0ad57..715ee6cfd559a0c1ce58b81cfa686b30 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1073,6 +1075,8 @@ public class PurpurWorldConfig { +@@ -1039,6 +1041,8 @@ public class PurpurWorldConfig { endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater); endermanAggroEndermites = getBoolean("mobs.enderman.aggressive-towards-endermites", endermanAggroEndermites); endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned); diff --git a/patches/server/0136-Tick-fluids-config.patch b/patches/server/0135-Tick-fluids-config.patch similarity index 97% rename from patches/server/0136-Tick-fluids-config.patch rename to patches/server/0135-Tick-fluids-config.patch index 79425181e..24fffaaa1 100644 --- a/patches/server/0136-Tick-fluids-config.patch +++ b/patches/server/0135-Tick-fluids-config.patch @@ -36,7 +36,7 @@ index 84623c632d8c2f0fa7ec939c711316d757117d23..1851035b9fdcc076442d0699567a3b02 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 715ee6cfd559a0c1ce58b81cfa686b3057f05924..7aa0a24044e552565954dfa964686f69f924caf1 100644 +index 5902f7c6a74723c07892abbefbf7d2daf5e66271..4e7ea1f1b4413c929ed4066e9dd213a9fc9b4b35 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -132,6 +132,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0137-Config-to-disable-Llama-caravans.patch b/patches/server/0136-Config-to-disable-Llama-caravans.patch similarity index 94% rename from patches/server/0137-Config-to-disable-Llama-caravans.patch rename to patches/server/0136-Config-to-disable-Llama-caravans.patch index a1265e399..b4cdad2ee 100644 --- a/patches/server/0137-Config-to-disable-Llama-caravans.patch +++ b/patches/server/0136-Config-to-disable-Llama-caravans.patch @@ -32,10 +32,10 @@ index 96f1eba4a356e131a8f3c689bedc9eb8821e1a72..8edfc34a17d8c05cfa2928738306c1ab this.caravanHead.caravanTail = this; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7aa0a24044e552565954dfa964686f69f924caf1..98b7e8b378a4f881b0389e24ba92d72e35b273f0 100644 +index 4e7ea1f1b4413c929ed4066e9dd213a9fc9b4b35..1a690b72b8d149a3c9338abc83069fcab4ff0ccc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1409,6 +1409,7 @@ public class PurpurWorldConfig { +@@ -1375,6 +1375,7 @@ public class PurpurWorldConfig { public double llamaMovementSpeedMax = 0.175D; public int llamaBreedingTicks = 6000; public boolean llamaTakeDamageFromWater = false; @@ -43,7 +43,7 @@ index 7aa0a24044e552565954dfa964686f69f924caf1..98b7e8b378a4f881b0389e24ba92d72e private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1428,6 +1429,7 @@ public class PurpurWorldConfig { +@@ -1394,6 +1395,7 @@ public class PurpurWorldConfig { llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks); llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater); diff --git a/patches/server/0138-Config-to-make-Creepers-explode-on-death.patch b/patches/server/0137-Config-to-make-Creepers-explode-on-death.patch similarity index 94% rename from patches/server/0138-Config-to-make-Creepers-explode-on-death.patch rename to patches/server/0137-Config-to-make-Creepers-explode-on-death.patch index d99468a1a..ba1ab21eb 100644 --- a/patches/server/0138-Config-to-make-Creepers-explode-on-death.patch +++ b/patches/server/0137-Config-to-make-Creepers-explode-on-death.patch @@ -52,10 +52,10 @@ index 1ce1cf48624d8273dccc571ee37a08c06951acad..902191001a7302872ff661564fb63894 private void spawnLingeringCloud() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 98b7e8b378a4f881b0389e24ba92d72e35b273f0..83d3bff6e0804f1270798227839af93696de1c55 100644 +index 1a690b72b8d149a3c9338abc83069fcab4ff0ccc..d861652c9495ad58b24124c495b3041e071ad549 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -896,6 +896,7 @@ public class PurpurWorldConfig { +@@ -862,6 +862,7 @@ public class PurpurWorldConfig { public boolean creeperAllowGriefing = true; public boolean creeperBypassMobGriefing = false; public boolean creeperTakeDamageFromWater = false; @@ -63,7 +63,7 @@ index 98b7e8b378a4f881b0389e24ba92d72e35b273f0..83d3bff6e0804f1270798227839af936 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -911,6 +912,7 @@ public class PurpurWorldConfig { +@@ -877,6 +878,7 @@ public class PurpurWorldConfig { creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater); diff --git a/patches/server/0139-Configurable-ravager-griefable-blocks-list.patch b/patches/server/0138-Configurable-ravager-griefable-blocks-list.patch similarity index 95% rename from patches/server/0139-Configurable-ravager-griefable-blocks-list.patch rename to patches/server/0138-Configurable-ravager-griefable-blocks-list.patch index c71420acf..a569eddd5 100644 --- a/patches/server/0139-Configurable-ravager-griefable-blocks-list.patch +++ b/patches/server/0138-Configurable-ravager-griefable-blocks-list.patch @@ -31,10 +31,10 @@ index 2af4c365743b2956939335512f74e0a1d84298f7..a69e7e8da81bd13578d230cc1e3f0f90 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 83d3bff6e0804f1270798227839af93696de1c55..919c30991d510f95007c18b569cb6cb2c657027b 100644 +index d861652c9495ad58b24124c495b3041e071ad549..7f2a5c5720bd7f5e176a58d2369a4ffbd81ca138 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1804,6 +1804,7 @@ public class PurpurWorldConfig { +@@ -1770,6 +1770,7 @@ public class PurpurWorldConfig { public double ravagerScale = 1.0D; public boolean ravagerBypassMobGriefing = false; public boolean ravagerTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index 83d3bff6e0804f1270798227839af93696de1c55..919c30991d510f95007c18b569cb6cb2 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1817,6 +1818,23 @@ public class PurpurWorldConfig { +@@ -1783,6 +1784,23 @@ public class PurpurWorldConfig { ravagerScale = Mth.clamp(getDouble("mobs.ravager.attributes.scale", ravagerScale), 0.0625D, 16.0D); ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater); diff --git a/patches/server/0140-Sneak-to-bulk-process-composter.patch b/patches/server/0139-Sneak-to-bulk-process-composter.patch similarity index 97% rename from patches/server/0140-Sneak-to-bulk-process-composter.patch rename to patches/server/0139-Sneak-to-bulk-process-composter.patch index 11f1e369c..3fc47d3b0 100644 --- a/patches/server/0140-Sneak-to-bulk-process-composter.patch +++ b/patches/server/0139-Sneak-to-bulk-process-composter.patch @@ -87,10 +87,10 @@ index d3d12f9114173f4971f95d7ef895a4374705bd3f..f34159f8d6c51af2341bf49db0d6d6f0 protected InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult hit) { int i = (Integer) state.getValue(ComposterBlock.LEVEL); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 919c30991d510f95007c18b569cb6cb2c657027b..05ef6e0f31d6a37a9e8cea2f228ae101d7350bb2 100644 +index 7f2a5c5720bd7f5e176a58d2369a4ffbd81ca138..b1d81d3877c207ec711f8e796f2b12e6febb8eba 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -473,6 +473,11 @@ public class PurpurWorldConfig { +@@ -439,6 +439,11 @@ public class PurpurWorldConfig { chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop); } diff --git a/patches/server/0141-Config-for-skipping-night.patch b/patches/server/0140-Config-for-skipping-night.patch similarity index 96% rename from patches/server/0141-Config-for-skipping-night.patch rename to patches/server/0140-Config-for-skipping-night.patch index 62aa8439b..f8964ca3d 100644 --- a/patches/server/0141-Config-for-skipping-night.patch +++ b/patches/server/0140-Config-for-skipping-night.patch @@ -18,7 +18,7 @@ index e077c6cb1880ee19e696d2430b07d1101e330919..40a5107d37e908d13bd0307fc41d9a6e j = this.levelData.getDayTime() + 24000L; TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime()); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 05ef6e0f31d6a37a9e8cea2f228ae101d7350bb2..2b316fddbed11ee439a9ca47d9915c76422426b7 100644 +index b1d81d3877c207ec711f8e796f2b12e6febb8eba..dbacc159567dea21653148a4e9d9dbf78c8139f7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -349,6 +349,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0142-Add-config-for-villager-trading.patch b/patches/server/0141-Add-config-for-villager-trading.patch similarity index 93% rename from patches/server/0142-Add-config-for-villager-trading.patch rename to patches/server/0141-Add-config-for-villager-trading.patch index 298ab84c1..857d8bedc 100644 --- a/patches/server/0142-Add-config-for-villager-trading.patch +++ b/patches/server/0141-Add-config-for-villager-trading.patch @@ -32,10 +32,10 @@ index 05c63eb6cf8a7067105c58d244c7cc27d6bf1125..7c2d5d28f8c2aba2cd8255a4aef22247 return InteractionResult.sidedSuccess(this.level().isClientSide); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2b316fddbed11ee439a9ca47d9915c76422426b7..e321173b116c1228e56b70445402d4c87f40412c 100644 +index dbacc159567dea21653148a4e9d9dbf78c8139f7..4430a61f8c923e92ea889897c17ab4535fa47b4d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2258,6 +2258,7 @@ public class PurpurWorldConfig { +@@ -2224,6 +2224,7 @@ public class PurpurWorldConfig { public boolean villagerClericFarmersThrowWarts = true; public boolean villagerBypassMobGriefing = false; public boolean villagerTakeDamageFromWater = false; @@ -43,7 +43,7 @@ index 2b316fddbed11ee439a9ca47d9915c76422426b7..e321173b116c1228e56b70445402d4c8 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2277,6 +2278,7 @@ public class PurpurWorldConfig { +@@ -2243,6 +2244,7 @@ public class PurpurWorldConfig { villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); @@ -51,7 +51,7 @@ index 2b316fddbed11ee439a9ca47d9915c76422426b7..e321173b116c1228e56b70445402d4c8 } public boolean vindicatorRidable = false; -@@ -2309,6 +2311,7 @@ public class PurpurWorldConfig { +@@ -2275,6 +2277,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderTakeDamageFromWater = false; @@ -59,7 +59,7 @@ index 2b316fddbed11ee439a9ca47d9915c76422426b7..e321173b116c1228e56b70445402d4c8 private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -2323,6 +2326,7 @@ public class PurpurWorldConfig { +@@ -2289,6 +2292,7 @@ public class PurpurWorldConfig { wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater); diff --git a/patches/server/0143-Drowning-Settings.patch b/patches/server/0142-Drowning-Settings.patch similarity index 97% rename from patches/server/0143-Drowning-Settings.patch rename to patches/server/0142-Drowning-Settings.patch index 67fb530ee..5dbf778a5 100644 --- a/patches/server/0143-Drowning-Settings.patch +++ b/patches/server/0142-Drowning-Settings.patch @@ -40,7 +40,7 @@ index 7a99319d6ac85fd794fef361dd6f8092b847c744..d4ba4752b04ad3d1a8133c56144800af } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e321173b116c1228e56b70445402d4c87f40412c..88f7a1fd41c25946110a3b4216da07ff7e81a540 100644 +index 4430a61f8c923e92ea889897c17ab4535fa47b4d..1859d0003a0c1860dd9db434b113dcfec284e025 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -165,6 +165,15 @@ public class PurpurWorldConfig { diff --git a/patches/server/0144-Break-individual-slabs-when-sneaking.patch b/patches/server/0143-Break-individual-slabs-when-sneaking.patch similarity index 95% rename from patches/server/0144-Break-individual-slabs-when-sneaking.patch rename to patches/server/0143-Break-individual-slabs-when-sneaking.patch index 1fb9571b3..bbba47fb3 100644 --- a/patches/server/0144-Break-individual-slabs-when-sneaking.patch +++ b/patches/server/0143-Break-individual-slabs-when-sneaking.patch @@ -47,10 +47,10 @@ index fa29eb15934b3dad171d27c21d99b2451cfe553b..ba4aa69425d796d306791ea193f9c6b2 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 88f7a1fd41c25946110a3b4216da07ff7e81a540..747b53ea090bc4576e56b730716e505b584533c6 100644 +index 1859d0003a0c1860dd9db434b113dcfec284e025..c9bff81954385a2f4113a4fd51d3b85b2f7048c2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -594,6 +594,11 @@ public class PurpurWorldConfig { +@@ -560,6 +560,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0145-Config-to-disable-hostile-mob-spawn-on-ice.patch b/patches/server/0144-Config-to-disable-hostile-mob-spawn-on-ice.patch similarity index 94% rename from patches/server/0145-Config-to-disable-hostile-mob-spawn-on-ice.patch rename to patches/server/0144-Config-to-disable-hostile-mob-spawn-on-ice.patch index d5e93b3c7..c837d146f 100644 --- a/patches/server/0145-Config-to-disable-hostile-mob-spawn-on-ice.patch +++ b/patches/server/0144-Config-to-disable-hostile-mob-spawn-on-ice.patch @@ -24,10 +24,10 @@ index e7bfce0534c7ef3a1480a1082ae8514caf78778b..6511b8c737a57fbc72122dd04e2b5449 return false; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 747b53ea090bc4576e56b730716e505b584533c6..f1709961989bbf75b3cca233d6304015e82e215b 100644 +index c9bff81954385a2f4113a4fd51d3b85b2f7048c2..4e6824fa7adf8dfbafeff2bd6f6426ddb03c5a15 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -559,6 +559,13 @@ public class PurpurWorldConfig { +@@ -525,6 +525,13 @@ public class PurpurWorldConfig { furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath); } diff --git a/patches/server/0146-Config-to-show-Armor-Stand-arms-on-spawn.patch b/patches/server/0145-Config-to-show-Armor-Stand-arms-on-spawn.patch similarity index 96% rename from patches/server/0146-Config-to-show-Armor-Stand-arms-on-spawn.patch rename to patches/server/0145-Config-to-show-Armor-Stand-arms-on-spawn.patch index 119a28a0c..01873c8b7 100644 --- a/patches/server/0146-Config-to-show-Armor-Stand-arms-on-spawn.patch +++ b/patches/server/0145-Config-to-show-Armor-Stand-arms-on-spawn.patch @@ -17,7 +17,7 @@ index 7180d65afee6216a0bc6ff2dc7888f64b9b6c22d..c0383771b08e1d89dfa4996b979248da public ArmorStand(Level world, double x, double y, double z) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b5abcab534811be6dde85b41bbfc9a6dc09c9d3b..38fa2e38d3b83a95c0d8b9cd1cd37df9127dd1f8 100644 +index 4e6824fa7adf8dfbafeff2bd6f6426ddb03c5a15..678130678e1f0b018fc77c608ed092c94e2f52a0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -103,6 +103,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0147-Option-to-make-doors-require-redstone.patch b/patches/server/0146-Option-to-make-doors-require-redstone.patch similarity index 97% rename from patches/server/0147-Option-to-make-doors-require-redstone.patch rename to patches/server/0146-Option-to-make-doors-require-redstone.patch index 887f6ac43..3bcfa96b1 100644 --- a/patches/server/0147-Option-to-make-doors-require-redstone.patch +++ b/patches/server/0146-Option-to-make-doors-require-redstone.patch @@ -82,10 +82,10 @@ index 6dd75bc722f9c20b4869e6353115c3b02dd79f99..dfaf82f5b0180cf08c4125347867d37a + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 81569ed7250e2b4183727ee503f554d07eaaf4aa..c9ab556b3789866e4ec85fe785ad0d73abfb273e 100644 +index 678130678e1f0b018fc77c608ed092c94e2f52a0..58726907eb4dcb4f386873c4092df2b314736f2d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -498,6 +498,16 @@ public class PurpurWorldConfig { +@@ -464,6 +464,16 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } diff --git a/patches/server/0148-Config-to-allow-unsafe-enchants.patch b/patches/server/0147-Config-to-allow-unsafe-enchants.patch similarity index 100% rename from patches/server/0148-Config-to-allow-unsafe-enchants.patch rename to patches/server/0147-Config-to-allow-unsafe-enchants.patch diff --git a/patches/server/0149-Configurable-sponge-absorption.patch b/patches/server/0148-Configurable-sponge-absorption.patch similarity index 93% rename from patches/server/0149-Configurable-sponge-absorption.patch rename to patches/server/0148-Configurable-sponge-absorption.patch index 7bdca04e4..ec6b4fb14 100644 --- a/patches/server/0149-Configurable-sponge-absorption.patch +++ b/patches/server/0148-Configurable-sponge-absorption.patch @@ -21,10 +21,10 @@ index 902825ec9ea05f4418b45f56a008d73f217bd178..a676ccfa6b02e8986df6f6a2e04cbb06 int i = aenumdirection.length; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c9ab556b3789866e4ec85fe785ad0d73abfb273e..35a9b154f5e66cc6ec3298130a5e619056bae59d 100644 +index 58726907eb4dcb4f386873c4092df2b314736f2d..a4c0ed4e5b6145cb8e33f6bd38af678cae4d79d7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -623,6 +623,13 @@ public class PurpurWorldConfig { +@@ -589,6 +589,13 @@ public class PurpurWorldConfig { spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone); } diff --git a/patches/server/0150-Projectile-offset-config.patch b/patches/server/0149-Projectile-offset-config.patch similarity index 98% rename from patches/server/0150-Projectile-offset-config.patch rename to patches/server/0149-Projectile-offset-config.patch index 3ec43ddc4..1445779b7 100644 --- a/patches/server/0150-Projectile-offset-config.patch +++ b/patches/server/0149-Projectile-offset-config.patch @@ -96,11 +96,11 @@ index 4934bae61114b49a9f8d0ed044fbb881210df32a..1be074074283f12543ac771ac9201580 entitythrowntrident.pickup = AbstractArrow.Pickup.CREATIVE_ONLY; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 35a9b154f5e66cc6ec3298130a5e619056bae59d..937cc90c18d42c51f709c138f0429ad4823e2141 100644 +index a4c0ed4e5b6145cb8e33f6bd38af678cae4d79d7..c4233c138edf6c685cbcb487c79c02e84adaf65e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -448,6 +448,23 @@ public class PurpurWorldConfig { - //} +@@ -414,6 +414,23 @@ public class PurpurWorldConfig { + }); } + public double bowProjectileOffset = 1.0D; diff --git a/patches/server/0151-Config-for-powered-rail-activation-distance.patch b/patches/server/0150-Config-for-powered-rail-activation-distance.patch similarity index 91% rename from patches/server/0151-Config-for-powered-rail-activation-distance.patch rename to patches/server/0150-Config-for-powered-rail-activation-distance.patch index ce269a20a..743b3226e 100644 --- a/patches/server/0151-Config-for-powered-rail-activation-distance.patch +++ b/patches/server/0150-Config-for-powered-rail-activation-distance.patch @@ -18,10 +18,10 @@ index 9603d8c84ff483030dc08e82d3579b89e5c1f6e9..8fc65c32a3c6e6842a76b36f45e1b1c2 } else { int j = pos.getX(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 937cc90c18d42c51f709c138f0429ad4823e2141..88578ee2664867594084551d6e2e937bd6dbbfcf 100644 +index c4233c138edf6c685cbcb487c79c02e84adaf65e..22de19aeb28795484525ddb22df96b89f915eceb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -609,6 +609,11 @@ public class PurpurWorldConfig { +@@ -575,6 +575,11 @@ public class PurpurWorldConfig { powderSnowBypassMobGriefing = getBoolean("blocks.powder_snow.bypass-mob-griefing", powderSnowBypassMobGriefing); } diff --git a/patches/server/0152-Piglin-portal-spawn-modifier.patch b/patches/server/0151-Piglin-portal-spawn-modifier.patch similarity index 93% rename from patches/server/0152-Piglin-portal-spawn-modifier.patch rename to patches/server/0151-Piglin-portal-spawn-modifier.patch index c53641f4a..d6c7a1033 100644 --- a/patches/server/0152-Piglin-portal-spawn-modifier.patch +++ b/patches/server/0151-Piglin-portal-spawn-modifier.patch @@ -31,10 +31,10 @@ index e8cccf3d89ecef13c0523c2357ef4b07e30a25b4..971dd866fe5d6fcef573cb52582ccb7f pos = pos.below(); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 88578ee2664867594084551d6e2e937bd6dbbfcf..b7a69af173d0dafabcde6f5267c6312fedbe0d4b 100644 +index 22de19aeb28795484525ddb22df96b89f915eceb..e3522c713a2ed08ee7ef35c048dd7913cb1b2567 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1736,6 +1736,7 @@ public class PurpurWorldConfig { +@@ -1702,6 +1702,7 @@ public class PurpurWorldConfig { public double piglinScale = 1.0D; public boolean piglinBypassMobGriefing = false; public boolean piglinTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index 88578ee2664867594084551d6e2e937bd6dbbfcf..b7a69af173d0dafabcde6f5267c6312f private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1749,6 +1750,7 @@ public class PurpurWorldConfig { +@@ -1715,6 +1716,7 @@ public class PurpurWorldConfig { piglinScale = Mth.clamp(getDouble("mobs.piglin.attributes.scale", piglinScale), 0.0625D, 16.0D); piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater); diff --git a/patches/server/0153-Config-to-change-max-number-of-bees.patch b/patches/server/0152-Config-to-change-max-number-of-bees.patch similarity index 100% rename from patches/server/0153-Config-to-change-max-number-of-bees.patch rename to patches/server/0152-Config-to-change-max-number-of-bees.patch diff --git a/patches/server/0154-Config-for-wither-explosion-radius.patch b/patches/server/0153-Config-for-wither-explosion-radius.patch similarity index 92% rename from patches/server/0154-Config-for-wither-explosion-radius.patch rename to patches/server/0153-Config-for-wither-explosion-radius.patch index 11bde59ac..9c5c022a1 100644 --- a/patches/server/0154-Config-for-wither-explosion-radius.patch +++ b/patches/server/0153-Config-for-wither-explosion-radius.patch @@ -18,10 +18,10 @@ index e472df057d087fe46bd40b798c050ed6e38a283c..999453409c19abf7f5b5c2dc39969985 if (!event.isCancelled()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b7a69af173d0dafabcde6f5267c6312fedbe0d4b..9506f919b600472cef27532b2b11839abc39a14e 100644 +index e3522c713a2ed08ee7ef35c048dd7913cb1b2567..b3cee9f29fc9ee891d4b18ebfec219e80126a390 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2433,6 +2433,7 @@ public class PurpurWorldConfig { +@@ -2399,6 +2399,7 @@ public class PurpurWorldConfig { public boolean witherBypassMobGriefing = false; public boolean witherTakeDamageFromWater = false; public boolean witherCanRideVehicles = false; @@ -29,7 +29,7 @@ index b7a69af173d0dafabcde6f5267c6312fedbe0d4b..9506f919b600472cef27532b2b11839a private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2454,6 +2455,7 @@ public class PurpurWorldConfig { +@@ -2420,6 +2421,7 @@ public class PurpurWorldConfig { witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); diff --git a/patches/server/0155-Gamemode-extra-permissions.patch b/patches/server/0154-Gamemode-extra-permissions.patch similarity index 98% rename from patches/server/0155-Gamemode-extra-permissions.patch rename to patches/server/0154-Gamemode-extra-permissions.patch index cb0923208..5456aa051 100644 --- a/patches/server/0155-Gamemode-extra-permissions.patch +++ b/patches/server/0154-Gamemode-extra-permissions.patch @@ -73,7 +73,7 @@ index 52649f82351ab4f675c3cc3cd6640956b0f76b91..eb51c88c7a0658190d3a8bfd5d18dca7 DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "defaultgamemode", "Allows the user to change the default gamemode of the server", PermissionDefault.OP, commands); DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "seed", "Allows the user to view the seed of the world", PermissionDefault.OP, commands); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 499c04781546e8e0bf6d6251e0670cfcff049246..40f1a5aeea97c192488bedb00b7e565f6a32c9f1 100644 +index b0c3135d8af0fd73d6445bdbea91d51527f180b8..9d0fe642adec085ba308aa40a00f0ff99c18521e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -235,6 +235,7 @@ public class PurpurConfig { diff --git a/patches/server/0156-Configurable-piston-push-limit.patch b/patches/server/0155-Configurable-piston-push-limit.patch similarity index 94% rename from patches/server/0156-Configurable-piston-push-limit.patch rename to patches/server/0155-Configurable-piston-push-limit.patch index f1a76ae8d..48785f07b 100644 --- a/patches/server/0156-Configurable-piston-push-limit.patch +++ b/patches/server/0155-Configurable-piston-push-limit.patch @@ -36,10 +36,10 @@ index 205e223c356634bd6bc6bd58c6f0b7fda61a6f5f..bea05cb928d540a2f19b51bb7352d032 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9506f919b600472cef27532b2b11839abc39a14e..1e8212ef70684ebac8a96a48e6424ba0fe40aaf7 100644 +index b3cee9f29fc9ee891d4b18ebfec219e80126a390..89932b59058db834174919eb57007638e0b92bbd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -604,6 +604,11 @@ public class PurpurWorldConfig { +@@ -570,6 +570,11 @@ public class PurpurWorldConfig { lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); } diff --git a/patches/server/0157-Configurable-broadcast-settings.patch b/patches/server/0156-Configurable-broadcast-settings.patch similarity index 92% rename from patches/server/0157-Configurable-broadcast-settings.patch rename to patches/server/0156-Configurable-broadcast-settings.patch index eb267abeb..0685fc7f3 100644 --- a/patches/server/0157-Configurable-broadcast-settings.patch +++ b/patches/server/0156-Configurable-broadcast-settings.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable broadcast settings diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java -index b286b157bba78021efa18f01bc91b067b0bd5874..fc87e3cfff1221a6cbaf3463ce972870f17c776a 100644 +index c3cc63c7bbfab346cfd25b69fbb4872bf66b142f..8cd8a173ac262ef974c32faf23bffa5072e99ab8 100644 --- a/src/main/java/net/minecraft/server/PlayerAdvancements.java +++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java @@ -250,6 +250,7 @@ public class PlayerAdvancements { @@ -17,7 +17,7 @@ index b286b157bba78021efa18f01bc91b067b0bd5874..fc87e3cfff1221a6cbaf3463ce972870 // Paper end } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index c967e1733600a7bdce478aa6b9653bc66b14d462..52e58daa13eb020ed43ed01c84e73bb0346fc77d 100644 +index 513ab3d7d3ff4fe0a5c9c609ca752357b2d8055a..e081734828f7991ffc33233843779fd65f9ea9d7 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1082,6 +1082,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -29,7 +29,7 @@ index c967e1733600a7bdce478aa6b9653bc66b14d462..52e58daa13eb020ed43ed01c84e73bb0 if (scoreboardteam.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) { this.server.getPlayerList().broadcastSystemToTeam(this, ichatbasecomponent); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 40f1a5aeea97c192488bedb00b7e565f6a32c9f1..6bf78e331f654ef8795bbc739dc310d366fddd19 100644 +index 9d0fe642adec085ba308aa40a00f0ff99c18521e..40e06f4d0547b391497944475f3ea30c4d8ff76c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -205,6 +205,18 @@ public class PurpurConfig { diff --git a/patches/server/0158-Configurable-mob-blindness.patch b/patches/server/0157-Configurable-mob-blindness.patch similarity index 97% rename from patches/server/0158-Configurable-mob-blindness.patch rename to patches/server/0157-Configurable-mob-blindness.patch index a75486b02..978d3772d 100644 --- a/patches/server/0158-Configurable-mob-blindness.patch +++ b/patches/server/0157-Configurable-mob-blindness.patch @@ -28,7 +28,7 @@ index d4ba4752b04ad3d1a8133c56144800af756f4aa6..b0d9f432eb9ebaf88196de4f1329ef53 return d0; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1e8212ef70684ebac8a96a48e6424ba0fe40aaf7..631829589cd84d545e911e92c5f845da3e6266e3 100644 +index 89932b59058db834174919eb57007638e0b92bbd..e9075362020d3dec49b3fbcbbe80a00264d3c6fd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -135,6 +135,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0159-Hide-hidden-players-from-entity-selector.patch b/patches/server/0158-Hide-hidden-players-from-entity-selector.patch similarity index 98% rename from patches/server/0159-Hide-hidden-players-from-entity-selector.patch rename to patches/server/0158-Hide-hidden-players-from-entity-selector.patch index 1276ce2ee..662332abb 100644 --- a/patches/server/0159-Hide-hidden-players-from-entity-selector.patch +++ b/patches/server/0158-Hide-hidden-players-from-entity-selector.patch @@ -59,7 +59,7 @@ index c8d39e6e1c570c9219f6066da273dc0130920519..b455c7e9d18bac3654daa8510f85cc21 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 6bf78e331f654ef8795bbc739dc310d366fddd19..6488121131e6cde24af3b316512f8c7b2f953756 100644 +index 40e06f4d0547b391497944475f3ea30c4d8ff76c..82e79211ec48578dad18e590ab1f9b58ae024c7c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -248,6 +248,7 @@ public class PurpurConfig { diff --git a/patches/server/0160-Config-for-health-to-impact-Creeper-explosion-radius.patch b/patches/server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch similarity index 92% rename from patches/server/0160-Config-for-health-to-impact-Creeper-explosion-radius.patch rename to patches/server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch index d8c96fe1b..06bd60a26 100644 --- a/patches/server/0160-Config-for-health-to-impact-Creeper-explosion-radius.patch +++ b/patches/server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch @@ -21,10 +21,10 @@ index 902191001a7302872ff661564fb6389457abaa9c..1769c1d31bb68904be426e1069266cec // CraftBukkit end this.dead = true; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 631829589cd84d545e911e92c5f845da3e6266e3..a864602ce60b06bcaa388d7d141f20290becb1ad 100644 +index e9075362020d3dec49b3fbcbbe80a00264d3c6fd..898e82aac8f2636a95e6987f967d6c57c0e412da 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -973,6 +973,7 @@ public class PurpurWorldConfig { +@@ -939,6 +939,7 @@ public class PurpurWorldConfig { public boolean creeperBypassMobGriefing = false; public boolean creeperTakeDamageFromWater = false; public boolean creeperExplodeWhenKilled = false; @@ -32,7 +32,7 @@ index 631829589cd84d545e911e92c5f845da3e6266e3..a864602ce60b06bcaa388d7d141f2029 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -989,6 +990,7 @@ public class PurpurWorldConfig { +@@ -955,6 +956,7 @@ public class PurpurWorldConfig { creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater); creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled); diff --git a/patches/server/0161-Iron-golem-calm-anger-options.patch b/patches/server/0160-Iron-golem-calm-anger-options.patch similarity index 96% rename from patches/server/0161-Iron-golem-calm-anger-options.patch rename to patches/server/0160-Iron-golem-calm-anger-options.patch index da0f0575e..b2ddb9dd0 100644 --- a/patches/server/0161-Iron-golem-calm-anger-options.patch +++ b/patches/server/0160-Iron-golem-calm-anger-options.patch @@ -25,10 +25,10 @@ index 0cf985cac3279c0cb6255f02b76a5012027cae99..446a2795aa8f2ddf472f8b379534978f } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a864602ce60b06bcaa388d7d141f20290becb1ad..46f84f77582a8976499444acd1b4d6e5d3ff847e 100644 +index 898e82aac8f2636a95e6987f967d6c57c0e412da..f7a854144d447f6464473ee437c36d1e16984cab 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1463,6 +1463,8 @@ public class PurpurWorldConfig { +@@ -1429,6 +1429,8 @@ public class PurpurWorldConfig { public double ironGolemMaxHealth = 100.0D; public double ironGolemScale = 1.0D; public boolean ironGolemTakeDamageFromWater = false; @@ -37,7 +37,7 @@ index a864602ce60b06bcaa388d7d141f20290becb1ad..46f84f77582a8976499444acd1b4d6e5 private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1476,6 +1478,8 @@ public class PurpurWorldConfig { +@@ -1442,6 +1444,8 @@ public class PurpurWorldConfig { ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth); ironGolemScale = Mth.clamp(getDouble("mobs.iron_golem.attributes.scale", ironGolemScale), 0.0625D, 16.0D); ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater); diff --git a/patches/server/0162-Breedable-parrots.patch b/patches/server/0161-Breedable-parrots.patch similarity index 94% rename from patches/server/0162-Breedable-parrots.patch rename to patches/server/0161-Breedable-parrots.patch index 139feeb86..f12a10f71 100644 --- a/patches/server/0162-Breedable-parrots.patch +++ b/patches/server/0161-Breedable-parrots.patch @@ -50,10 +50,10 @@ index 884fc114ef70d49fd0d64fcea46fb277950962a1..4fa32a6406e3158369064d39160e4850 @Nullable diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 46f84f77582a8976499444acd1b4d6e5d3ff847e..ba21f6e268d33c51387a47ecc6ccd59bdad1da4d 100644 +index f7a854144d447f6464473ee437c36d1e16984cab..79130d2f36feb0c402f58aee1f7c0eff07b47b36 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1641,6 +1641,7 @@ public class PurpurWorldConfig { +@@ -1607,6 +1607,7 @@ public class PurpurWorldConfig { public double parrotMaxHealth = 6.0D; public double parrotScale = 1.0D; public boolean parrotTakeDamageFromWater = false; @@ -61,7 +61,7 @@ index 46f84f77582a8976499444acd1b4d6e5d3ff847e..ba21f6e268d33c51387a47ecc6ccd59b private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1654,6 +1655,7 @@ public class PurpurWorldConfig { +@@ -1620,6 +1621,7 @@ public class PurpurWorldConfig { parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); parrotScale = Mth.clamp(getDouble("mobs.parrot.attributes.scale", parrotScale), 0.0625D, 16.0D); parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater); diff --git a/patches/server/0163-Configurable-powered-rail-boost-modifier.patch b/patches/server/0162-Configurable-powered-rail-boost-modifier.patch similarity index 96% rename from patches/server/0163-Configurable-powered-rail-boost-modifier.patch rename to patches/server/0162-Configurable-powered-rail-boost-modifier.patch index 785eaa24f..295fc73b9 100644 --- a/patches/server/0163-Configurable-powered-rail-boost-modifier.patch +++ b/patches/server/0162-Configurable-powered-rail-boost-modifier.patch @@ -18,7 +18,7 @@ index d7bcfca8c79cc172bb7e4aaeee76ff393d1d2bea..8b1c00062a5272d1020bc85491d8627c Vec3 vec3d5 = this.getDeltaMovement(); double d21 = vec3d5.x; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ba21f6e268d33c51387a47ecc6ccd59bdad1da4d..9805e85c10f6b92e3c7e109b9e7a3b0a2240b746 100644 +index 79130d2f36feb0c402f58aee1f7c0eff07b47b36..7d59c418f583d7247868595a2b00c2328c351e30 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -268,6 +268,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0164-Add-config-change-multiplier-critical-damage-value.patch b/patches/server/0163-Add-config-change-multiplier-critical-damage-value.patch similarity index 96% rename from patches/server/0164-Add-config-change-multiplier-critical-damage-value.patch rename to patches/server/0163-Add-config-change-multiplier-critical-damage-value.patch index 0635e1648..02a0631b2 100644 --- a/patches/server/0164-Add-config-change-multiplier-critical-damage-value.patch +++ b/patches/server/0163-Add-config-change-multiplier-critical-damage-value.patch @@ -18,7 +18,7 @@ index 33c1b2b387e7412a001841d1bcbb3966c188c1a3..40cf2eb78b02adc15e44189021005f14 float f3 = f + f1; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9805e85c10f6b92e3c7e109b9e7a3b0a2240b746..5a7a7e184789ea29c56fa36735b06c41be04650e 100644 +index 7d59c418f583d7247868595a2b00c2328c351e30..ca337c301190ecebdbae2e353785352c178bca96 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -365,6 +365,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0165-Option-to-disable-dragon-egg-teleporting.patch b/patches/server/0164-Option-to-disable-dragon-egg-teleporting.patch similarity index 92% rename from patches/server/0165-Option-to-disable-dragon-egg-teleporting.patch rename to patches/server/0164-Option-to-disable-dragon-egg-teleporting.patch index fe39aab5e..2295d5b2c 100644 --- a/patches/server/0165-Option-to-disable-dragon-egg-teleporting.patch +++ b/patches/server/0164-Option-to-disable-dragon-egg-teleporting.patch @@ -19,10 +19,10 @@ index fbe15cdd5b9bca2ab4b1e871abbbdbff49ade8a4..23d113842bf774bdc74e0dffcc97b642 BlockPos blockposition1 = pos.offset(world.random.nextInt(16) - world.random.nextInt(16), world.random.nextInt(8) - world.random.nextInt(8), world.random.nextInt(16) - world.random.nextInt(16)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5a7a7e184789ea29c56fa36735b06c41be04650e..f79011b7b1a6113a01ff73418c9cf1ebdb0f194e 100644 +index ca337c301190ecebdbae2e353785352c178bca96..e52308a81158014fadbc486604ae54a232d2a4b0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -531,6 +531,11 @@ public class PurpurWorldConfig { +@@ -497,6 +497,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0166-Config-for-unverified-username-message.patch b/patches/server/0165-Config-for-unverified-username-message.patch similarity index 97% rename from patches/server/0166-Config-for-unverified-username-message.patch rename to patches/server/0165-Config-for-unverified-username-message.patch index 889c42229..60f9bf2eb 100644 --- a/patches/server/0166-Config-for-unverified-username-message.patch +++ b/patches/server/0165-Config-for-unverified-username-message.patch @@ -18,7 +18,7 @@ index 40638b439966619e9c70a18a32abd95b2178fe9f..19d3423644a6a394743c09eb6935bb76 } } catch (AuthenticationUnavailableException authenticationunavailableexception) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 6488121131e6cde24af3b316512f8c7b2f953756..420999718086d2c598149f459c4f04cdc163b237 100644 +index 82e79211ec48578dad18e590ab1f9b58ae024c7c..35d86953ea87c5977acf1c83c2071bc622996510 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -186,6 +186,7 @@ public class PurpurConfig { diff --git a/patches/server/0167-Make-anvil-cumulative-cost-configurable.patch b/patches/server/0166-Make-anvil-cumulative-cost-configurable.patch similarity index 95% rename from patches/server/0167-Make-anvil-cumulative-cost-configurable.patch rename to patches/server/0166-Make-anvil-cumulative-cost-configurable.patch index e6387b898..a03925a1c 100644 --- a/patches/server/0167-Make-anvil-cumulative-cost-configurable.patch +++ b/patches/server/0166-Make-anvil-cumulative-cost-configurable.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Make anvil cumulative cost configurable diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java -index 5089974b4f46aa5f8b26218ba77209bf7d6e03e1..eaef4f26901c9db4b24b003e2c90161e8ea53f9e 100644 +index e3c74f30eabfcbeef43a7a8096191e4bf4349c9a..6c2e2c929810c60009f121b9a505cb9f775f2323 100644 --- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java @@ -399,7 +399,7 @@ public class AnvilMenu extends ItemCombinerMenu { diff --git a/patches/server/0168-Bee-can-work-when-raining-or-at-night.patch b/patches/server/0167-Bee-can-work-when-raining-or-at-night.patch similarity index 94% rename from patches/server/0168-Bee-can-work-when-raining-or-at-night.patch rename to patches/server/0167-Bee-can-work-when-raining-or-at-night.patch index 99d740bab..cee7d593d 100644 --- a/patches/server/0168-Bee-can-work-when-raining-or-at-night.patch +++ b/patches/server/0167-Bee-can-work-when-raining-or-at-night.patch @@ -31,10 +31,10 @@ index fb84af3b1709101fa572d11a1c27970a316f2eab..5e982bab268746a05b97f5b9f7142254 return false; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f79011b7b1a6113a01ff73418c9cf1ebdb0f194e..514a56bdcb31c0bb0772bb003bb48a4fd8eabb50 100644 +index e52308a81158014fadbc486604ae54a232d2a4b0..722a3a1f222536995a3da0a4ad1f85db590a61c0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -782,6 +782,8 @@ public class PurpurWorldConfig { +@@ -748,6 +748,8 @@ public class PurpurWorldConfig { public double beeScale = 1.0D; public int beeBreedingTicks = 6000; public boolean beeTakeDamageFromWater = false; @@ -43,7 +43,7 @@ index f79011b7b1a6113a01ff73418c9cf1ebdb0f194e..514a56bdcb31c0bb0772bb003bb48a4f private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -796,6 +798,8 @@ public class PurpurWorldConfig { +@@ -762,6 +764,8 @@ public class PurpurWorldConfig { beeScale = Mth.clamp(getDouble("mobs.bee.attributes.scale", beeScale), 0.0625D, 16.0D); beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks); beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater); diff --git a/patches/server/0169-API-for-any-mob-to-burn-daylight.patch b/patches/server/0168-API-for-any-mob-to-burn-daylight.patch similarity index 98% rename from patches/server/0169-API-for-any-mob-to-burn-daylight.patch rename to patches/server/0168-API-for-any-mob-to-burn-daylight.patch index f5289230c..e13a4589b 100644 --- a/patches/server/0169-API-for-any-mob-to-burn-daylight.patch +++ b/patches/server/0168-API-for-any-mob-to-burn-daylight.patch @@ -6,7 +6,7 @@ Subject: [PATCH] API for any mob to burn daylight Co-authored by: Encode42 diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 0a7316e94a83ffac0514841474c4064bfc08da41..382d9c3f3ebe56e52ea123f1ec34fb5bfc3f1ee0 100644 +index 657980c6c82b6a50ee9874f4aeb483b40dc24247..338c2afa277178b3d4d667142799f015c7b97cd0 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -559,6 +559,22 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -33,7 +33,7 @@ index 0a7316e94a83ffac0514841474c4064bfc08da41..382d9c3f3ebe56e52ea123f1ec34fb5b this.id = Entity.ENTITY_COUNTER.incrementAndGet(); this.passengers = ImmutableList.of(); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 81816aa6dbd1654a37d643249500bb7f07490456..6ad7658a9451f62c117b83aaf341e53778e39747 100644 +index b0d9f432eb9ebaf88196de4f1329ef530b422ca0..c8e5162e3494f221ebbf538d7416c8508358546d 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -285,6 +285,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -357,7 +357,7 @@ index 990daa4f12ed7fb9a1ab40443c7f68bca4534626..4e7b67e5d6b26d1d0523dfed7f0d029b } // Paper end - Add more Zombie API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 0d497b26eeb53ca65bbb936e2c1bed3d47560ea2..33469665998543f45e68eb50e7dc3f3c6af7b0c4 100644 +index af3ab1eb9af64605203e7bb671ff08a38be9e6a6..7b7a58039eb1a288262228444712c84d6e2aef24 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -86,6 +86,13 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0170-Config-MobEffect-by-world.patch b/patches/server/0169-Config-MobEffect-by-world.patch similarity index 98% rename from patches/server/0170-Config-MobEffect-by-world.patch rename to patches/server/0169-Config-MobEffect-by-world.patch index fb0237fbf..1150f8d59 100644 --- a/patches/server/0170-Config-MobEffect-by-world.patch +++ b/patches/server/0169-Config-MobEffect-by-world.patch @@ -72,7 +72,7 @@ index f43bf280999ff3860cc702def50cc62b131eb1bd..66d9e99a351f5fc6cf58be3bee4397d9 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 514a56bdcb31c0bb0772bb003bb48a4fd8eabb50..a006f0be6f04ba77322c265ca976cdad9acf4a47 100644 +index 722a3a1f222536995a3da0a4ad1f85db590a61c0..68d6c2504990f2664518a589f916f41bc54f61bb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -324,6 +324,21 @@ public class PurpurWorldConfig { diff --git a/patches/server/0171-Beacon-Activation-Range-Configurable.patch b/patches/server/0170-Beacon-Activation-Range-Configurable.patch similarity index 94% rename from patches/server/0171-Beacon-Activation-Range-Configurable.patch rename to patches/server/0170-Beacon-Activation-Range-Configurable.patch index 3f015c6f5..cb3fe8652 100644 --- a/patches/server/0171-Beacon-Activation-Range-Configurable.patch +++ b/patches/server/0170-Beacon-Activation-Range-Configurable.patch @@ -26,10 +26,10 @@ index 814e70f558d7a6186233da0ff86c94c95d390e09..d1fb77d83d48183a9a37dbeec7bb0fda } else { return effectRange; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a006f0be6f04ba77322c265ca976cdad9acf4a47..1d7dad18adef4aa62192730869555cd6a70d4879 100644 +index 68d6c2504990f2664518a589f916f41bc54f61bb..2a3bd1593d440b2bece131ce15321fe0a4b92553 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -498,6 +498,17 @@ public class PurpurWorldConfig { +@@ -464,6 +464,17 @@ public class PurpurWorldConfig { anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage); } diff --git a/patches/server/0172-Make-lightning-rod-range-configurable.patch b/patches/server/0171-Make-lightning-rod-range-configurable.patch similarity index 100% rename from patches/server/0172-Make-lightning-rod-range-configurable.patch rename to patches/server/0171-Make-lightning-rod-range-configurable.patch diff --git a/patches/server/0173-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch b/patches/server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch similarity index 98% rename from patches/server/0173-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch rename to patches/server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch index ddbbd0581..9d77f86cf 100644 --- a/patches/server/0173-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch +++ b/patches/server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch @@ -55,7 +55,7 @@ index bd3f78e6453cfe18aa3da38176b04d734d83bb4b..b702b7270fae8fafc39588fbc39b4e00 public void eat(int food, float saturationModifier) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1d7dad18adef4aa62192730869555cd6a70d4879..f9204b2189f4dd635e18c2620e94552f2752fd1b 100644 +index 2a3bd1593d440b2bece131ce15321fe0a4b92553..a5bea4b6d19d84bbab2adda8c7ba3e5f65b817c0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -381,6 +381,8 @@ public class PurpurWorldConfig { diff --git a/patches/server/0174-Allow-player-join-full-server-by-permission.patch b/patches/server/0173-Allow-player-join-full-server-by-permission.patch similarity index 93% rename from patches/server/0174-Allow-player-join-full-server-by-permission.patch rename to patches/server/0173-Allow-player-join-full-server-by-permission.patch index 007b8473b..0a7e836d5 100644 --- a/patches/server/0174-Allow-player-join-full-server-by-permission.patch +++ b/patches/server/0173-Allow-player-join-full-server-by-permission.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow player join full server by permission diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 8b02ceeb89286c09ece26054ebe70a61c296dfd6..15b71ef1f52467eec0020fb837f78d9f2cfd8556 100644 +index 338bf471d9214c77653eb69510b722b552e60172..c55f721a611dc215bcbf3f74f752b3bebfbe9ea4 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -748,7 +748,7 @@ public abstract class PlayerList { diff --git a/patches/server/0175-Add-portal-permission-bypass.patch b/patches/server/0174-Add-portal-permission-bypass.patch similarity index 100% rename from patches/server/0175-Add-portal-permission-bypass.patch rename to patches/server/0174-Add-portal-permission-bypass.patch diff --git a/patches/server/0176-Shulker-spawn-from-bullet-options.patch b/patches/server/0175-Shulker-spawn-from-bullet-options.patch similarity index 96% rename from patches/server/0176-Shulker-spawn-from-bullet-options.patch rename to patches/server/0175-Shulker-spawn-from-bullet-options.patch index 1f2baa6ab..c5c617566 100644 --- a/patches/server/0176-Shulker-spawn-from-bullet-options.patch +++ b/patches/server/0175-Shulker-spawn-from-bullet-options.patch @@ -68,10 +68,10 @@ index 0d04a0107bd1a8a2b9aeb4be55025cd554e8fb79..a050d76233e179a1456b83ccc02bb9a5 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f9204b2189f4dd635e18c2620e94552f2752fd1b..d4c8cd37a40e90e071d1b5ebe51dab89a0c8de1e 100644 +index a5bea4b6d19d84bbab2adda8c7ba3e5f65b817c0..92cd2be5ce7d0a064cfa7f12802d4ffbd7e060d7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2014,6 +2014,11 @@ public class PurpurWorldConfig { +@@ -1980,6 +1980,11 @@ public class PurpurWorldConfig { public double shulkerMaxHealth = 30.0D; public double shulkerScale = 1.0D; public boolean shulkerTakeDamageFromWater = false; @@ -83,7 +83,7 @@ index f9204b2189f4dd635e18c2620e94552f2752fd1b..d4c8cd37a40e90e071d1b5ebe51dab89 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2026,6 +2031,11 @@ public class PurpurWorldConfig { +@@ -1992,6 +1997,11 @@ public class PurpurWorldConfig { shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth); shulkerScale = Mth.clamp(getDouble("mobs.shulker.attributes.scale", shulkerScale), 0.0625D, Shulker.MAX_SCALE); shulkerTakeDamageFromWater = getBoolean("mobs.shulker.takes-damage-from-water", shulkerTakeDamageFromWater); diff --git a/patches/server/0177-Eating-glow-berries-adds-glow-effect.patch b/patches/server/0176-Eating-glow-berries-adds-glow-effect.patch similarity index 97% rename from patches/server/0177-Eating-glow-berries-adds-glow-effect.patch rename to patches/server/0176-Eating-glow-berries-adds-glow-effect.patch index 4333493c1..5149bb8ac 100644 --- a/patches/server/0177-Eating-glow-berries-adds-glow-effect.patch +++ b/patches/server/0176-Eating-glow-berries-adds-glow-effect.patch @@ -18,7 +18,7 @@ index 4eef61323ba54f513e6f251ef7c804b2c91ff477..6b2235281dca67a80cb651e9f8e9bf25 public static final Item CAMPFIRE = registerBlock(Blocks.CAMPFIRE, settings -> settings.component(DataComponents.CONTAINER, ItemContainerContents.EMPTY)); public static final Item SOUL_CAMPFIRE = registerBlock( diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d4c8cd37a40e90e071d1b5ebe51dab89a0c8de1e..0c44a9aeca00a4bf50f681beff60976be8ceddee 100644 +index 92cd2be5ce7d0a064cfa7f12802d4ffbd7e060d7..d82bba5a4c729c69882354d9e3ca65b36a40c1b3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -213,6 +213,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0178-Option-to-make-drowned-break-doors.patch b/patches/server/0177-Option-to-make-drowned-break-doors.patch similarity index 93% rename from patches/server/0178-Option-to-make-drowned-break-doors.patch rename to patches/server/0177-Option-to-make-drowned-break-doors.patch index 61cbec969..fa4d04a4d 100644 --- a/patches/server/0178-Option-to-make-drowned-break-doors.patch +++ b/patches/server/0177-Option-to-make-drowned-break-doors.patch @@ -26,10 +26,10 @@ index 370f1b76c002f7cecf596767db717da51b2990f8..994dee36ce3aad3a0ef6a06bcaf555bd @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0c44a9aeca00a4bf50f681beff60976be8ceddee..f3b1f853890f04ff38c300d16dc74c9b5522b1f8 100644 +index d82bba5a4c729c69882354d9e3ca65b36a40c1b3..0444b0787d1a8aeef564dc927a85431e56b6ccd2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1102,6 +1102,7 @@ public class PurpurWorldConfig { +@@ -1068,6 +1068,7 @@ public class PurpurWorldConfig { public double drownedJockeyChance = 0.05D; public boolean drownedJockeyTryExistingChickens = true; public boolean drownedTakeDamageFromWater = false; @@ -37,7 +37,7 @@ index 0c44a9aeca00a4bf50f681beff60976be8ceddee..f3b1f853890f04ff38c300d16dc74c9b private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1118,6 +1119,7 @@ public class PurpurWorldConfig { +@@ -1084,6 +1085,7 @@ public class PurpurWorldConfig { drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance); drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens); drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater); diff --git a/patches/server/0179-Configurable-hunger-starvation-damage.patch b/patches/server/0178-Configurable-hunger-starvation-damage.patch similarity index 92% rename from patches/server/0179-Configurable-hunger-starvation-damage.patch rename to patches/server/0178-Configurable-hunger-starvation-damage.patch index 52b90f72e..e55828c0f 100644 --- a/patches/server/0179-Configurable-hunger-starvation-damage.patch +++ b/patches/server/0178-Configurable-hunger-starvation-damage.patch @@ -18,10 +18,10 @@ index b702b7270fae8fafc39588fbc39b4e0014809047..842a908051bdf6c5f0ef8ce3ac84a7ce this.tickTimer = 0; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f3b1f853890f04ff38c300d16dc74c9b5522b1f8..8640e95511f576a46c21ca140eeaf8f11a6a6e26 100644 +index 0444b0787d1a8aeef564dc927a85431e56b6ccd2..39630c8b603970e9b3b34028d0cc75bda18de053 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2722,4 +2722,9 @@ public class PurpurWorldConfig { +@@ -2688,4 +2688,9 @@ public class PurpurWorldConfig { zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); } diff --git a/patches/server/0180-Enhance-SysoutCatcher.patch b/patches/server/0179-Enhance-SysoutCatcher.patch similarity index 100% rename from patches/server/0180-Enhance-SysoutCatcher.patch rename to patches/server/0179-Enhance-SysoutCatcher.patch diff --git a/patches/server/0181-Add-uptime-command.patch b/patches/server/0180-Add-uptime-command.patch similarity index 96% rename from patches/server/0181-Add-uptime-command.patch rename to patches/server/0180-Add-uptime-command.patch index e1db85235..891778176 100644 --- a/patches/server/0181-Add-uptime-command.patch +++ b/patches/server/0180-Add-uptime-command.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add uptime command diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index c7b7cc0d9ce589b5a0600e9b8c46b2e5d7a520bd..9f86a0397c0b64cb31dad245e2dc84d0fadd42d7 100644 +index 286f141255984dddbc3252304d6c11b0647cbbf4..af5246b966f2322febb804a85e167ff580d2ab25 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java @@ -253,6 +253,7 @@ public class Commands { @@ -17,7 +17,7 @@ index c7b7cc0d9ce589b5a0600e9b8c46b2e5d7a520bd..9f86a0397c0b64cb31dad245e2dc84d0 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 885b63225cc45382240b117ccdacbd8dc7d8b4c2..6b8c4f67e9f8428339f8a398707dc4ad519c0048 100644 +index b14bfa10927c1e0e93f1c3515947077f11eb3ece..7e7f66ab202e5ac3bd8f91ed0ab1db51c2679101 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -304,6 +304,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop transaction = new java.util.ArrayList(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 5fdd11c1d7456f50828a6aed68125d6b248580e3..e29fd833094840091cb6dfb788fe1c77896c4cc3 100644 +index ce3b91b5eaa697f70a2e591c6edce6bdd7f9bdcf..ad71ba70b24481120e303e174ab07c7a31a068c6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1611,6 +1611,19 @@ public final class CraftServer implements Server { diff --git a/patches/server/0204-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch b/patches/server/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch similarity index 97% rename from patches/server/0204-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch rename to patches/server/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch index 17c765ef0..0fa314c80 100644 --- a/patches/server/0204-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch +++ b/patches/server/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch @@ -25,7 +25,7 @@ index c31fd59a311e3e131c8a5fee9f66619f1761ab06..4cae0fbd061b76b7bf9e42fa8c656072 // CraftBukkit start // If we stop due to everyone sleeping we should reset the weather duration to some other random value. diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1fe3e9ca519d339a2a8258e69e6bf18aa75e8b1b..d6e4b8272636388a68f747ace52233cc12e8b5af 100644 +index 369ea95c71d1313a49e75f06bff7aa095eb50e8b..226d2a772b35156df75648743978e7d97cd3b1ba 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -140,6 +140,8 @@ public class PurpurWorldConfig { diff --git a/patches/server/0205-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch b/patches/server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch similarity index 94% rename from patches/server/0205-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch rename to patches/server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch index c93d7474a..f44466dec 100644 --- a/patches/server/0205-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch +++ b/patches/server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch @@ -50,10 +50,10 @@ index 223259e7a09ada681b6181c898f6857888594f85..7d58a95f7ae8983b466b275f4f82597d .sound(SoundType.FLOWERING_AZALEA) .noOcclusion() diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d6e4b8272636388a68f747ace52233cc12e8b5af..bb904fb021864b9544bf89907879b4af81638d96 100644 +index 226d2a772b35156df75648743978e7d97cd3b1ba..73283dd57a67ff0d7fa65ab279b4d21c2030d4f8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -799,6 +799,11 @@ public class PurpurWorldConfig { +@@ -765,6 +765,11 @@ public class PurpurWorldConfig { anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage); } @@ -65,7 +65,7 @@ index d6e4b8272636388a68f747ace52233cc12e8b5af..bb904fb021864b9544bf89907879b4af public int beaconLevelOne = 20; public int beaconLevelTwo = 30; public int beaconLevelThree = 40; -@@ -936,6 +941,11 @@ public class PurpurWorldConfig { +@@ -902,6 +907,11 @@ public class PurpurWorldConfig { farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling); } diff --git a/patches/server/0206-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch similarity index 98% rename from patches/server/0206-Shift-right-click-to-use-exp-for-mending.patch rename to patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch index 3b62f4c92..3ae78694b 100644 --- a/patches/server/0206-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch @@ -48,7 +48,7 @@ index b7f8499cabbd28c0679d0c775b009c9cdf53b5f8..cdb5062d4d6325ada90dec3d4de6c0fd cancelled = event.useItemInHand() == Event.Result.DENY; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bb904fb021864b9544bf89907879b4af81638d96..7919535ad59a5acaaf6a3c63f9c44b4351364b1b 100644 +index 73283dd57a67ff0d7fa65ab279b4d21c2030d4f8..58ffc28078756435e6ddfdea4109d61375eecc54 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -404,6 +404,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0207-Dolphins-naturally-aggressive-to-players-chance.patch b/patches/server/0206-Dolphins-naturally-aggressive-to-players-chance.patch similarity index 95% rename from patches/server/0207-Dolphins-naturally-aggressive-to-players-chance.patch rename to patches/server/0206-Dolphins-naturally-aggressive-to-players-chance.patch index 38bc28cc0..ed78c5606 100644 --- a/patches/server/0207-Dolphins-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0206-Dolphins-naturally-aggressive-to-players-chance.patch @@ -48,10 +48,10 @@ index c7bc9e0152419aa44fd2a4dcf2ce1f0b972e432e..ffc29ab9105b20aba15a0ce12d5ec7fa public static AttributeSupplier.Builder createAttributes() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7919535ad59a5acaaf6a3c63f9c44b4351364b1b..6bfd6d4046170025670c13acea0661614cbf85c0 100644 +index 58ffc28078756435e6ddfdea4109d61375eecc54..8f1aca2fc119fd1324198adb92507c34ad4bc6c2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1379,6 +1379,7 @@ public class PurpurWorldConfig { +@@ -1345,6 +1345,7 @@ public class PurpurWorldConfig { public double dolphinScale = 1.0D; public boolean dolphinDisableTreasureSearching = false; public boolean dolphinTakeDamageFromWater = false; @@ -59,7 +59,7 @@ index 7919535ad59a5acaaf6a3c63f9c44b4351364b1b..6bfd6d4046170025670c13acea066161 private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -1394,6 +1395,7 @@ public class PurpurWorldConfig { +@@ -1360,6 +1361,7 @@ public class PurpurWorldConfig { dolphinScale = Mth.clamp(getDouble("mobs.dolphin.attributes.scale", dolphinScale), 0.0625D, 16.0D); dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching); dolphinTakeDamageFromWater = getBoolean("mobs.dolphin.takes-damage-from-water", dolphinTakeDamageFromWater); diff --git a/patches/server/0208-Cows-naturally-aggressive-to-players-chance.patch b/patches/server/0207-Cows-naturally-aggressive-to-players-chance.patch similarity index 96% rename from patches/server/0208-Cows-naturally-aggressive-to-players-chance.patch rename to patches/server/0207-Cows-naturally-aggressive-to-players-chance.patch index b0df3561e..ec8ba123c 100644 --- a/patches/server/0208-Cows-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0207-Cows-naturally-aggressive-to-players-chance.patch @@ -61,10 +61,10 @@ index 2b1b1243fa1e60985ab6fcd0dda9f71db7e3352c..a9820dda0ddf1863080f4169d70eff9c @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6bfd6d4046170025670c13acea0661614cbf85c0..df8cdde975785ef6578964b53f26125aff2b897e 100644 +index 8f1aca2fc119fd1324198adb92507c34ad4bc6c2..bc7afc07964aa56f1913ffb0888eb1b37a13999d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1324,7 +1324,14 @@ public class PurpurWorldConfig { +@@ -1290,7 +1290,14 @@ public class PurpurWorldConfig { public int cowFeedMushrooms = 0; public int cowBreedingTicks = 6000; public boolean cowTakeDamageFromWater = false; @@ -79,7 +79,7 @@ index 6bfd6d4046170025670c13acea0661614cbf85c0..df8cdde975785ef6578964b53f26125a cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); cowControllable = getBoolean("mobs.cow.controllable", cowControllable); -@@ -1338,6 +1345,8 @@ public class PurpurWorldConfig { +@@ -1304,6 +1311,8 @@ public class PurpurWorldConfig { cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks); cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater); diff --git a/patches/server/0209-Option-for-beds-to-explode-on-villager-sleep.patch b/patches/server/0208-Option-for-beds-to-explode-on-villager-sleep.patch similarity index 92% rename from patches/server/0209-Option-for-beds-to-explode-on-villager-sleep.patch rename to patches/server/0208-Option-for-beds-to-explode-on-villager-sleep.patch index 0b91bb1f8..870d09933 100644 --- a/patches/server/0209-Option-for-beds-to-explode-on-villager-sleep.patch +++ b/patches/server/0208-Option-for-beds-to-explode-on-villager-sleep.patch @@ -22,10 +22,10 @@ index 671d1dafbfe2f8ba24096f78e2661014d00a5e09..cef163bc12629d538582d7735ed47bd3 this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level().getGameTime()); // CraftBukkit - decompile error this.brain.eraseMemory(MemoryModuleType.WALK_TARGET); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index df8cdde975785ef6578964b53f26125aff2b897e..15dfbe7cf0647c2e9b9b8991076de418276fe209 100644 +index bc7afc07964aa56f1913ffb0888eb1b37a13999d..873ce7b8b73260e4c1c00298ee9a9e273731f5ab 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -818,6 +818,7 @@ public class PurpurWorldConfig { +@@ -784,6 +784,7 @@ public class PurpurWorldConfig { } public boolean bedExplode = true; @@ -33,7 +33,7 @@ index df8cdde975785ef6578964b53f26125aff2b897e..15dfbe7cf0647c2e9b9b8991076de418 public double bedExplosionPower = 5.0D; public boolean bedExplosionFire = true; public net.minecraft.world.level.Level.ExplosionInteraction bedExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; -@@ -828,6 +829,7 @@ public class PurpurWorldConfig { +@@ -794,6 +795,7 @@ public class PurpurWorldConfig { } } bedExplode = getBoolean("blocks.bed.explode", bedExplode); diff --git a/patches/server/0210-Halloween-options-and-optimizations.patch b/patches/server/0209-Halloween-options-and-optimizations.patch similarity index 97% rename from patches/server/0210-Halloween-options-and-optimizations.patch rename to patches/server/0209-Halloween-options-and-optimizations.patch index d046c5ab9..2f785a00d 100644 --- a/patches/server/0210-Halloween-options-and-optimizations.patch +++ b/patches/server/0209-Halloween-options-and-optimizations.patch @@ -60,10 +60,10 @@ index 4e7b67e5d6b26d1d0523dfed7f0d029b363fb0ef..b9439e7f261cd130648d6397a57156e9 this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 15dfbe7cf0647c2e9b9b8991076de418276fe209..5eb00f9c8e37d84f9ff4825a6fa60f8f1fe7d4b4 100644 +index 873ce7b8b73260e4c1c00298ee9a9e273731f5ab..e5885f953b75d8269e933e8d1f72d680a0ce5cf5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1744,6 +1744,13 @@ public class PurpurWorldConfig { +@@ -1710,6 +1710,13 @@ public class PurpurWorldConfig { guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater); } diff --git a/patches/server/0211-Config-for-grindstones.patch b/patches/server/0210-Config-for-grindstones.patch similarity index 100% rename from patches/server/0211-Config-for-grindstones.patch rename to patches/server/0210-Config-for-grindstones.patch diff --git a/patches/server/0212-UPnP-Port-Forwarding.patch b/patches/server/0211-UPnP-Port-Forwarding.patch similarity index 100% rename from patches/server/0212-UPnP-Port-Forwarding.patch rename to patches/server/0211-UPnP-Port-Forwarding.patch diff --git a/patches/server/0213-Campfire-option-for-lit-when-placed.patch b/patches/server/0212-Campfire-option-for-lit-when-placed.patch similarity index 94% rename from patches/server/0213-Campfire-option-for-lit-when-placed.patch rename to patches/server/0212-Campfire-option-for-lit-when-placed.patch index c5242e724..fa74c0feb 100644 --- a/patches/server/0213-Campfire-option-for-lit-when-placed.patch +++ b/patches/server/0212-Campfire-option-for-lit-when-placed.patch @@ -18,10 +18,10 @@ index 7f6058f4def83867971121751acd51c398583651..5a49daf7b6bf9e0ec3d50494287a620d @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5eb00f9c8e37d84f9ff4825a6fa60f8f1fe7d4b4..03c968aae2d8f3867e8be002bbfafd3b592b8ceb 100644 +index e5885f953b75d8269e933e8d1f72d680a0ce5cf5..6bf2fdb2f276c57e1a2334bcc4d69ebcccfbc462 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -861,6 +861,11 @@ public class PurpurWorldConfig { +@@ -827,6 +827,11 @@ public class PurpurWorldConfig { cactusBreaksFromSolidNeighbors = getBoolean("blocks.cactus.breaks-from-solid-neighbors", cactusBreaksFromSolidNeighbors); } diff --git a/patches/server/0214-options-to-extinguish-fire-blocks-with-snowballs.patch b/patches/server/0213-options-to-extinguish-fire-blocks-with-snowballs.patch similarity index 98% rename from patches/server/0214-options-to-extinguish-fire-blocks-with-snowballs.patch rename to patches/server/0213-options-to-extinguish-fire-blocks-with-snowballs.patch index 0278f2790..a01765885 100644 --- a/patches/server/0214-options-to-extinguish-fire-blocks-with-snowballs.patch +++ b/patches/server/0213-options-to-extinguish-fire-blocks-with-snowballs.patch @@ -46,7 +46,7 @@ index f59a2903bfb8ae591a638ea5bb387caaa93ce664..1b9d0e28e518c501b4b93ae385ddd64a protected void onHit(HitResult hitResult) { super.onHit(hitResult); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 03c968aae2d8f3867e8be002bbfafd3b592b8ceb..5e5dc620e231858b20f308a2e3f15ca01b87fb48 100644 +index 6bf2fdb2f276c57e1a2334bcc4d69ebcccfbc462..d86ac34aceb7855a59c3d1f1758362d2eb1ff939 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -224,6 +224,9 @@ public class PurpurWorldConfig { diff --git a/patches/server/0215-Add-option-to-disable-zombie-villagers-cure.patch b/patches/server/0214-Add-option-to-disable-zombie-villagers-cure.patch similarity index 92% rename from patches/server/0215-Add-option-to-disable-zombie-villagers-cure.patch rename to patches/server/0214-Add-option-to-disable-zombie-villagers-cure.patch index 494d5b499..553e8aba3 100644 --- a/patches/server/0215-Add-option-to-disable-zombie-villagers-cure.patch +++ b/patches/server/0214-Add-option-to-disable-zombie-villagers-cure.patch @@ -18,10 +18,10 @@ index 9bb75b49ea2d0bd8aafbe537b65f86eb04f6cfe2..612907fe87e46b5b13ed80635f203fa9 if (!this.level().isClientSide) { this.startConverting(player.getUUID(), this.random.nextInt(level().purpurConfig.zombieVillagerCuringTimeMax - level().purpurConfig.zombieVillagerCuringTimeMin + 1) + level().purpurConfig.zombieVillagerCuringTimeMin); // Purpur diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5e5dc620e231858b20f308a2e3f15ca01b87fb48..154a75f2418abdab1da4dd752594296589d90534 100644 +index d86ac34aceb7855a59c3d1f1758362d2eb1ff939..2e5c32320bfccf3aa1511aa14250ff8fc667566c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -3046,6 +3046,7 @@ public class PurpurWorldConfig { +@@ -3012,6 +3012,7 @@ public class PurpurWorldConfig { public boolean zombieVillagerTakeDamageFromWater = false; public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; @@ -29,7 +29,7 @@ index 5e5dc620e231858b20f308a2e3f15ca01b87fb48..154a75f2418abdab1da4dd7525942965 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -3064,6 +3065,7 @@ public class PurpurWorldConfig { +@@ -3030,6 +3031,7 @@ public class PurpurWorldConfig { zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater); zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin); zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax); diff --git a/patches/server/0216-Persistent-BlockEntity-Lore-and-DisplayName.patch b/patches/server/0215-Persistent-BlockEntity-Lore-and-DisplayName.patch similarity index 98% rename from patches/server/0216-Persistent-BlockEntity-Lore-and-DisplayName.patch rename to patches/server/0215-Persistent-BlockEntity-Lore-and-DisplayName.patch index 5d94239ea..dac287662 100644 --- a/patches/server/0216-Persistent-BlockEntity-Lore-and-DisplayName.patch +++ b/patches/server/0215-Persistent-BlockEntity-Lore-and-DisplayName.patch @@ -7,7 +7,7 @@ Makes it so that when a BlockEntity is placed in the world and then broken, the dropped ItemStack retains any original custom display name/lore. diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java -index 2649188930653610b8aaaeb18797c80879cd572a..7572c289758001c7417a192f0e6e994ffa8408b3 100644 +index a255b76cc1e6cb926585110e5f09ded37da7be20..26c8846c9255eacdf134e494aa7084b57b240b3c 100644 --- a/src/main/java/net/minecraft/world/item/BlockItem.java +++ b/src/main/java/net/minecraft/world/item/BlockItem.java @@ -157,7 +157,16 @@ public class BlockItem extends Item { @@ -135,7 +135,7 @@ index 7dfabb11d3c8112f6daef35d204a2e324f4ddb5e..a7b6c20afd9ec3fe61d2bdf42f96398c + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 154a75f2418abdab1da4dd752594296589d90534..3ad8b463f21b196a9c23bc91dfc4384a31f8fb21 100644 +index 2e5c32320bfccf3aa1511aa14250ff8fc667566c..9d9602211bbe12c6ce68bc7968aeae1cdf0e5dfd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -133,6 +133,8 @@ public class PurpurWorldConfig { diff --git a/patches/server/0217-Signs-allow-color-codes.patch b/patches/server/0216-Signs-allow-color-codes.patch similarity index 97% rename from patches/server/0217-Signs-allow-color-codes.patch rename to patches/server/0216-Signs-allow-color-codes.patch index 9b8f53bf6..4540e0611 100644 --- a/patches/server/0217-Signs-allow-color-codes.patch +++ b/patches/server/0216-Signs-allow-color-codes.patch @@ -84,10 +84,10 @@ index 3070cd2b588f5a69fd8c0d3551e16251680d8c27..c9a1c071780351b584ad8e071ddc26f9 public ClientboundBlockEntityDataPacket getUpdatePacket() { return ClientboundBlockEntityDataPacket.create(this); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3ad8b463f21b196a9c23bc91dfc4384a31f8fb21..facbd1fe9ef8bc0320f84035effe130d9b222d49 100644 +index 9d9602211bbe12c6ce68bc7968aeae1cdf0e5dfd..46917b62be97e23603e8ddc69c7b5c746d337003 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1034,6 +1034,11 @@ public class PurpurWorldConfig { +@@ -1000,6 +1000,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0218-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch b/patches/server/0217-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch similarity index 100% rename from patches/server/0218-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch rename to patches/server/0217-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch diff --git a/patches/server/0219-Mobs-always-drop-experience.patch b/patches/server/0218-Mobs-always-drop-experience.patch similarity index 93% rename from patches/server/0219-Mobs-always-drop-experience.patch rename to patches/server/0218-Mobs-always-drop-experience.patch index daae02575..178b24dc8 100644 --- a/patches/server/0219-Mobs-always-drop-experience.patch +++ b/patches/server/0218-Mobs-always-drop-experience.patch @@ -1157,10 +1157,10 @@ index 6250bc28db4bbac0f101cdc93c90ec4d7ec6b2ba..d342752271c76b447bb8cde50d574072 protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c11737dad035 100644 +index 46917b62be97e23603e8ddc69c7b5c746d337003..b2533323a671648517e6de7a062b151ef6c25165 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1121,6 +1121,7 @@ public class PurpurWorldConfig { +@@ -1087,6 +1087,7 @@ public class PurpurWorldConfig { public double axolotlScale = 1.0D; public int axolotlBreedingTicks = 6000; public boolean axolotlTakeDamageFromWater = false; @@ -1168,7 +1168,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void axolotlSettings() { axolotlRidable = getBoolean("mobs.axolotl.ridable", axolotlRidable); axolotlControllable = getBoolean("mobs.axolotl.controllable", axolotlControllable); -@@ -1128,6 +1129,7 @@ public class PurpurWorldConfig { +@@ -1094,6 +1095,7 @@ public class PurpurWorldConfig { axolotlScale = Mth.clamp(getDouble("mobs.axolotl.attributes.scale", axolotlScale), 0.0625D, 16.0D); axolotlBreedingTicks = getInt("mobs.axolotl.breeding-delay-ticks", axolotlBreedingTicks); axolotlTakeDamageFromWater = getBoolean("mobs.axolotl.takes-damage-from-water", axolotlTakeDamageFromWater); @@ -1176,7 +1176,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean batRidable = false; -@@ -1144,6 +1146,7 @@ public class PurpurWorldConfig { +@@ -1110,6 +1112,7 @@ public class PurpurWorldConfig { public double batArmorToughness = 0.0D; public double batAttackKnockback = 0.0D; public boolean batTakeDamageFromWater = false; @@ -1184,7 +1184,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void batSettings() { batRidable = getBoolean("mobs.bat.ridable", batRidable); batRidableInWater = getBoolean("mobs.bat.ridable-in-water", batRidableInWater); -@@ -1164,6 +1167,7 @@ public class PurpurWorldConfig { +@@ -1130,6 +1133,7 @@ public class PurpurWorldConfig { batArmorToughness = getDouble("mobs.bat.attributes.armor_toughness", batArmorToughness); batAttackKnockback = getDouble("mobs.bat.attributes.attack_knockback", batAttackKnockback); batTakeDamageFromWater = getBoolean("mobs.bat.takes-damage-from-water", batTakeDamageFromWater); @@ -1192,7 +1192,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean beeRidable = false; -@@ -1176,6 +1180,7 @@ public class PurpurWorldConfig { +@@ -1142,6 +1146,7 @@ public class PurpurWorldConfig { public boolean beeTakeDamageFromWater = false; public boolean beeCanWorkAtNight = false; public boolean beeCanWorkInRain = false; @@ -1200,7 +1200,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -1192,6 +1197,7 @@ public class PurpurWorldConfig { +@@ -1158,6 +1163,7 @@ public class PurpurWorldConfig { beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater); beeCanWorkAtNight = getBoolean("mobs.bee.can-work-at-night", beeCanWorkAtNight); beeCanWorkInRain = getBoolean("mobs.bee.can-work-in-rain", beeCanWorkInRain); @@ -1208,7 +1208,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean blazeRidable = false; -@@ -1201,6 +1207,7 @@ public class PurpurWorldConfig { +@@ -1167,6 +1173,7 @@ public class PurpurWorldConfig { public double blazeMaxHealth = 20.0D; public double blazeScale = 1.0D; public boolean blazeTakeDamageFromWater = true; @@ -1216,7 +1216,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void blazeSettings() { blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable); blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater); -@@ -1214,6 +1221,7 @@ public class PurpurWorldConfig { +@@ -1180,6 +1187,7 @@ public class PurpurWorldConfig { blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth); blazeScale = Mth.clamp(getDouble("mobs.blaze.attributes.scale", blazeScale), 0.0625D, 16.0D); blazeTakeDamageFromWater = getBoolean("mobs.blaze.takes-damage-from-water", blazeTakeDamageFromWater); @@ -1224,7 +1224,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean boggedRidable = false; -@@ -1259,6 +1267,7 @@ public class PurpurWorldConfig { +@@ -1225,6 +1233,7 @@ public class PurpurWorldConfig { public int catBreedingTicks = 6000; public DyeColor catDefaultCollarColor = DyeColor.RED; public boolean catTakeDamageFromWater = false; @@ -1232,7 +1232,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -1280,6 +1289,7 @@ public class PurpurWorldConfig { +@@ -1246,6 +1255,7 @@ public class PurpurWorldConfig { catDefaultCollarColor = DyeColor.RED; } catTakeDamageFromWater = getBoolean("mobs.cat.takes-damage-from-water", catTakeDamageFromWater); @@ -1240,7 +1240,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean caveSpiderRidable = false; -@@ -1288,6 +1298,7 @@ public class PurpurWorldConfig { +@@ -1254,6 +1264,7 @@ public class PurpurWorldConfig { public double caveSpiderMaxHealth = 12.0D; public double caveSpiderScale = 1.0D; public boolean caveSpiderTakeDamageFromWater = false; @@ -1248,7 +1248,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void caveSpiderSettings() { caveSpiderRidable = getBoolean("mobs.cave_spider.ridable", caveSpiderRidable); caveSpiderRidableInWater = getBoolean("mobs.cave_spider.ridable-in-water", caveSpiderRidableInWater); -@@ -1300,6 +1311,7 @@ public class PurpurWorldConfig { +@@ -1266,6 +1277,7 @@ public class PurpurWorldConfig { caveSpiderMaxHealth = getDouble("mobs.cave_spider.attributes.max_health", caveSpiderMaxHealth); caveSpiderScale = Mth.clamp(getDouble("mobs.cave_spider.attributes.scale", caveSpiderScale), 0.0625D, 16.0D); caveSpiderTakeDamageFromWater = getBoolean("mobs.cave_spider.takes-damage-from-water", caveSpiderTakeDamageFromWater); @@ -1256,7 +1256,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean chickenRidable = false; -@@ -1310,6 +1322,7 @@ public class PurpurWorldConfig { +@@ -1276,6 +1288,7 @@ public class PurpurWorldConfig { public boolean chickenRetaliate = false; public int chickenBreedingTicks = 6000; public boolean chickenTakeDamageFromWater = false; @@ -1264,7 +1264,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -1324,6 +1337,7 @@ public class PurpurWorldConfig { +@@ -1290,6 +1303,7 @@ public class PurpurWorldConfig { chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks); chickenTakeDamageFromWater = getBoolean("mobs.chicken.takes-damage-from-water", chickenTakeDamageFromWater); @@ -1272,7 +1272,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean codRidable = false; -@@ -1331,6 +1345,7 @@ public class PurpurWorldConfig { +@@ -1297,6 +1311,7 @@ public class PurpurWorldConfig { public double codMaxHealth = 3.0D; public double codScale = 1.0D; public boolean codTakeDamageFromWater = false; @@ -1280,7 +1280,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void codSettings() { codRidable = getBoolean("mobs.cod.ridable", codRidable); codControllable = getBoolean("mobs.cod.controllable", codControllable); -@@ -1342,6 +1357,7 @@ public class PurpurWorldConfig { +@@ -1308,6 +1323,7 @@ public class PurpurWorldConfig { codMaxHealth = getDouble("mobs.cod.attributes.max_health", codMaxHealth); codScale = Mth.clamp(getDouble("mobs.cod.attributes.scale", codScale), 0.0625D, 16.0D); codTakeDamageFromWater = getBoolean("mobs.cod.takes-damage-from-water", codTakeDamageFromWater); @@ -1288,7 +1288,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean cowRidable = false; -@@ -1354,6 +1370,7 @@ public class PurpurWorldConfig { +@@ -1320,6 +1336,7 @@ public class PurpurWorldConfig { public boolean cowTakeDamageFromWater = false; public double cowNaturallyAggressiveToPlayersChance = 0.0D; public double cowNaturallyAggressiveToPlayersDamage = 2.0D; @@ -1296,7 +1296,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void cowSettings() { if (PurpurConfig.version < 22) { double oldValue = getDouble("mobs.cow.naturally-aggressive-to-players-chance", cowNaturallyAggressiveToPlayersChance); -@@ -1375,6 +1392,7 @@ public class PurpurWorldConfig { +@@ -1341,6 +1358,7 @@ public class PurpurWorldConfig { cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater); cowNaturallyAggressiveToPlayersChance = getDouble("mobs.cow.naturally-aggressive-to-players.chance", cowNaturallyAggressiveToPlayersChance); cowNaturallyAggressiveToPlayersDamage = getDouble("mobs.cow.naturally-aggressive-to-players.damage", cowNaturallyAggressiveToPlayersDamage); @@ -1304,7 +1304,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean creeperRidable = false; -@@ -1388,6 +1406,7 @@ public class PurpurWorldConfig { +@@ -1354,6 +1372,7 @@ public class PurpurWorldConfig { public boolean creeperTakeDamageFromWater = false; public boolean creeperExplodeWhenKilled = false; public boolean creeperHealthRadius = false; @@ -1312,7 +1312,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1405,6 +1424,7 @@ public class PurpurWorldConfig { +@@ -1371,6 +1390,7 @@ public class PurpurWorldConfig { creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater); creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled); creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius); @@ -1320,7 +1320,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean dolphinRidable = false; -@@ -1417,6 +1437,7 @@ public class PurpurWorldConfig { +@@ -1383,6 +1403,7 @@ public class PurpurWorldConfig { public boolean dolphinDisableTreasureSearching = false; public boolean dolphinTakeDamageFromWater = false; public double dolphinNaturallyAggressiveToPlayersChance = 0.0D; @@ -1328,7 +1328,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -1433,6 +1454,7 @@ public class PurpurWorldConfig { +@@ -1399,6 +1420,7 @@ public class PurpurWorldConfig { dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching); dolphinTakeDamageFromWater = getBoolean("mobs.dolphin.takes-damage-from-water", dolphinTakeDamageFromWater); dolphinNaturallyAggressiveToPlayersChance = getDouble("mobs.dolphin.naturally-aggressive-to-players-chance", dolphinNaturallyAggressiveToPlayersChance); @@ -1336,7 +1336,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean donkeyRidableInWater = false; -@@ -1444,6 +1466,7 @@ public class PurpurWorldConfig { +@@ -1410,6 +1432,7 @@ public class PurpurWorldConfig { public double donkeyMovementSpeedMax = 0.175D; public int donkeyBreedingTicks = 6000; public boolean donkeyTakeDamageFromWater = false; @@ -1344,7 +1344,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); if (PurpurConfig.version < 10) { -@@ -1461,6 +1484,7 @@ public class PurpurWorldConfig { +@@ -1427,6 +1450,7 @@ public class PurpurWorldConfig { donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax); donkeyBreedingTicks = getInt("mobs.donkey.breeding-delay-ticks", donkeyBreedingTicks); donkeyTakeDamageFromWater = getBoolean("mobs.donkey.takes-damage-from-water", donkeyTakeDamageFromWater); @@ -1352,7 +1352,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean drownedRidable = false; -@@ -1474,6 +1498,7 @@ public class PurpurWorldConfig { +@@ -1440,6 +1464,7 @@ public class PurpurWorldConfig { public boolean drownedJockeyTryExistingChickens = true; public boolean drownedTakeDamageFromWater = false; public boolean drownedBreakDoors = false; @@ -1360,7 +1360,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1491,6 +1516,7 @@ public class PurpurWorldConfig { +@@ -1457,6 +1482,7 @@ public class PurpurWorldConfig { drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens); drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater); drownedBreakDoors = getBoolean("mobs.drowned.can-break-doors", drownedBreakDoors); @@ -1368,7 +1368,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean elderGuardianRidable = false; -@@ -1498,6 +1524,7 @@ public class PurpurWorldConfig { +@@ -1464,6 +1490,7 @@ public class PurpurWorldConfig { public double elderGuardianMaxHealth = 80.0D; public double elderGuardianScale = 1.0D; public boolean elderGuardianTakeDamageFromWater = false; @@ -1376,7 +1376,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void elderGuardianSettings() { elderGuardianRidable = getBoolean("mobs.elder_guardian.ridable", elderGuardianRidable); elderGuardianControllable = getBoolean("mobs.elder_guardian.controllable", elderGuardianControllable); -@@ -1509,6 +1536,7 @@ public class PurpurWorldConfig { +@@ -1475,6 +1502,7 @@ public class PurpurWorldConfig { elderGuardianMaxHealth = getDouble("mobs.elder_guardian.attributes.max_health", elderGuardianMaxHealth); elderGuardianScale = Mth.clamp(getDouble("mobs.elder_guardian.attributes.scale", elderGuardianScale), 0.0625D, 16.0D); elderGuardianTakeDamageFromWater = getBoolean("mobs.elder_guardian.takes-damage-from-water", elderGuardianTakeDamageFromWater); @@ -1384,7 +1384,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean enderDragonRidable = false; -@@ -1555,6 +1583,7 @@ public class PurpurWorldConfig { +@@ -1521,6 +1549,7 @@ public class PurpurWorldConfig { public boolean endermanIgnorePlayerDragonHead = false; public boolean endermanDisableStareAggro = false; public boolean endermanIgnoreProjectiles = false; @@ -1392,7 +1392,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1579,6 +1608,7 @@ public class PurpurWorldConfig { +@@ -1545,6 +1574,7 @@ public class PurpurWorldConfig { endermanIgnorePlayerDragonHead = getBoolean("mobs.enderman.ignore-players-wearing-dragon-head", endermanIgnorePlayerDragonHead); endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro); endermanIgnoreProjectiles = getBoolean("mobs.enderman.ignore-projectiles", endermanIgnoreProjectiles); @@ -1400,7 +1400,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean endermiteRidable = false; -@@ -1587,6 +1617,7 @@ public class PurpurWorldConfig { +@@ -1553,6 +1583,7 @@ public class PurpurWorldConfig { public double endermiteMaxHealth = 8.0D; public double endermiteScale = 1.0D; public boolean endermiteTakeDamageFromWater = false; @@ -1408,7 +1408,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void endermiteSettings() { endermiteRidable = getBoolean("mobs.endermite.ridable", endermiteRidable); endermiteRidableInWater = getBoolean("mobs.endermite.ridable-in-water", endermiteRidableInWater); -@@ -1599,6 +1630,7 @@ public class PurpurWorldConfig { +@@ -1565,6 +1596,7 @@ public class PurpurWorldConfig { endermiteMaxHealth = getDouble("mobs.endermite.attributes.max_health", endermiteMaxHealth); endermiteScale = Mth.clamp(getDouble("mobs.endermite.attributes.scale", endermiteScale), 0.0625D, 16.0D); endermiteTakeDamageFromWater = getBoolean("mobs.endermite.takes-damage-from-water", endermiteTakeDamageFromWater); @@ -1416,7 +1416,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean evokerRidable = false; -@@ -1608,6 +1640,7 @@ public class PurpurWorldConfig { +@@ -1574,6 +1606,7 @@ public class PurpurWorldConfig { public double evokerScale = 1.0D; public boolean evokerBypassMobGriefing = false; public boolean evokerTakeDamageFromWater = false; @@ -1424,7 +1424,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -1621,6 +1654,7 @@ public class PurpurWorldConfig { +@@ -1587,6 +1620,7 @@ public class PurpurWorldConfig { evokerScale = Mth.clamp(getDouble("mobs.evoker.attributes.scale", evokerScale), 0.0625D, 16.0D); evokerBypassMobGriefing = getBoolean("mobs.evoker.bypass-mob-griefing", evokerBypassMobGriefing); evokerTakeDamageFromWater = getBoolean("mobs.evoker.takes-damage-from-water", evokerTakeDamageFromWater); @@ -1432,7 +1432,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean foxRidable = false; -@@ -1632,6 +1666,7 @@ public class PurpurWorldConfig { +@@ -1598,6 +1632,7 @@ public class PurpurWorldConfig { public int foxBreedingTicks = 6000; public boolean foxBypassMobGriefing = false; public boolean foxTakeDamageFromWater = false; @@ -1440,7 +1440,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -1647,6 +1682,7 @@ public class PurpurWorldConfig { +@@ -1613,6 +1648,7 @@ public class PurpurWorldConfig { foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks); foxBypassMobGriefing = getBoolean("mobs.fox.bypass-mob-griefing", foxBypassMobGriefing); foxTakeDamageFromWater = getBoolean("mobs.fox.takes-damage-from-water", foxTakeDamageFromWater); @@ -1448,7 +1448,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean frogRidable = false; -@@ -1669,6 +1705,7 @@ public class PurpurWorldConfig { +@@ -1635,6 +1671,7 @@ public class PurpurWorldConfig { public double ghastMaxHealth = 10.0D; public double ghastScale = 1.0D; public boolean ghastTakeDamageFromWater = false; @@ -1456,7 +1456,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void ghastSettings() { ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable); ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater); -@@ -1682,6 +1719,7 @@ public class PurpurWorldConfig { +@@ -1648,6 +1685,7 @@ public class PurpurWorldConfig { ghastMaxHealth = getDouble("mobs.ghast.attributes.max_health", ghastMaxHealth); ghastScale = Mth.clamp(getDouble("mobs.ghast.attributes.scale", ghastScale), 0.0625D, 16.0D); ghastTakeDamageFromWater = getBoolean("mobs.ghast.takes-damage-from-water", ghastTakeDamageFromWater); @@ -1464,7 +1464,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean giantRidable = false; -@@ -1696,6 +1734,7 @@ public class PurpurWorldConfig { +@@ -1662,6 +1700,7 @@ public class PurpurWorldConfig { public boolean giantHaveAI = false; public boolean giantHaveHostileAI = false; public boolean giantTakeDamageFromWater = false; @@ -1472,7 +1472,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -1718,6 +1757,7 @@ public class PurpurWorldConfig { +@@ -1684,6 +1723,7 @@ public class PurpurWorldConfig { giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI); giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI); giantTakeDamageFromWater = getBoolean("mobs.giant.takes-damage-from-water", giantTakeDamageFromWater); @@ -1480,7 +1480,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean glowSquidRidable = false; -@@ -1726,6 +1766,7 @@ public class PurpurWorldConfig { +@@ -1692,6 +1732,7 @@ public class PurpurWorldConfig { public double glowSquidScale = 1.0D; public boolean glowSquidsCanFly = false; public boolean glowSquidTakeDamageFromWater = false; @@ -1488,7 +1488,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void glowSquidSettings() { glowSquidRidable = getBoolean("mobs.glow_squid.ridable", glowSquidRidable); glowSquidControllable = getBoolean("mobs.glow_squid.controllable", glowSquidControllable); -@@ -1733,6 +1774,7 @@ public class PurpurWorldConfig { +@@ -1699,6 +1740,7 @@ public class PurpurWorldConfig { glowSquidScale = Mth.clamp(getDouble("mobs.glow_squid.attributes.scale", glowSquidScale), 0.0625D, 16.0D); glowSquidsCanFly = getBoolean("mobs.glow_squid.can-fly", glowSquidsCanFly); glowSquidTakeDamageFromWater = getBoolean("mobs.glow_squid.takes-damage-from-water", glowSquidTakeDamageFromWater); @@ -1496,7 +1496,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean goatRidable = false; -@@ -1742,6 +1784,7 @@ public class PurpurWorldConfig { +@@ -1708,6 +1750,7 @@ public class PurpurWorldConfig { public double goatScale = 1.0D; public int goatBreedingTicks = 6000; public boolean goatTakeDamageFromWater = false; @@ -1504,7 +1504,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void goatSettings() { goatRidable = getBoolean("mobs.goat.ridable", goatRidable); goatRidableInWater = getBoolean("mobs.goat.ridable-in-water", goatRidableInWater); -@@ -1750,6 +1793,7 @@ public class PurpurWorldConfig { +@@ -1716,6 +1759,7 @@ public class PurpurWorldConfig { goatScale = Mth.clamp(getDouble("mobs.goat.attributes.scale", goatScale), 0.0625D, 16.0D); goatBreedingTicks = getInt("mobs.goat.breeding-delay-ticks", goatBreedingTicks); goatTakeDamageFromWater = getBoolean("mobs.goat.takes-damage-from-water", goatTakeDamageFromWater); @@ -1512,7 +1512,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean guardianRidable = false; -@@ -1757,6 +1801,7 @@ public class PurpurWorldConfig { +@@ -1723,6 +1767,7 @@ public class PurpurWorldConfig { public double guardianMaxHealth = 30.0D; public double guardianScale = 1.0D; public boolean guardianTakeDamageFromWater = false; @@ -1520,7 +1520,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void guardianSettings() { guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable); guardianControllable = getBoolean("mobs.guardian.controllable", guardianControllable); -@@ -1768,6 +1813,7 @@ public class PurpurWorldConfig { +@@ -1734,6 +1779,7 @@ public class PurpurWorldConfig { guardianMaxHealth = getDouble("mobs.guardian.attributes.max_health", guardianMaxHealth); guardianScale = Mth.clamp(getDouble("mobs.guardian.attributes.scale", guardianScale), 0.0625D, 16.0D); guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater); @@ -1528,7 +1528,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean forceHalloweenSeason = false; -@@ -1784,6 +1830,7 @@ public class PurpurWorldConfig { +@@ -1750,6 +1796,7 @@ public class PurpurWorldConfig { public double hoglinScale = 1.0D; public int hoglinBreedingTicks = 6000; public boolean hoglinTakeDamageFromWater = false; @@ -1536,7 +1536,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -1797,6 +1844,7 @@ public class PurpurWorldConfig { +@@ -1763,6 +1810,7 @@ public class PurpurWorldConfig { hoglinScale = Mth.clamp(getDouble("mobs.hoglin.attributes.scale", hoglinScale), 0.0625D, 16.0D); hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks); hoglinTakeDamageFromWater = getBoolean("mobs.hoglin.takes-damage-from-water", hoglinTakeDamageFromWater); @@ -1544,7 +1544,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean horseRidableInWater = false; -@@ -1808,6 +1856,7 @@ public class PurpurWorldConfig { +@@ -1774,6 +1822,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; @@ -1552,7 +1552,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1825,6 +1874,7 @@ public class PurpurWorldConfig { +@@ -1791,6 +1840,7 @@ public class PurpurWorldConfig { horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax); horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks); horseTakeDamageFromWater = getBoolean("mobs.horse.takes-damage-from-water", horseTakeDamageFromWater); @@ -1560,7 +1560,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean huskRidable = false; -@@ -1837,6 +1887,7 @@ public class PurpurWorldConfig { +@@ -1803,6 +1853,7 @@ public class PurpurWorldConfig { public double huskJockeyChance = 0.05D; public boolean huskJockeyTryExistingChickens = true; public boolean huskTakeDamageFromWater = false; @@ -1568,7 +1568,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -1853,6 +1904,7 @@ public class PurpurWorldConfig { +@@ -1819,6 +1870,7 @@ public class PurpurWorldConfig { huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance); huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens); huskTakeDamageFromWater = getBoolean("mobs.husk.takes-damage-from-water", huskTakeDamageFromWater); @@ -1576,7 +1576,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean illusionerRidable = false; -@@ -1863,6 +1915,7 @@ public class PurpurWorldConfig { +@@ -1829,6 +1881,7 @@ public class PurpurWorldConfig { public double illusionerMaxHealth = 32.0D; public double illusionerScale = 1.0D; public boolean illusionerTakeDamageFromWater = false; @@ -1584,7 +1584,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void illusionerSettings() { illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable); illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater); -@@ -1881,6 +1934,7 @@ public class PurpurWorldConfig { +@@ -1847,6 +1900,7 @@ public class PurpurWorldConfig { illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max_health", illusionerMaxHealth); illusionerScale = Mth.clamp(getDouble("mobs.illusioner.attributes.scale", illusionerScale), 0.0625D, 16.0D); illusionerTakeDamageFromWater = getBoolean("mobs.illusioner.takes-damage-from-water", illusionerTakeDamageFromWater); @@ -1592,7 +1592,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean ironGolemRidable = false; -@@ -1892,6 +1946,7 @@ public class PurpurWorldConfig { +@@ -1858,6 +1912,7 @@ public class PurpurWorldConfig { public boolean ironGolemTakeDamageFromWater = false; public boolean ironGolemPoppyCalm = false; public boolean ironGolemHealCalm = false; @@ -1600,7 +1600,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1907,6 +1962,7 @@ public class PurpurWorldConfig { +@@ -1873,6 +1928,7 @@ public class PurpurWorldConfig { ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater); ironGolemPoppyCalm = getBoolean("mobs.iron_golem.poppy-calms-anger", ironGolemPoppyCalm); ironGolemHealCalm = getBoolean("mobs.iron_golem.healing-calms-anger", ironGolemHealCalm); @@ -1608,7 +1608,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean llamaRidable = false; -@@ -1921,6 +1977,7 @@ public class PurpurWorldConfig { +@@ -1887,6 +1943,7 @@ public class PurpurWorldConfig { public int llamaBreedingTicks = 6000; public boolean llamaTakeDamageFromWater = false; public boolean llamaJoinCaravans = true; @@ -1616,7 +1616,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1941,6 +1998,7 @@ public class PurpurWorldConfig { +@@ -1907,6 +1964,7 @@ public class PurpurWorldConfig { llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks); llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater); llamaJoinCaravans = getBoolean("mobs.llama.join-caravans", llamaJoinCaravans); @@ -1624,7 +1624,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean magmaCubeRidable = false; -@@ -1951,6 +2009,7 @@ public class PurpurWorldConfig { +@@ -1917,6 +1975,7 @@ public class PurpurWorldConfig { public Map magmaCubeMaxHealthCache = new HashMap<>(); public Map magmaCubeAttackDamageCache = new HashMap<>(); public boolean magmaCubeTakeDamageFromWater = false; @@ -1632,7 +1632,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void magmaCubeSettings() { magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable); magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater); -@@ -1965,6 +2024,7 @@ public class PurpurWorldConfig { +@@ -1931,6 +1990,7 @@ public class PurpurWorldConfig { magmaCubeMaxHealthCache.clear(); magmaCubeAttackDamageCache.clear(); magmaCubeTakeDamageFromWater = getBoolean("mobs.magma_cube.takes-damage-from-water", magmaCubeTakeDamageFromWater); @@ -1640,7 +1640,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean mooshroomRidable = false; -@@ -1974,6 +2034,7 @@ public class PurpurWorldConfig { +@@ -1940,6 +2000,7 @@ public class PurpurWorldConfig { public double mooshroomScale = 1.0D; public int mooshroomBreedingTicks = 6000; public boolean mooshroomTakeDamageFromWater = false; @@ -1648,7 +1648,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1987,6 +2048,7 @@ public class PurpurWorldConfig { +@@ -1953,6 +2014,7 @@ public class PurpurWorldConfig { mooshroomScale = Mth.clamp(getDouble("mobs.mooshroom.attributes.scale", mooshroomScale), 0.0625D, 16.0D); mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks); mooshroomTakeDamageFromWater = getBoolean("mobs.mooshroom.takes-damage-from-water", mooshroomTakeDamageFromWater); @@ -1656,7 +1656,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean muleRidableInWater = false; -@@ -1998,6 +2060,7 @@ public class PurpurWorldConfig { +@@ -1964,6 +2026,7 @@ public class PurpurWorldConfig { public double muleMovementSpeedMax = 0.175D; public int muleBreedingTicks = 6000; public boolean muleTakeDamageFromWater = false; @@ -1664,7 +1664,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -2015,6 +2078,7 @@ public class PurpurWorldConfig { +@@ -1981,6 +2044,7 @@ public class PurpurWorldConfig { muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks); muleTakeDamageFromWater = getBoolean("mobs.mule.takes-damage-from-water", muleTakeDamageFromWater); @@ -1672,7 +1672,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean ocelotRidable = false; -@@ -2024,6 +2088,7 @@ public class PurpurWorldConfig { +@@ -1990,6 +2054,7 @@ public class PurpurWorldConfig { public double ocelotScale = 1.0D; public int ocelotBreedingTicks = 6000; public boolean ocelotTakeDamageFromWater = false; @@ -1680,7 +1680,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -2037,6 +2102,7 @@ public class PurpurWorldConfig { +@@ -2003,6 +2068,7 @@ public class PurpurWorldConfig { ocelotScale = Mth.clamp(getDouble("mobs.ocelot.attributes.scale", ocelotScale), 0.0625D, 16.0D); ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks); ocelotTakeDamageFromWater = getBoolean("mobs.ocelot.takes-damage-from-water", ocelotTakeDamageFromWater); @@ -1688,7 +1688,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean pandaRidable = false; -@@ -2046,6 +2112,7 @@ public class PurpurWorldConfig { +@@ -2012,6 +2078,7 @@ public class PurpurWorldConfig { public double pandaScale = 1.0D; public int pandaBreedingTicks = 6000; public boolean pandaTakeDamageFromWater = false; @@ -1696,7 +1696,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -2059,6 +2126,7 @@ public class PurpurWorldConfig { +@@ -2025,6 +2092,7 @@ public class PurpurWorldConfig { pandaScale = Mth.clamp(getDouble("mobs.panda.attributes.scale", pandaScale), 0.0625D, 16.0D); pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks); pandaTakeDamageFromWater = getBoolean("mobs.panda.takes-damage-from-water", pandaTakeDamageFromWater); @@ -1704,7 +1704,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean parrotRidable = false; -@@ -2069,6 +2137,7 @@ public class PurpurWorldConfig { +@@ -2035,6 +2103,7 @@ public class PurpurWorldConfig { public double parrotScale = 1.0D; public boolean parrotTakeDamageFromWater = false; public boolean parrotBreedable = false; @@ -1712,7 +1712,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -2083,6 +2152,7 @@ public class PurpurWorldConfig { +@@ -2049,6 +2118,7 @@ public class PurpurWorldConfig { parrotScale = Mth.clamp(getDouble("mobs.parrot.attributes.scale", parrotScale), 0.0625D, 16.0D); parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater); parrotBreedable = getBoolean("mobs.parrot.can-breed", parrotBreedable); @@ -1720,7 +1720,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean phantomRidable = false; -@@ -2110,6 +2180,7 @@ public class PurpurWorldConfig { +@@ -2076,6 +2146,7 @@ public class PurpurWorldConfig { public boolean phantomBurnInDaylight = true; public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; @@ -1728,7 +1728,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -2145,6 +2216,7 @@ public class PurpurWorldConfig { +@@ -2111,6 +2182,7 @@ public class PurpurWorldConfig { phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop); phantomTakeDamageFromWater = getBoolean("mobs.phantom.takes-damage-from-water", phantomTakeDamageFromWater); @@ -1736,7 +1736,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean pigRidable = false; -@@ -2155,6 +2227,7 @@ public class PurpurWorldConfig { +@@ -2121,6 +2193,7 @@ public class PurpurWorldConfig { public boolean pigGiveSaddleBack = false; public int pigBreedingTicks = 6000; public boolean pigTakeDamageFromWater = false; @@ -1744,7 +1744,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -2169,6 +2242,7 @@ public class PurpurWorldConfig { +@@ -2135,6 +2208,7 @@ public class PurpurWorldConfig { pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks); pigTakeDamageFromWater = getBoolean("mobs.pig.takes-damage-from-water", pigTakeDamageFromWater); @@ -1752,7 +1752,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean piglinRidable = false; -@@ -2179,6 +2253,7 @@ public class PurpurWorldConfig { +@@ -2145,6 +2219,7 @@ public class PurpurWorldConfig { public boolean piglinBypassMobGriefing = false; public boolean piglinTakeDamageFromWater = false; public int piglinPortalSpawnModifier = 2000; @@ -1760,7 +1760,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2193,6 +2268,7 @@ public class PurpurWorldConfig { +@@ -2159,6 +2234,7 @@ public class PurpurWorldConfig { piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater); piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier); @@ -1768,7 +1768,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean piglinBruteRidable = false; -@@ -2201,6 +2277,7 @@ public class PurpurWorldConfig { +@@ -2167,6 +2243,7 @@ public class PurpurWorldConfig { public double piglinBruteMaxHealth = 50.0D; public double piglinBruteScale = 1.0D; public boolean piglinBruteTakeDamageFromWater = false; @@ -1776,7 +1776,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void piglinBruteSettings() { piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable); piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater); -@@ -2213,6 +2290,7 @@ public class PurpurWorldConfig { +@@ -2179,6 +2256,7 @@ public class PurpurWorldConfig { piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth); piglinBruteScale = Mth.clamp(getDouble("mobs.piglin_brute.attributes.scale", piglinBruteScale), 0.0625D, 16.0D); piglinBruteTakeDamageFromWater = getBoolean("mobs.piglin_brute.takes-damage-from-water", piglinBruteTakeDamageFromWater); @@ -1784,7 +1784,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean pillagerRidable = false; -@@ -2222,6 +2300,7 @@ public class PurpurWorldConfig { +@@ -2188,6 +2266,7 @@ public class PurpurWorldConfig { public double pillagerScale = 1.0D; public boolean pillagerBypassMobGriefing = false; public boolean pillagerTakeDamageFromWater = false; @@ -1792,7 +1792,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -2235,6 +2314,7 @@ public class PurpurWorldConfig { +@@ -2201,6 +2280,7 @@ public class PurpurWorldConfig { pillagerScale = Mth.clamp(getDouble("mobs.pillager.attributes.scale", pillagerScale), 0.0625D, 16.0D); pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing); pillagerTakeDamageFromWater = getBoolean("mobs.pillager.takes-damage-from-water", pillagerTakeDamageFromWater); @@ -1800,7 +1800,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean polarBearRidable = false; -@@ -2246,6 +2326,7 @@ public class PurpurWorldConfig { +@@ -2212,6 +2292,7 @@ public class PurpurWorldConfig { public Item polarBearBreedableItem = null; public int polarBearBreedingTicks = 6000; public boolean polarBearTakeDamageFromWater = false; @@ -1808,7 +1808,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -2262,6 +2343,7 @@ public class PurpurWorldConfig { +@@ -2228,6 +2309,7 @@ public class PurpurWorldConfig { if (item != Items.AIR) polarBearBreedableItem = item; polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks); polarBearTakeDamageFromWater = getBoolean("mobs.polar_bear.takes-damage-from-water", polarBearTakeDamageFromWater); @@ -1816,7 +1816,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean pufferfishRidable = false; -@@ -2269,6 +2351,7 @@ public class PurpurWorldConfig { +@@ -2235,6 +2317,7 @@ public class PurpurWorldConfig { public double pufferfishMaxHealth = 3.0D; public double pufferfishScale = 1.0D; public boolean pufferfishTakeDamageFromWater = false; @@ -1824,7 +1824,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void pufferfishSettings() { pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable); pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable); -@@ -2280,6 +2363,7 @@ public class PurpurWorldConfig { +@@ -2246,6 +2329,7 @@ public class PurpurWorldConfig { pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth); pufferfishScale = Mth.clamp(getDouble("mobs.pufferfish.attributes.scale", pufferfishScale), 0.0625D, 16.0D); pufferfishTakeDamageFromWater = getBoolean("mobs.pufferfish.takes-damage-from-water", pufferfishTakeDamageFromWater); @@ -1832,7 +1832,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean rabbitRidable = false; -@@ -2292,6 +2376,7 @@ public class PurpurWorldConfig { +@@ -2258,6 +2342,7 @@ public class PurpurWorldConfig { public int rabbitBreedingTicks = 6000; public boolean rabbitBypassMobGriefing = false; public boolean rabbitTakeDamageFromWater = false; @@ -1840,7 +1840,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -2308,6 +2393,7 @@ public class PurpurWorldConfig { +@@ -2274,6 +2359,7 @@ public class PurpurWorldConfig { rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); rabbitBypassMobGriefing = getBoolean("mobs.rabbit.bypass-mob-griefing", rabbitBypassMobGriefing); rabbitTakeDamageFromWater = getBoolean("mobs.rabbit.takes-damage-from-water", rabbitTakeDamageFromWater); @@ -1848,7 +1848,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean ravagerRidable = false; -@@ -2318,6 +2404,7 @@ public class PurpurWorldConfig { +@@ -2284,6 +2370,7 @@ public class PurpurWorldConfig { public boolean ravagerBypassMobGriefing = false; public boolean ravagerTakeDamageFromWater = false; public List ravagerGriefableBlocks = new ArrayList<>(); @@ -1856,7 +1856,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -2348,6 +2435,7 @@ public class PurpurWorldConfig { +@@ -2314,6 +2401,7 @@ public class PurpurWorldConfig { ravagerGriefableBlocks.add(block); } }); @@ -1864,7 +1864,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean salmonRidable = false; -@@ -2355,6 +2443,7 @@ public class PurpurWorldConfig { +@@ -2321,6 +2409,7 @@ public class PurpurWorldConfig { public double salmonMaxHealth = 3.0D; public double salmonScale = 1.0D; public boolean salmonTakeDamageFromWater = false; @@ -1872,7 +1872,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void salmonSettings() { salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable); salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable); -@@ -2366,6 +2455,7 @@ public class PurpurWorldConfig { +@@ -2332,6 +2421,7 @@ public class PurpurWorldConfig { salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth); salmonScale = Mth.clamp(getDouble("mobs.salmon.attributes.scale", salmonScale), 0.0625D, 16.0D); salmonTakeDamageFromWater = getBoolean("mobs.salmon.takes-damage-from-water", salmonTakeDamageFromWater); @@ -1880,7 +1880,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean sheepRidable = false; -@@ -2376,6 +2466,7 @@ public class PurpurWorldConfig { +@@ -2342,6 +2432,7 @@ public class PurpurWorldConfig { public int sheepBreedingTicks = 6000; public boolean sheepBypassMobGriefing = false; public boolean sheepTakeDamageFromWater = false; @@ -1888,7 +1888,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -2390,6 +2481,7 @@ public class PurpurWorldConfig { +@@ -2356,6 +2447,7 @@ public class PurpurWorldConfig { sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing); sheepTakeDamageFromWater = getBoolean("mobs.sheep.takes-damage-from-water", sheepTakeDamageFromWater); @@ -1896,7 +1896,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean shulkerRidable = false; -@@ -2404,6 +2496,7 @@ public class PurpurWorldConfig { +@@ -2370,6 +2462,7 @@ public class PurpurWorldConfig { public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0"; public boolean shulkerSpawnFromBulletRandomColor = false; public boolean shulkerChangeColorWithDye = false; @@ -1904,7 +1904,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2422,6 +2515,7 @@ public class PurpurWorldConfig { +@@ -2388,6 +2481,7 @@ public class PurpurWorldConfig { shulkerSpawnFromBulletNearbyEquation = getString("mobs.shulker.spawn-from-bullet.nearby-equation", shulkerSpawnFromBulletNearbyEquation); shulkerSpawnFromBulletRandomColor = getBoolean("mobs.shulker.spawn-from-bullet.random-color", shulkerSpawnFromBulletRandomColor); shulkerChangeColorWithDye = getBoolean("mobs.shulker.change-color-with-dye", shulkerChangeColorWithDye); @@ -1912,7 +1912,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean silverfishRidable = false; -@@ -2433,6 +2527,7 @@ public class PurpurWorldConfig { +@@ -2399,6 +2493,7 @@ public class PurpurWorldConfig { public double silverfishAttackDamage = 1.0D; public boolean silverfishBypassMobGriefing = false; public boolean silverfishTakeDamageFromWater = false; @@ -1920,7 +1920,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -2448,6 +2543,7 @@ public class PurpurWorldConfig { +@@ -2414,6 +2509,7 @@ public class PurpurWorldConfig { silverfishAttackDamage = getDouble("mobs.silverfish.attributes.attack_damage", silverfishAttackDamage); silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing); silverfishTakeDamageFromWater = getBoolean("mobs.silverfish.takes-damage-from-water", silverfishTakeDamageFromWater); @@ -1928,7 +1928,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean skeletonRidable = false; -@@ -2456,6 +2552,7 @@ public class PurpurWorldConfig { +@@ -2422,6 +2518,7 @@ public class PurpurWorldConfig { public double skeletonMaxHealth = 20.0D; public double skeletonScale = 1.0D; public boolean skeletonTakeDamageFromWater = false; @@ -1936,7 +1936,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2468,6 +2565,7 @@ public class PurpurWorldConfig { +@@ -2434,6 +2531,7 @@ public class PurpurWorldConfig { skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth); skeletonScale = Mth.clamp(getDouble("mobs.skeleton.attributes.scale", skeletonScale), 0.0625D, 16.0D); skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater); @@ -1944,7 +1944,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean skeletonHorseRidable = false; -@@ -2480,6 +2578,7 @@ public class PurpurWorldConfig { +@@ -2446,6 +2544,7 @@ public class PurpurWorldConfig { public double skeletonHorseMovementSpeedMin = 0.2D; public double skeletonHorseMovementSpeedMax = 0.2D; public boolean skeletonHorseTakeDamageFromWater = false; @@ -1952,7 +1952,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void skeletonHorseSettings() { skeletonHorseRidable = getBoolean("mobs.skeleton_horse.ridable", skeletonHorseRidable); skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater); -@@ -2497,6 +2596,7 @@ public class PurpurWorldConfig { +@@ -2463,6 +2562,7 @@ public class PurpurWorldConfig { skeletonHorseMovementSpeedMin = getDouble("mobs.skeleton_horse.attributes.movement_speed.min", skeletonHorseMovementSpeedMin); skeletonHorseMovementSpeedMax = getDouble("mobs.skeleton_horse.attributes.movement_speed.max", skeletonHorseMovementSpeedMax); skeletonHorseTakeDamageFromWater = getBoolean("mobs.skeleton_horse.takes-damage-from-water", skeletonHorseTakeDamageFromWater); @@ -1960,7 +1960,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean slimeRidable = false; -@@ -2507,6 +2607,7 @@ public class PurpurWorldConfig { +@@ -2473,6 +2573,7 @@ public class PurpurWorldConfig { public Map slimeMaxHealthCache = new HashMap<>(); public Map slimeAttackDamageCache = new HashMap<>(); public boolean slimeTakeDamageFromWater = false; @@ -1968,7 +1968,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void slimeSettings() { slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable); slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater); -@@ -2521,6 +2622,7 @@ public class PurpurWorldConfig { +@@ -2487,6 +2588,7 @@ public class PurpurWorldConfig { slimeMaxHealthCache.clear(); slimeAttackDamageCache.clear(); slimeTakeDamageFromWater = getBoolean("mobs.slime.takes-damage-from-water", slimeTakeDamageFromWater); @@ -1976,7 +1976,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean snowGolemRidable = false; -@@ -2536,6 +2638,7 @@ public class PurpurWorldConfig { +@@ -2502,6 +2604,7 @@ public class PurpurWorldConfig { public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; public boolean snowGolemTakeDamageFromWater = true; @@ -1984,7 +1984,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -2555,6 +2658,7 @@ public class PurpurWorldConfig { +@@ -2521,6 +2624,7 @@ public class PurpurWorldConfig { snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance); snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing); snowGolemTakeDamageFromWater = getBoolean("mobs.snow_golem.takes-damage-from-water", snowGolemTakeDamageFromWater); @@ -1992,7 +1992,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean snifferRidable = false; -@@ -2580,6 +2684,7 @@ public class PurpurWorldConfig { +@@ -2546,6 +2650,7 @@ public class PurpurWorldConfig { public double squidOffsetWaterCheck = 0.0D; public boolean squidsCanFly = false; public boolean squidTakeDamageFromWater = false; @@ -2000,7 +2000,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -2594,6 +2699,7 @@ public class PurpurWorldConfig { +@@ -2560,6 +2665,7 @@ public class PurpurWorldConfig { squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly); squidTakeDamageFromWater = getBoolean("mobs.squid.takes-damage-from-water", squidTakeDamageFromWater); @@ -2008,7 +2008,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean spiderRidable = false; -@@ -2602,6 +2708,7 @@ public class PurpurWorldConfig { +@@ -2568,6 +2674,7 @@ public class PurpurWorldConfig { public double spiderMaxHealth = 16.0D; public double spiderScale = 1.0D; public boolean spiderTakeDamageFromWater = false; @@ -2016,7 +2016,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -2614,6 +2721,7 @@ public class PurpurWorldConfig { +@@ -2580,6 +2687,7 @@ public class PurpurWorldConfig { spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth); spiderScale = Mth.clamp(getDouble("mobs.spider.attributes.scale", spiderScale), 0.0625D, 16.0D); spiderTakeDamageFromWater = getBoolean("mobs.spider.takes-damage-from-water", spiderTakeDamageFromWater); @@ -2024,7 +2024,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean strayRidable = false; -@@ -2622,6 +2730,7 @@ public class PurpurWorldConfig { +@@ -2588,6 +2696,7 @@ public class PurpurWorldConfig { public double strayMaxHealth = 20.0D; public double strayScale = 1.0D; public boolean strayTakeDamageFromWater = false; @@ -2032,7 +2032,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void straySettings() { strayRidable = getBoolean("mobs.stray.ridable", strayRidable); strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater); -@@ -2634,6 +2743,7 @@ public class PurpurWorldConfig { +@@ -2600,6 +2709,7 @@ public class PurpurWorldConfig { strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth); strayScale = Mth.clamp(getDouble("mobs.stray.attributes.scale", strayScale), 0.0625D, 16.0D); strayTakeDamageFromWater = getBoolean("mobs.stray.takes-damage-from-water", strayTakeDamageFromWater); @@ -2040,7 +2040,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean striderRidable = false; -@@ -2644,6 +2754,7 @@ public class PurpurWorldConfig { +@@ -2610,6 +2720,7 @@ public class PurpurWorldConfig { public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; public boolean striderTakeDamageFromWater = true; @@ -2048,7 +2048,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -2658,6 +2769,7 @@ public class PurpurWorldConfig { +@@ -2624,6 +2735,7 @@ public class PurpurWorldConfig { striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack); striderTakeDamageFromWater = getBoolean("mobs.strider.takes-damage-from-water", striderTakeDamageFromWater); @@ -2056,7 +2056,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean tadpoleRidable = false; -@@ -2680,6 +2792,7 @@ public class PurpurWorldConfig { +@@ -2646,6 +2758,7 @@ public class PurpurWorldConfig { public double traderLlamaMovementSpeedMax = 0.175D; public int traderLlamaBreedingTicks = 6000; public boolean traderLlamaTakeDamageFromWater = false; @@ -2064,7 +2064,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -2699,6 +2812,7 @@ public class PurpurWorldConfig { +@@ -2665,6 +2778,7 @@ public class PurpurWorldConfig { traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks); traderLlamaTakeDamageFromWater = getBoolean("mobs.trader_llama.takes-damage-from-water", traderLlamaTakeDamageFromWater); @@ -2072,7 +2072,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean tropicalFishRidable = false; -@@ -2706,6 +2820,7 @@ public class PurpurWorldConfig { +@@ -2672,6 +2786,7 @@ public class PurpurWorldConfig { public double tropicalFishMaxHealth = 3.0D; public double tropicalFishScale = 1.0D; public boolean tropicalFishTakeDamageFromWater = false; @@ -2080,7 +2080,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void tropicalFishSettings() { tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable); -@@ -2717,6 +2832,7 @@ public class PurpurWorldConfig { +@@ -2683,6 +2798,7 @@ public class PurpurWorldConfig { tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth); tropicalFishScale = Mth.clamp(getDouble("mobs.tropical_fish.attributes.scale", tropicalFishScale), 0.0625D, 16.0D); tropicalFishTakeDamageFromWater = getBoolean("mobs.tropical_fish.takes-damage-from-water", tropicalFishTakeDamageFromWater); @@ -2088,7 +2088,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean turtleRidable = false; -@@ -2726,6 +2842,7 @@ public class PurpurWorldConfig { +@@ -2692,6 +2808,7 @@ public class PurpurWorldConfig { public double turtleScale = 1.0D; public int turtleBreedingTicks = 6000; public boolean turtleTakeDamageFromWater = false; @@ -2096,7 +2096,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -2739,6 +2856,7 @@ public class PurpurWorldConfig { +@@ -2705,6 +2822,7 @@ public class PurpurWorldConfig { turtleScale = Mth.clamp(getDouble("mobs.turtle.attributes.scale", turtleScale), 0.0625D, 16.0D); turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks); turtleTakeDamageFromWater = getBoolean("mobs.turtle.takes-damage-from-water", turtleTakeDamageFromWater); @@ -2104,7 +2104,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean vexRidable = false; -@@ -2748,6 +2866,7 @@ public class PurpurWorldConfig { +@@ -2714,6 +2832,7 @@ public class PurpurWorldConfig { public double vexMaxHealth = 14.0D; public double vexScale = 1.0D; public boolean vexTakeDamageFromWater = false; @@ -2112,7 +2112,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void vexSettings() { vexRidable = getBoolean("mobs.vex.ridable", vexRidable); vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater); -@@ -2761,6 +2880,7 @@ public class PurpurWorldConfig { +@@ -2727,6 +2846,7 @@ public class PurpurWorldConfig { vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth); vexScale = Mth.clamp(getDouble("mobs.vex.attributes.scale", vexScale), 0.0625D, 16.0D); vexTakeDamageFromWater = getBoolean("mobs.vex.takes-damage-from-water", vexTakeDamageFromWater); @@ -2120,7 +2120,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean villagerRidable = false; -@@ -2777,6 +2897,7 @@ public class PurpurWorldConfig { +@@ -2743,6 +2863,7 @@ public class PurpurWorldConfig { public boolean villagerBypassMobGriefing = false; public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; @@ -2128,7 +2128,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2797,6 +2918,7 @@ public class PurpurWorldConfig { +@@ -2763,6 +2884,7 @@ public class PurpurWorldConfig { villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); @@ -2136,7 +2136,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean vindicatorRidable = false; -@@ -2806,6 +2928,7 @@ public class PurpurWorldConfig { +@@ -2772,6 +2894,7 @@ public class PurpurWorldConfig { public double vindicatorScale = 1.0D; public double vindicatorJohnnySpawnChance = 0D; public boolean vindicatorTakeDamageFromWater = false; @@ -2144,7 +2144,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -2819,6 +2942,7 @@ public class PurpurWorldConfig { +@@ -2785,6 +2908,7 @@ public class PurpurWorldConfig { vindicatorScale = Mth.clamp(getDouble("mobs.vindicator.attributes.scale", vindicatorScale), 0.0625D, 16.0D); vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance); vindicatorTakeDamageFromWater = getBoolean("mobs.vindicator.takes-damage-from-water", vindicatorTakeDamageFromWater); @@ -2152,7 +2152,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean wanderingTraderRidable = false; -@@ -2830,6 +2954,7 @@ public class PurpurWorldConfig { +@@ -2796,6 +2920,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderTakeDamageFromWater = false; public boolean wanderingTraderAllowTrading = true; @@ -2160,7 +2160,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -2845,6 +2970,7 @@ public class PurpurWorldConfig { +@@ -2811,6 +2936,7 @@ public class PurpurWorldConfig { wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater); wanderingTraderAllowTrading = getBoolean("mobs.wandering_trader.allow-trading", wanderingTraderAllowTrading); @@ -2168,7 +2168,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean wardenRidable = false; -@@ -2862,6 +2988,7 @@ public class PurpurWorldConfig { +@@ -2828,6 +2954,7 @@ public class PurpurWorldConfig { public double witchMaxHealth = 26.0D; public double witchScale = 1.0D; public boolean witchTakeDamageFromWater = false; @@ -2176,7 +2176,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void witchSettings() { witchRidable = getBoolean("mobs.witch.ridable", witchRidable); witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater); -@@ -2874,6 +3001,7 @@ public class PurpurWorldConfig { +@@ -2840,6 +2967,7 @@ public class PurpurWorldConfig { witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth); witchScale = Mth.clamp(getDouble("mobs.witch.attributes.scale", witchScale), 0.0625D, 16.0D); witchTakeDamageFromWater = getBoolean("mobs.witch.takes-damage-from-water", witchTakeDamageFromWater); @@ -2184,7 +2184,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean witherRidable = false; -@@ -2889,6 +3017,7 @@ public class PurpurWorldConfig { +@@ -2855,6 +2983,7 @@ public class PurpurWorldConfig { public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; public boolean witherPlaySpawnSound = true; @@ -2192,7 +2192,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2912,6 +3041,7 @@ public class PurpurWorldConfig { +@@ -2878,6 +3007,7 @@ public class PurpurWorldConfig { witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius); witherPlaySpawnSound = getBoolean("mobs.wither.play-spawn-sound", witherPlaySpawnSound); @@ -2200,7 +2200,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean witherSkeletonRidable = false; -@@ -2920,6 +3050,7 @@ public class PurpurWorldConfig { +@@ -2886,6 +3016,7 @@ public class PurpurWorldConfig { public double witherSkeletonMaxHealth = 20.0D; public double witherSkeletonScale = 1.0D; public boolean witherSkeletonTakeDamageFromWater = false; @@ -2208,7 +2208,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void witherSkeletonSettings() { witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); -@@ -2932,6 +3063,7 @@ public class PurpurWorldConfig { +@@ -2898,6 +3029,7 @@ public class PurpurWorldConfig { witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth); witherSkeletonScale = Mth.clamp(getDouble("mobs.wither_skeleton.attributes.scale", witherSkeletonScale), 0.0625D, 16.0D); witherSkeletonTakeDamageFromWater = getBoolean("mobs.wither_skeleton.takes-damage-from-water", witherSkeletonTakeDamageFromWater); @@ -2216,7 +2216,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean wolfRidable = false; -@@ -2944,6 +3076,7 @@ public class PurpurWorldConfig { +@@ -2910,6 +3042,7 @@ public class PurpurWorldConfig { public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; public boolean wolfTakeDamageFromWater = false; @@ -2224,7 +2224,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -2964,6 +3097,7 @@ public class PurpurWorldConfig { +@@ -2930,6 +3063,7 @@ public class PurpurWorldConfig { wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid); wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks); wolfTakeDamageFromWater = getBoolean("mobs.wolf.takes-damage-from-water", wolfTakeDamageFromWater); @@ -2232,7 +2232,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean zoglinRidable = false; -@@ -2972,6 +3106,7 @@ public class PurpurWorldConfig { +@@ -2938,6 +3072,7 @@ public class PurpurWorldConfig { public double zoglinMaxHealth = 40.0D; public double zoglinScale = 1.0D; public boolean zoglinTakeDamageFromWater = false; @@ -2240,7 +2240,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void zoglinSettings() { zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable); zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater); -@@ -2984,6 +3119,7 @@ public class PurpurWorldConfig { +@@ -2950,6 +3085,7 @@ public class PurpurWorldConfig { zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth); zoglinScale = Mth.clamp(getDouble("mobs.zoglin.attributes.scale", zoglinScale), 0.0625D, 16.0D); zoglinTakeDamageFromWater = getBoolean("mobs.zoglin.takes-damage-from-water", zoglinTakeDamageFromWater); @@ -2248,7 +2248,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean zombieRidable = false; -@@ -2998,6 +3134,7 @@ public class PurpurWorldConfig { +@@ -2964,6 +3100,7 @@ public class PurpurWorldConfig { public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; @@ -2256,7 +2256,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -3016,6 +3153,7 @@ public class PurpurWorldConfig { +@@ -2982,6 +3119,7 @@ public class PurpurWorldConfig { zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing); zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater); @@ -2264,7 +2264,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean zombieHorseRidable = false; -@@ -3029,6 +3167,7 @@ public class PurpurWorldConfig { +@@ -2995,6 +3133,7 @@ public class PurpurWorldConfig { public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseSpawnChance = 0.0D; public boolean zombieHorseTakeDamageFromWater = false; @@ -2272,7 +2272,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void zombieHorseSettings() { zombieHorseRidable = getBoolean("mobs.zombie_horse.ridable", zombieHorseRidable); zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); -@@ -3047,6 +3186,7 @@ public class PurpurWorldConfig { +@@ -3013,6 +3152,7 @@ public class PurpurWorldConfig { zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax); zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance); zombieHorseTakeDamageFromWater = getBoolean("mobs.zombie_horse.takes-damage-from-water", zombieHorseTakeDamageFromWater); @@ -2280,7 +2280,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean zombieVillagerRidable = false; -@@ -3062,6 +3202,7 @@ public class PurpurWorldConfig { +@@ -3028,6 +3168,7 @@ public class PurpurWorldConfig { public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; public boolean zombieVillagerCureEnabled = true; @@ -2288,7 +2288,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -3081,6 +3222,7 @@ public class PurpurWorldConfig { +@@ -3047,6 +3188,7 @@ public class PurpurWorldConfig { zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin); zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax); zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled); @@ -2296,7 +2296,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 } public boolean zombifiedPiglinRidable = false; -@@ -3094,6 +3236,7 @@ public class PurpurWorldConfig { +@@ -3060,6 +3202,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; public boolean zombifiedPiglinTakeDamageFromWater = false; @@ -2304,7 +2304,7 @@ index facbd1fe9ef8bc0320f84035effe130d9b222d49..1e34756123f18b27b3328c409b22c117 private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -3111,6 +3254,7 @@ public class PurpurWorldConfig { +@@ -3077,6 +3220,7 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); diff --git a/patches/server/0220-Grindstone-API.patch b/patches/server/0219-Grindstone-API.patch similarity index 100% rename from patches/server/0220-Grindstone-API.patch rename to patches/server/0219-Grindstone-API.patch diff --git a/patches/server/0221-Ability-for-hoe-to-replant-crops-and-nether-warts.patch b/patches/server/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch similarity index 96% rename from patches/server/0221-Ability-for-hoe-to-replant-crops-and-nether-warts.patch rename to patches/server/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch index 7d41d5e69..bcb5452f4 100644 --- a/patches/server/0221-Ability-for-hoe-to-replant-crops-and-nether-warts.patch +++ b/patches/server/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch @@ -74,10 +74,10 @@ index acbd60a2f162fe0e254e36d0e8e7face3fc8a7b3..da1c7999ca64199387054de46489d3ff + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1e34756123f18b27b3328c409b22c11737dad035..6a562966878f9305e44fe966621fe591e4f1f0e7 100644 +index b2533323a671648517e6de7a062b151ef6c25165..83219182b008ebae7d9dda54c92d9a6c22d0dcb1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -541,6 +541,8 @@ public class PurpurWorldConfig { +@@ -507,6 +507,8 @@ public class PurpurWorldConfig { public Map axeWeatherables = new HashMap<>(); public Map hoeTillables = new HashMap<>(); public Map shovelFlattenables = new HashMap<>(); @@ -86,7 +86,7 @@ index 1e34756123f18b27b3328c409b22c11737dad035..6a562966878f9305e44fe966621fe591 private void toolSettings() { axeStrippables.clear(); axeWaxables.clear(); -@@ -808,6 +810,8 @@ public class PurpurWorldConfig { +@@ -774,6 +776,8 @@ public class PurpurWorldConfig { }); shovelFlattenables.put(block, new Flattenable(into, drops)); }); diff --git a/patches/server/0222-Turtle-eggs-random-tick-crack-chance.patch b/patches/server/0221-Turtle-eggs-random-tick-crack-chance.patch similarity index 93% rename from patches/server/0222-Turtle-eggs-random-tick-crack-chance.patch rename to patches/server/0221-Turtle-eggs-random-tick-crack-chance.patch index e3bcd2b17..f44b60720 100644 --- a/patches/server/0222-Turtle-eggs-random-tick-crack-chance.patch +++ b/patches/server/0221-Turtle-eggs-random-tick-crack-chance.patch @@ -18,10 +18,10 @@ index 0c732cfbd9ce50198a3f85ae8ef2263d7ae0bc1a..2f0e8aeb9c45853fca12ddd78a7d5181 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6a562966878f9305e44fe966621fe591e4f1f0e7..2436fb55fca809f1c709a1539762e3e11b76637f 100644 +index 83219182b008ebae7d9dda54c92d9a6c22d0dcb1..e37c036da425e1e7c26259787139adaab33e0f30 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1068,11 +1068,13 @@ public class PurpurWorldConfig { +@@ -1034,11 +1034,13 @@ public class PurpurWorldConfig { public boolean turtleEggsBreakFromItems = false; public boolean turtleEggsBreakFromMinecarts = false; public boolean turtleEggsBypassMobGriefing = false; diff --git a/patches/server/0223-Mob-head-visibility-percent.patch b/patches/server/0222-Mob-head-visibility-percent.patch similarity index 91% rename from patches/server/0223-Mob-head-visibility-percent.patch rename to patches/server/0222-Mob-head-visibility-percent.patch index c98069bc2..16507420a 100644 --- a/patches/server/0223-Mob-head-visibility-percent.patch +++ b/patches/server/0222-Mob-head-visibility-percent.patch @@ -32,10 +32,10 @@ index 863bfe33d980f1988111669c6a6ae53bee9c4887..cb9ae94b4fff8406cdbc40a1d5d38f02 // Purpur start if (entity instanceof LivingEntity entityliving) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2436fb55fca809f1c709a1539762e3e11b76637f..19fa5f9e986f5acff4b4893ec33f7c29d5a59b09 100644 +index e37c036da425e1e7c26259787139adaab33e0f30..8651608cb527a92ba15edbee08d6830cebd4eb77 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1413,6 +1413,7 @@ public class PurpurWorldConfig { +@@ -1379,6 +1379,7 @@ public class PurpurWorldConfig { public boolean creeperExplodeWhenKilled = false; public boolean creeperHealthRadius = false; public boolean creeperAlwaysDropExp = false; @@ -43,7 +43,7 @@ index 2436fb55fca809f1c709a1539762e3e11b76637f..19fa5f9e986f5acff4b4893ec33f7c29 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1431,6 +1432,7 @@ public class PurpurWorldConfig { +@@ -1397,6 +1398,7 @@ public class PurpurWorldConfig { creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled); creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius); creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp); @@ -51,7 +51,7 @@ index 2436fb55fca809f1c709a1539762e3e11b76637f..19fa5f9e986f5acff4b4893ec33f7c29 } public boolean dolphinRidable = false; -@@ -2260,6 +2262,7 @@ public class PurpurWorldConfig { +@@ -2226,6 +2228,7 @@ public class PurpurWorldConfig { public boolean piglinTakeDamageFromWater = false; public int piglinPortalSpawnModifier = 2000; public boolean piglinAlwaysDropExp = false; @@ -59,7 +59,7 @@ index 2436fb55fca809f1c709a1539762e3e11b76637f..19fa5f9e986f5acff4b4893ec33f7c29 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2275,6 +2278,7 @@ public class PurpurWorldConfig { +@@ -2241,6 +2244,7 @@ public class PurpurWorldConfig { piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater); piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier); piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp); @@ -67,7 +67,7 @@ index 2436fb55fca809f1c709a1539762e3e11b76637f..19fa5f9e986f5acff4b4893ec33f7c29 } public boolean piglinBruteRidable = false; -@@ -2559,6 +2563,7 @@ public class PurpurWorldConfig { +@@ -2525,6 +2529,7 @@ public class PurpurWorldConfig { public double skeletonScale = 1.0D; public boolean skeletonTakeDamageFromWater = false; public boolean skeletonAlwaysDropExp = false; @@ -75,7 +75,7 @@ index 2436fb55fca809f1c709a1539762e3e11b76637f..19fa5f9e986f5acff4b4893ec33f7c29 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2572,6 +2577,7 @@ public class PurpurWorldConfig { +@@ -2538,6 +2543,7 @@ public class PurpurWorldConfig { skeletonScale = Mth.clamp(getDouble("mobs.skeleton.attributes.scale", skeletonScale), 0.0625D, 16.0D); skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater); skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp); @@ -83,7 +83,7 @@ index 2436fb55fca809f1c709a1539762e3e11b76637f..19fa5f9e986f5acff4b4893ec33f7c29 } public boolean skeletonHorseRidable = false; -@@ -3141,6 +3147,7 @@ public class PurpurWorldConfig { +@@ -3107,6 +3113,7 @@ public class PurpurWorldConfig { public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; public boolean zombieAlwaysDropExp = false; @@ -91,7 +91,7 @@ index 2436fb55fca809f1c709a1539762e3e11b76637f..19fa5f9e986f5acff4b4893ec33f7c29 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -3160,6 +3167,7 @@ public class PurpurWorldConfig { +@@ -3126,6 +3133,7 @@ public class PurpurWorldConfig { zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing); zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater); zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp); diff --git a/patches/server/0224-Configurable-valid-characters-for-usernames.patch b/patches/server/0223-Configurable-valid-characters-for-usernames.patch similarity index 100% rename from patches/server/0224-Configurable-valid-characters-for-usernames.patch rename to patches/server/0223-Configurable-valid-characters-for-usernames.patch diff --git a/patches/server/0225-Shears-can-have-looting-enchantment.patch b/patches/server/0224-Shears-can-have-looting-enchantment.patch similarity index 100% rename from patches/server/0225-Shears-can-have-looting-enchantment.patch rename to patches/server/0224-Shears-can-have-looting-enchantment.patch diff --git a/patches/server/0226-Stop-bees-from-dying-after-stinging.patch b/patches/server/0225-Stop-bees-from-dying-after-stinging.patch similarity index 90% rename from patches/server/0226-Stop-bees-from-dying-after-stinging.patch rename to patches/server/0225-Stop-bees-from-dying-after-stinging.patch index f0b6b8df1..d10e93411 100644 --- a/patches/server/0226-Stop-bees-from-dying-after-stinging.patch +++ b/patches/server/0225-Stop-bees-from-dying-after-stinging.patch @@ -17,10 +17,10 @@ index 0a0f3d21234dbf567ce7439833c84293fac2dc0f..46d55f60cb91fc32b505582c8eecb393 ++this.timeSinceSting; if (this.timeSinceSting % 5 == 0 && this.random.nextInt(Mth.clamp(1200 - this.timeSinceSting, 1, 1200)) == 0) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 19fa5f9e986f5acff4b4893ec33f7c29d5a59b09..df3d06fc19b9696fbce4bedc221fc327ec533515 100644 +index 8651608cb527a92ba15edbee08d6830cebd4eb77..bc2c08ff93735ab928b018d193a504c35ba18913 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1187,6 +1187,7 @@ public class PurpurWorldConfig { +@@ -1153,6 +1153,7 @@ public class PurpurWorldConfig { public boolean beeCanWorkAtNight = false; public boolean beeCanWorkInRain = false; public boolean beeAlwaysDropExp = false; @@ -28,7 +28,7 @@ index 19fa5f9e986f5acff4b4893ec33f7c29d5a59b09..df3d06fc19b9696fbce4bedc221fc327 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -1204,6 +1205,7 @@ public class PurpurWorldConfig { +@@ -1170,6 +1171,7 @@ public class PurpurWorldConfig { beeCanWorkAtNight = getBoolean("mobs.bee.can-work-at-night", beeCanWorkAtNight); beeCanWorkInRain = getBoolean("mobs.bee.can-work-in-rain", beeCanWorkInRain); beeAlwaysDropExp = getBoolean("mobs.bee.always-drop-exp", beeAlwaysDropExp); diff --git a/patches/server/0227-Give-bee-counts-in-beehives-to-Purpur-clients.patch b/patches/server/0226-Give-bee-counts-in-beehives-to-Purpur-clients.patch similarity index 100% rename from patches/server/0227-Give-bee-counts-in-beehives-to-Purpur-clients.patch rename to patches/server/0226-Give-bee-counts-in-beehives-to-Purpur-clients.patch diff --git a/patches/server/0228-Configurable-farmland-trample-height.patch b/patches/server/0227-Configurable-farmland-trample-height.patch similarity index 94% rename from patches/server/0228-Configurable-farmland-trample-height.patch rename to patches/server/0227-Configurable-farmland-trample-height.patch index d9c19d6e9..4b26b882b 100644 --- a/patches/server/0228-Configurable-farmland-trample-height.patch +++ b/patches/server/0227-Configurable-farmland-trample-height.patch @@ -35,10 +35,10 @@ index 12a0c69f8fec30fad64cbb00af2ca1bbf0ea5153..d0ec0722496ed931b48c4e7076fddbb1 org.bukkit.event.Cancellable cancellable; if (entity instanceof Player) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index df3d06fc19b9696fbce4bedc221fc327ec533515..9e42e6fd795ff8e83cd5d3a163b46ea803571b00 100644 +index bc2c08ff93735ab928b018d193a504c35ba18913..086bd93953f62947de97d176798469e76bced8e7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -961,6 +961,7 @@ public class PurpurWorldConfig { +@@ -927,6 +927,7 @@ public class PurpurWorldConfig { public boolean farmlandTramplingDisabled = false; public boolean farmlandTramplingOnlyPlayers = false; public boolean farmlandTramplingFeatherFalling = false; @@ -46,7 +46,7 @@ index df3d06fc19b9696fbce4bedc221fc327ec533515..9e42e6fd795ff8e83cd5d3a163b46ea8 private void farmlandSettings() { farmlandBypassMobGriefing = getBoolean("blocks.farmland.bypass-mob-griefing", farmlandBypassMobGriefing); farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); -@@ -968,6 +969,7 @@ public class PurpurWorldConfig { +@@ -934,6 +935,7 @@ public class PurpurWorldConfig { farmlandTramplingDisabled = getBoolean("blocks.farmland.disable-trampling", farmlandTramplingDisabled); farmlandTramplingOnlyPlayers = getBoolean("blocks.farmland.only-players-trample", farmlandTramplingOnlyPlayers); farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling); diff --git a/patches/server/0229-Configurable-player-pickup-exp-delay.patch b/patches/server/0228-Configurable-player-pickup-exp-delay.patch similarity index 97% rename from patches/server/0229-Configurable-player-pickup-exp-delay.patch rename to patches/server/0228-Configurable-player-pickup-exp-delay.patch index 74634d1fe..1a46d0977 100644 --- a/patches/server/0229-Configurable-player-pickup-exp-delay.patch +++ b/patches/server/0228-Configurable-player-pickup-exp-delay.patch @@ -35,7 +35,7 @@ index 05ed7bfd75a1e30d74b12a068303a786222a2649..330b21946564e6a7b463a258c02fee3f } else if (!entity.isRemoved()) { this.touch(entity); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9e42e6fd795ff8e83cd5d3a163b46ea803571b00..f8210f996ee4e6a7cbe0200d956d11afd99da160 100644 +index 086bd93953f62947de97d176798469e76bced8e7..52a19689111b0682d02f2f0f4f5fea5d28373752 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -421,6 +421,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0230-Allow-void-trading.patch b/patches/server/0229-Allow-void-trading.patch similarity index 96% rename from patches/server/0230-Allow-void-trading.patch rename to patches/server/0229-Allow-void-trading.patch index 2bcf48f21..f964ba15b 100644 --- a/patches/server/0230-Allow-void-trading.patch +++ b/patches/server/0229-Allow-void-trading.patch @@ -18,7 +18,7 @@ index 4cae0fbd061b76b7bf9e42fa8c6560721fd4b19c..bfc36c239dab4df5130cbde190d51365 } // Paper end - Fix merchant inventory not closing on entity removal diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f8210f996ee4e6a7cbe0200d956d11afd99da160..bfccba06e4ac08d9620ff003672e808c84eb2125 100644 +index 52a19689111b0682d02f2f0f4f5fea5d28373752..d046f5dae570c6c7987740ab0648ef1c2d9d92d5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -422,6 +422,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0231-Configurable-phantom-size.patch b/patches/server/0230-Configurable-phantom-size.patch similarity index 93% rename from patches/server/0231-Configurable-phantom-size.patch rename to patches/server/0230-Configurable-phantom-size.patch index 50281d477..02fd7a243 100644 --- a/patches/server/0231-Configurable-phantom-size.patch +++ b/patches/server/0230-Configurable-phantom-size.patch @@ -22,10 +22,10 @@ index 718311ba402fbc5b05fd480395d29578d1f3fd71..493e9ee0585ae419caffaa163f4975ab } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bfccba06e4ac08d9620ff003672e808c84eb2125..5f61191fe61a0dae7a991e5df98ed4c1217dcbd4 100644 +index d046f5dae570c6c7987740ab0648ef1c2d9d92d5..1fe4b4d04d155ffbe5447a38bfc39886edf98919 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2197,6 +2197,8 @@ public class PurpurWorldConfig { +@@ -2163,6 +2163,8 @@ public class PurpurWorldConfig { public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; public boolean phantomAlwaysDropExp = false; @@ -34,7 +34,7 @@ index bfccba06e4ac08d9620ff003672e808c84eb2125..5f61191fe61a0dae7a991e5df98ed4c1 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -2233,6 +2235,13 @@ public class PurpurWorldConfig { +@@ -2199,6 +2201,13 @@ public class PurpurWorldConfig { phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop); phantomTakeDamageFromWater = getBoolean("mobs.phantom.takes-damage-from-water", phantomTakeDamageFromWater); phantomAlwaysDropExp = getBoolean("mobs.phantom.always-drop-exp", phantomAlwaysDropExp); diff --git a/patches/server/0232-Max-joins-per-second.patch b/patches/server/0231-Max-joins-per-second.patch similarity index 100% rename from patches/server/0232-Max-joins-per-second.patch rename to patches/server/0231-Max-joins-per-second.patch diff --git a/patches/server/0233-Configurable-minimum-demand-for-trades.patch b/patches/server/0232-Configurable-minimum-demand-for-trades.patch similarity index 94% rename from patches/server/0233-Configurable-minimum-demand-for-trades.patch rename to patches/server/0232-Configurable-minimum-demand-for-trades.patch index 64dc7a66b..f25786e88 100644 --- a/patches/server/0233-Configurable-minimum-demand-for-trades.patch +++ b/patches/server/0232-Configurable-minimum-demand-for-trades.patch @@ -40,10 +40,10 @@ index 0efc8d997b34302c3e0a5d7ec73a11a940dbeefe..af157881d440b34cfe79fbc9b03cc9ef public ItemStack assemble() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5f61191fe61a0dae7a991e5df98ed4c1217dcbd4..70faadcef5ea8b93d7c69ef1c8db30f7695057f3 100644 +index 1fe4b4d04d155ffbe5447a38bfc39886edf98919..f671cad8a0ae956445f56639124bc2ad382c8dc2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2927,6 +2927,7 @@ public class PurpurWorldConfig { +@@ -2893,6 +2893,7 @@ public class PurpurWorldConfig { public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; @@ -51,7 +51,7 @@ index 5f61191fe61a0dae7a991e5df98ed4c1217dcbd4..70faadcef5ea8b93d7c69ef1c8db30f7 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2948,6 +2949,7 @@ public class PurpurWorldConfig { +@@ -2914,6 +2915,7 @@ public class PurpurWorldConfig { villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp); diff --git a/patches/server/0234-Lobotomize-stuck-villagers.patch b/patches/server/0233-Lobotomize-stuck-villagers.patch similarity index 97% rename from patches/server/0234-Lobotomize-stuck-villagers.patch rename to patches/server/0233-Lobotomize-stuck-villagers.patch index 870e9f12b..e3795c97a 100644 --- a/patches/server/0234-Lobotomize-stuck-villagers.patch +++ b/patches/server/0233-Lobotomize-stuck-villagers.patch @@ -107,10 +107,10 @@ index bd2987fa1fb194a581567134ed980e8fc043f435..bdd345595ed71a8018349e184afe8582 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 70faadcef5ea8b93d7c69ef1c8db30f7695057f3..0d8a5e8c06f9c64b6f1eff0c0660c66692b59b29 100644 +index f671cad8a0ae956445f56639124bc2ad382c8dc2..5fe653e690bfe00852f13e4242a78333252e92bc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2928,6 +2928,9 @@ public class PurpurWorldConfig { +@@ -2894,6 +2894,9 @@ public class PurpurWorldConfig { public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; public int villagerMinimumDemand = 0; @@ -120,7 +120,7 @@ index 70faadcef5ea8b93d7c69ef1c8db30f7695057f3..0d8a5e8c06f9c64b6f1eff0c0660c666 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2950,6 +2953,18 @@ public class PurpurWorldConfig { +@@ -2916,6 +2919,18 @@ public class PurpurWorldConfig { villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp); villagerMinimumDemand = getInt("mobs.villager.minimum-demand", villagerMinimumDemand); diff --git a/patches/server/0235-Option-for-villager-display-trade-item.patch b/patches/server/0234-Option-for-villager-display-trade-item.patch similarity index 92% rename from patches/server/0235-Option-for-villager-display-trade-item.patch rename to patches/server/0234-Option-for-villager-display-trade-item.patch index 03e7b0a42..d588ca8c2 100644 --- a/patches/server/0235-Option-for-villager-display-trade-item.patch +++ b/patches/server/0234-Option-for-villager-display-trade-item.patch @@ -17,10 +17,10 @@ index 18dad0825616c4167a0a7555689ee64910a87e09..6945992491027d43eca4f1ca697ad45c && this.lookTime > 0 && entity.getBrain().getMemory(MemoryModuleType.INTERACTION_TARGET).isPresent(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0d8a5e8c06f9c64b6f1eff0c0660c66692b59b29..343050a9abf451dfcd4092d6764e0a6f5f808c0a 100644 +index 5fe653e690bfe00852f13e4242a78333252e92bc..eae99e53fd0bc9534ed8e70a7c5c1b1925c5e27b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2931,6 +2931,7 @@ public class PurpurWorldConfig { +@@ -2897,6 +2897,7 @@ public class PurpurWorldConfig { public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheckInterval = 100; public boolean villagerLobotomizeWaitUntilTradeLocked = false; @@ -28,7 +28,7 @@ index 0d8a5e8c06f9c64b6f1eff0c0660c66692b59b29..343050a9abf451dfcd4092d6764e0a6f private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2965,6 +2966,7 @@ public class PurpurWorldConfig { +@@ -2931,6 +2932,7 @@ public class PurpurWorldConfig { villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); villagerLobotomizeWaitUntilTradeLocked = getBoolean("mobs.villager.lobotomize.wait-until-trade-locked", villagerLobotomizeWaitUntilTradeLocked); diff --git a/patches/server/0236-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch b/patches/server/0235-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch similarity index 93% rename from patches/server/0236-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch rename to patches/server/0235-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch index 7ce0a9f6a..f5ca3d7a8 100644 --- a/patches/server/0236-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch +++ b/patches/server/0235-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch @@ -17,10 +17,10 @@ index c9cabb061ebc9172647304431cc3fb2593dd47ba..565408c03849fb3011fb708478a99ec6 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 343050a9abf451dfcd4092d6764e0a6f5f808c0a..7bde682844a6789154d8b08f81fbcf8ae6eb9316 100644 +index eae99e53fd0bc9534ed8e70a7c5c1b1925c5e27b..2f2f4972cef6d980d1188e072ae1dd7f9732cc8c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1055,8 +1055,10 @@ public class PurpurWorldConfig { +@@ -1021,8 +1021,10 @@ public class PurpurWorldConfig { } public boolean spawnerDeactivateByRedstone = false; diff --git a/patches/server/0237-Config-for-mob-last-hurt-by-player-time.patch b/patches/server/0236-Config-for-mob-last-hurt-by-player-time.patch similarity index 97% rename from patches/server/0237-Config-for-mob-last-hurt-by-player-time.patch rename to patches/server/0236-Config-for-mob-last-hurt-by-player-time.patch index 9281fe42c..c98f8776e 100644 --- a/patches/server/0237-Config-for-mob-last-hurt-by-player-time.patch +++ b/patches/server/0236-Config-for-mob-last-hurt-by-player-time.patch @@ -38,7 +38,7 @@ index 0a3da3d35cd6b41003692d968b77384e7460ca97..b21cd824587f7bed53255f7d0fc7bede // Paper end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7bde682844a6789154d8b08f81fbcf8ae6eb9316..951883a41b2aa2ad37eb32c2c843f5d8d313dd7a 100644 +index 2f2f4972cef6d980d1188e072ae1dd7f9732cc8c..37c61fbf7a0e8b8aa88a60716b7aa82233a82e9a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -144,6 +144,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0238-Anvil-repair-damage-options.patch b/patches/server/0237-Anvil-repair-damage-options.patch similarity index 97% rename from patches/server/0238-Anvil-repair-damage-options.patch rename to patches/server/0237-Anvil-repair-damage-options.patch index ac1e89b9d..d780073e1 100644 --- a/patches/server/0238-Anvil-repair-damage-options.patch +++ b/patches/server/0237-Anvil-repair-damage-options.patch @@ -63,10 +63,10 @@ index c77d4adbba79ec39ab78c2a6bac1e8f94ba7fd68..97f75aa767c90a244a094367b408e689 protected InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult hit) { if (world.isClientSide) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 951883a41b2aa2ad37eb32c2c843f5d8d313dd7a..50e310a86c367340ce4d73e31b2648e315c43113 100644 +index 37c61fbf7a0e8b8aa88a60716b7aa82233a82e9a..1977a20b69426cdd023ac9e9e20a1b709b9fb96f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -822,9 +822,13 @@ public class PurpurWorldConfig { +@@ -788,9 +788,13 @@ public class PurpurWorldConfig { public boolean anvilAllowColors = false; public boolean anvilColorsUseMiniMessage; diff --git a/patches/server/0239-Option-to-disable-turtle-egg-trampling-with-feather-.patch b/patches/server/0238-Option-to-disable-turtle-egg-trampling-with-feather-.patch similarity index 94% rename from patches/server/0239-Option-to-disable-turtle-egg-trampling-with-feather-.patch rename to patches/server/0238-Option-to-disable-turtle-egg-trampling-with-feather-.patch index 2dcc49e14..e3b365ae7 100644 --- a/patches/server/0239-Option-to-disable-turtle-egg-trampling-with-feather-.patch +++ b/patches/server/0238-Option-to-disable-turtle-egg-trampling-with-feather-.patch @@ -24,10 +24,10 @@ index 2f0e8aeb9c45853fca12ddd78a7d51813a600e67..08ba90f760abb9fb62311dddd7b5bdbd return world.purpurConfig.turtleEggsBypassMobGriefing || world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING); // Purpur end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 50e310a86c367340ce4d73e31b2648e315c43113..f9d927dccb7ba682c38adc734bc4999277a5c915 100644 +index 1977a20b69426cdd023ac9e9e20a1b709b9fb96f..5db74ab53a80f4a24a0294983089e7226ab33388 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1083,12 +1083,14 @@ public class PurpurWorldConfig { +@@ -1049,12 +1049,14 @@ public class PurpurWorldConfig { public boolean turtleEggsBreakFromMinecarts = false; public boolean turtleEggsBypassMobGriefing = false; public int turtleEggsRandomTickCrackChance = 500; diff --git a/patches/server/0240-Add-toggle-for-enchant-level-clamping.patch b/patches/server/0239-Add-toggle-for-enchant-level-clamping.patch similarity index 100% rename from patches/server/0240-Add-toggle-for-enchant-level-clamping.patch rename to patches/server/0239-Add-toggle-for-enchant-level-clamping.patch diff --git a/patches/server/0241-Skip-junit-tests-for-purpur-commands.patch b/patches/server/0240-Skip-junit-tests-for-purpur-commands.patch similarity index 100% rename from patches/server/0241-Skip-junit-tests-for-purpur-commands.patch rename to patches/server/0240-Skip-junit-tests-for-purpur-commands.patch diff --git a/patches/server/0242-Implement-configurable-search-radius-for-villagers-t.patch b/patches/server/0241-Implement-configurable-search-radius-for-villagers-t.patch similarity index 93% rename from patches/server/0242-Implement-configurable-search-radius-for-villagers-t.patch rename to patches/server/0241-Implement-configurable-search-radius-for-villagers-t.patch index 28c031d1a..7dc2de589 100644 --- a/patches/server/0242-Implement-configurable-search-radius-for-villagers-t.patch +++ b/patches/server/0241-Implement-configurable-search-radius-for-villagers-t.patch @@ -18,10 +18,10 @@ index 3d93d548b8c68cc0ee7c52dd0f92664c47077b6d..4af1857c4fbc18067b2fa0ae43501ce5 AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D); List list = world.getEntitiesOfClass(Villager.class, axisalignedbb); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f9d927dccb7ba682c38adc734bc4999277a5c915..b6b2dde78249f6fd922bfbcdcbee2ee4e734f6e7 100644 +index 5db74ab53a80f4a24a0294983089e7226ab33388..5ce28dfe1d78dedd64482b2bb75ce070b55a8c73 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2942,6 +2942,8 @@ public class PurpurWorldConfig { +@@ -2908,6 +2908,8 @@ public class PurpurWorldConfig { public int villagerLobotomizeCheckInterval = 100; public boolean villagerLobotomizeWaitUntilTradeLocked = false; public boolean villagerDisplayTradeItem = true; @@ -30,7 +30,7 @@ index f9d927dccb7ba682c38adc734bc4999277a5c915..b6b2dde78249f6fd922bfbcdcbee2ee4 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2977,6 +2979,8 @@ public class PurpurWorldConfig { +@@ -2943,6 +2945,8 @@ public class PurpurWorldConfig { villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); villagerLobotomizeWaitUntilTradeLocked = getBoolean("mobs.villager.lobotomize.wait-until-trade-locked", villagerLobotomizeWaitUntilTradeLocked); villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem); diff --git a/patches/server/0243-Stonecutter-damage.patch b/patches/server/0242-Stonecutter-damage.patch similarity index 97% rename from patches/server/0243-Stonecutter-damage.patch rename to patches/server/0242-Stonecutter-damage.patch index d155f94aa..1b21f0307 100644 --- a/patches/server/0243-Stonecutter-damage.patch +++ b/patches/server/0242-Stonecutter-damage.patch @@ -128,7 +128,7 @@ index df37da354b5ffffc484a8660949c8969a5b3acc1..858c6c860d9b8aaa1d3f9f77a9e41072 } else if (source.is(DamageTypes.HOT_FLOOR)) { cause = DamageCause.HOT_FLOOR; diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 11dc88158bb78db1c27cbdfc02d95807b919f723..73ddd6210778e323786900813fc70d1f3a2cf5f2 100644 +index 94da1ade7a7ee4df42532feb4443513d0d15026a..ba0a6ceb8a62536a5b58452c82b66383acbc9b0e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -211,8 +211,10 @@ public class PurpurConfig { @@ -143,10 +143,10 @@ index 11dc88158bb78db1c27cbdfc02d95807b919f723..73ddd6210778e323786900813fc70d1f public static boolean advancementOnlyBroadcastToAffectedPlayer = false; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b6b2dde78249f6fd922bfbcdcbee2ee4e734f6e7..4517c7a6f0bce6e6c4a4ce9a935e0deeb47d9c50 100644 +index 5ce28dfe1d78dedd64482b2bb75ce070b55a8c73..645ded84255eaad6ae9c90e66fb349828d4ad9c1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1078,6 +1078,11 @@ public class PurpurWorldConfig { +@@ -1044,6 +1044,11 @@ public class PurpurWorldConfig { spongeAbsorbsWaterFromMud = getBoolean("blocks.sponge.absorbs-water-from-mud", spongeAbsorbsWaterFromMud); } diff --git a/patches/server/0244-Configurable-damage-settings-for-magma-blocks.patch b/patches/server/0243-Configurable-damage-settings-for-magma-blocks.patch similarity index 92% rename from patches/server/0244-Configurable-damage-settings-for-magma-blocks.patch rename to patches/server/0243-Configurable-damage-settings-for-magma-blocks.patch index 6f32a6c53..522fa7551 100644 --- a/patches/server/0244-Configurable-damage-settings-for-magma-blocks.patch +++ b/patches/server/0243-Configurable-damage-settings-for-magma-blocks.patch @@ -18,10 +18,10 @@ index 02d59789c09f58045fea302ea6f2ee3856114de3..8072713da7ed8b7a44b63c241050c3a9 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4517c7a6f0bce6e6c4a4ce9a935e0deeb47d9c50..c8899c4823fbce311df88f047ddfcc7a2b91ffc2 100644 +index 645ded84255eaad6ae9c90e66fb349828d4ad9c1..686b039a2027463f6c1df49f71a5473d9e355089 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1019,6 +1019,11 @@ public class PurpurWorldConfig { +@@ -985,6 +985,11 @@ public class PurpurWorldConfig { pistonBlockPushLimit = getInt("blocks.piston.block-push-limit", pistonBlockPushLimit); } diff --git a/patches/server/0245-Add-config-for-snow-on-blue-ice.patch b/patches/server/0244-Add-config-for-snow-on-blue-ice.patch similarity index 93% rename from patches/server/0245-Add-config-for-snow-on-blue-ice.patch rename to patches/server/0244-Add-config-for-snow-on-blue-ice.patch index d24f9ed29..14a5f4692 100644 --- a/patches/server/0245-Add-config-for-snow-on-blue-ice.patch +++ b/patches/server/0244-Add-config-for-snow-on-blue-ice.patch @@ -22,10 +22,10 @@ index 93e8e5107ac047c1f2579b4fe6b0a202edb695f6..f82d275aac7bf3949d3dcc412c7e39e1 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c8899c4823fbce311df88f047ddfcc7a2b91ffc2..5293d9f43025b282e7c7c5fd908ca1ddeb3fa840 100644 +index 686b039a2027463f6c1df49f71a5473d9e355089..1252c9b4a9d3d071ba794482ea8db2a25f543f72 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1000,9 +1000,11 @@ public class PurpurWorldConfig { +@@ -966,9 +966,11 @@ public class PurpurWorldConfig { public boolean mobsSpawnOnPackedIce = true; public boolean mobsSpawnOnBlueIce = true; diff --git a/patches/server/0246-Skeletons-eat-wither-roses.patch b/patches/server/0245-Skeletons-eat-wither-roses.patch similarity index 96% rename from patches/server/0246-Skeletons-eat-wither-roses.patch rename to patches/server/0245-Skeletons-eat-wither-roses.patch index bf46269a9..0f4426c59 100644 --- a/patches/server/0246-Skeletons-eat-wither-roses.patch +++ b/patches/server/0245-Skeletons-eat-wither-roses.patch @@ -90,10 +90,10 @@ index 3f81faffc1a54ab1148c410ef80964d9876e4b77..cb714f78ad73f709967d7449c411c5b1 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5293d9f43025b282e7c7c5fd908ca1ddeb3fa840..1aa38cbc1d35424d9d4f37fc37dbb99545986891 100644 +index 1252c9b4a9d3d071ba794482ea8db2a25f543f72..9847dc72f5b768a591471fc6e29629a7d93a8899 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2603,6 +2603,7 @@ public class PurpurWorldConfig { +@@ -2569,6 +2569,7 @@ public class PurpurWorldConfig { public boolean skeletonTakeDamageFromWater = false; public boolean skeletonAlwaysDropExp = false; public double skeletonHeadVisibilityPercent = 0.5D; @@ -101,7 +101,7 @@ index 5293d9f43025b282e7c7c5fd908ca1ddeb3fa840..1aa38cbc1d35424d9d4f37fc37dbb995 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2617,6 +2618,7 @@ public class PurpurWorldConfig { +@@ -2583,6 +2584,7 @@ public class PurpurWorldConfig { skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater); skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp); skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent); diff --git a/patches/server/0247-Enchantment-Table-Persists-Lapis.patch b/patches/server/0246-Enchantment-Table-Persists-Lapis.patch similarity index 97% rename from patches/server/0247-Enchantment-Table-Persists-Lapis.patch rename to patches/server/0246-Enchantment-Table-Persists-Lapis.patch index bb74044bc..16e07b348 100644 --- a/patches/server/0247-Enchantment-Table-Persists-Lapis.patch +++ b/patches/server/0246-Enchantment-Table-Persists-Lapis.patch @@ -137,10 +137,10 @@ index d47bc2f54c4722a0b8c419b99ee57eb3cb25d750..fdeabdcc781b605d6f3ee18528fd380f + // Purpur } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1aa38cbc1d35424d9d4f37fc37dbb99545986891..9e3e3780e463275403276dc01a547a867456fe55 100644 +index 9847dc72f5b768a591471fc6e29629a7d93a8899..da81089e2eb52051b7ee38e08f9119423bb925ab 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1577,6 +1577,11 @@ public class PurpurWorldConfig { +@@ -1543,6 +1543,11 @@ public class PurpurWorldConfig { elderGuardianAlwaysDropExp = getBoolean("mobs.elder_guardian.always-drop-exp", elderGuardianAlwaysDropExp); } diff --git a/patches/server/0248-Option-to-disable-kick-for-out-of-order-chat.patch b/patches/server/0247-Option-to-disable-kick-for-out-of-order-chat.patch similarity index 100% rename from patches/server/0248-Option-to-disable-kick-for-out-of-order-chat.patch rename to patches/server/0247-Option-to-disable-kick-for-out-of-order-chat.patch diff --git a/patches/server/0249-Config-for-sculk-shrieker-can_summon-state.patch b/patches/server/0248-Config-for-sculk-shrieker-can_summon-state.patch similarity index 92% rename from patches/server/0249-Config-for-sculk-shrieker-can_summon-state.patch rename to patches/server/0248-Config-for-sculk-shrieker-can_summon-state.patch index c39f47a6b..6c6c9492b 100644 --- a/patches/server/0249-Config-for-sculk-shrieker-can_summon-state.patch +++ b/patches/server/0248-Config-for-sculk-shrieker-can_summon-state.patch @@ -18,10 +18,10 @@ index b6b367492ebe2af3e63381bef935c6077f6ddb27..09f34c30d9a03751ed826b26375ac5ae @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9e3e3780e463275403276dc01a547a867456fe55..2754857fd911e7516c0aba65c14ce3e88a94828d 100644 +index da81089e2eb52051b7ee38e08f9119423bb925ab..b7b0a9ec673d5e20c9cb0e9c93153e793bfa9d5d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1057,6 +1057,11 @@ public class PurpurWorldConfig { +@@ -1023,6 +1023,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0250-Config-to-not-let-coral-die.patch b/patches/server/0249-Config-to-not-let-coral-die.patch similarity index 94% rename from patches/server/0250-Config-to-not-let-coral-die.patch rename to patches/server/0249-Config-to-not-let-coral-die.patch index 87b50e1fc..032c6abe9 100644 --- a/patches/server/0250-Config-to-not-let-coral-die.patch +++ b/patches/server/0249-Config-to-not-let-coral-die.patch @@ -29,10 +29,10 @@ index 81fe0dea8e6e23c4a78f07fc2f9c0d68cd683f11..bff97b7d3909f2ec9e58a341b901b374 int i = aenumdirection.length; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2754857fd911e7516c0aba65c14ce3e88a94828d..1165b39c25291b096a8735086e4b43b7065910bb 100644 +index b7b0a9ec673d5e20c9cb0e9c93153e793bfa9d5d..e90f8c2ca467d9567366ae5c04175e3b5bc7cfc4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -906,6 +906,11 @@ public class PurpurWorldConfig { +@@ -872,6 +872,11 @@ public class PurpurWorldConfig { composterBulkProcess = getBoolean("blocks.composter.sneak-to-bulk-process", composterBulkProcess); } diff --git a/patches/server/0251-Add-local-difficulty-api.patch b/patches/server/0250-Add-local-difficulty-api.patch similarity index 100% rename from patches/server/0251-Add-local-difficulty-api.patch rename to patches/server/0250-Add-local-difficulty-api.patch diff --git a/patches/server/0252-Add-toggle-for-RNG-manipulation.patch b/patches/server/0251-Add-toggle-for-RNG-manipulation.patch similarity index 97% rename from patches/server/0252-Add-toggle-for-RNG-manipulation.patch rename to patches/server/0251-Add-toggle-for-RNG-manipulation.patch index 72a1f871f..2b1969d48 100644 --- a/patches/server/0252-Add-toggle-for-RNG-manipulation.patch +++ b/patches/server/0251-Add-toggle-for-RNG-manipulation.patch @@ -33,7 +33,7 @@ index ea474ba1d37a594177ada2fd93302f874ed5dc73..3ca9a7f289d8c3f0b0df8f1cd4a5ca12 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1165b39c25291b096a8735086e4b43b7065910bb..076988e405137c52baa84408bcec9fa9c80f76a0 100644 +index e90f8c2ca467d9567366ae5c04175e3b5bc7cfc4..72b51d2db04c6cc8a3c4f9bf350e40873ef51d8c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -211,9 +211,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0253-Remove-Timings.patch b/patches/server/0252-Remove-Timings.patch similarity index 100% rename from patches/server/0253-Remove-Timings.patch rename to patches/server/0252-Remove-Timings.patch diff --git a/patches/server/0254-Remove-Mojang-Profiler.patch b/patches/server/0253-Remove-Mojang-Profiler.patch similarity index 100% rename from patches/server/0254-Remove-Mojang-Profiler.patch rename to patches/server/0253-Remove-Mojang-Profiler.patch diff --git a/patches/server/0255-Add-more-logger-output-for-invalid-movement-kicks.patch b/patches/server/0254-Add-more-logger-output-for-invalid-movement-kicks.patch similarity index 96% rename from patches/server/0255-Add-more-logger-output-for-invalid-movement-kicks.patch rename to patches/server/0254-Add-more-logger-output-for-invalid-movement-kicks.patch index 985f38c57..842c0338f 100644 --- a/patches/server/0255-Add-more-logger-output-for-invalid-movement-kicks.patch +++ b/patches/server/0254-Add-more-logger-output-for-invalid-movement-kicks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add more logger output for invalid movement kicks diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0dadf75aa1b9c245127d00ea90144e54f8700ff1..50b4e3fb244b8bac1a6a6d90aaf3b4be075b2500 100644 +index cdb5062d4d6325ada90dec3d4de6c0fd7546e8ab..682f353c0e409fcc7375efc62d9f64b4952ff230 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -755,6 +755,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0256-Add-Bee-API.patch b/patches/server/0255-Add-Bee-API.patch similarity index 100% rename from patches/server/0256-Add-Bee-API.patch rename to patches/server/0255-Add-Bee-API.patch diff --git a/patches/server/0257-Debug-Marker-API.patch b/patches/server/0256-Debug-Marker-API.patch similarity index 100% rename from patches/server/0257-Debug-Marker-API.patch rename to patches/server/0256-Debug-Marker-API.patch diff --git a/patches/server/0258-mob-spawning-option-to-ignore-creative-players.patch b/patches/server/0257-mob-spawning-option-to-ignore-creative-players.patch similarity index 96% rename from patches/server/0258-mob-spawning-option-to-ignore-creative-players.patch rename to patches/server/0257-mob-spawning-option-to-ignore-creative-players.patch index 758c970ec..94e00430f 100644 --- a/patches/server/0258-mob-spawning-option-to-ignore-creative-players.patch +++ b/patches/server/0257-mob-spawning-option-to-ignore-creative-players.patch @@ -18,7 +18,7 @@ index 4dc060bc677984d91a30a88155c576d5e187aa1b..061706ee732f9809d6b73305c1487125 if (entityhuman != null) { double d2 = entityhuman.distanceToSqr(d0, (double) i, d1); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 076988e405137c52baa84408bcec9fa9c80f76a0..c5b3ab8b87cae756149b98580a24766e67dc5bc6 100644 +index 72b51d2db04c6cc8a3c4f9bf350e40873ef51d8c..a4e97284add91c54508759e7d38d9c992fdff89a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -378,6 +378,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0259-Add-skeleton-bow-accuracy-option.patch b/patches/server/0258-Add-skeleton-bow-accuracy-option.patch similarity index 94% rename from patches/server/0259-Add-skeleton-bow-accuracy-option.patch rename to patches/server/0258-Add-skeleton-bow-accuracy-option.patch index 1b58fdef8..ce64a75b8 100644 --- a/patches/server/0259-Add-skeleton-bow-accuracy-option.patch +++ b/patches/server/0258-Add-skeleton-bow-accuracy-option.patch @@ -18,10 +18,10 @@ index 4aeb23de31e826d5cf27f8c91bd60c911f769a17..f9532a45419699585d1f20d27d5857a3 org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(this, this.getMainHandItem(), entityarrow.getPickupItem(), entityarrow, net.minecraft.world.InteractionHand.MAIN_HAND, 0.8F, true); // Paper if (event.isCancelled()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c5b3ab8b87cae756149b98580a24766e67dc5bc6..b507f67106e5096ebb75fd50b470916feeec6504 100644 +index a4e97284add91c54508759e7d38d9c992fdff89a..cb2ef867f74711c9e7f111c833b2aefb9c32a672 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2623,6 +2623,8 @@ public class PurpurWorldConfig { +@@ -2589,6 +2589,8 @@ public class PurpurWorldConfig { public boolean skeletonAlwaysDropExp = false; public double skeletonHeadVisibilityPercent = 0.5D; public int skeletonFeedWitherRoses = 0; @@ -30,7 +30,7 @@ index c5b3ab8b87cae756149b98580a24766e67dc5bc6..b507f67106e5096ebb75fd50b470916f private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2638,6 +2640,18 @@ public class PurpurWorldConfig { +@@ -2604,6 +2606,18 @@ public class PurpurWorldConfig { skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp); skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent); skeletonFeedWitherRoses = getInt("mobs.skeleton.feed-wither-roses", skeletonFeedWitherRoses); diff --git a/patches/server/0260-Add-death-screen-API.patch b/patches/server/0259-Add-death-screen-API.patch similarity index 100% rename from patches/server/0260-Add-death-screen-API.patch rename to patches/server/0259-Add-death-screen-API.patch diff --git a/patches/server/0261-Make-pufferfish-config-relocatable.patch b/patches/server/0260-Make-pufferfish-config-relocatable.patch similarity index 100% rename from patches/server/0261-Make-pufferfish-config-relocatable.patch rename to patches/server/0260-Make-pufferfish-config-relocatable.patch diff --git a/patches/server/0262-Implement-ram-and-rambar-commands.patch b/patches/server/0261-Implement-ram-and-rambar-commands.patch similarity index 98% rename from patches/server/0262-Implement-ram-and-rambar-commands.patch rename to patches/server/0261-Implement-ram-and-rambar-commands.patch index 34053984f..47f81944e 100644 --- a/patches/server/0262-Implement-ram-and-rambar-commands.patch +++ b/patches/server/0261-Implement-ram-and-rambar-commands.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement ram and rambar commands diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 24cb04cd33cfe578286c85a892b20bbf3fc843e6..8468452ff61f226b65be1dad21b627f2a178506e 100644 +index 7e0a05608a205ab81b3597dd3a9b5d4446d92fec..4fa19a701a61ad359f07d2e3ff99c731c9a60f43 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java @@ -256,6 +256,8 @@ public class Commands { @@ -60,7 +60,7 @@ index d8bff9a83c4c2ad1ec1e7d44aac23068f6dc930b..4f72ce384f4c0dbae98effa89aed5c3b // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 3750c8b3e011772700a1d07145f81625fd2c1b01..78234e8369e478800a4dc81084c8e1084c3bbd20 100644 +index 585fa894e7c4b72b93de6a5abb60471b1689f9b6..b49138a7bc45d6d56f7fab393e9b1e11e4a2ec40 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -184,6 +184,8 @@ public class PurpurConfig { diff --git a/patches/server/0263-Configurable-block-blast-resistance.patch b/patches/server/0262-Configurable-block-blast-resistance.patch similarity index 100% rename from patches/server/0263-Configurable-block-blast-resistance.patch rename to patches/server/0262-Configurable-block-blast-resistance.patch diff --git a/patches/server/0264-Configurable-block-fall-damage-modifiers.patch b/patches/server/0263-Configurable-block-fall-damage-modifiers.patch similarity index 100% rename from patches/server/0264-Configurable-block-fall-damage-modifiers.patch rename to patches/server/0263-Configurable-block-fall-damage-modifiers.patch diff --git a/patches/server/0265-Language-API.patch b/patches/server/0264-Language-API.patch similarity index 93% rename from patches/server/0265-Language-API.patch rename to patches/server/0264-Language-API.patch index 4b1db1738..7606de6fc 100644 --- a/patches/server/0265-Language-API.patch +++ b/patches/server/0264-Language-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Language API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9b31b7edecbacb16f24deea619e69314959bea85..d87ecd6e7552ab537c9d9e8a10a471814e61632d 100644 +index 300c8a94771d56e6bb6da692092882c329a9f0e4..479a8422a6786a8ada8536d528e7f57a06c8107a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -411,6 +411,20 @@ public final class CraftServer implements Server { diff --git a/patches/server/0266-Milk-Keeps-Beneficial-Effects.patch b/patches/server/0265-Milk-Keeps-Beneficial-Effects.patch similarity index 97% rename from patches/server/0266-Milk-Keeps-Beneficial-Effects.patch rename to patches/server/0265-Milk-Keeps-Beneficial-Effects.patch index df690be07..290761d73 100644 --- a/patches/server/0266-Milk-Keeps-Beneficial-Effects.patch +++ b/patches/server/0265-Milk-Keeps-Beneficial-Effects.patch @@ -30,7 +30,7 @@ index d342752271c76b447bb8cde50d57407259b93c43..360514d5afcafcf6dd83335938bfa09b this.goalSelector.addGoal(1, new TradeWithPlayerGoal(this)); this.goalSelector.addGoal(1, new AvoidEntityGoal<>(this, Zombie.class, 8.0F, 0.5D, 0.5D)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b507f67106e5096ebb75fd50b470916feeec6504..a4df0673c452cb4762db4a32d51492c04a849add 100644 +index cb2ef867f74711c9e7f111c833b2aefb9c32a672..267b3b4f0977f13ee166a3662b864de32975ade8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -131,6 +131,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0267-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch b/patches/server/0266-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch similarity index 100% rename from patches/server/0267-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch rename to patches/server/0266-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch diff --git a/patches/server/0268-Add-log-suppression-for-LibraryLoader.patch b/patches/server/0267-Add-log-suppression-for-LibraryLoader.patch similarity index 100% rename from patches/server/0268-Add-log-suppression-for-LibraryLoader.patch rename to patches/server/0267-Add-log-suppression-for-LibraryLoader.patch diff --git a/patches/server/0269-Add-an-option-to-fix-MC-3304-projectile-looting.patch b/patches/server/0268-Add-an-option-to-fix-MC-3304-projectile-looting.patch similarity index 100% rename from patches/server/0269-Add-an-option-to-fix-MC-3304-projectile-looting.patch rename to patches/server/0268-Add-an-option-to-fix-MC-3304-projectile-looting.patch diff --git a/patches/server/0270-Add-option-to-allow-creeper-to-encircle-target-when-.patch b/patches/server/0269-Add-option-to-allow-creeper-to-encircle-target-when-.patch similarity index 92% rename from patches/server/0270-Add-option-to-allow-creeper-to-encircle-target-when-.patch rename to patches/server/0269-Add-option-to-allow-creeper-to-encircle-target-when-.patch index c2a9c770a..61b02c6a6 100644 --- a/patches/server/0270-Add-option-to-allow-creeper-to-encircle-target-when-.patch +++ b/patches/server/0269-Add-option-to-allow-creeper-to-encircle-target-when-.patch @@ -24,10 +24,10 @@ index 137ec75ee803789deb7b1ca93dd9369c9af362b9..ca95d25af3e9a0536868b0c7fd8e7d2f } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a4df0673c452cb4762db4a32d51492c04a849add..805cc5383c31784ea05ed2916215d91eb2f18f50 100644 +index 267b3b4f0977f13ee166a3662b864de32975ade8..6f1a035e5e1d8f7477fc311eceff24b4e92e2b35 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1460,6 +1460,7 @@ public class PurpurWorldConfig { +@@ -1426,6 +1426,7 @@ public class PurpurWorldConfig { public boolean creeperHealthRadius = false; public boolean creeperAlwaysDropExp = false; public double creeperHeadVisibilityPercent = 0.5D; @@ -35,7 +35,7 @@ index a4df0673c452cb4762db4a32d51492c04a849add..805cc5383c31784ea05ed2916215d91e private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1479,6 +1480,7 @@ public class PurpurWorldConfig { +@@ -1445,6 +1446,7 @@ public class PurpurWorldConfig { creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius); creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp); creeperHeadVisibilityPercent = getDouble("mobs.creeper.head-visibility-percent", creeperHeadVisibilityPercent); diff --git a/patches/server/0271-Fire-Immunity-API.patch b/patches/server/0270-Fire-Immunity-API.patch similarity index 100% rename from patches/server/0271-Fire-Immunity-API.patch rename to patches/server/0270-Fire-Immunity-API.patch diff --git a/patches/server/0272-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch b/patches/server/0271-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch similarity index 96% rename from patches/server/0272-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch rename to patches/server/0271-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch index c8dcda443..d519d9b3f 100644 --- a/patches/server/0272-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch +++ b/patches/server/0271-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch @@ -17,7 +17,7 @@ index 0e3494fc7a073eb6cde1a2e62303b1238d59b156..7aadcaa1785c6560eb1ce2f1179225fa } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 805cc5383c31784ea05ed2916215d91eb2f18f50..85bf63343593424977ea4f79e4d16002f60cdd89 100644 +index 6f1a035e5e1d8f7477fc311eceff24b4e92e2b35..05572fa65d666afb6af697c398521457dea9821d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -418,6 +418,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0273-Added-got-ram-event.patch b/patches/server/0272-Added-got-ram-event.patch similarity index 100% rename from patches/server/0273-Added-got-ram-event.patch rename to patches/server/0272-Added-got-ram-event.patch diff --git a/patches/server/0274-Log-skipped-entity-s-position.patch b/patches/server/0273-Log-skipped-entity-s-position.patch similarity index 100% rename from patches/server/0274-Log-skipped-entity-s-position.patch rename to patches/server/0273-Log-skipped-entity-s-position.patch diff --git a/patches/server/0275-End-Crystal-Cramming.patch b/patches/server/0274-End-Crystal-Cramming.patch similarity index 91% rename from patches/server/0275-End-Crystal-Cramming.patch rename to patches/server/0274-End-Crystal-Cramming.patch index 5262d6725..efaf8143b 100644 --- a/patches/server/0275-End-Crystal-Cramming.patch +++ b/patches/server/0274-End-Crystal-Cramming.patch @@ -17,10 +17,10 @@ index 02f1d0418395b100cabfad7294466aaad34ac7c6..c0275197cc9aab2a49d88476e072a94f // Purpur start diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 85bf63343593424977ea4f79e4d16002f60cdd89..af8a2ac0e0e089362f0b1be6e48cf57e49a67ad7 100644 +index 05572fa65d666afb6af697c398521457dea9821d..1b8386bbdf197d5f241f821fec2b4ba3d5b53f72 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -949,6 +949,7 @@ public class PurpurWorldConfig { +@@ -915,6 +915,7 @@ public class PurpurWorldConfig { public double basedEndCrystalExplosionPower = 6.0D; public boolean basedEndCrystalExplosionFire = false; public net.minecraft.world.level.Level.ExplosionInteraction basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; @@ -28,7 +28,7 @@ index 85bf63343593424977ea4f79e4d16002f60cdd89..af8a2ac0e0e089362f0b1be6e48cf57e private void endCrystalSettings() { if (PurpurConfig.version < 31) { if ("DESTROY".equals(getString("blocks.end-crystal.baseless.explosion-effect", baselessEndCrystalExplosionEffect.name()))) { -@@ -976,6 +977,7 @@ public class PurpurWorldConfig { +@@ -942,6 +943,7 @@ public class PurpurWorldConfig { log(Level.SEVERE, "Unknown value for `blocks.end-crystal.base.explosion-effect`! Using default of `BLOCK`"); basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; } diff --git a/patches/server/0276-Option-to-allow-beacon-effects-when-covered-by-tinte.patch b/patches/server/0275-Option-to-allow-beacon-effects-when-covered-by-tinte.patch similarity index 95% rename from patches/server/0276-Option-to-allow-beacon-effects-when-covered-by-tinte.patch rename to patches/server/0275-Option-to-allow-beacon-effects-when-covered-by-tinte.patch index 6c4491172..416598999 100644 --- a/patches/server/0276-Option-to-allow-beacon-effects-when-covered-by-tinte.patch +++ b/patches/server/0275-Option-to-allow-beacon-effects-when-covered-by-tinte.patch @@ -36,10 +36,10 @@ index d1fb77d83d48183a9a37dbeec7bb0fda623d7e9b..df02a78855f1d0c32d1f744c20803fc9 BeaconBlockEntity.playSound(world, pos, SoundEvents.BEACON_AMBIENT); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index af8a2ac0e0e089362f0b1be6e48cf57e49a67ad7..3a004e2cf42c90f453f768b245e10c59fceeb3db 100644 +index 1b8386bbdf197d5f241f821fec2b4ba3d5b53f72..ef6f0febae8db9e0c6a7a61e40c3498a7bf35375 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -848,11 +848,13 @@ public class PurpurWorldConfig { +@@ -814,11 +814,13 @@ public class PurpurWorldConfig { public int beaconLevelTwo = 30; public int beaconLevelThree = 40; public int beaconLevelFour = 50; diff --git a/patches/server/0277-Add-attribute-clamping-and-armor-limit-config.patch b/patches/server/0276-Add-attribute-clamping-and-armor-limit-config.patch similarity index 100% rename from patches/server/0277-Add-attribute-clamping-and-armor-limit-config.patch rename to patches/server/0276-Add-attribute-clamping-and-armor-limit-config.patch diff --git a/patches/server/0278-Config-to-remove-explosion-radius-clamp.patch b/patches/server/0277-Config-to-remove-explosion-radius-clamp.patch similarity index 95% rename from patches/server/0278-Config-to-remove-explosion-radius-clamp.patch rename to patches/server/0277-Config-to-remove-explosion-radius-clamp.patch index 110605051..d6ec03560 100644 --- a/patches/server/0278-Config-to-remove-explosion-radius-clamp.patch +++ b/patches/server/0277-Config-to-remove-explosion-radius-clamp.patch @@ -27,7 +27,7 @@ index 6395bd2ffd734ca73af17b003d1505971ea31a48..261613d254edef33431794d5e1f7802c } // CraftBukkit end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3a004e2cf42c90f453f768b245e10c59fceeb3db..51bc35683234e0dab67aa079b323671755e9c3c2 100644 +index ef6f0febae8db9e0c6a7a61e40c3498a7bf35375..6076db7b948d932575a179d99dfae229f6f884ea 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -225,6 +225,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0279-bonemealable-sugarcane-cactus-and-netherwart.patch b/patches/server/0278-bonemealable-sugarcane-cactus-and-netherwart.patch similarity index 98% rename from patches/server/0279-bonemealable-sugarcane-cactus-and-netherwart.patch rename to patches/server/0278-bonemealable-sugarcane-cactus-and-netherwart.patch index 2f0667919..9dfdb62cf 100644 --- a/patches/server/0279-bonemealable-sugarcane-cactus-and-netherwart.patch +++ b/patches/server/0278-bonemealable-sugarcane-cactus-and-netherwart.patch @@ -137,10 +137,10 @@ index c48c622e92cedeaa46b929c7adfedec98dd5a3fb..6449b5c424443b5f0ee7e3fce8034494 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 51bc35683234e0dab67aa079b323671755e9c3c2..f2e930f43ca30dde37ea8bb8bd5012cac9e61fac 100644 +index 6076db7b948d932575a179d99dfae229f6f884ea..e363a2af2d5ac8bde8894017e5403213c1877823 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -902,8 +902,20 @@ public class PurpurWorldConfig { +@@ -868,8 +868,20 @@ public class PurpurWorldConfig { } public boolean cactusBreaksFromSolidNeighbors = true; diff --git a/patches/server/0280-Add-PreExplodeEvents.patch b/patches/server/0279-Add-PreExplodeEvents.patch similarity index 100% rename from patches/server/0280-Add-PreExplodeEvents.patch rename to patches/server/0279-Add-PreExplodeEvents.patch diff --git a/patches/server/0281-Improve-output-of-plugins-command.patch b/patches/server/0280-Improve-output-of-plugins-command.patch similarity index 100% rename from patches/server/0281-Improve-output-of-plugins-command.patch rename to patches/server/0280-Improve-output-of-plugins-command.patch diff --git a/patches/server/0282-Make-GUI-Great-Again.patch b/patches/server/0281-Make-GUI-Great-Again.patch similarity index 99% rename from patches/server/0282-Make-GUI-Great-Again.patch rename to patches/server/0281-Make-GUI-Great-Again.patch index af8cb8771..f377f2b43 100644 --- a/patches/server/0282-Make-GUI-Great-Again.patch +++ b/patches/server/0281-Make-GUI-Great-Again.patch @@ -96,7 +96,7 @@ index 0000000000000000000000000000000000000000..15a226e3854d731f7724025ea3459c8a + } +} diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index dbfdb4bb7dd7ba139550e1ec4889d452507be511..2762f54515b352271feb4b26f506b06cd0fb1909 100644 +index 4bd75f2a4f932fc63efd4e4d884aa834184250fa..6e6f4dffceb0032153c5be119303c5809629cfcc 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -114,6 +114,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface diff --git a/patches/server/0283-Stored-Bee-API.patch b/patches/server/0282-Stored-Bee-API.patch similarity index 100% rename from patches/server/0283-Stored-Bee-API.patch rename to patches/server/0282-Stored-Bee-API.patch diff --git a/patches/server/0284-Shears-can-defuse-TNT.patch b/patches/server/0283-Shears-can-defuse-TNT.patch similarity index 96% rename from patches/server/0284-Shears-can-defuse-TNT.patch rename to patches/server/0283-Shears-can-defuse-TNT.patch index d1a15e82f..a3f56a5f3 100644 --- a/patches/server/0284-Shears-can-defuse-TNT.patch +++ b/patches/server/0283-Shears-can-defuse-TNT.patch @@ -42,10 +42,10 @@ index 42bd2d9a1528b6210e4dfb56233062fd97c9743b..2a4425d04917b32c7ae5af3e7422c0ba + // Purpur end - Shears can defuse TNT } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f2e930f43ca30dde37ea8bb8bd5012cac9e61fac..bf8570b28103b0d7448acef4d0cab96855d8ef23 100644 +index e363a2af2d5ac8bde8894017e5403213c1877823..a47f3ef381b67e1cf0b0ca96c1bd1a22ba5f7429 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -3433,4 +3433,11 @@ public class PurpurWorldConfig { +@@ -3399,4 +3399,11 @@ public class PurpurWorldConfig { cauldronDripstoneWaterFillChance = (float) getDouble("blocks.cauldron.fill-chances.dripstone-water", cauldronDripstoneWaterFillChance); cauldronDripstoneLavaFillChance = (float) getDouble("blocks.cauldron.fill-chances.dripstone-lava", cauldronDripstoneLavaFillChance); } diff --git a/patches/server/0285-Explorer-Map-API.patch b/patches/server/0284-Explorer-Map-API.patch similarity index 96% rename from patches/server/0285-Explorer-Map-API.patch rename to patches/server/0284-Explorer-Map-API.patch index 5d062886a..bb6f01625 100644 --- a/patches/server/0285-Explorer-Map-API.patch +++ b/patches/server/0284-Explorer-Map-API.patch @@ -17,7 +17,7 @@ index ce461b1a8d7fab87ae28e30205f6fab67f1808b6..608390ed36710a419de1542b80340dd3 int i = 1 << mapItemSavedData.scale; int j = mapItemSavedData.centerX; diff --git a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java -index 17f33c83c6033564d6bf4fbd388b0b847c68adb3..7a53a5b5490e6b00b9f755fb3e18fb38f4bc1252 100644 +index 6794466051dd4b725d579b2136c37844995a648e..769d283cd98cba829262e45020ce3936c484938a 100644 --- a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java +++ b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java @@ -80,6 +80,7 @@ public class MapItemSavedData extends SavedData { diff --git a/patches/server/0286-Option-Ocelot-Spawn-Under-Sea-Level.patch b/patches/server/0285-Option-Ocelot-Spawn-Under-Sea-Level.patch similarity index 91% rename from patches/server/0286-Option-Ocelot-Spawn-Under-Sea-Level.patch rename to patches/server/0285-Option-Ocelot-Spawn-Under-Sea-Level.patch index 5b3e48822..47e1e6de4 100644 --- a/patches/server/0286-Option-Ocelot-Spawn-Under-Sea-Level.patch +++ b/patches/server/0285-Option-Ocelot-Spawn-Under-Sea-Level.patch @@ -18,10 +18,10 @@ index 92b71f76c7518068b4b5d19b5f41f2d1c796ac47..82ba970f265142e2fe7c8c5152f5004a } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bf8570b28103b0d7448acef4d0cab96855d8ef23..c5a99b5e996b68e9026fb828587544a1fbccac9a 100644 +index a47f3ef381b67e1cf0b0ca96c1bd1a22ba5f7429..5c0212eb9536b60a54b91a4a91ebfdca9ce0f88b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2173,6 +2173,7 @@ public class PurpurWorldConfig { +@@ -2139,6 +2139,7 @@ public class PurpurWorldConfig { public int ocelotBreedingTicks = 6000; public boolean ocelotTakeDamageFromWater = false; public boolean ocelotAlwaysDropExp = false; @@ -29,7 +29,7 @@ index bf8570b28103b0d7448acef4d0cab96855d8ef23..c5a99b5e996b68e9026fb828587544a1 private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -2187,6 +2188,7 @@ public class PurpurWorldConfig { +@@ -2153,6 +2154,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); diff --git a/patches/server/0287-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch b/patches/server/0286-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch similarity index 93% rename from patches/server/0287-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch rename to patches/server/0286-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch index d8d237ce3..ee140a213 100644 --- a/patches/server/0287-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch +++ b/patches/server/0286-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch @@ -29,10 +29,10 @@ index b9810a1f6ac91ae9631dd1ebc225f009d91b7845..d6cac5ed7916040104f2a79ed38eb8b4 piglin.getBrain().eraseMemory(MemoryModuleType.WALK_TARGET); piglin.getNavigation().stop(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c5a99b5e996b68e9026fb828587544a1fbccac9a..68ecd4d262a156d8916e1450673e4c30a70ae458 100644 +index 5c0212eb9536b60a54b91a4a91ebfdca9ce0f88b..c7587d62ad302abc399e24c7be76a3646326a543 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2350,6 +2350,7 @@ public class PurpurWorldConfig { +@@ -2316,6 +2316,7 @@ public class PurpurWorldConfig { public int piglinPortalSpawnModifier = 2000; public boolean piglinAlwaysDropExp = false; public double piglinHeadVisibilityPercent = 0.5D; @@ -40,7 +40,7 @@ index c5a99b5e996b68e9026fb828587544a1fbccac9a..68ecd4d262a156d8916e1450673e4c30 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2366,6 +2367,7 @@ public class PurpurWorldConfig { +@@ -2332,6 +2333,7 @@ public class PurpurWorldConfig { piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier); piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp); piglinHeadVisibilityPercent = getDouble("mobs.piglin.head-visibility-percent", piglinHeadVisibilityPercent); diff --git a/patches/server/0288-Add-option-for-always-showing-item-in-player-death-m.patch b/patches/server/0287-Add-option-for-always-showing-item-in-player-death-m.patch similarity index 100% rename from patches/server/0288-Add-option-for-always-showing-item-in-player-death-m.patch rename to patches/server/0287-Add-option-for-always-showing-item-in-player-death-m.patch diff --git a/patches/server/0289-place-end-crystal-on-any-block.patch b/patches/server/0288-place-end-crystal-on-any-block.patch similarity index 92% rename from patches/server/0289-place-end-crystal-on-any-block.patch rename to patches/server/0288-place-end-crystal-on-any-block.patch index 64377cb88..dde9f35ee 100644 --- a/patches/server/0289-place-end-crystal-on-any-block.patch +++ b/patches/server/0288-place-end-crystal-on-any-block.patch @@ -18,10 +18,10 @@ index cc1e5882bee94864ad189d7f01ce78223411e51d..4c827c26656ac487cc8c66eeb67e4f38 } else { BlockPos blockposition1 = blockposition.above(); final BlockPos aboveBlockPosition = blockposition1; // Paper - OBFHELPER diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 68ecd4d262a156d8916e1450673e4c30a70ae458..38d95e773a23eedc4815e9e1d2eb7590af9e0512 100644 +index c7587d62ad302abc399e24c7be76a3646326a543..069d6623c2a228cbb645b3716cb5c2cc832753d8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -969,6 +969,7 @@ public class PurpurWorldConfig { +@@ -935,6 +935,7 @@ public class PurpurWorldConfig { public boolean basedEndCrystalExplosionFire = false; public net.minecraft.world.level.Level.ExplosionInteraction basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; public int endCrystalCramming = 0; @@ -29,7 +29,7 @@ index 68ecd4d262a156d8916e1450673e4c30a70ae458..38d95e773a23eedc4815e9e1d2eb7590 private void endCrystalSettings() { if (PurpurConfig.version < 31) { if ("DESTROY".equals(getString("blocks.end-crystal.baseless.explosion-effect", baselessEndCrystalExplosionEffect.name()))) { -@@ -997,6 +998,7 @@ public class PurpurWorldConfig { +@@ -963,6 +964,7 @@ public class PurpurWorldConfig { basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; } endCrystalCramming = getInt("blocks.end-crystal.cramming-amount", endCrystalCramming); diff --git a/patches/server/0290-Add-option-to-disable-the-copper-oxidation-proximity.patch b/patches/server/0289-Add-option-to-disable-the-copper-oxidation-proximity.patch similarity index 96% rename from patches/server/0290-Add-option-to-disable-the-copper-oxidation-proximity.patch rename to patches/server/0289-Add-option-to-disable-the-copper-oxidation-proximity.patch index 01b315cbc..502ae19aa 100644 --- a/patches/server/0290-Add-option-to-disable-the-copper-oxidation-proximity.patch +++ b/patches/server/0289-Add-option-to-disable-the-copper-oxidation-proximity.patch @@ -18,7 +18,7 @@ index daae7fd6e0148cfba8e359d990748a0c83a3376e..0e06b1bcd906e92c083dc74d56d6d0a2 return random.nextFloat() < f1 ? this.getNext(state) : Optional.empty(); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 38d95e773a23eedc4815e9e1d2eb7590af9e0512..6a732c191416d23988fb9a85f1bcd3929d41cb4e 100644 +index 069d6623c2a228cbb645b3716cb5c2cc832753d8..d8841b0a294083c36d4bb8806fa8c9756fc9856e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -146,6 +146,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0291-register-minecraft-debug-commands.patch b/patches/server/0290-register-minecraft-debug-commands.patch similarity index 100% rename from patches/server/0291-register-minecraft-debug-commands.patch rename to patches/server/0290-register-minecraft-debug-commands.patch diff --git a/patches/server/0292-Configurable-villager-search-radius.patch b/patches/server/0291-Configurable-villager-search-radius.patch similarity index 95% rename from patches/server/0292-Configurable-villager-search-radius.patch rename to patches/server/0291-Configurable-villager-search-radius.patch index bf84c3f1a..4b0002173 100644 --- a/patches/server/0292-Configurable-villager-search-radius.patch +++ b/patches/server/0291-Configurable-villager-search-radius.patch @@ -31,10 +31,10 @@ index 92731b6b593289e9f583c9b705b219e81fcd8e73..9104d7010bda6f9f73b478c11490ef9c // Paper end - optimise POI access if (path != null && path.canReach()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6a732c191416d23988fb9a85f1bcd3929d41cb4e..644715e93c568067c20d5eb3ab464ef3706174a5 100644 +index d8841b0a294083c36d4bb8806fa8c9756fc9856e..e58de3cdd77fdb64db93b15192705148d621407a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -3026,6 +3026,8 @@ public class PurpurWorldConfig { +@@ -2992,6 +2992,8 @@ public class PurpurWorldConfig { public boolean villagerDisplayTradeItem = true; public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemLimit = 0; @@ -43,7 +43,7 @@ index 6a732c191416d23988fb9a85f1bcd3929d41cb4e..644715e93c568067c20d5eb3ab464ef3 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -3063,6 +3065,8 @@ public class PurpurWorldConfig { +@@ -3029,6 +3031,8 @@ public class PurpurWorldConfig { villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem); villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius); villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); diff --git a/patches/server/0293-option-to-make-ravagers-afraid-of-rabbits.patch b/patches/server/0292-option-to-make-ravagers-afraid-of-rabbits.patch similarity index 91% rename from patches/server/0293-option-to-make-ravagers-afraid-of-rabbits.patch rename to patches/server/0292-option-to-make-ravagers-afraid-of-rabbits.patch index 9a27a8205..46a80017b 100644 --- a/patches/server/0293-option-to-make-ravagers-afraid-of-rabbits.patch +++ b/patches/server/0292-option-to-make-ravagers-afraid-of-rabbits.patch @@ -18,10 +18,10 @@ index 963df673d7f63e2aea25d4dce28edef06899eabe..4f10d4686f12a81a77f5fc103139aa03 this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 0.4D)); this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 644715e93c568067c20d5eb3ab464ef3706174a5..2215add76c72e0d5d15b78849634542873765235 100644 +index e58de3cdd77fdb64db93b15192705148d621407a..3bcbf5e2dbb991a8416d827ddfe59e04f701ebf7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2508,6 +2508,7 @@ public class PurpurWorldConfig { +@@ -2474,6 +2474,7 @@ public class PurpurWorldConfig { public boolean ravagerTakeDamageFromWater = false; public List ravagerGriefableBlocks = new ArrayList<>(); public boolean ravagerAlwaysDropExp = false; @@ -29,7 +29,7 @@ index 644715e93c568067c20d5eb3ab464ef3706174a5..2215add76c72e0d5d15b788496345428 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -2539,6 +2540,7 @@ public class PurpurWorldConfig { +@@ -2505,6 +2506,7 @@ public class PurpurWorldConfig { } }); ravagerAlwaysDropExp = getBoolean("mobs.ravager.always-drop-exp", ravagerAlwaysDropExp); diff --git a/patches/server/0294-config-for-startup-commands.patch b/patches/server/0293-config-for-startup-commands.patch similarity index 100% rename from patches/server/0294-config-for-startup-commands.patch rename to patches/server/0293-config-for-startup-commands.patch diff --git a/patches/server/0295-Config-to-reverse-bubble-column-flow.patch b/patches/server/0294-Config-to-reverse-bubble-column-flow.patch similarity index 96% rename from patches/server/0295-Config-to-reverse-bubble-column-flow.patch rename to patches/server/0294-Config-to-reverse-bubble-column-flow.patch index 1bba87139..49795124f 100644 --- a/patches/server/0295-Config-to-reverse-bubble-column-flow.patch +++ b/patches/server/0294-Config-to-reverse-bubble-column-flow.patch @@ -22,7 +22,7 @@ index 4c1f20fafdbd86011959cc2d4983b6c2f8e87a5f..78679c2c26a36cf08cf3ffe78617d97d } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 3ca1cf6f2adb026264b5fd477e03a78e2c8446e6..54abd6874a64c669fc22448849febc9ef7c0f95e 100644 +index e4eac421efaafd66c5fa020f6a8fa6326a1c33cc..09f83c13c2e89772766e1d59dc32f33bc6611041 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -343,6 +343,8 @@ public class PurpurConfig { diff --git a/patches/server/0296-Adopt-MaterialRerouting.patch b/patches/server/0295-Adopt-MaterialRerouting.patch similarity index 100% rename from patches/server/0296-Adopt-MaterialRerouting.patch rename to patches/server/0295-Adopt-MaterialRerouting.patch diff --git a/patches/server/0297-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch b/patches/server/0296-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch similarity index 100% rename from patches/server/0297-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch rename to patches/server/0296-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch