From 00126e86eaa14fe84cdf51a09af431232ff20bff Mon Sep 17 00:00:00 2001 From: granny Date: Sun, 16 Jun 2024 00:34:15 -0700 Subject: [PATCH] re-add removing curse of binding with weakness patch --- ...move-curse-of-binding-with-weakness.patch} | 30 +- ...0192-Conduit-behavior-configuration.patch} | 4 +- ...patch => 0193-Cauldron-fill-chances.patch} | 4 +- ...o-allow-mobs-to-pathfind-over-rails.patch} | 2 +- ... 0195-Shulker-change-color-with-dye.patch} | 6 +- ... => 0196-Extended-OfflinePlayer-API.patch} | 0 ...he-ability-to-add-combustible-items.patch} | 0 ...in-and-thunder-should-stop-on-sleep.patch} | 2 +- ...-blocks-to-grow-into-trees-naturall.patch} | 6 +- ...-right-click-to-use-exp-for-mending.patch} | 10 +- ...urally-aggressive-to-players-chance.patch} | 6 +- ...urally-aggressive-to-players-chance.patch} | 6 +- ...r-beds-to-explode-on-villager-sleep.patch} | 6 +- ...Halloween-options-and-optimizations.patch} | 4 +- ...atch => 0205-Config-for-grindstones.patch} | 0 ....patch => 0206-UPnP-Port-Forwarding.patch} | 0 ...Campfire-option-for-lit-when-placed.patch} | 4 +- ...tinguish-fire-blocks-with-snowballs.patch} | 2 +- ...on-to-disable-zombie-villagers-cure.patch} | 6 +- ...nt-BlockEntity-Lore-and-DisplayName.patch} | 2 +- ...tch => 0211-Signs-allow-color-codes.patch} | 4 +- ...-and-twisting-vines-configurable-ma.patch} | 0 ...=> 0213-Mobs-always-drop-experience.patch} | 274 +++++++++--------- ...ne-API.patch => 0214-Grindstone-API.patch} | 0 ...e-to-replant-crops-and-nether-warts.patch} | 6 +- ...urtle-eggs-random-tick-crack-chance.patch} | 4 +- ...=> 0217-Mob-head-visibility-percent.patch} | 18 +- ...able-valid-characters-for-usernames.patch} | 0 ...Shears-can-have-looting-enchantment.patch} | 0 ...Stop-bees-from-dying-after-stinging.patch} | 6 +- ...ounts-in-beehives-to-Purpur-clients.patch} | 0 ...onfigurable-farmland-trample-height.patch} | 6 +- ...onfigurable-player-pickup-exp-delay.patch} | 10 +- ...ng.patch => 0224-Allow-void-trading.patch} | 10 +- ...h => 0225-Configurable-phantom-size.patch} | 6 +- ....patch => 0226-Max-joins-per-second.patch} | 0 ...figurable-minimum-demand-for-trades.patch} | 6 +- ... => 0228-Lobotomize-stuck-villagers.patch} | 6 +- ...ion-for-villager-display-trade-item.patch} | 6 +- ...wner-not-spawning-water-animals-cor.patch} | 4 +- ...ig-for-mob-last-hurt-by-player-time.patch} | 2 +- ...=> 0232-Anvil-repair-damage-options.patch} | 4 +- ...-turtle-egg-trampling-with-feather-.patch} | 4 +- ...d-toggle-for-enchant-level-clamping.patch} | 0 ...kip-junit-tests-for-purpur-commands.patch} | 0 ...rable-search-radius-for-villagers-t.patch} | 6 +- ...ge.patch => 0237-Stonecutter-damage.patch} | 4 +- ...le-damage-settings-for-magma-blocks.patch} | 4 +- ...239-Add-config-for-snow-on-blue-ice.patch} | 4 +- ... => 0240-Skeletons-eat-wither-roses.patch} | 6 +- ...41-Enchantment-Table-Persists-Lapis.patch} | 4 +- ...ofiler.patch => 0242-Spark-Profiler.patch} | 0 ...-disable-kick-for-out-of-order-chat.patch} | 0 ...for-sculk-shrieker-can_summon-state.patch} | 4 +- ...=> 0245-Config-to-not-let-coral-die.patch} | 4 +- ...ch => 0246-Add-local-difficulty-api.patch} | 0 ...247-Add-toggle-for-RNG-manipulation.patch} | 2 +- ...imings.patch => 0248-Remove-Timings.patch} | 0 ...atch => 0249-Remove-Mojang-Profiler.patch} | 0 ...r-output-for-invalid-movement-kicks.patch} | 0 ...d-Bee-API.patch => 0251-Add-Bee-API.patch} | 0 ...-API.patch => 0252-Debug-Marker-API.patch} | 0 ...g-option-to-ignore-creative-players.patch} | 2 +- ...54-Add-skeleton-bow-accuracy-option.patch} | 6 +- ....patch => 0255-Add-death-screen-API.patch} | 0 ...6-Implement-ram-and-rambar-commands.patch} | 0 ...Configurable-block-blast-resistance.patch} | 0 ...gurable-block-fall-damage-modifiers.patch} | 0 ...uage-API.patch => 0259-Language-API.patch} | 0 ... 0260-Milk-Keeps-Beneficial-Effects.patch} | 2 +- ...s-not-looking-up-and-down-when-stra.patch} | 0 ...d-log-suppression-for-LibraryLoader.patch} | 0 ...ow-creeper-to-encircle-target-when-.patch} | 6 +- ...API.patch => 0264-Fire-Immunity-API.patch} | 0 ...eport-to-spawn-on-nether-ceiling-da.patch} | 4 +- ...t.patch => 0266-Added-got-ram-event.patch} | 0 ... 0267-Log-skipped-entity-s-position.patch} | 0 ....patch => 0268-End-Crystal-Cramming.patch} | 6 +- ...eacon-effects-when-covered-by-tinte.patch} | 4 +- ...ute-clamping-and-armor-limit-config.patch} | 0 ...ig-to-remove-explosion-radius-clamp.patch} | 2 +- ...ble-sugarcane-cactus-and-netherwart.patch} | 4 +- ....patch => 0273-Add-PreExplodeEvents.patch} | 0 ...4-Improve-output-of-plugins-command.patch} | 0 ....patch => 0275-Make-GUI-Great-Again.patch} | 0 ...ee-API.patch => 0276-Stored-Bee-API.patch} | 0 ...patch => 0277-Shears-can-defuse-TNT.patch} | 4 +- ...-API.patch => 0278-Explorer-Map-API.patch} | 0 ...Option-Ocelot-Spawn-Under-Sea-Level.patch} | 6 +- ...-piglins-to-ignore-gold-trimmed-arm.patch} | 6 +- ...ways-showing-item-in-player-death-m.patch} | 0 ...0282-place-end-crystal-on-any-block.patch} | 6 +- ...able-the-copper-oxidation-proximity.patch} | 2 +- ...4-register-minecraft-debug-commands.patch} | 0 ...Configurable-villager-search-radius.patch} | 6 +- ...-to-make-ravagers-afraid-of-rabbits.patch} | 6 +- ...=> 0287-config-for-startup-commands.patch} | 0 ...onfig-to-reverse-bubble-column-flow.patch} | 0 ...tch => 0289-Adopt-MaterialRerouting.patch} | 0 99 files changed, 293 insertions(+), 293 deletions(-) rename patches/{unapplied-server/0197-Config-to-remove-curse-of-binding-with-weakness.patch => server/0191-Config-to-remove-curse-of-binding-with-weakness.patch} (51%) rename patches/server/{0191-Conduit-behavior-configuration.patch => 0192-Conduit-behavior-configuration.patch} (98%) rename patches/server/{0192-Cauldron-fill-chances.patch => 0193-Cauldron-fill-chances.patch} (96%) rename patches/server/{0193-Config-to-allow-mobs-to-pathfind-over-rails.patch => 0194-Config-to-allow-mobs-to-pathfind-over-rails.patch} (96%) rename patches/server/{0194-Shulker-change-color-with-dye.patch => 0195-Shulker-change-color-with-dye.patch} (93%) rename patches/server/{0195-Extended-OfflinePlayer-API.patch => 0196-Extended-OfflinePlayer-API.patch} (100%) rename patches/server/{0196-Added-the-ability-to-add-combustible-items.patch => 0197-Added-the-ability-to-add-combustible-items.patch} (100%) rename patches/server/{0197-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch => 0198-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch} (97%) rename patches/server/{0198-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch => 0199-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch} (94%) rename patches/server/{0199-Shift-right-click-to-use-exp-for-mending.patch => 0200-Shift-right-click-to-use-exp-for-mending.patch} (91%) rename patches/server/{0200-Dolphins-naturally-aggressive-to-players-chance.patch => 0201-Dolphins-naturally-aggressive-to-players-chance.patch} (95%) rename patches/server/{0201-Cows-naturally-aggressive-to-players-chance.patch => 0202-Cows-naturally-aggressive-to-players-chance.patch} (96%) rename patches/server/{0202-Option-for-beds-to-explode-on-villager-sleep.patch => 0203-Option-for-beds-to-explode-on-villager-sleep.patch} (92%) rename patches/server/{0203-Halloween-options-and-optimizations.patch => 0204-Halloween-options-and-optimizations.patch} (97%) rename patches/server/{0204-Config-for-grindstones.patch => 0205-Config-for-grindstones.patch} (100%) rename patches/server/{0205-UPnP-Port-Forwarding.patch => 0206-UPnP-Port-Forwarding.patch} (100%) rename patches/server/{0206-Campfire-option-for-lit-when-placed.patch => 0207-Campfire-option-for-lit-when-placed.patch} (94%) rename patches/server/{0207-options-to-extinguish-fire-blocks-with-snowballs.patch => 0208-options-to-extinguish-fire-blocks-with-snowballs.patch} (98%) rename patches/server/{0208-Add-option-to-disable-zombie-villagers-cure.patch => 0209-Add-option-to-disable-zombie-villagers-cure.patch} (92%) rename patches/server/{0209-Persistent-BlockEntity-Lore-and-DisplayName.patch => 0210-Persistent-BlockEntity-Lore-and-DisplayName.patch} (99%) rename patches/server/{0210-Signs-allow-color-codes.patch => 0211-Signs-allow-color-codes.patch} (97%) rename patches/server/{0211-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch => 0212-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch} (100%) rename patches/server/{0212-Mobs-always-drop-experience.patch => 0213-Mobs-always-drop-experience.patch} (94%) rename patches/server/{0213-Grindstone-API.patch => 0214-Grindstone-API.patch} (100%) rename patches/server/{0214-Ability-for-hoe-to-replant-crops-and-nether-warts.patch => 0215-Ability-for-hoe-to-replant-crops-and-nether-warts.patch} (96%) rename patches/server/{0215-Turtle-eggs-random-tick-crack-chance.patch => 0216-Turtle-eggs-random-tick-crack-chance.patch} (93%) rename patches/server/{0216-Mob-head-visibility-percent.patch => 0217-Mob-head-visibility-percent.patch} (91%) rename patches/server/{0217-Configurable-valid-characters-for-usernames.patch => 0218-Configurable-valid-characters-for-usernames.patch} (100%) rename patches/server/{0218-Shears-can-have-looting-enchantment.patch => 0219-Shears-can-have-looting-enchantment.patch} (100%) rename patches/server/{0219-Stop-bees-from-dying-after-stinging.patch => 0220-Stop-bees-from-dying-after-stinging.patch} (90%) rename patches/server/{0220-Give-bee-counts-in-beehives-to-Purpur-clients.patch => 0221-Give-bee-counts-in-beehives-to-Purpur-clients.patch} (100%) rename patches/server/{0221-Configurable-farmland-trample-height.patch => 0222-Configurable-farmland-trample-height.patch} (94%) rename patches/server/{0222-Configurable-player-pickup-exp-delay.patch => 0223-Configurable-player-pickup-exp-delay.patch} (90%) rename patches/server/{0223-Allow-void-trading.patch => 0224-Allow-void-trading.patch} (86%) rename patches/server/{0224-Configurable-phantom-size.patch => 0225-Configurable-phantom-size.patch} (93%) rename patches/server/{0225-Max-joins-per-second.patch => 0226-Max-joins-per-second.patch} (100%) rename patches/server/{0226-Configurable-minimum-demand-for-trades.patch => 0227-Configurable-minimum-demand-for-trades.patch} (94%) rename patches/server/{0227-Lobotomize-stuck-villagers.patch => 0228-Lobotomize-stuck-villagers.patch} (97%) rename patches/server/{0228-Option-for-villager-display-trade-item.patch => 0229-Option-for-villager-display-trade-item.patch} (92%) rename patches/server/{0229-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch => 0230-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch} (93%) rename patches/server/{0230-Config-for-mob-last-hurt-by-player-time.patch => 0231-Config-for-mob-last-hurt-by-player-time.patch} (97%) rename patches/server/{0231-Anvil-repair-damage-options.patch => 0232-Anvil-repair-damage-options.patch} (97%) rename patches/server/{0232-Option-to-disable-turtle-egg-trampling-with-feather-.patch => 0233-Option-to-disable-turtle-egg-trampling-with-feather-.patch} (94%) rename patches/server/{0233-Add-toggle-for-enchant-level-clamping.patch => 0234-Add-toggle-for-enchant-level-clamping.patch} (100%) rename patches/server/{0234-Skip-junit-tests-for-purpur-commands.patch => 0235-Skip-junit-tests-for-purpur-commands.patch} (100%) rename patches/server/{0235-Implement-configurable-search-radius-for-villagers-t.patch => 0236-Implement-configurable-search-radius-for-villagers-t.patch} (93%) rename patches/server/{0236-Stonecutter-damage.patch => 0237-Stonecutter-damage.patch} (98%) rename patches/server/{0237-Configurable-damage-settings-for-magma-blocks.patch => 0238-Configurable-damage-settings-for-magma-blocks.patch} (92%) rename patches/server/{0238-Add-config-for-snow-on-blue-ice.patch => 0239-Add-config-for-snow-on-blue-ice.patch} (93%) rename patches/server/{0239-Skeletons-eat-wither-roses.patch => 0240-Skeletons-eat-wither-roses.patch} (96%) rename patches/server/{0240-Enchantment-Table-Persists-Lapis.patch => 0241-Enchantment-Table-Persists-Lapis.patch} (97%) rename patches/server/{0241-Spark-Profiler.patch => 0242-Spark-Profiler.patch} (100%) rename patches/server/{0242-Option-to-disable-kick-for-out-of-order-chat.patch => 0243-Option-to-disable-kick-for-out-of-order-chat.patch} (100%) rename patches/server/{0243-Config-for-sculk-shrieker-can_summon-state.patch => 0244-Config-for-sculk-shrieker-can_summon-state.patch} (92%) rename patches/server/{0244-Config-to-not-let-coral-die.patch => 0245-Config-to-not-let-coral-die.patch} (94%) rename patches/server/{0245-Add-local-difficulty-api.patch => 0246-Add-local-difficulty-api.patch} (100%) rename patches/server/{0246-Add-toggle-for-RNG-manipulation.patch => 0247-Add-toggle-for-RNG-manipulation.patch} (97%) rename patches/server/{0247-Remove-Timings.patch => 0248-Remove-Timings.patch} (100%) rename patches/server/{0248-Remove-Mojang-Profiler.patch => 0249-Remove-Mojang-Profiler.patch} (100%) rename patches/server/{0249-Add-more-logger-output-for-invalid-movement-kicks.patch => 0250-Add-more-logger-output-for-invalid-movement-kicks.patch} (100%) rename patches/server/{0250-Add-Bee-API.patch => 0251-Add-Bee-API.patch} (100%) rename patches/server/{0251-Debug-Marker-API.patch => 0252-Debug-Marker-API.patch} (100%) rename patches/server/{0252-mob-spawning-option-to-ignore-creative-players.patch => 0253-mob-spawning-option-to-ignore-creative-players.patch} (96%) rename patches/server/{0253-Add-skeleton-bow-accuracy-option.patch => 0254-Add-skeleton-bow-accuracy-option.patch} (94%) rename patches/server/{0254-Add-death-screen-API.patch => 0255-Add-death-screen-API.patch} (100%) rename patches/server/{0255-Implement-ram-and-rambar-commands.patch => 0256-Implement-ram-and-rambar-commands.patch} (100%) rename patches/server/{0256-Configurable-block-blast-resistance.patch => 0257-Configurable-block-blast-resistance.patch} (100%) rename patches/server/{0257-Configurable-block-fall-damage-modifiers.patch => 0258-Configurable-block-fall-damage-modifiers.patch} (100%) rename patches/server/{0258-Language-API.patch => 0259-Language-API.patch} (100%) rename patches/server/{0259-Milk-Keeps-Beneficial-Effects.patch => 0260-Milk-Keeps-Beneficial-Effects.patch} (97%) rename patches/server/{0260-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch => 0261-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch} (100%) rename patches/server/{0261-Add-log-suppression-for-LibraryLoader.patch => 0262-Add-log-suppression-for-LibraryLoader.patch} (100%) rename patches/server/{0262-Add-option-to-allow-creeper-to-encircle-target-when-.patch => 0263-Add-option-to-allow-creeper-to-encircle-target-when-.patch} (92%) rename patches/server/{0263-Fire-Immunity-API.patch => 0264-Fire-Immunity-API.patch} (100%) rename patches/server/{0264-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch => 0265-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch} (95%) rename patches/server/{0265-Added-got-ram-event.patch => 0266-Added-got-ram-event.patch} (100%) rename patches/server/{0266-Log-skipped-entity-s-position.patch => 0267-Log-skipped-entity-s-position.patch} (100%) rename patches/server/{0267-End-Crystal-Cramming.patch => 0268-End-Crystal-Cramming.patch} (91%) rename patches/server/{0268-Option-to-allow-beacon-effects-when-covered-by-tinte.patch => 0269-Option-to-allow-beacon-effects-when-covered-by-tinte.patch} (95%) rename patches/server/{0269-Add-attribute-clamping-and-armor-limit-config.patch => 0270-Add-attribute-clamping-and-armor-limit-config.patch} (100%) rename patches/server/{0270-Config-to-remove-explosion-radius-clamp.patch => 0271-Config-to-remove-explosion-radius-clamp.patch} (95%) rename patches/server/{0271-bonemealable-sugarcane-cactus-and-netherwart.patch => 0272-bonemealable-sugarcane-cactus-and-netherwart.patch} (98%) rename patches/server/{0272-Add-PreExplodeEvents.patch => 0273-Add-PreExplodeEvents.patch} (100%) rename patches/server/{0273-Improve-output-of-plugins-command.patch => 0274-Improve-output-of-plugins-command.patch} (100%) rename patches/server/{0274-Make-GUI-Great-Again.patch => 0275-Make-GUI-Great-Again.patch} (100%) rename patches/server/{0275-Stored-Bee-API.patch => 0276-Stored-Bee-API.patch} (100%) rename patches/server/{0276-Shears-can-defuse-TNT.patch => 0277-Shears-can-defuse-TNT.patch} (96%) rename patches/server/{0277-Explorer-Map-API.patch => 0278-Explorer-Map-API.patch} (100%) rename patches/server/{0278-Option-Ocelot-Spawn-Under-Sea-Level.patch => 0279-Option-Ocelot-Spawn-Under-Sea-Level.patch} (91%) rename patches/server/{0279-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch => 0280-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch} (93%) rename patches/server/{0280-Add-option-for-always-showing-item-in-player-death-m.patch => 0281-Add-option-for-always-showing-item-in-player-death-m.patch} (100%) rename patches/server/{0281-place-end-crystal-on-any-block.patch => 0282-place-end-crystal-on-any-block.patch} (92%) rename patches/server/{0282-Add-option-to-disable-the-copper-oxidation-proximity.patch => 0283-Add-option-to-disable-the-copper-oxidation-proximity.patch} (96%) rename patches/server/{0283-register-minecraft-debug-commands.patch => 0284-register-minecraft-debug-commands.patch} (100%) rename patches/server/{0284-Configurable-villager-search-radius.patch => 0285-Configurable-villager-search-radius.patch} (94%) rename patches/server/{0285-option-to-make-ravagers-afraid-of-rabbits.patch => 0286-option-to-make-ravagers-afraid-of-rabbits.patch} (91%) rename patches/server/{0286-config-for-startup-commands.patch => 0287-config-for-startup-commands.patch} (100%) rename patches/server/{0287-Config-to-reverse-bubble-column-flow.patch => 0288-Config-to-reverse-bubble-column-flow.patch} (100%) rename patches/server/{0288-Adopt-MaterialRerouting.patch => 0289-Adopt-MaterialRerouting.patch} (100%) diff --git a/patches/unapplied-server/0197-Config-to-remove-curse-of-binding-with-weakness.patch b/patches/server/0191-Config-to-remove-curse-of-binding-with-weakness.patch similarity index 51% rename from patches/unapplied-server/0197-Config-to-remove-curse-of-binding-with-weakness.patch rename to patches/server/0191-Config-to-remove-curse-of-binding-with-weakness.patch index 154d60583..cd080992e 100644 --- a/patches/unapplied-server/0197-Config-to-remove-curse-of-binding-with-weakness.patch +++ b/patches/server/0191-Config-to-remove-curse-of-binding-with-weakness.patch @@ -4,24 +4,24 @@ Date: Sun, 8 Aug 2021 16:59:21 -0400 Subject: [PATCH] Config to remove curse of binding with weakness -diff --git a/src/main/java/net/minecraft/world/inventory/InventoryMenu.java b/src/main/java/net/minecraft/world/inventory/InventoryMenu.java -index 9992599dbe4f4a430e822a44b03c00505abfbfaf..3fea9339420aa38b303ccf6c154aec246e617b5b 100644 ---- a/src/main/java/net/minecraft/world/inventory/InventoryMenu.java -+++ b/src/main/java/net/minecraft/world/inventory/InventoryMenu.java -@@ -97,7 +97,7 @@ public class InventoryMenu extends RecipeBookMenu { - public boolean mayPickup(Player playerEntity) { - ItemStack itemstack = this.getItem(); +diff --git a/src/main/java/net/minecraft/world/inventory/ArmorSlot.java b/src/main/java/net/minecraft/world/inventory/ArmorSlot.java +index 6c0b6abb1698fac9bb902f695b725d4ab783ee90..091e3c3514fcb378b68098114106d09f04d8fb0d 100644 +--- a/src/main/java/net/minecraft/world/inventory/ArmorSlot.java ++++ b/src/main/java/net/minecraft/world/inventory/ArmorSlot.java +@@ -45,7 +45,7 @@ class ArmorSlot extends Slot { + @Override + public boolean mayPickup(Player playerEntity) { + ItemStack itemStack = this.getItem(); +- return (itemStack.isEmpty() || playerEntity.isCreative() || !EnchantmentHelper.has(itemStack, EnchantmentEffectComponents.PREVENT_ARMOR_CHANGE)) ++ return (itemStack.isEmpty() || playerEntity.isCreative() || (!EnchantmentHelper.has(itemStack, EnchantmentEffectComponents.PREVENT_ARMOR_CHANGE) || playerEntity.level().purpurConfig.playerRemoveBindingWithWeakness && playerEntity.hasEffect(net.minecraft.world.effect.MobEffects.WEAKNESS))) + && super.mayPickup(playerEntity); + } -- return !itemstack.isEmpty() && !playerEntity.isCreative() && EnchantmentHelper.hasBindingCurse(itemstack) ? false : super.mayPickup(playerEntity); -+ return !itemstack.isEmpty() && !playerEntity.isCreative() && EnchantmentHelper.hasBindingCurse(itemstack) ? playerEntity.level().purpurConfig.playerRemoveBindingWithWeakness && playerEntity.hasEffect(net.minecraft.world.effect.MobEffects.WEAKNESS) : super.mayPickup(playerEntity); // Purpur - } - - @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 27f34e56820351223707c305f67c5e50aadbbe4f..a673122f46d4e4ad48e8c42e2d50e5ea2870df24 100644 +index 6052c3609796a90e73f8531ec1e9940cf4ebaf4c..58a1fcf60b157ca1b135500218bdc42063d4fe9d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -404,6 +404,7 @@ public class PurpurWorldConfig { +@@ -389,6 +389,7 @@ public class PurpurWorldConfig { public int playerBurpDelay = 10; public boolean playerBurpWhenFull = false; public boolean playerRidableInWater = false; @@ -29,7 +29,7 @@ index 27f34e56820351223707c305f67c5e50aadbbe4f..a673122f46d4e4ad48e8c42e2d50e5ea private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -427,6 +428,7 @@ public class PurpurWorldConfig { +@@ -412,6 +413,7 @@ public class PurpurWorldConfig { playerBurpDelay = getInt("gameplay-mechanics.player.burp-delay", playerBurpDelay); playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull); playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater); diff --git a/patches/server/0191-Conduit-behavior-configuration.patch b/patches/server/0192-Conduit-behavior-configuration.patch similarity index 98% rename from patches/server/0191-Conduit-behavior-configuration.patch rename to patches/server/0192-Conduit-behavior-configuration.patch index 7cbfd4ab7..4983ffef0 100644 --- a/patches/server/0191-Conduit-behavior-configuration.patch +++ b/patches/server/0192-Conduit-behavior-configuration.patch @@ -97,10 +97,10 @@ index c1759aeb3e6ad0e4eb66cba3da1b120dd1dce812..1a91bc2e422db0eba65694ac046f1b36 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6052c3609796a90e73f8531ec1e9940cf4ebaf4c..b8e41284cb5c4fa5996d02d2160da35a65f51ba1 100644 +index 58a1fcf60b157ca1b135500218bdc42063d4fe9d..8176952dcff842039c7782f489fbf6160bc12379 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2901,4 +2901,27 @@ public class PurpurWorldConfig { +@@ -2903,4 +2903,27 @@ public class PurpurWorldConfig { private void hungerSettings() { hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage); } diff --git a/patches/server/0192-Cauldron-fill-chances.patch b/patches/server/0193-Cauldron-fill-chances.patch similarity index 96% rename from patches/server/0192-Cauldron-fill-chances.patch rename to patches/server/0193-Cauldron-fill-chances.patch index 2e9d8b611..d47d58172 100644 --- a/patches/server/0192-Cauldron-fill-chances.patch +++ b/patches/server/0193-Cauldron-fill-chances.patch @@ -47,10 +47,10 @@ index a2bd54dae4b0460d200f6d5300194a7ef5a28830..bf189a171530abfc9bba5db5a305feb3 if (dripChance < f1) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b8e41284cb5c4fa5996d02d2160da35a65f51ba1..89e5918d0a79b0c28c6d9f73f5c33de9f5b04a10 100644 +index 8176952dcff842039c7782f489fbf6160bc12379..08f5759ad14f22e1af5bae16f5e978ad321df7c2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2924,4 +2924,15 @@ public class PurpurWorldConfig { +@@ -2926,4 +2926,15 @@ public class PurpurWorldConfig { }); conduitBlocks = conduitBlockList.toArray(Block[]::new); } diff --git a/patches/server/0193-Config-to-allow-mobs-to-pathfind-over-rails.patch b/patches/server/0194-Config-to-allow-mobs-to-pathfind-over-rails.patch similarity index 96% rename from patches/server/0193-Config-to-allow-mobs-to-pathfind-over-rails.patch rename to patches/server/0194-Config-to-allow-mobs-to-pathfind-over-rails.patch index 2ab2927f4..b7082594d 100644 --- a/patches/server/0193-Config-to-allow-mobs-to-pathfind-over-rails.patch +++ b/patches/server/0194-Config-to-allow-mobs-to-pathfind-over-rails.patch @@ -18,7 +18,7 @@ index d5004290e40a1ff5e0fcfe75f8da34ae15962359..31ae0f466ae522d767907ec5066b2669 && pathType != PathType.POWDER_SNOW) { node = this.tryJumpOn(x, y, z, maxYStep, prevFeetY, direction, nodeType, mutableBlockPos); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 89e5918d0a79b0c28c6d9f73f5c33de9f5b04a10..43b1da25411169fde7e25621b1dbeab3a83fb0af 100644 +index 08f5759ad14f22e1af5bae16f5e978ad321df7c2..792299ec1ed47a7eda31464b17da33a30f09c82b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -136,6 +136,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0194-Shulker-change-color-with-dye.patch b/patches/server/0195-Shulker-change-color-with-dye.patch similarity index 93% rename from patches/server/0194-Shulker-change-color-with-dye.patch rename to patches/server/0195-Shulker-change-color-with-dye.patch index 1ca797dc1..b82bf6436 100644 --- a/patches/server/0194-Shulker-change-color-with-dye.patch +++ b/patches/server/0195-Shulker-change-color-with-dye.patch @@ -29,10 +29,10 @@ index fde6bae8a5d9eba7ec87c73047a6e3f91629828e..0e9a4e473b1f1887804507cfadfdeeed 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 43b1da25411169fde7e25621b1dbeab3a83fb0af..e7c3eced685bd75bd5b09ecd7c47cc73bac6fae8 100644 +index 792299ec1ed47a7eda31464b17da33a30f09c82b..d191b3401194b6a00f82f1e7bed8eef4f26f9875 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2242,6 +2242,7 @@ public class PurpurWorldConfig { +@@ -2244,6 +2244,7 @@ public class PurpurWorldConfig { public double shulkerSpawnFromBulletNearbyRange = 8.0D; public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0"; public boolean shulkerSpawnFromBulletRandomColor = false; @@ -40,7 +40,7 @@ index 43b1da25411169fde7e25621b1dbeab3a83fb0af..e7c3eced685bd75bd5b09ecd7c47cc73 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2258,6 +2259,7 @@ public class PurpurWorldConfig { +@@ -2260,6 +2261,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/0195-Extended-OfflinePlayer-API.patch b/patches/server/0196-Extended-OfflinePlayer-API.patch similarity index 100% rename from patches/server/0195-Extended-OfflinePlayer-API.patch rename to patches/server/0196-Extended-OfflinePlayer-API.patch diff --git a/patches/server/0196-Added-the-ability-to-add-combustible-items.patch b/patches/server/0197-Added-the-ability-to-add-combustible-items.patch similarity index 100% rename from patches/server/0196-Added-the-ability-to-add-combustible-items.patch rename to patches/server/0197-Added-the-ability-to-add-combustible-items.patch diff --git a/patches/server/0197-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch b/patches/server/0198-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch similarity index 97% rename from patches/server/0197-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch rename to patches/server/0198-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch index 731b5857e..9f0e26827 100644 --- a/patches/server/0197-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch +++ b/patches/server/0198-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch @@ -25,7 +25,7 @@ index 74200fab686750cd53fc30edd050189cb11fe857..9e3dc4bf5ad390e6e49a5193c7788d0c // CraftBukkit start // If we stop due to everyone sleeping we should reset the weather duration to some other random value. diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e7c3eced685bd75bd5b09ecd7c47cc73bac6fae8..21e4fa3fe335733c1c9c3772526d573cf8464ce5 100644 +index d191b3401194b6a00f82f1e7bed8eef4f26f9875..5e8f6c9542358888f897dc67af20efb2022e7be1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -137,6 +137,8 @@ public class PurpurWorldConfig { diff --git a/patches/server/0198-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch b/patches/server/0199-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch similarity index 94% rename from patches/server/0198-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch rename to patches/server/0199-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch index fcbe8755b..47d5a2386 100644 --- a/patches/server/0198-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch +++ b/patches/server/0199-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch @@ -50,10 +50,10 @@ index 223259e7a09ada681b6181c898f6857888594f85..7d58a95f7ae8983b466b275f4f82597d .sound(SoundType.FLOWERING_AZALEA) .noOcclusion() diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 21e4fa3fe335733c1c9c3772526d573cf8464ce5..2762490934b27e555efbb9cfa92bd3946d618444 100644 +index 5e8f6c9542358888f897dc67af20efb2022e7be1..3f9da1c367a397c9e386517d690f048a93787686 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -789,6 +789,11 @@ public class PurpurWorldConfig { +@@ -791,6 +791,11 @@ public class PurpurWorldConfig { anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage); } @@ -65,7 +65,7 @@ index 21e4fa3fe335733c1c9c3772526d573cf8464ce5..2762490934b27e555efbb9cfa92bd394 public int beaconLevelOne = 20; public int beaconLevelTwo = 30; public int beaconLevelThree = 40; -@@ -926,6 +931,11 @@ public class PurpurWorldConfig { +@@ -928,6 +933,11 @@ public class PurpurWorldConfig { farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling); } diff --git a/patches/server/0199-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0200-Shift-right-click-to-use-exp-for-mending.patch similarity index 91% rename from patches/server/0199-Shift-right-click-to-use-exp-for-mending.patch rename to patches/server/0200-Shift-right-click-to-use-exp-for-mending.patch index de5465802..81855e402 100644 --- a/patches/server/0199-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0200-Shift-right-click-to-use-exp-for-mending.patch @@ -48,21 +48,21 @@ index 22979d8531fd9732b1fd5eaf76aec52b22fdf6bb..d0672ed5abf3488fc3ec6ea8b153e2d2 cancelled = event.useItemInHand() == Event.Result.DENY; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2762490934b27e555efbb9cfa92bd3946d618444..977ba750ed0faa9d45c56a2cb76a9c4497c3b984 100644 +index 3f9da1c367a397c9e386517d690f048a93787686..205b3ec04cc2e713b474242fae0792317ce708c9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -395,6 +395,7 @@ public class PurpurWorldConfig { - public int playerBurpDelay = 10; +@@ -396,6 +396,7 @@ public class PurpurWorldConfig { public boolean playerBurpWhenFull = false; public boolean playerRidableInWater = false; + public boolean playerRemoveBindingWithWeakness = false; + public int shiftRightClickRepairsMendingPoints = 0; private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -418,6 +419,7 @@ public class PurpurWorldConfig { - playerBurpDelay = getInt("gameplay-mechanics.player.burp-delay", playerBurpDelay); +@@ -420,6 +421,7 @@ public class PurpurWorldConfig { playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull); playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater); + playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness); + shiftRightClickRepairsMendingPoints = getInt("gameplay-mechanics.player.shift-right-click-repairs-mending-points", shiftRightClickRepairsMendingPoints); } diff --git a/patches/server/0200-Dolphins-naturally-aggressive-to-players-chance.patch b/patches/server/0201-Dolphins-naturally-aggressive-to-players-chance.patch similarity index 95% rename from patches/server/0200-Dolphins-naturally-aggressive-to-players-chance.patch rename to patches/server/0201-Dolphins-naturally-aggressive-to-players-chance.patch index 5f5b55a49..3c1a3cfd7 100644 --- a/patches/server/0200-Dolphins-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0201-Dolphins-naturally-aggressive-to-players-chance.patch @@ -48,10 +48,10 @@ index 439fa9a5070889a4dee48786509940c4d56b6806..f2e1954a1e80862ec3818af448cf4096 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 977ba750ed0faa9d45c56a2cb76a9c4497c3b984..7e8284774c7a1837ecf36b1dcdd682307fe0e012 100644 +index 205b3ec04cc2e713b474242fae0792317ce708c9..0f5fc85cdd9210627b09e31d6f5d9b8f7cbed691 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 { +@@ -1342,6 +1342,7 @@ public class PurpurWorldConfig { public double dolphinMaxHealth = 10.0D; public boolean dolphinDisableTreasureSearching = false; public boolean dolphinTakeDamageFromWater = false; @@ -59,7 +59,7 @@ index 977ba750ed0faa9d45c56a2cb76a9c4497c3b984..7e8284774c7a1837ecf36b1dcdd68230 private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -1354,6 +1355,7 @@ public class PurpurWorldConfig { +@@ -1356,6 +1357,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/0201-Cows-naturally-aggressive-to-players-chance.patch b/patches/server/0202-Cows-naturally-aggressive-to-players-chance.patch similarity index 96% rename from patches/server/0201-Cows-naturally-aggressive-to-players-chance.patch rename to patches/server/0202-Cows-naturally-aggressive-to-players-chance.patch index 358636f0e..f91522915 100644 --- a/patches/server/0201-Cows-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0202-Cows-naturally-aggressive-to-players-chance.patch @@ -61,10 +61,10 @@ index c519883f4ed3772378b5563401b8c557dc315ace..78f00014c034949b6559ca948b1b78fa @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7e8284774c7a1837ecf36b1dcdd682307fe0e012..76372d3723cf5f84eb998bb68e5ede21c674efd4 100644 +index 0f5fc85cdd9210627b09e31d6f5d9b8f7cbed691..6db545951f0923ba14a06f2a98b6f39ec3c31f9f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1289,7 +1289,14 @@ public class PurpurWorldConfig { +@@ -1291,7 +1291,14 @@ public class PurpurWorldConfig { public int cowFeedMushrooms = 0; public int cowBreedingTicks = 6000; public boolean cowTakeDamageFromWater = false; @@ -79,7 +79,7 @@ index 7e8284774c7a1837ecf36b1dcdd682307fe0e012..76372d3723cf5f84eb998bb68e5ede21 cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); cowControllable = getBoolean("mobs.cow.controllable", cowControllable); -@@ -1302,6 +1309,8 @@ public class PurpurWorldConfig { +@@ -1304,6 +1311,8 @@ public class PurpurWorldConfig { cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks); cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater); diff --git a/patches/server/0202-Option-for-beds-to-explode-on-villager-sleep.patch b/patches/server/0203-Option-for-beds-to-explode-on-villager-sleep.patch similarity index 92% rename from patches/server/0202-Option-for-beds-to-explode-on-villager-sleep.patch rename to patches/server/0203-Option-for-beds-to-explode-on-villager-sleep.patch index 4f948a4d2..1395fb042 100644 --- a/patches/server/0202-Option-for-beds-to-explode-on-villager-sleep.patch +++ b/patches/server/0203-Option-for-beds-to-explode-on-villager-sleep.patch @@ -22,10 +22,10 @@ index 1e100de8d30777e83907c523ffc1a3a54c670205..a9f6016b76dce5ca63b3a1093241c9e6 this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level().getGameTime()); // CraftBukkit - decompile error this.brain.eraseMemory(MemoryModuleType.WALK_TARGET); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 76372d3723cf5f84eb998bb68e5ede21c674efd4..a0d26e77e7c08c65c6d6bd47d0103499e3571790 100644 +index 6db545951f0923ba14a06f2a98b6f39ec3c31f9f..38768c545488f6062a2af68a2f744f07ef00541c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -808,6 +808,7 @@ public class PurpurWorldConfig { +@@ -810,6 +810,7 @@ public class PurpurWorldConfig { } public boolean bedExplode = true; @@ -33,7 +33,7 @@ index 76372d3723cf5f84eb998bb68e5ede21c674efd4..a0d26e77e7c08c65c6d6bd47d0103499 public double bedExplosionPower = 5.0D; public boolean bedExplosionFire = true; public net.minecraft.world.level.Level.ExplosionInteraction bedExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; -@@ -818,6 +819,7 @@ public class PurpurWorldConfig { +@@ -820,6 +821,7 @@ public class PurpurWorldConfig { } } bedExplode = getBoolean("blocks.bed.explode", bedExplode); diff --git a/patches/server/0203-Halloween-options-and-optimizations.patch b/patches/server/0204-Halloween-options-and-optimizations.patch similarity index 97% rename from patches/server/0203-Halloween-options-and-optimizations.patch rename to patches/server/0204-Halloween-options-and-optimizations.patch index ecafbd6c0..46f36f5b5 100644 --- a/patches/server/0203-Halloween-options-and-optimizations.patch +++ b/patches/server/0204-Halloween-options-and-optimizations.patch @@ -60,10 +60,10 @@ index c8a664447f19e437eb7c615563add92715be9650..fc6914d459b1985a2cba0f963a7d79eb 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 a0d26e77e7c08c65c6d6bd47d0103499e3571790..0b68d1be5fa4be9e68bdcfb0df733138154a9d43 100644 +index 38768c545488f6062a2af68a2f744f07ef00541c..5b9671669fef3844a02e2c79b965d3eea1bea87a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1682,6 +1682,13 @@ public class PurpurWorldConfig { +@@ -1684,6 +1684,13 @@ public class PurpurWorldConfig { guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater); } diff --git a/patches/server/0204-Config-for-grindstones.patch b/patches/server/0205-Config-for-grindstones.patch similarity index 100% rename from patches/server/0204-Config-for-grindstones.patch rename to patches/server/0205-Config-for-grindstones.patch diff --git a/patches/server/0205-UPnP-Port-Forwarding.patch b/patches/server/0206-UPnP-Port-Forwarding.patch similarity index 100% rename from patches/server/0205-UPnP-Port-Forwarding.patch rename to patches/server/0206-UPnP-Port-Forwarding.patch diff --git a/patches/server/0206-Campfire-option-for-lit-when-placed.patch b/patches/server/0207-Campfire-option-for-lit-when-placed.patch similarity index 94% rename from patches/server/0206-Campfire-option-for-lit-when-placed.patch rename to patches/server/0207-Campfire-option-for-lit-when-placed.patch index ceee8bf36..9eed1ebbb 100644 --- a/patches/server/0206-Campfire-option-for-lit-when-placed.patch +++ b/patches/server/0207-Campfire-option-for-lit-when-placed.patch @@ -18,10 +18,10 @@ index 7f6058f4def83867971121751acd51c398583651..5a49daf7b6bf9e0ec3d50494287a620d @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0b68d1be5fa4be9e68bdcfb0df733138154a9d43..81ca14a36b03a9ee2871a3be3a0c443add270d46 100644 +index 5b9671669fef3844a02e2c79b965d3eea1bea87a..786c880cb4bb0be0b3ddbfadfd1a3b4dcf72e1a2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -851,6 +851,11 @@ public class PurpurWorldConfig { +@@ -853,6 +853,11 @@ public class PurpurWorldConfig { cactusBreaksFromSolidNeighbors = getBoolean("blocks.cactus.breaks-from-solid-neighbors", cactusBreaksFromSolidNeighbors); } diff --git a/patches/server/0207-options-to-extinguish-fire-blocks-with-snowballs.patch b/patches/server/0208-options-to-extinguish-fire-blocks-with-snowballs.patch similarity index 98% rename from patches/server/0207-options-to-extinguish-fire-blocks-with-snowballs.patch rename to patches/server/0208-options-to-extinguish-fire-blocks-with-snowballs.patch index afc2b4a7c..5cc021b9f 100644 --- a/patches/server/0207-options-to-extinguish-fire-blocks-with-snowballs.patch +++ b/patches/server/0208-options-to-extinguish-fire-blocks-with-snowballs.patch @@ -46,7 +46,7 @@ index f59a2903bfb8ae591a638ea5bb387caaa93ce664..1b9d0e28e518c501b4b93ae385ddd64a protected void onHit(HitResult hitResult) { super.onHit(hitResult); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 81ca14a36b03a9ee2871a3be3a0c443add270d46..c58528599fd3231948582cf6f789b68b1eaecbe2 100644 +index 786c880cb4bb0be0b3ddbfadfd1a3b4dcf72e1a2..56607d301b0d5a0cca98f93d371709d998458a19 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -216,6 +216,9 @@ public class PurpurWorldConfig { diff --git a/patches/server/0208-Add-option-to-disable-zombie-villagers-cure.patch b/patches/server/0209-Add-option-to-disable-zombie-villagers-cure.patch similarity index 92% rename from patches/server/0208-Add-option-to-disable-zombie-villagers-cure.patch rename to patches/server/0209-Add-option-to-disable-zombie-villagers-cure.patch index c6f669176..7b70e5a63 100644 --- a/patches/server/0208-Add-option-to-disable-zombie-villagers-cure.patch +++ b/patches/server/0209-Add-option-to-disable-zombie-villagers-cure.patch @@ -18,10 +18,10 @@ index 9bb75b49ea2d0bd8aafbe537b65f86eb04f6cfe2..612907fe87e46b5b13ed80635f203fa9 if (!this.level().isClientSide) { this.startConverting(player.getUUID(), this.random.nextInt(level().purpurConfig.zombieVillagerCuringTimeMax - level().purpurConfig.zombieVillagerCuringTimeMin + 1) + level().purpurConfig.zombieVillagerCuringTimeMin); // Purpur diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c58528599fd3231948582cf6f789b68b1eaecbe2..48173dd974319c4f8e3b859c3b2ebde6065b8b7b 100644 +index 56607d301b0d5a0cca98f93d371709d998458a19..af752f79ae28224b114afac6ba0dee1eed1590df 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2901,6 +2901,7 @@ public class PurpurWorldConfig { +@@ -2903,6 +2903,7 @@ public class PurpurWorldConfig { public boolean zombieVillagerTakeDamageFromWater = false; public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; @@ -29,7 +29,7 @@ index c58528599fd3231948582cf6f789b68b1eaecbe2..48173dd974319c4f8e3b859c3b2ebde6 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2918,6 +2919,7 @@ public class PurpurWorldConfig { +@@ -2920,6 +2921,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/0209-Persistent-BlockEntity-Lore-and-DisplayName.patch b/patches/server/0210-Persistent-BlockEntity-Lore-and-DisplayName.patch similarity index 99% rename from patches/server/0209-Persistent-BlockEntity-Lore-and-DisplayName.patch rename to patches/server/0210-Persistent-BlockEntity-Lore-and-DisplayName.patch index afd55bd26..e81c8bb7e 100644 --- a/patches/server/0209-Persistent-BlockEntity-Lore-and-DisplayName.patch +++ b/patches/server/0210-Persistent-BlockEntity-Lore-and-DisplayName.patch @@ -135,7 +135,7 @@ index c0563260277f9f4bd9ff08993b2efb4bca9a0c60..cd0e43f4c53a746dd6183a8406269f9b + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 48173dd974319c4f8e3b859c3b2ebde6065b8b7b..8f30f8f17d38201344c0275f9db706831125ad1e 100644 +index af752f79ae28224b114afac6ba0dee1eed1590df..f637f01551cb83303d97716f50c93ab60923a1da 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -128,6 +128,8 @@ public class PurpurWorldConfig { diff --git a/patches/server/0210-Signs-allow-color-codes.patch b/patches/server/0211-Signs-allow-color-codes.patch similarity index 97% rename from patches/server/0210-Signs-allow-color-codes.patch rename to patches/server/0211-Signs-allow-color-codes.patch index dd0ec949f..7a938bb9b 100644 --- a/patches/server/0210-Signs-allow-color-codes.patch +++ b/patches/server/0211-Signs-allow-color-codes.patch @@ -84,10 +84,10 @@ index a28be7a332659be655f419d969e0c64e659b6c21..8cd812a25b1cc05ea14675658bf9c150 public ClientboundBlockEntityDataPacket getUpdatePacket() { return ClientboundBlockEntityDataPacket.create(this); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8f30f8f17d38201344c0275f9db706831125ad1e..2abad992ce2634c3bab521a2091d440c41795450 100644 +index f637f01551cb83303d97716f50c93ab60923a1da..a188ef9206211d4a0071255b90b740ce08199c84 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1024,6 +1024,11 @@ public class PurpurWorldConfig { +@@ -1026,6 +1026,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0211-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch b/patches/server/0212-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch similarity index 100% rename from patches/server/0211-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch rename to patches/server/0212-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch diff --git a/patches/server/0212-Mobs-always-drop-experience.patch b/patches/server/0213-Mobs-always-drop-experience.patch similarity index 94% rename from patches/server/0212-Mobs-always-drop-experience.patch rename to patches/server/0213-Mobs-always-drop-experience.patch index b119100fb..9f7a82a40 100644 --- a/patches/server/0212-Mobs-always-drop-experience.patch +++ b/patches/server/0213-Mobs-always-drop-experience.patch @@ -1157,10 +1157,10 @@ index 6250bc28db4bbac0f101cdc93c90ec4d7ec6b2ba..d342752271c76b447bb8cde50d574072 protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a786bed6d 100644 +index a188ef9206211d4a0071255b90b740ce08199c84..d0b77f8c0653f855d9afffd4a27ac23b9b4bf59e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1104,12 +1104,14 @@ public class PurpurWorldConfig { +@@ -1106,12 +1106,14 @@ public class PurpurWorldConfig { public double axolotlMaxHealth = 14.0D; public int axolotlBreedingTicks = 6000; public boolean axolotlTakeDamageFromWater = false; @@ -1175,7 +1175,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean batRidable = false; -@@ -1125,6 +1127,7 @@ public class PurpurWorldConfig { +@@ -1127,6 +1129,7 @@ public class PurpurWorldConfig { public double batArmorToughness = 0.0D; public double batAttackKnockback = 0.0D; public boolean batTakeDamageFromWater = false; @@ -1183,7 +1183,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void batSettings() { batRidable = getBoolean("mobs.bat.ridable", batRidable); batRidableInWater = getBoolean("mobs.bat.ridable-in-water", batRidableInWater); -@@ -1144,6 +1147,7 @@ public class PurpurWorldConfig { +@@ -1146,6 +1149,7 @@ public class PurpurWorldConfig { batArmorToughness = getDouble("mobs.bat.attributes.armor_toughness", batArmorToughness); batAttackKnockback = getDouble("mobs.bat.attributes.attack_knockback", batAttackKnockback); batTakeDamageFromWater = getBoolean("mobs.bat.takes-damage-from-water", batTakeDamageFromWater); @@ -1191,7 +1191,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean beeRidable = false; -@@ -1155,6 +1159,7 @@ public class PurpurWorldConfig { +@@ -1157,6 +1161,7 @@ public class PurpurWorldConfig { public boolean beeTakeDamageFromWater = false; public boolean beeCanWorkAtNight = false; public boolean beeCanWorkInRain = false; @@ -1199,7 +1199,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -1170,6 +1175,7 @@ public class PurpurWorldConfig { +@@ -1172,6 +1177,7 @@ public class PurpurWorldConfig { beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater); beeCanWorkAtNight = getBoolean("mobs.bee.can-work-at-night", beeCanWorkAtNight); beeCanWorkInRain = getBoolean("mobs.bee.can-work-in-rain", beeCanWorkInRain); @@ -1207,7 +1207,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean blazeRidable = false; -@@ -1178,6 +1184,7 @@ public class PurpurWorldConfig { +@@ -1180,6 +1186,7 @@ public class PurpurWorldConfig { public double blazeMaxY = 320D; public double blazeMaxHealth = 20.0D; public boolean blazeTakeDamageFromWater = true; @@ -1215,7 +1215,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void blazeSettings() { blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable); blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater); -@@ -1190,6 +1197,7 @@ public class PurpurWorldConfig { +@@ -1192,6 +1199,7 @@ public class PurpurWorldConfig { } blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth); blazeTakeDamageFromWater = getBoolean("mobs.blaze.takes-damage-from-water", blazeTakeDamageFromWater); @@ -1223,7 +1223,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean boggedRidable = false; -@@ -1232,6 +1240,7 @@ public class PurpurWorldConfig { +@@ -1234,6 +1242,7 @@ public class PurpurWorldConfig { public int catBreedingTicks = 6000; public DyeColor catDefaultCollarColor = DyeColor.RED; public boolean catTakeDamageFromWater = false; @@ -1231,7 +1231,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -1252,6 +1261,7 @@ public class PurpurWorldConfig { +@@ -1254,6 +1263,7 @@ public class PurpurWorldConfig { catDefaultCollarColor = DyeColor.RED; } catTakeDamageFromWater = getBoolean("mobs.cat.takes-damage-from-water", catTakeDamageFromWater); @@ -1239,7 +1239,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean caveSpiderRidable = false; -@@ -1259,6 +1269,7 @@ public class PurpurWorldConfig { +@@ -1261,6 +1271,7 @@ public class PurpurWorldConfig { public boolean caveSpiderControllable = true; public double caveSpiderMaxHealth = 12.0D; public boolean caveSpiderTakeDamageFromWater = false; @@ -1247,7 +1247,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void caveSpiderSettings() { caveSpiderRidable = getBoolean("mobs.cave_spider.ridable", caveSpiderRidable); caveSpiderRidableInWater = getBoolean("mobs.cave_spider.ridable-in-water", caveSpiderRidableInWater); -@@ -1270,6 +1281,7 @@ public class PurpurWorldConfig { +@@ -1272,6 +1283,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean chickenRidable = false; -@@ -1279,6 +1291,7 @@ public class PurpurWorldConfig { +@@ -1281,6 +1293,7 @@ public class PurpurWorldConfig { public boolean chickenRetaliate = false; public int chickenBreedingTicks = 6000; public boolean chickenTakeDamageFromWater = false; @@ -1263,7 +1263,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -1292,12 +1305,14 @@ public class PurpurWorldConfig { +@@ -1294,12 +1307,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void codSettings() { codRidable = getBoolean("mobs.cod.ridable", codRidable); codControllable = getBoolean("mobs.cod.controllable", codControllable); -@@ -1308,6 +1323,7 @@ public class PurpurWorldConfig { +@@ -1310,6 +1325,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean cowRidable = false; -@@ -1319,6 +1335,7 @@ public class PurpurWorldConfig { +@@ -1321,6 +1337,7 @@ public class PurpurWorldConfig { public boolean cowTakeDamageFromWater = false; public double cowNaturallyAggressiveToPlayersChance = 0.0D; public double cowNaturallyAggressiveToPlayersDamage = 2.0D; @@ -1294,7 +1294,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void cowSettings() { if (PurpurConfig.version < 22) { double oldValue = getDouble("mobs.cow.naturally-aggressive-to-players-chance", cowNaturallyAggressiveToPlayersChance); -@@ -1339,6 +1356,7 @@ public class PurpurWorldConfig { +@@ -1341,6 +1358,7 @@ public class PurpurWorldConfig { cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater); cowNaturallyAggressiveToPlayersChance = getDouble("mobs.cow.naturally-aggressive-to-players.chance", cowNaturallyAggressiveToPlayersChance); cowNaturallyAggressiveToPlayersDamage = getDouble("mobs.cow.naturally-aggressive-to-players.damage", cowNaturallyAggressiveToPlayersDamage); @@ -1302,7 +1302,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean creeperRidable = false; -@@ -1351,6 +1369,7 @@ public class PurpurWorldConfig { +@@ -1353,6 +1371,7 @@ public class PurpurWorldConfig { public boolean creeperTakeDamageFromWater = false; public boolean creeperExplodeWhenKilled = false; public boolean creeperHealthRadius = false; @@ -1310,7 +1310,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1367,6 +1386,7 @@ public class PurpurWorldConfig { +@@ -1369,6 +1388,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean dolphinRidable = false; -@@ -1378,6 +1398,7 @@ public class PurpurWorldConfig { +@@ -1380,6 +1400,7 @@ public class PurpurWorldConfig { public boolean dolphinDisableTreasureSearching = false; public boolean dolphinTakeDamageFromWater = false; public double dolphinNaturallyAggressiveToPlayersChance = 0.0D; @@ -1326,7 +1326,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -1393,6 +1414,7 @@ public class PurpurWorldConfig { +@@ -1395,6 +1416,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean donkeyRidableInWater = false; -@@ -1404,6 +1426,7 @@ public class PurpurWorldConfig { +@@ -1406,6 +1428,7 @@ public class PurpurWorldConfig { public double donkeyMovementSpeedMax = 0.175D; public int donkeyBreedingTicks = 6000; public boolean donkeyTakeDamageFromWater = false; @@ -1342,7 +1342,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); if (PurpurConfig.version < 10) { -@@ -1421,6 +1444,7 @@ public class PurpurWorldConfig { +@@ -1423,6 +1446,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean drownedRidable = false; -@@ -1433,6 +1457,7 @@ public class PurpurWorldConfig { +@@ -1435,6 +1459,7 @@ public class PurpurWorldConfig { public boolean drownedJockeyTryExistingChickens = true; public boolean drownedTakeDamageFromWater = false; public boolean drownedBreakDoors = false; @@ -1358,7 +1358,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1449,12 +1474,14 @@ public class PurpurWorldConfig { +@@ -1451,12 +1476,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void elderGuardianSettings() { elderGuardianRidable = getBoolean("mobs.elder_guardian.ridable", elderGuardianRidable); elderGuardianControllable = getBoolean("mobs.elder_guardian.controllable", elderGuardianControllable); -@@ -1465,6 +1492,7 @@ public class PurpurWorldConfig { +@@ -1467,6 +1494,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean enderDragonRidable = false; -@@ -1510,6 +1538,7 @@ public class PurpurWorldConfig { +@@ -1512,6 +1540,7 @@ public class PurpurWorldConfig { public boolean endermanIgnorePlayerDragonHead = false; public boolean endermanDisableStareAggro = false; public boolean endermanIgnoreProjectiles = false; @@ -1389,7 +1389,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1533,6 +1562,7 @@ public class PurpurWorldConfig { +@@ -1535,6 +1564,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean endermiteRidable = false; -@@ -1540,6 +1570,7 @@ public class PurpurWorldConfig { +@@ -1542,6 +1572,7 @@ public class PurpurWorldConfig { public boolean endermiteControllable = true; public double endermiteMaxHealth = 8.0D; public boolean endermiteTakeDamageFromWater = false; @@ -1405,7 +1405,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void endermiteSettings() { endermiteRidable = getBoolean("mobs.endermite.ridable", endermiteRidable); endermiteRidableInWater = getBoolean("mobs.endermite.ridable-in-water", endermiteRidableInWater); -@@ -1551,6 +1582,7 @@ public class PurpurWorldConfig { +@@ -1553,6 +1584,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean evokerRidable = false; -@@ -1559,6 +1591,7 @@ public class PurpurWorldConfig { +@@ -1561,6 +1593,7 @@ public class PurpurWorldConfig { public double evokerMaxHealth = 24.0D; public boolean evokerBypassMobGriefing = false; public boolean evokerTakeDamageFromWater = false; @@ -1421,7 +1421,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -1571,6 +1604,7 @@ public class PurpurWorldConfig { +@@ -1573,6 +1606,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean foxRidable = false; -@@ -1581,6 +1615,7 @@ public class PurpurWorldConfig { +@@ -1583,6 +1617,7 @@ public class PurpurWorldConfig { public int foxBreedingTicks = 6000; public boolean foxBypassMobGriefing = false; public boolean foxTakeDamageFromWater = false; @@ -1437,7 +1437,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -1595,6 +1630,7 @@ public class PurpurWorldConfig { +@@ -1597,6 +1632,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean frogRidable = false; -@@ -1616,6 +1652,7 @@ public class PurpurWorldConfig { +@@ -1618,6 +1654,7 @@ public class PurpurWorldConfig { public double ghastMaxY = 320D; public double ghastMaxHealth = 10.0D; public boolean ghastTakeDamageFromWater = false; @@ -1453,7 +1453,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void ghastSettings() { ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable); ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater); -@@ -1628,6 +1665,7 @@ public class PurpurWorldConfig { +@@ -1630,6 +1667,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean giantRidable = false; -@@ -1641,6 +1679,7 @@ public class PurpurWorldConfig { +@@ -1643,6 +1681,7 @@ public class PurpurWorldConfig { public boolean giantHaveAI = false; public boolean giantHaveHostileAI = false; public boolean giantTakeDamageFromWater = false; @@ -1469,7 +1469,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -1662,6 +1701,7 @@ public class PurpurWorldConfig { +@@ -1664,6 +1703,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean glowSquidRidable = false; -@@ -1669,12 +1709,14 @@ public class PurpurWorldConfig { +@@ -1671,12 +1711,14 @@ public class PurpurWorldConfig { public double glowSquidMaxHealth = 10.0D; public boolean glowSquidsCanFly = false; public boolean glowSquidTakeDamageFromWater = false; @@ -1492,7 +1492,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean goatRidable = false; -@@ -1683,6 +1725,7 @@ public class PurpurWorldConfig { +@@ -1685,6 +1727,7 @@ public class PurpurWorldConfig { public double goatMaxHealth = 10.0D; public int goatBreedingTicks = 6000; public boolean goatTakeDamageFromWater = false; @@ -1500,7 +1500,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void goatSettings() { goatRidable = getBoolean("mobs.goat.ridable", goatRidable); goatRidableInWater = getBoolean("mobs.goat.ridable-in-water", goatRidableInWater); -@@ -1690,12 +1733,14 @@ public class PurpurWorldConfig { +@@ -1692,12 +1735,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void guardianSettings() { guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable); guardianControllable = getBoolean("mobs.guardian.controllable", guardianControllable); -@@ -1706,6 +1751,7 @@ public class PurpurWorldConfig { +@@ -1708,6 +1753,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean forceHalloweenSeason = false; -@@ -1721,6 +1767,7 @@ public class PurpurWorldConfig { +@@ -1723,6 +1769,7 @@ public class PurpurWorldConfig { public double hoglinMaxHealth = 40.0D; public int hoglinBreedingTicks = 6000; public boolean hoglinTakeDamageFromWater = false; @@ -1531,7 +1531,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -1733,6 +1780,7 @@ public class PurpurWorldConfig { +@@ -1735,6 +1782,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean horseRidableInWater = false; -@@ -1744,6 +1792,7 @@ public class PurpurWorldConfig { +@@ -1746,6 +1794,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; @@ -1547,7 +1547,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1761,6 +1810,7 @@ public class PurpurWorldConfig { +@@ -1763,6 +1812,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean huskRidable = false; -@@ -1772,6 +1822,7 @@ public class PurpurWorldConfig { +@@ -1774,6 +1824,7 @@ public class PurpurWorldConfig { public double huskJockeyChance = 0.05D; public boolean huskJockeyTryExistingChickens = true; public boolean huskTakeDamageFromWater = false; @@ -1563,7 +1563,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -1787,6 +1838,7 @@ public class PurpurWorldConfig { +@@ -1789,6 +1840,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean illusionerRidable = false; -@@ -1796,6 +1848,7 @@ public class PurpurWorldConfig { +@@ -1798,6 +1850,7 @@ public class PurpurWorldConfig { public double illusionerFollowRange = 18.0D; public double illusionerMaxHealth = 32.0D; public boolean illusionerTakeDamageFromWater = false; @@ -1579,7 +1579,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void illusionerSettings() { illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable); illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater); -@@ -1813,6 +1866,7 @@ public class PurpurWorldConfig { +@@ -1815,6 +1868,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean ironGolemRidable = false; -@@ -1823,6 +1877,7 @@ public class PurpurWorldConfig { +@@ -1825,6 +1879,7 @@ public class PurpurWorldConfig { public boolean ironGolemTakeDamageFromWater = false; public boolean ironGolemPoppyCalm = false; public boolean ironGolemHealCalm = false; @@ -1595,7 +1595,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1837,6 +1892,7 @@ public class PurpurWorldConfig { +@@ -1839,6 +1894,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean llamaRidable = false; -@@ -1851,6 +1907,7 @@ public class PurpurWorldConfig { +@@ -1853,6 +1909,7 @@ public class PurpurWorldConfig { public int llamaBreedingTicks = 6000; public boolean llamaTakeDamageFromWater = false; public boolean llamaJoinCaravans = true; @@ -1611,7 +1611,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1871,6 +1928,7 @@ public class PurpurWorldConfig { +@@ -1873,6 +1930,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean magmaCubeRidable = false; -@@ -1881,6 +1939,7 @@ public class PurpurWorldConfig { +@@ -1883,6 +1941,7 @@ public class PurpurWorldConfig { public Map magmaCubeMaxHealthCache = new HashMap<>(); public Map magmaCubeAttackDamageCache = new HashMap<>(); public boolean magmaCubeTakeDamageFromWater = false; @@ -1627,7 +1627,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void magmaCubeSettings() { magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable); magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater); -@@ -1895,6 +1954,7 @@ public class PurpurWorldConfig { +@@ -1897,6 +1956,7 @@ public class PurpurWorldConfig { magmaCubeMaxHealthCache.clear(); magmaCubeAttackDamageCache.clear(); magmaCubeTakeDamageFromWater = getBoolean("mobs.magma_cube.takes-damage-from-water", magmaCubeTakeDamageFromWater); @@ -1635,7 +1635,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean mooshroomRidable = false; -@@ -1903,6 +1963,7 @@ public class PurpurWorldConfig { +@@ -1905,6 +1965,7 @@ public class PurpurWorldConfig { public double mooshroomMaxHealth = 10.0D; public int mooshroomBreedingTicks = 6000; public boolean mooshroomTakeDamageFromWater = false; @@ -1643,7 +1643,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1915,6 +1976,7 @@ public class PurpurWorldConfig { +@@ -1917,6 +1978,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean muleRidableInWater = false; -@@ -1926,6 +1988,7 @@ public class PurpurWorldConfig { +@@ -1928,6 +1990,7 @@ public class PurpurWorldConfig { public double muleMovementSpeedMax = 0.175D; public int muleBreedingTicks = 6000; public boolean muleTakeDamageFromWater = false; @@ -1659,7 +1659,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1943,6 +2006,7 @@ public class PurpurWorldConfig { +@@ -1945,6 +2008,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean ocelotRidable = false; -@@ -1951,6 +2015,7 @@ public class PurpurWorldConfig { +@@ -1953,6 +2017,7 @@ public class PurpurWorldConfig { public double ocelotMaxHealth = 10.0D; public int ocelotBreedingTicks = 6000; public boolean ocelotTakeDamageFromWater = false; @@ -1675,7 +1675,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1963,6 +2028,7 @@ public class PurpurWorldConfig { +@@ -1965,6 +2030,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean pandaRidable = false; -@@ -1971,6 +2037,7 @@ public class PurpurWorldConfig { +@@ -1973,6 +2039,7 @@ public class PurpurWorldConfig { public double pandaMaxHealth = 20.0D; public int pandaBreedingTicks = 6000; public boolean pandaTakeDamageFromWater = false; @@ -1691,7 +1691,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1983,6 +2050,7 @@ public class PurpurWorldConfig { +@@ -1985,6 +2052,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean parrotRidable = false; -@@ -1992,6 +2060,7 @@ public class PurpurWorldConfig { +@@ -1994,6 +2062,7 @@ public class PurpurWorldConfig { public double parrotMaxHealth = 6.0D; public boolean parrotTakeDamageFromWater = false; public boolean parrotBreedable = false; @@ -1707,7 +1707,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -2005,6 +2074,7 @@ public class PurpurWorldConfig { +@@ -2007,6 +2076,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean phantomRidable = false; -@@ -2032,6 +2102,7 @@ public class PurpurWorldConfig { +@@ -2034,6 +2104,7 @@ public class PurpurWorldConfig { public boolean phantomBurnInDaylight = true; public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; @@ -1723,7 +1723,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -2067,6 +2138,7 @@ public class PurpurWorldConfig { +@@ -2069,6 +2140,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean pigRidable = false; -@@ -2076,6 +2148,7 @@ public class PurpurWorldConfig { +@@ -2078,6 +2150,7 @@ public class PurpurWorldConfig { public boolean pigGiveSaddleBack = false; public int pigBreedingTicks = 6000; public boolean pigTakeDamageFromWater = false; @@ -1739,7 +1739,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -2089,6 +2162,7 @@ public class PurpurWorldConfig { +@@ -2091,6 +2164,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean piglinRidable = false; -@@ -2098,6 +2172,7 @@ public class PurpurWorldConfig { +@@ -2100,6 +2174,7 @@ public class PurpurWorldConfig { public boolean piglinBypassMobGriefing = false; public boolean piglinTakeDamageFromWater = false; public int piglinPortalSpawnModifier = 2000; @@ -1755,7 +1755,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2111,6 +2186,7 @@ public class PurpurWorldConfig { +@@ -2113,6 +2188,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean piglinBruteRidable = false; -@@ -2118,6 +2194,7 @@ public class PurpurWorldConfig { +@@ -2120,6 +2196,7 @@ public class PurpurWorldConfig { public boolean piglinBruteControllable = true; public double piglinBruteMaxHealth = 50.0D; public boolean piglinBruteTakeDamageFromWater = false; @@ -1771,7 +1771,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void piglinBruteSettings() { piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable); piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater); -@@ -2129,6 +2206,7 @@ public class PurpurWorldConfig { +@@ -2131,6 +2208,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean pillagerRidable = false; -@@ -2137,6 +2215,7 @@ public class PurpurWorldConfig { +@@ -2139,6 +2217,7 @@ public class PurpurWorldConfig { public double pillagerMaxHealth = 24.0D; public boolean pillagerBypassMobGriefing = false; public boolean pillagerTakeDamageFromWater = false; @@ -1787,7 +1787,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -2149,6 +2228,7 @@ public class PurpurWorldConfig { +@@ -2151,6 +2230,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean polarBearRidable = false; -@@ -2159,6 +2239,7 @@ public class PurpurWorldConfig { +@@ -2161,6 +2241,7 @@ public class PurpurWorldConfig { public Item polarBearBreedableItem = null; public int polarBearBreedingTicks = 6000; public boolean polarBearTakeDamageFromWater = false; @@ -1803,7 +1803,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -2174,12 +2255,14 @@ public class PurpurWorldConfig { +@@ -2176,12 +2257,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void pufferfishSettings() { pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable); pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable); -@@ -2190,6 +2273,7 @@ public class PurpurWorldConfig { +@@ -2192,6 +2275,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean rabbitRidable = false; -@@ -2201,6 +2285,7 @@ public class PurpurWorldConfig { +@@ -2203,6 +2287,7 @@ public class PurpurWorldConfig { public int rabbitBreedingTicks = 6000; public boolean rabbitBypassMobGriefing = false; public boolean rabbitTakeDamageFromWater = false; @@ -1834,7 +1834,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -2216,6 +2301,7 @@ public class PurpurWorldConfig { +@@ -2218,6 +2303,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean ravagerRidable = false; -@@ -2225,6 +2311,7 @@ public class PurpurWorldConfig { +@@ -2227,6 +2313,7 @@ public class PurpurWorldConfig { public boolean ravagerBypassMobGriefing = false; public boolean ravagerTakeDamageFromWater = false; public List ravagerGriefableBlocks = new ArrayList<>(); @@ -1850,7 +1850,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -2254,12 +2341,14 @@ public class PurpurWorldConfig { +@@ -2256,12 +2343,14 @@ public class PurpurWorldConfig { ravagerGriefableBlocks.add(block); } }); @@ -1865,7 +1865,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void salmonSettings() { salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable); salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable); -@@ -2270,6 +2359,7 @@ public class PurpurWorldConfig { +@@ -2272,6 +2361,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean sheepRidable = false; -@@ -2279,6 +2369,7 @@ public class PurpurWorldConfig { +@@ -2281,6 +2371,7 @@ public class PurpurWorldConfig { public int sheepBreedingTicks = 6000; public boolean sheepBypassMobGriefing = false; public boolean sheepTakeDamageFromWater = false; @@ -1881,7 +1881,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -2292,6 +2383,7 @@ public class PurpurWorldConfig { +@@ -2294,6 +2385,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean shulkerRidable = false; -@@ -2305,6 +2397,7 @@ public class PurpurWorldConfig { +@@ -2307,6 +2399,7 @@ public class PurpurWorldConfig { public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0"; public boolean shulkerSpawnFromBulletRandomColor = false; public boolean shulkerChangeColorWithDye = false; @@ -1897,7 +1897,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2322,6 +2415,7 @@ public class PurpurWorldConfig { +@@ -2324,6 +2417,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean silverfishRidable = false; -@@ -2330,6 +2424,7 @@ public class PurpurWorldConfig { +@@ -2332,6 +2426,7 @@ public class PurpurWorldConfig { public double silverfishMaxHealth = 8.0D; public boolean silverfishBypassMobGriefing = false; public boolean silverfishTakeDamageFromWater = false; @@ -1913,7 +1913,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -2342,6 +2437,7 @@ public class PurpurWorldConfig { +@@ -2344,6 +2439,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean skeletonRidable = false; -@@ -2349,6 +2445,7 @@ public class PurpurWorldConfig { +@@ -2351,6 +2447,7 @@ public class PurpurWorldConfig { public boolean skeletonControllable = true; public double skeletonMaxHealth = 20.0D; public boolean skeletonTakeDamageFromWater = false; @@ -1929,7 +1929,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2360,6 +2457,7 @@ public class PurpurWorldConfig { +@@ -2362,6 +2459,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean skeletonHorseRidable = false; -@@ -2372,6 +2470,7 @@ public class PurpurWorldConfig { +@@ -2374,6 +2472,7 @@ public class PurpurWorldConfig { public double skeletonHorseMovementSpeedMin = 0.2D; public double skeletonHorseMovementSpeedMax = 0.2D; public boolean skeletonHorseTakeDamageFromWater = false; @@ -1945,7 +1945,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void skeletonHorseSettings() { skeletonHorseRidable = getBoolean("mobs.skeleton_horse.ridable", skeletonHorseRidable); skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater); -@@ -2389,6 +2488,7 @@ public class PurpurWorldConfig { +@@ -2391,6 +2490,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean slimeRidable = false; -@@ -2399,6 +2499,7 @@ public class PurpurWorldConfig { +@@ -2401,6 +2501,7 @@ public class PurpurWorldConfig { public Map slimeMaxHealthCache = new HashMap<>(); public Map slimeAttackDamageCache = new HashMap<>(); public boolean slimeTakeDamageFromWater = false; @@ -1961,7 +1961,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void slimeSettings() { slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable); slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater); -@@ -2413,6 +2514,7 @@ public class PurpurWorldConfig { +@@ -2415,6 +2516,7 @@ public class PurpurWorldConfig { slimeMaxHealthCache.clear(); slimeAttackDamageCache.clear(); slimeTakeDamageFromWater = getBoolean("mobs.slime.takes-damage-from-water", slimeTakeDamageFromWater); @@ -1969,7 +1969,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean snowGolemRidable = false; -@@ -2427,6 +2529,7 @@ public class PurpurWorldConfig { +@@ -2429,6 +2531,7 @@ public class PurpurWorldConfig { public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; public boolean snowGolemTakeDamageFromWater = true; @@ -1977,7 +1977,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -2445,6 +2548,7 @@ public class PurpurWorldConfig { +@@ -2447,6 +2550,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean snifferRidable = false; -@@ -2467,6 +2571,7 @@ public class PurpurWorldConfig { +@@ -2469,6 +2573,7 @@ public class PurpurWorldConfig { public double squidOffsetWaterCheck = 0.0D; public boolean squidsCanFly = false; public boolean squidTakeDamageFromWater = false; @@ -1993,7 +1993,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -2480,6 +2585,7 @@ public class PurpurWorldConfig { +@@ -2482,6 +2587,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean spiderRidable = false; -@@ -2487,6 +2593,7 @@ public class PurpurWorldConfig { +@@ -2489,6 +2595,7 @@ public class PurpurWorldConfig { public boolean spiderControllable = true; public double spiderMaxHealth = 16.0D; public boolean spiderTakeDamageFromWater = false; @@ -2009,7 +2009,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -2498,6 +2605,7 @@ public class PurpurWorldConfig { +@@ -2500,6 +2607,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean strayRidable = false; -@@ -2505,6 +2613,7 @@ public class PurpurWorldConfig { +@@ -2507,6 +2615,7 @@ public class PurpurWorldConfig { public boolean strayControllable = true; public double strayMaxHealth = 20.0D; public boolean strayTakeDamageFromWater = false; @@ -2025,7 +2025,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void straySettings() { strayRidable = getBoolean("mobs.stray.ridable", strayRidable); strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater); -@@ -2516,6 +2625,7 @@ public class PurpurWorldConfig { +@@ -2518,6 +2627,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean striderRidable = false; -@@ -2525,6 +2635,7 @@ public class PurpurWorldConfig { +@@ -2527,6 +2637,7 @@ public class PurpurWorldConfig { public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; public boolean striderTakeDamageFromWater = true; @@ -2041,7 +2041,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -2538,6 +2649,7 @@ public class PurpurWorldConfig { +@@ -2540,6 +2651,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean tadpoleRidable = false; -@@ -2560,6 +2672,7 @@ public class PurpurWorldConfig { +@@ -2562,6 +2674,7 @@ public class PurpurWorldConfig { public double traderLlamaMovementSpeedMax = 0.175D; public int traderLlamaBreedingTicks = 6000; public boolean traderLlamaTakeDamageFromWater = false; @@ -2057,7 +2057,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -2579,12 +2692,14 @@ public class PurpurWorldConfig { +@@ -2581,12 +2694,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void tropicalFishSettings() { tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable); -@@ -2595,6 +2710,7 @@ public class PurpurWorldConfig { +@@ -2597,6 +2712,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean turtleRidable = false; -@@ -2603,6 +2719,7 @@ public class PurpurWorldConfig { +@@ -2605,6 +2721,7 @@ public class PurpurWorldConfig { public double turtleMaxHealth = 30.0D; public int turtleBreedingTicks = 6000; public boolean turtleTakeDamageFromWater = false; @@ -2088,7 +2088,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -2615,6 +2732,7 @@ public class PurpurWorldConfig { +@@ -2617,6 +2734,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean vexRidable = false; -@@ -2623,6 +2741,7 @@ public class PurpurWorldConfig { +@@ -2625,6 +2743,7 @@ public class PurpurWorldConfig { public double vexMaxY = 320D; public double vexMaxHealth = 14.0D; public boolean vexTakeDamageFromWater = false; @@ -2104,7 +2104,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void vexSettings() { vexRidable = getBoolean("mobs.vex.ridable", vexRidable); vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater); -@@ -2635,6 +2754,7 @@ public class PurpurWorldConfig { +@@ -2637,6 +2756,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean villagerRidable = false; -@@ -2650,6 +2770,7 @@ public class PurpurWorldConfig { +@@ -2652,6 +2772,7 @@ public class PurpurWorldConfig { public boolean villagerBypassMobGriefing = false; public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; @@ -2120,7 +2120,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2669,6 +2790,7 @@ public class PurpurWorldConfig { +@@ -2671,6 +2792,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean vindicatorRidable = false; -@@ -2677,6 +2799,7 @@ public class PurpurWorldConfig { +@@ -2679,6 +2801,7 @@ public class PurpurWorldConfig { public double vindicatorMaxHealth = 24.0D; public double vindicatorJohnnySpawnChance = 0D; public boolean vindicatorTakeDamageFromWater = false; @@ -2136,7 +2136,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -2689,6 +2812,7 @@ public class PurpurWorldConfig { +@@ -2691,6 +2814,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean wanderingTraderRidable = false; -@@ -2699,6 +2823,7 @@ public class PurpurWorldConfig { +@@ -2701,6 +2825,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderTakeDamageFromWater = false; public boolean wanderingTraderAllowTrading = true; @@ -2152,7 +2152,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -2713,6 +2838,7 @@ public class PurpurWorldConfig { +@@ -2715,6 +2840,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean wardenRidable = false; -@@ -2729,6 +2855,7 @@ public class PurpurWorldConfig { +@@ -2731,6 +2857,7 @@ public class PurpurWorldConfig { public boolean witchControllable = true; public double witchMaxHealth = 26.0D; public boolean witchTakeDamageFromWater = false; @@ -2168,7 +2168,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void witchSettings() { witchRidable = getBoolean("mobs.witch.ridable", witchRidable); witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater); -@@ -2740,6 +2867,7 @@ public class PurpurWorldConfig { +@@ -2742,6 +2869,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean witherRidable = false; -@@ -2754,6 +2882,7 @@ public class PurpurWorldConfig { +@@ -2756,6 +2884,7 @@ public class PurpurWorldConfig { public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; public boolean witherPlaySpawnSound = true; @@ -2184,7 +2184,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2776,6 +2905,7 @@ public class PurpurWorldConfig { +@@ -2778,6 +2907,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean witherSkeletonRidable = false; -@@ -2783,6 +2913,7 @@ public class PurpurWorldConfig { +@@ -2785,6 +2915,7 @@ public class PurpurWorldConfig { public boolean witherSkeletonControllable = true; public double witherSkeletonMaxHealth = 20.0D; public boolean witherSkeletonTakeDamageFromWater = false; @@ -2200,7 +2200,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void witherSkeletonSettings() { witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); -@@ -2794,6 +2925,7 @@ public class PurpurWorldConfig { +@@ -2796,6 +2927,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean wolfRidable = false; -@@ -2805,6 +2937,7 @@ public class PurpurWorldConfig { +@@ -2807,6 +2939,7 @@ public class PurpurWorldConfig { public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; public boolean wolfTakeDamageFromWater = false; @@ -2216,7 +2216,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -2824,6 +2957,7 @@ public class PurpurWorldConfig { +@@ -2826,6 +2959,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean zoglinRidable = false; -@@ -2831,6 +2965,7 @@ public class PurpurWorldConfig { +@@ -2833,6 +2967,7 @@ public class PurpurWorldConfig { public boolean zoglinControllable = true; public double zoglinMaxHealth = 40.0D; public boolean zoglinTakeDamageFromWater = false; @@ -2232,7 +2232,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void zoglinSettings() { zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable); zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater); -@@ -2842,6 +2977,7 @@ public class PurpurWorldConfig { +@@ -2844,6 +2979,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean zombieRidable = false; -@@ -2855,6 +2991,7 @@ public class PurpurWorldConfig { +@@ -2857,6 +2993,7 @@ public class PurpurWorldConfig { public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; @@ -2248,7 +2248,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2872,6 +3009,7 @@ public class PurpurWorldConfig { +@@ -2874,6 +3011,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean zombieHorseRidable = false; -@@ -2885,6 +3023,7 @@ public class PurpurWorldConfig { +@@ -2887,6 +3025,7 @@ public class PurpurWorldConfig { public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseSpawnChance = 0.0D; public boolean zombieHorseTakeDamageFromWater = false; @@ -2264,7 +2264,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void zombieHorseSettings() { zombieHorseRidable = getBoolean("mobs.zombie_horse.ridable", zombieHorseRidable); zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); -@@ -2903,6 +3042,7 @@ public class PurpurWorldConfig { +@@ -2905,6 +3044,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean zombieVillagerRidable = false; -@@ -2917,6 +3057,7 @@ public class PurpurWorldConfig { +@@ -2919,6 +3059,7 @@ public class PurpurWorldConfig { public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; public boolean zombieVillagerCureEnabled = true; @@ -2280,7 +2280,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2935,6 +3076,7 @@ public class PurpurWorldConfig { +@@ -2937,6 +3078,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 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a } public boolean zombifiedPiglinRidable = false; -@@ -2947,6 +3089,7 @@ public class PurpurWorldConfig { +@@ -2949,6 +3091,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; public boolean zombifiedPiglinTakeDamageFromWater = false; @@ -2296,7 +2296,7 @@ index 2abad992ce2634c3bab521a2091d440c41795450..8e2fe4cd6cc9ebfda022f9dd2ad52d9a private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -2963,6 +3106,7 @@ public class PurpurWorldConfig { +@@ -2965,6 +3108,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/0213-Grindstone-API.patch b/patches/server/0214-Grindstone-API.patch similarity index 100% rename from patches/server/0213-Grindstone-API.patch rename to patches/server/0214-Grindstone-API.patch diff --git a/patches/server/0214-Ability-for-hoe-to-replant-crops-and-nether-warts.patch b/patches/server/0215-Ability-for-hoe-to-replant-crops-and-nether-warts.patch similarity index 96% rename from patches/server/0214-Ability-for-hoe-to-replant-crops-and-nether-warts.patch rename to patches/server/0215-Ability-for-hoe-to-replant-crops-and-nether-warts.patch index e866fd57f..1bd55eb15 100644 --- a/patches/server/0214-Ability-for-hoe-to-replant-crops-and-nether-warts.patch +++ b/patches/server/0215-Ability-for-hoe-to-replant-crops-and-nether-warts.patch @@ -74,10 +74,10 @@ index acbd60a2f162fe0e254e36d0e8e7face3fc8a7b3..da1c7999ca64199387054de46489d3ff + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8e2fe4cd6cc9ebfda022f9dd2ad52d9a786bed6d..bf6e78aa6e8e7e26e5ac451ff650cdc48dd5bcde 100644 +index d0b77f8c0653f855d9afffd4a27ac23b9b4bf59e..23befe69c8add7b4c6cda29a1dafe826d2ab89a9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -531,6 +531,8 @@ public class PurpurWorldConfig { +@@ -533,6 +533,8 @@ public class PurpurWorldConfig { public Map axeWeatherables = new HashMap<>(); public Map hoeTillables = new HashMap<>(); public Map shovelFlattenables = new HashMap<>(); @@ -86,7 +86,7 @@ index 8e2fe4cd6cc9ebfda022f9dd2ad52d9a786bed6d..bf6e78aa6e8e7e26e5ac451ff650cdc4 private void toolSettings() { axeStrippables.clear(); axeWaxables.clear(); -@@ -798,6 +800,8 @@ public class PurpurWorldConfig { +@@ -800,6 +802,8 @@ public class PurpurWorldConfig { }); shovelFlattenables.put(block, new Flattenable(into, drops)); }); diff --git a/patches/server/0215-Turtle-eggs-random-tick-crack-chance.patch b/patches/server/0216-Turtle-eggs-random-tick-crack-chance.patch similarity index 93% rename from patches/server/0215-Turtle-eggs-random-tick-crack-chance.patch rename to patches/server/0216-Turtle-eggs-random-tick-crack-chance.patch index 07ff52985..fe5f89e8c 100644 --- a/patches/server/0215-Turtle-eggs-random-tick-crack-chance.patch +++ b/patches/server/0216-Turtle-eggs-random-tick-crack-chance.patch @@ -18,10 +18,10 @@ index 0c732cfbd9ce50198a3f85ae8ef2263d7ae0bc1a..2f0e8aeb9c45853fca12ddd78a7d5181 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bf6e78aa6e8e7e26e5ac451ff650cdc48dd5bcde..f8a31098eaccee7803aa2c186fbfd18fa8484f8d 100644 +index 23befe69c8add7b4c6cda29a1dafe826d2ab89a9..26bc162342b8bf3d9a5e89712ca4b0a7a311267a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1058,11 +1058,13 @@ public class PurpurWorldConfig { +@@ -1060,11 +1060,13 @@ public class PurpurWorldConfig { public boolean turtleEggsBreakFromItems = false; public boolean turtleEggsBreakFromMinecarts = false; public boolean turtleEggsBypassMobGriefing = false; diff --git a/patches/server/0216-Mob-head-visibility-percent.patch b/patches/server/0217-Mob-head-visibility-percent.patch similarity index 91% rename from patches/server/0216-Mob-head-visibility-percent.patch rename to patches/server/0217-Mob-head-visibility-percent.patch index 3bc411ccb..2b9f8c40b 100644 --- a/patches/server/0216-Mob-head-visibility-percent.patch +++ b/patches/server/0217-Mob-head-visibility-percent.patch @@ -32,10 +32,10 @@ index bc31065aed8d09b5242310de52f895a0173c0534..aa8997468c50810c3c9713c98a7786f2 // 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 f8a31098eaccee7803aa2c186fbfd18fa8484f8d..d7e073764928fb69576ee931a9509f7449cfa9cd 100644 +index 26bc162342b8bf3d9a5e89712ca4b0a7a311267a..5ed9442312b07887bff555896525fc6249508ee2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1376,6 +1376,7 @@ public class PurpurWorldConfig { +@@ -1378,6 +1378,7 @@ public class PurpurWorldConfig { public boolean creeperExplodeWhenKilled = false; public boolean creeperHealthRadius = false; public boolean creeperAlwaysDropExp = false; @@ -43,7 +43,7 @@ index f8a31098eaccee7803aa2c186fbfd18fa8484f8d..d7e073764928fb69576ee931a9509f74 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1393,6 +1394,7 @@ public class PurpurWorldConfig { +@@ -1395,6 +1396,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 f8a31098eaccee7803aa2c186fbfd18fa8484f8d..d7e073764928fb69576ee931a9509f74 } public boolean dolphinRidable = false; -@@ -2179,6 +2181,7 @@ public class PurpurWorldConfig { +@@ -2181,6 +2183,7 @@ public class PurpurWorldConfig { public boolean piglinTakeDamageFromWater = false; public int piglinPortalSpawnModifier = 2000; public boolean piglinAlwaysDropExp = false; @@ -59,7 +59,7 @@ index f8a31098eaccee7803aa2c186fbfd18fa8484f8d..d7e073764928fb69576ee931a9509f74 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2193,6 +2196,7 @@ public class PurpurWorldConfig { +@@ -2195,6 +2198,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 f8a31098eaccee7803aa2c186fbfd18fa8484f8d..d7e073764928fb69576ee931a9509f74 } public boolean piglinBruteRidable = false; -@@ -2452,6 +2456,7 @@ public class PurpurWorldConfig { +@@ -2454,6 +2458,7 @@ public class PurpurWorldConfig { public double skeletonMaxHealth = 20.0D; public boolean skeletonTakeDamageFromWater = false; public boolean skeletonAlwaysDropExp = false; @@ -75,7 +75,7 @@ index f8a31098eaccee7803aa2c186fbfd18fa8484f8d..d7e073764928fb69576ee931a9509f74 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2464,6 +2469,7 @@ public class PurpurWorldConfig { +@@ -2466,6 +2471,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 f8a31098eaccee7803aa2c186fbfd18fa8484f8d..d7e073764928fb69576ee931a9509f74 } public boolean skeletonHorseRidable = false; -@@ -2998,6 +3004,7 @@ public class PurpurWorldConfig { +@@ -3000,6 +3006,7 @@ public class PurpurWorldConfig { public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; public boolean zombieAlwaysDropExp = false; @@ -91,7 +91,7 @@ index f8a31098eaccee7803aa2c186fbfd18fa8484f8d..d7e073764928fb69576ee931a9509f74 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -3016,6 +3023,7 @@ public class PurpurWorldConfig { +@@ -3018,6 +3025,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/0217-Configurable-valid-characters-for-usernames.patch b/patches/server/0218-Configurable-valid-characters-for-usernames.patch similarity index 100% rename from patches/server/0217-Configurable-valid-characters-for-usernames.patch rename to patches/server/0218-Configurable-valid-characters-for-usernames.patch diff --git a/patches/server/0218-Shears-can-have-looting-enchantment.patch b/patches/server/0219-Shears-can-have-looting-enchantment.patch similarity index 100% rename from patches/server/0218-Shears-can-have-looting-enchantment.patch rename to patches/server/0219-Shears-can-have-looting-enchantment.patch diff --git a/patches/server/0219-Stop-bees-from-dying-after-stinging.patch b/patches/server/0220-Stop-bees-from-dying-after-stinging.patch similarity index 90% rename from patches/server/0219-Stop-bees-from-dying-after-stinging.patch rename to patches/server/0220-Stop-bees-from-dying-after-stinging.patch index 56341e1ce..bf18b1d6d 100644 --- a/patches/server/0219-Stop-bees-from-dying-after-stinging.patch +++ b/patches/server/0220-Stop-bees-from-dying-after-stinging.patch @@ -17,10 +17,10 @@ index ca56f5781c1c02e40179a4dd359c5d167d3160dc..0dfdecff129a6b34833eb3fb7d7d967b ++this.timeSinceSting; if (this.timeSinceSting % 5 == 0 && this.random.nextInt(Mth.clamp(1200 - this.timeSinceSting, 1, 1200)) == 0) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d7e073764928fb69576ee931a9509f7449cfa9cd..aa35b3a8cb124c7b9fb92e457bc17755e6fc6149 100644 +index 5ed9442312b07887bff555896525fc6249508ee2..d902ebbbc8144c344342d24aae2e34279ad77e7f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1166,6 +1166,7 @@ public class PurpurWorldConfig { +@@ -1168,6 +1168,7 @@ public class PurpurWorldConfig { public boolean beeCanWorkAtNight = false; public boolean beeCanWorkInRain = false; public boolean beeAlwaysDropExp = false; @@ -28,7 +28,7 @@ index d7e073764928fb69576ee931a9509f7449cfa9cd..aa35b3a8cb124c7b9fb92e457bc17755 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -1182,6 +1183,7 @@ public class PurpurWorldConfig { +@@ -1184,6 +1185,7 @@ public class PurpurWorldConfig { beeCanWorkAtNight = getBoolean("mobs.bee.can-work-at-night", beeCanWorkAtNight); beeCanWorkInRain = getBoolean("mobs.bee.can-work-in-rain", beeCanWorkInRain); beeAlwaysDropExp = getBoolean("mobs.bee.always-drop-exp", beeAlwaysDropExp); diff --git a/patches/server/0220-Give-bee-counts-in-beehives-to-Purpur-clients.patch b/patches/server/0221-Give-bee-counts-in-beehives-to-Purpur-clients.patch similarity index 100% rename from patches/server/0220-Give-bee-counts-in-beehives-to-Purpur-clients.patch rename to patches/server/0221-Give-bee-counts-in-beehives-to-Purpur-clients.patch diff --git a/patches/server/0221-Configurable-farmland-trample-height.patch b/patches/server/0222-Configurable-farmland-trample-height.patch similarity index 94% rename from patches/server/0221-Configurable-farmland-trample-height.patch rename to patches/server/0222-Configurable-farmland-trample-height.patch index 34fed6aa1..c7faf3e5b 100644 --- a/patches/server/0221-Configurable-farmland-trample-height.patch +++ b/patches/server/0222-Configurable-farmland-trample-height.patch @@ -35,10 +35,10 @@ index 12a0c69f8fec30fad64cbb00af2ca1bbf0ea5153..d0ec0722496ed931b48c4e7076fddbb1 org.bukkit.event.Cancellable cancellable; if (entity instanceof Player) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index aa35b3a8cb124c7b9fb92e457bc17755e6fc6149..49753a308b7124e9b1d7c9f6857e747147cfba84 100644 +index d902ebbbc8144c344342d24aae2e34279ad77e7f..658f6b01f27c3559e2d8965c16975f3badfc00a2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -951,6 +951,7 @@ public class PurpurWorldConfig { +@@ -953,6 +953,7 @@ public class PurpurWorldConfig { public boolean farmlandTramplingDisabled = false; public boolean farmlandTramplingOnlyPlayers = false; public boolean farmlandTramplingFeatherFalling = false; @@ -46,7 +46,7 @@ index aa35b3a8cb124c7b9fb92e457bc17755e6fc6149..49753a308b7124e9b1d7c9f6857e7471 private void farmlandSettings() { farmlandBypassMobGriefing = getBoolean("blocks.farmland.bypass-mob-griefing", farmlandBypassMobGriefing); farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); -@@ -958,6 +959,7 @@ public class PurpurWorldConfig { +@@ -960,6 +961,7 @@ public class PurpurWorldConfig { farmlandTramplingDisabled = getBoolean("blocks.farmland.disable-trampling", farmlandTramplingDisabled); farmlandTramplingOnlyPlayers = getBoolean("blocks.farmland.only-players-trample", farmlandTramplingOnlyPlayers); farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling); diff --git a/patches/server/0222-Configurable-player-pickup-exp-delay.patch b/patches/server/0223-Configurable-player-pickup-exp-delay.patch similarity index 90% rename from patches/server/0222-Configurable-player-pickup-exp-delay.patch rename to patches/server/0223-Configurable-player-pickup-exp-delay.patch index c7f3728c4..cca557bf8 100644 --- a/patches/server/0222-Configurable-player-pickup-exp-delay.patch +++ b/patches/server/0223-Configurable-player-pickup-exp-delay.patch @@ -35,20 +35,20 @@ index cb6f161d32fe9642e9e9b1efc47d88612041ea15..92df67d9e1d32c8a7aaeaaa46c7641af } else if (!entity.isRemoved()) { this.touch(entity); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 49753a308b7124e9b1d7c9f6857e747147cfba84..24e6b90f79fe94416967503f72e9a444c6af4a60 100644 +index 658f6b01f27c3559e2d8965c16975f3badfc00a2..f1d59fd5d9f624319b96f7f5d815ec4341d24f38 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -412,6 +412,7 @@ public class PurpurWorldConfig { - public boolean playerBurpWhenFull = false; +@@ -413,6 +413,7 @@ public class PurpurWorldConfig { public boolean playerRidableInWater = false; + public boolean playerRemoveBindingWithWeakness = false; public int shiftRightClickRepairsMendingPoints = 0; + public int playerExpPickupDelay = 2; private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -436,6 +437,7 @@ public class PurpurWorldConfig { - playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull); +@@ -438,6 +439,7 @@ public class PurpurWorldConfig { playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater); + playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness); shiftRightClickRepairsMendingPoints = getInt("gameplay-mechanics.player.shift-right-click-repairs-mending-points", shiftRightClickRepairsMendingPoints); + playerExpPickupDelay = getInt("gameplay-mechanics.player.exp-pickup-delay-ticks", playerExpPickupDelay); } diff --git a/patches/server/0223-Allow-void-trading.patch b/patches/server/0224-Allow-void-trading.patch similarity index 86% rename from patches/server/0223-Allow-void-trading.patch rename to patches/server/0224-Allow-void-trading.patch index 6dde592a6..51b876f6a 100644 --- a/patches/server/0223-Allow-void-trading.patch +++ b/patches/server/0224-Allow-void-trading.patch @@ -18,19 +18,19 @@ index 9e3dc4bf5ad390e6e49a5193c7788d0c0c536f0f..49f77274309befcdef1548e875480b9f } // Paper end - Fix merchant inventory not closing on entity removal diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 24e6b90f79fe94416967503f72e9a444c6af4a60..274d162127c6d5cc5514f906e7bd697b213e4e9e 100644 +index f1d59fd5d9f624319b96f7f5d815ec4341d24f38..5c92d0b952100deb3b721565bbd73c8c603b43ed 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -413,6 +413,7 @@ public class PurpurWorldConfig { - public boolean playerRidableInWater = false; +@@ -414,6 +414,7 @@ public class PurpurWorldConfig { + public boolean playerRemoveBindingWithWeakness = false; public int shiftRightClickRepairsMendingPoints = 0; public int playerExpPickupDelay = 2; + public boolean playerVoidTrading = false; private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -438,6 +439,7 @@ public class PurpurWorldConfig { - playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater); +@@ -440,6 +441,7 @@ public class PurpurWorldConfig { + playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness); shiftRightClickRepairsMendingPoints = getInt("gameplay-mechanics.player.shift-right-click-repairs-mending-points", shiftRightClickRepairsMendingPoints); playerExpPickupDelay = getInt("gameplay-mechanics.player.exp-pickup-delay-ticks", playerExpPickupDelay); + playerVoidTrading = getBoolean("gameplay-mechanics.player.allow-void-trading", playerVoidTrading); diff --git a/patches/server/0224-Configurable-phantom-size.patch b/patches/server/0225-Configurable-phantom-size.patch similarity index 93% rename from patches/server/0224-Configurable-phantom-size.patch rename to patches/server/0225-Configurable-phantom-size.patch index 527cfd3e4..fe2609e07 100644 --- a/patches/server/0224-Configurable-phantom-size.patch +++ b/patches/server/0225-Configurable-phantom-size.patch @@ -22,10 +22,10 @@ index 98b4eecf1685dcf43880b983493597bd22de4877..260c5d22ee10582974a5006cfeefa067 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 274d162127c6d5cc5514f906e7bd697b213e4e9e..3d258742ce91c9dee81b9bc5a7ff73b5c4114f0b 100644 +index 5c92d0b952100deb3b721565bbd73c8c603b43ed..589ee97f28f24de35fd755fcae4ec35b8d0e0cba 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2119,6 +2119,8 @@ public class PurpurWorldConfig { +@@ -2121,6 +2121,8 @@ public class PurpurWorldConfig { public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; public boolean phantomAlwaysDropExp = false; @@ -34,7 +34,7 @@ index 274d162127c6d5cc5514f906e7bd697b213e4e9e..3d258742ce91c9dee81b9bc5a7ff73b5 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -2155,6 +2157,13 @@ public class PurpurWorldConfig { +@@ -2157,6 +2159,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/0225-Max-joins-per-second.patch b/patches/server/0226-Max-joins-per-second.patch similarity index 100% rename from patches/server/0225-Max-joins-per-second.patch rename to patches/server/0226-Max-joins-per-second.patch diff --git a/patches/server/0226-Configurable-minimum-demand-for-trades.patch b/patches/server/0227-Configurable-minimum-demand-for-trades.patch similarity index 94% rename from patches/server/0226-Configurable-minimum-demand-for-trades.patch rename to patches/server/0227-Configurable-minimum-demand-for-trades.patch index a36a3fcf7..cb140dbd1 100644 --- a/patches/server/0226-Configurable-minimum-demand-for-trades.patch +++ b/patches/server/0227-Configurable-minimum-demand-for-trades.patch @@ -40,10 +40,10 @@ index 0efc8d997b34302c3e0a5d7ec73a11a940dbeefe..af157881d440b34cfe79fbc9b03cc9ef public ItemStack assemble() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3d258742ce91c9dee81b9bc5a7ff73b5c4114f0b..2ad466c83b72272abbc2ff9dfbd0beaecf642da1 100644 +index 589ee97f28f24de35fd755fcae4ec35b8d0e0cba..cb09de7b27e4bcc8594a901a3c19abd2c06c4813 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2800,6 +2800,7 @@ public class PurpurWorldConfig { +@@ -2802,6 +2802,7 @@ public class PurpurWorldConfig { public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; @@ -51,7 +51,7 @@ index 3d258742ce91c9dee81b9bc5a7ff73b5c4114f0b..2ad466c83b72272abbc2ff9dfbd0beae private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2820,6 +2821,7 @@ public class PurpurWorldConfig { +@@ -2822,6 +2823,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/0227-Lobotomize-stuck-villagers.patch b/patches/server/0228-Lobotomize-stuck-villagers.patch similarity index 97% rename from patches/server/0227-Lobotomize-stuck-villagers.patch rename to patches/server/0228-Lobotomize-stuck-villagers.patch index ffc41ea7a..629bcbef4 100644 --- a/patches/server/0227-Lobotomize-stuck-villagers.patch +++ b/patches/server/0228-Lobotomize-stuck-villagers.patch @@ -104,10 +104,10 @@ index 6c15d40979fd3e3d246a447c432b321fbf29ada3..6ace76a829c88e2e747dbbcce0a6582c + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2ad466c83b72272abbc2ff9dfbd0beaecf642da1..ca66752f7a44835fc6a06f819699a6419f5ce21a 100644 +index cb09de7b27e4bcc8594a901a3c19abd2c06c4813..4912f510b8245db1627dad910824e8157a88aaec 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2801,6 +2801,9 @@ public class PurpurWorldConfig { +@@ -2803,6 +2803,9 @@ public class PurpurWorldConfig { public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; public int villagerMinimumDemand = 0; @@ -117,7 +117,7 @@ index 2ad466c83b72272abbc2ff9dfbd0beaecf642da1..ca66752f7a44835fc6a06f819699a641 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2822,6 +2825,18 @@ public class PurpurWorldConfig { +@@ -2824,6 +2827,18 @@ public class PurpurWorldConfig { villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp); villagerMinimumDemand = getInt("mobs.villager.minimum-demand", villagerMinimumDemand); diff --git a/patches/server/0228-Option-for-villager-display-trade-item.patch b/patches/server/0229-Option-for-villager-display-trade-item.patch similarity index 92% rename from patches/server/0228-Option-for-villager-display-trade-item.patch rename to patches/server/0229-Option-for-villager-display-trade-item.patch index 0c271e218..7df5f9cf1 100644 --- a/patches/server/0228-Option-for-villager-display-trade-item.patch +++ b/patches/server/0229-Option-for-villager-display-trade-item.patch @@ -17,10 +17,10 @@ index 18dad0825616c4167a0a7555689ee64910a87e09..6945992491027d43eca4f1ca697ad45c && this.lookTime > 0 && entity.getBrain().getMemory(MemoryModuleType.INTERACTION_TARGET).isPresent(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ca66752f7a44835fc6a06f819699a6419f5ce21a..2c3689423978af4cc99772fa108bbf9dce14619f 100644 +index 4912f510b8245db1627dad910824e8157a88aaec..bf0d87f68ca561e01b1a5f839f74879d8e7d4013 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2804,6 +2804,7 @@ public class PurpurWorldConfig { +@@ -2806,6 +2806,7 @@ public class PurpurWorldConfig { public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheckInterval = 100; public boolean villagerLobotomizeWaitUntilTradeLocked = false; @@ -28,7 +28,7 @@ index ca66752f7a44835fc6a06f819699a6419f5ce21a..2c3689423978af4cc99772fa108bbf9d private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2837,6 +2838,7 @@ public class PurpurWorldConfig { +@@ -2839,6 +2840,7 @@ public class PurpurWorldConfig { villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); villagerLobotomizeWaitUntilTradeLocked = getBoolean("mobs.villager.lobotomize.wait-until-trade-locked", villagerLobotomizeWaitUntilTradeLocked); diff --git a/patches/server/0229-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch b/patches/server/0230-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch similarity index 93% rename from patches/server/0229-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch rename to patches/server/0230-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch index a2e32762f..c393339c6 100644 --- a/patches/server/0229-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch +++ b/patches/server/0230-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch @@ -17,10 +17,10 @@ index c9cabb061ebc9172647304431cc3fb2593dd47ba..565408c03849fb3011fb708478a99ec6 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2c3689423978af4cc99772fa108bbf9dce14619f..5815e27f4cfe2eb3c25acee91c4ceb1a1d99e86f 100644 +index bf0d87f68ca561e01b1a5f839f74879d8e7d4013..572feb00a0a580d05145b1b2d65c13e09bd079fc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1045,8 +1045,10 @@ public class PurpurWorldConfig { +@@ -1047,8 +1047,10 @@ public class PurpurWorldConfig { } public boolean spawnerDeactivateByRedstone = false; diff --git a/patches/server/0230-Config-for-mob-last-hurt-by-player-time.patch b/patches/server/0231-Config-for-mob-last-hurt-by-player-time.patch similarity index 97% rename from patches/server/0230-Config-for-mob-last-hurt-by-player-time.patch rename to patches/server/0231-Config-for-mob-last-hurt-by-player-time.patch index c7bee2e79..a54cc65bd 100644 --- a/patches/server/0230-Config-for-mob-last-hurt-by-player-time.patch +++ b/patches/server/0231-Config-for-mob-last-hurt-by-player-time.patch @@ -38,7 +38,7 @@ index 88be8ebe619f2e42bdffab534da4f269b802cf41..ed594f9446646e30de3d4e8afa22f672 // Paper end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5815e27f4cfe2eb3c25acee91c4ceb1a1d99e86f..15526da0c870b05ba5ddaafa26f5dac4aa990852 100644 +index 572feb00a0a580d05145b1b2d65c13e09bd079fc..85ffa8bdfc6ce0fa6a79d8b1bd84a37ec63f6786 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -141,6 +141,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0231-Anvil-repair-damage-options.patch b/patches/server/0232-Anvil-repair-damage-options.patch similarity index 97% rename from patches/server/0231-Anvil-repair-damage-options.patch rename to patches/server/0232-Anvil-repair-damage-options.patch index 90a211045..c7041e484 100644 --- a/patches/server/0231-Anvil-repair-damage-options.patch +++ b/patches/server/0232-Anvil-repair-damage-options.patch @@ -63,10 +63,10 @@ index 923357251ad950ec4f893e8771fcfa99de8a60c5..78a341ac80806f86f2ca0bd895fb091a protected InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult hit) { if (world.isClientSide) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 15526da0c870b05ba5ddaafa26f5dac4aa990852..bbccb2536f9a0f6b3e59735a658c2b9e4155022b 100644 +index 85ffa8bdfc6ce0fa6a79d8b1bd84a37ec63f6786..b996cb0703671233645caae1986464b0b45b0b38 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -812,9 +812,13 @@ public class PurpurWorldConfig { +@@ -814,9 +814,13 @@ public class PurpurWorldConfig { public boolean anvilAllowColors = false; public boolean anvilColorsUseMiniMessage; diff --git a/patches/server/0232-Option-to-disable-turtle-egg-trampling-with-feather-.patch b/patches/server/0233-Option-to-disable-turtle-egg-trampling-with-feather-.patch similarity index 94% rename from patches/server/0232-Option-to-disable-turtle-egg-trampling-with-feather-.patch rename to patches/server/0233-Option-to-disable-turtle-egg-trampling-with-feather-.patch index f572f9c9d..83e2da995 100644 --- a/patches/server/0232-Option-to-disable-turtle-egg-trampling-with-feather-.patch +++ b/patches/server/0233-Option-to-disable-turtle-egg-trampling-with-feather-.patch @@ -24,10 +24,10 @@ index 2f0e8aeb9c45853fca12ddd78a7d51813a600e67..08ba90f760abb9fb62311dddd7b5bdbd return world.purpurConfig.turtleEggsBypassMobGriefing || world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING); // Purpur end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bbccb2536f9a0f6b3e59735a658c2b9e4155022b..29202d5975e771c43b336785e5cf122f294324cd 100644 +index b996cb0703671233645caae1986464b0b45b0b38..d03790ab14b90871cf52f0cd7d1662ec103d05ff 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1073,12 +1073,14 @@ public class PurpurWorldConfig { +@@ -1075,12 +1075,14 @@ public class PurpurWorldConfig { public boolean turtleEggsBreakFromMinecarts = false; public boolean turtleEggsBypassMobGriefing = false; public int turtleEggsRandomTickCrackChance = 500; diff --git a/patches/server/0233-Add-toggle-for-enchant-level-clamping.patch b/patches/server/0234-Add-toggle-for-enchant-level-clamping.patch similarity index 100% rename from patches/server/0233-Add-toggle-for-enchant-level-clamping.patch rename to patches/server/0234-Add-toggle-for-enchant-level-clamping.patch diff --git a/patches/server/0234-Skip-junit-tests-for-purpur-commands.patch b/patches/server/0235-Skip-junit-tests-for-purpur-commands.patch similarity index 100% rename from patches/server/0234-Skip-junit-tests-for-purpur-commands.patch rename to patches/server/0235-Skip-junit-tests-for-purpur-commands.patch diff --git a/patches/server/0235-Implement-configurable-search-radius-for-villagers-t.patch b/patches/server/0236-Implement-configurable-search-radius-for-villagers-t.patch similarity index 93% rename from patches/server/0235-Implement-configurable-search-radius-for-villagers-t.patch rename to patches/server/0236-Implement-configurable-search-radius-for-villagers-t.patch index 9473ea34e..2755e775a 100644 --- a/patches/server/0235-Implement-configurable-search-radius-for-villagers-t.patch +++ b/patches/server/0236-Implement-configurable-search-radius-for-villagers-t.patch @@ -18,10 +18,10 @@ index 1f1d6fcdf89051761715f2422efe74e432a8d27a..2b55f05b727f862ea79ab2c200a756f6 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 29202d5975e771c43b336785e5cf122f294324cd..e3535f083ddc6c365f80eccb454f591b7aea10c6 100644 +index d03790ab14b90871cf52f0cd7d1662ec103d05ff..83f8cea30ba4120a2f7036ac4ceead678fd25a75 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2815,6 +2815,8 @@ public class PurpurWorldConfig { +@@ -2817,6 +2817,8 @@ public class PurpurWorldConfig { public int villagerLobotomizeCheckInterval = 100; public boolean villagerLobotomizeWaitUntilTradeLocked = false; public boolean villagerDisplayTradeItem = true; @@ -30,7 +30,7 @@ index 29202d5975e771c43b336785e5cf122f294324cd..e3535f083ddc6c365f80eccb454f591b private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2849,6 +2851,8 @@ public class PurpurWorldConfig { +@@ -2851,6 +2853,8 @@ public class PurpurWorldConfig { villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); villagerLobotomizeWaitUntilTradeLocked = getBoolean("mobs.villager.lobotomize.wait-until-trade-locked", villagerLobotomizeWaitUntilTradeLocked); villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem); diff --git a/patches/server/0236-Stonecutter-damage.patch b/patches/server/0237-Stonecutter-damage.patch similarity index 98% rename from patches/server/0236-Stonecutter-damage.patch rename to patches/server/0237-Stonecutter-damage.patch index da045d802..3952b3cb9 100644 --- a/patches/server/0236-Stonecutter-damage.patch +++ b/patches/server/0237-Stonecutter-damage.patch @@ -143,10 +143,10 @@ index 08b10246b4cb7374a230bea470d737670dae5edd..8aa2354bee8de0193863628c2d928699 public static boolean advancementOnlyBroadcastToAffectedPlayer = false; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e3535f083ddc6c365f80eccb454f591b7aea10c6..52bdb0f623ce3d3ccee7bf357feec1f1c46364ec 100644 +index 83f8cea30ba4120a2f7036ac4ceead678fd25a75..d9bdb889d6318cb3ca4ff1b49d9d58b3d3abe5bc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1068,6 +1068,11 @@ public class PurpurWorldConfig { +@@ -1070,6 +1070,11 @@ public class PurpurWorldConfig { spongeAbsorbsWaterFromMud = getBoolean("blocks.sponge.absorbs-water-from-mud", spongeAbsorbsWaterFromMud); } diff --git a/patches/server/0237-Configurable-damage-settings-for-magma-blocks.patch b/patches/server/0238-Configurable-damage-settings-for-magma-blocks.patch similarity index 92% rename from patches/server/0237-Configurable-damage-settings-for-magma-blocks.patch rename to patches/server/0238-Configurable-damage-settings-for-magma-blocks.patch index 789f6d8d6..163c05d28 100644 --- a/patches/server/0237-Configurable-damage-settings-for-magma-blocks.patch +++ b/patches/server/0238-Configurable-damage-settings-for-magma-blocks.patch @@ -18,10 +18,10 @@ index 02d59789c09f58045fea302ea6f2ee3856114de3..8072713da7ed8b7a44b63c241050c3a9 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 52bdb0f623ce3d3ccee7bf357feec1f1c46364ec..9f2adedfa13d25f18952c667af7fd26194db7737 100644 +index d9bdb889d6318cb3ca4ff1b49d9d58b3d3abe5bc..5af650db85969f069b79cda43f411a32282cdee9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1009,6 +1009,11 @@ public class PurpurWorldConfig { +@@ -1011,6 +1011,11 @@ public class PurpurWorldConfig { pistonBlockPushLimit = getInt("blocks.piston.block-push-limit", pistonBlockPushLimit); } diff --git a/patches/server/0238-Add-config-for-snow-on-blue-ice.patch b/patches/server/0239-Add-config-for-snow-on-blue-ice.patch similarity index 93% rename from patches/server/0238-Add-config-for-snow-on-blue-ice.patch rename to patches/server/0239-Add-config-for-snow-on-blue-ice.patch index 2a17c4fe9..1ec106d9b 100644 --- a/patches/server/0238-Add-config-for-snow-on-blue-ice.patch +++ b/patches/server/0239-Add-config-for-snow-on-blue-ice.patch @@ -22,10 +22,10 @@ index 93e8e5107ac047c1f2579b4fe6b0a202edb695f6..f82d275aac7bf3949d3dcc412c7e39e1 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9f2adedfa13d25f18952c667af7fd26194db7737..7a296aacb444c63ab312a4ae96509bf10d47a9c8 100644 +index 5af650db85969f069b79cda43f411a32282cdee9..df45bdd528517a8e832bf6151e35c328447c6d3f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -990,9 +990,11 @@ public class PurpurWorldConfig { +@@ -992,9 +992,11 @@ public class PurpurWorldConfig { public boolean mobsSpawnOnPackedIce = true; public boolean mobsSpawnOnBlueIce = true; diff --git a/patches/server/0239-Skeletons-eat-wither-roses.patch b/patches/server/0240-Skeletons-eat-wither-roses.patch similarity index 96% rename from patches/server/0239-Skeletons-eat-wither-roses.patch rename to patches/server/0240-Skeletons-eat-wither-roses.patch index fedc031a7..7be0a610b 100644 --- a/patches/server/0239-Skeletons-eat-wither-roses.patch +++ b/patches/server/0240-Skeletons-eat-wither-roses.patch @@ -94,10 +94,10 @@ index 3f81faffc1a54ab1148c410ef80964d9876e4b77..dfa8bd613c7575338c6bb76234b7cb4a + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7a296aacb444c63ab312a4ae96509bf10d47a9c8..33d095f3309e003954c3c0c426c99e06ffa45902 100644 +index df45bdd528517a8e832bf6151e35c328447c6d3f..48cc255a35e24dfa3b7563b92f791237eb4e7904 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2496,6 +2496,7 @@ public class PurpurWorldConfig { +@@ -2498,6 +2498,7 @@ public class PurpurWorldConfig { public boolean skeletonTakeDamageFromWater = false; public boolean skeletonAlwaysDropExp = false; public double skeletonHeadVisibilityPercent = 0.5D; @@ -105,7 +105,7 @@ index 7a296aacb444c63ab312a4ae96509bf10d47a9c8..33d095f3309e003954c3c0c426c99e06 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2509,6 +2510,7 @@ public class PurpurWorldConfig { +@@ -2511,6 +2512,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/0240-Enchantment-Table-Persists-Lapis.patch b/patches/server/0241-Enchantment-Table-Persists-Lapis.patch similarity index 97% rename from patches/server/0240-Enchantment-Table-Persists-Lapis.patch rename to patches/server/0241-Enchantment-Table-Persists-Lapis.patch index bba701a3c..b25c52893 100644 --- a/patches/server/0240-Enchantment-Table-Persists-Lapis.patch +++ b/patches/server/0241-Enchantment-Table-Persists-Lapis.patch @@ -137,10 +137,10 @@ index d47bc2f54c4722a0b8c419b99ee57eb3cb25d750..fdeabdcc781b605d6f3ee18528fd380f + // Purpur } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 33d095f3309e003954c3c0c426c99e06ffa45902..045626e0e65d7dab2c53524a3b3d321988b6b323 100644 +index 48cc255a35e24dfa3b7563b92f791237eb4e7904..f8eedeb83261aaf7346e4111a46fc6bc1c8f5f19 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1533,6 +1533,11 @@ public class PurpurWorldConfig { +@@ -1535,6 +1535,11 @@ public class PurpurWorldConfig { elderGuardianAlwaysDropExp = getBoolean("mobs.elder_guardian.always-drop-exp", elderGuardianAlwaysDropExp); } diff --git a/patches/server/0241-Spark-Profiler.patch b/patches/server/0242-Spark-Profiler.patch similarity index 100% rename from patches/server/0241-Spark-Profiler.patch rename to patches/server/0242-Spark-Profiler.patch diff --git a/patches/server/0242-Option-to-disable-kick-for-out-of-order-chat.patch b/patches/server/0243-Option-to-disable-kick-for-out-of-order-chat.patch similarity index 100% rename from patches/server/0242-Option-to-disable-kick-for-out-of-order-chat.patch rename to patches/server/0243-Option-to-disable-kick-for-out-of-order-chat.patch diff --git a/patches/server/0243-Config-for-sculk-shrieker-can_summon-state.patch b/patches/server/0244-Config-for-sculk-shrieker-can_summon-state.patch similarity index 92% rename from patches/server/0243-Config-for-sculk-shrieker-can_summon-state.patch rename to patches/server/0244-Config-for-sculk-shrieker-can_summon-state.patch index 0a51612b8..7d370a860 100644 --- a/patches/server/0243-Config-for-sculk-shrieker-can_summon-state.patch +++ b/patches/server/0244-Config-for-sculk-shrieker-can_summon-state.patch @@ -18,10 +18,10 @@ index b6b367492ebe2af3e63381bef935c6077f6ddb27..09f34c30d9a03751ed826b26375ac5ae @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 045626e0e65d7dab2c53524a3b3d321988b6b323..b52886864c0131bc8855a33a127ba60525188223 100644 +index f8eedeb83261aaf7346e4111a46fc6bc1c8f5f19..08ec112edbd29823d2c9ecca9c6808f7dc8101f2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1047,6 +1047,11 @@ public class PurpurWorldConfig { +@@ -1049,6 +1049,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0244-Config-to-not-let-coral-die.patch b/patches/server/0245-Config-to-not-let-coral-die.patch similarity index 94% rename from patches/server/0244-Config-to-not-let-coral-die.patch rename to patches/server/0245-Config-to-not-let-coral-die.patch index b2fd0ba63..af9f3b44d 100644 --- a/patches/server/0244-Config-to-not-let-coral-die.patch +++ b/patches/server/0245-Config-to-not-let-coral-die.patch @@ -29,10 +29,10 @@ index 81fe0dea8e6e23c4a78f07fc2f9c0d68cd683f11..bff97b7d3909f2ec9e58a341b901b374 int i = aenumdirection.length; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b52886864c0131bc8855a33a127ba60525188223..15b0775787ad1015bd919193c086da5412d81a1a 100644 +index 08ec112edbd29823d2c9ecca9c6808f7dc8101f2..ce0438a45cff8829d62f008323a72a8717ee12cd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -896,6 +896,11 @@ public class PurpurWorldConfig { +@@ -898,6 +898,11 @@ public class PurpurWorldConfig { composterBulkProcess = getBoolean("blocks.composter.sneak-to-bulk-process", composterBulkProcess); } diff --git a/patches/server/0245-Add-local-difficulty-api.patch b/patches/server/0246-Add-local-difficulty-api.patch similarity index 100% rename from patches/server/0245-Add-local-difficulty-api.patch rename to patches/server/0246-Add-local-difficulty-api.patch diff --git a/patches/server/0246-Add-toggle-for-RNG-manipulation.patch b/patches/server/0247-Add-toggle-for-RNG-manipulation.patch similarity index 97% rename from patches/server/0246-Add-toggle-for-RNG-manipulation.patch rename to patches/server/0247-Add-toggle-for-RNG-manipulation.patch index 65d4f643b..cb89cea33 100644 --- a/patches/server/0246-Add-toggle-for-RNG-manipulation.patch +++ b/patches/server/0247-Add-toggle-for-RNG-manipulation.patch @@ -33,7 +33,7 @@ index b9c8fe36c6a6256097ea69383bef678bbfb6c45b..8ec27ee82cd6f31bee722852c5fc6e7c } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 15b0775787ad1015bd919193c086da5412d81a1a..78db6aab7d0b4dc9253ce0dc3bd8261a4876e203 100644 +index ce0438a45cff8829d62f008323a72a8717ee12cd..b26d42857eec11d92372bd9c6a0df4ef3dadb140 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -208,9 +208,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0247-Remove-Timings.patch b/patches/server/0248-Remove-Timings.patch similarity index 100% rename from patches/server/0247-Remove-Timings.patch rename to patches/server/0248-Remove-Timings.patch diff --git a/patches/server/0248-Remove-Mojang-Profiler.patch b/patches/server/0249-Remove-Mojang-Profiler.patch similarity index 100% rename from patches/server/0248-Remove-Mojang-Profiler.patch rename to patches/server/0249-Remove-Mojang-Profiler.patch diff --git a/patches/server/0249-Add-more-logger-output-for-invalid-movement-kicks.patch b/patches/server/0250-Add-more-logger-output-for-invalid-movement-kicks.patch similarity index 100% rename from patches/server/0249-Add-more-logger-output-for-invalid-movement-kicks.patch rename to patches/server/0250-Add-more-logger-output-for-invalid-movement-kicks.patch diff --git a/patches/server/0250-Add-Bee-API.patch b/patches/server/0251-Add-Bee-API.patch similarity index 100% rename from patches/server/0250-Add-Bee-API.patch rename to patches/server/0251-Add-Bee-API.patch diff --git a/patches/server/0251-Debug-Marker-API.patch b/patches/server/0252-Debug-Marker-API.patch similarity index 100% rename from patches/server/0251-Debug-Marker-API.patch rename to patches/server/0252-Debug-Marker-API.patch diff --git a/patches/server/0252-mob-spawning-option-to-ignore-creative-players.patch b/patches/server/0253-mob-spawning-option-to-ignore-creative-players.patch similarity index 96% rename from patches/server/0252-mob-spawning-option-to-ignore-creative-players.patch rename to patches/server/0253-mob-spawning-option-to-ignore-creative-players.patch index 2597d04ae..004122fca 100644 --- a/patches/server/0252-mob-spawning-option-to-ignore-creative-players.patch +++ b/patches/server/0253-mob-spawning-option-to-ignore-creative-players.patch @@ -18,7 +18,7 @@ index 35e94c06361795d032f995e8282f8b35c075dae7..0f90a6803851eba51e164772c984b1cd if (entityhuman != null) { double d2 = entityhuman.distanceToSqr(d0, (double) i, d1); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 78db6aab7d0b4dc9253ce0dc3bd8261a4876e203..3146fdda9aa8b8fd08874d0ac2e75799487e742a 100644 +index b26d42857eec11d92372bd9c6a0df4ef3dadb140..d1ca8b4947faf6114492626a298ee0dd46f6fe32 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -370,6 +370,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0253-Add-skeleton-bow-accuracy-option.patch b/patches/server/0254-Add-skeleton-bow-accuracy-option.patch similarity index 94% rename from patches/server/0253-Add-skeleton-bow-accuracy-option.patch rename to patches/server/0254-Add-skeleton-bow-accuracy-option.patch index aa3c52d1c..922d7c3f1 100644 --- a/patches/server/0253-Add-skeleton-bow-accuracy-option.patch +++ b/patches/server/0254-Add-skeleton-bow-accuracy-option.patch @@ -18,10 +18,10 @@ index 63cbec52bc4637a0b787cbc22041188691527def..45b09f79a0ae8b7ebdd015d6edfa1fe0 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 3146fdda9aa8b8fd08874d0ac2e75799487e742a..d6f8eb7e474144ccf8bf6610ef80019b513660b0 100644 +index d1ca8b4947faf6114492626a298ee0dd46f6fe32..987e61dc9f1688b378005f95850841bf896e9cf9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2516,6 +2516,8 @@ public class PurpurWorldConfig { +@@ -2518,6 +2518,8 @@ public class PurpurWorldConfig { public boolean skeletonAlwaysDropExp = false; public double skeletonHeadVisibilityPercent = 0.5D; public int skeletonFeedWitherRoses = 0; @@ -30,7 +30,7 @@ index 3146fdda9aa8b8fd08874d0ac2e75799487e742a..d6f8eb7e474144ccf8bf6610ef80019b private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2530,6 +2532,18 @@ public class PurpurWorldConfig { +@@ -2532,6 +2534,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/0254-Add-death-screen-API.patch b/patches/server/0255-Add-death-screen-API.patch similarity index 100% rename from patches/server/0254-Add-death-screen-API.patch rename to patches/server/0255-Add-death-screen-API.patch diff --git a/patches/server/0255-Implement-ram-and-rambar-commands.patch b/patches/server/0256-Implement-ram-and-rambar-commands.patch similarity index 100% rename from patches/server/0255-Implement-ram-and-rambar-commands.patch rename to patches/server/0256-Implement-ram-and-rambar-commands.patch diff --git a/patches/server/0256-Configurable-block-blast-resistance.patch b/patches/server/0257-Configurable-block-blast-resistance.patch similarity index 100% rename from patches/server/0256-Configurable-block-blast-resistance.patch rename to patches/server/0257-Configurable-block-blast-resistance.patch diff --git a/patches/server/0257-Configurable-block-fall-damage-modifiers.patch b/patches/server/0258-Configurable-block-fall-damage-modifiers.patch similarity index 100% rename from patches/server/0257-Configurable-block-fall-damage-modifiers.patch rename to patches/server/0258-Configurable-block-fall-damage-modifiers.patch diff --git a/patches/server/0258-Language-API.patch b/patches/server/0259-Language-API.patch similarity index 100% rename from patches/server/0258-Language-API.patch rename to patches/server/0259-Language-API.patch diff --git a/patches/server/0259-Milk-Keeps-Beneficial-Effects.patch b/patches/server/0260-Milk-Keeps-Beneficial-Effects.patch similarity index 97% rename from patches/server/0259-Milk-Keeps-Beneficial-Effects.patch rename to patches/server/0260-Milk-Keeps-Beneficial-Effects.patch index a772988dd..9db3d1cff 100644 --- a/patches/server/0259-Milk-Keeps-Beneficial-Effects.patch +++ b/patches/server/0260-Milk-Keeps-Beneficial-Effects.patch @@ -30,7 +30,7 @@ index d342752271c76b447bb8cde50d57407259b93c43..360514d5afcafcf6dd83335938bfa09b this.goalSelector.addGoal(1, new TradeWithPlayerGoal(this)); this.goalSelector.addGoal(1, new AvoidEntityGoal<>(this, Zombie.class, 8.0F, 0.5D, 0.5D)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d6f8eb7e474144ccf8bf6610ef80019b513660b0..8415a1def3c9a4c2c7ba2b47e2dde38555e50cc5 100644 +index 987e61dc9f1688b378005f95850841bf896e9cf9..f3a83c902a5d4fd66ef2af78ac180fc629d405fe 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -126,6 +126,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0260-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch b/patches/server/0261-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch similarity index 100% rename from patches/server/0260-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch rename to patches/server/0261-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch diff --git a/patches/server/0261-Add-log-suppression-for-LibraryLoader.patch b/patches/server/0262-Add-log-suppression-for-LibraryLoader.patch similarity index 100% rename from patches/server/0261-Add-log-suppression-for-LibraryLoader.patch rename to patches/server/0262-Add-log-suppression-for-LibraryLoader.patch diff --git a/patches/server/0262-Add-option-to-allow-creeper-to-encircle-target-when-.patch b/patches/server/0263-Add-option-to-allow-creeper-to-encircle-target-when-.patch similarity index 92% rename from patches/server/0262-Add-option-to-allow-creeper-to-encircle-target-when-.patch rename to patches/server/0263-Add-option-to-allow-creeper-to-encircle-target-when-.patch index a17ef0503..10d6396f6 100644 --- a/patches/server/0262-Add-option-to-allow-creeper-to-encircle-target-when-.patch +++ b/patches/server/0263-Add-option-to-allow-creeper-to-encircle-target-when-.patch @@ -24,10 +24,10 @@ index 137ec75ee803789deb7b1ca93dd9369c9af362b9..ca95d25af3e9a0536868b0c7fd8e7d2f } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8415a1def3c9a4c2c7ba2b47e2dde38555e50cc5..6054a97826b716f9a670a58f4448f9e98a7bfae3 100644 +index f3a83c902a5d4fd66ef2af78ac180fc629d405fe..4101ffc947d55fec0870046d95ca8796d814bc3a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1423,6 +1423,7 @@ public class PurpurWorldConfig { +@@ -1425,6 +1425,7 @@ public class PurpurWorldConfig { public boolean creeperHealthRadius = false; public boolean creeperAlwaysDropExp = false; public double creeperHeadVisibilityPercent = 0.5D; @@ -35,7 +35,7 @@ index 8415a1def3c9a4c2c7ba2b47e2dde38555e50cc5..6054a97826b716f9a670a58f4448f9e9 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1441,6 +1442,7 @@ public class PurpurWorldConfig { +@@ -1443,6 +1444,7 @@ public class PurpurWorldConfig { creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius); creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp); creeperHeadVisibilityPercent = getDouble("mobs.creeper.head-visibility-percent", creeperHeadVisibilityPercent); diff --git a/patches/server/0263-Fire-Immunity-API.patch b/patches/server/0264-Fire-Immunity-API.patch similarity index 100% rename from patches/server/0263-Fire-Immunity-API.patch rename to patches/server/0264-Fire-Immunity-API.patch diff --git a/patches/server/0264-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch b/patches/server/0265-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch similarity index 95% rename from patches/server/0264-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch rename to patches/server/0265-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch index 82850888f..6ea9cec24 100644 --- a/patches/server/0264-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch +++ b/patches/server/0265-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch @@ -17,7 +17,7 @@ index eb6ec199cb61f91b32144f51388785d355e2fce0..1d1b7a9b8f40610d19faaff876e2f725 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6054a97826b716f9a670a58f4448f9e98a7bfae3..dea3b8f9c913c2a69b6dbed920319b19ebaa3e7b 100644 +index 4101ffc947d55fec0870046d95ca8796d814bc3a..161ecb87855a2450c5b7dffdf26a761c3a86f351 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -410,6 +410,7 @@ public class PurpurWorldConfig { @@ -28,7 +28,7 @@ index 6054a97826b716f9a670a58f4448f9e98a7bfae3..dea3b8f9c913c2a69b6dbed920319b19 public boolean totemOfUndyingWorksInInventory = false; public boolean playerFixStuckPortal = false; public boolean creativeOnePunch = false; -@@ -436,6 +437,7 @@ public class PurpurWorldConfig { +@@ -437,6 +438,7 @@ public class PurpurWorldConfig { playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation); playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax); teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder); diff --git a/patches/server/0265-Added-got-ram-event.patch b/patches/server/0266-Added-got-ram-event.patch similarity index 100% rename from patches/server/0265-Added-got-ram-event.patch rename to patches/server/0266-Added-got-ram-event.patch diff --git a/patches/server/0266-Log-skipped-entity-s-position.patch b/patches/server/0267-Log-skipped-entity-s-position.patch similarity index 100% rename from patches/server/0266-Log-skipped-entity-s-position.patch rename to patches/server/0267-Log-skipped-entity-s-position.patch diff --git a/patches/server/0267-End-Crystal-Cramming.patch b/patches/server/0268-End-Crystal-Cramming.patch similarity index 91% rename from patches/server/0267-End-Crystal-Cramming.patch rename to patches/server/0268-End-Crystal-Cramming.patch index fff032ef3..e0971c7f2 100644 --- a/patches/server/0267-End-Crystal-Cramming.patch +++ b/patches/server/0268-End-Crystal-Cramming.patch @@ -17,10 +17,10 @@ index 02f1d0418395b100cabfad7294466aaad34ac7c6..c0275197cc9aab2a49d88476e072a94f // Purpur start diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index dea3b8f9c913c2a69b6dbed920319b19ebaa3e7b..995d3583886b0cbf3f01890cce273d6f7e20808e 100644 +index 161ecb87855a2450c5b7dffdf26a761c3a86f351..9001cedb13c057a17de9bc778c755cced6676e07 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -939,6 +939,7 @@ public class PurpurWorldConfig { +@@ -941,6 +941,7 @@ public class PurpurWorldConfig { public double basedEndCrystalExplosionPower = 6.0D; public boolean basedEndCrystalExplosionFire = false; public net.minecraft.world.level.Level.ExplosionInteraction basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; @@ -28,7 +28,7 @@ index dea3b8f9c913c2a69b6dbed920319b19ebaa3e7b..995d3583886b0cbf3f01890cce273d6f private void endCrystalSettings() { if (PurpurConfig.version < 31) { if ("DESTROY".equals(getString("blocks.end-crystal.baseless.explosion-effect", baselessEndCrystalExplosionEffect.name()))) { -@@ -966,6 +967,7 @@ public class PurpurWorldConfig { +@@ -968,6 +969,7 @@ public class PurpurWorldConfig { log(Level.SEVERE, "Unknown value for `blocks.end-crystal.base.explosion-effect`! Using default of `BLOCK`"); basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; } diff --git a/patches/server/0268-Option-to-allow-beacon-effects-when-covered-by-tinte.patch b/patches/server/0269-Option-to-allow-beacon-effects-when-covered-by-tinte.patch similarity index 95% rename from patches/server/0268-Option-to-allow-beacon-effects-when-covered-by-tinte.patch rename to patches/server/0269-Option-to-allow-beacon-effects-when-covered-by-tinte.patch index dd1f8cf18..3a6e6015c 100644 --- a/patches/server/0268-Option-to-allow-beacon-effects-when-covered-by-tinte.patch +++ b/patches/server/0269-Option-to-allow-beacon-effects-when-covered-by-tinte.patch @@ -36,10 +36,10 @@ index d1fb77d83d48183a9a37dbeec7bb0fda623d7e9b..df02a78855f1d0c32d1f744c20803fc9 BeaconBlockEntity.playSound(world, pos, SoundEvents.BEACON_AMBIENT); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 995d3583886b0cbf3f01890cce273d6f7e20808e..30405ef3db291e924fb77214b54e17a658a37c14 100644 +index 9001cedb13c057a17de9bc778c755cced6676e07..d7b6ee51f1e9e5bf33cecedbeb27bb12ad332916 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -838,11 +838,13 @@ public class PurpurWorldConfig { +@@ -840,11 +840,13 @@ public class PurpurWorldConfig { public int beaconLevelTwo = 30; public int beaconLevelThree = 40; public int beaconLevelFour = 50; diff --git a/patches/server/0269-Add-attribute-clamping-and-armor-limit-config.patch b/patches/server/0270-Add-attribute-clamping-and-armor-limit-config.patch similarity index 100% rename from patches/server/0269-Add-attribute-clamping-and-armor-limit-config.patch rename to patches/server/0270-Add-attribute-clamping-and-armor-limit-config.patch diff --git a/patches/server/0270-Config-to-remove-explosion-radius-clamp.patch b/patches/server/0271-Config-to-remove-explosion-radius-clamp.patch similarity index 95% rename from patches/server/0270-Config-to-remove-explosion-radius-clamp.patch rename to patches/server/0271-Config-to-remove-explosion-radius-clamp.patch index 98939a326..6397cc945 100644 --- a/patches/server/0270-Config-to-remove-explosion-radius-clamp.patch +++ b/patches/server/0271-Config-to-remove-explosion-radius-clamp.patch @@ -27,7 +27,7 @@ index 3ee7bf7e10f8120258baaae8f77cdcbb6a781f78..754373da9a5246c11f3c33a8907d387e } // CraftBukkit end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 30405ef3db291e924fb77214b54e17a658a37c14..7b99e6b8f887a00a8ff6b7f4b739c8da3a48f0df 100644 +index d7b6ee51f1e9e5bf33cecedbeb27bb12ad332916..46e49af0af0f4e0a6023543059d5d0bb1e3807df 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -217,6 +217,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0271-bonemealable-sugarcane-cactus-and-netherwart.patch b/patches/server/0272-bonemealable-sugarcane-cactus-and-netherwart.patch similarity index 98% rename from patches/server/0271-bonemealable-sugarcane-cactus-and-netherwart.patch rename to patches/server/0272-bonemealable-sugarcane-cactus-and-netherwart.patch index bdd26851b..ec6ed51ee 100644 --- a/patches/server/0271-bonemealable-sugarcane-cactus-and-netherwart.patch +++ b/patches/server/0272-bonemealable-sugarcane-cactus-and-netherwart.patch @@ -137,10 +137,10 @@ index c48c622e92cedeaa46b929c7adfedec98dd5a3fb..6449b5c424443b5f0ee7e3fce8034494 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7b99e6b8f887a00a8ff6b7f4b739c8da3a48f0df..6b80437501a6de3abe63c4933a83b4462a70ebe7 100644 +index 46e49af0af0f4e0a6023543059d5d0bb1e3807df..efd50934c728bb5dd7e54a22aafeca77fb0588b5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -892,8 +892,20 @@ public class PurpurWorldConfig { +@@ -894,8 +894,20 @@ public class PurpurWorldConfig { } public boolean cactusBreaksFromSolidNeighbors = true; diff --git a/patches/server/0272-Add-PreExplodeEvents.patch b/patches/server/0273-Add-PreExplodeEvents.patch similarity index 100% rename from patches/server/0272-Add-PreExplodeEvents.patch rename to patches/server/0273-Add-PreExplodeEvents.patch diff --git a/patches/server/0273-Improve-output-of-plugins-command.patch b/patches/server/0274-Improve-output-of-plugins-command.patch similarity index 100% rename from patches/server/0273-Improve-output-of-plugins-command.patch rename to patches/server/0274-Improve-output-of-plugins-command.patch diff --git a/patches/server/0274-Make-GUI-Great-Again.patch b/patches/server/0275-Make-GUI-Great-Again.patch similarity index 100% rename from patches/server/0274-Make-GUI-Great-Again.patch rename to patches/server/0275-Make-GUI-Great-Again.patch diff --git a/patches/server/0275-Stored-Bee-API.patch b/patches/server/0276-Stored-Bee-API.patch similarity index 100% rename from patches/server/0275-Stored-Bee-API.patch rename to patches/server/0276-Stored-Bee-API.patch diff --git a/patches/server/0276-Shears-can-defuse-TNT.patch b/patches/server/0277-Shears-can-defuse-TNT.patch similarity index 96% rename from patches/server/0276-Shears-can-defuse-TNT.patch rename to patches/server/0277-Shears-can-defuse-TNT.patch index 460360af9..77c938a4a 100644 --- a/patches/server/0276-Shears-can-defuse-TNT.patch +++ b/patches/server/0277-Shears-can-defuse-TNT.patch @@ -42,10 +42,10 @@ index 42bd2d9a1528b6210e4dfb56233062fd97c9743b..2a4425d04917b32c7ae5af3e7422c0ba + // Purpur end - Shears can defuse TNT } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6b80437501a6de3abe63c4933a83b4462a70ebe7..d82aefe7a550bde00320148df606b483bf34801d 100644 +index efd50934c728bb5dd7e54a22aafeca77fb0588b5..c37f67a58d8e0877f7c7e2f732cf21b711c5bb7b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -3285,4 +3285,11 @@ public class PurpurWorldConfig { +@@ -3287,4 +3287,11 @@ public class PurpurWorldConfig { cauldronDripstoneWaterFillChance = (float) getDouble("blocks.cauldron.fill-chances.dripstone-water", cauldronDripstoneWaterFillChance); cauldronDripstoneLavaFillChance = (float) getDouble("blocks.cauldron.fill-chances.dripstone-lava", cauldronDripstoneLavaFillChance); } diff --git a/patches/server/0277-Explorer-Map-API.patch b/patches/server/0278-Explorer-Map-API.patch similarity index 100% rename from patches/server/0277-Explorer-Map-API.patch rename to patches/server/0278-Explorer-Map-API.patch diff --git a/patches/server/0278-Option-Ocelot-Spawn-Under-Sea-Level.patch b/patches/server/0279-Option-Ocelot-Spawn-Under-Sea-Level.patch similarity index 91% rename from patches/server/0278-Option-Ocelot-Spawn-Under-Sea-Level.patch rename to patches/server/0279-Option-Ocelot-Spawn-Under-Sea-Level.patch index ed7ef48c3..cd70cb051 100644 --- a/patches/server/0278-Option-Ocelot-Spawn-Under-Sea-Level.patch +++ b/patches/server/0279-Option-Ocelot-Spawn-Under-Sea-Level.patch @@ -18,10 +18,10 @@ index e09ca4aa99f2e58f97159a40e33ed863fa2ae7df..6e866ec44a83ec9064ac3228bd96eb25 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d82aefe7a550bde00320148df606b483bf34801d..208f2d2377a70913dc7d7cf553178f17f9cb7f9c 100644 +index c37f67a58d8e0877f7c7e2f732cf21b711c5bb7b..c0b7362de8d5296c728d8485e33726e6252a8371 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2100,6 +2100,7 @@ public class PurpurWorldConfig { +@@ -2102,6 +2102,7 @@ public class PurpurWorldConfig { public int ocelotBreedingTicks = 6000; public boolean ocelotTakeDamageFromWater = false; public boolean ocelotAlwaysDropExp = false; @@ -29,7 +29,7 @@ index d82aefe7a550bde00320148df606b483bf34801d..208f2d2377a70913dc7d7cf553178f17 private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -2113,6 +2114,7 @@ public class PurpurWorldConfig { +@@ -2115,6 +2116,7 @@ public class PurpurWorldConfig { ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks); ocelotTakeDamageFromWater = getBoolean("mobs.ocelot.takes-damage-from-water", ocelotTakeDamageFromWater); ocelotAlwaysDropExp = getBoolean("mobs.ocelot.always-drop-exp", ocelotAlwaysDropExp); diff --git a/patches/server/0279-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch b/patches/server/0280-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch similarity index 93% rename from patches/server/0279-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch rename to patches/server/0280-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch index 188006625..f267162a6 100644 --- a/patches/server/0279-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch +++ b/patches/server/0280-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch @@ -29,10 +29,10 @@ index 0192b62fd66621a72fcf2f20896647e5950ba993..d079d5492b6ed709b1e0a7d84fb5f8f6 piglin.getBrain().eraseMemory(MemoryModuleType.WALK_TARGET); piglin.getNavigation().stop(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 208f2d2377a70913dc7d7cf553178f17f9cb7f9c..860635e73c266723f59f1ec3f48d526e1cf33cbd 100644 +index c0b7362de8d5296c728d8485e33726e6252a8371..a93f224baa7b5894094acbf6a7963b0ad1015e6a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2269,6 +2269,7 @@ public class PurpurWorldConfig { +@@ -2271,6 +2271,7 @@ public class PurpurWorldConfig { public int piglinPortalSpawnModifier = 2000; public boolean piglinAlwaysDropExp = false; public double piglinHeadVisibilityPercent = 0.5D; @@ -40,7 +40,7 @@ index 208f2d2377a70913dc7d7cf553178f17f9cb7f9c..860635e73c266723f59f1ec3f48d526e private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2284,6 +2285,7 @@ public class PurpurWorldConfig { +@@ -2286,6 +2287,7 @@ public class PurpurWorldConfig { piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier); piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp); piglinHeadVisibilityPercent = getDouble("mobs.piglin.head-visibility-percent", piglinHeadVisibilityPercent); diff --git a/patches/server/0280-Add-option-for-always-showing-item-in-player-death-m.patch b/patches/server/0281-Add-option-for-always-showing-item-in-player-death-m.patch similarity index 100% rename from patches/server/0280-Add-option-for-always-showing-item-in-player-death-m.patch rename to patches/server/0281-Add-option-for-always-showing-item-in-player-death-m.patch diff --git a/patches/server/0281-place-end-crystal-on-any-block.patch b/patches/server/0282-place-end-crystal-on-any-block.patch similarity index 92% rename from patches/server/0281-place-end-crystal-on-any-block.patch rename to patches/server/0282-place-end-crystal-on-any-block.patch index 82d7d8446..cf030b0d7 100644 --- a/patches/server/0281-place-end-crystal-on-any-block.patch +++ b/patches/server/0282-place-end-crystal-on-any-block.patch @@ -18,10 +18,10 @@ index 5f51e64cb0611a4ba6bdcdcacbcba1063a7f3a5c..8fb564f43e2f1194d2ad68d35c4df6b9 } else { BlockPos blockposition1 = blockposition.above(); final BlockPos aboveBlockPosition = blockposition1; // Paper - OBFHELPER diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 860635e73c266723f59f1ec3f48d526e1cf33cbd..b4d96aa67f92993be250165bd26733925d830d4a 100644 +index a93f224baa7b5894094acbf6a7963b0ad1015e6a..e82fb81d8b48597a3933e250510604c09662e340 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -959,6 +959,7 @@ public class PurpurWorldConfig { +@@ -961,6 +961,7 @@ public class PurpurWorldConfig { public boolean basedEndCrystalExplosionFire = false; public net.minecraft.world.level.Level.ExplosionInteraction basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; public int endCrystalCramming = 0; @@ -29,7 +29,7 @@ index 860635e73c266723f59f1ec3f48d526e1cf33cbd..b4d96aa67f92993be250165bd2673392 private void endCrystalSettings() { if (PurpurConfig.version < 31) { if ("DESTROY".equals(getString("blocks.end-crystal.baseless.explosion-effect", baselessEndCrystalExplosionEffect.name()))) { -@@ -987,6 +988,7 @@ public class PurpurWorldConfig { +@@ -989,6 +990,7 @@ public class PurpurWorldConfig { basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; } endCrystalCramming = getInt("blocks.end-crystal.cramming-amount", endCrystalCramming); diff --git a/patches/server/0282-Add-option-to-disable-the-copper-oxidation-proximity.patch b/patches/server/0283-Add-option-to-disable-the-copper-oxidation-proximity.patch similarity index 96% rename from patches/server/0282-Add-option-to-disable-the-copper-oxidation-proximity.patch rename to patches/server/0283-Add-option-to-disable-the-copper-oxidation-proximity.patch index 41de667e8..3aad27675 100644 --- a/patches/server/0282-Add-option-to-disable-the-copper-oxidation-proximity.patch +++ b/patches/server/0283-Add-option-to-disable-the-copper-oxidation-proximity.patch @@ -18,7 +18,7 @@ index daae7fd6e0148cfba8e359d990748a0c83a3376e..0e06b1bcd906e92c083dc74d56d6d0a2 return random.nextFloat() < f1 ? this.getNext(state) : Optional.empty(); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b4d96aa67f92993be250165bd26733925d830d4a..1093dcdda3087d120f32d32b40ac48c8b7cfc26c 100644 +index e82fb81d8b48597a3933e250510604c09662e340..3f36995a2f5135c3e9014ffa021d8ef3fc2d40bd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -143,6 +143,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0283-register-minecraft-debug-commands.patch b/patches/server/0284-register-minecraft-debug-commands.patch similarity index 100% rename from patches/server/0283-register-minecraft-debug-commands.patch rename to patches/server/0284-register-minecraft-debug-commands.patch diff --git a/patches/server/0284-Configurable-villager-search-radius.patch b/patches/server/0285-Configurable-villager-search-radius.patch similarity index 94% rename from patches/server/0284-Configurable-villager-search-radius.patch rename to patches/server/0285-Configurable-villager-search-radius.patch index 99f164f38..a6f1ac9f0 100644 --- a/patches/server/0284-Configurable-villager-search-radius.patch +++ b/patches/server/0285-Configurable-villager-search-radius.patch @@ -31,10 +31,10 @@ index d5a549f08b98c80a5cf0eef02cb8a389c32dfecb..222c87e80cb089867ce9a7d2dceebe21 .collect(Collectors.toSet()); Path path = AcquirePoi.findPathToPois(entity, set); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1093dcdda3087d120f32d32b40ac48c8b7cfc26c..18906db3235348222d28f08a49d143bf114f8c06 100644 +index 3f36995a2f5135c3e9014ffa021d8ef3fc2d40bd..d6ccc6cb1d89279c1786403f4288d33bf89b5546 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2899,6 +2899,8 @@ public class PurpurWorldConfig { +@@ -2901,6 +2901,8 @@ public class PurpurWorldConfig { public boolean villagerDisplayTradeItem = true; public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemLimit = 0; @@ -43,7 +43,7 @@ index 1093dcdda3087d120f32d32b40ac48c8b7cfc26c..18906db3235348222d28f08a49d143bf private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2935,6 +2937,8 @@ public class PurpurWorldConfig { +@@ -2937,6 +2939,8 @@ public class PurpurWorldConfig { villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem); villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius); villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); diff --git a/patches/server/0285-option-to-make-ravagers-afraid-of-rabbits.patch b/patches/server/0286-option-to-make-ravagers-afraid-of-rabbits.patch similarity index 91% rename from patches/server/0285-option-to-make-ravagers-afraid-of-rabbits.patch rename to patches/server/0286-option-to-make-ravagers-afraid-of-rabbits.patch index 0e33fcfc2..49480249a 100644 --- a/patches/server/0285-option-to-make-ravagers-afraid-of-rabbits.patch +++ b/patches/server/0286-option-to-make-ravagers-afraid-of-rabbits.patch @@ -18,10 +18,10 @@ index 714a37974e3256913c15193f2bd292fe45072c7f..0c494a8c71e316307af2c0e256ccfd23 this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 0.4D)); this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 18906db3235348222d28f08a49d143bf114f8c06..1cb994c100472de9fc985025c2bd00b37ab6a9e0 100644 +index d6ccc6cb1d89279c1786403f4288d33bf89b5546..574a690070fe19d77d2f6b5f711bbf65b6357278 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2415,6 +2415,7 @@ public class PurpurWorldConfig { +@@ -2417,6 +2417,7 @@ public class PurpurWorldConfig { public boolean ravagerTakeDamageFromWater = false; public List ravagerGriefableBlocks = new ArrayList<>(); public boolean ravagerAlwaysDropExp = false; @@ -29,7 +29,7 @@ index 18906db3235348222d28f08a49d143bf114f8c06..1cb994c100472de9fc985025c2bd00b3 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -2445,6 +2446,7 @@ public class PurpurWorldConfig { +@@ -2447,6 +2448,7 @@ public class PurpurWorldConfig { } }); ravagerAlwaysDropExp = getBoolean("mobs.ravager.always-drop-exp", ravagerAlwaysDropExp); diff --git a/patches/server/0286-config-for-startup-commands.patch b/patches/server/0287-config-for-startup-commands.patch similarity index 100% rename from patches/server/0286-config-for-startup-commands.patch rename to patches/server/0287-config-for-startup-commands.patch diff --git a/patches/server/0287-Config-to-reverse-bubble-column-flow.patch b/patches/server/0288-Config-to-reverse-bubble-column-flow.patch similarity index 100% rename from patches/server/0287-Config-to-reverse-bubble-column-flow.patch rename to patches/server/0288-Config-to-reverse-bubble-column-flow.patch diff --git a/patches/server/0288-Adopt-MaterialRerouting.patch b/patches/server/0289-Adopt-MaterialRerouting.patch similarity index 100% rename from patches/server/0288-Adopt-MaterialRerouting.patch rename to patches/server/0289-Adopt-MaterialRerouting.patch