diff --git a/patches/server/0203-Tool-actionable-options.patch b/patches/server/0203-Tool-actionable-options.patch index 7fdf9984d..26ce876d9 100644 --- a/patches/server/0203-Tool-actionable-options.patch +++ b/patches/server/0203-Tool-actionable-options.patch @@ -111,10 +111,10 @@ index 180aec596110309aade13d2080f8824d152b07cb..bf0e1f481b4c81f0663366bbe597b066 return InteractionResult.PASS; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bcb891f2530bcbfd7860e9f2bdf0a4b8e4a145f4..67344a5ae42d670ff8e86f62714b637d5252c160 100644 +index bcb891f2530bcbfd7860e9f2bdf0a4b8e4a145f4..5a27ad943b7a82d12d9ba1f4c50993eae5f8290b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -517,6 +517,153 @@ public class PurpurWorldConfig { +@@ -517,6 +517,155 @@ public class PurpurWorldConfig { }); } @@ -152,6 +152,8 @@ index bcb891f2530bcbfd7860e9f2bdf0a4b8e4a145f4..67344a5ae42d670ff8e86f62714b637d + Map.entry("minecraft:jungle_log", Map.of("into", "minecraft:stripped_jungle_log", "drops", new HashMap())), + Map.entry("minecraft:spruce_wood", Map.of("into", "minecraft:stripped_spruce_wood", "drops", new HashMap())), + Map.entry("minecraft:spruce_log", Map.of("into", "minecraft:stripped_spruce_log", "drops", new HashMap())), ++ Map.entry("minecraft:mangrove_wood", Map.of("into", "minecraft:stripped_mangrove_wood", "drops", new HashMap())), ++ Map.entry("minecraft:mangrove_log", Map.of("into", "minecraft:stripped_mangrove_log", "drops", new HashMap())), + Map.entry("minecraft:warped_stem", Map.of("into", "minecraft:stripped_warped_stem", "drops", new HashMap())), + Map.entry("minecraft:warped_hyphae", Map.of("into", "minecraft:stripped_warped_hyphae", "drops", new HashMap())), + Map.entry("minecraft:crimson_stem", Map.of("into", "minecraft:stripped_crimson_stem", "drops", new HashMap())), diff --git a/patches/server/0208-Silk-touchable-budding-amethyst.patch b/patches/server/0208-Silk-touchable-budding-amethyst.patch index b3ef7da94..2141cc851 100644 --- a/patches/server/0208-Silk-touchable-budding-amethyst.patch +++ b/patches/server/0208-Silk-touchable-budding-amethyst.patch @@ -24,10 +24,10 @@ index bedccb8717d08d5a60058445b04ddff149e7d36c..5293ffca3da94c9c485a87d1232b6a90 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f228e69e8614039406297522199dd2733f65014a..25556f3d399e9c9f0e28016a80f332b2b3e7a67c 100644 +index 3604d3e3c0f5da24237d5b754eb240cd967c1e18..10b75d00a5f1cd4919b19434d1534380e14838ea 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -698,6 +698,11 @@ public class PurpurWorldConfig { +@@ -700,6 +700,11 @@ public class PurpurWorldConfig { } } @@ -39,7 +39,7 @@ index f228e69e8614039406297522199dd2733f65014a..25556f3d399e9c9f0e28016a80f332b2 public boolean chestOpenWithBlockOnTop = false; private void chestSettings() { chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop); -@@ -2712,3 +2717,4 @@ public class PurpurWorldConfig { +@@ -2714,3 +2719,4 @@ public class PurpurWorldConfig { hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage); } } diff --git a/patches/server/0209-Big-dripleaf-tilt-delay.patch b/patches/server/0209-Big-dripleaf-tilt-delay.patch index 6e80deae6..02e013a95 100644 --- a/patches/server/0209-Big-dripleaf-tilt-delay.patch +++ b/patches/server/0209-Big-dripleaf-tilt-delay.patch @@ -24,10 +24,10 @@ index 63aa6b82ba21ec8e8f362b390063e4e275a979a5..81ed6e69494337f402a6d9f854fb26fa if (i != -1) { world.scheduleTick(blockposition, (Block) this, i); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 25556f3d399e9c9f0e28016a80f332b2b3e7a67c..897bbfd91828124074a996dc63d17a2a7a196d2c 100644 +index 10b75d00a5f1cd4919b19434d1534380e14838ea..9baca57031c15f464822ec1a2992fa77db59a982 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -698,6 +698,22 @@ public class PurpurWorldConfig { +@@ -700,6 +700,22 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0211-Config-to-disable-Enderman-teleport-on-projectile-hi.patch b/patches/server/0211-Config-to-disable-Enderman-teleport-on-projectile-hi.patch index e5b27b679..606f45d7c 100644 --- a/patches/server/0211-Config-to-disable-Enderman-teleport-on-projectile-hi.patch +++ b/patches/server/0211-Config-to-disable-Enderman-teleport-on-projectile-hi.patch @@ -18,10 +18,10 @@ index b0c4c90ab2d532a60911d53ac4764dcf49fff6c8..372400d5ce38407b577e5ee403ce39fc boolean flag; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c475c40279368e61683a338a8e9d8cacf14ed2ef..4cc629ee614c4ff43181af6992786c4eac190f5a 100644 +index 3f543eaeded95dec7ac0415fbcfc05136e41b110..a32f2c8de93b39caa32e8ff6f1989945c68a7bd7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1292,6 +1292,7 @@ public class PurpurWorldConfig { +@@ -1294,6 +1294,7 @@ public class PurpurWorldConfig { public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; public boolean endermanIgnorePlayerDragonHead = false; public boolean endermanDisableStareAggro = false; @@ -29,7 +29,7 @@ index c475c40279368e61683a338a8e9d8cacf14ed2ef..4cc629ee614c4ff43181af6992786c4e private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1314,6 +1315,7 @@ public class PurpurWorldConfig { +@@ -1316,6 +1317,7 @@ public class PurpurWorldConfig { endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned); endermanIgnorePlayerDragonHead = getBoolean("mobs.enderman.ignore-players-wearing-dragon-head", endermanIgnorePlayerDragonHead); endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro); diff --git a/patches/server/0213-Config-to-prevent-horses-from-standing-with-riders.patch b/patches/server/0213-Config-to-prevent-horses-from-standing-with-riders.patch index 1a8826e2b..a198a22c8 100644 --- a/patches/server/0213-Config-to-prevent-horses-from-standing-with-riders.patch +++ b/patches/server/0213-Config-to-prevent-horses-from-standing-with-riders.patch @@ -20,10 +20,10 @@ index a1ffa88c3796df2973a2fc0aeafda5f78208bf85..7466c437b2e996f16a08aaefc5c2b7cb } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 26d9943ada0bec112c5fc1ccc67d1af2a5308001..f090de52394d0958cf73458db374f68fb75f5c58 100644 +index 7b7a850a048559914f7188c5d8c3fbe9dcadcbb5..0f3d8432a320838d318a788114a62d913dbfbe6f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1522,6 +1522,7 @@ public class PurpurWorldConfig { +@@ -1524,6 +1524,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; @@ -31,7 +31,7 @@ index 26d9943ada0bec112c5fc1ccc67d1af2a5308001..f090de52394d0958cf73458db374f68f private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1539,6 +1540,7 @@ public class PurpurWorldConfig { +@@ -1541,6 +1542,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); diff --git a/patches/server/0216-Customizeable-Zombie-Villager-curing-times.patch b/patches/server/0216-Customizeable-Zombie-Villager-curing-times.patch index c14dedcfa..231f66a73 100644 --- a/patches/server/0216-Customizeable-Zombie-Villager-curing-times.patch +++ b/patches/server/0216-Customizeable-Zombie-Villager-curing-times.patch @@ -18,10 +18,10 @@ index c90cf19a4c29aa33c96a67bfab24cbbb56d783da..54b5749a5e40ed9042af1c4904afcdc4 return InteractionResult.SUCCESS; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 63a5e3cf2f185b07e053b162a890389732865f98..bd31781285e5df2122ca0b499dca997e092e7cea 100644 +index ab71611680e0361269d4a27729cbf24d09ed406d..599c59f803319459d676211ba1ae0e97947d506a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2698,6 +2698,8 @@ public class PurpurWorldConfig { +@@ -2700,6 +2700,8 @@ public class PurpurWorldConfig { public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; public boolean zombieVillagerTakeDamageFromWater = false; @@ -30,7 +30,7 @@ index 63a5e3cf2f185b07e053b162a890389732865f98..bd31781285e5df2122ca0b499dca997e private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2713,6 +2715,8 @@ public class PurpurWorldConfig { +@@ -2715,6 +2717,8 @@ public class PurpurWorldConfig { zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance); zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater); diff --git a/patches/server/0217-Option-for-sponges-to-work-on-lava.patch b/patches/server/0217-Option-for-sponges-to-work-on-lava.patch index 33ae03289..5c4f2c7c9 100644 --- a/patches/server/0217-Option-for-sponges-to-work-on-lava.patch +++ b/patches/server/0217-Option-for-sponges-to-work-on-lava.patch @@ -18,10 +18,10 @@ index d96e3fbc0fd4275c29e7e6154ef66e9ed1a5d829..df04a571ebd3c04bc7b58c1ee5661a1f ++i; if (j < world.purpurConfig.spongeAbsorptionRadius) { // Purpur diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bd31781285e5df2122ca0b499dca997e092e7cea..862b8f58b3da812f33406ae3b1858809c3c0b196 100644 +index 599c59f803319459d676211ba1ae0e97947d506a..60fccfcaa664a44170be86088e5249475b3a3149 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -898,9 +898,11 @@ public class PurpurWorldConfig { +@@ -900,9 +900,11 @@ public class PurpurWorldConfig { public int spongeAbsorptionArea = 64; public int spongeAbsorptionRadius = 6; diff --git a/patches/server/0218-Toggle-for-Wither-s-spawn-sound.patch b/patches/server/0218-Toggle-for-Wither-s-spawn-sound.patch index 717dd368d..7dc9ae7a2 100644 --- a/patches/server/0218-Toggle-for-Wither-s-spawn-sound.patch +++ b/patches/server/0218-Toggle-for-Wither-s-spawn-sound.patch @@ -18,10 +18,10 @@ index 01397e9daf03a308707cc7e2bb85db68137d3021..0dd31e45252d54b8bfa3645b25c984de // this.world.globalLevelEvent(1023, new BlockPosition(this), 0); //int viewDistance = ((ServerLevel) this.level).getCraftServer().getViewDistance() * 16; // Paper - updated to use worlds actual view distance incase we have to uncomment this due to removal of player view distance API diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 862b8f58b3da812f33406ae3b1858809c3c0b196..2e75e7c7317cb9c57cb3f36e38d9334fa7e9378a 100644 +index 60fccfcaa664a44170be86088e5249475b3a3149..12c84e3d9f702fa881ecb7e5de68391c9c4aec0f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2543,6 +2543,7 @@ public class PurpurWorldConfig { +@@ -2545,6 +2545,7 @@ public class PurpurWorldConfig { public boolean witherTakeDamageFromWater = false; public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; @@ -29,7 +29,7 @@ index 862b8f58b3da812f33406ae3b1858809c3c0b196..2e75e7c7317cb9c57cb3f36e38d9334f private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2564,6 +2565,7 @@ public class PurpurWorldConfig { +@@ -2566,6 +2567,7 @@ public class PurpurWorldConfig { witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius); diff --git a/patches/server/0219-Cactus-breaks-from-solid-neighbors-config.patch b/patches/server/0219-Cactus-breaks-from-solid-neighbors-config.patch index 7ea7280da..e96afc6a8 100644 --- a/patches/server/0219-Cactus-breaks-from-solid-neighbors-config.patch +++ b/patches/server/0219-Cactus-breaks-from-solid-neighbors-config.patch @@ -18,10 +18,10 @@ index 0fbabb84ef13e68b12212d9bfeb885c78893c116..56fa0e377b20ed063e47358be9e6bba8 return false; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2e75e7c7317cb9c57cb3f36e38d9334fa7e9378a..29d09394eb6ee9fc7f412ffd9b0423b58a8b11fc 100644 +index 12c84e3d9f702fa881ecb7e5de68391c9c4aec0f..e135bfd60a2b327b7a75a21f99a9d50cc89ec421 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -730,6 +730,11 @@ public class PurpurWorldConfig { +@@ -732,6 +732,11 @@ public class PurpurWorldConfig { buddingAmethystSilkTouch = getBoolean("blocks.budding_amethyst.silk-touch", buddingAmethystSilkTouch); } diff --git a/patches/server/0221-Conduit-behavior-configuration.patch b/patches/server/0221-Conduit-behavior-configuration.patch index de1b27038..1a0e2303c 100644 --- a/patches/server/0221-Conduit-behavior-configuration.patch +++ b/patches/server/0221-Conduit-behavior-configuration.patch @@ -44,10 +44,10 @@ index 05eab04e4aec4151018f25b59f92ddbbb4c09f87..8db906e021ca57c7f2a1e7002647e5c5 } CraftEventFactory.blockDamage = null; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 497696a008d6508aee4f0facb36258af48c3fec2..ce5c9920d5b4f8cbd65d00db4e664e3fc847aabb 100644 +index c57b344beaf4565fbf887b46008ccaf3ab70e970..26f6ab76a64c92650df8d69b877982fd133bb1db 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2762,5 +2762,28 @@ public class PurpurWorldConfig { +@@ -2764,5 +2764,28 @@ public class PurpurWorldConfig { private void hungerSettings() { hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage); } diff --git a/patches/server/0222-Cauldron-fill-chances.patch b/patches/server/0222-Cauldron-fill-chances.patch index da9bb0d1c..0de640166 100644 --- a/patches/server/0222-Cauldron-fill-chances.patch +++ b/patches/server/0222-Cauldron-fill-chances.patch @@ -47,10 +47,10 @@ index ef15adf66ea994d15a7d2718dd3d22cd07c31f98..dd87e3efdeafb211c1e44f8dc3348830 if (dripChance < f1) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ce5c9920d5b4f8cbd65d00db4e664e3fc847aabb..f94960a51c983cf66efcfed7622c7c515ccada29 100644 +index 26f6ab76a64c92650df8d69b877982fd133bb1db..e6984650f0c5aca4c78053f0ca1dfda2eb0efb45 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2785,5 +2785,16 @@ public class PurpurWorldConfig { +@@ -2787,5 +2787,16 @@ public class PurpurWorldConfig { }); conduitBlocks = conduitBlockList.toArray(Block[]::new); } diff --git a/patches/server/0224-Shulker-change-color-with-dye.patch b/patches/server/0224-Shulker-change-color-with-dye.patch index b22670c47..8409835e7 100644 --- a/patches/server/0224-Shulker-change-color-with-dye.patch +++ b/patches/server/0224-Shulker-change-color-with-dye.patch @@ -47,10 +47,10 @@ index ada070d8e1a2d328c02455eb9e5ad056046bcd0a..691b59f784e34b061ea156a3236c09f2 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index fc3847897170994bbd4e8908a6740a7030048dc8..3b2bfa5a72e4b0b5e6bb9e9f88645eda50877879 100644 +index f959b938e55853275849950a30ab3d87aca1c9e8..574e53c1e58aee2c8159c3191b3ba7cff636447d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2114,6 +2114,7 @@ public class PurpurWorldConfig { +@@ -2116,6 +2116,7 @@ public class PurpurWorldConfig { public double shulkerSpawnFromBulletNearbyRange = 8.0D; public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0"; public boolean shulkerSpawnFromBulletRandomColor = false; @@ -58,7 +58,7 @@ index fc3847897170994bbd4e8908a6740a7030048dc8..3b2bfa5a72e4b0b5e6bb9e9f88645eda private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2130,6 +2131,7 @@ public class PurpurWorldConfig { +@@ -2132,6 +2133,7 @@ public class PurpurWorldConfig { shulkerSpawnFromBulletNearbyRange = getDouble("mobs.shulker.spawn-from-bullet.nearby-range", shulkerSpawnFromBulletNearbyRange); shulkerSpawnFromBulletNearbyEquation = getString("mobs.shulker.spawn-from-bullet.nearby-equation", shulkerSpawnFromBulletNearbyEquation); shulkerSpawnFromBulletRandomColor = getBoolean("mobs.shulker.spawn-from-bullet.random-color", shulkerSpawnFromBulletRandomColor); diff --git a/patches/server/0228-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch b/patches/server/0228-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch index c36ffee81..b3d67ead0 100644 --- a/patches/server/0228-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch +++ b/patches/server/0228-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch @@ -45,10 +45,10 @@ index bcc1ce196c1dbf60cf6ae73d95766dc41ed22012..ad0ee0d333ffd862fe74ac3a097c51d5 public static final Block MOSS_BLOCK = register("moss_block", new MossBlock(BlockBehaviour.Properties.of(Material.MOSS, MaterialColor.COLOR_GREEN).strength(0.1F).sound(SoundType.MOSS))); public static final Block BIG_DRIPLEAF = register("big_dripleaf", new BigDripleafBlock(BlockBehaviour.Properties.of(Material.PLANT).strength(0.1F).sound(SoundType.BIG_DRIPLEAF))); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 12038651b988ec3b67feff352a494dc2a99b843a..db2a2a2845cf9155875d0ae1a11fce0dc2b6b4e7 100644 +index 4ef41536c09c487a3f602896d39a3c090d56a6ab..3732b0e26885bf458befde37914a901bfb5ec0ea 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -690,6 +690,11 @@ public class PurpurWorldConfig { +@@ -692,6 +692,11 @@ public class PurpurWorldConfig { anvilAllowColors = getBoolean("blocks.anvil.allow-colors", anvilAllowColors); } @@ -60,7 +60,7 @@ index 12038651b988ec3b67feff352a494dc2a99b843a..db2a2a2845cf9155875d0ae1a11fce0d public int beaconLevelOne = 20; public int beaconLevelTwo = 30; public int beaconLevelThree = 40; -@@ -819,6 +824,11 @@ public class PurpurWorldConfig { +@@ -821,6 +826,11 @@ public class PurpurWorldConfig { farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling); } diff --git a/patches/server/0230-Dolphins-naturally-aggressive-to-players-chance.patch b/patches/server/0230-Dolphins-naturally-aggressive-to-players-chance.patch index ede83cfae..f8a416e17 100644 --- a/patches/server/0230-Dolphins-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0230-Dolphins-naturally-aggressive-to-players-chance.patch @@ -47,10 +47,10 @@ index 1e95fa49a5dc8b756756924cbaf12d49ad33a274..89e3eec134868f727d776ee8144b2915 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 95a643519ce3e4ef376acc2e8e2456595583db38..8eeeef68f436f2e6a215c2aae89a2da5ab602c80 100644 +index f1295559db2833f6acaad9a3f0a3c42405eef1fc..3bfee9e6574a71ccd1ad13131ac9759f268e5129 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1198,6 +1198,7 @@ public class PurpurWorldConfig { +@@ -1200,6 +1200,7 @@ public class PurpurWorldConfig { public double dolphinMaxHealth = 10.0D; public boolean dolphinDisableTreasureSearching = false; public boolean dolphinTakeDamageFromWater = false; @@ -58,7 +58,7 @@ index 95a643519ce3e4ef376acc2e8e2456595583db38..8eeeef68f436f2e6a215c2aae89a2da5 private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -1212,6 +1213,7 @@ public class PurpurWorldConfig { +@@ -1214,6 +1215,7 @@ public class PurpurWorldConfig { dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth); dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching); dolphinTakeDamageFromWater = getBoolean("mobs.dolphin.takes-damage-from-water", dolphinTakeDamageFromWater); diff --git a/patches/server/0231-Cows-naturally-aggressive-to-players-chance.patch b/patches/server/0231-Cows-naturally-aggressive-to-players-chance.patch index 33761080a..1687122cf 100644 --- a/patches/server/0231-Cows-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0231-Cows-naturally-aggressive-to-players-chance.patch @@ -59,10 +59,10 @@ index 00eec3f51e62858e7b85b3340e76bf66bfd4370f..b5002526f20fb8ae52783a6ba95ccd2d @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8eeeef68f436f2e6a215c2aae89a2da5ab602c80..e152a7a12566bb43e34f4cdd1f3c36a23b168c1e 100644 +index 3bfee9e6574a71ccd1ad13131ac9759f268e5129..5d86e4dff7c77e379eb65a845efcd3521185c24f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1147,7 +1147,14 @@ public class PurpurWorldConfig { +@@ -1149,7 +1149,14 @@ public class PurpurWorldConfig { public int cowFeedMushrooms = 0; public int cowBreedingTicks = 6000; public boolean cowTakeDamageFromWater = false; @@ -77,7 +77,7 @@ index 8eeeef68f436f2e6a215c2aae89a2da5ab602c80..e152a7a12566bb43e34f4cdd1f3c36a2 cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); cowControllable = getBoolean("mobs.cow.controllable", cowControllable); -@@ -1160,6 +1167,8 @@ public class PurpurWorldConfig { +@@ -1162,6 +1169,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/0232-Option-for-beds-to-explode-on-villager-sleep.patch b/patches/server/0232-Option-for-beds-to-explode-on-villager-sleep.patch index 570117b7d..86d9935aa 100644 --- a/patches/server/0232-Option-for-beds-to-explode-on-villager-sleep.patch +++ b/patches/server/0232-Option-for-beds-to-explode-on-villager-sleep.patch @@ -22,10 +22,10 @@ index 89435b0742064d77c7cc8bb871949acc9852f2c0..f04778287545e9619ee0359f1e51151d 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 e152a7a12566bb43e34f4cdd1f3c36a23b168c1e..56e64064e562caf69765e42781b83b9260db5f47 100644 +index 5d86e4dff7c77e379eb65a845efcd3521185c24f..b66fcc5ca2bea4d67cc8355ca9adbe97111b44bc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -709,11 +709,13 @@ public class PurpurWorldConfig { +@@ -711,11 +711,13 @@ public class PurpurWorldConfig { } public boolean bedExplode = true; diff --git a/patches/server/0233-Halloween-options-and-optimizations.patch b/patches/server/0233-Halloween-options-and-optimizations.patch index d571f5703..73db71151 100644 --- a/patches/server/0233-Halloween-options-and-optimizations.patch +++ b/patches/server/0233-Halloween-options-and-optimizations.patch @@ -60,10 +60,10 @@ index 0748babe61be5e5082132af6c4a3bc82612b70b3..5b7a6fa9692933ceb40c36e2c684a98d 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 56e64064e562caf69765e42781b83b9260db5f47..9b622b8682055f869e43d5c37a9dd555871624f9 100644 +index b66fcc5ca2bea4d67cc8355ca9adbe97111b44bc..749eede2d0360195fb6c93a09c49406399499929 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1540,6 +1540,13 @@ public class PurpurWorldConfig { +@@ -1542,6 +1542,13 @@ public class PurpurWorldConfig { guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater); } diff --git a/patches/server/0236-Campfire-option-for-lit-when-placed.patch b/patches/server/0236-Campfire-option-for-lit-when-placed.patch index 3ac321753..a2acce8f2 100644 --- a/patches/server/0236-Campfire-option-for-lit-when-placed.patch +++ b/patches/server/0236-Campfire-option-for-lit-when-placed.patch @@ -18,10 +18,10 @@ index a4c44cb59dee29cf227dbb51bfc1576d89dfb2e3..551bacade8642e6aad17120d8a901bcc @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9b622b8682055f869e43d5c37a9dd555871624f9..77d5ad2985eb0f3d4a75f6129b4d44a81b637861 100644 +index 749eede2d0360195fb6c93a09c49406399499929..ebe19dd2bcb419d961bb45558e064ed915b3d91e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -752,6 +752,11 @@ public class PurpurWorldConfig { +@@ -754,6 +754,11 @@ public class PurpurWorldConfig { cactusBreaksFromSolidNeighbors = getBoolean("blocks.cactus.breaks-from-solid-neighbors", cactusBreaksFromSolidNeighbors); } diff --git a/patches/server/0238-Add-option-to-disable-zombie-villagers-cure.patch b/patches/server/0238-Add-option-to-disable-zombie-villagers-cure.patch index c394864a0..2ae9657e9 100644 --- a/patches/server/0238-Add-option-to-disable-zombie-villagers-cure.patch +++ b/patches/server/0238-Add-option-to-disable-zombie-villagers-cure.patch @@ -18,10 +18,10 @@ index 54b5749a5e40ed9042af1c4904afcdc4af157d82..07c2ea2d16c9df6107247507fcd09025 itemstack.shrink(1); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f21fcef89306008af99b4ef086c87d5226689e5c..990918f2f48c5f035c1dc8d79cab2b8e6145cdbd 100644 +index 6a76db843326eded6b2e476e4fc37520274a527f..d043d160af858523837deb06733c5f02df84402f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2762,6 +2762,7 @@ public class PurpurWorldConfig { +@@ -2764,6 +2764,7 @@ public class PurpurWorldConfig { public boolean zombieVillagerTakeDamageFromWater = false; public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; @@ -29,7 +29,7 @@ index f21fcef89306008af99b4ef086c87d5226689e5c..990918f2f48c5f035c1dc8d79cab2b8e private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2779,6 +2780,7 @@ public class PurpurWorldConfig { +@@ -2781,6 +2782,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/0240-Signs-allow-color-codes.patch b/patches/server/0240-Signs-allow-color-codes.patch index 7fd538990..f98545ab3 100644 --- a/patches/server/0240-Signs-allow-color-codes.patch +++ b/patches/server/0240-Signs-allow-color-codes.patch @@ -70,10 +70,10 @@ index 6c96c3dde4e1b1b1b6952841edb41006e73737e9..c02cf76cce353aff189b3e0a967e88f7 public CompoundTag getUpdateTag() { return this.saveWithoutMetadata(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index dd4a639596e14e6293262839121e60dce42ffda9..567a33bd21c14e412dede5b25eb47c513e551565 100644 +index f3f7f34209739014528d127cbc80b7e6a1b2435f..ed484f609766a15c6097ee782ddb97bff1f11456 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -922,8 +922,10 @@ public class PurpurWorldConfig { +@@ -924,8 +924,10 @@ public class PurpurWorldConfig { } public boolean signRightClickEdit = false; diff --git a/patches/server/0241-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch b/patches/server/0241-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch index d3f7d608d..30b8e0839 100644 --- a/patches/server/0241-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch +++ b/patches/server/0241-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch @@ -131,10 +131,10 @@ index e5c135ec059746b75fe58516809584221285cdbe..b09ccc493c7503aa99a64d760b5bc769 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 567a33bd21c14e412dede5b25eb47c513e551565..adf9eb03b67404b8ae4734f24f2a3043bff59a39 100644 +index ed484f609766a15c6097ee782ddb97bff1f11456..3e5e8345f1faefefb057da639213fcbcc4f32551 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -775,6 +775,11 @@ public class PurpurWorldConfig { +@@ -777,6 +777,11 @@ public class PurpurWorldConfig { composterBulkProcess = getBoolean("blocks.composter.sneak-to-bulk-process", composterBulkProcess); } @@ -146,7 +146,7 @@ index 567a33bd21c14e412dede5b25eb47c513e551565..adf9eb03b67404b8ae4734f24f2a3043 public boolean dispenserApplyCursedArmor = true; public boolean dispenserPlaceAnvils = false; private void dispenserSettings() { -@@ -869,6 +874,16 @@ public class PurpurWorldConfig { +@@ -871,6 +876,16 @@ public class PurpurWorldConfig { mobsSpawnOnBlueIce = getBoolean("blocks.blue_ice.allow-mob-spawns", mobsSpawnOnBlueIce); } @@ -163,7 +163,7 @@ index 567a33bd21c14e412dede5b25eb47c513e551565..adf9eb03b67404b8ae4734f24f2a3043 public boolean lavaInfinite = false; public int lavaInfiniteRequiredSources = 2; public int lavaSpeedNether = 10; -@@ -958,6 +973,16 @@ public class PurpurWorldConfig { +@@ -960,6 +975,16 @@ public class PurpurWorldConfig { turtleEggsBypassMobGriefing = getBoolean("blocks.turtle_egg.bypass-mob-griefing", turtleEggsBypassMobGriefing); } @@ -180,7 +180,7 @@ index 567a33bd21c14e412dede5b25eb47c513e551565..adf9eb03b67404b8ae4734f24f2a3043 public boolean waterInfinite = true; public int waterInfiniteRequiredSources = 2; private void waterSources() { -@@ -965,6 +990,16 @@ public class PurpurWorldConfig { +@@ -967,6 +992,16 @@ public class PurpurWorldConfig { waterInfiniteRequiredSources = getInt("blocks.water.infinite-required-sources", waterInfiniteRequiredSources); } diff --git a/patches/server/0242-Mobs-always-drop-experience.patch b/patches/server/0242-Mobs-always-drop-experience.patch index 74f29e82f..d9d548613 100644 --- a/patches/server/0242-Mobs-always-drop-experience.patch +++ b/patches/server/0242-Mobs-always-drop-experience.patch @@ -1157,10 +1157,10 @@ index 8d6930868a42b9fc98d7672bff433ec50d36999e..53bebecd30fee7613af73901b3aa9961 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc9dbb6ce3 100644 +index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c41401bf8cf66 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1023,12 +1023,14 @@ public class PurpurWorldConfig { +@@ -1025,12 +1025,14 @@ public class PurpurWorldConfig { public double axolotlMaxHealth = 14.0D; public int axolotlBreedingTicks = 6000; public boolean axolotlTakeDamageFromWater = false; @@ -1175,7 +1175,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean batRidable = false; -@@ -1044,6 +1046,7 @@ public class PurpurWorldConfig { +@@ -1046,6 +1048,7 @@ public class PurpurWorldConfig { public double batArmorToughness = 0.0D; public double batAttackKnockback = 0.0D; public boolean batTakeDamageFromWater = false; @@ -1183,7 +1183,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void batSettings() { batRidable = getBoolean("mobs.bat.ridable", batRidable); batRidableInWater = getBoolean("mobs.bat.ridable-in-water", batRidableInWater); -@@ -1056,6 +1059,7 @@ public class PurpurWorldConfig { +@@ -1058,6 +1061,7 @@ public class PurpurWorldConfig { } batMaxHealth = getDouble("mobs.bat.attributes.max_health", batMaxHealth); batTakeDamageFromWater = getBoolean("mobs.bat.takes-damage-from-water", batTakeDamageFromWater); @@ -1191,7 +1191,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean beeRidable = false; -@@ -1067,6 +1071,7 @@ public class PurpurWorldConfig { +@@ -1069,6 +1073,7 @@ public class PurpurWorldConfig { public boolean beeTakeDamageFromWater = false; public boolean beeCanWorkAtNight = false; public boolean beeCanWorkInRain = false; @@ -1199,7 +1199,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -1082,6 +1087,7 @@ public class PurpurWorldConfig { +@@ -1084,6 +1089,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); @@ -1207,7 +1207,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean blazeRidable = false; -@@ -1090,6 +1096,7 @@ public class PurpurWorldConfig { +@@ -1092,6 +1098,7 @@ public class PurpurWorldConfig { public double blazeMaxY = 320D; public double blazeMaxHealth = 20.0D; public boolean blazeTakeDamageFromWater = true; @@ -1215,7 +1215,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void blazeSettings() { blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable); blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater); -@@ -1102,6 +1109,7 @@ public class PurpurWorldConfig { +@@ -1104,6 +1111,7 @@ public class PurpurWorldConfig { } blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth); blazeTakeDamageFromWater = getBoolean("mobs.blaze.takes-damage-from-water", blazeTakeDamageFromWater); @@ -1223,7 +1223,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean catRidable = false; -@@ -1114,6 +1122,7 @@ public class PurpurWorldConfig { +@@ -1116,6 +1124,7 @@ public class PurpurWorldConfig { public int catBreedingTicks = 6000; public DyeColor catDefaultCollarColor = DyeColor.RED; public boolean catTakeDamageFromWater = false; @@ -1231,7 +1231,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -1134,6 +1143,7 @@ public class PurpurWorldConfig { +@@ -1136,6 +1145,7 @@ public class PurpurWorldConfig { catDefaultCollarColor = DyeColor.RED; } catTakeDamageFromWater = getBoolean("mobs.cat.takes-damage-from-water", catTakeDamageFromWater); @@ -1239,7 +1239,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean caveSpiderRidable = false; -@@ -1141,6 +1151,7 @@ public class PurpurWorldConfig { +@@ -1143,6 +1153,7 @@ public class PurpurWorldConfig { public boolean caveSpiderControllable = true; public double caveSpiderMaxHealth = 12.0D; public boolean caveSpiderTakeDamageFromWater = false; @@ -1247,7 +1247,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void caveSpiderSettings() { caveSpiderRidable = getBoolean("mobs.cave_spider.ridable", caveSpiderRidable); caveSpiderRidableInWater = getBoolean("mobs.cave_spider.ridable-in-water", caveSpiderRidableInWater); -@@ -1152,6 +1163,7 @@ public class PurpurWorldConfig { +@@ -1154,6 +1165,7 @@ public class PurpurWorldConfig { } caveSpiderMaxHealth = getDouble("mobs.cave_spider.attributes.max_health", caveSpiderMaxHealth); caveSpiderTakeDamageFromWater = getBoolean("mobs.cave_spider.takes-damage-from-water", caveSpiderTakeDamageFromWater); @@ -1255,7 +1255,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean chickenRidable = false; -@@ -1161,6 +1173,7 @@ public class PurpurWorldConfig { +@@ -1163,6 +1175,7 @@ public class PurpurWorldConfig { public boolean chickenRetaliate = false; public int chickenBreedingTicks = 6000; public boolean chickenTakeDamageFromWater = false; @@ -1263,7 +1263,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -1174,12 +1187,14 @@ public class PurpurWorldConfig { +@@ -1176,12 +1189,14 @@ 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); @@ -1278,7 +1278,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void codSettings() { codRidable = getBoolean("mobs.cod.ridable", codRidable); codControllable = getBoolean("mobs.cod.controllable", codControllable); -@@ -1190,6 +1205,7 @@ public class PurpurWorldConfig { +@@ -1192,6 +1207,7 @@ public class PurpurWorldConfig { } codMaxHealth = getDouble("mobs.cod.attributes.max_health", codMaxHealth); codTakeDamageFromWater = getBoolean("mobs.cod.takes-damage-from-water", codTakeDamageFromWater); @@ -1286,7 +1286,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean cowRidable = false; -@@ -1201,6 +1217,7 @@ public class PurpurWorldConfig { +@@ -1203,6 +1219,7 @@ public class PurpurWorldConfig { public boolean cowTakeDamageFromWater = false; public double cowNaturallyAggressiveToPlayersChance = 0.0D; public double cowNaturallyAggressiveToPlayersDamage = 2.0D; @@ -1294,7 +1294,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void cowSettings() { if (PurpurConfig.version < 22) { double oldValue = getDouble("mobs.cow.naturally-aggressive-to-players-chance", cowNaturallyAggressiveToPlayersChance); -@@ -1221,6 +1238,7 @@ public class PurpurWorldConfig { +@@ -1223,6 +1240,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); @@ -1302,7 +1302,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean creeperRidable = false; -@@ -1233,6 +1251,7 @@ public class PurpurWorldConfig { +@@ -1235,6 +1253,7 @@ public class PurpurWorldConfig { public boolean creeperTakeDamageFromWater = false; public boolean creeperExplodeWhenKilled = false; public boolean creeperHealthRadius = false; @@ -1310,7 +1310,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1249,6 +1268,7 @@ public class PurpurWorldConfig { +@@ -1251,6 +1270,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); @@ -1318,7 +1318,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean dolphinRidable = false; -@@ -1260,6 +1280,7 @@ public class PurpurWorldConfig { +@@ -1262,6 +1282,7 @@ public class PurpurWorldConfig { public boolean dolphinDisableTreasureSearching = false; public boolean dolphinTakeDamageFromWater = false; public double dolphinNaturallyAggressiveToPlayersChance = 0.0D; @@ -1326,7 +1326,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -1275,6 +1296,7 @@ public class PurpurWorldConfig { +@@ -1277,6 +1298,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); @@ -1334,7 +1334,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean donkeyRidableInWater = false; -@@ -1286,6 +1308,7 @@ public class PurpurWorldConfig { +@@ -1288,6 +1310,7 @@ public class PurpurWorldConfig { public double donkeyMovementSpeedMax = 0.175D; public int donkeyBreedingTicks = 6000; public boolean donkeyTakeDamageFromWater = false; @@ -1342,7 +1342,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); if (PurpurConfig.version < 10) { -@@ -1303,6 +1326,7 @@ public class PurpurWorldConfig { +@@ -1305,6 +1328,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); @@ -1350,7 +1350,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean drownedRidable = false; -@@ -1315,6 +1339,7 @@ public class PurpurWorldConfig { +@@ -1317,6 +1341,7 @@ public class PurpurWorldConfig { public boolean drownedJockeyTryExistingChickens = true; public boolean drownedTakeDamageFromWater = false; public boolean drownedBreakDoors = false; @@ -1358,7 +1358,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1331,12 +1356,14 @@ public class PurpurWorldConfig { +@@ -1333,12 +1358,14 @@ 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); @@ -1373,7 +1373,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void elderGuardianSettings() { elderGuardianRidable = getBoolean("mobs.elder_guardian.ridable", elderGuardianRidable); elderGuardianControllable = getBoolean("mobs.elder_guardian.controllable", elderGuardianControllable); -@@ -1347,6 +1374,7 @@ public class PurpurWorldConfig { +@@ -1349,6 +1376,7 @@ public class PurpurWorldConfig { } elderGuardianMaxHealth = getDouble("mobs.elder_guardian.attributes.max_health", elderGuardianMaxHealth); elderGuardianTakeDamageFromWater = getBoolean("mobs.elder_guardian.takes-damage-from-water", elderGuardianTakeDamageFromWater); @@ -1381,7 +1381,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean enderDragonRidable = false; -@@ -1392,6 +1420,7 @@ public class PurpurWorldConfig { +@@ -1394,6 +1422,7 @@ public class PurpurWorldConfig { public boolean endermanIgnorePlayerDragonHead = false; public boolean endermanDisableStareAggro = false; public boolean endermanIgnoreProjectiles = false; @@ -1389,7 +1389,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1415,6 +1444,7 @@ public class PurpurWorldConfig { +@@ -1417,6 +1446,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); @@ -1397,7 +1397,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean endermiteRidable = false; -@@ -1422,6 +1452,7 @@ public class PurpurWorldConfig { +@@ -1424,6 +1454,7 @@ public class PurpurWorldConfig { public boolean endermiteControllable = true; public double endermiteMaxHealth = 8.0D; public boolean endermiteTakeDamageFromWater = false; @@ -1405,7 +1405,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void endermiteSettings() { endermiteRidable = getBoolean("mobs.endermite.ridable", endermiteRidable); endermiteRidableInWater = getBoolean("mobs.endermite.ridable-in-water", endermiteRidableInWater); -@@ -1433,6 +1464,7 @@ public class PurpurWorldConfig { +@@ -1435,6 +1466,7 @@ public class PurpurWorldConfig { } endermiteMaxHealth = getDouble("mobs.endermite.attributes.max_health", endermiteMaxHealth); endermiteTakeDamageFromWater = getBoolean("mobs.endermite.takes-damage-from-water", endermiteTakeDamageFromWater); @@ -1413,7 +1413,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean evokerRidable = false; -@@ -1441,6 +1473,7 @@ public class PurpurWorldConfig { +@@ -1443,6 +1475,7 @@ public class PurpurWorldConfig { public double evokerMaxHealth = 24.0D; public boolean evokerBypassMobGriefing = false; public boolean evokerTakeDamageFromWater = false; @@ -1421,7 +1421,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -1453,6 +1486,7 @@ public class PurpurWorldConfig { +@@ -1455,6 +1488,7 @@ public class PurpurWorldConfig { evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth); evokerBypassMobGriefing = getBoolean("mobs.evoker.bypass-mob-griefing", evokerBypassMobGriefing); evokerTakeDamageFromWater = getBoolean("mobs.evoker.takes-damage-from-water", evokerTakeDamageFromWater); @@ -1429,7 +1429,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean foxRidable = false; -@@ -1463,6 +1497,7 @@ public class PurpurWorldConfig { +@@ -1465,6 +1499,7 @@ public class PurpurWorldConfig { public int foxBreedingTicks = 6000; public boolean foxBypassMobGriefing = false; public boolean foxTakeDamageFromWater = false; @@ -1437,7 +1437,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -1477,6 +1512,7 @@ public class PurpurWorldConfig { +@@ -1479,6 +1514,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); @@ -1445,7 +1445,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean frogRidable = false; -@@ -1498,6 +1534,7 @@ public class PurpurWorldConfig { +@@ -1500,6 +1536,7 @@ public class PurpurWorldConfig { public double ghastMaxY = 320D; public double ghastMaxHealth = 10.0D; public boolean ghastTakeDamageFromWater = false; @@ -1453,7 +1453,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void ghastSettings() { ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable); ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater); -@@ -1510,6 +1547,7 @@ public class PurpurWorldConfig { +@@ -1512,6 +1549,7 @@ public class PurpurWorldConfig { } ghastMaxHealth = getDouble("mobs.ghast.attributes.max_health", ghastMaxHealth); ghastTakeDamageFromWater = getBoolean("mobs.ghast.takes-damage-from-water", ghastTakeDamageFromWater); @@ -1461,7 +1461,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean giantRidable = false; -@@ -1523,6 +1561,7 @@ public class PurpurWorldConfig { +@@ -1525,6 +1563,7 @@ public class PurpurWorldConfig { public boolean giantHaveAI = false; public boolean giantHaveHostileAI = false; public boolean giantTakeDamageFromWater = false; @@ -1469,7 +1469,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -1544,6 +1583,7 @@ public class PurpurWorldConfig { +@@ -1546,6 +1585,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); @@ -1477,7 +1477,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean glowSquidRidable = false; -@@ -1551,12 +1591,14 @@ public class PurpurWorldConfig { +@@ -1553,12 +1593,14 @@ public class PurpurWorldConfig { public double glowSquidMaxHealth = 10.0D; public boolean glowSquidsCanFly = false; public boolean glowSquidTakeDamageFromWater = false; @@ -1492,7 +1492,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean goatRidable = false; -@@ -1565,6 +1607,7 @@ public class PurpurWorldConfig { +@@ -1567,6 +1609,7 @@ public class PurpurWorldConfig { public double goatMaxHealth = 10.0D; public int goatBreedingTicks = 6000; public boolean goatTakeDamageFromWater = false; @@ -1500,7 +1500,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void goatSettings() { goatRidable = getBoolean("mobs.goat.ridable", goatRidable); goatRidableInWater = getBoolean("mobs.goat.ridable-in-water", goatRidableInWater); -@@ -1572,12 +1615,14 @@ public class PurpurWorldConfig { +@@ -1574,12 +1617,14 @@ public class PurpurWorldConfig { goatMaxHealth = getDouble("mobs.goat.attributes.max_health", goatMaxHealth); goatBreedingTicks = getInt("mobs.goat.breeding-delay-ticks", goatBreedingTicks); goatTakeDamageFromWater = getBoolean("mobs.goat.takes-damage-from-water", goatTakeDamageFromWater); @@ -1515,7 +1515,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void guardianSettings() { guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable); guardianControllable = getBoolean("mobs.guardian.controllable", guardianControllable); -@@ -1588,6 +1633,7 @@ public class PurpurWorldConfig { +@@ -1590,6 +1635,7 @@ public class PurpurWorldConfig { } guardianMaxHealth = getDouble("mobs.guardian.attributes.max_health", guardianMaxHealth); guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater); @@ -1523,7 +1523,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean forceHalloweenSeason = false; -@@ -1603,6 +1649,7 @@ public class PurpurWorldConfig { +@@ -1605,6 +1651,7 @@ public class PurpurWorldConfig { public double hoglinMaxHealth = 40.0D; public int hoglinBreedingTicks = 6000; public boolean hoglinTakeDamageFromWater = false; @@ -1531,7 +1531,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -1615,6 +1662,7 @@ public class PurpurWorldConfig { +@@ -1617,6 +1664,7 @@ public class PurpurWorldConfig { hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks); hoglinTakeDamageFromWater = getBoolean("mobs.hoglin.takes-damage-from-water", hoglinTakeDamageFromWater); @@ -1539,7 +1539,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean horseRidableInWater = false; -@@ -1627,6 +1675,7 @@ public class PurpurWorldConfig { +@@ -1629,6 +1677,7 @@ public class PurpurWorldConfig { public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; public boolean horseStandWithRider = true; @@ -1547,7 +1547,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1645,6 +1694,7 @@ public class PurpurWorldConfig { +@@ -1647,6 +1696,7 @@ public class PurpurWorldConfig { horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks); horseTakeDamageFromWater = getBoolean("mobs.horse.takes-damage-from-water", horseTakeDamageFromWater); horseStandWithRider = getBoolean("mobs.horse.stand-with-rider", horseStandWithRider); @@ -1555,7 +1555,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean huskRidable = false; -@@ -1656,6 +1706,7 @@ public class PurpurWorldConfig { +@@ -1658,6 +1708,7 @@ public class PurpurWorldConfig { public double huskJockeyChance = 0.05D; public boolean huskJockeyTryExistingChickens = true; public boolean huskTakeDamageFromWater = false; @@ -1563,7 +1563,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -1671,6 +1722,7 @@ public class PurpurWorldConfig { +@@ -1673,6 +1724,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); @@ -1571,7 +1571,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean illusionerRidable = false; -@@ -1680,6 +1732,7 @@ public class PurpurWorldConfig { +@@ -1682,6 +1734,7 @@ public class PurpurWorldConfig { public double illusionerFollowRange = 18.0D; public double illusionerMaxHealth = 32.0D; public boolean illusionerTakeDamageFromWater = false; @@ -1579,7 +1579,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void illusionerSettings() { illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable); illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater); -@@ -1697,6 +1750,7 @@ public class PurpurWorldConfig { +@@ -1699,6 +1752,7 @@ public class PurpurWorldConfig { } illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max_health", illusionerMaxHealth); illusionerTakeDamageFromWater = getBoolean("mobs.illusioner.takes-damage-from-water", illusionerTakeDamageFromWater); @@ -1587,7 +1587,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean ironGolemRidable = false; -@@ -1707,6 +1761,7 @@ public class PurpurWorldConfig { +@@ -1709,6 +1763,7 @@ public class PurpurWorldConfig { public boolean ironGolemTakeDamageFromWater = false; public boolean ironGolemPoppyCalm = false; public boolean ironGolemHealCalm = false; @@ -1595,7 +1595,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1721,6 +1776,7 @@ public class PurpurWorldConfig { +@@ -1723,6 +1778,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); @@ -1603,7 +1603,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean llamaRidable = false; -@@ -1735,6 +1791,7 @@ public class PurpurWorldConfig { +@@ -1737,6 +1793,7 @@ public class PurpurWorldConfig { public int llamaBreedingTicks = 6000; public boolean llamaTakeDamageFromWater = false; public boolean llamaJoinCaravans = true; @@ -1611,7 +1611,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1755,6 +1812,7 @@ public class PurpurWorldConfig { +@@ -1757,6 +1814,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); @@ -1619,7 +1619,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean magmaCubeRidable = false; -@@ -1765,6 +1823,7 @@ public class PurpurWorldConfig { +@@ -1767,6 +1825,7 @@ public class PurpurWorldConfig { public Map magmaCubeMaxHealthCache = new HashMap<>(); public Map magmaCubeAttackDamageCache = new HashMap<>(); public boolean magmaCubeTakeDamageFromWater = false; @@ -1627,7 +1627,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void magmaCubeSettings() { magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable); magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater); -@@ -1779,6 +1838,7 @@ public class PurpurWorldConfig { +@@ -1781,6 +1840,7 @@ public class PurpurWorldConfig { magmaCubeMaxHealthCache.clear(); magmaCubeAttackDamageCache.clear(); magmaCubeTakeDamageFromWater = getBoolean("mobs.magma_cube.takes-damage-from-water", magmaCubeTakeDamageFromWater); @@ -1635,7 +1635,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean mooshroomRidable = false; -@@ -1787,6 +1847,7 @@ public class PurpurWorldConfig { +@@ -1789,6 +1849,7 @@ public class PurpurWorldConfig { public double mooshroomMaxHealth = 10.0D; public int mooshroomBreedingTicks = 6000; public boolean mooshroomTakeDamageFromWater = false; @@ -1643,7 +1643,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1799,6 +1860,7 @@ public class PurpurWorldConfig { +@@ -1801,6 +1862,7 @@ public class PurpurWorldConfig { mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks); mooshroomTakeDamageFromWater = getBoolean("mobs.mooshroom.takes-damage-from-water", mooshroomTakeDamageFromWater); @@ -1651,7 +1651,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean muleRidableInWater = false; -@@ -1810,6 +1872,7 @@ public class PurpurWorldConfig { +@@ -1812,6 +1874,7 @@ public class PurpurWorldConfig { public double muleMovementSpeedMax = 0.175D; public int muleBreedingTicks = 6000; public boolean muleTakeDamageFromWater = false; @@ -1659,7 +1659,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1827,6 +1890,7 @@ public class PurpurWorldConfig { +@@ -1829,6 +1892,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); @@ -1667,7 +1667,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean ocelotRidable = false; -@@ -1835,6 +1899,7 @@ public class PurpurWorldConfig { +@@ -1837,6 +1901,7 @@ public class PurpurWorldConfig { public double ocelotMaxHealth = 10.0D; public int ocelotBreedingTicks = 6000; public boolean ocelotTakeDamageFromWater = false; @@ -1675,7 +1675,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1847,6 +1912,7 @@ public class PurpurWorldConfig { +@@ -1849,6 +1914,7 @@ public class PurpurWorldConfig { ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks); ocelotTakeDamageFromWater = getBoolean("mobs.ocelot.takes-damage-from-water", ocelotTakeDamageFromWater); @@ -1683,7 +1683,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean pandaRidable = false; -@@ -1855,6 +1921,7 @@ public class PurpurWorldConfig { +@@ -1857,6 +1923,7 @@ public class PurpurWorldConfig { public double pandaMaxHealth = 20.0D; public int pandaBreedingTicks = 6000; public boolean pandaTakeDamageFromWater = false; @@ -1691,7 +1691,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1867,6 +1934,7 @@ public class PurpurWorldConfig { +@@ -1869,6 +1936,7 @@ public class PurpurWorldConfig { pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks); pandaTakeDamageFromWater = getBoolean("mobs.panda.takes-damage-from-water", pandaTakeDamageFromWater); @@ -1699,7 +1699,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean parrotRidable = false; -@@ -1876,6 +1944,7 @@ public class PurpurWorldConfig { +@@ -1878,6 +1946,7 @@ public class PurpurWorldConfig { public double parrotMaxHealth = 6.0D; public boolean parrotTakeDamageFromWater = false; public boolean parrotBreedable = false; @@ -1707,7 +1707,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1889,6 +1958,7 @@ public class PurpurWorldConfig { +@@ -1891,6 +1960,7 @@ public class PurpurWorldConfig { parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater); parrotBreedable = getBoolean("mobs.parrot.can-breed", parrotBreedable); @@ -1715,7 +1715,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean phantomRidable = false; -@@ -1922,6 +1992,7 @@ public class PurpurWorldConfig { +@@ -1924,6 +1994,7 @@ public class PurpurWorldConfig { public boolean phantomBurnInDaylight = true; public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; @@ -1723,7 +1723,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1963,6 +2034,7 @@ public class PurpurWorldConfig { +@@ -1965,6 +2036,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); @@ -1731,7 +1731,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean pigRidable = false; -@@ -1972,6 +2044,7 @@ public class PurpurWorldConfig { +@@ -1974,6 +2046,7 @@ public class PurpurWorldConfig { public boolean pigGiveSaddleBack = false; public int pigBreedingTicks = 6000; public boolean pigTakeDamageFromWater = false; @@ -1739,7 +1739,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -1985,6 +2058,7 @@ public class PurpurWorldConfig { +@@ -1987,6 +2060,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); @@ -1747,7 +1747,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean piglinRidable = false; -@@ -1994,6 +2068,7 @@ public class PurpurWorldConfig { +@@ -1996,6 +2070,7 @@ public class PurpurWorldConfig { public boolean piglinBypassMobGriefing = false; public boolean piglinTakeDamageFromWater = false; public int piglinPortalSpawnModifier = 2000; @@ -1755,7 +1755,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2007,6 +2082,7 @@ public class PurpurWorldConfig { +@@ -2009,6 +2084,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); @@ -1763,7 +1763,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean piglinBruteRidable = false; -@@ -2014,6 +2090,7 @@ public class PurpurWorldConfig { +@@ -2016,6 +2092,7 @@ public class PurpurWorldConfig { public boolean piglinBruteControllable = true; public double piglinBruteMaxHealth = 50.0D; public boolean piglinBruteTakeDamageFromWater = false; @@ -1771,7 +1771,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void piglinBruteSettings() { piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable); piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater); -@@ -2025,6 +2102,7 @@ public class PurpurWorldConfig { +@@ -2027,6 +2104,7 @@ public class PurpurWorldConfig { } piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth); piglinBruteTakeDamageFromWater = getBoolean("mobs.piglin_brute.takes-damage-from-water", piglinBruteTakeDamageFromWater); @@ -1779,7 +1779,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean pillagerRidable = false; -@@ -2033,6 +2111,7 @@ public class PurpurWorldConfig { +@@ -2035,6 +2113,7 @@ public class PurpurWorldConfig { public double pillagerMaxHealth = 24.0D; public boolean pillagerBypassMobGriefing = false; public boolean pillagerTakeDamageFromWater = false; @@ -1787,7 +1787,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -2045,6 +2124,7 @@ public class PurpurWorldConfig { +@@ -2047,6 +2126,7 @@ public class PurpurWorldConfig { pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing); pillagerTakeDamageFromWater = getBoolean("mobs.pillager.takes-damage-from-water", pillagerTakeDamageFromWater); @@ -1795,7 +1795,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean polarBearRidable = false; -@@ -2055,6 +2135,7 @@ public class PurpurWorldConfig { +@@ -2057,6 +2137,7 @@ public class PurpurWorldConfig { public Item polarBearBreedableItem = null; public int polarBearBreedingTicks = 6000; public boolean polarBearTakeDamageFromWater = false; @@ -1803,7 +1803,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -2070,12 +2151,14 @@ public class PurpurWorldConfig { +@@ -2072,12 +2153,14 @@ 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); @@ -1818,7 +1818,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void pufferfishSettings() { pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable); pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable); -@@ -2086,6 +2169,7 @@ public class PurpurWorldConfig { +@@ -2088,6 +2171,7 @@ public class PurpurWorldConfig { } pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth); pufferfishTakeDamageFromWater = getBoolean("mobs.pufferfish.takes-damage-from-water", pufferfishTakeDamageFromWater); @@ -1826,7 +1826,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean rabbitRidable = false; -@@ -2097,6 +2181,7 @@ public class PurpurWorldConfig { +@@ -2099,6 +2183,7 @@ public class PurpurWorldConfig { public int rabbitBreedingTicks = 6000; public boolean rabbitBypassMobGriefing = false; public boolean rabbitTakeDamageFromWater = false; @@ -1834,7 +1834,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -2112,6 +2197,7 @@ public class PurpurWorldConfig { +@@ -2114,6 +2199,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); @@ -1842,7 +1842,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean ravagerRidable = false; -@@ -2121,6 +2207,7 @@ public class PurpurWorldConfig { +@@ -2123,6 +2209,7 @@ public class PurpurWorldConfig { public boolean ravagerBypassMobGriefing = false; public boolean ravagerTakeDamageFromWater = false; public List ravagerGriefableBlocks = new ArrayList<>(); @@ -1850,7 +1850,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -2150,12 +2237,14 @@ public class PurpurWorldConfig { +@@ -2152,12 +2239,14 @@ public class PurpurWorldConfig { ravagerGriefableBlocks.add(block); } }); @@ -1865,7 +1865,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void salmonSettings() { salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable); salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable); -@@ -2166,6 +2255,7 @@ public class PurpurWorldConfig { +@@ -2168,6 +2257,7 @@ public class PurpurWorldConfig { } salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth); salmonTakeDamageFromWater = getBoolean("mobs.salmon.takes-damage-from-water", salmonTakeDamageFromWater); @@ -1873,7 +1873,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean sheepRidable = false; -@@ -2175,6 +2265,7 @@ public class PurpurWorldConfig { +@@ -2177,6 +2267,7 @@ public class PurpurWorldConfig { public int sheepBreedingTicks = 6000; public boolean sheepBypassMobGriefing = false; public boolean sheepTakeDamageFromWater = false; @@ -1881,7 +1881,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -2188,6 +2279,7 @@ public class PurpurWorldConfig { +@@ -2190,6 +2281,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); @@ -1889,7 +1889,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean shulkerRidable = false; -@@ -2201,6 +2293,7 @@ public class PurpurWorldConfig { +@@ -2203,6 +2295,7 @@ public class PurpurWorldConfig { public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0"; public boolean shulkerSpawnFromBulletRandomColor = false; public boolean shulkerChangeColorWithDye = false; @@ -1897,7 +1897,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2218,6 +2311,7 @@ public class PurpurWorldConfig { +@@ -2220,6 +2313,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); @@ -1905,7 +1905,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean silverfishRidable = false; -@@ -2226,6 +2320,7 @@ public class PurpurWorldConfig { +@@ -2228,6 +2322,7 @@ public class PurpurWorldConfig { public double silverfishMaxHealth = 8.0D; public boolean silverfishBypassMobGriefing = false; public boolean silverfishTakeDamageFromWater = false; @@ -1913,7 +1913,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -2238,6 +2333,7 @@ public class PurpurWorldConfig { +@@ -2240,6 +2335,7 @@ public class PurpurWorldConfig { silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing); silverfishTakeDamageFromWater = getBoolean("mobs.silverfish.takes-damage-from-water", silverfishTakeDamageFromWater); @@ -1921,7 +1921,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean skeletonRidable = false; -@@ -2245,6 +2341,7 @@ public class PurpurWorldConfig { +@@ -2247,6 +2343,7 @@ public class PurpurWorldConfig { public boolean skeletonControllable = true; public double skeletonMaxHealth = 20.0D; public boolean skeletonTakeDamageFromWater = false; @@ -1929,7 +1929,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2256,6 +2353,7 @@ public class PurpurWorldConfig { +@@ -2258,6 +2355,7 @@ public class PurpurWorldConfig { } skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth); skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater); @@ -1937,7 +1937,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean skeletonHorseRidableInWater = true; -@@ -2267,6 +2365,7 @@ public class PurpurWorldConfig { +@@ -2269,6 +2367,7 @@ public class PurpurWorldConfig { public double skeletonHorseMovementSpeedMin = 0.2D; public double skeletonHorseMovementSpeedMax = 0.2D; public boolean skeletonHorseTakeDamageFromWater = false; @@ -1945,7 +1945,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void skeletonHorseSettings() { skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater); skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim); -@@ -2283,6 +2382,7 @@ public class PurpurWorldConfig { +@@ -2285,6 +2384,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); @@ -1953,7 +1953,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean slimeRidable = false; -@@ -2293,6 +2393,7 @@ public class PurpurWorldConfig { +@@ -2295,6 +2395,7 @@ public class PurpurWorldConfig { public Map slimeMaxHealthCache = new HashMap<>(); public Map slimeAttackDamageCache = new HashMap<>(); public boolean slimeTakeDamageFromWater = false; @@ -1961,7 +1961,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void slimeSettings() { slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable); slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater); -@@ -2307,6 +2408,7 @@ public class PurpurWorldConfig { +@@ -2309,6 +2410,7 @@ public class PurpurWorldConfig { slimeMaxHealthCache.clear(); slimeAttackDamageCache.clear(); slimeTakeDamageFromWater = getBoolean("mobs.slime.takes-damage-from-water", slimeTakeDamageFromWater); @@ -1969,7 +1969,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean snowGolemRidable = false; -@@ -2322,6 +2424,7 @@ public class PurpurWorldConfig { +@@ -2324,6 +2426,7 @@ public class PurpurWorldConfig { public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; public boolean snowGolemTakeDamageFromWater = true; @@ -1977,7 +1977,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -2341,6 +2444,7 @@ public class PurpurWorldConfig { +@@ -2343,6 +2446,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); @@ -1985,7 +1985,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean squidRidable = false; -@@ -2350,6 +2454,7 @@ public class PurpurWorldConfig { +@@ -2352,6 +2456,7 @@ public class PurpurWorldConfig { public double squidOffsetWaterCheck = 0.0D; public boolean squidsCanFly = false; public boolean squidTakeDamageFromWater = false; @@ -1993,7 +1993,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -2363,6 +2468,7 @@ public class PurpurWorldConfig { +@@ -2365,6 +2470,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); @@ -2001,7 +2001,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean spiderRidable = false; -@@ -2370,6 +2476,7 @@ public class PurpurWorldConfig { +@@ -2372,6 +2478,7 @@ public class PurpurWorldConfig { public boolean spiderControllable = true; public double spiderMaxHealth = 16.0D; public boolean spiderTakeDamageFromWater = false; @@ -2009,7 +2009,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -2381,6 +2488,7 @@ public class PurpurWorldConfig { +@@ -2383,6 +2490,7 @@ public class PurpurWorldConfig { } spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth); spiderTakeDamageFromWater = getBoolean("mobs.spider.takes-damage-from-water", spiderTakeDamageFromWater); @@ -2017,7 +2017,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean strayRidable = false; -@@ -2388,6 +2496,7 @@ public class PurpurWorldConfig { +@@ -2390,6 +2498,7 @@ public class PurpurWorldConfig { public boolean strayControllable = true; public double strayMaxHealth = 20.0D; public boolean strayTakeDamageFromWater = false; @@ -2025,7 +2025,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void straySettings() { strayRidable = getBoolean("mobs.stray.ridable", strayRidable); strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater); -@@ -2399,6 +2508,7 @@ public class PurpurWorldConfig { +@@ -2401,6 +2510,7 @@ public class PurpurWorldConfig { } strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth); strayTakeDamageFromWater = getBoolean("mobs.stray.takes-damage-from-water", strayTakeDamageFromWater); @@ -2033,7 +2033,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean striderRidable = false; -@@ -2408,6 +2518,7 @@ public class PurpurWorldConfig { +@@ -2410,6 +2520,7 @@ public class PurpurWorldConfig { public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; public boolean striderTakeDamageFromWater = true; @@ -2041,7 +2041,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -2421,6 +2532,7 @@ public class PurpurWorldConfig { +@@ -2423,6 +2534,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); @@ -2049,7 +2049,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean tadpoleRidable = false; -@@ -2443,6 +2555,7 @@ public class PurpurWorldConfig { +@@ -2445,6 +2557,7 @@ public class PurpurWorldConfig { public double traderLlamaMovementSpeedMax = 0.175D; public int traderLlamaBreedingTicks = 6000; public boolean traderLlamaTakeDamageFromWater = false; @@ -2057,7 +2057,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -2462,12 +2575,14 @@ public class PurpurWorldConfig { +@@ -2464,12 +2577,14 @@ 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 adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void tropicalFishSettings() { tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable); -@@ -2478,6 +2593,7 @@ public class PurpurWorldConfig { +@@ -2480,6 +2595,7 @@ public class PurpurWorldConfig { } tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth); tropicalFishTakeDamageFromWater = getBoolean("mobs.tropical_fish.takes-damage-from-water", tropicalFishTakeDamageFromWater); @@ -2080,7 +2080,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean turtleRidable = false; -@@ -2486,6 +2602,7 @@ public class PurpurWorldConfig { +@@ -2488,6 +2604,7 @@ public class PurpurWorldConfig { public double turtleMaxHealth = 30.0D; public int turtleBreedingTicks = 6000; public boolean turtleTakeDamageFromWater = false; @@ -2088,7 +2088,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -2498,6 +2615,7 @@ public class PurpurWorldConfig { +@@ -2500,6 +2617,7 @@ public class PurpurWorldConfig { turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks); turtleTakeDamageFromWater = getBoolean("mobs.turtle.takes-damage-from-water", turtleTakeDamageFromWater); @@ -2096,7 +2096,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean vexRidable = false; -@@ -2506,6 +2624,7 @@ public class PurpurWorldConfig { +@@ -2508,6 +2626,7 @@ public class PurpurWorldConfig { public double vexMaxY = 320D; public double vexMaxHealth = 14.0D; public boolean vexTakeDamageFromWater = false; @@ -2104,7 +2104,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void vexSettings() { vexRidable = getBoolean("mobs.vex.ridable", vexRidable); vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater); -@@ -2518,6 +2637,7 @@ public class PurpurWorldConfig { +@@ -2520,6 +2639,7 @@ public class PurpurWorldConfig { } vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth); vexTakeDamageFromWater = getBoolean("mobs.vex.takes-damage-from-water", vexTakeDamageFromWater); @@ -2112,7 +2112,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean villagerRidable = false; -@@ -2535,6 +2655,7 @@ public class PurpurWorldConfig { +@@ -2537,6 +2657,7 @@ public class PurpurWorldConfig { public boolean villagerBypassMobGriefing = false; public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; @@ -2120,7 +2120,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2556,6 +2677,7 @@ public class PurpurWorldConfig { +@@ -2558,6 +2679,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); @@ -2128,7 +2128,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean vindicatorRidable = false; -@@ -2564,6 +2686,7 @@ public class PurpurWorldConfig { +@@ -2566,6 +2688,7 @@ public class PurpurWorldConfig { public double vindicatorMaxHealth = 24.0D; public double vindicatorJohnnySpawnChance = 0D; public boolean vindicatorTakeDamageFromWater = false; @@ -2136,7 +2136,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -2576,6 +2699,7 @@ public class PurpurWorldConfig { +@@ -2578,6 +2701,7 @@ public class PurpurWorldConfig { vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance); vindicatorTakeDamageFromWater = getBoolean("mobs.vindicator.takes-damage-from-water", vindicatorTakeDamageFromWater); @@ -2144,7 +2144,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean wanderingTraderRidable = false; -@@ -2586,6 +2710,7 @@ public class PurpurWorldConfig { +@@ -2588,6 +2712,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderTakeDamageFromWater = false; public boolean wanderingTraderAllowTrading = true; @@ -2152,7 +2152,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -2600,6 +2725,7 @@ public class PurpurWorldConfig { +@@ -2602,6 +2727,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); @@ -2160,7 +2160,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean wardenRidable = false; -@@ -2616,6 +2742,7 @@ public class PurpurWorldConfig { +@@ -2618,6 +2744,7 @@ public class PurpurWorldConfig { public boolean witchControllable = true; public double witchMaxHealth = 26.0D; public boolean witchTakeDamageFromWater = false; @@ -2168,7 +2168,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void witchSettings() { witchRidable = getBoolean("mobs.witch.ridable", witchRidable); witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater); -@@ -2627,6 +2754,7 @@ public class PurpurWorldConfig { +@@ -2629,6 +2756,7 @@ public class PurpurWorldConfig { } witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth); witchTakeDamageFromWater = getBoolean("mobs.witch.takes-damage-from-water", witchTakeDamageFromWater); @@ -2176,7 +2176,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean witherRidable = false; -@@ -2641,6 +2769,7 @@ public class PurpurWorldConfig { +@@ -2643,6 +2771,7 @@ public class PurpurWorldConfig { public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; public boolean witherPlaySpawnSound = true; @@ -2184,7 +2184,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2663,6 +2792,7 @@ public class PurpurWorldConfig { +@@ -2665,6 +2794,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); @@ -2192,7 +2192,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean witherSkeletonRidable = false; -@@ -2670,6 +2800,7 @@ public class PurpurWorldConfig { +@@ -2672,6 +2802,7 @@ public class PurpurWorldConfig { public boolean witherSkeletonControllable = true; public double witherSkeletonMaxHealth = 20.0D; public boolean witherSkeletonTakeDamageFromWater = false; @@ -2200,7 +2200,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void witherSkeletonSettings() { witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); -@@ -2681,6 +2812,7 @@ public class PurpurWorldConfig { +@@ -2683,6 +2814,7 @@ public class PurpurWorldConfig { } witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth); witherSkeletonTakeDamageFromWater = getBoolean("mobs.wither_skeleton.takes-damage-from-water", witherSkeletonTakeDamageFromWater); @@ -2208,7 +2208,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean wolfRidable = false; -@@ -2692,6 +2824,7 @@ public class PurpurWorldConfig { +@@ -2694,6 +2826,7 @@ public class PurpurWorldConfig { public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; public boolean wolfTakeDamageFromWater = false; @@ -2216,7 +2216,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -2711,6 +2844,7 @@ public class PurpurWorldConfig { +@@ -2713,6 +2846,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); @@ -2224,7 +2224,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean zoglinRidable = false; -@@ -2718,6 +2852,7 @@ public class PurpurWorldConfig { +@@ -2720,6 +2854,7 @@ public class PurpurWorldConfig { public boolean zoglinControllable = true; public double zoglinMaxHealth = 40.0D; public boolean zoglinTakeDamageFromWater = false; @@ -2232,7 +2232,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void zoglinSettings() { zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable); zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater); -@@ -2729,6 +2864,7 @@ public class PurpurWorldConfig { +@@ -2731,6 +2866,7 @@ public class PurpurWorldConfig { } zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth); zoglinTakeDamageFromWater = getBoolean("mobs.zoglin.takes-damage-from-water", zoglinTakeDamageFromWater); @@ -2240,7 +2240,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean zombieRidable = false; -@@ -2742,6 +2878,7 @@ public class PurpurWorldConfig { +@@ -2744,6 +2880,7 @@ public class PurpurWorldConfig { public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; @@ -2248,7 +2248,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2759,6 +2896,7 @@ public class PurpurWorldConfig { +@@ -2761,6 +2898,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); @@ -2256,7 +2256,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean zombieHorseRidableInWater = false; -@@ -2771,6 +2909,7 @@ public class PurpurWorldConfig { +@@ -2773,6 +2911,7 @@ public class PurpurWorldConfig { public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseSpawnChance = 0.0D; public boolean zombieHorseTakeDamageFromWater = false; @@ -2264,7 +2264,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void zombieHorseSettings() { zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); -@@ -2788,6 +2927,7 @@ public class PurpurWorldConfig { +@@ -2790,6 +2929,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); @@ -2272,7 +2272,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean zombieVillagerRidable = false; -@@ -2802,6 +2942,7 @@ public class PurpurWorldConfig { +@@ -2804,6 +2944,7 @@ public class PurpurWorldConfig { public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; public boolean zombieVillagerCureEnabled = true; @@ -2280,7 +2280,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2820,6 +2961,7 @@ public class PurpurWorldConfig { +@@ -2822,6 +2963,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); @@ -2288,7 +2288,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc } public boolean zombifiedPiglinRidable = false; -@@ -2832,6 +2974,7 @@ public class PurpurWorldConfig { +@@ -2834,6 +2976,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; public boolean zombifiedPiglinTakeDamageFromWater = false; @@ -2296,7 +2296,7 @@ index adf9eb03b67404b8ae4734f24f2a3043bff59a39..b311a5837981a637bb88537a6c4a29dc private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -2848,6 +2991,7 @@ public class PurpurWorldConfig { +@@ -2850,6 +2993,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/0245-Option-to-prevent-spiders-from-climbing-world-border.patch b/patches/server/0245-Option-to-prevent-spiders-from-climbing-world-border.patch index b054a770f..a9feea00a 100644 --- a/patches/server/0245-Option-to-prevent-spiders-from-climbing-world-border.patch +++ b/patches/server/0245-Option-to-prevent-spiders-from-climbing-world-border.patch @@ -39,10 +39,10 @@ index bdd4fc3072f7a5ea504ba35f6a08ae971e83b69f..b9ac8cefefe1f47548166330b7c889df } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b311a5837981a637bb88537a6c4a29dc9dbb6ce3..14de7d96cc795e1efb019ac27559e64dfffd7379 100644 +index 181556574fc6eedd748cc69e421c41401bf8cf66..56d69ba8a16837c86276e5f4f6334b7d69767534 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2477,6 +2477,7 @@ public class PurpurWorldConfig { +@@ -2479,6 +2479,7 @@ public class PurpurWorldConfig { public double spiderMaxHealth = 16.0D; public boolean spiderTakeDamageFromWater = false; public boolean spiderAlwaysDropExp = false; @@ -50,7 +50,7 @@ index b311a5837981a637bb88537a6c4a29dc9dbb6ce3..14de7d96cc795e1efb019ac27559e64d private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -2489,6 +2490,7 @@ public class PurpurWorldConfig { +@@ -2491,6 +2492,7 @@ public class PurpurWorldConfig { spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth); spiderTakeDamageFromWater = getBoolean("mobs.spider.takes-damage-from-water", spiderTakeDamageFromWater); spiderAlwaysDropExp = getBoolean("mobs.spider.always-drop-exp", spiderAlwaysDropExp); diff --git a/patches/server/0246-Ability-for-hoe-to-replant-crops-and-nether-warts.patch b/patches/server/0246-Ability-for-hoe-to-replant-crops-and-nether-warts.patch index ae9fa79f2..2493b2d21 100644 --- a/patches/server/0246-Ability-for-hoe-to-replant-crops-and-nether-warts.patch +++ b/patches/server/0246-Ability-for-hoe-to-replant-crops-and-nether-warts.patch @@ -74,7 +74,7 @@ index d1d10a7a62c7372634e22d6df8fc7d085d051237..e6a37649900f55d7178f7cd876b71c5d + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 14de7d96cc795e1efb019ac27559e64dfffd7379..c8101600155a5e9ca9d04ec65a802c89253506ab 100644 +index 56d69ba8a16837c86276e5f4f6334b7d69767534..c6b423ca7023cb65cbaf983b427979607510db67 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -552,6 +552,8 @@ public class PurpurWorldConfig { @@ -86,7 +86,7 @@ index 14de7d96cc795e1efb019ac27559e64dfffd7379..c8101600155a5e9ca9d04ec65a802c89 private void toolSettings() { axeStrippables.clear(); axeWaxables.clear(); -@@ -693,6 +695,8 @@ public class PurpurWorldConfig { +@@ -695,6 +697,8 @@ public class PurpurWorldConfig { }); hoeTillables.put(block, new Tillable(condition, into, drops)); }); diff --git a/patches/server/0247-Shearing-jeb-produces-random-color-wool.patch b/patches/server/0247-Shearing-jeb-produces-random-color-wool.patch index 0b890ec69..01437f26c 100644 --- a/patches/server/0247-Shearing-jeb-produces-random-color-wool.patch +++ b/patches/server/0247-Shearing-jeb-produces-random-color-wool.patch @@ -18,10 +18,10 @@ index 63aeab7204ac954b2908207dc6e743d17aa27f2e..aa6f6e252f6f2933825b97bf1b9679fe if (entityitem != null) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c8101600155a5e9ca9d04ec65a802c89253506ab..c766d20c368a4d211557713c7690e6614d093d81 100644 +index c6b423ca7023cb65cbaf983b427979607510db67..5dbdaeb306f6bde3f94921e1bd2b5e5eac0107f2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2270,6 +2270,7 @@ public class PurpurWorldConfig { +@@ -2272,6 +2272,7 @@ public class PurpurWorldConfig { public boolean sheepBypassMobGriefing = false; public boolean sheepTakeDamageFromWater = false; public boolean sheepAlwaysDropExp = false; @@ -29,7 +29,7 @@ index c8101600155a5e9ca9d04ec65a802c89253506ab..c766d20c368a4d211557713c7690e661 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -2284,6 +2285,7 @@ public class PurpurWorldConfig { +@@ -2286,6 +2287,7 @@ public class PurpurWorldConfig { sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing); sheepTakeDamageFromWater = getBoolean("mobs.sheep.takes-damage-from-water", sheepTakeDamageFromWater); sheepAlwaysDropExp = getBoolean("mobs.sheep.always-drop-exp", sheepAlwaysDropExp); diff --git a/patches/server/0248-Turtle-eggs-random-tick-crack-chance.patch b/patches/server/0248-Turtle-eggs-random-tick-crack-chance.patch index bc43dc606..bfe9559a5 100644 --- a/patches/server/0248-Turtle-eggs-random-tick-crack-chance.patch +++ b/patches/server/0248-Turtle-eggs-random-tick-crack-chance.patch @@ -32,10 +32,10 @@ index 4907e0acb7d01b7f57b75579e58ce743e3e000bb..5e6df1d6cbaecb986d1b8d382fe673a2 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c766d20c368a4d211557713c7690e6614d093d81..b6fda4581fdd0b3e270e707b9b7e360c8715b15f 100644 +index 5dbdaeb306f6bde3f94921e1bd2b5e5eac0107f2..2724dc07320191fd84aa5564742b35872b16705f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -970,11 +970,13 @@ public class PurpurWorldConfig { +@@ -972,11 +972,13 @@ public class PurpurWorldConfig { public boolean turtleEggsBreakFromItems = true; public boolean turtleEggsBreakFromMinecarts = true; public boolean turtleEggsBypassMobGriefing = false; diff --git a/patches/server/0249-Mob-head-visibility-percent.patch b/patches/server/0249-Mob-head-visibility-percent.patch index c914d5236..9df19c193 100644 --- a/patches/server/0249-Mob-head-visibility-percent.patch +++ b/patches/server/0249-Mob-head-visibility-percent.patch @@ -29,10 +29,10 @@ index 6e7af1939df4ff99d6d4645f7ed270110d9d0373..d120c8808c6a8df2c8615fe02f2c8a5b // 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 b6fda4581fdd0b3e270e707b9b7e360c8715b15f..34bd5886b9437f2906558a6cd0b8771c66073c41 100644 +index 2724dc07320191fd84aa5564742b35872b16705f..323b2cae0ce30b9eae0bc94e3780d3e3ce71c1ff 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1258,6 +1258,7 @@ public class PurpurWorldConfig { +@@ -1260,6 +1260,7 @@ public class PurpurWorldConfig { public boolean creeperExplodeWhenKilled = false; public boolean creeperHealthRadius = false; public boolean creeperAlwaysDropExp = false; @@ -40,7 +40,7 @@ index b6fda4581fdd0b3e270e707b9b7e360c8715b15f..34bd5886b9437f2906558a6cd0b8771c private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1275,6 +1276,7 @@ public class PurpurWorldConfig { +@@ -1277,6 +1278,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); @@ -48,7 +48,7 @@ index b6fda4581fdd0b3e270e707b9b7e360c8715b15f..34bd5886b9437f2906558a6cd0b8771c } public boolean dolphinRidable = false; -@@ -2350,6 +2352,7 @@ public class PurpurWorldConfig { +@@ -2352,6 +2354,7 @@ public class PurpurWorldConfig { public double skeletonMaxHealth = 20.0D; public boolean skeletonTakeDamageFromWater = false; public boolean skeletonAlwaysDropExp = false; @@ -56,7 +56,7 @@ index b6fda4581fdd0b3e270e707b9b7e360c8715b15f..34bd5886b9437f2906558a6cd0b8771c private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2362,6 +2365,7 @@ public class PurpurWorldConfig { +@@ -2364,6 +2367,7 @@ public class PurpurWorldConfig { skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth); skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater); skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp); @@ -64,7 +64,7 @@ index b6fda4581fdd0b3e270e707b9b7e360c8715b15f..34bd5886b9437f2906558a6cd0b8771c } public boolean skeletonHorseRidableInWater = true; -@@ -2889,6 +2893,7 @@ public class PurpurWorldConfig { +@@ -2891,6 +2895,7 @@ public class PurpurWorldConfig { public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; public boolean zombieAlwaysDropExp = false; @@ -72,7 +72,7 @@ index b6fda4581fdd0b3e270e707b9b7e360c8715b15f..34bd5886b9437f2906558a6cd0b8771c private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2907,6 +2912,7 @@ public class PurpurWorldConfig { +@@ -2909,6 +2914,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/0252-Stop-bees-from-dying-after-stinging.patch b/patches/server/0252-Stop-bees-from-dying-after-stinging.patch index e8472f1db..7fcb6fca3 100644 --- a/patches/server/0252-Stop-bees-from-dying-after-stinging.patch +++ b/patches/server/0252-Stop-bees-from-dying-after-stinging.patch @@ -17,10 +17,10 @@ index 4b9d13fb36d0e35f1cc7a5d95b26dc5f8ded0d6a..a6378e6db70ba80aaa18954766f029cd ++this.timeSinceSting; if (this.timeSinceSting % 5 == 0 && this.random.nextInt(Mth.clamp(1200 - this.timeSinceSting, (int) 1, (int) 1200)) == 0) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 34bd5886b9437f2906558a6cd0b8771c66073c41..3cc593fd35e235d90eca15cb19304ad5b9d97866 100644 +index 323b2cae0ce30b9eae0bc94e3780d3e3ce71c1ff..5fd6e5a151302f5da6fb80d48fabd8bf6f091e9a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1078,6 +1078,7 @@ public class PurpurWorldConfig { +@@ -1080,6 +1080,7 @@ public class PurpurWorldConfig { public boolean beeCanWorkAtNight = false; public boolean beeCanWorkInRain = false; public boolean beeAlwaysDropExp = false; @@ -28,7 +28,7 @@ index 34bd5886b9437f2906558a6cd0b8771c66073c41..3cc593fd35e235d90eca15cb19304ad5 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -1094,6 +1095,7 @@ public class PurpurWorldConfig { +@@ -1096,6 +1097,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/0254-Configurable-farmland-trample-height.patch b/patches/server/0254-Configurable-farmland-trample-height.patch index 2a492dd5f..d7bfaa8cd 100644 --- a/patches/server/0254-Configurable-farmland-trample-height.patch +++ b/patches/server/0254-Configurable-farmland-trample-height.patch @@ -35,10 +35,10 @@ index e5a3e3a4367dfb924624a913b816b3fd56e3fefd..7068cb39ab264fa0c65febff01236b8d 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 3cc593fd35e235d90eca15cb19304ad5b9d97866..ab53d43d26e01cb7ea5725bbda8b0a8a708a086c 100644 +index 5fd6e5a151302f5da6fb80d48fabd8bf6f091e9a..00658cb51ea67c41968dea1375dc177e609ddd69 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -841,6 +841,7 @@ public class PurpurWorldConfig { +@@ -843,6 +843,7 @@ public class PurpurWorldConfig { public boolean farmlandTramplingDisabled = false; public boolean farmlandTramplingOnlyPlayers = false; public boolean farmlandTramplingFeatherFalling = false; @@ -46,7 +46,7 @@ index 3cc593fd35e235d90eca15cb19304ad5b9d97866..ab53d43d26e01cb7ea5725bbda8b0a8a private void farmlandSettings() { farmlandBypassMobGriefing = getBoolean("blocks.farmland.bypass-mob-griefing", farmlandBypassMobGriefing); farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); -@@ -848,6 +849,7 @@ public class PurpurWorldConfig { +@@ -850,6 +851,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/0258-Configurable-phantom-size.patch b/patches/server/0258-Configurable-phantom-size.patch index 8bf9c13a8..c95729598 100644 --- a/patches/server/0258-Configurable-phantom-size.patch +++ b/patches/server/0258-Configurable-phantom-size.patch @@ -22,10 +22,10 @@ index 33b347474b7485633ca77bdff28e4b32580b51b8..bfca1101025e473c97cd4804e74bed04 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7dcbf902937d05062f49f66ea6a09ec608111539..9b2e412c9ac86ee70923a521a12add9d68c3a37d 100644 +index d9148ccbdca242a1e4f79e537bb61354eb8de642..ca0e906481d6871efa8b7261fcd88157ff1b5f6a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2009,6 +2009,8 @@ public class PurpurWorldConfig { +@@ -2011,6 +2011,8 @@ public class PurpurWorldConfig { public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; public boolean phantomAlwaysDropExp = false; @@ -34,7 +34,7 @@ index 7dcbf902937d05062f49f66ea6a09ec608111539..9b2e412c9ac86ee70923a521a12add9d private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -2051,6 +2053,13 @@ public class PurpurWorldConfig { +@@ -2053,6 +2055,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/0261-Configurable-minimum-demand-for-trades.patch b/patches/server/0261-Configurable-minimum-demand-for-trades.patch index f649cf19d..2975b046e 100644 --- a/patches/server/0261-Configurable-minimum-demand-for-trades.patch +++ b/patches/server/0261-Configurable-minimum-demand-for-trades.patch @@ -40,10 +40,10 @@ index 8a9a701baabdaf066cd9b28c05430f673fcafb4e..17cc3237c7fc8ceda136b2371fabf6f0 public ItemStack assemble() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9b2e412c9ac86ee70923a521a12add9d68c3a37d..dc68de4d0088d0aed6fd800fb22fdc93f90dc048 100644 +index ca0e906481d6871efa8b7261fcd88157ff1b5f6a..ef79bfec7ce236cc8f5929e19c3d62f75c390b89 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2687,6 +2687,7 @@ public class PurpurWorldConfig { +@@ -2689,6 +2689,7 @@ public class PurpurWorldConfig { public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; @@ -51,7 +51,7 @@ index 9b2e412c9ac86ee70923a521a12add9d68c3a37d..dc68de4d0088d0aed6fd800fb22fdc93 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2709,6 +2710,7 @@ public class PurpurWorldConfig { +@@ -2711,6 +2712,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/0262-Lobotomize-stuck-villagers.patch b/patches/server/0262-Lobotomize-stuck-villagers.patch index 2e4e617e5..9f18cb619 100644 --- a/patches/server/0262-Lobotomize-stuck-villagers.patch +++ b/patches/server/0262-Lobotomize-stuck-villagers.patch @@ -111,10 +111,10 @@ index f0b910df1ee471b4d72d97c6197ab14f2854976e..6ce32a52d621a0c2629568ea07e445f5 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index dc68de4d0088d0aed6fd800fb22fdc93f90dc048..e1a72b0039a950ef66050e575b0557635dc6245b 100644 +index ef79bfec7ce236cc8f5929e19c3d62f75c390b89..89c8829b7e579647bb2c7e3319a221bc5c1227f4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2688,6 +2688,8 @@ public class PurpurWorldConfig { +@@ -2690,6 +2690,8 @@ public class PurpurWorldConfig { public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; public int villagerMinimumDemand = 0; @@ -123,7 +123,7 @@ index dc68de4d0088d0aed6fd800fb22fdc93f90dc048..e1a72b0039a950ef66050e575b055763 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2711,6 +2713,17 @@ public class PurpurWorldConfig { +@@ -2713,6 +2715,17 @@ 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/0263-Option-for-villager-display-trade-item.patch b/patches/server/0263-Option-for-villager-display-trade-item.patch index f06521e95..cc45dc9eb 100644 --- a/patches/server/0263-Option-for-villager-display-trade-item.patch +++ b/patches/server/0263-Option-for-villager-display-trade-item.patch @@ -17,10 +17,10 @@ index 385f3df7044e3f03f17c3ec7484b268004a3def9..90ba6a3abf62e4b272fada96b554ca31 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e1a72b0039a950ef66050e575b0557635dc6245b..b2696c960e413a53907ba2f20008ec2286dfc9e8 100644 +index 89c8829b7e579647bb2c7e3319a221bc5c1227f4..30a9b11a7b4c423b03057a0f899e0a510a929043 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2690,6 +2690,7 @@ public class PurpurWorldConfig { +@@ -2692,6 +2692,7 @@ public class PurpurWorldConfig { public int villagerMinimumDemand = 0; public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheckInterval = 100; @@ -28,7 +28,7 @@ index e1a72b0039a950ef66050e575b0557635dc6245b..b2696c960e413a53907ba2f20008ec22 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2724,6 +2725,7 @@ public class PurpurWorldConfig { +@@ -2726,6 +2727,7 @@ public class PurpurWorldConfig { } villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); diff --git a/patches/server/0265-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch b/patches/server/0265-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch index 5368778c8..2d1662ca3 100644 --- a/patches/server/0265-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch +++ b/patches/server/0265-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch @@ -17,10 +17,10 @@ index 18389f46902bb9879ac6d734723e9a720724dc48..b2b8663a9cff08bacdab91c7bb014ba6 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b2696c960e413a53907ba2f20008ec2286dfc9e8..f90e847e1236bd5a67a6970f2273073c801e37f4 100644 +index 30a9b11a7b4c423b03057a0f899e0a510a929043..2fc992873e56daa9525c980d62c973fa9775fb7c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -959,8 +959,10 @@ public class PurpurWorldConfig { +@@ -961,8 +961,10 @@ public class PurpurWorldConfig { } public boolean spawnerDeactivateByRedstone = false; diff --git a/patches/server/0267-Anvil-repair-damage-options.patch b/patches/server/0267-Anvil-repair-damage-options.patch index 75f6a5ba8..8438a3549 100644 --- a/patches/server/0267-Anvil-repair-damage-options.patch +++ b/patches/server/0267-Anvil-repair-damage-options.patch @@ -64,10 +64,10 @@ index 1b23352a9deae37f9c947fef1b1f8a2875507cfa..ad5aad3682926e2e8965bb87ad8d5381 return InteractionResult.SUCCESS; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6b21494a7461c2a449b754248cf19d4da571e3e0..bbe4976f018132f5ec1b252e02c979153db0c176 100644 +index 0477f4a04154bd5851b4b7b4c23545d6be79af1d..30b0b93e43713281f4fd7e7dc04e6b91a263dcbb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -706,8 +706,12 @@ public class PurpurWorldConfig { +@@ -708,8 +708,12 @@ public class PurpurWorldConfig { } public boolean anvilAllowColors = false; diff --git a/patches/server/0269-Option-to-disable-turtle-egg-trampling-with-feather-.patch b/patches/server/0269-Option-to-disable-turtle-egg-trampling-with-feather-.patch index 0bc5189c8..e2e8caa50 100644 --- a/patches/server/0269-Option-to-disable-turtle-egg-trampling-with-feather-.patch +++ b/patches/server/0269-Option-to-disable-turtle-egg-trampling-with-feather-.patch @@ -20,10 +20,10 @@ index 5e6df1d6cbaecb986d1b8d382fe673a2cbb76115..6151226a88a9ca44955821521641e788 // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bbe4976f018132f5ec1b252e02c979153db0c176..df789c60ac11f4076f6a2114adb3e825376a79bd 100644 +index 30b0b93e43713281f4fd7e7dc04e6b91a263dcbb..f5db78c3ee2e18cec0dbe8dfa8da9aafce54c416 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -985,12 +985,14 @@ public class PurpurWorldConfig { +@@ -987,12 +987,14 @@ public class PurpurWorldConfig { public boolean turtleEggsBreakFromMinecarts = true; public boolean turtleEggsBypassMobGriefing = false; public int turtleEggsRandomTickCrackChance = 500; diff --git a/patches/server/0271-Config-to-prevent-horses-from-standing-when-hurt.patch b/patches/server/0271-Config-to-prevent-horses-from-standing-when-hurt.patch index 9810583a1..30ea43476 100644 --- a/patches/server/0271-Config-to-prevent-horses-from-standing-when-hurt.patch +++ b/patches/server/0271-Config-to-prevent-horses-from-standing-when-hurt.patch @@ -21,10 +21,10 @@ index 7466c437b2e996f16a08aaefc5c2b7cba216a14c..205ce2bd91a98a0c67d3c5dd640eb88c } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index df789c60ac11f4076f6a2114adb3e825376a79bd..0ca90833b7fa9014c3aed712e1bf209094d7ab31 100644 +index f5db78c3ee2e18cec0dbe8dfa8da9aafce54c416..b5eb0b642dff985ea14e7233e47b18568c1dba32 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1701,6 +1701,7 @@ public class PurpurWorldConfig { +@@ -1703,6 +1703,7 @@ public class PurpurWorldConfig { public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; public boolean horseStandWithRider = true; @@ -32,7 +32,7 @@ index df789c60ac11f4076f6a2114adb3e825376a79bd..0ca90833b7fa9014c3aed712e1bf2090 public boolean horseAlwaysDropExp = false; private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); -@@ -1720,6 +1721,7 @@ public class PurpurWorldConfig { +@@ -1722,6 +1723,7 @@ public class PurpurWorldConfig { horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks); horseTakeDamageFromWater = getBoolean("mobs.horse.takes-damage-from-water", horseTakeDamageFromWater); horseStandWithRider = getBoolean("mobs.horse.stand-with-rider", horseStandWithRider); diff --git a/patches/server/0273-Implement-configurable-search-radius-for-villagers-t.patch b/patches/server/0273-Implement-configurable-search-radius-for-villagers-t.patch index 11b8487fc..82a7a2593 100644 --- a/patches/server/0273-Implement-configurable-search-radius-for-villagers-t.patch +++ b/patches/server/0273-Implement-configurable-search-radius-for-villagers-t.patch @@ -18,10 +18,10 @@ index ace39b0585c67b2764d75ff9e64d132347157a51..20668d53625ec88ba3eb2a655ad3f6bc 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 0ca90833b7fa9014c3aed712e1bf209094d7ab31..7fe637bbfd3f376346e8a99adaf8060b255c6a4d 100644 +index b5eb0b642dff985ea14e7233e47b18568c1dba32..7ead92409e1293d2786d42951a69c19cc8fefd16 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2703,6 +2703,8 @@ public class PurpurWorldConfig { +@@ -2705,6 +2705,8 @@ public class PurpurWorldConfig { public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheckInterval = 100; public boolean villagerDisplayTradeItem = true; @@ -30,7 +30,7 @@ index 0ca90833b7fa9014c3aed712e1bf209094d7ab31..7fe637bbfd3f376346e8a99adaf8060b private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2738,6 +2740,8 @@ public class PurpurWorldConfig { +@@ -2740,6 +2742,8 @@ public class PurpurWorldConfig { villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem); diff --git a/patches/server/0274-Stonecutter-damage.patch b/patches/server/0274-Stonecutter-damage.patch index 39c534492..cf567ad08 100644 --- a/patches/server/0274-Stonecutter-damage.patch +++ b/patches/server/0274-Stonecutter-damage.patch @@ -95,10 +95,10 @@ index d987bf03974511bdabfe8410d6f3008c2fa9ec67..8cb74c78f6925d3016f7367835a09298 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 7fe637bbfd3f376346e8a99adaf8060b255c6a4d..7203569790382a5cc9039fe358a25576093955c3 100644 +index 7ead92409e1293d2786d42951a69c19cc8fefd16..f55a93e835909603ffa0ca496e61841c429f3bf9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -980,6 +980,11 @@ public class PurpurWorldConfig { +@@ -982,6 +982,11 @@ public class PurpurWorldConfig { spongeAbsorbsLava = getBoolean("blocks.sponge.absorbs-lava", spongeAbsorbsLava); } diff --git a/patches/server/0275-Configurable-damage-settings-for-magma-blocks.patch b/patches/server/0275-Configurable-damage-settings-for-magma-blocks.patch index f22ef95f2..901a5e358 100644 --- a/patches/server/0275-Configurable-damage-settings-for-magma-blocks.patch +++ b/patches/server/0275-Configurable-damage-settings-for-magma-blocks.patch @@ -18,10 +18,10 @@ index d3540a4daaa8021ae009bfd4d9ef4f1172ab4c56..2b250439f263f64db7920536ed6eaf64 entity.hurt(DamageSource.HOT_FLOOR, 1.0F); org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7203569790382a5cc9039fe358a25576093955c3..152a991122d72ab60e5fee810185471a8f33c9d6 100644 +index f55a93e835909603ffa0ca496e61841c429f3bf9..fc14078dc670f739be9b7f8a6fe1a89ee107624d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -916,6 +916,13 @@ public class PurpurWorldConfig { +@@ -918,6 +918,13 @@ public class PurpurWorldConfig { pistonBlockPushLimit = getInt("blocks.piston.block-push-limit", pistonBlockPushLimit); } diff --git a/patches/server/0276-Add-config-for-snow-on-blue-ice.patch b/patches/server/0276-Add-config-for-snow-on-blue-ice.patch index ff329303c..6a1765ec6 100644 --- a/patches/server/0276-Add-config-for-snow-on-blue-ice.patch +++ b/patches/server/0276-Add-config-for-snow-on-blue-ice.patch @@ -22,10 +22,10 @@ index 14e00c7feb1c051d56a3d27cd00dcef072dd771a..4952fb1aaaafb55baa0fddb389f966a1 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 152a991122d72ab60e5fee810185471a8f33c9d6..5d5ae3fb7d2ce35505b57b2ce26b3536c4ac7da8 100644 +index fc14078dc670f739be9b7f8a6fe1a89ee107624d..098fdaa887f116c6a163ae5345aea7edefe669d6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -885,9 +885,11 @@ public class PurpurWorldConfig { +@@ -887,9 +887,11 @@ public class PurpurWorldConfig { public boolean mobsSpawnOnPackedIce = true; public boolean mobsSpawnOnBlueIce = true;