From 788c14f02c029f8c4cb39ac259acf8acd84141e3 Mon Sep 17 00:00:00 2001 From: Ben Kerllenevich Date: Sun, 11 Jun 2023 22:04:37 -0400 Subject: [PATCH] fix build issue --- ...-Configurable-entity-base-attributes.patch | 26 +- patches/server/0023-Giants-AI-settings.patch | 6 +- .../0024-Zombie-horse-naturally-spawn.patch | 6 +- ...0025-Charged-creeper-naturally-spawn.patch | 6 +- ...bit-naturally-spawn-toast-and-killer.patch | 6 +- .../server/0028-Tulips-change-fox-type.patch | 6 +- .../server/0029-Breedable-Polar-Bears.patch | 6 +- .../server/0030-Chickens-can-retaliate.patch | 6 +- .../server/0032-Cat-spawning-options.patch | 6 +- patches/server/0033-Cows-eat-mushrooms.patch | 6 +- .../server/0035-Pigs-give-saddle-back.patch | 6 +- ...36-Snowman-drop-and-put-back-pumpkin.patch | 6 +- ...37-Ender-dragon-always-drop-full-exp.patch | 6 +- ...derman-and-creeper-griefing-controls.patch | 10 +- ...0048-Villagers-follow-emerald-blocks.patch | 10 +- .../0049-Allow-leashing-villagers.patch | 10 +- .../0064-Configurable-jockey-options.patch | 22 +- ...ed-to-crystals-and-crystals-shoot-ph.patch | 6 +- .../0066-Add-phantom-spawning-options.patch | 6 +- patches/server/0073-Squid-EAR-immunity.patch | 6 +- .../server/0074-Phantoms-burn-in-light.patch | 6 +- .../0075-Configurable-villager-breeding.patch | 6 +- ...8-Add-vindicator-johnny-spawn-chance.patch | 6 +- ...o-disable-dolphin-treasure-searching.patch | 6 +- ...Stop-squids-floating-on-top-of-water.patch | 6 +- ...stomizable-wither-health-and-healing.patch | 6 +- ...sable-zombie-aggressiveness-towards-.patch | 6 +- patches/server/0094-Flying-squids-Oh-my.patch | 8 +- ...e-entity-breeding-times-configurable.patch | 104 +++---- ...llowing-Endermen-to-despawn-even-whi.patch | 6 +- .../0109-Snow-Golem-rate-of-fire-config.patch | 6 +- ...Villager-Clerics-to-farm-Nether-Wart.patch | 6 +- ...fied-Piglin-death-always-counting-as.patch | 6 +- ...ble-chance-for-wolves-to-spawn-rabid.patch | 6 +- ...14-Configurable-default-collar-color.patch | 10 +- .../server/0115-Phantom-flames-on-swoop.patch | 6 +- .../0118-Striders-give-saddle-back.patch | 6 +- ...iefing-bypass-to-everything-affected.patch | 60 ++-- ...oggle-for-water-sensitive-mob-damage.patch | 244 ++++++++-------- ...ither-Ender-Dragon-can-ride-vehicles.patch | 10 +- ...an-aggressiveness-towards-Endermites.patch | 6 +- ...-Dragon-Head-wearers-and-stare-aggro.patch | 6 +- ...140-Config-to-disable-Llama-caravans.patch | 6 +- ...ig-to-make-Creepers-explode-on-death.patch | 6 +- ...urable-ravager-griefable-blocks-list.patch | 6 +- ...0145-Add-config-for-villager-trading.patch | 10 +- .../0156-Piglin-portal-spawn-modifier.patch | 6 +- ...8-Config-for-wither-explosion-radius.patch | 6 +- ...h-to-impact-Creeper-explosion-radius.patch | 6 +- .../0166-Iron-golem-calm-anger-options.patch | 6 +- patches/server/0167-Breedable-parrots.patch | 6 +- ...84-Shulker-spawn-from-bullet-options.patch | 6 +- ...6-Option-to-make-drowned-break-doors.patch | 6 +- ...onfigurable-hunger-starvation-damage.patch | 4 +- ...e-Enderman-teleport-on-projectile-hi.patch | 6 +- ...izeable-Zombie-Villager-curing-times.patch | 6 +- ...0203-Toggle-for-Wither-s-spawn-sound.patch | 6 +- .../0206-Conduit-behavior-configuration.patch | 4 +- .../server/0207-Cauldron-fill-chances.patch | 4 +- .../0209-Shulker-change-color-with-dye.patch | 6 +- ...turally-aggressive-to-players-chance.patch | 6 +- ...turally-aggressive-to-players-chance.patch | 6 +- ...-Halloween-options-and-optimizations.patch | 4 +- ...ion-to-disable-zombie-villagers-cure.patch | 6 +- .../0227-Mobs-always-drop-experience.patch | 262 +++++++++--------- ...aring-jeb-produces-random-color-wool.patch | 6 +- .../0233-Mob-head-visibility-percent.patch | 18 +- .../0242-Configurable-phantom-size.patch | 6 +- ...nfigurable-minimum-demand-for-trades.patch | 6 +- .../0246-Lobotomize-stuck-villagers.patch | 6 +- ...tion-for-villager-display-trade-item.patch | 6 +- ...urable-search-radius-for-villagers-t.patch | 6 +- .../0259-Skeletons-eat-wither-roses.patch | 6 +- ...260-Enchantment-Table-Persists-Lapis.patch | 4 +- ...277-Add-skeleton-bow-accuracy-option.patch | 6 +- ...squid-colors-for-rainglow-fabric-mod.patch | 6 +- ...low-creeper-to-encircle-target-when-.patch | 6 +- 77 files changed, 586 insertions(+), 586 deletions(-) diff --git a/patches/server/0007-Configurable-entity-base-attributes.patch b/patches/server/0007-Configurable-entity-base-attributes.patch index 79f80fec8..be8a3bc63 100644 --- a/patches/server/0007-Configurable-entity-base-attributes.patch +++ b/patches/server/0007-Configurable-entity-base-attributes.patch @@ -1504,10 +1504,10 @@ index d434b96b878652190fac4e2882b7b7373febbbd5..62deb4a443bf65655d2a4310c0dd9f40 protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3ad11a5c1e661d7a8752f0f7682e5eee98aa0c0a..e89b221674472a3f0f1529f1f54f54b548fe6b1f 100644 +index 3ad11a5c1e661d7a8752f0f7682e5eee98aa0c0a..049658a2c939255003a8b32a18b67bb153243b23 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -114,42 +114,94 @@ public class PurpurWorldConfig { +@@ -114,99 +114,190 @@ public class PurpurWorldConfig { public boolean axolotlRidable = false; public boolean axolotlControllable = true; @@ -1584,15 +1584,17 @@ index 3ad11a5c1e661d7a8752f0f7682e5eee98aa0c0a..e89b221674472a3f0f1529f1f54f54b5 + set("mobs.blaze.attributes.max_health", oldValue); + } + blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth); -+ } -+ + } + + public boolean camelRidableInWater = false; + public double camelMaxHealthMin = 32.0D; + public double camelMaxHealthMax = 32.0D; + public double camelJumpStrengthMin = 0.42D; + public double camelJumpStrengthMax = 0.42D; + public double camelMovementSpeedMin = 0.09D; + public double camelMovementSpeedMax = 0.09D; -+ private void camelSettings() { + private void camelSettings() { + camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater); + camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin); + camelMaxHealthMax = getDouble("mobs.camel.attributes.max_health.max", camelMaxHealthMax); + camelJumpStrengthMin = getDouble("mobs.camel.attributes.jump_strength.min", camelJumpStrengthMin); @@ -1601,8 +1603,6 @@ index 3ad11a5c1e661d7a8752f0f7682e5eee98aa0c0a..e89b221674472a3f0f1529f1f54f54b5 + camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax); } - public boolean camelRidableInWater = false; -@@ -160,53 +212,95 @@ public class PurpurWorldConfig { public boolean catRidable = false; public boolean catRidableInWater = true; public boolean catControllable = true; @@ -1698,7 +1698,7 @@ index 3ad11a5c1e661d7a8752f0f7682e5eee98aa0c0a..e89b221674472a3f0f1529f1f54f54b5 } public boolean dolphinRidable = false; -@@ -214,80 +308,161 @@ public class PurpurWorldConfig { +@@ -214,80 +305,161 @@ public class PurpurWorldConfig { public int dolphinSpitCooldown = 20; public float dolphinSpitSpeed = 1.0F; public float dolphinSpitDamage = 2.0F; @@ -1860,7 +1860,7 @@ index 3ad11a5c1e661d7a8752f0f7682e5eee98aa0c0a..e89b221674472a3f0f1529f1f54f54b5 } public boolean frogRidable = false; -@@ -305,147 +480,316 @@ public class PurpurWorldConfig { +@@ -305,147 +477,316 @@ public class PurpurWorldConfig { public boolean ghastRidableInWater = true; public boolean ghastControllable = true; public double ghastMaxY = 320D; @@ -2177,7 +2177,7 @@ index 3ad11a5c1e661d7a8752f0f7682e5eee98aa0c0a..e89b221674472a3f0f1529f1f54f54b5 } public boolean phantomRidable = false; -@@ -455,6 +799,10 @@ public class PurpurWorldConfig { +@@ -455,6 +796,10 @@ public class PurpurWorldConfig { public float phantomFlameDamage = 1.0F; public int phantomFlameFireTime = 8; public boolean phantomAllowGriefing = false; @@ -2188,7 +2188,7 @@ index 3ad11a5c1e661d7a8752f0f7682e5eee98aa0c0a..e89b221674472a3f0f1529f1f54f54b5 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -463,189 +811,361 @@ public class PurpurWorldConfig { +@@ -463,189 +808,361 @@ public class PurpurWorldConfig { phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage); phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime); phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing); @@ -2550,7 +2550,7 @@ index 3ad11a5c1e661d7a8752f0f7682e5eee98aa0c0a..e89b221674472a3f0f1529f1f54f54b5 } public boolean tadpoleRidable = false; -@@ -660,64 +1180,125 @@ public class PurpurWorldConfig { +@@ -660,64 +1177,125 @@ public class PurpurWorldConfig { public boolean traderLlamaRidable = false; public boolean traderLlamaRidableInWater = false; public boolean traderLlamaControllable = true; @@ -2676,7 +2676,7 @@ index 3ad11a5c1e661d7a8752f0f7682e5eee98aa0c0a..e89b221674472a3f0f1529f1f54f54b5 } public boolean wardenRidable = false; -@@ -732,81 +1313,165 @@ public class PurpurWorldConfig { +@@ -732,81 +1310,165 @@ public class PurpurWorldConfig { public boolean witchRidable = false; public boolean witchRidableInWater = true; public boolean witchControllable = true; diff --git a/patches/server/0023-Giants-AI-settings.patch b/patches/server/0023-Giants-AI-settings.patch index 27fa14cfd..caba87c16 100644 --- a/patches/server/0023-Giants-AI-settings.patch +++ b/patches/server/0023-Giants-AI-settings.patch @@ -113,10 +113,10 @@ index db95323da1aef267aa4fbe56aaff63cb8684e15b..12e27b36b3f9949eb644175dd346c487 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 52092177a09fa10f326e45e1f09922ad2b4752f0..288db2556fd47c505dc5ebfd281ea61df1f4b357 100644 +index a48daeb4f143083161af2545ab690324004ef2d5..5a9742865ca7e716d2af6e889e5657a699315344 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -563,6 +563,10 @@ public class PurpurWorldConfig { +@@ -560,6 +560,10 @@ public class PurpurWorldConfig { public double giantMovementSpeed = 0.5D; public double giantAttackDamage = 50.0D; public double giantMaxHealth = 100.0D; @@ -127,7 +127,7 @@ index 52092177a09fa10f326e45e1f09922ad2b4752f0..288db2556fd47c505dc5ebfd281ea61d private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -579,6 +583,10 @@ public class PurpurWorldConfig { +@@ -576,6 +580,10 @@ public class PurpurWorldConfig { set("mobs.giant.attributes.max_health", oldValue); } giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth); diff --git a/patches/server/0024-Zombie-horse-naturally-spawn.patch b/patches/server/0024-Zombie-horse-naturally-spawn.patch index e7c6b1163..b431bdd2c 100644 --- a/patches/server/0024-Zombie-horse-naturally-spawn.patch +++ b/patches/server/0024-Zombie-horse-naturally-spawn.patch @@ -30,10 +30,10 @@ index a6acc178949f45c18009b5da2b8998cbcab2289b..2cd6b08ef5d8a67175c86d33e938c088 entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ()); this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 288db2556fd47c505dc5ebfd281ea61df1f4b357..c2d6a944ed84dfa4b2fb848f4132378c3f2135ea 100644 +index 5a9742865ca7e716d2af6e889e5657a699315344..82778ad99df11c9bdfa80409bc77e36710e03439 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1493,6 +1493,7 @@ public class PurpurWorldConfig { +@@ -1490,6 +1490,7 @@ public class PurpurWorldConfig { public double zombieHorseJumpStrengthMax = 1.0D; public double zombieHorseMovementSpeedMin = 0.2D; public double zombieHorseMovementSpeedMax = 0.2D; @@ -41,7 +41,7 @@ index 288db2556fd47c505dc5ebfd281ea61df1f4b357..c2d6a944ed84dfa4b2fb848f4132378c private void zombieHorseSettings() { zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); -@@ -1508,6 +1509,7 @@ public class PurpurWorldConfig { +@@ -1505,6 +1506,7 @@ public class PurpurWorldConfig { zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax); zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin); zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax); diff --git a/patches/server/0025-Charged-creeper-naturally-spawn.patch b/patches/server/0025-Charged-creeper-naturally-spawn.patch index f0ea2079f..2499cfe24 100644 --- a/patches/server/0025-Charged-creeper-naturally-spawn.patch +++ b/patches/server/0025-Charged-creeper-naturally-spawn.patch @@ -24,10 +24,10 @@ index 539f44793f11db1971e72e2bbeae8d2d9d9b6798..4f374a2b1aab20fe2523df716a9d622c protected SoundEvent getHurtSound(DamageSource source) { return SoundEvents.CREEPER_HURT; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c2d6a944ed84dfa4b2fb848f4132378c3f2135ea..f2b019144f02f42c924bcc87980fa2d57e28c0be 100644 +index 82778ad99df11c9bdfa80409bc77e36710e03439..1dd0552b3e6284138a2f5219a040946d0d7fd6b9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -354,6 +354,7 @@ public class PurpurWorldConfig { +@@ -351,6 +351,7 @@ public class PurpurWorldConfig { public boolean creeperRidableInWater = true; public boolean creeperControllable = true; public double creeperMaxHealth = 20.0D; @@ -35,7 +35,7 @@ index c2d6a944ed84dfa4b2fb848f4132378c3f2135ea..f2b019144f02f42c924bcc87980fa2d5 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -364,6 +365,7 @@ public class PurpurWorldConfig { +@@ -361,6 +362,7 @@ public class PurpurWorldConfig { set("mobs.creeper.attributes.max_health", oldValue); } creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); diff --git a/patches/server/0026-Rabbit-naturally-spawn-toast-and-killer.patch b/patches/server/0026-Rabbit-naturally-spawn-toast-and-killer.patch index c3e074138..875ed253c 100644 --- a/patches/server/0026-Rabbit-naturally-spawn-toast-and-killer.patch +++ b/patches/server/0026-Rabbit-naturally-spawn-toast-and-killer.patch @@ -33,10 +33,10 @@ index db37932e56d88717a61eb8608b44c6911513aa35..2f373666e982a8c4e769168b565ca26e int i = world.getRandom().nextInt(100); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f2b019144f02f42c924bcc87980fa2d57e28c0be..9037bcdac20db7d2fdc0ef662d7af0143d5e1417 100644 +index 1dd0552b3e6284138a2f5219a040946d0d7fd6b9..fc83713bfd41f0d2ec8853ef80a9c940a9899e26 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -997,6 +997,8 @@ public class PurpurWorldConfig { +@@ -994,6 +994,8 @@ public class PurpurWorldConfig { public boolean rabbitRidableInWater = true; public boolean rabbitControllable = true; public double rabbitMaxHealth = 3.0D; @@ -45,7 +45,7 @@ index f2b019144f02f42c924bcc87980fa2d57e28c0be..9037bcdac20db7d2fdc0ef662d7af014 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1007,6 +1009,8 @@ public class PurpurWorldConfig { +@@ -1004,6 +1006,8 @@ public class PurpurWorldConfig { set("mobs.rabbit.attributes.max_health", oldValue); } rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth); diff --git a/patches/server/0028-Tulips-change-fox-type.patch b/patches/server/0028-Tulips-change-fox-type.patch index 2fba83d43..ac70d988f 100644 --- a/patches/server/0028-Tulips-change-fox-type.patch +++ b/patches/server/0028-Tulips-change-fox-type.patch @@ -75,10 +75,10 @@ index 451abd7a6d7fb0926dcebdc4504b1c9c298766e3..7e191d8bb56d0b6591b3a60dfe07004d // Paper start - Cancellable death event protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9037bcdac20db7d2fdc0ef662d7af0143d5e1417..72685416d14c49df1ea5288197ec1d0eaf26912b 100644 +index fc83713bfd41f0d2ec8853ef80a9c940a9899e26..f8fec968d0495ef10d25283b1c1177a094de3626 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -518,6 +518,7 @@ public class PurpurWorldConfig { +@@ -515,6 +515,7 @@ public class PurpurWorldConfig { public boolean foxRidableInWater = true; public boolean foxControllable = true; public double foxMaxHealth = 10.0D; @@ -86,7 +86,7 @@ index 9037bcdac20db7d2fdc0ef662d7af0143d5e1417..72685416d14c49df1ea5288197ec1d0e private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -528,6 +529,7 @@ public class PurpurWorldConfig { +@@ -525,6 +526,7 @@ public class PurpurWorldConfig { set("mobs.fox.attributes.max_health", oldValue); } foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); diff --git a/patches/server/0029-Breedable-Polar-Bears.patch b/patches/server/0029-Breedable-Polar-Bears.patch index 81e9a584b..94af4add9 100644 --- a/patches/server/0029-Breedable-Polar-Bears.patch +++ b/patches/server/0029-Breedable-Polar-Bears.patch @@ -59,10 +59,10 @@ index 48ec595e76c09cf719477a543364f1206664afa5..b2cf680e377f849a7cc17136ebca3cf3 this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 72685416d14c49df1ea5288197ec1d0eaf26912b..057d2c72fd201481d2af3618276777bc05002536 100644 +index f8fec968d0495ef10d25283b1c1177a094de3626..72162cf45098aa3283a6e234efe6a5872506a508 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -969,6 +969,8 @@ public class PurpurWorldConfig { +@@ -966,6 +966,8 @@ public class PurpurWorldConfig { public boolean polarBearRidableInWater = true; public boolean polarBearControllable = true; public double polarBearMaxHealth = 30.0D; @@ -71,7 +71,7 @@ index 72685416d14c49df1ea5288197ec1d0eaf26912b..057d2c72fd201481d2af3618276777bc private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -979,6 +981,9 @@ public class PurpurWorldConfig { +@@ -976,6 +978,9 @@ public class PurpurWorldConfig { set("mobs.polar_bear.attributes.max_health", oldValue); } polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth); diff --git a/patches/server/0030-Chickens-can-retaliate.patch b/patches/server/0030-Chickens-can-retaliate.patch index d40b768d9..bf94cb819 100644 --- a/patches/server/0030-Chickens-can-retaliate.patch +++ b/patches/server/0030-Chickens-can-retaliate.patch @@ -50,10 +50,10 @@ index ea404a84a43a02a5614d5142bb78a586edfc69f6..0f49705e3c7adf033cee9d0746319885 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 057d2c72fd201481d2af3618276777bc05002536..97c9f24872f5a257083e15f60243d0ca8d7d7e92 100644 +index 72162cf45098aa3283a6e234efe6a5872506a508..8d764e136fa4ea6f9d3efb555f4e299df8831a4e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -308,6 +308,7 @@ public class PurpurWorldConfig { +@@ -305,6 +305,7 @@ public class PurpurWorldConfig { public boolean chickenRidableInWater = false; public boolean chickenControllable = true; public double chickenMaxHealth = 4.0D; @@ -61,7 +61,7 @@ index 057d2c72fd201481d2af3618276777bc05002536..97c9f24872f5a257083e15f60243d0ca private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -318,6 +319,7 @@ public class PurpurWorldConfig { +@@ -315,6 +316,7 @@ public class PurpurWorldConfig { set("mobs.chicken.attributes.max_health", oldValue); } chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); diff --git a/patches/server/0032-Cat-spawning-options.patch b/patches/server/0032-Cat-spawning-options.patch index 22a52c911..204a52feb 100644 --- a/patches/server/0032-Cat-spawning-options.patch +++ b/patches/server/0032-Cat-spawning-options.patch @@ -51,10 +51,10 @@ index 5f407535298a31a34cfe114dd863fd6a9b977707..29c7e33fe961020e5a0007287fe9b663 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d9f2f048bb8d0c64b565c9ab4710fed307ca050b..d55180a8ed54a07c77987f58af88f5d543d86490 100644 +index 1ea0b241a819527e48ad3050bb0f6c57013a891b..0d43370eaa0dc4423f8a8498fe2c706c8f607dcf 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -281,6 +281,9 @@ public class PurpurWorldConfig { +@@ -278,6 +278,9 @@ public class PurpurWorldConfig { public boolean catRidableInWater = true; public boolean catControllable = true; public double catMaxHealth = 10.0D; @@ -64,7 +64,7 @@ index d9f2f048bb8d0c64b565c9ab4710fed307ca050b..d55180a8ed54a07c77987f58af88f5d5 private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -291,6 +294,9 @@ public class PurpurWorldConfig { +@@ -288,6 +291,9 @@ public class PurpurWorldConfig { set("mobs.cat.attributes.max_health", oldValue); } catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth); diff --git a/patches/server/0033-Cows-eat-mushrooms.patch b/patches/server/0033-Cows-eat-mushrooms.patch index 07fe20acb..731b0e937 100644 --- a/patches/server/0033-Cows-eat-mushrooms.patch +++ b/patches/server/0033-Cows-eat-mushrooms.patch @@ -114,10 +114,10 @@ index d26a44d634fe02e595654e573d02243b5eb66086..b94ec05ffa0a6f9e7368731d360319ff + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d55180a8ed54a07c77987f58af88f5d543d86490..aaf1a159c1e362134d1db3af208f3dcc0204b933 100644 +index 0d43370eaa0dc4423f8a8498fe2c706c8f607dcf..2b1959d32502ced7f56045af2835510ee0c20676 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -351,6 +351,7 @@ public class PurpurWorldConfig { +@@ -348,6 +348,7 @@ public class PurpurWorldConfig { public boolean cowRidableInWater = true; public boolean cowControllable = true; public double cowMaxHealth = 10.0D; @@ -125,7 +125,7 @@ index d55180a8ed54a07c77987f58af88f5d543d86490..aaf1a159c1e362134d1db3af208f3dcc private void cowSettings() { cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); -@@ -361,6 +362,7 @@ public class PurpurWorldConfig { +@@ -358,6 +359,7 @@ public class PurpurWorldConfig { set("mobs.cow.attributes.max_health", oldValue); } cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); diff --git a/patches/server/0035-Pigs-give-saddle-back.patch b/patches/server/0035-Pigs-give-saddle-back.patch index 749cd14c0..1dff111e8 100644 --- a/patches/server/0035-Pigs-give-saddle-back.patch +++ b/patches/server/0035-Pigs-give-saddle-back.patch @@ -27,10 +27,10 @@ index a22e5b6c13b48b46d16a859531d4231376bc1bfc..ff98a81f7104bbaf67ed85b8ad0946ed if (!this.level().isClientSide) { player.startRiding(this); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index aaf1a159c1e362134d1db3af208f3dcc0204b933..08754473b4777774825450f6cfe6f936d3732ad9 100644 +index 2b1959d32502ced7f56045af2835510ee0c20676..d5377683a933c826995a3f382d8847fc929ce818 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -920,6 +920,7 @@ public class PurpurWorldConfig { +@@ -917,6 +917,7 @@ public class PurpurWorldConfig { public boolean pigRidableInWater = false; public boolean pigControllable = true; public double pigMaxHealth = 10.0D; @@ -38,7 +38,7 @@ index aaf1a159c1e362134d1db3af208f3dcc0204b933..08754473b4777774825450f6cfe6f936 private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -930,6 +931,7 @@ public class PurpurWorldConfig { +@@ -927,6 +928,7 @@ public class PurpurWorldConfig { set("mobs.pig.attributes.max_health", oldValue); } pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); diff --git a/patches/server/0036-Snowman-drop-and-put-back-pumpkin.patch b/patches/server/0036-Snowman-drop-and-put-back-pumpkin.patch index 2227f591b..f3c573feb 100644 --- a/patches/server/0036-Snowman-drop-and-put-back-pumpkin.patch +++ b/patches/server/0036-Snowman-drop-and-put-back-pumpkin.patch @@ -32,10 +32,10 @@ index a8b411cc3dd1f61b4f949862a077e87e26e424de..2a5ffaf5614e19305f4e08e157523649 this.forceDrops = false; // CraftBukkit } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 08754473b4777774825450f6cfe6f936d3732ad9..e9ee68048a1b4ed0a75d56579a7c08616b82d60f 100644 +index d5377683a933c826995a3f382d8847fc929ce818..66a80e4592083680dd5d69a33ddf2e553e96abe3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1183,6 +1183,8 @@ public class PurpurWorldConfig { +@@ -1180,6 +1180,8 @@ public class PurpurWorldConfig { public boolean snowGolemControllable = true; public boolean snowGolemLeaveTrailWhenRidden = false; public double snowGolemMaxHealth = 4.0D; @@ -44,7 +44,7 @@ index 08754473b4777774825450f6cfe6f936d3732ad9..e9ee68048a1b4ed0a75d56579a7c0861 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1194,6 +1196,8 @@ public class PurpurWorldConfig { +@@ -1191,6 +1193,8 @@ public class PurpurWorldConfig { set("mobs.snow_golem.attributes.max_health", oldValue); } snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth); diff --git a/patches/server/0037-Ender-dragon-always-drop-full-exp.patch b/patches/server/0037-Ender-dragon-always-drop-full-exp.patch index 664ef2404..c759b5d08 100644 --- a/patches/server/0037-Ender-dragon-always-drop-full-exp.patch +++ b/patches/server/0037-Ender-dragon-always-drop-full-exp.patch @@ -18,10 +18,10 @@ index f160933af318becaf99befc0ecc0204bc48ed4a9..81cf89bc57af0f43d05ba93256255155 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e9ee68048a1b4ed0a75d56579a7c08616b82d60f..eac1743c0d42689e4337542439dab9949f6e627e 100644 +index 66a80e4592083680dd5d69a33ddf2e553e96abe3..7f8908ad43cb255ee17c06c2b0e95bfbbee6d3db 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -464,6 +464,7 @@ public class PurpurWorldConfig { +@@ -461,6 +461,7 @@ public class PurpurWorldConfig { public boolean enderDragonControllable = true; public double enderDragonMaxY = 320D; public double enderDragonMaxHealth = 200.0D; @@ -29,7 +29,7 @@ index e9ee68048a1b4ed0a75d56579a7c08616b82d60f..eac1743c0d42689e4337542439dab994 private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -479,6 +480,7 @@ public class PurpurWorldConfig { +@@ -476,6 +477,7 @@ public class PurpurWorldConfig { set("mobs.ender_dragon.attributes.max_health", oldValue); } enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); diff --git a/patches/server/0047-Add-enderman-and-creeper-griefing-controls.patch b/patches/server/0047-Add-enderman-and-creeper-griefing-controls.patch index a1d48f84a..457be0451 100644 --- a/patches/server/0047-Add-enderman-and-creeper-griefing-controls.patch +++ b/patches/server/0047-Add-enderman-and-creeper-griefing-controls.patch @@ -38,10 +38,10 @@ index a97d4e3c4dd03fa8cc299e825479463bb3e148c2..54b59b7faf69d54c05bdfee9b1bd2f13 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6162dd0fba79171cd0acf8eb378d991f0b73f068..12297df7be1a4b5388715b1c50394bd49e6ce227 100644 +index 2f1437fe38c0eded97d5e4a14a6b266f85261ecd..987fb34ccdaab7c81fb381f9c77661010994638d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -446,6 +446,7 @@ public class PurpurWorldConfig { +@@ -443,6 +443,7 @@ public class PurpurWorldConfig { public boolean creeperControllable = true; public double creeperMaxHealth = 20.0D; public double creeperChargedChance = 0.0D; @@ -49,7 +49,7 @@ index 6162dd0fba79171cd0acf8eb378d991f0b73f068..12297df7be1a4b5388715b1c50394bd4 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -457,6 +458,7 @@ public class PurpurWorldConfig { +@@ -454,6 +455,7 @@ public class PurpurWorldConfig { } creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); @@ -57,7 +57,7 @@ index 6162dd0fba79171cd0acf8eb378d991f0b73f068..12297df7be1a4b5388715b1c50394bd4 } public boolean dolphinRidable = false; -@@ -563,6 +565,7 @@ public class PurpurWorldConfig { +@@ -560,6 +562,7 @@ public class PurpurWorldConfig { public boolean endermanRidableInWater = true; public boolean endermanControllable = true; public double endermanMaxHealth = 40.0D; @@ -65,7 +65,7 @@ index 6162dd0fba79171cd0acf8eb378d991f0b73f068..12297df7be1a4b5388715b1c50394bd4 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -573,6 +576,7 @@ public class PurpurWorldConfig { +@@ -570,6 +573,7 @@ public class PurpurWorldConfig { set("mobs.enderman.attributes.max_health", oldValue); } endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); diff --git a/patches/server/0048-Villagers-follow-emerald-blocks.patch b/patches/server/0048-Villagers-follow-emerald-blocks.patch index 55470622a..dd526cca8 100644 --- a/patches/server/0048-Villagers-follow-emerald-blocks.patch +++ b/patches/server/0048-Villagers-follow-emerald-blocks.patch @@ -54,10 +54,10 @@ index 62deb4a443bf65655d2a4310c0dd9f40a02cb401..1c7359431533716b2681176b3b59b502 this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D)); this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 12297df7be1a4b5388715b1c50394bd49e6ce227..3614a0affd54572cbfaa472cb70b702cf51a3dfa 100644 +index 987fb34ccdaab7c81fb381f9c77661010994638d..b1c656dd4653d47a6521eb91df50ffc2708f052d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1444,6 +1444,7 @@ public class PurpurWorldConfig { +@@ -1441,6 +1441,7 @@ public class PurpurWorldConfig { public boolean villagerRidableInWater = true; public boolean villagerControllable = true; public double villagerMaxHealth = 20.0D; @@ -65,7 +65,7 @@ index 12297df7be1a4b5388715b1c50394bd49e6ce227..3614a0affd54572cbfaa472cb70b702c private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1454,6 +1455,7 @@ public class PurpurWorldConfig { +@@ -1451,6 +1452,7 @@ public class PurpurWorldConfig { set("mobs.villager.attributes.max_health", oldValue); } villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); @@ -73,7 +73,7 @@ index 12297df7be1a4b5388715b1c50394bd49e6ce227..3614a0affd54572cbfaa472cb70b702c } public boolean vindicatorRidable = false; -@@ -1476,6 +1478,7 @@ public class PurpurWorldConfig { +@@ -1473,6 +1475,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderRidableInWater = true; public boolean wanderingTraderControllable = true; public double wanderingTraderMaxHealth = 20.0D; @@ -81,7 +81,7 @@ index 12297df7be1a4b5388715b1c50394bd49e6ce227..3614a0affd54572cbfaa472cb70b702c private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1486,6 +1489,7 @@ public class PurpurWorldConfig { +@@ -1483,6 +1486,7 @@ public class PurpurWorldConfig { set("mobs.wandering_trader.attributes.max_health", oldValue); } wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); diff --git a/patches/server/0049-Allow-leashing-villagers.patch b/patches/server/0049-Allow-leashing-villagers.patch index edf6e0d65..87672070b 100644 --- a/patches/server/0049-Allow-leashing-villagers.patch +++ b/patches/server/0049-Allow-leashing-villagers.patch @@ -49,10 +49,10 @@ index 1c7359431533716b2681176b3b59b5028aa043c2..41ddf073ecb8ea97cca8021390500d65 protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3614a0affd54572cbfaa472cb70b702cf51a3dfa..e3021cbcc712398d062c9ddbd021974f32228169 100644 +index b1c656dd4653d47a6521eb91df50ffc2708f052d..00b0bc709fac0b4d846b470b1b0923d34d0e95bf 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1445,6 +1445,7 @@ public class PurpurWorldConfig { +@@ -1442,6 +1442,7 @@ public class PurpurWorldConfig { public boolean villagerControllable = true; public double villagerMaxHealth = 20.0D; public boolean villagerFollowEmeraldBlock = false; @@ -60,7 +60,7 @@ index 3614a0affd54572cbfaa472cb70b702cf51a3dfa..e3021cbcc712398d062c9ddbd021974f private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1456,6 +1457,7 @@ public class PurpurWorldConfig { +@@ -1453,6 +1454,7 @@ public class PurpurWorldConfig { } villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); @@ -68,7 +68,7 @@ index 3614a0affd54572cbfaa472cb70b702cf51a3dfa..e3021cbcc712398d062c9ddbd021974f } public boolean vindicatorRidable = false; -@@ -1479,6 +1481,7 @@ public class PurpurWorldConfig { +@@ -1476,6 +1478,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderControllable = true; public double wanderingTraderMaxHealth = 20.0D; public boolean wanderingTraderFollowEmeraldBlock = false; @@ -76,7 +76,7 @@ index 3614a0affd54572cbfaa472cb70b702cf51a3dfa..e3021cbcc712398d062c9ddbd021974f private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1490,6 +1493,7 @@ public class PurpurWorldConfig { +@@ -1487,6 +1490,7 @@ public class PurpurWorldConfig { } wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); diff --git a/patches/server/0064-Configurable-jockey-options.patch b/patches/server/0064-Configurable-jockey-options.patch index 8b15e9412..eff590d3d 100644 --- a/patches/server/0064-Configurable-jockey-options.patch +++ b/patches/server/0064-Configurable-jockey-options.patch @@ -167,10 +167,10 @@ index 8f22bfcde4bb8ad73794f2b98b156113e5a2a6c9..3d61b27c23d90e87fdfc8c170eafc116 public void setPersistentAngerTarget(@Nullable UUID angryAt) { this.persistentAngerTarget = angryAt; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 573b5872053d273bd0f536a374ab158d0ed338ac..810c8862c423e9ff4440dfe26da740c13a33dbe3 100644 +index 31af922dd6cf4af8d555b74189ac83fe248479ac..44d74c98d1806806eadab679acf66f0d4d86ed44 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -597,6 +597,9 @@ public class PurpurWorldConfig { +@@ -594,6 +594,9 @@ public class PurpurWorldConfig { public boolean drownedControllable = true; public double drownedMaxHealth = 20.0D; public double drownedSpawnReinforcements = 0.1D; @@ -180,7 +180,7 @@ index 573b5872053d273bd0f536a374ab158d0ed338ac..810c8862c423e9ff4440dfe26da740c1 private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -608,6 +611,9 @@ public class PurpurWorldConfig { +@@ -605,6 +608,9 @@ public class PurpurWorldConfig { } drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth); drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements); @@ -190,7 +190,7 @@ index 573b5872053d273bd0f536a374ab158d0ed338ac..810c8862c423e9ff4440dfe26da740c1 } public boolean elderGuardianRidable = false; -@@ -856,6 +862,9 @@ public class PurpurWorldConfig { +@@ -853,6 +859,9 @@ public class PurpurWorldConfig { public boolean huskControllable = true; public double huskMaxHealth = 20.0D; public double huskSpawnReinforcements = 0.1D; @@ -200,7 +200,7 @@ index 573b5872053d273bd0f536a374ab158d0ed338ac..810c8862c423e9ff4440dfe26da740c1 private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -867,6 +876,9 @@ public class PurpurWorldConfig { +@@ -864,6 +873,9 @@ public class PurpurWorldConfig { } huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth); huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements); @@ -210,7 +210,7 @@ index 573b5872053d273bd0f536a374ab158d0ed338ac..810c8862c423e9ff4440dfe26da740c1 } public boolean illusionerRidable = false; -@@ -1683,6 +1695,9 @@ public class PurpurWorldConfig { +@@ -1680,6 +1692,9 @@ public class PurpurWorldConfig { public boolean zombieControllable = true; public double zombieMaxHealth = 20.0D; public double zombieSpawnReinforcements = 0.1D; @@ -220,7 +220,7 @@ index 573b5872053d273bd0f536a374ab158d0ed338ac..810c8862c423e9ff4440dfe26da740c1 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1694,6 +1709,9 @@ public class PurpurWorldConfig { +@@ -1691,6 +1706,9 @@ public class PurpurWorldConfig { } zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth); zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements); @@ -230,7 +230,7 @@ index 573b5872053d273bd0f536a374ab158d0ed338ac..810c8862c423e9ff4440dfe26da740c1 } public boolean zombieHorseRidableInWater = false; -@@ -1728,6 +1746,9 @@ public class PurpurWorldConfig { +@@ -1725,6 +1743,9 @@ public class PurpurWorldConfig { public boolean zombieVillagerControllable = true; public double zombieVillagerMaxHealth = 20.0D; public double zombieVillagerSpawnReinforcements = 0.1D; @@ -240,7 +240,7 @@ index 573b5872053d273bd0f536a374ab158d0ed338ac..810c8862c423e9ff4440dfe26da740c1 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -1739,6 +1760,9 @@ public class PurpurWorldConfig { +@@ -1736,6 +1757,9 @@ public class PurpurWorldConfig { } zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth); zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements); @@ -250,7 +250,7 @@ index 573b5872053d273bd0f536a374ab158d0ed338ac..810c8862c423e9ff4440dfe26da740c1 } public boolean zombifiedPiglinRidable = false; -@@ -1746,6 +1770,9 @@ public class PurpurWorldConfig { +@@ -1743,6 +1767,9 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinControllable = true; public double zombifiedPiglinMaxHealth = 20.0D; public double zombifiedPiglinSpawnReinforcements = 0.0D; @@ -260,7 +260,7 @@ index 573b5872053d273bd0f536a374ab158d0ed338ac..810c8862c423e9ff4440dfe26da740c1 private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -1757,5 +1784,8 @@ public class PurpurWorldConfig { +@@ -1754,5 +1781,8 @@ public class PurpurWorldConfig { } zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth); zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements); diff --git a/patches/server/0065-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch b/patches/server/0065-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch index 09f61acf3..ac5441bd1 100644 --- a/patches/server/0065-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch +++ b/patches/server/0065-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch @@ -257,10 +257,10 @@ index 961300cb8bcc7b0aff476a435aa33e713bd520a6..86df67578334a4743909c748213c2e1e private float speed = 0.1F; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 810c8862c423e9ff4440dfe26da740c13a33dbe3..3115d26f1ef9e52e02b71cc31dd8181e54d90875 100644 +index 44d74c98d1806806eadab679acf66f0d4d86ed44..e2e228b386f91adedbb144754a048e5908bd2edb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1074,6 +1074,9 @@ public class PurpurWorldConfig { +@@ -1071,6 +1071,9 @@ public class PurpurWorldConfig { public String phantomAttackDamage = "6 + size"; public Map phantomMaxHealthCache = new HashMap<>(); public Map phantomAttackDamageCache = new HashMap<>(); @@ -270,7 +270,7 @@ index 810c8862c423e9ff4440dfe26da740c13a33dbe3..3115d26f1ef9e52e02b71cc31dd8181e private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1095,6 +1098,9 @@ public class PurpurWorldConfig { +@@ -1092,6 +1095,9 @@ public class PurpurWorldConfig { phantomAttackDamage = getString("mobs.phantom.attributes.attack_damage", phantomAttackDamage); phantomMaxHealthCache.clear(); phantomAttackDamageCache.clear(); diff --git a/patches/server/0066-Add-phantom-spawning-options.patch b/patches/server/0066-Add-phantom-spawning-options.patch index 752a7bebf..7c5321577 100644 --- a/patches/server/0066-Add-phantom-spawning-options.patch +++ b/patches/server/0066-Add-phantom-spawning-options.patch @@ -40,10 +40,10 @@ index bc7648dbc132551dc6591ab49a1919a623c30f60..5b880677c895d0e747a1ed6a380ae356 for (int l = 0; l < k; ++l) { // Paper start diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3115d26f1ef9e52e02b71cc31dd8181e54d90875..60f817c6aaa6f35e27f6deca35fb852b90a643e1 100644 +index e2e228b386f91adedbb144754a048e5908bd2edb..b1434e34e94b9cad2cc8f37ab4663cd6e3f30408 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1077,6 +1077,12 @@ public class PurpurWorldConfig { +@@ -1074,6 +1074,12 @@ public class PurpurWorldConfig { public double phantomAttackedByCrystalRadius = 0.0D; public float phantomAttackedByCrystalDamage = 1.0F; public double phantomOrbitCrystalRadius = 0.0D; @@ -56,7 +56,7 @@ index 3115d26f1ef9e52e02b71cc31dd8181e54d90875..60f817c6aaa6f35e27f6deca35fb852b private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1101,6 +1107,12 @@ public class PurpurWorldConfig { +@@ -1098,6 +1104,12 @@ public class PurpurWorldConfig { phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius); phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage); phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius); diff --git a/patches/server/0073-Squid-EAR-immunity.patch b/patches/server/0073-Squid-EAR-immunity.patch index 2b7f1fb6c..8e0cafcda 100644 --- a/patches/server/0073-Squid-EAR-immunity.patch +++ b/patches/server/0073-Squid-EAR-immunity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Squid EAR immunity diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8a336795be721fda5d2ac686042a11a8c7e41051..1245d8d79f81f20805eea0d255b57c56813d43cf 100644 +index b585b7dfed1036c2bb250df4a6e265bdad9d5ec1..72433b3f850ba3a5958ea77061d61bb71cb96a37 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1462,6 +1462,7 @@ public class PurpurWorldConfig { +@@ -1459,6 +1459,7 @@ public class PurpurWorldConfig { public boolean squidRidable = false; public boolean squidControllable = true; public double squidMaxHealth = 10.0D; @@ -16,7 +16,7 @@ index 8a336795be721fda5d2ac686042a11a8c7e41051..1245d8d79f81f20805eea0d255b57c56 private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -1471,6 +1472,7 @@ public class PurpurWorldConfig { +@@ -1468,6 +1469,7 @@ public class PurpurWorldConfig { set("mobs.squid.attributes.max_health", oldValue); } squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); diff --git a/patches/server/0074-Phantoms-burn-in-light.patch b/patches/server/0074-Phantoms-burn-in-light.patch index 186ae49db..363c70b9f 100644 --- a/patches/server/0074-Phantoms-burn-in-light.patch +++ b/patches/server/0074-Phantoms-burn-in-light.patch @@ -52,10 +52,10 @@ index 86df67578334a4743909c748213c2e1ed5d19bd9..899a7d3989b51456600787ae09b1736f list.sort(Comparator.comparing((Entity e) -> { return e.getY(); }).reversed()); // CraftBukkit - decompile error Iterator iterator = list.iterator(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1245d8d79f81f20805eea0d255b57c56813d43cf..e1f5b78e0a92b27cac21454e0f59adc66b5ca37b 100644 +index 72433b3f850ba3a5958ea77061d61bb71cb96a37..4283193f234f482a0548fd02853f3c5c55eda9ee 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1132,6 +1132,9 @@ public class PurpurWorldConfig { +@@ -1129,6 +1129,9 @@ public class PurpurWorldConfig { public double phantomSpawnLocalDifficultyChance = 3.0D; public int phantomSpawnMinPerAttempt = 1; public int phantomSpawnMaxPerAttempt = -1; @@ -65,7 +65,7 @@ index 1245d8d79f81f20805eea0d255b57c56813d43cf..e1f5b78e0a92b27cac21454e0f59adc6 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1162,6 +1165,9 @@ public class PurpurWorldConfig { +@@ -1159,6 +1162,9 @@ public class PurpurWorldConfig { phantomSpawnLocalDifficultyChance = getDouble("mobs.phantom.spawn.local-difficulty-chance", phantomSpawnLocalDifficultyChance); phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt); phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt); diff --git a/patches/server/0075-Configurable-villager-breeding.patch b/patches/server/0075-Configurable-villager-breeding.patch index fd4c7457e..f59d714e6 100644 --- a/patches/server/0075-Configurable-villager-breeding.patch +++ b/patches/server/0075-Configurable-villager-breeding.patch @@ -18,10 +18,10 @@ index 813b9708d218589afaaa2d0578affcc78f0c075f..52a84f354cc51b3ca875756514588b2e private boolean hungry() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e1f5b78e0a92b27cac21454e0f59adc66b5ca37b..91299ae4bba67e9253d8d380b703ea04ef8dc44b 100644 +index 4283193f234f482a0548fd02853f3c5c55eda9ee..bca57328c6385017862d8b2efbd5bafa58bdf648 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1620,6 +1620,7 @@ public class PurpurWorldConfig { +@@ -1617,6 +1617,7 @@ public class PurpurWorldConfig { public double villagerMaxHealth = 20.0D; public boolean villagerFollowEmeraldBlock = false; public boolean villagerCanBeLeashed = false; @@ -29,7 +29,7 @@ index e1f5b78e0a92b27cac21454e0f59adc66b5ca37b..91299ae4bba67e9253d8d380b703ea04 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1632,6 +1633,7 @@ public class PurpurWorldConfig { +@@ -1629,6 +1630,7 @@ public class PurpurWorldConfig { villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); diff --git a/patches/server/0078-Add-vindicator-johnny-spawn-chance.patch b/patches/server/0078-Add-vindicator-johnny-spawn-chance.patch index 25ff993bf..5887b348d 100644 --- a/patches/server/0078-Add-vindicator-johnny-spawn-chance.patch +++ b/patches/server/0078-Add-vindicator-johnny-spawn-chance.patch @@ -22,10 +22,10 @@ index 40858ac2a9b58108472748d0ef2c2fd5ef5cfd98..2a5b6b94b15bf066b5722e7a4f782bc8 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3066dd87ecd6a75ce9799a5f8da9a7d40793b347..bbeeefc1d3e46b81a72c7708d8f0333d3713d22b 100644 +index fcb73074a54db31cf8b5c17e8806b80666ae22c6..3d76106d20f1b03690957111d69c7dc5fa48c533 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1647,6 +1647,7 @@ public class PurpurWorldConfig { +@@ -1644,6 +1644,7 @@ public class PurpurWorldConfig { public boolean vindicatorRidableInWater = true; public boolean vindicatorControllable = true; public double vindicatorMaxHealth = 24.0D; @@ -33,7 +33,7 @@ index 3066dd87ecd6a75ce9799a5f8da9a7d40793b347..bbeeefc1d3e46b81a72c7708d8f0333d private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -1657,6 +1658,7 @@ public class PurpurWorldConfig { +@@ -1654,6 +1655,7 @@ public class PurpurWorldConfig { set("mobs.vindicator.attributes.max_health", oldValue); } vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); diff --git a/patches/server/0082-Add-option-to-disable-dolphin-treasure-searching.patch b/patches/server/0082-Add-option-to-disable-dolphin-treasure-searching.patch index 2ab2999fc..fa019d699 100644 --- a/patches/server/0082-Add-option-to-disable-dolphin-treasure-searching.patch +++ b/patches/server/0082-Add-option-to-disable-dolphin-treasure-searching.patch @@ -17,10 +17,10 @@ index 08e9fd3581578195e5df079b086811c5964fd17a..7b2674233d0b8582243448c49d1c4727 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6a25428229cbfc64cdb50395816ad6c1e7a33edb..0055c06af2ab486287d92ca3d9beff684768fcab 100644 +index 035a18d131fab9892a85b41663fc3dbe2f8bafe2..f1ab0af8f00a931aedec7647223903a14432f84e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -619,6 +619,7 @@ public class PurpurWorldConfig { +@@ -616,6 +616,7 @@ public class PurpurWorldConfig { public float dolphinSpitSpeed = 1.0F; public float dolphinSpitDamage = 2.0F; public double dolphinMaxHealth = 10.0D; @@ -28,7 +28,7 @@ index 6a25428229cbfc64cdb50395816ad6c1e7a33edb..0055c06af2ab486287d92ca3d9beff68 private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -631,6 +632,7 @@ public class PurpurWorldConfig { +@@ -628,6 +629,7 @@ public class PurpurWorldConfig { set("mobs.dolphin.attributes.max_health", oldValue); } dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth); diff --git a/patches/server/0084-Stop-squids-floating-on-top-of-water.patch b/patches/server/0084-Stop-squids-floating-on-top-of-water.patch index 24948071d..c50362cea 100644 --- a/patches/server/0084-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0084-Stop-squids-floating-on-top-of-water.patch @@ -54,10 +54,10 @@ index ffc76354ead6937daf366c3d87bcb51d3e4c47f5..5b98d42b5d6bc07265fbb017e51a6281 + // Purpur } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0055c06af2ab486287d92ca3d9beff684768fcab..816d99c3ff70317204395234469c25c0cf6ae37a 100644 +index f1ab0af8f00a931aedec7647223903a14432f84e..1797098e86a4c0abf1431e1d266be6a977c64b95 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1487,6 +1487,7 @@ public class PurpurWorldConfig { +@@ -1484,6 +1484,7 @@ public class PurpurWorldConfig { public boolean squidControllable = true; public double squidMaxHealth = 10.0D; public boolean squidImmuneToEAR = true; @@ -65,7 +65,7 @@ index 0055c06af2ab486287d92ca3d9beff684768fcab..816d99c3ff70317204395234469c25c0 private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -1497,6 +1498,7 @@ public class PurpurWorldConfig { +@@ -1494,6 +1495,7 @@ public class PurpurWorldConfig { } squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); diff --git a/patches/server/0088-Customizable-wither-health-and-healing.patch b/patches/server/0088-Customizable-wither-health-and-healing.patch index c96cf3560..cde5c43e7 100644 --- a/patches/server/0088-Customizable-wither-health-and-healing.patch +++ b/patches/server/0088-Customizable-wither-health-and-healing.patch @@ -23,10 +23,10 @@ index a20017a6086421061ee13df9cf37e08eeb515a5b..c2f4ae412684cc2f8d3cc2206003be5c this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth()); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 01809e43b010973ce09974f243e737330ab77e06..fe55555284c977e87922302fc7fe27b25b3680dd 100644 +index d7c26045abf907cdc3c3906e78666c6d5e4bf5f9..ea9eee84f879ccc7e21c15fef8dd75e8cad67d9c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1726,6 +1726,8 @@ public class PurpurWorldConfig { +@@ -1723,6 +1723,8 @@ public class PurpurWorldConfig { public boolean witherControllable = true; public double witherMaxY = 320D; public double witherMaxHealth = 300.0D; @@ -35,7 +35,7 @@ index 01809e43b010973ce09974f243e737330ab77e06..fe55555284c977e87922302fc7fe27b2 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1741,6 +1743,8 @@ public class PurpurWorldConfig { +@@ -1738,6 +1740,8 @@ public class PurpurWorldConfig { set("mobs.wither.attributes.max_health", oldValue); } witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); diff --git a/patches/server/0092-Add-option-to-disable-zombie-aggressiveness-towards-.patch b/patches/server/0092-Add-option-to-disable-zombie-aggressiveness-towards-.patch index a8a52e63a..defba13ce 100644 --- a/patches/server/0092-Add-option-to-disable-zombie-aggressiveness-towards-.patch +++ b/patches/server/0092-Add-option-to-disable-zombie-aggressiveness-towards-.patch @@ -70,10 +70,10 @@ index b2b04d7b7bbc400fb66cac385fa754d4fb47c7d9..bd75aa78a7dd437d6fce79a6cb182981 this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8e9c3e1efb6d108f6ab98d64e3991389a49096a4..a3e1d30b90cd037854fd53144ad799f42e6364a2 100644 +index 3d9bb6ffdc9f1ad65017327e338670879d1adbf6..7d637e9139a3c2415c78bd238b0d105beb38daff 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1859,6 +1859,7 @@ public class PurpurWorldConfig { +@@ -1856,6 +1856,7 @@ public class PurpurWorldConfig { public boolean zombieJockeyOnlyBaby = true; public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; @@ -81,7 +81,7 @@ index 8e9c3e1efb6d108f6ab98d64e3991389a49096a4..a3e1d30b90cd037854fd53144ad799f4 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1873,6 +1874,7 @@ public class PurpurWorldConfig { +@@ -1870,6 +1871,7 @@ public class PurpurWorldConfig { zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby); zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); diff --git a/patches/server/0094-Flying-squids-Oh-my.patch b/patches/server/0094-Flying-squids-Oh-my.patch index 43c0cb065..e990d0a21 100644 --- a/patches/server/0094-Flying-squids-Oh-my.patch +++ b/patches/server/0094-Flying-squids-Oh-my.patch @@ -58,10 +58,10 @@ index de0a015cc944c36358fc34a3142ecbf9d2a332b5..1431d7f295614641c1a5a5197f4bac3f float f1 = Mth.cos(f) * 0.2F; float f2 = -0.1F + this.squid.getRandom().nextFloat() * 0.2F; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a3e1d30b90cd037854fd53144ad799f42e6364a2..7e9375610bcd2e58eb8acf59bc9311928acb5f6d 100644 +index 7d637e9139a3c2415c78bd238b0d105beb38daff..335189e415ed96c45d0d1b4e97098728da8512f3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -911,10 +911,12 @@ public class PurpurWorldConfig { +@@ -908,10 +908,12 @@ public class PurpurWorldConfig { public boolean glowSquidRidable = false; public boolean glowSquidControllable = true; public double glowSquidMaxHealth = 10.0D; @@ -74,7 +74,7 @@ index a3e1d30b90cd037854fd53144ad799f42e6364a2..7e9375610bcd2e58eb8acf59bc931192 } public boolean goatRidable = false; -@@ -1546,6 +1548,7 @@ public class PurpurWorldConfig { +@@ -1543,6 +1545,7 @@ public class PurpurWorldConfig { public double squidMaxHealth = 10.0D; public boolean squidImmuneToEAR = true; public double squidOffsetWaterCheck = 0.0D; @@ -82,7 +82,7 @@ index a3e1d30b90cd037854fd53144ad799f42e6364a2..7e9375610bcd2e58eb8acf59bc931192 private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -1557,6 +1560,7 @@ public class PurpurWorldConfig { +@@ -1554,6 +1557,7 @@ public class PurpurWorldConfig { squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); diff --git a/patches/server/0102-Make-entity-breeding-times-configurable.patch b/patches/server/0102-Make-entity-breeding-times-configurable.patch index df6794a6a..b8bdaacc4 100644 --- a/patches/server/0102-Make-entity-breeding-times-configurable.patch +++ b/patches/server/0102-Make-entity-breeding-times-configurable.patch @@ -522,7 +522,7 @@ index 853fe631a7d665e2379296c89e433e761495a814..ae4d404b837da202e52d246dabfc00c8 public boolean canBeLeashed(Player player) { return !this.isLeashed(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c10955f033891 100644 +index 7a9ac5c8b6c2576e9a1728dc77f9a1e71013db22..852b8f4eee52840eac1feb8d98843e7d74a3a5f9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -507,10 +507,12 @@ public class PurpurWorldConfig { @@ -554,23 +554,23 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean blazeRidable = false; -@@ -581,6 +585,7 @@ public class PurpurWorldConfig { - blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth); - } - +@@ -588,6 +592,7 @@ public class PurpurWorldConfig { + public double camelJumpStrengthMax = 0.42D; + public double camelMovementSpeedMin = 0.09D; + public double camelMovementSpeedMax = 0.09D; + public int camelBreedingTicks = 6000; - public double camelMaxHealthMin = 32.0D; - public double camelMaxHealthMax = 32.0D; - public double camelJumpStrengthMin = 0.42D; -@@ -594,6 +599,7 @@ public class PurpurWorldConfig { + private void camelSettings() { + camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater); + camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin); +@@ -596,6 +601,7 @@ public class PurpurWorldConfig { camelJumpStrengthMax = getDouble("mobs.camel.attributes.jump_strength.max", camelJumpStrengthMax); camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin); camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax); + camelBreedingTicks = getInt("mobs.camel.breeding-delay-ticks", camelBreedingTicks); } - public boolean camelRidableInWater = false; -@@ -608,6 +614,7 @@ public class PurpurWorldConfig { + public boolean catRidable = false; +@@ -605,6 +611,7 @@ public class PurpurWorldConfig { public int catSpawnDelay = 1200; public int catSpawnSwampHutScanRange = 16; public int catSpawnVillageScanRange = 48; @@ -578,7 +578,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -621,6 +628,7 @@ public class PurpurWorldConfig { +@@ -618,6 +625,7 @@ public class PurpurWorldConfig { catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay); catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange); catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange); @@ -586,7 +586,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean caveSpiderRidable = false; -@@ -644,6 +652,7 @@ public class PurpurWorldConfig { +@@ -641,6 +649,7 @@ public class PurpurWorldConfig { public boolean chickenControllable = true; public double chickenMaxHealth = 4.0D; public boolean chickenRetaliate = false; @@ -594,7 +594,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -655,6 +664,7 @@ public class PurpurWorldConfig { +@@ -652,6 +661,7 @@ public class PurpurWorldConfig { } chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); @@ -602,7 +602,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean codRidable = false; -@@ -676,6 +686,7 @@ public class PurpurWorldConfig { +@@ -673,6 +683,7 @@ public class PurpurWorldConfig { public boolean cowControllable = true; public double cowMaxHealth = 10.0D; public int cowFeedMushrooms = 0; @@ -610,7 +610,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void cowSettings() { cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); -@@ -687,6 +698,7 @@ public class PurpurWorldConfig { +@@ -684,6 +695,7 @@ public class PurpurWorldConfig { } cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); @@ -618,7 +618,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean creeperRidable = false; -@@ -738,6 +750,7 @@ public class PurpurWorldConfig { +@@ -735,6 +747,7 @@ public class PurpurWorldConfig { public double donkeyJumpStrengthMax = 0.5D; public double donkeyMovementSpeedMin = 0.175D; public double donkeyMovementSpeedMax = 0.175D; @@ -626,7 +626,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); if (PurpurConfig.version < 10) { -@@ -753,6 +766,7 @@ public class PurpurWorldConfig { +@@ -750,6 +763,7 @@ public class PurpurWorldConfig { donkeyJumpStrengthMax = getDouble("mobs.donkey.attributes.jump_strength.max", donkeyJumpStrengthMax); donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin); donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax); @@ -634,7 +634,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean drownedRidable = false; -@@ -872,6 +886,7 @@ public class PurpurWorldConfig { +@@ -869,6 +883,7 @@ public class PurpurWorldConfig { public boolean foxControllable = true; public double foxMaxHealth = 10.0D; public boolean foxTypeChangesWithTulips = false; @@ -642,7 +642,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -883,17 +898,20 @@ public class PurpurWorldConfig { +@@ -880,17 +895,20 @@ public class PurpurWorldConfig { } foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); @@ -663,7 +663,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean ghastRidable = false; -@@ -961,11 +979,13 @@ public class PurpurWorldConfig { +@@ -958,11 +976,13 @@ public class PurpurWorldConfig { public boolean goatRidableInWater = true; public boolean goatControllable = true; public double goatMaxHealth = 10.0D; @@ -677,7 +677,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean guardianRidable = false; -@@ -986,6 +1006,7 @@ public class PurpurWorldConfig { +@@ -983,6 +1003,7 @@ public class PurpurWorldConfig { public boolean hoglinRidableInWater = true; public boolean hoglinControllable = true; public double hoglinMaxHealth = 40.0D; @@ -685,7 +685,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -996,6 +1017,7 @@ public class PurpurWorldConfig { +@@ -993,6 +1014,7 @@ public class PurpurWorldConfig { set("mobs.hoglin.attributes.max_health", oldValue); } hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); @@ -693,7 +693,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean horseRidableInWater = false; -@@ -1005,6 +1027,7 @@ public class PurpurWorldConfig { +@@ -1002,6 +1024,7 @@ public class PurpurWorldConfig { public double horseJumpStrengthMax = 1.0D; public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMax = 0.3375D; @@ -701,7 +701,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1020,6 +1043,7 @@ public class PurpurWorldConfig { +@@ -1017,6 +1040,7 @@ public class PurpurWorldConfig { horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax); horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin); horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax); @@ -709,7 +709,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean huskRidable = false; -@@ -1097,6 +1121,7 @@ public class PurpurWorldConfig { +@@ -1094,6 +1118,7 @@ public class PurpurWorldConfig { public double llamaJumpStrengthMax = 0.5D; public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMax = 0.175D; @@ -717,7 +717,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1114,6 +1139,7 @@ public class PurpurWorldConfig { +@@ -1111,6 +1136,7 @@ public class PurpurWorldConfig { llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax); llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin); llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); @@ -725,7 +725,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean magmaCubeRidable = false; -@@ -1142,6 +1168,7 @@ public class PurpurWorldConfig { +@@ -1139,6 +1165,7 @@ public class PurpurWorldConfig { public boolean mooshroomRidableInWater = true; public boolean mooshroomControllable = true; public double mooshroomMaxHealth = 10.0D; @@ -733,7 +733,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1152,6 +1179,7 @@ public class PurpurWorldConfig { +@@ -1149,6 +1176,7 @@ public class PurpurWorldConfig { set("mobs.mooshroom.attributes.max_health", oldValue); } mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); @@ -741,7 +741,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean muleRidableInWater = false; -@@ -1161,6 +1189,7 @@ public class PurpurWorldConfig { +@@ -1158,6 +1186,7 @@ public class PurpurWorldConfig { public double muleJumpStrengthMax = 0.5D; public double muleMovementSpeedMin = 0.175D; public double muleMovementSpeedMax = 0.175D; @@ -749,7 +749,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1176,12 +1205,14 @@ public class PurpurWorldConfig { +@@ -1173,12 +1202,14 @@ public class PurpurWorldConfig { muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax); muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin); muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); @@ -764,7 +764,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1192,12 +1223,14 @@ public class PurpurWorldConfig { +@@ -1189,12 +1220,14 @@ public class PurpurWorldConfig { set("mobs.ocelot.attributes.max_health", oldValue); } ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); @@ -779,7 +779,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1208,6 +1241,7 @@ public class PurpurWorldConfig { +@@ -1205,6 +1238,7 @@ public class PurpurWorldConfig { set("mobs.panda.attributes.max_health", oldValue); } pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); @@ -787,7 +787,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean parrotRidable = false; -@@ -1291,6 +1325,7 @@ public class PurpurWorldConfig { +@@ -1288,6 +1322,7 @@ public class PurpurWorldConfig { public boolean pigControllable = true; public double pigMaxHealth = 10.0D; public boolean pigGiveSaddleBack = false; @@ -795,7 +795,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -1302,6 +1337,7 @@ public class PurpurWorldConfig { +@@ -1299,6 +1334,7 @@ public class PurpurWorldConfig { } pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); @@ -803,7 +803,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean piglinRidable = false; -@@ -1358,6 +1394,7 @@ public class PurpurWorldConfig { +@@ -1355,6 +1391,7 @@ public class PurpurWorldConfig { public double polarBearMaxHealth = 30.0D; public String polarBearBreedableItemString = ""; public Item polarBearBreedableItem = null; @@ -811,7 +811,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -1371,6 +1408,7 @@ public class PurpurWorldConfig { +@@ -1368,6 +1405,7 @@ public class PurpurWorldConfig { polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString); Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(polarBearBreedableItemString)); if (item != Items.AIR) polarBearBreedableItem = item; @@ -819,7 +819,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean pufferfishRidable = false; -@@ -1393,6 +1431,7 @@ public class PurpurWorldConfig { +@@ -1390,6 +1428,7 @@ public class PurpurWorldConfig { public double rabbitMaxHealth = 3.0D; public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; @@ -827,7 +827,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1405,6 +1444,7 @@ public class PurpurWorldConfig { +@@ -1402,6 +1441,7 @@ public class PurpurWorldConfig { rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth); rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast); rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); @@ -835,7 +835,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean ravagerRidable = false; -@@ -1441,6 +1481,7 @@ public class PurpurWorldConfig { +@@ -1438,6 +1478,7 @@ public class PurpurWorldConfig { public boolean sheepRidableInWater = true; public boolean sheepControllable = true; public double sheepMaxHealth = 8.0D; @@ -843,7 +843,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1451,6 +1492,7 @@ public class PurpurWorldConfig { +@@ -1448,6 +1489,7 @@ public class PurpurWorldConfig { set("mobs.sheep.attributes.max_health", oldValue); } sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); @@ -851,7 +851,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean shulkerRidable = false; -@@ -1574,11 +1616,13 @@ public class PurpurWorldConfig { +@@ -1571,11 +1613,13 @@ public class PurpurWorldConfig { public boolean snifferRidableInWater = true; public boolean snifferControllable = true; public double snifferMaxHealth = 14.0D; @@ -865,7 +865,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean squidRidable = false; -@@ -1637,6 +1681,7 @@ public class PurpurWorldConfig { +@@ -1634,6 +1678,7 @@ public class PurpurWorldConfig { public boolean striderRidableInWater = false; public boolean striderControllable = true; public double striderMaxHealth = 20.0D; @@ -873,7 +873,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1647,6 +1692,7 @@ public class PurpurWorldConfig { +@@ -1644,6 +1689,7 @@ public class PurpurWorldConfig { set("mobs.strider.attributes.max_health", oldValue); } striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); @@ -881,7 +881,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean tadpoleRidable = false; -@@ -1667,6 +1713,7 @@ public class PurpurWorldConfig { +@@ -1664,6 +1710,7 @@ public class PurpurWorldConfig { public double traderLlamaJumpStrengthMax = 0.5D; public double traderLlamaMovementSpeedMin = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D; @@ -889,7 +889,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -1684,6 +1731,7 @@ public class PurpurWorldConfig { +@@ -1681,6 +1728,7 @@ public class PurpurWorldConfig { traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax); traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin); traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); @@ -897,7 +897,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean tropicalFishRidable = false; -@@ -1704,6 +1752,7 @@ public class PurpurWorldConfig { +@@ -1701,6 +1749,7 @@ public class PurpurWorldConfig { public boolean turtleRidableInWater = true; public boolean turtleControllable = true; public double turtleMaxHealth = 30.0D; @@ -905,7 +905,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -1714,6 +1763,7 @@ public class PurpurWorldConfig { +@@ -1711,6 +1760,7 @@ public class PurpurWorldConfig { set("mobs.turtle.attributes.max_health", oldValue); } turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); @@ -913,7 +913,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean vexRidable = false; -@@ -1741,6 +1791,7 @@ public class PurpurWorldConfig { +@@ -1738,6 +1788,7 @@ public class PurpurWorldConfig { public boolean villagerFollowEmeraldBlock = false; public boolean villagerCanBeLeashed = false; public boolean villagerCanBreed = true; @@ -921,7 +921,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1754,6 +1805,7 @@ public class PurpurWorldConfig { +@@ -1751,6 +1802,7 @@ public class PurpurWorldConfig { villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); @@ -929,7 +929,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 } public boolean vindicatorRidable = false; -@@ -1865,6 +1917,7 @@ public class PurpurWorldConfig { +@@ -1862,6 +1914,7 @@ public class PurpurWorldConfig { public boolean wolfRidableInWater = true; public boolean wolfControllable = true; public double wolfMaxHealth = 8.0D; @@ -937,7 +937,7 @@ index 6e049d5b08550b5073f3d790d1b3805e930ad002..19c0d2a94fef6e6a62908d93160c1095 private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -1875,6 +1928,7 @@ public class PurpurWorldConfig { +@@ -1872,6 +1925,7 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0105-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch b/patches/server/0105-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch index 267d07c59..8385e5afd 100644 --- a/patches/server/0105-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch +++ b/patches/server/0105-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch @@ -21,10 +21,10 @@ index a9de01b7043124d8460f1608c3b929e911e3bc6f..772402331f2a24c899ed7e7002ec9814 private static class EndermanFreezeWhenLookedAt extends Goal { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 967e9aa6c66489c6f1b976427c75f2f109d90bc9..6d1f838bf02a4883519484d15fa82483005b9acb 100644 +index b0fac0182a8f20e41bf999cb99582c45b9569b44..b1ddc08a8a763854dd5f964a49fb88d3e1adcaac 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -842,6 +842,7 @@ public class PurpurWorldConfig { +@@ -839,6 +839,7 @@ public class PurpurWorldConfig { public boolean endermanControllable = true; public double endermanMaxHealth = 40.0D; public boolean endermanAllowGriefing = true; @@ -32,7 +32,7 @@ index 967e9aa6c66489c6f1b976427c75f2f109d90bc9..6d1f838bf02a4883519484d15fa82483 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -853,6 +854,7 @@ public class PurpurWorldConfig { +@@ -850,6 +851,7 @@ public class PurpurWorldConfig { } endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); diff --git a/patches/server/0109-Snow-Golem-rate-of-fire-config.patch b/patches/server/0109-Snow-Golem-rate-of-fire-config.patch index 11c29ad13..12fb74570 100644 --- a/patches/server/0109-Snow-Golem-rate-of-fire-config.patch +++ b/patches/server/0109-Snow-Golem-rate-of-fire-config.patch @@ -23,10 +23,10 @@ index 2a5ffaf5614e19305f4e08e15752364919e68a49..ecc0f221fca332b6f4d8feb72dbafc52 this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(4, new RandomLookAroundGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a5d70130c9411b381152c073d9ccb957a22d8953..f2b8ff85257c67aefa7b8e541a68c7cce04a4367 100644 +index 8dab41636e046ae6cf8458d59a4bc2ecde5efcb4..eafb924959688d0180665731091d9b75398c6200 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1614,6 +1614,10 @@ public class PurpurWorldConfig { +@@ -1611,6 +1611,10 @@ public class PurpurWorldConfig { public double snowGolemMaxHealth = 4.0D; public boolean snowGolemDropsPumpkin = true; public boolean snowGolemPutPumpkinBack = false; @@ -37,7 +37,7 @@ index a5d70130c9411b381152c073d9ccb957a22d8953..f2b8ff85257c67aefa7b8e541a68c7cc private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1627,6 +1631,10 @@ public class PurpurWorldConfig { +@@ -1624,6 +1628,10 @@ public class PurpurWorldConfig { snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth); snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin); snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack); diff --git a/patches/server/0111-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch b/patches/server/0111-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch index c031aa261..080ff6ff1 100644 --- a/patches/server/0111-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch +++ b/patches/server/0111-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch @@ -176,10 +176,10 @@ index ac70c2c03241e73943bd517a8c69dd05e0873634..0318663a824d2a9515f867a075d148c3 public static final VillagerProfession FISHERMAN = register("fisherman", PoiTypes.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN); public static final VillagerProfession FLETCHER = register("fletcher", PoiTypes.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f2b8ff85257c67aefa7b8e541a68c7cce04a4367..a7db2b09decdc19b8e41720937f6f6ad05e088d1 100644 +index eafb924959688d0180665731091d9b75398c6200..7c1dcef15b57777903d0920056e5330885c348e3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1817,6 +1817,8 @@ public class PurpurWorldConfig { +@@ -1814,6 +1814,8 @@ public class PurpurWorldConfig { public boolean villagerCanBeLeashed = false; public boolean villagerCanBreed = true; public int villagerBreedingTicks = 6000; @@ -188,7 +188,7 @@ index f2b8ff85257c67aefa7b8e541a68c7cce04a4367..a7db2b09decdc19b8e41720937f6f6ad private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1831,6 +1833,8 @@ public class PurpurWorldConfig { +@@ -1828,6 +1830,8 @@ public class PurpurWorldConfig { villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); diff --git a/patches/server/0112-Toggle-for-Zombified-Piglin-death-always-counting-as.patch b/patches/server/0112-Toggle-for-Zombified-Piglin-death-always-counting-as.patch index 045e8a063..ba458a51a 100644 --- a/patches/server/0112-Toggle-for-Zombified-Piglin-death-always-counting-as.patch +++ b/patches/server/0112-Toggle-for-Zombified-Piglin-death-always-counting-as.patch @@ -35,10 +35,10 @@ index 3d61b27c23d90e87fdfc8c170eafc116716ac047..67fd554cfd6b848ca1f2cf804ad4543a } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a7db2b09decdc19b8e41720937f6f6ad05e088d1..761ae4d1e9770dee94f79779e5abf883b1d32d96 100644 +index 7c1dcef15b57777903d0920056e5330885c348e3..2d9790c1579cb3d108f9f84cb5bd2696ef15467c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2061,6 +2061,7 @@ public class PurpurWorldConfig { +@@ -2058,6 +2058,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyOnlyBaby = true; public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; @@ -46,7 +46,7 @@ index a7db2b09decdc19b8e41720937f6f6ad05e088d1..761ae4d1e9770dee94f79779e5abf883 private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -2075,5 +2076,6 @@ public class PurpurWorldConfig { +@@ -2072,5 +2073,6 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby); zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance); zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); diff --git a/patches/server/0113-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/server/0113-Configurable-chance-for-wolves-to-spawn-rabid.patch index 674f9eab8..d696e8285 100644 --- a/patches/server/0113-Configurable-chance-for-wolves-to-spawn-rabid.patch +++ b/patches/server/0113-Configurable-chance-for-wolves-to-spawn-rabid.patch @@ -221,10 +221,10 @@ index e43fd3e59fd8c74828ae65965fade27f56beef65..b2f133c8baabba1cffa6e92ea0f85453 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 761ae4d1e9770dee94f79779e5abf883b1d32d96..7578a7be9df62de16edd9c245e1df9e2d83a6ed1 100644 +index 2d9790c1579cb3d108f9f84cb5bd2696ef15467c..9be3933a32e7260b6be063de8f2687efdc28bf8f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1946,6 +1946,8 @@ public class PurpurWorldConfig { +@@ -1943,6 +1943,8 @@ public class PurpurWorldConfig { public boolean wolfRidableInWater = true; public boolean wolfControllable = true; public double wolfMaxHealth = 8.0D; @@ -233,7 +233,7 @@ index 761ae4d1e9770dee94f79779e5abf883b1d32d96..7578a7be9df62de16edd9c245e1df9e2 public int wolfBreedingTicks = 6000; private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); -@@ -1957,6 +1959,8 @@ public class PurpurWorldConfig { +@@ -1954,6 +1956,8 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0114-Configurable-default-collar-color.patch b/patches/server/0114-Configurable-default-collar-color.patch index 4b4e11103..50f7065f9 100644 --- a/patches/server/0114-Configurable-default-collar-color.patch +++ b/patches/server/0114-Configurable-default-collar-color.patch @@ -43,10 +43,10 @@ index aa484d03ed31f6c60c0b4456a4047bc38a40ea4a..89627025c0b5464900a5ea818c7aaf5d protected void registerGoals() { this.goalSelector.addGoal(1, new FloatGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7578a7be9df62de16edd9c245e1df9e2d83a6ed1..c4842302969392f4bccc23a16b52e4cdec2fe959 100644 +index 9be3933a32e7260b6be063de8f2687efdc28bf8f..f05c9282671bb5b17da0ddfe2ffe1d8876f6ce17 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -630,6 +630,7 @@ public class PurpurWorldConfig { +@@ -627,6 +627,7 @@ public class PurpurWorldConfig { public int catSpawnSwampHutScanRange = 16; public int catSpawnVillageScanRange = 48; public int catBreedingTicks = 6000; @@ -54,7 +54,7 @@ index 7578a7be9df62de16edd9c245e1df9e2d83a6ed1..c4842302969392f4bccc23a16b52e4cd private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -644,6 +645,11 @@ public class PurpurWorldConfig { +@@ -641,6 +642,11 @@ public class PurpurWorldConfig { catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange); catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange); catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks); @@ -66,7 +66,7 @@ index 7578a7be9df62de16edd9c245e1df9e2d83a6ed1..c4842302969392f4bccc23a16b52e4cd } public boolean caveSpiderRidable = false; -@@ -1946,6 +1952,7 @@ public class PurpurWorldConfig { +@@ -1943,6 +1949,7 @@ public class PurpurWorldConfig { public boolean wolfRidableInWater = true; public boolean wolfControllable = true; public double wolfMaxHealth = 8.0D; @@ -74,7 +74,7 @@ index 7578a7be9df62de16edd9c245e1df9e2d83a6ed1..c4842302969392f4bccc23a16b52e4cd public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; -@@ -1959,6 +1966,11 @@ public class PurpurWorldConfig { +@@ -1956,6 +1963,11 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0115-Phantom-flames-on-swoop.patch b/patches/server/0115-Phantom-flames-on-swoop.patch index 036b588cd..1e2f67d9a 100644 --- a/patches/server/0115-Phantom-flames-on-swoop.patch +++ b/patches/server/0115-Phantom-flames-on-swoop.patch @@ -17,10 +17,10 @@ index 899a7d3989b51456600787ae09b1736f83bf9a65..076a881412d40ce6a8f5e5f83f7598bf @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c4842302969392f4bccc23a16b52e4cdec2fe959..68bcb9fdb95a453a0781cf732a7bf3fd3f6318e2 100644 +index f05c9282671bb5b17da0ddfe2ffe1d8876f6ce17..a1912de4f504597b80d3ccde91ddc1c30a9af081 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1308,6 +1308,7 @@ public class PurpurWorldConfig { +@@ -1305,6 +1305,7 @@ public class PurpurWorldConfig { public int phantomBurnInLight = 0; public boolean phantomIgnorePlayersWithTorch = false; public boolean phantomBurnInDaylight = true; @@ -28,7 +28,7 @@ index c4842302969392f4bccc23a16b52e4cdec2fe959..68bcb9fdb95a453a0781cf732a7bf3fd private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1341,6 +1342,7 @@ public class PurpurWorldConfig { +@@ -1338,6 +1339,7 @@ public class PurpurWorldConfig { phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight); phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight); phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); diff --git a/patches/server/0118-Striders-give-saddle-back.patch b/patches/server/0118-Striders-give-saddle-back.patch index 9df3fd692..42d6556a2 100644 --- a/patches/server/0118-Striders-give-saddle-back.patch +++ b/patches/server/0118-Striders-give-saddle-back.patch @@ -29,10 +29,10 @@ index 93dca4758ed995373fe1585930f225604a4153fa..4c077c94b654f54465ece2aa45c5ead0 if (!this.level().isClientSide) { player.startRiding(this); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 236a85b1cd681db91d7fbd5b24e6cee986bd7e67..fe1d6a3904a0915fb4b5cb5f567ae861f5cd8133 100644 +index 30b0f2da508f6f4ccb7493646a6f3a32f354f84c..bb1f9729fd2c2043290c23c90fdbf33618576985 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1720,6 +1720,7 @@ public class PurpurWorldConfig { +@@ -1717,6 +1717,7 @@ public class PurpurWorldConfig { public boolean striderControllable = true; public double striderMaxHealth = 20.0D; public int striderBreedingTicks = 6000; @@ -40,7 +40,7 @@ index 236a85b1cd681db91d7fbd5b24e6cee986bd7e67..fe1d6a3904a0915fb4b5cb5f567ae861 private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1731,6 +1732,7 @@ public class PurpurWorldConfig { +@@ -1728,6 +1729,7 @@ public class PurpurWorldConfig { } striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); diff --git a/patches/server/0122-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0122-Add-mobGriefing-bypass-to-everything-affected.patch index 4788f6759..b82df22ce 100644 --- a/patches/server/0122-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0122-Add-mobGriefing-bypass-to-everything-affected.patch @@ -374,7 +374,7 @@ index 1942649e868fc985a488034c411a6721595ecc67..7495e0e8beedad59fff24ebf189b58b3 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7e3556043 100644 +index 76a7444b120d377c4329a900bf6e692ecf20dfe0..8ce247a83c417b42670a045be00f68f501331245 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -117,8 +117,11 @@ public class PurpurWorldConfig { @@ -438,7 +438,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 } public int waterInfiniteRequiredSources = 2; -@@ -746,6 +761,7 @@ public class PurpurWorldConfig { +@@ -743,6 +758,7 @@ public class PurpurWorldConfig { public double creeperMaxHealth = 20.0D; public double creeperChargedChance = 0.0D; public boolean creeperAllowGriefing = true; @@ -446,7 +446,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -758,6 +774,7 @@ public class PurpurWorldConfig { +@@ -755,6 +771,7 @@ public class PurpurWorldConfig { creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); @@ -454,7 +454,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 } public boolean dolphinRidable = false; -@@ -852,6 +869,7 @@ public class PurpurWorldConfig { +@@ -849,6 +866,7 @@ public class PurpurWorldConfig { public double enderDragonMaxY = 320D; public double enderDragonMaxHealth = 200.0D; public boolean enderDragonAlwaysDropsFullExp = false; @@ -462,7 +462,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -868,6 +886,7 @@ public class PurpurWorldConfig { +@@ -865,6 +883,7 @@ public class PurpurWorldConfig { } enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); @@ -470,7 +470,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 } public boolean endermanRidable = false; -@@ -876,6 +895,7 @@ public class PurpurWorldConfig { +@@ -873,6 +892,7 @@ public class PurpurWorldConfig { public double endermanMaxHealth = 40.0D; public boolean endermanAllowGriefing = true; public boolean endermanDespawnEvenWithBlock = false; @@ -478,7 +478,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -888,6 +908,7 @@ public class PurpurWorldConfig { +@@ -885,6 +905,7 @@ public class PurpurWorldConfig { endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock); @@ -486,7 +486,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 } public boolean endermiteRidable = false; -@@ -910,6 +931,7 @@ public class PurpurWorldConfig { +@@ -907,6 +928,7 @@ public class PurpurWorldConfig { public boolean evokerRidableInWater = true; public boolean evokerControllable = true; public double evokerMaxHealth = 24.0D; @@ -494,7 +494,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -920,6 +942,7 @@ public class PurpurWorldConfig { +@@ -917,6 +939,7 @@ public class PurpurWorldConfig { set("mobs.evoker.attributes.max_health", oldValue); } evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth); @@ -502,7 +502,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 } public boolean foxRidable = false; -@@ -928,6 +951,7 @@ public class PurpurWorldConfig { +@@ -925,6 +948,7 @@ public class PurpurWorldConfig { public double foxMaxHealth = 10.0D; public boolean foxTypeChangesWithTulips = false; public int foxBreedingTicks = 6000; @@ -510,7 +510,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -940,6 +964,7 @@ public class PurpurWorldConfig { +@@ -937,6 +961,7 @@ public class PurpurWorldConfig { foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks); @@ -518,7 +518,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 } public boolean frogRidable = false; -@@ -1387,6 +1412,7 @@ public class PurpurWorldConfig { +@@ -1384,6 +1409,7 @@ public class PurpurWorldConfig { public boolean piglinRidableInWater = true; public boolean piglinControllable = true; public double piglinMaxHealth = 16.0D; @@ -526,7 +526,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1397,6 +1423,7 @@ public class PurpurWorldConfig { +@@ -1394,6 +1420,7 @@ public class PurpurWorldConfig { set("mobs.piglin.attributes.max_health", oldValue); } piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); @@ -534,7 +534,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 } public boolean piglinBruteRidable = false; -@@ -1419,6 +1446,7 @@ public class PurpurWorldConfig { +@@ -1416,6 +1443,7 @@ public class PurpurWorldConfig { public boolean pillagerRidableInWater = true; public boolean pillagerControllable = true; public double pillagerMaxHealth = 24.0D; @@ -542,7 +542,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -1429,6 +1457,7 @@ public class PurpurWorldConfig { +@@ -1426,6 +1454,7 @@ public class PurpurWorldConfig { set("mobs.pillager.attributes.max_health", oldValue); } pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); @@ -550,7 +550,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 } public boolean polarBearRidable = false; -@@ -1475,6 +1504,7 @@ public class PurpurWorldConfig { +@@ -1472,6 +1501,7 @@ public class PurpurWorldConfig { public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; public int rabbitBreedingTicks = 6000; @@ -558,7 +558,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1488,12 +1518,14 @@ public class PurpurWorldConfig { +@@ -1485,12 +1515,14 @@ public class PurpurWorldConfig { rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast); rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); @@ -573,7 +573,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1504,6 +1536,7 @@ public class PurpurWorldConfig { +@@ -1501,6 +1533,7 @@ public class PurpurWorldConfig { set("mobs.ravager.attributes.max_health", oldValue); } ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); @@ -581,7 +581,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 } public boolean salmonRidable = false; -@@ -1525,6 +1558,7 @@ public class PurpurWorldConfig { +@@ -1522,6 +1555,7 @@ public class PurpurWorldConfig { public boolean sheepControllable = true; public double sheepMaxHealth = 8.0D; public int sheepBreedingTicks = 6000; @@ -589,7 +589,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1536,6 +1570,7 @@ public class PurpurWorldConfig { +@@ -1533,6 +1567,7 @@ public class PurpurWorldConfig { } sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); @@ -597,7 +597,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 } public boolean shulkerRidable = false; -@@ -1558,6 +1593,7 @@ public class PurpurWorldConfig { +@@ -1555,6 +1590,7 @@ public class PurpurWorldConfig { public boolean silverfishRidableInWater = true; public boolean silverfishControllable = true; public double silverfishMaxHealth = 8.0D; @@ -605,7 +605,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -1568,6 +1604,7 @@ public class PurpurWorldConfig { +@@ -1565,6 +1601,7 @@ public class PurpurWorldConfig { set("mobs.silverfish.attributes.max_health", oldValue); } silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); @@ -613,7 +613,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 } public boolean skeletonRidable = false; -@@ -1644,6 +1681,7 @@ public class PurpurWorldConfig { +@@ -1641,6 +1678,7 @@ public class PurpurWorldConfig { public int snowGolemSnowBallMax = 20; public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; @@ -621,7 +621,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1661,6 +1699,7 @@ public class PurpurWorldConfig { +@@ -1658,6 +1696,7 @@ public class PurpurWorldConfig { snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax); snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier); snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance); @@ -629,7 +629,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 } public boolean snifferRidable = false; -@@ -1847,6 +1886,7 @@ public class PurpurWorldConfig { +@@ -1844,6 +1883,7 @@ public class PurpurWorldConfig { public int villagerBreedingTicks = 6000; public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; @@ -637,7 +637,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1863,6 +1903,7 @@ public class PurpurWorldConfig { +@@ -1860,6 +1900,7 @@ public class PurpurWorldConfig { villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); @@ -645,7 +645,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 } public boolean vindicatorRidable = false; -@@ -1935,6 +1976,7 @@ public class PurpurWorldConfig { +@@ -1932,6 +1973,7 @@ public class PurpurWorldConfig { public double witherMaxHealth = 300.0D; public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; @@ -653,7 +653,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1952,6 +1994,7 @@ public class PurpurWorldConfig { +@@ -1949,6 +1991,7 @@ public class PurpurWorldConfig { witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); @@ -661,7 +661,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 } public boolean witherSkeletonRidable = false; -@@ -2023,6 +2066,7 @@ public class PurpurWorldConfig { +@@ -2020,6 +2063,7 @@ public class PurpurWorldConfig { public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; @@ -669,7 +669,7 @@ index 4eef40d903f9025046ec84ed5122217513522e3d..3785ae72b9cbfc9178387375fbbbe9f7 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2038,6 +2082,7 @@ public class PurpurWorldConfig { +@@ -2035,6 +2079,7 @@ public class PurpurWorldConfig { zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); diff --git a/patches/server/0128-Toggle-for-water-sensitive-mob-damage.patch b/patches/server/0128-Toggle-for-water-sensitive-mob-damage.patch index 249426202..1450d0d0b 100644 --- a/patches/server/0128-Toggle-for-water-sensitive-mob-damage.patch +++ b/patches/server/0128-Toggle-for-water-sensitive-mob-damage.patch @@ -1197,7 +1197,7 @@ index 41ddf073ecb8ea97cca8021390500d65866488a5..e2a9179bb7a5ecbc31d98a2410a09f5e protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17fc8332ca4 100644 +index 35e12751aec9006da16ca69a60c2b82cc40aced6..2ae3a4c36466374855c77ef1255f5761b4736197 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -574,11 +574,13 @@ public class PurpurWorldConfig { @@ -1261,8 +1261,8 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f + blazeTakeDamageFromWater = getBoolean("mobs.blaze.takes-damage-from-water", blazeTakeDamageFromWater); } - public int camelBreedingTicks = 6000; -@@ -682,6 +690,7 @@ public class PurpurWorldConfig { + public boolean camelRidableInWater = false; +@@ -679,6 +687,7 @@ public class PurpurWorldConfig { public int catSpawnVillageScanRange = 48; public int catBreedingTicks = 6000; public DyeColor catDefaultCollarColor = DyeColor.RED; @@ -1270,7 +1270,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -701,12 +710,14 @@ public class PurpurWorldConfig { +@@ -698,12 +707,14 @@ public class PurpurWorldConfig { } catch (IllegalArgumentException ignore) { catDefaultCollarColor = DyeColor.RED; } @@ -1285,7 +1285,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void caveSpiderSettings() { caveSpiderRidable = getBoolean("mobs.cave_spider.ridable", caveSpiderRidable); caveSpiderRidableInWater = getBoolean("mobs.cave_spider.ridable-in-water", caveSpiderRidableInWater); -@@ -717,6 +728,7 @@ public class PurpurWorldConfig { +@@ -714,6 +725,7 @@ public class PurpurWorldConfig { set("mobs.cave_spider.attributes.max_health", oldValue); } caveSpiderMaxHealth = getDouble("mobs.cave_spider.attributes.max_health", caveSpiderMaxHealth); @@ -1293,7 +1293,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean chickenRidable = false; -@@ -725,6 +737,7 @@ public class PurpurWorldConfig { +@@ -722,6 +734,7 @@ public class PurpurWorldConfig { public double chickenMaxHealth = 4.0D; public boolean chickenRetaliate = false; public int chickenBreedingTicks = 6000; @@ -1301,7 +1301,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -737,11 +750,13 @@ public class PurpurWorldConfig { +@@ -734,11 +747,13 @@ public class PurpurWorldConfig { chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks); @@ -1315,7 +1315,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void codSettings() { codRidable = getBoolean("mobs.cod.ridable", codRidable); codControllable = getBoolean("mobs.cod.controllable", codControllable); -@@ -751,6 +766,7 @@ public class PurpurWorldConfig { +@@ -748,6 +763,7 @@ public class PurpurWorldConfig { set("mobs.cod.attributes.max_health", oldValue); } codMaxHealth = getDouble("mobs.cod.attributes.max_health", codMaxHealth); @@ -1323,7 +1323,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean cowRidable = false; -@@ -759,6 +775,7 @@ public class PurpurWorldConfig { +@@ -756,6 +772,7 @@ public class PurpurWorldConfig { public double cowMaxHealth = 10.0D; public int cowFeedMushrooms = 0; public int cowBreedingTicks = 6000; @@ -1331,7 +1331,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void cowSettings() { cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); -@@ -771,6 +788,7 @@ public class PurpurWorldConfig { +@@ -768,6 +785,7 @@ public class PurpurWorldConfig { cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks); @@ -1339,7 +1339,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean creeperRidable = false; -@@ -780,6 +798,7 @@ public class PurpurWorldConfig { +@@ -777,6 +795,7 @@ public class PurpurWorldConfig { public double creeperChargedChance = 0.0D; public boolean creeperAllowGriefing = true; public boolean creeperBypassMobGriefing = false; @@ -1347,7 +1347,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -793,6 +812,7 @@ public class PurpurWorldConfig { +@@ -790,6 +809,7 @@ public class PurpurWorldConfig { creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); @@ -1355,7 +1355,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean dolphinRidable = false; -@@ -802,6 +822,7 @@ public class PurpurWorldConfig { +@@ -799,6 +819,7 @@ public class PurpurWorldConfig { public float dolphinSpitDamage = 2.0F; public double dolphinMaxHealth = 10.0D; public boolean dolphinDisableTreasureSearching = false; @@ -1363,7 +1363,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -815,6 +836,7 @@ public class PurpurWorldConfig { +@@ -812,6 +833,7 @@ public class PurpurWorldConfig { } dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth); dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching); @@ -1371,7 +1371,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean donkeyRidableInWater = false; -@@ -825,6 +847,7 @@ public class PurpurWorldConfig { +@@ -822,6 +844,7 @@ public class PurpurWorldConfig { public double donkeyMovementSpeedMin = 0.175D; public double donkeyMovementSpeedMax = 0.175D; public int donkeyBreedingTicks = 6000; @@ -1379,7 +1379,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); if (PurpurConfig.version < 10) { -@@ -841,6 +864,7 @@ public class PurpurWorldConfig { +@@ -838,6 +861,7 @@ public class PurpurWorldConfig { donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin); donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax); donkeyBreedingTicks = getInt("mobs.donkey.breeding-delay-ticks", donkeyBreedingTicks); @@ -1387,7 +1387,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean drownedRidable = false; -@@ -851,6 +875,7 @@ public class PurpurWorldConfig { +@@ -848,6 +872,7 @@ public class PurpurWorldConfig { public boolean drownedJockeyOnlyBaby = true; public double drownedJockeyChance = 0.05D; public boolean drownedJockeyTryExistingChickens = true; @@ -1395,7 +1395,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -865,11 +890,13 @@ public class PurpurWorldConfig { +@@ -862,11 +887,13 @@ public class PurpurWorldConfig { drownedJockeyOnlyBaby = getBoolean("mobs.drowned.jockey.only-babies", drownedJockeyOnlyBaby); drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance); drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens); @@ -1409,7 +1409,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void elderGuardianSettings() { elderGuardianRidable = getBoolean("mobs.elder_guardian.ridable", elderGuardianRidable); elderGuardianControllable = getBoolean("mobs.elder_guardian.controllable", elderGuardianControllable); -@@ -879,6 +906,7 @@ public class PurpurWorldConfig { +@@ -876,6 +903,7 @@ public class PurpurWorldConfig { set("mobs.elder_guardian.attributes.max_health", oldValue); } elderGuardianMaxHealth = getDouble("mobs.elder_guardian.attributes.max_health", elderGuardianMaxHealth); @@ -1417,7 +1417,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean enderDragonRidable = false; -@@ -888,6 +916,7 @@ public class PurpurWorldConfig { +@@ -885,6 +913,7 @@ public class PurpurWorldConfig { public double enderDragonMaxHealth = 200.0D; public boolean enderDragonAlwaysDropsFullExp = false; public boolean enderDragonBypassMobGriefing = false; @@ -1425,7 +1425,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -905,6 +934,7 @@ public class PurpurWorldConfig { +@@ -902,6 +931,7 @@ public class PurpurWorldConfig { enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing); @@ -1433,7 +1433,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean endermanRidable = false; -@@ -914,6 +944,7 @@ public class PurpurWorldConfig { +@@ -911,6 +941,7 @@ public class PurpurWorldConfig { public boolean endermanAllowGriefing = true; public boolean endermanDespawnEvenWithBlock = false; public boolean endermanBypassMobGriefing = false; @@ -1441,7 +1441,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -927,12 +958,14 @@ public class PurpurWorldConfig { +@@ -924,12 +955,14 @@ public class PurpurWorldConfig { endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock); endermanBypassMobGriefing = getBoolean("mobs.enderman.bypass-mob-griefing", endermanBypassMobGriefing); @@ -1456,7 +1456,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void endermiteSettings() { endermiteRidable = getBoolean("mobs.endermite.ridable", endermiteRidable); endermiteRidableInWater = getBoolean("mobs.endermite.ridable-in-water", endermiteRidableInWater); -@@ -943,6 +976,7 @@ public class PurpurWorldConfig { +@@ -940,6 +973,7 @@ public class PurpurWorldConfig { set("mobs.endermite.attributes.max_health", oldValue); } endermiteMaxHealth = getDouble("mobs.endermite.attributes.max_health", endermiteMaxHealth); @@ -1464,7 +1464,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean evokerRidable = false; -@@ -950,6 +984,7 @@ public class PurpurWorldConfig { +@@ -947,6 +981,7 @@ public class PurpurWorldConfig { public boolean evokerControllable = true; public double evokerMaxHealth = 24.0D; public boolean evokerBypassMobGriefing = false; @@ -1472,7 +1472,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -961,6 +996,7 @@ public class PurpurWorldConfig { +@@ -958,6 +993,7 @@ public class PurpurWorldConfig { } evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth); evokerBypassMobGriefing = getBoolean("mobs.evoker.bypass-mob-griefing", evokerBypassMobGriefing); @@ -1480,7 +1480,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean foxRidable = false; -@@ -970,6 +1006,7 @@ public class PurpurWorldConfig { +@@ -967,6 +1003,7 @@ public class PurpurWorldConfig { public boolean foxTypeChangesWithTulips = false; public int foxBreedingTicks = 6000; public boolean foxBypassMobGriefing = false; @@ -1488,7 +1488,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -983,6 +1020,7 @@ public class PurpurWorldConfig { +@@ -980,6 +1017,7 @@ public class PurpurWorldConfig { foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks); foxBypassMobGriefing = getBoolean("mobs.fox.bypass-mob-griefing", foxBypassMobGriefing); @@ -1496,7 +1496,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean frogRidable = false; -@@ -1003,6 +1041,7 @@ public class PurpurWorldConfig { +@@ -1000,6 +1038,7 @@ public class PurpurWorldConfig { public boolean ghastControllable = true; public double ghastMaxY = 320D; public double ghastMaxHealth = 10.0D; @@ -1504,7 +1504,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void ghastSettings() { ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable); ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater); -@@ -1014,6 +1053,7 @@ public class PurpurWorldConfig { +@@ -1011,6 +1050,7 @@ public class PurpurWorldConfig { set("mobs.ghast.attributes.max_health", oldValue); } ghastMaxHealth = getDouble("mobs.ghast.attributes.max_health", ghastMaxHealth); @@ -1512,7 +1512,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean giantRidable = false; -@@ -1026,6 +1066,7 @@ public class PurpurWorldConfig { +@@ -1023,6 +1063,7 @@ public class PurpurWorldConfig { public float giantJumpHeight = 1.0F; public boolean giantHaveAI = false; public boolean giantHaveHostileAI = false; @@ -1520,7 +1520,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -1046,17 +1087,20 @@ public class PurpurWorldConfig { +@@ -1043,17 +1084,20 @@ public class PurpurWorldConfig { giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight); giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI); giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI); @@ -1541,7 +1541,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean goatRidable = false; -@@ -1064,17 +1108,20 @@ public class PurpurWorldConfig { +@@ -1061,17 +1105,20 @@ public class PurpurWorldConfig { public boolean goatControllable = true; public double goatMaxHealth = 10.0D; public int goatBreedingTicks = 6000; @@ -1562,7 +1562,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void guardianSettings() { guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable); guardianControllable = getBoolean("mobs.guardian.controllable", guardianControllable); -@@ -1084,6 +1131,7 @@ public class PurpurWorldConfig { +@@ -1081,6 +1128,7 @@ public class PurpurWorldConfig { set("mobs.guardian.attributes.max_health", oldValue); } guardianMaxHealth = getDouble("mobs.guardian.attributes.max_health", guardianMaxHealth); @@ -1570,7 +1570,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean hoglinRidable = false; -@@ -1091,6 +1139,7 @@ public class PurpurWorldConfig { +@@ -1088,6 +1136,7 @@ public class PurpurWorldConfig { public boolean hoglinControllable = true; public double hoglinMaxHealth = 40.0D; public int hoglinBreedingTicks = 6000; @@ -1578,7 +1578,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -1102,6 +1151,7 @@ public class PurpurWorldConfig { +@@ -1099,6 +1148,7 @@ public class PurpurWorldConfig { } hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks); @@ -1586,7 +1586,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean horseRidableInWater = false; -@@ -1112,6 +1162,7 @@ public class PurpurWorldConfig { +@@ -1109,6 +1159,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; @@ -1594,7 +1594,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1128,6 +1179,7 @@ public class PurpurWorldConfig { +@@ -1125,6 +1176,7 @@ public class PurpurWorldConfig { horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin); horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax); horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks); @@ -1602,7 +1602,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean huskRidable = false; -@@ -1138,6 +1190,7 @@ public class PurpurWorldConfig { +@@ -1135,6 +1187,7 @@ public class PurpurWorldConfig { public boolean huskJockeyOnlyBaby = true; public double huskJockeyChance = 0.05D; public boolean huskJockeyTryExistingChickens = true; @@ -1610,7 +1610,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -1152,6 +1205,7 @@ public class PurpurWorldConfig { +@@ -1149,6 +1202,7 @@ public class PurpurWorldConfig { huskJockeyOnlyBaby = getBoolean("mobs.husk.jockey.only-babies", huskJockeyOnlyBaby); huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance); huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens); @@ -1618,7 +1618,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean illusionerRidable = false; -@@ -1160,6 +1214,7 @@ public class PurpurWorldConfig { +@@ -1157,6 +1211,7 @@ public class PurpurWorldConfig { public double illusionerMovementSpeed = 0.5D; public double illusionerFollowRange = 18.0D; public double illusionerMaxHealth = 32.0D; @@ -1626,7 +1626,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void illusionerSettings() { illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable); illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater); -@@ -1176,6 +1231,7 @@ public class PurpurWorldConfig { +@@ -1173,6 +1228,7 @@ public class PurpurWorldConfig { set("mobs.illusioner.attributes.max_health", oldValue); } illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max_health", illusionerMaxHealth); @@ -1634,7 +1634,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean ironGolemRidable = false; -@@ -1183,6 +1239,7 @@ public class PurpurWorldConfig { +@@ -1180,6 +1236,7 @@ public class PurpurWorldConfig { public boolean ironGolemControllable = true; public boolean ironGolemCanSwim = false; public double ironGolemMaxHealth = 100.0D; @@ -1642,7 +1642,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1194,6 +1251,7 @@ public class PurpurWorldConfig { +@@ -1191,6 +1248,7 @@ public class PurpurWorldConfig { set("mobs.iron_golem.attributes.max_health", oldValue); } ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth); @@ -1650,7 +1650,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean llamaRidable = false; -@@ -1206,6 +1264,7 @@ public class PurpurWorldConfig { +@@ -1203,6 +1261,7 @@ public class PurpurWorldConfig { public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMax = 0.175D; public int llamaBreedingTicks = 6000; @@ -1658,7 +1658,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1224,6 +1283,7 @@ public class PurpurWorldConfig { +@@ -1221,6 +1280,7 @@ public class PurpurWorldConfig { llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin); llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks); @@ -1666,7 +1666,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean magmaCubeRidable = false; -@@ -1233,6 +1293,7 @@ public class PurpurWorldConfig { +@@ -1230,6 +1290,7 @@ public class PurpurWorldConfig { public String magmaCubeAttackDamage = "size"; public Map magmaCubeMaxHealthCache = new HashMap<>(); public Map magmaCubeAttackDamageCache = new HashMap<>(); @@ -1674,7 +1674,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void magmaCubeSettings() { magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable); magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater); -@@ -1246,6 +1307,7 @@ public class PurpurWorldConfig { +@@ -1243,6 +1304,7 @@ public class PurpurWorldConfig { magmaCubeAttackDamage = getString("mobs.magma_cube.attributes.attack_damage", magmaCubeAttackDamage); magmaCubeMaxHealthCache.clear(); magmaCubeAttackDamageCache.clear(); @@ -1682,7 +1682,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean mooshroomRidable = false; -@@ -1253,6 +1315,7 @@ public class PurpurWorldConfig { +@@ -1250,6 +1312,7 @@ public class PurpurWorldConfig { public boolean mooshroomControllable = true; public double mooshroomMaxHealth = 10.0D; public int mooshroomBreedingTicks = 6000; @@ -1690,7 +1690,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1264,6 +1327,7 @@ public class PurpurWorldConfig { +@@ -1261,6 +1324,7 @@ public class PurpurWorldConfig { } mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks); @@ -1698,7 +1698,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean muleRidableInWater = false; -@@ -1274,6 +1338,7 @@ public class PurpurWorldConfig { +@@ -1271,6 +1335,7 @@ public class PurpurWorldConfig { public double muleMovementSpeedMin = 0.175D; public double muleMovementSpeedMax = 0.175D; public int muleBreedingTicks = 6000; @@ -1706,7 +1706,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1290,6 +1355,7 @@ public class PurpurWorldConfig { +@@ -1287,6 +1352,7 @@ public class PurpurWorldConfig { muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin); muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks); @@ -1714,7 +1714,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean ocelotRidable = false; -@@ -1297,6 +1363,7 @@ public class PurpurWorldConfig { +@@ -1294,6 +1360,7 @@ public class PurpurWorldConfig { public boolean ocelotControllable = true; public double ocelotMaxHealth = 10.0D; public int ocelotBreedingTicks = 6000; @@ -1722,7 +1722,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1308,6 +1375,7 @@ public class PurpurWorldConfig { +@@ -1305,6 +1372,7 @@ public class PurpurWorldConfig { } ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks); @@ -1730,7 +1730,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean pandaRidable = false; -@@ -1315,6 +1383,7 @@ public class PurpurWorldConfig { +@@ -1312,6 +1380,7 @@ public class PurpurWorldConfig { public boolean pandaControllable = true; public double pandaMaxHealth = 20.0D; public int pandaBreedingTicks = 6000; @@ -1738,7 +1738,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1326,6 +1395,7 @@ public class PurpurWorldConfig { +@@ -1323,6 +1392,7 @@ public class PurpurWorldConfig { } pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks); @@ -1746,7 +1746,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean parrotRidable = false; -@@ -1333,6 +1403,7 @@ public class PurpurWorldConfig { +@@ -1330,6 +1400,7 @@ public class PurpurWorldConfig { public boolean parrotControllable = true; public double parrotMaxY = 320D; public double parrotMaxHealth = 6.0D; @@ -1754,7 +1754,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1344,6 +1415,7 @@ public class PurpurWorldConfig { +@@ -1341,6 +1412,7 @@ public class PurpurWorldConfig { set("mobs.parrot.attributes.max_health", oldValue); } parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); @@ -1762,7 +1762,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean phantomRidable = false; -@@ -1370,6 +1442,7 @@ public class PurpurWorldConfig { +@@ -1367,6 +1439,7 @@ public class PurpurWorldConfig { public boolean phantomIgnorePlayersWithTorch = false; public boolean phantomBurnInDaylight = true; public boolean phantomFlamesOnSwoop = false; @@ -1770,7 +1770,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1404,6 +1477,7 @@ public class PurpurWorldConfig { +@@ -1401,6 +1474,7 @@ public class PurpurWorldConfig { phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight); phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop); @@ -1778,7 +1778,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean pigRidable = false; -@@ -1412,6 +1486,7 @@ public class PurpurWorldConfig { +@@ -1409,6 +1483,7 @@ public class PurpurWorldConfig { public double pigMaxHealth = 10.0D; public boolean pigGiveSaddleBack = false; public int pigBreedingTicks = 6000; @@ -1786,7 +1786,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -1424,6 +1499,7 @@ public class PurpurWorldConfig { +@@ -1421,6 +1496,7 @@ public class PurpurWorldConfig { pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks); @@ -1794,7 +1794,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean piglinRidable = false; -@@ -1431,6 +1507,7 @@ public class PurpurWorldConfig { +@@ -1428,6 +1504,7 @@ public class PurpurWorldConfig { public boolean piglinControllable = true; public double piglinMaxHealth = 16.0D; public boolean piglinBypassMobGriefing = false; @@ -1802,7 +1802,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1442,12 +1519,14 @@ public class PurpurWorldConfig { +@@ -1439,12 +1516,14 @@ public class PurpurWorldConfig { } piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); @@ -1817,7 +1817,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void piglinBruteSettings() { piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable); piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater); -@@ -1458,6 +1537,7 @@ public class PurpurWorldConfig { +@@ -1455,6 +1534,7 @@ public class PurpurWorldConfig { set("mobs.piglin_brute.attributes.max_health", oldValue); } piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth); @@ -1825,7 +1825,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean pillagerRidable = false; -@@ -1465,6 +1545,7 @@ public class PurpurWorldConfig { +@@ -1462,6 +1542,7 @@ public class PurpurWorldConfig { public boolean pillagerControllable = true; public double pillagerMaxHealth = 24.0D; public boolean pillagerBypassMobGriefing = false; @@ -1833,7 +1833,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -1476,6 +1557,7 @@ public class PurpurWorldConfig { +@@ -1473,6 +1554,7 @@ public class PurpurWorldConfig { } pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing); @@ -1841,7 +1841,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean polarBearRidable = false; -@@ -1485,6 +1567,7 @@ public class PurpurWorldConfig { +@@ -1482,6 +1564,7 @@ public class PurpurWorldConfig { public String polarBearBreedableItemString = ""; public Item polarBearBreedableItem = null; public int polarBearBreedingTicks = 6000; @@ -1849,7 +1849,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -1499,11 +1582,13 @@ public class PurpurWorldConfig { +@@ -1496,11 +1579,13 @@ public class PurpurWorldConfig { Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(polarBearBreedableItemString)); if (item != Items.AIR) polarBearBreedableItem = item; polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks); @@ -1863,7 +1863,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void pufferfishSettings() { pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable); pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable); -@@ -1513,6 +1598,7 @@ public class PurpurWorldConfig { +@@ -1510,6 +1595,7 @@ public class PurpurWorldConfig { set("mobs.pufferfish.attributes.max_health", oldValue); } pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth); @@ -1871,7 +1871,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean rabbitRidable = false; -@@ -1523,6 +1609,7 @@ public class PurpurWorldConfig { +@@ -1520,6 +1606,7 @@ public class PurpurWorldConfig { public double rabbitNaturalKiller = 0.0D; public int rabbitBreedingTicks = 6000; public boolean rabbitBypassMobGriefing = false; @@ -1879,7 +1879,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1537,6 +1624,7 @@ public class PurpurWorldConfig { +@@ -1534,6 +1621,7 @@ public class PurpurWorldConfig { rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); rabbitBypassMobGriefing = getBoolean("mobs.rabbit.bypass-mob-griefing", rabbitBypassMobGriefing); @@ -1887,7 +1887,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean ravagerRidable = false; -@@ -1544,6 +1632,7 @@ public class PurpurWorldConfig { +@@ -1541,6 +1629,7 @@ public class PurpurWorldConfig { public boolean ravagerControllable = true; public double ravagerMaxHealth = 100.0D; public boolean ravagerBypassMobGriefing = false; @@ -1895,7 +1895,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1555,11 +1644,13 @@ public class PurpurWorldConfig { +@@ -1552,11 +1641,13 @@ public class PurpurWorldConfig { } ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); @@ -1909,7 +1909,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void salmonSettings() { salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable); salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable); -@@ -1569,6 +1660,7 @@ public class PurpurWorldConfig { +@@ -1566,6 +1657,7 @@ public class PurpurWorldConfig { set("mobs.salmon.attributes.max_health", oldValue); } salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth); @@ -1917,7 +1917,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean sheepRidable = false; -@@ -1577,6 +1669,7 @@ public class PurpurWorldConfig { +@@ -1574,6 +1666,7 @@ public class PurpurWorldConfig { public double sheepMaxHealth = 8.0D; public int sheepBreedingTicks = 6000; public boolean sheepBypassMobGriefing = false; @@ -1925,7 +1925,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1589,12 +1682,14 @@ public class PurpurWorldConfig { +@@ -1586,12 +1679,14 @@ public class PurpurWorldConfig { sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing); @@ -1940,7 +1940,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -1605,6 +1700,7 @@ public class PurpurWorldConfig { +@@ -1602,6 +1697,7 @@ public class PurpurWorldConfig { set("mobs.shulker.attributes.max_health", oldValue); } shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth); @@ -1948,7 +1948,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean silverfishRidable = false; -@@ -1612,6 +1708,7 @@ public class PurpurWorldConfig { +@@ -1609,6 +1705,7 @@ public class PurpurWorldConfig { public boolean silverfishControllable = true; public double silverfishMaxHealth = 8.0D; public boolean silverfishBypassMobGriefing = false; @@ -1956,7 +1956,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -1623,12 +1720,14 @@ public class PurpurWorldConfig { +@@ -1620,12 +1717,14 @@ public class PurpurWorldConfig { } silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing); @@ -1971,7 +1971,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -1639,6 +1738,7 @@ public class PurpurWorldConfig { +@@ -1636,6 +1735,7 @@ public class PurpurWorldConfig { set("mobs.skeleton.attributes.max_health", oldValue); } skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth); @@ -1979,7 +1979,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean skeletonHorseRidableInWater = true; -@@ -1649,6 +1749,7 @@ public class PurpurWorldConfig { +@@ -1646,6 +1746,7 @@ public class PurpurWorldConfig { public double skeletonHorseJumpStrengthMax = 1.0D; public double skeletonHorseMovementSpeedMin = 0.2D; public double skeletonHorseMovementSpeedMax = 0.2D; @@ -1987,7 +1987,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void skeletonHorseSettings() { skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater); skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim); -@@ -1664,6 +1765,7 @@ public class PurpurWorldConfig { +@@ -1661,6 +1762,7 @@ public class PurpurWorldConfig { skeletonHorseJumpStrengthMax = getDouble("mobs.skeleton_horse.attributes.jump_strength.max", skeletonHorseJumpStrengthMax); skeletonHorseMovementSpeedMin = getDouble("mobs.skeleton_horse.attributes.movement_speed.min", skeletonHorseMovementSpeedMin); skeletonHorseMovementSpeedMax = getDouble("mobs.skeleton_horse.attributes.movement_speed.max", skeletonHorseMovementSpeedMax); @@ -1995,7 +1995,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean slimeRidable = false; -@@ -1673,6 +1775,7 @@ public class PurpurWorldConfig { +@@ -1670,6 +1772,7 @@ public class PurpurWorldConfig { public String slimeAttackDamage = "size"; public Map slimeMaxHealthCache = new HashMap<>(); public Map slimeAttackDamageCache = new HashMap<>(); @@ -2003,7 +2003,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void slimeSettings() { slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable); slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater); -@@ -1686,6 +1789,7 @@ public class PurpurWorldConfig { +@@ -1683,6 +1786,7 @@ public class PurpurWorldConfig { slimeAttackDamage = getString("mobs.slime.attributes.attack_damage", slimeAttackDamage); slimeMaxHealthCache.clear(); slimeAttackDamageCache.clear(); @@ -2011,7 +2011,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean snowGolemRidable = false; -@@ -1700,6 +1804,7 @@ public class PurpurWorldConfig { +@@ -1697,6 +1801,7 @@ public class PurpurWorldConfig { public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; @@ -2019,7 +2019,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1718,6 +1823,7 @@ public class PurpurWorldConfig { +@@ -1715,6 +1820,7 @@ public class PurpurWorldConfig { snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier); snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance); snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing); @@ -2027,7 +2027,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean snifferRidable = false; -@@ -1739,6 +1845,7 @@ public class PurpurWorldConfig { +@@ -1736,6 +1842,7 @@ public class PurpurWorldConfig { public boolean squidImmuneToEAR = true; public double squidOffsetWaterCheck = 0.0D; public boolean squidsCanFly = false; @@ -2035,7 +2035,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -1751,12 +1858,14 @@ public class PurpurWorldConfig { +@@ -1748,12 +1855,14 @@ public class PurpurWorldConfig { squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly); @@ -2050,7 +2050,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -1767,12 +1876,14 @@ public class PurpurWorldConfig { +@@ -1764,12 +1873,14 @@ public class PurpurWorldConfig { set("mobs.spider.attributes.max_health", oldValue); } spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth); @@ -2065,7 +2065,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void straySettings() { strayRidable = getBoolean("mobs.stray.ridable", strayRidable); strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater); -@@ -1783,6 +1894,7 @@ public class PurpurWorldConfig { +@@ -1780,6 +1891,7 @@ public class PurpurWorldConfig { set("mobs.stray.attributes.max_health", oldValue); } strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth); @@ -2073,7 +2073,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean striderRidable = false; -@@ -1791,6 +1903,7 @@ public class PurpurWorldConfig { +@@ -1788,6 +1900,7 @@ public class PurpurWorldConfig { public double striderMaxHealth = 20.0D; public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; @@ -2081,7 +2081,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1803,6 +1916,7 @@ public class PurpurWorldConfig { +@@ -1800,6 +1913,7 @@ public class PurpurWorldConfig { striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack); @@ -2089,7 +2089,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean tadpoleRidable = false; -@@ -1824,6 +1938,7 @@ public class PurpurWorldConfig { +@@ -1821,6 +1935,7 @@ public class PurpurWorldConfig { public double traderLlamaMovementSpeedMin = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D; public int traderLlamaBreedingTicks = 6000; @@ -2097,7 +2097,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -1842,11 +1957,13 @@ public class PurpurWorldConfig { +@@ -1839,11 +1954,13 @@ public class PurpurWorldConfig { traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin); traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks); @@ -2111,7 +2111,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void tropicalFishSettings() { tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable); -@@ -1856,6 +1973,7 @@ public class PurpurWorldConfig { +@@ -1853,6 +1970,7 @@ public class PurpurWorldConfig { set("mobs.tropical_fish.attributes.max_health", oldValue); } tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth); @@ -2119,7 +2119,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean turtleRidable = false; -@@ -1863,6 +1981,7 @@ public class PurpurWorldConfig { +@@ -1860,6 +1978,7 @@ public class PurpurWorldConfig { public boolean turtleControllable = true; public double turtleMaxHealth = 30.0D; public int turtleBreedingTicks = 6000; @@ -2127,7 +2127,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -1874,6 +1993,7 @@ public class PurpurWorldConfig { +@@ -1871,6 +1990,7 @@ public class PurpurWorldConfig { } turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks); @@ -2135,7 +2135,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean vexRidable = false; -@@ -1881,6 +2001,7 @@ public class PurpurWorldConfig { +@@ -1878,6 +1998,7 @@ public class PurpurWorldConfig { public boolean vexControllable = true; public double vexMaxY = 320D; public double vexMaxHealth = 14.0D; @@ -2143,7 +2143,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void vexSettings() { vexRidable = getBoolean("mobs.vex.ridable", vexRidable); vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater); -@@ -1892,6 +2013,7 @@ public class PurpurWorldConfig { +@@ -1889,6 +2010,7 @@ public class PurpurWorldConfig { set("mobs.vex.attributes.max_health", oldValue); } vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth); @@ -2151,7 +2151,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean villagerRidable = false; -@@ -1905,6 +2027,7 @@ public class PurpurWorldConfig { +@@ -1902,6 +2024,7 @@ public class PurpurWorldConfig { public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; public boolean villagerBypassMobGriefing = false; @@ -2159,7 +2159,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1922,6 +2045,7 @@ public class PurpurWorldConfig { +@@ -1919,6 +2042,7 @@ public class PurpurWorldConfig { villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); @@ -2167,7 +2167,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean vindicatorRidable = false; -@@ -1929,6 +2053,7 @@ public class PurpurWorldConfig { +@@ -1926,6 +2050,7 @@ public class PurpurWorldConfig { public boolean vindicatorControllable = true; public double vindicatorMaxHealth = 24.0D; public double vindicatorJohnnySpawnChance = 0D; @@ -2175,7 +2175,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -1940,6 +2065,7 @@ public class PurpurWorldConfig { +@@ -1937,6 +2062,7 @@ public class PurpurWorldConfig { } vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance); @@ -2183,7 +2183,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean wanderingTraderRidable = false; -@@ -1948,6 +2074,7 @@ public class PurpurWorldConfig { +@@ -1945,6 +2071,7 @@ public class PurpurWorldConfig { public double wanderingTraderMaxHealth = 20.0D; public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderCanBeLeashed = false; @@ -2191,7 +2191,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1960,6 +2087,7 @@ public class PurpurWorldConfig { +@@ -1957,6 +2084,7 @@ public class PurpurWorldConfig { wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); @@ -2199,7 +2199,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean wardenRidable = false; -@@ -1975,6 +2103,7 @@ public class PurpurWorldConfig { +@@ -1972,6 +2100,7 @@ public class PurpurWorldConfig { public boolean witchRidableInWater = true; public boolean witchControllable = true; public double witchMaxHealth = 26.0D; @@ -2207,7 +2207,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void witchSettings() { witchRidable = getBoolean("mobs.witch.ridable", witchRidable); witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater); -@@ -1985,6 +2114,7 @@ public class PurpurWorldConfig { +@@ -1982,6 +2111,7 @@ public class PurpurWorldConfig { set("mobs.witch.attributes.max_health", oldValue); } witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth); @@ -2215,7 +2215,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean witherRidable = false; -@@ -1995,6 +2125,7 @@ public class PurpurWorldConfig { +@@ -1992,6 +2122,7 @@ public class PurpurWorldConfig { public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; @@ -2223,7 +2223,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2013,12 +2144,14 @@ public class PurpurWorldConfig { +@@ -2010,12 +2141,14 @@ public class PurpurWorldConfig { witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); @@ -2238,7 +2238,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void witherSkeletonSettings() { witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); -@@ -2029,6 +2162,7 @@ public class PurpurWorldConfig { +@@ -2026,6 +2159,7 @@ public class PurpurWorldConfig { set("mobs.wither_skeleton.attributes.max_health", oldValue); } witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth); @@ -2246,7 +2246,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean wolfRidable = false; -@@ -2039,6 +2173,7 @@ public class PurpurWorldConfig { +@@ -2036,6 +2170,7 @@ public class PurpurWorldConfig { public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; @@ -2254,7 +2254,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -2057,12 +2192,14 @@ public class PurpurWorldConfig { +@@ -2054,12 +2189,14 @@ public class PurpurWorldConfig { wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies); wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid); wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks); @@ -2269,7 +2269,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void zoglinSettings() { zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable); zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater); -@@ -2073,6 +2210,7 @@ public class PurpurWorldConfig { +@@ -2070,6 +2207,7 @@ public class PurpurWorldConfig { set("mobs.zoglin.attributes.max_health", oldValue); } zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth); @@ -2277,7 +2277,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean zombieRidable = false; -@@ -2085,6 +2223,7 @@ public class PurpurWorldConfig { +@@ -2082,6 +2220,7 @@ public class PurpurWorldConfig { public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieBypassMobGriefing = false; @@ -2285,7 +2285,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2101,6 +2240,7 @@ public class PurpurWorldConfig { +@@ -2098,6 +2237,7 @@ public class PurpurWorldConfig { zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing); @@ -2293,7 +2293,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean zombieHorseRidableInWater = false; -@@ -2112,6 +2252,7 @@ public class PurpurWorldConfig { +@@ -2109,6 +2249,7 @@ public class PurpurWorldConfig { public double zombieHorseMovementSpeedMin = 0.2D; public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseSpawnChance = 0.0D; @@ -2301,7 +2301,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void zombieHorseSettings() { zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); -@@ -2128,6 +2269,7 @@ public class PurpurWorldConfig { +@@ -2125,6 +2266,7 @@ public class PurpurWorldConfig { zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin); zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax); zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance); @@ -2309,7 +2309,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean zombieVillagerRidable = false; -@@ -2138,6 +2280,7 @@ public class PurpurWorldConfig { +@@ -2135,6 +2277,7 @@ public class PurpurWorldConfig { public boolean zombieVillagerJockeyOnlyBaby = true; public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; @@ -2317,7 +2317,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2152,6 +2295,7 @@ public class PurpurWorldConfig { +@@ -2149,6 +2292,7 @@ public class PurpurWorldConfig { zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby); zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance); zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); @@ -2325,7 +2325,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f } public boolean zombifiedPiglinRidable = false; -@@ -2163,6 +2307,7 @@ public class PurpurWorldConfig { +@@ -2160,6 +2304,7 @@ public class PurpurWorldConfig { public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; @@ -2333,7 +2333,7 @@ index d7d3001d1b547d6191eef83736ff1f24137784c2..ddce741ab355df1fd3ca3d857ecfb17f private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -2178,5 +2323,6 @@ public class PurpurWorldConfig { +@@ -2175,5 +2320,6 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance); zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); diff --git a/patches/server/0131-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch b/patches/server/0131-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch index 9921182fb..8a8e2aca4 100644 --- a/patches/server/0131-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch +++ b/patches/server/0131-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch @@ -29,10 +29,10 @@ index 94027ef3f833c7170a99a8437740b7f99f30ab81..1f9a57c4fd251e2969b49a883ee12d3c } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 69d1f510eb78cd026c8e3d7d43221a0d5eed713f..a431bb3163e06a1416c22f405cf4ad6f62940ce9 100644 +index 5a3a24dc9fa017a27b7cc1adb23b457b3b26e0fd..9aab03a9fcdb4c97b623b2dd0cf960ffb4225e46 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -956,6 +956,7 @@ public class PurpurWorldConfig { +@@ -953,6 +953,7 @@ public class PurpurWorldConfig { public boolean enderDragonAlwaysDropsFullExp = false; public boolean enderDragonBypassMobGriefing = false; public boolean enderDragonTakeDamageFromWater = false; @@ -40,7 +40,7 @@ index 69d1f510eb78cd026c8e3d7d43221a0d5eed713f..a431bb3163e06a1416c22f405cf4ad6f private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -974,6 +975,7 @@ public class PurpurWorldConfig { +@@ -971,6 +972,7 @@ public class PurpurWorldConfig { enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing); enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater); @@ -48,7 +48,7 @@ index 69d1f510eb78cd026c8e3d7d43221a0d5eed713f..a431bb3163e06a1416c22f405cf4ad6f } public boolean endermanRidable = false; -@@ -2165,6 +2167,7 @@ public class PurpurWorldConfig { +@@ -2162,6 +2164,7 @@ public class PurpurWorldConfig { public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; public boolean witherTakeDamageFromWater = false; @@ -56,7 +56,7 @@ index 69d1f510eb78cd026c8e3d7d43221a0d5eed713f..a431bb3163e06a1416c22f405cf4ad6f private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2184,6 +2187,7 @@ public class PurpurWorldConfig { +@@ -2181,6 +2184,7 @@ public class PurpurWorldConfig { witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); diff --git a/patches/server/0137-Config-Enderman-aggressiveness-towards-Endermites.patch b/patches/server/0137-Config-Enderman-aggressiveness-towards-Endermites.patch index c577fc71c..c456a1784 100644 --- a/patches/server/0137-Config-Enderman-aggressiveness-towards-Endermites.patch +++ b/patches/server/0137-Config-Enderman-aggressiveness-towards-Endermites.patch @@ -18,10 +18,10 @@ index 2c59a40a1c9f898c859063919659e91628131af1..f579a092670b3e076008dc8c588ec2de } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 81f179cec1f11b7f49cc55940ad91ab021dd47fa..45575c52a4cf2cacb07096729bb8e1df47fcdb96 100644 +index 890ee7eae3b2de48c285c1683ddd9d2dcd8805aa..13e119a1288396ee967f3fcbadc43ae8f76f2226 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1006,6 +1006,8 @@ public class PurpurWorldConfig { +@@ -1003,6 +1003,8 @@ public class PurpurWorldConfig { public boolean endermanDespawnEvenWithBlock = false; public boolean endermanBypassMobGriefing = false; public boolean endermanTakeDamageFromWater = true; @@ -30,7 +30,7 @@ index 81f179cec1f11b7f49cc55940ad91ab021dd47fa..45575c52a4cf2cacb07096729bb8e1df private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1015,11 +1017,17 @@ public class PurpurWorldConfig { +@@ -1012,11 +1014,17 @@ public class PurpurWorldConfig { set("mobs.enderman.attributes.max-health", null); set("mobs.enderman.attributes.max_health", oldValue); } diff --git a/patches/server/0138-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch b/patches/server/0138-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch index 063679de0..4cef81e2d 100644 --- a/patches/server/0138-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch +++ b/patches/server/0138-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch @@ -20,10 +20,10 @@ index f579a092670b3e076008dc8c588ec2de0c2337b6..1c8e2813ee24a73a8f83c74b90dc5f6e } else { Vec3 vec3d = player.getViewVector(1.0F).normalize(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 45575c52a4cf2cacb07096729bb8e1df47fcdb96..2b92fffbcbf9688f70bca18b961a63c4b024d056 100644 +index 13e119a1288396ee967f3fcbadc43ae8f76f2226..5c4c30d8ccf491fe394cb374bdebeeeaad04fdc4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1008,6 +1008,8 @@ public class PurpurWorldConfig { +@@ -1005,6 +1005,8 @@ public class PurpurWorldConfig { public boolean endermanTakeDamageFromWater = true; public boolean endermanAggroEndermites = true; public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; @@ -32,7 +32,7 @@ index 45575c52a4cf2cacb07096729bb8e1df47fcdb96..2b92fffbcbf9688f70bca18b961a63c4 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1028,6 +1030,8 @@ public class PurpurWorldConfig { +@@ -1025,6 +1027,8 @@ public class PurpurWorldConfig { endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater); endermanAggroEndermites = getBoolean("mobs.enderman.aggressive-towards-endermites", endermanAggroEndermites); endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned); diff --git a/patches/server/0140-Config-to-disable-Llama-caravans.patch b/patches/server/0140-Config-to-disable-Llama-caravans.patch index f668d022f..2c82409c9 100644 --- a/patches/server/0140-Config-to-disable-Llama-caravans.patch +++ b/patches/server/0140-Config-to-disable-Llama-caravans.patch @@ -32,10 +32,10 @@ index 2c5f4ead1141269a029176140c4df848c75b9620..26ed1eef3b38e643dfc6738e4b7880c9 this.caravanHead.caravanTail = this; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b9fda8094038a03bbd30fb9e30d4392847bf1f3b..29ae4732979f6cdc0a4a0afc76a79f2e447830d3 100644 +index 00a34d17e187b025d4c6276e00a205a717b09e29..3172141c323f3f15de724cd85babc07d33397eef 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1340,6 +1340,7 @@ public class PurpurWorldConfig { +@@ -1337,6 +1337,7 @@ public class PurpurWorldConfig { public double llamaMovementSpeedMax = 0.175D; public int llamaBreedingTicks = 6000; public boolean llamaTakeDamageFromWater = false; @@ -43,7 +43,7 @@ index b9fda8094038a03bbd30fb9e30d4392847bf1f3b..29ae4732979f6cdc0a4a0afc76a79f2e private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1359,6 +1360,7 @@ public class PurpurWorldConfig { +@@ -1356,6 +1357,7 @@ public class PurpurWorldConfig { llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks); llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater); diff --git a/patches/server/0141-Config-to-make-Creepers-explode-on-death.patch b/patches/server/0141-Config-to-make-Creepers-explode-on-death.patch index b54de2c5f..36aabfc55 100644 --- a/patches/server/0141-Config-to-make-Creepers-explode-on-death.patch +++ b/patches/server/0141-Config-to-make-Creepers-explode-on-death.patch @@ -50,10 +50,10 @@ index 6e80ea775596c5804b674234b7d59f4c941a49dc..ed5b0ec4c9616691c383067f8d949e63 private void spawnLingeringCloud() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 29ae4732979f6cdc0a4a0afc76a79f2e447830d3..9a4afd9d31b9c4a8801428170ddc4771cba673af 100644 +index 3172141c323f3f15de724cd85babc07d33397eef..89c2003d7b420369d554fe48c6d3296bb108b4dc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -860,6 +860,7 @@ public class PurpurWorldConfig { +@@ -857,6 +857,7 @@ public class PurpurWorldConfig { public boolean creeperAllowGriefing = true; public boolean creeperBypassMobGriefing = false; public boolean creeperTakeDamageFromWater = false; @@ -61,7 +61,7 @@ index 29ae4732979f6cdc0a4a0afc76a79f2e447830d3..9a4afd9d31b9c4a8801428170ddc4771 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -874,6 +875,7 @@ public class PurpurWorldConfig { +@@ -871,6 +872,7 @@ public class PurpurWorldConfig { creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater); diff --git a/patches/server/0142-Configurable-ravager-griefable-blocks-list.patch b/patches/server/0142-Configurable-ravager-griefable-blocks-list.patch index a748caf15..5a08a83af 100644 --- a/patches/server/0142-Configurable-ravager-griefable-blocks-list.patch +++ b/patches/server/0142-Configurable-ravager-griefable-blocks-list.patch @@ -31,10 +31,10 @@ index cf7007cabe4ba7505f2728e79e4c56e2d1bc878b..c431ec19212821ba7722c073e5ee6ad7 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9a4afd9d31b9c4a8801428170ddc4771cba673af..8821f2b7ce51309c2c8497486ffde19ddbce6cfb 100644 +index 89c2003d7b420369d554fe48c6d3296bb108b4dc..f5a26ea78419e14ea4a6af08a14e677181763784 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1712,6 +1712,7 @@ public class PurpurWorldConfig { +@@ -1709,6 +1709,7 @@ public class PurpurWorldConfig { public double ravagerMaxHealth = 100.0D; public boolean ravagerBypassMobGriefing = false; public boolean ravagerTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index 9a4afd9d31b9c4a8801428170ddc4771cba673af..8821f2b7ce51309c2c8497486ffde19d private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1724,6 +1725,23 @@ public class PurpurWorldConfig { +@@ -1721,6 +1722,23 @@ public class PurpurWorldConfig { ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater); diff --git a/patches/server/0145-Add-config-for-villager-trading.patch b/patches/server/0145-Add-config-for-villager-trading.patch index 9387d56dd..430ce72ad 100644 --- a/patches/server/0145-Add-config-for-villager-trading.patch +++ b/patches/server/0145-Add-config-for-villager-trading.patch @@ -31,10 +31,10 @@ index e2a9179bb7a5ecbc31d98a2410a09f5e2107234b..8fd8778e918566504666213a102a7ee2 this.openTradingScreen(player, this.getDisplayName(), 1); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f26edadaad8d5fdb902e9ec09479c238f3aebbaa..6ff3f95ab4f36c0beda89f5c86f0f78a5476a407 100644 +index 3fb96a14928d24920999336a40920f0a4db65e9b..315144150854861df1d9d0f8dce877dad7d73812 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2132,6 +2132,7 @@ public class PurpurWorldConfig { +@@ -2129,6 +2129,7 @@ public class PurpurWorldConfig { public boolean villagerClericFarmersThrowWarts = true; public boolean villagerBypassMobGriefing = false; public boolean villagerTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index f26edadaad8d5fdb902e9ec09479c238f3aebbaa..6ff3f95ab4f36c0beda89f5c86f0f78a private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2150,6 +2151,7 @@ public class PurpurWorldConfig { +@@ -2147,6 +2148,7 @@ public class PurpurWorldConfig { villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); @@ -50,7 +50,7 @@ index f26edadaad8d5fdb902e9ec09479c238f3aebbaa..6ff3f95ab4f36c0beda89f5c86f0f78a } public boolean vindicatorRidable = false; -@@ -2179,6 +2181,7 @@ public class PurpurWorldConfig { +@@ -2176,6 +2178,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderTakeDamageFromWater = false; @@ -58,7 +58,7 @@ index f26edadaad8d5fdb902e9ec09479c238f3aebbaa..6ff3f95ab4f36c0beda89f5c86f0f78a private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -2192,6 +2195,7 @@ public class PurpurWorldConfig { +@@ -2189,6 +2192,7 @@ public class PurpurWorldConfig { wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater); diff --git a/patches/server/0156-Piglin-portal-spawn-modifier.patch b/patches/server/0156-Piglin-portal-spawn-modifier.patch index 53a507da2..6ffe0041f 100644 --- a/patches/server/0156-Piglin-portal-spawn-modifier.patch +++ b/patches/server/0156-Piglin-portal-spawn-modifier.patch @@ -31,10 +31,10 @@ index 2c085c4a154cb0f8a1d38453f43474a764398784..589b437e7c97c846410f293e2f014bdc pos = pos.below(); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 79d0caef548271c829b9239b5b1795894d705662..e2c97b4a056939b409f0b440031deef72f866803 100644 +index 8aa812f7dc8853cf9299f6273a1b57d6047a849f..2e1fbe704a470b65776979998943f08c54b17d55 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1656,6 +1656,7 @@ public class PurpurWorldConfig { +@@ -1653,6 +1653,7 @@ public class PurpurWorldConfig { public double piglinMaxHealth = 16.0D; public boolean piglinBypassMobGriefing = false; public boolean piglinTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index 79d0caef548271c829b9239b5b1795894d705662..e2c97b4a056939b409f0b440031deef7 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1668,6 +1669,7 @@ public class PurpurWorldConfig { +@@ -1665,6 +1666,7 @@ public class PurpurWorldConfig { piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater); diff --git a/patches/server/0158-Config-for-wither-explosion-radius.patch b/patches/server/0158-Config-for-wither-explosion-radius.patch index ad5c85495..bf4015df7 100644 --- a/patches/server/0158-Config-for-wither-explosion-radius.patch +++ b/patches/server/0158-Config-for-wither-explosion-radius.patch @@ -18,10 +18,10 @@ index 80b86d5dd68c3d288a1a61ea8aa1cba9d899aa1c..7847915fb90e45e44ba514957193fa7b if (!event.isCancelled()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e2c97b4a056939b409f0b440031deef72f866803..d7b86fd73448abbaf18c0193f968c7615f1546b4 100644 +index 2e1fbe704a470b65776979998943f08c54b17d55..7f23e61bc86b64a312b8c47e21a91371a565ceda 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2299,6 +2299,7 @@ public class PurpurWorldConfig { +@@ -2296,6 +2296,7 @@ public class PurpurWorldConfig { public boolean witherBypassMobGriefing = false; public boolean witherTakeDamageFromWater = false; public boolean witherCanRideVehicles = false; @@ -29,7 +29,7 @@ index e2c97b4a056939b409f0b440031deef72f866803..d7b86fd73448abbaf18c0193f968c761 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2319,6 +2320,7 @@ public class PurpurWorldConfig { +@@ -2316,6 +2317,7 @@ public class PurpurWorldConfig { witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); diff --git a/patches/server/0165-Config-for-health-to-impact-Creeper-explosion-radius.patch b/patches/server/0165-Config-for-health-to-impact-Creeper-explosion-radius.patch index 1111b77c3..0b9c92f5e 100644 --- a/patches/server/0165-Config-for-health-to-impact-Creeper-explosion-radius.patch +++ b/patches/server/0165-Config-for-health-to-impact-Creeper-explosion-radius.patch @@ -21,10 +21,10 @@ index ed5b0ec4c9616691c383067f8d949e63cb7c4497..45a9496d9d6109b5ad844113dfd43177 if (!event.isCancelled()) { this.dead = true; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3b4107a8e6d1ba0f964b26700a91d784c4a48261..4170bc71a32e531504a5ce34122c7a301ea71fcf 100644 +index 4149d8f762aad98f43600400b6a896c13a80417b..56b5405f88a4454f93a58940721886711af0a990 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -952,6 +952,7 @@ public class PurpurWorldConfig { +@@ -949,6 +949,7 @@ public class PurpurWorldConfig { public boolean creeperBypassMobGriefing = false; public boolean creeperTakeDamageFromWater = false; public boolean creeperExplodeWhenKilled = false; @@ -32,7 +32,7 @@ index 3b4107a8e6d1ba0f964b26700a91d784c4a48261..4170bc71a32e531504a5ce34122c7a30 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -967,6 +968,7 @@ public class PurpurWorldConfig { +@@ -964,6 +965,7 @@ public class PurpurWorldConfig { creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater); creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled); diff --git a/patches/server/0166-Iron-golem-calm-anger-options.patch b/patches/server/0166-Iron-golem-calm-anger-options.patch index bad570495..e294125ed 100644 --- a/patches/server/0166-Iron-golem-calm-anger-options.patch +++ b/patches/server/0166-Iron-golem-calm-anger-options.patch @@ -25,10 +25,10 @@ index 58539d29b8e2a8c0676cc574f64e7d61613e1451..1ffb8e1c386fc85796432281ac407a93 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4170bc71a32e531504a5ce34122c7a301ea71fcf..3e26db21c3a7211ec53d3bd7f1da028b736f8dd1 100644 +index 56b5405f88a4454f93a58940721886711af0a990..f852d5082467472202775687005826a5a5cb0b6e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1410,6 +1410,8 @@ public class PurpurWorldConfig { +@@ -1407,6 +1407,8 @@ public class PurpurWorldConfig { public boolean ironGolemCanSwim = false; public double ironGolemMaxHealth = 100.0D; public boolean ironGolemTakeDamageFromWater = false; @@ -37,7 +37,7 @@ index 4170bc71a32e531504a5ce34122c7a301ea71fcf..3e26db21c3a7211ec53d3bd7f1da028b private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1422,6 +1424,8 @@ public class PurpurWorldConfig { +@@ -1419,6 +1421,8 @@ public class PurpurWorldConfig { } ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth); ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater); diff --git a/patches/server/0167-Breedable-parrots.patch b/patches/server/0167-Breedable-parrots.patch index 07264e484..84e6aabfe 100644 --- a/patches/server/0167-Breedable-parrots.patch +++ b/patches/server/0167-Breedable-parrots.patch @@ -50,10 +50,10 @@ index 08935a1f2c4a3f43483719686e5baab5063cdfce..bfae3b94ab035e1c27c988cfcc3b449c @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3e26db21c3a7211ec53d3bd7f1da028b736f8dd1..323a2298c526eb75d9e4d65bd35d97e9e3f1e664 100644 +index f852d5082467472202775687005826a5a5cb0b6e..7aeec14af9993e123d35a53ffa41750519c20027 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1580,6 +1580,7 @@ public class PurpurWorldConfig { +@@ -1577,6 +1577,7 @@ public class PurpurWorldConfig { public double parrotMaxY = 320D; public double parrotMaxHealth = 6.0D; public boolean parrotTakeDamageFromWater = false; @@ -61,7 +61,7 @@ index 3e26db21c3a7211ec53d3bd7f1da028b736f8dd1..323a2298c526eb75d9e4d65bd35d97e9 private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1592,6 +1593,7 @@ public class PurpurWorldConfig { +@@ -1589,6 +1590,7 @@ public class PurpurWorldConfig { } parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater); diff --git a/patches/server/0184-Shulker-spawn-from-bullet-options.patch b/patches/server/0184-Shulker-spawn-from-bullet-options.patch index 470094717..32a26c7d9 100644 --- a/patches/server/0184-Shulker-spawn-from-bullet-options.patch +++ b/patches/server/0184-Shulker-spawn-from-bullet-options.patch @@ -68,10 +68,10 @@ index 88e1c2431d51d8cdc3d555b711e506648225d289..ac8735cc9d127fc1f867b40d4000c033 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7d0ccbbbba28703f7b8aea92369c1603d4c7ee42..8b51a2b244ddfec03041c213e51366f5b8534d1e 100644 +index d2e97de0e011715d7326ace3e5f083b180c63dcf..1f89f05884afa650feb948755aaaa3d071769412 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1950,6 +1950,11 @@ public class PurpurWorldConfig { +@@ -1947,6 +1947,11 @@ public class PurpurWorldConfig { public boolean shulkerControllable = true; public double shulkerMaxHealth = 30.0D; public boolean shulkerTakeDamageFromWater = false; @@ -83,7 +83,7 @@ index 7d0ccbbbba28703f7b8aea92369c1603d4c7ee42..8b51a2b244ddfec03041c213e51366f5 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -1961,6 +1966,11 @@ public class PurpurWorldConfig { +@@ -1958,6 +1963,11 @@ public class PurpurWorldConfig { } shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth); shulkerTakeDamageFromWater = getBoolean("mobs.shulker.takes-damage-from-water", shulkerTakeDamageFromWater); diff --git a/patches/server/0186-Option-to-make-drowned-break-doors.patch b/patches/server/0186-Option-to-make-drowned-break-doors.patch index d6b61c040..ec1f5ec05 100644 --- a/patches/server/0186-Option-to-make-drowned-break-doors.patch +++ b/patches/server/0186-Option-to-make-drowned-break-doors.patch @@ -34,10 +34,10 @@ index 902f831ea001145f73691b96f2fca8245a4fc05a..9346d634dd2b8cb3d89aa7ccf12fec6f @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2793653f46d5505f44a396174bb51a94637b7c39..b092bdb83276309c92908dfc88c51257b7b5e854 100644 +index 726fa3439443994525ffd29a398b8ea39b778d75..480ca89bab8c858b7a50991e3aed277413b4218b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1096,6 +1096,7 @@ public class PurpurWorldConfig { +@@ -1093,6 +1093,7 @@ public class PurpurWorldConfig { public double drownedJockeyChance = 0.05D; public boolean drownedJockeyTryExistingChickens = true; public boolean drownedTakeDamageFromWater = false; @@ -45,7 +45,7 @@ index 2793653f46d5505f44a396174bb51a94637b7c39..b092bdb83276309c92908dfc88c51257 private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1111,6 +1112,7 @@ public class PurpurWorldConfig { +@@ -1108,6 +1109,7 @@ public class PurpurWorldConfig { drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance); drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens); drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater); diff --git a/patches/server/0187-Configurable-hunger-starvation-damage.patch b/patches/server/0187-Configurable-hunger-starvation-damage.patch index 45f547c81..3c1d8395b 100644 --- a/patches/server/0187-Configurable-hunger-starvation-damage.patch +++ b/patches/server/0187-Configurable-hunger-starvation-damage.patch @@ -18,10 +18,10 @@ index 31ec6022b305df0ae02364c916ecf18425a0bc36..e54af9ff2a786e919b8261aa27509be9 this.tickTimer = 0; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b092bdb83276309c92908dfc88c51257b7b5e854..d2735707d070b9e2c38bae18ece07eadbc56f447 100644 +index 480ca89bab8c858b7a50991e3aed277413b4218b..0201060229e8576c0b9d37288d6bff626edb34c7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2607,4 +2607,9 @@ public class PurpurWorldConfig { +@@ -2604,4 +2604,9 @@ public class PurpurWorldConfig { zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); } diff --git a/patches/server/0197-Config-to-disable-Enderman-teleport-on-projectile-hi.patch b/patches/server/0197-Config-to-disable-Enderman-teleport-on-projectile-hi.patch index afb0933a6..686b01aaa 100644 --- a/patches/server/0197-Config-to-disable-Enderman-teleport-on-projectile-hi.patch +++ b/patches/server/0197-Config-to-disable-Enderman-teleport-on-projectile-hi.patch @@ -17,10 +17,10 @@ index 1c8e2813ee24a73a8f83c74b90dc5f6eafe3689d..8db82eaa2355b15aa78fc9500368acf2 for (int i = 0; i < 64; ++i) { if (this.teleport()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4f8541c1b9864ab2f902f0b1a43dccd404678006..2811a4bff8a29d5975528d572320fb34e726b032 100644 +index d7ea79fd4b42a1713ded107e8a2bc4d2a2bd96b7..1e0eb1758fbb98cd82f1a9dabbfa9281d83d4396 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1354,6 +1354,7 @@ public class PurpurWorldConfig { +@@ -1351,6 +1351,7 @@ public class PurpurWorldConfig { public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; public boolean endermanIgnorePlayerDragonHead = false; public boolean endermanDisableStareAggro = false; @@ -28,7 +28,7 @@ index 4f8541c1b9864ab2f902f0b1a43dccd404678006..2811a4bff8a29d5975528d572320fb34 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1376,6 +1377,7 @@ public class PurpurWorldConfig { +@@ -1373,6 +1374,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/0201-Customizeable-Zombie-Villager-curing-times.patch b/patches/server/0201-Customizeable-Zombie-Villager-curing-times.patch index 63a12396a..bccb5f077 100644 --- a/patches/server/0201-Customizeable-Zombie-Villager-curing-times.patch +++ b/patches/server/0201-Customizeable-Zombie-Villager-curing-times.patch @@ -18,10 +18,10 @@ index c3f220a85b91a25662c943b5ee4508cd7a18c75d..40b3498c57c62f8bdaac50546ca47f49 return InteractionResult.SUCCESS; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f08d302c7f8d163869067a80f5033e61b5cf3e40..1956541b29e264d9dc0cfda5569d708a2df83378 100644 +index 315fe5a2d00eb89563bea320a7cf5cb9964bce96..fdbb8bb236f2180d0a278bb614b24647111bb6c5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2755,6 +2755,8 @@ public class PurpurWorldConfig { +@@ -2752,6 +2752,8 @@ public class PurpurWorldConfig { public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; public boolean zombieVillagerTakeDamageFromWater = false; @@ -30,7 +30,7 @@ index f08d302c7f8d163869067a80f5033e61b5cf3e40..1956541b29e264d9dc0cfda5569d708a private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2770,6 +2772,8 @@ public class PurpurWorldConfig { +@@ -2767,6 +2769,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/0203-Toggle-for-Wither-s-spawn-sound.patch b/patches/server/0203-Toggle-for-Wither-s-spawn-sound.patch index 1a37b5b05..5685fc8be 100644 --- a/patches/server/0203-Toggle-for-Wither-s-spawn-sound.patch +++ b/patches/server/0203-Toggle-for-Wither-s-spawn-sound.patch @@ -18,10 +18,10 @@ index 24fc4934f2193806fa38c8c3b0ad4cbfc53650a6..bd38dad0a38a60a0421ee62e52ef7009 // this.level().globalLevelEvent(1023, new BlockPosition(this), 0); int viewDistance = ((ServerLevel) this.level()).getCraftServer().getViewDistance() * 16; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index adb662181b627e7cd5aa34fc2947afd8c32a5ba6..96871b1bbf2f7760da0d6a7426664af183ccbf04 100644 +index f74fd68281bc1895839b592a3b1bd49017e3f96f..471020063a8e1f5fb23c3f66823ff7fc19b3ddff 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2600,6 +2600,7 @@ public class PurpurWorldConfig { +@@ -2597,6 +2597,7 @@ public class PurpurWorldConfig { public boolean witherTakeDamageFromWater = false; public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; @@ -29,7 +29,7 @@ index adb662181b627e7cd5aa34fc2947afd8c32a5ba6..96871b1bbf2f7760da0d6a7426664af1 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2621,6 +2622,7 @@ public class PurpurWorldConfig { +@@ -2618,6 +2619,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/0206-Conduit-behavior-configuration.patch b/patches/server/0206-Conduit-behavior-configuration.patch index daf4b7769..66c4177b2 100644 --- a/patches/server/0206-Conduit-behavior-configuration.patch +++ b/patches/server/0206-Conduit-behavior-configuration.patch @@ -77,10 +77,10 @@ index 963a596154091b79ca139af6274aa323518ad1ad..4dcac3899a500d8586580bcfd5b4516e }); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index fad6f824b761ad41b462ed741e5476856638d0c8..0806a8d8c2d067c3e534ec97948ae16de8628297 100644 +index 825a3acacbc04805a9616bbe6a4f0f1acd48cc74..5166bc22d22199ecfce98a9b2693a83618abb9fa 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2819,4 +2819,27 @@ public class PurpurWorldConfig { +@@ -2816,4 +2816,27 @@ public class PurpurWorldConfig { private void hungerSettings() { hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage); } diff --git a/patches/server/0207-Cauldron-fill-chances.patch b/patches/server/0207-Cauldron-fill-chances.patch index 739424c05..689689021 100644 --- a/patches/server/0207-Cauldron-fill-chances.patch +++ b/patches/server/0207-Cauldron-fill-chances.patch @@ -47,10 +47,10 @@ index e978132e51cde52f7ff1ba31ad521fc2cb4f0dce..60a95c42a333d68d9fd14539e0051c08 if (dripChance < f1) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0806a8d8c2d067c3e534ec97948ae16de8628297..e9be1c59292882b5a5239e305fb1a3ad008d9b81 100644 +index 5166bc22d22199ecfce98a9b2693a83618abb9fa..194e6417d980a29c3c910f1a47f26387f0825e02 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2842,4 +2842,15 @@ public class PurpurWorldConfig { +@@ -2839,4 +2839,15 @@ public class PurpurWorldConfig { }); conduitBlocks = conduitBlockList.toArray(Block[]::new); } diff --git a/patches/server/0209-Shulker-change-color-with-dye.patch b/patches/server/0209-Shulker-change-color-with-dye.patch index 06b60153f..ff3f041be 100644 --- a/patches/server/0209-Shulker-change-color-with-dye.patch +++ b/patches/server/0209-Shulker-change-color-with-dye.patch @@ -47,10 +47,10 @@ index 48fcfef45ab149328573f4e80c8f0289f9eebbe8..fbafb9e2ea9dfd237560d34f9cd6f295 protected void registerGoals() { this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ce0e0e10eb677facd729d45c1c4f39a1fe92b72f..31892e1ddcdb59580a1588219bc85757f3a926ea 100644 +index 80f1be7379bd03eb604daf7c8a30f06c3da1c661..900ef275e68bcdea7eb8c1ca096a953f9e8658d4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2162,6 +2162,7 @@ public class PurpurWorldConfig { +@@ -2159,6 +2159,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 ce0e0e10eb677facd729d45c1c4f39a1fe92b72f..31892e1ddcdb59580a1588219bc85757 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2178,6 +2179,7 @@ public class PurpurWorldConfig { +@@ -2175,6 +2176,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/0215-Dolphins-naturally-aggressive-to-players-chance.patch b/patches/server/0215-Dolphins-naturally-aggressive-to-players-chance.patch index 07d167265..3cf942d82 100644 --- a/patches/server/0215-Dolphins-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0215-Dolphins-naturally-aggressive-to-players-chance.patch @@ -48,10 +48,10 @@ index 6006b9c996a8070336c4471f2a915d70c6371c76..3755ffc395ec4644a2263c59cdacfdba 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 6406b1cd67ebd2d173a12a90ccc5dbbd388a4fb8..39e0f27bd90e2518385f62b3347e7699e8d948f1 100644 +index dc7529035cb9624675aa50b4333a0c8f893204b4..dcd0402dbfab1d83e4b1843ac36720054a08e9f7 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 { +@@ -1257,6 +1257,7 @@ public class PurpurWorldConfig { public double dolphinMaxHealth = 10.0D; public boolean dolphinDisableTreasureSearching = false; public boolean dolphinTakeDamageFromWater = false; @@ -59,7 +59,7 @@ index 6406b1cd67ebd2d173a12a90ccc5dbbd388a4fb8..39e0f27bd90e2518385f62b3347e7699 private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -1274,6 +1275,7 @@ public class PurpurWorldConfig { +@@ -1271,6 +1272,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/0216-Cows-naturally-aggressive-to-players-chance.patch b/patches/server/0216-Cows-naturally-aggressive-to-players-chance.patch index 7f13dd48d..c8c75b268 100644 --- a/patches/server/0216-Cows-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0216-Cows-naturally-aggressive-to-players-chance.patch @@ -57,10 +57,10 @@ index c6e5278641fb4a246a8df988fdf5068a044e2c4e..30e87b71ad237d76ec5adb4976edeca9 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 39e0f27bd90e2518385f62b3347e7699e8d948f1..95e15e3a3e2915fa7b62079a9da137f08ba42231 100644 +index dcd0402dbfab1d83e4b1843ac36720054a08e9f7..0118bdeb8857e1562e2392cb7eac26232d07980c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1209,7 +1209,14 @@ public class PurpurWorldConfig { +@@ -1206,7 +1206,14 @@ public class PurpurWorldConfig { public int cowFeedMushrooms = 0; public int cowBreedingTicks = 6000; public boolean cowTakeDamageFromWater = false; @@ -75,7 +75,7 @@ index 39e0f27bd90e2518385f62b3347e7699e8d948f1..95e15e3a3e2915fa7b62079a9da137f0 cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); cowControllable = getBoolean("mobs.cow.controllable", cowControllable); -@@ -1222,6 +1229,8 @@ public class PurpurWorldConfig { +@@ -1219,6 +1226,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/0218-Halloween-options-and-optimizations.patch b/patches/server/0218-Halloween-options-and-optimizations.patch index 3a4ad97a2..0c3a0fe2a 100644 --- a/patches/server/0218-Halloween-options-and-optimizations.patch +++ b/patches/server/0218-Halloween-options-and-optimizations.patch @@ -60,10 +60,10 @@ index 0bc90b6d5c5a3cb3477d41336a9bb1130ff32fa1..a8d2f8654ee370e98bb1c4e7e1111deb 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 a22f1730b956c8effd9594758ce66aa63230b822..07166097088ba602a7e34ead2815656f95ba8171 100644 +index 7b4303dedc0950b6fc3132d890ab5480dc76d370..207e36eba637024127b3ee0da422a85adb856a62 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1602,6 +1602,13 @@ public class PurpurWorldConfig { +@@ -1599,6 +1599,13 @@ public class PurpurWorldConfig { guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater); } diff --git a/patches/server/0223-Add-option-to-disable-zombie-villagers-cure.patch b/patches/server/0223-Add-option-to-disable-zombie-villagers-cure.patch index b77268d70..c3b0c27f3 100644 --- a/patches/server/0223-Add-option-to-disable-zombie-villagers-cure.patch +++ b/patches/server/0223-Add-option-to-disable-zombie-villagers-cure.patch @@ -18,10 +18,10 @@ index 40b3498c57c62f8bdaac50546ca47f4927db7bfa..b8e0ae0714fd2b77831fb714b1bad901 itemstack.shrink(1); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c79b825fc014472573a2c3161fd1877f5390444f..d1a9e2d8b6f17c610d98a7c68d58dabd78facc70 100644 +index 8a93c72864c36a1c7001d43565f0b41c7e87985e..9f28f1dfdef6ccdace82b8026e039e2f473b3681 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2819,6 +2819,7 @@ public class PurpurWorldConfig { +@@ -2816,6 +2816,7 @@ public class PurpurWorldConfig { public boolean zombieVillagerTakeDamageFromWater = false; public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; @@ -29,7 +29,7 @@ index c79b825fc014472573a2c3161fd1877f5390444f..d1a9e2d8b6f17c610d98a7c68d58dabd private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2836,6 +2837,7 @@ public class PurpurWorldConfig { +@@ -2833,6 +2834,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/0227-Mobs-always-drop-experience.patch b/patches/server/0227-Mobs-always-drop-experience.patch index def667e1d..e53d851f9 100644 --- a/patches/server/0227-Mobs-always-drop-experience.patch +++ b/patches/server/0227-Mobs-always-drop-experience.patch @@ -1157,7 +1157,7 @@ index 8fd8778e918566504666213a102a7ee2d1ed8b14..7fa248b2d1b73e20085f0d3cdfead385 protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a98a74087 100644 +index ce69519fbbc75174421a326e8054452df410bea2..c15de0704b93f32dee41917c3e7ed48ec41aaffb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -1024,12 +1024,14 @@ public class PurpurWorldConfig { @@ -1222,8 +1222,8 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a + blazeAlwaysDropExp = getBoolean("mobs.blaze.always-drop-exp", blazeAlwaysDropExp); } - public int camelBreedingTicks = 6000; -@@ -1144,6 +1152,7 @@ public class PurpurWorldConfig { + public boolean camelRidableInWater = false; +@@ -1141,6 +1149,7 @@ public class PurpurWorldConfig { public int catBreedingTicks = 6000; public DyeColor catDefaultCollarColor = DyeColor.RED; public boolean catTakeDamageFromWater = false; @@ -1231,7 +1231,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -1164,6 +1173,7 @@ public class PurpurWorldConfig { +@@ -1161,6 +1170,7 @@ public class PurpurWorldConfig { catDefaultCollarColor = DyeColor.RED; } catTakeDamageFromWater = getBoolean("mobs.cat.takes-damage-from-water", catTakeDamageFromWater); @@ -1239,7 +1239,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean caveSpiderRidable = false; -@@ -1171,6 +1181,7 @@ public class PurpurWorldConfig { +@@ -1168,6 +1178,7 @@ public class PurpurWorldConfig { public boolean caveSpiderControllable = true; public double caveSpiderMaxHealth = 12.0D; public boolean caveSpiderTakeDamageFromWater = false; @@ -1247,7 +1247,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void caveSpiderSettings() { caveSpiderRidable = getBoolean("mobs.cave_spider.ridable", caveSpiderRidable); caveSpiderRidableInWater = getBoolean("mobs.cave_spider.ridable-in-water", caveSpiderRidableInWater); -@@ -1182,6 +1193,7 @@ public class PurpurWorldConfig { +@@ -1179,6 +1190,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean chickenRidable = false; -@@ -1191,6 +1203,7 @@ public class PurpurWorldConfig { +@@ -1188,6 +1200,7 @@ public class PurpurWorldConfig { public boolean chickenRetaliate = false; public int chickenBreedingTicks = 6000; public boolean chickenTakeDamageFromWater = false; @@ -1263,7 +1263,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -1204,12 +1217,14 @@ public class PurpurWorldConfig { +@@ -1201,12 +1214,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void codSettings() { codRidable = getBoolean("mobs.cod.ridable", codRidable); codControllable = getBoolean("mobs.cod.controllable", codControllable); -@@ -1220,6 +1235,7 @@ public class PurpurWorldConfig { +@@ -1217,6 +1232,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean cowRidable = false; -@@ -1231,6 +1247,7 @@ public class PurpurWorldConfig { +@@ -1228,6 +1244,7 @@ public class PurpurWorldConfig { public boolean cowTakeDamageFromWater = false; public double cowNaturallyAggressiveToPlayersChance = 0.0D; public double cowNaturallyAggressiveToPlayersDamage = 2.0D; @@ -1294,7 +1294,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void cowSettings() { if (PurpurConfig.version < 22) { double oldValue = getDouble("mobs.cow.naturally-aggressive-to-players-chance", cowNaturallyAggressiveToPlayersChance); -@@ -1251,6 +1268,7 @@ public class PurpurWorldConfig { +@@ -1248,6 +1265,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean creeperRidable = false; -@@ -1263,6 +1281,7 @@ public class PurpurWorldConfig { +@@ -1260,6 +1278,7 @@ public class PurpurWorldConfig { public boolean creeperTakeDamageFromWater = false; public boolean creeperExplodeWhenKilled = false; public boolean creeperHealthRadius = false; @@ -1310,7 +1310,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1279,6 +1298,7 @@ public class PurpurWorldConfig { +@@ -1276,6 +1295,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean dolphinRidable = false; -@@ -1290,6 +1310,7 @@ public class PurpurWorldConfig { +@@ -1287,6 +1307,7 @@ public class PurpurWorldConfig { public boolean dolphinDisableTreasureSearching = false; public boolean dolphinTakeDamageFromWater = false; public double dolphinNaturallyAggressiveToPlayersChance = 0.0D; @@ -1326,7 +1326,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -1305,6 +1326,7 @@ public class PurpurWorldConfig { +@@ -1302,6 +1323,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean donkeyRidableInWater = false; -@@ -1316,6 +1338,7 @@ public class PurpurWorldConfig { +@@ -1313,6 +1335,7 @@ public class PurpurWorldConfig { public double donkeyMovementSpeedMax = 0.175D; public int donkeyBreedingTicks = 6000; public boolean donkeyTakeDamageFromWater = false; @@ -1342,7 +1342,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); if (PurpurConfig.version < 10) { -@@ -1333,6 +1356,7 @@ public class PurpurWorldConfig { +@@ -1330,6 +1353,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean drownedRidable = false; -@@ -1345,6 +1369,7 @@ public class PurpurWorldConfig { +@@ -1342,6 +1366,7 @@ public class PurpurWorldConfig { public boolean drownedJockeyTryExistingChickens = true; public boolean drownedTakeDamageFromWater = false; public boolean drownedBreakDoors = false; @@ -1358,7 +1358,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1361,12 +1386,14 @@ public class PurpurWorldConfig { +@@ -1358,12 +1383,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void elderGuardianSettings() { elderGuardianRidable = getBoolean("mobs.elder_guardian.ridable", elderGuardianRidable); elderGuardianControllable = getBoolean("mobs.elder_guardian.controllable", elderGuardianControllable); -@@ -1377,6 +1404,7 @@ public class PurpurWorldConfig { +@@ -1374,6 +1401,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean enderDragonRidable = false; -@@ -1422,6 +1450,7 @@ public class PurpurWorldConfig { +@@ -1419,6 +1447,7 @@ public class PurpurWorldConfig { public boolean endermanIgnorePlayerDragonHead = false; public boolean endermanDisableStareAggro = false; public boolean endermanIgnoreProjectiles = false; @@ -1389,7 +1389,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1445,6 +1474,7 @@ public class PurpurWorldConfig { +@@ -1442,6 +1471,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean endermiteRidable = false; -@@ -1452,6 +1482,7 @@ public class PurpurWorldConfig { +@@ -1449,6 +1479,7 @@ public class PurpurWorldConfig { public boolean endermiteControllable = true; public double endermiteMaxHealth = 8.0D; public boolean endermiteTakeDamageFromWater = false; @@ -1405,7 +1405,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void endermiteSettings() { endermiteRidable = getBoolean("mobs.endermite.ridable", endermiteRidable); endermiteRidableInWater = getBoolean("mobs.endermite.ridable-in-water", endermiteRidableInWater); -@@ -1463,6 +1494,7 @@ public class PurpurWorldConfig { +@@ -1460,6 +1491,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean evokerRidable = false; -@@ -1471,6 +1503,7 @@ public class PurpurWorldConfig { +@@ -1468,6 +1500,7 @@ public class PurpurWorldConfig { public double evokerMaxHealth = 24.0D; public boolean evokerBypassMobGriefing = false; public boolean evokerTakeDamageFromWater = false; @@ -1421,7 +1421,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -1483,6 +1516,7 @@ public class PurpurWorldConfig { +@@ -1480,6 +1513,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean foxRidable = false; -@@ -1493,6 +1527,7 @@ public class PurpurWorldConfig { +@@ -1490,6 +1524,7 @@ public class PurpurWorldConfig { public int foxBreedingTicks = 6000; public boolean foxBypassMobGriefing = false; public boolean foxTakeDamageFromWater = false; @@ -1437,7 +1437,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -1507,6 +1542,7 @@ public class PurpurWorldConfig { +@@ -1504,6 +1539,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean frogRidable = false; -@@ -1528,6 +1564,7 @@ public class PurpurWorldConfig { +@@ -1525,6 +1561,7 @@ public class PurpurWorldConfig { public double ghastMaxY = 320D; public double ghastMaxHealth = 10.0D; public boolean ghastTakeDamageFromWater = false; @@ -1453,7 +1453,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void ghastSettings() { ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable); ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater); -@@ -1540,6 +1577,7 @@ public class PurpurWorldConfig { +@@ -1537,6 +1574,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean giantRidable = false; -@@ -1553,6 +1591,7 @@ public class PurpurWorldConfig { +@@ -1550,6 +1588,7 @@ public class PurpurWorldConfig { public boolean giantHaveAI = false; public boolean giantHaveHostileAI = false; public boolean giantTakeDamageFromWater = false; @@ -1469,7 +1469,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -1574,6 +1613,7 @@ public class PurpurWorldConfig { +@@ -1571,6 +1610,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean glowSquidRidable = false; -@@ -1581,12 +1621,14 @@ public class PurpurWorldConfig { +@@ -1578,12 +1618,14 @@ public class PurpurWorldConfig { public double glowSquidMaxHealth = 10.0D; public boolean glowSquidsCanFly = false; public boolean glowSquidTakeDamageFromWater = false; @@ -1492,7 +1492,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean goatRidable = false; -@@ -1595,6 +1637,7 @@ public class PurpurWorldConfig { +@@ -1592,6 +1634,7 @@ public class PurpurWorldConfig { public double goatMaxHealth = 10.0D; public int goatBreedingTicks = 6000; public boolean goatTakeDamageFromWater = false; @@ -1500,7 +1500,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void goatSettings() { goatRidable = getBoolean("mobs.goat.ridable", goatRidable); goatRidableInWater = getBoolean("mobs.goat.ridable-in-water", goatRidableInWater); -@@ -1602,12 +1645,14 @@ public class PurpurWorldConfig { +@@ -1599,12 +1642,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void guardianSettings() { guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable); guardianControllable = getBoolean("mobs.guardian.controllable", guardianControllable); -@@ -1618,6 +1663,7 @@ public class PurpurWorldConfig { +@@ -1615,6 +1660,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean forceHalloweenSeason = false; -@@ -1633,6 +1679,7 @@ public class PurpurWorldConfig { +@@ -1630,6 +1676,7 @@ public class PurpurWorldConfig { public double hoglinMaxHealth = 40.0D; public int hoglinBreedingTicks = 6000; public boolean hoglinTakeDamageFromWater = false; @@ -1531,7 +1531,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -1645,6 +1692,7 @@ public class PurpurWorldConfig { +@@ -1642,6 +1689,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean horseRidableInWater = false; -@@ -1656,6 +1704,7 @@ public class PurpurWorldConfig { +@@ -1653,6 +1701,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; @@ -1547,7 +1547,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1673,6 +1722,7 @@ public class PurpurWorldConfig { +@@ -1670,6 +1719,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); @@ -1555,7 +1555,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean huskRidable = false; -@@ -1684,6 +1734,7 @@ public class PurpurWorldConfig { +@@ -1681,6 +1731,7 @@ public class PurpurWorldConfig { public double huskJockeyChance = 0.05D; public boolean huskJockeyTryExistingChickens = true; public boolean huskTakeDamageFromWater = false; @@ -1563,7 +1563,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -1699,6 +1750,7 @@ public class PurpurWorldConfig { +@@ -1696,6 +1747,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean illusionerRidable = false; -@@ -1708,6 +1760,7 @@ public class PurpurWorldConfig { +@@ -1705,6 +1757,7 @@ public class PurpurWorldConfig { public double illusionerFollowRange = 18.0D; public double illusionerMaxHealth = 32.0D; public boolean illusionerTakeDamageFromWater = false; @@ -1579,7 +1579,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void illusionerSettings() { illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable); illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater); -@@ -1725,6 +1778,7 @@ public class PurpurWorldConfig { +@@ -1722,6 +1775,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean ironGolemRidable = false; -@@ -1735,6 +1789,7 @@ public class PurpurWorldConfig { +@@ -1732,6 +1786,7 @@ public class PurpurWorldConfig { public boolean ironGolemTakeDamageFromWater = false; public boolean ironGolemPoppyCalm = false; public boolean ironGolemHealCalm = false; @@ -1595,7 +1595,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1749,6 +1804,7 @@ public class PurpurWorldConfig { +@@ -1746,6 +1801,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean llamaRidable = false; -@@ -1763,6 +1819,7 @@ public class PurpurWorldConfig { +@@ -1760,6 +1816,7 @@ public class PurpurWorldConfig { public int llamaBreedingTicks = 6000; public boolean llamaTakeDamageFromWater = false; public boolean llamaJoinCaravans = true; @@ -1611,7 +1611,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1783,6 +1840,7 @@ public class PurpurWorldConfig { +@@ -1780,6 +1837,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean magmaCubeRidable = false; -@@ -1793,6 +1851,7 @@ public class PurpurWorldConfig { +@@ -1790,6 +1848,7 @@ public class PurpurWorldConfig { public Map magmaCubeMaxHealthCache = new HashMap<>(); public Map magmaCubeAttackDamageCache = new HashMap<>(); public boolean magmaCubeTakeDamageFromWater = false; @@ -1627,7 +1627,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void magmaCubeSettings() { magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable); magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater); -@@ -1807,6 +1866,7 @@ public class PurpurWorldConfig { +@@ -1804,6 +1863,7 @@ public class PurpurWorldConfig { magmaCubeMaxHealthCache.clear(); magmaCubeAttackDamageCache.clear(); magmaCubeTakeDamageFromWater = getBoolean("mobs.magma_cube.takes-damage-from-water", magmaCubeTakeDamageFromWater); @@ -1635,7 +1635,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean mooshroomRidable = false; -@@ -1815,6 +1875,7 @@ public class PurpurWorldConfig { +@@ -1812,6 +1872,7 @@ public class PurpurWorldConfig { public double mooshroomMaxHealth = 10.0D; public int mooshroomBreedingTicks = 6000; public boolean mooshroomTakeDamageFromWater = false; @@ -1643,7 +1643,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1827,6 +1888,7 @@ public class PurpurWorldConfig { +@@ -1824,6 +1885,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean muleRidableInWater = false; -@@ -1838,6 +1900,7 @@ public class PurpurWorldConfig { +@@ -1835,6 +1897,7 @@ public class PurpurWorldConfig { public double muleMovementSpeedMax = 0.175D; public int muleBreedingTicks = 6000; public boolean muleTakeDamageFromWater = false; @@ -1659,7 +1659,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1855,6 +1918,7 @@ public class PurpurWorldConfig { +@@ -1852,6 +1915,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean ocelotRidable = false; -@@ -1863,6 +1927,7 @@ public class PurpurWorldConfig { +@@ -1860,6 +1924,7 @@ public class PurpurWorldConfig { public double ocelotMaxHealth = 10.0D; public int ocelotBreedingTicks = 6000; public boolean ocelotTakeDamageFromWater = false; @@ -1675,7 +1675,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1875,6 +1940,7 @@ public class PurpurWorldConfig { +@@ -1872,6 +1937,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean pandaRidable = false; -@@ -1883,6 +1949,7 @@ public class PurpurWorldConfig { +@@ -1880,6 +1946,7 @@ public class PurpurWorldConfig { public double pandaMaxHealth = 20.0D; public int pandaBreedingTicks = 6000; public boolean pandaTakeDamageFromWater = false; @@ -1691,7 +1691,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1895,6 +1962,7 @@ public class PurpurWorldConfig { +@@ -1892,6 +1959,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean parrotRidable = false; -@@ -1904,6 +1972,7 @@ public class PurpurWorldConfig { +@@ -1901,6 +1969,7 @@ public class PurpurWorldConfig { public double parrotMaxHealth = 6.0D; public boolean parrotTakeDamageFromWater = false; public boolean parrotBreedable = false; @@ -1707,7 +1707,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1917,6 +1986,7 @@ public class PurpurWorldConfig { +@@ -1914,6 +1983,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean phantomRidable = false; -@@ -1944,6 +2014,7 @@ public class PurpurWorldConfig { +@@ -1941,6 +2011,7 @@ public class PurpurWorldConfig { public boolean phantomBurnInDaylight = true; public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; @@ -1723,7 +1723,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1979,6 +2050,7 @@ public class PurpurWorldConfig { +@@ -1976,6 +2047,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean pigRidable = false; -@@ -1988,6 +2060,7 @@ public class PurpurWorldConfig { +@@ -1985,6 +2057,7 @@ public class PurpurWorldConfig { public boolean pigGiveSaddleBack = false; public int pigBreedingTicks = 6000; public boolean pigTakeDamageFromWater = false; @@ -1739,7 +1739,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -2001,6 +2074,7 @@ public class PurpurWorldConfig { +@@ -1998,6 +2071,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean piglinRidable = false; -@@ -2010,6 +2084,7 @@ public class PurpurWorldConfig { +@@ -2007,6 +2081,7 @@ public class PurpurWorldConfig { public boolean piglinBypassMobGriefing = false; public boolean piglinTakeDamageFromWater = false; public int piglinPortalSpawnModifier = 2000; @@ -1755,7 +1755,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2023,6 +2098,7 @@ public class PurpurWorldConfig { +@@ -2020,6 +2095,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean piglinBruteRidable = false; -@@ -2030,6 +2106,7 @@ public class PurpurWorldConfig { +@@ -2027,6 +2103,7 @@ public class PurpurWorldConfig { public boolean piglinBruteControllable = true; public double piglinBruteMaxHealth = 50.0D; public boolean piglinBruteTakeDamageFromWater = false; @@ -1771,7 +1771,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void piglinBruteSettings() { piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable); piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater); -@@ -2041,6 +2118,7 @@ public class PurpurWorldConfig { +@@ -2038,6 +2115,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean pillagerRidable = false; -@@ -2049,6 +2127,7 @@ public class PurpurWorldConfig { +@@ -2046,6 +2124,7 @@ public class PurpurWorldConfig { public double pillagerMaxHealth = 24.0D; public boolean pillagerBypassMobGriefing = false; public boolean pillagerTakeDamageFromWater = false; @@ -1787,7 +1787,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -2061,6 +2140,7 @@ public class PurpurWorldConfig { +@@ -2058,6 +2137,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean polarBearRidable = false; -@@ -2071,6 +2151,7 @@ public class PurpurWorldConfig { +@@ -2068,6 +2148,7 @@ public class PurpurWorldConfig { public Item polarBearBreedableItem = null; public int polarBearBreedingTicks = 6000; public boolean polarBearTakeDamageFromWater = false; @@ -1803,7 +1803,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -2086,12 +2167,14 @@ public class PurpurWorldConfig { +@@ -2083,12 +2164,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void pufferfishSettings() { pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable); pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable); -@@ -2102,6 +2185,7 @@ public class PurpurWorldConfig { +@@ -2099,6 +2182,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean rabbitRidable = false; -@@ -2113,6 +2197,7 @@ public class PurpurWorldConfig { +@@ -2110,6 +2194,7 @@ public class PurpurWorldConfig { public int rabbitBreedingTicks = 6000; public boolean rabbitBypassMobGriefing = false; public boolean rabbitTakeDamageFromWater = false; @@ -1834,7 +1834,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -2128,6 +2213,7 @@ public class PurpurWorldConfig { +@@ -2125,6 +2210,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean ravagerRidable = false; -@@ -2137,6 +2223,7 @@ public class PurpurWorldConfig { +@@ -2134,6 +2220,7 @@ public class PurpurWorldConfig { public boolean ravagerBypassMobGriefing = false; public boolean ravagerTakeDamageFromWater = false; public List ravagerGriefableBlocks = new ArrayList<>(); @@ -1850,7 +1850,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -2166,12 +2253,14 @@ public class PurpurWorldConfig { +@@ -2163,12 +2250,14 @@ public class PurpurWorldConfig { ravagerGriefableBlocks.add(block); } }); @@ -1865,7 +1865,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void salmonSettings() { salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable); salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable); -@@ -2182,6 +2271,7 @@ public class PurpurWorldConfig { +@@ -2179,6 +2268,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean sheepRidable = false; -@@ -2191,6 +2281,7 @@ public class PurpurWorldConfig { +@@ -2188,6 +2278,7 @@ public class PurpurWorldConfig { public int sheepBreedingTicks = 6000; public boolean sheepBypassMobGriefing = false; public boolean sheepTakeDamageFromWater = false; @@ -1881,7 +1881,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -2204,6 +2295,7 @@ public class PurpurWorldConfig { +@@ -2201,6 +2292,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean shulkerRidable = false; -@@ -2217,6 +2309,7 @@ public class PurpurWorldConfig { +@@ -2214,6 +2306,7 @@ public class PurpurWorldConfig { public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0"; public boolean shulkerSpawnFromBulletRandomColor = false; public boolean shulkerChangeColorWithDye = false; @@ -1897,7 +1897,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2234,6 +2327,7 @@ public class PurpurWorldConfig { +@@ -2231,6 +2324,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean silverfishRidable = false; -@@ -2242,6 +2336,7 @@ public class PurpurWorldConfig { +@@ -2239,6 +2333,7 @@ public class PurpurWorldConfig { public double silverfishMaxHealth = 8.0D; public boolean silverfishBypassMobGriefing = false; public boolean silverfishTakeDamageFromWater = false; @@ -1913,7 +1913,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -2254,6 +2349,7 @@ public class PurpurWorldConfig { +@@ -2251,6 +2346,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean skeletonRidable = false; -@@ -2261,6 +2357,7 @@ public class PurpurWorldConfig { +@@ -2258,6 +2354,7 @@ public class PurpurWorldConfig { public boolean skeletonControllable = true; public double skeletonMaxHealth = 20.0D; public boolean skeletonTakeDamageFromWater = false; @@ -1929,7 +1929,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2272,6 +2369,7 @@ public class PurpurWorldConfig { +@@ -2269,6 +2366,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean skeletonHorseRidableInWater = true; -@@ -2283,6 +2381,7 @@ public class PurpurWorldConfig { +@@ -2280,6 +2378,7 @@ public class PurpurWorldConfig { public double skeletonHorseMovementSpeedMin = 0.2D; public double skeletonHorseMovementSpeedMax = 0.2D; public boolean skeletonHorseTakeDamageFromWater = false; @@ -1945,7 +1945,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void skeletonHorseSettings() { skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater); skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim); -@@ -2299,6 +2398,7 @@ public class PurpurWorldConfig { +@@ -2296,6 +2395,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean slimeRidable = false; -@@ -2309,6 +2409,7 @@ public class PurpurWorldConfig { +@@ -2306,6 +2406,7 @@ public class PurpurWorldConfig { public Map slimeMaxHealthCache = new HashMap<>(); public Map slimeAttackDamageCache = new HashMap<>(); public boolean slimeTakeDamageFromWater = false; @@ -1961,7 +1961,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void slimeSettings() { slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable); slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater); -@@ -2323,6 +2424,7 @@ public class PurpurWorldConfig { +@@ -2320,6 +2421,7 @@ public class PurpurWorldConfig { slimeMaxHealthCache.clear(); slimeAttackDamageCache.clear(); slimeTakeDamageFromWater = getBoolean("mobs.slime.takes-damage-from-water", slimeTakeDamageFromWater); @@ -1969,7 +1969,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean snowGolemRidable = false; -@@ -2338,6 +2440,7 @@ public class PurpurWorldConfig { +@@ -2335,6 +2437,7 @@ public class PurpurWorldConfig { public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; public boolean snowGolemTakeDamageFromWater = true; @@ -1977,7 +1977,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -2357,6 +2460,7 @@ public class PurpurWorldConfig { +@@ -2354,6 +2457,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean snifferRidable = false; -@@ -2379,6 +2483,7 @@ public class PurpurWorldConfig { +@@ -2376,6 +2480,7 @@ public class PurpurWorldConfig { public double squidOffsetWaterCheck = 0.0D; public boolean squidsCanFly = false; public boolean squidTakeDamageFromWater = false; @@ -1993,7 +1993,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -2392,6 +2497,7 @@ public class PurpurWorldConfig { +@@ -2389,6 +2494,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean spiderRidable = false; -@@ -2399,6 +2505,7 @@ public class PurpurWorldConfig { +@@ -2396,6 +2502,7 @@ public class PurpurWorldConfig { public boolean spiderControllable = true; public double spiderMaxHealth = 16.0D; public boolean spiderTakeDamageFromWater = false; @@ -2009,7 +2009,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -2410,6 +2517,7 @@ public class PurpurWorldConfig { +@@ -2407,6 +2514,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean strayRidable = false; -@@ -2417,6 +2525,7 @@ public class PurpurWorldConfig { +@@ -2414,6 +2522,7 @@ public class PurpurWorldConfig { public boolean strayControllable = true; public double strayMaxHealth = 20.0D; public boolean strayTakeDamageFromWater = false; @@ -2025,7 +2025,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void straySettings() { strayRidable = getBoolean("mobs.stray.ridable", strayRidable); strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater); -@@ -2428,6 +2537,7 @@ public class PurpurWorldConfig { +@@ -2425,6 +2534,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean striderRidable = false; -@@ -2437,6 +2547,7 @@ public class PurpurWorldConfig { +@@ -2434,6 +2544,7 @@ public class PurpurWorldConfig { public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; public boolean striderTakeDamageFromWater = true; @@ -2041,7 +2041,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -2450,6 +2561,7 @@ public class PurpurWorldConfig { +@@ -2447,6 +2558,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean tadpoleRidable = false; -@@ -2472,6 +2584,7 @@ public class PurpurWorldConfig { +@@ -2469,6 +2581,7 @@ public class PurpurWorldConfig { public double traderLlamaMovementSpeedMax = 0.175D; public int traderLlamaBreedingTicks = 6000; public boolean traderLlamaTakeDamageFromWater = false; @@ -2057,7 +2057,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -2491,12 +2604,14 @@ public class PurpurWorldConfig { +@@ -2488,12 +2601,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void tropicalFishSettings() { tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable); -@@ -2507,6 +2622,7 @@ public class PurpurWorldConfig { +@@ -2504,6 +2619,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean turtleRidable = false; -@@ -2515,6 +2631,7 @@ public class PurpurWorldConfig { +@@ -2512,6 +2628,7 @@ public class PurpurWorldConfig { public double turtleMaxHealth = 30.0D; public int turtleBreedingTicks = 6000; public boolean turtleTakeDamageFromWater = false; @@ -2088,7 +2088,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -2527,6 +2644,7 @@ public class PurpurWorldConfig { +@@ -2524,6 +2641,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean vexRidable = false; -@@ -2535,6 +2653,7 @@ public class PurpurWorldConfig { +@@ -2532,6 +2650,7 @@ public class PurpurWorldConfig { public double vexMaxY = 320D; public double vexMaxHealth = 14.0D; public boolean vexTakeDamageFromWater = false; @@ -2104,7 +2104,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void vexSettings() { vexRidable = getBoolean("mobs.vex.ridable", vexRidable); vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater); -@@ -2547,6 +2666,7 @@ public class PurpurWorldConfig { +@@ -2544,6 +2663,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean villagerRidable = false; -@@ -2562,6 +2682,7 @@ public class PurpurWorldConfig { +@@ -2559,6 +2679,7 @@ public class PurpurWorldConfig { public boolean villagerBypassMobGriefing = false; public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; @@ -2120,7 +2120,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2581,6 +2702,7 @@ public class PurpurWorldConfig { +@@ -2578,6 +2699,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean vindicatorRidable = false; -@@ -2589,6 +2711,7 @@ public class PurpurWorldConfig { +@@ -2586,6 +2708,7 @@ public class PurpurWorldConfig { public double vindicatorMaxHealth = 24.0D; public double vindicatorJohnnySpawnChance = 0D; public boolean vindicatorTakeDamageFromWater = false; @@ -2136,7 +2136,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -2601,6 +2724,7 @@ public class PurpurWorldConfig { +@@ -2598,6 +2721,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean wanderingTraderRidable = false; -@@ -2611,6 +2735,7 @@ public class PurpurWorldConfig { +@@ -2608,6 +2732,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderTakeDamageFromWater = false; public boolean wanderingTraderAllowTrading = true; @@ -2152,7 +2152,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -2625,6 +2750,7 @@ public class PurpurWorldConfig { +@@ -2622,6 +2747,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean wardenRidable = false; -@@ -2641,6 +2767,7 @@ public class PurpurWorldConfig { +@@ -2638,6 +2764,7 @@ public class PurpurWorldConfig { public boolean witchControllable = true; public double witchMaxHealth = 26.0D; public boolean witchTakeDamageFromWater = false; @@ -2168,7 +2168,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void witchSettings() { witchRidable = getBoolean("mobs.witch.ridable", witchRidable); witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater); -@@ -2652,6 +2779,7 @@ public class PurpurWorldConfig { +@@ -2649,6 +2776,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean witherRidable = false; -@@ -2666,6 +2794,7 @@ public class PurpurWorldConfig { +@@ -2663,6 +2791,7 @@ public class PurpurWorldConfig { public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; public boolean witherPlaySpawnSound = true; @@ -2184,7 +2184,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2688,6 +2817,7 @@ public class PurpurWorldConfig { +@@ -2685,6 +2814,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean witherSkeletonRidable = false; -@@ -2695,6 +2825,7 @@ public class PurpurWorldConfig { +@@ -2692,6 +2822,7 @@ public class PurpurWorldConfig { public boolean witherSkeletonControllable = true; public double witherSkeletonMaxHealth = 20.0D; public boolean witherSkeletonTakeDamageFromWater = false; @@ -2200,7 +2200,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void witherSkeletonSettings() { witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); -@@ -2706,6 +2837,7 @@ public class PurpurWorldConfig { +@@ -2703,6 +2834,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean wolfRidable = false; -@@ -2717,6 +2849,7 @@ public class PurpurWorldConfig { +@@ -2714,6 +2846,7 @@ public class PurpurWorldConfig { public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; public boolean wolfTakeDamageFromWater = false; @@ -2216,7 +2216,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -2736,6 +2869,7 @@ public class PurpurWorldConfig { +@@ -2733,6 +2866,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean zoglinRidable = false; -@@ -2743,6 +2877,7 @@ public class PurpurWorldConfig { +@@ -2740,6 +2874,7 @@ public class PurpurWorldConfig { public boolean zoglinControllable = true; public double zoglinMaxHealth = 40.0D; public boolean zoglinTakeDamageFromWater = false; @@ -2232,7 +2232,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void zoglinSettings() { zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable); zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater); -@@ -2754,6 +2889,7 @@ public class PurpurWorldConfig { +@@ -2751,6 +2886,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean zombieRidable = false; -@@ -2767,6 +2903,7 @@ public class PurpurWorldConfig { +@@ -2764,6 +2900,7 @@ public class PurpurWorldConfig { public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; @@ -2248,7 +2248,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2784,6 +2921,7 @@ public class PurpurWorldConfig { +@@ -2781,6 +2918,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean zombieHorseRidableInWater = false; -@@ -2796,6 +2934,7 @@ public class PurpurWorldConfig { +@@ -2793,6 +2931,7 @@ public class PurpurWorldConfig { public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseSpawnChance = 0.0D; public boolean zombieHorseTakeDamageFromWater = false; @@ -2264,7 +2264,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void zombieHorseSettings() { zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); -@@ -2813,6 +2952,7 @@ public class PurpurWorldConfig { +@@ -2810,6 +2949,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean zombieVillagerRidable = false; -@@ -2827,6 +2967,7 @@ public class PurpurWorldConfig { +@@ -2824,6 +2964,7 @@ public class PurpurWorldConfig { public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; public boolean zombieVillagerCureEnabled = true; @@ -2280,7 +2280,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2845,6 +2986,7 @@ public class PurpurWorldConfig { +@@ -2842,6 +2983,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 cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a } public boolean zombifiedPiglinRidable = false; -@@ -2857,6 +2999,7 @@ public class PurpurWorldConfig { +@@ -2854,6 +2996,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; public boolean zombifiedPiglinTakeDamageFromWater = false; @@ -2296,7 +2296,7 @@ index cfe5b900d20e2060b3d6633b406f2ea290ba0e66..ae989cb0a749b70163a2de680c897c0a private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -2873,6 +3016,7 @@ public class PurpurWorldConfig { +@@ -2870,6 +3013,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/0231-Shearing-jeb-produces-random-color-wool.patch b/patches/server/0231-Shearing-jeb-produces-random-color-wool.patch index 7afe768e8..f2fa49459 100644 --- a/patches/server/0231-Shearing-jeb-produces-random-color-wool.patch +++ b/patches/server/0231-Shearing-jeb-produces-random-color-wool.patch @@ -18,10 +18,10 @@ index a1b323ecba25910e97f154e487acc94943117e0c..62d8ae4c689170420c7850fbbb402be8 if (entityitem != null) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ed178813ce4a467be74cc3d146c0782445ca551a..569dba7fae83989f209f83c1f9da9bf64918139f 100644 +index c9e7dc60f96cf9e69e5fd132234f4f099bda157b..d724d7366ff54ce770b9510a511c37e6db6e13ad 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2286,6 +2286,7 @@ public class PurpurWorldConfig { +@@ -2283,6 +2283,7 @@ public class PurpurWorldConfig { public boolean sheepBypassMobGriefing = false; public boolean sheepTakeDamageFromWater = false; public boolean sheepAlwaysDropExp = false; @@ -29,7 +29,7 @@ index ed178813ce4a467be74cc3d146c0782445ca551a..569dba7fae83989f209f83c1f9da9bf6 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -2300,6 +2301,7 @@ public class PurpurWorldConfig { +@@ -2297,6 +2298,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/0233-Mob-head-visibility-percent.patch b/patches/server/0233-Mob-head-visibility-percent.patch index 31492c5b2..1cb5f03f4 100644 --- a/patches/server/0233-Mob-head-visibility-percent.patch +++ b/patches/server/0233-Mob-head-visibility-percent.patch @@ -32,10 +32,10 @@ index 48fa05e80483e470572ecc8b2f7feb58e2f36dd0..fd276495ddcf160660a725c721d3c3f1 // 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 2f139bc7a088e721e2da2823f163faa07ba5153b..e4b6a301db66dd27a8d1cb275cb792043bc59e46 100644 +index f465c6ab76a5a0b7afca7801d98cdda7ebcd3dca..d65dbd63062d637554a16bd648bf49adbf62e748 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1288,6 +1288,7 @@ public class PurpurWorldConfig { +@@ -1285,6 +1285,7 @@ public class PurpurWorldConfig { public boolean creeperExplodeWhenKilled = false; public boolean creeperHealthRadius = false; public boolean creeperAlwaysDropExp = false; @@ -43,7 +43,7 @@ index 2f139bc7a088e721e2da2823f163faa07ba5153b..e4b6a301db66dd27a8d1cb275cb79204 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1305,6 +1306,7 @@ public class PurpurWorldConfig { +@@ -1302,6 +1303,7 @@ public class PurpurWorldConfig { creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled); creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius); creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp); @@ -51,7 +51,7 @@ index 2f139bc7a088e721e2da2823f163faa07ba5153b..e4b6a301db66dd27a8d1cb275cb79204 } public boolean dolphinRidable = false; -@@ -2091,6 +2093,7 @@ public class PurpurWorldConfig { +@@ -2088,6 +2090,7 @@ public class PurpurWorldConfig { public boolean piglinTakeDamageFromWater = false; public int piglinPortalSpawnModifier = 2000; public boolean piglinAlwaysDropExp = false; @@ -59,7 +59,7 @@ index 2f139bc7a088e721e2da2823f163faa07ba5153b..e4b6a301db66dd27a8d1cb275cb79204 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2105,6 +2108,7 @@ public class PurpurWorldConfig { +@@ -2102,6 +2105,7 @@ public class PurpurWorldConfig { piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater); piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier); piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp); @@ -67,7 +67,7 @@ index 2f139bc7a088e721e2da2823f163faa07ba5153b..e4b6a301db66dd27a8d1cb275cb79204 } public boolean piglinBruteRidable = false; -@@ -2366,6 +2370,7 @@ public class PurpurWorldConfig { +@@ -2363,6 +2367,7 @@ public class PurpurWorldConfig { public double skeletonMaxHealth = 20.0D; public boolean skeletonTakeDamageFromWater = false; public boolean skeletonAlwaysDropExp = false; @@ -75,7 +75,7 @@ index 2f139bc7a088e721e2da2823f163faa07ba5153b..e4b6a301db66dd27a8d1cb275cb79204 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2378,6 +2383,7 @@ public class PurpurWorldConfig { +@@ -2375,6 +2380,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); @@ -83,7 +83,7 @@ index 2f139bc7a088e721e2da2823f163faa07ba5153b..e4b6a301db66dd27a8d1cb275cb79204 } public boolean skeletonHorseRidableInWater = true; -@@ -2912,6 +2918,7 @@ public class PurpurWorldConfig { +@@ -2909,6 +2915,7 @@ public class PurpurWorldConfig { public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; public boolean zombieAlwaysDropExp = false; @@ -91,7 +91,7 @@ index 2f139bc7a088e721e2da2823f163faa07ba5153b..e4b6a301db66dd27a8d1cb275cb79204 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2930,6 +2937,7 @@ public class PurpurWorldConfig { +@@ -2927,6 +2934,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/0242-Configurable-phantom-size.patch b/patches/server/0242-Configurable-phantom-size.patch index 7ba3336e3..22133fd7a 100644 --- a/patches/server/0242-Configurable-phantom-size.patch +++ b/patches/server/0242-Configurable-phantom-size.patch @@ -22,10 +22,10 @@ index f71cbaabfff370f019f124203fb947ea7a817d95..17638b9d3340c86528a8ae597712c759 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b0b6ea9960a03594bcea95ba1ca869bcea950140..5ca739bd7ac0fb3054e779247ba9fa2ca94eaa74 100644 +index ab25c1d40a9735cd679f082cf6140c993dbb148a..1c6f9d6ac5ad109bfa47d9dd7e9cdfe226294b15 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2031,6 +2031,8 @@ public class PurpurWorldConfig { +@@ -2028,6 +2028,8 @@ public class PurpurWorldConfig { public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; public boolean phantomAlwaysDropExp = false; @@ -34,7 +34,7 @@ index b0b6ea9960a03594bcea95ba1ca869bcea950140..5ca739bd7ac0fb3054e779247ba9fa2c private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -2067,6 +2069,13 @@ public class PurpurWorldConfig { +@@ -2064,6 +2066,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/0245-Configurable-minimum-demand-for-trades.patch b/patches/server/0245-Configurable-minimum-demand-for-trades.patch index f932ae2dd..400e067d0 100644 --- a/patches/server/0245-Configurable-minimum-demand-for-trades.patch +++ b/patches/server/0245-Configurable-minimum-demand-for-trades.patch @@ -40,10 +40,10 @@ index 28bdcb14cb5b458d3c990fcf343ef97f08e4f3c6..48167334162443365bb8a6d082a51b2c public ItemStack assemble() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5ca739bd7ac0fb3054e779247ba9fa2ca94eaa74..01640f7d1848ce2e70dc2acb54bfb58fe37eceb4 100644 +index 1c6f9d6ac5ad109bfa47d9dd7e9cdfe226294b15..2a17c1500123ff7a895378f718cf0a1d222f12d3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2714,6 +2714,7 @@ public class PurpurWorldConfig { +@@ -2711,6 +2711,7 @@ public class PurpurWorldConfig { public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; @@ -51,7 +51,7 @@ index 5ca739bd7ac0fb3054e779247ba9fa2ca94eaa74..01640f7d1848ce2e70dc2acb54bfb58f private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2734,6 +2735,7 @@ public class PurpurWorldConfig { +@@ -2731,6 +2732,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/0246-Lobotomize-stuck-villagers.patch b/patches/server/0246-Lobotomize-stuck-villagers.patch index 72d8e60f4..b5191a7ac 100644 --- a/patches/server/0246-Lobotomize-stuck-villagers.patch +++ b/patches/server/0246-Lobotomize-stuck-villagers.patch @@ -105,10 +105,10 @@ index e986767316a717bdbdff7a9ccaaeba068ab2a6d8..4d0b37957eb02b5d48beb76295ebc7c4 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 01640f7d1848ce2e70dc2acb54bfb58fe37eceb4..0e65b4c27901299711e85cdd6359e1821dbebf66 100644 +index 2a17c1500123ff7a895378f718cf0a1d222f12d3..63d7b443f96031cd0984bdc90b8fdd3e1d520c52 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2715,6 +2715,8 @@ public class PurpurWorldConfig { +@@ -2712,6 +2712,8 @@ public class PurpurWorldConfig { public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; public int villagerMinimumDemand = 0; @@ -117,7 +117,7 @@ index 01640f7d1848ce2e70dc2acb54bfb58fe37eceb4..0e65b4c27901299711e85cdd6359e182 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2736,6 +2738,17 @@ public class PurpurWorldConfig { +@@ -2733,6 +2735,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/0247-Option-for-villager-display-trade-item.patch b/patches/server/0247-Option-for-villager-display-trade-item.patch index 3e163b8c8..a8dccb79d 100644 --- a/patches/server/0247-Option-for-villager-display-trade-item.patch +++ b/patches/server/0247-Option-for-villager-display-trade-item.patch @@ -17,10 +17,10 @@ index 050be72c815010bf3f4b72427e2052b00420e8ee..8a213205f57c8dcd2226d7194d74b1b1 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0e65b4c27901299711e85cdd6359e1821dbebf66..069d28e17d85f1ac35999b02f79e4cef4d34a502 100644 +index 63d7b443f96031cd0984bdc90b8fdd3e1d520c52..f7a8af3efed3254459f8a42f997368fccaf5f741 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2717,6 +2717,7 @@ public class PurpurWorldConfig { +@@ -2714,6 +2714,7 @@ public class PurpurWorldConfig { public int villagerMinimumDemand = 0; public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheckInterval = 100; @@ -28,7 +28,7 @@ index 0e65b4c27901299711e85cdd6359e1821dbebf66..069d28e17d85f1ac35999b02f79e4cef private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2749,6 +2750,7 @@ public class PurpurWorldConfig { +@@ -2746,6 +2747,7 @@ public class PurpurWorldConfig { } villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); diff --git a/patches/server/0255-Implement-configurable-search-radius-for-villagers-t.patch b/patches/server/0255-Implement-configurable-search-radius-for-villagers-t.patch index e0129fac0..8e0a23198 100644 --- a/patches/server/0255-Implement-configurable-search-radius-for-villagers-t.patch +++ b/patches/server/0255-Implement-configurable-search-radius-for-villagers-t.patch @@ -18,10 +18,10 @@ index 43afded0ddd88094971ace2dd02d2aca6c3e86ae..25bf930258065b6cc6d6c3a790835ddf 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 c2deb96f15727460af72662b1ce4f81a58e9f3a6..52ce83ffceb8480812fe6176d46b803e4324d455 100644 +index 7167d0d6c1f2ef666669dc4258bb54386692ec61..4740ae8bdd63566f484976264a1e5d93a585c928 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2728,6 +2728,8 @@ public class PurpurWorldConfig { +@@ -2725,6 +2725,8 @@ public class PurpurWorldConfig { public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheckInterval = 100; public boolean villagerDisplayTradeItem = true; @@ -30,7 +30,7 @@ index c2deb96f15727460af72662b1ce4f81a58e9f3a6..52ce83ffceb8480812fe6176d46b803e private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2761,6 +2763,8 @@ public class PurpurWorldConfig { +@@ -2758,6 +2760,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/0259-Skeletons-eat-wither-roses.patch b/patches/server/0259-Skeletons-eat-wither-roses.patch index 930bd88fc..00a929a9c 100644 --- a/patches/server/0259-Skeletons-eat-wither-roses.patch +++ b/patches/server/0259-Skeletons-eat-wither-roses.patch @@ -94,10 +94,10 @@ index 9b43150a00d7fac85aa69f5a2dbffd0dfdae4b86..f4a47ac2c86cc95178922cce7320ba1e + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index af6276c368f40bc2dcc7f194f46707bd96997bae..ad2b0a494ced3c73950a0c56511d7309ff311d5a 100644 +index 856c2ada861d87e53d49dc7f82d1707b946f7ba8..4818b532a6d5f1525a0d09f94f99a99734b334c7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2412,6 +2412,7 @@ public class PurpurWorldConfig { +@@ -2409,6 +2409,7 @@ public class PurpurWorldConfig { public boolean skeletonTakeDamageFromWater = false; public boolean skeletonAlwaysDropExp = false; public double skeletonHeadVisibilityPercent = 0.5D; @@ -105,7 +105,7 @@ index af6276c368f40bc2dcc7f194f46707bd96997bae..ad2b0a494ced3c73950a0c56511d7309 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2425,6 +2426,7 @@ public class PurpurWorldConfig { +@@ -2422,6 +2423,7 @@ public class PurpurWorldConfig { skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater); skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp); skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent); diff --git a/patches/server/0260-Enchantment-Table-Persists-Lapis.patch b/patches/server/0260-Enchantment-Table-Persists-Lapis.patch index c28506ecc..5dcf66709 100644 --- a/patches/server/0260-Enchantment-Table-Persists-Lapis.patch +++ b/patches/server/0260-Enchantment-Table-Persists-Lapis.patch @@ -146,10 +146,10 @@ index 65e1381bb2d10bd212463feb602c60f8fdb9ade1..b7370e64fd0d50e8725d7d5afc30af2e + // Purpur } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ad2b0a494ced3c73950a0c56511d7309ff311d5a..a96d897079107cc8582ca908a20027a52aa2b326 100644 +index 4818b532a6d5f1525a0d09f94f99a99734b334c7..549726970f64bbb3f6c9935698c3f290a8fb2fec 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1447,6 +1447,11 @@ public class PurpurWorldConfig { +@@ -1444,6 +1444,11 @@ public class PurpurWorldConfig { elderGuardianAlwaysDropExp = getBoolean("mobs.elder_guardian.always-drop-exp", elderGuardianAlwaysDropExp); } diff --git a/patches/server/0277-Add-skeleton-bow-accuracy-option.patch b/patches/server/0277-Add-skeleton-bow-accuracy-option.patch index 056a8e693..7efe63434 100644 --- a/patches/server/0277-Add-skeleton-bow-accuracy-option.patch +++ b/patches/server/0277-Add-skeleton-bow-accuracy-option.patch @@ -18,10 +18,10 @@ index 41376b705748e14c1c4174e07732ce09ad8e581f..dd84433a988712da9d799cbda2487a90 org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(this, this.getMainHandItem(), entityarrow.getPickupItem(), entityarrow, net.minecraft.world.InteractionHand.MAIN_HAND, 0.8F, true); // Paper if (event.isCancelled()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ad18b96cae9bb6b1f9c68e3fd53ee728e36144a2..60f8b4010a5b68f49da1b14f7c1a5111ae424578 100644 +index 2a8595c3defc542d043bb556acc08bf1eafbb17f..ab4e08fb6613bf0a33ec1ce32847c1e59da274a7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2432,6 +2432,8 @@ public class PurpurWorldConfig { +@@ -2429,6 +2429,8 @@ public class PurpurWorldConfig { public boolean skeletonAlwaysDropExp = false; public double skeletonHeadVisibilityPercent = 0.5D; public int skeletonFeedWitherRoses = 0; @@ -30,7 +30,7 @@ index ad18b96cae9bb6b1f9c68e3fd53ee728e36144a2..60f8b4010a5b68f49da1b14f7c1a5111 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2446,6 +2448,18 @@ public class PurpurWorldConfig { +@@ -2443,6 +2445,18 @@ public class PurpurWorldConfig { skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp); skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent); skeletonFeedWitherRoses = getInt("mobs.skeleton.feed-wither-roses", skeletonFeedWitherRoses); diff --git a/patches/server/0283-Implement-squid-colors-for-rainglow-fabric-mod.patch b/patches/server/0283-Implement-squid-colors-for-rainglow-fabric-mod.patch index 3dbd0d7f7..d8dca154a 100644 --- a/patches/server/0283-Implement-squid-colors-for-rainglow-fabric-mod.patch +++ b/patches/server/0283-Implement-squid-colors-for-rainglow-fabric-mod.patch @@ -40,10 +40,10 @@ index 43cdda0cb26c5d5cc9025199eb71673d71c2abea..83660fad1e4c0ce5800f6e62f915ccd8 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index cecc0ad40a537eca5f08342c8609ffb5ddaef470..1e0336ade0d02005ffcc68326f386e65bd2f1700 100644 +index c25cd12a5a6de130a85f6da43cd8f7e75b827e45..1b60a83873d999af6c8eecd4cc130a9c1a7290c2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1684,6 +1684,7 @@ public class PurpurWorldConfig { +@@ -1681,6 +1681,7 @@ public class PurpurWorldConfig { public boolean glowSquidsCanFly = false; public boolean glowSquidTakeDamageFromWater = false; public boolean glowSquidAlwaysDropExp = false; @@ -51,7 +51,7 @@ index cecc0ad40a537eca5f08342c8609ffb5ddaef470..1e0336ade0d02005ffcc68326f386e65 private void glowSquidSettings() { glowSquidRidable = getBoolean("mobs.glow_squid.ridable", glowSquidRidable); glowSquidControllable = getBoolean("mobs.glow_squid.controllable", glowSquidControllable); -@@ -1691,6 +1692,7 @@ public class PurpurWorldConfig { +@@ -1688,6 +1689,7 @@ public class PurpurWorldConfig { glowSquidsCanFly = getBoolean("mobs.glow_squid.can-fly", glowSquidsCanFly); glowSquidTakeDamageFromWater = getBoolean("mobs.glow_squid.takes-damage-from-water", glowSquidTakeDamageFromWater); glowSquidAlwaysDropExp = getBoolean("mobs.glow_squid.always-drop-exp", glowSquidAlwaysDropExp); diff --git a/patches/server/0291-Add-option-to-allow-creeper-to-encircle-target-when-.patch b/patches/server/0291-Add-option-to-allow-creeper-to-encircle-target-when-.patch index 80d9d76c3..74fa07942 100644 --- a/patches/server/0291-Add-option-to-allow-creeper-to-encircle-target-when-.patch +++ b/patches/server/0291-Add-option-to-allow-creeper-to-encircle-target-when-.patch @@ -24,10 +24,10 @@ index e241ae250f4f04a17ef2c583d00b065a4ca56a4c..7b99c3446b50939241d3e220d93e0564 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3ffc72a4ad5e7c0a2c9a1ccaf23455613270328d..41910eeaf38b4f6b31f7d6b4b2009063794bb80c 100644 +index c7470db94eb338466c7a822cfcc332e608435015..b9b405c05c74d59ae4e1a537ff51a66be8a5462a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1340,6 +1340,7 @@ public class PurpurWorldConfig { +@@ -1337,6 +1337,7 @@ public class PurpurWorldConfig { public boolean creeperHealthRadius = false; public boolean creeperAlwaysDropExp = false; public double creeperHeadVisibilityPercent = 0.5D; @@ -35,7 +35,7 @@ index 3ffc72a4ad5e7c0a2c9a1ccaf23455613270328d..41910eeaf38b4f6b31f7d6b4b2009063 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1358,6 +1359,7 @@ public class PurpurWorldConfig { +@@ -1355,6 +1356,7 @@ public class PurpurWorldConfig { creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius); creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp); creeperHeadVisibilityPercent = getDouble("mobs.creeper.head-visibility-percent", creeperHeadVisibilityPercent);