From fc79bca3c57432c21119120b0252020103b59402 Mon Sep 17 00:00:00 2001 From: granny <43185817+granny@users.noreply.github.com> Date: Sun, 8 Aug 2021 18:32:27 -0700 Subject: [PATCH] stop mobs from targeting afk players (#564) Co-authored-by: Encode42 --- patches/server/0012-AFK-API.patch | 25 +++++- .../0020-Player-invulnerabilities.patch | 7 +- ...22-Configurable-villager-brain-ticks.patch | 6 +- patches/server/0024-Silk-touch-spawners.patch | 4 +- ...772-Fix-Add-turtle-egg-block-options.patch | 6 +- patches/server/0029-Giants-AI-settings.patch | 6 +- .../0030-Zombie-horse-naturally-spawn.patch | 6 +- ...0031-Charged-creeper-naturally-spawn.patch | 6 +- ...bit-naturally-spawn-toast-and-killer.patch | 6 +- .../server/0035-Tulips-change-fox-type.patch | 6 +- .../server/0036-Breedable-Polar-Bears.patch | 6 +- .../server/0037-Chickens-can-retaliate.patch | 6 +- .../server/0039-Cat-spawning-options.patch | 6 +- patches/server/0041-Cows-eat-mushrooms.patch | 6 +- .../server/0043-Pigs-give-saddle-back.patch | 6 +- ...44-Snowman-drop-and-put-back-pumpkin.patch | 6 +- ...45-Ender-dragon-always-drop-full-exp.patch | 6 +- .../0046-Signs-editable-on-right-click.patch | 4 +- .../server/0047-Signs-allow-color-codes.patch | 8 +- ...moisten-from-water-directly-under-it.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 +-- ...0059-Villagers-follow-emerald-blocks.patch | 10 +-- .../0060-Allow-leashing-villagers.patch | 10 +-- ...urable-search-radius-for-villagers-t.patch | 6 +- .../server/0062-Implement-infinite-lava.patch | 4 +- ...63-Make-lava-flow-speed-configurable.patch | 4 +- ...Add-player-death-exp-control-options.patch | 10 +-- ...urable-void-damage-height-and-damage.patch | 4 +- ...ispenser-curse-of-binding-protection.patch | 4 +- ...n-for-boats-to-eject-players-on-land.patch | 6 +- ...g-mends-most-damages-equipment-first.patch | 6 +- .../0076-Configurable-jockey-options.patch | 20 ++--- ...ed-to-crystals-and-crystals-shoot-ph.patch | 6 +- .../0078-Add-phantom-spawning-options.patch | 6 +- ...0079-Implement-bed-explosion-options.patch | 4 +- ...ent-respawn-anchor-explosion-options.patch | 6 +- ...leport-to-spawn-if-outside-world-bor.patch | 6 +- patches/server/0085-Squid-EAR-immunity.patch | 6 +- .../server/0087-Phantoms-burn-in-light.patch | 6 +- .../0088-Configurable-villager-breeding.patch | 6 +- .../0089-Redstone-deactivates-spawners.patch | 4 +- .../0090-Totems-work-in-inventory.patch | 6 +- ...1-Add-vindicator-johnny-spawn-chance.patch | 6 +- .../0093-Dispensers-place-anvils-option.patch | 4 +- patches/server/0094-Allow-anvil-colors.patch | 4 +- .../0095-Add-no-random-tick-block-list.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 +- .../server/0105-Raid-cooldown-setting.patch | 6 +- ...e-config-options-per-projectile-type.patch | 4 +- ...sable-zombie-aggressiveness-towards-.patch | 8 +- ...tent-TileEntity-Lore-and-DisplayName.patch | 6 +- patches/server/0110-Flying-squids-Oh-my.patch | 8 +- patches/server/0112-Stonecutter-damage.patch | 4 +- ...15-Furnace-uses-lava-from-underneath.patch | 4 +- ...re-add-farmland-mechanics-from-Alpha.patch | 4 +- ...justable-breeding-cooldown-to-config.patch | 6 +- ...e-entity-breeding-times-configurable.patch | 90 +++++++++---------- ...mes-from-item-forms-of-entities-to-e.patch | 6 +- ...sting-and-weeping-vines-growth-rates.patch | 6 +- ...-twisting-vines-configurable-max-gro.patch | 8 +- ...llowing-Endermen-to-despawn-even-whi.patch | 6 +- ...126-Add-configurable-snowball-damage.patch | 4 +- ...break-door-minimum-difficulty-option.patch | 6 +- .../0130-Add-boat-fall-damage-config.patch | 8 +- .../0131-Snow-Golem-rate-of-fire-config.patch | 6 +- .../0134-Lobotomize-stuck-villagers.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 +- ...nfigurable-default-wolf-collar-color.patch | 6 +- .../server/0140-Phantom-flames-on-swoop.patch | 6 +- ...s-to-open-even-with-a-solid-block-on.patch | 4 +- .../0143-Striders-give-saddle-back.patch | 6 +- ...iefing-bypass-to-everything-affected.patch | 70 +++++++-------- ...allow-Note-Block-sounds-when-blocked.patch | 6 +- ...0150-Add-EntityTeleportHinderedEvent.patch | 8 +- .../0152-Farmland-trampling-changes.patch | 4 +- .../server/0154-Fix-stuck-in-portals.patch | 8 +- ...oggle-for-water-sensitive-mob-damage.patch | 18 ++-- ...56-Config-to-always-tame-in-Creative.patch | 6 +- .../0157-End-crystal-explosion-options.patch | 4 +- ...ither-Ender-Dragon-can-ride-vehicles.patch | 10 +-- patches/server/0161-One-Punch-Man.patch | 6 +- ...0162-Add-config-for-snow-on-blue-ice.patch | 4 +- ...-to-ignore-nearby-mobs-when-sleeping.patch | 8 +- ...an-aggressiveness-towards-Endermites.patch | 6 +- ...-Dragon-Head-wearers-and-stare-aggro.patch | 6 +- patches/server/0168-Tick-fluids-config.patch | 6 +- ...169-Config-to-disable-Llama-caravans.patch | 6 +- ...ig-to-make-Creepers-explode-on-death.patch | 6 +- ...urable-ravager-griefable-blocks-list.patch | 6 +- ...0172-Sneak-to-bulk-process-composter.patch | 4 +- .../0173-Config-for-skipping-night.patch | 6 +- ...0174-Add-config-for-villager-trading.patch | 10 +-- ...Break-individual-slabs-when-sneaking.patch | 4 +- ...-to-disable-hostile-mob-spawn-on-ice.patch | 4 +- ...ption-to-make-doors-require-redstone.patch | 4 +- .../0182-Configurable-sponge-absorption.patch | 4 +- .../0183-Projectile-offset-config.patch | 4 +- ...for-powered-rail-activation-distance.patch | 4 +- .../0185-Piglin-portal-spawn-modifier.patch | 6 +- ...ble-damage-settings-for-magma-blocks.patch | 4 +- ...8-Config-for-wither-explosion-radius.patch | 6 +- ...ing-the-blocks-that-turn-into-dirt-p.patch | 4 +- .../0191-Configurable-piston-push-limit.patch | 4 +- .../0194-Configurable-mob-blindness.patch | 8 +- ...h-to-impact-Creeper-explosion-radius.patch | 6 +- .../0197-Iron-golem-poppy-calms-anger.patch | 6 +- patches/server/0198-Breedable-parrots.patch | 6 +- ...nge-multiplier-critical-damage-value.patch | 6 +- ...on-to-disable-dragon-egg-teleporting.patch | 4 +- ...04-ShulkerBox-allow-oversized-stacks.patch | 4 +- ...ee-can-work-when-raining-or-at-night.patch | 6 +- ...Beacon-Activation-Range-Configurable.patch | 4 +- .../0210-Add-toggle-for-sand-duping-fix.patch | 4 +- ...ggle-for-end-portal-safe-teleporting.patch | 4 +- ...ing-food-fills-hunger-bar-completely.patch | 6 +- .../server/0216-Populator-seed-controls.patch | 4 +- ...18-Shulker-spawn-from-bullet-options.patch | 6 +- ...0-Option-to-make-drowned-break-doors.patch | 6 +- ...onfigurable-hunger-starvation-damage.patch | 4 +- .../0223-Armor-click-equip-options.patch | 6 +- .../server/0226-Tool-actionable-options.patch | 4 +- ...0232-Silk-touchable-budding-amethyst.patch | 4 +- .../server/0233-Big-dripleaf-tilt-delay.patch | 4 +- .../0234-Player-ridable-in-water-option.patch | 6 +- ...e-Enderman-teleport-on-projectile-hi.patch | 6 +- ...ent-horses-from-standing-with-riders.patch | 6 +- ...izeable-Zombie-Villager-curing-times.patch | 6 +- ...2-Option-for-sponges-to-work-on-lava.patch | 4 +- ...0243-Toggle-for-Wither-s-spawn-sound.patch | 6 +- ...s-breaks-from-solid-neighbors-config.patch | 4 +- ...emove-curse-of-binding-with-weakness.patch | 6 +- .../0246-Conduit-behavior-configuration.patch | 4 +- .../server/0247-Cauldron-fill-chances.patch | 4 +- 141 files changed, 502 insertions(+), 484 deletions(-) diff --git a/patches/server/0012-AFK-API.patch b/patches/server/0012-AFK-API.patch index ac97123f1..39b96a912 100644 --- a/patches/server/0012-AFK-API.patch +++ b/patches/server/0012-AFK-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] AFK API diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 871b006b99d3872bc8a5a238227a1624fc493eac..934d24bae4a5d6780434a0918c04dfffc12f2364 100644 +index ce796a2cc083ffc5497cdb3bac9da87ea4ba94a7..ee9ce98995a3130938bd09d8d0ec4855e4419829 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1953,8 +1953,58 @@ public class ServerPlayer extends Player { @@ -145,6 +145,21 @@ index a060cca08631fb42041e3a79a9abc422fe7757af..e7b11d1ba984ea14f0cdf8e84f9eaab4 private EntitySelector() {} // Paper start +diff --git a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java +index 3ee691d4caccbc1b3e0f52decb41d436ac0d08ec..dc0900dd6aee20cf1735bbb490b79d7e33468751 100644 +--- a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java ++++ b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java +@@ -63,6 +63,10 @@ public class TargetingConditions { + return false; + } else if (this.selector != null && !this.selector.test(targetEntity)) { + return false; ++ // Purpur start ++ } else if (!targetEntity.level.purpurConfig.idleTimeoutTargetPlayer && targetEntity instanceof net.minecraft.server.level.ServerPlayer player && player.isAfk()) { ++ return false; ++ // Purpur end + } else { + if (baseEntity == null) { + if (this.isCombat && (!targetEntity.canBeSeenAsEnemy() || targetEntity.level.getDifficulty() == Difficulty.PEACEFUL)) { diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java index 19b65c0d2fd96b4516c0717511a6bb02b2d66065..d761865eabfc67651b0a2a92ad35fc236886b61d 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java @@ -198,10 +213,10 @@ index d7ed125553530e28644f5fb9c09f7a06eb79199a..439143a24ad57cf749544164fe3cd131 private static void timingsSettings() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3627b50dd3af5da225004cd3f8158fcbd30d8ea3..dc3dcf7946d2b31784b31d31c01670b81e626eed 100644 +index 3627b50dd3af5da225004cd3f8158fcbd30d8ea3..58b2f795b7018ac92fd72369bbe58d2f2c266adc 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -93,6 +93,17 @@ public class PurpurWorldConfig { +@@ -93,6 +93,19 @@ public class PurpurWorldConfig { return value.isEmpty() ? fallback : value; } @@ -209,18 +224,20 @@ index 3627b50dd3af5da225004cd3f8158fcbd30d8ea3..dc3dcf7946d2b31784b31d31c01670b8 + public boolean idleTimeoutTickNearbyEntities = true; + public boolean idleTimeoutCountAsSleeping = false; + public boolean idleTimeoutUpdateTabList = false; ++ public boolean idleTimeoutTargetPlayer = true; + private void playerSettings() { + idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick); + idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities); + 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.mods-target", idleTimeoutTargetPlayer); + } + public boolean babiesAreRidable = true; public boolean untamedTamablesAreRidable = true; public boolean useNightVisionWhenRiding = false; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5038bd2d0920ffc37a33d0c971cf28c330e58e06..5c9aa0e2e5a9e6a671fdc8d51f94529736b6dbbf 100644 +index 7eed75ad1d5d7c62f35bdaed3766fcdb7aac2ce6..96c515506a2613d622afc28d902281c0b702c309 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -424,10 +424,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0020-Player-invulnerabilities.patch b/patches/server/0020-Player-invulnerabilities.patch index bf17a9fda..320980b66 100644 --- a/patches/server/0020-Player-invulnerabilities.patch +++ b/patches/server/0020-Player-invulnerabilities.patch @@ -121,13 +121,13 @@ index 1bbb3f0658628ec36cd9e177df3acc07ef107428..3f8dc9192287d6eb3f966e0d8d4fdee8 return entityplayer1; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index dc3dcf7946d2b31784b31d31c01670b81e626eed..b1b2e96804eb9e736e634a75882dc4040e250991 100644 +index 58b2f795b7018ac92fd72369bbe58d2f2c266adc..613dd74b460c0bd15fc8fd4e78380a81aef5f800 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -97,11 +97,15 @@ public class PurpurWorldConfig { - public boolean idleTimeoutTickNearbyEntities = true; +@@ -98,12 +98,16 @@ public class PurpurWorldConfig { public boolean idleTimeoutCountAsSleeping = false; public boolean idleTimeoutUpdateTabList = false; + public boolean idleTimeoutTargetPlayer = true; + public int playerSpawnInvulnerableTicks = 60; + public boolean playerInvulnerableWhileAcceptingResourcePack = false; private void playerSettings() { @@ -135,6 +135,7 @@ index dc3dcf7946d2b31784b31d31c01670b81e626eed..b1b2e96804eb9e736e634a75882dc404 idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities); 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.mods-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/0022-Configurable-villager-brain-ticks.patch b/patches/server/0022-Configurable-villager-brain-ticks.patch index 945182131..1426397cb 100644 --- a/patches/server/0022-Configurable-villager-brain-ticks.patch +++ b/patches/server/0022-Configurable-villager-brain-ticks.patch @@ -36,10 +36,10 @@ index 1b70179dfd085c0d8ec3ee18af6d0528673ca4df..311b6c0ff37ce217af9391b50208fdc6 this.level.getProfiler().pop(); if (this.assignProfessionWhenSpawned) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b1b2e96804eb9e736e634a75882dc4040e250991..b0a481aed5c03acdec86969acc6485ed25af3856 100644 +index 613dd74b460c0bd15fc8fd4e78380a81aef5f800..a1d6a2235e6c8025c8f5516ccc69bae610eb9c72 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1069,6 +1069,8 @@ public class PurpurWorldConfig { +@@ -1071,6 +1071,8 @@ public class PurpurWorldConfig { public boolean villagerRidable = false; public boolean villagerRidableInWater = false; public double villagerMaxHealth = 20.0D; @@ -48,7 +48,7 @@ index b1b2e96804eb9e736e634a75882dc4040e250991..b0a481aed5c03acdec86969acc6485ed private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1078,6 +1080,8 @@ public class PurpurWorldConfig { +@@ -1080,6 +1082,8 @@ public class PurpurWorldConfig { set("mobs.villager.attributes.max_health", oldValue); } villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); diff --git a/patches/server/0024-Silk-touch-spawners.patch b/patches/server/0024-Silk-touch-spawners.patch index f81c76172..e16f311a1 100644 --- a/patches/server/0024-Silk-touch-spawners.patch +++ b/patches/server/0024-Silk-touch-spawners.patch @@ -138,10 +138,10 @@ index b1e04d41de80971a7a1616beb0860226ecc25045..295ae3877b955978105b756055c21e63 return i; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b0a481aed5c03acdec86969acc6485ed25af3856..ff011f834b36f1c810bdb0a24e7bb635949fc243 100644 +index a1d6a2235e6c8025c8f5516ccc69bae610eb9c72..c79cd57a169613d757a340270586611a935d04ae 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -108,6 +108,31 @@ public class PurpurWorldConfig { +@@ -110,6 +110,31 @@ public class PurpurWorldConfig { playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); } diff --git a/patches/server/0025-MC-168772-Fix-Add-turtle-egg-block-options.patch b/patches/server/0025-MC-168772-Fix-Add-turtle-egg-block-options.patch index dbb77c41c..392a24ed6 100644 --- a/patches/server/0025-MC-168772-Fix-Add-turtle-egg-block-options.patch +++ b/patches/server/0025-MC-168772-Fix-Add-turtle-egg-block-options.patch @@ -50,10 +50,10 @@ index fdb3ab919a78221605257ae82bfd026346ce2ffb..e98fc3c235f9160f1928a8afb0d7991a } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ff011f834b36f1c810bdb0a24e7bb635949fc243..b7ba610ddc7e6219292fda919ed86e008d5f775b 100644 +index c79cd57a169613d757a340270586611a935d04ae..8ae4300efd411c71fe5aa17cce73faed81a4dca8 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1064,7 +1064,10 @@ public class PurpurWorldConfig { +@@ -1066,7 +1066,10 @@ public class PurpurWorldConfig { public boolean turtleRidable = false; public boolean turtleRidableInWater = false; public double turtleMaxHealth = 30.0D; @@ -65,7 +65,7 @@ index ff011f834b36f1c810bdb0a24e7bb635949fc243..b7ba610ddc7e6219292fda919ed86e00 turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1073,6 +1076,9 @@ public class PurpurWorldConfig { +@@ -1075,6 +1078,9 @@ public class PurpurWorldConfig { set("mobs.turtle.attributes.max_health", oldValue); } turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); diff --git a/patches/server/0029-Giants-AI-settings.patch b/patches/server/0029-Giants-AI-settings.patch index 8b3283567..ca7d2bca3 100644 --- a/patches/server/0029-Giants-AI-settings.patch +++ b/patches/server/0029-Giants-AI-settings.patch @@ -120,10 +120,10 @@ index a8ffdc8810152d77668aad7bad15a00c4d194d4c..91e28c414545d2bbb4e2f22c516d0f68 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b7ba610ddc7e6219292fda919ed86e008d5f775b..172c9e282b295d16ef88d95bb6b621a1050dc684 100644 +index 8ae4300efd411c71fe5aa17cce73faed81a4dca8..d43028de9ee9ad9d2ffa7ad09ab914ba6baa9da2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -453,6 +453,10 @@ public class PurpurWorldConfig { +@@ -455,6 +455,10 @@ public class PurpurWorldConfig { public double giantMovementSpeed = 0.5D; public double giantAttackDamage = 50.0D; public double giantMaxHealth = 100.0D; @@ -134,7 +134,7 @@ index b7ba610ddc7e6219292fda919ed86e008d5f775b..172c9e282b295d16ef88d95bb6b621a1 private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -468,6 +472,10 @@ public class PurpurWorldConfig { +@@ -470,6 +474,10 @@ public class PurpurWorldConfig { set("mobs.giant.attributes.max_health", oldValue); } giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth); diff --git a/patches/server/0030-Zombie-horse-naturally-spawn.patch b/patches/server/0030-Zombie-horse-naturally-spawn.patch index 49c77ae6b..ce22a1b48 100644 --- a/patches/server/0030-Zombie-horse-naturally-spawn.patch +++ b/patches/server/0030-Zombie-horse-naturally-spawn.patch @@ -28,10 +28,10 @@ index 29b841462037fa97f72971c490b617d18be53160..fe963c666488a8a3463f855b0c87eee9 entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ()); this.addEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 172c9e282b295d16ef88d95bb6b621a1050dc684..8462e9221c136cda32f0fe2471d851ceaa08b721 100644 +index d43028de9ee9ad9d2ffa7ad09ab914ba6baa9da2..838453200e76534768c4fdfa6066999fa2735349 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1251,6 +1251,7 @@ public class PurpurWorldConfig { +@@ -1253,6 +1253,7 @@ public class PurpurWorldConfig { public double zombieHorseJumpStrengthMax = 1.0D; public double zombieHorseMovementSpeedMin = 0.2D; public double zombieHorseMovementSpeedMax = 0.2D; @@ -39,7 +39,7 @@ index 172c9e282b295d16ef88d95bb6b621a1050dc684..8462e9221c136cda32f0fe2471d851ce private void zombieHorseSettings() { zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); -@@ -1266,6 +1267,7 @@ public class PurpurWorldConfig { +@@ -1268,6 +1269,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/0031-Charged-creeper-naturally-spawn.patch b/patches/server/0031-Charged-creeper-naturally-spawn.patch index da0422d6d..43b8bfdcf 100644 --- a/patches/server/0031-Charged-creeper-naturally-spawn.patch +++ b/patches/server/0031-Charged-creeper-naturally-spawn.patch @@ -24,10 +24,10 @@ index b71a6af3c2d1ca2a946b23efb11b0e794840cf25..b2b3630a90c685b0a692efb9bf8bb111 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 8462e9221c136cda32f0fe2471d851ceaa08b721..b1d8f125e873793cc1ef616fb27e22329e2ad14f 100644 +index 838453200e76534768c4fdfa6066999fa2735349..9010b44f1625ad6dd2a26aec8690297d97e86535 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -275,6 +275,7 @@ public class PurpurWorldConfig { +@@ -277,6 +277,7 @@ public class PurpurWorldConfig { public boolean creeperRidable = false; public boolean creeperRidableInWater = false; public double creeperMaxHealth = 20.0D; @@ -35,7 +35,7 @@ index 8462e9221c136cda32f0fe2471d851ceaa08b721..b1d8f125e873793cc1ef616fb27e2232 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -284,6 +285,7 @@ public class PurpurWorldConfig { +@@ -286,6 +287,7 @@ public class PurpurWorldConfig { set("mobs.creeper.attributes.max_health", oldValue); } creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); diff --git a/patches/server/0032-Rabbit-naturally-spawn-toast-and-killer.patch b/patches/server/0032-Rabbit-naturally-spawn-toast-and-killer.patch index ffc6ad9e6..1a337b919 100644 --- a/patches/server/0032-Rabbit-naturally-spawn-toast-and-killer.patch +++ b/patches/server/0032-Rabbit-naturally-spawn-toast-and-killer.patch @@ -38,10 +38,10 @@ index 587feda351efae19407cb9f23c6c1d42d5ed0cc9..e0ba1ef404c9f8ba1eae563b733d10d9 int i = this.random.nextInt(100); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b1d8f125e873793cc1ef616fb27e22329e2ad14f..3e321853052a888e058cb02c5fb8ad430db24fcd 100644 +index 9010b44f1625ad6dd2a26aec8690297d97e86535..6d5857703c17d3ce0ab068ac68ece962ed832d48 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -829,6 +829,8 @@ public class PurpurWorldConfig { +@@ -831,6 +831,8 @@ public class PurpurWorldConfig { public boolean rabbitRidable = false; public boolean rabbitRidableInWater = false; public double rabbitMaxHealth = 3.0D; @@ -50,7 +50,7 @@ index b1d8f125e873793cc1ef616fb27e22329e2ad14f..3e321853052a888e058cb02c5fb8ad43 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -838,6 +840,8 @@ public class PurpurWorldConfig { +@@ -840,6 +842,8 @@ public class PurpurWorldConfig { set("mobs.rabbit.attributes.max_health", oldValue); } rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth); diff --git a/patches/server/0035-Tulips-change-fox-type.patch b/patches/server/0035-Tulips-change-fox-type.patch index ac89e2c19..af6583135 100644 --- a/patches/server/0035-Tulips-change-fox-type.patch +++ b/patches/server/0035-Tulips-change-fox-type.patch @@ -75,10 +75,10 @@ index 80749df5d00df415a1b9e7c0e8586625b6453ffb..406b6ed8084c18da1062d8e8049bdfff // Paper start - Cancellable death event protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3e321853052a888e058cb02c5fb8ad430db24fcd..27cb366bf8c16bd806838e73d6f555d1de113599 100644 +index 6d5857703c17d3ce0ab068ac68ece962ed832d48..3a985697430f7c113fd3a292f8748809ed5519ae 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -423,6 +423,7 @@ public class PurpurWorldConfig { +@@ -425,6 +425,7 @@ public class PurpurWorldConfig { public boolean foxRidable = false; public boolean foxRidableInWater = false; public double foxMaxHealth = 10.0D; @@ -86,7 +86,7 @@ index 3e321853052a888e058cb02c5fb8ad430db24fcd..27cb366bf8c16bd806838e73d6f555d1 private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -432,6 +433,7 @@ public class PurpurWorldConfig { +@@ -434,6 +435,7 @@ public class PurpurWorldConfig { set("mobs.fox.attributes.max_health", oldValue); } foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); diff --git a/patches/server/0036-Breedable-Polar-Bears.patch b/patches/server/0036-Breedable-Polar-Bears.patch index 5349fdb20..e5a65b490 100644 --- a/patches/server/0036-Breedable-Polar-Bears.patch +++ b/patches/server/0036-Breedable-Polar-Bears.patch @@ -59,10 +59,10 @@ index 18780fb268cabb47bb0deb84c44520831c1a762b..d39c88af3882a09ff1a06f9052d7b9b8 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/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 27cb366bf8c16bd806838e73d6f555d1de113599..ab2613440645388949b17e69d765ba3b2b48028a 100644 +index 3a985697430f7c113fd3a292f8748809ed5519ae..f397063f5772a60181f1517f05968245f6f75557 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -805,6 +805,8 @@ public class PurpurWorldConfig { +@@ -807,6 +807,8 @@ public class PurpurWorldConfig { public boolean polarBearRidable = false; public boolean polarBearRidableInWater = false; public double polarBearMaxHealth = 30.0D; @@ -71,7 +71,7 @@ index 27cb366bf8c16bd806838e73d6f555d1de113599..ab2613440645388949b17e69d765ba3b private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -814,6 +816,9 @@ public class PurpurWorldConfig { +@@ -816,6 +818,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/0037-Chickens-can-retaliate.patch b/patches/server/0037-Chickens-can-retaliate.patch index d2e70a1da..fb0e6fed1 100644 --- a/patches/server/0037-Chickens-can-retaliate.patch +++ b/patches/server/0037-Chickens-can-retaliate.patch @@ -51,10 +51,10 @@ index 9fe68301b9a6efd703fb9d2215a9cd3b2f017a4e..35cf6b9fb4d72df905d93bf52c02846b @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ab2613440645388949b17e69d765ba3b2b48028a..4edd192b852ae0d4f835eb9f0db563822b9bc12d 100644 +index f397063f5772a60181f1517f05968245f6f75557..0002582bca86c13d014c5d4291241840ae5d70f9 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -235,6 +235,7 @@ public class PurpurWorldConfig { +@@ -237,6 +237,7 @@ public class PurpurWorldConfig { public boolean chickenRidable = false; public boolean chickenRidableInWater = false; public double chickenMaxHealth = 4.0D; @@ -62,7 +62,7 @@ index ab2613440645388949b17e69d765ba3b2b48028a..4edd192b852ae0d4f835eb9f0db56382 private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -244,6 +245,7 @@ public class PurpurWorldConfig { +@@ -246,6 +247,7 @@ public class PurpurWorldConfig { set("mobs.chicken.attributes.max_health", oldValue); } chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); diff --git a/patches/server/0039-Cat-spawning-options.patch b/patches/server/0039-Cat-spawning-options.patch index 06942e634..332fae698 100644 --- a/patches/server/0039-Cat-spawning-options.patch +++ b/patches/server/0039-Cat-spawning-options.patch @@ -49,10 +49,10 @@ index 4cab98b5e441a174482893d3d289bbafa1f7a5fc..fa3cdff99a16b67ed86c8f7940ffa139 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0c62450f7403d93df981ef957f6747cef9c6f228..fa010a856451abb52c17bfc8e971a4adb30f4df4 100644 +index 0ab41948063fff3de291f538334dd6e28027df74..f02872f45a6cdc55637a7aa55ca6886d08dc3576 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -212,6 +212,9 @@ public class PurpurWorldConfig { +@@ -214,6 +214,9 @@ public class PurpurWorldConfig { public boolean catRidable = false; public boolean catRidableInWater = false; public double catMaxHealth = 10.0D; @@ -62,7 +62,7 @@ index 0c62450f7403d93df981ef957f6747cef9c6f228..fa010a856451abb52c17bfc8e971a4ad private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -221,6 +224,9 @@ public class PurpurWorldConfig { +@@ -223,6 +226,9 @@ public class PurpurWorldConfig { set("mobs.cat.attributes.max_health", oldValue); } catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth); diff --git a/patches/server/0041-Cows-eat-mushrooms.patch b/patches/server/0041-Cows-eat-mushrooms.patch index 3c2920ebc..22bdbaf68 100644 --- a/patches/server/0041-Cows-eat-mushrooms.patch +++ b/patches/server/0041-Cows-eat-mushrooms.patch @@ -114,10 +114,10 @@ index bee82d5bf600cbeacfcede600e5606529af1435e..9da76357da891a70e20ad80f50873b3b public Cow getBreedOffspring(ServerLevel world, AgeableMob entity) { return (Cow) EntityType.COW.create((Level) world); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index fa010a856451abb52c17bfc8e971a4adb30f4df4..d2566e3abe1a27c4981747a94e32d6954dfce7b8 100644 +index f02872f45a6cdc55637a7aa55ca6886d08dc3576..01b143bc15c553d2f7ee5dd87a3eb75913c9798b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -274,6 +274,7 @@ public class PurpurWorldConfig { +@@ -276,6 +276,7 @@ public class PurpurWorldConfig { public boolean cowRidable = false; public boolean cowRidableInWater = false; public double cowMaxHealth = 10.0D; @@ -125,7 +125,7 @@ index fa010a856451abb52c17bfc8e971a4adb30f4df4..d2566e3abe1a27c4981747a94e32d695 private void cowSettings() { cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); -@@ -283,6 +284,7 @@ public class PurpurWorldConfig { +@@ -285,6 +286,7 @@ public class PurpurWorldConfig { set("mobs.cow.attributes.max_health", oldValue); } cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); diff --git a/patches/server/0043-Pigs-give-saddle-back.patch b/patches/server/0043-Pigs-give-saddle-back.patch index 80af0c098..4b23a7c61 100644 --- a/patches/server/0043-Pigs-give-saddle-back.patch +++ b/patches/server/0043-Pigs-give-saddle-back.patch @@ -28,10 +28,10 @@ index f4a099e691dce3c57069e76d67859161b459098e..518d28dc0b5b8c04263c93a4347e4c97 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d2566e3abe1a27c4981747a94e32d6954dfce7b8..6f353f5673981ff4679f5f2d434bfcad3d19592a 100644 +index 01b143bc15c553d2f7ee5dd87a3eb75913c9798b..aec3017ebc2155e88939e43101fa9e958c9d2102 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -764,6 +764,7 @@ public class PurpurWorldConfig { +@@ -766,6 +766,7 @@ public class PurpurWorldConfig { public boolean pigRidable = false; public boolean pigRidableInWater = false; public double pigMaxHealth = 10.0D; @@ -39,7 +39,7 @@ index d2566e3abe1a27c4981747a94e32d6954dfce7b8..6f353f5673981ff4679f5f2d434bfcad private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -773,6 +774,7 @@ public class PurpurWorldConfig { +@@ -775,6 +776,7 @@ public class PurpurWorldConfig { set("mobs.pig.attributes.max_health", oldValue); } pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); diff --git a/patches/server/0044-Snowman-drop-and-put-back-pumpkin.patch b/patches/server/0044-Snowman-drop-and-put-back-pumpkin.patch index 284a31235..d23e09d25 100644 --- a/patches/server/0044-Snowman-drop-and-put-back-pumpkin.patch +++ b/patches/server/0044-Snowman-drop-and-put-back-pumpkin.patch @@ -32,10 +32,10 @@ index fcf3092ef1863f62d9e76a77c0299ce1495ca1b7..ee64f4084b25d77f1c25b76a5b7d90cd this.forceDrops = false; // CraftBukkit } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 6f353f5673981ff4679f5f2d434bfcad3d19592a..42d7104b39eba64a41632a4b430f2bcf8b29ff01 100644 +index aec3017ebc2155e88939e43101fa9e958c9d2102..d88a99003b84663fe6a50884f03eb78921c02937 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -995,6 +995,8 @@ public class PurpurWorldConfig { +@@ -997,6 +997,8 @@ public class PurpurWorldConfig { public boolean snowGolemRidableInWater = false; public boolean snowGolemLeaveTrailWhenRidden = false; public double snowGolemMaxHealth = 4.0D; @@ -44,7 +44,7 @@ index 6f353f5673981ff4679f5f2d434bfcad3d19592a..42d7104b39eba64a41632a4b430f2bcf private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1005,6 +1007,8 @@ public class PurpurWorldConfig { +@@ -1007,6 +1009,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/0045-Ender-dragon-always-drop-full-exp.patch b/patches/server/0045-Ender-dragon-always-drop-full-exp.patch index c0d16f895..e3f095c9f 100644 --- a/patches/server/0045-Ender-dragon-always-drop-full-exp.patch +++ b/patches/server/0045-Ender-dragon-always-drop-full-exp.patch @@ -18,10 +18,10 @@ index d3caa18f5de2d96eae691655dd13e83f82c61e0c..f637cd740ec3801ce1c387473b5c4ff6 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 42d7104b39eba64a41632a4b430f2bcf8b29ff01..58a3023d7b2c55d08529d0f51f296f910a45594d 100644 +index d88a99003b84663fe6a50884f03eb78921c02937..edc6dcba5e3f9331e0e451aafb8a6053e804c3d6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -377,6 +377,7 @@ public class PurpurWorldConfig { +@@ -379,6 +379,7 @@ public class PurpurWorldConfig { public boolean enderDragonRidableInWater = false; public double enderDragonMaxY = 256D; public double enderDragonMaxHealth = 200.0D; @@ -29,7 +29,7 @@ index 42d7104b39eba64a41632a4b430f2bcf8b29ff01..58a3023d7b2c55d08529d0f51f296f91 private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -391,6 +392,7 @@ public class PurpurWorldConfig { +@@ -393,6 +394,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/0046-Signs-editable-on-right-click.patch b/patches/server/0046-Signs-editable-on-right-click.patch index da3df9b86..d7f976eb7 100644 --- a/patches/server/0046-Signs-editable-on-right-click.patch +++ b/patches/server/0046-Signs-editable-on-right-click.patch @@ -35,10 +35,10 @@ index 1844ea93f8cea420f01937f85ed17c0ec1bb8bf0..9e80ba8970cad91ea22ac701f76e1413 } else { return InteractionResult.PASS; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 58a3023d7b2c55d08529d0f51f296f910a45594d..d11e315819cdcb1f4a0febeecaa6549e4a2f7e11 100644 +index edc6dcba5e3f9331e0e451aafb8a6053e804c3d6..af8cee33ea6780c2447361354497fbb6d5ad4501 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -138,6 +138,11 @@ public class PurpurWorldConfig { +@@ -140,6 +140,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0047-Signs-allow-color-codes.patch b/patches/server/0047-Signs-allow-color-codes.patch index febaadebf..ede7840eb 100644 --- a/patches/server/0047-Signs-allow-color-codes.patch +++ b/patches/server/0047-Signs-allow-color-codes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Signs allow color codes diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a53e68deb6b5fb9c43bce9444373b68e25a6a344..349aac496cf51f0a837d032d509364c13cece6ca 100644 +index 3dbb4b7bd25274c7e72ffcb6e12aae06b31b5530..6f060f7e14043186dc15bc71f69de2817f76f2f1 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1462,6 +1462,7 @@ public class ServerPlayer extends Player { @@ -17,7 +17,7 @@ index a53e68deb6b5fb9c43bce9444373b68e25a6a344..349aac496cf51f0a837d032d509364c1 this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos())); this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos())); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 2f8bae1e9d744a28ec3fc0409622d4d500b8e2ca..cfc4bf12b9a276fc4b7a58638c577c978d63e2eb 100644 +index 41d64ced05f0cfe8e2e9e8f30fb5492c99de6486..e71f9a3256eed2361ac8c5c058ceaeeeabbeefa3 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -3072,11 +3072,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -70,10 +70,10 @@ index 344d3a8c1162f1a4ab5fc2b7676680ddace46649..156a153abe59f86db7f942155d8a21de @Override public ClientboundBlockEntityDataPacket getUpdatePacket() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d11e315819cdcb1f4a0febeecaa6549e4a2f7e11..74d40217bfea2e8774f06522a02373666c84a003 100644 +index af8cee33ea6780c2447361354497fbb6d5ad4501..a6576dda1c7d707be7492b4ab8b38f47f6e3a852 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -138,8 +138,10 @@ public class PurpurWorldConfig { +@@ -140,8 +140,10 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0048-Allow-soil-to-moisten-from-water-directly-under-it.patch b/patches/server/0048-Allow-soil-to-moisten-from-water-directly-under-it.patch index 22b1b1ee2..abf709a89 100644 --- a/patches/server/0048-Allow-soil-to-moisten-from-water-directly-under-it.patch +++ b/patches/server/0048-Allow-soil-to-moisten-from-water-directly-under-it.patch @@ -18,10 +18,10 @@ index a242a80b16c7d074d52a52728646224b1a0091d4..ee5bc54e37e5ae120e846ddd2cae5ca3 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 74d40217bfea2e8774f06522a02373666c84a003..29c0d3ea1eb0e14b0c58c540512aa0c4c7feac1f 100644 +index a6576dda1c7d707be7492b4ab8b38f47f6e3a852..9ce64a3d7a00877688f1e45a3961159cb35c8d9f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -138,6 +138,11 @@ public class PurpurWorldConfig { +@@ -140,6 +140,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0050-Disable-loot-drops-on-death-by-cramming.patch b/patches/server/0050-Disable-loot-drops-on-death-by-cramming.patch index 86eb941b6..9ae3509b4 100644 --- a/patches/server/0050-Disable-loot-drops-on-death-by-cramming.patch +++ b/patches/server/0050-Disable-loot-drops-on-death-by-cramming.patch @@ -20,10 +20,10 @@ index df5a573e7c097cb7b0d5c1b087fc4f2eea81548a..a8412dd9609559e4840e5823e5472ada // CraftBukkit start - Call death event org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 63ee287bb2baa87f56a3a59e4859a0cfe38e696b..85c6d25580ebcb885e82b21bdac5330583825430 100644 +index 51f8045f4f607db3cf63d30fa6783257466a6022..a62fb62962617f3bc14e03b8b7c9f6fec3849c57 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -200,6 +200,11 @@ public class PurpurWorldConfig { +@@ -202,6 +202,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0051-Option-to-toggle-milk-curing-bad-omen.patch b/patches/server/0051-Option-to-toggle-milk-curing-bad-omen.patch index 7d4974218..abb37c404 100644 --- a/patches/server/0051-Option-to-toggle-milk-curing-bad-omen.patch +++ b/patches/server/0051-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/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 85c6d25580ebcb885e82b21bdac5330583825430..9c6314e42ac283eed107c238d954c0dfed424b24 100644 +index a62fb62962617f3bc14e03b8b7c9f6fec3849c57..5b702afacaa7e45a5dea5c4b6ec5a583043c0b87 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -201,8 +201,10 @@ public class PurpurWorldConfig { +@@ -203,8 +203,10 @@ public class PurpurWorldConfig { } public boolean disableDropsOnCrammingDeath = false; diff --git a/patches/server/0057-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch b/patches/server/0057-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch index 48887ce4d..0189e31ec 100644 --- a/patches/server/0057-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch +++ b/patches/server/0057-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch @@ -18,10 +18,10 @@ index c95eef8596fe3e1ca83e620a6c54b164c797cbe1..1e6a5404d767318de29184b3e3a2bc41 if (!this.level.isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) { this.spawnAtLocation(this.getPickupItem(), 0.1F); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9c6314e42ac283eed107c238d954c0dfed424b24..72a8880827607bc727806b0c677eb48376835cf2 100644 +index 5b702afacaa7e45a5dea5c4b6ec5a583043c0b87..a3a7a1e1352caefdadba0ba477f4f1f95a02b458 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -202,9 +202,11 @@ public class PurpurWorldConfig { +@@ -204,9 +204,11 @@ public class PurpurWorldConfig { public boolean disableDropsOnCrammingDeath = false; public boolean milkCuresBadOmen = true; diff --git a/patches/server/0058-Add-enderman-and-creeper-griefing-controls.patch b/patches/server/0058-Add-enderman-and-creeper-griefing-controls.patch index 3f37bc888..cc49546d4 100644 --- a/patches/server/0058-Add-enderman-and-creeper-griefing-controls.patch +++ b/patches/server/0058-Add-enderman-and-creeper-griefing-controls.patch @@ -38,10 +38,10 @@ index b061ecc42122ef66fbf87fe017023abca5728a01..6e0b5fbf5b0d216b6b7c647d45ef37cd } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 72a8880827607bc727806b0c677eb48376835cf2..a5fd10b8a1464fdc22c070df4f0387e6e796b25c 100644 +index a3a7a1e1352caefdadba0ba477f4f1f95a02b458..7528f889f05ea5046ff02097d37c59f81d57ffe1 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -374,6 +374,7 @@ public class PurpurWorldConfig { +@@ -376,6 +376,7 @@ public class PurpurWorldConfig { public boolean creeperRidableInWater = false; public double creeperMaxHealth = 20.0D; public double creeperChargedChance = 0.0D; @@ -49,7 +49,7 @@ index 72a8880827607bc727806b0c677eb48376835cf2..a5fd10b8a1464fdc22c070df4f0387e6 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -384,6 +385,7 @@ public class PurpurWorldConfig { +@@ -386,6 +387,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 72a8880827607bc727806b0c677eb48376835cf2..a5fd10b8a1464fdc22c070df4f0387e6 } public boolean dolphinRidable = false; -@@ -481,6 +483,7 @@ public class PurpurWorldConfig { +@@ -483,6 +485,7 @@ public class PurpurWorldConfig { public boolean endermanRidable = false; public boolean endermanRidableInWater = false; public double endermanMaxHealth = 40.0D; @@ -65,7 +65,7 @@ index 72a8880827607bc727806b0c677eb48376835cf2..a5fd10b8a1464fdc22c070df4f0387e6 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -490,6 +493,7 @@ public class PurpurWorldConfig { +@@ -492,6 +495,7 @@ public class PurpurWorldConfig { set("mobs.enderman.attributes.max_health", oldValue); } endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); diff --git a/patches/server/0059-Villagers-follow-emerald-blocks.patch b/patches/server/0059-Villagers-follow-emerald-blocks.patch index 4903e0b6e..90f3494be 100644 --- a/patches/server/0059-Villagers-follow-emerald-blocks.patch +++ b/patches/server/0059-Villagers-follow-emerald-blocks.patch @@ -54,10 +54,10 @@ index d2588a91b55aebdecf8e1644498111ccf84a9dc9..393061e13375bf7a7ee57973b4abac83 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/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a5fd10b8a1464fdc22c070df4f0387e6e796b25c..79992f590de1b122ef7be4ed2f3c7385f3ca8a7d 100644 +index 7528f889f05ea5046ff02097d37c59f81d57ffe1..8cebb48442e7a5ea76fe511927ed7a2f11c6a6d9 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1233,6 +1233,7 @@ public class PurpurWorldConfig { +@@ -1235,6 +1235,7 @@ public class PurpurWorldConfig { public double villagerMaxHealth = 20.0D; public int villagerBrainTicks = 1; public boolean villagerUseBrainTicksOnlyWhenLagging = true; @@ -65,7 +65,7 @@ index a5fd10b8a1464fdc22c070df4f0387e6e796b25c..79992f590de1b122ef7be4ed2f3c7385 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1244,6 +1245,7 @@ public class PurpurWorldConfig { +@@ -1246,6 +1247,7 @@ public class PurpurWorldConfig { villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); @@ -73,7 +73,7 @@ index a5fd10b8a1464fdc22c070df4f0387e6e796b25c..79992f590de1b122ef7be4ed2f3c7385 } public boolean vindicatorRidable = false; -@@ -1263,6 +1265,7 @@ public class PurpurWorldConfig { +@@ -1265,6 +1267,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderRidable = false; public boolean wanderingTraderRidableInWater = false; public double wanderingTraderMaxHealth = 20.0D; @@ -81,7 +81,7 @@ index a5fd10b8a1464fdc22c070df4f0387e6e796b25c..79992f590de1b122ef7be4ed2f3c7385 private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1272,6 +1275,7 @@ public class PurpurWorldConfig { +@@ -1274,6 +1277,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/0060-Allow-leashing-villagers.patch b/patches/server/0060-Allow-leashing-villagers.patch index fdff3df97..ea52d804c 100644 --- a/patches/server/0060-Allow-leashing-villagers.patch +++ b/patches/server/0060-Allow-leashing-villagers.patch @@ -49,10 +49,10 @@ index 393061e13375bf7a7ee57973b4abac83ffa15fa3..c48935d35a6141c41db22e3ec172d599 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 79992f590de1b122ef7be4ed2f3c7385f3ca8a7d..7fb7fdd26a84e13fd9a8368397fe7d2c7ced12b8 100644 +index 8cebb48442e7a5ea76fe511927ed7a2f11c6a6d9..76e143f985c7b029a7f7115e2f51f8dfc9c9ac13 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1234,6 +1234,7 @@ public class PurpurWorldConfig { +@@ -1236,6 +1236,7 @@ public class PurpurWorldConfig { public int villagerBrainTicks = 1; public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerFollowEmeraldBlock = false; @@ -60,7 +60,7 @@ index 79992f590de1b122ef7be4ed2f3c7385f3ca8a7d..7fb7fdd26a84e13fd9a8368397fe7d2c private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1246,6 +1247,7 @@ public class PurpurWorldConfig { +@@ -1248,6 +1249,7 @@ public class PurpurWorldConfig { villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); @@ -68,7 +68,7 @@ index 79992f590de1b122ef7be4ed2f3c7385f3ca8a7d..7fb7fdd26a84e13fd9a8368397fe7d2c } public boolean vindicatorRidable = false; -@@ -1266,6 +1268,7 @@ public class PurpurWorldConfig { +@@ -1268,6 +1270,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderRidableInWater = false; public double wanderingTraderMaxHealth = 20.0D; public boolean wanderingTraderFollowEmeraldBlock = false; @@ -76,7 +76,7 @@ index 79992f590de1b122ef7be4ed2f3c7385f3ca8a7d..7fb7fdd26a84e13fd9a8368397fe7d2c private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1276,6 +1279,7 @@ public class PurpurWorldConfig { +@@ -1278,6 +1281,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/0061-Implement-configurable-search-radius-for-villagers-t.patch b/patches/server/0061-Implement-configurable-search-radius-for-villagers-t.patch index b54f7590a..caf73ead5 100644 --- a/patches/server/0061-Implement-configurable-search-radius-for-villagers-t.patch +++ b/patches/server/0061-Implement-configurable-search-radius-for-villagers-t.patch @@ -18,10 +18,10 @@ index 0c6583751e75d175338aaf411fb26baa1946a9b4..bad3b9eb0ab8612f9c80c52caff38ffe for (int i = 0; i < 10; ++i) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 7fb7fdd26a84e13fd9a8368397fe7d2c7ced12b8..cd2f74fe19ab8c22d0bee93787c45a45d1c7b15c 100644 +index 76e143f985c7b029a7f7115e2f51f8dfc9c9ac13..91ba2eed526a17c657df5e0636c79019d91f1432 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1235,6 +1235,8 @@ public class PurpurWorldConfig { +@@ -1237,6 +1237,8 @@ public class PurpurWorldConfig { public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerFollowEmeraldBlock = false; public boolean villagerCanBeLeashed = false; @@ -30,7 +30,7 @@ index 7fb7fdd26a84e13fd9a8368397fe7d2c7ced12b8..cd2f74fe19ab8c22d0bee93787c45a45 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1248,6 +1250,8 @@ public class PurpurWorldConfig { +@@ -1250,6 +1252,8 @@ public class PurpurWorldConfig { villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); diff --git a/patches/server/0062-Implement-infinite-lava.patch b/patches/server/0062-Implement-infinite-lava.patch index 54aacd282..3be1bbc4e 100644 --- a/patches/server/0062-Implement-infinite-lava.patch +++ b/patches/server/0062-Implement-infinite-lava.patch @@ -58,10 +58,10 @@ index 695783e64564b1d2a178d57a89737d2a97ab9014..cd1a33a1f10d04a91358f51d736bda34 protected boolean canConvertToSource() { return false; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index cd2f74fe19ab8c22d0bee93787c45a45d1c7b15c..a75d3ac8c04b9ca81547bcb8d8488f0a4cc1e05b 100644 +index 91ba2eed526a17c657df5e0636c79019d91f1432..74f2f991612f409d97ea855dc1039f0eef73088d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -214,6 +214,13 @@ public class PurpurWorldConfig { +@@ -216,6 +216,13 @@ public class PurpurWorldConfig { farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); } diff --git a/patches/server/0063-Make-lava-flow-speed-configurable.patch b/patches/server/0063-Make-lava-flow-speed-configurable.patch index ca3154227..818de6e60 100644 --- a/patches/server/0063-Make-lava-flow-speed-configurable.patch +++ b/patches/server/0063-Make-lava-flow-speed-configurable.patch @@ -18,10 +18,10 @@ index cd1a33a1f10d04a91358f51d736bda34110324c4..b0d671ba015d1ad37fdf600b8e70def2 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a75d3ac8c04b9ca81547bcb8d8488f0a4cc1e05b..8e2d401e10c2fc7e748fd28073d94f09d228e445 100644 +index 74f2f991612f409d97ea855dc1039f0eef73088d..6ef7cdf5e006c027e5316dffff5931607b79243f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -216,9 +216,13 @@ public class PurpurWorldConfig { +@@ -218,9 +218,13 @@ public class PurpurWorldConfig { public boolean lavaInfinite = false; public int lavaInfiniteRequiredSources = 2; diff --git a/patches/server/0064-Add-player-death-exp-control-options.patch b/patches/server/0064-Add-player-death-exp-control-options.patch index 78fee8350..5df7851ac 100644 --- a/patches/server/0064-Add-player-death-exp-control-options.patch +++ b/patches/server/0064-Add-player-death-exp-control-options.patch @@ -31,11 +31,11 @@ index d761865eabfc67651b0a2a92ad35fc236886b61d..3e04510519ca5d03eb16aab8b1094e24 return 0; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 8e2d401e10c2fc7e748fd28073d94f09d228e445..d3aa93b934972758c50bd89ba951c5e2f54251a5 100644 +index 6ef7cdf5e006c027e5316dffff5931607b79243f..ff6d433b5b235948324d754297d837b955c924a1 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -166,6 +166,8 @@ public class PurpurWorldConfig { - public boolean idleTimeoutUpdateTabList = false; +@@ -167,6 +167,8 @@ public class PurpurWorldConfig { + public boolean idleTimeoutTargetPlayer = true; public int playerSpawnInvulnerableTicks = 60; public boolean playerInvulnerableWhileAcceptingResourcePack = false; + public String playerDeathExpDropEquation = "expLevel * 7"; @@ -43,8 +43,8 @@ index 8e2d401e10c2fc7e748fd28073d94f09d228e445..d3aa93b934972758c50bd89ba951c5e2 private void playerSettings() { idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick); idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities); -@@ -173,6 +175,8 @@ public class PurpurWorldConfig { - idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); +@@ -175,6 +177,8 @@ public class PurpurWorldConfig { + idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks); playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); + playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation); diff --git a/patches/server/0065-Configurable-void-damage-height-and-damage.patch b/patches/server/0065-Configurable-void-damage-height-and-damage.patch index cce8c49fb..0f758ca47 100644 --- a/patches/server/0065-Configurable-void-damage-height-and-damage.patch +++ b/patches/server/0065-Configurable-void-damage-height-and-damage.patch @@ -31,10 +31,10 @@ index 9f82479d3b1822d91f3e91f0e980200b9dcce962..56459702284a8bb5d0297e2d16cb2513 protected void updateSwingTime() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d3aa93b934972758c50bd89ba951c5e2f54251a5..f50bbee171ec14c5f574a58f4ac50a96751c0a28 100644 +index ff6d433b5b235948324d754297d837b955c924a1..07ba3537e107f100dc407d208133ac350acca741 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -207,10 +207,14 @@ public class PurpurWorldConfig { +@@ -209,10 +209,14 @@ public class PurpurWorldConfig { public boolean disableDropsOnCrammingDeath = false; public boolean milkCuresBadOmen = true; public double tridentLoyaltyVoidReturnHeight = 0.0D; diff --git a/patches/server/0067-Dispenser-curse-of-binding-protection.patch b/patches/server/0067-Dispenser-curse-of-binding-protection.patch index 86f2218ea..c07ce38f4 100644 --- a/patches/server/0067-Dispenser-curse-of-binding-protection.patch +++ b/patches/server/0067-Dispenser-curse-of-binding-protection.patch @@ -43,10 +43,10 @@ index aab4a63e61aced51b1b6c885fd8b8426a4f14408..dba3b8e0671ee63ff077155a8964f3e2 // CraftBukkit start Level world = pointer.getLevel(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index f50bbee171ec14c5f574a58f4ac50a96751c0a28..173d8eb4a1baffb2802dcf82dd2aad5a48a4cd9e 100644 +index 07ba3537e107f100dc407d208133ac350acca741..8ad94fd83461e2aefc1c48cc1c088754d48d81af 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -217,6 +217,11 @@ public class PurpurWorldConfig { +@@ -219,6 +219,11 @@ public class PurpurWorldConfig { voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); } diff --git a/patches/server/0068-Add-option-for-boats-to-eject-players-on-land.patch b/patches/server/0068-Add-option-for-boats-to-eject-players-on-land.patch index c05c6c9f7..e127100e7 100644 --- a/patches/server/0068-Add-option-for-boats-to-eject-players-on-land.patch +++ b/patches/server/0068-Add-option-for-boats-to-eject-players-on-land.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option for boats to eject players on land diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java -index aa7c022c4faade23bd9061311d4152cf845d3331..d4a19fc38027717e43353bc62ef23e564f3b4c26 100644 +index 99124b70d82140b108d424a5206657efe94f184e..4688cfb6f24066d3034efcd6b4816ceb37561f1f 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java @@ -520,6 +520,7 @@ public class Boat extends Entity { @@ -17,10 +17,10 @@ index aa7c022c4faade23bd9061311d4152cf845d3331..d4a19fc38027717e43353bc62ef23e56 } else { return Boat.Status.IN_AIR; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 173d8eb4a1baffb2802dcf82dd2aad5a48a4cd9e..0db73ef0552263437ba87281a179d1643b42cd83 100644 +index 8ad94fd83461e2aefc1c48cc1c088754d48d81af..f5262421fd28a2fcdb50b6d5700d4586002ce923 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -204,12 +204,14 @@ public class PurpurWorldConfig { +@@ -206,12 +206,14 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0069-Mending-mends-most-damages-equipment-first.patch b/patches/server/0069-Mending-mends-most-damages-equipment-first.patch index c445735f1..8f6358bc1 100644 --- a/patches/server/0069-Mending-mends-most-damages-equipment-first.patch +++ b/patches/server/0069-Mending-mends-most-damages-equipment-first.patch @@ -73,10 +73,10 @@ index d439e8ce87bf7da03683a336941c7673b8b166e4..955e482e4bc83f2b777cd2e4254c40be Entry entry = getRandomItemWith(enchantment, entityliving); return entry != null ? entry.getValue() : ItemStack.EMPTY; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0db73ef0552263437ba87281a179d1643b42cd83..996346851c4b3ce181b1ae5431bea693d04b923f 100644 +index f5262421fd28a2fcdb50b6d5700d4586002ce923..ec4eacc03b51944eaaa92a6326bc059faa558750 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -204,6 +204,7 @@ public class PurpurWorldConfig { +@@ -206,6 +206,7 @@ public class PurpurWorldConfig { }); } @@ -84,7 +84,7 @@ index 0db73ef0552263437ba87281a179d1643b42cd83..996346851c4b3ce181b1ae5431bea693 public boolean boatEjectPlayersOnLand = false; public boolean disableDropsOnCrammingDeath = false; public boolean milkCuresBadOmen = true; -@@ -211,6 +212,7 @@ public class PurpurWorldConfig { +@@ -213,6 +214,7 @@ public class PurpurWorldConfig { public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; private void miscGameplayMechanicsSettings() { diff --git a/patches/server/0076-Configurable-jockey-options.patch b/patches/server/0076-Configurable-jockey-options.patch index ce7f46a5c..3ced740fc 100644 --- a/patches/server/0076-Configurable-jockey-options.patch +++ b/patches/server/0076-Configurable-jockey-options.patch @@ -167,10 +167,10 @@ index 8464026df1b46ad30301fed4944aa1d3cd39bd9e..5b5958e37918b97fa994500fe94cd0e5 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 6bca783ce69f503f4ff192d2c406b2126c5d4d4a..0aa486b5af62df7e0bfe394ff9c1970439776b63 100644 +index 18463b61d54170c1cce788e2175789f030da644c..1e836e2a89679ae47e52fb4f6adc1d1ea0dda024 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -518,6 +518,9 @@ public class PurpurWorldConfig { +@@ -520,6 +520,9 @@ public class PurpurWorldConfig { public boolean drownedRidableInWater = false; public double drownedMaxHealth = 20.0D; public double drownedSpawnReinforcements = 0.1D; @@ -180,7 +180,7 @@ index 6bca783ce69f503f4ff192d2c406b2126c5d4d4a..0aa486b5af62df7e0bfe394ff9c19704 private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -528,6 +531,9 @@ public class PurpurWorldConfig { +@@ -530,6 +533,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 6bca783ce69f503f4ff192d2c406b2126c5d4d4a..0aa486b5af62df7e0bfe394ff9c19704 } public boolean elderGuardianRidable = false; -@@ -740,6 +746,9 @@ public class PurpurWorldConfig { +@@ -742,6 +748,9 @@ public class PurpurWorldConfig { public boolean huskRidableInWater = false; public double huskMaxHealth = 20.0D; public double huskSpawnReinforcements = 0.1D; @@ -200,7 +200,7 @@ index 6bca783ce69f503f4ff192d2c406b2126c5d4d4a..0aa486b5af62df7e0bfe394ff9c19704 private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -750,6 +759,9 @@ public class PurpurWorldConfig { +@@ -752,6 +761,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 6bca783ce69f503f4ff192d2c406b2126c5d4d4a..0aa486b5af62df7e0bfe394ff9c19704 } public boolean illusionerRidable = false; -@@ -1450,6 +1462,9 @@ public class PurpurWorldConfig { +@@ -1452,6 +1464,9 @@ public class PurpurWorldConfig { public boolean zombieRidableInWater = false; public double zombieMaxHealth = 20.0D; public double zombieSpawnReinforcements = 0.1D; @@ -220,7 +220,7 @@ index 6bca783ce69f503f4ff192d2c406b2126c5d4d4a..0aa486b5af62df7e0bfe394ff9c19704 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1460,6 +1475,9 @@ public class PurpurWorldConfig { +@@ -1462,6 +1477,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 6bca783ce69f503f4ff192d2c406b2126c5d4d4a..0aa486b5af62df7e0bfe394ff9c19704 } public boolean zombieHorseRidableInWater = false; -@@ -1493,6 +1511,9 @@ public class PurpurWorldConfig { +@@ -1495,6 +1513,9 @@ public class PurpurWorldConfig { public boolean zombieVillagerRidableInWater = false; public double zombieVillagerMaxHealth = 20.0D; public double zombieVillagerSpawnReinforcements = 0.1D; @@ -240,7 +240,7 @@ index 6bca783ce69f503f4ff192d2c406b2126c5d4d4a..0aa486b5af62df7e0bfe394ff9c19704 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -1503,12 +1524,18 @@ public class PurpurWorldConfig { +@@ -1505,12 +1526,18 @@ public class PurpurWorldConfig { } zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth); zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements); @@ -259,7 +259,7 @@ index 6bca783ce69f503f4ff192d2c406b2126c5d4d4a..0aa486b5af62df7e0bfe394ff9c19704 private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -1519,5 +1546,8 @@ public class PurpurWorldConfig { +@@ -1521,5 +1548,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/0077-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch b/patches/server/0077-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch index 0dd7e08e2..6416acc02 100644 --- a/patches/server/0077-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch +++ b/patches/server/0077-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch @@ -258,10 +258,10 @@ index 5e069ac0c57d2a3a23f6e4483d12ce298d172691..916c29d08fbcf245ad6f50f8e8cc1736 private float speed = 0.1F; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0aa486b5af62df7e0bfe394ff9c1970439776b63..2bc0bab30ccf67fce236dcf74593d67c57ec13ff 100644 +index 1e836e2a89679ae47e52fb4f6adc1d1ea0dda024..a7c05f027d27d3177ae827c23c95265ab9370d50 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -931,6 +931,9 @@ public class PurpurWorldConfig { +@@ -933,6 +933,9 @@ public class PurpurWorldConfig { public int phantomFlameFireTime = 8; public boolean phantomAllowGriefing = false; public double phantomMaxHealth = 20.0D; @@ -271,7 +271,7 @@ index 0aa486b5af62df7e0bfe394ff9c1970439776b63..2bc0bab30ccf67fce236dcf74593d67c private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -944,6 +947,9 @@ public class PurpurWorldConfig { +@@ -946,6 +949,9 @@ public class PurpurWorldConfig { set("mobs.phantom.attributes.max_health", oldValue); } phantomMaxHealth = getDouble("mobs.phantom.attributes.max_health", phantomMaxHealth); diff --git a/patches/server/0078-Add-phantom-spawning-options.patch b/patches/server/0078-Add-phantom-spawning-options.patch index d15d45efa..6a7e52803 100644 --- a/patches/server/0078-Add-phantom-spawning-options.patch +++ b/patches/server/0078-Add-phantom-spawning-options.patch @@ -48,10 +48,10 @@ index 79504dc3448402e73b09c4232b1fd0488872cf68..300c9f136edace2babea4a574090b184 for (int l = 0; l < k; ++l) { // Paper start diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2bc0bab30ccf67fce236dcf74593d67c57ec13ff..5004f8879909c6b226ab3ce6a60fee0113b67de6 100644 +index a7c05f027d27d3177ae827c23c95265ab9370d50..9636d84a511473457d3cfa72bb953defc525568f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -934,6 +934,18 @@ public class PurpurWorldConfig { +@@ -936,6 +936,18 @@ public class PurpurWorldConfig { public double phantomAttackedByCrystalRadius = 0.0D; public float phantomAttackedByCrystalDamage = 1.0F; public double phantomOrbitCrystalRadius = 0.0D; @@ -70,7 +70,7 @@ index 2bc0bab30ccf67fce236dcf74593d67c57ec13ff..5004f8879909c6b226ab3ce6a60fee01 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -950,6 +962,18 @@ public class PurpurWorldConfig { +@@ -952,6 +964,18 @@ 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/0079-Implement-bed-explosion-options.patch b/patches/server/0079-Implement-bed-explosion-options.patch index 26152806f..f6121fbe0 100644 --- a/patches/server/0079-Implement-bed-explosion-options.patch +++ b/patches/server/0079-Implement-bed-explosion-options.patch @@ -27,10 +27,10 @@ index 163a7861f987c3832aac51cc6df950c768546731..bf5765b6af9c7807d50f7daaacb5d524 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5004f8879909c6b226ab3ce6a60fee0113b67de6..c10c8b0d6f622bafca3db6b58dd8525310d0ba31 100644 +index 9636d84a511473457d3cfa72bb953defc525568f..b24e664207d503e1d458d2856198b376892edd95 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -277,6 +277,22 @@ public class PurpurWorldConfig { +@@ -279,6 +279,22 @@ public class PurpurWorldConfig { voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); } diff --git a/patches/server/0080-Implement-respawn-anchor-explosion-options.patch b/patches/server/0080-Implement-respawn-anchor-explosion-options.patch index a3eb8651f..1cc54335b 100644 --- a/patches/server/0080-Implement-respawn-anchor-explosion-options.patch +++ b/patches/server/0080-Implement-respawn-anchor-explosion-options.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement respawn anchor explosion options diff --git a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java -index af4eb4a8814491afef449a2874521636957d7557..365c28300ecfbe0161716972adf22a8a428c0c54 100644 +index 0a5d563700c9f806139001181f01fa9d0111f792..1aae3d27ed6c0433312502a59fe1eb70b7d14ac3 100644 --- a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java +++ b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java @@ -120,7 +120,7 @@ public class RespawnAnchorBlock extends Block { @@ -18,10 +18,10 @@ index af4eb4a8814491afef449a2874521636957d7557..365c28300ecfbe0161716972adf22a8a public static boolean canSetSpawn(Level world) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c10c8b0d6f622bafca3db6b58dd8525310d0ba31..93fb8838b802476ab184f17e9fc880cd64de9f41 100644 +index b24e664207d503e1d458d2856198b376892edd95..059dad063ac6e9d9fc5713df54705ee65a683dc2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -314,6 +314,22 @@ public class PurpurWorldConfig { +@@ -316,6 +316,22 @@ public class PurpurWorldConfig { lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); } diff --git a/patches/server/0084-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0084-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index f543986cb..11d4366ad 100644 --- a/patches/server/0084-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0084-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch @@ -55,10 +55,10 @@ index 9240dac662e60d130cdb8c3724c211c89875f6f0..795d454e46cfa39f80c5fc931f4931d8 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 786415c28dc7d8b601410b10d9257419481e1065..1df372f35183fd45c69a20233b194b6a09a13861 100644 +index fc521ed7418ce1dd53726f3621b68ccb01b1b3d2..da1e6d8571caea7c275c48f7eb20c7e698cb2640 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -229,6 +229,7 @@ public class PurpurWorldConfig { +@@ -230,6 +230,7 @@ public class PurpurWorldConfig { public boolean playerInvulnerableWhileAcceptingResourcePack = false; public String playerDeathExpDropEquation = "expLevel * 7"; public int playerDeathExpDropMax = 100; @@ -66,7 +66,7 @@ index 786415c28dc7d8b601410b10d9257419481e1065..1df372f35183fd45c69a20233b194b6a private void playerSettings() { idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick); idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities); -@@ -238,6 +239,7 @@ public class PurpurWorldConfig { +@@ -240,6 +241,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/0085-Squid-EAR-immunity.patch b/patches/server/0085-Squid-EAR-immunity.patch index 3f52d073a..7b2190b1d 100644 --- a/patches/server/0085-Squid-EAR-immunity.patch +++ b/patches/server/0085-Squid-EAR-immunity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Squid EAR immunity diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 1df372f35183fd45c69a20233b194b6a09a13861..5d91ae6b45f598df7402db420f451a8b1e9cfb39 100644 +index da1e6d8571caea7c275c48f7eb20c7e698cb2640..519968a57783008234fde804ba007c562d8b928c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1267,6 +1267,7 @@ public class PurpurWorldConfig { +@@ -1269,6 +1269,7 @@ public class PurpurWorldConfig { public boolean squidRidable = false; public double squidMaxHealth = 10.0D; @@ -16,7 +16,7 @@ index 1df372f35183fd45c69a20233b194b6a09a13861..5d91ae6b45f598df7402db420f451a8b private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); if (PurpurConfig.version < 10) { -@@ -1275,6 +1276,7 @@ public class PurpurWorldConfig { +@@ -1277,6 +1278,7 @@ public class PurpurWorldConfig { set("mobs.squid.attributes.max_health", oldValue); } squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); diff --git a/patches/server/0087-Phantoms-burn-in-light.patch b/patches/server/0087-Phantoms-burn-in-light.patch index 79dfb7305..000bc75ef 100644 --- a/patches/server/0087-Phantoms-burn-in-light.patch +++ b/patches/server/0087-Phantoms-burn-in-light.patch @@ -47,10 +47,10 @@ index 916c29d08fbcf245ad6f50f8e8cc173677b01081..c55aba456aa144e58fc35877c61eff30 list.sort(Comparator.comparing(Entity::getY).reversed()); // Paper - remap fix Iterator iterator = list.iterator(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5d91ae6b45f598df7402db420f451a8b1e9cfb39..de92cd0eb830f6787f4d5b31b66543b332f0d8e8 100644 +index 519968a57783008234fde804ba007c562d8b928c..aad4ff0f251476d9f16d9571bd94701a1d998118 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -985,6 +985,9 @@ public class PurpurWorldConfig { +@@ -987,6 +987,9 @@ public class PurpurWorldConfig { public int phantomSpawnOverheadRadius = 10; public int phantomSpawnMinPerAttempt = 1; public int phantomSpawnMaxPerAttempt = -1; @@ -60,7 +60,7 @@ index 5d91ae6b45f598df7402db420f451a8b1e9cfb39..de92cd0eb830f6787f4d5b31b66543b3 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1013,6 +1016,9 @@ public class PurpurWorldConfig { +@@ -1015,6 +1018,9 @@ public class PurpurWorldConfig { phantomSpawnOverheadRadius = getInt("mobs.phantom.spawn.overhead.radius", phantomSpawnOverheadRadius); phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt); phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt); diff --git a/patches/server/0088-Configurable-villager-breeding.patch b/patches/server/0088-Configurable-villager-breeding.patch index 68f8a8352..90ffe9278 100644 --- a/patches/server/0088-Configurable-villager-breeding.patch +++ b/patches/server/0088-Configurable-villager-breeding.patch @@ -18,10 +18,10 @@ index bad3b9eb0ab8612f9c80c52caff38ffe791d112c..4752205ab570ab8f6ae7f0a15ae610b6 private boolean hungry() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index de92cd0eb830f6787f4d5b31b66543b332f0d8e8..8b164645a22e60980c036ac272e8b77b11de7b86 100644 +index aad4ff0f251476d9f16d9571bd94701a1d998118..47220fd798b149e8dca436edbeeb9cfd495c1069 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1410,6 +1410,7 @@ public class PurpurWorldConfig { +@@ -1412,6 +1412,7 @@ public class PurpurWorldConfig { public boolean villagerCanBeLeashed = false; public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemLimit = 0; @@ -29,7 +29,7 @@ index de92cd0eb830f6787f4d5b31b66543b332f0d8e8..8b164645a22e60980c036ac272e8b77b private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1425,6 +1426,7 @@ public class PurpurWorldConfig { +@@ -1427,6 +1428,7 @@ public class PurpurWorldConfig { villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius); villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); diff --git a/patches/server/0089-Redstone-deactivates-spawners.patch b/patches/server/0089-Redstone-deactivates-spawners.patch index ebc660716..ab6516499 100644 --- a/patches/server/0089-Redstone-deactivates-spawners.patch +++ b/patches/server/0089-Redstone-deactivates-spawners.patch @@ -17,10 +17,10 @@ index c601b8b12756682a4cb300be8ebed4319902c5b5..eec88d3947d435559d8ce175f72c5efb } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 8b164645a22e60980c036ac272e8b77b11de7b86..79e193fbf4e8f6cf42496f09debf88ccc99bf11b 100644 +index 47220fd798b149e8dca436edbeeb9cfd495c1069..42fef9385e626a01cad6b443a41ae989d74a6b32 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -344,6 +344,11 @@ public class PurpurWorldConfig { +@@ -346,6 +346,11 @@ public class PurpurWorldConfig { signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit); } diff --git a/patches/server/0090-Totems-work-in-inventory.patch b/patches/server/0090-Totems-work-in-inventory.patch index c17d4db8f..9934474ac 100644 --- a/patches/server/0090-Totems-work-in-inventory.patch +++ b/patches/server/0090-Totems-work-in-inventory.patch @@ -29,10 +29,10 @@ index 795d454e46cfa39f80c5fc931f4931d8561b03b4..91fd6709e66ee9c999ba7be3bec2689a event.setCancelled(itemstack == null); this.level.getCraftServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 79e193fbf4e8f6cf42496f09debf88ccc99bf11b..8255fd95f0bfb45b3f2f714b0f624c12ff33a4a5 100644 +index 42fef9385e626a01cad6b443a41ae989d74a6b32..c22169ad9e4b2271e7083487beabd3ecf929ff75 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -230,6 +230,7 @@ public class PurpurWorldConfig { +@@ -231,6 +231,7 @@ public class PurpurWorldConfig { public String playerDeathExpDropEquation = "expLevel * 7"; public int playerDeathExpDropMax = 100; public boolean teleportIfOutsideBorder = false; @@ -40,7 +40,7 @@ index 79e193fbf4e8f6cf42496f09debf88ccc99bf11b..8255fd95f0bfb45b3f2f714b0f624c12 private void playerSettings() { idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick); idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities); -@@ -240,6 +241,7 @@ public class PurpurWorldConfig { +@@ -242,6 +243,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/0091-Add-vindicator-johnny-spawn-chance.patch b/patches/server/0091-Add-vindicator-johnny-spawn-chance.patch index 694137ab3..4940003a3 100644 --- a/patches/server/0091-Add-vindicator-johnny-spawn-chance.patch +++ b/patches/server/0091-Add-vindicator-johnny-spawn-chance.patch @@ -30,10 +30,10 @@ index 76e6ea34db3942e9dd7646ad7ca1259f4387a4d8..9096c40ad5784d9097e889f0f43b6cf1 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 8255fd95f0bfb45b3f2f714b0f624c12ff33a4a5..097ae958a8c2b2d8cd4ab9d758ddc1359fa91d0a 100644 +index c22169ad9e4b2271e7083487beabd3ecf929ff75..209da7a5fc5a8fd44c3cebb8c2b528e004f76d92 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1439,6 +1439,7 @@ public class PurpurWorldConfig { +@@ -1441,6 +1441,7 @@ public class PurpurWorldConfig { public boolean vindicatorRidable = false; public boolean vindicatorRidableInWater = false; public double vindicatorMaxHealth = 24.0D; @@ -41,7 +41,7 @@ index 8255fd95f0bfb45b3f2f714b0f624c12ff33a4a5..097ae958a8c2b2d8cd4ab9d758ddc135 private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -1448,6 +1449,7 @@ public class PurpurWorldConfig { +@@ -1450,6 +1451,7 @@ public class PurpurWorldConfig { set("mobs.vindicator.attributes.max_health", oldValue); } vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); diff --git a/patches/server/0093-Dispensers-place-anvils-option.patch b/patches/server/0093-Dispensers-place-anvils-option.patch index 1438ab28f..35ee51728 100644 --- a/patches/server/0093-Dispensers-place-anvils-option.patch +++ b/patches/server/0093-Dispensers-place-anvils-option.patch @@ -41,10 +41,10 @@ index 92623ae25249d63efb92be8bd6c95228f9155ad2..20bf6d01046488eff53a109f5239351a static void setEntityPokingOutOfBlock(BlockSource pointer, Entity entity, Direction direction) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 097ae958a8c2b2d8cd4ab9d758ddc1359fa91d0a..b36000b78370c6bb8678dc22a006b4baad22080a 100644 +index 209da7a5fc5a8fd44c3cebb8c2b528e004f76d92..f53dc9b42d0550f7e579dfa517be4448861d0b11 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -303,8 +303,10 @@ public class PurpurWorldConfig { +@@ -305,8 +305,10 @@ public class PurpurWorldConfig { } public boolean dispenserApplyCursedArmor = true; diff --git a/patches/server/0094-Allow-anvil-colors.patch b/patches/server/0094-Allow-anvil-colors.patch index 0a60e447f..db13e9f33 100644 --- a/patches/server/0094-Allow-anvil-colors.patch +++ b/patches/server/0094-Allow-anvil-colors.patch @@ -37,10 +37,10 @@ index ddfb89d62d2ec316683e9f0f5550e298ab26d137..410ac71efff92dfa1f1e11895d0f5bf3 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b36000b78370c6bb8678dc22a006b4baad22080a..f72e9dfc464a3d79ed6a37d52da0acc097adc0ba 100644 +index f53dc9b42d0550f7e579dfa517be4448861d0b11..3519a3cabf49c1af9cd80a1907d876a67dc0e15f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -286,6 +286,11 @@ public class PurpurWorldConfig { +@@ -288,6 +288,11 @@ public class PurpurWorldConfig { voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); } diff --git a/patches/server/0095-Add-no-random-tick-block-list.patch b/patches/server/0095-Add-no-random-tick-block-list.patch index 0f9c0596a..2dd5a1aac 100644 --- a/patches/server/0095-Add-no-random-tick-block-list.patch +++ b/patches/server/0095-Add-no-random-tick-block-list.patch @@ -35,10 +35,10 @@ index 7538262e14c86e4da9cd4cb887b76f649bfef2e6..f34973be478de4f088a0593b45bd89e5 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index f72e9dfc464a3d79ed6a37d52da0acc097adc0ba..52401f529231706188415417d9b5f93bc73de983 100644 +index 3519a3cabf49c1af9cd80a1907d876a67dc0e15f..aeca90b8df437130a2f6461398164e132e3ec634 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -286,6 +286,28 @@ public class PurpurWorldConfig { +@@ -288,6 +288,28 @@ public class PurpurWorldConfig { voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); } diff --git a/patches/server/0096-Add-option-to-disable-dolphin-treasure-searching.patch b/patches/server/0096-Add-option-to-disable-dolphin-treasure-searching.patch index d843e5e9f..11c6181b6 100644 --- a/patches/server/0096-Add-option-to-disable-dolphin-treasure-searching.patch +++ b/patches/server/0096-Add-option-to-disable-dolphin-treasure-searching.patch @@ -17,10 +17,10 @@ index c372d47a929e06c8cfb0df86cf4e9bfee4d4b300..2aead13e8f879b614445715fb1912a20 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 52401f529231706188415417d9b5f93bc73de983..102d88156ac24a8a41bbbabb6ad450a8d1e7a9bf 100644 +index aeca90b8df437130a2f6461398164e132e3ec634..de55bed5b04d18562c250568d61338be38015b2c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -552,6 +552,7 @@ public class PurpurWorldConfig { +@@ -554,6 +554,7 @@ public class PurpurWorldConfig { public float dolphinSpitSpeed = 1.0F; public float dolphinSpitDamage = 2.0F; public double dolphinMaxHealth = 10.0D; @@ -28,7 +28,7 @@ index 52401f529231706188415417d9b5f93bc73de983..102d88156ac24a8a41bbbabb6ad450a8 private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinSpitCooldown = getInt("mobs.dolphin.spit.cooldown", dolphinSpitCooldown); -@@ -563,6 +564,7 @@ public class PurpurWorldConfig { +@@ -565,6 +566,7 @@ public class PurpurWorldConfig { set("mobs.dolphin.attributes.max_health", oldValue); } dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth); diff --git a/patches/server/0098-Stop-squids-floating-on-top-of-water.patch b/patches/server/0098-Stop-squids-floating-on-top-of-water.patch index fb810ee6e..cce0bcd54 100644 --- a/patches/server/0098-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0098-Stop-squids-floating-on-top-of-water.patch @@ -60,10 +60,10 @@ index 6f7e6429c35eea346517cbf08cf223fc6d838a8c..6a77112180556675af38cb1b3ce0b38a + // Purpur } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 102d88156ac24a8a41bbbabb6ad450a8d1e7a9bf..4ff6aaeb9238326f650f98ead61deecc4ae47265 100644 +index de55bed5b04d18562c250568d61338be38015b2c..0ff8d202030da6e7f776619101db70afb2f5243e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1312,6 +1312,7 @@ public class PurpurWorldConfig { +@@ -1314,6 +1314,7 @@ public class PurpurWorldConfig { public boolean squidRidable = false; public double squidMaxHealth = 10.0D; public boolean squidImmuneToEAR = true; @@ -71,7 +71,7 @@ index 102d88156ac24a8a41bbbabb6ad450a8d1e7a9bf..4ff6aaeb9238326f650f98ead61deecc private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); if (PurpurConfig.version < 10) { -@@ -1321,6 +1322,7 @@ public class PurpurWorldConfig { +@@ -1323,6 +1324,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/0101-Entities-can-use-portals-configuration.patch b/patches/server/0101-Entities-can-use-portals-configuration.patch index 79c03a7a3..6494e573e 100644 --- a/patches/server/0101-Entities-can-use-portals-configuration.patch +++ b/patches/server/0101-Entities-can-use-portals-configuration.patch @@ -27,10 +27,10 @@ index d3541a447d7fcee70733ce9b18f4c5abdc4ba55a..af932a7149153a295c52efb7d7ea6da9 public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 4ff6aaeb9238326f650f98ead61deecc4ae47265..ce3e424ef0933d80b23eb5a1762d55a9e69280f1 100644 +index 0ff8d202030da6e7f776619101db70afb2f5243e..70d381322a05921a3766aca7f43ac28ba9bc98cc 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -272,6 +272,7 @@ public class PurpurWorldConfig { +@@ -274,6 +274,7 @@ public class PurpurWorldConfig { public boolean useBetterMending = false; public boolean boatEjectPlayersOnLand = false; public boolean disableDropsOnCrammingDeath = false; @@ -38,7 +38,7 @@ index 4ff6aaeb9238326f650f98ead61deecc4ae47265..ce3e424ef0933d80b23eb5a1762d55a9 public boolean milkCuresBadOmen = true; public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; -@@ -280,6 +281,7 @@ public class PurpurWorldConfig { +@@ -282,6 +283,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/0103-Customizable-wither-health-and-healing.patch b/patches/server/0103-Customizable-wither-health-and-healing.patch index eb05bad59..0dc5823b3 100644 --- a/patches/server/0103-Customizable-wither-health-and-healing.patch +++ b/patches/server/0103-Customizable-wither-health-and-healing.patch @@ -23,10 +23,10 @@ index 12cd1b453150e098975c34e00ec9277ff9730c75..ee13bdfb5cfc9992d26126804c0a0bb5 this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth()); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ce3e424ef0933d80b23eb5a1762d55a9e69280f1..a2612c026ae87995881cb339f4d3481a3274c509 100644 +index 70d381322a05921a3766aca7f43ac28ba9bc98cc..21133a596e586e6713ccec9c78fde6b07bcff3e0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1523,6 +1523,8 @@ public class PurpurWorldConfig { +@@ -1525,6 +1525,8 @@ public class PurpurWorldConfig { public boolean witherRidableInWater = false; public double witherMaxY = 256D; public double witherMaxHealth = 300.0D; @@ -35,7 +35,7 @@ index ce3e424ef0933d80b23eb5a1762d55a9e69280f1..a2612c026ae87995881cb339f4d3481a private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1537,6 +1539,8 @@ public class PurpurWorldConfig { +@@ -1539,6 +1541,8 @@ public class PurpurWorldConfig { set("mobs.wither.attributes.max_health", oldValue); } witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); diff --git a/patches/server/0105-Raid-cooldown-setting.patch b/patches/server/0105-Raid-cooldown-setting.patch index fed1f08b5..99ca92f23 100644 --- a/patches/server/0105-Raid-cooldown-setting.patch +++ b/patches/server/0105-Raid-cooldown-setting.patch @@ -52,10 +52,10 @@ index 45e369aa69a6b78def42b619b1b1b8259d4b30ea..de7443e7a27e51eabaed2d6d348ec8ea if (!this.raidMap.containsKey(raid.getId())) { this.raidMap.put(raid.getId(), raid); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 23d31f27239d937ec38909e8faa3e9276c76ab37..e372a4f1434f95be1f76f192c16f95403e3fbed2 100644 +index 316469509ed3ff88229323c488e48b1fc439a0df..ef39747d7fea72a460aea674fbb10a602bbc8152 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -298,6 +298,7 @@ public class PurpurWorldConfig { +@@ -300,6 +300,7 @@ public class PurpurWorldConfig { public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; @@ -63,7 +63,7 @@ index 23d31f27239d937ec38909e8faa3e9276c76ab37..e372a4f1434f95be1f76f192c16f9540 private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); -@@ -307,6 +308,7 @@ public class PurpurWorldConfig { +@@ -309,6 +310,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/0106-Despawn-rate-config-options-per-projectile-type.patch b/patches/server/0106-Despawn-rate-config-options-per-projectile-type.patch index a59c5f695..b46046dc3 100644 --- a/patches/server/0106-Despawn-rate-config-options-per-projectile-type.patch +++ b/patches/server/0106-Despawn-rate-config-options-per-projectile-type.patch @@ -289,10 +289,10 @@ index 4a11f7417b438ee5711a720aca3321c88e970b2a..46b74271ce5f614f07754db14d2a552c + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e372a4f1434f95be1f76f192c16f95403e3fbed2..2ff62f1637a3157b8b088d2156e809ff835f52d3 100644 +index ef39747d7fea72a460aea674fbb10a602bbc8152..aa4a3e84b3920676e1bdcfe3d12d7f77ea0868cf 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -265,6 +265,35 @@ public class PurpurWorldConfig { +@@ -267,6 +267,35 @@ public class PurpurWorldConfig { totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory); } diff --git a/patches/server/0107-Add-option-to-disable-zombie-aggressiveness-towards-.patch b/patches/server/0107-Add-option-to-disable-zombie-aggressiveness-towards-.patch index d490ded02..9d1430238 100644 --- a/patches/server/0107-Add-option-to-disable-zombie-aggressiveness-towards-.patch +++ b/patches/server/0107-Add-option-to-disable-zombie-aggressiveness-towards-.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add option to disable zombie aggressiveness towards villagers diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java -index dfc026d183adab1dde5942f36e7a281b3a2fc699..589f4fafeb4600e9923499c87d5f623235d113db 100644 +index 79006251a707dd94099db26fbb503f8699b7a8b5..7550a2f35454ace8909620931ec6fc0812883ad2 100644 --- a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java +++ b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java @@ -234,6 +234,10 @@ public class MobGoalHelper { @@ -71,10 +71,10 @@ index 1f9a233799be988748f6146ced2a4489899079f8..1f90c40c5e92232c38a33097903fd6e2 this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2ff62f1637a3157b8b088d2156e809ff835f52d3..428efdab81fdc2e345b9d92e58c1cb7d0d9202c2 100644 +index aa4a3e84b3920676e1bdcfe3d12d7f77ea0868cf..7b555be4c241ffffed605ae73f8318b3443b7c46 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1644,6 +1644,7 @@ public class PurpurWorldConfig { +@@ -1646,6 +1646,7 @@ public class PurpurWorldConfig { public boolean zombieJockeyOnlyBaby = true; public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; @@ -82,7 +82,7 @@ index 2ff62f1637a3157b8b088d2156e809ff835f52d3..428efdab81fdc2e345b9d92e58c1cb7d private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1657,6 +1658,7 @@ public class PurpurWorldConfig { +@@ -1659,6 +1660,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/0108-Persistent-TileEntity-Lore-and-DisplayName.patch b/patches/server/0108-Persistent-TileEntity-Lore-and-DisplayName.patch index 144a29225..ab0c597d7 100644 --- a/patches/server/0108-Persistent-TileEntity-Lore-and-DisplayName.patch +++ b/patches/server/0108-Persistent-TileEntity-Lore-and-DisplayName.patch @@ -189,10 +189,10 @@ index c3a07ccccd5cc38552363c82398f432c8d624288..132c9e6a643995d9fde535a78d9edc9e + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 428efdab81fdc2e345b9d92e58c1cb7d0d9202c2..300741d57574757bf9fed8bee27cbb1bed63a652 100644 +index 7b555be4c241ffffed605ae73f8318b3443b7c46..d32b008263ec45310320ae71457505432e1fbc85 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -324,6 +324,7 @@ public class PurpurWorldConfig { +@@ -326,6 +326,7 @@ public class PurpurWorldConfig { public boolean disableDropsOnCrammingDeath = false; public boolean entitiesCanUsePortals = true; public boolean milkCuresBadOmen = true; @@ -200,7 +200,7 @@ index 428efdab81fdc2e345b9d92e58c1cb7d0d9202c2..300741d57574757bf9fed8bee27cbb1b public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; -@@ -334,6 +335,7 @@ public class PurpurWorldConfig { +@@ -336,6 +337,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/0110-Flying-squids-Oh-my.patch b/patches/server/0110-Flying-squids-Oh-my.patch index a7d8a912b..dff7e65ac 100644 --- a/patches/server/0110-Flying-squids-Oh-my.patch +++ b/patches/server/0110-Flying-squids-Oh-my.patch @@ -58,10 +58,10 @@ index 2affff346a7fe81480e86cb61996039df0569853..12be4a2f25a7def8341acda47d10a256 float f1 = Mth.cos(f) * 0.2F; float f2 = -0.1F + this.squid.getRandom().nextFloat() * 0.2F; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 300741d57574757bf9fed8bee27cbb1bed63a652..cd0fce795cbd75acc8bbc8f5bd098286d281ac5d 100644 +index d32b008263ec45310320ae71457505432e1fbc85..33e2317646ca7b77537c8d52235f5a194717c439 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -811,9 +811,11 @@ public class PurpurWorldConfig { +@@ -813,9 +813,11 @@ public class PurpurWorldConfig { public boolean glowSquidRidable = false; public double glowSquidMaxHealth = 10.0D; @@ -73,7 +73,7 @@ index 300741d57574757bf9fed8bee27cbb1bed63a652..cd0fce795cbd75acc8bbc8f5bd098286 } public boolean goatRidable = false; -@@ -1369,6 +1371,7 @@ public class PurpurWorldConfig { +@@ -1371,6 +1373,7 @@ public class PurpurWorldConfig { public double squidMaxHealth = 10.0D; public boolean squidImmuneToEAR = true; public double squidOffsetWaterCheck = 0.0D; @@ -81,7 +81,7 @@ index 300741d57574757bf9fed8bee27cbb1bed63a652..cd0fce795cbd75acc8bbc8f5bd098286 private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); if (PurpurConfig.version < 10) { -@@ -1379,6 +1382,7 @@ public class PurpurWorldConfig { +@@ -1381,6 +1384,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/0112-Stonecutter-damage.patch b/patches/server/0112-Stonecutter-damage.patch index 1afbddd20..4d18c8d77 100644 --- a/patches/server/0112-Stonecutter-damage.patch +++ b/patches/server/0112-Stonecutter-damage.patch @@ -61,10 +61,10 @@ index 2ad5ff9a1d7de54e75436e99da8a73db9dc91bde..60605a8a021cc56f9c3ba22bc43c43c3 } else if (blockState.is(Blocks.HONEY_BLOCK)) { return BlockPathTypes.STICKY_HONEY; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 419ed2a7778699831fc43e53eb3940d735dce6f4..02716d2cdaccb386bb84329dce02a175b03fd656 100644 +index 9a4e52097e767ac00a5a9dde3137efc28858300e..90ace8ccf344a0f7b496e7d9cb5d49d6789d166b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -447,6 +447,11 @@ public class PurpurWorldConfig { +@@ -449,6 +449,11 @@ public class PurpurWorldConfig { spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone); } diff --git a/patches/server/0115-Furnace-uses-lava-from-underneath.patch b/patches/server/0115-Furnace-uses-lava-from-underneath.patch index 8fa5b0cb9..b10f62693 100644 --- a/patches/server/0115-Furnace-uses-lava-from-underneath.patch +++ b/patches/server/0115-Furnace-uses-lava-from-underneath.patch @@ -48,10 +48,10 @@ index 242d9b2ecb852d812d4887883cb2aabfd21e3715..2c64622577fdb6c2a5746471121403b6 private static boolean canBurn(@Nullable Recipe recipe, NonNullList slots, int count) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5d29dfbeefb325117c68d5a9dd8b97939a28c726..9ff0f451016a2753ac020ca2573ed6c4833790d3 100644 +index f21a02e3763d42ebe8130802269a99be54b24163..ac1969941cb582d3744b0a516417639b19269c20 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -415,6 +415,17 @@ public class PurpurWorldConfig { +@@ -417,6 +417,17 @@ public class PurpurWorldConfig { farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); } diff --git a/patches/server/0117-Ability-to-re-add-farmland-mechanics-from-Alpha.patch b/patches/server/0117-Ability-to-re-add-farmland-mechanics-from-Alpha.patch index 44c302924..57fd095a6 100644 --- a/patches/server/0117-Ability-to-re-add-farmland-mechanics-from-Alpha.patch +++ b/patches/server/0117-Ability-to-re-add-farmland-mechanics-from-Alpha.patch @@ -24,10 +24,10 @@ index ee5bc54e37e5ae120e846ddd2cae5ca39c293c98..f2ddc1c9c4fa029544866b779b4b0359 return; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9ff0f451016a2753ac020ca2573ed6c4833790d3..18aa966b09283b9f6cfa5a1ed55c4be9c0adfc5a 100644 +index ac1969941cb582d3744b0a516417639b19269c20..78e6063501b86131df3c23a703283c315d41cd49 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -411,8 +411,10 @@ public class PurpurWorldConfig { +@@ -413,8 +413,10 @@ public class PurpurWorldConfig { } public boolean farmlandGetsMoistFromBelow = false; diff --git a/patches/server/0118-Add-adjustable-breeding-cooldown-to-config.patch b/patches/server/0118-Add-adjustable-breeding-cooldown-to-config.patch index 08fb9d572..e582c84b4 100644 --- a/patches/server/0118-Add-adjustable-breeding-cooldown-to-config.patch +++ b/patches/server/0118-Add-adjustable-breeding-cooldown-to-config.patch @@ -95,10 +95,10 @@ index e52a708904d7c7d8d19e9def3bc915a9141c2bed..42c9952ee868fa54d9b6f2db8e08e3bc this.world = new CraftWorld((ServerLevel) this, gen, env); this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 18aa966b09283b9f6cfa5a1ed55c4be9c0adfc5a..024dfc34ad2b059ae00c9c98b03ff6213cf99f2b 100644 +index 78e6063501b86131df3c23a703283c315d41cd49..8f6db28958e0766460d1413b4ec0b2bd41cfb687 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -347,6 +347,7 @@ public class PurpurWorldConfig { +@@ -349,6 +349,7 @@ public class PurpurWorldConfig { public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; public int raidCooldownSeconds = 0; @@ -106,7 +106,7 @@ index 18aa966b09283b9f6cfa5a1ed55c4be9c0adfc5a..024dfc34ad2b059ae00c9c98b03ff621 private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); -@@ -358,6 +359,7 @@ public class PurpurWorldConfig { +@@ -360,6 +361,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/0119-Make-entity-breeding-times-configurable.patch b/patches/server/0119-Make-entity-breeding-times-configurable.patch index d7ef10eda..4cf9d69aa 100644 --- a/patches/server/0119-Make-entity-breeding-times-configurable.patch +++ b/patches/server/0119-Make-entity-breeding-times-configurable.patch @@ -474,10 +474,10 @@ index 5d289be8f0ef003abbce992e7662f6ddce4f4a99..5e3d7321a73144c3e4c43c18c5b748b2 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a419c7ca75 100644 +index 8f6db28958e0766460d1413b4ec0b2bd41cfb687..21b93da96d17ef6c87c18d5d9bb3b99d36beea5c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -485,9 +485,11 @@ public class PurpurWorldConfig { +@@ -487,9 +487,11 @@ public class PurpurWorldConfig { public boolean axolotlRidable = false; public double axolotlMaxHealth = 14.0D; @@ -489,7 +489,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean batRidable = false; -@@ -517,6 +519,7 @@ public class PurpurWorldConfig { +@@ -519,6 +521,7 @@ public class PurpurWorldConfig { public boolean beeRidableInWater = false; public double beeMaxY = 256D; public double beeMaxHealth = 10.0D; @@ -497,7 +497,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -527,6 +530,7 @@ public class PurpurWorldConfig { +@@ -529,6 +532,7 @@ public class PurpurWorldConfig { set("mobs.bee.attributes.max_health", oldValue); } beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth); @@ -505,7 +505,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean blazeRidable = false; -@@ -551,6 +555,7 @@ public class PurpurWorldConfig { +@@ -553,6 +557,7 @@ public class PurpurWorldConfig { public int catSpawnDelay = 1200; public int catSpawnSwampHutScanRange = 16; public int catSpawnVillageScanRange = 48; @@ -513,7 +513,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -563,6 +568,7 @@ public class PurpurWorldConfig { +@@ -565,6 +570,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); @@ -521,7 +521,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean caveSpiderRidable = false; -@@ -583,6 +589,7 @@ public class PurpurWorldConfig { +@@ -585,6 +591,7 @@ public class PurpurWorldConfig { public boolean chickenRidableInWater = false; public double chickenMaxHealth = 4.0D; public boolean chickenRetaliate = false; @@ -529,7 +529,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -593,6 +600,7 @@ public class PurpurWorldConfig { +@@ -595,6 +602,7 @@ public class PurpurWorldConfig { } chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); @@ -537,7 +537,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean codRidable = false; -@@ -611,6 +619,7 @@ public class PurpurWorldConfig { +@@ -613,6 +621,7 @@ public class PurpurWorldConfig { public boolean cowRidableInWater = false; public double cowMaxHealth = 10.0D; public int cowFeedMushrooms = 0; @@ -545,7 +545,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void cowSettings() { cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); -@@ -621,6 +630,7 @@ public class PurpurWorldConfig { +@@ -623,6 +632,7 @@ public class PurpurWorldConfig { } cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); @@ -553,7 +553,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean creeperRidable = false; -@@ -668,6 +678,7 @@ public class PurpurWorldConfig { +@@ -670,6 +680,7 @@ public class PurpurWorldConfig { public double donkeyJumpStrengthMax = 0.5D; public double donkeyMovementSpeedMin = 0.175D; public double donkeyMovementSpeedMax = 0.175D; @@ -561,7 +561,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); if (PurpurConfig.version < 10) { -@@ -683,6 +694,7 @@ public class PurpurWorldConfig { +@@ -685,6 +696,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); @@ -569,7 +569,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean drownedRidable = false; -@@ -789,6 +801,7 @@ public class PurpurWorldConfig { +@@ -791,6 +803,7 @@ public class PurpurWorldConfig { public boolean foxRidableInWater = false; public double foxMaxHealth = 10.0D; public boolean foxTypeChangesWithTulips = false; @@ -577,7 +577,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -799,6 +812,7 @@ public class PurpurWorldConfig { +@@ -801,6 +814,7 @@ public class PurpurWorldConfig { } foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); @@ -585,7 +585,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean ghastRidable = false; -@@ -859,10 +873,12 @@ public class PurpurWorldConfig { +@@ -861,10 +875,12 @@ public class PurpurWorldConfig { public boolean goatRidable = false; public boolean goatRidableInWater = false; public double goatMaxHealth = 10.0D; @@ -598,7 +598,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean guardianRidable = false; -@@ -880,6 +896,7 @@ public class PurpurWorldConfig { +@@ -882,6 +898,7 @@ public class PurpurWorldConfig { public boolean hoglinRidable = false; public boolean hoglinRidableInWater = false; public double hoglinMaxHealth = 40.0D; @@ -606,7 +606,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -889,6 +906,7 @@ public class PurpurWorldConfig { +@@ -891,6 +908,7 @@ public class PurpurWorldConfig { set("mobs.hoglin.attributes.max_health", oldValue); } hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); @@ -614,7 +614,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean horseRidableInWater = false; -@@ -898,6 +916,7 @@ public class PurpurWorldConfig { +@@ -900,6 +918,7 @@ public class PurpurWorldConfig { public double horseJumpStrengthMax = 1.0D; public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMax = 0.3375D; @@ -622,7 +622,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -913,6 +932,7 @@ public class PurpurWorldConfig { +@@ -915,6 +934,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); @@ -630,7 +630,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean huskRidable = false; -@@ -983,6 +1003,7 @@ public class PurpurWorldConfig { +@@ -985,6 +1005,7 @@ public class PurpurWorldConfig { public double llamaJumpStrengthMax = 0.5D; public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMax = 0.175D; @@ -638,7 +638,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -999,6 +1020,7 @@ public class PurpurWorldConfig { +@@ -1001,6 +1022,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); @@ -646,7 +646,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean magmaCubeRidable = false; -@@ -1018,6 +1040,7 @@ public class PurpurWorldConfig { +@@ -1020,6 +1042,7 @@ public class PurpurWorldConfig { public boolean mooshroomRidable = false; public boolean mooshroomRidableInWater = false; public double mooshroomMaxHealth = 10.0D; @@ -654,7 +654,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1027,6 +1050,7 @@ public class PurpurWorldConfig { +@@ -1029,6 +1052,7 @@ public class PurpurWorldConfig { set("mobs.mooshroom.attributes.max_health", oldValue); } mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); @@ -662,7 +662,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean muleRidableInWater = false; -@@ -1036,6 +1060,7 @@ public class PurpurWorldConfig { +@@ -1038,6 +1062,7 @@ public class PurpurWorldConfig { public double muleJumpStrengthMax = 0.5D; public double muleMovementSpeedMin = 0.175D; public double muleMovementSpeedMax = 0.175D; @@ -670,7 +670,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1051,11 +1076,13 @@ public class PurpurWorldConfig { +@@ -1053,11 +1078,13 @@ 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); @@ -684,7 +684,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1065,11 +1092,13 @@ public class PurpurWorldConfig { +@@ -1067,11 +1094,13 @@ public class PurpurWorldConfig { set("mobs.ocelot.attributes.max_health", oldValue); } ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); @@ -698,7 +698,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1079,6 +1108,7 @@ public class PurpurWorldConfig { +@@ -1081,6 +1110,7 @@ public class PurpurWorldConfig { set("mobs.panda.attributes.max_health", oldValue); } pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); @@ -706,7 +706,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean parrotRidable = false; -@@ -1159,6 +1189,7 @@ public class PurpurWorldConfig { +@@ -1161,6 +1191,7 @@ public class PurpurWorldConfig { public boolean pigRidableInWater = false; public double pigMaxHealth = 10.0D; public boolean pigGiveSaddleBack = false; @@ -714,7 +714,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -1169,6 +1200,7 @@ public class PurpurWorldConfig { +@@ -1171,6 +1202,7 @@ public class PurpurWorldConfig { } pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); @@ -722,7 +722,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean piglinRidable = false; -@@ -1218,6 +1250,7 @@ public class PurpurWorldConfig { +@@ -1220,6 +1252,7 @@ public class PurpurWorldConfig { public double polarBearMaxHealth = 30.0D; public String polarBearBreedableItemString = ""; public Item polarBearBreedableItem = null; @@ -730,7 +730,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -1230,6 +1263,7 @@ public class PurpurWorldConfig { +@@ -1232,6 +1265,7 @@ public class PurpurWorldConfig { polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString); Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString)); if (item != Items.AIR) polarBearBreedableItem = item; @@ -738,7 +738,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean pufferfishRidable = false; -@@ -1249,6 +1283,7 @@ public class PurpurWorldConfig { +@@ -1251,6 +1285,7 @@ public class PurpurWorldConfig { public double rabbitMaxHealth = 3.0D; public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; @@ -746,7 +746,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1260,6 +1295,7 @@ public class PurpurWorldConfig { +@@ -1262,6 +1297,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); @@ -754,7 +754,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean ravagerRidable = false; -@@ -1291,6 +1327,7 @@ public class PurpurWorldConfig { +@@ -1293,6 +1329,7 @@ public class PurpurWorldConfig { public boolean sheepRidable = false; public boolean sheepRidableInWater = false; public double sheepMaxHealth = 8.0D; @@ -762,7 +762,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1300,6 +1337,7 @@ public class PurpurWorldConfig { +@@ -1302,6 +1339,7 @@ public class PurpurWorldConfig { set("mobs.sheep.attributes.max_health", oldValue); } sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); @@ -770,7 +770,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean shulkerRidable = false; -@@ -1454,6 +1492,7 @@ public class PurpurWorldConfig { +@@ -1456,6 +1494,7 @@ public class PurpurWorldConfig { public boolean striderRidable = false; public boolean striderRidableInWater = false; public double striderMaxHealth = 20.0D; @@ -778,7 +778,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1463,6 +1502,7 @@ public class PurpurWorldConfig { +@@ -1465,6 +1504,7 @@ public class PurpurWorldConfig { set("mobs.strider.attributes.max_health", oldValue); } striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); @@ -786,7 +786,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean traderLlamaRidable = false; -@@ -1473,6 +1513,7 @@ public class PurpurWorldConfig { +@@ -1475,6 +1515,7 @@ public class PurpurWorldConfig { public double traderLlamaJumpStrengthMax = 0.5D; public double traderLlamaMovementSpeedMin = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D; @@ -794,7 +794,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -1489,6 +1530,7 @@ public class PurpurWorldConfig { +@@ -1491,6 +1532,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); @@ -802,7 +802,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean tropicalFishRidable = false; -@@ -1509,6 +1551,7 @@ public class PurpurWorldConfig { +@@ -1511,6 +1553,7 @@ public class PurpurWorldConfig { public boolean turtleEggsBreakFromExpOrbs = true; public boolean turtleEggsBreakFromItems = true; public boolean turtleEggsBreakFromMinecarts = true; @@ -810,7 +810,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void turtleEggSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -1521,6 +1564,7 @@ public class PurpurWorldConfig { +@@ -1523,6 +1566,7 @@ public class PurpurWorldConfig { turtleEggsBreakFromExpOrbs = getBoolean("blocks.turtle_egg.break-from-exp-orbs", turtleEggsBreakFromExpOrbs); turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems); turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); @@ -818,7 +818,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean vexRidable = false; -@@ -1549,6 +1593,7 @@ public class PurpurWorldConfig { +@@ -1551,6 +1595,7 @@ public class PurpurWorldConfig { public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemLimit = 0; public boolean villagerCanBreed = true; @@ -826,7 +826,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1565,6 +1610,7 @@ public class PurpurWorldConfig { +@@ -1567,6 +1612,7 @@ public class PurpurWorldConfig { villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius); villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); @@ -834,7 +834,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 } public boolean vindicatorRidable = false; -@@ -1656,6 +1702,7 @@ public class PurpurWorldConfig { +@@ -1658,6 +1704,7 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; public double wolfMaxHealth = 8.0D; @@ -842,7 +842,7 @@ index 024dfc34ad2b059ae00c9c98b03ff6213cf99f2b..e2fba907cad997006557c43e627df1a4 private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -1665,6 +1712,7 @@ public class PurpurWorldConfig { +@@ -1667,6 +1714,7 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0120-Apply-display-names-from-item-forms-of-entities-to-e.patch b/patches/server/0120-Apply-display-names-from-item-forms-of-entities-to-e.patch index 46491ee02..fc6109ee9 100644 --- a/patches/server/0120-Apply-display-names-from-item-forms-of-entities-to-e.patch +++ b/patches/server/0120-Apply-display-names-from-item-forms-of-entities-to-e.patch @@ -142,7 +142,7 @@ index e5b042f2445eb06fb8075ba539c836595814fa14..8cdede6a9698d6c99b4f08edc2a3403f if (((HangingEntity) object).survives()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e2fba907cad997006557c43e627df1a419c7ca75..ccb2c68b8c0a62ea20f8585bfcd750c7a4a23982 100644 +index 21b93da96d17ef6c87c18d5d9bb3b99d36beea5c..525c05f3d64c76b2a0d470ba38125b49232a8dbd 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -100,8 +100,10 @@ public class PurpurWorldConfig { @@ -156,7 +156,7 @@ index e2fba907cad997006557c43e627df1a419c7ca75..ccb2c68b8c0a62ea20f8585bfcd750c7 } public int daytimeTicks = 12000; -@@ -343,6 +345,7 @@ public class PurpurWorldConfig { +@@ -345,6 +347,7 @@ public class PurpurWorldConfig { public boolean entitiesCanUsePortals = true; public boolean milkCuresBadOmen = true; public boolean persistentTileEntityDisplayNames = false; @@ -164,7 +164,7 @@ index e2fba907cad997006557c43e627df1a419c7ca75..ccb2c68b8c0a62ea20f8585bfcd750c7 public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; -@@ -355,6 +358,7 @@ public class PurpurWorldConfig { +@@ -357,6 +360,7 @@ public class PurpurWorldConfig { entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); persistentTileEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-tileentity-display-names-and-lore", persistentTileEntityDisplayNames); diff --git a/patches/server/0122-Add-twisting-and-weeping-vines-growth-rates.patch b/patches/server/0122-Add-twisting-and-weeping-vines-growth-rates.patch index 3ca54c581..638f53e8b 100644 --- a/patches/server/0122-Add-twisting-and-weeping-vines-growth-rates.patch +++ b/patches/server/0122-Add-twisting-and-weeping-vines-growth-rates.patch @@ -82,10 +82,10 @@ index 35b2bad76c45b5a94ba7f2e9c7a8cfeb8c3f498b..d2cb1a7e7ea364cb8e2af4c4e756d8e4 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9940426744c681ec20c10cb3008170b25d6125d5..49addc31c041203942036fd23d519f22f5477a1a 100644 +index 923baa127fd13fae044d67c674ce2882ddda191b..6dfc72686df9db4ea244ca2eec2e84a976990b99 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -411,6 +411,11 @@ public class PurpurWorldConfig { +@@ -413,6 +413,11 @@ public class PurpurWorldConfig { } } @@ -97,7 +97,7 @@ index 9940426744c681ec20c10cb3008170b25d6125d5..49addc31c041203942036fd23d519f22 public boolean dispenserApplyCursedArmor = true; public boolean dispenserPlaceAnvils = false; private void dispenserSettings() { -@@ -480,6 +485,16 @@ public class PurpurWorldConfig { +@@ -482,6 +487,16 @@ public class PurpurWorldConfig { stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage); } diff --git a/patches/server/0123-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch b/patches/server/0123-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch index 359ffc8cb..ab75002a2 100644 --- a/patches/server/0123-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch +++ b/patches/server/0123-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch @@ -103,10 +103,10 @@ index d2cb1a7e7ea364cb8e2af4c4e756d8e45bc0ca10..bb99dda3c5167f23b2500a1f37cbc1ca // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 49addc31c041203942036fd23d519f22f5477a1a..d615859fc8563dff3fdb9d9b12a08a5486692515 100644 +index 6dfc72686df9db4ea244ca2eec2e84a976990b99..2ab931e6324c059d9be270f7500d3f2eed3b25f1 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -412,8 +412,10 @@ public class PurpurWorldConfig { +@@ -414,8 +414,10 @@ public class PurpurWorldConfig { } public double caveVinesGrowthModifier = 0.10D; @@ -117,7 +117,7 @@ index 49addc31c041203942036fd23d519f22f5477a1a..d615859fc8563dff3fdb9d9b12a08a54 } public boolean dispenserApplyCursedArmor = true; -@@ -452,6 +454,11 @@ public class PurpurWorldConfig { +@@ -454,6 +456,11 @@ public class PurpurWorldConfig { lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); } @@ -129,7 +129,7 @@ index 49addc31c041203942036fd23d519f22f5477a1a..d615859fc8563dff3fdb9d9b12a08a54 public boolean respawnAnchorExplode = true; public double respawnAnchorExplosionPower = 5.0D; public boolean respawnAnchorExplosionFire = true; -@@ -486,13 +493,17 @@ public class PurpurWorldConfig { +@@ -488,13 +495,17 @@ public class PurpurWorldConfig { } public double twistingVinesGrowthModifier = 0.10D; diff --git a/patches/server/0124-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch b/patches/server/0124-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch index c64667975..e383637f8 100644 --- a/patches/server/0124-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch +++ b/patches/server/0124-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch @@ -21,10 +21,10 @@ index 5ebedd6a156b06e98aded57c817f63429a1ae380..c99d295b999a28dd1eb504179250445d private static class EndermanFreezeWhenLookedAt extends Goal { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d615859fc8563dff3fdb9d9b12a08a5486692515..eaf382e412dbf42075fb9ee45c35bb972b5f40da 100644 +index 2ab931e6324c059d9be270f7500d3f2eed3b25f1..b81cc2565fd07d218dc67c2db3782339d0b88765 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -789,6 +789,7 @@ public class PurpurWorldConfig { +@@ -791,6 +791,7 @@ public class PurpurWorldConfig { public boolean endermanRidableInWater = false; public double endermanMaxHealth = 40.0D; public boolean endermanAllowGriefing = true; @@ -32,7 +32,7 @@ index d615859fc8563dff3fdb9d9b12a08a5486692515..eaf382e412dbf42075fb9ee45c35bb97 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -799,6 +800,7 @@ public class PurpurWorldConfig { +@@ -801,6 +802,7 @@ public class PurpurWorldConfig { } endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); diff --git a/patches/server/0126-Add-configurable-snowball-damage.patch b/patches/server/0126-Add-configurable-snowball-damage.patch index 5154a436c..39b939acb 100644 --- a/patches/server/0126-Add-configurable-snowball-damage.patch +++ b/patches/server/0126-Add-configurable-snowball-damage.patch @@ -18,10 +18,10 @@ index ed2f039c4042861bcfa2e41d8281eefd37daa9fa..d5d84893c77b4e60a19032d765d76bfd } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index eaf382e412dbf42075fb9ee45c35bb972b5f40da..5b05056720f32196de4ff30ffa1288812e30ea81 100644 +index b81cc2565fd07d218dc67c2db3782339d0b88765..743e1b5448149be6d2a5adf41e6ded351883418c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -287,6 +287,11 @@ public class PurpurWorldConfig { +@@ -289,6 +289,11 @@ public class PurpurWorldConfig { totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory); } diff --git a/patches/server/0127-Zombie-break-door-minimum-difficulty-option.patch b/patches/server/0127-Zombie-break-door-minimum-difficulty-option.patch index 45b9e3cd2..a00737c10 100644 --- a/patches/server/0127-Zombie-break-door-minimum-difficulty-option.patch +++ b/patches/server/0127-Zombie-break-door-minimum-difficulty-option.patch @@ -44,10 +44,10 @@ index fe045f8e35fe2aac51032a67ce52b27a53a8eff0..03bc86c776596ca5964c22adb757115d + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5b05056720f32196de4ff30ffa1288812e30ea81..c99f97d68752d89037a017761abdc3bef2ef3785 100644 +index 743e1b5448149be6d2a5adf41e6ded351883418c..e567f3d21b047654750aadc7cfa84e9972905215 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1776,6 +1776,7 @@ public class PurpurWorldConfig { +@@ -1778,6 +1778,7 @@ public class PurpurWorldConfig { public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; @@ -55,7 +55,7 @@ index 5b05056720f32196de4ff30ffa1288812e30ea81..c99f97d68752d89037a017761abdc3be private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1790,6 +1791,11 @@ public class PurpurWorldConfig { +@@ -1792,6 +1793,11 @@ 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/0130-Add-boat-fall-damage-config.patch b/patches/server/0130-Add-boat-fall-damage-config.patch index aec6247c3..0d3d0f0ca 100644 --- a/patches/server/0130-Add-boat-fall-damage-config.patch +++ b/patches/server/0130-Add-boat-fall-damage-config.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add boat fall damage config diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 48bad15686c38c02d2c933c6360edf7a90950039..7684f55d2f9f85c14763dfa4fc4c4dc49711b841 100644 +index da5669ca796dcac29005ae5e90e2b0532a56a92f..46f8c78916b1a81b6429d557bb398217f6f5f752 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -989,7 +989,16 @@ public class ServerPlayer extends Player { @@ -27,10 +27,10 @@ index 48bad15686c38c02d2c933c6360edf7a90950039..7684f55d2f9f85c14763dfa4fc4c4dc4 if (!flag && isSpawnInvulnerable() && source != DamageSource.OUT_OF_WORLD) { // Purpur diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b97175d637c679dcb29b2781f8e8f7d020738527..d2597cd2f6c195003a52b5e8e0d48e43bccd9c82 100644 +index 76eb2d3dfd5455448140ef69bdb9698fbc82e105..48750ecf92acf344390c550597af87a2d9b888e7 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -350,6 +350,7 @@ public class PurpurWorldConfig { +@@ -352,6 +352,7 @@ public class PurpurWorldConfig { public boolean useBetterMending = false; public boolean boatEjectPlayersOnLand = false; @@ -38,7 +38,7 @@ index b97175d637c679dcb29b2781f8e8f7d020738527..d2597cd2f6c195003a52b5e8e0d48e43 public boolean disableDropsOnCrammingDeath = false; public boolean entitiesCanUsePortals = true; public boolean milkCuresBadOmen = true; -@@ -363,6 +364,7 @@ public class PurpurWorldConfig { +@@ -365,6 +366,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/0131-Snow-Golem-rate-of-fire-config.patch b/patches/server/0131-Snow-Golem-rate-of-fire-config.patch index e46d4e6b8..ad9757d3f 100644 --- a/patches/server/0131-Snow-Golem-rate-of-fire-config.patch +++ b/patches/server/0131-Snow-Golem-rate-of-fire-config.patch @@ -23,10 +23,10 @@ index ee64f4084b25d77f1c25b76a5b7d90cd2547bffb..5e370d5137564ddcfb76a81b92d43e25 this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(4, new RandomLookAroundGoal(this)); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d2597cd2f6c195003a52b5e8e0d48e43bccd9c82..f2f4e27bb87789d1d91fa433f356ff628989de01 100644 +index 48750ecf92acf344390c550597af87a2d9b888e7..b7d6a9d783d306a88e162bf13fa7d9d8f8a21fd0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1472,6 +1472,10 @@ public class PurpurWorldConfig { +@@ -1474,6 +1474,10 @@ public class PurpurWorldConfig { public double snowGolemMaxHealth = 4.0D; public boolean snowGolemDropsPumpkin = true; public boolean snowGolemPutPumpkinBack = false; @@ -37,7 +37,7 @@ index d2597cd2f6c195003a52b5e8e0d48e43bccd9c82..f2f4e27bb87789d1d91fa433f356ff62 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1484,6 +1488,10 @@ public class PurpurWorldConfig { +@@ -1486,6 +1490,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/0134-Lobotomize-stuck-villagers.patch b/patches/server/0134-Lobotomize-stuck-villagers.patch index aab3759b3..7bd6a75ff 100644 --- a/patches/server/0134-Lobotomize-stuck-villagers.patch +++ b/patches/server/0134-Lobotomize-stuck-villagers.patch @@ -53,10 +53,10 @@ index 4752205ab570ab8f6ae7f0a15ae610b603ade2ea..ddfb060e229df3a11cef4e0cb08f0cd2 if (this.assignProfessionWhenSpawned) { this.assignProfessionWhenSpawned = false; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index f2f4e27bb87789d1d91fa433f356ff628989de01..f2b875eb5c1f844f47e913e00a14d9e4028ab3e2 100644 +index b7d6a9d783d306a88e162bf13fa7d9d8f8a21fd0..076e0ebdcb5334a4d89d53e31aa751ccf7df2ea2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1645,6 +1645,8 @@ public class PurpurWorldConfig { +@@ -1647,6 +1647,8 @@ public class PurpurWorldConfig { public int villagerSpawnIronGolemLimit = 0; public boolean villagerCanBreed = true; public int villagerBreedingTicks = 6000; @@ -65,7 +65,7 @@ index f2f4e27bb87789d1d91fa433f356ff628989de01..f2b875eb5c1f844f47e913e00a14d9e4 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1662,6 +1664,13 @@ public class PurpurWorldConfig { +@@ -1664,6 +1666,13 @@ public class PurpurWorldConfig { villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); diff --git a/patches/server/0135-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch b/patches/server/0135-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch index aa0f14ce7..5ff4ce0ee 100644 --- a/patches/server/0135-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch +++ b/patches/server/0135-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch @@ -185,10 +185,10 @@ index 901fc6520d58a5fa5f2cf1b4fa78fec6008aa409..9050cd25663c71197c597aac0ab2e612 public static final VillagerProfession FISHERMAN = register("fisherman", PoiType.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN); public static final VillagerProfession FLETCHER = register("fletcher", PoiType.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index f2b875eb5c1f844f47e913e00a14d9e4028ab3e2..9a568a2dc8ceead516a1bd00149a8bd3fad75da5 100644 +index 076e0ebdcb5334a4d89d53e31aa751ccf7df2ea2..2f930b0ee8d463f2e39d1f1c8483e13fd5183a6c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1647,6 +1647,8 @@ public class PurpurWorldConfig { +@@ -1649,6 +1649,8 @@ public class PurpurWorldConfig { public int villagerBreedingTicks = 6000; public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheck = 60; @@ -197,7 +197,7 @@ index f2b875eb5c1f844f47e913e00a14d9e4028ab3e2..9a568a2dc8ceead516a1bd00149a8bd3 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1671,6 +1673,8 @@ public class PurpurWorldConfig { +@@ -1673,6 +1675,8 @@ public class PurpurWorldConfig { } villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck); diff --git a/patches/server/0136-Toggle-for-Zombified-Piglin-death-always-counting-as.patch b/patches/server/0136-Toggle-for-Zombified-Piglin-death-always-counting-as.patch index dd34b1dc8..3c015009b 100644 --- a/patches/server/0136-Toggle-for-Zombified-Piglin-death-always-counting-as.patch +++ b/patches/server/0136-Toggle-for-Zombified-Piglin-death-always-counting-as.patch @@ -35,10 +35,10 @@ index 5b5958e37918b97fa994500fe94cd0e57faa1948..64216c9d76ce5ec6a845915ca078b0c0 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9a568a2dc8ceead516a1bd00149a8bd3fad75da5..4cfc906506de7f2fa8ab8fec59b1b05ad88735cf 100644 +index 2f930b0ee8d463f2e39d1f1c8483e13fd5183a6c..63fb94c323f1f0d63f46a42ccdb2ebe44ab77cc1 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1879,6 +1879,7 @@ public class PurpurWorldConfig { +@@ -1881,6 +1881,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyOnlyBaby = true; public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; @@ -46,7 +46,7 @@ index 9a568a2dc8ceead516a1bd00149a8bd3fad75da5..4cfc906506de7f2fa8ab8fec59b1b05a private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -1892,5 +1893,6 @@ public class PurpurWorldConfig { +@@ -1894,5 +1895,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/0138-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/server/0138-Configurable-chance-for-wolves-to-spawn-rabid.patch index 86f0b6d0f..b8f8e9644 100644 --- a/patches/server/0138-Configurable-chance-for-wolves-to-spawn-rabid.patch +++ b/patches/server/0138-Configurable-chance-for-wolves-to-spawn-rabid.patch @@ -201,10 +201,10 @@ index ef4abaf68de01b0879f7d0b330d2d57cc6bd10f9..3e7409ebf1f94b9cf55f2d0b0fe17ca8 return super.mobInteract(player, hand); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 4cfc906506de7f2fa8ab8fec59b1b05ad88735cf..3cdd0cb69b1299c0a94ee7117c5bf182cf717251 100644 +index 63fb94c323f1f0d63f46a42ccdb2ebe44ab77cc1..46338c0dcbe2edc03bb755950475bee95ff6602a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1766,6 +1766,8 @@ public class PurpurWorldConfig { +@@ -1768,6 +1768,8 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; public double wolfMaxHealth = 8.0D; @@ -213,7 +213,7 @@ index 4cfc906506de7f2fa8ab8fec59b1b05ad88735cf..3cdd0cb69b1299c0a94ee7117c5bf182 public int wolfBreedingTicks = 6000; private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); -@@ -1776,6 +1778,8 @@ public class PurpurWorldConfig { +@@ -1778,6 +1780,8 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0139-Configurable-default-wolf-collar-color.patch b/patches/server/0139-Configurable-default-wolf-collar-color.patch index e47844495..11fe675d3 100644 --- a/patches/server/0139-Configurable-default-wolf-collar-color.patch +++ b/patches/server/0139-Configurable-default-wolf-collar-color.patch @@ -24,10 +24,10 @@ index 3e7409ebf1f94b9cf55f2d0b0fe17ca8ec44659f..518dd0e6b4889c049e438b393baa795a @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3cdd0cb69b1299c0a94ee7117c5bf182cf717251..53b851ed720637b2556ff9de3131a38b21b9c21a 100644 +index 46338c0dcbe2edc03bb755950475bee95ff6602a..d43e3d9ffdf24e00eeec589ab95edaa75d860338 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1766,6 +1766,7 @@ public class PurpurWorldConfig { +@@ -1768,6 +1768,7 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; public double wolfMaxHealth = 8.0D; @@ -35,7 +35,7 @@ index 3cdd0cb69b1299c0a94ee7117c5bf182cf717251..53b851ed720637b2556ff9de3131a38b public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; -@@ -1778,6 +1779,11 @@ public class PurpurWorldConfig { +@@ -1780,6 +1781,11 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0140-Phantom-flames-on-swoop.patch b/patches/server/0140-Phantom-flames-on-swoop.patch index d89c27ce1..297db27ba 100644 --- a/patches/server/0140-Phantom-flames-on-swoop.patch +++ b/patches/server/0140-Phantom-flames-on-swoop.patch @@ -17,10 +17,10 @@ index c55aba456aa144e58fc35877c61eff309eaa391f..c39e2d05fa81279a684532ee796880b1 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 53b851ed720637b2556ff9de3131a38b21b9c21a..2b34ae945d8da4d1d912b7556dd768c66dca121c 100644 +index d43e3d9ffdf24e00eeec589ab95edaa75d860338..fde7aa8d1da2a5d9517c8ac23e3624506b3c5ee8 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1176,6 +1176,7 @@ public class PurpurWorldConfig { +@@ -1178,6 +1178,7 @@ public class PurpurWorldConfig { public float phantomFlameDamage = 1.0F; public int phantomFlameFireTime = 8; public boolean phantomAllowGriefing = false; @@ -28,7 +28,7 @@ index 53b851ed720637b2556ff9de3131a38b21b9c21a..2b34ae945d8da4d1d912b7556dd768c6 public double phantomMaxHealth = 20.0D; public double phantomAttackedByCrystalRadius = 0.0D; public float phantomAttackedByCrystalDamage = 1.0F; -@@ -1202,6 +1203,7 @@ public class PurpurWorldConfig { +@@ -1204,6 +1205,7 @@ 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); diff --git a/patches/server/0141-Option-for-chests-to-open-even-with-a-solid-block-on.patch b/patches/server/0141-Option-for-chests-to-open-even-with-a-solid-block-on.patch index f8827c52b..68cdffe94 100644 --- a/patches/server/0141-Option-for-chests-to-open-even-with-a-solid-block-on.patch +++ b/patches/server/0141-Option-for-chests-to-open-even-with-a-solid-block-on.patch @@ -17,10 +17,10 @@ index eecb8c089b5f426b1395b47f714af32c210555ef..ac82e2b0f4ca1232cc7ec6e4c7dd2613 return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2b34ae945d8da4d1d912b7556dd768c66dca121c..00ff386aa01b998f281adad7d3f4e3bd67c26fe8 100644 +index fde7aa8d1da2a5d9517c8ac23e3624506b3c5ee8..03d2d735b3e8839b467d93696d1a6f4481f57a41 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -427,6 +427,11 @@ public class PurpurWorldConfig { +@@ -429,6 +429,11 @@ public class PurpurWorldConfig { caveVinesMaxGrowthAge = getInt("blocks.cave_vines.max-growth-age", caveVinesMaxGrowthAge); } diff --git a/patches/server/0143-Striders-give-saddle-back.patch b/patches/server/0143-Striders-give-saddle-back.patch index 4e86e0082..839744fcc 100644 --- a/patches/server/0143-Striders-give-saddle-back.patch +++ b/patches/server/0143-Striders-give-saddle-back.patch @@ -28,10 +28,10 @@ index 9d314470361b2e17afdadc355c084254e5b03aff..66dab9b4e5ae05deeae11c8588a0b855 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 00ff386aa01b998f281adad7d3f4e3bd67c26fe8..c950dfc7087d9d66a45724926d21f9bb3a0ee30f 100644 +index 03d2d735b3e8839b467d93696d1a6f4481f57a41..083a450dcd285434c5c6d1ffb52f29d590d3609a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1551,6 +1551,7 @@ public class PurpurWorldConfig { +@@ -1553,6 +1553,7 @@ public class PurpurWorldConfig { public boolean striderRidableInWater = false; public double striderMaxHealth = 20.0D; public int striderBreedingTicks = 6000; @@ -39,7 +39,7 @@ index 00ff386aa01b998f281adad7d3f4e3bd67c26fe8..c950dfc7087d9d66a45724926d21f9bb private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1561,6 +1562,7 @@ public class PurpurWorldConfig { +@@ -1563,6 +1564,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/0148-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0148-Add-mobGriefing-bypass-to-everything-affected.patch index fe4bad937..70ca0374f 100644 --- a/patches/server/0148-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0148-Add-mobGriefing-bypass-to-everything-affected.patch @@ -393,10 +393,10 @@ index e98fc3c235f9160f1928a8afb0d7991a6d3430cb..db35f756b7adb6b113659ae13b08ab89 return true; // Purpur end diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee0320dd7ca8b 100644 +index 126825703e1c5b835b2b1e9b950a7b6c56dacd0c..3b72d437226bbcd83340c2d9f24ddd34fc3b6b2d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -366,9 +366,12 @@ public class PurpurWorldConfig { +@@ -368,9 +368,12 @@ public class PurpurWorldConfig { public boolean boatsDoFallDamage = true; public boolean disableDropsOnCrammingDeath = false; public boolean entitiesCanUsePortals = true; @@ -409,7 +409,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; -@@ -380,9 +383,12 @@ public class PurpurWorldConfig { +@@ -382,9 +385,12 @@ 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); @@ -422,7 +422,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 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); -@@ -452,9 +458,11 @@ public class PurpurWorldConfig { +@@ -454,9 +460,11 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } @@ -434,7 +434,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha); } -@@ -486,6 +494,11 @@ public class PurpurWorldConfig { +@@ -488,6 +496,11 @@ public class PurpurWorldConfig { kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge); } @@ -446,7 +446,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 public boolean respawnAnchorExplode = true; public double respawnAnchorExplosionPower = 5.0D; public boolean respawnAnchorExplosionFire = true; -@@ -519,6 +532,11 @@ public class PurpurWorldConfig { +@@ -521,6 +534,11 @@ public class PurpurWorldConfig { stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage); } @@ -458,7 +458,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 public double twistingVinesGrowthModifier = 0.10D; public int twistingVinesMaxGrowthAge = 25; private void twistingVinesSettings() { -@@ -697,6 +715,7 @@ public class PurpurWorldConfig { +@@ -699,6 +717,7 @@ public class PurpurWorldConfig { public double creeperMaxHealth = 20.0D; public double creeperChargedChance = 0.0D; public boolean creeperAllowGriefing = true; @@ -466,7 +466,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -708,6 +727,7 @@ public class PurpurWorldConfig { +@@ -710,6 +729,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); @@ -474,7 +474,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 } public boolean dolphinRidable = false; -@@ -795,6 +815,7 @@ public class PurpurWorldConfig { +@@ -797,6 +817,7 @@ public class PurpurWorldConfig { public double enderDragonMaxY = 256D; public double enderDragonMaxHealth = 200.0D; public boolean enderDragonAlwaysDropsFullExp = false; @@ -482,7 +482,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -810,6 +831,7 @@ public class PurpurWorldConfig { +@@ -812,6 +833,7 @@ public class PurpurWorldConfig { } enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); @@ -490,7 +490,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 } public boolean endermanRidable = false; -@@ -817,6 +839,7 @@ public class PurpurWorldConfig { +@@ -819,6 +841,7 @@ public class PurpurWorldConfig { public double endermanMaxHealth = 40.0D; public boolean endermanAllowGriefing = true; public boolean endermanDespawnEvenWithBlock = false; @@ -498,7 +498,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -828,6 +851,7 @@ public class PurpurWorldConfig { +@@ -830,6 +853,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); @@ -506,7 +506,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 } public boolean endermiteRidable = false; -@@ -847,6 +871,7 @@ public class PurpurWorldConfig { +@@ -849,6 +873,7 @@ public class PurpurWorldConfig { public boolean evokerRidable = false; public boolean evokerRidableInWater = false; public double evokerMaxHealth = 24.0D; @@ -514,7 +514,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -856,6 +881,7 @@ public class PurpurWorldConfig { +@@ -858,6 +883,7 @@ public class PurpurWorldConfig { set("mobs.evoker.attributes.max_health", oldValue); } evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth); @@ -522,7 +522,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 } public boolean foxRidable = false; -@@ -863,6 +889,7 @@ public class PurpurWorldConfig { +@@ -865,6 +891,7 @@ public class PurpurWorldConfig { public double foxMaxHealth = 10.0D; public boolean foxTypeChangesWithTulips = false; public int foxBreedingTicks = 6000; @@ -530,7 +530,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -874,6 +901,7 @@ public class PurpurWorldConfig { +@@ -876,6 +903,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); @@ -538,7 +538,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 } public boolean ghastRidable = false; -@@ -1269,6 +1297,7 @@ public class PurpurWorldConfig { +@@ -1271,6 +1299,7 @@ public class PurpurWorldConfig { public boolean piglinRidable = false; public boolean piglinRidableInWater = false; public double piglinMaxHealth = 16.0D; @@ -546,7 +546,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1278,6 +1307,7 @@ public class PurpurWorldConfig { +@@ -1280,6 +1309,7 @@ public class PurpurWorldConfig { set("mobs.piglin.attributes.max_health", oldValue); } piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); @@ -554,7 +554,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 } public boolean piglinBruteRidable = false; -@@ -1297,6 +1327,7 @@ public class PurpurWorldConfig { +@@ -1299,6 +1329,7 @@ public class PurpurWorldConfig { public boolean pillagerRidable = false; public boolean pillagerRidableInWater = false; public double pillagerMaxHealth = 24.0D; @@ -562,7 +562,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -1306,6 +1337,7 @@ public class PurpurWorldConfig { +@@ -1308,6 +1339,7 @@ public class PurpurWorldConfig { set("mobs.pillager.attributes.max_health", oldValue); } pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); @@ -570,7 +570,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 } public boolean polarBearRidable = false; -@@ -1347,6 +1379,7 @@ public class PurpurWorldConfig { +@@ -1349,6 +1381,7 @@ public class PurpurWorldConfig { public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; public int rabbitBreedingTicks = 6000; @@ -578,7 +578,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1359,11 +1392,13 @@ public class PurpurWorldConfig { +@@ -1361,11 +1394,13 @@ 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); @@ -592,7 +592,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1373,6 +1408,7 @@ public class PurpurWorldConfig { +@@ -1375,6 +1410,7 @@ public class PurpurWorldConfig { set("mobs.ravager.attributes.max_health", oldValue); } ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); @@ -600,7 +600,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 } public boolean salmonRidable = false; -@@ -1391,6 +1427,7 @@ public class PurpurWorldConfig { +@@ -1393,6 +1429,7 @@ public class PurpurWorldConfig { public boolean sheepRidableInWater = false; public double sheepMaxHealth = 8.0D; public int sheepBreedingTicks = 6000; @@ -608,7 +608,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1401,6 +1438,7 @@ public class PurpurWorldConfig { +@@ -1403,6 +1440,7 @@ public class PurpurWorldConfig { } sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); @@ -616,7 +616,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 } public boolean shulkerRidable = false; -@@ -1420,6 +1458,7 @@ public class PurpurWorldConfig { +@@ -1422,6 +1460,7 @@ public class PurpurWorldConfig { public boolean silverfishRidable = false; public boolean silverfishRidableInWater = false; public double silverfishMaxHealth = 8.0D; @@ -624,7 +624,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -1429,6 +1468,7 @@ public class PurpurWorldConfig { +@@ -1431,6 +1470,7 @@ public class PurpurWorldConfig { set("mobs.silverfish.attributes.max_health", oldValue); } silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); @@ -632,7 +632,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 } public boolean skeletonRidable = false; -@@ -1496,6 +1536,7 @@ public class PurpurWorldConfig { +@@ -1498,6 +1538,7 @@ public class PurpurWorldConfig { public int snowGolemSnowBallMax = 20; public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; @@ -640,7 +640,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1512,6 +1553,7 @@ public class PurpurWorldConfig { +@@ -1514,6 +1555,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); @@ -648,7 +648,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 } public boolean squidRidable = false; -@@ -1671,6 +1713,7 @@ public class PurpurWorldConfig { +@@ -1673,6 +1715,7 @@ public class PurpurWorldConfig { public int villagerLobotomizeCheck = 60; public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; @@ -656,7 +656,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1697,6 +1740,7 @@ public class PurpurWorldConfig { +@@ -1699,6 +1742,7 @@ public class PurpurWorldConfig { villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck); villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); @@ -664,7 +664,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 } public boolean vindicatorRidable = false; -@@ -1753,6 +1797,7 @@ public class PurpurWorldConfig { +@@ -1755,6 +1799,7 @@ public class PurpurWorldConfig { public double witherMaxHealth = 300.0D; public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; @@ -672,7 +672,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1769,6 +1814,7 @@ public class PurpurWorldConfig { +@@ -1771,6 +1816,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); @@ -680,7 +680,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 } public boolean witherSkeletonRidable = false; -@@ -1834,6 +1880,7 @@ public class PurpurWorldConfig { +@@ -1836,6 +1882,7 @@ public class PurpurWorldConfig { public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public Difficulty zombieBreakDoorMinDifficulty = Difficulty.HARD; @@ -688,7 +688,7 @@ index 6db99a6c7cb59f4ae23cee76e4ce3d794ff3dfc7..6241a3bb264de15fabb3de5b296ee032 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1853,6 +1900,7 @@ public class PurpurWorldConfig { +@@ -1855,6 +1902,7 @@ public class PurpurWorldConfig { } catch (IllegalArgumentException ignore) { zombieBreakDoorMinDifficulty = Difficulty.HARD; } diff --git a/patches/server/0149-Config-to-allow-Note-Block-sounds-when-blocked.patch b/patches/server/0149-Config-to-allow-Note-Block-sounds-when-blocked.patch index 10008eae2..fcfa8cba2 100644 --- a/patches/server/0149-Config-to-allow-Note-Block-sounds-when-blocked.patch +++ b/patches/server/0149-Config-to-allow-Note-Block-sounds-when-blocked.patch @@ -22,10 +22,10 @@ index d3c8fd8399629efb8bcbaf7d9a0c43340fcdfeda..c74df3b5c2a25469ad3fb6a853438bbc org.bukkit.event.block.NotePlayEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callNotePlayEvent(world, blockposition, data.getValue(NoteBlock.INSTRUMENT), data.getValue(NoteBlock.NOTE)); if (!event.isCancelled()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 6241a3bb264de15fabb3de5b296ee0320dd7ca8b..e9c7fd87a0f135649e200e782d40f37766ffc34c 100644 +index 3b72d437226bbcd83340c2d9f24ddd34fc3b6b2d..803bb54f4eccdf5d0cc98f3bd77bdd1be9d4a165 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -369,6 +369,7 @@ public class PurpurWorldConfig { +@@ -371,6 +371,7 @@ public class PurpurWorldConfig { public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean fireballsBypassMobGriefing = false; public boolean milkCuresBadOmen = true; @@ -33,7 +33,7 @@ index 6241a3bb264de15fabb3de5b296ee0320dd7ca8b..e9c7fd87a0f135649e200e782d40f377 public boolean persistentTileEntityDisplayNames = false; public boolean persistentDroppableEntityDisplayNames = false; public boolean projectilesBypassMobGriefing = false; -@@ -386,6 +387,7 @@ public class PurpurWorldConfig { +@@ -388,6 +389,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/0150-Add-EntityTeleportHinderedEvent.patch b/patches/server/0150-Add-EntityTeleportHinderedEvent.patch index 2956100c7..dbb4f7d11 100644 --- a/patches/server/0150-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0150-Add-EntityTeleportHinderedEvent.patch @@ -78,10 +78,10 @@ index 09cbce5aec6eabfa220f7de81b492a180cb8ca1e..265770975ad1190283103b04cdd52a07 blockEntity.teleportCooldown = 100; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e9c7fd87a0f135649e200e782d40f37766ffc34c..97752cc1fa8234469e2ffdaa1b3606d9c66b4736 100644 +index 803bb54f4eccdf5d0cc98f3bd77bdd1be9d4a165..7da3428b2923a2ecfeb5a5ba8915936430d04740 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -368,6 +368,7 @@ public class PurpurWorldConfig { +@@ -370,6 +370,7 @@ public class PurpurWorldConfig { public boolean entitiesCanUsePortals = true; public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean fireballsBypassMobGriefing = false; @@ -89,7 +89,7 @@ index e9c7fd87a0f135649e200e782d40f37766ffc34c..97752cc1fa8234469e2ffdaa1b3606d9 public boolean milkCuresBadOmen = true; public boolean noteBlockIgnoreAbove = false; public boolean persistentTileEntityDisplayNames = false; -@@ -386,6 +387,7 @@ public class PurpurWorldConfig { +@@ -388,6 +389,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); @@ -113,7 +113,7 @@ index fb5cd6fe7903f3f96af1abb55832bafb7ca7f4a8..4175462de0d6306e4cd0871853ef4f0a } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 61194cb8aa88f8cf2eb7da1c6ac17d94a5c02355..0d6cf86a55013bee91821926532907515f1a3919 100644 +index c298e104e01e7dd5c1e671822d8544e1e969d6c6..6b268b7fd1fc81d0b43986e4ef4dc0bbe73aa4f7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1003,6 +1003,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0152-Farmland-trampling-changes.patch b/patches/server/0152-Farmland-trampling-changes.patch index 064d17b00..0f8638f2b 100644 --- a/patches/server/0152-Farmland-trampling-changes.patch +++ b/patches/server/0152-Farmland-trampling-changes.patch @@ -37,10 +37,10 @@ index 2a33fbdc1d047584b0cd4b3da5892ccd7efc6943..6bfaeaeb6f9accf269febbf3e0d71d57 if (CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState()).isCancelled()) { return; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 97752cc1fa8234469e2ffdaa1b3606d9c66b4736..72324d44fa003acbe832998b4efb395095e93ef9 100644 +index 7da3428b2923a2ecfeb5a5ba8915936430d04740..c4795689fdf5bdccd6f2b16f93801be769fa8565 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -465,10 +465,16 @@ public class PurpurWorldConfig { +@@ -467,10 +467,16 @@ public class PurpurWorldConfig { public boolean farmlandBypassMobGriefing = false; public boolean farmlandGetsMoistFromBelow = false; public boolean farmlandAlpha = false; diff --git a/patches/server/0154-Fix-stuck-in-portals.patch b/patches/server/0154-Fix-stuck-in-portals.patch index f94a7b700..2ea371298 100644 --- a/patches/server/0154-Fix-stuck-in-portals.patch +++ b/patches/server/0154-Fix-stuck-in-portals.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix stuck in portals diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 48ecf94e218094ea291776cd54ad81fca325848f..d9d66723333c64ee8b0e08248c95bc624941ceed 100644 +index 98584609ed1ba2bc4cc803482326fa1525a779bb..60aeda60b99a21c4482c484c0a61494a06ae71ff 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1142,6 +1142,7 @@ public class ServerPlayer extends Player { @@ -37,10 +37,10 @@ index a1d4bcbafbc80c653ef622828e67145e72fc2ad0..565af7ade5c3de6a1c7a01755db1b7c6 this.isInsidePortal = true; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 64bfc25a823f26e751f6f27a829a8333cdb8e145..d9116e08fe128991a729694549143be0ebb4bade 100644 +index 50f271ff9949241caec638d96caa782f945b7d52..b578c89ed02b093e329ba93775a3552e5a568883 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -295,6 +295,7 @@ public class PurpurWorldConfig { +@@ -296,6 +296,7 @@ public class PurpurWorldConfig { public int playerDeathExpDropMax = 100; public boolean teleportIfOutsideBorder = false; public boolean totemOfUndyingWorksInInventory = false; @@ -48,7 +48,7 @@ index 64bfc25a823f26e751f6f27a829a8333cdb8e145..d9116e08fe128991a729694549143be0 private void playerSettings() { idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick); idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities); -@@ -306,6 +307,7 @@ public class PurpurWorldConfig { +@@ -308,6 +309,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/0155-Toggle-for-water-sensitive-mob-damage.patch b/patches/server/0155-Toggle-for-water-sensitive-mob-damage.patch index a92d4b536..0f48e08ca 100644 --- a/patches/server/0155-Toggle-for-water-sensitive-mob-damage.patch +++ b/patches/server/0155-Toggle-for-water-sensitive-mob-damage.patch @@ -70,10 +70,10 @@ index 66dab9b4e5ae05deeae11c8588a0b855d8847bdc..19753a1855b11f8cdc9fb77e8d9079bb @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d9116e08fe128991a729694549143be0ebb4bade..c1adca881c703462fefbf1985950ac9d3a009804 100644 +index b578c89ed02b093e329ba93775a3552e5a568883..8e3d7bb364f9581dd27145672c87c3933b09b8af 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -632,6 +632,7 @@ public class PurpurWorldConfig { +@@ -634,6 +634,7 @@ public class PurpurWorldConfig { public boolean blazeRidableInWater = false; public double blazeMaxY = 256D; public double blazeMaxHealth = 20.0D; @@ -81,7 +81,7 @@ index d9116e08fe128991a729694549143be0ebb4bade..c1adca881c703462fefbf1985950ac9d private void blazeSettings() { blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable); blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater); -@@ -642,6 +643,7 @@ public class PurpurWorldConfig { +@@ -644,6 +645,7 @@ public class PurpurWorldConfig { set("mobs.blaze.attributes.max_health", oldValue); } blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth); @@ -89,7 +89,7 @@ index d9116e08fe128991a729694549143be0ebb4bade..c1adca881c703462fefbf1985950ac9d } public boolean catRidable = false; -@@ -858,6 +860,7 @@ public class PurpurWorldConfig { +@@ -860,6 +862,7 @@ public class PurpurWorldConfig { public boolean endermanAllowGriefing = true; public boolean endermanDespawnEvenWithBlock = false; public boolean endermanBypassMobGriefing = false; @@ -97,7 +97,7 @@ index d9116e08fe128991a729694549143be0ebb4bade..c1adca881c703462fefbf1985950ac9d private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -870,6 +873,7 @@ public class PurpurWorldConfig { +@@ -872,6 +875,7 @@ 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); @@ -105,7 +105,7 @@ index d9116e08fe128991a729694549143be0ebb4bade..c1adca881c703462fefbf1985950ac9d } public boolean endermiteRidable = false; -@@ -1555,6 +1559,7 @@ public class PurpurWorldConfig { +@@ -1557,6 +1561,7 @@ public class PurpurWorldConfig { public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; @@ -113,7 +113,7 @@ index d9116e08fe128991a729694549143be0ebb4bade..c1adca881c703462fefbf1985950ac9d private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1572,6 +1577,7 @@ public class PurpurWorldConfig { +@@ -1574,6 +1579,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); @@ -121,7 +121,7 @@ index d9116e08fe128991a729694549143be0ebb4bade..c1adca881c703462fefbf1985950ac9d } public boolean squidRidable = false; -@@ -1625,6 +1631,7 @@ public class PurpurWorldConfig { +@@ -1627,6 +1633,7 @@ public class PurpurWorldConfig { public double striderMaxHealth = 20.0D; public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; @@ -129,7 +129,7 @@ index d9116e08fe128991a729694549143be0ebb4bade..c1adca881c703462fefbf1985950ac9d private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1636,6 +1643,7 @@ public class PurpurWorldConfig { +@@ -1638,6 +1645,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); diff --git a/patches/server/0156-Config-to-always-tame-in-Creative.patch b/patches/server/0156-Config-to-always-tame-in-Creative.patch index 1f1118f19..67429fbce 100644 --- a/patches/server/0156-Config-to-always-tame-in-Creative.patch +++ b/patches/server/0156-Config-to-always-tame-in-Creative.patch @@ -59,10 +59,10 @@ index 518dd0e6b4889c049e438b393baa795a5eac3e7d..21e154c4e7fe261a41c891b481072fbd this.navigation.stop(); this.setTarget((LivingEntity) null); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c1adca881c703462fefbf1985950ac9d3a009804..d088f0fd6a1ef56126c87b9e2ff2255dfe204d31 100644 +index 8e3d7bb364f9581dd27145672c87c3933b09b8af..b87830f9454388eb71efcd9382912e031446c0fc 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -370,6 +370,7 @@ public class PurpurWorldConfig { +@@ -372,6 +372,7 @@ public class PurpurWorldConfig { } public boolean useBetterMending = false; @@ -70,7 +70,7 @@ index c1adca881c703462fefbf1985950ac9d3a009804..d088f0fd6a1ef56126c87b9e2ff2255d public boolean boatEjectPlayersOnLand = false; public boolean boatsDoFallDamage = true; public boolean disableDropsOnCrammingDeath = false; -@@ -389,6 +390,7 @@ public class PurpurWorldConfig { +@@ -391,6 +392,7 @@ public class PurpurWorldConfig { public int animalBreedingCooldownSeconds = 0; private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); diff --git a/patches/server/0157-End-crystal-explosion-options.patch b/patches/server/0157-End-crystal-explosion-options.patch index 7adf247f1..45116eef1 100644 --- a/patches/server/0157-End-crystal-explosion-options.patch +++ b/patches/server/0157-End-crystal-explosion-options.patch @@ -52,10 +52,10 @@ index 92e65f3fbc8f5d77bb8cc31e7a7780c2589f4227..0c46507ab0b904fb1f79bc5421c88c03 this.onDestroyedBy(source); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d088f0fd6a1ef56126c87b9e2ff2255dfe204d31..62207ac2b2c53b3641a68911fd07fcbe41ec67ce 100644 +index b87830f9454388eb71efcd9382912e031446c0fc..6608389d1715b7ce22689128b726195b503cc82c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -472,6 +472,35 @@ public class PurpurWorldConfig { +@@ -474,6 +474,35 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } diff --git a/patches/server/0159-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch b/patches/server/0159-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch index 960ba7e9e..0b4bf6ee8 100644 --- a/patches/server/0159-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch +++ b/patches/server/0159-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch @@ -29,10 +29,10 @@ index bdcbe92cbe431727f5879a04bf734811ffd03c3d..257a1b91c65d9f66173cfe8a31f598a0 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 62207ac2b2c53b3641a68911fd07fcbe41ec67ce..e7c5bd69c447b3082f541cd4f0e2879ffe471b50 100644 +index 6608389d1715b7ce22689128b726195b503cc82c..ee84e6aef5c0e747c71c2b345eebfb99da406b8d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -867,6 +867,7 @@ public class PurpurWorldConfig { +@@ -869,6 +869,7 @@ public class PurpurWorldConfig { public double enderDragonMaxHealth = 200.0D; public boolean enderDragonAlwaysDropsFullExp = false; public boolean enderDragonBypassMobGriefing = false; @@ -40,7 +40,7 @@ index 62207ac2b2c53b3641a68911fd07fcbe41ec67ce..e7c5bd69c447b3082f541cd4f0e2879f private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -883,6 +884,7 @@ public class PurpurWorldConfig { +@@ -885,6 +886,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); @@ -48,7 +48,7 @@ index 62207ac2b2c53b3641a68911fd07fcbe41ec67ce..e7c5bd69c447b3082f541cd4f0e2879f } public boolean endermanRidable = false; -@@ -1855,6 +1857,7 @@ public class PurpurWorldConfig { +@@ -1857,6 +1859,7 @@ public class PurpurWorldConfig { public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; @@ -56,7 +56,7 @@ index 62207ac2b2c53b3641a68911fd07fcbe41ec67ce..e7c5bd69c447b3082f541cd4f0e2879f private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1872,6 +1875,7 @@ public class PurpurWorldConfig { +@@ -1874,6 +1877,7 @@ 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); diff --git a/patches/server/0161-One-Punch-Man.patch b/patches/server/0161-One-Punch-Man.patch index c68765049..666eeacfd 100644 --- a/patches/server/0161-One-Punch-Man.patch +++ b/patches/server/0161-One-Punch-Man.patch @@ -30,10 +30,10 @@ index a343738d971994c91ac42e41558ca05d6f9f8f57..276bac768069d14b0015eed3f31f98c3 if (human) { // PAIL: Be sure to drag all this code from the EntityHuman subclass each update. diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5c88e603a5a2db48ae19a360e0f44f86bec11a5d..26636dea0ce6ed0d58c44bdfbf18a4305d777874 100644 +index 7ea2cf4712963cbb2a750ade4d5609ee49be9732..6475a8289a774c0407d4de2167c9e98103263d38 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -300,6 +300,7 @@ public class PurpurWorldConfig { +@@ -301,6 +301,7 @@ public class PurpurWorldConfig { public boolean teleportIfOutsideBorder = false; public boolean totemOfUndyingWorksInInventory = false; public boolean playerFixStuckPortal = false; @@ -41,7 +41,7 @@ index 5c88e603a5a2db48ae19a360e0f44f86bec11a5d..26636dea0ce6ed0d58c44bdfbf18a430 private void playerSettings() { idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick); idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities); -@@ -312,6 +313,7 @@ public class PurpurWorldConfig { +@@ -314,6 +315,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/0162-Add-config-for-snow-on-blue-ice.patch b/patches/server/0162-Add-config-for-snow-on-blue-ice.patch index c1d480e1d..07a24469d 100644 --- a/patches/server/0162-Add-config-for-snow-on-blue-ice.patch +++ b/patches/server/0162-Add-config-for-snow-on-blue-ice.patch @@ -29,10 +29,10 @@ index 0169d874247a96c2e10a65ecb9c0c093f5a6ecfb..b760e2d014b3ae70671878082bb853b7 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 26636dea0ce6ed0d58c44bdfbf18a4305d777874..4223cdaa1b0f89e18a54375a69e78bdfd05df0ba 100644 +index 6475a8289a774c0407d4de2167c9e98103263d38..2b2668e3245a9bf13942de18fdfc3ea38a41a873 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -533,6 +533,11 @@ public class PurpurWorldConfig { +@@ -535,6 +535,11 @@ public class PurpurWorldConfig { furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath); } diff --git a/patches/server/0164-Config-to-ignore-nearby-mobs-when-sleeping.patch b/patches/server/0164-Config-to-ignore-nearby-mobs-when-sleeping.patch index 1b23f5e8b..bb71695dd 100644 --- a/patches/server/0164-Config-to-ignore-nearby-mobs-when-sleeping.patch +++ b/patches/server/0164-Config-to-ignore-nearby-mobs-when-sleeping.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index d9d66723333c64ee8b0e08248c95bc624941ceed..1bb9e89e332dd7cce479bcb393066518a82b68ad 100644 +index 60aeda60b99a21c4482c484c0a61494a06ae71ff..90f91e5438e1fbd27da59fec004969c572517d8e 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1305,7 +1305,7 @@ public class ServerPlayer extends Player { @@ -18,10 +18,10 @@ index d9d66723333c64ee8b0e08248c95bc624941ceed..1bb9e89e332dd7cce479bcb393066518 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2595fc1fc1fd89238d9217339fefc6a4fd1ac6a9..66f49b451cee6f8e42df5172e55a22d225fd0759 100644 +index 44ffdbe9fa16ab111e2f598a47ba54194d4d94dd..39496742ed05737029e67592755cd74331e1cb95 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -309,6 +309,7 @@ public class PurpurWorldConfig { +@@ -310,6 +310,7 @@ public class PurpurWorldConfig { public boolean totemOfUndyingWorksInInventory = false; public boolean playerFixStuckPortal = false; public boolean creativeOnePunch = false; @@ -29,7 +29,7 @@ index 2595fc1fc1fd89238d9217339fefc6a4fd1ac6a9..66f49b451cee6f8e42df5172e55a22d2 private void playerSettings() { idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick); idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities); -@@ -322,6 +323,7 @@ public class PurpurWorldConfig { +@@ -324,6 +325,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/0166-Config-Enderman-aggressiveness-towards-Endermites.patch b/patches/server/0166-Config-Enderman-aggressiveness-towards-Endermites.patch index c975622ac..b4f86f112 100644 --- a/patches/server/0166-Config-Enderman-aggressiveness-towards-Endermites.patch +++ b/patches/server/0166-Config-Enderman-aggressiveness-towards-Endermites.patch @@ -18,10 +18,10 @@ index 3907b7cb559dabdd3cc347678d42071215c66a6c..e8779b23b5e1a399dde19fc66d820101 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 66f49b451cee6f8e42df5172e55a22d225fd0759..e747fc2e3db032b5ded70b5ac93a513db618a515 100644 +index 39496742ed05737029e67592755cd74331e1cb95..264d6902931377c55fcbdeb32460648802f56133 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -915,6 +915,8 @@ public class PurpurWorldConfig { +@@ -917,6 +917,8 @@ public class PurpurWorldConfig { public boolean endermanDespawnEvenWithBlock = false; public boolean endermanBypassMobGriefing = false; public boolean endermanTakeDamageFromWater = true; @@ -30,7 +30,7 @@ index 66f49b451cee6f8e42df5172e55a22d225fd0759..e747fc2e3db032b5ded70b5ac93a513d private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -923,11 +925,17 @@ public class PurpurWorldConfig { +@@ -925,11 +927,17 @@ public class PurpurWorldConfig { set("mobs.enderman.attributes.max-health", null); set("mobs.enderman.attributes.max_health", oldValue); } diff --git a/patches/server/0167-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch b/patches/server/0167-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch index 1e969c042..6d4ad979d 100644 --- a/patches/server/0167-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch +++ b/patches/server/0167-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch @@ -20,10 +20,10 @@ index e8779b23b5e1a399dde19fc66d820101d61f36bc..ba61f78874d8578b862f317fe00a3162 } else { Vec3 vec3d = player.getViewVector(1.0F).normalize(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e747fc2e3db032b5ded70b5ac93a513db618a515..b5332678b6185410ac86d1e8765c13d8ab449c5f 100644 +index 264d6902931377c55fcbdeb32460648802f56133..0f7a3541425a825007cb3deaafaaf386cf4b76ba 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -917,6 +917,8 @@ public class PurpurWorldConfig { +@@ -919,6 +919,8 @@ public class PurpurWorldConfig { public boolean endermanTakeDamageFromWater = true; public boolean endermanAggroEndermites = true; public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; @@ -32,7 +32,7 @@ index e747fc2e3db032b5ded70b5ac93a513db618a515..b5332678b6185410ac86d1e8765c13d8 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -936,6 +938,8 @@ public class PurpurWorldConfig { +@@ -938,6 +940,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/0168-Tick-fluids-config.patch b/patches/server/0168-Tick-fluids-config.patch index 7174590e6..ffa95ebdb 100644 --- a/patches/server/0168-Tick-fluids-config.patch +++ b/patches/server/0168-Tick-fluids-config.patch @@ -36,10 +36,10 @@ index 087601ffdeea97ec4cbb9959607bdcbcbae7c6fa..ad24daa0c727df15dbe0549036290a6c } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b5332678b6185410ac86d1e8765c13d8ab449c5f..c2a359358d2ba674762998a26034f24a394fbcd6 100644 +index 0f7a3541425a825007cb3deaafaaf386cf4b76ba..e2a6db623c662b6604c204570b2c0bc927989c3d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -399,6 +399,7 @@ public class PurpurWorldConfig { +@@ -401,6 +401,7 @@ public class PurpurWorldConfig { public boolean persistentTileEntityDisplayNames = false; public boolean persistentDroppableEntityDisplayNames = false; public boolean projectilesBypassMobGriefing = false; @@ -47,7 +47,7 @@ index b5332678b6185410ac86d1e8765c13d8ab449c5f..c2a359358d2ba674762998a26034f24a public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; -@@ -419,6 +420,7 @@ public class PurpurWorldConfig { +@@ -421,6 +422,7 @@ public class PurpurWorldConfig { persistentTileEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-tileentity-display-names-and-lore", persistentTileEntityDisplayNames); persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames); projectilesBypassMobGriefing = getBoolean("gameplay-mechanics.projectiles-bypass-mob-griefing", projectilesBypassMobGriefing); diff --git a/patches/server/0169-Config-to-disable-Llama-caravans.patch b/patches/server/0169-Config-to-disable-Llama-caravans.patch index 285219056..eca738421 100644 --- a/patches/server/0169-Config-to-disable-Llama-caravans.patch +++ b/patches/server/0169-Config-to-disable-Llama-caravans.patch @@ -32,10 +32,10 @@ index 93a05b945ac248df0ea7a0b9d7264a9c129c3bcf..8f12851f220bb23102f52f523a4c5d98 this.caravanHead.caravanTail = this; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c2a359358d2ba674762998a26034f24a394fbcd6..d5b79940ac74ecff4bfa3baa46edc9bcc604ebbb 100644 +index e2a6db623c662b6604c204570b2c0bc927989c3d..1b3b2a94cd33661c913706a297e6660cf7c93086 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1183,6 +1183,7 @@ public class PurpurWorldConfig { +@@ -1185,6 +1185,7 @@ public class PurpurWorldConfig { public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMax = 0.175D; public int llamaBreedingTicks = 6000; @@ -43,7 +43,7 @@ index c2a359358d2ba674762998a26034f24a394fbcd6..d5b79940ac74ecff4bfa3baa46edc9bc private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1200,6 +1201,7 @@ public class PurpurWorldConfig { +@@ -1202,6 +1203,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); diff --git a/patches/server/0170-Config-to-make-Creepers-explode-on-death.patch b/patches/server/0170-Config-to-make-Creepers-explode-on-death.patch index ebba20c02..92b0dc851 100644 --- a/patches/server/0170-Config-to-make-Creepers-explode-on-death.patch +++ b/patches/server/0170-Config-to-make-Creepers-explode-on-death.patch @@ -50,10 +50,10 @@ index c550b8c19837ed9bf730a3eb777bc00de4e7ceb2..02494dcc8a342f65b2855612aebeb019 private void spawnLingeringCloud() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d5b79940ac74ecff4bfa3baa46edc9bcc604ebbb..93868f9f6c3ab28d9e37d26e13f708b2ff6ab7f1 100644 +index 1b3b2a94cd33661c913706a297e6660cf7c93086..580f2a28adc946643951d16403ff53ebccbe7982 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -790,6 +790,7 @@ public class PurpurWorldConfig { +@@ -792,6 +792,7 @@ public class PurpurWorldConfig { public double creeperChargedChance = 0.0D; public boolean creeperAllowGriefing = true; public boolean creeperBypassMobGriefing = false; @@ -61,7 +61,7 @@ index d5b79940ac74ecff4bfa3baa46edc9bcc604ebbb..93868f9f6c3ab28d9e37d26e13f708b2 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -802,6 +803,7 @@ public class PurpurWorldConfig { +@@ -804,6 +805,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); diff --git a/patches/server/0171-Configurable-ravager-griefable-blocks-list.patch b/patches/server/0171-Configurable-ravager-griefable-blocks-list.patch index 3a1974ed8..050c11ce8 100644 --- a/patches/server/0171-Configurable-ravager-griefable-blocks-list.patch +++ b/patches/server/0171-Configurable-ravager-griefable-blocks-list.patch @@ -31,10 +31,10 @@ index 3c51e6d419a244b9270119590aa299527163c331..b466b0430dd94777975a1e7ab9792166 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 93868f9f6c3ab28d9e37d26e13f708b2ff6ab7f1..8f00587f3097b76455404bc11b9632cc467e04c1 100644 +index 580f2a28adc946643951d16403ff53ebccbe7982..e5f648e5b7041218f03d3fff0d755c29563c0e8d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1493,6 +1493,7 @@ public class PurpurWorldConfig { +@@ -1495,6 +1495,7 @@ public class PurpurWorldConfig { public boolean ravagerRidableInWater = false; public double ravagerMaxHealth = 100.0D; public boolean ravagerBypassMobGriefing = false; @@ -42,7 +42,7 @@ index 93868f9f6c3ab28d9e37d26e13f708b2ff6ab7f1..8f00587f3097b76455404bc11b9632cc private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1503,6 +1504,23 @@ public class PurpurWorldConfig { +@@ -1505,6 +1506,23 @@ public class PurpurWorldConfig { } ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); diff --git a/patches/server/0172-Sneak-to-bulk-process-composter.patch b/patches/server/0172-Sneak-to-bulk-process-composter.patch index 118fb8346..bf7dea23d 100644 --- a/patches/server/0172-Sneak-to-bulk-process-composter.patch +++ b/patches/server/0172-Sneak-to-bulk-process-composter.patch @@ -75,10 +75,10 @@ index 4c9ae6bdb2f0358798f84928271a2d783dcba7b4..47bf769a031ae39cc72d2191195d1378 int i = (Integer) iblockdata.getValue(ComposterBlock.LEVEL); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 8f00587f3097b76455404bc11b9632cc467e04c1..b4fa4646e240ffe93365f47cd7c3ec46b59cf826 100644 +index e5f648e5b7041218f03d3fff0d755c29563c0e8d..9560ed69f0a17a78cc7129b64499a6c4de55a434 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -483,6 +483,11 @@ public class PurpurWorldConfig { +@@ -485,6 +485,11 @@ public class PurpurWorldConfig { chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop); } diff --git a/patches/server/0173-Config-for-skipping-night.patch b/patches/server/0173-Config-for-skipping-night.patch index 3cf37443a..22353672e 100644 --- a/patches/server/0173-Config-for-skipping-night.patch +++ b/patches/server/0173-Config-for-skipping-night.patch @@ -18,10 +18,10 @@ index 239bb3f470fe1b323a7fbad622fcff05cb23cc31..124c9bdba9dc95390831e9c43ddacca0 long l = this.levelData.getDayTime() + 24000L; TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (l - l % 24000L) - this.getDayTime()); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b4fa4646e240ffe93365f47cd7c3ec46b59cf826..c994f82b392e26a55f1e0d8f1d95a9b68d6b3ad3 100644 +index 9560ed69f0a17a78cc7129b64499a6c4de55a434..30e1679f4d342634fdfd8c64520d9c87eeee1462 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -310,6 +310,7 @@ public class PurpurWorldConfig { +@@ -311,6 +311,7 @@ public class PurpurWorldConfig { public boolean playerFixStuckPortal = false; public boolean creativeOnePunch = false; public boolean playerSleepNearMonsters = false; @@ -29,7 +29,7 @@ index b4fa4646e240ffe93365f47cd7c3ec46b59cf826..c994f82b392e26a55f1e0d8f1d95a9b6 private void playerSettings() { idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick); idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities); -@@ -324,6 +325,7 @@ public class PurpurWorldConfig { +@@ -326,6 +327,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/0174-Add-config-for-villager-trading.patch b/patches/server/0174-Add-config-for-villager-trading.patch index 010a9fb08..2e6ca793a 100644 --- a/patches/server/0174-Add-config-for-villager-trading.patch +++ b/patches/server/0174-Add-config-for-villager-trading.patch @@ -31,10 +31,10 @@ index c48935d35a6141c41db22e3ec172d5994fd317a2..fa4644c11cbb252734a6f5dc21c861d2 this.openTradingScreen(player, this.getDisplayName(), 1); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c994f82b392e26a55f1e0d8f1d95a9b68d6b3ad3..7740e9981d89d7f36ae51ba0e06895772cd01f71 100644 +index 30e1679f4d342634fdfd8c64520d9c87eeee1462..d734218c0b7277348b0ea4002259f19e59bc31f0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1837,6 +1837,7 @@ public class PurpurWorldConfig { +@@ -1839,6 +1839,7 @@ public class PurpurWorldConfig { public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; public boolean villagerBypassMobGriefing = false; @@ -42,7 +42,7 @@ index c994f82b392e26a55f1e0d8f1d95a9b68d6b3ad3..7740e9981d89d7f36ae51ba0e0689577 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1864,6 +1865,7 @@ public class PurpurWorldConfig { +@@ -1866,6 +1867,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); @@ -50,7 +50,7 @@ index c994f82b392e26a55f1e0d8f1d95a9b68d6b3ad3..7740e9981d89d7f36ae51ba0e0689577 } public boolean vindicatorRidable = false; -@@ -1887,6 +1889,7 @@ public class PurpurWorldConfig { +@@ -1889,6 +1891,7 @@ public class PurpurWorldConfig { public double wanderingTraderMaxHealth = 20.0D; public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderCanBeLeashed = false; @@ -58,7 +58,7 @@ index c994f82b392e26a55f1e0d8f1d95a9b68d6b3ad3..7740e9981d89d7f36ae51ba0e0689577 private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1898,6 +1901,7 @@ public class PurpurWorldConfig { +@@ -1900,6 +1903,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); diff --git a/patches/server/0177-Break-individual-slabs-when-sneaking.patch b/patches/server/0177-Break-individual-slabs-when-sneaking.patch index d40987924..84b8ed5df 100644 --- a/patches/server/0177-Break-individual-slabs-when-sneaking.patch +++ b/patches/server/0177-Break-individual-slabs-when-sneaking.patch @@ -47,10 +47,10 @@ index eb7f8907bb362c0461194bbaf62917ce71c669f3..89f5e0d26500f1806dff9f91390546cd + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index eb03155d5bf4edbd6169598eedf0ff5819fa717e..2e6c79fc845e273e5817ded62cb85cdd8c5fdf9e 100644 +index 106ab026e1cdd4365176ac3d6fdd3012a1d4d345..f743ca24b9ba9c165b0c987ffcc141de693169da 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -610,6 +610,11 @@ public class PurpurWorldConfig { +@@ -612,6 +612,11 @@ public class PurpurWorldConfig { signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit); } diff --git a/patches/server/0178-Config-to-disable-hostile-mob-spawn-on-ice.patch b/patches/server/0178-Config-to-disable-hostile-mob-spawn-on-ice.patch index b80960f1d..5111438eb 100644 --- a/patches/server/0178-Config-to-disable-hostile-mob-spawn-on-ice.patch +++ b/patches/server/0178-Config-to-disable-hostile-mob-spawn-on-ice.patch @@ -22,10 +22,10 @@ index fc34cfa8bfb3b82a8e1b28d261f0e901d837467e..35d47bb0d8c4a2b8374564133f040899 return false; } else { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2e6c79fc845e273e5817ded62cb85cdd8c5fdf9e..74c4888e2522c414f31d4c73f601cd33e9c6fdc0 100644 +index f743ca24b9ba9c165b0c987ffcc141de693169da..e9ff5fbf5d4524cee836afd85618355bd9c53821 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -562,8 +562,12 @@ public class PurpurWorldConfig { +@@ -564,8 +564,12 @@ public class PurpurWorldConfig { } public boolean snowOnBlueIce = true; diff --git a/patches/server/0180-Option-to-make-doors-require-redstone.patch b/patches/server/0180-Option-to-make-doors-require-redstone.patch index 769677dd2..9beebc8e4 100644 --- a/patches/server/0180-Option-to-make-doors-require-redstone.patch +++ b/patches/server/0180-Option-to-make-doors-require-redstone.patch @@ -67,10 +67,10 @@ index c903a1a8d2234bb0fa354d1c44ff3ab2275b04c7..d01e4064a772710c1383927e0848b9b3 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 44cf702e0ac60c90e7ee7601ade3c28b95401edb..a0a2b065c4d5ec512ae20979e5620f56cb0a466a 100644 +index 95277d97f1e35e9a05fd289f6a639b50fa820c61..cd37fef11cb6469718019d989a10e2e81a9d8b93 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -508,6 +508,16 @@ public class PurpurWorldConfig { +@@ -510,6 +510,16 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } diff --git a/patches/server/0182-Configurable-sponge-absorption.patch b/patches/server/0182-Configurable-sponge-absorption.patch index 24cc39c73..24b4685a6 100644 --- a/patches/server/0182-Configurable-sponge-absorption.patch +++ b/patches/server/0182-Configurable-sponge-absorption.patch @@ -43,10 +43,10 @@ index 1ef8eadd4e59f2e5d2bbd84f6f9bcf37b59db5bd..5b10e1110f938745c8f9ed0b55960566 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a0a2b065c4d5ec512ae20979e5620f56cb0a466a..b97aff4c10b0bc216265e933ddc6f11aad20f679 100644 +index cd37fef11cb6469718019d989a10e2e81a9d8b93..9bdb8ffe7c7bad23d4a2b2283931e683269cca20 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -636,6 +636,13 @@ public class PurpurWorldConfig { +@@ -638,6 +638,13 @@ public class PurpurWorldConfig { spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone); } diff --git a/patches/server/0183-Projectile-offset-config.patch b/patches/server/0183-Projectile-offset-config.patch index 4743a0a47..ea54a751e 100644 --- a/patches/server/0183-Projectile-offset-config.patch +++ b/patches/server/0183-Projectile-offset-config.patch @@ -96,10 +96,10 @@ index 3f53dc8f250ad3f7616ce7ef0a2353caa0ab1879..29130aa9673a3956030f3e43b784ac46 entitythrowntrident.pickup = AbstractArrow.Pickup.CREATIVE_ONLY; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b97aff4c10b0bc216265e933ddc6f11aad20f679..1ffa56e97d7ef8af69edeca39652760516806448 100644 +index 9bdb8ffe7c7bad23d4a2b2283931e683269cca20..56e2dbb96dd587eb047f76fa22d9056c72ed8813 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -373,6 +373,23 @@ public class PurpurWorldConfig { +@@ -375,6 +375,23 @@ public class PurpurWorldConfig { witherSkullDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.wither_skull", witherSkullDespawnRate); } diff --git a/patches/server/0184-Config-for-powered-rail-activation-distance.patch b/patches/server/0184-Config-for-powered-rail-activation-distance.patch index 583edfb74..96f30ae60 100644 --- a/patches/server/0184-Config-for-powered-rail-activation-distance.patch +++ b/patches/server/0184-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/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 1ffa56e97d7ef8af69edeca39652760516806448..3ed9c17d51a01bf1e000096b2b7d519b5762042c 100644 +index 56e2dbb96dd587eb047f76fa22d9056c72ed8813..c2e0c46a626ae143b26e2a77d1077a10c657e61b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -648,6 +648,11 @@ public class PurpurWorldConfig { +@@ -650,6 +650,11 @@ public class PurpurWorldConfig { slabHalfBreak = getBoolean("blocks.slab.break-individual-slabs-when-sneaking", slabHalfBreak); } diff --git a/patches/server/0185-Piglin-portal-spawn-modifier.patch b/patches/server/0185-Piglin-portal-spawn-modifier.patch index b2ffd25f7..171e2edb4 100644 --- a/patches/server/0185-Piglin-portal-spawn-modifier.patch +++ b/patches/server/0185-Piglin-portal-spawn-modifier.patch @@ -31,10 +31,10 @@ index fef1027829c44957e23c0a121033bfb7640d06f0..c42349d0f6b0025525278295b36f4030 pos = pos.below(); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3ed9c17d51a01bf1e000096b2b7d519b5762042c..0dd52d8a59360d235a664867abbeea7c56de61da 100644 +index c2e0c46a626ae143b26e2a77d1077a10c657e61b..9e18b2e38b0c36eae8b7e24aedf3c4e6786a7ff0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1458,6 +1458,7 @@ public class PurpurWorldConfig { +@@ -1460,6 +1460,7 @@ public class PurpurWorldConfig { public boolean piglinRidableInWater = false; public double piglinMaxHealth = 16.0D; public boolean piglinBypassMobGriefing = false; @@ -42,7 +42,7 @@ index 3ed9c17d51a01bf1e000096b2b7d519b5762042c..0dd52d8a59360d235a664867abbeea7c private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1468,6 +1469,7 @@ public class PurpurWorldConfig { +@@ -1470,6 +1471,7 @@ public class PurpurWorldConfig { } piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); diff --git a/patches/server/0187-Configurable-damage-settings-for-magma-blocks.patch b/patches/server/0187-Configurable-damage-settings-for-magma-blocks.patch index a5e83ab82..c8ee3fa85 100644 --- a/patches/server/0187-Configurable-damage-settings-for-magma-blocks.patch +++ b/patches/server/0187-Configurable-damage-settings-for-magma-blocks.patch @@ -31,10 +31,10 @@ index 5d844ed98b916298a657d5e9766ab7f383a304e0..0129460ce1ca199a47b6657f824c75fd entity.hurt(DamageSource.HOT_FLOOR, 1.0F); org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0dd52d8a59360d235a664867abbeea7c56de61da..fed64ffd7303d1273cb1f2b5343429844da37cc7 100644 +index 9e18b2e38b0c36eae8b7e24aedf3c4e6786a7ff0..f21b019e7074b637d2a4f8cc47749023751d2221 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -615,6 +615,13 @@ public class PurpurWorldConfig { +@@ -617,6 +617,13 @@ public class PurpurWorldConfig { kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge); } diff --git a/patches/server/0188-Config-for-wither-explosion-radius.patch b/patches/server/0188-Config-for-wither-explosion-radius.patch index 2e5e6b77c..959158cfd 100644 --- a/patches/server/0188-Config-for-wither-explosion-radius.patch +++ b/patches/server/0188-Config-for-wither-explosion-radius.patch @@ -18,10 +18,10 @@ index 430aa10101d9f21561155941ff24441fd0c4103a..de91f0dd7f9a62e5a96b4cc3e4f505ec if (!event.isCancelled()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index fed64ffd7303d1273cb1f2b5343429844da37cc7..882814eeb2eb8e455fa32e255fa7318571dfd20d 100644 +index f21b019e7074b637d2a4f8cc47749023751d2221..fdb30742017253789472896247c07f5ce530d10c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1994,6 +1994,7 @@ public class PurpurWorldConfig { +@@ -1996,6 +1996,7 @@ public class PurpurWorldConfig { public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; public boolean witherCanRideVehicles = false; @@ -29,7 +29,7 @@ index fed64ffd7303d1273cb1f2b5343429844da37cc7..882814eeb2eb8e455fa32e255fa73185 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2012,6 +2013,7 @@ public class PurpurWorldConfig { +@@ -2014,6 +2015,7 @@ public class PurpurWorldConfig { witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); diff --git a/patches/server/0190-Config-for-changing-the-blocks-that-turn-into-dirt-p.patch b/patches/server/0190-Config-for-changing-the-blocks-that-turn-into-dirt-p.patch index d6ac56825..39f6782eb 100644 --- a/patches/server/0190-Config-for-changing-the-blocks-that-turn-into-dirt-p.patch +++ b/patches/server/0190-Config-for-changing-the-blocks-that-turn-into-dirt-p.patch @@ -18,10 +18,10 @@ index e5562b407bba35ab93bf8bc3c22ac9d45e8353cb..c688bb73cd062f36524cfc231cb691f2 if (blockState2 != null && level.getBlockState(blockPos.above()).isAir()) { level.playSound(player, blockPos, SoundEvents.SHOVEL_FLATTEN, SoundSource.BLOCKS, 1.0F, 1.0F); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 882814eeb2eb8e455fa32e255fa7318571dfd20d..ef67a38a10126ccc78574d0fb66498d91c53255e 100644 +index fdb30742017253789472896247c07f5ce530d10c..09b53ab81baee54fe930d21619a1742320624f0b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -390,6 +390,21 @@ public class PurpurWorldConfig { +@@ -392,6 +392,21 @@ public class PurpurWorldConfig { snowballProjectileOffset = getDouble("gameplay-mechanics.projectile-offset.snowball", snowballProjectileOffset); } diff --git a/patches/server/0191-Configurable-piston-push-limit.patch b/patches/server/0191-Configurable-piston-push-limit.patch index 314d69361..b2f555154 100644 --- a/patches/server/0191-Configurable-piston-push-limit.patch +++ b/patches/server/0191-Configurable-piston-push-limit.patch @@ -36,10 +36,10 @@ index 744d91546d1a810f60a43c15ed74b4158f341a4a..354538daefa603f6df5a139b6bff87db } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ef67a38a10126ccc78574d0fb66498d91c53255e..844b2387407ed275aad4d295ea8fe26976fb2a2a 100644 +index 09b53ab81baee54fe930d21619a1742320624f0b..28ae7a7147fde41fe3742cd5235dc9d7b93f61fd 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -637,6 +637,11 @@ public class PurpurWorldConfig { +@@ -639,6 +639,11 @@ public class PurpurWorldConfig { magmaBlockDamageWithFrostWalker = getBoolean("blocks.magma-block.damage-with-frost-walker", magmaBlockDamageWithFrostWalker); } diff --git a/patches/server/0194-Configurable-mob-blindness.patch b/patches/server/0194-Configurable-mob-blindness.patch index ce7a8d550..0f0248a43 100644 --- a/patches/server/0194-Configurable-mob-blindness.patch +++ b/patches/server/0194-Configurable-mob-blindness.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Configurable mob blindness Ported from https://github.com/raltsmc/mobblindness diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index f6fa7ff3f896dca5e3b5cc5f7836f4208b0ec8b6..dd88755ac380e5c85d5327d02bc3ec7e06355e49 100644 +index 7ec708e19f62c53cc64327affef3111d4841e09d..246d6bdb7c431f9aca2e337dd2d4dfa5f8baf486 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -992,6 +992,17 @@ public abstract class LivingEntity extends Entity { @@ -28,10 +28,10 @@ index f6fa7ff3f896dca5e3b5cc5f7836f4208b0ec8b6..dd88755ac380e5c85d5327d02bc3ec7e return d0; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 844b2387407ed275aad4d295ea8fe26976fb2a2a..f7d7e223388c07ce95a1fe2d05247b438f5078c9 100644 +index 28ae7a7147fde41fe3742cd5235dc9d7b93f61fd..6cf13cafb904bb273736cc53c69ed9fdc33d23c4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -445,6 +445,7 @@ public class PurpurWorldConfig { +@@ -447,6 +447,7 @@ public class PurpurWorldConfig { public boolean persistentDroppableEntityDisplayNames = false; public boolean projectilesBypassMobGriefing = false; public boolean tickFluids = true; @@ -39,7 +39,7 @@ index 844b2387407ed275aad4d295ea8fe26976fb2a2a..f7d7e223388c07ce95a1fe2d05247b43 public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; -@@ -466,6 +467,7 @@ public class PurpurWorldConfig { +@@ -468,6 +469,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/0196-Config-for-health-to-impact-Creeper-explosion-radius.patch b/patches/server/0196-Config-for-health-to-impact-Creeper-explosion-radius.patch index b9deac2fd..0ff37f789 100644 --- a/patches/server/0196-Config-for-health-to-impact-Creeper-explosion-radius.patch +++ b/patches/server/0196-Config-for-health-to-impact-Creeper-explosion-radius.patch @@ -21,10 +21,10 @@ index 02494dcc8a342f65b2855612aebeb019095abf65..d66c8866f3c6b1412a6c1876c62e3b29 if (!event.isCancelled()) { this.dead = true; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index f7d7e223388c07ce95a1fe2d05247b438f5078c9..a394834ac68ad2316934e070e29567c6ad7d79c3 100644 +index 6cf13cafb904bb273736cc53c69ed9fdc33d23c4..1c2d7b985a9ad7512ce584b69fac518da9ef2f54 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -886,6 +886,7 @@ public class PurpurWorldConfig { +@@ -888,6 +888,7 @@ public class PurpurWorldConfig { public boolean creeperAllowGriefing = true; public boolean creeperBypassMobGriefing = false; public boolean creeperExplodeWhenKilled = false; @@ -32,7 +32,7 @@ index f7d7e223388c07ce95a1fe2d05247b438f5078c9..a394834ac68ad2316934e070e29567c6 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -899,6 +900,7 @@ public class PurpurWorldConfig { +@@ -901,6 +902,7 @@ public class PurpurWorldConfig { creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled); diff --git a/patches/server/0197-Iron-golem-poppy-calms-anger.patch b/patches/server/0197-Iron-golem-poppy-calms-anger.patch index 21cf11265..4f5a45ca4 100644 --- a/patches/server/0197-Iron-golem-poppy-calms-anger.patch +++ b/patches/server/0197-Iron-golem-poppy-calms-anger.patch @@ -17,10 +17,10 @@ index f4e983da7206923ee0b0f984e65a6c2b3a6a8aeb..cea3725009af1bc746a593c4db63ed63 this.goalSelector.addGoal(2, new MoveTowardsTargetGoal(this, 0.9D, 32.0F)); this.goalSelector.addGoal(2, new MoveBackToVillageGoal(this, 0.6D, false)); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a394834ac68ad2316934e070e29567c6ad7d79c3..bf53110c2d18b65a8e1b9d376c3fdb4082544bd9 100644 +index 1c2d7b985a9ad7512ce584b69fac518da9ef2f54..e0e493653c95d6fdf7843efd3f3a7bec4d7729fc 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1261,6 +1261,7 @@ public class PurpurWorldConfig { +@@ -1263,6 +1263,7 @@ public class PurpurWorldConfig { public boolean ironGolemRidableInWater = false; public boolean ironGolemCanSwim = false; public double ironGolemMaxHealth = 100.0D; @@ -28,7 +28,7 @@ index a394834ac68ad2316934e070e29567c6ad7d79c3..bf53110c2d18b65a8e1b9d376c3fdb40 private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1271,6 +1272,7 @@ public class PurpurWorldConfig { +@@ -1273,6 +1274,7 @@ public class PurpurWorldConfig { set("mobs.iron_golem.attributes.max_health", oldValue); } ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth); diff --git a/patches/server/0198-Breedable-parrots.patch b/patches/server/0198-Breedable-parrots.patch index 034071af2..02ce5720d 100644 --- a/patches/server/0198-Breedable-parrots.patch +++ b/patches/server/0198-Breedable-parrots.patch @@ -50,10 +50,10 @@ index 553b0aff0ccc5baf41d5faae1a2fd88249dd5a74..3da2b68fb03a80676d7a5eed271499f6 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index bf53110c2d18b65a8e1b9d376c3fdb4082544bd9..283736fd4015855db885ee1cb4bd82726c361285 100644 +index e0e493653c95d6fdf7843efd3f3a7bec4d7729fc..b54dba107a355fe8f4e12f0763fb0b6590788c05 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1397,6 +1397,7 @@ public class PurpurWorldConfig { +@@ -1399,6 +1399,7 @@ public class PurpurWorldConfig { public boolean parrotRidableInWater = false; public double parrotMaxY = 256D; public double parrotMaxHealth = 6.0D; @@ -61,7 +61,7 @@ index bf53110c2d18b65a8e1b9d376c3fdb4082544bd9..283736fd4015855db885ee1cb4bd8272 private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1407,6 +1408,7 @@ public class PurpurWorldConfig { +@@ -1409,6 +1410,7 @@ public class PurpurWorldConfig { set("mobs.parrot.attributes.max_health", oldValue); } parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); diff --git a/patches/server/0200-Add-config-change-multiplier-critical-damage-value.patch b/patches/server/0200-Add-config-change-multiplier-critical-damage-value.patch index 6fe63c239..a320d0711 100644 --- a/patches/server/0200-Add-config-change-multiplier-critical-damage-value.patch +++ b/patches/server/0200-Add-config-change-multiplier-critical-damage-value.patch @@ -18,10 +18,10 @@ index 51e0701385c94822f83e8b628967ef9d36a10085..ace974dd50765602aa234cb7be915171 f += f1; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a441932a1a0cc80d6cd0c6435ec6e4aa63730f79..08099925e3f43df722e6c3d8ef84a0dac2e41a34 100644 +index 2bef8f37783cd83ac10a41103c3fa868a8cc9fea..7e3b24bba349a18f39a74ba60aea5e79047391d7 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -324,6 +324,7 @@ public class PurpurWorldConfig { +@@ -325,6 +325,7 @@ public class PurpurWorldConfig { public boolean creativeOnePunch = false; public boolean playerSleepNearMonsters = false; public boolean playersSkipNight = true; @@ -29,7 +29,7 @@ index a441932a1a0cc80d6cd0c6435ec6e4aa63730f79..08099925e3f43df722e6c3d8ef84a0da private void playerSettings() { idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick); idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities); -@@ -339,6 +340,7 @@ public class PurpurWorldConfig { +@@ -341,6 +342,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/0201-Option-to-disable-dragon-egg-teleporting.patch b/patches/server/0201-Option-to-disable-dragon-egg-teleporting.patch index 79f6d0bba..2d3fad907 100644 --- a/patches/server/0201-Option-to-disable-dragon-egg-teleporting.patch +++ b/patches/server/0201-Option-to-disable-dragon-egg-teleporting.patch @@ -17,10 +17,10 @@ index 78f51f3dd0e7249af69228479da932e9aea982d6..d9d4421f7f316281487828739168cfd6 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/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 08099925e3f43df722e6c3d8ef84a0dac2e41a34..a8629cbf4f6f15d265d72625b3bf2c84289d3728 100644 +index 7e3b24bba349a18f39a74ba60aea5e79047391d7..d1e59b94c9ade6625d3f60b02ba323b096934198 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -556,6 +556,11 @@ public class PurpurWorldConfig { +@@ -558,6 +558,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0204-ShulkerBox-allow-oversized-stacks.patch b/patches/server/0204-ShulkerBox-allow-oversized-stacks.patch index b163aa426..6e79f08ff 100644 --- a/patches/server/0204-ShulkerBox-allow-oversized-stacks.patch +++ b/patches/server/0204-ShulkerBox-allow-oversized-stacks.patch @@ -35,10 +35,10 @@ index b9c558060024d380e89116489c7fc12ad88db8ad..0a0a4be15bed899812fcd4af0e311f5f CompoundTag compoundTag = shulkerBoxBlockEntity.saveToTag(new CompoundTag()); if (!compoundTag.isEmpty()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a8629cbf4f6f15d265d72625b3bf2c84289d3728..c88b71c8348d2faa68692a3579324f210f1c0b19 100644 +index d1e59b94c9ade6625d3f60b02ba323b096934198..144933e33452efb68c22535ceea36ccdabc97ed3 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -674,6 +674,11 @@ public class PurpurWorldConfig { +@@ -676,6 +676,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0205-Bee-can-work-when-raining-or-at-night.patch b/patches/server/0205-Bee-can-work-when-raining-or-at-night.patch index 424c3da09..bef95b4a8 100644 --- a/patches/server/0205-Bee-can-work-when-raining-or-at-night.patch +++ b/patches/server/0205-Bee-can-work-when-raining-or-at-night.patch @@ -31,10 +31,10 @@ index ffacc4b8cc3ab8285c4131aec58e48ffa9e1952e..e0e039e2f614f2df48d8d1b6e8bbbe7a return false; } else { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c88b71c8348d2faa68692a3579324f210f1c0b19..a514f29544898631b2470d4955928e5674242129 100644 +index 144933e33452efb68c22535ceea36ccdabc97ed3..5f474e9acfeb02e86a4afc7a3ada24368aadfc2c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -778,6 +778,8 @@ public class PurpurWorldConfig { +@@ -780,6 +780,8 @@ public class PurpurWorldConfig { public double beeMaxY = 256D; public double beeMaxHealth = 10.0D; public int beeBreedingTicks = 6000; @@ -43,7 +43,7 @@ index c88b71c8348d2faa68692a3579324f210f1c0b19..a514f29544898631b2470d4955928e56 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -789,6 +791,8 @@ public class PurpurWorldConfig { +@@ -791,6 +793,8 @@ public class PurpurWorldConfig { } beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth); beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks); diff --git a/patches/server/0209-Beacon-Activation-Range-Configurable.patch b/patches/server/0209-Beacon-Activation-Range-Configurable.patch index e6405880d..3ec3a6e7e 100644 --- a/patches/server/0209-Beacon-Activation-Range-Configurable.patch +++ b/patches/server/0209-Beacon-Activation-Range-Configurable.patch @@ -26,10 +26,10 @@ index 3281448bf37da8a1b4b7b44f10f4b2438b4a4f29..418c2ddf8ff50a5071b2a31585b77e9f } else { return effectRange; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c6497e04af21ba471ab60e68cff32a28fec09768..c5b90e021c08c8ae0bac45e7c3e241e2991ecf29 100644 +index 4fc9bd6a8b84a77008dad75b8d62b82180093320..c83cf9b647de1fb45b732327939d51816ac91e11 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -521,6 +521,17 @@ public class PurpurWorldConfig { +@@ -523,6 +523,17 @@ public class PurpurWorldConfig { anvilAllowColors = getBoolean("blocks.anvil.allow-colors", anvilAllowColors); } diff --git a/patches/server/0210-Add-toggle-for-sand-duping-fix.patch b/patches/server/0210-Add-toggle-for-sand-duping-fix.patch index a1a920811..095295b1b 100644 --- a/patches/server/0210-Add-toggle-for-sand-duping-fix.patch +++ b/patches/server/0210-Add-toggle-for-sand-duping-fix.patch @@ -27,10 +27,10 @@ index 8336ea928faa92c6f58f8cdfb9faf1d8e26c9ccf..c765c182081fe83eb0f30dcbf97d8126 } // Paper end - fix sand duping diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c5b90e021c08c8ae0bac45e7c3e241e2991ecf29..0a267f30625462badeec3a4da290f2dbc1260805 100644 +index c83cf9b647de1fb45b732327939d51816ac91e11..4e0b939d26af5f02ed957c07327fcfabd2f147c6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -700,6 +700,11 @@ public class PurpurWorldConfig { +@@ -702,6 +702,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0211-Add-toggle-for-end-portal-safe-teleporting.patch b/patches/server/0211-Add-toggle-for-end-portal-safe-teleporting.patch index 22d901031..8156a109e 100644 --- a/patches/server/0211-Add-toggle-for-end-portal-safe-teleporting.patch +++ b/patches/server/0211-Add-toggle-for-end-portal-safe-teleporting.patch @@ -45,10 +45,10 @@ index 197482e1ace23c3de002242097a68c6cc297cd3f..428875a6a99a619d337e2a7bbd2cb182 entity.portalWorld = ((ServerLevel)world); entity.portalBlock = pos.immutable(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0a267f30625462badeec3a4da290f2dbc1260805..762ede20fe7076da8b7c69707fbe779b7c5f7956 100644 +index 4e0b939d26af5f02ed957c07327fcfabd2f147c6..2132b95b59e8d0e24ac45a8f656ec76c5610d45d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -642,6 +642,11 @@ public class PurpurWorldConfig { +@@ -644,6 +644,11 @@ public class PurpurWorldConfig { furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath); } diff --git a/patches/server/0214-Burp-after-eating-food-fills-hunger-bar-completely.patch b/patches/server/0214-Burp-after-eating-food-fills-hunger-bar-completely.patch index b89d945a3..755bb85a7 100644 --- a/patches/server/0214-Burp-after-eating-food-fills-hunger-bar-completely.patch +++ b/patches/server/0214-Burp-after-eating-food-fills-hunger-bar-completely.patch @@ -55,10 +55,10 @@ index 97133bd4af30d0ba92cbf884b83140f3399f92e2..c1130952e3fa22abaa27fcc1c4761c83 public void eat(Item item, ItemStack stack) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 762ede20fe7076da8b7c69707fbe779b7c5f7956..faca09270c21c6312064f2176ceb740457da9628 100644 +index 2132b95b59e8d0e24ac45a8f656ec76c5610d45d..8c6bd440e8e12c064e9628dde6913991744afa8b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -340,6 +340,7 @@ public class PurpurWorldConfig { +@@ -341,6 +341,7 @@ public class PurpurWorldConfig { public boolean playerSleepNearMonsters = false; public boolean playersSkipNight = true; public double playerCriticalDamageMultiplier = 1.5D; @@ -66,7 +66,7 @@ index 762ede20fe7076da8b7c69707fbe779b7c5f7956..faca09270c21c6312064f2176ceb7404 private void playerSettings() { idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick); idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities); -@@ -356,6 +357,7 @@ public class PurpurWorldConfig { +@@ -358,6 +359,7 @@ 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/0216-Populator-seed-controls.patch b/patches/server/0216-Populator-seed-controls.patch index 83f2af342..ef756d33b 100644 --- a/patches/server/0216-Populator-seed-controls.patch +++ b/patches/server/0216-Populator-seed-controls.patch @@ -39,10 +39,10 @@ index a7a7e6cd87270e64a92448f03f8b0b0c7e375ec7..9fb19162c0e436122087d03d37b502a1 try { region.setCurrentlyGenerating(supplier3); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index faca09270c21c6312064f2176ceb740457da9628..3c5c9d66ff9bda8d6abfdabd86929fd5a12b701c 100644 +index 8c6bd440e8e12c064e9628dde6913991744afa8b..398be3312551c17dce4ae5bd7a898e4d36a040c2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2258,4 +2258,9 @@ public class PurpurWorldConfig { +@@ -2260,4 +2260,9 @@ 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); } diff --git a/patches/server/0218-Shulker-spawn-from-bullet-options.patch b/patches/server/0218-Shulker-spawn-from-bullet-options.patch index 4d66fee0d..0113c54bc 100644 --- a/patches/server/0218-Shulker-spawn-from-bullet-options.patch +++ b/patches/server/0218-Shulker-spawn-from-bullet-options.patch @@ -61,10 +61,10 @@ index f812a75985d26785639491c9a980387a3f261f2d..b11fb39b69f5225ca7da72ca1a2200c7 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3c5c9d66ff9bda8d6abfdabd86929fd5a12b701c..ff6d4741e060674ef1c45f5a526d83affddec575 100644 +index 398be3312551c17dce4ae5bd7a898e4d36a040c2..35a0a270fad348a2f60ae3f9a480f1a527f525ed 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1715,6 +1715,11 @@ public class PurpurWorldConfig { +@@ -1717,6 +1717,11 @@ public class PurpurWorldConfig { public boolean shulkerRidable = false; public boolean shulkerRidableInWater = false; public double shulkerMaxHealth = 30.0D; @@ -76,7 +76,7 @@ index 3c5c9d66ff9bda8d6abfdabd86929fd5a12b701c..ff6d4741e060674ef1c45f5a526d83af private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -1724,6 +1729,11 @@ public class PurpurWorldConfig { +@@ -1726,6 +1731,11 @@ public class PurpurWorldConfig { set("mobs.shulker.attributes.max_health", oldValue); } shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth); diff --git a/patches/server/0220-Option-to-make-drowned-break-doors.patch b/patches/server/0220-Option-to-make-drowned-break-doors.patch index 44ef133e2..a382f850d 100644 --- a/patches/server/0220-Option-to-make-drowned-break-doors.patch +++ b/patches/server/0220-Option-to-make-drowned-break-doors.patch @@ -34,10 +34,10 @@ index 8d3ce6c97a8734c0d13844cafca251a3f4dce8a4..a004d59483dc3ffb404ae28daf76c807 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index cc73654ef40f9a0d2ea03bd5f424747f1fb85044..dd8681aa02b27f766b7e4d4e79afa26fb2b21d3f 100644 +index a45d894c8234babc0a7b3b8ee03b92d192df168f..342b855ece49e1acbdd1268222ba156bf3012036 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1014,6 +1014,7 @@ public class PurpurWorldConfig { +@@ -1016,6 +1016,7 @@ public class PurpurWorldConfig { public boolean drownedJockeyOnlyBaby = true; public double drownedJockeyChance = 0.05D; public boolean drownedJockeyTryExistingChickens = true; @@ -45,7 +45,7 @@ index cc73654ef40f9a0d2ea03bd5f424747f1fb85044..dd8681aa02b27f766b7e4d4e79afa26f private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1027,6 +1028,7 @@ public class PurpurWorldConfig { +@@ -1029,6 +1030,7 @@ 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); diff --git a/patches/server/0221-Configurable-hunger-starvation-damage.patch b/patches/server/0221-Configurable-hunger-starvation-damage.patch index d0825fcbb..f0c74db07 100644 --- a/patches/server/0221-Configurable-hunger-starvation-damage.patch +++ b/patches/server/0221-Configurable-hunger-starvation-damage.patch @@ -18,10 +18,10 @@ index c1130952e3fa22abaa27fcc1c4761c831dc56cc3..1ac08eca469739cb52abd38483c431b6 this.tickTimer = 0; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index dd8681aa02b27f766b7e4d4e79afa26fb2b21d3f..2d06b3e59c0e2b1576779771186ad6706d0f1dce 100644 +index 342b855ece49e1acbdd1268222ba156bf3012036..093340d3871ec3db4271d5c33e53edef04d7ce03 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2277,4 +2277,9 @@ public class PurpurWorldConfig { +@@ -2279,4 +2279,9 @@ public class PurpurWorldConfig { private void seedSettings() { randomPopulatorSeed = getBoolean("seed.random-populator-seed", randomPopulatorSeed); } diff --git a/patches/server/0223-Armor-click-equip-options.patch b/patches/server/0223-Armor-click-equip-options.patch index 4527e228d..44cc64a4a 100644 --- a/patches/server/0223-Armor-click-equip-options.patch +++ b/patches/server/0223-Armor-click-equip-options.patch @@ -58,10 +58,10 @@ index 42f79d418ec4e2dbeac9a217d9dc144cda2ef714..250c0e31825f772d3fee7a523f150cb2 return InteractionResultHolder.fail(itemStack); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2d06b3e59c0e2b1576779771186ad6706d0f1dce..fae8c1c3fed375c4fc901486f7e7fd85a083b7c1 100644 +index 093340d3871ec3db4271d5c33e53edef04d7ce03..2ba590032d6d7c5278cc2bf5774be2c278e99fc0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -343,6 +343,8 @@ public class PurpurWorldConfig { +@@ -344,6 +344,8 @@ public class PurpurWorldConfig { public boolean playersSkipNight = true; public double playerCriticalDamageMultiplier = 1.5D; public boolean playerBurpWhenFull = false; @@ -70,7 +70,7 @@ index 2d06b3e59c0e2b1576779771186ad6706d0f1dce..fae8c1c3fed375c4fc901486f7e7fd85 private void playerSettings() { idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick); idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities); -@@ -360,6 +362,8 @@ public class PurpurWorldConfig { +@@ -362,6 +364,8 @@ public class PurpurWorldConfig { playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight); playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier); playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull); diff --git a/patches/server/0226-Tool-actionable-options.patch b/patches/server/0226-Tool-actionable-options.patch index 46183d99d..ce36f741e 100644 --- a/patches/server/0226-Tool-actionable-options.patch +++ b/patches/server/0226-Tool-actionable-options.patch @@ -109,10 +109,10 @@ index 009dd6b59e27a9413b3ef115468a6d1dd0746d56..fdbc1378bc148f5a16b414a3e5867cdc return InteractionResult.PASS; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index fae8c1c3fed375c4fc901486f7e7fd85a083b7c1..87f78e18c8328e7596a9c90da6ec8f6d849f3cc1 100644 +index 2ba590032d6d7c5278cc2bf5774be2c278e99fc0..2eb8beff069fea2cff9b95bffc7adaef331197f9 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -457,6 +457,153 @@ public class PurpurWorldConfig { +@@ -459,6 +459,153 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0232-Silk-touchable-budding-amethyst.patch b/patches/server/0232-Silk-touchable-budding-amethyst.patch index 8f18f4e3e..b381ca12e 100644 --- a/patches/server/0232-Silk-touchable-budding-amethyst.patch +++ b/patches/server/0232-Silk-touchable-budding-amethyst.patch @@ -24,10 +24,10 @@ index 02fc3ede12eadbf72e26e31b1c475c7f5b2ad73a..2288e727929ffb3a3bca138fb0289408 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a9cb05554f20a5b3ac3b4368c3772ebfc77f561f..b0cf22a170d4c62bf0ffc95fc169e623ce236a24 100644 +index def41828b2d2c8b37f03a571924bc62152c6f2fe..3f31fbb2363ddd6e6e39fbf2805b9e6a36a92ad2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -705,6 +705,11 @@ public class PurpurWorldConfig { +@@ -707,6 +707,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0233-Big-dripleaf-tilt-delay.patch b/patches/server/0233-Big-dripleaf-tilt-delay.patch index e7c767e56..468254599 100644 --- a/patches/server/0233-Big-dripleaf-tilt-delay.patch +++ b/patches/server/0233-Big-dripleaf-tilt-delay.patch @@ -24,10 +24,10 @@ index 5bfb60258018c8beda1fc2ac29e8ffc5c9377064..24e80e4d3ebbfd5f72e00ad7610efa12 if (i != -1) { world.getBlockTicks().scheduleTick(blockposition, this, i); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b0cf22a170d4c62bf0ffc95fc169e623ce236a24..28228d1e32ec9c63d251cc0f375a6bc9bac57a6b 100644 +index 3f31fbb2363ddd6e6e39fbf2805b9e6a36a92ad2..83a042dacf5c2746406dda579d4d4b8230717aa6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -705,6 +705,22 @@ public class PurpurWorldConfig { +@@ -707,6 +707,22 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0234-Player-ridable-in-water-option.patch b/patches/server/0234-Player-ridable-in-water-option.patch index 764a51532..92e6b3583 100644 --- a/patches/server/0234-Player-ridable-in-water-option.patch +++ b/patches/server/0234-Player-ridable-in-water-option.patch @@ -21,10 +21,10 @@ index 8d62bbb4fb818bea940bbac565cb8e30cb85818e..4d7e9a0d59ca2e3d9df1a7e47637bdbd if (!this.isPassenger() && this.onGround && !this.isInWater() && !this.isInPowderSnow) { if (this.getShoulderEntityLeft().isEmpty()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 28228d1e32ec9c63d251cc0f375a6bc9bac57a6b..d5ea371909d629dae91f8b4928cfbac78ff424d8 100644 +index 83a042dacf5c2746406dda579d4d4b8230717aa6..84b41052b3d3f1d99c1edc17e752ff0306eff9fa 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -347,6 +347,7 @@ public class PurpurWorldConfig { +@@ -348,6 +348,7 @@ public class PurpurWorldConfig { public boolean playerBurpWhenFull = false; public boolean playerArmorSwapping = false; public boolean playerArmorSwappingCreativeMakesCopy = true; @@ -32,7 +32,7 @@ index 28228d1e32ec9c63d251cc0f375a6bc9bac57a6b..d5ea371909d629dae91f8b4928cfbac7 private void playerSettings() { idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick); idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities); -@@ -366,6 +367,7 @@ public class PurpurWorldConfig { +@@ -368,6 +369,7 @@ public class PurpurWorldConfig { playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull); playerArmorSwapping = getBoolean("gameplay-mechanics.player.armor-click-equip.allow-hot-swapping", playerArmorSwapping); playerArmorSwappingCreativeMakesCopy = getBoolean("gameplay-mechanics.player.armor-click-equip.creative-makes-copy", playerArmorSwappingCreativeMakesCopy); diff --git a/patches/server/0235-Config-to-disable-Enderman-teleport-on-projectile-hi.patch b/patches/server/0235-Config-to-disable-Enderman-teleport-on-projectile-hi.patch index 92dd2f319..15da5dbe2 100644 --- a/patches/server/0235-Config-to-disable-Enderman-teleport-on-projectile-hi.patch +++ b/patches/server/0235-Config-to-disable-Enderman-teleport-on-projectile-hi.patch @@ -18,10 +18,10 @@ index ba61f78874d8578b862f317fe00a3162c45253e0..42370072dac9144be5c07f88d24d8ba4 for (int i = 0; i < 64; ++i) { if (this.teleport()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d5ea371909d629dae91f8b4928cfbac78ff424d8..35472374f55c5fa7e76626ea423a3a1a93f09dcd 100644 +index 84b41052b3d3f1d99c1edc17e752ff0306eff9fa..d481c7235af2bc9144b9b03fed83e283fe35725f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1256,6 +1256,7 @@ public class PurpurWorldConfig { +@@ -1258,6 +1258,7 @@ public class PurpurWorldConfig { public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; public boolean endermanIgnorePlayerDragonHead = false; public boolean endermanDisableStareAggro = false; @@ -29,7 +29,7 @@ index d5ea371909d629dae91f8b4928cfbac78ff424d8..35472374f55c5fa7e76626ea423a3a1a private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1277,6 +1278,7 @@ public class PurpurWorldConfig { +@@ -1279,6 +1280,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/0238-Config-to-prevent-horses-from-standing-with-riders.patch b/patches/server/0238-Config-to-prevent-horses-from-standing-with-riders.patch index d289672a1..7eb600efb 100644 --- a/patches/server/0238-Config-to-prevent-horses-from-standing-with-riders.patch +++ b/patches/server/0238-Config-to-prevent-horses-from-standing-with-riders.patch @@ -20,10 +20,10 @@ index 16b72398645757ca194cb638f46b4528283e2199..03ae6519a523ee73cce664d85074b5f9 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 35ec2183e4f05020e9370f7e24f9dadc43119a1d..5d9f610c649e4f34dfc3b3b151ab5cefd1fc4f03 100644 +index 3f6c3dc857bf212b069f4a848d973de281efe64a..0cb6779f0da78830564b7d30ac2c1e018b9a0861 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1435,6 +1435,7 @@ public class PurpurWorldConfig { +@@ -1437,6 +1437,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; @@ -31,7 +31,7 @@ index 35ec2183e4f05020e9370f7e24f9dadc43119a1d..5d9f610c649e4f34dfc3b3b151ab5cef private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1451,6 +1452,7 @@ public class PurpurWorldConfig { +@@ -1453,6 +1454,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); diff --git a/patches/server/0241-Customizeable-Zombie-Villager-curing-times.patch b/patches/server/0241-Customizeable-Zombie-Villager-curing-times.patch index 4c23fa859..3a82bef2a 100644 --- a/patches/server/0241-Customizeable-Zombie-Villager-curing-times.patch +++ b/patches/server/0241-Customizeable-Zombie-Villager-curing-times.patch @@ -18,10 +18,10 @@ index 7fda07f5fa756077dab59de95f15b9197e09581a..6a456f52ae529654c15bd3e8ec717b3f this.gameEvent(GameEvent.MOB_INTERACT, this.eyeBlockPosition()); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 10c660c375ec02ee9306543bf8c838b88a9fb0e8..538f9d91fddd374f7ab84db300f4afdba352d1db 100644 +index a986b6a2ef808a4b4796c160820e73b08121a889..ced739309c3ded34dd2182606d74875df9bb0fc0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2423,6 +2423,8 @@ public class PurpurWorldConfig { +@@ -2425,6 +2425,8 @@ public class PurpurWorldConfig { public boolean zombieVillagerJockeyOnlyBaby = true; public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; @@ -30,7 +30,7 @@ index 10c660c375ec02ee9306543bf8c838b88a9fb0e8..538f9d91fddd374f7ab84db300f4afdb private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2436,6 +2438,8 @@ public class PurpurWorldConfig { +@@ -2438,6 +2440,8 @@ 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); diff --git a/patches/server/0242-Option-for-sponges-to-work-on-lava.patch b/patches/server/0242-Option-for-sponges-to-work-on-lava.patch index bac9684aa..f22f630ae 100644 --- a/patches/server/0242-Option-for-sponges-to-work-on-lava.patch +++ b/patches/server/0242-Option-for-sponges-to-work-on-lava.patch @@ -18,10 +18,10 @@ index 5b10e1110f938745c8f9ed0b55960566bc720c30..c97fddfc680a9d1934c751e0e87e287d ++i; if (j < world.purpurConfig.spongeAbsorptionRadius) { // Purpur diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 538f9d91fddd374f7ab84db300f4afdba352d1db..5ec142cf35268a6a9fa9432dd665b40757ed6356 100644 +index ced739309c3ded34dd2182606d74875df9bb0fc0..79bd3e9550b1077c248c3fbcf5e0b862026bd47e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -928,9 +928,11 @@ public class PurpurWorldConfig { +@@ -930,9 +930,11 @@ public class PurpurWorldConfig { public int spongeAbsorptionArea = 64; public int spongeAbsorptionRadius = 6; diff --git a/patches/server/0243-Toggle-for-Wither-s-spawn-sound.patch b/patches/server/0243-Toggle-for-Wither-s-spawn-sound.patch index b83629692..c4534ed6d 100644 --- a/patches/server/0243-Toggle-for-Wither-s-spawn-sound.patch +++ b/patches/server/0243-Toggle-for-Wither-s-spawn-sound.patch @@ -18,10 +18,10 @@ index 48c1ddbd9f20e6ece121b166c08341006fa15105..c01c60485eba8f57ad6ead20bd3f9101 // this.world.b(1023, new BlockPosition(this), 0); //int viewDistance = ((WorldServer) this.world).getServer().getViewDistance() * 16; // Paper - updated to use worlds actual view distance incase we have to uncomment this due to removal of player view distance API diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5ec142cf35268a6a9fa9432dd665b40757ed6356..ade7df76d5b736573511723ffc94c18d907107f9 100644 +index 79bd3e9550b1077c248c3fbcf5e0b862026bd47e..99f17f15829e7af1e1b78f38cf90e91642c3680f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2284,6 +2284,7 @@ public class PurpurWorldConfig { +@@ -2286,6 +2286,7 @@ public class PurpurWorldConfig { public boolean witherBypassMobGriefing = false; public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; @@ -29,7 +29,7 @@ index 5ec142cf35268a6a9fa9432dd665b40757ed6356..ade7df76d5b736573511723ffc94c18d private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2303,6 +2304,7 @@ public class PurpurWorldConfig { +@@ -2305,6 +2306,7 @@ public class PurpurWorldConfig { witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius); diff --git a/patches/server/0244-Cactus-breaks-from-solid-neighbors-config.patch b/patches/server/0244-Cactus-breaks-from-solid-neighbors-config.patch index b5fac4cb8..f1f806fdc 100644 --- a/patches/server/0244-Cactus-breaks-from-solid-neighbors-config.patch +++ b/patches/server/0244-Cactus-breaks-from-solid-neighbors-config.patch @@ -18,10 +18,10 @@ index 2a02fdf58640d26b82e0ca22d0d8ff3326921b61..c65ec767363b76aa8e8234037d937423 return false; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ade7df76d5b736573511723ffc94c18d907107f9..e01c215c2d4ac67b942bb2d85cc656205c9758d1 100644 +index 99f17f15829e7af1e1b78f38cf90e91642c3680f..4f21b6fd12eccc520f3db9b0b272ecf2bbfc3d60 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -737,6 +737,11 @@ public class PurpurWorldConfig { +@@ -739,6 +739,11 @@ public class PurpurWorldConfig { buddingAmethystSilkTouch = getBoolean("blocks.budding_amethyst.silk-touch", buddingAmethystSilkTouch); } diff --git a/patches/server/0245-Config-to-remove-curse-of-binding-with-weakness.patch b/patches/server/0245-Config-to-remove-curse-of-binding-with-weakness.patch index 49bd61335..d9b4c66ca 100644 --- a/patches/server/0245-Config-to-remove-curse-of-binding-with-weakness.patch +++ b/patches/server/0245-Config-to-remove-curse-of-binding-with-weakness.patch @@ -26,10 +26,10 @@ index 777c21d8f3d5a7e9c156d25263f4b50ad67bd7c7..98cc31b2f318c468d1d2a26b24441bfe @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e01c215c2d4ac67b942bb2d85cc656205c9758d1..0ccb7328ee0d348300a0947241d732b897a91f60 100644 +index 4f21b6fd12eccc520f3db9b0b272ecf2bbfc3d60..788f444e790f4fb8a5d7f2238509270d18146149 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -357,6 +357,7 @@ public class PurpurWorldConfig { +@@ -358,6 +358,7 @@ public class PurpurWorldConfig { public boolean playerArmorSwapping = false; public boolean playerArmorSwappingCreativeMakesCopy = true; public boolean playerRidableInWater = false; @@ -37,7 +37,7 @@ index e01c215c2d4ac67b942bb2d85cc656205c9758d1..0ccb7328ee0d348300a0947241d732b8 private void playerSettings() { idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick); idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities); -@@ -377,6 +378,7 @@ public class PurpurWorldConfig { +@@ -379,6 +380,7 @@ public class PurpurWorldConfig { playerArmorSwapping = getBoolean("gameplay-mechanics.player.armor-click-equip.allow-hot-swapping", playerArmorSwapping); playerArmorSwappingCreativeMakesCopy = getBoolean("gameplay-mechanics.player.armor-click-equip.creative-makes-copy", playerArmorSwappingCreativeMakesCopy); playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater); diff --git a/patches/server/0246-Conduit-behavior-configuration.patch b/patches/server/0246-Conduit-behavior-configuration.patch index 00ba4704e..ce08e8952 100644 --- a/patches/server/0246-Conduit-behavior-configuration.patch +++ b/patches/server/0246-Conduit-behavior-configuration.patch @@ -44,10 +44,10 @@ index fc996199616156d04d6ae06ddc3da8d2c159c771..dd76fe8aa67a9c4142295b72b1c3cb78 } CraftEventFactory.blockDamage = null; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0ccb7328ee0d348300a0947241d732b897a91f60..627bebded409d93530b7ffb8db7b83e59d163f5c 100644 +index 788f444e790f4fb8a5d7f2238509270d18146149..1aaca52309078e0e40fda29079693be640df4308 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2486,4 +2486,27 @@ public class PurpurWorldConfig { +@@ -2488,4 +2488,27 @@ public class PurpurWorldConfig { private void hungerSettings() { hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage); } diff --git a/patches/server/0247-Cauldron-fill-chances.patch b/patches/server/0247-Cauldron-fill-chances.patch index 2f4d5605f..efe3fd692 100644 --- a/patches/server/0247-Cauldron-fill-chances.patch +++ b/patches/server/0247-Cauldron-fill-chances.patch @@ -18,10 +18,10 @@ index dbae4f3b56d0290c6d28b9beaaa3b459754d43e3..676184c48c3abd8e2fb9a04ae3e165dc @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 627bebded409d93530b7ffb8db7b83e59d163f5c..16b682308097800991521611aadf8379e58e1b7f 100644 +index 1aaca52309078e0e40fda29079693be640df4308..fe13c25efe4c3696f20771f1bbdf256c56934a24 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2509,4 +2509,11 @@ public class PurpurWorldConfig { +@@ -2511,4 +2511,11 @@ public class PurpurWorldConfig { }); conduitBlocks = conduitBlockList.toArray(Block[]::new); }