From beb56e6e6c487874c26686532987072bfd19968b Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Mon, 13 Jun 2022 15:39:57 -0500 Subject: [PATCH] Add automatic upgrade to add 1.19 strippables --- patches/server/0004-Purpur-config-files.patch | 6 +- .../server/0203-Tool-actionable-options.patch | 8 +- ...0208-Silk-touchable-budding-amethyst.patch | 6 +- .../server/0209-Big-dripleaf-tilt-delay.patch | 4 +- ...e-Enderman-teleport-on-projectile-hi.patch | 6 +- ...ent-horses-from-standing-with-riders.patch | 6 +- ...izeable-Zombie-Villager-curing-times.patch | 6 +- ...7-Option-for-sponges-to-work-on-lava.patch | 4 +- ...0218-Toggle-for-Wither-s-spawn-sound.patch | 6 +- ...s-breaks-from-solid-neighbors-config.patch | 4 +- .../0221-Conduit-behavior-configuration.patch | 4 +- .../server/0222-Cauldron-fill-chances.patch | 4 +- .../0224-Shulker-change-color-with-dye.patch | 6 +- ...a-blocks-to-grow-into-trees-naturall.patch | 6 +- ...turally-aggressive-to-players-chance.patch | 6 +- ...turally-aggressive-to-players-chance.patch | 6 +- ...or-beds-to-explode-on-villager-sleep.patch | 4 +- ...-Halloween-options-and-optimizations.patch | 4 +- ...-Campfire-option-for-lit-when-placed.patch | 4 +- ...ion-to-disable-zombie-villagers-cure.patch | 6 +- .../server/0240-Signs-allow-color-codes.patch | 4 +- ...-twisting-vines-configurable-max-gro.patch | 10 +- .../0242-Mobs-always-drop-experience.patch | 274 +++++++++--------- ...t-spiders-from-climbing-world-border.patch | 6 +- ...oe-to-replant-crops-and-nether-warts.patch | 4 +- ...aring-jeb-produces-random-color-wool.patch | 6 +- ...Turtle-eggs-random-tick-crack-chance.patch | 4 +- .../0249-Mob-head-visibility-percent.patch | 14 +- ...-Stop-bees-from-dying-after-stinging.patch | 6 +- ...Configurable-farmland-trample-height.patch | 6 +- .../0258-Configurable-phantom-size.patch | 6 +- ...nfigurable-minimum-demand-for-trades.patch | 6 +- .../0262-Lobotomize-stuck-villagers.patch | 6 +- ...tion-for-villager-display-trade-item.patch | 6 +- ...awner-not-spawning-water-animals-cor.patch | 4 +- .../0267-Anvil-repair-damage-options.patch | 4 +- ...e-turtle-egg-trampling-with-feather-.patch | 4 +- ...event-horses-from-standing-when-hurt.patch | 6 +- ...urable-search-radius-for-villagers-t.patch | 6 +- patches/server/0274-Stonecutter-damage.patch | 6 +- ...ble-damage-settings-for-magma-blocks.patch | 4 +- ...0276-Add-config-for-snow-on-blue-ice.patch | 4 +- 42 files changed, 253 insertions(+), 249 deletions(-) diff --git a/patches/server/0004-Purpur-config-files.patch b/patches/server/0004-Purpur-config-files.patch index ef4947ad2..694b7ed48 100644 --- a/patches/server/0004-Purpur-config-files.patch +++ b/patches/server/0004-Purpur-config-files.patch @@ -172,7 +172,7 @@ index fbd604602024522bdd73aa1bde6fe2ccec63e442..516d26bcff64c828d3ec1607d3b774b5 .withRequiredArg() diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java new file mode 100644 -index 0000000000000000000000000000000000000000..e8bcb30f5236b4327883855275eb05d9f4f436e5 +index 0000000000000000000000000000000000000000..e784bc02ee6bf9848396a1e3a3af58b0b959b0d3 --- /dev/null +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -0,0 +1,170 @@ @@ -250,8 +250,8 @@ index 0000000000000000000000000000000000000000..e8bcb30f5236b4327883855275eb05d9 + commands = new HashMap<>(); + commands.put("purpur", new PurpurCommand("purpur")); + -+ version = getInt("config-version", 28); -+ set("config-version", 28); ++ version = getInt("config-version", 29); ++ set("config-version", 29); + + readConfig(PurpurConfig.class, null); + } diff --git a/patches/server/0203-Tool-actionable-options.patch b/patches/server/0203-Tool-actionable-options.patch index 26ce876d9..7fa6fb16f 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..5a27ad943b7a82d12d9ba1f4c50993eae5f8290b 100644 +index bcb891f2530bcbfd7860e9f2bdf0a4b8e4a145f4..280e85f781f6f92943f5797ea4e9d2dc1c138497 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -517,6 +517,155 @@ public class PurpurWorldConfig { +@@ -517,6 +517,159 @@ public class PurpurWorldConfig { }); } @@ -139,6 +139,10 @@ index bcb891f2530bcbfd7860e9f2bdf0a4b8e4a145f4..5a27ad943b7a82d12d9ba1f4c50993ea + PurpurConfig.config.set("world-settings.default.tools.hoe.tilling", null); + } + } ++ if (PurpurConfig.version < 29) { ++ PurpurConfig.config.set("world-settings.default.tools.axe.strippables.minecraft:mangrove_log", Map.of("into", "minecraft:stripped_mangrove_log", "drops", new HashMap())); ++ PurpurConfig.config.set("world-settings.default.tools.axe.strippables.minecraft:mangrove_wood", Map.of("into", "minecraft:stripped_mangrove_wood", "drops", new HashMap())); ++ } + getMap("tools.axe.strippables", Map.ofEntries( + Map.entry("minecraft:oak_wood", Map.of("into", "minecraft:stripped_oak_wood", "drops", new HashMap())), + Map.entry("minecraft:oak_log", Map.of("into", "minecraft:stripped_oak_log", "drops", new HashMap())), diff --git a/patches/server/0208-Silk-touchable-budding-amethyst.patch b/patches/server/0208-Silk-touchable-budding-amethyst.patch index 2141cc851..2dadb7132 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 3604d3e3c0f5da24237d5b754eb240cd967c1e18..10b75d00a5f1cd4919b19434d1534380e14838ea 100644 +index f133ee81a0a1d65b4f1aaea82a7b4146f9ed6ff6..2b87c946b29460e0b6bad4f46b3fce6bd7ed8886 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -700,6 +700,11 @@ public class PurpurWorldConfig { +@@ -704,6 +704,11 @@ public class PurpurWorldConfig { } } @@ -39,7 +39,7 @@ index 3604d3e3c0f5da24237d5b754eb240cd967c1e18..10b75d00a5f1cd4919b19434d1534380 public boolean chestOpenWithBlockOnTop = false; private void chestSettings() { chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop); -@@ -2714,3 +2719,4 @@ public class PurpurWorldConfig { +@@ -2718,3 +2723,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 02e013a95..3c2d8fd55 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 10b75d00a5f1cd4919b19434d1534380e14838ea..9baca57031c15f464822ec1a2992fa77db59a982 100644 +index 2b87c946b29460e0b6bad4f46b3fce6bd7ed8886..c3e531123b83de34fafefc8c406da090ff6df089 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -700,6 +700,22 @@ public class PurpurWorldConfig { +@@ -704,6 +704,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 606f45d7c..7ea7a6cd0 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 3f543eaeded95dec7ac0415fbcfc05136e41b110..a32f2c8de93b39caa32e8ff6f1989945c68a7bd7 100644 +index 0fcd4d4a81519262a2c3c961bcb46548ea7a0955..c69967d0ecfdaf6e20117710bc44f4f02bb81c69 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1294,6 +1294,7 @@ public class PurpurWorldConfig { +@@ -1298,6 +1298,7 @@ public class PurpurWorldConfig { public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; public boolean endermanIgnorePlayerDragonHead = false; public boolean endermanDisableStareAggro = false; @@ -29,7 +29,7 @@ index 3f543eaeded95dec7ac0415fbcfc05136e41b110..a32f2c8de93b39caa32e8ff6f1989945 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1316,6 +1317,7 @@ public class PurpurWorldConfig { +@@ -1320,6 +1321,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 a198a22c8..d928382bb 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 7b7a850a048559914f7188c5d8c3fbe9dcadcbb5..0f3d8432a320838d318a788114a62d913dbfbe6f 100644 +index 5ba395226887fd3afec971b5ee6e7d6cf6ce0673..129a017066c464ed6342db9782e2c7545b57a3cd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1524,6 +1524,7 @@ public class PurpurWorldConfig { +@@ -1528,6 +1528,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; @@ -31,7 +31,7 @@ index 7b7a850a048559914f7188c5d8c3fbe9dcadcbb5..0f3d8432a320838d318a788114a62d91 private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1541,6 +1542,7 @@ public class PurpurWorldConfig { +@@ -1545,6 +1546,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 231f66a73..44fb1e086 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 ab71611680e0361269d4a27729cbf24d09ed406d..599c59f803319459d676211ba1ae0e97947d506a 100644 +index 943e36e1e10240789836452d214505fd5f49bbd6..1aaa871a1d39022b25e514f68f436bad52e45b10 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2700,6 +2700,8 @@ public class PurpurWorldConfig { +@@ -2704,6 +2704,8 @@ public class PurpurWorldConfig { public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; public boolean zombieVillagerTakeDamageFromWater = false; @@ -30,7 +30,7 @@ index ab71611680e0361269d4a27729cbf24d09ed406d..599c59f803319459d676211ba1ae0e97 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2715,6 +2717,8 @@ public class PurpurWorldConfig { +@@ -2719,6 +2721,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 5c4f2c7c9..03590460c 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 599c59f803319459d676211ba1ae0e97947d506a..60fccfcaa664a44170be86088e5249475b3a3149 100644 +index 1aaa871a1d39022b25e514f68f436bad52e45b10..dadd4ae7e3f5f88e66499ce11baccf04d9b098c2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -900,9 +900,11 @@ public class PurpurWorldConfig { +@@ -904,9 +904,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 7dc9ae7a2..d010cc8ca 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 60fccfcaa664a44170be86088e5249475b3a3149..12c84e3d9f702fa881ecb7e5de68391c9c4aec0f 100644 +index dadd4ae7e3f5f88e66499ce11baccf04d9b098c2..aa4331974afdd07c11353358fad4dec5309809e6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2545,6 +2545,7 @@ public class PurpurWorldConfig { +@@ -2549,6 +2549,7 @@ public class PurpurWorldConfig { public boolean witherTakeDamageFromWater = false; public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; @@ -29,7 +29,7 @@ index 60fccfcaa664a44170be86088e5249475b3a3149..12c84e3d9f702fa881ecb7e5de68391c private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2566,6 +2567,7 @@ public class PurpurWorldConfig { +@@ -2570,6 +2571,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 e96afc6a8..4e272a8eb 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 12c84e3d9f702fa881ecb7e5de68391c9c4aec0f..e135bfd60a2b327b7a75a21f99a9d50cc89ec421 100644 +index aa4331974afdd07c11353358fad4dec5309809e6..2ce8414941f4ef4fa5d1b45c9515a1bd0be7c5f1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -732,6 +732,11 @@ public class PurpurWorldConfig { +@@ -736,6 +736,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 1a0e2303c..615fc2572 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 c57b344beaf4565fbf887b46008ccaf3ab70e970..26f6ab76a64c92650df8d69b877982fd133bb1db 100644 +index de0a8973d426544602b2f3ee95b9cdede86d7265..f8074566f211075cdfcbba1a5b54ff30dd329c14 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2764,5 +2764,28 @@ public class PurpurWorldConfig { +@@ -2768,5 +2768,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 0de640166..00f1d3ace 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 26f6ab76a64c92650df8d69b877982fd133bb1db..e6984650f0c5aca4c78053f0ca1dfda2eb0efb45 100644 +index f8074566f211075cdfcbba1a5b54ff30dd329c14..3782f9e3979003039fa42abd830639a31fcc03f0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2787,5 +2787,16 @@ public class PurpurWorldConfig { +@@ -2791,5 +2791,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 8409835e7..5ac261929 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 f959b938e55853275849950a30ab3d87aca1c9e8..574e53c1e58aee2c8159c3191b3ba7cff636447d 100644 +index beec1bb2c0c606c53f18bb9c831ec8d098270483..20d396b63492712dacbb791040189301ab2df453 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2116,6 +2116,7 @@ public class PurpurWorldConfig { +@@ -2120,6 +2120,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 f959b938e55853275849950a30ab3d87aca1c9e8..574e53c1e58aee2c8159c3191b3ba7cf private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2132,6 +2133,7 @@ public class PurpurWorldConfig { +@@ -2136,6 +2137,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 b3d67ead0..d79d0a3b2 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 4ef41536c09c487a3f602896d39a3c090d56a6ab..3732b0e26885bf458befde37914a901bfb5ec0ea 100644 +index ae7c6a18cca40b779c1beefc44b8a96accb53d9a..ac8f98c7a7f580e7371884994a512820d18bfa74 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -692,6 +692,11 @@ public class PurpurWorldConfig { +@@ -696,6 +696,11 @@ public class PurpurWorldConfig { anvilAllowColors = getBoolean("blocks.anvil.allow-colors", anvilAllowColors); } @@ -60,7 +60,7 @@ index 4ef41536c09c487a3f602896d39a3c090d56a6ab..3732b0e26885bf458befde37914a901b public int beaconLevelOne = 20; public int beaconLevelTwo = 30; public int beaconLevelThree = 40; -@@ -821,6 +826,11 @@ public class PurpurWorldConfig { +@@ -825,6 +830,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 f8a416e17..6050032c5 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 f1295559db2833f6acaad9a3f0a3c42405eef1fc..3bfee9e6574a71ccd1ad13131ac9759f268e5129 100644 +index 484db044eff9196d294b8afc272798b892585fa6..75cf05bef0cadd50ec86cd501d5e3afeb6128915 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1200,6 +1200,7 @@ public class PurpurWorldConfig { +@@ -1204,6 +1204,7 @@ public class PurpurWorldConfig { public double dolphinMaxHealth = 10.0D; public boolean dolphinDisableTreasureSearching = false; public boolean dolphinTakeDamageFromWater = false; @@ -58,7 +58,7 @@ index f1295559db2833f6acaad9a3f0a3c42405eef1fc..3bfee9e6574a71ccd1ad13131ac9759f private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -1214,6 +1215,7 @@ public class PurpurWorldConfig { +@@ -1218,6 +1219,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 1687122cf..08ccd2abc 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 3bfee9e6574a71ccd1ad13131ac9759f268e5129..5d86e4dff7c77e379eb65a845efcd3521185c24f 100644 +index 75cf05bef0cadd50ec86cd501d5e3afeb6128915..ad6ef83004344c4b7b23261a1757224ef25d9312 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1149,7 +1149,14 @@ public class PurpurWorldConfig { +@@ -1153,7 +1153,14 @@ public class PurpurWorldConfig { public int cowFeedMushrooms = 0; public int cowBreedingTicks = 6000; public boolean cowTakeDamageFromWater = false; @@ -77,7 +77,7 @@ index 3bfee9e6574a71ccd1ad13131ac9759f268e5129..5d86e4dff7c77e379eb65a845efcd352 cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); cowControllable = getBoolean("mobs.cow.controllable", cowControllable); -@@ -1162,6 +1169,8 @@ public class PurpurWorldConfig { +@@ -1166,6 +1173,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 86d9935aa..6f6d1e292 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 5d86e4dff7c77e379eb65a845efcd3521185c24f..b66fcc5ca2bea4d67cc8355ca9adbe97111b44bc 100644 +index ad6ef83004344c4b7b23261a1757224ef25d9312..abe7518b86340dd3a04044b445bb0a7286773188 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -711,11 +711,13 @@ public class PurpurWorldConfig { +@@ -715,11 +715,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 73db71151..996a9e368 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 b66fcc5ca2bea4d67cc8355ca9adbe97111b44bc..749eede2d0360195fb6c93a09c49406399499929 100644 +index abe7518b86340dd3a04044b445bb0a7286773188..71d90818d95cdeae57869058e7c12cf551f0cc85 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1542,6 +1542,13 @@ public class PurpurWorldConfig { +@@ -1546,6 +1546,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 a2acce8f2..27531cdc6 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 749eede2d0360195fb6c93a09c49406399499929..ebe19dd2bcb419d961bb45558e064ed915b3d91e 100644 +index 71d90818d95cdeae57869058e7c12cf551f0cc85..570bb9fa09881c07e51784015904bad5168390f5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -754,6 +754,11 @@ public class PurpurWorldConfig { +@@ -758,6 +758,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 2ae9657e9..d4b40f1a6 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 6a76db843326eded6b2e476e4fc37520274a527f..d043d160af858523837deb06733c5f02df84402f 100644 +index 6678f464bab069435196cfbf38ea166d7ad39a0d..c43e8954f8ab8e54082e9a1f33090a21f62ec060 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2764,6 +2764,7 @@ public class PurpurWorldConfig { +@@ -2768,6 +2768,7 @@ public class PurpurWorldConfig { public boolean zombieVillagerTakeDamageFromWater = false; public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; @@ -29,7 +29,7 @@ index 6a76db843326eded6b2e476e4fc37520274a527f..d043d160af858523837deb06733c5f02 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2781,6 +2782,7 @@ public class PurpurWorldConfig { +@@ -2785,6 +2786,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 f98545ab3..0f14187a7 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 f3f7f34209739014528d127cbc80b7e6a1b2435f..ed484f609766a15c6097ee782ddb97bff1f11456 100644 +index 0d2de5ec6b47dc2470e3f2f704076ff0d8b51778..57bc59537abfde26d1fe62f3661dc8eafd811e77 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -924,8 +924,10 @@ public class PurpurWorldConfig { +@@ -928,8 +928,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 30b8e0839..cbeb2fc7b 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 ed484f609766a15c6097ee782ddb97bff1f11456..3e5e8345f1faefefb057da639213fcbcc4f32551 100644 +index 57bc59537abfde26d1fe62f3661dc8eafd811e77..68c173fac745593404b63e8e94ed8c62766bd2c6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -777,6 +777,11 @@ public class PurpurWorldConfig { +@@ -781,6 +781,11 @@ public class PurpurWorldConfig { composterBulkProcess = getBoolean("blocks.composter.sneak-to-bulk-process", composterBulkProcess); } @@ -146,7 +146,7 @@ index ed484f609766a15c6097ee782ddb97bff1f11456..3e5e8345f1faefefb057da639213fcbc public boolean dispenserApplyCursedArmor = true; public boolean dispenserPlaceAnvils = false; private void dispenserSettings() { -@@ -871,6 +876,16 @@ public class PurpurWorldConfig { +@@ -875,6 +880,16 @@ public class PurpurWorldConfig { mobsSpawnOnBlueIce = getBoolean("blocks.blue_ice.allow-mob-spawns", mobsSpawnOnBlueIce); } @@ -163,7 +163,7 @@ index ed484f609766a15c6097ee782ddb97bff1f11456..3e5e8345f1faefefb057da639213fcbc public boolean lavaInfinite = false; public int lavaInfiniteRequiredSources = 2; public int lavaSpeedNether = 10; -@@ -960,6 +975,16 @@ public class PurpurWorldConfig { +@@ -964,6 +979,16 @@ public class PurpurWorldConfig { turtleEggsBypassMobGriefing = getBoolean("blocks.turtle_egg.bypass-mob-griefing", turtleEggsBypassMobGriefing); } @@ -180,7 +180,7 @@ index ed484f609766a15c6097ee782ddb97bff1f11456..3e5e8345f1faefefb057da639213fcbc public boolean waterInfinite = true; public int waterInfiniteRequiredSources = 2; private void waterSources() { -@@ -967,6 +992,16 @@ public class PurpurWorldConfig { +@@ -971,6 +996,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 d9d548613..0ee710146 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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c41401bf8cf66 100644 +index 68c173fac745593404b63e8e94ed8c62766bd2c6..73fb5e6d26517f4ffdaef29e1aebbfee2c98802f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1025,12 +1025,14 @@ public class PurpurWorldConfig { +@@ -1029,12 +1029,14 @@ public class PurpurWorldConfig { public double axolotlMaxHealth = 14.0D; public int axolotlBreedingTicks = 6000; public boolean axolotlTakeDamageFromWater = false; @@ -1175,7 +1175,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean batRidable = false; -@@ -1046,6 +1048,7 @@ public class PurpurWorldConfig { +@@ -1050,6 +1052,7 @@ public class PurpurWorldConfig { public double batArmorToughness = 0.0D; public double batAttackKnockback = 0.0D; public boolean batTakeDamageFromWater = false; @@ -1183,7 +1183,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void batSettings() { batRidable = getBoolean("mobs.bat.ridable", batRidable); batRidableInWater = getBoolean("mobs.bat.ridable-in-water", batRidableInWater); -@@ -1058,6 +1061,7 @@ public class PurpurWorldConfig { +@@ -1062,6 +1065,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean beeRidable = false; -@@ -1069,6 +1073,7 @@ public class PurpurWorldConfig { +@@ -1073,6 +1077,7 @@ public class PurpurWorldConfig { public boolean beeTakeDamageFromWater = false; public boolean beeCanWorkAtNight = false; public boolean beeCanWorkInRain = false; @@ -1199,7 +1199,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -1084,6 +1089,7 @@ public class PurpurWorldConfig { +@@ -1088,6 +1093,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean blazeRidable = false; -@@ -1092,6 +1098,7 @@ public class PurpurWorldConfig { +@@ -1096,6 +1102,7 @@ public class PurpurWorldConfig { public double blazeMaxY = 320D; public double blazeMaxHealth = 20.0D; public boolean blazeTakeDamageFromWater = true; @@ -1215,7 +1215,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void blazeSettings() { blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable); blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater); -@@ -1104,6 +1111,7 @@ public class PurpurWorldConfig { +@@ -1108,6 +1115,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean catRidable = false; -@@ -1116,6 +1124,7 @@ public class PurpurWorldConfig { +@@ -1120,6 +1128,7 @@ public class PurpurWorldConfig { public int catBreedingTicks = 6000; public DyeColor catDefaultCollarColor = DyeColor.RED; public boolean catTakeDamageFromWater = false; @@ -1231,7 +1231,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -1136,6 +1145,7 @@ public class PurpurWorldConfig { +@@ -1140,6 +1149,7 @@ public class PurpurWorldConfig { catDefaultCollarColor = DyeColor.RED; } catTakeDamageFromWater = getBoolean("mobs.cat.takes-damage-from-water", catTakeDamageFromWater); @@ -1239,7 +1239,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean caveSpiderRidable = false; -@@ -1143,6 +1153,7 @@ public class PurpurWorldConfig { +@@ -1147,6 +1157,7 @@ public class PurpurWorldConfig { public boolean caveSpiderControllable = true; public double caveSpiderMaxHealth = 12.0D; public boolean caveSpiderTakeDamageFromWater = false; @@ -1247,7 +1247,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void caveSpiderSettings() { caveSpiderRidable = getBoolean("mobs.cave_spider.ridable", caveSpiderRidable); caveSpiderRidableInWater = getBoolean("mobs.cave_spider.ridable-in-water", caveSpiderRidableInWater); -@@ -1154,6 +1165,7 @@ public class PurpurWorldConfig { +@@ -1158,6 +1169,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean chickenRidable = false; -@@ -1163,6 +1175,7 @@ public class PurpurWorldConfig { +@@ -1167,6 +1179,7 @@ public class PurpurWorldConfig { public boolean chickenRetaliate = false; public int chickenBreedingTicks = 6000; public boolean chickenTakeDamageFromWater = false; @@ -1263,7 +1263,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -1176,12 +1189,14 @@ public class PurpurWorldConfig { +@@ -1180,12 +1193,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void codSettings() { codRidable = getBoolean("mobs.cod.ridable", codRidable); codControllable = getBoolean("mobs.cod.controllable", codControllable); -@@ -1192,6 +1207,7 @@ public class PurpurWorldConfig { +@@ -1196,6 +1211,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean cowRidable = false; -@@ -1203,6 +1219,7 @@ public class PurpurWorldConfig { +@@ -1207,6 +1223,7 @@ public class PurpurWorldConfig { public boolean cowTakeDamageFromWater = false; public double cowNaturallyAggressiveToPlayersChance = 0.0D; public double cowNaturallyAggressiveToPlayersDamage = 2.0D; @@ -1294,7 +1294,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void cowSettings() { if (PurpurConfig.version < 22) { double oldValue = getDouble("mobs.cow.naturally-aggressive-to-players-chance", cowNaturallyAggressiveToPlayersChance); -@@ -1223,6 +1240,7 @@ public class PurpurWorldConfig { +@@ -1227,6 +1244,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean creeperRidable = false; -@@ -1235,6 +1253,7 @@ public class PurpurWorldConfig { +@@ -1239,6 +1257,7 @@ public class PurpurWorldConfig { public boolean creeperTakeDamageFromWater = false; public boolean creeperExplodeWhenKilled = false; public boolean creeperHealthRadius = false; @@ -1310,7 +1310,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1251,6 +1270,7 @@ public class PurpurWorldConfig { +@@ -1255,6 +1274,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean dolphinRidable = false; -@@ -1262,6 +1282,7 @@ public class PurpurWorldConfig { +@@ -1266,6 +1286,7 @@ public class PurpurWorldConfig { public boolean dolphinDisableTreasureSearching = false; public boolean dolphinTakeDamageFromWater = false; public double dolphinNaturallyAggressiveToPlayersChance = 0.0D; @@ -1326,7 +1326,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -1277,6 +1298,7 @@ public class PurpurWorldConfig { +@@ -1281,6 +1302,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean donkeyRidableInWater = false; -@@ -1288,6 +1310,7 @@ public class PurpurWorldConfig { +@@ -1292,6 +1314,7 @@ public class PurpurWorldConfig { public double donkeyMovementSpeedMax = 0.175D; public int donkeyBreedingTicks = 6000; public boolean donkeyTakeDamageFromWater = false; @@ -1342,7 +1342,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); if (PurpurConfig.version < 10) { -@@ -1305,6 +1328,7 @@ public class PurpurWorldConfig { +@@ -1309,6 +1332,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean drownedRidable = false; -@@ -1317,6 +1341,7 @@ public class PurpurWorldConfig { +@@ -1321,6 +1345,7 @@ public class PurpurWorldConfig { public boolean drownedJockeyTryExistingChickens = true; public boolean drownedTakeDamageFromWater = false; public boolean drownedBreakDoors = false; @@ -1358,7 +1358,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1333,12 +1358,14 @@ public class PurpurWorldConfig { +@@ -1337,12 +1362,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void elderGuardianSettings() { elderGuardianRidable = getBoolean("mobs.elder_guardian.ridable", elderGuardianRidable); elderGuardianControllable = getBoolean("mobs.elder_guardian.controllable", elderGuardianControllable); -@@ -1349,6 +1376,7 @@ public class PurpurWorldConfig { +@@ -1353,6 +1380,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean enderDragonRidable = false; -@@ -1394,6 +1422,7 @@ public class PurpurWorldConfig { +@@ -1398,6 +1426,7 @@ public class PurpurWorldConfig { public boolean endermanIgnorePlayerDragonHead = false; public boolean endermanDisableStareAggro = false; public boolean endermanIgnoreProjectiles = false; @@ -1389,7 +1389,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1417,6 +1446,7 @@ public class PurpurWorldConfig { +@@ -1421,6 +1450,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean endermiteRidable = false; -@@ -1424,6 +1454,7 @@ public class PurpurWorldConfig { +@@ -1428,6 +1458,7 @@ public class PurpurWorldConfig { public boolean endermiteControllable = true; public double endermiteMaxHealth = 8.0D; public boolean endermiteTakeDamageFromWater = false; @@ -1405,7 +1405,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void endermiteSettings() { endermiteRidable = getBoolean("mobs.endermite.ridable", endermiteRidable); endermiteRidableInWater = getBoolean("mobs.endermite.ridable-in-water", endermiteRidableInWater); -@@ -1435,6 +1466,7 @@ public class PurpurWorldConfig { +@@ -1439,6 +1470,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean evokerRidable = false; -@@ -1443,6 +1475,7 @@ public class PurpurWorldConfig { +@@ -1447,6 +1479,7 @@ public class PurpurWorldConfig { public double evokerMaxHealth = 24.0D; public boolean evokerBypassMobGriefing = false; public boolean evokerTakeDamageFromWater = false; @@ -1421,7 +1421,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -1455,6 +1488,7 @@ public class PurpurWorldConfig { +@@ -1459,6 +1492,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean foxRidable = false; -@@ -1465,6 +1499,7 @@ public class PurpurWorldConfig { +@@ -1469,6 +1503,7 @@ public class PurpurWorldConfig { public int foxBreedingTicks = 6000; public boolean foxBypassMobGriefing = false; public boolean foxTakeDamageFromWater = false; @@ -1437,7 +1437,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -1479,6 +1514,7 @@ public class PurpurWorldConfig { +@@ -1483,6 +1518,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean frogRidable = false; -@@ -1500,6 +1536,7 @@ public class PurpurWorldConfig { +@@ -1504,6 +1540,7 @@ public class PurpurWorldConfig { public double ghastMaxY = 320D; public double ghastMaxHealth = 10.0D; public boolean ghastTakeDamageFromWater = false; @@ -1453,7 +1453,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void ghastSettings() { ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable); ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater); -@@ -1512,6 +1549,7 @@ public class PurpurWorldConfig { +@@ -1516,6 +1553,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean giantRidable = false; -@@ -1525,6 +1563,7 @@ public class PurpurWorldConfig { +@@ -1529,6 +1567,7 @@ public class PurpurWorldConfig { public boolean giantHaveAI = false; public boolean giantHaveHostileAI = false; public boolean giantTakeDamageFromWater = false; @@ -1469,7 +1469,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -1546,6 +1585,7 @@ public class PurpurWorldConfig { +@@ -1550,6 +1589,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean glowSquidRidable = false; -@@ -1553,12 +1593,14 @@ public class PurpurWorldConfig { +@@ -1557,12 +1597,14 @@ public class PurpurWorldConfig { public double glowSquidMaxHealth = 10.0D; public boolean glowSquidsCanFly = false; public boolean glowSquidTakeDamageFromWater = false; @@ -1492,7 +1492,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean goatRidable = false; -@@ -1567,6 +1609,7 @@ public class PurpurWorldConfig { +@@ -1571,6 +1613,7 @@ public class PurpurWorldConfig { public double goatMaxHealth = 10.0D; public int goatBreedingTicks = 6000; public boolean goatTakeDamageFromWater = false; @@ -1500,7 +1500,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void goatSettings() { goatRidable = getBoolean("mobs.goat.ridable", goatRidable); goatRidableInWater = getBoolean("mobs.goat.ridable-in-water", goatRidableInWater); -@@ -1574,12 +1617,14 @@ public class PurpurWorldConfig { +@@ -1578,12 +1621,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void guardianSettings() { guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable); guardianControllable = getBoolean("mobs.guardian.controllable", guardianControllable); -@@ -1590,6 +1635,7 @@ public class PurpurWorldConfig { +@@ -1594,6 +1639,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean forceHalloweenSeason = false; -@@ -1605,6 +1651,7 @@ public class PurpurWorldConfig { +@@ -1609,6 +1655,7 @@ public class PurpurWorldConfig { public double hoglinMaxHealth = 40.0D; public int hoglinBreedingTicks = 6000; public boolean hoglinTakeDamageFromWater = false; @@ -1531,7 +1531,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -1617,6 +1664,7 @@ public class PurpurWorldConfig { +@@ -1621,6 +1668,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean horseRidableInWater = false; -@@ -1629,6 +1677,7 @@ public class PurpurWorldConfig { +@@ -1633,6 +1681,7 @@ public class PurpurWorldConfig { public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; public boolean horseStandWithRider = true; @@ -1547,7 +1547,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1647,6 +1696,7 @@ public class PurpurWorldConfig { +@@ -1651,6 +1700,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean huskRidable = false; -@@ -1658,6 +1708,7 @@ public class PurpurWorldConfig { +@@ -1662,6 +1712,7 @@ public class PurpurWorldConfig { public double huskJockeyChance = 0.05D; public boolean huskJockeyTryExistingChickens = true; public boolean huskTakeDamageFromWater = false; @@ -1563,7 +1563,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -1673,6 +1724,7 @@ public class PurpurWorldConfig { +@@ -1677,6 +1728,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean illusionerRidable = false; -@@ -1682,6 +1734,7 @@ public class PurpurWorldConfig { +@@ -1686,6 +1738,7 @@ public class PurpurWorldConfig { public double illusionerFollowRange = 18.0D; public double illusionerMaxHealth = 32.0D; public boolean illusionerTakeDamageFromWater = false; @@ -1579,7 +1579,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void illusionerSettings() { illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable); illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater); -@@ -1699,6 +1752,7 @@ public class PurpurWorldConfig { +@@ -1703,6 +1756,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean ironGolemRidable = false; -@@ -1709,6 +1763,7 @@ public class PurpurWorldConfig { +@@ -1713,6 +1767,7 @@ public class PurpurWorldConfig { public boolean ironGolemTakeDamageFromWater = false; public boolean ironGolemPoppyCalm = false; public boolean ironGolemHealCalm = false; @@ -1595,7 +1595,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1723,6 +1778,7 @@ public class PurpurWorldConfig { +@@ -1727,6 +1782,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean llamaRidable = false; -@@ -1737,6 +1793,7 @@ public class PurpurWorldConfig { +@@ -1741,6 +1797,7 @@ public class PurpurWorldConfig { public int llamaBreedingTicks = 6000; public boolean llamaTakeDamageFromWater = false; public boolean llamaJoinCaravans = true; @@ -1611,7 +1611,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1757,6 +1814,7 @@ public class PurpurWorldConfig { +@@ -1761,6 +1818,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean magmaCubeRidable = false; -@@ -1767,6 +1825,7 @@ public class PurpurWorldConfig { +@@ -1771,6 +1829,7 @@ public class PurpurWorldConfig { public Map magmaCubeMaxHealthCache = new HashMap<>(); public Map magmaCubeAttackDamageCache = new HashMap<>(); public boolean magmaCubeTakeDamageFromWater = false; @@ -1627,7 +1627,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void magmaCubeSettings() { magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable); magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater); -@@ -1781,6 +1840,7 @@ public class PurpurWorldConfig { +@@ -1785,6 +1844,7 @@ public class PurpurWorldConfig { magmaCubeMaxHealthCache.clear(); magmaCubeAttackDamageCache.clear(); magmaCubeTakeDamageFromWater = getBoolean("mobs.magma_cube.takes-damage-from-water", magmaCubeTakeDamageFromWater); @@ -1635,7 +1635,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean mooshroomRidable = false; -@@ -1789,6 +1849,7 @@ public class PurpurWorldConfig { +@@ -1793,6 +1853,7 @@ public class PurpurWorldConfig { public double mooshroomMaxHealth = 10.0D; public int mooshroomBreedingTicks = 6000; public boolean mooshroomTakeDamageFromWater = false; @@ -1643,7 +1643,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1801,6 +1862,7 @@ public class PurpurWorldConfig { +@@ -1805,6 +1866,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean muleRidableInWater = false; -@@ -1812,6 +1874,7 @@ public class PurpurWorldConfig { +@@ -1816,6 +1878,7 @@ public class PurpurWorldConfig { public double muleMovementSpeedMax = 0.175D; public int muleBreedingTicks = 6000; public boolean muleTakeDamageFromWater = false; @@ -1659,7 +1659,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1829,6 +1892,7 @@ public class PurpurWorldConfig { +@@ -1833,6 +1896,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean ocelotRidable = false; -@@ -1837,6 +1901,7 @@ public class PurpurWorldConfig { +@@ -1841,6 +1905,7 @@ public class PurpurWorldConfig { public double ocelotMaxHealth = 10.0D; public int ocelotBreedingTicks = 6000; public boolean ocelotTakeDamageFromWater = false; @@ -1675,7 +1675,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1849,6 +1914,7 @@ public class PurpurWorldConfig { +@@ -1853,6 +1918,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean pandaRidable = false; -@@ -1857,6 +1923,7 @@ public class PurpurWorldConfig { +@@ -1861,6 +1927,7 @@ public class PurpurWorldConfig { public double pandaMaxHealth = 20.0D; public int pandaBreedingTicks = 6000; public boolean pandaTakeDamageFromWater = false; @@ -1691,7 +1691,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1869,6 +1936,7 @@ public class PurpurWorldConfig { +@@ -1873,6 +1940,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean parrotRidable = false; -@@ -1878,6 +1946,7 @@ public class PurpurWorldConfig { +@@ -1882,6 +1950,7 @@ public class PurpurWorldConfig { public double parrotMaxHealth = 6.0D; public boolean parrotTakeDamageFromWater = false; public boolean parrotBreedable = false; @@ -1707,7 +1707,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1891,6 +1960,7 @@ public class PurpurWorldConfig { +@@ -1895,6 +1964,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean phantomRidable = false; -@@ -1924,6 +1994,7 @@ public class PurpurWorldConfig { +@@ -1928,6 +1998,7 @@ public class PurpurWorldConfig { public boolean phantomBurnInDaylight = true; public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; @@ -1723,7 +1723,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1965,6 +2036,7 @@ public class PurpurWorldConfig { +@@ -1969,6 +2040,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean pigRidable = false; -@@ -1974,6 +2046,7 @@ public class PurpurWorldConfig { +@@ -1978,6 +2050,7 @@ public class PurpurWorldConfig { public boolean pigGiveSaddleBack = false; public int pigBreedingTicks = 6000; public boolean pigTakeDamageFromWater = false; @@ -1739,7 +1739,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -1987,6 +2060,7 @@ public class PurpurWorldConfig { +@@ -1991,6 +2064,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean piglinRidable = false; -@@ -1996,6 +2070,7 @@ public class PurpurWorldConfig { +@@ -2000,6 +2074,7 @@ public class PurpurWorldConfig { public boolean piglinBypassMobGriefing = false; public boolean piglinTakeDamageFromWater = false; public int piglinPortalSpawnModifier = 2000; @@ -1755,7 +1755,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2009,6 +2084,7 @@ public class PurpurWorldConfig { +@@ -2013,6 +2088,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean piglinBruteRidable = false; -@@ -2016,6 +2092,7 @@ public class PurpurWorldConfig { +@@ -2020,6 +2096,7 @@ public class PurpurWorldConfig { public boolean piglinBruteControllable = true; public double piglinBruteMaxHealth = 50.0D; public boolean piglinBruteTakeDamageFromWater = false; @@ -1771,7 +1771,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void piglinBruteSettings() { piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable); piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater); -@@ -2027,6 +2104,7 @@ public class PurpurWorldConfig { +@@ -2031,6 +2108,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean pillagerRidable = false; -@@ -2035,6 +2113,7 @@ public class PurpurWorldConfig { +@@ -2039,6 +2117,7 @@ public class PurpurWorldConfig { public double pillagerMaxHealth = 24.0D; public boolean pillagerBypassMobGriefing = false; public boolean pillagerTakeDamageFromWater = false; @@ -1787,7 +1787,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -2047,6 +2126,7 @@ public class PurpurWorldConfig { +@@ -2051,6 +2130,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean polarBearRidable = false; -@@ -2057,6 +2137,7 @@ public class PurpurWorldConfig { +@@ -2061,6 +2141,7 @@ public class PurpurWorldConfig { public Item polarBearBreedableItem = null; public int polarBearBreedingTicks = 6000; public boolean polarBearTakeDamageFromWater = false; @@ -1803,7 +1803,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -2072,12 +2153,14 @@ public class PurpurWorldConfig { +@@ -2076,12 +2157,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void pufferfishSettings() { pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable); pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable); -@@ -2088,6 +2171,7 @@ public class PurpurWorldConfig { +@@ -2092,6 +2175,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean rabbitRidable = false; -@@ -2099,6 +2183,7 @@ public class PurpurWorldConfig { +@@ -2103,6 +2187,7 @@ public class PurpurWorldConfig { public int rabbitBreedingTicks = 6000; public boolean rabbitBypassMobGriefing = false; public boolean rabbitTakeDamageFromWater = false; @@ -1834,7 +1834,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -2114,6 +2199,7 @@ public class PurpurWorldConfig { +@@ -2118,6 +2203,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean ravagerRidable = false; -@@ -2123,6 +2209,7 @@ public class PurpurWorldConfig { +@@ -2127,6 +2213,7 @@ public class PurpurWorldConfig { public boolean ravagerBypassMobGriefing = false; public boolean ravagerTakeDamageFromWater = false; public List ravagerGriefableBlocks = new ArrayList<>(); @@ -1850,7 +1850,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -2152,12 +2239,14 @@ public class PurpurWorldConfig { +@@ -2156,12 +2243,14 @@ public class PurpurWorldConfig { ravagerGriefableBlocks.add(block); } }); @@ -1865,7 +1865,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void salmonSettings() { salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable); salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable); -@@ -2168,6 +2257,7 @@ public class PurpurWorldConfig { +@@ -2172,6 +2261,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean sheepRidable = false; -@@ -2177,6 +2267,7 @@ public class PurpurWorldConfig { +@@ -2181,6 +2271,7 @@ public class PurpurWorldConfig { public int sheepBreedingTicks = 6000; public boolean sheepBypassMobGriefing = false; public boolean sheepTakeDamageFromWater = false; @@ -1881,7 +1881,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -2190,6 +2281,7 @@ public class PurpurWorldConfig { +@@ -2194,6 +2285,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean shulkerRidable = false; -@@ -2203,6 +2295,7 @@ public class PurpurWorldConfig { +@@ -2207,6 +2299,7 @@ public class PurpurWorldConfig { public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0"; public boolean shulkerSpawnFromBulletRandomColor = false; public boolean shulkerChangeColorWithDye = false; @@ -1897,7 +1897,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2220,6 +2313,7 @@ public class PurpurWorldConfig { +@@ -2224,6 +2317,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean silverfishRidable = false; -@@ -2228,6 +2322,7 @@ public class PurpurWorldConfig { +@@ -2232,6 +2326,7 @@ public class PurpurWorldConfig { public double silverfishMaxHealth = 8.0D; public boolean silverfishBypassMobGriefing = false; public boolean silverfishTakeDamageFromWater = false; @@ -1913,7 +1913,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -2240,6 +2335,7 @@ public class PurpurWorldConfig { +@@ -2244,6 +2339,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean skeletonRidable = false; -@@ -2247,6 +2343,7 @@ public class PurpurWorldConfig { +@@ -2251,6 +2347,7 @@ public class PurpurWorldConfig { public boolean skeletonControllable = true; public double skeletonMaxHealth = 20.0D; public boolean skeletonTakeDamageFromWater = false; @@ -1929,7 +1929,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2258,6 +2355,7 @@ public class PurpurWorldConfig { +@@ -2262,6 +2359,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean skeletonHorseRidableInWater = true; -@@ -2269,6 +2367,7 @@ public class PurpurWorldConfig { +@@ -2273,6 +2371,7 @@ public class PurpurWorldConfig { public double skeletonHorseMovementSpeedMin = 0.2D; public double skeletonHorseMovementSpeedMax = 0.2D; public boolean skeletonHorseTakeDamageFromWater = false; @@ -1945,7 +1945,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void skeletonHorseSettings() { skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater); skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim); -@@ -2285,6 +2384,7 @@ public class PurpurWorldConfig { +@@ -2289,6 +2388,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean slimeRidable = false; -@@ -2295,6 +2395,7 @@ public class PurpurWorldConfig { +@@ -2299,6 +2399,7 @@ public class PurpurWorldConfig { public Map slimeMaxHealthCache = new HashMap<>(); public Map slimeAttackDamageCache = new HashMap<>(); public boolean slimeTakeDamageFromWater = false; @@ -1961,7 +1961,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void slimeSettings() { slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable); slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater); -@@ -2309,6 +2410,7 @@ public class PurpurWorldConfig { +@@ -2313,6 +2414,7 @@ public class PurpurWorldConfig { slimeMaxHealthCache.clear(); slimeAttackDamageCache.clear(); slimeTakeDamageFromWater = getBoolean("mobs.slime.takes-damage-from-water", slimeTakeDamageFromWater); @@ -1969,7 +1969,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean snowGolemRidable = false; -@@ -2324,6 +2426,7 @@ public class PurpurWorldConfig { +@@ -2328,6 +2430,7 @@ public class PurpurWorldConfig { public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; public boolean snowGolemTakeDamageFromWater = true; @@ -1977,7 +1977,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -2343,6 +2446,7 @@ public class PurpurWorldConfig { +@@ -2347,6 +2450,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean squidRidable = false; -@@ -2352,6 +2456,7 @@ public class PurpurWorldConfig { +@@ -2356,6 +2460,7 @@ public class PurpurWorldConfig { public double squidOffsetWaterCheck = 0.0D; public boolean squidsCanFly = false; public boolean squidTakeDamageFromWater = false; @@ -1993,7 +1993,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -2365,6 +2470,7 @@ public class PurpurWorldConfig { +@@ -2369,6 +2474,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean spiderRidable = false; -@@ -2372,6 +2478,7 @@ public class PurpurWorldConfig { +@@ -2376,6 +2482,7 @@ public class PurpurWorldConfig { public boolean spiderControllable = true; public double spiderMaxHealth = 16.0D; public boolean spiderTakeDamageFromWater = false; @@ -2009,7 +2009,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -2383,6 +2490,7 @@ public class PurpurWorldConfig { +@@ -2387,6 +2494,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean strayRidable = false; -@@ -2390,6 +2498,7 @@ public class PurpurWorldConfig { +@@ -2394,6 +2502,7 @@ public class PurpurWorldConfig { public boolean strayControllable = true; public double strayMaxHealth = 20.0D; public boolean strayTakeDamageFromWater = false; @@ -2025,7 +2025,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void straySettings() { strayRidable = getBoolean("mobs.stray.ridable", strayRidable); strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater); -@@ -2401,6 +2510,7 @@ public class PurpurWorldConfig { +@@ -2405,6 +2514,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean striderRidable = false; -@@ -2410,6 +2520,7 @@ public class PurpurWorldConfig { +@@ -2414,6 +2524,7 @@ public class PurpurWorldConfig { public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; public boolean striderTakeDamageFromWater = true; @@ -2041,7 +2041,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -2423,6 +2534,7 @@ public class PurpurWorldConfig { +@@ -2427,6 +2538,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean tadpoleRidable = false; -@@ -2445,6 +2557,7 @@ public class PurpurWorldConfig { +@@ -2449,6 +2561,7 @@ public class PurpurWorldConfig { public double traderLlamaMovementSpeedMax = 0.175D; public int traderLlamaBreedingTicks = 6000; public boolean traderLlamaTakeDamageFromWater = false; @@ -2057,7 +2057,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -2464,12 +2577,14 @@ public class PurpurWorldConfig { +@@ -2468,12 +2581,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void tropicalFishSettings() { tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable); -@@ -2480,6 +2595,7 @@ public class PurpurWorldConfig { +@@ -2484,6 +2599,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean turtleRidable = false; -@@ -2488,6 +2604,7 @@ public class PurpurWorldConfig { +@@ -2492,6 +2608,7 @@ public class PurpurWorldConfig { public double turtleMaxHealth = 30.0D; public int turtleBreedingTicks = 6000; public boolean turtleTakeDamageFromWater = false; @@ -2088,7 +2088,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -2500,6 +2617,7 @@ public class PurpurWorldConfig { +@@ -2504,6 +2621,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean vexRidable = false; -@@ -2508,6 +2626,7 @@ public class PurpurWorldConfig { +@@ -2512,6 +2630,7 @@ public class PurpurWorldConfig { public double vexMaxY = 320D; public double vexMaxHealth = 14.0D; public boolean vexTakeDamageFromWater = false; @@ -2104,7 +2104,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void vexSettings() { vexRidable = getBoolean("mobs.vex.ridable", vexRidable); vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater); -@@ -2520,6 +2639,7 @@ public class PurpurWorldConfig { +@@ -2524,6 +2643,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean villagerRidable = false; -@@ -2537,6 +2657,7 @@ public class PurpurWorldConfig { +@@ -2541,6 +2661,7 @@ public class PurpurWorldConfig { public boolean villagerBypassMobGriefing = false; public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; @@ -2120,7 +2120,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2558,6 +2679,7 @@ public class PurpurWorldConfig { +@@ -2562,6 +2683,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean vindicatorRidable = false; -@@ -2566,6 +2688,7 @@ public class PurpurWorldConfig { +@@ -2570,6 +2692,7 @@ public class PurpurWorldConfig { public double vindicatorMaxHealth = 24.0D; public double vindicatorJohnnySpawnChance = 0D; public boolean vindicatorTakeDamageFromWater = false; @@ -2136,7 +2136,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -2578,6 +2701,7 @@ public class PurpurWorldConfig { +@@ -2582,6 +2705,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean wanderingTraderRidable = false; -@@ -2588,6 +2712,7 @@ public class PurpurWorldConfig { +@@ -2592,6 +2716,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderTakeDamageFromWater = false; public boolean wanderingTraderAllowTrading = true; @@ -2152,7 +2152,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -2602,6 +2727,7 @@ public class PurpurWorldConfig { +@@ -2606,6 +2731,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean wardenRidable = false; -@@ -2618,6 +2744,7 @@ public class PurpurWorldConfig { +@@ -2622,6 +2748,7 @@ public class PurpurWorldConfig { public boolean witchControllable = true; public double witchMaxHealth = 26.0D; public boolean witchTakeDamageFromWater = false; @@ -2168,7 +2168,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void witchSettings() { witchRidable = getBoolean("mobs.witch.ridable", witchRidable); witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater); -@@ -2629,6 +2756,7 @@ public class PurpurWorldConfig { +@@ -2633,6 +2760,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean witherRidable = false; -@@ -2643,6 +2771,7 @@ public class PurpurWorldConfig { +@@ -2647,6 +2775,7 @@ public class PurpurWorldConfig { public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; public boolean witherPlaySpawnSound = true; @@ -2184,7 +2184,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2665,6 +2794,7 @@ public class PurpurWorldConfig { +@@ -2669,6 +2798,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean witherSkeletonRidable = false; -@@ -2672,6 +2802,7 @@ public class PurpurWorldConfig { +@@ -2676,6 +2806,7 @@ public class PurpurWorldConfig { public boolean witherSkeletonControllable = true; public double witherSkeletonMaxHealth = 20.0D; public boolean witherSkeletonTakeDamageFromWater = false; @@ -2200,7 +2200,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void witherSkeletonSettings() { witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); -@@ -2683,6 +2814,7 @@ public class PurpurWorldConfig { +@@ -2687,6 +2818,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean wolfRidable = false; -@@ -2694,6 +2826,7 @@ public class PurpurWorldConfig { +@@ -2698,6 +2830,7 @@ public class PurpurWorldConfig { public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; public boolean wolfTakeDamageFromWater = false; @@ -2216,7 +2216,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -2713,6 +2846,7 @@ public class PurpurWorldConfig { +@@ -2717,6 +2850,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean zoglinRidable = false; -@@ -2720,6 +2854,7 @@ public class PurpurWorldConfig { +@@ -2724,6 +2858,7 @@ public class PurpurWorldConfig { public boolean zoglinControllable = true; public double zoglinMaxHealth = 40.0D; public boolean zoglinTakeDamageFromWater = false; @@ -2232,7 +2232,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void zoglinSettings() { zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable); zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater); -@@ -2731,6 +2866,7 @@ public class PurpurWorldConfig { +@@ -2735,6 +2870,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean zombieRidable = false; -@@ -2744,6 +2880,7 @@ public class PurpurWorldConfig { +@@ -2748,6 +2884,7 @@ public class PurpurWorldConfig { public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; @@ -2248,7 +2248,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2761,6 +2898,7 @@ public class PurpurWorldConfig { +@@ -2765,6 +2902,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean zombieHorseRidableInWater = false; -@@ -2773,6 +2911,7 @@ public class PurpurWorldConfig { +@@ -2777,6 +2915,7 @@ public class PurpurWorldConfig { public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseSpawnChance = 0.0D; public boolean zombieHorseTakeDamageFromWater = false; @@ -2264,7 +2264,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void zombieHorseSettings() { zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); -@@ -2790,6 +2929,7 @@ public class PurpurWorldConfig { +@@ -2794,6 +2933,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean zombieVillagerRidable = false; -@@ -2804,6 +2944,7 @@ public class PurpurWorldConfig { +@@ -2808,6 +2948,7 @@ public class PurpurWorldConfig { public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; public boolean zombieVillagerCureEnabled = true; @@ -2280,7 +2280,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2822,6 +2963,7 @@ public class PurpurWorldConfig { +@@ -2826,6 +2967,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 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 } public boolean zombifiedPiglinRidable = false; -@@ -2834,6 +2976,7 @@ public class PurpurWorldConfig { +@@ -2838,6 +2980,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; public boolean zombifiedPiglinTakeDamageFromWater = false; @@ -2296,7 +2296,7 @@ index 3e5e8345f1faefefb057da639213fcbcc4f32551..181556574fc6eedd748cc69e421c4140 private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -2850,6 +2993,7 @@ public class PurpurWorldConfig { +@@ -2854,6 +2997,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 a9feea00a..5136cfb11 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 181556574fc6eedd748cc69e421c41401bf8cf66..56d69ba8a16837c86276e5f4f6334b7d69767534 100644 +index 73fb5e6d26517f4ffdaef29e1aebbfee2c98802f..50cfe61d4efeae6b00bde8bea9cf3c36f244989e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2479,6 +2479,7 @@ public class PurpurWorldConfig { +@@ -2483,6 +2483,7 @@ public class PurpurWorldConfig { public double spiderMaxHealth = 16.0D; public boolean spiderTakeDamageFromWater = false; public boolean spiderAlwaysDropExp = false; @@ -50,7 +50,7 @@ index 181556574fc6eedd748cc69e421c41401bf8cf66..56d69ba8a16837c86276e5f4f6334b7d private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -2491,6 +2492,7 @@ public class PurpurWorldConfig { +@@ -2495,6 +2496,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 2493b2d21..d7c7c9395 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 56d69ba8a16837c86276e5f4f6334b7d69767534..c6b423ca7023cb65cbaf983b427979607510db67 100644 +index 50cfe61d4efeae6b00bde8bea9cf3c36f244989e..69c95e662d60ed63e4cdb4f33d59decd2de3190b 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 56d69ba8a16837c86276e5f4f6334b7d69767534..c6b423ca7023cb65cbaf983b42797960 private void toolSettings() { axeStrippables.clear(); axeWaxables.clear(); -@@ -695,6 +697,8 @@ public class PurpurWorldConfig { +@@ -699,6 +701,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 01437f26c..273192401 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 c6b423ca7023cb65cbaf983b427979607510db67..5dbdaeb306f6bde3f94921e1bd2b5e5eac0107f2 100644 +index 69c95e662d60ed63e4cdb4f33d59decd2de3190b..a7638fd6b75d04b454388b952157a3a6c791dba0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2272,6 +2272,7 @@ public class PurpurWorldConfig { +@@ -2276,6 +2276,7 @@ public class PurpurWorldConfig { public boolean sheepBypassMobGriefing = false; public boolean sheepTakeDamageFromWater = false; public boolean sheepAlwaysDropExp = false; @@ -29,7 +29,7 @@ index c6b423ca7023cb65cbaf983b427979607510db67..5dbdaeb306f6bde3f94921e1bd2b5e5e private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -2286,6 +2287,7 @@ public class PurpurWorldConfig { +@@ -2290,6 +2291,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 bfe9559a5..2951928a9 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 5dbdaeb306f6bde3f94921e1bd2b5e5eac0107f2..2724dc07320191fd84aa5564742b35872b16705f 100644 +index a7638fd6b75d04b454388b952157a3a6c791dba0..5dff0bfe5c9f92213715b46f37c87f8da379780b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -972,11 +972,13 @@ public class PurpurWorldConfig { +@@ -976,11 +976,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 9df19c193..943b3c697 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 2724dc07320191fd84aa5564742b35872b16705f..323b2cae0ce30b9eae0bc94e3780d3e3ce71c1ff 100644 +index 5dff0bfe5c9f92213715b46f37c87f8da379780b..f19e95fecdf19bf56d456e4e35edbe0abe5d5839 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1260,6 +1260,7 @@ public class PurpurWorldConfig { +@@ -1264,6 +1264,7 @@ public class PurpurWorldConfig { public boolean creeperExplodeWhenKilled = false; public boolean creeperHealthRadius = false; public boolean creeperAlwaysDropExp = false; @@ -40,7 +40,7 @@ index 2724dc07320191fd84aa5564742b35872b16705f..323b2cae0ce30b9eae0bc94e3780d3e3 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1277,6 +1278,7 @@ public class PurpurWorldConfig { +@@ -1281,6 +1282,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 2724dc07320191fd84aa5564742b35872b16705f..323b2cae0ce30b9eae0bc94e3780d3e3 } public boolean dolphinRidable = false; -@@ -2352,6 +2354,7 @@ public class PurpurWorldConfig { +@@ -2356,6 +2358,7 @@ public class PurpurWorldConfig { public double skeletonMaxHealth = 20.0D; public boolean skeletonTakeDamageFromWater = false; public boolean skeletonAlwaysDropExp = false; @@ -56,7 +56,7 @@ index 2724dc07320191fd84aa5564742b35872b16705f..323b2cae0ce30b9eae0bc94e3780d3e3 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2364,6 +2367,7 @@ public class PurpurWorldConfig { +@@ -2368,6 +2371,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 2724dc07320191fd84aa5564742b35872b16705f..323b2cae0ce30b9eae0bc94e3780d3e3 } public boolean skeletonHorseRidableInWater = true; -@@ -2891,6 +2895,7 @@ public class PurpurWorldConfig { +@@ -2895,6 +2899,7 @@ public class PurpurWorldConfig { public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; public boolean zombieAlwaysDropExp = false; @@ -72,7 +72,7 @@ index 2724dc07320191fd84aa5564742b35872b16705f..323b2cae0ce30b9eae0bc94e3780d3e3 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2909,6 +2914,7 @@ public class PurpurWorldConfig { +@@ -2913,6 +2918,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 7fcb6fca3..da0dbf125 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 323b2cae0ce30b9eae0bc94e3780d3e3ce71c1ff..5fd6e5a151302f5da6fb80d48fabd8bf6f091e9a 100644 +index f19e95fecdf19bf56d456e4e35edbe0abe5d5839..88bffce4f59c9d52ccaff90eeded2e375cc50f7a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1080,6 +1080,7 @@ public class PurpurWorldConfig { +@@ -1084,6 +1084,7 @@ public class PurpurWorldConfig { public boolean beeCanWorkAtNight = false; public boolean beeCanWorkInRain = false; public boolean beeAlwaysDropExp = false; @@ -28,7 +28,7 @@ index 323b2cae0ce30b9eae0bc94e3780d3e3ce71c1ff..5fd6e5a151302f5da6fb80d48fabd8bf private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -1096,6 +1097,7 @@ public class PurpurWorldConfig { +@@ -1100,6 +1101,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 d7bfaa8cd..77b58dc77 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 5fd6e5a151302f5da6fb80d48fabd8bf6f091e9a..00658cb51ea67c41968dea1375dc177e609ddd69 100644 +index 88bffce4f59c9d52ccaff90eeded2e375cc50f7a..fc16dbc73fda459e4832b555e20fcce914a90cb6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -843,6 +843,7 @@ public class PurpurWorldConfig { +@@ -847,6 +847,7 @@ public class PurpurWorldConfig { public boolean farmlandTramplingDisabled = false; public boolean farmlandTramplingOnlyPlayers = false; public boolean farmlandTramplingFeatherFalling = false; @@ -46,7 +46,7 @@ index 5fd6e5a151302f5da6fb80d48fabd8bf6f091e9a..00658cb51ea67c41968dea1375dc177e private void farmlandSettings() { farmlandBypassMobGriefing = getBoolean("blocks.farmland.bypass-mob-griefing", farmlandBypassMobGriefing); farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); -@@ -850,6 +851,7 @@ public class PurpurWorldConfig { +@@ -854,6 +855,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 c95729598..274cf2603 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 d9148ccbdca242a1e4f79e537bb61354eb8de642..ca0e906481d6871efa8b7261fcd88157ff1b5f6a 100644 +index 10535d574d71b5d3265f2d7fc6d739c028e503f2..369e4dd447cac95cb7325c2f1239f9c5527c5070 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2011,6 +2011,8 @@ public class PurpurWorldConfig { +@@ -2015,6 +2015,8 @@ public class PurpurWorldConfig { public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; public boolean phantomAlwaysDropExp = false; @@ -34,7 +34,7 @@ index d9148ccbdca242a1e4f79e537bb61354eb8de642..ca0e906481d6871efa8b7261fcd88157 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -2053,6 +2055,13 @@ public class PurpurWorldConfig { +@@ -2057,6 +2059,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 2975b046e..3113991aa 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 ca0e906481d6871efa8b7261fcd88157ff1b5f6a..ef79bfec7ce236cc8f5929e19c3d62f75c390b89 100644 +index 369e4dd447cac95cb7325c2f1239f9c5527c5070..73fae5e2af9d75bdc449febf34557f68b98c0f0c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2689,6 +2689,7 @@ public class PurpurWorldConfig { +@@ -2693,6 +2693,7 @@ public class PurpurWorldConfig { public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; @@ -51,7 +51,7 @@ index ca0e906481d6871efa8b7261fcd88157ff1b5f6a..ef79bfec7ce236cc8f5929e19c3d62f7 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2711,6 +2712,7 @@ public class PurpurWorldConfig { +@@ -2715,6 +2716,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 9f18cb619..70931c157 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 ef79bfec7ce236cc8f5929e19c3d62f75c390b89..89c8829b7e579647bb2c7e3319a221bc5c1227f4 100644 +index 73fae5e2af9d75bdc449febf34557f68b98c0f0c..829b0d20d24855416138825066ff03d9baceb193 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2690,6 +2690,8 @@ public class PurpurWorldConfig { +@@ -2694,6 +2694,8 @@ public class PurpurWorldConfig { public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; public int villagerMinimumDemand = 0; @@ -123,7 +123,7 @@ index ef79bfec7ce236cc8f5929e19c3d62f75c390b89..89c8829b7e579647bb2c7e3319a221bc private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2713,6 +2715,17 @@ public class PurpurWorldConfig { +@@ -2717,6 +2719,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 cc45dc9eb..1f64f86fb 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 89c8829b7e579647bb2c7e3319a221bc5c1227f4..30a9b11a7b4c423b03057a0f899e0a510a929043 100644 +index 829b0d20d24855416138825066ff03d9baceb193..8e6201dd9fbacb9f8fae3a2013d5efe7b16b5400 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2692,6 +2692,7 @@ public class PurpurWorldConfig { +@@ -2696,6 +2696,7 @@ public class PurpurWorldConfig { public int villagerMinimumDemand = 0; public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheckInterval = 100; @@ -28,7 +28,7 @@ index 89c8829b7e579647bb2c7e3319a221bc5c1227f4..30a9b11a7b4c423b03057a0f899e0a51 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2726,6 +2727,7 @@ public class PurpurWorldConfig { +@@ -2730,6 +2731,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 2d1662ca3..e70027d49 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 30a9b11a7b4c423b03057a0f899e0a510a929043..2fc992873e56daa9525c980d62c973fa9775fb7c 100644 +index 8e6201dd9fbacb9f8fae3a2013d5efe7b16b5400..3efe2f056b4186093248ef8faaba5ba664e849dd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -961,8 +961,10 @@ public class PurpurWorldConfig { +@@ -965,8 +965,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 8438a3549..19f174e06 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 0477f4a04154bd5851b4b7b4c23545d6be79af1d..30b0b93e43713281f4fd7e7dc04e6b91a263dcbb 100644 +index cc785c36228fb3653cbbc9cd8d9923d8c8d69a53..145b8e2cf1929203a0c9cdc39c9985ec8020c9d7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -708,8 +708,12 @@ public class PurpurWorldConfig { +@@ -712,8 +712,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 e2e8caa50..e415599b6 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 30b0b93e43713281f4fd7e7dc04e6b91a263dcbb..f5db78c3ee2e18cec0dbe8dfa8da9aafce54c416 100644 +index 145b8e2cf1929203a0c9cdc39c9985ec8020c9d7..65236d76e7b3c4bd0a493529eebc5b3f971fbfb2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -987,12 +987,14 @@ public class PurpurWorldConfig { +@@ -991,12 +991,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 30ea43476..d834b223a 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 f5db78c3ee2e18cec0dbe8dfa8da9aafce54c416..b5eb0b642dff985ea14e7233e47b18568c1dba32 100644 +index 65236d76e7b3c4bd0a493529eebc5b3f971fbfb2..64f580007451ff1b5d8efd9ffc9d70a97bf76441 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1703,6 +1703,7 @@ public class PurpurWorldConfig { +@@ -1707,6 +1707,7 @@ public class PurpurWorldConfig { public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; public boolean horseStandWithRider = true; @@ -32,7 +32,7 @@ index f5db78c3ee2e18cec0dbe8dfa8da9aafce54c416..b5eb0b642dff985ea14e7233e47b1856 public boolean horseAlwaysDropExp = false; private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); -@@ -1722,6 +1723,7 @@ public class PurpurWorldConfig { +@@ -1726,6 +1727,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 82a7a2593..0e805e68b 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 b5eb0b642dff985ea14e7233e47b18568c1dba32..7ead92409e1293d2786d42951a69c19cc8fefd16 100644 +index 64f580007451ff1b5d8efd9ffc9d70a97bf76441..c64d1107119792e3f523bbc39a5a711d209585c9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2705,6 +2705,8 @@ public class PurpurWorldConfig { +@@ -2709,6 +2709,8 @@ public class PurpurWorldConfig { public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheckInterval = 100; public boolean villagerDisplayTradeItem = true; @@ -30,7 +30,7 @@ index b5eb0b642dff985ea14e7233e47b18568c1dba32..7ead92409e1293d2786d42951a69c19c private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2740,6 +2742,8 @@ public class PurpurWorldConfig { +@@ -2744,6 +2746,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 cf567ad08..cc0460155 100644 --- a/patches/server/0274-Stonecutter-damage.patch +++ b/patches/server/0274-Stonecutter-damage.patch @@ -80,7 +80,7 @@ index 019e095647225f3d61f0759c8787171a45acdaca..13a5d4338ca2a9ea9a9c520687bc1d5b throw new IllegalStateException(String.format("Unhandled damage of %s by %s from %s", entity, damager, source.msgId)); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index d987bf03974511bdabfe8410d6f3008c2fa9ec67..8cb74c78f6925d3016f7367835a0929840404fb2 100644 +index 619b6bb634e3be722b1e8ab8a7a5974f494da1ff..3d96a49cca34f0a3f3b37de839e476c2a4c1f1d6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -200,8 +200,10 @@ public class PurpurConfig { @@ -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 7ead92409e1293d2786d42951a69c19cc8fefd16..f55a93e835909603ffa0ca496e61841c429f3bf9 100644 +index c64d1107119792e3f523bbc39a5a711d209585c9..f781ea51472cea86d8eb5279326d21a63710b426 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -982,6 +982,11 @@ public class PurpurWorldConfig { +@@ -986,6 +986,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 901a5e358..a82b4e801 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 f55a93e835909603ffa0ca496e61841c429f3bf9..fc14078dc670f739be9b7f8a6fe1a89ee107624d 100644 +index f781ea51472cea86d8eb5279326d21a63710b426..d0c725d8fb610a276d96370359eaab7010c85b53 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -918,6 +918,13 @@ public class PurpurWorldConfig { +@@ -922,6 +922,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 6a1765ec6..4d0c009f5 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 fc14078dc670f739be9b7f8a6fe1a89ee107624d..098fdaa887f116c6a163ae5345aea7edefe669d6 100644 +index d0c725d8fb610a276d96370359eaab7010c85b53..80b827eb45092a9069a9dced5b04eebce7b82b58 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -887,9 +887,11 @@ public class PurpurWorldConfig { +@@ -891,9 +891,11 @@ public class PurpurWorldConfig { public boolean mobsSpawnOnPackedIce = true; public boolean mobsSpawnOnBlueIce = true;