From 1846bae1b6465901c85395ce6772273237b964d1 Mon Sep 17 00:00:00 2001 From: granny Date: Sun, 13 Aug 2023 07:48:40 -0700 Subject: [PATCH] [ci-skip] clean up stray imports --- patches/server/0004-Purpur-config-files.patch | 6 +- patches/server/0008-Ridables.patch | 4 +- ...-Configurable-entity-base-attributes.patch | 16 +- patches/server/0012-AFK-API.patch | 4 +- .../0018-Player-invulnerabilities.patch | 6 +- patches/server/0021-Silk-touch-spawners.patch | 4 +- .../0022-Add-turtle-egg-block-options.patch | 4 +- patches/server/0025-Giants-AI-settings.patch | 6 +- .../0026-Zombie-horse-naturally-spawn.patch | 6 +- ...0027-Charged-creeper-naturally-spawn.patch | 6 +- ...bit-naturally-spawn-toast-and-killer.patch | 6 +- .../server/0030-Tulips-change-fox-type.patch | 6 +- .../server/0031-Breedable-Polar-Bears.patch | 6 +- .../server/0032-Chickens-can-retaliate.patch | 6 +- ...option-to-set-armorstand-step-height.patch | 4 +- .../server/0034-Cat-spawning-options.patch | 6 +- patches/server/0035-Cows-eat-mushrooms.patch | 6 +- .../server/0037-Pigs-give-saddle-back.patch | 6 +- ...38-Snowman-drop-and-put-back-pumpkin.patch | 6 +- ...39-Ender-dragon-always-drop-full-exp.patch | 6 +- ...moisten-from-water-directly-under-it.patch | 4 +- ...-Minecart-settings-and-WASD-controls.patch | 4 +- ...able-loot-drops-on-death-by-cramming.patch | 4 +- ...ption-to-toggle-milk-curing-bad-omen.patch | 4 +- ...low-loyalty-on-tridents-to-work-in-t.patch | 4 +- ...derman-and-creeper-griefing-controls.patch | 10 +- ...0050-Villagers-follow-emerald-blocks.patch | 10 +- .../0051-Allow-leashing-villagers.patch | 10 +- .../0052-Implement-infinite-liquids.patch | 6 +- ...53-Make-lava-flow-speed-configurable.patch | 4 +- ...Add-player-death-exp-control-options.patch | 6 +- ...urable-void-damage-height-and-damage.patch | 4 +- ...ispenser-curse-of-binding-protection.patch | 4 +- ...n-for-boats-to-eject-players-on-land.patch | 4 +- ...g-mends-most-damages-equipment-first.patch | 6 +- .../0061-Implement-elytra-settings.patch | 4 +- .../server/0062-Item-entity-immunities.patch | 4 +- .../0066-Configurable-jockey-options.patch | 22 +- ...ed-to-crystals-and-crystals-shoot-ph.patch | 6 +- .../0068-Add-phantom-spawning-options.patch | 6 +- ...0069-Implement-bed-explosion-options.patch | 4 +- ...ent-respawn-anchor-explosion-options.patch | 4 +- patches/server/0073-Entity-lifespan.patch | 4 +- ...leport-to-spawn-if-outside-world-bor.patch | 6 +- patches/server/0075-Squid-EAR-immunity.patch | 6 +- .../server/0076-Phantoms-burn-in-light.patch | 6 +- .../0077-Configurable-villager-breeding.patch | 6 +- .../0078-Redstone-deactivates-spawners.patch | 4 +- .../0079-Totems-work-in-inventory.patch | 6 +- ...0-Add-vindicator-johnny-spawn-chance.patch | 6 +- .../0082-Dispensers-place-anvils-option.patch | 4 +- patches/server/0083-Allow-anvil-colors.patch | 4 +- ...o-disable-dolphin-treasure-searching.patch | 6 +- ...Stop-squids-floating-on-top-of-water.patch | 6 +- ...tities-can-use-portals-configuration.patch | 6 +- ...stomizable-wither-health-and-healing.patch | 6 +- ...ggling-special-MobSpawners-per-world.patch | 6 +- .../server/0092-Raid-cooldown-setting.patch | 6 +- ...e-config-options-per-projectile-type.patch | 4 +- ...sable-zombie-aggressiveness-towards-.patch | 6 +- patches/server/0096-Flying-squids-Oh-my.patch | 8 +- .../server/0097-Infinity-bow-settings.patch | 4 +- .../0098-Configurable-daylight-cycle.patch | 4 +- ...00-Furnace-uses-lava-from-underneath.patch | 4 +- ...ows-should-not-reset-despawn-counter.patch | 4 +- ...re-add-farmland-mechanics-from-Alpha.patch | 4 +- ...justable-breeding-cooldown-to-config.patch | 6 +- ...e-entity-breeding-times-configurable.patch | 96 +++--- ...mes-from-item-forms-of-entities-to-e.patch | 8 +- ...-when-using-a-Name-Tag-on-an-Armor-S.patch | 4 +- ...llowing-Endermen-to-despawn-even-whi.patch | 6 +- ...108-Add-configurable-snowball-damage.patch | 4 +- ...09-Changeable-Mob-Left-Handed-Chance.patch | 4 +- .../0110-Add-boat-fall-damage-config.patch | 6 +- .../0111-Snow-Golem-rate-of-fire-config.patch | 6 +- ...Villager-Clerics-to-farm-Nether-Wart.patch | 6 +- ...fied-Piglin-death-always-counting-as.patch | 6 +- ...ble-chance-for-wolves-to-spawn-rabid.patch | 6 +- ...16-Configurable-default-collar-color.patch | 10 +- .../server/0117-Phantom-flames-on-swoop.patch | 6 +- ...s-to-open-even-with-a-solid-block-on.patch | 4 +- .../0120-Striders-give-saddle-back.patch | 6 +- ...therite-armor-grants-fire-resistance.patch | 4 +- ...iefing-bypass-to-everything-affected.patch | 70 ++--- ...allow-Note-Block-sounds-when-blocked.patch | 6 +- ...0126-Add-EntityTeleportHinderedEvent.patch | 6 +- .../0127-Farmland-trampling-changes.patch | 4 +- ...28-Movement-options-for-armor-stands.patch | 4 +- .../server/0129-Fix-stuck-in-portals.patch | 6 +- ...oggle-for-water-sensitive-mob-damage.patch | 256 ++++++++-------- ...31-Config-to-always-tame-in-Creative.patch | 6 +- .../0132-End-crystal-explosion-options.patch | 4 +- ...ither-Ender-Dragon-can-ride-vehicles.patch | 10 +- .../server/0134-Dont-run-with-scissors.patch | 6 +- patches/server/0135-One-Punch-Man.patch | 6 +- ...er-Pearl-cooldown-damage-and-Endermi.patch | 6 +- ...-to-ignore-nearby-mobs-when-sleeping.patch | 6 +- ...an-aggressiveness-towards-Endermites.patch | 6 +- ...-Dragon-Head-wearers-and-stare-aggro.patch | 6 +- patches/server/0141-Tick-fluids-config.patch | 6 +- ...142-Config-to-disable-Llama-caravans.patch | 6 +- ...ig-to-make-Creepers-explode-on-death.patch | 6 +- ...urable-ravager-griefable-blocks-list.patch | 6 +- ...0145-Sneak-to-bulk-process-composter.patch | 4 +- .../0146-Config-for-skipping-night.patch | 6 +- ...0147-Add-config-for-villager-trading.patch | 10 +- patches/server/0149-Drowning-Settings.patch | 4 +- ...Break-individual-slabs-when-sneaking.patch | 4 +- ...-to-disable-hostile-mob-spawn-on-ice.patch | 4 +- ...ig-to-show-Armor-Stand-arms-on-spawn.patch | 6 +- ...ption-to-make-doors-require-redstone.patch | 4 +- .../0155-Configurable-sponge-absorption.patch | 4 +- .../0156-Projectile-offset-config.patch | 4 +- ...for-powered-rail-activation-distance.patch | 4 +- .../0158-Piglin-portal-spawn-modifier.patch | 6 +- ...0-Config-for-wither-explosion-radius.patch | 6 +- .../0162-Configurable-piston-push-limit.patch | 4 +- .../0164-Configurable-mob-blindness.patch | 6 +- ...h-to-impact-Creeper-explosion-radius.patch | 6 +- .../0167-Iron-golem-calm-anger-options.patch | 6 +- patches/server/0168-Breedable-parrots.patch | 6 +- ...igurable-powered-rail-boost-modifier.patch | 6 +- ...nge-multiplier-critical-damage-value.patch | 6 +- ...on-to-disable-dragon-egg-teleporting.patch | 4 +- ...74-ShulkerBox-allow-oversized-stacks.patch | 4 +- ...ee-can-work-when-raining-or-at-night.patch | 6 +- .../0177-Config-MobEffect-by-world.patch | 4 +- ...Beacon-Activation-Range-Configurable.patch | 4 +- .../0179-Add-toggle-for-sand-duping-fix.patch | 4 +- ...ggle-for-end-portal-safe-teleporting.patch | 4 +- ...after-eating-food-fills-hunger-bar-c.patch | 6 +- ...tal-waiting-option-permission-bypass.patch | 6 +- ...85-Shulker-spawn-from-bullet-options.patch | 6 +- ...Eating-glow-berries-adds-glow-effect.patch | 6 +- ...7-Option-to-make-drowned-break-doors.patch | 6 +- ...onfigurable-hunger-starvation-damage.patch | 4 +- .../server/0191-Tool-actionable-options.patch | 4 +- ...e-shulker-box-items-from-dropping-co.patch | 6 +- .../server/0196-Big-dripleaf-tilt-delay.patch | 4 +- .../0197-Player-ridable-in-water-option.patch | 6 +- ...e-Enderman-teleport-on-projectile-hi.patch | 6 +- patches/server/0199-Add-compass-command.patch | 6 +- .../0200-Toggle-for-kinetic-damage.patch | 4 +- ...d-Option-for-disable-observer-clocks.patch | 4 +- ...izeable-Zombie-Villager-curing-times.patch | 6 +- ...-for-sponges-to-work-on-lava-and-mud.patch | 4 +- ...0204-Toggle-for-Wither-s-spawn-sound.patch | 6 +- ...s-breaks-from-solid-neighbors-config.patch | 4 +- ...emove-curse-of-binding-with-weakness.patch | 6 +- .../0207-Conduit-behavior-configuration.patch | 4 +- .../server/0208-Cauldron-fill-chances.patch | 4 +- ...to-allow-mobs-to-pathfind-over-rails.patch | 6 +- .../0210-Shulker-change-color-with-dye.patch | 6 +- ...ain-and-thunder-should-stop-on-sleep.patch | 6 +- ...a-blocks-to-grow-into-trees-naturall.patch | 6 +- ...t-right-click-to-use-exp-for-mending.patch | 6 +- ...turally-aggressive-to-players-chance.patch | 6 +- ...turally-aggressive-to-players-chance.patch | 6 +- ...or-beds-to-explode-on-villager-sleep.patch | 6 +- ...-Halloween-options-and-optimizations.patch | 4 +- ...-Campfire-option-for-lit-when-placed.patch | 4 +- ...xtinguish-fire-blocks-with-snowballs.patch | 6 +- ...ion-to-disable-zombie-villagers-cure.patch | 6 +- ...ent-BlockEntity-Lore-and-DisplayName.patch | 6 +- .../server/0226-Signs-allow-color-codes.patch | 4 +- .../0228-Mobs-always-drop-experience.patch | 274 +++++++++--------- ...oe-to-replant-crops-and-nether-warts.patch | 6 +- ...aring-jeb-produces-random-color-wool.patch | 6 +- ...Turtle-eggs-random-tick-crack-chance.patch | 4 +- .../0234-Mob-head-visibility-percent.patch | 18 +- ...-Stop-bees-from-dying-after-stinging.patch | 6 +- ...Configurable-farmland-trample-height.patch | 6 +- ...Configurable-player-pickup-exp-delay.patch | 6 +- patches/server/0241-Allow-void-trading.patch | 6 +- .../0242-Configurable-phantom-size.patch | 6 +- ...nfigurable-minimum-demand-for-trades.patch | 6 +- .../0246-Lobotomize-stuck-villagers.patch | 6 +- ...tion-for-villager-display-trade-item.patch | 6 +- ...awner-not-spawning-water-animals-cor.patch | 4 +- ...fig-for-mob-last-hurt-by-player-time.patch | 6 +- .../0250-Anvil-repair-damage-options.patch | 4 +- ...e-turtle-egg-trampling-with-feather-.patch | 4 +- ...urable-search-radius-for-villagers-t.patch | 6 +- patches/server/0255-Stonecutter-damage.patch | 4 +- ...ble-damage-settings-for-magma-blocks.patch | 4 +- ...0257-Add-config-for-snow-on-blue-ice.patch | 4 +- .../0258-Skeletons-eat-wither-roses.patch | 6 +- ...259-Enchantment-Table-Persists-Lapis.patch | 4 +- ...-for-sculk-shrieker-can_summon-state.patch | 4 +- .../0263-Config-to-not-let-coral-die.patch | 4 +- ...0265-Add-toggle-for-RNG-manipulation.patch | 4 +- ...ng-option-to-ignore-creative-players.patch | 6 +- ...275-Add-skeleton-bow-accuracy-option.patch | 6 +- .../server/0276-Allay-respect-item-NBT.patch | 4 +- .../0285-Milk-Keeps-Beneficial-Effects.patch | 6 +- ...low-creeper-to-encircle-target-when-.patch | 6 +- ...leport-to-spawn-on-nether-ceiling-da.patch | 6 +- .../server/0293-End-Crystal-Cramming.patch | 6 +- ...beacon-effects-when-covered-by-tinte.patch | 4 +- ...fig-to-remove-explosion-radius-clamp.patch | 4 +- ...able-sugarcane-cactus-and-netherwart.patch | 4 +- .../server/0300-Add-mending-multiplier.patch | 6 +- .../server/0303-Shears-can-defuse-TNT.patch | 4 +- ...-Option-Ocelot-Spawn-Under-Sea-Level.patch | 6 +- ...r-piglins-to-ignore-gold-trimmed-arm.patch | 24 +- 205 files changed, 905 insertions(+), 923 deletions(-) diff --git a/patches/server/0004-Purpur-config-files.patch b/patches/server/0004-Purpur-config-files.patch index 3d5f74725..cc698211f 100644 --- a/patches/server/0004-Purpur-config-files.patch +++ b/patches/server/0004-Purpur-config-files.patch @@ -360,10 +360,10 @@ index 0000000000000000000000000000000000000000..61d193d8ddd87817bf2c560037d42366 +} diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java new file mode 100644 -index 0000000000000000000000000000000000000000..c47b04687a273b0fb13c50409f558ffb4dfedcaa +index 0000000000000000000000000000000000000000..5f0732c2b8f85185b6dfc1db3119c22e8be7f5da --- /dev/null +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -0,0 +1,94 @@ +@@ -0,0 +1,92 @@ +package org.purpurmc.purpur; + +import net.minecraft.core.registries.BuiltInRegistries; @@ -374,7 +374,6 @@ index 0000000000000000000000000000000000000000..c47b04687a273b0fb13c50409f558ffb +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.Items; -+import net.minecraft.world.level.Explosion; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.properties.Tilt; @@ -390,7 +389,6 @@ index 0000000000000000000000000000000000000000..c47b04687a273b0fb13c50409f558ffb +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; -+import java.util.Locale; +import java.util.Map; +import java.util.function.Predicate; +import java.util.logging.Level; diff --git a/patches/server/0008-Ridables.patch b/patches/server/0008-Ridables.patch index fbe3ada7a..b1e9e287d 100644 --- a/patches/server/0008-Ridables.patch +++ b/patches/server/0008-Ridables.patch @@ -5279,10 +5279,10 @@ index 61d193d8ddd87817bf2c560037d42366cff1eca9..8ad548fc059568d37675e017548b171d + } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c47b04687a273b0fb13c50409f558ffb4dfedcaa..8d6e6f25e4f451af111d79bcb08074d613095c51 100644 +index 5f0732c2b8f85185b6dfc1db3119c22e8be7f5da..4c25461a6d75a47425b66e04285792787d7193ee 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -91,4 +91,722 @@ public class PurpurWorldConfig { +@@ -89,4 +89,722 @@ public class PurpurWorldConfig { final Map value = PurpurConfig.getMap("world-settings." + worldName + "." + path, null); return value.isEmpty() ? fallback : value; } diff --git a/patches/server/0009-Configurable-entity-base-attributes.patch b/patches/server/0009-Configurable-entity-base-attributes.patch index d784dfc74..5bb281a82 100644 --- a/patches/server/0009-Configurable-entity-base-attributes.patch +++ b/patches/server/0009-Configurable-entity-base-attributes.patch @@ -1504,10 +1504,10 @@ index 7e5650a56d87a48df7ee0a862b22bf015bb48b2a..33702273c7fabdb8e5bfb3d0e15530f1 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 8d6e6f25e4f451af111d79bcb08074d613095c51..c4d7a087a63dbc596a7a6b10e0d5ad3b5dcebc0f 100644 +index 4c25461a6d75a47425b66e04285792787d7193ee..27ce55687c7c59fdfdcc4553240ea8b023919b77 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -114,99 +114,190 @@ public class PurpurWorldConfig { +@@ -112,99 +112,190 @@ public class PurpurWorldConfig { public boolean axolotlRidable = false; public boolean axolotlControllable = true; @@ -1698,7 +1698,7 @@ index 8d6e6f25e4f451af111d79bcb08074d613095c51..c4d7a087a63dbc596a7a6b10e0d5ad3b } public boolean dolphinRidable = false; -@@ -214,80 +305,161 @@ public class PurpurWorldConfig { +@@ -212,80 +303,161 @@ public class PurpurWorldConfig { public int dolphinSpitCooldown = 20; public float dolphinSpitSpeed = 1.0F; public float dolphinSpitDamage = 2.0F; @@ -1860,7 +1860,7 @@ index 8d6e6f25e4f451af111d79bcb08074d613095c51..c4d7a087a63dbc596a7a6b10e0d5ad3b } public boolean frogRidable = false; -@@ -305,147 +477,316 @@ public class PurpurWorldConfig { +@@ -303,147 +475,316 @@ public class PurpurWorldConfig { public boolean ghastRidableInWater = true; public boolean ghastControllable = true; public double ghastMaxY = 320D; @@ -2177,7 +2177,7 @@ index 8d6e6f25e4f451af111d79bcb08074d613095c51..c4d7a087a63dbc596a7a6b10e0d5ad3b } public boolean phantomRidable = false; -@@ -455,6 +796,10 @@ public class PurpurWorldConfig { +@@ -453,6 +794,10 @@ public class PurpurWorldConfig { public float phantomFlameDamage = 1.0F; public int phantomFlameFireTime = 8; public boolean phantomAllowGriefing = false; @@ -2188,7 +2188,7 @@ index 8d6e6f25e4f451af111d79bcb08074d613095c51..c4d7a087a63dbc596a7a6b10e0d5ad3b private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -463,189 +808,361 @@ public class PurpurWorldConfig { +@@ -461,189 +806,361 @@ public class PurpurWorldConfig { phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage); phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime); phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing); @@ -2550,7 +2550,7 @@ index 8d6e6f25e4f451af111d79bcb08074d613095c51..c4d7a087a63dbc596a7a6b10e0d5ad3b } public boolean tadpoleRidable = false; -@@ -660,64 +1177,125 @@ public class PurpurWorldConfig { +@@ -658,64 +1175,125 @@ public class PurpurWorldConfig { public boolean traderLlamaRidable = false; public boolean traderLlamaRidableInWater = false; public boolean traderLlamaControllable = true; @@ -2676,7 +2676,7 @@ index 8d6e6f25e4f451af111d79bcb08074d613095c51..c4d7a087a63dbc596a7a6b10e0d5ad3b } public boolean wardenRidable = false; -@@ -732,81 +1310,165 @@ public class PurpurWorldConfig { +@@ -730,81 +1308,165 @@ public class PurpurWorldConfig { public boolean witchRidable = false; public boolean witchRidableInWater = true; public boolean witchControllable = true; diff --git a/patches/server/0012-AFK-API.patch b/patches/server/0012-AFK-API.patch index 80371d3be..37c524a8e 100644 --- a/patches/server/0012-AFK-API.patch +++ b/patches/server/0012-AFK-API.patch @@ -289,10 +289,10 @@ index 7937023274acf3a1efdd21bbdd2f933f4399baeb..3fba9f640ef03219c89a2a405e4d5a58 public static int barrelRows = 3; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c4d7a087a63dbc596a7a6b10e0d5ad3b5dcebc0f..310bb25b735e50d45612b213db7d8a0a203f00fc 100644 +index 27ce55687c7c59fdfdcc4553240ea8b023919b77..3ed1a91c93f659306acaf8bad6820f49208554c8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -92,6 +92,24 @@ public class PurpurWorldConfig { +@@ -90,6 +90,24 @@ public class PurpurWorldConfig { return value.isEmpty() ? fallback : value; } diff --git a/patches/server/0018-Player-invulnerabilities.patch b/patches/server/0018-Player-invulnerabilities.patch index ecf617d33..0c3b2a8e0 100644 --- a/patches/server/0018-Player-invulnerabilities.patch +++ b/patches/server/0018-Player-invulnerabilities.patch @@ -146,10 +146,10 @@ index 0281285ef491ef0abc1266601420345ba679a3be..4a775ffe8880c90def23e421fd3de17f // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 310bb25b735e50d45612b213db7d8a0a203f00fc..0275c6523e957c67387f8c4d13d608aa415706d6 100644 +index 3ed1a91c93f659306acaf8bad6820f49208554c8..f521d0e73908037c76c5669b401e422040e2a77b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -97,6 +97,8 @@ public class PurpurWorldConfig { +@@ -95,6 +95,8 @@ public class PurpurWorldConfig { public boolean idleTimeoutCountAsSleeping = false; public boolean idleTimeoutUpdateTabList = false; public boolean idleTimeoutTargetPlayer = true; @@ -158,7 +158,7 @@ index 310bb25b735e50d45612b213db7d8a0a203f00fc..0275c6523e957c67387f8c4d13d608aa private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -108,6 +110,8 @@ public class PurpurWorldConfig { +@@ -106,6 +108,8 @@ public class PurpurWorldConfig { idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping); idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer); diff --git a/patches/server/0021-Silk-touch-spawners.patch b/patches/server/0021-Silk-touch-spawners.patch index 5f18ca094..47aa1430a 100644 --- a/patches/server/0021-Silk-touch-spawners.patch +++ b/patches/server/0021-Silk-touch-spawners.patch @@ -89,10 +89,10 @@ index 936d844a5a246138c9f9ae4ae6e318242b8f1420..d58dc4aa02fe371deaf879df8692dbe9 int i = 15 + worldserver.random.nextInt(15) + worldserver.random.nextInt(15); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0275c6523e957c67387f8c4d13d608aa415706d6..a507c67a7e1be307693c046492eed52cc37fe320 100644 +index f521d0e73908037c76c5669b401e422040e2a77b..ef20a9601527281d052c531e7e769ea480622481 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -114,6 +114,38 @@ public class PurpurWorldConfig { +@@ -112,6 +112,38 @@ public class PurpurWorldConfig { playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); } diff --git a/patches/server/0022-Add-turtle-egg-block-options.patch b/patches/server/0022-Add-turtle-egg-block-options.patch index 4328bc655..d2cc049d4 100644 --- a/patches/server/0022-Add-turtle-egg-block-options.patch +++ b/patches/server/0022-Add-turtle-egg-block-options.patch @@ -36,10 +36,10 @@ index 6c1a0e6f961e46a1a89850746a71e97b32514adf..1942649e868fc985a488034c411a6721 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a507c67a7e1be307693c046492eed52cc37fe320..c156da7f0e9fa108eb4cb08342006e25a8099f50 100644 +index ef20a9601527281d052c531e7e769ea480622481..1b06b531cc334b00b8f12634bd36766619098f16 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -146,6 +146,15 @@ public class PurpurWorldConfig { +@@ -144,6 +144,15 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0025-Giants-AI-settings.patch b/patches/server/0025-Giants-AI-settings.patch index dce800543..c472515ae 100644 --- a/patches/server/0025-Giants-AI-settings.patch +++ b/patches/server/0025-Giants-AI-settings.patch @@ -113,10 +113,10 @@ index db95323da1aef267aa4fbe56aaff63cb8684e15b..12e27b36b3f9949eb644175dd346c487 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c156da7f0e9fa108eb4cb08342006e25a8099f50..fcd860b0ee89519f329229b591f9abeaae87eaf3 100644 +index 1b06b531cc334b00b8f12634bd36766619098f16..916249a2ad6721182f0e71e785db3b50839d4961 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -560,6 +560,10 @@ public class PurpurWorldConfig { +@@ -558,6 +558,10 @@ public class PurpurWorldConfig { public double giantMovementSpeed = 0.5D; public double giantAttackDamage = 50.0D; public double giantMaxHealth = 100.0D; @@ -127,7 +127,7 @@ index c156da7f0e9fa108eb4cb08342006e25a8099f50..fcd860b0ee89519f329229b591f9abea private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -576,6 +580,10 @@ public class PurpurWorldConfig { +@@ -574,6 +578,10 @@ public class PurpurWorldConfig { set("mobs.giant.attributes.max_health", oldValue); } giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth); diff --git a/patches/server/0026-Zombie-horse-naturally-spawn.patch b/patches/server/0026-Zombie-horse-naturally-spawn.patch index 49ae852c0..bcbc7122f 100644 --- a/patches/server/0026-Zombie-horse-naturally-spawn.patch +++ b/patches/server/0026-Zombie-horse-naturally-spawn.patch @@ -30,10 +30,10 @@ index 4c3b5a26a6b04afff3a707929ced3c62b5256a67..11f92c1011a1accaf485e5785d2e9ebc entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ()); this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index fcd860b0ee89519f329229b591f9abeaae87eaf3..e4c11c7d296254e797ade0460e5482cd58c1c281 100644 +index 916249a2ad6721182f0e71e785db3b50839d4961..1f636491c6da434708359224107cfc1de1cd6034 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1490,6 +1490,7 @@ public class PurpurWorldConfig { +@@ -1488,6 +1488,7 @@ public class PurpurWorldConfig { public double zombieHorseJumpStrengthMax = 1.0D; public double zombieHorseMovementSpeedMin = 0.2D; public double zombieHorseMovementSpeedMax = 0.2D; @@ -41,7 +41,7 @@ index fcd860b0ee89519f329229b591f9abeaae87eaf3..e4c11c7d296254e797ade0460e5482cd private void zombieHorseSettings() { zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); -@@ -1505,6 +1506,7 @@ public class PurpurWorldConfig { +@@ -1503,6 +1504,7 @@ public class PurpurWorldConfig { zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax); zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin); zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax); diff --git a/patches/server/0027-Charged-creeper-naturally-spawn.patch b/patches/server/0027-Charged-creeper-naturally-spawn.patch index 120d7ef46..0071bedad 100644 --- a/patches/server/0027-Charged-creeper-naturally-spawn.patch +++ b/patches/server/0027-Charged-creeper-naturally-spawn.patch @@ -24,10 +24,10 @@ index e31094f270117dec3053620c06e409953fb6d710..a1e3f29ce49dc41ad70f74ee224250fe protected SoundEvent getHurtSound(DamageSource source) { return SoundEvents.CREEPER_HURT; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e4c11c7d296254e797ade0460e5482cd58c1c281..2c56d70ce42816741162abe097e0b05ece3eb980 100644 +index 1f636491c6da434708359224107cfc1de1cd6034..607298a7fe2f2f7b2320a028d1343c1575decf31 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -351,6 +351,7 @@ public class PurpurWorldConfig { +@@ -349,6 +349,7 @@ public class PurpurWorldConfig { public boolean creeperRidableInWater = true; public boolean creeperControllable = true; public double creeperMaxHealth = 20.0D; @@ -35,7 +35,7 @@ index e4c11c7d296254e797ade0460e5482cd58c1c281..2c56d70ce42816741162abe097e0b05e private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -361,6 +362,7 @@ public class PurpurWorldConfig { +@@ -359,6 +360,7 @@ public class PurpurWorldConfig { set("mobs.creeper.attributes.max_health", oldValue); } creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); diff --git a/patches/server/0028-Rabbit-naturally-spawn-toast-and-killer.patch b/patches/server/0028-Rabbit-naturally-spawn-toast-and-killer.patch index 15221d9a4..c7968f43b 100644 --- a/patches/server/0028-Rabbit-naturally-spawn-toast-and-killer.patch +++ b/patches/server/0028-Rabbit-naturally-spawn-toast-and-killer.patch @@ -33,10 +33,10 @@ index 9be247def3ab8c74c569f653ec971aaf1b5ed5c9..6d5213d26dbd9d36c5cbe6056091d9e5 int i = world.getRandom().nextInt(100); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2c56d70ce42816741162abe097e0b05ece3eb980..15d5545e2056fef3f7d924a2e4c1e32aae0b41d2 100644 +index 607298a7fe2f2f7b2320a028d1343c1575decf31..5974f2ec7f42cf5ea58a5cfa124f0165a5fc5785 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -994,6 +994,8 @@ public class PurpurWorldConfig { +@@ -992,6 +992,8 @@ public class PurpurWorldConfig { public boolean rabbitRidableInWater = true; public boolean rabbitControllable = true; public double rabbitMaxHealth = 3.0D; @@ -45,7 +45,7 @@ index 2c56d70ce42816741162abe097e0b05ece3eb980..15d5545e2056fef3f7d924a2e4c1e32a private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1004,6 +1006,8 @@ public class PurpurWorldConfig { +@@ -1002,6 +1004,8 @@ public class PurpurWorldConfig { set("mobs.rabbit.attributes.max_health", oldValue); } rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth); diff --git a/patches/server/0030-Tulips-change-fox-type.patch b/patches/server/0030-Tulips-change-fox-type.patch index 8520ab372..0fec3be3e 100644 --- a/patches/server/0030-Tulips-change-fox-type.patch +++ b/patches/server/0030-Tulips-change-fox-type.patch @@ -75,10 +75,10 @@ index d6370eb9af9842710052e0e497af52122f265488..cedc4dac776dde310dbf1a22272ce54b // Paper start - Cancellable death event protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 15d5545e2056fef3f7d924a2e4c1e32aae0b41d2..3a6833c07ca30690a010dcd57883f1345a18ea13 100644 +index 5974f2ec7f42cf5ea58a5cfa124f0165a5fc5785..d0b82fb2d43207f997b85c2a2d6abc3af98c2fbd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -515,6 +515,7 @@ public class PurpurWorldConfig { +@@ -513,6 +513,7 @@ public class PurpurWorldConfig { public boolean foxRidableInWater = true; public boolean foxControllable = true; public double foxMaxHealth = 10.0D; @@ -86,7 +86,7 @@ index 15d5545e2056fef3f7d924a2e4c1e32aae0b41d2..3a6833c07ca30690a010dcd57883f134 private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -525,6 +526,7 @@ public class PurpurWorldConfig { +@@ -523,6 +524,7 @@ public class PurpurWorldConfig { set("mobs.fox.attributes.max_health", oldValue); } foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); diff --git a/patches/server/0031-Breedable-Polar-Bears.patch b/patches/server/0031-Breedable-Polar-Bears.patch index a55055f9d..b4d7eb90f 100644 --- a/patches/server/0031-Breedable-Polar-Bears.patch +++ b/patches/server/0031-Breedable-Polar-Bears.patch @@ -59,10 +59,10 @@ index 48ec595e76c09cf719477a543364f1206664afa5..b2cf680e377f849a7cc17136ebca3cf3 this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3a6833c07ca30690a010dcd57883f1345a18ea13..2d215c3a6a810a6798c0804aae41e138f0b008bb 100644 +index d0b82fb2d43207f997b85c2a2d6abc3af98c2fbd..f994a8eb776c2ad1029b447ebab0273eb01e302f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -966,6 +966,8 @@ public class PurpurWorldConfig { +@@ -964,6 +964,8 @@ public class PurpurWorldConfig { public boolean polarBearRidableInWater = true; public boolean polarBearControllable = true; public double polarBearMaxHealth = 30.0D; @@ -71,7 +71,7 @@ index 3a6833c07ca30690a010dcd57883f1345a18ea13..2d215c3a6a810a6798c0804aae41e138 private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -976,6 +978,9 @@ public class PurpurWorldConfig { +@@ -974,6 +976,9 @@ public class PurpurWorldConfig { set("mobs.polar_bear.attributes.max_health", oldValue); } polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth); diff --git a/patches/server/0032-Chickens-can-retaliate.patch b/patches/server/0032-Chickens-can-retaliate.patch index 6af85058d..dba975b0d 100644 --- a/patches/server/0032-Chickens-can-retaliate.patch +++ b/patches/server/0032-Chickens-can-retaliate.patch @@ -50,10 +50,10 @@ index ea404a84a43a02a5614d5142bb78a586edfc69f6..0f49705e3c7adf033cee9d0746319885 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2d215c3a6a810a6798c0804aae41e138f0b008bb..13d7639474901ba3aaf41d68f7108089e8b9a595 100644 +index f994a8eb776c2ad1029b447ebab0273eb01e302f..535fc8b625b49c2451e17f5e73ea44b634adc6d9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -305,6 +305,7 @@ public class PurpurWorldConfig { +@@ -303,6 +303,7 @@ public class PurpurWorldConfig { public boolean chickenRidableInWater = false; public boolean chickenControllable = true; public double chickenMaxHealth = 4.0D; @@ -61,7 +61,7 @@ index 2d215c3a6a810a6798c0804aae41e138f0b008bb..13d7639474901ba3aaf41d68f7108089 private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -315,6 +316,7 @@ public class PurpurWorldConfig { +@@ -313,6 +314,7 @@ public class PurpurWorldConfig { set("mobs.chicken.attributes.max_health", oldValue); } chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); diff --git a/patches/server/0033-Add-option-to-set-armorstand-step-height.patch b/patches/server/0033-Add-option-to-set-armorstand-step-height.patch index f36d07e4a..32ac78889 100644 --- a/patches/server/0033-Add-option-to-set-armorstand-step-height.patch +++ b/patches/server/0033-Add-option-to-set-armorstand-step-height.patch @@ -30,10 +30,10 @@ index 5c6e060a54ffb13c37ff5711992e964bdd59643d..5524a69952130ec38e151509ba773345 if (!this.canTick) { if (this.noTickPoseDirty) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 13d7639474901ba3aaf41d68f7108089e8b9a595..40018538f244090fe4f57682c08b583959df987a 100644 +index 535fc8b625b49c2451e17f5e73ea44b634adc6d9..9ad3efdfdabb1a5a5c2c6a521521a55bf1aea1b2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -92,6 +92,11 @@ public class PurpurWorldConfig { +@@ -90,6 +90,11 @@ public class PurpurWorldConfig { return value.isEmpty() ? fallback : value; } diff --git a/patches/server/0034-Cat-spawning-options.patch b/patches/server/0034-Cat-spawning-options.patch index c23ff85bc..19bd37d8d 100644 --- a/patches/server/0034-Cat-spawning-options.patch +++ b/patches/server/0034-Cat-spawning-options.patch @@ -51,10 +51,10 @@ index 5f407535298a31a34cfe114dd863fd6a9b977707..29c7e33fe961020e5a0007287fe9b663 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 40018538f244090fe4f57682c08b583959df987a..03d9b8907e491ee95c2ac599541b2d0b06989521 100644 +index 9ad3efdfdabb1a5a5c2c6a521521a55bf1aea1b2..524401b0ecdbe8cf67447072aafa58293dc11bf9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -278,6 +278,9 @@ public class PurpurWorldConfig { +@@ -276,6 +276,9 @@ public class PurpurWorldConfig { public boolean catRidableInWater = true; public boolean catControllable = true; public double catMaxHealth = 10.0D; @@ -64,7 +64,7 @@ index 40018538f244090fe4f57682c08b583959df987a..03d9b8907e491ee95c2ac599541b2d0b private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -288,6 +291,9 @@ public class PurpurWorldConfig { +@@ -286,6 +289,9 @@ public class PurpurWorldConfig { set("mobs.cat.attributes.max_health", oldValue); } catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth); diff --git a/patches/server/0035-Cows-eat-mushrooms.patch b/patches/server/0035-Cows-eat-mushrooms.patch index fa658e770..b8e231e08 100644 --- a/patches/server/0035-Cows-eat-mushrooms.patch +++ b/patches/server/0035-Cows-eat-mushrooms.patch @@ -114,10 +114,10 @@ index 621fe1c08dda65934437eeab679b6e5cd2d11d3d..28c7e240b7dd1957ccb6a45608b1d052 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 03d9b8907e491ee95c2ac599541b2d0b06989521..d669e392cb2d2dab552c5ed5b35df1e90cc91f33 100644 +index 524401b0ecdbe8cf67447072aafa58293dc11bf9..e7268c1a19d6d6cf1166c7242f954f55463c6cfa 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -348,6 +348,7 @@ public class PurpurWorldConfig { +@@ -346,6 +346,7 @@ public class PurpurWorldConfig { public boolean cowRidableInWater = true; public boolean cowControllable = true; public double cowMaxHealth = 10.0D; @@ -125,7 +125,7 @@ index 03d9b8907e491ee95c2ac599541b2d0b06989521..d669e392cb2d2dab552c5ed5b35df1e9 private void cowSettings() { cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); -@@ -358,6 +359,7 @@ public class PurpurWorldConfig { +@@ -356,6 +357,7 @@ public class PurpurWorldConfig { set("mobs.cow.attributes.max_health", oldValue); } cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); diff --git a/patches/server/0037-Pigs-give-saddle-back.patch b/patches/server/0037-Pigs-give-saddle-back.patch index 91cbb47fe..5e74420fd 100644 --- a/patches/server/0037-Pigs-give-saddle-back.patch +++ b/patches/server/0037-Pigs-give-saddle-back.patch @@ -27,10 +27,10 @@ index a22e5b6c13b48b46d16a859531d4231376bc1bfc..ff98a81f7104bbaf67ed85b8ad0946ed if (!this.level().isClientSide) { player.startRiding(this); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d669e392cb2d2dab552c5ed5b35df1e90cc91f33..9060e81e082c402d0792430ce84b5010d2326d45 100644 +index e7268c1a19d6d6cf1166c7242f954f55463c6cfa..8194ca9094c9689be094d175a53786a779852b67 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -917,6 +917,7 @@ public class PurpurWorldConfig { +@@ -915,6 +915,7 @@ public class PurpurWorldConfig { public boolean pigRidableInWater = false; public boolean pigControllable = true; public double pigMaxHealth = 10.0D; @@ -38,7 +38,7 @@ index d669e392cb2d2dab552c5ed5b35df1e90cc91f33..9060e81e082c402d0792430ce84b5010 private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -927,6 +928,7 @@ public class PurpurWorldConfig { +@@ -925,6 +926,7 @@ public class PurpurWorldConfig { set("mobs.pig.attributes.max_health", oldValue); } pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); diff --git a/patches/server/0038-Snowman-drop-and-put-back-pumpkin.patch b/patches/server/0038-Snowman-drop-and-put-back-pumpkin.patch index e30c34ebc..febcf70ca 100644 --- a/patches/server/0038-Snowman-drop-and-put-back-pumpkin.patch +++ b/patches/server/0038-Snowman-drop-and-put-back-pumpkin.patch @@ -32,10 +32,10 @@ index 3ffd9dd16c80399842ba138ed60abd66cd312dcb..bd9dd01e9140c2ad0ab9859b9a455f73 this.forceDrops = false; // CraftBukkit } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9060e81e082c402d0792430ce84b5010d2326d45..a25beed0e8bcabf33855bb374091bc64ef6c6a4f 100644 +index 8194ca9094c9689be094d175a53786a779852b67..80d937d3f2ee0fcfa7b955c1ff7252b5d9cd8e2b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1180,6 +1180,8 @@ public class PurpurWorldConfig { +@@ -1178,6 +1178,8 @@ public class PurpurWorldConfig { public boolean snowGolemControllable = true; public boolean snowGolemLeaveTrailWhenRidden = false; public double snowGolemMaxHealth = 4.0D; @@ -44,7 +44,7 @@ index 9060e81e082c402d0792430ce84b5010d2326d45..a25beed0e8bcabf33855bb374091bc64 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1191,6 +1193,8 @@ public class PurpurWorldConfig { +@@ -1189,6 +1191,8 @@ public class PurpurWorldConfig { set("mobs.snow_golem.attributes.max_health", oldValue); } snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth); diff --git a/patches/server/0039-Ender-dragon-always-drop-full-exp.patch b/patches/server/0039-Ender-dragon-always-drop-full-exp.patch index d0626067b..7172a38ad 100644 --- a/patches/server/0039-Ender-dragon-always-drop-full-exp.patch +++ b/patches/server/0039-Ender-dragon-always-drop-full-exp.patch @@ -18,10 +18,10 @@ index f160933af318becaf99befc0ecc0204bc48ed4a9..81cf89bc57af0f43d05ba93256255155 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a25beed0e8bcabf33855bb374091bc64ef6c6a4f..c3398ebad8acd6c9146e04591bc00c89b5e4e4b0 100644 +index 80d937d3f2ee0fcfa7b955c1ff7252b5d9cd8e2b..245d658e2b0ac77b097a6572ea7dcbec13a98207 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -461,6 +461,7 @@ public class PurpurWorldConfig { +@@ -459,6 +459,7 @@ public class PurpurWorldConfig { public boolean enderDragonControllable = true; public double enderDragonMaxY = 320D; public double enderDragonMaxHealth = 200.0D; @@ -29,7 +29,7 @@ index a25beed0e8bcabf33855bb374091bc64ef6c6a4f..c3398ebad8acd6c9146e04591bc00c89 private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -476,6 +477,7 @@ public class PurpurWorldConfig { +@@ -474,6 +475,7 @@ public class PurpurWorldConfig { set("mobs.ender_dragon.attributes.max_health", oldValue); } enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); diff --git a/patches/server/0040-Allow-soil-to-moisten-from-water-directly-under-it.patch b/patches/server/0040-Allow-soil-to-moisten-from-water-directly-under-it.patch index 47d6d30a4..880ff4e22 100644 --- a/patches/server/0040-Allow-soil-to-moisten-from-water-directly-under-it.patch +++ b/patches/server/0040-Allow-soil-to-moisten-from-water-directly-under-it.patch @@ -18,10 +18,10 @@ index 5946f06f63b5694034bd027984a4925b0831d439..1776906e886edd511bfbe96b8a345438 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c3398ebad8acd6c9146e04591bc00c89b5e4e4b0..9d16de67399614069a297b8b08281d41d7da5983 100644 +index 245d658e2b0ac77b097a6572ea7dcbec13a98207..115085ecee8a765921d91288962f9ad8ab2391fa 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -151,6 +151,11 @@ public class PurpurWorldConfig { +@@ -149,6 +149,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0041-Minecart-settings-and-WASD-controls.patch b/patches/server/0041-Minecart-settings-and-WASD-controls.patch index 3357cbf6c..817fe2994 100644 --- a/patches/server/0041-Minecart-settings-and-WASD-controls.patch +++ b/patches/server/0041-Minecart-settings-and-WASD-controls.patch @@ -148,10 +148,10 @@ index de4c1e4701236e7d5ec77339c51ad6a9d8288bb6..5ac102afde62c08f36886b466010ccfe protected ResourceLocation drops; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9d16de67399614069a297b8b08281d41d7da5983..0765b0ab980e3786ec38bc6da369510e444dfb30 100644 +index 115085ecee8a765921d91288962f9ad8ab2391fa..df1d4a3e6cad6f8e73f28dc2c1da6c9821f6e01f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -97,6 +97,68 @@ public class PurpurWorldConfig { +@@ -95,6 +95,68 @@ public class PurpurWorldConfig { armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); } diff --git a/patches/server/0042-Disable-loot-drops-on-death-by-cramming.patch b/patches/server/0042-Disable-loot-drops-on-death-by-cramming.patch index 9bf35265c..3031c7f04 100644 --- a/patches/server/0042-Disable-loot-drops-on-death-by-cramming.patch +++ b/patches/server/0042-Disable-loot-drops-on-death-by-cramming.patch @@ -25,10 +25,10 @@ index 92745269118d8a0cb91cbbebdd7700f7737d2b9a..b3699225e2dc77c6d201e361c8d44739 // CraftBukkit start - Call death event // Paper start - call advancement triggers with correct entity equipment org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops, () -> { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0765b0ab980e3786ec38bc6da369510e444dfb30..0c4d689a98f7dbc38314a36f83258dc6e00c068b 100644 +index df1d4a3e6cad6f8e73f28dc2c1da6c9821f6e01f..a1690b8cc9843b17103fc5906244ffbe72eec574 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -97,6 +97,11 @@ public class PurpurWorldConfig { +@@ -95,6 +95,11 @@ public class PurpurWorldConfig { armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); } diff --git a/patches/server/0043-Option-to-toggle-milk-curing-bad-omen.patch b/patches/server/0043-Option-to-toggle-milk-curing-bad-omen.patch index 1e8b45a44..1f95ecfd8 100644 --- a/patches/server/0043-Option-to-toggle-milk-curing-bad-omen.patch +++ b/patches/server/0043-Option-to-toggle-milk-curing-bad-omen.patch @@ -28,10 +28,10 @@ index f33977d95b6db473be4f95075ba99caf90ad0220..56dc04d8875971ee9a5d077a695509af return stack.isEmpty() ? new ItemStack(Items.BUCKET) : stack; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0c4d689a98f7dbc38314a36f83258dc6e00c068b..c246536e81660666588b02d9f90bdfab73048c1e 100644 +index a1690b8cc9843b17103fc5906244ffbe72eec574..0549181f25cc9a31ea6ad9da8170c983667d6bb3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -98,8 +98,10 @@ public class PurpurWorldConfig { +@@ -96,8 +96,10 @@ public class PurpurWorldConfig { } public boolean disableDropsOnCrammingDeath = false; diff --git a/patches/server/0048-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch b/patches/server/0048-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch index d0a47c78d..20a0b11c9 100644 --- a/patches/server/0048-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch +++ b/patches/server/0048-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch @@ -18,10 +18,10 @@ index 454dd67920826b8b62c2654abfd43fc08c2648e4..0ea182962d6647629fc98c9e7406f7b7 if (!this.level().isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) { this.spawnAtLocation(this.getPickupItem(), 0.1F); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c246536e81660666588b02d9f90bdfab73048c1e..7bf88a3f83e7796fe2875f9f11880549056c4650 100644 +index 0549181f25cc9a31ea6ad9da8170c983667d6bb3..a7eee5311c4a697c1effcbb9a65f45529ab65c49 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -99,9 +99,11 @@ public class PurpurWorldConfig { +@@ -97,9 +97,11 @@ public class PurpurWorldConfig { public boolean disableDropsOnCrammingDeath = false; public boolean milkCuresBadOmen = true; diff --git a/patches/server/0049-Add-enderman-and-creeper-griefing-controls.patch b/patches/server/0049-Add-enderman-and-creeper-griefing-controls.patch index 59858ebd0..aa55998a8 100644 --- a/patches/server/0049-Add-enderman-and-creeper-griefing-controls.patch +++ b/patches/server/0049-Add-enderman-and-creeper-griefing-controls.patch @@ -38,10 +38,10 @@ index 948d352e01d0f167c25401a0c0ce8c1ef8553a24..74d1a0e8de36aaf11e844cc4f40e4c46 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7bf88a3f83e7796fe2875f9f11880549056c4650..b4c3fa2fe0a237901a6841dda0bf8b09a982f402 100644 +index a7eee5311c4a697c1effcbb9a65f45529ab65c49..f929b11d9cdb172a3092a9105cae2361034db21b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -443,6 +443,7 @@ public class PurpurWorldConfig { +@@ -441,6 +441,7 @@ public class PurpurWorldConfig { public boolean creeperControllable = true; public double creeperMaxHealth = 20.0D; public double creeperChargedChance = 0.0D; @@ -49,7 +49,7 @@ index 7bf88a3f83e7796fe2875f9f11880549056c4650..b4c3fa2fe0a237901a6841dda0bf8b09 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -454,6 +455,7 @@ public class PurpurWorldConfig { +@@ -452,6 +453,7 @@ public class PurpurWorldConfig { } creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); @@ -57,7 +57,7 @@ index 7bf88a3f83e7796fe2875f9f11880549056c4650..b4c3fa2fe0a237901a6841dda0bf8b09 } public boolean dolphinRidable = false; -@@ -560,6 +562,7 @@ public class PurpurWorldConfig { +@@ -558,6 +560,7 @@ public class PurpurWorldConfig { public boolean endermanRidableInWater = true; public boolean endermanControllable = true; public double endermanMaxHealth = 40.0D; @@ -65,7 +65,7 @@ index 7bf88a3f83e7796fe2875f9f11880549056c4650..b4c3fa2fe0a237901a6841dda0bf8b09 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -570,6 +573,7 @@ public class PurpurWorldConfig { +@@ -568,6 +571,7 @@ public class PurpurWorldConfig { set("mobs.enderman.attributes.max_health", oldValue); } endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); diff --git a/patches/server/0050-Villagers-follow-emerald-blocks.patch b/patches/server/0050-Villagers-follow-emerald-blocks.patch index 87e9aa40a..4943516ef 100644 --- a/patches/server/0050-Villagers-follow-emerald-blocks.patch +++ b/patches/server/0050-Villagers-follow-emerald-blocks.patch @@ -54,10 +54,10 @@ index 33702273c7fabdb8e5bfb3d0e15530f109e318be..509bde6c02d9e74158da7a134fbdda16 this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D)); this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b4c3fa2fe0a237901a6841dda0bf8b09a982f402..9b87d63020eed6d9bafbde2c090155df974c52e7 100644 +index f929b11d9cdb172a3092a9105cae2361034db21b..e2667728ea44292ae05e80f1a27ed3edb36db7b1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1441,6 +1441,7 @@ public class PurpurWorldConfig { +@@ -1439,6 +1439,7 @@ public class PurpurWorldConfig { public boolean villagerRidableInWater = true; public boolean villagerControllable = true; public double villagerMaxHealth = 20.0D; @@ -65,7 +65,7 @@ index b4c3fa2fe0a237901a6841dda0bf8b09a982f402..9b87d63020eed6d9bafbde2c090155df private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1451,6 +1452,7 @@ public class PurpurWorldConfig { +@@ -1449,6 +1450,7 @@ public class PurpurWorldConfig { set("mobs.villager.attributes.max_health", oldValue); } villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); @@ -73,7 +73,7 @@ index b4c3fa2fe0a237901a6841dda0bf8b09a982f402..9b87d63020eed6d9bafbde2c090155df } public boolean vindicatorRidable = false; -@@ -1473,6 +1475,7 @@ public class PurpurWorldConfig { +@@ -1471,6 +1473,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderRidableInWater = true; public boolean wanderingTraderControllable = true; public double wanderingTraderMaxHealth = 20.0D; @@ -81,7 +81,7 @@ index b4c3fa2fe0a237901a6841dda0bf8b09a982f402..9b87d63020eed6d9bafbde2c090155df private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1483,6 +1486,7 @@ public class PurpurWorldConfig { +@@ -1481,6 +1484,7 @@ public class PurpurWorldConfig { set("mobs.wandering_trader.attributes.max_health", oldValue); } wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); diff --git a/patches/server/0051-Allow-leashing-villagers.patch b/patches/server/0051-Allow-leashing-villagers.patch index 6e7a9b3ef..06bd585cd 100644 --- a/patches/server/0051-Allow-leashing-villagers.patch +++ b/patches/server/0051-Allow-leashing-villagers.patch @@ -49,10 +49,10 @@ index 509bde6c02d9e74158da7a134fbdda1603cb3ec0..7413f90dfcb68476f7d514607f38a896 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 9b87d63020eed6d9bafbde2c090155df974c52e7..8e66a2111523f7bf65b5b7df4035191a76371482 100644 +index e2667728ea44292ae05e80f1a27ed3edb36db7b1..ab42f93a621759a86c7e9eba14cb32b156d4f106 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1442,6 +1442,7 @@ public class PurpurWorldConfig { +@@ -1440,6 +1440,7 @@ public class PurpurWorldConfig { public boolean villagerControllable = true; public double villagerMaxHealth = 20.0D; public boolean villagerFollowEmeraldBlock = false; @@ -60,7 +60,7 @@ index 9b87d63020eed6d9bafbde2c090155df974c52e7..8e66a2111523f7bf65b5b7df4035191a private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1453,6 +1454,7 @@ public class PurpurWorldConfig { +@@ -1451,6 +1452,7 @@ public class PurpurWorldConfig { } villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); @@ -68,7 +68,7 @@ index 9b87d63020eed6d9bafbde2c090155df974c52e7..8e66a2111523f7bf65b5b7df4035191a } public boolean vindicatorRidable = false; -@@ -1476,6 +1478,7 @@ public class PurpurWorldConfig { +@@ -1474,6 +1476,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderControllable = true; public double wanderingTraderMaxHealth = 20.0D; public boolean wanderingTraderFollowEmeraldBlock = false; @@ -76,7 +76,7 @@ index 9b87d63020eed6d9bafbde2c090155df974c52e7..8e66a2111523f7bf65b5b7df4035191a private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1487,6 +1490,7 @@ public class PurpurWorldConfig { +@@ -1485,6 +1488,7 @@ public class PurpurWorldConfig { } wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); diff --git a/patches/server/0052-Implement-infinite-liquids.patch b/patches/server/0052-Implement-infinite-liquids.patch index 9183ddd02..3a90357a5 100644 --- a/patches/server/0052-Implement-infinite-liquids.patch +++ b/patches/server/0052-Implement-infinite-liquids.patch @@ -67,10 +67,10 @@ index 82e85fbbd45244d02df90fa00c9046e7f51275a2..ec6c63075306f9e5389e83641d2c8a82 @Override protected void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state, BlockPos source) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8e66a2111523f7bf65b5b7df4035191a76371482..97e969de5559ed5c770512dc41218526cd5e8942 100644 +index ab42f93a621759a86c7e9eba14cb32b156d4f106..e72a61c0e3aeb9758245101621a5aa286f5f5658 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -227,6 +227,11 @@ public class PurpurWorldConfig { +@@ -225,6 +225,11 @@ public class PurpurWorldConfig { farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); } @@ -82,7 +82,7 @@ index 8e66a2111523f7bf65b5b7df4035191a76371482..97e969de5559ed5c770512dc41218526 public boolean turtleEggsBreakFromExpOrbs = true; public boolean turtleEggsBreakFromItems = true; public boolean turtleEggsBreakFromMinecarts = true; -@@ -236,6 +241,11 @@ public class PurpurWorldConfig { +@@ -234,6 +239,11 @@ public class PurpurWorldConfig { turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); } diff --git a/patches/server/0053-Make-lava-flow-speed-configurable.patch b/patches/server/0053-Make-lava-flow-speed-configurable.patch index 4b7a28d69..3d008c47e 100644 --- a/patches/server/0053-Make-lava-flow-speed-configurable.patch +++ b/patches/server/0053-Make-lava-flow-speed-configurable.patch @@ -18,10 +18,10 @@ index 3706ebc551413401b0e6a9a0b1c2e3257d1337c1..b77cdbd8a7395e8442081c6a2b14695d @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 97e969de5559ed5c770512dc41218526cd5e8942..98d193437e3122682b80b80d3ead65100fc11a63 100644 +index e72a61c0e3aeb9758245101621a5aa286f5f5658..bb5877d6feec92e87c13e33abfda48507201d08e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -228,8 +228,12 @@ public class PurpurWorldConfig { +@@ -226,8 +226,12 @@ public class PurpurWorldConfig { } public int lavaInfiniteRequiredSources = 2; diff --git a/patches/server/0054-Add-player-death-exp-control-options.patch b/patches/server/0054-Add-player-death-exp-control-options.patch index ade96e425..35fce6f93 100644 --- a/patches/server/0054-Add-player-death-exp-control-options.patch +++ b/patches/server/0054-Add-player-death-exp-control-options.patch @@ -32,10 +32,10 @@ index 7b39cb5346925c14f3f144d622ca7e5855420aa6..fa2a0cc24bbe31abd49ce0f3f41bab2a return 0; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 98d193437e3122682b80b80d3ead65100fc11a63..7f2889cc40c13af4a52ab92a53edb92087e0f274 100644 +index bb5877d6feec92e87c13e33abfda48507201d08e..183a4e0192679d04555215c234dfefbc39dfe02e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -175,6 +175,8 @@ public class PurpurWorldConfig { +@@ -173,6 +173,8 @@ public class PurpurWorldConfig { public boolean idleTimeoutTargetPlayer = true; public int playerSpawnInvulnerableTicks = 60; public boolean playerInvulnerableWhileAcceptingResourcePack = false; @@ -44,7 +44,7 @@ index 98d193437e3122682b80b80d3ead65100fc11a63..7f2889cc40c13af4a52ab92a53edb920 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -188,6 +190,8 @@ public class PurpurWorldConfig { +@@ -186,6 +188,8 @@ public class PurpurWorldConfig { idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer); playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks); playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); diff --git a/patches/server/0055-Configurable-void-damage-height-and-damage.patch b/patches/server/0055-Configurable-void-damage-height-and-damage.patch index fae48514d..be8c2d6a5 100644 --- a/patches/server/0055-Configurable-void-damage-height-and-damage.patch +++ b/patches/server/0055-Configurable-void-damage-height-and-damage.patch @@ -31,10 +31,10 @@ index b3699225e2dc77c6d201e361c8d447395c3f3e62..b8e6d0bd2ba18d7e0bf7cd78db8f98d4 protected void updateSwingTime() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7f2889cc40c13af4a52ab92a53edb92087e0f274..bd29ce4d46cedb525b280b1e41cb9ffc2f8f4ccf 100644 +index 183a4e0192679d04555215c234dfefbc39dfe02e..a559ab65bc3f2d78d79e22b0e70afb6affd1d6a3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -100,10 +100,14 @@ public class PurpurWorldConfig { +@@ -98,10 +98,14 @@ public class PurpurWorldConfig { public boolean disableDropsOnCrammingDeath = false; public boolean milkCuresBadOmen = true; public double tridentLoyaltyVoidReturnHeight = 0.0D; diff --git a/patches/server/0057-Dispenser-curse-of-binding-protection.patch b/patches/server/0057-Dispenser-curse-of-binding-protection.patch index a0b61c807..725ee2074 100644 --- a/patches/server/0057-Dispenser-curse-of-binding-protection.patch +++ b/patches/server/0057-Dispenser-curse-of-binding-protection.patch @@ -43,10 +43,10 @@ index d7a0cbde8f8c99276307502674c71463fbe7e89c..3500c56cb85d8c76b2acd77976d374ea // CraftBukkit start Level world = pointer.getLevel(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bd29ce4d46cedb525b280b1e41cb9ffc2f8f4ccf..abc0152ce16c6a085013908cca2b13250fe29316 100644 +index a559ab65bc3f2d78d79e22b0e70afb6affd1d6a3..a42f39fc79c6ab632ae9df59e76a719665fa4d88 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -230,6 +230,11 @@ public class PurpurWorldConfig { +@@ -228,6 +228,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0058-Add-option-for-boats-to-eject-players-on-land.patch b/patches/server/0058-Add-option-for-boats-to-eject-players-on-land.patch index 709e19db9..f2b897a74 100644 --- a/patches/server/0058-Add-option-for-boats-to-eject-players-on-land.patch +++ b/patches/server/0058-Add-option-for-boats-to-eject-players-on-land.patch @@ -17,10 +17,10 @@ index 35aeba4e8430e6419caa9db4a0b931a994228618..cb8443c9bc902741dfe6746baca91292 } else { return Boat.Status.IN_AIR; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index abc0152ce16c6a085013908cca2b13250fe29316..2cef9e22347024dba59f7ca580d2234fb570879f 100644 +index a42f39fc79c6ab632ae9df59e76a719665fa4d88..d935bc8e47b31ff8ec66cd3c6a5b19450b4684d5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -97,12 +97,14 @@ public class PurpurWorldConfig { +@@ -95,12 +95,14 @@ public class PurpurWorldConfig { armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); } diff --git a/patches/server/0059-Mending-mends-most-damages-equipment-first.patch b/patches/server/0059-Mending-mends-most-damages-equipment-first.patch index 6bc5dd145..8c2079e4b 100644 --- a/patches/server/0059-Mending-mends-most-damages-equipment-first.patch +++ b/patches/server/0059-Mending-mends-most-damages-equipment-first.patch @@ -73,10 +73,10 @@ index ecf640b00007a386290f8dfe9935a8aa610079fd..2048899f8e4c8211e8dde0d11148d647 public static Map.Entry getRandomItemWith(Enchantment enchantment, LivingEntity entity) { return getRandomItemWith(enchantment, entity, (stack) -> { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2cef9e22347024dba59f7ca580d2234fb570879f..4de9adf44e9f509f5056fbd96a4cbd69816442e3 100644 +index d935bc8e47b31ff8ec66cd3c6a5b19450b4684d5..9e4428db0ffa0f1b0e0ae11af903d3449c782ee4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -97,6 +97,7 @@ public class PurpurWorldConfig { +@@ -95,6 +95,7 @@ public class PurpurWorldConfig { armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); } @@ -84,7 +84,7 @@ index 2cef9e22347024dba59f7ca580d2234fb570879f..4de9adf44e9f509f5056fbd96a4cbd69 public boolean boatEjectPlayersOnLand = false; public boolean disableDropsOnCrammingDeath = false; public boolean milkCuresBadOmen = true; -@@ -104,6 +105,7 @@ public class PurpurWorldConfig { +@@ -102,6 +103,7 @@ public class PurpurWorldConfig { public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; private void miscGameplayMechanicsSettings() { diff --git a/patches/server/0061-Implement-elytra-settings.patch b/patches/server/0061-Implement-elytra-settings.patch index ab9e2db4a..40ef49338 100644 --- a/patches/server/0061-Implement-elytra-settings.patch +++ b/patches/server/0061-Implement-elytra-settings.patch @@ -99,10 +99,10 @@ index 8078f127ff4b6e0aafb5804b9c02e237f79445b5..06c2f30b77a2c8aecc65e0c305f643d5 entityhuman.startAutoSpinAttack(20); if (entityhuman.onGround()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4de9adf44e9f509f5056fbd96a4cbd69816442e3..d564777adf856267d161e0536ba9791f59eeb4ae 100644 +index 9e4428db0ffa0f1b0e0ae11af903d3449c782ee4..abecd27fab86cb5c16b3d42d5f499caa1976bd45 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -114,6 +114,19 @@ public class PurpurWorldConfig { +@@ -112,6 +112,19 @@ public class PurpurWorldConfig { voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); } diff --git a/patches/server/0062-Item-entity-immunities.patch b/patches/server/0062-Item-entity-immunities.patch index d0c067540..beec33aef 100644 --- a/patches/server/0062-Item-entity-immunities.patch +++ b/patches/server/0062-Item-entity-immunities.patch @@ -115,10 +115,10 @@ index a925b5c490e7129b27370aa57b5fad1cf05530c6..09001578b88658c44d0661d340a0ee0f + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d564777adf856267d161e0536ba9791f59eeb4ae..6ee0cca5763a9edecc9c5f8463c7eae2a199d23a 100644 +index abecd27fab86cb5c16b3d42d5f499caa1976bd45..9639202024f79c8ed57207445380ef017cfeaea6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -127,6 +127,49 @@ public class PurpurWorldConfig { +@@ -125,6 +125,49 @@ public class PurpurWorldConfig { elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost); } diff --git a/patches/server/0066-Configurable-jockey-options.patch b/patches/server/0066-Configurable-jockey-options.patch index dc462b375..3fbf17f0d 100644 --- a/patches/server/0066-Configurable-jockey-options.patch +++ b/patches/server/0066-Configurable-jockey-options.patch @@ -167,10 +167,10 @@ index 8f22bfcde4bb8ad73794f2b98b156113e5a2a6c9..3d61b27c23d90e87fdfc8c170eafc116 public void setPersistentAngerTarget(@Nullable UUID angryAt) { this.persistentAngerTarget = angryAt; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6ee0cca5763a9edecc9c5f8463c7eae2a199d23a..d0821b84e9a25ea2e238be5f6624b2cabce0914a 100644 +index 9639202024f79c8ed57207445380ef017cfeaea6..c74027c71eecf76512d5737b496d98a6cffb5eab 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -594,6 +594,9 @@ public class PurpurWorldConfig { +@@ -592,6 +592,9 @@ public class PurpurWorldConfig { public boolean drownedControllable = true; public double drownedMaxHealth = 20.0D; public double drownedSpawnReinforcements = 0.1D; @@ -180,7 +180,7 @@ index 6ee0cca5763a9edecc9c5f8463c7eae2a199d23a..d0821b84e9a25ea2e238be5f6624b2ca private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -605,6 +608,9 @@ public class PurpurWorldConfig { +@@ -603,6 +606,9 @@ public class PurpurWorldConfig { } drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth); drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements); @@ -190,7 +190,7 @@ index 6ee0cca5763a9edecc9c5f8463c7eae2a199d23a..d0821b84e9a25ea2e238be5f6624b2ca } public boolean elderGuardianRidable = false; -@@ -853,6 +859,9 @@ public class PurpurWorldConfig { +@@ -851,6 +857,9 @@ public class PurpurWorldConfig { public boolean huskControllable = true; public double huskMaxHealth = 20.0D; public double huskSpawnReinforcements = 0.1D; @@ -200,7 +200,7 @@ index 6ee0cca5763a9edecc9c5f8463c7eae2a199d23a..d0821b84e9a25ea2e238be5f6624b2ca private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -864,6 +873,9 @@ public class PurpurWorldConfig { +@@ -862,6 +871,9 @@ public class PurpurWorldConfig { } huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth); huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements); @@ -210,7 +210,7 @@ index 6ee0cca5763a9edecc9c5f8463c7eae2a199d23a..d0821b84e9a25ea2e238be5f6624b2ca } public boolean illusionerRidable = false; -@@ -1680,6 +1692,9 @@ public class PurpurWorldConfig { +@@ -1678,6 +1690,9 @@ public class PurpurWorldConfig { public boolean zombieControllable = true; public double zombieMaxHealth = 20.0D; public double zombieSpawnReinforcements = 0.1D; @@ -220,7 +220,7 @@ index 6ee0cca5763a9edecc9c5f8463c7eae2a199d23a..d0821b84e9a25ea2e238be5f6624b2ca private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1691,6 +1706,9 @@ public class PurpurWorldConfig { +@@ -1689,6 +1704,9 @@ public class PurpurWorldConfig { } zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth); zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements); @@ -230,7 +230,7 @@ index 6ee0cca5763a9edecc9c5f8463c7eae2a199d23a..d0821b84e9a25ea2e238be5f6624b2ca } public boolean zombieHorseRidableInWater = false; -@@ -1725,6 +1743,9 @@ public class PurpurWorldConfig { +@@ -1723,6 +1741,9 @@ public class PurpurWorldConfig { public boolean zombieVillagerControllable = true; public double zombieVillagerMaxHealth = 20.0D; public double zombieVillagerSpawnReinforcements = 0.1D; @@ -240,7 +240,7 @@ index 6ee0cca5763a9edecc9c5f8463c7eae2a199d23a..d0821b84e9a25ea2e238be5f6624b2ca private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -1736,6 +1757,9 @@ public class PurpurWorldConfig { +@@ -1734,6 +1755,9 @@ public class PurpurWorldConfig { } zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth); zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements); @@ -250,7 +250,7 @@ index 6ee0cca5763a9edecc9c5f8463c7eae2a199d23a..d0821b84e9a25ea2e238be5f6624b2ca } public boolean zombifiedPiglinRidable = false; -@@ -1743,6 +1767,9 @@ public class PurpurWorldConfig { +@@ -1741,6 +1765,9 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinControllable = true; public double zombifiedPiglinMaxHealth = 20.0D; public double zombifiedPiglinSpawnReinforcements = 0.0D; @@ -260,7 +260,7 @@ index 6ee0cca5763a9edecc9c5f8463c7eae2a199d23a..d0821b84e9a25ea2e238be5f6624b2ca private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -1754,5 +1781,8 @@ public class PurpurWorldConfig { +@@ -1752,5 +1779,8 @@ public class PurpurWorldConfig { } zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth); zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements); diff --git a/patches/server/0067-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch b/patches/server/0067-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch index 30449766f..ddfa22677 100644 --- a/patches/server/0067-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch +++ b/patches/server/0067-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch @@ -257,10 +257,10 @@ index 961300cb8bcc7b0aff476a435aa33e713bd520a6..86df67578334a4743909c748213c2e1e private float speed = 0.1F; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d0821b84e9a25ea2e238be5f6624b2cabce0914a..fe5948d50fd7a4ccdf1b9b07e854f2f24a2a8506 100644 +index c74027c71eecf76512d5737b496d98a6cffb5eab..49af5d8feae2b267a12273a91ee637c7a6e7021e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1071,6 +1071,9 @@ public class PurpurWorldConfig { +@@ -1069,6 +1069,9 @@ public class PurpurWorldConfig { public String phantomAttackDamage = "6 + size"; public Map phantomMaxHealthCache = new HashMap<>(); public Map phantomAttackDamageCache = new HashMap<>(); @@ -270,7 +270,7 @@ index d0821b84e9a25ea2e238be5f6624b2cabce0914a..fe5948d50fd7a4ccdf1b9b07e854f2f2 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1092,6 +1095,9 @@ public class PurpurWorldConfig { +@@ -1090,6 +1093,9 @@ public class PurpurWorldConfig { phantomAttackDamage = getString("mobs.phantom.attributes.attack_damage", phantomAttackDamage); phantomMaxHealthCache.clear(); phantomAttackDamageCache.clear(); diff --git a/patches/server/0068-Add-phantom-spawning-options.patch b/patches/server/0068-Add-phantom-spawning-options.patch index 9341db2c9..c246c6ac0 100644 --- a/patches/server/0068-Add-phantom-spawning-options.patch +++ b/patches/server/0068-Add-phantom-spawning-options.patch @@ -40,10 +40,10 @@ index dfeb3e336e06ef01f5401a362755030db942bb07..f74c5eda91a3d521763ec7bc33f23e0c for (int l = 0; l < k; ++l) { // Paper start diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index fe5948d50fd7a4ccdf1b9b07e854f2f24a2a8506..68401d01aae5a3d1e438f7c1b6de615412c4b8d9 100644 +index 49af5d8feae2b267a12273a91ee637c7a6e7021e..fb1e819bf55623408a134bf334099c425609765d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1074,6 +1074,12 @@ public class PurpurWorldConfig { +@@ -1072,6 +1072,12 @@ public class PurpurWorldConfig { public double phantomAttackedByCrystalRadius = 0.0D; public float phantomAttackedByCrystalDamage = 1.0F; public double phantomOrbitCrystalRadius = 0.0D; @@ -56,7 +56,7 @@ index fe5948d50fd7a4ccdf1b9b07e854f2f24a2a8506..68401d01aae5a3d1e438f7c1b6de6154 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1098,6 +1104,12 @@ public class PurpurWorldConfig { +@@ -1096,6 +1102,12 @@ public class PurpurWorldConfig { phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius); phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage); phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius); diff --git a/patches/server/0069-Implement-bed-explosion-options.patch b/patches/server/0069-Implement-bed-explosion-options.patch index 4223dcb82..d73c9a85f 100644 --- a/patches/server/0069-Implement-bed-explosion-options.patch +++ b/patches/server/0069-Implement-bed-explosion-options.patch @@ -27,10 +27,10 @@ index d40500f9a807cab0b2fb6fa9032f33f4fb74c895..e8405a57fb88e63b63baaf00645c4176 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 68401d01aae5a3d1e438f7c1b6de615412c4b8d9..8f1c591105da31adb96891a82e9835d00d42ada8 100644 +index fb1e819bf55623408a134bf334099c425609765d..ab4f4de26a6752b54f35b1aeec657c1d2be3ecdb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -290,6 +290,27 @@ public class PurpurWorldConfig { +@@ -288,6 +288,27 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0070-Implement-respawn-anchor-explosion-options.patch b/patches/server/0070-Implement-respawn-anchor-explosion-options.patch index ee0f72643..5f2c71233 100644 --- a/patches/server/0070-Implement-respawn-anchor-explosion-options.patch +++ b/patches/server/0070-Implement-respawn-anchor-explosion-options.patch @@ -18,10 +18,10 @@ index 2ed78cf83c0ae66a6ddba1ff307da89a24b0d0a8..ae17d6a54fad0bd2d71d306f418b5ced public static boolean canSetSpawn(Level world) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8f1c591105da31adb96891a82e9835d00d42ada8..e76f705fe0d90734b22bf07222c245f8d3f2e9e9 100644 +index ab4f4de26a6752b54f35b1aeec657c1d2be3ecdb..dc7666906fb04bf8f1df54ac81e04d8ad76a893b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -330,6 +330,27 @@ public class PurpurWorldConfig { +@@ -328,6 +328,27 @@ public class PurpurWorldConfig { lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); } diff --git a/patches/server/0073-Entity-lifespan.patch b/patches/server/0073-Entity-lifespan.patch index 4c4aca810..07e7ed015 100644 --- a/patches/server/0073-Entity-lifespan.patch +++ b/patches/server/0073-Entity-lifespan.patch @@ -94,10 +94,10 @@ index ef8d0f594c727f355a8209f36da924ae45017ce5..64a682ea339809adfb8304a7f14d4a59 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e76f705fe0d90734b22bf07222c245f8d3f2e9e9..8f60f57c2473614f96950af652d1a738b648f3b1 100644 +index dc7666906fb04bf8f1df54ac81e04d8ad76a893b..d315a4aac382462b1bd0d44b6b5a88552f663d36 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -127,6 +127,11 @@ public class PurpurWorldConfig { +@@ -125,6 +125,11 @@ public class PurpurWorldConfig { elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost); } diff --git a/patches/server/0074-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0074-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index f03d863ef..802cdd12e 100644 --- a/patches/server/0074-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0074-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch @@ -48,10 +48,10 @@ index 35e3cac34a6a508fbf3971cff9ac07db48ddeaae..8c0ef795691aa17e9522b2deda794bcd } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8f60f57c2473614f96950af652d1a738b648f3b1..7aff81806612443128628326176faf2c302b2a36 100644 +index d315a4aac382462b1bd0d44b6b5a88552f663d36..8fdbaa0cd95186b3b48aac1eb953e268554726e4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -246,6 +246,7 @@ public class PurpurWorldConfig { +@@ -244,6 +244,7 @@ public class PurpurWorldConfig { public boolean playerInvulnerableWhileAcceptingResourcePack = false; public String playerDeathExpDropEquation = "expLevel * 7"; public int playerDeathExpDropMax = 100; @@ -59,7 +59,7 @@ index 8f60f57c2473614f96950af652d1a738b648f3b1..7aff81806612443128628326176faf2c private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -261,6 +262,7 @@ public class PurpurWorldConfig { +@@ -259,6 +260,7 @@ public class PurpurWorldConfig { playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation); playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax); diff --git a/patches/server/0075-Squid-EAR-immunity.patch b/patches/server/0075-Squid-EAR-immunity.patch index e66cada26..c9837884e 100644 --- a/patches/server/0075-Squid-EAR-immunity.patch +++ b/patches/server/0075-Squid-EAR-immunity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Squid EAR immunity diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7aff81806612443128628326176faf2c302b2a36..3ad0e1d7a2f48c1b2b127f57a2102a93e532a615 100644 +index 8fdbaa0cd95186b3b48aac1eb953e268554726e4..adfb558d98990739b24e10c7bf941287d30737a0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1459,6 +1459,7 @@ public class PurpurWorldConfig { +@@ -1457,6 +1457,7 @@ public class PurpurWorldConfig { public boolean squidRidable = false; public boolean squidControllable = true; public double squidMaxHealth = 10.0D; @@ -16,7 +16,7 @@ index 7aff81806612443128628326176faf2c302b2a36..3ad0e1d7a2f48c1b2b127f57a2102a93 private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -1468,6 +1469,7 @@ public class PurpurWorldConfig { +@@ -1466,6 +1467,7 @@ public class PurpurWorldConfig { set("mobs.squid.attributes.max_health", oldValue); } squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); diff --git a/patches/server/0076-Phantoms-burn-in-light.patch b/patches/server/0076-Phantoms-burn-in-light.patch index 2a7765a4c..921e6ca84 100644 --- a/patches/server/0076-Phantoms-burn-in-light.patch +++ b/patches/server/0076-Phantoms-burn-in-light.patch @@ -52,10 +52,10 @@ index 86df67578334a4743909c748213c2e1ed5d19bd9..899a7d3989b51456600787ae09b1736f list.sort(Comparator.comparing((Entity e) -> { return e.getY(); }).reversed()); // CraftBukkit - decompile error Iterator iterator = list.iterator(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3ad0e1d7a2f48c1b2b127f57a2102a93e532a615..3d3dfe8a0cd3d02e1d2ce8f7d5cf529a4cb3e6c4 100644 +index adfb558d98990739b24e10c7bf941287d30737a0..d6221af9b94530882a93c178d555dfc363f241ce 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1129,6 +1129,9 @@ public class PurpurWorldConfig { +@@ -1127,6 +1127,9 @@ public class PurpurWorldConfig { public double phantomSpawnLocalDifficultyChance = 3.0D; public int phantomSpawnMinPerAttempt = 1; public int phantomSpawnMaxPerAttempt = -1; @@ -65,7 +65,7 @@ index 3ad0e1d7a2f48c1b2b127f57a2102a93e532a615..3d3dfe8a0cd3d02e1d2ce8f7d5cf529a private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1159,6 +1162,9 @@ public class PurpurWorldConfig { +@@ -1157,6 +1160,9 @@ public class PurpurWorldConfig { phantomSpawnLocalDifficultyChance = getDouble("mobs.phantom.spawn.local-difficulty-chance", phantomSpawnLocalDifficultyChance); phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt); phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt); diff --git a/patches/server/0077-Configurable-villager-breeding.patch b/patches/server/0077-Configurable-villager-breeding.patch index 77fd979d3..ed9d97fee 100644 --- a/patches/server/0077-Configurable-villager-breeding.patch +++ b/patches/server/0077-Configurable-villager-breeding.patch @@ -18,10 +18,10 @@ index 50925ab7d719ae3323d7456df03a3d2ab3481bfd..7d13a5308161d4093023b732bed7d061 private boolean hungry() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3d3dfe8a0cd3d02e1d2ce8f7d5cf529a4cb3e6c4..4cc21f12f4ad10e3c0d8fd49575330154d4f258b 100644 +index d6221af9b94530882a93c178d555dfc363f241ce..b9873e66e91d596e17002a290027b0a9972a54fd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1617,6 +1617,7 @@ public class PurpurWorldConfig { +@@ -1615,6 +1615,7 @@ public class PurpurWorldConfig { public double villagerMaxHealth = 20.0D; public boolean villagerFollowEmeraldBlock = false; public boolean villagerCanBeLeashed = false; @@ -29,7 +29,7 @@ index 3d3dfe8a0cd3d02e1d2ce8f7d5cf529a4cb3e6c4..4cc21f12f4ad10e3c0d8fd4957533015 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1629,6 +1630,7 @@ public class PurpurWorldConfig { +@@ -1627,6 +1628,7 @@ public class PurpurWorldConfig { villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); diff --git a/patches/server/0078-Redstone-deactivates-spawners.patch b/patches/server/0078-Redstone-deactivates-spawners.patch index 9b1e114e9..6c7656482 100644 --- a/patches/server/0078-Redstone-deactivates-spawners.patch +++ b/patches/server/0078-Redstone-deactivates-spawners.patch @@ -17,10 +17,10 @@ index 633500aefd515df5dadda3802b94079f75a03fa0..64d911bee1607880514061c75116d867 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4cc21f12f4ad10e3c0d8fd49575330154d4f258b..73e134b765713878d55f3bb9cbb36efc6c7942af 100644 +index b9873e66e91d596e17002a290027b0a9972a54fd..10994174be125f8ce819d4d6e851178a72779ba1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -358,6 +358,11 @@ public class PurpurWorldConfig { +@@ -356,6 +356,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0079-Totems-work-in-inventory.patch b/patches/server/0079-Totems-work-in-inventory.patch index 6373ba620..165234c56 100644 --- a/patches/server/0079-Totems-work-in-inventory.patch +++ b/patches/server/0079-Totems-work-in-inventory.patch @@ -28,10 +28,10 @@ index 8c0ef795691aa17e9522b2deda794bcdf38c64b6..6edb9c371d77fa52b08f0eaf738d0cb4 EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot); event.setCancelled(itemstack == null); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 73e134b765713878d55f3bb9cbb36efc6c7942af..f68818ea005b5370fd63d65a1fb7396d8d4e68a0 100644 +index 10994174be125f8ce819d4d6e851178a72779ba1..9335574d7396da50fe027cb455847cfef6528436 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -247,6 +247,7 @@ public class PurpurWorldConfig { +@@ -245,6 +245,7 @@ public class PurpurWorldConfig { public String playerDeathExpDropEquation = "expLevel * 7"; public int playerDeathExpDropMax = 100; public boolean teleportIfOutsideBorder = false; @@ -39,7 +39,7 @@ index 73e134b765713878d55f3bb9cbb36efc6c7942af..f68818ea005b5370fd63d65a1fb7396d private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -263,6 +264,7 @@ public class PurpurWorldConfig { +@@ -261,6 +262,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/0080-Add-vindicator-johnny-spawn-chance.patch b/patches/server/0080-Add-vindicator-johnny-spawn-chance.patch index 295d8cbfb..ef007c57a 100644 --- a/patches/server/0080-Add-vindicator-johnny-spawn-chance.patch +++ b/patches/server/0080-Add-vindicator-johnny-spawn-chance.patch @@ -22,10 +22,10 @@ index 40858ac2a9b58108472748d0ef2c2fd5ef5cfd98..2a5b6b94b15bf066b5722e7a4f782bc8 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f68818ea005b5370fd63d65a1fb7396d8d4e68a0..3401fc1caac684270792154bf645fbc11264cf63 100644 +index 9335574d7396da50fe027cb455847cfef6528436..1b7d8a8fc241e096fc4fd5b65d8444779d1deae5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1644,6 +1644,7 @@ public class PurpurWorldConfig { +@@ -1642,6 +1642,7 @@ public class PurpurWorldConfig { public boolean vindicatorRidableInWater = true; public boolean vindicatorControllable = true; public double vindicatorMaxHealth = 24.0D; @@ -33,7 +33,7 @@ index f68818ea005b5370fd63d65a1fb7396d8d4e68a0..3401fc1caac684270792154bf645fbc1 private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -1654,6 +1655,7 @@ public class PurpurWorldConfig { +@@ -1652,6 +1653,7 @@ public class PurpurWorldConfig { set("mobs.vindicator.attributes.max_health", oldValue); } vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); diff --git a/patches/server/0082-Dispensers-place-anvils-option.patch b/patches/server/0082-Dispensers-place-anvils-option.patch index 88fcfc492..20435a501 100644 --- a/patches/server/0082-Dispensers-place-anvils-option.patch +++ b/patches/server/0082-Dispensers-place-anvils-option.patch @@ -33,10 +33,10 @@ index 70aade6a8d36f8376cc567800258ea6fabb0607f..d44fde7e44cc862253fe577eb0753524 static void setEntityPokingOutOfBlock(BlockSource pointer, Entity entity, Direction direction) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3401fc1caac684270792154bf645fbc11264cf63..ecc3b8bbed7933097fbbb74253ce2e2646e74593 100644 +index 1b7d8a8fc241e096fc4fd5b65d8444779d1deae5..0e473df153cfd9090b74b5fa2b5568220d61ae98 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -321,8 +321,10 @@ public class PurpurWorldConfig { +@@ -319,8 +319,10 @@ public class PurpurWorldConfig { } public boolean dispenserApplyCursedArmor = true; diff --git a/patches/server/0083-Allow-anvil-colors.patch b/patches/server/0083-Allow-anvil-colors.patch index ce3d07662..b0fdf81c2 100644 --- a/patches/server/0083-Allow-anvil-colors.patch +++ b/patches/server/0083-Allow-anvil-colors.patch @@ -64,10 +64,10 @@ index b500a04b8135604f0159a741b3d228c9e87b2a46..8a7c30e316db4960b0b62ca0e366c19f } } else if (itemstack.hasCustomHoverName()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ecc3b8bbed7933097fbbb74253ce2e2646e74593..714514386a2d7d955e4aa58cdb16af4c05e19412 100644 +index 0e473df153cfd9090b74b5fa2b5568220d61ae98..9344d7492585023f5de6db4e4c0cde41dc6c74cd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -299,6 +299,13 @@ public class PurpurWorldConfig { +@@ -297,6 +297,13 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0084-Add-option-to-disable-dolphin-treasure-searching.patch b/patches/server/0084-Add-option-to-disable-dolphin-treasure-searching.patch index 8425bb9a4..ae26ab08e 100644 --- a/patches/server/0084-Add-option-to-disable-dolphin-treasure-searching.patch +++ b/patches/server/0084-Add-option-to-disable-dolphin-treasure-searching.patch @@ -17,10 +17,10 @@ index 89e3dbfddc739f97fdb6ec9a5714530f03cc7092..079fd78528377ee4236fb2e7189a5f0f } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 714514386a2d7d955e4aa58cdb16af4c05e19412..a3ea4eb81b6a2d8a897bc885706e0bbf110601e2 100644 +index 9344d7492585023f5de6db4e4c0cde41dc6c74cd..d230e75bebc1817c171cdd93a1634512d652ceea 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -616,6 +616,7 @@ public class PurpurWorldConfig { +@@ -614,6 +614,7 @@ public class PurpurWorldConfig { public float dolphinSpitSpeed = 1.0F; public float dolphinSpitDamage = 2.0F; public double dolphinMaxHealth = 10.0D; @@ -28,7 +28,7 @@ index 714514386a2d7d955e4aa58cdb16af4c05e19412..a3ea4eb81b6a2d8a897bc885706e0bbf private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -628,6 +629,7 @@ public class PurpurWorldConfig { +@@ -626,6 +627,7 @@ public class PurpurWorldConfig { set("mobs.dolphin.attributes.max_health", oldValue); } dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth); diff --git a/patches/server/0086-Stop-squids-floating-on-top-of-water.patch b/patches/server/0086-Stop-squids-floating-on-top-of-water.patch index 8336c95f2..284e2bfbe 100644 --- a/patches/server/0086-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0086-Stop-squids-floating-on-top-of-water.patch @@ -54,10 +54,10 @@ index ffc76354ead6937daf366c3d87bcb51d3e4c47f5..5b98d42b5d6bc07265fbb017e51a6281 + // Purpur } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a3ea4eb81b6a2d8a897bc885706e0bbf110601e2..83a6d5017da1e890bbce6fba2b14c61d4e66a93e 100644 +index d230e75bebc1817c171cdd93a1634512d652ceea..88225ba1bad1a20cbb7bcd56b0cd7424661712c3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1484,6 +1484,7 @@ public class PurpurWorldConfig { +@@ -1482,6 +1482,7 @@ public class PurpurWorldConfig { public boolean squidControllable = true; public double squidMaxHealth = 10.0D; public boolean squidImmuneToEAR = true; @@ -65,7 +65,7 @@ index a3ea4eb81b6a2d8a897bc885706e0bbf110601e2..83a6d5017da1e890bbce6fba2b14c61d private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -1494,6 +1495,7 @@ public class PurpurWorldConfig { +@@ -1492,6 +1493,7 @@ public class PurpurWorldConfig { } squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); diff --git a/patches/server/0088-Entities-can-use-portals-configuration.patch b/patches/server/0088-Entities-can-use-portals-configuration.patch index de9d41fda..e086b34a8 100644 --- a/patches/server/0088-Entities-can-use-portals-configuration.patch +++ b/patches/server/0088-Entities-can-use-portals-configuration.patch @@ -27,10 +27,10 @@ index 5420075f774e2327d17ecbf6fd1afba0b96ff1f4..9be349874c40722f05ad5b81e62dcd00 public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 83a6d5017da1e890bbce6fba2b14c61d4e66a93e..1e878c0d64f5a2c604f910b21ae91403ae084c54 100644 +index 88225ba1bad1a20cbb7bcd56b0cd7424661712c3..300c3d8a8fc34e95e9ad620aa603e66aa6847ae2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -100,6 +100,7 @@ public class PurpurWorldConfig { +@@ -98,6 +98,7 @@ public class PurpurWorldConfig { public boolean useBetterMending = false; public boolean boatEjectPlayersOnLand = false; public boolean disableDropsOnCrammingDeath = false; @@ -38,7 +38,7 @@ index 83a6d5017da1e890bbce6fba2b14c61d4e66a93e..1e878c0d64f5a2c604f910b21ae91403 public boolean milkCuresBadOmen = true; public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; -@@ -108,6 +109,7 @@ public class PurpurWorldConfig { +@@ -106,6 +107,7 @@ public class PurpurWorldConfig { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath); diff --git a/patches/server/0090-Customizable-wither-health-and-healing.patch b/patches/server/0090-Customizable-wither-health-and-healing.patch index afc0aa011..ccf375a03 100644 --- a/patches/server/0090-Customizable-wither-health-and-healing.patch +++ b/patches/server/0090-Customizable-wither-health-and-healing.patch @@ -23,10 +23,10 @@ index 6f7ef64612d6229179545d56093efdf58a2d7978..b395d5c85f26ca4252d3f8f886b2ee5a this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth()); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1e878c0d64f5a2c604f910b21ae91403ae084c54..3db0b517baaa4394810c04bfafd92a80a1337c95 100644 +index 300c3d8a8fc34e95e9ad620aa603e66aa6847ae2..32b2444c0e96d4ba53693764a4caf0b596ed947f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1723,6 +1723,8 @@ public class PurpurWorldConfig { +@@ -1721,6 +1721,8 @@ public class PurpurWorldConfig { public boolean witherControllable = true; public double witherMaxY = 320D; public double witherMaxHealth = 300.0D; @@ -35,7 +35,7 @@ index 1e878c0d64f5a2c604f910b21ae91403ae084c54..3db0b517baaa4394810c04bfafd92a80 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1738,6 +1740,8 @@ public class PurpurWorldConfig { +@@ -1736,6 +1738,8 @@ public class PurpurWorldConfig { set("mobs.wither.attributes.max_health", oldValue); } witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); diff --git a/patches/server/0091-Allow-toggling-special-MobSpawners-per-world.patch b/patches/server/0091-Allow-toggling-special-MobSpawners-per-world.patch index 6ac624ef6..1252665ad 100644 --- a/patches/server/0091-Allow-toggling-special-MobSpawners-per-world.patch +++ b/patches/server/0091-Allow-toggling-special-MobSpawners-per-world.patch @@ -59,10 +59,10 @@ index 8385eb1d60f377da94e3178ab506feefb43563fd..a5443f92786427c42092aec8350e7ab3 if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) { blockposition1 = blockposition2; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3db0b517baaa4394810c04bfafd92a80a1337c95..ee557eb5ef78c90b83cfc6f4d0727e034de41d6a 100644 +index 32b2444c0e96d4ba53693764a4caf0b596ed947f..e0447c62f0c5df368a3ea41d63f64e23ccb06271 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -71,6 +71,12 @@ public class PurpurWorldConfig { +@@ -69,6 +69,12 @@ public class PurpurWorldConfig { return PurpurConfig.config.getBoolean("world-settings." + worldName + "." + path, PurpurConfig.config.getBoolean("world-settings.default." + path)); } @@ -75,7 +75,7 @@ index 3db0b517baaa4394810c04bfafd92a80a1337c95..ee557eb5ef78c90b83cfc6f4d0727e03 private double getDouble(String path, double def) { PurpurConfig.config.addDefault("world-settings.default." + path, def); return PurpurConfig.config.getDouble("world-settings." + worldName + "." + path, PurpurConfig.config.getDouble("world-settings.default." + path)); -@@ -239,6 +245,21 @@ public class PurpurWorldConfig { +@@ -237,6 +243,21 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0092-Raid-cooldown-setting.patch b/patches/server/0092-Raid-cooldown-setting.patch index 5f730cf19..bf934694c 100644 --- a/patches/server/0092-Raid-cooldown-setting.patch +++ b/patches/server/0092-Raid-cooldown-setting.patch @@ -49,10 +49,10 @@ index 41457c9f27b18fa2734a6cca297ec5186470e82f..94356e0541f8f4da68211fa533347cc9 if (!this.raidMap.containsKey(raid.getId())) { this.raidMap.put(raid.getId(), raid); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ee557eb5ef78c90b83cfc6f4d0727e034de41d6a..78a5879ff845fc7fb50dc2e962f9f465fc8168b4 100644 +index e0447c62f0c5df368a3ea41d63f64e23ccb06271..f2db6143daf0ec578b224360273b8dc5ffa3bb43 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -111,6 +111,7 @@ public class PurpurWorldConfig { +@@ -109,6 +109,7 @@ public class PurpurWorldConfig { public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; @@ -60,7 +60,7 @@ index ee557eb5ef78c90b83cfc6f4d0727e034de41d6a..78a5879ff845fc7fb50dc2e962f9f465 private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); -@@ -120,6 +121,7 @@ public class PurpurWorldConfig { +@@ -118,6 +119,7 @@ public class PurpurWorldConfig { tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); diff --git a/patches/server/0093-Despawn-rate-config-options-per-projectile-type.patch b/patches/server/0093-Despawn-rate-config-options-per-projectile-type.patch index 1c01bba5a..3928e481f 100644 --- a/patches/server/0093-Despawn-rate-config-options-per-projectile-type.patch +++ b/patches/server/0093-Despawn-rate-config-options-per-projectile-type.patch @@ -7,10 +7,10 @@ This patch's implementation has been removed in favor of Pufferfish's entity-tim The config remains for migration purposes. diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 78a5879ff845fc7fb50dc2e962f9f465fc8168b4..a449d5e23c20389556c37cb76fc53ef778e54ddd 100644 +index f2db6143daf0ec578b224360273b8dc5ffa3bb43..37bea4068461e0b2d3ded80529ca2a8c3e8473e2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -292,6 +292,39 @@ public class PurpurWorldConfig { +@@ -290,6 +290,39 @@ public class PurpurWorldConfig { totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory); } diff --git a/patches/server/0094-Add-option-to-disable-zombie-aggressiveness-towards-.patch b/patches/server/0094-Add-option-to-disable-zombie-aggressiveness-towards-.patch index b4557f3b5..ed6de1de1 100644 --- a/patches/server/0094-Add-option-to-disable-zombie-aggressiveness-towards-.patch +++ b/patches/server/0094-Add-option-to-disable-zombie-aggressiveness-towards-.patch @@ -70,10 +70,10 @@ index b2b04d7b7bbc400fb66cac385fa754d4fb47c7d9..bd75aa78a7dd437d6fce79a6cb182981 this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a449d5e23c20389556c37cb76fc53ef778e54ddd..4de6235de3f4d679dc599a13cdbdd5517456c907 100644 +index 37bea4068461e0b2d3ded80529ca2a8c3e8473e2..6e38987900f04d1aaf7030b3562c8571f12bbbde 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1856,6 +1856,7 @@ public class PurpurWorldConfig { +@@ -1854,6 +1854,7 @@ public class PurpurWorldConfig { public boolean zombieJockeyOnlyBaby = true; public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; @@ -81,7 +81,7 @@ index a449d5e23c20389556c37cb76fc53ef778e54ddd..4de6235de3f4d679dc599a13cdbdd551 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1870,6 +1871,7 @@ public class PurpurWorldConfig { +@@ -1868,6 +1869,7 @@ public class PurpurWorldConfig { zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby); zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); diff --git a/patches/server/0096-Flying-squids-Oh-my.patch b/patches/server/0096-Flying-squids-Oh-my.patch index 61954b56a..3bf9ac553 100644 --- a/patches/server/0096-Flying-squids-Oh-my.patch +++ b/patches/server/0096-Flying-squids-Oh-my.patch @@ -58,10 +58,10 @@ index f68c18b6645981126329b58379946308bbb8ccf8..80bdc93cba675d6c1286618f14fc33e0 float g = Mth.cos(f) * 0.2F; float h = -0.1F + this.squid.getRandom().nextFloat() * 0.2F; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4de6235de3f4d679dc599a13cdbdd5517456c907..20d95d0f59ffcb9196461e07f13b190b8162c752 100644 +index 6e38987900f04d1aaf7030b3562c8571f12bbbde..bc8ab431df81d52065b401cf9f5cf0d040c79905 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -908,10 +908,12 @@ public class PurpurWorldConfig { +@@ -906,10 +906,12 @@ public class PurpurWorldConfig { public boolean glowSquidRidable = false; public boolean glowSquidControllable = true; public double glowSquidMaxHealth = 10.0D; @@ -74,7 +74,7 @@ index 4de6235de3f4d679dc599a13cdbdd5517456c907..20d95d0f59ffcb9196461e07f13b190b } public boolean goatRidable = false; -@@ -1543,6 +1545,7 @@ public class PurpurWorldConfig { +@@ -1541,6 +1543,7 @@ public class PurpurWorldConfig { public double squidMaxHealth = 10.0D; public boolean squidImmuneToEAR = true; public double squidOffsetWaterCheck = 0.0D; @@ -82,7 +82,7 @@ index 4de6235de3f4d679dc599a13cdbdd5517456c907..20d95d0f59ffcb9196461e07f13b190b private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -1554,6 +1557,7 @@ public class PurpurWorldConfig { +@@ -1552,6 +1555,7 @@ public class PurpurWorldConfig { squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); diff --git a/patches/server/0097-Infinity-bow-settings.patch b/patches/server/0097-Infinity-bow-settings.patch index 39ba922fb..99f8da06f 100644 --- a/patches/server/0097-Infinity-bow-settings.patch +++ b/patches/server/0097-Infinity-bow-settings.patch @@ -27,10 +27,10 @@ index 08d597db1a5345a343777a01427655e6bf2c926b..33df0ca406dc8321b76b393f317bbd1c } else { user.startUsingItem(hand); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 20d95d0f59ffcb9196461e07f13b190b8162c752..07ce7fa039923922156f2250f2906d80807c634b 100644 +index bc8ab431df81d52065b401cf9f5cf0d040c79905..ae3beab9a442477973bc8f9ccd47f479d7ddc9ee 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -142,6 +142,17 @@ public class PurpurWorldConfig { +@@ -140,6 +140,17 @@ public class PurpurWorldConfig { entityLifeSpan = getInt("gameplay-mechanics.entity-lifespan", entityLifeSpan); } diff --git a/patches/server/0098-Configurable-daylight-cycle.patch b/patches/server/0098-Configurable-daylight-cycle.patch index 6da964b07..14a696ee9 100644 --- a/patches/server/0098-Configurable-daylight-cycle.patch +++ b/patches/server/0098-Configurable-daylight-cycle.patch @@ -88,10 +88,10 @@ index af57326c8d461d3c5d84f582d5bc6345c3c9367b..0e8452f6a8300992f397fb15db763304 public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) { Iterator iterator = this.customSpawners.iterator(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 07ce7fa039923922156f2250f2906d80807c634b..58374f3b95d7ecd6d3ca2ebdf71660dd9416af7a 100644 +index ae3beab9a442477973bc8f9ccd47f479d7ddc9ee..a721eb79dc528ada6a08265bb1f2895c31f0386e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -124,6 +124,13 @@ public class PurpurWorldConfig { +@@ -122,6 +122,13 @@ public class PurpurWorldConfig { raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds); } diff --git a/patches/server/0100-Furnace-uses-lava-from-underneath.patch b/patches/server/0100-Furnace-uses-lava-from-underneath.patch index 587f79e1e..b77c7b0d8 100644 --- a/patches/server/0100-Furnace-uses-lava-from-underneath.patch +++ b/patches/server/0100-Furnace-uses-lava-from-underneath.patch @@ -47,10 +47,10 @@ index 448fa4f4f200430d6ce3051763c7ceb697696146..ca2052804ad829a1528a9c5a0a792275 private static boolean canBurn(RegistryAccess registryManager, @Nullable Recipe recipe, NonNullList slots, int count) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 58374f3b95d7ecd6d3ca2ebdf71660dd9416af7a..c37f942397c901937a5252906961c03a45c1b3ed 100644 +index a721eb79dc528ada6a08265bb1f2895c31f0386e..5c478488da15171d70c1b4c01d7ca33698314032 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -415,6 +415,17 @@ public class PurpurWorldConfig { +@@ -413,6 +413,17 @@ public class PurpurWorldConfig { farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); } diff --git a/patches/server/0101-Arrows-should-not-reset-despawn-counter.patch b/patches/server/0101-Arrows-should-not-reset-despawn-counter.patch index 9e9a15ee1..f9a8ae009 100644 --- a/patches/server/0101-Arrows-should-not-reset-despawn-counter.patch +++ b/patches/server/0101-Arrows-should-not-reset-despawn-counter.patch @@ -20,10 +20,10 @@ index 7226be19248a1ffb8ff2c89b55882529d33a6c0c..4f98d7f755ad692dd9589134524a604e @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c37f942397c901937a5252906961c03a45c1b3ed..76cf97277a840735f4c981811e6c0205fe0f5a88 100644 +index 5c478488da15171d70c1b4c01d7ca33698314032..b996cafed3083c3d9604005a054f0b4511bbf383 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -103,6 +103,11 @@ public class PurpurWorldConfig { +@@ -101,6 +101,11 @@ public class PurpurWorldConfig { armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); } diff --git a/patches/server/0102-Ability-to-re-add-farmland-mechanics-from-Alpha.patch b/patches/server/0102-Ability-to-re-add-farmland-mechanics-from-Alpha.patch index 418c3e6f3..0386e338a 100644 --- a/patches/server/0102-Ability-to-re-add-farmland-mechanics-from-Alpha.patch +++ b/patches/server/0102-Ability-to-re-add-farmland-mechanics-from-Alpha.patch @@ -24,10 +24,10 @@ index 1776906e886edd511bfbe96b8a345438a3cd66f8..7efae60a9a9269703a1fa7cd280b5b96 return; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 76cf97277a840735f4c981811e6c0205fe0f5a88..3b4fa811a1fa83fd5824afb9c520b08970894c46 100644 +index b996cafed3083c3d9604005a054f0b4511bbf383..8a43f22c9bcd20d2c1efbc18bce827551af77309 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -416,8 +416,10 @@ public class PurpurWorldConfig { +@@ -414,8 +414,10 @@ public class PurpurWorldConfig { } public boolean farmlandGetsMoistFromBelow = false; diff --git a/patches/server/0103-Add-adjustable-breeding-cooldown-to-config.patch b/patches/server/0103-Add-adjustable-breeding-cooldown-to-config.patch index d62a54149..3e36ffd94 100644 --- a/patches/server/0103-Add-adjustable-breeding-cooldown-to-config.patch +++ b/patches/server/0103-Add-adjustable-breeding-cooldown-to-config.patch @@ -104,10 +104,10 @@ index a4c45ee8a5c6e55a6f9abde401cc06f13bd0b018..84ac5db63a51d1490fcf625d10ed0952 this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3b4fa811a1fa83fd5824afb9c520b08970894c46..afc71260b156fc9d43e75b2c45c90994268e17e7 100644 +index 8a43f22c9bcd20d2c1efbc18bce827551af77309..7bc980fee2727359a9a2ecc66f31f3569cf8491f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -117,6 +117,7 @@ public class PurpurWorldConfig { +@@ -115,6 +115,7 @@ public class PurpurWorldConfig { public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; public int raidCooldownSeconds = 0; @@ -115,7 +115,7 @@ index 3b4fa811a1fa83fd5824afb9c520b08970894c46..afc71260b156fc9d43e75b2c45c90994 private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); -@@ -127,6 +128,7 @@ public class PurpurWorldConfig { +@@ -125,6 +126,7 @@ public class PurpurWorldConfig { voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds); diff --git a/patches/server/0104-Make-entity-breeding-times-configurable.patch b/patches/server/0104-Make-entity-breeding-times-configurable.patch index d819d1a73..59af9d228 100644 --- a/patches/server/0104-Make-entity-breeding-times-configurable.patch +++ b/patches/server/0104-Make-entity-breeding-times-configurable.patch @@ -522,10 +522,10 @@ index 66f2695403a04c2e9540bf2ec290bf1cc5a377ca..bd72dc99752faca3180ecb165b11406a public boolean canBeLeashed(Player player) { return !this.isLeashed(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa798beaf0f8 100644 +index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edfd8969d4f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -507,10 +507,12 @@ public class PurpurWorldConfig { +@@ -505,10 +505,12 @@ public class PurpurWorldConfig { public boolean axolotlRidable = false; public boolean axolotlControllable = true; public double axolotlMaxHealth = 14.0D; @@ -538,7 +538,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean batRidable = false; -@@ -550,6 +552,7 @@ public class PurpurWorldConfig { +@@ -548,6 +550,7 @@ public class PurpurWorldConfig { public boolean beeControllable = true; public double beeMaxY = 320D; public double beeMaxHealth = 10.0D; @@ -546,7 +546,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -561,6 +564,7 @@ public class PurpurWorldConfig { +@@ -559,6 +562,7 @@ public class PurpurWorldConfig { set("mobs.bee.attributes.max_health", oldValue); } beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth); @@ -554,7 +554,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean blazeRidable = false; -@@ -588,6 +592,7 @@ public class PurpurWorldConfig { +@@ -586,6 +590,7 @@ public class PurpurWorldConfig { public double camelJumpStrengthMax = 0.42D; public double camelMovementSpeedMin = 0.09D; public double camelMovementSpeedMax = 0.09D; @@ -562,7 +562,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void camelSettings() { camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater); camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin); -@@ -596,6 +601,7 @@ public class PurpurWorldConfig { +@@ -594,6 +599,7 @@ public class PurpurWorldConfig { camelJumpStrengthMax = getDouble("mobs.camel.attributes.jump_strength.max", camelJumpStrengthMax); camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin); camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax); @@ -570,7 +570,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean catRidable = false; -@@ -605,6 +611,7 @@ public class PurpurWorldConfig { +@@ -603,6 +609,7 @@ public class PurpurWorldConfig { public int catSpawnDelay = 1200; public int catSpawnSwampHutScanRange = 16; public int catSpawnVillageScanRange = 48; @@ -578,7 +578,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -618,6 +625,7 @@ public class PurpurWorldConfig { +@@ -616,6 +623,7 @@ public class PurpurWorldConfig { catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay); catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange); catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange); @@ -586,7 +586,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean caveSpiderRidable = false; -@@ -641,6 +649,7 @@ public class PurpurWorldConfig { +@@ -639,6 +647,7 @@ public class PurpurWorldConfig { public boolean chickenControllable = true; public double chickenMaxHealth = 4.0D; public boolean chickenRetaliate = false; @@ -594,7 +594,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -652,6 +661,7 @@ public class PurpurWorldConfig { +@@ -650,6 +659,7 @@ public class PurpurWorldConfig { } chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); @@ -602,7 +602,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean codRidable = false; -@@ -673,6 +683,7 @@ public class PurpurWorldConfig { +@@ -671,6 +681,7 @@ public class PurpurWorldConfig { public boolean cowControllable = true; public double cowMaxHealth = 10.0D; public int cowFeedMushrooms = 0; @@ -610,7 +610,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void cowSettings() { cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); -@@ -684,6 +695,7 @@ public class PurpurWorldConfig { +@@ -682,6 +693,7 @@ public class PurpurWorldConfig { } cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); @@ -618,7 +618,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean creeperRidable = false; -@@ -735,6 +747,7 @@ public class PurpurWorldConfig { +@@ -733,6 +745,7 @@ public class PurpurWorldConfig { public double donkeyJumpStrengthMax = 0.5D; public double donkeyMovementSpeedMin = 0.175D; public double donkeyMovementSpeedMax = 0.175D; @@ -626,7 +626,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); if (PurpurConfig.version < 10) { -@@ -750,6 +763,7 @@ public class PurpurWorldConfig { +@@ -748,6 +761,7 @@ public class PurpurWorldConfig { donkeyJumpStrengthMax = getDouble("mobs.donkey.attributes.jump_strength.max", donkeyJumpStrengthMax); donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin); donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax); @@ -634,7 +634,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean drownedRidable = false; -@@ -869,6 +883,7 @@ public class PurpurWorldConfig { +@@ -867,6 +881,7 @@ public class PurpurWorldConfig { public boolean foxControllable = true; public double foxMaxHealth = 10.0D; public boolean foxTypeChangesWithTulips = false; @@ -642,7 +642,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -880,17 +895,20 @@ public class PurpurWorldConfig { +@@ -878,17 +893,20 @@ public class PurpurWorldConfig { } foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); @@ -663,7 +663,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean ghastRidable = false; -@@ -958,11 +976,13 @@ public class PurpurWorldConfig { +@@ -956,11 +974,13 @@ public class PurpurWorldConfig { public boolean goatRidableInWater = true; public boolean goatControllable = true; public double goatMaxHealth = 10.0D; @@ -677,7 +677,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean guardianRidable = false; -@@ -983,6 +1003,7 @@ public class PurpurWorldConfig { +@@ -981,6 +1001,7 @@ public class PurpurWorldConfig { public boolean hoglinRidableInWater = true; public boolean hoglinControllable = true; public double hoglinMaxHealth = 40.0D; @@ -685,7 +685,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -993,6 +1014,7 @@ public class PurpurWorldConfig { +@@ -991,6 +1012,7 @@ public class PurpurWorldConfig { set("mobs.hoglin.attributes.max_health", oldValue); } hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); @@ -693,7 +693,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean horseRidableInWater = false; -@@ -1002,6 +1024,7 @@ public class PurpurWorldConfig { +@@ -1000,6 +1022,7 @@ public class PurpurWorldConfig { public double horseJumpStrengthMax = 1.0D; public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMax = 0.3375D; @@ -701,7 +701,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1017,6 +1040,7 @@ public class PurpurWorldConfig { +@@ -1015,6 +1038,7 @@ public class PurpurWorldConfig { horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax); horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin); horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax); @@ -709,7 +709,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean huskRidable = false; -@@ -1094,6 +1118,7 @@ public class PurpurWorldConfig { +@@ -1092,6 +1116,7 @@ public class PurpurWorldConfig { public double llamaJumpStrengthMax = 0.5D; public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMax = 0.175D; @@ -717,7 +717,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1111,6 +1136,7 @@ public class PurpurWorldConfig { +@@ -1109,6 +1134,7 @@ public class PurpurWorldConfig { llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax); llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin); llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); @@ -725,7 +725,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean magmaCubeRidable = false; -@@ -1139,6 +1165,7 @@ public class PurpurWorldConfig { +@@ -1137,6 +1163,7 @@ public class PurpurWorldConfig { public boolean mooshroomRidableInWater = true; public boolean mooshroomControllable = true; public double mooshroomMaxHealth = 10.0D; @@ -733,7 +733,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1149,6 +1176,7 @@ public class PurpurWorldConfig { +@@ -1147,6 +1174,7 @@ public class PurpurWorldConfig { set("mobs.mooshroom.attributes.max_health", oldValue); } mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); @@ -741,7 +741,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean muleRidableInWater = false; -@@ -1158,6 +1186,7 @@ public class PurpurWorldConfig { +@@ -1156,6 +1184,7 @@ public class PurpurWorldConfig { public double muleJumpStrengthMax = 0.5D; public double muleMovementSpeedMin = 0.175D; public double muleMovementSpeedMax = 0.175D; @@ -749,7 +749,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1173,12 +1202,14 @@ public class PurpurWorldConfig { +@@ -1171,12 +1200,14 @@ public class PurpurWorldConfig { muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax); muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin); muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); @@ -764,7 +764,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1189,12 +1220,14 @@ public class PurpurWorldConfig { +@@ -1187,12 +1218,14 @@ public class PurpurWorldConfig { set("mobs.ocelot.attributes.max_health", oldValue); } ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); @@ -779,7 +779,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1205,6 +1238,7 @@ public class PurpurWorldConfig { +@@ -1203,6 +1236,7 @@ public class PurpurWorldConfig { set("mobs.panda.attributes.max_health", oldValue); } pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); @@ -787,7 +787,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean parrotRidable = false; -@@ -1288,6 +1322,7 @@ public class PurpurWorldConfig { +@@ -1286,6 +1320,7 @@ public class PurpurWorldConfig { public boolean pigControllable = true; public double pigMaxHealth = 10.0D; public boolean pigGiveSaddleBack = false; @@ -795,7 +795,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -1299,6 +1334,7 @@ public class PurpurWorldConfig { +@@ -1297,6 +1332,7 @@ public class PurpurWorldConfig { } pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); @@ -803,7 +803,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean piglinRidable = false; -@@ -1355,6 +1391,7 @@ public class PurpurWorldConfig { +@@ -1353,6 +1389,7 @@ public class PurpurWorldConfig { public double polarBearMaxHealth = 30.0D; public String polarBearBreedableItemString = ""; public Item polarBearBreedableItem = null; @@ -811,7 +811,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -1368,6 +1405,7 @@ public class PurpurWorldConfig { +@@ -1366,6 +1403,7 @@ public class PurpurWorldConfig { polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString); Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(polarBearBreedableItemString)); if (item != Items.AIR) polarBearBreedableItem = item; @@ -819,7 +819,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean pufferfishRidable = false; -@@ -1390,6 +1428,7 @@ public class PurpurWorldConfig { +@@ -1388,6 +1426,7 @@ public class PurpurWorldConfig { public double rabbitMaxHealth = 3.0D; public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; @@ -827,7 +827,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1402,6 +1441,7 @@ public class PurpurWorldConfig { +@@ -1400,6 +1439,7 @@ public class PurpurWorldConfig { rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth); rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast); rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); @@ -835,7 +835,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean ravagerRidable = false; -@@ -1438,6 +1478,7 @@ public class PurpurWorldConfig { +@@ -1436,6 +1476,7 @@ public class PurpurWorldConfig { public boolean sheepRidableInWater = true; public boolean sheepControllable = true; public double sheepMaxHealth = 8.0D; @@ -843,7 +843,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1448,6 +1489,7 @@ public class PurpurWorldConfig { +@@ -1446,6 +1487,7 @@ public class PurpurWorldConfig { set("mobs.sheep.attributes.max_health", oldValue); } sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); @@ -851,7 +851,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean shulkerRidable = false; -@@ -1571,11 +1613,13 @@ public class PurpurWorldConfig { +@@ -1569,11 +1611,13 @@ public class PurpurWorldConfig { public boolean snifferRidableInWater = true; public boolean snifferControllable = true; public double snifferMaxHealth = 14.0D; @@ -865,7 +865,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean squidRidable = false; -@@ -1634,6 +1678,7 @@ public class PurpurWorldConfig { +@@ -1632,6 +1676,7 @@ public class PurpurWorldConfig { public boolean striderRidableInWater = false; public boolean striderControllable = true; public double striderMaxHealth = 20.0D; @@ -873,7 +873,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1644,6 +1689,7 @@ public class PurpurWorldConfig { +@@ -1642,6 +1687,7 @@ public class PurpurWorldConfig { set("mobs.strider.attributes.max_health", oldValue); } striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); @@ -881,7 +881,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean tadpoleRidable = false; -@@ -1664,6 +1710,7 @@ public class PurpurWorldConfig { +@@ -1662,6 +1708,7 @@ public class PurpurWorldConfig { public double traderLlamaJumpStrengthMax = 0.5D; public double traderLlamaMovementSpeedMin = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D; @@ -889,7 +889,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -1681,6 +1728,7 @@ public class PurpurWorldConfig { +@@ -1679,6 +1726,7 @@ public class PurpurWorldConfig { traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax); traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin); traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); @@ -897,7 +897,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean tropicalFishRidable = false; -@@ -1701,6 +1749,7 @@ public class PurpurWorldConfig { +@@ -1699,6 +1747,7 @@ public class PurpurWorldConfig { public boolean turtleRidableInWater = true; public boolean turtleControllable = true; public double turtleMaxHealth = 30.0D; @@ -905,7 +905,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -1711,6 +1760,7 @@ public class PurpurWorldConfig { +@@ -1709,6 +1758,7 @@ public class PurpurWorldConfig { set("mobs.turtle.attributes.max_health", oldValue); } turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); @@ -913,7 +913,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean vexRidable = false; -@@ -1738,6 +1788,7 @@ public class PurpurWorldConfig { +@@ -1736,6 +1786,7 @@ public class PurpurWorldConfig { public boolean villagerFollowEmeraldBlock = false; public boolean villagerCanBeLeashed = false; public boolean villagerCanBreed = true; @@ -921,7 +921,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1751,6 +1802,7 @@ public class PurpurWorldConfig { +@@ -1749,6 +1800,7 @@ public class PurpurWorldConfig { villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); @@ -929,7 +929,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 } public boolean vindicatorRidable = false; -@@ -1862,6 +1914,7 @@ public class PurpurWorldConfig { +@@ -1860,6 +1912,7 @@ public class PurpurWorldConfig { public boolean wolfRidableInWater = true; public boolean wolfControllable = true; public double wolfMaxHealth = 8.0D; @@ -937,7 +937,7 @@ index afc71260b156fc9d43e75b2c45c90994268e17e7..a34579026b7eae1e314410b8d96aaa79 private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -1872,6 +1925,7 @@ public class PurpurWorldConfig { +@@ -1870,6 +1923,7 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0105-Apply-display-names-from-item-forms-of-entities-to-e.patch b/patches/server/0105-Apply-display-names-from-item-forms-of-entities-to-e.patch index f6bcbc71f..51ae5dc82 100644 --- a/patches/server/0105-Apply-display-names-from-item-forms-of-entities-to-e.patch +++ b/patches/server/0105-Apply-display-names-from-item-forms-of-entities-to-e.patch @@ -136,10 +136,10 @@ index b2ad6d230de2c29f371178bccde1111c7532ee70..6667926519a0f1c151e53f59cce36e74 if (((HangingEntity) object).survives()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a34579026b7eae1e314410b8d96aaa798beaf0f8..62f19e2173c5d4e81a2b36a40f551c25577e2d99 100644 +index 4df745bede2ecc5e9ee4129b980f9edfd8969d4f..f04861a5ca426b1c53b6d3ec4d3514bcaa9789a2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -99,8 +99,10 @@ public class PurpurWorldConfig { +@@ -97,8 +97,10 @@ public class PurpurWorldConfig { } public float armorstandStepHeight = 0.0F; @@ -150,7 +150,7 @@ index a34579026b7eae1e314410b8d96aaa798beaf0f8..62f19e2173c5d4e81a2b36a40f551c25 } public boolean arrowMovementResetsDespawnCounter = true; -@@ -113,6 +115,7 @@ public class PurpurWorldConfig { +@@ -111,6 +113,7 @@ public class PurpurWorldConfig { public boolean disableDropsOnCrammingDeath = false; public boolean entitiesCanUsePortals = true; public boolean milkCuresBadOmen = true; @@ -158,7 +158,7 @@ index a34579026b7eae1e314410b8d96aaa798beaf0f8..62f19e2173c5d4e81a2b36a40f551c25 public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; -@@ -124,6 +127,7 @@ public class PurpurWorldConfig { +@@ -122,6 +125,7 @@ public class PurpurWorldConfig { disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath); entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); diff --git a/patches/server/0106-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch b/patches/server/0106-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch index cbaefdb0c..908213606 100644 --- a/patches/server/0106-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch +++ b/patches/server/0106-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch @@ -17,10 +17,10 @@ index 2941c16ef486345b57ab2dfcd26f0272285d3b5a..7cc6812bf6f2ba015f65fd1fc1eaac02 ((Mob) newEntityLiving).setPersistenceRequired(); // Paper end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 62f19e2173c5d4e81a2b36a40f551c25577e2d99..3cc3a8043529c9f7e64ec1aaa4c108269df0a0f7 100644 +index f04861a5ca426b1c53b6d3ec4d3514bcaa9789a2..db678a5ee139920d51ba2fb179f1d01feab3c973 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -100,9 +100,11 @@ public class PurpurWorldConfig { +@@ -98,9 +98,11 @@ public class PurpurWorldConfig { public float armorstandStepHeight = 0.0F; public boolean armorstandSetNameVisible = true; diff --git a/patches/server/0107-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch b/patches/server/0107-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch index 881d108b2..737d10cbf 100644 --- a/patches/server/0107-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch +++ b/patches/server/0107-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch @@ -21,10 +21,10 @@ index 3861f367ac01028139cc6db35fb9a1e20cb39457..f49cbb9fcd13afc10aa76ac80128162a private static class EndermanFreezeWhenLookedAt extends Goal { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3cc3a8043529c9f7e64ec1aaa4c108269df0a0f7..c61274844ce91980685b214871bb33a1ee3fec03 100644 +index db678a5ee139920d51ba2fb179f1d01feab3c973..6fdef95d12988207bb682ba165e135a94e505a58 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -839,6 +839,7 @@ public class PurpurWorldConfig { +@@ -837,6 +837,7 @@ public class PurpurWorldConfig { public boolean endermanControllable = true; public double endermanMaxHealth = 40.0D; public boolean endermanAllowGriefing = true; @@ -32,7 +32,7 @@ index 3cc3a8043529c9f7e64ec1aaa4c108269df0a0f7..c61274844ce91980685b214871bb33a1 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -850,6 +851,7 @@ public class PurpurWorldConfig { +@@ -848,6 +849,7 @@ public class PurpurWorldConfig { } endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); diff --git a/patches/server/0108-Add-configurable-snowball-damage.patch b/patches/server/0108-Add-configurable-snowball-damage.patch index 80699ed0e..333da4d36 100644 --- a/patches/server/0108-Add-configurable-snowball-damage.patch +++ b/patches/server/0108-Add-configurable-snowball-damage.patch @@ -18,10 +18,10 @@ index 718e120c9768cf716b32d3d652f53f1dda925168..b90cedad282e95a067aca176fafa9f72 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c61274844ce91980685b214871bb33a1ee3fec03..43e54201903ff144e1951d98c4be19fea95b542c 100644 +index 6fdef95d12988207bb682ba165e135a94e505a58..e9778b0e02fb94eeea2e8c6e2680b6564b11d399 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -356,6 +356,11 @@ public class PurpurWorldConfig { +@@ -354,6 +354,11 @@ public class PurpurWorldConfig { //} } diff --git a/patches/server/0109-Changeable-Mob-Left-Handed-Chance.patch b/patches/server/0109-Changeable-Mob-Left-Handed-Chance.patch index c2b4bb8a8..d911c21a7 100644 --- a/patches/server/0109-Changeable-Mob-Left-Handed-Chance.patch +++ b/patches/server/0109-Changeable-Mob-Left-Handed-Chance.patch @@ -18,10 +18,10 @@ index 64a682ea339809adfb8304a7f14d4a596e5332be..4e5a261ccb7fb63b82ac7194598729fd } else { this.setLeftHanded(false); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 43e54201903ff144e1951d98c4be19fea95b542c..002304cc00c5e870f968bcdd569f4b32802166fa 100644 +index e9778b0e02fb94eeea2e8c6e2680b6564b11d399..4968d157692e71c54be0fd76069ece3ba0294e5f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -158,8 +158,10 @@ public class PurpurWorldConfig { +@@ -156,8 +156,10 @@ public class PurpurWorldConfig { } public int entityLifeSpan = 0; diff --git a/patches/server/0110-Add-boat-fall-damage-config.patch b/patches/server/0110-Add-boat-fall-damage-config.patch index b734d671f..e2da75b65 100644 --- a/patches/server/0110-Add-boat-fall-damage-config.patch +++ b/patches/server/0110-Add-boat-fall-damage-config.patch @@ -27,10 +27,10 @@ index beaabee17209cc3a94dcd3b4272a2f772a83752f..e0d3407c4e2bc94dc656f3a238d2667b if (!flag && isSpawnInvulnerable() && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) { // Purpur diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 002304cc00c5e870f968bcdd569f4b32802166fa..5156bdc06e30bb1ddd5f1d60fdc42cce032d65fc 100644 +index 4968d157692e71c54be0fd76069ece3ba0294e5f..e3dbb3d81494ecdcedd06e7e16cc17a2d4e15112 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -114,6 +114,7 @@ public class PurpurWorldConfig { +@@ -112,6 +112,7 @@ public class PurpurWorldConfig { public boolean useBetterMending = false; public boolean boatEjectPlayersOnLand = false; @@ -38,7 +38,7 @@ index 002304cc00c5e870f968bcdd569f4b32802166fa..5156bdc06e30bb1ddd5f1d60fdc42cce public boolean disableDropsOnCrammingDeath = false; public boolean entitiesCanUsePortals = true; public boolean milkCuresBadOmen = true; -@@ -126,6 +127,7 @@ public class PurpurWorldConfig { +@@ -124,6 +125,7 @@ public class PurpurWorldConfig { private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); diff --git a/patches/server/0111-Snow-Golem-rate-of-fire-config.patch b/patches/server/0111-Snow-Golem-rate-of-fire-config.patch index 1129c20d0..4c0235efc 100644 --- a/patches/server/0111-Snow-Golem-rate-of-fire-config.patch +++ b/patches/server/0111-Snow-Golem-rate-of-fire-config.patch @@ -23,10 +23,10 @@ index bd9dd01e9140c2ad0ab9859b9a455f73ab04a253..d3da7487f911ff791dca5f7b546dccda this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(4, new RandomLookAroundGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5156bdc06e30bb1ddd5f1d60fdc42cce032d65fc..b72542b4f2f5a4d0440daae4569217afcfae16a6 100644 +index e3dbb3d81494ecdcedd06e7e16cc17a2d4e15112..7518f375450448b2f5aa71a999a2b213f78b7583 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1611,6 +1611,10 @@ public class PurpurWorldConfig { +@@ -1609,6 +1609,10 @@ public class PurpurWorldConfig { public double snowGolemMaxHealth = 4.0D; public boolean snowGolemDropsPumpkin = true; public boolean snowGolemPutPumpkinBack = false; @@ -37,7 +37,7 @@ index 5156bdc06e30bb1ddd5f1d60fdc42cce032d65fc..b72542b4f2f5a4d0440daae4569217af private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1624,6 +1628,10 @@ public class PurpurWorldConfig { +@@ -1622,6 +1626,10 @@ public class PurpurWorldConfig { snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth); snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin); snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack); diff --git a/patches/server/0113-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch b/patches/server/0113-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch index 1e22b00e7..71c3c6a1e 100644 --- a/patches/server/0113-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch +++ b/patches/server/0113-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch @@ -174,10 +174,10 @@ index ac70c2c03241e73943bd517a8c69dd05e0873634..0318663a824d2a9515f867a075d148c3 public static final VillagerProfession FISHERMAN = register("fisherman", PoiTypes.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN); public static final VillagerProfession FLETCHER = register("fletcher", PoiTypes.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b72542b4f2f5a4d0440daae4569217afcfae16a6..fccd76f1107c5f95698ac4814ae2dac5e4d13440 100644 +index 7518f375450448b2f5aa71a999a2b213f78b7583..ab7a771a80d5288f79dca65fff3f984536d02d9a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1814,6 +1814,8 @@ public class PurpurWorldConfig { +@@ -1812,6 +1812,8 @@ public class PurpurWorldConfig { public boolean villagerCanBeLeashed = false; public boolean villagerCanBreed = true; public int villagerBreedingTicks = 6000; @@ -186,7 +186,7 @@ index b72542b4f2f5a4d0440daae4569217afcfae16a6..fccd76f1107c5f95698ac4814ae2dac5 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1828,6 +1830,8 @@ public class PurpurWorldConfig { +@@ -1826,6 +1828,8 @@ public class PurpurWorldConfig { villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); diff --git a/patches/server/0114-Toggle-for-Zombified-Piglin-death-always-counting-as.patch b/patches/server/0114-Toggle-for-Zombified-Piglin-death-always-counting-as.patch index 1d909764c..1665cd684 100644 --- a/patches/server/0114-Toggle-for-Zombified-Piglin-death-always-counting-as.patch +++ b/patches/server/0114-Toggle-for-Zombified-Piglin-death-always-counting-as.patch @@ -35,10 +35,10 @@ index 3d61b27c23d90e87fdfc8c170eafc116716ac047..67fd554cfd6b848ca1f2cf804ad4543a } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index fccd76f1107c5f95698ac4814ae2dac5e4d13440..dd3c9dd7bb6de648785a74fab7e011b6c472a0ed 100644 +index ab7a771a80d5288f79dca65fff3f984536d02d9a..b1d2c6b15c8d9977e8d8fcfe61485dab67cd9684 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2058,6 +2058,7 @@ public class PurpurWorldConfig { +@@ -2056,6 +2056,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyOnlyBaby = true; public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; @@ -46,7 +46,7 @@ index fccd76f1107c5f95698ac4814ae2dac5e4d13440..dd3c9dd7bb6de648785a74fab7e011b6 private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -2072,5 +2073,6 @@ public class PurpurWorldConfig { +@@ -2070,5 +2071,6 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby); zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance); zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); diff --git a/patches/server/0115-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/server/0115-Configurable-chance-for-wolves-to-spawn-rabid.patch index f0c86bf9b..c11b8dce4 100644 --- a/patches/server/0115-Configurable-chance-for-wolves-to-spawn-rabid.patch +++ b/patches/server/0115-Configurable-chance-for-wolves-to-spawn-rabid.patch @@ -221,10 +221,10 @@ index e43fd3e59fd8c74828ae65965fade27f56beef65..b2f133c8baabba1cffa6e92ea0f85453 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index dd3c9dd7bb6de648785a74fab7e011b6c472a0ed..0ccb2b3304482b6e8d92e3b9b4889e7b3823ed5b 100644 +index b1d2c6b15c8d9977e8d8fcfe61485dab67cd9684..839f95b52f3ca44ea479d09b37f7b8aaa67f9672 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1943,6 +1943,8 @@ public class PurpurWorldConfig { +@@ -1941,6 +1941,8 @@ public class PurpurWorldConfig { public boolean wolfRidableInWater = true; public boolean wolfControllable = true; public double wolfMaxHealth = 8.0D; @@ -233,7 +233,7 @@ index dd3c9dd7bb6de648785a74fab7e011b6c472a0ed..0ccb2b3304482b6e8d92e3b9b4889e7b public int wolfBreedingTicks = 6000; private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); -@@ -1954,6 +1956,8 @@ public class PurpurWorldConfig { +@@ -1952,6 +1954,8 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0116-Configurable-default-collar-color.patch b/patches/server/0116-Configurable-default-collar-color.patch index 788235c3c..bbb4d5294 100644 --- a/patches/server/0116-Configurable-default-collar-color.patch +++ b/patches/server/0116-Configurable-default-collar-color.patch @@ -43,10 +43,10 @@ index f39b278bc520a4785e9fa472bccd836ad1daac85..8d71d0ad4bf8e0df8ded9ebce6f39e66 protected void registerGoals() { this.goalSelector.addGoal(1, new FloatGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0ccb2b3304482b6e8d92e3b9b4889e7b3823ed5b..181cdc70c31e59205f5a1cbf66b8584bcb3dccf8 100644 +index 839f95b52f3ca44ea479d09b37f7b8aaa67f9672..5ddb33b3f6811ddea949b08ed72e9355489b9167 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -627,6 +627,7 @@ public class PurpurWorldConfig { +@@ -625,6 +625,7 @@ public class PurpurWorldConfig { public int catSpawnSwampHutScanRange = 16; public int catSpawnVillageScanRange = 48; public int catBreedingTicks = 6000; @@ -54,7 +54,7 @@ index 0ccb2b3304482b6e8d92e3b9b4889e7b3823ed5b..181cdc70c31e59205f5a1cbf66b8584b private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -641,6 +642,11 @@ public class PurpurWorldConfig { +@@ -639,6 +640,11 @@ public class PurpurWorldConfig { catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange); catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange); catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks); @@ -66,7 +66,7 @@ index 0ccb2b3304482b6e8d92e3b9b4889e7b3823ed5b..181cdc70c31e59205f5a1cbf66b8584b } public boolean caveSpiderRidable = false; -@@ -1943,6 +1949,7 @@ public class PurpurWorldConfig { +@@ -1941,6 +1947,7 @@ public class PurpurWorldConfig { public boolean wolfRidableInWater = true; public boolean wolfControllable = true; public double wolfMaxHealth = 8.0D; @@ -74,7 +74,7 @@ index 0ccb2b3304482b6e8d92e3b9b4889e7b3823ed5b..181cdc70c31e59205f5a1cbf66b8584b public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; -@@ -1956,6 +1963,11 @@ public class PurpurWorldConfig { +@@ -1954,6 +1961,11 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0117-Phantom-flames-on-swoop.patch b/patches/server/0117-Phantom-flames-on-swoop.patch index 4e57e902d..3cd4ccdfc 100644 --- a/patches/server/0117-Phantom-flames-on-swoop.patch +++ b/patches/server/0117-Phantom-flames-on-swoop.patch @@ -17,10 +17,10 @@ index 899a7d3989b51456600787ae09b1736f83bf9a65..076a881412d40ce6a8f5e5f83f7598bf @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 181cdc70c31e59205f5a1cbf66b8584bcb3dccf8..d9228513f08ba3369b34697115e572a2c5618e88 100644 +index 5ddb33b3f6811ddea949b08ed72e9355489b9167..d755e920048324ae17a08fee7546a4b2fb594f7c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1305,6 +1305,7 @@ public class PurpurWorldConfig { +@@ -1303,6 +1303,7 @@ public class PurpurWorldConfig { public int phantomBurnInLight = 0; public boolean phantomIgnorePlayersWithTorch = false; public boolean phantomBurnInDaylight = true; @@ -28,7 +28,7 @@ index 181cdc70c31e59205f5a1cbf66b8584bcb3dccf8..d9228513f08ba3369b34697115e572a2 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1338,6 +1339,7 @@ public class PurpurWorldConfig { +@@ -1336,6 +1337,7 @@ public class PurpurWorldConfig { phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight); phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight); phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); diff --git a/patches/server/0118-Option-for-chests-to-open-even-with-a-solid-block-on.patch b/patches/server/0118-Option-for-chests-to-open-even-with-a-solid-block-on.patch index 5ce4e27a3..e88900d66 100644 --- a/patches/server/0118-Option-for-chests-to-open-even-with-a-solid-block-on.patch +++ b/patches/server/0118-Option-for-chests-to-open-even-with-a-solid-block-on.patch @@ -17,10 +17,10 @@ index 5e22d175b1048a58802cdf64ac70a8b56329e915..d81946b400f208c39941128ce823ff77 return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d9228513f08ba3369b34697115e572a2c5618e88..565e6af708ff604d8d15b3537ed668e2f6b579e8 100644 +index d755e920048324ae17a08fee7546a4b2fb594f7c..57cb484499525278fe2664ccba83503e9344a874 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -425,6 +425,11 @@ public class PurpurWorldConfig { +@@ -423,6 +423,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0120-Striders-give-saddle-back.patch b/patches/server/0120-Striders-give-saddle-back.patch index e7729696d..9a4a1f0bb 100644 --- a/patches/server/0120-Striders-give-saddle-back.patch +++ b/patches/server/0120-Striders-give-saddle-back.patch @@ -29,10 +29,10 @@ index 93dca4758ed995373fe1585930f225604a4153fa..4c077c94b654f54465ece2aa45c5ead0 if (!this.level().isClientSide) { player.startRiding(this); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 565e6af708ff604d8d15b3537ed668e2f6b579e8..ffc67f25e6a73349f827917178d5941e26d44ca9 100644 +index 57cb484499525278fe2664ccba83503e9344a874..a0607bcc0da66718928c0ca6e0e02a5a4a56eaf4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1717,6 +1717,7 @@ public class PurpurWorldConfig { +@@ -1715,6 +1715,7 @@ public class PurpurWorldConfig { public boolean striderControllable = true; public double striderMaxHealth = 20.0D; public int striderBreedingTicks = 6000; @@ -40,7 +40,7 @@ index 565e6af708ff604d8d15b3537ed668e2f6b579e8..ffc67f25e6a73349f827917178d5941e private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1728,6 +1729,7 @@ public class PurpurWorldConfig { +@@ -1726,6 +1727,7 @@ public class PurpurWorldConfig { } striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); diff --git a/patches/server/0122-Full-netherite-armor-grants-fire-resistance.patch b/patches/server/0122-Full-netherite-armor-grants-fire-resistance.patch index 2ca53a492..c602cf303 100644 --- a/patches/server/0122-Full-netherite-armor-grants-fire-resistance.patch +++ b/patches/server/0122-Full-netherite-armor-grants-fire-resistance.patch @@ -26,10 +26,10 @@ index fa2a0cc24bbe31abd49ce0f3f41bab2aa5d9c81f..04e816f01db7d2de7ffa9bbaaa72daad protected ItemCooldowns createItemCooldowns() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ffc67f25e6a73349f827917178d5941e26d44ca9..4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4 100644 +index a0607bcc0da66718928c0ca6e0e02a5a4a56eaf4..2606c631d93c8e7b99b0ac1fffffa6b0ce388679 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -297,6 +297,19 @@ public class PurpurWorldConfig { +@@ -295,6 +295,19 @@ public class PurpurWorldConfig { villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate); } diff --git a/patches/server/0124-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0124-Add-mobGriefing-bypass-to-everything-affected.patch index a2ef9fae9..2c0ce8de2 100644 --- a/patches/server/0124-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0124-Add-mobGriefing-bypass-to-everything-affected.patch @@ -374,10 +374,10 @@ index 1942649e868fc985a488034c411a6721595ecc67..7495e0e8beedad59fff24ebf189b58b3 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c97121c58 100644 +index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46ad46e021 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -117,8 +117,11 @@ public class PurpurWorldConfig { +@@ -115,8 +115,11 @@ public class PurpurWorldConfig { public boolean boatsDoFallDamage = false; public boolean disableDropsOnCrammingDeath = false; public boolean entitiesCanUsePortals = true; @@ -389,7 +389,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; -@@ -130,8 +133,11 @@ public class PurpurWorldConfig { +@@ -128,8 +131,11 @@ public class PurpurWorldConfig { boatsDoFallDamage = getBoolean("gameplay-mechanics.boat.do-fall-damage", boatsDoFallDamage); disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath); entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals); @@ -401,7 +401,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); -@@ -450,9 +456,11 @@ public class PurpurWorldConfig { +@@ -448,9 +454,11 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } @@ -413,7 +413,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha); } -@@ -477,6 +485,11 @@ public class PurpurWorldConfig { +@@ -475,6 +483,11 @@ public class PurpurWorldConfig { lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); } @@ -425,7 +425,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c public boolean respawnAnchorExplode = true; public double respawnAnchorExplosionPower = 5.0D; public boolean respawnAnchorExplosionFire = true; -@@ -506,10 +519,12 @@ public class PurpurWorldConfig { +@@ -504,10 +517,12 @@ public class PurpurWorldConfig { public boolean turtleEggsBreakFromExpOrbs = true; public boolean turtleEggsBreakFromItems = true; public boolean turtleEggsBreakFromMinecarts = true; @@ -438,7 +438,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c } public int waterInfiniteRequiredSources = 2; -@@ -743,6 +758,7 @@ public class PurpurWorldConfig { +@@ -741,6 +756,7 @@ public class PurpurWorldConfig { public double creeperMaxHealth = 20.0D; public double creeperChargedChance = 0.0D; public boolean creeperAllowGriefing = true; @@ -446,7 +446,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -755,6 +771,7 @@ public class PurpurWorldConfig { +@@ -753,6 +769,7 @@ public class PurpurWorldConfig { creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); @@ -454,7 +454,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c } public boolean dolphinRidable = false; -@@ -849,6 +866,7 @@ public class PurpurWorldConfig { +@@ -847,6 +864,7 @@ public class PurpurWorldConfig { public double enderDragonMaxY = 320D; public double enderDragonMaxHealth = 200.0D; public boolean enderDragonAlwaysDropsFullExp = false; @@ -462,7 +462,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -865,6 +883,7 @@ public class PurpurWorldConfig { +@@ -863,6 +881,7 @@ public class PurpurWorldConfig { } enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); @@ -470,7 +470,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c } public boolean endermanRidable = false; -@@ -873,6 +892,7 @@ public class PurpurWorldConfig { +@@ -871,6 +890,7 @@ public class PurpurWorldConfig { public double endermanMaxHealth = 40.0D; public boolean endermanAllowGriefing = true; public boolean endermanDespawnEvenWithBlock = false; @@ -478,7 +478,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -885,6 +905,7 @@ public class PurpurWorldConfig { +@@ -883,6 +903,7 @@ public class PurpurWorldConfig { endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock); @@ -486,7 +486,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c } public boolean endermiteRidable = false; -@@ -907,6 +928,7 @@ public class PurpurWorldConfig { +@@ -905,6 +926,7 @@ public class PurpurWorldConfig { public boolean evokerRidableInWater = true; public boolean evokerControllable = true; public double evokerMaxHealth = 24.0D; @@ -494,7 +494,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -917,6 +939,7 @@ public class PurpurWorldConfig { +@@ -915,6 +937,7 @@ public class PurpurWorldConfig { set("mobs.evoker.attributes.max_health", oldValue); } evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth); @@ -502,7 +502,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c } public boolean foxRidable = false; -@@ -925,6 +948,7 @@ public class PurpurWorldConfig { +@@ -923,6 +946,7 @@ public class PurpurWorldConfig { public double foxMaxHealth = 10.0D; public boolean foxTypeChangesWithTulips = false; public int foxBreedingTicks = 6000; @@ -510,7 +510,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -937,6 +961,7 @@ public class PurpurWorldConfig { +@@ -935,6 +959,7 @@ public class PurpurWorldConfig { foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks); @@ -518,7 +518,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c } public boolean frogRidable = false; -@@ -1384,6 +1409,7 @@ public class PurpurWorldConfig { +@@ -1382,6 +1407,7 @@ public class PurpurWorldConfig { public boolean piglinRidableInWater = true; public boolean piglinControllable = true; public double piglinMaxHealth = 16.0D; @@ -526,7 +526,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1394,6 +1420,7 @@ public class PurpurWorldConfig { +@@ -1392,6 +1418,7 @@ public class PurpurWorldConfig { set("mobs.piglin.attributes.max_health", oldValue); } piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); @@ -534,7 +534,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c } public boolean piglinBruteRidable = false; -@@ -1416,6 +1443,7 @@ public class PurpurWorldConfig { +@@ -1414,6 +1441,7 @@ public class PurpurWorldConfig { public boolean pillagerRidableInWater = true; public boolean pillagerControllable = true; public double pillagerMaxHealth = 24.0D; @@ -542,7 +542,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -1426,6 +1454,7 @@ public class PurpurWorldConfig { +@@ -1424,6 +1452,7 @@ public class PurpurWorldConfig { set("mobs.pillager.attributes.max_health", oldValue); } pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); @@ -550,7 +550,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c } public boolean polarBearRidable = false; -@@ -1472,6 +1501,7 @@ public class PurpurWorldConfig { +@@ -1470,6 +1499,7 @@ public class PurpurWorldConfig { public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; public int rabbitBreedingTicks = 6000; @@ -558,7 +558,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1485,12 +1515,14 @@ public class PurpurWorldConfig { +@@ -1483,12 +1513,14 @@ public class PurpurWorldConfig { rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast); rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); @@ -573,7 +573,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1501,6 +1533,7 @@ public class PurpurWorldConfig { +@@ -1499,6 +1531,7 @@ public class PurpurWorldConfig { set("mobs.ravager.attributes.max_health", oldValue); } ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); @@ -581,7 +581,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c } public boolean salmonRidable = false; -@@ -1522,6 +1555,7 @@ public class PurpurWorldConfig { +@@ -1520,6 +1553,7 @@ public class PurpurWorldConfig { public boolean sheepControllable = true; public double sheepMaxHealth = 8.0D; public int sheepBreedingTicks = 6000; @@ -589,7 +589,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1533,6 +1567,7 @@ public class PurpurWorldConfig { +@@ -1531,6 +1565,7 @@ public class PurpurWorldConfig { } sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); @@ -597,7 +597,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c } public boolean shulkerRidable = false; -@@ -1555,6 +1590,7 @@ public class PurpurWorldConfig { +@@ -1553,6 +1588,7 @@ public class PurpurWorldConfig { public boolean silverfishRidableInWater = true; public boolean silverfishControllable = true; public double silverfishMaxHealth = 8.0D; @@ -605,7 +605,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -1565,6 +1601,7 @@ public class PurpurWorldConfig { +@@ -1563,6 +1599,7 @@ public class PurpurWorldConfig { set("mobs.silverfish.attributes.max_health", oldValue); } silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); @@ -613,7 +613,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c } public boolean skeletonRidable = false; -@@ -1641,6 +1678,7 @@ public class PurpurWorldConfig { +@@ -1639,6 +1676,7 @@ public class PurpurWorldConfig { public int snowGolemSnowBallMax = 20; public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; @@ -621,7 +621,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1658,6 +1696,7 @@ public class PurpurWorldConfig { +@@ -1656,6 +1694,7 @@ public class PurpurWorldConfig { snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax); snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier); snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance); @@ -629,7 +629,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c } public boolean snifferRidable = false; -@@ -1844,6 +1883,7 @@ public class PurpurWorldConfig { +@@ -1842,6 +1881,7 @@ public class PurpurWorldConfig { public int villagerBreedingTicks = 6000; public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; @@ -637,7 +637,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1860,6 +1900,7 @@ public class PurpurWorldConfig { +@@ -1858,6 +1898,7 @@ public class PurpurWorldConfig { villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); @@ -645,7 +645,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c } public boolean vindicatorRidable = false; -@@ -1932,6 +1973,7 @@ public class PurpurWorldConfig { +@@ -1930,6 +1971,7 @@ public class PurpurWorldConfig { public double witherMaxHealth = 300.0D; public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; @@ -653,7 +653,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1949,6 +1991,7 @@ public class PurpurWorldConfig { +@@ -1947,6 +1989,7 @@ public class PurpurWorldConfig { witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); @@ -661,7 +661,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c } public boolean witherSkeletonRidable = false; -@@ -2020,6 +2063,7 @@ public class PurpurWorldConfig { +@@ -2018,6 +2061,7 @@ public class PurpurWorldConfig { public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; @@ -669,7 +669,7 @@ index 4fb9e2e4d00ba3b9621d780e7c46ec17d19670d4..d5838c1181f1fac4f094690d70b2309c private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2035,6 +2079,7 @@ public class PurpurWorldConfig { +@@ -2033,6 +2077,7 @@ public class PurpurWorldConfig { zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); diff --git a/patches/server/0125-Config-to-allow-Note-Block-sounds-when-blocked.patch b/patches/server/0125-Config-to-allow-Note-Block-sounds-when-blocked.patch index b301d6fed..5ef3744f3 100644 --- a/patches/server/0125-Config-to-allow-Note-Block-sounds-when-blocked.patch +++ b/patches/server/0125-Config-to-allow-Note-Block-sounds-when-blocked.patch @@ -22,10 +22,10 @@ index e46d84750bdd7c940f400efda226e12a3fdc3848..6343cd0c33cafb30225cfae17ea1cf15 // org.bukkit.event.block.NotePlayEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callNotePlayEvent(world, pos, state.getValue(NoteBlock.INSTRUMENT), state.getValue(NoteBlock.NOTE)); // if (event.isCancelled()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d5838c1181f1fac4f094690d70b2309c97121c58..ec636cb8030645d27af981e03d5a5dd1079ebd1b 100644 +index ce4855a70ad684c33420bf84c701fb46ad46e021..028b6aa20c2d83d8a4eb7dabccc4f2451723000e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -120,6 +120,7 @@ public class PurpurWorldConfig { +@@ -118,6 +118,7 @@ public class PurpurWorldConfig { public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean fireballsBypassMobGriefing = false; public boolean milkCuresBadOmen = true; @@ -33,7 +33,7 @@ index d5838c1181f1fac4f094690d70b2309c97121c58..ec636cb8030645d27af981e03d5a5dd1 public boolean persistentDroppableEntityDisplayNames = true; public boolean projectilesBypassMobGriefing = false; public double tridentLoyaltyVoidReturnHeight = 0.0D; -@@ -136,6 +137,7 @@ public class PurpurWorldConfig { +@@ -134,6 +135,7 @@ public class PurpurWorldConfig { entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing); fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); diff --git a/patches/server/0126-Add-EntityTeleportHinderedEvent.patch b/patches/server/0126-Add-EntityTeleportHinderedEvent.patch index 7956e89b1..59844be3a 100644 --- a/patches/server/0126-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0126-Add-EntityTeleportHinderedEvent.patch @@ -104,10 +104,10 @@ index 4a775ffe8880c90def23e421fd3de17f9440f728..ee2ce224defb5174f112ab25d7f470e2 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ec636cb8030645d27af981e03d5a5dd1079ebd1b..5590d2a68e395686d9208c833d642df7ed17a546 100644 +index 028b6aa20c2d83d8a4eb7dabccc4f2451723000e..f047edb4f52efaaa89463af0c4741b404459f6c4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -119,6 +119,7 @@ public class PurpurWorldConfig { +@@ -117,6 +117,7 @@ public class PurpurWorldConfig { public boolean entitiesCanUsePortals = true; public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean fireballsBypassMobGriefing = false; @@ -115,7 +115,7 @@ index ec636cb8030645d27af981e03d5a5dd1079ebd1b..5590d2a68e395686d9208c833d642df7 public boolean milkCuresBadOmen = true; public boolean noteBlockIgnoreAbove = false; public boolean persistentDroppableEntityDisplayNames = true; -@@ -136,6 +137,7 @@ public class PurpurWorldConfig { +@@ -134,6 +135,7 @@ public class PurpurWorldConfig { entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals); entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing); fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing); diff --git a/patches/server/0127-Farmland-trampling-changes.patch b/patches/server/0127-Farmland-trampling-changes.patch index 994b9e105..cd4179100 100644 --- a/patches/server/0127-Farmland-trampling-changes.patch +++ b/patches/server/0127-Farmland-trampling-changes.patch @@ -37,10 +37,10 @@ index e7b5f54d2fc53878e9466ccca972df21f10a7d67..56e66fcd840d0d3681ba671d1ffc51b2 if (!CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState())) { return; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5590d2a68e395686d9208c833d642df7ed17a546..6544afaea0c4aaf8c7d07d5e751b73f03c9bad5c 100644 +index f047edb4f52efaaa89463af0c4741b404459f6c4..afd1db5d51690191ad3836dfe8de305b1c1a29f0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -463,10 +463,16 @@ public class PurpurWorldConfig { +@@ -461,10 +461,16 @@ public class PurpurWorldConfig { public boolean farmlandBypassMobGriefing = false; public boolean farmlandGetsMoistFromBelow = false; public boolean farmlandAlpha = false; diff --git a/patches/server/0128-Movement-options-for-armor-stands.patch b/patches/server/0128-Movement-options-for-armor-stands.patch index 29c3a9f3d..70eb30db1 100644 --- a/patches/server/0128-Movement-options-for-armor-stands.patch +++ b/patches/server/0128-Movement-options-for-armor-stands.patch @@ -66,10 +66,10 @@ index 76222084727c269d376d0df5702204c0bdf59d81..b48a3d318a14889c68a1de5c1997b109 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6544afaea0c4aaf8c7d07d5e751b73f03c9bad5c..a99f9abfeaa6bf13fcd03beaf6a8a49c4f3d7ee4 100644 +index afd1db5d51690191ad3836dfe8de305b1c1a29f0..14e708b579fc8cbb648fc01d96439a05a6abe239 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -101,10 +101,16 @@ public class PurpurWorldConfig { +@@ -99,10 +99,16 @@ public class PurpurWorldConfig { public float armorstandStepHeight = 0.0F; public boolean armorstandSetNameVisible = true; public boolean armorstandFixNametags = false; diff --git a/patches/server/0129-Fix-stuck-in-portals.patch b/patches/server/0129-Fix-stuck-in-portals.patch index afa63737f..f01ecb109 100644 --- a/patches/server/0129-Fix-stuck-in-portals.patch +++ b/patches/server/0129-Fix-stuck-in-portals.patch @@ -37,10 +37,10 @@ index d9a206106cc25be50d7d34cbe7031139a0d5ab83..1dbbfd63d25597830146e40570051dfa this.isInsidePortal = true; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a99f9abfeaa6bf13fcd03beaf6a8a49c4f3d7ee4..0b355dfaecafead7f11a7d55aaaf1e8e208a56fc 100644 +index 14e708b579fc8cbb648fc01d96439a05a6abe239..c72af60345ac9704118ff9d19295d1a663a1e985 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -337,6 +337,7 @@ public class PurpurWorldConfig { +@@ -335,6 +335,7 @@ public class PurpurWorldConfig { public int playerDeathExpDropMax = 100; public boolean teleportIfOutsideBorder = false; public boolean totemOfUndyingWorksInInventory = false; @@ -48,7 +48,7 @@ index a99f9abfeaa6bf13fcd03beaf6a8a49c4f3d7ee4..0b355dfaecafead7f11a7d55aaaf1e8e private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -354,6 +355,7 @@ public class PurpurWorldConfig { +@@ -352,6 +353,7 @@ public class PurpurWorldConfig { playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax); teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder); totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory); diff --git a/patches/server/0130-Toggle-for-water-sensitive-mob-damage.patch b/patches/server/0130-Toggle-for-water-sensitive-mob-damage.patch index 0ebabc641..885c74fcc 100644 --- a/patches/server/0130-Toggle-for-water-sensitive-mob-damage.patch +++ b/patches/server/0130-Toggle-for-water-sensitive-mob-damage.patch @@ -1197,10 +1197,10 @@ index 7413f90dfcb68476f7d514607f38a8965dfa6fd0..5c6f1d3ffa2a2b6990d2406b14679e82 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 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252ab09b1c4 100644 +index c72af60345ac9704118ff9d19295d1a663a1e985..d077e5c5bc108d7ad37caf8339be449fe27960a1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -574,11 +574,13 @@ public class PurpurWorldConfig { +@@ -572,11 +572,13 @@ public class PurpurWorldConfig { public boolean axolotlControllable = true; public double axolotlMaxHealth = 14.0D; public int axolotlBreedingTicks = 6000; @@ -1214,7 +1214,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean batRidable = false; -@@ -593,6 +595,7 @@ public class PurpurWorldConfig { +@@ -591,6 +593,7 @@ public class PurpurWorldConfig { public double batArmor = 0.0D; public double batArmorToughness = 0.0D; public double batAttackKnockback = 0.0D; @@ -1222,7 +1222,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void batSettings() { batRidable = getBoolean("mobs.bat.ridable", batRidable); batRidableInWater = getBoolean("mobs.bat.ridable-in-water", batRidableInWater); -@@ -611,6 +614,7 @@ public class PurpurWorldConfig { +@@ -609,6 +612,7 @@ public class PurpurWorldConfig { batArmor = getDouble("mobs.bat.attributes.armor", batArmor); batArmorToughness = getDouble("mobs.bat.attributes.armor_toughness", batArmorToughness); batAttackKnockback = getDouble("mobs.bat.attributes.attack_knockback", batAttackKnockback); @@ -1230,7 +1230,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean beeRidable = false; -@@ -619,6 +623,7 @@ public class PurpurWorldConfig { +@@ -617,6 +621,7 @@ public class PurpurWorldConfig { public double beeMaxY = 320D; public double beeMaxHealth = 10.0D; public int beeBreedingTicks = 6000; @@ -1238,7 +1238,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -631,6 +636,7 @@ public class PurpurWorldConfig { +@@ -629,6 +634,7 @@ public class PurpurWorldConfig { } beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth); beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks); @@ -1246,7 +1246,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean blazeRidable = false; -@@ -638,6 +644,7 @@ public class PurpurWorldConfig { +@@ -636,6 +642,7 @@ public class PurpurWorldConfig { public boolean blazeControllable = true; public double blazeMaxY = 320D; public double blazeMaxHealth = 20.0D; @@ -1254,7 +1254,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void blazeSettings() { blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable); blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater); -@@ -649,6 +656,7 @@ public class PurpurWorldConfig { +@@ -647,6 +654,7 @@ public class PurpurWorldConfig { set("mobs.blaze.attributes.max_health", oldValue); } blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth); @@ -1262,7 +1262,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean camelRidableInWater = false; -@@ -679,6 +687,7 @@ public class PurpurWorldConfig { +@@ -677,6 +685,7 @@ public class PurpurWorldConfig { public int catSpawnVillageScanRange = 48; public int catBreedingTicks = 6000; public DyeColor catDefaultCollarColor = DyeColor.RED; @@ -1270,7 +1270,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -698,12 +707,14 @@ public class PurpurWorldConfig { +@@ -696,12 +705,14 @@ public class PurpurWorldConfig { } catch (IllegalArgumentException ignore) { catDefaultCollarColor = DyeColor.RED; } @@ -1285,7 +1285,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void caveSpiderSettings() { caveSpiderRidable = getBoolean("mobs.cave_spider.ridable", caveSpiderRidable); caveSpiderRidableInWater = getBoolean("mobs.cave_spider.ridable-in-water", caveSpiderRidableInWater); -@@ -714,6 +725,7 @@ public class PurpurWorldConfig { +@@ -712,6 +723,7 @@ public class PurpurWorldConfig { set("mobs.cave_spider.attributes.max_health", oldValue); } caveSpiderMaxHealth = getDouble("mobs.cave_spider.attributes.max_health", caveSpiderMaxHealth); @@ -1293,7 +1293,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean chickenRidable = false; -@@ -722,6 +734,7 @@ public class PurpurWorldConfig { +@@ -720,6 +732,7 @@ public class PurpurWorldConfig { public double chickenMaxHealth = 4.0D; public boolean chickenRetaliate = false; public int chickenBreedingTicks = 6000; @@ -1301,7 +1301,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -734,11 +747,13 @@ public class PurpurWorldConfig { +@@ -732,11 +745,13 @@ public class PurpurWorldConfig { chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks); @@ -1315,7 +1315,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void codSettings() { codRidable = getBoolean("mobs.cod.ridable", codRidable); codControllable = getBoolean("mobs.cod.controllable", codControllable); -@@ -748,6 +763,7 @@ public class PurpurWorldConfig { +@@ -746,6 +761,7 @@ public class PurpurWorldConfig { set("mobs.cod.attributes.max_health", oldValue); } codMaxHealth = getDouble("mobs.cod.attributes.max_health", codMaxHealth); @@ -1323,7 +1323,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean cowRidable = false; -@@ -756,6 +772,7 @@ public class PurpurWorldConfig { +@@ -754,6 +770,7 @@ public class PurpurWorldConfig { public double cowMaxHealth = 10.0D; public int cowFeedMushrooms = 0; public int cowBreedingTicks = 6000; @@ -1331,7 +1331,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void cowSettings() { cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); -@@ -768,6 +785,7 @@ public class PurpurWorldConfig { +@@ -766,6 +783,7 @@ public class PurpurWorldConfig { cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks); @@ -1339,7 +1339,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean creeperRidable = false; -@@ -777,6 +795,7 @@ public class PurpurWorldConfig { +@@ -775,6 +793,7 @@ public class PurpurWorldConfig { public double creeperChargedChance = 0.0D; public boolean creeperAllowGriefing = true; public boolean creeperBypassMobGriefing = false; @@ -1347,7 +1347,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -790,6 +809,7 @@ public class PurpurWorldConfig { +@@ -788,6 +807,7 @@ public class PurpurWorldConfig { creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); @@ -1355,7 +1355,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean dolphinRidable = false; -@@ -799,6 +819,7 @@ public class PurpurWorldConfig { +@@ -797,6 +817,7 @@ public class PurpurWorldConfig { public float dolphinSpitDamage = 2.0F; public double dolphinMaxHealth = 10.0D; public boolean dolphinDisableTreasureSearching = false; @@ -1363,7 +1363,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -812,6 +833,7 @@ public class PurpurWorldConfig { +@@ -810,6 +831,7 @@ public class PurpurWorldConfig { } dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth); dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching); @@ -1371,7 +1371,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean donkeyRidableInWater = false; -@@ -822,6 +844,7 @@ public class PurpurWorldConfig { +@@ -820,6 +842,7 @@ public class PurpurWorldConfig { public double donkeyMovementSpeedMin = 0.175D; public double donkeyMovementSpeedMax = 0.175D; public int donkeyBreedingTicks = 6000; @@ -1379,7 +1379,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); if (PurpurConfig.version < 10) { -@@ -838,6 +861,7 @@ public class PurpurWorldConfig { +@@ -836,6 +859,7 @@ public class PurpurWorldConfig { donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin); donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax); donkeyBreedingTicks = getInt("mobs.donkey.breeding-delay-ticks", donkeyBreedingTicks); @@ -1387,7 +1387,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean drownedRidable = false; -@@ -848,6 +872,7 @@ public class PurpurWorldConfig { +@@ -846,6 +870,7 @@ public class PurpurWorldConfig { public boolean drownedJockeyOnlyBaby = true; public double drownedJockeyChance = 0.05D; public boolean drownedJockeyTryExistingChickens = true; @@ -1395,7 +1395,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -862,11 +887,13 @@ public class PurpurWorldConfig { +@@ -860,11 +885,13 @@ public class PurpurWorldConfig { drownedJockeyOnlyBaby = getBoolean("mobs.drowned.jockey.only-babies", drownedJockeyOnlyBaby); drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance); drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens); @@ -1409,7 +1409,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void elderGuardianSettings() { elderGuardianRidable = getBoolean("mobs.elder_guardian.ridable", elderGuardianRidable); elderGuardianControllable = getBoolean("mobs.elder_guardian.controllable", elderGuardianControllable); -@@ -876,6 +903,7 @@ public class PurpurWorldConfig { +@@ -874,6 +901,7 @@ public class PurpurWorldConfig { set("mobs.elder_guardian.attributes.max_health", oldValue); } elderGuardianMaxHealth = getDouble("mobs.elder_guardian.attributes.max_health", elderGuardianMaxHealth); @@ -1417,7 +1417,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean enderDragonRidable = false; -@@ -885,6 +913,7 @@ public class PurpurWorldConfig { +@@ -883,6 +911,7 @@ public class PurpurWorldConfig { public double enderDragonMaxHealth = 200.0D; public boolean enderDragonAlwaysDropsFullExp = false; public boolean enderDragonBypassMobGriefing = false; @@ -1425,7 +1425,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -902,6 +931,7 @@ public class PurpurWorldConfig { +@@ -900,6 +929,7 @@ public class PurpurWorldConfig { enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing); @@ -1433,7 +1433,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean endermanRidable = false; -@@ -911,6 +941,7 @@ public class PurpurWorldConfig { +@@ -909,6 +939,7 @@ public class PurpurWorldConfig { public boolean endermanAllowGriefing = true; public boolean endermanDespawnEvenWithBlock = false; public boolean endermanBypassMobGriefing = false; @@ -1441,7 +1441,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -924,12 +955,14 @@ public class PurpurWorldConfig { +@@ -922,12 +953,14 @@ public class PurpurWorldConfig { endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock); endermanBypassMobGriefing = getBoolean("mobs.enderman.bypass-mob-griefing", endermanBypassMobGriefing); @@ -1456,7 +1456,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void endermiteSettings() { endermiteRidable = getBoolean("mobs.endermite.ridable", endermiteRidable); endermiteRidableInWater = getBoolean("mobs.endermite.ridable-in-water", endermiteRidableInWater); -@@ -940,6 +973,7 @@ public class PurpurWorldConfig { +@@ -938,6 +971,7 @@ public class PurpurWorldConfig { set("mobs.endermite.attributes.max_health", oldValue); } endermiteMaxHealth = getDouble("mobs.endermite.attributes.max_health", endermiteMaxHealth); @@ -1464,7 +1464,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean evokerRidable = false; -@@ -947,6 +981,7 @@ public class PurpurWorldConfig { +@@ -945,6 +979,7 @@ public class PurpurWorldConfig { public boolean evokerControllable = true; public double evokerMaxHealth = 24.0D; public boolean evokerBypassMobGriefing = false; @@ -1472,7 +1472,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -958,6 +993,7 @@ public class PurpurWorldConfig { +@@ -956,6 +991,7 @@ public class PurpurWorldConfig { } evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth); evokerBypassMobGriefing = getBoolean("mobs.evoker.bypass-mob-griefing", evokerBypassMobGriefing); @@ -1480,7 +1480,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean foxRidable = false; -@@ -967,6 +1003,7 @@ public class PurpurWorldConfig { +@@ -965,6 +1001,7 @@ public class PurpurWorldConfig { public boolean foxTypeChangesWithTulips = false; public int foxBreedingTicks = 6000; public boolean foxBypassMobGriefing = false; @@ -1488,7 +1488,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -980,6 +1017,7 @@ public class PurpurWorldConfig { +@@ -978,6 +1015,7 @@ public class PurpurWorldConfig { foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks); foxBypassMobGriefing = getBoolean("mobs.fox.bypass-mob-griefing", foxBypassMobGriefing); @@ -1496,7 +1496,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean frogRidable = false; -@@ -1000,6 +1038,7 @@ public class PurpurWorldConfig { +@@ -998,6 +1036,7 @@ public class PurpurWorldConfig { public boolean ghastControllable = true; public double ghastMaxY = 320D; public double ghastMaxHealth = 10.0D; @@ -1504,7 +1504,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void ghastSettings() { ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable); ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater); -@@ -1011,6 +1050,7 @@ public class PurpurWorldConfig { +@@ -1009,6 +1048,7 @@ public class PurpurWorldConfig { set("mobs.ghast.attributes.max_health", oldValue); } ghastMaxHealth = getDouble("mobs.ghast.attributes.max_health", ghastMaxHealth); @@ -1512,7 +1512,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean giantRidable = false; -@@ -1023,6 +1063,7 @@ public class PurpurWorldConfig { +@@ -1021,6 +1061,7 @@ public class PurpurWorldConfig { public float giantJumpHeight = 1.0F; public boolean giantHaveAI = false; public boolean giantHaveHostileAI = false; @@ -1520,7 +1520,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -1043,17 +1084,20 @@ public class PurpurWorldConfig { +@@ -1041,17 +1082,20 @@ public class PurpurWorldConfig { giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight); giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI); giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI); @@ -1541,7 +1541,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean goatRidable = false; -@@ -1061,17 +1105,20 @@ public class PurpurWorldConfig { +@@ -1059,17 +1103,20 @@ public class PurpurWorldConfig { public boolean goatControllable = true; public double goatMaxHealth = 10.0D; public int goatBreedingTicks = 6000; @@ -1562,7 +1562,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void guardianSettings() { guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable); guardianControllable = getBoolean("mobs.guardian.controllable", guardianControllable); -@@ -1081,6 +1128,7 @@ public class PurpurWorldConfig { +@@ -1079,6 +1126,7 @@ public class PurpurWorldConfig { set("mobs.guardian.attributes.max_health", oldValue); } guardianMaxHealth = getDouble("mobs.guardian.attributes.max_health", guardianMaxHealth); @@ -1570,7 +1570,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean hoglinRidable = false; -@@ -1088,6 +1136,7 @@ public class PurpurWorldConfig { +@@ -1086,6 +1134,7 @@ public class PurpurWorldConfig { public boolean hoglinControllable = true; public double hoglinMaxHealth = 40.0D; public int hoglinBreedingTicks = 6000; @@ -1578,7 +1578,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -1099,6 +1148,7 @@ public class PurpurWorldConfig { +@@ -1097,6 +1146,7 @@ public class PurpurWorldConfig { } hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks); @@ -1586,7 +1586,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean horseRidableInWater = false; -@@ -1109,6 +1159,7 @@ public class PurpurWorldConfig { +@@ -1107,6 +1157,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; @@ -1594,7 +1594,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1125,6 +1176,7 @@ public class PurpurWorldConfig { +@@ -1123,6 +1174,7 @@ public class PurpurWorldConfig { horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin); horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax); horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks); @@ -1602,7 +1602,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean huskRidable = false; -@@ -1135,6 +1187,7 @@ public class PurpurWorldConfig { +@@ -1133,6 +1185,7 @@ public class PurpurWorldConfig { public boolean huskJockeyOnlyBaby = true; public double huskJockeyChance = 0.05D; public boolean huskJockeyTryExistingChickens = true; @@ -1610,7 +1610,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -1149,6 +1202,7 @@ public class PurpurWorldConfig { +@@ -1147,6 +1200,7 @@ public class PurpurWorldConfig { huskJockeyOnlyBaby = getBoolean("mobs.husk.jockey.only-babies", huskJockeyOnlyBaby); huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance); huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens); @@ -1618,7 +1618,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean illusionerRidable = false; -@@ -1157,6 +1211,7 @@ public class PurpurWorldConfig { +@@ -1155,6 +1209,7 @@ public class PurpurWorldConfig { public double illusionerMovementSpeed = 0.5D; public double illusionerFollowRange = 18.0D; public double illusionerMaxHealth = 32.0D; @@ -1626,7 +1626,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void illusionerSettings() { illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable); illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater); -@@ -1173,6 +1228,7 @@ public class PurpurWorldConfig { +@@ -1171,6 +1226,7 @@ public class PurpurWorldConfig { set("mobs.illusioner.attributes.max_health", oldValue); } illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max_health", illusionerMaxHealth); @@ -1634,7 +1634,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean ironGolemRidable = false; -@@ -1180,6 +1236,7 @@ public class PurpurWorldConfig { +@@ -1178,6 +1234,7 @@ public class PurpurWorldConfig { public boolean ironGolemControllable = true; public boolean ironGolemCanSwim = false; public double ironGolemMaxHealth = 100.0D; @@ -1642,7 +1642,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1191,6 +1248,7 @@ public class PurpurWorldConfig { +@@ -1189,6 +1246,7 @@ public class PurpurWorldConfig { set("mobs.iron_golem.attributes.max_health", oldValue); } ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth); @@ -1650,7 +1650,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean llamaRidable = false; -@@ -1203,6 +1261,7 @@ public class PurpurWorldConfig { +@@ -1201,6 +1259,7 @@ public class PurpurWorldConfig { public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMax = 0.175D; public int llamaBreedingTicks = 6000; @@ -1658,7 +1658,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1221,6 +1280,7 @@ public class PurpurWorldConfig { +@@ -1219,6 +1278,7 @@ public class PurpurWorldConfig { llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin); llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks); @@ -1666,7 +1666,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean magmaCubeRidable = false; -@@ -1230,6 +1290,7 @@ public class PurpurWorldConfig { +@@ -1228,6 +1288,7 @@ public class PurpurWorldConfig { public String magmaCubeAttackDamage = "size"; public Map magmaCubeMaxHealthCache = new HashMap<>(); public Map magmaCubeAttackDamageCache = new HashMap<>(); @@ -1674,7 +1674,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void magmaCubeSettings() { magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable); magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater); -@@ -1243,6 +1304,7 @@ public class PurpurWorldConfig { +@@ -1241,6 +1302,7 @@ public class PurpurWorldConfig { magmaCubeAttackDamage = getString("mobs.magma_cube.attributes.attack_damage", magmaCubeAttackDamage); magmaCubeMaxHealthCache.clear(); magmaCubeAttackDamageCache.clear(); @@ -1682,7 +1682,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean mooshroomRidable = false; -@@ -1250,6 +1312,7 @@ public class PurpurWorldConfig { +@@ -1248,6 +1310,7 @@ public class PurpurWorldConfig { public boolean mooshroomControllable = true; public double mooshroomMaxHealth = 10.0D; public int mooshroomBreedingTicks = 6000; @@ -1690,7 +1690,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1261,6 +1324,7 @@ public class PurpurWorldConfig { +@@ -1259,6 +1322,7 @@ public class PurpurWorldConfig { } mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks); @@ -1698,7 +1698,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean muleRidableInWater = false; -@@ -1271,6 +1335,7 @@ public class PurpurWorldConfig { +@@ -1269,6 +1333,7 @@ public class PurpurWorldConfig { public double muleMovementSpeedMin = 0.175D; public double muleMovementSpeedMax = 0.175D; public int muleBreedingTicks = 6000; @@ -1706,7 +1706,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1287,6 +1352,7 @@ public class PurpurWorldConfig { +@@ -1285,6 +1350,7 @@ public class PurpurWorldConfig { muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin); muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks); @@ -1714,7 +1714,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean ocelotRidable = false; -@@ -1294,6 +1360,7 @@ public class PurpurWorldConfig { +@@ -1292,6 +1358,7 @@ public class PurpurWorldConfig { public boolean ocelotControllable = true; public double ocelotMaxHealth = 10.0D; public int ocelotBreedingTicks = 6000; @@ -1722,7 +1722,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1305,6 +1372,7 @@ public class PurpurWorldConfig { +@@ -1303,6 +1370,7 @@ public class PurpurWorldConfig { } ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks); @@ -1730,7 +1730,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean pandaRidable = false; -@@ -1312,6 +1380,7 @@ public class PurpurWorldConfig { +@@ -1310,6 +1378,7 @@ public class PurpurWorldConfig { public boolean pandaControllable = true; public double pandaMaxHealth = 20.0D; public int pandaBreedingTicks = 6000; @@ -1738,7 +1738,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1323,6 +1392,7 @@ public class PurpurWorldConfig { +@@ -1321,6 +1390,7 @@ public class PurpurWorldConfig { } pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks); @@ -1746,7 +1746,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean parrotRidable = false; -@@ -1330,6 +1400,7 @@ public class PurpurWorldConfig { +@@ -1328,6 +1398,7 @@ public class PurpurWorldConfig { public boolean parrotControllable = true; public double parrotMaxY = 320D; public double parrotMaxHealth = 6.0D; @@ -1754,7 +1754,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1341,6 +1412,7 @@ public class PurpurWorldConfig { +@@ -1339,6 +1410,7 @@ public class PurpurWorldConfig { set("mobs.parrot.attributes.max_health", oldValue); } parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); @@ -1762,7 +1762,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean phantomRidable = false; -@@ -1367,6 +1439,7 @@ public class PurpurWorldConfig { +@@ -1365,6 +1437,7 @@ public class PurpurWorldConfig { public boolean phantomIgnorePlayersWithTorch = false; public boolean phantomBurnInDaylight = true; public boolean phantomFlamesOnSwoop = false; @@ -1770,7 +1770,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1401,6 +1474,7 @@ public class PurpurWorldConfig { +@@ -1399,6 +1472,7 @@ public class PurpurWorldConfig { phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight); phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop); @@ -1778,7 +1778,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean pigRidable = false; -@@ -1409,6 +1483,7 @@ public class PurpurWorldConfig { +@@ -1407,6 +1481,7 @@ public class PurpurWorldConfig { public double pigMaxHealth = 10.0D; public boolean pigGiveSaddleBack = false; public int pigBreedingTicks = 6000; @@ -1786,7 +1786,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -1421,6 +1496,7 @@ public class PurpurWorldConfig { +@@ -1419,6 +1494,7 @@ public class PurpurWorldConfig { pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks); @@ -1794,7 +1794,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean piglinRidable = false; -@@ -1428,6 +1504,7 @@ public class PurpurWorldConfig { +@@ -1426,6 +1502,7 @@ public class PurpurWorldConfig { public boolean piglinControllable = true; public double piglinMaxHealth = 16.0D; public boolean piglinBypassMobGriefing = false; @@ -1802,7 +1802,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1439,12 +1516,14 @@ public class PurpurWorldConfig { +@@ -1437,12 +1514,14 @@ public class PurpurWorldConfig { } piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); @@ -1817,7 +1817,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void piglinBruteSettings() { piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable); piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater); -@@ -1455,6 +1534,7 @@ public class PurpurWorldConfig { +@@ -1453,6 +1532,7 @@ public class PurpurWorldConfig { set("mobs.piglin_brute.attributes.max_health", oldValue); } piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth); @@ -1825,7 +1825,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean pillagerRidable = false; -@@ -1462,6 +1542,7 @@ public class PurpurWorldConfig { +@@ -1460,6 +1540,7 @@ public class PurpurWorldConfig { public boolean pillagerControllable = true; public double pillagerMaxHealth = 24.0D; public boolean pillagerBypassMobGriefing = false; @@ -1833,7 +1833,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -1473,6 +1554,7 @@ public class PurpurWorldConfig { +@@ -1471,6 +1552,7 @@ public class PurpurWorldConfig { } pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing); @@ -1841,7 +1841,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean polarBearRidable = false; -@@ -1482,6 +1564,7 @@ public class PurpurWorldConfig { +@@ -1480,6 +1562,7 @@ public class PurpurWorldConfig { public String polarBearBreedableItemString = ""; public Item polarBearBreedableItem = null; public int polarBearBreedingTicks = 6000; @@ -1849,7 +1849,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -1496,11 +1579,13 @@ public class PurpurWorldConfig { +@@ -1494,11 +1577,13 @@ public class PurpurWorldConfig { Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(polarBearBreedableItemString)); if (item != Items.AIR) polarBearBreedableItem = item; polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks); @@ -1863,7 +1863,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void pufferfishSettings() { pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable); pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable); -@@ -1510,6 +1595,7 @@ public class PurpurWorldConfig { +@@ -1508,6 +1593,7 @@ public class PurpurWorldConfig { set("mobs.pufferfish.attributes.max_health", oldValue); } pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth); @@ -1871,7 +1871,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean rabbitRidable = false; -@@ -1520,6 +1606,7 @@ public class PurpurWorldConfig { +@@ -1518,6 +1604,7 @@ public class PurpurWorldConfig { public double rabbitNaturalKiller = 0.0D; public int rabbitBreedingTicks = 6000; public boolean rabbitBypassMobGriefing = false; @@ -1879,7 +1879,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1534,6 +1621,7 @@ public class PurpurWorldConfig { +@@ -1532,6 +1619,7 @@ public class PurpurWorldConfig { rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); rabbitBypassMobGriefing = getBoolean("mobs.rabbit.bypass-mob-griefing", rabbitBypassMobGriefing); @@ -1887,7 +1887,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean ravagerRidable = false; -@@ -1541,6 +1629,7 @@ public class PurpurWorldConfig { +@@ -1539,6 +1627,7 @@ public class PurpurWorldConfig { public boolean ravagerControllable = true; public double ravagerMaxHealth = 100.0D; public boolean ravagerBypassMobGriefing = false; @@ -1895,7 +1895,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1552,11 +1641,13 @@ public class PurpurWorldConfig { +@@ -1550,11 +1639,13 @@ public class PurpurWorldConfig { } ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); @@ -1909,7 +1909,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void salmonSettings() { salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable); salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable); -@@ -1566,6 +1657,7 @@ public class PurpurWorldConfig { +@@ -1564,6 +1655,7 @@ public class PurpurWorldConfig { set("mobs.salmon.attributes.max_health", oldValue); } salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth); @@ -1917,7 +1917,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean sheepRidable = false; -@@ -1574,6 +1666,7 @@ public class PurpurWorldConfig { +@@ -1572,6 +1664,7 @@ public class PurpurWorldConfig { public double sheepMaxHealth = 8.0D; public int sheepBreedingTicks = 6000; public boolean sheepBypassMobGriefing = false; @@ -1925,7 +1925,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1586,12 +1679,14 @@ public class PurpurWorldConfig { +@@ -1584,12 +1677,14 @@ public class PurpurWorldConfig { sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing); @@ -1940,7 +1940,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -1602,6 +1697,7 @@ public class PurpurWorldConfig { +@@ -1600,6 +1695,7 @@ public class PurpurWorldConfig { set("mobs.shulker.attributes.max_health", oldValue); } shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth); @@ -1948,7 +1948,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean silverfishRidable = false; -@@ -1609,6 +1705,7 @@ public class PurpurWorldConfig { +@@ -1607,6 +1703,7 @@ public class PurpurWorldConfig { public boolean silverfishControllable = true; public double silverfishMaxHealth = 8.0D; public boolean silverfishBypassMobGriefing = false; @@ -1956,7 +1956,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -1620,12 +1717,14 @@ public class PurpurWorldConfig { +@@ -1618,12 +1715,14 @@ public class PurpurWorldConfig { } silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing); @@ -1971,7 +1971,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -1636,6 +1735,7 @@ public class PurpurWorldConfig { +@@ -1634,6 +1733,7 @@ public class PurpurWorldConfig { set("mobs.skeleton.attributes.max_health", oldValue); } skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth); @@ -1979,7 +1979,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean skeletonHorseRidableInWater = true; -@@ -1646,6 +1746,7 @@ public class PurpurWorldConfig { +@@ -1644,6 +1744,7 @@ public class PurpurWorldConfig { public double skeletonHorseJumpStrengthMax = 1.0D; public double skeletonHorseMovementSpeedMin = 0.2D; public double skeletonHorseMovementSpeedMax = 0.2D; @@ -1987,7 +1987,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void skeletonHorseSettings() { skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater); skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim); -@@ -1661,6 +1762,7 @@ public class PurpurWorldConfig { +@@ -1659,6 +1760,7 @@ public class PurpurWorldConfig { skeletonHorseJumpStrengthMax = getDouble("mobs.skeleton_horse.attributes.jump_strength.max", skeletonHorseJumpStrengthMax); skeletonHorseMovementSpeedMin = getDouble("mobs.skeleton_horse.attributes.movement_speed.min", skeletonHorseMovementSpeedMin); skeletonHorseMovementSpeedMax = getDouble("mobs.skeleton_horse.attributes.movement_speed.max", skeletonHorseMovementSpeedMax); @@ -1995,7 +1995,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean slimeRidable = false; -@@ -1670,6 +1772,7 @@ public class PurpurWorldConfig { +@@ -1668,6 +1770,7 @@ public class PurpurWorldConfig { public String slimeAttackDamage = "size"; public Map slimeMaxHealthCache = new HashMap<>(); public Map slimeAttackDamageCache = new HashMap<>(); @@ -2003,7 +2003,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void slimeSettings() { slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable); slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater); -@@ -1683,6 +1786,7 @@ public class PurpurWorldConfig { +@@ -1681,6 +1784,7 @@ public class PurpurWorldConfig { slimeAttackDamage = getString("mobs.slime.attributes.attack_damage", slimeAttackDamage); slimeMaxHealthCache.clear(); slimeAttackDamageCache.clear(); @@ -2011,7 +2011,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean snowGolemRidable = false; -@@ -1697,6 +1801,7 @@ public class PurpurWorldConfig { +@@ -1695,6 +1799,7 @@ public class PurpurWorldConfig { public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; @@ -2019,7 +2019,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1715,6 +1820,7 @@ public class PurpurWorldConfig { +@@ -1713,6 +1818,7 @@ public class PurpurWorldConfig { snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier); snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance); snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing); @@ -2027,7 +2027,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean snifferRidable = false; -@@ -1736,6 +1842,7 @@ public class PurpurWorldConfig { +@@ -1734,6 +1840,7 @@ public class PurpurWorldConfig { public boolean squidImmuneToEAR = true; public double squidOffsetWaterCheck = 0.0D; public boolean squidsCanFly = false; @@ -2035,7 +2035,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -1748,12 +1855,14 @@ public class PurpurWorldConfig { +@@ -1746,12 +1853,14 @@ public class PurpurWorldConfig { squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly); @@ -2050,7 +2050,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -1764,12 +1873,14 @@ public class PurpurWorldConfig { +@@ -1762,12 +1871,14 @@ public class PurpurWorldConfig { set("mobs.spider.attributes.max_health", oldValue); } spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth); @@ -2065,7 +2065,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void straySettings() { strayRidable = getBoolean("mobs.stray.ridable", strayRidable); strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater); -@@ -1780,6 +1891,7 @@ public class PurpurWorldConfig { +@@ -1778,6 +1889,7 @@ public class PurpurWorldConfig { set("mobs.stray.attributes.max_health", oldValue); } strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth); @@ -2073,7 +2073,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean striderRidable = false; -@@ -1788,6 +1900,7 @@ public class PurpurWorldConfig { +@@ -1786,6 +1898,7 @@ public class PurpurWorldConfig { public double striderMaxHealth = 20.0D; public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; @@ -2081,7 +2081,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1800,6 +1913,7 @@ public class PurpurWorldConfig { +@@ -1798,6 +1911,7 @@ public class PurpurWorldConfig { striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack); @@ -2089,7 +2089,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean tadpoleRidable = false; -@@ -1821,6 +1935,7 @@ public class PurpurWorldConfig { +@@ -1819,6 +1933,7 @@ public class PurpurWorldConfig { public double traderLlamaMovementSpeedMin = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D; public int traderLlamaBreedingTicks = 6000; @@ -2097,7 +2097,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -1839,11 +1954,13 @@ public class PurpurWorldConfig { +@@ -1837,11 +1952,13 @@ public class PurpurWorldConfig { traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin); traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks); @@ -2111,7 +2111,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void tropicalFishSettings() { tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable); -@@ -1853,6 +1970,7 @@ public class PurpurWorldConfig { +@@ -1851,6 +1968,7 @@ public class PurpurWorldConfig { set("mobs.tropical_fish.attributes.max_health", oldValue); } tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth); @@ -2119,7 +2119,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean turtleRidable = false; -@@ -1860,6 +1978,7 @@ public class PurpurWorldConfig { +@@ -1858,6 +1976,7 @@ public class PurpurWorldConfig { public boolean turtleControllable = true; public double turtleMaxHealth = 30.0D; public int turtleBreedingTicks = 6000; @@ -2127,7 +2127,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -1871,6 +1990,7 @@ public class PurpurWorldConfig { +@@ -1869,6 +1988,7 @@ public class PurpurWorldConfig { } turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks); @@ -2135,7 +2135,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean vexRidable = false; -@@ -1878,6 +1998,7 @@ public class PurpurWorldConfig { +@@ -1876,6 +1996,7 @@ public class PurpurWorldConfig { public boolean vexControllable = true; public double vexMaxY = 320D; public double vexMaxHealth = 14.0D; @@ -2143,7 +2143,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void vexSettings() { vexRidable = getBoolean("mobs.vex.ridable", vexRidable); vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater); -@@ -1889,6 +2010,7 @@ public class PurpurWorldConfig { +@@ -1887,6 +2008,7 @@ public class PurpurWorldConfig { set("mobs.vex.attributes.max_health", oldValue); } vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth); @@ -2151,7 +2151,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean villagerRidable = false; -@@ -1902,6 +2024,7 @@ public class PurpurWorldConfig { +@@ -1900,6 +2022,7 @@ public class PurpurWorldConfig { public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; public boolean villagerBypassMobGriefing = false; @@ -2159,7 +2159,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1919,6 +2042,7 @@ public class PurpurWorldConfig { +@@ -1917,6 +2040,7 @@ public class PurpurWorldConfig { villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); @@ -2167,7 +2167,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean vindicatorRidable = false; -@@ -1926,6 +2050,7 @@ public class PurpurWorldConfig { +@@ -1924,6 +2048,7 @@ public class PurpurWorldConfig { public boolean vindicatorControllable = true; public double vindicatorMaxHealth = 24.0D; public double vindicatorJohnnySpawnChance = 0D; @@ -2175,7 +2175,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -1937,6 +2062,7 @@ public class PurpurWorldConfig { +@@ -1935,6 +2060,7 @@ public class PurpurWorldConfig { } vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance); @@ -2183,7 +2183,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean wanderingTraderRidable = false; -@@ -1945,6 +2071,7 @@ public class PurpurWorldConfig { +@@ -1943,6 +2069,7 @@ public class PurpurWorldConfig { public double wanderingTraderMaxHealth = 20.0D; public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderCanBeLeashed = false; @@ -2191,7 +2191,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1957,6 +2084,7 @@ public class PurpurWorldConfig { +@@ -1955,6 +2082,7 @@ public class PurpurWorldConfig { wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); @@ -2199,7 +2199,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean wardenRidable = false; -@@ -1972,6 +2100,7 @@ public class PurpurWorldConfig { +@@ -1970,6 +2098,7 @@ public class PurpurWorldConfig { public boolean witchRidableInWater = true; public boolean witchControllable = true; public double witchMaxHealth = 26.0D; @@ -2207,7 +2207,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void witchSettings() { witchRidable = getBoolean("mobs.witch.ridable", witchRidable); witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater); -@@ -1982,6 +2111,7 @@ public class PurpurWorldConfig { +@@ -1980,6 +2109,7 @@ public class PurpurWorldConfig { set("mobs.witch.attributes.max_health", oldValue); } witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth); @@ -2215,7 +2215,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean witherRidable = false; -@@ -1992,6 +2122,7 @@ public class PurpurWorldConfig { +@@ -1990,6 +2120,7 @@ public class PurpurWorldConfig { public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; @@ -2223,7 +2223,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2010,12 +2141,14 @@ public class PurpurWorldConfig { +@@ -2008,12 +2139,14 @@ public class PurpurWorldConfig { witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); @@ -2238,7 +2238,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void witherSkeletonSettings() { witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); -@@ -2026,6 +2159,7 @@ public class PurpurWorldConfig { +@@ -2024,6 +2157,7 @@ public class PurpurWorldConfig { set("mobs.wither_skeleton.attributes.max_health", oldValue); } witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth); @@ -2246,7 +2246,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean wolfRidable = false; -@@ -2036,6 +2170,7 @@ public class PurpurWorldConfig { +@@ -2034,6 +2168,7 @@ public class PurpurWorldConfig { public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; @@ -2254,7 +2254,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -2054,12 +2189,14 @@ public class PurpurWorldConfig { +@@ -2052,12 +2187,14 @@ public class PurpurWorldConfig { wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies); wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid); wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks); @@ -2269,7 +2269,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void zoglinSettings() { zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable); zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater); -@@ -2070,6 +2207,7 @@ public class PurpurWorldConfig { +@@ -2068,6 +2205,7 @@ public class PurpurWorldConfig { set("mobs.zoglin.attributes.max_health", oldValue); } zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth); @@ -2277,7 +2277,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean zombieRidable = false; -@@ -2082,6 +2220,7 @@ public class PurpurWorldConfig { +@@ -2080,6 +2218,7 @@ public class PurpurWorldConfig { public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieBypassMobGriefing = false; @@ -2285,7 +2285,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2098,6 +2237,7 @@ public class PurpurWorldConfig { +@@ -2096,6 +2235,7 @@ public class PurpurWorldConfig { zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing); @@ -2293,7 +2293,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean zombieHorseRidableInWater = false; -@@ -2109,6 +2249,7 @@ public class PurpurWorldConfig { +@@ -2107,6 +2247,7 @@ public class PurpurWorldConfig { public double zombieHorseMovementSpeedMin = 0.2D; public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseSpawnChance = 0.0D; @@ -2301,7 +2301,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void zombieHorseSettings() { zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); -@@ -2125,6 +2266,7 @@ public class PurpurWorldConfig { +@@ -2123,6 +2264,7 @@ public class PurpurWorldConfig { zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin); zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax); zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance); @@ -2309,7 +2309,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean zombieVillagerRidable = false; -@@ -2135,6 +2277,7 @@ public class PurpurWorldConfig { +@@ -2133,6 +2275,7 @@ public class PurpurWorldConfig { public boolean zombieVillagerJockeyOnlyBaby = true; public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; @@ -2317,7 +2317,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2149,6 +2292,7 @@ public class PurpurWorldConfig { +@@ -2147,6 +2290,7 @@ public class PurpurWorldConfig { zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby); zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance); zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); @@ -2325,7 +2325,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 } public boolean zombifiedPiglinRidable = false; -@@ -2160,6 +2304,7 @@ public class PurpurWorldConfig { +@@ -2158,6 +2302,7 @@ public class PurpurWorldConfig { public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; @@ -2333,7 +2333,7 @@ index 0b355dfaecafead7f11a7d55aaaf1e8e208a56fc..ac2d30baa7b8111e0f629b1160b6d252 private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -2175,5 +2320,6 @@ public class PurpurWorldConfig { +@@ -2173,5 +2318,6 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance); zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); diff --git a/patches/server/0131-Config-to-always-tame-in-Creative.patch b/patches/server/0131-Config-to-always-tame-in-Creative.patch index 399851ce0..70ead4a8b 100644 --- a/patches/server/0131-Config-to-always-tame-in-Creative.patch +++ b/patches/server/0131-Config-to-always-tame-in-Creative.patch @@ -59,10 +59,10 @@ index f3c3db958c359b3b032bd54c7732f16fce108ec3..c967302542eeac0bad33c3b53b7d5b2a this.navigation.stop(); this.setTarget((LivingEntity) null); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ac2d30baa7b8111e0f629b1160b6d252ab09b1c4..2dbe2676806eb1d779ad78c0bfc33d836878a690 100644 +index d077e5c5bc108d7ad37caf8339be449fe27960a1..9f136f87117de89eac06da9e79fb844b20fe5967 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -119,6 +119,7 @@ public class PurpurWorldConfig { +@@ -117,6 +117,7 @@ public class PurpurWorldConfig { } public boolean useBetterMending = false; @@ -70,7 +70,7 @@ index ac2d30baa7b8111e0f629b1160b6d252ab09b1c4..2dbe2676806eb1d779ad78c0bfc33d83 public boolean boatEjectPlayersOnLand = false; public boolean boatsDoFallDamage = false; public boolean disableDropsOnCrammingDeath = false; -@@ -137,6 +138,7 @@ public class PurpurWorldConfig { +@@ -135,6 +136,7 @@ public class PurpurWorldConfig { public int animalBreedingCooldownSeconds = 0; private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); diff --git a/patches/server/0132-End-crystal-explosion-options.patch b/patches/server/0132-End-crystal-explosion-options.patch index be5c9184f..72fd375a7 100644 --- a/patches/server/0132-End-crystal-explosion-options.patch +++ b/patches/server/0132-End-crystal-explosion-options.patch @@ -53,10 +53,10 @@ index ef0098e46bda8abc456f2bb5929d874c6aeb8698..564d17bc460e2a04947ff9676fbf4c8b this.onDestroyedBy(source); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2dbe2676806eb1d779ad78c0bfc33d836878a690..2bcd681d93e83eaefe23f017e5451c74823fd7e8 100644 +index 9f136f87117de89eac06da9e79fb844b20fe5967..b16a62ea9e57d4114fc9f0c5c9fce0c14983cea0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -470,6 +470,43 @@ public class PurpurWorldConfig { +@@ -468,6 +468,43 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } diff --git a/patches/server/0133-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch b/patches/server/0133-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch index 6ebfedf9b..8d5b616e0 100644 --- a/patches/server/0133-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch +++ b/patches/server/0133-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch @@ -29,10 +29,10 @@ index 6056180cf792534b450cb00977b5f7bc011d0ae4..257cd3ea1830b46d1c51242cd639c4f0 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2bcd681d93e83eaefe23f017e5451c74823fd7e8..096b81f19f22a6724b349e7078aa802321413557 100644 +index b16a62ea9e57d4114fc9f0c5c9fce0c14983cea0..fd2865f5be6bffd8fcbbac35151e9dde2149ab8d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -953,6 +953,7 @@ public class PurpurWorldConfig { +@@ -951,6 +951,7 @@ public class PurpurWorldConfig { public boolean enderDragonAlwaysDropsFullExp = false; public boolean enderDragonBypassMobGriefing = false; public boolean enderDragonTakeDamageFromWater = false; @@ -40,7 +40,7 @@ index 2bcd681d93e83eaefe23f017e5451c74823fd7e8..096b81f19f22a6724b349e7078aa8023 private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -971,6 +972,7 @@ public class PurpurWorldConfig { +@@ -969,6 +970,7 @@ public class PurpurWorldConfig { enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing); enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater); @@ -48,7 +48,7 @@ index 2bcd681d93e83eaefe23f017e5451c74823fd7e8..096b81f19f22a6724b349e7078aa8023 } public boolean endermanRidable = false; -@@ -2162,6 +2164,7 @@ public class PurpurWorldConfig { +@@ -2160,6 +2162,7 @@ public class PurpurWorldConfig { public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; public boolean witherTakeDamageFromWater = false; @@ -56,7 +56,7 @@ index 2bcd681d93e83eaefe23f017e5451c74823fd7e8..096b81f19f22a6724b349e7078aa8023 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2181,6 +2184,7 @@ public class PurpurWorldConfig { +@@ -2179,6 +2182,7 @@ public class PurpurWorldConfig { witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); diff --git a/patches/server/0134-Dont-run-with-scissors.patch b/patches/server/0134-Dont-run-with-scissors.patch index 0dc50fdc5..48be07091 100644 --- a/patches/server/0134-Dont-run-with-scissors.patch +++ b/patches/server/0134-Dont-run-with-scissors.patch @@ -107,10 +107,10 @@ index 04c8fb96bf347469ab9a0934cc50b7e06767a0ae..d5fb09b5f0f6a72addaa6a3053fa29b4 public static String serverModName = "Purpur"; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 096b81f19f22a6724b349e7078aa802321413557..e904831cbfbfe15b7b8d3fb60a95f643e73e9beb 100644 +index fd2865f5be6bffd8fcbbac35151e9dde2149ab8d..dec3823baee9264ea5257993d9b30df337e2d9bd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -199,6 +199,10 @@ public class PurpurWorldConfig { +@@ -197,6 +197,10 @@ public class PurpurWorldConfig { public List itemImmuneToExplosion = new ArrayList<>(); public List itemImmuneToFire = new ArrayList<>(); public List itemImmuneToLightning = new ArrayList<>(); @@ -121,7 +121,7 @@ index 096b81f19f22a6724b349e7078aa802321413557..e904831cbfbfe15b7b8d3fb60a95f643 private void itemSettings() { itemImmuneToCactus.clear(); getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { -@@ -236,6 +240,10 @@ public class PurpurWorldConfig { +@@ -234,6 +238,10 @@ public class PurpurWorldConfig { Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(key.toString())); if (item != Items.AIR) itemImmuneToLightning.add(item); }); diff --git a/patches/server/0135-One-Punch-Man.patch b/patches/server/0135-One-Punch-Man.patch index 1306b08e3..3d67eeb1e 100644 --- a/patches/server/0135-One-Punch-Man.patch +++ b/patches/server/0135-One-Punch-Man.patch @@ -30,10 +30,10 @@ index 04b98c7c738682f5c1da27a6873a814eaca5d14b..9a4ac87ae3cc766ba4080cf5b4f3743d if (human) { // PAIL: Be sure to drag all this code from the EntityHuman subclass each update. diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e904831cbfbfe15b7b8d3fb60a95f643e73e9beb..5811fa10f499c213d97fa76249d12197c9585bc3 100644 +index dec3823baee9264ea5257993d9b30df337e2d9bd..c0a6940d923a85c923502c07df11cceba093cc95 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -348,6 +348,7 @@ public class PurpurWorldConfig { +@@ -346,6 +346,7 @@ public class PurpurWorldConfig { public boolean teleportIfOutsideBorder = false; public boolean totemOfUndyingWorksInInventory = false; public boolean playerFixStuckPortal = false; @@ -41,7 +41,7 @@ index e904831cbfbfe15b7b8d3fb60a95f643e73e9beb..5811fa10f499c213d97fa76249d12197 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -366,6 +367,7 @@ public class PurpurWorldConfig { +@@ -364,6 +365,7 @@ public class PurpurWorldConfig { teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder); totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory); playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal); diff --git a/patches/server/0136-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch b/patches/server/0136-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch index 136b0421d..a98af83ab 100644 --- a/patches/server/0136-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch +++ b/patches/server/0136-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch @@ -43,10 +43,10 @@ index 749ab72edc0d2e9c6f1161415ab8d59d3d6ca976..897c202c0905040072a06fdfa2032a7f // Paper end if (user instanceof net.minecraft.server.level.ServerPlayer) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5811fa10f499c213d97fa76249d12197c9585bc3..75c66fe3feb853ffe2c852f6826199e0590dfd9a 100644 +index c0a6940d923a85c923502c07df11cceba093cc95..02f332f2d1497668fbdf2e430d757f8699dc3a9a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -203,6 +203,10 @@ public class PurpurWorldConfig { +@@ -201,6 +201,10 @@ public class PurpurWorldConfig { public boolean ignoreScissorsInWater = false; public boolean ignoreScissorsInLava = false; public double scissorsRunningDamage = 1D; @@ -57,7 +57,7 @@ index 5811fa10f499c213d97fa76249d12197c9585bc3..75c66fe3feb853ffe2c852f6826199e0 private void itemSettings() { itemImmuneToCactus.clear(); getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { -@@ -244,6 +248,10 @@ public class PurpurWorldConfig { +@@ -242,6 +246,10 @@ public class PurpurWorldConfig { ignoreScissorsInWater = getBoolean("gameplay-mechanics.item.shears.ignore-in-water", ignoreScissorsInWater); ignoreScissorsInLava = getBoolean("gameplay-mechanics.item.shears.ignore-in-lava", ignoreScissorsInLava); scissorsRunningDamage = getDouble("gameplay-mechanics.item.shears.sprinting-damage", scissorsRunningDamage); diff --git a/patches/server/0137-Config-to-ignore-nearby-mobs-when-sleeping.patch b/patches/server/0137-Config-to-ignore-nearby-mobs-when-sleeping.patch index a64db4550..95b61a9f3 100644 --- a/patches/server/0137-Config-to-ignore-nearby-mobs-when-sleeping.patch +++ b/patches/server/0137-Config-to-ignore-nearby-mobs-when-sleeping.patch @@ -18,10 +18,10 @@ index c8c51b8365e5b0129c7cd925f759e4cefc11d021..6604c6d7da7867da29054d5dd003eb2b } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 75c66fe3feb853ffe2c852f6826199e0590dfd9a..d9b2cda4e20c85d5378562dadd0b4a2287477a17 100644 +index 02f332f2d1497668fbdf2e430d757f8699dc3a9a..7db005d02e762163c403a8358281afc2fa4f2df1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -357,6 +357,7 @@ public class PurpurWorldConfig { +@@ -355,6 +355,7 @@ public class PurpurWorldConfig { public boolean totemOfUndyingWorksInInventory = false; public boolean playerFixStuckPortal = false; public boolean creativeOnePunch = false; @@ -29,7 +29,7 @@ index 75c66fe3feb853ffe2c852f6826199e0590dfd9a..d9b2cda4e20c85d5378562dadd0b4a22 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -376,6 +377,7 @@ public class PurpurWorldConfig { +@@ -374,6 +375,7 @@ public class PurpurWorldConfig { totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory); playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal); creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch); diff --git a/patches/server/0139-Config-Enderman-aggressiveness-towards-Endermites.patch b/patches/server/0139-Config-Enderman-aggressiveness-towards-Endermites.patch index 5b0b1fefd..1bf71dd9e 100644 --- a/patches/server/0139-Config-Enderman-aggressiveness-towards-Endermites.patch +++ b/patches/server/0139-Config-Enderman-aggressiveness-towards-Endermites.patch @@ -18,10 +18,10 @@ index d4d4ad5dfa776a39eabb840ed5b49acb8d37f587..ea596b7344f1849a8c6a8d536881c9a8 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d9b2cda4e20c85d5378562dadd0b4a2287477a17..11be23755d469d62a744cc5f68f3cf8422f52c87 100644 +index 7db005d02e762163c403a8358281afc2fa4f2df1..a10a43afa33a025e89474786810db45241c145c5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1003,6 +1003,8 @@ public class PurpurWorldConfig { +@@ -1001,6 +1001,8 @@ public class PurpurWorldConfig { public boolean endermanDespawnEvenWithBlock = false; public boolean endermanBypassMobGriefing = false; public boolean endermanTakeDamageFromWater = true; @@ -30,7 +30,7 @@ index d9b2cda4e20c85d5378562dadd0b4a2287477a17..11be23755d469d62a744cc5f68f3cf84 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1012,11 +1014,17 @@ public class PurpurWorldConfig { +@@ -1010,11 +1012,17 @@ public class PurpurWorldConfig { set("mobs.enderman.attributes.max-health", null); set("mobs.enderman.attributes.max_health", oldValue); } diff --git a/patches/server/0140-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch b/patches/server/0140-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch index fa7264206..9a8380841 100644 --- a/patches/server/0140-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch +++ b/patches/server/0140-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch @@ -20,10 +20,10 @@ index ea596b7344f1849a8c6a8d536881c9a8b9cadb86..f4bf81ebcc792c8e04fa700e84b13b3b } else { Vec3 vec3d = player.getViewVector(1.0F).normalize(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 11be23755d469d62a744cc5f68f3cf8422f52c87..75b2e968086200a42e06d638eab171c0e7331f3d 100644 +index a10a43afa33a025e89474786810db45241c145c5..27581d6a560398e4e18425cfccd80e1dd9ec4dde 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1005,6 +1005,8 @@ public class PurpurWorldConfig { +@@ -1003,6 +1003,8 @@ public class PurpurWorldConfig { public boolean endermanTakeDamageFromWater = true; public boolean endermanAggroEndermites = true; public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; @@ -32,7 +32,7 @@ index 11be23755d469d62a744cc5f68f3cf8422f52c87..75b2e968086200a42e06d638eab171c0 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1025,6 +1027,8 @@ public class PurpurWorldConfig { +@@ -1023,6 +1025,8 @@ public class PurpurWorldConfig { endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater); endermanAggroEndermites = getBoolean("mobs.enderman.aggressive-towards-endermites", endermanAggroEndermites); endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned); diff --git a/patches/server/0141-Tick-fluids-config.patch b/patches/server/0141-Tick-fluids-config.patch index 1a984c171..7ad38eb66 100644 --- a/patches/server/0141-Tick-fluids-config.patch +++ b/patches/server/0141-Tick-fluids-config.patch @@ -36,10 +36,10 @@ index bbabe4ad8afcc3a2069f6e9d4a9adcb643266894..55419bd653f7f5391fa13cd15a0b00fb } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 75b2e968086200a42e06d638eab171c0e7331f3d..6d3196d6d069ee85342c6e14b1ca2f58b2e87edf 100644 +index 27581d6a560398e4e18425cfccd80e1dd9ec4dde..ea25998e4855b6e900ed96e1d814231da97ea325 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -131,6 +131,7 @@ public class PurpurWorldConfig { +@@ -129,6 +129,7 @@ public class PurpurWorldConfig { public boolean noteBlockIgnoreAbove = false; public boolean persistentDroppableEntityDisplayNames = true; public boolean projectilesBypassMobGriefing = false; @@ -47,7 +47,7 @@ index 75b2e968086200a42e06d638eab171c0e7331f3d..6d3196d6d069ee85342c6e14b1ca2f58 public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; -@@ -150,6 +151,7 @@ public class PurpurWorldConfig { +@@ -148,6 +149,7 @@ public class PurpurWorldConfig { noteBlockIgnoreAbove = getBoolean("gameplay-mechanics.note-block-ignore-above", noteBlockIgnoreAbove); persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames); projectilesBypassMobGriefing = getBoolean("gameplay-mechanics.projectiles-bypass-mob-griefing", projectilesBypassMobGriefing); diff --git a/patches/server/0142-Config-to-disable-Llama-caravans.patch b/patches/server/0142-Config-to-disable-Llama-caravans.patch index b3e7f8bbf..55d233b79 100644 --- a/patches/server/0142-Config-to-disable-Llama-caravans.patch +++ b/patches/server/0142-Config-to-disable-Llama-caravans.patch @@ -32,10 +32,10 @@ index b7450d182ecf10ef17ac9eb3fce04e4334013c91..fac46dd905f9a634cff393494f6ff040 this.caravanHead.caravanTail = this; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6d3196d6d069ee85342c6e14b1ca2f58b2e87edf..750b54e314e9016767ce2bd1ee12dfda84a69399 100644 +index ea25998e4855b6e900ed96e1d814231da97ea325..eed4919f50c081fc98ec448b99ee34083f72aa26 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1337,6 +1337,7 @@ public class PurpurWorldConfig { +@@ -1335,6 +1335,7 @@ public class PurpurWorldConfig { public double llamaMovementSpeedMax = 0.175D; public int llamaBreedingTicks = 6000; public boolean llamaTakeDamageFromWater = false; @@ -43,7 +43,7 @@ index 6d3196d6d069ee85342c6e14b1ca2f58b2e87edf..750b54e314e9016767ce2bd1ee12dfda private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1356,6 +1357,7 @@ public class PurpurWorldConfig { +@@ -1354,6 +1355,7 @@ public class PurpurWorldConfig { llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks); llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater); diff --git a/patches/server/0143-Config-to-make-Creepers-explode-on-death.patch b/patches/server/0143-Config-to-make-Creepers-explode-on-death.patch index 2a826e85b..3b1ec1066 100644 --- a/patches/server/0143-Config-to-make-Creepers-explode-on-death.patch +++ b/patches/server/0143-Config-to-make-Creepers-explode-on-death.patch @@ -50,10 +50,10 @@ index e8191f0df3420d5a531cf226547a177732ff65ea..fd3b1e92a626402112bbd371a0ac1264 private void spawnLingeringCloud() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 750b54e314e9016767ce2bd1ee12dfda84a69399..a823c680249c8d4e5f0b7d7028b53561ef4aa1f3 100644 +index eed4919f50c081fc98ec448b99ee34083f72aa26..f477176dd6ba0b093fe81f11acfe98ddb25723cd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -857,6 +857,7 @@ public class PurpurWorldConfig { +@@ -855,6 +855,7 @@ public class PurpurWorldConfig { public boolean creeperAllowGriefing = true; public boolean creeperBypassMobGriefing = false; public boolean creeperTakeDamageFromWater = false; @@ -61,7 +61,7 @@ index 750b54e314e9016767ce2bd1ee12dfda84a69399..a823c680249c8d4e5f0b7d7028b53561 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -871,6 +872,7 @@ public class PurpurWorldConfig { +@@ -869,6 +870,7 @@ public class PurpurWorldConfig { creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater); diff --git a/patches/server/0144-Configurable-ravager-griefable-blocks-list.patch b/patches/server/0144-Configurable-ravager-griefable-blocks-list.patch index 87b329571..09d963849 100644 --- a/patches/server/0144-Configurable-ravager-griefable-blocks-list.patch +++ b/patches/server/0144-Configurable-ravager-griefable-blocks-list.patch @@ -31,10 +31,10 @@ index 5ba5a510b30917235e135ccda1b7c98cb7dd93ec..373fda589014c71c07170ec6707d5ff6 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a823c680249c8d4e5f0b7d7028b53561ef4aa1f3..cd8148b7faa523c0a38b3d6a9bab5b142b552f92 100644 +index f477176dd6ba0b093fe81f11acfe98ddb25723cd..b946f607cd1689e6eae4759e100500c4db5c647f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1709,6 +1709,7 @@ public class PurpurWorldConfig { +@@ -1707,6 +1707,7 @@ public class PurpurWorldConfig { public double ravagerMaxHealth = 100.0D; public boolean ravagerBypassMobGriefing = false; public boolean ravagerTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index a823c680249c8d4e5f0b7d7028b53561ef4aa1f3..cd8148b7faa523c0a38b3d6a9bab5b14 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1721,6 +1722,23 @@ public class PurpurWorldConfig { +@@ -1719,6 +1720,23 @@ public class PurpurWorldConfig { ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater); diff --git a/patches/server/0145-Sneak-to-bulk-process-composter.patch b/patches/server/0145-Sneak-to-bulk-process-composter.patch index 140cd5b38..ec6f65461 100644 --- a/patches/server/0145-Sneak-to-bulk-process-composter.patch +++ b/patches/server/0145-Sneak-to-bulk-process-composter.patch @@ -90,10 +90,10 @@ index 10d3912ef043eefdf89105332e29b0d2bf4a5539..596b77306f690a2298835f0f0fea1abe int i = (Integer) state.getValue(ComposterBlock.LEVEL); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index cd8148b7faa523c0a38b3d6a9bab5b142b552f92..1acb97315f3d337ed022d93dbad577d8406357a7 100644 +index b946f607cd1689e6eae4759e100500c4db5c647f..57f5792a06e55c7d7e9f0bf20c89c5d4337abd8d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -485,6 +485,11 @@ public class PurpurWorldConfig { +@@ -483,6 +483,11 @@ public class PurpurWorldConfig { chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop); } diff --git a/patches/server/0146-Config-for-skipping-night.patch b/patches/server/0146-Config-for-skipping-night.patch index b8f2db305..e6ef57be2 100644 --- a/patches/server/0146-Config-for-skipping-night.patch +++ b/patches/server/0146-Config-for-skipping-night.patch @@ -18,10 +18,10 @@ index 0e8452f6a8300992f397fb15db763304d72fe3b9..49c412f46854ee877de1721b08629e8a j = this.levelData.getDayTime() + 24000L; TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime()); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1acb97315f3d337ed022d93dbad577d8406357a7..955fee5b85ea5efe76c55b79b63db661163f59cc 100644 +index 57f5792a06e55c7d7e9f0bf20c89c5d4337abd8d..c324b47449148a2b07b748cca456faa67c9358ba 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -360,6 +360,7 @@ public class PurpurWorldConfig { +@@ -358,6 +358,7 @@ public class PurpurWorldConfig { public boolean playerFixStuckPortal = false; public boolean creativeOnePunch = false; public boolean playerSleepNearMonsters = false; @@ -29,7 +29,7 @@ index 1acb97315f3d337ed022d93dbad577d8406357a7..955fee5b85ea5efe76c55b79b63db661 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -380,6 +381,7 @@ public class PurpurWorldConfig { +@@ -378,6 +379,7 @@ public class PurpurWorldConfig { playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal); creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch); playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters); diff --git a/patches/server/0147-Add-config-for-villager-trading.patch b/patches/server/0147-Add-config-for-villager-trading.patch index 1029b8cf5..e77624d45 100644 --- a/patches/server/0147-Add-config-for-villager-trading.patch +++ b/patches/server/0147-Add-config-for-villager-trading.patch @@ -31,10 +31,10 @@ index 5c6f1d3ffa2a2b6990d2406b14679e8286f60729..68d263a7647e395d981014f7cc761fe7 this.openTradingScreen(player, this.getDisplayName(), 1); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 955fee5b85ea5efe76c55b79b63db661163f59cc..8a6ed1f0122f8fd7e3c25145dfe5f3c1a397fcc2 100644 +index c324b47449148a2b07b748cca456faa67c9358ba..37ee42c46d469e11dc48eb292442beaac3e74445 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2129,6 +2129,7 @@ public class PurpurWorldConfig { +@@ -2127,6 +2127,7 @@ public class PurpurWorldConfig { public boolean villagerClericFarmersThrowWarts = true; public boolean villagerBypassMobGriefing = false; public boolean villagerTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index 955fee5b85ea5efe76c55b79b63db661163f59cc..8a6ed1f0122f8fd7e3c25145dfe5f3c1 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2147,6 +2148,7 @@ public class PurpurWorldConfig { +@@ -2145,6 +2146,7 @@ public class PurpurWorldConfig { villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); @@ -50,7 +50,7 @@ index 955fee5b85ea5efe76c55b79b63db661163f59cc..8a6ed1f0122f8fd7e3c25145dfe5f3c1 } public boolean vindicatorRidable = false; -@@ -2176,6 +2178,7 @@ public class PurpurWorldConfig { +@@ -2174,6 +2176,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderTakeDamageFromWater = false; @@ -58,7 +58,7 @@ index 955fee5b85ea5efe76c55b79b63db661163f59cc..8a6ed1f0122f8fd7e3c25145dfe5f3c1 private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -2189,6 +2192,7 @@ public class PurpurWorldConfig { +@@ -2187,6 +2190,7 @@ public class PurpurWorldConfig { wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater); diff --git a/patches/server/0149-Drowning-Settings.patch b/patches/server/0149-Drowning-Settings.patch index 299e7398c..0e2ddb624 100644 --- a/patches/server/0149-Drowning-Settings.patch +++ b/patches/server/0149-Drowning-Settings.patch @@ -40,10 +40,10 @@ index 9a4ac87ae3cc766ba4080cf5b4f3743d13bd6266..217a0082f7f260678253f31e381a4320 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8a6ed1f0122f8fd7e3c25145dfe5f3c1a397fcc2..20af4df5897c52b8dccba22eff80364fcbab39bd 100644 +index 37ee42c46d469e11dc48eb292442beaac3e74445..f7e9f7ebb35dcbcbd8dce440824e4729e0239503 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -166,6 +166,15 @@ public class PurpurWorldConfig { +@@ -164,6 +164,15 @@ public class PurpurWorldConfig { nighttimeTicks = getInt("gameplay-mechanics.daylight-cycle-ticks.nighttime", nighttimeTicks); } diff --git a/patches/server/0150-Break-individual-slabs-when-sneaking.patch b/patches/server/0150-Break-individual-slabs-when-sneaking.patch index a7a0b39ff..4ec509ede 100644 --- a/patches/server/0150-Break-individual-slabs-when-sneaking.patch +++ b/patches/server/0150-Break-individual-slabs-when-sneaking.patch @@ -47,10 +47,10 @@ index 18b603d646081926343dea108b55d641df1c2c34..370772b1297b78bcc7419684015830a8 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 20af4df5897c52b8dccba22eff80364fcbab39bd..7dfa8c50044c1f2380a220988526fcb8ed943f3d 100644 +index f7e9f7ebb35dcbcbd8dce440824e4729e0239503..fcd78eb993ed41ae560bd76d8f090a3e5931e707 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -606,6 +606,11 @@ public class PurpurWorldConfig { +@@ -604,6 +604,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0151-Config-to-disable-hostile-mob-spawn-on-ice.patch b/patches/server/0151-Config-to-disable-hostile-mob-spawn-on-ice.patch index 702b2d04d..f8eb243fd 100644 --- a/patches/server/0151-Config-to-disable-hostile-mob-spawn-on-ice.patch +++ b/patches/server/0151-Config-to-disable-hostile-mob-spawn-on-ice.patch @@ -24,10 +24,10 @@ index 55c245d0dfa369dc6de2197ae37335fba4fae4ae..c9b40515f4c2ff1eedfc9510930c3bae return false; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7dfa8c50044c1f2380a220988526fcb8ed943f3d..a6e549d9131463b6e1daa91ef70f20c7d494bc99 100644 +index fcd78eb993ed41ae560bd76d8f090a3e5931e707..99fefdf8f5d34189a0e046cd9dd9ad9a240c3948 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -571,6 +571,13 @@ public class PurpurWorldConfig { +@@ -569,6 +569,13 @@ public class PurpurWorldConfig { furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath); } diff --git a/patches/server/0152-Config-to-show-Armor-Stand-arms-on-spawn.patch b/patches/server/0152-Config-to-show-Armor-Stand-arms-on-spawn.patch index a416e083c..afa7b3135 100644 --- a/patches/server/0152-Config-to-show-Armor-Stand-arms-on-spawn.patch +++ b/patches/server/0152-Config-to-show-Armor-Stand-arms-on-spawn.patch @@ -17,10 +17,10 @@ index b48a3d318a14889c68a1de5c1997b1090aab4029..4c5f20bafe589fbd4a034408edb721ac public ArmorStand(Level world, double x, double y, double z) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a6e549d9131463b6e1daa91ef70f20c7d494bc99..6ecc5c76a979a6f51d783b39edc931c7d1b4c9ce 100644 +index 99fefdf8f5d34189a0e046cd9dd9ad9a240c3948..3610fe6652e156066745ecac3551d6610a868603 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -104,6 +104,7 @@ public class PurpurWorldConfig { +@@ -102,6 +102,7 @@ public class PurpurWorldConfig { public boolean armorstandMovement = true; public boolean armorstandWaterMovement = true; public boolean armorstandWaterFence = true; @@ -28,7 +28,7 @@ index a6e549d9131463b6e1daa91ef70f20c7d494bc99..6ecc5c76a979a6f51d783b39edc931c7 private void armorstandSettings() { armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); armorstandSetNameVisible = getBoolean("gameplay-mechanics.armorstand.set-name-visible-when-placing-with-custom-name", armorstandSetNameVisible); -@@ -111,6 +112,7 @@ public class PurpurWorldConfig { +@@ -109,6 +110,7 @@ public class PurpurWorldConfig { armorstandMovement = getBoolean("gameplay-mechanics.armorstand.can-movement-tick", armorstandMovement); armorstandWaterMovement = getBoolean("gameplay-mechanics.armorstand.can-move-in-water", armorstandWaterMovement); armorstandWaterFence = getBoolean("gameplay-mechanics.armorstand.can-move-in-water-over-fence", armorstandWaterFence); diff --git a/patches/server/0153-Option-to-make-doors-require-redstone.patch b/patches/server/0153-Option-to-make-doors-require-redstone.patch index 41957604b..259de554d 100644 --- a/patches/server/0153-Option-to-make-doors-require-redstone.patch +++ b/patches/server/0153-Option-to-make-doors-require-redstone.patch @@ -67,10 +67,10 @@ index c028a7158e41a0754abb8e24dcd647633fbf3fe8..cd65d32f4af016d4937e598c71386a30 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6ecc5c76a979a6f51d783b39edc931c7d1b4c9ce..3af7453995fe6cd27ee4d5d48c08514f81f4da5a 100644 +index 3610fe6652e156066745ecac3551d6610a868603..761f8546ce1314e488aaa21faa0a912b64699c2b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -510,6 +510,16 @@ public class PurpurWorldConfig { +@@ -508,6 +508,16 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } diff --git a/patches/server/0155-Configurable-sponge-absorption.patch b/patches/server/0155-Configurable-sponge-absorption.patch index 92ac2d8b9..c87a1153a 100644 --- a/patches/server/0155-Configurable-sponge-absorption.patch +++ b/patches/server/0155-Configurable-sponge-absorption.patch @@ -21,10 +21,10 @@ index 4bce895268542531598a01a1bccd8ac1ed703b7d..709dd0af07f2439d7c7e8b5cd0677580 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 3af7453995fe6cd27ee4d5d48c08514f81f4da5a..f303458deec4fb478b5818b64ef71e04075c08bf 100644 +index 761f8546ce1314e488aaa21faa0a912b64699c2b..347d2f5d5a8d380cea2fd483a68423375fc76908 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -635,6 +635,13 @@ public class PurpurWorldConfig { +@@ -633,6 +633,13 @@ public class PurpurWorldConfig { spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone); } diff --git a/patches/server/0156-Projectile-offset-config.patch b/patches/server/0156-Projectile-offset-config.patch index da1f42d4d..bd929c08e 100644 --- a/patches/server/0156-Projectile-offset-config.patch +++ b/patches/server/0156-Projectile-offset-config.patch @@ -96,10 +96,10 @@ index 06c2f30b77a2c8aecc65e0c305f643d53798f364..6d1573161f0d8c7999f84925ba7bbf53 entitythrowntrident.pickup = AbstractArrow.Pickup.CREATIVE_ONLY; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f303458deec4fb478b5818b64ef71e04075c08bf..7fe59327b5f00e8ada0fdd039f67c4d80ca1da63 100644 +index 347d2f5d5a8d380cea2fd483a68423375fc76908..683c1b7a3cc283b7806d5fa9784aba2d96f962f8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -428,6 +428,23 @@ public class PurpurWorldConfig { +@@ -426,6 +426,23 @@ public class PurpurWorldConfig { //} } diff --git a/patches/server/0157-Config-for-powered-rail-activation-distance.patch b/patches/server/0157-Config-for-powered-rail-activation-distance.patch index 5d8ee346b..da810f131 100644 --- a/patches/server/0157-Config-for-powered-rail-activation-distance.patch +++ b/patches/server/0157-Config-for-powered-rail-activation-distance.patch @@ -18,10 +18,10 @@ index 7fddb6fa8fd30ef88346a59f7867aae792f13772..40893e71fe8447b695350273bef9623b } else { int j = pos.getX(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7fe59327b5f00e8ada0fdd039f67c4d80ca1da63..ec1d28071b7525273fedf338d0107fbb47312bdd 100644 +index 683c1b7a3cc283b7806d5fa9784aba2d96f962f8..46364a5178218bee2de43f4725efe15ab7521b3b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -621,6 +621,11 @@ public class PurpurWorldConfig { +@@ -619,6 +619,11 @@ public class PurpurWorldConfig { powderSnowBypassMobGriefing = getBoolean("blocks.powder_snow.bypass-mob-griefing", powderSnowBypassMobGriefing); } diff --git a/patches/server/0158-Piglin-portal-spawn-modifier.patch b/patches/server/0158-Piglin-portal-spawn-modifier.patch index 5e6057919..7b6630453 100644 --- a/patches/server/0158-Piglin-portal-spawn-modifier.patch +++ b/patches/server/0158-Piglin-portal-spawn-modifier.patch @@ -31,10 +31,10 @@ index 2c085c4a154cb0f8a1d38453f43474a764398784..589b437e7c97c846410f293e2f014bdc pos = pos.below(); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ec1d28071b7525273fedf338d0107fbb47312bdd..aa9ce2a40144906de402e287d4cb5e6bf33fd94f 100644 +index 46364a5178218bee2de43f4725efe15ab7521b3b..52a903facc05e61e36b0919946c4a18604ebcd92 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1653,6 +1653,7 @@ public class PurpurWorldConfig { +@@ -1651,6 +1651,7 @@ public class PurpurWorldConfig { public double piglinMaxHealth = 16.0D; public boolean piglinBypassMobGriefing = false; public boolean piglinTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index ec1d28071b7525273fedf338d0107fbb47312bdd..aa9ce2a40144906de402e287d4cb5e6b private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1665,6 +1666,7 @@ public class PurpurWorldConfig { +@@ -1663,6 +1664,7 @@ public class PurpurWorldConfig { piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater); diff --git a/patches/server/0160-Config-for-wither-explosion-radius.patch b/patches/server/0160-Config-for-wither-explosion-radius.patch index 9d72b3e47..7e086249d 100644 --- a/patches/server/0160-Config-for-wither-explosion-radius.patch +++ b/patches/server/0160-Config-for-wither-explosion-radius.patch @@ -18,10 +18,10 @@ index f40ab9d5b18c189ba9b572e49243640bd44362d1..b4687453256ead43cf5288994316c7bf if (!event.isCancelled()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index aa9ce2a40144906de402e287d4cb5e6bf33fd94f..48fde514ff6dcd5737740d86858c42ab7c2a39c8 100644 +index 52a903facc05e61e36b0919946c4a18604ebcd92..2188706d89a36500da3571d2761b830f7c8fe60f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2296,6 +2296,7 @@ public class PurpurWorldConfig { +@@ -2294,6 +2294,7 @@ public class PurpurWorldConfig { public boolean witherBypassMobGriefing = false; public boolean witherTakeDamageFromWater = false; public boolean witherCanRideVehicles = false; @@ -29,7 +29,7 @@ index aa9ce2a40144906de402e287d4cb5e6bf33fd94f..48fde514ff6dcd5737740d86858c42ab private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2316,6 +2317,7 @@ public class PurpurWorldConfig { +@@ -2314,6 +2315,7 @@ public class PurpurWorldConfig { witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); diff --git a/patches/server/0162-Configurable-piston-push-limit.patch b/patches/server/0162-Configurable-piston-push-limit.patch index be6248bbf..3b884bb01 100644 --- a/patches/server/0162-Configurable-piston-push-limit.patch +++ b/patches/server/0162-Configurable-piston-push-limit.patch @@ -36,10 +36,10 @@ index 744d91546d1a810f60a43c15ed74b4158f341a4a..354538daefa603f6df5a139b6bff87db } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 48fde514ff6dcd5737740d86858c42ab7c2a39c8..b9741fb7525a7ecb2ef8b497e9fe56ae08e75fa1 100644 +index 2188706d89a36500da3571d2761b830f7c8fe60f..5baac1391199d4877c566beb45b5eaca29cfbff2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -616,6 +616,11 @@ public class PurpurWorldConfig { +@@ -614,6 +614,11 @@ public class PurpurWorldConfig { lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); } diff --git a/patches/server/0164-Configurable-mob-blindness.patch b/patches/server/0164-Configurable-mob-blindness.patch index 490e36e48..397bef277 100644 --- a/patches/server/0164-Configurable-mob-blindness.patch +++ b/patches/server/0164-Configurable-mob-blindness.patch @@ -28,10 +28,10 @@ index 217a0082f7f260678253f31e381a432099555177..cdae47c490555efad0eb2d2ae6498888 return d0; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b9741fb7525a7ecb2ef8b497e9fe56ae08e75fa1..e4832e7da3ff08b75e335bf6218df4d12ff6d5ec 100644 +index 5baac1391199d4877c566beb45b5eaca29cfbff2..08f0f4d9c7abb4db26f11655f2544e1af3775531 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -134,6 +134,7 @@ public class PurpurWorldConfig { +@@ -132,6 +132,7 @@ public class PurpurWorldConfig { public boolean persistentDroppableEntityDisplayNames = true; public boolean projectilesBypassMobGriefing = false; public boolean tickFluids = true; @@ -39,7 +39,7 @@ index b9741fb7525a7ecb2ef8b497e9fe56ae08e75fa1..e4832e7da3ff08b75e335bf6218df4d1 public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; -@@ -154,6 +155,7 @@ public class PurpurWorldConfig { +@@ -152,6 +153,7 @@ public class PurpurWorldConfig { persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames); projectilesBypassMobGriefing = getBoolean("gameplay-mechanics.projectiles-bypass-mob-griefing", projectilesBypassMobGriefing); tickFluids = getBoolean("gameplay-mechanics.tick-fluids", tickFluids); diff --git a/patches/server/0166-Config-for-health-to-impact-Creeper-explosion-radius.patch b/patches/server/0166-Config-for-health-to-impact-Creeper-explosion-radius.patch index c389204c7..06177143d 100644 --- a/patches/server/0166-Config-for-health-to-impact-Creeper-explosion-radius.patch +++ b/patches/server/0166-Config-for-health-to-impact-Creeper-explosion-radius.patch @@ -21,10 +21,10 @@ index fd3b1e92a626402112bbd371a0ac1264a2c19c32..a8bc27c858c6ddec2ff2f84b5c1dc51c // CraftBukkit end this.dead = true; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e4832e7da3ff08b75e335bf6218df4d12ff6d5ec..0914cf594bba933958de77cae536b919e3c29265 100644 +index 08f0f4d9c7abb4db26f11655f2544e1af3775531..7057382f67491b6b21b66c81e0ccaf8b59b04c1b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -934,6 +934,7 @@ public class PurpurWorldConfig { +@@ -932,6 +932,7 @@ public class PurpurWorldConfig { public boolean creeperBypassMobGriefing = false; public boolean creeperTakeDamageFromWater = false; public boolean creeperExplodeWhenKilled = false; @@ -32,7 +32,7 @@ index e4832e7da3ff08b75e335bf6218df4d12ff6d5ec..0914cf594bba933958de77cae536b919 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -949,6 +950,7 @@ public class PurpurWorldConfig { +@@ -947,6 +948,7 @@ public class PurpurWorldConfig { creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater); creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled); diff --git a/patches/server/0167-Iron-golem-calm-anger-options.patch b/patches/server/0167-Iron-golem-calm-anger-options.patch index 4b70b3229..00080d2cd 100644 --- a/patches/server/0167-Iron-golem-calm-anger-options.patch +++ b/patches/server/0167-Iron-golem-calm-anger-options.patch @@ -25,10 +25,10 @@ index 58539d29b8e2a8c0676cc574f64e7d61613e1451..1ffb8e1c386fc85796432281ac407a93 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0914cf594bba933958de77cae536b919e3c29265..c2b6587789fe7a5f6e65f7f9ac57e408604cc852 100644 +index 7057382f67491b6b21b66c81e0ccaf8b59b04c1b..956b1281d0484c86ee7642b1732de489679dc3d9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1392,6 +1392,8 @@ public class PurpurWorldConfig { +@@ -1390,6 +1390,8 @@ public class PurpurWorldConfig { public boolean ironGolemCanSwim = false; public double ironGolemMaxHealth = 100.0D; public boolean ironGolemTakeDamageFromWater = false; @@ -37,7 +37,7 @@ index 0914cf594bba933958de77cae536b919e3c29265..c2b6587789fe7a5f6e65f7f9ac57e408 private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1404,6 +1406,8 @@ public class PurpurWorldConfig { +@@ -1402,6 +1404,8 @@ public class PurpurWorldConfig { } ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth); ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater); diff --git a/patches/server/0168-Breedable-parrots.patch b/patches/server/0168-Breedable-parrots.patch index 9bd61a512..2878f11ba 100644 --- a/patches/server/0168-Breedable-parrots.patch +++ b/patches/server/0168-Breedable-parrots.patch @@ -50,10 +50,10 @@ index 4c64feca8d78b907406cc409bd6beef4b3bd35f3..6e8fc61b04796da5a8820812b5e88110 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c2b6587789fe7a5f6e65f7f9ac57e408604cc852..49abf5096aa057bb9bbb0b3889e6c50227a117f2 100644 +index 956b1281d0484c86ee7642b1732de489679dc3d9..f06d6863c2f48f59817e7d1d1f3ea928c29140bb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1562,6 +1562,7 @@ public class PurpurWorldConfig { +@@ -1560,6 +1560,7 @@ public class PurpurWorldConfig { public double parrotMaxY = 320D; public double parrotMaxHealth = 6.0D; public boolean parrotTakeDamageFromWater = false; @@ -61,7 +61,7 @@ index c2b6587789fe7a5f6e65f7f9ac57e408604cc852..49abf5096aa057bb9bbb0b3889e6c502 private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1574,6 +1575,7 @@ public class PurpurWorldConfig { +@@ -1572,6 +1573,7 @@ public class PurpurWorldConfig { } parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater); diff --git a/patches/server/0169-Configurable-powered-rail-boost-modifier.patch b/patches/server/0169-Configurable-powered-rail-boost-modifier.patch index 42cd06a53..9eed6fa6e 100644 --- a/patches/server/0169-Configurable-powered-rail-boost-modifier.patch +++ b/patches/server/0169-Configurable-powered-rail-boost-modifier.patch @@ -18,10 +18,10 @@ index 5cdcc5792f19766d2d55d16859f8e0f68bd6479b..b99b94c6ec4767aba16d82eaca8b2761 Vec3 vec3d5 = this.getDeltaMovement(); double d21 = vec3d5.x; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 49abf5096aa057bb9bbb0b3889e6c50227a117f2..975418f595a595b9c9470bc78f7dfa90b9965e26 100644 +index f06d6863c2f48f59817e7d1d1f3ea928c29140bb..7684e05000e1913b4ee04b87b6304f7a4b73e82a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -277,6 +277,7 @@ public class PurpurWorldConfig { +@@ -275,6 +275,7 @@ public class PurpurWorldConfig { public boolean minecartControllableFallDamage = true; public double minecartControllableBaseSpeed = 0.1D; public Map minecartControllableBlockSpeeds = new HashMap<>(); @@ -29,7 +29,7 @@ index 49abf5096aa057bb9bbb0b3889e6c50227a117f2..975418f595a595b9c9470bc78f7dfa90 private void minecartSettings() { if (PurpurConfig.version < 12) { boolean oldBool = getBoolean("gameplay-mechanics.controllable-minecarts.place-anywhere", minecartPlaceAnywhere); -@@ -329,6 +330,7 @@ public class PurpurWorldConfig { +@@ -327,6 +328,7 @@ public class PurpurWorldConfig { set("gameplay-mechanics.minecart.controllable.block-speed.grass_block", 0.3D); set("gameplay-mechanics.minecart.controllable.block-speed.stone", 0.5D); } diff --git a/patches/server/0170-Add-config-change-multiplier-critical-damage-value.patch b/patches/server/0170-Add-config-change-multiplier-critical-damage-value.patch index 298f4deb2..ca4739693 100644 --- a/patches/server/0170-Add-config-change-multiplier-critical-damage-value.patch +++ b/patches/server/0170-Add-config-change-multiplier-critical-damage-value.patch @@ -18,10 +18,10 @@ index 04e816f01db7d2de7ffa9bbaaa72daadaab34831..81ba8875f0077ac1be80533061bcb0e6 f += f1; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 975418f595a595b9c9470bc78f7dfa90b9965e26..dcb36d9b54474306a9dd982a5ecaa41b7248f7ab 100644 +index 7684e05000e1913b4ee04b87b6304f7a4b73e82a..6e5b055117023afe69ed8226ef0caf246f7560b4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -376,6 +376,7 @@ public class PurpurWorldConfig { +@@ -374,6 +374,7 @@ public class PurpurWorldConfig { public boolean creativeOnePunch = false; public boolean playerSleepNearMonsters = false; public boolean playersSkipNight = true; @@ -29,7 +29,7 @@ index 975418f595a595b9c9470bc78f7dfa90b9965e26..dcb36d9b54474306a9dd982a5ecaa41b private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -397,6 +398,7 @@ public class PurpurWorldConfig { +@@ -395,6 +396,7 @@ public class PurpurWorldConfig { creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch); playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters); playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight); diff --git a/patches/server/0171-Option-to-disable-dragon-egg-teleporting.patch b/patches/server/0171-Option-to-disable-dragon-egg-teleporting.patch index 46c4e52e0..f72d97fd3 100644 --- a/patches/server/0171-Option-to-disable-dragon-egg-teleporting.patch +++ b/patches/server/0171-Option-to-disable-dragon-egg-teleporting.patch @@ -19,10 +19,10 @@ index 7e1edcc7b9f170b7c649437c2f0dd78c0bab9be4..5f8ac1fdac2c334951261f2b9702f5e7 BlockPos blockposition1 = pos.offset(world.random.nextInt(16) - world.random.nextInt(16), world.random.nextInt(8) - world.random.nextInt(8), world.random.nextInt(16) - world.random.nextInt(16)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index dcb36d9b54474306a9dd982a5ecaa41b7248f7ab..43958fce6a087231c8db3f959cb852e99c113ac6 100644 +index 6e5b055117023afe69ed8226ef0caf246f7560b4..9486f753b7c33a324431171ab017d43889887908 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -543,6 +543,11 @@ public class PurpurWorldConfig { +@@ -541,6 +541,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0174-ShulkerBox-allow-oversized-stacks.patch b/patches/server/0174-ShulkerBox-allow-oversized-stacks.patch index 5e23c2665..c1bb64257 100644 --- a/patches/server/0174-ShulkerBox-allow-oversized-stacks.patch +++ b/patches/server/0174-ShulkerBox-allow-oversized-stacks.patch @@ -35,10 +35,10 @@ index b51155ad12515b2d0dd0f202580b9f455c114d9a..dd6c82a418ee299d7a5614cb0260949c blockEntity.saveToItem(itemStack); if (shulkerBoxBlockEntity.hasCustomName()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 43958fce6a087231c8db3f959cb852e99c113ac6..609cd9300a8c9432638ed099ea987c6656674402 100644 +index 9486f753b7c33a324431171ab017d43889887908..c1c76db494392cb00e58847ba4a01a08b9027fc8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -663,6 +663,11 @@ public class PurpurWorldConfig { +@@ -661,6 +661,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0175-Bee-can-work-when-raining-or-at-night.patch b/patches/server/0175-Bee-can-work-when-raining-or-at-night.patch index c5bcd5b6b..838a9cb53 100644 --- a/patches/server/0175-Bee-can-work-when-raining-or-at-night.patch +++ b/patches/server/0175-Bee-can-work-when-raining-or-at-night.patch @@ -31,10 +31,10 @@ index a16a1df28258d605cf5908dbe19bda5d71ad4f45..7b82842b97ce795745cf6ee6399f618c return false; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 609cd9300a8c9432638ed099ea987c6656674402..6310e6c8061b0926cd8a5d5e60989e60a11f17bd 100644 +index c1c76db494392cb00e58847ba4a01a08b9027fc8..bd485bc18e7012f14a7f85cda26f8a1ec2b0cca0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -775,6 +775,8 @@ public class PurpurWorldConfig { +@@ -773,6 +773,8 @@ public class PurpurWorldConfig { public double beeMaxHealth = 10.0D; public int beeBreedingTicks = 6000; public boolean beeTakeDamageFromWater = false; @@ -43,7 +43,7 @@ index 609cd9300a8c9432638ed099ea987c6656674402..6310e6c8061b0926cd8a5d5e60989e60 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -788,6 +790,8 @@ public class PurpurWorldConfig { +@@ -786,6 +788,8 @@ public class PurpurWorldConfig { beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth); beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks); beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater); diff --git a/patches/server/0177-Config-MobEffect-by-world.patch b/patches/server/0177-Config-MobEffect-by-world.patch index 8849b1833..ff3d92622 100644 --- a/patches/server/0177-Config-MobEffect-by-world.patch +++ b/patches/server/0177-Config-MobEffect-by-world.patch @@ -40,10 +40,10 @@ index 53cc6befb752affcfec65e18365f6d369448d407..01850fc596a85974287ff6750427186d ((CraftPlayer) entityhuman.getBukkitEntity()).sendHealthUpdate(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6310e6c8061b0926cd8a5d5e60989e60a11f17bd..6108dfe20c241b94caa88d8137cf2d10917e90c0 100644 +index bd485bc18e7012f14a7f85cda26f8a1ec2b0cca0..f95596f39021e3da3155c3175a6fcec8c6eb7ff9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -333,6 +333,21 @@ public class PurpurWorldConfig { +@@ -331,6 +331,21 @@ public class PurpurWorldConfig { poweredRailBoostModifier = getDouble("gameplay-mechanics.minecart.powered-rail.boost-modifier", poweredRailBoostModifier); } diff --git a/patches/server/0178-Beacon-Activation-Range-Configurable.patch b/patches/server/0178-Beacon-Activation-Range-Configurable.patch index 7d4791137..1f0fcaf33 100644 --- a/patches/server/0178-Beacon-Activation-Range-Configurable.patch +++ b/patches/server/0178-Beacon-Activation-Range-Configurable.patch @@ -26,10 +26,10 @@ index 3b866e2c20ee7bfc981ff09b29065530de993778..12578b377b6e939971fb2dcba08637df } else { return effectRange; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6108dfe20c241b94caa88d8137cf2d10917e90c0..aca4ef86ce290d2b81235bc8e8413eec2adc5819 100644 +index f95596f39021e3da3155c3175a6fcec8c6eb7ff9..0eb16c3d850a92f3dc99e5daad9c3b6faba97137 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -510,6 +510,17 @@ public class PurpurWorldConfig { +@@ -508,6 +508,17 @@ public class PurpurWorldConfig { anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage); } diff --git a/patches/server/0179-Add-toggle-for-sand-duping-fix.patch b/patches/server/0179-Add-toggle-for-sand-duping-fix.patch index a04d4cf0b..1c8f2c424 100644 --- a/patches/server/0179-Add-toggle-for-sand-duping-fix.patch +++ b/patches/server/0179-Add-toggle-for-sand-duping-fix.patch @@ -27,10 +27,10 @@ index 18eaccb39a4c81338a8cbebe3de03934913ac2a4..7ad5583f05b608d5a34a33fb77c5bf91 } // Paper end - fix sand duping diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index aca4ef86ce290d2b81235bc8e8413eec2adc5819..abed84824b2735d5c68b63e230c60d58968280fa 100644 +index 0eb16c3d850a92f3dc99e5daad9c3b6faba97137..3dc0ce7a13238c5545fbf878af86f4c185e8931a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -689,6 +689,11 @@ public class PurpurWorldConfig { +@@ -687,6 +687,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0180-Add-toggle-for-end-portal-safe-teleporting.patch b/patches/server/0180-Add-toggle-for-end-portal-safe-teleporting.patch index 2337fc9a8..447bf8d56 100644 --- a/patches/server/0180-Add-toggle-for-end-portal-safe-teleporting.patch +++ b/patches/server/0180-Add-toggle-for-end-portal-safe-teleporting.patch @@ -45,10 +45,10 @@ index f80f6da484f4144e743079e5104bf503419074b2..2deddc746e43896584bd65ba8e7971a8 entity.portalWorld = ((ServerLevel)world); entity.portalBlock = pos.immutable(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index abed84824b2735d5c68b63e230c60d58968280fa..63d06d68eda596fd2a434f48eb712eb5a39d3cc8 100644 +index 3dc0ce7a13238c5545fbf878af86f4c185e8931a..5c949339f386f805606e7d8f36785d44d53eb0f3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -637,6 +637,11 @@ public class PurpurWorldConfig { +@@ -635,6 +635,11 @@ public class PurpurWorldConfig { furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath); } diff --git a/patches/server/0182-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch b/patches/server/0182-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch index 813ddd703..ad2fd48d6 100644 --- a/patches/server/0182-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch +++ b/patches/server/0182-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch @@ -55,10 +55,10 @@ index 2038df72f8d7d33d4105de8129628daf21de6f0f..31ec6022b305df0ae02364c916ecf184 public void eat(Item item, ItemStack stack) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 63d06d68eda596fd2a434f48eb712eb5a39d3cc8..507988ac97caec8ea87bdb9a642c688e3ea92881 100644 +index 5c949339f386f805606e7d8f36785d44d53eb0f3..fb5028401408c4e335e4dde2ba845aa75d1115be 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -392,6 +392,8 @@ public class PurpurWorldConfig { +@@ -390,6 +390,8 @@ public class PurpurWorldConfig { public boolean playerSleepNearMonsters = false; public boolean playersSkipNight = true; public double playerCriticalDamageMultiplier = 1.5D; @@ -67,7 +67,7 @@ index 63d06d68eda596fd2a434f48eb712eb5a39d3cc8..507988ac97caec8ea87bdb9a642c688e private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -414,6 +416,8 @@ public class PurpurWorldConfig { +@@ -412,6 +414,8 @@ public class PurpurWorldConfig { playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters); playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight); playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier); diff --git a/patches/server/0184-Add-portal-waiting-option-permission-bypass.patch b/patches/server/0184-Add-portal-waiting-option-permission-bypass.patch index 65b724635..644ade4af 100644 --- a/patches/server/0184-Add-portal-waiting-option-permission-bypass.patch +++ b/patches/server/0184-Add-portal-waiting-option-permission-bypass.patch @@ -38,10 +38,10 @@ index 5fe9a0985432ac6cdd28a2a138854a24f10e42ba..9163bb797a22daedbc822ecc2ad33683 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 507988ac97caec8ea87bdb9a642c688e3ea92881..8c23bb32b5dcfe582becb59fff4056389bce3bdb 100644 +index fb5028401408c4e335e4dde2ba845aa75d1115be..1b8d6ad995e7944f4b8c098c8f4df34b8670b859 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -394,6 +394,8 @@ public class PurpurWorldConfig { +@@ -392,6 +392,8 @@ public class PurpurWorldConfig { public double playerCriticalDamageMultiplier = 1.5D; public int playerBurpDelay = 10; public boolean playerBurpWhenFull = false; @@ -50,7 +50,7 @@ index 507988ac97caec8ea87bdb9a642c688e3ea92881..8c23bb32b5dcfe582becb59fff405638 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -418,6 +420,8 @@ public class PurpurWorldConfig { +@@ -416,6 +418,8 @@ public class PurpurWorldConfig { playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier); playerBurpDelay = getInt("gameplay-mechanics.player.burp-delay", playerBurpDelay); playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull); diff --git a/patches/server/0185-Shulker-spawn-from-bullet-options.patch b/patches/server/0185-Shulker-spawn-from-bullet-options.patch index d0373a5f8..9be10ff36 100644 --- a/patches/server/0185-Shulker-spawn-from-bullet-options.patch +++ b/patches/server/0185-Shulker-spawn-from-bullet-options.patch @@ -68,10 +68,10 @@ index 88e1c2431d51d8cdc3d555b711e506648225d289..ac8735cc9d127fc1f867b40d4000c033 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8c23bb32b5dcfe582becb59fff4056389bce3bdb..3467b6b58df83cdf1ac58986f5e0a1d8ce3ba888 100644 +index 1b8d6ad995e7944f4b8c098c8f4df34b8670b859..9da836e7bf5f2ab51eb323b035dfc02ef390cc40 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1932,6 +1932,11 @@ public class PurpurWorldConfig { +@@ -1930,6 +1930,11 @@ public class PurpurWorldConfig { public boolean shulkerControllable = true; public double shulkerMaxHealth = 30.0D; public boolean shulkerTakeDamageFromWater = false; @@ -83,7 +83,7 @@ index 8c23bb32b5dcfe582becb59fff4056389bce3bdb..3467b6b58df83cdf1ac58986f5e0a1d8 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -1943,6 +1948,11 @@ public class PurpurWorldConfig { +@@ -1941,6 +1946,11 @@ public class PurpurWorldConfig { } shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth); shulkerTakeDamageFromWater = getBoolean("mobs.shulker.takes-damage-from-water", shulkerTakeDamageFromWater); diff --git a/patches/server/0186-Eating-glow-berries-adds-glow-effect.patch b/patches/server/0186-Eating-glow-berries-adds-glow-effect.patch index eec27a962..66613f891 100644 --- a/patches/server/0186-Eating-glow-berries-adds-glow-effect.patch +++ b/patches/server/0186-Eating-glow-berries-adds-glow-effect.patch @@ -18,10 +18,10 @@ index e6f8cb165f7e3da5f0edfc952d14059516de8acf..31f5ed9dd1727eee24804a384817d2b7 public static final Item SOUL_CAMPFIRE = registerBlock(Blocks.SOUL_CAMPFIRE); public static final Item SHROOMLIGHT = registerBlock(Blocks.SHROOMLIGHT); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3467b6b58df83cdf1ac58986f5e0a1d8ce3ba888..d05c6cbd36feefb19c267b6ec4d8d155e212bf6b 100644 +index 9da836e7bf5f2ab51eb323b035dfc02ef390cc40..6c8c3272bd1c5f9c2082cdcbf5af2d03ade69517 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -222,6 +222,7 @@ public class PurpurWorldConfig { +@@ -220,6 +220,7 @@ public class PurpurWorldConfig { public int enderPearlCooldown = 20; public int enderPearlCooldownCreative = 20; public float enderPearlEndermiteChance = 0.05F; @@ -29,7 +29,7 @@ index 3467b6b58df83cdf1ac58986f5e0a1d8ce3ba888..d05c6cbd36feefb19c267b6ec4d8d155 private void itemSettings() { itemImmuneToCactus.clear(); getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { -@@ -267,6 +268,7 @@ public class PurpurWorldConfig { +@@ -265,6 +266,7 @@ public class PurpurWorldConfig { enderPearlCooldown = getInt("gameplay-mechanics.item.ender-pearl.cooldown", enderPearlCooldown); enderPearlCooldownCreative = getInt("gameplay-mechanics.item.ender-pearl.creative-cooldown", enderPearlCooldownCreative); enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance); diff --git a/patches/server/0187-Option-to-make-drowned-break-doors.patch b/patches/server/0187-Option-to-make-drowned-break-doors.patch index aa985925f..c450eb4a8 100644 --- a/patches/server/0187-Option-to-make-drowned-break-doors.patch +++ b/patches/server/0187-Option-to-make-drowned-break-doors.patch @@ -34,10 +34,10 @@ index 902f831ea001145f73691b96f2fca8245a4fc05a..9346d634dd2b8cb3d89aa7ccf12fec6f @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d05c6cbd36feefb19c267b6ec4d8d155e212bf6b..4b94dfaf1a2cd4fba7c3994e6b505cd650bb7e73 100644 +index 6c8c3272bd1c5f9c2082cdcbf5af2d03ade69517..32be01402d3966a64dbc0b3f63289638163a1e70 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1078,6 +1078,7 @@ public class PurpurWorldConfig { +@@ -1076,6 +1076,7 @@ public class PurpurWorldConfig { public double drownedJockeyChance = 0.05D; public boolean drownedJockeyTryExistingChickens = true; public boolean drownedTakeDamageFromWater = false; @@ -45,7 +45,7 @@ index d05c6cbd36feefb19c267b6ec4d8d155e212bf6b..4b94dfaf1a2cd4fba7c3994e6b505cd6 private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1093,6 +1094,7 @@ public class PurpurWorldConfig { +@@ -1091,6 +1092,7 @@ public class PurpurWorldConfig { drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance); drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens); drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater); diff --git a/patches/server/0188-Configurable-hunger-starvation-damage.patch b/patches/server/0188-Configurable-hunger-starvation-damage.patch index 42eb4b715..70dea8a9b 100644 --- a/patches/server/0188-Configurable-hunger-starvation-damage.patch +++ b/patches/server/0188-Configurable-hunger-starvation-damage.patch @@ -18,10 +18,10 @@ index 31ec6022b305df0ae02364c916ecf18425a0bc36..e54af9ff2a786e919b8261aa27509be9 this.tickTimer = 0; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4b94dfaf1a2cd4fba7c3994e6b505cd650bb7e73..dd4aa8aa60a69eaf89f94eb1bbe0c20029a75dbd 100644 +index 32be01402d3966a64dbc0b3f63289638163a1e70..1d7510da470ae85a622f6954027e163e9825f07f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2589,4 +2589,9 @@ public class PurpurWorldConfig { +@@ -2587,4 +2587,9 @@ public class PurpurWorldConfig { zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); } diff --git a/patches/server/0191-Tool-actionable-options.patch b/patches/server/0191-Tool-actionable-options.patch index 41746761d..33a73392f 100644 --- a/patches/server/0191-Tool-actionable-options.patch +++ b/patches/server/0191-Tool-actionable-options.patch @@ -151,10 +151,10 @@ index 21212462e6b415e96536a27b2c009d1562f18946..193bcb12152347f5f02ce18b01ba918e return InteractionResult.PASS; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index dd4aa8aa60a69eaf89f94eb1bbe0c20029a75dbd..8499317d3be3fbbb99e5bc29b5a7944bbfcb1606 100644 +index 1d7510da470ae85a622f6954027e163e9825f07f..773bfaa4a05e86c700089e08a1bdfe637ef98870 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -513,6 +513,206 @@ public class PurpurWorldConfig { +@@ -511,6 +511,206 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0195-option-to-disable-shulker-box-items-from-dropping-co.patch b/patches/server/0195-option-to-disable-shulker-box-items-from-dropping-co.patch index 6964fab03..db2f234f2 100644 --- a/patches/server/0195-option-to-disable-shulker-box-items-from-dropping-co.patch +++ b/patches/server/0195-option-to-disable-shulker-box-items-from-dropping-co.patch @@ -19,10 +19,10 @@ index ebee8de2ed831755b6fd154f6cc77ac993839bb9..df88c6a0f3211ec9bcdbd7c023534da5 CompoundTag nbttagcompound = BlockItem.getBlockEntityData(itemstack); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8499317d3be3fbbb99e5bc29b5a7944bbfcb1606..7c132901b4302c6c3a948421d926069a4477edf1 100644 +index 773bfaa4a05e86c700089e08a1bdfe637ef98870..2a51d9aeaf34f3160d55d500566574b139ce975a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -223,6 +223,7 @@ public class PurpurWorldConfig { +@@ -221,6 +221,7 @@ public class PurpurWorldConfig { public int enderPearlCooldownCreative = 20; public float enderPearlEndermiteChance = 0.05F; public int glowBerriesEatGlowDuration = 0; @@ -30,7 +30,7 @@ index 8499317d3be3fbbb99e5bc29b5a7944bbfcb1606..7c132901b4302c6c3a948421d926069a private void itemSettings() { itemImmuneToCactus.clear(); getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { -@@ -269,6 +270,7 @@ public class PurpurWorldConfig { +@@ -267,6 +268,7 @@ public class PurpurWorldConfig { enderPearlCooldownCreative = getInt("gameplay-mechanics.item.ender-pearl.creative-cooldown", enderPearlCooldownCreative); enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance); glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration); diff --git a/patches/server/0196-Big-dripleaf-tilt-delay.patch b/patches/server/0196-Big-dripleaf-tilt-delay.patch index 567b0ee72..baf4698d6 100644 --- a/patches/server/0196-Big-dripleaf-tilt-delay.patch +++ b/patches/server/0196-Big-dripleaf-tilt-delay.patch @@ -24,10 +24,10 @@ index 5921f7ebb56e1d5d3004ae327271873093cff357..c7bb655983d2ee2c6461d23d6fa921de if (i != -1) { world.scheduleTick(blockposition, (Block) this, i); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7c132901b4302c6c3a948421d926069a4477edf1..1493e7ba368af26a9c5161f16a3be4af2564bc6d 100644 +index 2a51d9aeaf34f3160d55d500566574b139ce975a..cc62c282b33a3cfa1a5328f50702e2cbbeaf1978 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -754,6 +754,22 @@ public class PurpurWorldConfig { +@@ -752,6 +752,22 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0197-Player-ridable-in-water-option.patch b/patches/server/0197-Player-ridable-in-water-option.patch index ab872a7e8..dd19ce97e 100644 --- a/patches/server/0197-Player-ridable-in-water-option.patch +++ b/patches/server/0197-Player-ridable-in-water-option.patch @@ -21,10 +21,10 @@ index 528aeec3f322ee2094098093e6016e41ff382cf3..0a9d8b22c7127b87826d9d256a5f36c3 if (!this.isPassenger() && this.onGround() && !this.isInWater() && !this.isInPowderSnow) { if (this.getShoulderEntityLeft().isEmpty()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1493e7ba368af26a9c5161f16a3be4af2564bc6d..b9faf352d774ed18e8af95597ded31abf3aee69a 100644 +index cc62c282b33a3cfa1a5328f50702e2cbbeaf1978..633b9f3c4b1477c84241446ae7994a48c59342cf 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -400,6 +400,7 @@ public class PurpurWorldConfig { +@@ -398,6 +398,7 @@ public class PurpurWorldConfig { public boolean playerBurpWhenFull = false; public int playerPortalWaitTime = 80; public int playerCreativePortalWaitTime = 1; @@ -32,7 +32,7 @@ index 1493e7ba368af26a9c5161f16a3be4af2564bc6d..b9faf352d774ed18e8af95597ded31ab private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -426,6 +427,7 @@ public class PurpurWorldConfig { +@@ -424,6 +425,7 @@ public class PurpurWorldConfig { playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull); playerPortalWaitTime = getInt("gameplay-mechanics.player.portal-wait-time", playerPortalWaitTime); playerCreativePortalWaitTime = getInt("gameplay-mechanics.player.creative-portal-wait-time", playerCreativePortalWaitTime); diff --git a/patches/server/0198-Config-to-disable-Enderman-teleport-on-projectile-hi.patch b/patches/server/0198-Config-to-disable-Enderman-teleport-on-projectile-hi.patch index 76b9df3ec..a9df5d984 100644 --- a/patches/server/0198-Config-to-disable-Enderman-teleport-on-projectile-hi.patch +++ b/patches/server/0198-Config-to-disable-Enderman-teleport-on-projectile-hi.patch @@ -17,10 +17,10 @@ index f4bf81ebcc792c8e04fa700e84b13b3b688dbdac..50e1e1b7b9340689a2310e7100c3fe33 for (int i = 0; i < 64; ++i) { if (this.teleport()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b9faf352d774ed18e8af95597ded31abf3aee69a..dd1110d14adf4c1220470e902900e5fa166b1c3f 100644 +index 633b9f3c4b1477c84241446ae7994a48c59342cf..7e2e60fd2fbe7181bfbd1aeacdb0b4b295c0d9c7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1375,6 +1375,7 @@ public class PurpurWorldConfig { +@@ -1373,6 +1373,7 @@ public class PurpurWorldConfig { public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; public boolean endermanIgnorePlayerDragonHead = false; public boolean endermanDisableStareAggro = false; @@ -28,7 +28,7 @@ index b9faf352d774ed18e8af95597ded31abf3aee69a..dd1110d14adf4c1220470e902900e5fa private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1397,6 +1398,7 @@ public class PurpurWorldConfig { +@@ -1395,6 +1396,7 @@ public class PurpurWorldConfig { endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned); endermanIgnorePlayerDragonHead = getBoolean("mobs.enderman.ignore-players-wearing-dragon-head", endermanIgnorePlayerDragonHead); endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro); diff --git a/patches/server/0199-Add-compass-command.patch b/patches/server/0199-Add-compass-command.patch index a01fcca04..72c53b883 100644 --- a/patches/server/0199-Add-compass-command.patch +++ b/patches/server/0199-Add-compass-command.patch @@ -89,10 +89,10 @@ index 0e0024e235ce0ffbb54893ff250f61061d4ebe1f..83ba390660a083b936851d66c9566ab2 hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector); uptimeFormat = getString("settings.command.uptime.format", uptimeFormat); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index dd1110d14adf4c1220470e902900e5fa166b1c3f..3cea16e7e1a2153e7cf7ecf5922393d0e717aa9b 100644 +index 7e2e60fd2fbe7181bfbd1aeacdb0b4b295c0d9c7..29b070ecd5d6d08f3c6127e499ed90e53112624d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -224,6 +224,7 @@ public class PurpurWorldConfig { +@@ -222,6 +222,7 @@ public class PurpurWorldConfig { public float enderPearlEndermiteChance = 0.05F; public int glowBerriesEatGlowDuration = 0; public boolean shulkerBoxItemDropContentsWhenDestroyed = true; @@ -100,7 +100,7 @@ index dd1110d14adf4c1220470e902900e5fa166b1c3f..3cea16e7e1a2153e7cf7ecf5922393d0 private void itemSettings() { itemImmuneToCactus.clear(); getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { -@@ -271,6 +272,7 @@ public class PurpurWorldConfig { +@@ -269,6 +270,7 @@ public class PurpurWorldConfig { enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance); glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration); shulkerBoxItemDropContentsWhenDestroyed = getBoolean("gameplay-mechanics.item.shulker_box.drop-contents-when-destroyed", shulkerBoxItemDropContentsWhenDestroyed); diff --git a/patches/server/0200-Toggle-for-kinetic-damage.patch b/patches/server/0200-Toggle-for-kinetic-damage.patch index 914f22930..1f01a16bf 100644 --- a/patches/server/0200-Toggle-for-kinetic-damage.patch +++ b/patches/server/0200-Toggle-for-kinetic-damage.patch @@ -17,10 +17,10 @@ index 972c0e43e3f099706b9ee744551d43d31ffb3fa7..21d6851cb903f214db92109a6c16bb73 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3cea16e7e1a2153e7cf7ecf5922393d0e717aa9b..39ebaedab2c3f812642428f6f673b2dfa0652882 100644 +index 29b070ecd5d6d08f3c6127e499ed90e53112624d..08ad56494ce3f99b9f3a2b61d3033aec94e9db7e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -184,12 +184,14 @@ public class PurpurWorldConfig { +@@ -182,12 +182,14 @@ public class PurpurWorldConfig { public boolean elytraIgnoreUnbreaking = false; public int elytraDamagePerFireworkBoost = 0; public int elytraDamagePerTridentBoost = 0; diff --git a/patches/server/0201-Add-Option-for-disable-observer-clocks.patch b/patches/server/0201-Add-Option-for-disable-observer-clocks.patch index b7e1a8603..b2aceb5a0 100644 --- a/patches/server/0201-Add-Option-for-disable-observer-clocks.patch +++ b/patches/server/0201-Add-Option-for-disable-observer-clocks.patch @@ -18,10 +18,10 @@ index 7b45d6b9a005036ca5051d089a7be792eb87012f..8806c97ecc6bdd8a64c2d82bb2f58f46 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 39ebaedab2c3f812642428f6f673b2dfa0652882..3b96c76b593e9e0ec9c0a82bec47b326085f8264 100644 +index 08ad56494ce3f99b9f3a2b61d3033aec94e9db7e..d13188a1207352a6ee5ff9c9ed633e7f834a81c9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -371,6 +371,11 @@ public class PurpurWorldConfig { +@@ -369,6 +369,11 @@ public class PurpurWorldConfig { villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate); } diff --git a/patches/server/0202-Customizeable-Zombie-Villager-curing-times.patch b/patches/server/0202-Customizeable-Zombie-Villager-curing-times.patch index 64f634ccd..918a5737f 100644 --- a/patches/server/0202-Customizeable-Zombie-Villager-curing-times.patch +++ b/patches/server/0202-Customizeable-Zombie-Villager-curing-times.patch @@ -18,10 +18,10 @@ index c3f220a85b91a25662c943b5ee4508cd7a18c75d..40b3498c57c62f8bdaac50546ca47f49 return InteractionResult.SUCCESS; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3b96c76b593e9e0ec9c0a82bec47b326085f8264..fc186aaa1df69049dbe9586e6f40396de9be3a01 100644 +index d13188a1207352a6ee5ff9c9ed633e7f834a81c9..b3a794d7181aecb8f734b98182f619ee82bb3dbf 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2776,6 +2776,8 @@ public class PurpurWorldConfig { +@@ -2774,6 +2774,8 @@ public class PurpurWorldConfig { public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; public boolean zombieVillagerTakeDamageFromWater = false; @@ -30,7 +30,7 @@ index 3b96c76b593e9e0ec9c0a82bec47b326085f8264..fc186aaa1df69049dbe9586e6f40396d private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2791,6 +2793,8 @@ public class PurpurWorldConfig { +@@ -2789,6 +2791,8 @@ public class PurpurWorldConfig { zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance); zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater); diff --git a/patches/server/0203-Option-for-sponges-to-work-on-lava-and-mud.patch b/patches/server/0203-Option-for-sponges-to-work-on-lava-and-mud.patch index 71e673718..4be3824b0 100644 --- a/patches/server/0203-Option-for-sponges-to-work-on-lava-and-mud.patch +++ b/patches/server/0203-Option-for-sponges-to-work-on-lava-and-mud.patch @@ -30,10 +30,10 @@ index 709dd0af07f2439d7c7e8b5cd0677580dc3f6278..2276fed1feb4fea59b5bd49b5e4586d4 if (!iblockdata.is(Blocks.KELP) && !iblockdata.is(Blocks.KELP_PLANT) && !iblockdata.is(Blocks.SEAGRASS) && !iblockdata.is(Blocks.TALL_SEAGRASS)) { return false; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index fc186aaa1df69049dbe9586e6f40396de9be3a01..d418d22fb414ad0a817d783885a4a8e22b573090 100644 +index b3a794d7181aecb8f734b98182f619ee82bb3dbf..309f2360d3faa4e7f6932329623b9b9647cd5f98 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -955,9 +955,13 @@ public class PurpurWorldConfig { +@@ -953,9 +953,13 @@ public class PurpurWorldConfig { public int spongeAbsorptionArea = 65; public int spongeAbsorptionRadius = 6; diff --git a/patches/server/0204-Toggle-for-Wither-s-spawn-sound.patch b/patches/server/0204-Toggle-for-Wither-s-spawn-sound.patch index 60f6b2e5e..c78df8429 100644 --- a/patches/server/0204-Toggle-for-Wither-s-spawn-sound.patch +++ b/patches/server/0204-Toggle-for-Wither-s-spawn-sound.patch @@ -18,10 +18,10 @@ index 86b06182616fe07f1a5ef2b1799c434884cba149..9abc47eb3d0c1a0ee0868ec223431f4d // this.level().globalLevelEvent(1023, new BlockPosition(this), 0); int viewDistance = ((ServerLevel) this.level()).getCraftServer().getViewDistance() * 16; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d418d22fb414ad0a817d783885a4a8e22b573090..aaabf7a8eef4293086605419cf3d56a2ea9eedad 100644 +index 309f2360d3faa4e7f6932329623b9b9647cd5f98..21c597f6f010bca75115354b8cf5d567d8d0f474 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2623,6 +2623,7 @@ public class PurpurWorldConfig { +@@ -2621,6 +2621,7 @@ public class PurpurWorldConfig { public boolean witherTakeDamageFromWater = false; public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; @@ -29,7 +29,7 @@ index d418d22fb414ad0a817d783885a4a8e22b573090..aaabf7a8eef4293086605419cf3d56a2 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2644,6 +2645,7 @@ public class PurpurWorldConfig { +@@ -2642,6 +2643,7 @@ public class PurpurWorldConfig { witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius); diff --git a/patches/server/0205-Cactus-breaks-from-solid-neighbors-config.patch b/patches/server/0205-Cactus-breaks-from-solid-neighbors-config.patch index 04a97cbb4..1deb983a7 100644 --- a/patches/server/0205-Cactus-breaks-from-solid-neighbors-config.patch +++ b/patches/server/0205-Cactus-breaks-from-solid-neighbors-config.patch @@ -18,10 +18,10 @@ index 0003fb51ae3a6575575e10b4c86719f3061e2577..c2ca3432a47124d02e1aaf8ffb621f9a return false; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index aaabf7a8eef4293086605419cf3d56a2ea9eedad..ddc842b926c16ec5c71a2407b0427fe3e21459f3 100644 +index 21c597f6f010bca75115354b8cf5d567d8d0f474..45d77adb73d0df1e856088d3df6cffb6a4623cd7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -781,6 +781,11 @@ public class PurpurWorldConfig { +@@ -779,6 +779,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0206-Config-to-remove-curse-of-binding-with-weakness.patch b/patches/server/0206-Config-to-remove-curse-of-binding-with-weakness.patch index ebdc9ce39..e11afcf53 100644 --- a/patches/server/0206-Config-to-remove-curse-of-binding-with-weakness.patch +++ b/patches/server/0206-Config-to-remove-curse-of-binding-with-weakness.patch @@ -26,10 +26,10 @@ index c549618421c5d077c3d977d8d2064eca2acc438a..5972fa434847d24fa98b7895fd8386d2 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ddc842b926c16ec5c71a2407b0427fe3e21459f3..3bba3d294584d5477ffb78e43ba4f38e5b43dfd0 100644 +index 45d77adb73d0df1e856088d3df6cffb6a4623cd7..8e5912f9a1e3d4b97306bf31833afc435cd026e8 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 { +@@ -408,6 +408,7 @@ public class PurpurWorldConfig { public int playerPortalWaitTime = 80; public int playerCreativePortalWaitTime = 1; public boolean playerRidableInWater = false; @@ -37,7 +37,7 @@ index ddc842b926c16ec5c71a2407b0427fe3e21459f3..3bba3d294584d5477ffb78e43ba4f38e private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -437,6 +438,7 @@ public class PurpurWorldConfig { +@@ -435,6 +436,7 @@ public class PurpurWorldConfig { playerPortalWaitTime = getInt("gameplay-mechanics.player.portal-wait-time", playerPortalWaitTime); playerCreativePortalWaitTime = getInt("gameplay-mechanics.player.creative-portal-wait-time", playerCreativePortalWaitTime); playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater); diff --git a/patches/server/0207-Conduit-behavior-configuration.patch b/patches/server/0207-Conduit-behavior-configuration.patch index c1f526e0a..64be92a49 100644 --- a/patches/server/0207-Conduit-behavior-configuration.patch +++ b/patches/server/0207-Conduit-behavior-configuration.patch @@ -77,10 +77,10 @@ index 963a596154091b79ca139af6274aa323518ad1ad..4dcac3899a500d8586580bcfd5b4516e }); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3bba3d294584d5477ffb78e43ba4f38e5b43dfd0..5a258aec385fb4e9f29ba2391a7feabaa93a9cf6 100644 +index 8e5912f9a1e3d4b97306bf31833afc435cd026e8..97afdc6199fd2b3c2033c8b3a27d2e5059f780cb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2842,4 +2842,27 @@ public class PurpurWorldConfig { +@@ -2840,4 +2840,27 @@ public class PurpurWorldConfig { private void hungerSettings() { hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage); } diff --git a/patches/server/0208-Cauldron-fill-chances.patch b/patches/server/0208-Cauldron-fill-chances.patch index b89bd2f33..069f93aff 100644 --- a/patches/server/0208-Cauldron-fill-chances.patch +++ b/patches/server/0208-Cauldron-fill-chances.patch @@ -47,10 +47,10 @@ index cd943997f11f5ea5c600fdc6db96043fb0fa713c..4adeda49a2e422e11f885bffb311653d if (dripChance < f1) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5a258aec385fb4e9f29ba2391a7feabaa93a9cf6..66188b371efe432f177e466f0431bf07bf36241d 100644 +index 97afdc6199fd2b3c2033c8b3a27d2e5059f780cb..389ed035a2fb98675f6779628a620ad0680823f8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2865,4 +2865,15 @@ public class PurpurWorldConfig { +@@ -2863,4 +2863,15 @@ public class PurpurWorldConfig { }); conduitBlocks = conduitBlockList.toArray(Block[]::new); } diff --git a/patches/server/0209-Config-to-allow-mobs-to-pathfind-over-rails.patch b/patches/server/0209-Config-to-allow-mobs-to-pathfind-over-rails.patch index ba8eb2f5a..d15dff7e6 100644 --- a/patches/server/0209-Config-to-allow-mobs-to-pathfind-over-rails.patch +++ b/patches/server/0209-Config-to-allow-mobs-to-pathfind-over-rails.patch @@ -18,10 +18,10 @@ index 3583fcf5284bc5883308876dbd9886664b391e28..d976a6df54c1e817def2d588692abe25 if (node != null && (node.type == BlockPathTypes.OPEN || node.type == BlockPathTypes.WALKABLE) && this.mob.getBbWidth() < 1.0F) { double g = (double)(x - direction.getStepX()) + 0.5D; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 66188b371efe432f177e466f0431bf07bf36241d..baa7fb5a53b786916e42c7578eaf857a10b8103c 100644 +index 389ed035a2fb98675f6779628a620ad0680823f8..14a9bbb6bda6ba245a84cfe7ed80dd591ae41dd7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -140,6 +140,7 @@ public class PurpurWorldConfig { +@@ -138,6 +138,7 @@ public class PurpurWorldConfig { public double voidDamageDealt = 4.0D; public int raidCooldownSeconds = 0; public int animalBreedingCooldownSeconds = 0; @@ -29,7 +29,7 @@ index 66188b371efe432f177e466f0431bf07bf36241d..baa7fb5a53b786916e42c7578eaf857a private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative); -@@ -161,6 +162,7 @@ public class PurpurWorldConfig { +@@ -159,6 +160,7 @@ public class PurpurWorldConfig { voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds); animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds); diff --git a/patches/server/0210-Shulker-change-color-with-dye.patch b/patches/server/0210-Shulker-change-color-with-dye.patch index e508169a6..dbdb7316b 100644 --- a/patches/server/0210-Shulker-change-color-with-dye.patch +++ b/patches/server/0210-Shulker-change-color-with-dye.patch @@ -47,10 +47,10 @@ index a0b19ffbdb64c40d8b92ed82104dde323b466190..714adaf017813eb64bb3a9a60b5ff457 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 baa7fb5a53b786916e42c7578eaf857a10b8103c..281449edbf060809b0bc9e2b5d28dfa5182a5a29 100644 +index 14a9bbb6bda6ba245a84cfe7ed80dd591ae41dd7..36bf7feb12b83f97612fa221a48fcffb61f9de88 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2185,6 +2185,7 @@ public class PurpurWorldConfig { +@@ -2183,6 +2183,7 @@ public class PurpurWorldConfig { public double shulkerSpawnFromBulletNearbyRange = 8.0D; public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0"; public boolean shulkerSpawnFromBulletRandomColor = false; @@ -58,7 +58,7 @@ index baa7fb5a53b786916e42c7578eaf857a10b8103c..281449edbf060809b0bc9e2b5d28dfa5 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2201,6 +2202,7 @@ public class PurpurWorldConfig { +@@ -2199,6 +2200,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/0213-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch b/patches/server/0213-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch index b474c387a..511492c34 100644 --- a/patches/server/0213-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch +++ b/patches/server/0213-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch @@ -25,10 +25,10 @@ index df8efd93ad6ab30974e3025187cd234b37111129..8cbb36b2dbcb9a1470c95746d7d481a1 // 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 281449edbf060809b0bc9e2b5d28dfa5182a5a29..c8b8d1e69a82ff95cd5727d6f72c9e2bff544888 100644 +index 36bf7feb12b83f97612fa221a48fcffb61f9de88..8d8248e00a9235abffbf381398a13ff2bb9f2b08 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -141,6 +141,8 @@ public class PurpurWorldConfig { +@@ -139,6 +139,8 @@ public class PurpurWorldConfig { public int raidCooldownSeconds = 0; public int animalBreedingCooldownSeconds = 0; public boolean mobsIgnoreRails = false; @@ -37,7 +37,7 @@ index 281449edbf060809b0bc9e2b5d28dfa5182a5a29..c8b8d1e69a82ff95cd5727d6f72c9e2b private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative); -@@ -163,6 +165,8 @@ public class PurpurWorldConfig { +@@ -161,6 +163,8 @@ public class PurpurWorldConfig { raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds); animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds); mobsIgnoreRails = getBoolean("gameplay-mechanics.mobs-ignore-rails", mobsIgnoreRails); diff --git a/patches/server/0214-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch b/patches/server/0214-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch index 469b1cd54..4ffc844e9 100644 --- a/patches/server/0214-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch +++ b/patches/server/0214-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch @@ -45,10 +45,10 @@ index 0453397c157c8c7968947445f41bc46b68b111e8..ed35878fdb9dffcd46c27d26ee837940 public static final Block PINK_PETALS = register("pink_petals", new PinkPetalsBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).noCollission().sound(SoundType.PINK_PETALS).pushReaction(PushReaction.DESTROY))); public static final Block MOSS_BLOCK = register("moss_block", new MossBlock(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_GREEN).strength(0.1F).sound(SoundType.MOSS).pushReaction(PushReaction.DESTROY))); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c8b8d1e69a82ff95cd5727d6f72c9e2bff544888..ed5b76badb28cc6493c9c593f8a0d2c261ba358f 100644 +index 8d8248e00a9235abffbf381398a13ff2bb9f2b08..9e7c090c44edc98b3399046ad76c5ca144f5bb2d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -741,6 +741,11 @@ public class PurpurWorldConfig { +@@ -739,6 +739,11 @@ public class PurpurWorldConfig { anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage); } @@ -60,7 +60,7 @@ index c8b8d1e69a82ff95cd5727d6f72c9e2bff544888..ed5b76badb28cc6493c9c593f8a0d2c2 public int beaconLevelOne = 20; public int beaconLevelTwo = 30; public int beaconLevelThree = 40; -@@ -878,6 +883,11 @@ public class PurpurWorldConfig { +@@ -876,6 +881,11 @@ public class PurpurWorldConfig { farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling); } diff --git a/patches/server/0215-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0215-Shift-right-click-to-use-exp-for-mending.patch index 2f443a10e..06c129618 100644 --- a/patches/server/0215-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0215-Shift-right-click-to-use-exp-for-mending.patch @@ -48,10 +48,10 @@ index 3df9f6e0f8004ba329d32de2547174dc9bfe084b..2261f971b85afcb1153cf9e63f0148f4 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 ed5b76badb28cc6493c9c593f8a0d2c261ba358f..ae94cf438da5fbbe694c49c709b7f9d41fa5cdfb 100644 +index 9e7c090c44edc98b3399046ad76c5ca144f5bb2d..8d59047a6ab10af7a4cc418345ff7b17ce5d6355 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -417,6 +417,7 @@ public class PurpurWorldConfig { +@@ -415,6 +415,7 @@ public class PurpurWorldConfig { public int playerCreativePortalWaitTime = 1; public boolean playerRidableInWater = false; public boolean playerRemoveBindingWithWeakness = false; @@ -59,7 +59,7 @@ index ed5b76badb28cc6493c9c593f8a0d2c261ba358f..ae94cf438da5fbbe694c49c709b7f9d4 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -445,6 +446,7 @@ public class PurpurWorldConfig { +@@ -443,6 +444,7 @@ public class PurpurWorldConfig { playerCreativePortalWaitTime = getInt("gameplay-mechanics.player.creative-portal-wait-time", playerCreativePortalWaitTime); playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater); playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness); diff --git a/patches/server/0216-Dolphins-naturally-aggressive-to-players-chance.patch b/patches/server/0216-Dolphins-naturally-aggressive-to-players-chance.patch index 39d009601..1a144d8de 100644 --- a/patches/server/0216-Dolphins-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0216-Dolphins-naturally-aggressive-to-players-chance.patch @@ -48,10 +48,10 @@ index 77746eeffdc612793a6c907f222753bce5cd0ed4..b6342637f1b42b6368dcda17eea4b39a 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 ae94cf438da5fbbe694c49c709b7f9d41fa5cdfb..2bd18777211ce48a3836dc281a8a715f2711c18c 100644 +index 8d59047a6ab10af7a4cc418345ff7b17ce5d6355..80f7ae88760e6de74445271712929b3bdc2dda3c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1283,6 +1283,7 @@ public class PurpurWorldConfig { +@@ -1281,6 +1281,7 @@ public class PurpurWorldConfig { public double dolphinMaxHealth = 10.0D; public boolean dolphinDisableTreasureSearching = false; public boolean dolphinTakeDamageFromWater = false; @@ -59,7 +59,7 @@ index ae94cf438da5fbbe694c49c709b7f9d41fa5cdfb..2bd18777211ce48a3836dc281a8a715f private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -1297,6 +1298,7 @@ public class PurpurWorldConfig { +@@ -1295,6 +1296,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/0217-Cows-naturally-aggressive-to-players-chance.patch b/patches/server/0217-Cows-naturally-aggressive-to-players-chance.patch index 66ae50355..18108ca64 100644 --- a/patches/server/0217-Cows-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0217-Cows-naturally-aggressive-to-players-chance.patch @@ -57,10 +57,10 @@ index 8d714c029cf3b62af1ff8140a82ed3ae463e0e18..37f073e821a1b0f8efe89a7d88ce732c @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2bd18777211ce48a3836dc281a8a715f2711c18c..f079d2f8ba35b425ad34316ec9002a7342b15f2c 100644 +index 80f7ae88760e6de74445271712929b3bdc2dda3c..1913ace7da1ba4beda5373d51a63ca7d3da7a564 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1232,7 +1232,14 @@ public class PurpurWorldConfig { +@@ -1230,7 +1230,14 @@ public class PurpurWorldConfig { public int cowFeedMushrooms = 0; public int cowBreedingTicks = 6000; public boolean cowTakeDamageFromWater = false; @@ -75,7 +75,7 @@ index 2bd18777211ce48a3836dc281a8a715f2711c18c..f079d2f8ba35b425ad34316ec9002a73 cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); cowControllable = getBoolean("mobs.cow.controllable", cowControllable); -@@ -1245,6 +1252,8 @@ public class PurpurWorldConfig { +@@ -1243,6 +1250,8 @@ public class PurpurWorldConfig { cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks); cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater); diff --git a/patches/server/0218-Option-for-beds-to-explode-on-villager-sleep.patch b/patches/server/0218-Option-for-beds-to-explode-on-villager-sleep.patch index 3d87f654c..50e65cc9a 100644 --- a/patches/server/0218-Option-for-beds-to-explode-on-villager-sleep.patch +++ b/patches/server/0218-Option-for-beds-to-explode-on-villager-sleep.patch @@ -22,10 +22,10 @@ index 444dbab9a1c95d1f8bc97e165e5302473a29c7e8..2ffceda6ce3cfe515f9348dafc28b046 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 f079d2f8ba35b425ad34316ec9002a7342b15f2c..9cd54516de177e8d731b605cf892080d686ce9af 100644 +index 1913ace7da1ba4beda5373d51a63ca7d3da7a564..af78db690b3d3437aedcb72bca76b01a4689921d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -760,6 +760,7 @@ public class PurpurWorldConfig { +@@ -758,6 +758,7 @@ public class PurpurWorldConfig { } public boolean bedExplode = true; @@ -33,7 +33,7 @@ index f079d2f8ba35b425ad34316ec9002a7342b15f2c..9cd54516de177e8d731b605cf892080d public double bedExplosionPower = 5.0D; public boolean bedExplosionFire = true; public net.minecraft.world.level.Level.ExplosionInteraction bedExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; -@@ -770,6 +771,7 @@ public class PurpurWorldConfig { +@@ -768,6 +769,7 @@ public class PurpurWorldConfig { } } bedExplode = getBoolean("blocks.bed.explode", bedExplode); diff --git a/patches/server/0219-Halloween-options-and-optimizations.patch b/patches/server/0219-Halloween-options-and-optimizations.patch index e48eab6f3..7f1c82875 100644 --- a/patches/server/0219-Halloween-options-and-optimizations.patch +++ b/patches/server/0219-Halloween-options-and-optimizations.patch @@ -60,10 +60,10 @@ index 0bc90b6d5c5a3cb3477d41336a9bb1130ff32fa1..a8d2f8654ee370e98bb1c4e7e1111deb this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9cd54516de177e8d731b605cf892080d686ce9af..69459dae24e2c9a98e1008c7a7df77d0f271723d 100644 +index af78db690b3d3437aedcb72bca76b01a4689921d..af6de9d4d6dace3f26b7012606d399f5c398ef0a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1625,6 +1625,13 @@ public class PurpurWorldConfig { +@@ -1623,6 +1623,13 @@ public class PurpurWorldConfig { guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater); } diff --git a/patches/server/0222-Campfire-option-for-lit-when-placed.patch b/patches/server/0222-Campfire-option-for-lit-when-placed.patch index b30c33e07..4d4447bea 100644 --- a/patches/server/0222-Campfire-option-for-lit-when-placed.patch +++ b/patches/server/0222-Campfire-option-for-lit-when-placed.patch @@ -18,10 +18,10 @@ index 219c87dcf065e86512f330fbeec59e55f4675083..f8fd3b320494d1c1e8ee3d170f2feebd @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 69459dae24e2c9a98e1008c7a7df77d0f271723d..0b807f53541051328ff14ae71974523a73543aff 100644 +index af6de9d4d6dace3f26b7012606d399f5c398ef0a..002074c521209190fcdf9f3d7ebbbfdc2fa8c8f5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -803,6 +803,11 @@ public class PurpurWorldConfig { +@@ -801,6 +801,11 @@ public class PurpurWorldConfig { cactusBreaksFromSolidNeighbors = getBoolean("blocks.cactus.breaks-from-solid-neighbors", cactusBreaksFromSolidNeighbors); } diff --git a/patches/server/0223-options-to-extinguish-fire-blocks-with-snowballs.patch b/patches/server/0223-options-to-extinguish-fire-blocks-with-snowballs.patch index d181f34b8..5d4d1ea08 100644 --- a/patches/server/0223-options-to-extinguish-fire-blocks-with-snowballs.patch +++ b/patches/server/0223-options-to-extinguish-fire-blocks-with-snowballs.patch @@ -46,10 +46,10 @@ index b90cedad282e95a067aca176fafa9f72a726f520..440d3d72d8b2dac14f83a83caa5ae9db 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 0b807f53541051328ff14ae71974523a73543aff..885a05cc135559b9a663a368840e13e8ab16e749 100644 +index 002074c521209190fcdf9f3d7ebbbfdc2fa8c8f5..dc4e59fab1f89379dfce02d6090ed8e700aaa145 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -233,6 +233,9 @@ public class PurpurWorldConfig { +@@ -231,6 +231,9 @@ public class PurpurWorldConfig { public int glowBerriesEatGlowDuration = 0; public boolean shulkerBoxItemDropContentsWhenDestroyed = true; public boolean compassItemShowsBossBar = false; @@ -59,7 +59,7 @@ index 0b807f53541051328ff14ae71974523a73543aff..885a05cc135559b9a663a368840e13e8 private void itemSettings() { itemImmuneToCactus.clear(); getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { -@@ -281,6 +284,9 @@ public class PurpurWorldConfig { +@@ -279,6 +282,9 @@ public class PurpurWorldConfig { glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration); shulkerBoxItemDropContentsWhenDestroyed = getBoolean("gameplay-mechanics.item.shulker_box.drop-contents-when-destroyed", shulkerBoxItemDropContentsWhenDestroyed); compassItemShowsBossBar = getBoolean("gameplay-mechanics.item.compass.holding-shows-bossbar", compassItemShowsBossBar); diff --git a/patches/server/0224-Add-option-to-disable-zombie-villagers-cure.patch b/patches/server/0224-Add-option-to-disable-zombie-villagers-cure.patch index e7f8ce1ff..ca01c51b5 100644 --- a/patches/server/0224-Add-option-to-disable-zombie-villagers-cure.patch +++ b/patches/server/0224-Add-option-to-disable-zombie-villagers-cure.patch @@ -18,10 +18,10 @@ index 40b3498c57c62f8bdaac50546ca47f4927db7bfa..b8e0ae0714fd2b77831fb714b1bad901 itemstack.shrink(1); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 885a05cc135559b9a663a368840e13e8ab16e749..c21cd0400a7552c154a65951f648fb609d1bf883 100644 +index dc4e59fab1f89379dfce02d6090ed8e700aaa145..ad07b4769487f8f4709bea1691b95738cd58aa41 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2842,6 +2842,7 @@ public class PurpurWorldConfig { +@@ -2840,6 +2840,7 @@ public class PurpurWorldConfig { public boolean zombieVillagerTakeDamageFromWater = false; public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; @@ -29,7 +29,7 @@ index 885a05cc135559b9a663a368840e13e8ab16e749..c21cd0400a7552c154a65951f648fb60 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2859,6 +2860,7 @@ public class PurpurWorldConfig { +@@ -2857,6 +2858,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/0225-Persistent-BlockEntity-Lore-and-DisplayName.patch b/patches/server/0225-Persistent-BlockEntity-Lore-and-DisplayName.patch index c86bb3e74..d1be52df5 100644 --- a/patches/server/0225-Persistent-BlockEntity-Lore-and-DisplayName.patch +++ b/patches/server/0225-Persistent-BlockEntity-Lore-and-DisplayName.patch @@ -195,10 +195,10 @@ index 370a25d2deb54f10a35ee24d9e7e92fbfde60edf..2f19f6ac5de454845f5d13a3ebb93af6 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c21cd0400a7552c154a65951f648fb609d1bf883..c573d694e60c7fd4dc1820873be99b4da82405cb 100644 +index ad07b4769487f8f4709bea1691b95738cd58aa41..33f0396c06e1063acb11b8e283b9cb6e6509b821 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -132,6 +132,7 @@ public class PurpurWorldConfig { +@@ -130,6 +130,7 @@ public class PurpurWorldConfig { public boolean milkCuresBadOmen = true; public boolean noteBlockIgnoreAbove = false; public boolean persistentDroppableEntityDisplayNames = true; @@ -206,7 +206,7 @@ index c21cd0400a7552c154a65951f648fb609d1bf883..c573d694e60c7fd4dc1820873be99b4d public boolean projectilesBypassMobGriefing = false; public boolean tickFluids = true; public double mobsBlindnessMultiplier = 1; -@@ -155,6 +156,7 @@ public class PurpurWorldConfig { +@@ -153,6 +154,7 @@ public class PurpurWorldConfig { imposeTeleportRestrictionsOnGateways = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-gateways", imposeTeleportRestrictionsOnGateways); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); noteBlockIgnoreAbove = getBoolean("gameplay-mechanics.note-block-ignore-above", noteBlockIgnoreAbove); diff --git a/patches/server/0226-Signs-allow-color-codes.patch b/patches/server/0226-Signs-allow-color-codes.patch index ed2b50b2a..cc8e0ab64 100644 --- a/patches/server/0226-Signs-allow-color-codes.patch +++ b/patches/server/0226-Signs-allow-color-codes.patch @@ -84,10 +84,10 @@ index 38cde466714e5663cd416b6afd5d2558e139ec09..2d625f18f2ba42ee5a1ebeea78ca395a public CompoundTag getUpdateTag() { return this.saveWithoutMetadata(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c573d694e60c7fd4dc1820873be99b4da82405cb..51593a72991cd2b7a080383547900d8c62a4d4df 100644 +index 33f0396c06e1063acb11b8e283b9cb6e6509b821..0a43e97fa389cdfd3a542c25878f28afb88d15b7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -983,6 +983,11 @@ public class PurpurWorldConfig { +@@ -981,6 +981,11 @@ public class PurpurWorldConfig { shulkerBoxAllowOversizedStacks = getBoolean("blocks.shulker_box.allow-oversized-stacks", shulkerBoxAllowOversizedStacks); } diff --git a/patches/server/0228-Mobs-always-drop-experience.patch b/patches/server/0228-Mobs-always-drop-experience.patch index 248ec1b19..061951b83 100644 --- a/patches/server/0228-Mobs-always-drop-experience.patch +++ b/patches/server/0228-Mobs-always-drop-experience.patch @@ -1157,10 +1157,10 @@ index 68d263a7647e395d981014f7cc761fe76fc74cb6..970b1f6eaeeddf9928ba61239248ecd2 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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f31051451385c75869c 100644 +index 0a43e97fa389cdfd3a542c25878f28afb88d15b7..e184a95a4ff3028ffa05fb4dad68c0047d22a638 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1050,12 +1050,14 @@ public class PurpurWorldConfig { +@@ -1048,12 +1048,14 @@ public class PurpurWorldConfig { public double axolotlMaxHealth = 14.0D; public int axolotlBreedingTicks = 6000; public boolean axolotlTakeDamageFromWater = false; @@ -1175,7 +1175,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean batRidable = false; -@@ -1071,6 +1073,7 @@ public class PurpurWorldConfig { +@@ -1069,6 +1071,7 @@ public class PurpurWorldConfig { public double batArmorToughness = 0.0D; public double batAttackKnockback = 0.0D; public boolean batTakeDamageFromWater = false; @@ -1183,7 +1183,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void batSettings() { batRidable = getBoolean("mobs.bat.ridable", batRidable); batRidableInWater = getBoolean("mobs.bat.ridable-in-water", batRidableInWater); -@@ -1090,6 +1093,7 @@ public class PurpurWorldConfig { +@@ -1088,6 +1091,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean beeRidable = false; -@@ -1101,6 +1105,7 @@ public class PurpurWorldConfig { +@@ -1099,6 +1103,7 @@ public class PurpurWorldConfig { public boolean beeTakeDamageFromWater = false; public boolean beeCanWorkAtNight = false; public boolean beeCanWorkInRain = false; @@ -1199,7 +1199,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -1116,6 +1121,7 @@ public class PurpurWorldConfig { +@@ -1114,6 +1119,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean blazeRidable = false; -@@ -1124,6 +1130,7 @@ public class PurpurWorldConfig { +@@ -1122,6 +1128,7 @@ public class PurpurWorldConfig { public double blazeMaxY = 320D; public double blazeMaxHealth = 20.0D; public boolean blazeTakeDamageFromWater = true; @@ -1215,7 +1215,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void blazeSettings() { blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable); blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater); -@@ -1136,6 +1143,7 @@ public class PurpurWorldConfig { +@@ -1134,6 +1141,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean camelRidableInWater = false; -@@ -1167,6 +1175,7 @@ public class PurpurWorldConfig { +@@ -1165,6 +1173,7 @@ public class PurpurWorldConfig { public int catBreedingTicks = 6000; public DyeColor catDefaultCollarColor = DyeColor.RED; public boolean catTakeDamageFromWater = false; @@ -1231,7 +1231,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -1187,6 +1196,7 @@ public class PurpurWorldConfig { +@@ -1185,6 +1194,7 @@ public class PurpurWorldConfig { catDefaultCollarColor = DyeColor.RED; } catTakeDamageFromWater = getBoolean("mobs.cat.takes-damage-from-water", catTakeDamageFromWater); @@ -1239,7 +1239,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean caveSpiderRidable = false; -@@ -1194,6 +1204,7 @@ public class PurpurWorldConfig { +@@ -1192,6 +1202,7 @@ public class PurpurWorldConfig { public boolean caveSpiderControllable = true; public double caveSpiderMaxHealth = 12.0D; public boolean caveSpiderTakeDamageFromWater = false; @@ -1247,7 +1247,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void caveSpiderSettings() { caveSpiderRidable = getBoolean("mobs.cave_spider.ridable", caveSpiderRidable); caveSpiderRidableInWater = getBoolean("mobs.cave_spider.ridable-in-water", caveSpiderRidableInWater); -@@ -1205,6 +1216,7 @@ public class PurpurWorldConfig { +@@ -1203,6 +1214,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean chickenRidable = false; -@@ -1214,6 +1226,7 @@ public class PurpurWorldConfig { +@@ -1212,6 +1224,7 @@ public class PurpurWorldConfig { public boolean chickenRetaliate = false; public int chickenBreedingTicks = 6000; public boolean chickenTakeDamageFromWater = false; @@ -1263,7 +1263,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -1227,12 +1240,14 @@ public class PurpurWorldConfig { +@@ -1225,12 +1238,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void codSettings() { codRidable = getBoolean("mobs.cod.ridable", codRidable); codControllable = getBoolean("mobs.cod.controllable", codControllable); -@@ -1243,6 +1258,7 @@ public class PurpurWorldConfig { +@@ -1241,6 +1256,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean cowRidable = false; -@@ -1254,6 +1270,7 @@ public class PurpurWorldConfig { +@@ -1252,6 +1268,7 @@ public class PurpurWorldConfig { public boolean cowTakeDamageFromWater = false; public double cowNaturallyAggressiveToPlayersChance = 0.0D; public double cowNaturallyAggressiveToPlayersDamage = 2.0D; @@ -1294,7 +1294,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void cowSettings() { if (PurpurConfig.version < 22) { double oldValue = getDouble("mobs.cow.naturally-aggressive-to-players-chance", cowNaturallyAggressiveToPlayersChance); -@@ -1274,6 +1291,7 @@ public class PurpurWorldConfig { +@@ -1272,6 +1289,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean creeperRidable = false; -@@ -1286,6 +1304,7 @@ public class PurpurWorldConfig { +@@ -1284,6 +1302,7 @@ public class PurpurWorldConfig { public boolean creeperTakeDamageFromWater = false; public boolean creeperExplodeWhenKilled = false; public boolean creeperHealthRadius = false; @@ -1310,7 +1310,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1302,6 +1321,7 @@ public class PurpurWorldConfig { +@@ -1300,6 +1319,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean dolphinRidable = false; -@@ -1313,6 +1333,7 @@ public class PurpurWorldConfig { +@@ -1311,6 +1331,7 @@ public class PurpurWorldConfig { public boolean dolphinDisableTreasureSearching = false; public boolean dolphinTakeDamageFromWater = false; public double dolphinNaturallyAggressiveToPlayersChance = 0.0D; @@ -1326,7 +1326,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -1328,6 +1349,7 @@ public class PurpurWorldConfig { +@@ -1326,6 +1347,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean donkeyRidableInWater = false; -@@ -1339,6 +1361,7 @@ public class PurpurWorldConfig { +@@ -1337,6 +1359,7 @@ public class PurpurWorldConfig { public double donkeyMovementSpeedMax = 0.175D; public int donkeyBreedingTicks = 6000; public boolean donkeyTakeDamageFromWater = false; @@ -1342,7 +1342,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); if (PurpurConfig.version < 10) { -@@ -1356,6 +1379,7 @@ public class PurpurWorldConfig { +@@ -1354,6 +1377,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean drownedRidable = false; -@@ -1368,6 +1392,7 @@ public class PurpurWorldConfig { +@@ -1366,6 +1390,7 @@ public class PurpurWorldConfig { public boolean drownedJockeyTryExistingChickens = true; public boolean drownedTakeDamageFromWater = false; public boolean drownedBreakDoors = false; @@ -1358,7 +1358,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1384,12 +1409,14 @@ public class PurpurWorldConfig { +@@ -1382,12 +1407,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void elderGuardianSettings() { elderGuardianRidable = getBoolean("mobs.elder_guardian.ridable", elderGuardianRidable); elderGuardianControllable = getBoolean("mobs.elder_guardian.controllable", elderGuardianControllable); -@@ -1400,6 +1427,7 @@ public class PurpurWorldConfig { +@@ -1398,6 +1425,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean enderDragonRidable = false; -@@ -1445,6 +1473,7 @@ public class PurpurWorldConfig { +@@ -1443,6 +1471,7 @@ public class PurpurWorldConfig { public boolean endermanIgnorePlayerDragonHead = false; public boolean endermanDisableStareAggro = false; public boolean endermanIgnoreProjectiles = false; @@ -1389,7 +1389,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1468,6 +1497,7 @@ public class PurpurWorldConfig { +@@ -1466,6 +1495,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean endermiteRidable = false; -@@ -1475,6 +1505,7 @@ public class PurpurWorldConfig { +@@ -1473,6 +1503,7 @@ public class PurpurWorldConfig { public boolean endermiteControllable = true; public double endermiteMaxHealth = 8.0D; public boolean endermiteTakeDamageFromWater = false; @@ -1405,7 +1405,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void endermiteSettings() { endermiteRidable = getBoolean("mobs.endermite.ridable", endermiteRidable); endermiteRidableInWater = getBoolean("mobs.endermite.ridable-in-water", endermiteRidableInWater); -@@ -1486,6 +1517,7 @@ public class PurpurWorldConfig { +@@ -1484,6 +1515,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean evokerRidable = false; -@@ -1494,6 +1526,7 @@ public class PurpurWorldConfig { +@@ -1492,6 +1524,7 @@ public class PurpurWorldConfig { public double evokerMaxHealth = 24.0D; public boolean evokerBypassMobGriefing = false; public boolean evokerTakeDamageFromWater = false; @@ -1421,7 +1421,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -1506,6 +1539,7 @@ public class PurpurWorldConfig { +@@ -1504,6 +1537,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean foxRidable = false; -@@ -1516,6 +1550,7 @@ public class PurpurWorldConfig { +@@ -1514,6 +1548,7 @@ public class PurpurWorldConfig { public int foxBreedingTicks = 6000; public boolean foxBypassMobGriefing = false; public boolean foxTakeDamageFromWater = false; @@ -1437,7 +1437,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -1530,6 +1565,7 @@ public class PurpurWorldConfig { +@@ -1528,6 +1563,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean frogRidable = false; -@@ -1551,6 +1587,7 @@ public class PurpurWorldConfig { +@@ -1549,6 +1585,7 @@ public class PurpurWorldConfig { public double ghastMaxY = 320D; public double ghastMaxHealth = 10.0D; public boolean ghastTakeDamageFromWater = false; @@ -1453,7 +1453,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void ghastSettings() { ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable); ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater); -@@ -1563,6 +1600,7 @@ public class PurpurWorldConfig { +@@ -1561,6 +1598,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean giantRidable = false; -@@ -1576,6 +1614,7 @@ public class PurpurWorldConfig { +@@ -1574,6 +1612,7 @@ public class PurpurWorldConfig { public boolean giantHaveAI = false; public boolean giantHaveHostileAI = false; public boolean giantTakeDamageFromWater = false; @@ -1469,7 +1469,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -1597,6 +1636,7 @@ public class PurpurWorldConfig { +@@ -1595,6 +1634,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean glowSquidRidable = false; -@@ -1604,12 +1644,14 @@ public class PurpurWorldConfig { +@@ -1602,12 +1642,14 @@ public class PurpurWorldConfig { public double glowSquidMaxHealth = 10.0D; public boolean glowSquidsCanFly = false; public boolean glowSquidTakeDamageFromWater = false; @@ -1492,7 +1492,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean goatRidable = false; -@@ -1618,6 +1660,7 @@ public class PurpurWorldConfig { +@@ -1616,6 +1658,7 @@ public class PurpurWorldConfig { public double goatMaxHealth = 10.0D; public int goatBreedingTicks = 6000; public boolean goatTakeDamageFromWater = false; @@ -1500,7 +1500,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void goatSettings() { goatRidable = getBoolean("mobs.goat.ridable", goatRidable); goatRidableInWater = getBoolean("mobs.goat.ridable-in-water", goatRidableInWater); -@@ -1625,12 +1668,14 @@ public class PurpurWorldConfig { +@@ -1623,12 +1666,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void guardianSettings() { guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable); guardianControllable = getBoolean("mobs.guardian.controllable", guardianControllable); -@@ -1641,6 +1686,7 @@ public class PurpurWorldConfig { +@@ -1639,6 +1684,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean forceHalloweenSeason = false; -@@ -1656,6 +1702,7 @@ public class PurpurWorldConfig { +@@ -1654,6 +1700,7 @@ public class PurpurWorldConfig { public double hoglinMaxHealth = 40.0D; public int hoglinBreedingTicks = 6000; public boolean hoglinTakeDamageFromWater = false; @@ -1531,7 +1531,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -1668,6 +1715,7 @@ public class PurpurWorldConfig { +@@ -1666,6 +1713,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean horseRidableInWater = false; -@@ -1679,6 +1727,7 @@ public class PurpurWorldConfig { +@@ -1677,6 +1725,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; @@ -1547,7 +1547,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1696,6 +1745,7 @@ public class PurpurWorldConfig { +@@ -1694,6 +1743,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean huskRidable = false; -@@ -1707,6 +1757,7 @@ public class PurpurWorldConfig { +@@ -1705,6 +1755,7 @@ public class PurpurWorldConfig { public double huskJockeyChance = 0.05D; public boolean huskJockeyTryExistingChickens = true; public boolean huskTakeDamageFromWater = false; @@ -1563,7 +1563,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -1722,6 +1773,7 @@ public class PurpurWorldConfig { +@@ -1720,6 +1771,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean illusionerRidable = false; -@@ -1731,6 +1783,7 @@ public class PurpurWorldConfig { +@@ -1729,6 +1781,7 @@ public class PurpurWorldConfig { public double illusionerFollowRange = 18.0D; public double illusionerMaxHealth = 32.0D; public boolean illusionerTakeDamageFromWater = false; @@ -1579,7 +1579,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void illusionerSettings() { illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable); illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater); -@@ -1748,6 +1801,7 @@ public class PurpurWorldConfig { +@@ -1746,6 +1799,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean ironGolemRidable = false; -@@ -1758,6 +1812,7 @@ public class PurpurWorldConfig { +@@ -1756,6 +1810,7 @@ public class PurpurWorldConfig { public boolean ironGolemTakeDamageFromWater = false; public boolean ironGolemPoppyCalm = false; public boolean ironGolemHealCalm = false; @@ -1595,7 +1595,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1772,6 +1827,7 @@ public class PurpurWorldConfig { +@@ -1770,6 +1825,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean llamaRidable = false; -@@ -1786,6 +1842,7 @@ public class PurpurWorldConfig { +@@ -1784,6 +1840,7 @@ public class PurpurWorldConfig { public int llamaBreedingTicks = 6000; public boolean llamaTakeDamageFromWater = false; public boolean llamaJoinCaravans = true; @@ -1611,7 +1611,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1806,6 +1863,7 @@ public class PurpurWorldConfig { +@@ -1804,6 +1861,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean magmaCubeRidable = false; -@@ -1816,6 +1874,7 @@ public class PurpurWorldConfig { +@@ -1814,6 +1872,7 @@ public class PurpurWorldConfig { public Map magmaCubeMaxHealthCache = new HashMap<>(); public Map magmaCubeAttackDamageCache = new HashMap<>(); public boolean magmaCubeTakeDamageFromWater = false; @@ -1627,7 +1627,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void magmaCubeSettings() { magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable); magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater); -@@ -1830,6 +1889,7 @@ public class PurpurWorldConfig { +@@ -1828,6 +1887,7 @@ public class PurpurWorldConfig { magmaCubeMaxHealthCache.clear(); magmaCubeAttackDamageCache.clear(); magmaCubeTakeDamageFromWater = getBoolean("mobs.magma_cube.takes-damage-from-water", magmaCubeTakeDamageFromWater); @@ -1635,7 +1635,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean mooshroomRidable = false; -@@ -1838,6 +1898,7 @@ public class PurpurWorldConfig { +@@ -1836,6 +1896,7 @@ public class PurpurWorldConfig { public double mooshroomMaxHealth = 10.0D; public int mooshroomBreedingTicks = 6000; public boolean mooshroomTakeDamageFromWater = false; @@ -1643,7 +1643,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1850,6 +1911,7 @@ public class PurpurWorldConfig { +@@ -1848,6 +1909,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean muleRidableInWater = false; -@@ -1861,6 +1923,7 @@ public class PurpurWorldConfig { +@@ -1859,6 +1921,7 @@ public class PurpurWorldConfig { public double muleMovementSpeedMax = 0.175D; public int muleBreedingTicks = 6000; public boolean muleTakeDamageFromWater = false; @@ -1659,7 +1659,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1878,6 +1941,7 @@ public class PurpurWorldConfig { +@@ -1876,6 +1939,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean ocelotRidable = false; -@@ -1886,6 +1950,7 @@ public class PurpurWorldConfig { +@@ -1884,6 +1948,7 @@ public class PurpurWorldConfig { public double ocelotMaxHealth = 10.0D; public int ocelotBreedingTicks = 6000; public boolean ocelotTakeDamageFromWater = false; @@ -1675,7 +1675,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1898,6 +1963,7 @@ public class PurpurWorldConfig { +@@ -1896,6 +1961,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean pandaRidable = false; -@@ -1906,6 +1972,7 @@ public class PurpurWorldConfig { +@@ -1904,6 +1970,7 @@ public class PurpurWorldConfig { public double pandaMaxHealth = 20.0D; public int pandaBreedingTicks = 6000; public boolean pandaTakeDamageFromWater = false; @@ -1691,7 +1691,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1918,6 +1985,7 @@ public class PurpurWorldConfig { +@@ -1916,6 +1983,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean parrotRidable = false; -@@ -1927,6 +1995,7 @@ public class PurpurWorldConfig { +@@ -1925,6 +1993,7 @@ public class PurpurWorldConfig { public double parrotMaxHealth = 6.0D; public boolean parrotTakeDamageFromWater = false; public boolean parrotBreedable = false; @@ -1707,7 +1707,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1940,6 +2009,7 @@ public class PurpurWorldConfig { +@@ -1938,6 +2007,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean phantomRidable = false; -@@ -1967,6 +2037,7 @@ public class PurpurWorldConfig { +@@ -1965,6 +2035,7 @@ public class PurpurWorldConfig { public boolean phantomBurnInDaylight = true; public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; @@ -1723,7 +1723,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -2002,6 +2073,7 @@ public class PurpurWorldConfig { +@@ -2000,6 +2071,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean pigRidable = false; -@@ -2011,6 +2083,7 @@ public class PurpurWorldConfig { +@@ -2009,6 +2081,7 @@ public class PurpurWorldConfig { public boolean pigGiveSaddleBack = false; public int pigBreedingTicks = 6000; public boolean pigTakeDamageFromWater = false; @@ -1739,7 +1739,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -2024,6 +2097,7 @@ public class PurpurWorldConfig { +@@ -2022,6 +2095,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean piglinRidable = false; -@@ -2033,6 +2107,7 @@ public class PurpurWorldConfig { +@@ -2031,6 +2105,7 @@ public class PurpurWorldConfig { public boolean piglinBypassMobGriefing = false; public boolean piglinTakeDamageFromWater = false; public int piglinPortalSpawnModifier = 2000; @@ -1755,7 +1755,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2046,6 +2121,7 @@ public class PurpurWorldConfig { +@@ -2044,6 +2119,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean piglinBruteRidable = false; -@@ -2053,6 +2129,7 @@ public class PurpurWorldConfig { +@@ -2051,6 +2127,7 @@ public class PurpurWorldConfig { public boolean piglinBruteControllable = true; public double piglinBruteMaxHealth = 50.0D; public boolean piglinBruteTakeDamageFromWater = false; @@ -1771,7 +1771,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void piglinBruteSettings() { piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable); piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater); -@@ -2064,6 +2141,7 @@ public class PurpurWorldConfig { +@@ -2062,6 +2139,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean pillagerRidable = false; -@@ -2072,6 +2150,7 @@ public class PurpurWorldConfig { +@@ -2070,6 +2148,7 @@ public class PurpurWorldConfig { public double pillagerMaxHealth = 24.0D; public boolean pillagerBypassMobGriefing = false; public boolean pillagerTakeDamageFromWater = false; @@ -1787,7 +1787,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -2084,6 +2163,7 @@ public class PurpurWorldConfig { +@@ -2082,6 +2161,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean polarBearRidable = false; -@@ -2094,6 +2174,7 @@ public class PurpurWorldConfig { +@@ -2092,6 +2172,7 @@ public class PurpurWorldConfig { public Item polarBearBreedableItem = null; public int polarBearBreedingTicks = 6000; public boolean polarBearTakeDamageFromWater = false; @@ -1803,7 +1803,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -2109,12 +2190,14 @@ public class PurpurWorldConfig { +@@ -2107,12 +2188,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void pufferfishSettings() { pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable); pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable); -@@ -2125,6 +2208,7 @@ public class PurpurWorldConfig { +@@ -2123,6 +2206,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean rabbitRidable = false; -@@ -2136,6 +2220,7 @@ public class PurpurWorldConfig { +@@ -2134,6 +2218,7 @@ public class PurpurWorldConfig { public int rabbitBreedingTicks = 6000; public boolean rabbitBypassMobGriefing = false; public boolean rabbitTakeDamageFromWater = false; @@ -1834,7 +1834,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -2151,6 +2236,7 @@ public class PurpurWorldConfig { +@@ -2149,6 +2234,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean ravagerRidable = false; -@@ -2160,6 +2246,7 @@ public class PurpurWorldConfig { +@@ -2158,6 +2244,7 @@ public class PurpurWorldConfig { public boolean ravagerBypassMobGriefing = false; public boolean ravagerTakeDamageFromWater = false; public List ravagerGriefableBlocks = new ArrayList<>(); @@ -1850,7 +1850,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -2189,12 +2276,14 @@ public class PurpurWorldConfig { +@@ -2187,12 +2274,14 @@ public class PurpurWorldConfig { ravagerGriefableBlocks.add(block); } }); @@ -1865,7 +1865,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void salmonSettings() { salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable); salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable); -@@ -2205,6 +2294,7 @@ public class PurpurWorldConfig { +@@ -2203,6 +2292,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean sheepRidable = false; -@@ -2214,6 +2304,7 @@ public class PurpurWorldConfig { +@@ -2212,6 +2302,7 @@ public class PurpurWorldConfig { public int sheepBreedingTicks = 6000; public boolean sheepBypassMobGriefing = false; public boolean sheepTakeDamageFromWater = false; @@ -1881,7 +1881,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -2227,6 +2318,7 @@ public class PurpurWorldConfig { +@@ -2225,6 +2316,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean shulkerRidable = false; -@@ -2240,6 +2332,7 @@ public class PurpurWorldConfig { +@@ -2238,6 +2330,7 @@ public class PurpurWorldConfig { public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0"; public boolean shulkerSpawnFromBulletRandomColor = false; public boolean shulkerChangeColorWithDye = false; @@ -1897,7 +1897,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2257,6 +2350,7 @@ public class PurpurWorldConfig { +@@ -2255,6 +2348,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean silverfishRidable = false; -@@ -2265,6 +2359,7 @@ public class PurpurWorldConfig { +@@ -2263,6 +2357,7 @@ public class PurpurWorldConfig { public double silverfishMaxHealth = 8.0D; public boolean silverfishBypassMobGriefing = false; public boolean silverfishTakeDamageFromWater = false; @@ -1913,7 +1913,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -2277,6 +2372,7 @@ public class PurpurWorldConfig { +@@ -2275,6 +2370,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean skeletonRidable = false; -@@ -2284,6 +2380,7 @@ public class PurpurWorldConfig { +@@ -2282,6 +2378,7 @@ public class PurpurWorldConfig { public boolean skeletonControllable = true; public double skeletonMaxHealth = 20.0D; public boolean skeletonTakeDamageFromWater = false; @@ -1929,7 +1929,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2295,6 +2392,7 @@ public class PurpurWorldConfig { +@@ -2293,6 +2390,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean skeletonHorseRidableInWater = true; -@@ -2306,6 +2404,7 @@ public class PurpurWorldConfig { +@@ -2304,6 +2402,7 @@ public class PurpurWorldConfig { public double skeletonHorseMovementSpeedMin = 0.2D; public double skeletonHorseMovementSpeedMax = 0.2D; public boolean skeletonHorseTakeDamageFromWater = false; @@ -1945,7 +1945,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void skeletonHorseSettings() { skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater); skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim); -@@ -2322,6 +2421,7 @@ public class PurpurWorldConfig { +@@ -2320,6 +2419,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean slimeRidable = false; -@@ -2332,6 +2432,7 @@ public class PurpurWorldConfig { +@@ -2330,6 +2430,7 @@ public class PurpurWorldConfig { public Map slimeMaxHealthCache = new HashMap<>(); public Map slimeAttackDamageCache = new HashMap<>(); public boolean slimeTakeDamageFromWater = false; @@ -1961,7 +1961,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void slimeSettings() { slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable); slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater); -@@ -2346,6 +2447,7 @@ public class PurpurWorldConfig { +@@ -2344,6 +2445,7 @@ public class PurpurWorldConfig { slimeMaxHealthCache.clear(); slimeAttackDamageCache.clear(); slimeTakeDamageFromWater = getBoolean("mobs.slime.takes-damage-from-water", slimeTakeDamageFromWater); @@ -1969,7 +1969,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean snowGolemRidable = false; -@@ -2361,6 +2463,7 @@ public class PurpurWorldConfig { +@@ -2359,6 +2461,7 @@ public class PurpurWorldConfig { public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; public boolean snowGolemTakeDamageFromWater = true; @@ -1977,7 +1977,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -2380,6 +2483,7 @@ public class PurpurWorldConfig { +@@ -2378,6 +2481,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean snifferRidable = false; -@@ -2402,6 +2506,7 @@ public class PurpurWorldConfig { +@@ -2400,6 +2504,7 @@ public class PurpurWorldConfig { public double squidOffsetWaterCheck = 0.0D; public boolean squidsCanFly = false; public boolean squidTakeDamageFromWater = false; @@ -1993,7 +1993,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -2415,6 +2520,7 @@ public class PurpurWorldConfig { +@@ -2413,6 +2518,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean spiderRidable = false; -@@ -2422,6 +2528,7 @@ public class PurpurWorldConfig { +@@ -2420,6 +2526,7 @@ public class PurpurWorldConfig { public boolean spiderControllable = true; public double spiderMaxHealth = 16.0D; public boolean spiderTakeDamageFromWater = false; @@ -2009,7 +2009,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -2433,6 +2540,7 @@ public class PurpurWorldConfig { +@@ -2431,6 +2538,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean strayRidable = false; -@@ -2440,6 +2548,7 @@ public class PurpurWorldConfig { +@@ -2438,6 +2546,7 @@ public class PurpurWorldConfig { public boolean strayControllable = true; public double strayMaxHealth = 20.0D; public boolean strayTakeDamageFromWater = false; @@ -2025,7 +2025,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void straySettings() { strayRidable = getBoolean("mobs.stray.ridable", strayRidable); strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater); -@@ -2451,6 +2560,7 @@ public class PurpurWorldConfig { +@@ -2449,6 +2558,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean striderRidable = false; -@@ -2460,6 +2570,7 @@ public class PurpurWorldConfig { +@@ -2458,6 +2568,7 @@ public class PurpurWorldConfig { public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; public boolean striderTakeDamageFromWater = true; @@ -2041,7 +2041,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -2473,6 +2584,7 @@ public class PurpurWorldConfig { +@@ -2471,6 +2582,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean tadpoleRidable = false; -@@ -2495,6 +2607,7 @@ public class PurpurWorldConfig { +@@ -2493,6 +2605,7 @@ public class PurpurWorldConfig { public double traderLlamaMovementSpeedMax = 0.175D; public int traderLlamaBreedingTicks = 6000; public boolean traderLlamaTakeDamageFromWater = false; @@ -2057,7 +2057,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -2514,12 +2627,14 @@ public class PurpurWorldConfig { +@@ -2512,12 +2625,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void tropicalFishSettings() { tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable); -@@ -2530,6 +2645,7 @@ public class PurpurWorldConfig { +@@ -2528,6 +2643,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean turtleRidable = false; -@@ -2538,6 +2654,7 @@ public class PurpurWorldConfig { +@@ -2536,6 +2652,7 @@ public class PurpurWorldConfig { public double turtleMaxHealth = 30.0D; public int turtleBreedingTicks = 6000; public boolean turtleTakeDamageFromWater = false; @@ -2088,7 +2088,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -2550,6 +2667,7 @@ public class PurpurWorldConfig { +@@ -2548,6 +2665,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean vexRidable = false; -@@ -2558,6 +2676,7 @@ public class PurpurWorldConfig { +@@ -2556,6 +2674,7 @@ public class PurpurWorldConfig { public double vexMaxY = 320D; public double vexMaxHealth = 14.0D; public boolean vexTakeDamageFromWater = false; @@ -2104,7 +2104,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void vexSettings() { vexRidable = getBoolean("mobs.vex.ridable", vexRidable); vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater); -@@ -2570,6 +2689,7 @@ public class PurpurWorldConfig { +@@ -2568,6 +2687,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean villagerRidable = false; -@@ -2585,6 +2705,7 @@ public class PurpurWorldConfig { +@@ -2583,6 +2703,7 @@ public class PurpurWorldConfig { public boolean villagerBypassMobGriefing = false; public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; @@ -2120,7 +2120,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2604,6 +2725,7 @@ public class PurpurWorldConfig { +@@ -2602,6 +2723,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean vindicatorRidable = false; -@@ -2612,6 +2734,7 @@ public class PurpurWorldConfig { +@@ -2610,6 +2732,7 @@ public class PurpurWorldConfig { public double vindicatorMaxHealth = 24.0D; public double vindicatorJohnnySpawnChance = 0D; public boolean vindicatorTakeDamageFromWater = false; @@ -2136,7 +2136,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -2624,6 +2747,7 @@ public class PurpurWorldConfig { +@@ -2622,6 +2745,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean wanderingTraderRidable = false; -@@ -2634,6 +2758,7 @@ public class PurpurWorldConfig { +@@ -2632,6 +2756,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderTakeDamageFromWater = false; public boolean wanderingTraderAllowTrading = true; @@ -2152,7 +2152,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -2648,6 +2773,7 @@ public class PurpurWorldConfig { +@@ -2646,6 +2771,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean wardenRidable = false; -@@ -2664,6 +2790,7 @@ public class PurpurWorldConfig { +@@ -2662,6 +2788,7 @@ public class PurpurWorldConfig { public boolean witchControllable = true; public double witchMaxHealth = 26.0D; public boolean witchTakeDamageFromWater = false; @@ -2168,7 +2168,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void witchSettings() { witchRidable = getBoolean("mobs.witch.ridable", witchRidable); witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater); -@@ -2675,6 +2802,7 @@ public class PurpurWorldConfig { +@@ -2673,6 +2800,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean witherRidable = false; -@@ -2689,6 +2817,7 @@ public class PurpurWorldConfig { +@@ -2687,6 +2815,7 @@ public class PurpurWorldConfig { public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; public boolean witherPlaySpawnSound = true; @@ -2184,7 +2184,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2711,6 +2840,7 @@ public class PurpurWorldConfig { +@@ -2709,6 +2838,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean witherSkeletonRidable = false; -@@ -2718,6 +2848,7 @@ public class PurpurWorldConfig { +@@ -2716,6 +2846,7 @@ public class PurpurWorldConfig { public boolean witherSkeletonControllable = true; public double witherSkeletonMaxHealth = 20.0D; public boolean witherSkeletonTakeDamageFromWater = false; @@ -2200,7 +2200,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void witherSkeletonSettings() { witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); -@@ -2729,6 +2860,7 @@ public class PurpurWorldConfig { +@@ -2727,6 +2858,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean wolfRidable = false; -@@ -2740,6 +2872,7 @@ public class PurpurWorldConfig { +@@ -2738,6 +2870,7 @@ public class PurpurWorldConfig { public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; public boolean wolfTakeDamageFromWater = false; @@ -2216,7 +2216,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -2759,6 +2892,7 @@ public class PurpurWorldConfig { +@@ -2757,6 +2890,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean zoglinRidable = false; -@@ -2766,6 +2900,7 @@ public class PurpurWorldConfig { +@@ -2764,6 +2898,7 @@ public class PurpurWorldConfig { public boolean zoglinControllable = true; public double zoglinMaxHealth = 40.0D; public boolean zoglinTakeDamageFromWater = false; @@ -2232,7 +2232,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void zoglinSettings() { zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable); zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater); -@@ -2777,6 +2912,7 @@ public class PurpurWorldConfig { +@@ -2775,6 +2910,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean zombieRidable = false; -@@ -2790,6 +2926,7 @@ public class PurpurWorldConfig { +@@ -2788,6 +2924,7 @@ public class PurpurWorldConfig { public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; @@ -2248,7 +2248,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2807,6 +2944,7 @@ public class PurpurWorldConfig { +@@ -2805,6 +2942,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean zombieHorseRidableInWater = false; -@@ -2819,6 +2957,7 @@ public class PurpurWorldConfig { +@@ -2817,6 +2955,7 @@ public class PurpurWorldConfig { public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseSpawnChance = 0.0D; public boolean zombieHorseTakeDamageFromWater = false; @@ -2264,7 +2264,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void zombieHorseSettings() { zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); -@@ -2836,6 +2975,7 @@ public class PurpurWorldConfig { +@@ -2834,6 +2973,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean zombieVillagerRidable = false; -@@ -2850,6 +2990,7 @@ public class PurpurWorldConfig { +@@ -2848,6 +2988,7 @@ public class PurpurWorldConfig { public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; public boolean zombieVillagerCureEnabled = true; @@ -2280,7 +2280,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2868,6 +3009,7 @@ public class PurpurWorldConfig { +@@ -2866,6 +3007,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 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 } public boolean zombifiedPiglinRidable = false; -@@ -2880,6 +3022,7 @@ public class PurpurWorldConfig { +@@ -2878,6 +3020,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; public boolean zombifiedPiglinTakeDamageFromWater = false; @@ -2296,7 +2296,7 @@ index 51593a72991cd2b7a080383547900d8c62a4d4df..e088bd15d2723fe02ef65f3105145138 private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -2896,6 +3039,7 @@ public class PurpurWorldConfig { +@@ -2894,6 +3037,7 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); diff --git a/patches/server/0231-Ability-for-hoe-to-replant-crops-and-nether-warts.patch b/patches/server/0231-Ability-for-hoe-to-replant-crops-and-nether-warts.patch index 407d56aa5..94aaed4d4 100644 --- a/patches/server/0231-Ability-for-hoe-to-replant-crops-and-nether-warts.patch +++ b/patches/server/0231-Ability-for-hoe-to-replant-crops-and-nether-warts.patch @@ -74,10 +74,10 @@ index e55720c4d2fbdf6aae526910e87a67c29cf906fd..0e4026e9d39735b840f12e59f84469b9 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e088bd15d2723fe02ef65f31051451385c75869c..25804886a3f406b772ed84cf5ed3e600d686f7e4 100644 +index e184a95a4ff3028ffa05fb4dad68c0047d22a638..98c39a3297e676c7c780430180f5e98076b7e718 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -549,6 +549,8 @@ public class PurpurWorldConfig { +@@ -547,6 +547,8 @@ public class PurpurWorldConfig { public Map axeWeatherables = new HashMap<>(); public Map hoeTillables = new HashMap<>(); public Map shovelFlattenables = new HashMap<>(); @@ -86,7 +86,7 @@ index e088bd15d2723fe02ef65f31051451385c75869c..25804886a3f406b772ed84cf5ed3e600 private void toolSettings() { axeStrippables.clear(); axeWaxables.clear(); -@@ -742,6 +744,8 @@ public class PurpurWorldConfig { +@@ -740,6 +742,8 @@ public class PurpurWorldConfig { }); shovelFlattenables.put(block, new Flattenable(into, drops)); }); diff --git a/patches/server/0232-Shearing-jeb-produces-random-color-wool.patch b/patches/server/0232-Shearing-jeb-produces-random-color-wool.patch index 7052d4fc5..8935e148a 100644 --- a/patches/server/0232-Shearing-jeb-produces-random-color-wool.patch +++ b/patches/server/0232-Shearing-jeb-produces-random-color-wool.patch @@ -18,10 +18,10 @@ index a1b323ecba25910e97f154e487acc94943117e0c..62d8ae4c689170420c7850fbbb402be8 if (entityitem != null) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 25804886a3f406b772ed84cf5ed3e600d686f7e4..2000aa2b43ad0b386d765248435d8714f35e1673 100644 +index 98c39a3297e676c7c780430180f5e98076b7e718..6edb5b4cac3ac9cf7d080293f0b582df31fe2c86 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2309,6 +2309,7 @@ public class PurpurWorldConfig { +@@ -2307,6 +2307,7 @@ public class PurpurWorldConfig { public boolean sheepBypassMobGriefing = false; public boolean sheepTakeDamageFromWater = false; public boolean sheepAlwaysDropExp = false; @@ -29,7 +29,7 @@ index 25804886a3f406b772ed84cf5ed3e600d686f7e4..2000aa2b43ad0b386d765248435d8714 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -2323,6 +2324,7 @@ public class PurpurWorldConfig { +@@ -2321,6 +2322,7 @@ public class PurpurWorldConfig { sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing); sheepTakeDamageFromWater = getBoolean("mobs.sheep.takes-damage-from-water", sheepTakeDamageFromWater); sheepAlwaysDropExp = getBoolean("mobs.sheep.always-drop-exp", sheepAlwaysDropExp); diff --git a/patches/server/0233-Turtle-eggs-random-tick-crack-chance.patch b/patches/server/0233-Turtle-eggs-random-tick-crack-chance.patch index 146bbbaa3..e9531edeb 100644 --- a/patches/server/0233-Turtle-eggs-random-tick-crack-chance.patch +++ b/patches/server/0233-Turtle-eggs-random-tick-crack-chance.patch @@ -18,10 +18,10 @@ index 7495e0e8beedad59fff24ebf189b58b307f7d796..70997b83fd7631ebf3c5bda67ef77bef @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2000aa2b43ad0b386d765248435d8714f35e1673..3cfb762c9c8af78ba6320d563516e879530a1f95 100644 +index 6edb5b4cac3ac9cf7d080293f0b582df31fe2c86..30e63ae6bc35efc64a016966f55bfb1e7df52d89 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1017,11 +1017,13 @@ public class PurpurWorldConfig { +@@ -1015,11 +1015,13 @@ public class PurpurWorldConfig { public boolean turtleEggsBreakFromItems = true; public boolean turtleEggsBreakFromMinecarts = true; public boolean turtleEggsBypassMobGriefing = false; diff --git a/patches/server/0234-Mob-head-visibility-percent.patch b/patches/server/0234-Mob-head-visibility-percent.patch index 437bda84c..104090484 100644 --- a/patches/server/0234-Mob-head-visibility-percent.patch +++ b/patches/server/0234-Mob-head-visibility-percent.patch @@ -32,10 +32,10 @@ index 21d6851cb903f214db92109a6c16bb7367e40e1c..aff8b1b0683e52038b6d92e052a012c9 // 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 3cfb762c9c8af78ba6320d563516e879530a1f95..29cf03dec710b56b6f8ebdf25965e69f89c69879 100644 +index 30e63ae6bc35efc64a016966f55bfb1e7df52d89..91af2d4187b2e61426539d018900c810d048efc9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1311,6 +1311,7 @@ public class PurpurWorldConfig { +@@ -1309,6 +1309,7 @@ public class PurpurWorldConfig { public boolean creeperExplodeWhenKilled = false; public boolean creeperHealthRadius = false; public boolean creeperAlwaysDropExp = false; @@ -43,7 +43,7 @@ index 3cfb762c9c8af78ba6320d563516e879530a1f95..29cf03dec710b56b6f8ebdf25965e69f private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1328,6 +1329,7 @@ public class PurpurWorldConfig { +@@ -1326,6 +1327,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 3cfb762c9c8af78ba6320d563516e879530a1f95..29cf03dec710b56b6f8ebdf25965e69f } public boolean dolphinRidable = false; -@@ -2114,6 +2116,7 @@ public class PurpurWorldConfig { +@@ -2112,6 +2114,7 @@ public class PurpurWorldConfig { public boolean piglinTakeDamageFromWater = false; public int piglinPortalSpawnModifier = 2000; public boolean piglinAlwaysDropExp = false; @@ -59,7 +59,7 @@ index 3cfb762c9c8af78ba6320d563516e879530a1f95..29cf03dec710b56b6f8ebdf25965e69f private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2128,6 +2131,7 @@ public class PurpurWorldConfig { +@@ -2126,6 +2129,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 3cfb762c9c8af78ba6320d563516e879530a1f95..29cf03dec710b56b6f8ebdf25965e69f } public boolean piglinBruteRidable = false; -@@ -2389,6 +2393,7 @@ public class PurpurWorldConfig { +@@ -2387,6 +2391,7 @@ public class PurpurWorldConfig { public double skeletonMaxHealth = 20.0D; public boolean skeletonTakeDamageFromWater = false; public boolean skeletonAlwaysDropExp = false; @@ -75,7 +75,7 @@ index 3cfb762c9c8af78ba6320d563516e879530a1f95..29cf03dec710b56b6f8ebdf25965e69f private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2401,6 +2406,7 @@ public class PurpurWorldConfig { +@@ -2399,6 +2404,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 3cfb762c9c8af78ba6320d563516e879530a1f95..29cf03dec710b56b6f8ebdf25965e69f } public boolean skeletonHorseRidableInWater = true; -@@ -2935,6 +2941,7 @@ public class PurpurWorldConfig { +@@ -2933,6 +2939,7 @@ public class PurpurWorldConfig { public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; public boolean zombieAlwaysDropExp = false; @@ -91,7 +91,7 @@ index 3cfb762c9c8af78ba6320d563516e879530a1f95..29cf03dec710b56b6f8ebdf25965e69f private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2953,6 +2960,7 @@ public class PurpurWorldConfig { +@@ -2951,6 +2958,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/0237-Stop-bees-from-dying-after-stinging.patch b/patches/server/0237-Stop-bees-from-dying-after-stinging.patch index 3f949772d..254bdbdf4 100644 --- a/patches/server/0237-Stop-bees-from-dying-after-stinging.patch +++ b/patches/server/0237-Stop-bees-from-dying-after-stinging.patch @@ -17,10 +17,10 @@ index ac4ca4de2be18a08268b24dfe259cfd136b1a4da..e837500019157129007841c847d807eb ++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 29cf03dec710b56b6f8ebdf25965e69f89c69879..7f19ad410e342607d46a37652b349ce19d775258 100644 +index 91af2d4187b2e61426539d018900c810d048efc9..a419aa0b06d5215ec66649dde8822120eb91a0f3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1112,6 +1112,7 @@ public class PurpurWorldConfig { +@@ -1110,6 +1110,7 @@ public class PurpurWorldConfig { public boolean beeCanWorkAtNight = false; public boolean beeCanWorkInRain = false; public boolean beeAlwaysDropExp = false; @@ -28,7 +28,7 @@ index 29cf03dec710b56b6f8ebdf25965e69f89c69879..7f19ad410e342607d46a37652b349ce1 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -1128,6 +1129,7 @@ public class PurpurWorldConfig { +@@ -1126,6 +1127,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/0239-Configurable-farmland-trample-height.patch b/patches/server/0239-Configurable-farmland-trample-height.patch index 751b81db0..71385ab8b 100644 --- a/patches/server/0239-Configurable-farmland-trample-height.patch +++ b/patches/server/0239-Configurable-farmland-trample-height.patch @@ -35,10 +35,10 @@ index 56e66fcd840d0d3681ba671d1ffc51b232631461..d566f67f8f6f1748023430de4f191881 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 7f19ad410e342607d46a37652b349ce19d775258..30c6e1fa879e89d2b43c5b0ed13fce39ae0b9923 100644 +index a419aa0b06d5215ec66649dde8822120eb91a0f3..948269a1ce9fe56bfa77e02a1671b993d5d44699 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -895,6 +895,7 @@ public class PurpurWorldConfig { +@@ -893,6 +893,7 @@ public class PurpurWorldConfig { public boolean farmlandTramplingDisabled = false; public boolean farmlandTramplingOnlyPlayers = false; public boolean farmlandTramplingFeatherFalling = false; @@ -46,7 +46,7 @@ index 7f19ad410e342607d46a37652b349ce19d775258..30c6e1fa879e89d2b43c5b0ed13fce39 private void farmlandSettings() { farmlandBypassMobGriefing = getBoolean("blocks.farmland.bypass-mob-griefing", farmlandBypassMobGriefing); farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); -@@ -902,6 +903,7 @@ public class PurpurWorldConfig { +@@ -900,6 +901,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/0240-Configurable-player-pickup-exp-delay.patch b/patches/server/0240-Configurable-player-pickup-exp-delay.patch index 8451362b5..ba95af541 100644 --- a/patches/server/0240-Configurable-player-pickup-exp-delay.patch +++ b/patches/server/0240-Configurable-player-pickup-exp-delay.patch @@ -35,10 +35,10 @@ index 0a9d8b22c7127b87826d9d256a5f36c34f2bfc0f..d00035e31cf4773a418d1cc6a6018d08 } 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 30c6e1fa879e89d2b43c5b0ed13fce39ae0b9923..634e9930d5fe015bfc0660ef06b21d9254dd8d37 100644 +index 948269a1ce9fe56bfa77e02a1671b993d5d44699..365849cce2cacd8c884d1e8e27b1b6723b1bb223 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -426,6 +426,7 @@ public class PurpurWorldConfig { +@@ -424,6 +424,7 @@ public class PurpurWorldConfig { public boolean playerRidableInWater = false; public boolean playerRemoveBindingWithWeakness = false; public int shiftRightClickRepairsMendingPoints = 0; @@ -46,7 +46,7 @@ index 30c6e1fa879e89d2b43c5b0ed13fce39ae0b9923..634e9930d5fe015bfc0660ef06b21d92 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -455,6 +456,7 @@ public class PurpurWorldConfig { +@@ -453,6 +454,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); diff --git a/patches/server/0241-Allow-void-trading.patch b/patches/server/0241-Allow-void-trading.patch index 2f59b557e..203c3e2a8 100644 --- a/patches/server/0241-Allow-void-trading.patch +++ b/patches/server/0241-Allow-void-trading.patch @@ -18,10 +18,10 @@ index 8cbb36b2dbcb9a1470c95746d7d481a142419164..122defeec159165c5fef295ec1dd2da4 } // Paper end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 634e9930d5fe015bfc0660ef06b21d9254dd8d37..fdfef5fae7c5e30fb84918856515fc77ff2fe61d 100644 +index 365849cce2cacd8c884d1e8e27b1b6723b1bb223..0f12ebf1ce10f66fd329e0b768891607238b52d1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -427,6 +427,7 @@ public class PurpurWorldConfig { +@@ -425,6 +425,7 @@ public class PurpurWorldConfig { public boolean playerRemoveBindingWithWeakness = false; public int shiftRightClickRepairsMendingPoints = 0; public int playerExpPickupDelay = 2; @@ -29,7 +29,7 @@ index 634e9930d5fe015bfc0660ef06b21d9254dd8d37..fdfef5fae7c5e30fb84918856515fc77 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -457,6 +458,7 @@ public class PurpurWorldConfig { +@@ -455,6 +456,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); diff --git a/patches/server/0242-Configurable-phantom-size.patch b/patches/server/0242-Configurable-phantom-size.patch index 282488990..f5721ed8d 100644 --- a/patches/server/0242-Configurable-phantom-size.patch +++ b/patches/server/0242-Configurable-phantom-size.patch @@ -22,10 +22,10 @@ index f71cbaabfff370f019f124203fb947ea7a817d95..17638b9d3340c86528a8ae597712c759 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index fdfef5fae7c5e30fb84918856515fc77ff2fe61d..907bf91a92bb3636401296a9e58926221ff8efb0 100644 +index 0f12ebf1ce10f66fd329e0b768891607238b52d1..fdb99c7565e0b23443d783fa01aa3f9cea5b3132 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2054,6 +2054,8 @@ public class PurpurWorldConfig { +@@ -2052,6 +2052,8 @@ public class PurpurWorldConfig { public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; public boolean phantomAlwaysDropExp = false; @@ -34,7 +34,7 @@ index fdfef5fae7c5e30fb84918856515fc77ff2fe61d..907bf91a92bb3636401296a9e5892622 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -2090,6 +2092,13 @@ public class PurpurWorldConfig { +@@ -2088,6 +2090,13 @@ public class PurpurWorldConfig { phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop); phantomTakeDamageFromWater = getBoolean("mobs.phantom.takes-damage-from-water", phantomTakeDamageFromWater); phantomAlwaysDropExp = getBoolean("mobs.phantom.always-drop-exp", phantomAlwaysDropExp); diff --git a/patches/server/0245-Configurable-minimum-demand-for-trades.patch b/patches/server/0245-Configurable-minimum-demand-for-trades.patch index 57414b443..690b34a95 100644 --- a/patches/server/0245-Configurable-minimum-demand-for-trades.patch +++ b/patches/server/0245-Configurable-minimum-demand-for-trades.patch @@ -40,10 +40,10 @@ index 28bdcb14cb5b458d3c990fcf343ef97f08e4f3c6..48167334162443365bb8a6d082a51b2c public ItemStack assemble() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 907bf91a92bb3636401296a9e58926221ff8efb0..33235b21d90e488020665b4ff3e3d6a7288cdc5d 100644 +index fdb99c7565e0b23443d783fa01aa3f9cea5b3132..fd141b5aaf45b6ae5aba56143c02f6a54133b9c8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2737,6 +2737,7 @@ public class PurpurWorldConfig { +@@ -2735,6 +2735,7 @@ public class PurpurWorldConfig { public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; @@ -51,7 +51,7 @@ index 907bf91a92bb3636401296a9e58926221ff8efb0..33235b21d90e488020665b4ff3e3d6a7 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2757,6 +2758,7 @@ public class PurpurWorldConfig { +@@ -2755,6 +2756,7 @@ public class PurpurWorldConfig { villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp); diff --git a/patches/server/0246-Lobotomize-stuck-villagers.patch b/patches/server/0246-Lobotomize-stuck-villagers.patch index d381e98f3..71846e8e2 100644 --- a/patches/server/0246-Lobotomize-stuck-villagers.patch +++ b/patches/server/0246-Lobotomize-stuck-villagers.patch @@ -109,10 +109,10 @@ index f21c715ea109164efa755cddb35ef656a9859759..0c9154d1d3c1534a25c08c75fab102b6 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 33235b21d90e488020665b4ff3e3d6a7288cdc5d..45020db9f382563548028ace3021e93b43f5cabc 100644 +index fd141b5aaf45b6ae5aba56143c02f6a54133b9c8..852d04096a1d2eb747183407f850cc9eafe44e1a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2738,6 +2738,8 @@ public class PurpurWorldConfig { +@@ -2736,6 +2736,8 @@ public class PurpurWorldConfig { public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; public int villagerMinimumDemand = 0; @@ -121,7 +121,7 @@ index 33235b21d90e488020665b4ff3e3d6a7288cdc5d..45020db9f382563548028ace3021e93b private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2759,6 +2761,17 @@ public class PurpurWorldConfig { +@@ -2757,6 +2759,17 @@ public class PurpurWorldConfig { villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp); villagerMinimumDemand = getInt("mobs.villager.minimum-demand", villagerMinimumDemand); diff --git a/patches/server/0247-Option-for-villager-display-trade-item.patch b/patches/server/0247-Option-for-villager-display-trade-item.patch index 5eb0d7303..6514f646e 100644 --- a/patches/server/0247-Option-for-villager-display-trade-item.patch +++ b/patches/server/0247-Option-for-villager-display-trade-item.patch @@ -17,10 +17,10 @@ index 050be72c815010bf3f4b72427e2052b00420e8ee..8a213205f57c8dcd2226d7194d74b1b1 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 45020db9f382563548028ace3021e93b43f5cabc..b5544c988f77f215fca27d4f85850767d976c0c5 100644 +index 852d04096a1d2eb747183407f850cc9eafe44e1a..265858cc747ed26c98cfea2caf27a9a0f7ea5198 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2740,6 +2740,7 @@ public class PurpurWorldConfig { +@@ -2738,6 +2738,7 @@ public class PurpurWorldConfig { public int villagerMinimumDemand = 0; public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheckInterval = 100; @@ -28,7 +28,7 @@ index 45020db9f382563548028ace3021e93b43f5cabc..b5544c988f77f215fca27d4f85850767 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2772,6 +2773,7 @@ public class PurpurWorldConfig { +@@ -2770,6 +2771,7 @@ public class PurpurWorldConfig { } villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); diff --git a/patches/server/0248-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch b/patches/server/0248-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch index b291ed75b..ef6eccaa1 100644 --- a/patches/server/0248-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch +++ b/patches/server/0248-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch @@ -17,10 +17,10 @@ index cd2ce5bcb8c30e4657cd0e340d80544c7e805905..c8c6fed3f93903bb5c6145930538d415 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b5544c988f77f215fca27d4f85850767d976c0c5..c020ce6e533b2d4e68869bd12d9e018eb6a83f5d 100644 +index 265858cc747ed26c98cfea2caf27a9a0f7ea5198..15024b91f36fc2e2ab1942bc952d8f1619c94a47 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1004,8 +1004,10 @@ public class PurpurWorldConfig { +@@ -1002,8 +1002,10 @@ public class PurpurWorldConfig { } public boolean spawnerDeactivateByRedstone = false; diff --git a/patches/server/0249-Config-for-mob-last-hurt-by-player-time.patch b/patches/server/0249-Config-for-mob-last-hurt-by-player-time.patch index 0b3470727..44412e1ba 100644 --- a/patches/server/0249-Config-for-mob-last-hurt-by-player-time.patch +++ b/patches/server/0249-Config-for-mob-last-hurt-by-player-time.patch @@ -38,10 +38,10 @@ index 96a3cf0b0bf1057da7fd37bc8d9953fec7d5eca6..14c22d5247c8b449ea5dd89292764df4 // Paper end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c020ce6e533b2d4e68869bd12d9e018eb6a83f5d..b4958051d7a62c5092ace84dd202a05566c02f0e 100644 +index 15024b91f36fc2e2ab1942bc952d8f1619c94a47..1ab0127d72fb6c8f7c3999768c7078dad1fced70 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -144,6 +144,7 @@ public class PurpurWorldConfig { +@@ -142,6 +142,7 @@ public class PurpurWorldConfig { public boolean mobsIgnoreRails = false; public boolean rainStopsAfterSleep = true; public boolean thunderStopsAfterSleep = true; @@ -49,7 +49,7 @@ index c020ce6e533b2d4e68869bd12d9e018eb6a83f5d..b4958051d7a62c5092ace84dd202a055 private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative); -@@ -169,6 +170,7 @@ public class PurpurWorldConfig { +@@ -167,6 +168,7 @@ public class PurpurWorldConfig { mobsIgnoreRails = getBoolean("gameplay-mechanics.mobs-ignore-rails", mobsIgnoreRails); rainStopsAfterSleep = getBoolean("gameplay-mechanics.rain-stops-after-sleep", rainStopsAfterSleep); thunderStopsAfterSleep = getBoolean("gameplay-mechanics.thunder-stops-after-sleep", thunderStopsAfterSleep); diff --git a/patches/server/0250-Anvil-repair-damage-options.patch b/patches/server/0250-Anvil-repair-damage-options.patch index 80775cee8..76278d584 100644 --- a/patches/server/0250-Anvil-repair-damage-options.patch +++ b/patches/server/0250-Anvil-repair-damage-options.patch @@ -64,10 +64,10 @@ index 5c5a3b169795bf8a527b316c666cbc2105c66622..020afeca950d2c7fb6c7b179d424548f return InteractionResult.SUCCESS; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b4958051d7a62c5092ace84dd202a05566c02f0e..509eab21149332f5ac237f2549fd203c34362996 100644 +index 1ab0127d72fb6c8f7c3999768c7078dad1fced70..a279fdf4598af127b87bf21f8b74df15a1bd2664 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -756,9 +756,13 @@ public class PurpurWorldConfig { +@@ -754,9 +754,13 @@ public class PurpurWorldConfig { public boolean anvilAllowColors = false; public boolean anvilColorsUseMiniMessage; diff --git a/patches/server/0251-Option-to-disable-turtle-egg-trampling-with-feather-.patch b/patches/server/0251-Option-to-disable-turtle-egg-trampling-with-feather-.patch index e50077f19..780379f3a 100644 --- a/patches/server/0251-Option-to-disable-turtle-egg-trampling-with-feather-.patch +++ b/patches/server/0251-Option-to-disable-turtle-egg-trampling-with-feather-.patch @@ -24,10 +24,10 @@ index 70997b83fd7631ebf3c5bda67ef77bef605eb464..a8c227e2cb62cfa8225798329cde9078 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 509eab21149332f5ac237f2549fd203c34362996..195b62e7a311ca344463cfc89b38fd3ea12eac26 100644 +index a279fdf4598af127b87bf21f8b74df15a1bd2664..64d7eb44358835c6293f02cb427785615a9ea874 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1032,12 +1032,14 @@ public class PurpurWorldConfig { +@@ -1030,12 +1030,14 @@ public class PurpurWorldConfig { public boolean turtleEggsBreakFromMinecarts = true; public boolean turtleEggsBypassMobGriefing = false; public int turtleEggsRandomTickCrackChance = 500; diff --git a/patches/server/0254-Implement-configurable-search-radius-for-villagers-t.patch b/patches/server/0254-Implement-configurable-search-radius-for-villagers-t.patch index e06784326..112b14a81 100644 --- a/patches/server/0254-Implement-configurable-search-radius-for-villagers-t.patch +++ b/patches/server/0254-Implement-configurable-search-radius-for-villagers-t.patch @@ -18,10 +18,10 @@ index 3eb7ac97ea11d0c47ecbc047e2e64c17baaa70f4..85c8854691070d8867a5eaf410fe7a2f 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 195b62e7a311ca344463cfc89b38fd3ea12eac26..99a530b88a9d41abda4ca352b5e5ec9d12aa9a4b 100644 +index 64d7eb44358835c6293f02cb427785615a9ea874..147c25389a57da3d13c513225488d4e1160a7831 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2751,6 +2751,8 @@ public class PurpurWorldConfig { +@@ -2749,6 +2749,8 @@ public class PurpurWorldConfig { public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheckInterval = 100; public boolean villagerDisplayTradeItem = true; @@ -30,7 +30,7 @@ index 195b62e7a311ca344463cfc89b38fd3ea12eac26..99a530b88a9d41abda4ca352b5e5ec9d private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2784,6 +2786,8 @@ public class PurpurWorldConfig { +@@ -2782,6 +2784,8 @@ public class PurpurWorldConfig { villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem); diff --git a/patches/server/0255-Stonecutter-damage.patch b/patches/server/0255-Stonecutter-damage.patch index 6e1eda312..45ec0f5ee 100644 --- a/patches/server/0255-Stonecutter-damage.patch +++ b/patches/server/0255-Stonecutter-damage.patch @@ -105,10 +105,10 @@ index 959ce984af6397df8bfb010589037489f2c0148f..49343a0375c09ff6bdcb03b477ea9321 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 99a530b88a9d41abda4ca352b5e5ec9d12aa9a4b..9e71c9c6f374014d8b86790d2f5f2c90ea35f1a9 100644 +index 147c25389a57da3d13c513225488d4e1160a7831..fe5fe3faab9fd7977139181cc8a40dd16e06e23d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1027,6 +1027,11 @@ public class PurpurWorldConfig { +@@ -1025,6 +1025,11 @@ public class PurpurWorldConfig { spongeAbsorbsWaterFromMud = getBoolean("blocks.sponge.absorbs-water-from-mud", spongeAbsorbsWaterFromMud); } diff --git a/patches/server/0256-Configurable-damage-settings-for-magma-blocks.patch b/patches/server/0256-Configurable-damage-settings-for-magma-blocks.patch index 4211cd69a..09ec3b25b 100644 --- a/patches/server/0256-Configurable-damage-settings-for-magma-blocks.patch +++ b/patches/server/0256-Configurable-damage-settings-for-magma-blocks.patch @@ -18,10 +18,10 @@ index 1b766045687e4dcded5cbcc50b746c55b9a34e22..be365914856593bb3c4e1945cc990786 entity.hurt(world.damageSources().hotFloor(), 1.0F); org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9e71c9c6f374014d8b86790d2f5f2c90ea35f1a9..20355a20702bf728228e2795e83618d5313d6b0f 100644 +index fe5fe3faab9fd7977139181cc8a40dd16e06e23d..6e37d135cb88443cdbb379ea2a90374bf1383ec7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -958,6 +958,13 @@ public class PurpurWorldConfig { +@@ -956,6 +956,13 @@ public class PurpurWorldConfig { pistonBlockPushLimit = getInt("blocks.piston.block-push-limit", pistonBlockPushLimit); } diff --git a/patches/server/0257-Add-config-for-snow-on-blue-ice.patch b/patches/server/0257-Add-config-for-snow-on-blue-ice.patch index 999416ebc..fc24b8cf5 100644 --- a/patches/server/0257-Add-config-for-snow-on-blue-ice.patch +++ b/patches/server/0257-Add-config-for-snow-on-blue-ice.patch @@ -22,10 +22,10 @@ index 14e00c7feb1c051d56a3d27cd00dcef072dd771a..4952fb1aaaafb55baa0fddb389f966a1 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 20355a20702bf728228e2795e83618d5313d6b0f..19c6d008dc8f310bc42a4db7be3fa4abd4ccd3b2 100644 +index 6e37d135cb88443cdbb379ea2a90374bf1383ec7..67266a22f05ffc94a375af873339a9c718ddd66c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -939,9 +939,11 @@ public class PurpurWorldConfig { +@@ -937,9 +937,11 @@ public class PurpurWorldConfig { public boolean mobsSpawnOnPackedIce = true; public boolean mobsSpawnOnBlueIce = true; diff --git a/patches/server/0258-Skeletons-eat-wither-roses.patch b/patches/server/0258-Skeletons-eat-wither-roses.patch index 255dc18b9..60ded7f6d 100644 --- a/patches/server/0258-Skeletons-eat-wither-roses.patch +++ b/patches/server/0258-Skeletons-eat-wither-roses.patch @@ -94,10 +94,10 @@ index 9b43150a00d7fac85aa69f5a2dbffd0dfdae4b86..f4a47ac2c86cc95178922cce7320ba1e + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 19c6d008dc8f310bc42a4db7be3fa4abd4ccd3b2..9857a1e836db94304f01ef86254ab8f0c0c01714 100644 +index 67266a22f05ffc94a375af873339a9c718ddd66c..13413402b516f892264072f4061c509d7ed1d94c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2435,6 +2435,7 @@ public class PurpurWorldConfig { +@@ -2433,6 +2433,7 @@ public class PurpurWorldConfig { public boolean skeletonTakeDamageFromWater = false; public boolean skeletonAlwaysDropExp = false; public double skeletonHeadVisibilityPercent = 0.5D; @@ -105,7 +105,7 @@ index 19c6d008dc8f310bc42a4db7be3fa4abd4ccd3b2..9857a1e836db94304f01ef86254ab8f0 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2448,6 +2449,7 @@ public class PurpurWorldConfig { +@@ -2446,6 +2447,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/0259-Enchantment-Table-Persists-Lapis.patch b/patches/server/0259-Enchantment-Table-Persists-Lapis.patch index 6c7fd7946..98ba43458 100644 --- a/patches/server/0259-Enchantment-Table-Persists-Lapis.patch +++ b/patches/server/0259-Enchantment-Table-Persists-Lapis.patch @@ -146,10 +146,10 @@ index 65e1381bb2d10bd212463feb602c60f8fdb9ade1..b7370e64fd0d50e8725d7d5afc30af2e + // Purpur } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9857a1e836db94304f01ef86254ab8f0c0c01714..1cd7ceb06be653fadde9dd8080050ae6489306d2 100644 +index 13413402b516f892264072f4061c509d7ed1d94c..261d451d47c00ea36748e4f610a2f1e27a4b6ab4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1470,6 +1470,11 @@ public class PurpurWorldConfig { +@@ -1468,6 +1468,11 @@ public class PurpurWorldConfig { elderGuardianAlwaysDropExp = getBoolean("mobs.elder_guardian.always-drop-exp", elderGuardianAlwaysDropExp); } diff --git a/patches/server/0262-Config-for-sculk-shrieker-can_summon-state.patch b/patches/server/0262-Config-for-sculk-shrieker-can_summon-state.patch index 1840302ef..6b5ac1959 100644 --- a/patches/server/0262-Config-for-sculk-shrieker-can_summon-state.patch +++ b/patches/server/0262-Config-for-sculk-shrieker-can_summon-state.patch @@ -18,10 +18,10 @@ index 02d01eabb9606ae8c3b76ad9fa4bb9a525e247b1..ce51fec4a874f9466f9966684c535315 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1cd7ceb06be653fadde9dd8080050ae6489306d2..96c980686dc69797a8582e915f9c7c44e9ecfd9d 100644 +index 261d451d47c00ea36748e4f610a2f1e27a4b6ab4..9f7ca8b8f79fdea1dc664639dc1f09c76610a043 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1003,6 +1003,11 @@ public class PurpurWorldConfig { +@@ -1001,6 +1001,11 @@ public class PurpurWorldConfig { fixSandDuping = getBoolean("blocks.sand.fix-duping", fixSandDuping); } diff --git a/patches/server/0263-Config-to-not-let-coral-die.patch b/patches/server/0263-Config-to-not-let-coral-die.patch index 2cd1231c1..90bebff8d 100644 --- a/patches/server/0263-Config-to-not-let-coral-die.patch +++ b/patches/server/0263-Config-to-not-let-coral-die.patch @@ -29,10 +29,10 @@ index 88faea00be60a519f56f975a5311df5e1eb3e6b8..cbb726ac367be81e27d3a86643baf7c4 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 96c980686dc69797a8582e915f9c7c44e9ecfd9d..81463d5f0f0937fdd20e0d3b4b77f5e58178d6eb 100644 +index 9f7ca8b8f79fdea1dc664639dc1f09c76610a043..ce7c96dd55ad88ad35fef9aa992952b8ac333d06 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -840,6 +840,11 @@ public class PurpurWorldConfig { +@@ -838,6 +838,11 @@ public class PurpurWorldConfig { composterBulkProcess = getBoolean("blocks.composter.sneak-to-bulk-process", composterBulkProcess); } diff --git a/patches/server/0265-Add-toggle-for-RNG-manipulation.patch b/patches/server/0265-Add-toggle-for-RNG-manipulation.patch index 0001e61b6..386e99401 100644 --- a/patches/server/0265-Add-toggle-for-RNG-manipulation.patch +++ b/patches/server/0265-Add-toggle-for-RNG-manipulation.patch @@ -33,10 +33,10 @@ index 88c238e492b1081d1a64a3b6f05d7baa17e5d8c9..dd7f2beabf0edad4143ac2365ac04a22 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 81463d5f0f0937fdd20e0d3b4b77f5e58178d6eb..da50462eb405a1b401f8261cd30f5e476c61ad46 100644 +index ce7c96dd55ad88ad35fef9aa992952b8ac333d06..370b5ff992fb3ff7dd88ab479b3c251d36ced42f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -206,9 +206,11 @@ public class PurpurWorldConfig { +@@ -204,9 +204,11 @@ public class PurpurWorldConfig { public int entityLifeSpan = 0; public float entityLeftHandedChance = 0.05f; diff --git a/patches/server/0274-mob-spawning-option-to-ignore-creative-players.patch b/patches/server/0274-mob-spawning-option-to-ignore-creative-players.patch index 01c94cf6e..0964b3975 100644 --- a/patches/server/0274-mob-spawning-option-to-ignore-creative-players.patch +++ b/patches/server/0274-mob-spawning-option-to-ignore-creative-players.patch @@ -18,10 +18,10 @@ index 1894348413f3b30bd9c4286fa533c1037f07f870..327a3d5cd5ea4db98e6bad90fc0bb146 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 da50462eb405a1b401f8261cd30f5e476c61ad46..ab275aeebd8e8fff69242bfae07e66efea4b1173 100644 +index 370b5ff992fb3ff7dd88ab479b3c251d36ced42f..8519259a086dfcceb793e5e1177e06248c97bc2e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -379,6 +379,7 @@ public class PurpurWorldConfig { +@@ -377,6 +377,7 @@ public class PurpurWorldConfig { public boolean phantomSpawning; public boolean villagerTraderSpawning; public boolean villageSiegeSpawning; @@ -29,7 +29,7 @@ index da50462eb405a1b401f8261cd30f5e476c61ad46..ab275aeebd8e8fff69242bfae07e66ef private void mobSpawnerSettings() { // values of "default" or null will default to true only if the world environment is normal (aka overworld) Predicate predicate = (bool) -> (bool != null && bool) || (bool == null && environment == World.Environment.NORMAL); -@@ -387,6 +388,7 @@ public class PurpurWorldConfig { +@@ -385,6 +386,7 @@ public class PurpurWorldConfig { phantomSpawning = getBoolean("gameplay-mechanics.mob-spawning.phantoms", predicate); villagerTraderSpawning = getBoolean("gameplay-mechanics.mob-spawning.wandering-traders", predicate); villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate); diff --git a/patches/server/0275-Add-skeleton-bow-accuracy-option.patch b/patches/server/0275-Add-skeleton-bow-accuracy-option.patch index a63f9b670..85cdb8a96 100644 --- a/patches/server/0275-Add-skeleton-bow-accuracy-option.patch +++ b/patches/server/0275-Add-skeleton-bow-accuracy-option.patch @@ -18,10 +18,10 @@ index 41376b705748e14c1c4174e07732ce09ad8e581f..dd84433a988712da9d799cbda2487a90 org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(this, this.getMainHandItem(), entityarrow.getPickupItem(), entityarrow, net.minecraft.world.InteractionHand.MAIN_HAND, 0.8F, true); // Paper if (event.isCancelled()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ab275aeebd8e8fff69242bfae07e66efea4b1173..f246aff15aa9e281600ccd796038b663f7dc5f73 100644 +index 8519259a086dfcceb793e5e1177e06248c97bc2e..5f4b6d211e1a310ca2efcc94686e2757cff973ec 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2455,6 +2455,8 @@ public class PurpurWorldConfig { +@@ -2453,6 +2453,8 @@ public class PurpurWorldConfig { public boolean skeletonAlwaysDropExp = false; public double skeletonHeadVisibilityPercent = 0.5D; public int skeletonFeedWitherRoses = 0; @@ -30,7 +30,7 @@ index ab275aeebd8e8fff69242bfae07e66efea4b1173..f246aff15aa9e281600ccd796038b663 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2469,6 +2471,18 @@ public class PurpurWorldConfig { +@@ -2467,6 +2469,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/0276-Allay-respect-item-NBT.patch b/patches/server/0276-Allay-respect-item-NBT.patch index 2c8b1a04c..d49181e1b 100644 --- a/patches/server/0276-Allay-respect-item-NBT.patch +++ b/patches/server/0276-Allay-respect-item-NBT.patch @@ -44,10 +44,10 @@ index d50bf1b980231a1045c1c9df622a9a50fc2ed893..7166f4a39fd615e10d7b1f53c5736383 private boolean allayConsidersItemEqual(ItemStack stack, ItemStack stack2) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f246aff15aa9e281600ccd796038b663f7dc5f73..1a0bab0f586a3bba681f001b27421e81ee69537d 100644 +index 5f4b6d211e1a310ca2efcc94686e2757cff973ec..a4c5c469fed51b46727783ddefa293e53b9c66ca 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1089,10 +1089,13 @@ public class PurpurWorldConfig { +@@ -1087,10 +1087,13 @@ public class PurpurWorldConfig { public boolean allayRidable = false; public boolean allayRidableInWater = true; public boolean allayControllable = true; diff --git a/patches/server/0285-Milk-Keeps-Beneficial-Effects.patch b/patches/server/0285-Milk-Keeps-Beneficial-Effects.patch index 7c426b1b3..5677b8be7 100644 --- a/patches/server/0285-Milk-Keeps-Beneficial-Effects.patch +++ b/patches/server/0285-Milk-Keeps-Beneficial-Effects.patch @@ -30,10 +30,10 @@ index 970b1f6eaeeddf9928ba61239248ecd2234eda9a..0e5fae26bf89749e446050c92dc7c23d 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 1a0bab0f586a3bba681f001b27421e81ee69537d..7a47cb898a8e175572cf014b7e801b99a3e03c02 100644 +index a4c5c469fed51b46727783ddefa293e53b9c66ca..ad8f733ded15d6db3adabccd35bd035f87b2777c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -130,6 +130,7 @@ public class PurpurWorldConfig { +@@ -128,6 +128,7 @@ public class PurpurWorldConfig { public boolean fireballsBypassMobGriefing = false; public boolean imposeTeleportRestrictionsOnGateways = false; public boolean milkCuresBadOmen = true; @@ -41,7 +41,7 @@ index 1a0bab0f586a3bba681f001b27421e81ee69537d..7a47cb898a8e175572cf014b7e801b99 public boolean noteBlockIgnoreAbove = false; public boolean persistentDroppableEntityDisplayNames = true; public boolean persistentTileEntityDisplayNames = false; -@@ -156,6 +157,7 @@ public class PurpurWorldConfig { +@@ -154,6 +155,7 @@ public class PurpurWorldConfig { fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing); imposeTeleportRestrictionsOnGateways = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-gateways", imposeTeleportRestrictionsOnGateways); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); diff --git a/patches/server/0288-Add-option-to-allow-creeper-to-encircle-target-when-.patch b/patches/server/0288-Add-option-to-allow-creeper-to-encircle-target-when-.patch index fc9eb39c2..6bdde9518 100644 --- a/patches/server/0288-Add-option-to-allow-creeper-to-encircle-target-when-.patch +++ b/patches/server/0288-Add-option-to-allow-creeper-to-encircle-target-when-.patch @@ -24,10 +24,10 @@ index e241ae250f4f04a17ef2c583d00b065a4ca56a4c..7b99c3446b50939241d3e220d93e0564 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7a47cb898a8e175572cf014b7e801b99a3e03c02..57e33d478b7be8afa329ca4ee7100a94382f0f8d 100644 +index ad8f733ded15d6db3adabccd35bd035f87b2777c..0e7666ddae8e0dc76047fb2f0661a8e63bf2cef2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1363,6 +1363,7 @@ public class PurpurWorldConfig { +@@ -1361,6 +1361,7 @@ public class PurpurWorldConfig { public boolean creeperHealthRadius = false; public boolean creeperAlwaysDropExp = false; public double creeperHeadVisibilityPercent = 0.5D; @@ -35,7 +35,7 @@ index 7a47cb898a8e175572cf014b7e801b99a3e03c02..57e33d478b7be8afa329ca4ee7100a94 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1381,6 +1382,7 @@ public class PurpurWorldConfig { +@@ -1379,6 +1380,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/0290-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch b/patches/server/0290-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch index 0e10c1176..005a9b4f7 100644 --- a/patches/server/0290-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch +++ b/patches/server/0290-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch @@ -17,10 +17,10 @@ index f03a919020958659b48fd0f13dc4672b3fe9bf8e..4cff80a117352fb934a4fefbe9684847 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 57e33d478b7be8afa329ca4ee7100a94382f0f8d..fb374a0e3930a190a358bca507099f5ea35df084 100644 +index 0e7666ddae8e0dc76047fb2f0661a8e63bf2cef2..059865f4aed093b0a6ee27243305462a31458ef0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -421,6 +421,7 @@ public class PurpurWorldConfig { +@@ -419,6 +419,7 @@ public class PurpurWorldConfig { public String playerDeathExpDropEquation = "expLevel * 7"; public int playerDeathExpDropMax = 100; public boolean teleportIfOutsideBorder = false; @@ -28,7 +28,7 @@ index 57e33d478b7be8afa329ca4ee7100a94382f0f8d..fb374a0e3930a190a358bca507099f5e public boolean totemOfUndyingWorksInInventory = false; public boolean playerFixStuckPortal = false; public boolean creativeOnePunch = false; -@@ -452,6 +453,7 @@ public class PurpurWorldConfig { +@@ -450,6 +451,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/0293-End-Crystal-Cramming.patch b/patches/server/0293-End-Crystal-Cramming.patch index ace33fccc..41657c6c8 100644 --- a/patches/server/0293-End-Crystal-Cramming.patch +++ b/patches/server/0293-End-Crystal-Cramming.patch @@ -17,10 +17,10 @@ index 564d17bc460e2a04947ff9676fbf4c8b1569659c..440add62fcfa62d483409e1aecfc9159 // Purpur start diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index fb374a0e3930a190a358bca507099f5ea35df084..675c85561ed42468b490e33feb31e4de0ecbf123 100644 +index 059865f4aed093b0a6ee27243305462a31458ef0..fa0b64f60e0e90147dd924272547695af56790a3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -883,6 +883,7 @@ public class PurpurWorldConfig { +@@ -881,6 +881,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 fb374a0e3930a190a358bca507099f5ea35df084..675c85561ed42468b490e33feb31e4de private void endCrystalSettings() { if (PurpurConfig.version < 31) { if ("DESTROY".equals(getString("blocks.end-crystal.baseless.explosion-effect", baselessEndCrystalExplosionEffect.name()))) { -@@ -910,6 +911,7 @@ public class PurpurWorldConfig { +@@ -908,6 +909,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/0294-Option-to-allow-beacon-effects-when-covered-by-tinte.patch b/patches/server/0294-Option-to-allow-beacon-effects-when-covered-by-tinte.patch index 065732065..2f8140d9a 100644 --- a/patches/server/0294-Option-to-allow-beacon-effects-when-covered-by-tinte.patch +++ b/patches/server/0294-Option-to-allow-beacon-effects-when-covered-by-tinte.patch @@ -36,10 +36,10 @@ index 12578b377b6e939971fb2dcba08637df60643e37..2e6220c5a6c871401ce9734adfab710d 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 675c85561ed42468b490e33feb31e4de0ecbf123..9ede1fc9d3d9c0dfa9cce3026a8b9bb6ff881748 100644 +index fa0b64f60e0e90147dd924272547695af56790a3..785e4f56c82beb993fc980b9039f184eec98a409 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -782,11 +782,13 @@ public class PurpurWorldConfig { +@@ -780,11 +780,13 @@ public class PurpurWorldConfig { public int beaconLevelTwo = 30; public int beaconLevelThree = 40; public int beaconLevelFour = 50; diff --git a/patches/server/0296-Config-to-remove-explosion-radius-clamp.patch b/patches/server/0296-Config-to-remove-explosion-radius-clamp.patch index 5b24c2200..c511e1154 100644 --- a/patches/server/0296-Config-to-remove-explosion-radius-clamp.patch +++ b/patches/server/0296-Config-to-remove-explosion-radius-clamp.patch @@ -39,10 +39,10 @@ index e35ebb5b923c2f63e37e5dae006bc4a030e49bb7..dcc3b333f3647631e2fb695d0854036d } // CraftBukkit end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9ede1fc9d3d9c0dfa9cce3026a8b9bb6ff881748..9f73f5e56c73f5fe46a7532f99041db8f1307893 100644 +index 785e4f56c82beb993fc980b9039f184eec98a409..2bafe37662ee22dc9f24cf3d5dd198416b495ee7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -215,6 +215,11 @@ public class PurpurWorldConfig { +@@ -213,6 +213,11 @@ public class PurpurWorldConfig { entitySharedRandom = getBoolean("settings.entity.shared-random", entitySharedRandom); } diff --git a/patches/server/0297-bonemealable-sugarcane-cactus-and-netherwart.patch b/patches/server/0297-bonemealable-sugarcane-cactus-and-netherwart.patch index 6528b77ee..c97966a30 100644 --- a/patches/server/0297-bonemealable-sugarcane-cactus-and-netherwart.patch +++ b/patches/server/0297-bonemealable-sugarcane-cactus-and-netherwart.patch @@ -137,10 +137,10 @@ index c3f500580d257e1397f2eb7c47b063a6fe6bb405..0d5c6bdfd4aeda472804b493315bf21a + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9f73f5e56c73f5fe46a7532f99041db8f1307893..70f6fa78b368564a136ba756d2f5b209da5edf9a 100644 +index 2bafe37662ee22dc9f24cf3d5dd198416b495ee7..9365469584fd647dbc52176efb8c282c21dd28d6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -836,8 +836,20 @@ public class PurpurWorldConfig { +@@ -834,8 +834,20 @@ public class PurpurWorldConfig { } public boolean cactusBreaksFromSolidNeighbors = true; diff --git a/patches/server/0300-Add-mending-multiplier.patch b/patches/server/0300-Add-mending-multiplier.patch index db53c7aa5..24d6b6676 100644 --- a/patches/server/0300-Add-mending-multiplier.patch +++ b/patches/server/0300-Add-mending-multiplier.patch @@ -27,10 +27,10 @@ index b2233635b6acc35ea3668c36c56e57f15420ac62..724bf857bf1b89cb0947b8a82e0ce09a public int getValue() { return this.value; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 70f6fa78b368564a136ba756d2f5b209da5edf9a..225446a3d361fdbd749ca16bd53352fda20637c6 100644 +index 9365469584fd647dbc52176efb8c282c21dd28d6..76216ce3a481b7430bd5a3d60bb41798216fa692 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -121,6 +121,7 @@ public class PurpurWorldConfig { +@@ -119,6 +119,7 @@ public class PurpurWorldConfig { } public boolean useBetterMending = false; @@ -38,7 +38,7 @@ index 70f6fa78b368564a136ba756d2f5b209da5edf9a..225446a3d361fdbd749ca16bd53352fd public boolean alwaysTameInCreative = false; public boolean boatEjectPlayersOnLand = false; public boolean boatsDoFallDamage = false; -@@ -148,6 +149,7 @@ public class PurpurWorldConfig { +@@ -146,6 +147,7 @@ public class PurpurWorldConfig { public int mobLastHurtByPlayerTime = 100; private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); diff --git a/patches/server/0303-Shears-can-defuse-TNT.patch b/patches/server/0303-Shears-can-defuse-TNT.patch index 562b8a103..e88cf775c 100644 --- a/patches/server/0303-Shears-can-defuse-TNT.patch +++ b/patches/server/0303-Shears-can-defuse-TNT.patch @@ -42,10 +42,10 @@ index 4ce3e69970dd9eb251d0538a2d233ca30e9e5e47..afc65b8bb7e7f7f70a25f2d869412ed3 + // 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 225446a3d361fdbd749ca16bd53352fda20637c6..037a82c419ffe31cc8456ab69c1bdc1b1388e173 100644 +index 76216ce3a481b7430bd5a3d60bb41798216fa692..f9711c31fae1e27158f7323639ce279237516c91 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -3225,4 +3225,11 @@ public class PurpurWorldConfig { +@@ -3223,4 +3223,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/0305-Option-Ocelot-Spawn-Under-Sea-Level.patch b/patches/server/0305-Option-Ocelot-Spawn-Under-Sea-Level.patch index 21888b286..801d131e2 100644 --- a/patches/server/0305-Option-Ocelot-Spawn-Under-Sea-Level.patch +++ b/patches/server/0305-Option-Ocelot-Spawn-Under-Sea-Level.patch @@ -18,10 +18,10 @@ index c72d5e7c2a19c5690a8065c95c75f0415358c2a9..45fb438065b1db2a9baa648f4d397472 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 037a82c419ffe31cc8456ab69c1bdc1b1388e173..0e97df2f51d45655034402d09a4bdaff23a44211 100644 +index f9711c31fae1e27158f7323639ce279237516c91..383473859796d28a86dfd5fa5e407b6b5ea6aeb7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2042,6 +2042,7 @@ public class PurpurWorldConfig { +@@ -2040,6 +2040,7 @@ public class PurpurWorldConfig { public int ocelotBreedingTicks = 6000; public boolean ocelotTakeDamageFromWater = false; public boolean ocelotAlwaysDropExp = false; @@ -29,7 +29,7 @@ index 037a82c419ffe31cc8456ab69c1bdc1b1388e173..0e97df2f51d45655034402d09a4bdaff private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -2055,6 +2056,7 @@ public class PurpurWorldConfig { +@@ -2053,6 +2054,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/0306-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch b/patches/server/0306-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch index 3940b339a..e0789dede 100644 --- a/patches/server/0306-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch +++ b/patches/server/0306-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch @@ -1,5 +1,5 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: granny +From: granny Date: Sun, 13 Aug 2023 06:26:08 -0700 Subject: [PATCH] add an option for piglins to ignore gold-trimmed armor @@ -45,26 +45,10 @@ index d98c526676202741e628d5e317b8cdd3f4d3be0a..edf9208ed49a179dc15308dd72ee4736 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 0e97df2f51d45655034402d09a4bdaff23a44211..ec6c29638935835d590823c5cc35141a7f4d32f2 100644 +index 383473859796d28a86dfd5fa5e407b6b5ea6aeb7..ec6c29638935835d590823c5cc35141a7f4d32f2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -8,7 +8,6 @@ import net.minecraft.world.entity.EntityType; - import net.minecraft.world.item.DyeColor; - import net.minecraft.world.item.Item; - import net.minecraft.world.item.Items; --import net.minecraft.world.level.Explosion; - import net.minecraft.world.level.block.Block; - import net.minecraft.world.level.block.Blocks; - import net.minecraft.world.level.block.state.properties.Tilt; -@@ -24,7 +23,6 @@ import org.bukkit.configuration.ConfigurationSection; - import java.util.ArrayList; - import java.util.HashMap; - import java.util.List; --import java.util.Locale; - import java.util.Map; - import java.util.function.Predicate; - import java.util.logging.Level; -@@ -2211,6 +2209,7 @@ public class PurpurWorldConfig { +@@ -2209,6 +2209,7 @@ public class PurpurWorldConfig { public int piglinPortalSpawnModifier = 2000; public boolean piglinAlwaysDropExp = false; public double piglinHeadVisibilityPercent = 0.5D; @@ -72,7 +56,7 @@ index 0e97df2f51d45655034402d09a4bdaff23a44211..ec6c29638935835d590823c5cc35141a private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2226,6 +2225,7 @@ public class PurpurWorldConfig { +@@ -2224,6 +2225,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);