From f5dd02249f2c8361759d7ef8d8e060dc8f3f9b08 Mon Sep 17 00:00:00 2001 From: granny Date: Tue, 3 Dec 2024 20:24:56 -0800 Subject: [PATCH 01/19] prepare for 1.21.4 update --- README.md | 6 +++--- gradle.properties | 6 +++--- .../0224-Shears-can-have-looting-enchantment.patch | 0 .../dropped-server/0247-Remove-Mojang-Profiler.patch | 0 .../0001-Pufferfish-API-Changes.patch | 0 .../{api => unapplied-api}/0002-Fix-pufferfish-issues.patch | 0 patches/{api => unapplied-api}/0003-Rebrand.patch | 0 .../{api => unapplied-api}/0004-Purpur-config-files.patch | 0 .../{api => unapplied-api}/0005-Build-System-Changes.patch | 0 .../{api => unapplied-api}/0006-Purpur-client-support.patch | 0 .../{api => unapplied-api}/0007-Default-permissions.patch | 0 patches/{api => unapplied-api}/0008-Ridables.patch | 0 .../0009-Allow-inventory-resizing.patch | 0 patches/{api => unapplied-api}/0010-Llama-API.patch | 0 patches/{api => unapplied-api}/0011-AFK-API.patch | 0 .../0012-Bring-back-server-name.patch | 0 .../{api => unapplied-api}/0013-ExecuteCommandEvent.patch | 0 patches/{api => unapplied-api}/0014-Lagging-threshold.patch | 0 .../0015-PlayerSetSpawnerTypeWithEggEvent.patch | 0 patches/{api => unapplied-api}/0016-Anvil-API.patch | 0 .../0017-ItemStack-convenience-methods.patch | 0 .../0018-ChatColor-conveniences.patch | 0 .../0019-Item-entity-immunities.patch | 0 ...0-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch | 0 patches/{api => unapplied-api}/0021-Rabid-Wolf-API.patch | 0 .../0022-PlayerBookTooLargeEvent.patch | 0 .../0023-Full-netherite-armor-grants-fire-resistance.patch | 0 .../0024-Add-EntityTeleportHinderedEvent.patch | 0 ...0025-Add-enchantment-target-for-bows-and-crossbows.patch | 0 .../0026-API-for-any-mob-to-burn-daylight.patch | 0 .../0027-Add-back-player-spawned-endermite-API.patch | 0 .../0028-Fix-default-permission-system.patch | 0 patches/{api => unapplied-api}/0029-Summoner-API.patch | 0 .../0030-Clean-up-version-command-output.patch | 0 .../0031-Extended-OfflinePlayer-API.patch | 0 .../0032-Added-the-ability-to-add-combustible-items.patch | 0 patches/{api => unapplied-api}/0033-Grindstone-API.patch | 0 .../0034-Shears-can-have-looting-enchantment.patch | 0 .../0035-Lobotomize-stuck-villagers.patch | 0 .../0036-Add-local-difficulty-api.patch | 0 patches/{api => unapplied-api}/0037-Remove-Timings.patch | 0 patches/{api => unapplied-api}/0038-Add-Bee-API.patch | 0 patches/{api => unapplied-api}/0039-Debug-Marker-API.patch | 0 .../{api => unapplied-api}/0040-Add-death-screen-API.patch | 0 patches/{api => unapplied-api}/0041-Language-API.patch | 0 .../0042-Add-log-suppression-for-LibraryLoader.patch | 0 patches/{api => unapplied-api}/0043-Fire-Immunity-API.patch | 0 .../{api => unapplied-api}/0044-Added-goat-ram-event.patch | 0 .../{api => unapplied-api}/0045-Add-PreExplodeEvents.patch | 0 patches/{api => unapplied-api}/0046-Stored-Bee-API.patch | 0 patches/{api => unapplied-api}/0047-Explorer-Map-API.patch | 0 .../{api => unapplied-api}/0048-Stonecutter-damage.patch | 0 .../0001-Ridables.patch | 0 ...antoms-attracted-to-crystals-and-crystals-shoot-ph.patch | 0 ...d-option-to-disable-zombie-aggressiveness-towards-.patch | 0 .../0004-Rabid-Wolf-API.patch | 0 .../0005-Iron-golem-poppy-calms-anger.patch | 0 .../0001-Pufferfish-Server-Changes.patch | 0 .../0002-Fix-pufferfish-issues.patch | 0 patches/{server => unapplied-server}/0003-Rebrand.patch | 0 .../0004-Purpur-config-files.patch | 0 .../0005-Purpur-client-support.patch | 0 patches/{server => unapplied-server}/0006-MC-Utils.patch | 0 .../0007-Fix-decompile-errors.patch | 0 .../0008-Component-related-conveniences.patch | 0 patches/{server => unapplied-server}/0009-Ridables.patch | 0 .../0010-Configurable-entity-base-attributes.patch | 0 .../0011-Barrels-and-enderchests-6-rows.patch | 0 patches/{server => unapplied-server}/0012-Llama-API.patch | 0 patches/{server => unapplied-server}/0013-AFK-API.patch | 0 .../0014-Bring-back-server-name.patch | 0 .../0015-Configurable-server-mod-name.patch | 0 .../0016-Lagging-threshold.patch | 0 .../0017-PlayerSetSpawnerTypeWithEggEvent.patch | 0 patches/{server => unapplied-server}/0018-Anvil-API.patch | 0 .../0019-Alternative-Keepalive-Handling.patch | 0 .../0020-Enchantment-convenience-methods.patch | 0 .../0021-Silk-touch-spawners.patch | 0 .../0022-Add-turtle-egg-block-options.patch | 0 .../0023-Logger-settings-suppressing-pointless-logs.patch | 0 .../0024-Disable-outdated-build-check.patch | 0 .../0025-Giants-AI-settings.patch | 0 .../0026-Zombie-horse-naturally-spawn.patch | 0 .../0027-Charged-creeper-naturally-spawn.patch | 0 .../0028-Rabbit-naturally-spawn-toast-and-killer.patch | 0 ...x-outdated-server-showing-in-ping-before-server-fu.patch | 0 .../0030-Tulips-change-fox-type.patch | 0 .../0031-Breedable-Polar-Bears.patch | 0 .../0032-Chickens-can-retaliate.patch | 0 .../0033-Add-option-to-set-armorstand-step-height.patch | 0 .../0034-Cat-spawning-options.patch | 0 .../0035-Cows-eat-mushrooms.patch | 0 .../0036-Fix-cow-rotation-when-shearing-mooshroom.patch | 0 .../0037-Pigs-give-saddle-back.patch | 0 .../0038-Snowman-drop-and-put-back-pumpkin.patch | 0 .../0039-Ender-dragon-always-drop-full-exp.patch | 0 ...Allow-soil-to-moisten-from-water-directly-under-it.patch | 0 .../0041-Minecart-settings-and-WASD-controls.patch | 0 .../0042-Disable-loot-drops-on-death-by-cramming.patch | 0 .../0043-Option-to-toggle-milk-curing-bad-omen.patch | 0 .../0044-Skip-events-if-there-s-no-listeners.patch | 0 .../0045-Add-permission-for-F3-N-debug.patch | 0 .../0046-Configurable-TPS-Catchup.patch | 0 ...d-option-to-allow-loyalty-on-tridents-to-work-in-t.patch | 0 .../0048-Add-enderman-and-creeper-griefing-controls.patch | 0 .../0049-Villagers-follow-emerald-blocks.patch | 0 .../0050-Allow-leashing-villagers.patch | 0 .../0051-Implement-infinite-liquids.patch | 0 .../0052-Make-lava-flow-speed-configurable.patch | 0 .../0053-Add-player-death-exp-control-options.patch | 0 .../0054-Configurable-void-damage-height-and-damage.patch | 0 .../0055-Add-canSaveToDisk-to-Entity.patch | 0 .../0056-Dispenser-curse-of-binding-protection.patch | 0 ...0057-Add-option-for-boats-to-eject-players-on-land.patch | 0 .../0058-Mending-mends-most-damages-equipment-first.patch | 0 .../0059-Add-5-second-tps-average-in-tps.patch | 0 .../0060-Implement-elytra-settings.patch | 0 .../0061-Item-entity-immunities.patch | 0 .../0062-Add-ping-command.patch | 0 .../0063-Add-demo-command.patch | 0 .../0064-Add-credits-command.patch | 0 .../0065-Configurable-jockey-options.patch | 0 ...antoms-attracted-to-crystals-and-crystals-shoot-ph.patch | 0 .../0067-Add-phantom-spawning-options.patch | 0 .../0068-Implement-bed-explosion-options.patch | 0 .../0069-Implement-respawn-anchor-explosion-options.patch | 0 .../0070-Add-allow-water-in-end-world-option.patch | 0 .../0071-Allow-color-codes-in-books.patch | 0 .../{server => unapplied-server}/0072-Entity-lifespan.patch | 0 ...d-option-to-teleport-to-spawn-if-outside-world-bor.patch | 0 .../0074-Squid-EAR-immunity.patch | 0 .../0075-Phantoms-burn-in-light.patch | 0 .../0076-Configurable-villager-breeding.patch | 0 .../0077-Redstone-deactivates-spawners.patch | 0 .../0078-Totems-work-in-inventory.patch | 0 .../0079-Add-vindicator-johnny-spawn-chance.patch | 0 .../0080-Dispensers-place-anvils-option.patch | 0 .../0081-Allow-anvil-colors.patch | 0 ...2-Add-option-to-disable-dolphin-treasure-searching.patch | 0 .../0083-Short-enderman-height.patch | 0 .../0084-Stop-squids-floating-on-top-of-water.patch | 0 .../0085-Crying-obsidian-valid-for-portal-frames.patch | 0 .../0086-Entities-can-use-portals.patch | 0 .../0087-Customizable-wither-health-and-healing.patch | 0 .../0088-Allow-toggling-special-MobSpawners-per-world.patch | 0 .../0089-Raid-cooldown-setting.patch | 0 ...d-option-to-disable-zombie-aggressiveness-towards-.patch | 0 ...1-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch | 0 .../0092-Flying-squids-Oh-my.patch | 0 .../0093-Infinity-bow-settings.patch | 0 .../0094-Configurable-daylight-cycle.patch | 0 .../0095-Furnace-uses-lava-from-underneath.patch | 0 .../0096-Arrows-should-not-reset-despawn-counter.patch | 0 ...97-Ability-to-re-add-farmland-mechanics-from-Alpha.patch | 0 .../0098-Add-adjustable-breeding-cooldown-to-config.patch | 0 .../0099-Make-entity-breeding-times-configurable.patch | 0 ...ply-display-names-from-item-forms-of-entities-to-e.patch | 0 ...t-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch | 0 ...d-config-for-allowing-Endermen-to-despawn-even-whi.patch | 0 .../0103-Add-configurable-snowball-damage.patch | 0 .../0104-Changeable-Mob-Left-Handed-Chance.patch | 0 .../0105-Add-boat-fall-damage-config.patch | 0 .../0106-Snow-Golem-rate-of-fire-config.patch | 0 .../0107-EMC-Configurable-disable-give-dropping.patch | 0 ...08-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch | 0 ...ggle-for-Zombified-Piglin-death-always-counting-as.patch | 0 ...0110-Configurable-chance-for-wolves-to-spawn-rabid.patch | 0 .../0111-Configurable-default-collar-color.patch | 0 .../0112-Phantom-flames-on-swoop.patch | 0 ...tion-for-chests-to-open-even-with-a-solid-block-on.patch | 0 .../0114-Implement-TPSBar.patch | 0 .../0115-Striders-give-saddle-back.patch | 0 .../0116-PlayerBookTooLargeEvent.patch | 0 .../0117-Full-netherite-armor-grants-fire-resistance.patch | 0 ...0118-Add-mobGriefing-bypass-to-everything-affected.patch | 0 ...119-Config-to-allow-Note-Block-sounds-when-blocked.patch | 0 .../0120-Add-EntityTeleportHinderedEvent.patch | 0 .../0121-Farmland-trampling-changes.patch | 0 .../0122-Movement-options-for-armor-stands.patch | 0 .../0123-Fix-stuck-in-portals.patch | 0 .../0124-Toggle-for-water-sensitive-mob-damage.patch | 0 .../0125-Config-to-always-tame-in-Creative.patch | 0 .../0126-End-crystal-explosion-options.patch | 0 ...nfigs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch | 0 .../0128-Dont-run-with-scissors.patch | 0 .../{server => unapplied-server}/0129-One-Punch-Man.patch | 0 ...nfigurable-Ender-Pearl-cooldown-damage-and-Endermi.patch | 0 .../0131-Config-to-ignore-nearby-mobs-when-sleeping.patch | 0 .../0132-Add-back-player-spawned-endermite-API.patch | 0 ...-Config-Enderman-aggressiveness-towards-Endermites.patch | 0 ...nfig-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch | 0 .../0135-Tick-fluids-config.patch | 0 .../0136-Config-to-disable-Llama-caravans.patch | 0 .../0137-Config-to-make-Creepers-explode-on-death.patch | 0 .../0138-Configurable-ravager-griefable-blocks-list.patch | 0 .../0139-Sneak-to-bulk-process-composter.patch | 0 .../0140-Config-for-skipping-night.patch | 0 .../0141-Add-config-for-villager-trading.patch | 0 .../0142-Drowning-Settings.patch | 0 .../0143-Break-individual-slabs-when-sneaking.patch | 0 .../0144-Config-to-disable-hostile-mob-spawn-on-ice.patch | 0 .../0145-Config-to-show-Armor-Stand-arms-on-spawn.patch | 0 .../0146-Option-to-make-doors-require-redstone.patch | 0 .../0147-Config-to-allow-unsafe-enchants.patch | 0 .../0148-Configurable-sponge-absorption.patch | 0 .../0149-Projectile-offset-config.patch | 0 .../0150-Config-for-powered-rail-activation-distance.patch | 0 .../0151-Piglin-portal-spawn-modifier.patch | 0 .../0152-Config-to-change-max-number-of-bees.patch | 0 .../0153-Config-for-wither-explosion-radius.patch | 0 .../0154-Gamemode-extra-permissions.patch | 0 .../0155-Configurable-piston-push-limit.patch | 0 .../0156-Configurable-broadcast-settings.patch | 0 .../0157-Configurable-mob-blindness.patch | 0 .../0158-Hide-hidden-players-from-entity-selector.patch | 0 ...nfig-for-health-to-impact-Creeper-explosion-radius.patch | 0 .../0160-Iron-golem-calm-anger-options.patch | 0 .../0161-Breedable-parrots.patch | 0 .../0162-Configurable-powered-rail-boost-modifier.patch | 0 ...Add-config-change-multiplier-critical-damage-value.patch | 0 .../0164-Option-to-disable-dragon-egg-teleporting.patch | 0 .../0165-Config-for-unverified-username-message.patch | 0 .../0166-Make-anvil-cumulative-cost-configurable.patch | 0 .../0167-Bee-can-work-when-raining-or-at-night.patch | 0 .../0168-API-for-any-mob-to-burn-daylight.patch | 0 .../0169-Config-MobEffect-by-world.patch | 0 .../0170-Beacon-Activation-Range-Configurable.patch | 0 .../0171-Make-lightning-rod-range-configurable.patch | 0 ...rp-delay-burp-after-eating-food-fills-hunger-bar-c.patch | 0 .../0173-Allow-player-join-full-server-by-permission.patch | 0 .../0174-Add-portal-permission-bypass.patch | 0 .../0175-Shulker-spawn-from-bullet-options.patch | 0 .../0176-Eating-glow-berries-adds-glow-effect.patch | 0 .../0177-Option-to-make-drowned-break-doors.patch | 0 .../0178-Configurable-hunger-starvation-damage.patch | 0 .../0179-Enhance-SysoutCatcher.patch | 0 .../0180-Add-uptime-command.patch | 0 .../0181-Tool-actionable-options.patch | 0 .../0182-Store-placer-on-Block-when-placed.patch | 0 .../{server => unapplied-server}/0183-Summoner-API.patch | 0 .../0184-Customizable-sleeping-actionbar-messages.patch | 0 ...tion-to-disable-shulker-box-items-from-dropping-co.patch | 0 .../0186-Big-dripleaf-tilt-delay.patch | 0 .../0187-Player-ridable-in-water-option.patch | 0 ...nfig-to-disable-Enderman-teleport-on-projectile-hi.patch | 0 .../0189-Add-compass-command.patch | 0 .../0190-Toggle-for-kinetic-damage.patch | 0 .../0191-Add-Option-for-disable-observer-clocks.patch | 0 .../0192-Customizeable-Zombie-Villager-curing-times.patch | 0 .../0193-Option-for-sponges-to-work-on-lava-and-mud.patch | 0 .../0194-Toggle-for-Wither-s-spawn-sound.patch | 0 .../0195-Cactus-breaks-from-solid-neighbors-config.patch | 0 ...96-Config-to-remove-curse-of-binding-with-weakness.patch | 0 .../0197-Conduit-behavior-configuration.patch | 0 .../0198-Cauldron-fill-chances.patch | 0 .../0199-Config-to-allow-mobs-to-pathfind-over-rails.patch | 0 .../0200-Shulker-change-color-with-dye.patch | 0 .../0201-Extended-OfflinePlayer-API.patch | 0 .../0202-Added-the-ability-to-add-combustible-items.patch | 0 ...ption-for-if-rain-and-thunder-should-stop-on-sleep.patch | 0 ...ance-for-azalea-blocks-to-grow-into-trees-naturall.patch | 0 .../0205-Shift-right-click-to-use-exp-for-mending.patch | 0 ...06-Dolphins-naturally-aggressive-to-players-chance.patch | 0 .../0207-Cows-naturally-aggressive-to-players-chance.patch | 0 .../0208-Option-for-beds-to-explode-on-villager-sleep.patch | 0 .../0209-Halloween-options-and-optimizations.patch | 0 .../0210-Config-for-grindstones.patch | 0 .../0211-UPnP-Port-Forwarding.patch | 0 .../0212-Campfire-option-for-lit-when-placed.patch | 0 ...3-options-to-extinguish-fire-blocks-with-snowballs.patch | 0 .../0214-Add-option-to-disable-zombie-villagers-cure.patch | 0 .../0215-Persistent-BlockEntity-Lore-and-DisplayName.patch | 0 .../0216-Signs-allow-color-codes.patch | 0 ...lp-cave-weeping-and-twisting-vines-configurable-ma.patch | 0 .../0218-Mobs-always-drop-experience.patch | 0 .../{server => unapplied-server}/0219-Grindstone-API.patch | 0 ...-Ability-for-hoe-to-replant-crops-and-nether-warts.patch | 0 .../0221-Turtle-eggs-random-tick-crack-chance.patch | 0 .../0222-Mob-head-visibility-percent.patch | 0 .../0223-Configurable-valid-characters-for-usernames.patch | 0 .../0224-Stop-bees-from-dying-after-stinging.patch | 0 ...0225-Give-bee-counts-in-beehives-to-Purpur-clients.patch | 0 .../0226-Configurable-farmland-trample-height.patch | 0 .../0227-Configurable-player-pickup-exp-delay.patch | 0 .../0228-Allow-void-trading.patch | 0 .../0229-Configurable-phantom-size.patch | 0 .../0230-Max-joins-per-second.patch | 0 .../0231-Configurable-minimum-demand-for-trades.patch | 0 .../0232-Lobotomize-stuck-villagers.patch | 0 .../0233-Option-for-villager-display-trade-item.patch | 0 ...-238526-Fix-spawner-not-spawning-water-animals-cor.patch | 0 .../0235-Config-for-mob-last-hurt-by-player-time.patch | 0 .../0236-Anvil-repair-damage-options.patch | 0 ...tion-to-disable-turtle-egg-trampling-with-feather-.patch | 0 .../0238-Add-toggle-for-enchant-level-clamping.patch | 0 .../0239-Skip-junit-tests-for-purpur-commands.patch | 0 ...plement-configurable-search-radius-for-villagers-t.patch | 0 .../0241-Stonecutter-damage.patch | 0 ...0242-Configurable-damage-settings-for-magma-blocks.patch | 0 .../0243-Add-config-for-snow-on-blue-ice.patch | 0 .../0244-Skeletons-eat-wither-roses.patch | 0 .../0245-Enchantment-Table-Persists-Lapis.patch | 0 .../0246-Option-to-disable-kick-for-out-of-order-chat.patch | 0 .../0247-Config-for-sculk-shrieker-can_summon-state.patch | 0 .../0248-Config-to-not-let-coral-die.patch | 0 .../0249-Add-local-difficulty-api.patch | 0 .../0250-Add-toggle-for-RNG-manipulation.patch | 0 ...-Add-more-logger-output-for-invalid-movement-kicks.patch | 0 patches/{server => unapplied-server}/0252-Add-Bee-API.patch | 0 .../0253-Debug-Marker-API.patch | 0 ...254-mob-spawning-option-to-ignore-creative-players.patch | 0 .../0255-Add-skeleton-bow-accuracy-option.patch | 0 .../0256-Add-death-screen-API.patch | 0 .../0257-Make-pufferfish-config-relocatable.patch | 0 .../0258-Implement-ram-and-rambar-commands.patch | 0 .../0259-Configurable-block-blast-resistance.patch | 0 .../0260-Configurable-block-fall-damage-modifiers.patch | 0 .../{server => unapplied-server}/0261-Language-API.patch | 0 .../0262-Milk-Keeps-Beneficial-Effects.patch | 0 ...-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch | 0 .../0264-Add-log-suppression-for-LibraryLoader.patch | 0 ...65-Add-an-option-to-fix-MC-3304-projectile-looting.patch | 0 ...d-option-to-allow-creeper-to-encircle-target-when-.patch | 0 .../0267-Fire-Immunity-API.patch | 0 ...d-option-to-teleport-to-spawn-on-nether-ceiling-da.patch | 0 .../0269-Added-got-ram-event.patch | 0 .../0270-Log-skipped-entity-s-position.patch | 0 .../0271-End-Crystal-Cramming.patch | 0 ...tion-to-allow-beacon-effects-when-covered-by-tinte.patch | 0 ...0273-Add-attribute-clamping-and-armor-limit-config.patch | 0 .../0274-Config-to-remove-explosion-radius-clamp.patch | 0 .../0275-bonemealable-sugarcane-cactus-and-netherwart.patch | 0 .../0276-Add-PreExplodeEvents.patch | 0 .../0277-Improve-output-of-plugins-command.patch | 0 .../0278-Make-GUI-Great-Again.patch | 0 .../{server => unapplied-server}/0279-Stored-Bee-API.patch | 0 .../0280-Shears-can-defuse-TNT.patch | 0 .../0281-Explorer-Map-API.patch | 0 .../0282-Option-Ocelot-Spawn-Under-Sea-Level.patch | 0 ...d-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch | 0 ...d-option-for-always-showing-item-in-player-death-m.patch | 0 .../0285-place-end-crystal-on-any-block.patch | 0 ...d-option-to-disable-the-copper-oxidation-proximity.patch | 0 .../0287-register-minecraft-debug-commands.patch | 0 .../0288-Configurable-villager-search-radius.patch | 0 .../0289-option-to-make-ravagers-afraid-of-rabbits.patch | 0 .../0290-config-for-startup-commands.patch | 0 .../0291-Config-to-reverse-bubble-column-flow.patch | 0 .../0292-Adopt-MaterialRerouting.patch | 0 ...re-EntityTeleportHinderedEvent-when-attempting-to-.patch | 0 .../0294-ItemStack-convenience-methods.patch | 0 351 files changed, 6 insertions(+), 6 deletions(-) rename patches/{ => 1-21-3}/dropped-server/0224-Shears-can-have-looting-enchantment.patch (100%) rename patches/{ => 1-21-3}/dropped-server/0247-Remove-Mojang-Profiler.patch (100%) rename patches/{api => unapplied-api}/0001-Pufferfish-API-Changes.patch (100%) rename patches/{api => unapplied-api}/0002-Fix-pufferfish-issues.patch (100%) rename patches/{api => unapplied-api}/0003-Rebrand.patch (100%) rename patches/{api => unapplied-api}/0004-Purpur-config-files.patch (100%) rename patches/{api => unapplied-api}/0005-Build-System-Changes.patch (100%) rename patches/{api => unapplied-api}/0006-Purpur-client-support.patch (100%) rename patches/{api => unapplied-api}/0007-Default-permissions.patch (100%) rename patches/{api => unapplied-api}/0008-Ridables.patch (100%) rename patches/{api => unapplied-api}/0009-Allow-inventory-resizing.patch (100%) rename patches/{api => unapplied-api}/0010-Llama-API.patch (100%) rename patches/{api => unapplied-api}/0011-AFK-API.patch (100%) rename patches/{api => unapplied-api}/0012-Bring-back-server-name.patch (100%) rename patches/{api => unapplied-api}/0013-ExecuteCommandEvent.patch (100%) rename patches/{api => unapplied-api}/0014-Lagging-threshold.patch (100%) rename patches/{api => unapplied-api}/0015-PlayerSetSpawnerTypeWithEggEvent.patch (100%) rename patches/{api => unapplied-api}/0016-Anvil-API.patch (100%) rename patches/{api => unapplied-api}/0017-ItemStack-convenience-methods.patch (100%) rename patches/{api => unapplied-api}/0018-ChatColor-conveniences.patch (100%) rename patches/{api => unapplied-api}/0019-Item-entity-immunities.patch (100%) rename patches/{api => unapplied-api}/0020-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch (100%) rename patches/{api => unapplied-api}/0021-Rabid-Wolf-API.patch (100%) rename patches/{api => unapplied-api}/0022-PlayerBookTooLargeEvent.patch (100%) rename patches/{api => unapplied-api}/0023-Full-netherite-armor-grants-fire-resistance.patch (100%) rename patches/{api => unapplied-api}/0024-Add-EntityTeleportHinderedEvent.patch (100%) rename patches/{api => unapplied-api}/0025-Add-enchantment-target-for-bows-and-crossbows.patch (100%) rename patches/{api => unapplied-api}/0026-API-for-any-mob-to-burn-daylight.patch (100%) rename patches/{api => unapplied-api}/0027-Add-back-player-spawned-endermite-API.patch (100%) rename patches/{api => unapplied-api}/0028-Fix-default-permission-system.patch (100%) rename patches/{api => unapplied-api}/0029-Summoner-API.patch (100%) rename patches/{api => unapplied-api}/0030-Clean-up-version-command-output.patch (100%) rename patches/{api => unapplied-api}/0031-Extended-OfflinePlayer-API.patch (100%) rename patches/{api => unapplied-api}/0032-Added-the-ability-to-add-combustible-items.patch (100%) rename patches/{api => unapplied-api}/0033-Grindstone-API.patch (100%) rename patches/{api => unapplied-api}/0034-Shears-can-have-looting-enchantment.patch (100%) rename patches/{api => unapplied-api}/0035-Lobotomize-stuck-villagers.patch (100%) rename patches/{api => unapplied-api}/0036-Add-local-difficulty-api.patch (100%) rename patches/{api => unapplied-api}/0037-Remove-Timings.patch (100%) rename patches/{api => unapplied-api}/0038-Add-Bee-API.patch (100%) rename patches/{api => unapplied-api}/0039-Debug-Marker-API.patch (100%) rename patches/{api => unapplied-api}/0040-Add-death-screen-API.patch (100%) rename patches/{api => unapplied-api}/0041-Language-API.patch (100%) rename patches/{api => unapplied-api}/0042-Add-log-suppression-for-LibraryLoader.patch (100%) rename patches/{api => unapplied-api}/0043-Fire-Immunity-API.patch (100%) rename patches/{api => unapplied-api}/0044-Added-goat-ram-event.patch (100%) rename patches/{api => unapplied-api}/0045-Add-PreExplodeEvents.patch (100%) rename patches/{api => unapplied-api}/0046-Stored-Bee-API.patch (100%) rename patches/{api => unapplied-api}/0047-Explorer-Map-API.patch (100%) rename patches/{api => unapplied-api}/0048-Stonecutter-damage.patch (100%) rename patches/{generated-api => unapplied-generated-api}/0001-Ridables.patch (100%) rename patches/{generated-api => unapplied-generated-api}/0002-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch (100%) rename patches/{generated-api => unapplied-generated-api}/0003-Add-option-to-disable-zombie-aggressiveness-towards-.patch (100%) rename patches/{generated-api => unapplied-generated-api}/0004-Rabid-Wolf-API.patch (100%) rename patches/{generated-api => unapplied-generated-api}/0005-Iron-golem-poppy-calms-anger.patch (100%) rename patches/{server => unapplied-server}/0001-Pufferfish-Server-Changes.patch (100%) rename patches/{server => unapplied-server}/0002-Fix-pufferfish-issues.patch (100%) rename patches/{server => unapplied-server}/0003-Rebrand.patch (100%) rename patches/{server => unapplied-server}/0004-Purpur-config-files.patch (100%) rename patches/{server => unapplied-server}/0005-Purpur-client-support.patch (100%) rename patches/{server => unapplied-server}/0006-MC-Utils.patch (100%) rename patches/{server => unapplied-server}/0007-Fix-decompile-errors.patch (100%) rename patches/{server => unapplied-server}/0008-Component-related-conveniences.patch (100%) rename patches/{server => unapplied-server}/0009-Ridables.patch (100%) rename patches/{server => unapplied-server}/0010-Configurable-entity-base-attributes.patch (100%) rename patches/{server => unapplied-server}/0011-Barrels-and-enderchests-6-rows.patch (100%) rename patches/{server => unapplied-server}/0012-Llama-API.patch (100%) rename patches/{server => unapplied-server}/0013-AFK-API.patch (100%) rename patches/{server => unapplied-server}/0014-Bring-back-server-name.patch (100%) rename patches/{server => unapplied-server}/0015-Configurable-server-mod-name.patch (100%) rename patches/{server => unapplied-server}/0016-Lagging-threshold.patch (100%) rename patches/{server => unapplied-server}/0017-PlayerSetSpawnerTypeWithEggEvent.patch (100%) rename patches/{server => unapplied-server}/0018-Anvil-API.patch (100%) rename patches/{server => unapplied-server}/0019-Alternative-Keepalive-Handling.patch (100%) rename patches/{server => unapplied-server}/0020-Enchantment-convenience-methods.patch (100%) rename patches/{server => unapplied-server}/0021-Silk-touch-spawners.patch (100%) rename patches/{server => unapplied-server}/0022-Add-turtle-egg-block-options.patch (100%) rename patches/{server => unapplied-server}/0023-Logger-settings-suppressing-pointless-logs.patch (100%) rename patches/{server => unapplied-server}/0024-Disable-outdated-build-check.patch (100%) rename patches/{server => unapplied-server}/0025-Giants-AI-settings.patch (100%) rename patches/{server => unapplied-server}/0026-Zombie-horse-naturally-spawn.patch (100%) rename patches/{server => unapplied-server}/0027-Charged-creeper-naturally-spawn.patch (100%) rename patches/{server => unapplied-server}/0028-Rabbit-naturally-spawn-toast-and-killer.patch (100%) rename patches/{server => unapplied-server}/0029-Fix-outdated-server-showing-in-ping-before-server-fu.patch (100%) rename patches/{server => unapplied-server}/0030-Tulips-change-fox-type.patch (100%) rename patches/{server => unapplied-server}/0031-Breedable-Polar-Bears.patch (100%) rename patches/{server => unapplied-server}/0032-Chickens-can-retaliate.patch (100%) rename patches/{server => unapplied-server}/0033-Add-option-to-set-armorstand-step-height.patch (100%) rename patches/{server => unapplied-server}/0034-Cat-spawning-options.patch (100%) rename patches/{server => unapplied-server}/0035-Cows-eat-mushrooms.patch (100%) rename patches/{server => unapplied-server}/0036-Fix-cow-rotation-when-shearing-mooshroom.patch (100%) rename patches/{server => unapplied-server}/0037-Pigs-give-saddle-back.patch (100%) rename patches/{server => unapplied-server}/0038-Snowman-drop-and-put-back-pumpkin.patch (100%) rename patches/{server => unapplied-server}/0039-Ender-dragon-always-drop-full-exp.patch (100%) rename patches/{server => unapplied-server}/0040-Allow-soil-to-moisten-from-water-directly-under-it.patch (100%) rename patches/{server => unapplied-server}/0041-Minecart-settings-and-WASD-controls.patch (100%) rename patches/{server => unapplied-server}/0042-Disable-loot-drops-on-death-by-cramming.patch (100%) rename patches/{server => unapplied-server}/0043-Option-to-toggle-milk-curing-bad-omen.patch (100%) rename patches/{server => unapplied-server}/0044-Skip-events-if-there-s-no-listeners.patch (100%) rename patches/{server => unapplied-server}/0045-Add-permission-for-F3-N-debug.patch (100%) rename patches/{server => unapplied-server}/0046-Configurable-TPS-Catchup.patch (100%) rename patches/{server => unapplied-server}/0047-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch (100%) rename patches/{server => unapplied-server}/0048-Add-enderman-and-creeper-griefing-controls.patch (100%) rename patches/{server => unapplied-server}/0049-Villagers-follow-emerald-blocks.patch (100%) rename patches/{server => unapplied-server}/0050-Allow-leashing-villagers.patch (100%) rename patches/{server => unapplied-server}/0051-Implement-infinite-liquids.patch (100%) rename patches/{server => unapplied-server}/0052-Make-lava-flow-speed-configurable.patch (100%) rename patches/{server => unapplied-server}/0053-Add-player-death-exp-control-options.patch (100%) rename patches/{server => unapplied-server}/0054-Configurable-void-damage-height-and-damage.patch (100%) rename patches/{server => unapplied-server}/0055-Add-canSaveToDisk-to-Entity.patch (100%) rename patches/{server => unapplied-server}/0056-Dispenser-curse-of-binding-protection.patch (100%) rename patches/{server => unapplied-server}/0057-Add-option-for-boats-to-eject-players-on-land.patch (100%) rename patches/{server => unapplied-server}/0058-Mending-mends-most-damages-equipment-first.patch (100%) rename patches/{server => unapplied-server}/0059-Add-5-second-tps-average-in-tps.patch (100%) rename patches/{server => unapplied-server}/0060-Implement-elytra-settings.patch (100%) rename patches/{server => unapplied-server}/0061-Item-entity-immunities.patch (100%) rename patches/{server => unapplied-server}/0062-Add-ping-command.patch (100%) rename patches/{server => unapplied-server}/0063-Add-demo-command.patch (100%) rename patches/{server => unapplied-server}/0064-Add-credits-command.patch (100%) rename patches/{server => unapplied-server}/0065-Configurable-jockey-options.patch (100%) rename patches/{server => unapplied-server}/0066-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch (100%) rename patches/{server => unapplied-server}/0067-Add-phantom-spawning-options.patch (100%) rename patches/{server => unapplied-server}/0068-Implement-bed-explosion-options.patch (100%) rename patches/{server => unapplied-server}/0069-Implement-respawn-anchor-explosion-options.patch (100%) rename patches/{server => unapplied-server}/0070-Add-allow-water-in-end-world-option.patch (100%) rename patches/{server => unapplied-server}/0071-Allow-color-codes-in-books.patch (100%) rename patches/{server => unapplied-server}/0072-Entity-lifespan.patch (100%) rename patches/{server => unapplied-server}/0073-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch (100%) rename patches/{server => unapplied-server}/0074-Squid-EAR-immunity.patch (100%) rename patches/{server => unapplied-server}/0075-Phantoms-burn-in-light.patch (100%) rename patches/{server => unapplied-server}/0076-Configurable-villager-breeding.patch (100%) rename patches/{server => unapplied-server}/0077-Redstone-deactivates-spawners.patch (100%) rename patches/{server => unapplied-server}/0078-Totems-work-in-inventory.patch (100%) rename patches/{server => unapplied-server}/0079-Add-vindicator-johnny-spawn-chance.patch (100%) rename patches/{server => unapplied-server}/0080-Dispensers-place-anvils-option.patch (100%) rename patches/{server => unapplied-server}/0081-Allow-anvil-colors.patch (100%) rename patches/{server => unapplied-server}/0082-Add-option-to-disable-dolphin-treasure-searching.patch (100%) rename patches/{server => unapplied-server}/0083-Short-enderman-height.patch (100%) rename patches/{server => unapplied-server}/0084-Stop-squids-floating-on-top-of-water.patch (100%) rename patches/{server => unapplied-server}/0085-Crying-obsidian-valid-for-portal-frames.patch (100%) rename patches/{server => unapplied-server}/0086-Entities-can-use-portals.patch (100%) rename patches/{server => unapplied-server}/0087-Customizable-wither-health-and-healing.patch (100%) rename patches/{server => unapplied-server}/0088-Allow-toggling-special-MobSpawners-per-world.patch (100%) rename patches/{server => unapplied-server}/0089-Raid-cooldown-setting.patch (100%) rename patches/{server => unapplied-server}/0090-Add-option-to-disable-zombie-aggressiveness-towards-.patch (100%) rename patches/{server => unapplied-server}/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch (100%) rename patches/{server => unapplied-server}/0092-Flying-squids-Oh-my.patch (100%) rename patches/{server => unapplied-server}/0093-Infinity-bow-settings.patch (100%) rename patches/{server => unapplied-server}/0094-Configurable-daylight-cycle.patch (100%) rename patches/{server => unapplied-server}/0095-Furnace-uses-lava-from-underneath.patch (100%) rename patches/{server => unapplied-server}/0096-Arrows-should-not-reset-despawn-counter.patch (100%) rename patches/{server => unapplied-server}/0097-Ability-to-re-add-farmland-mechanics-from-Alpha.patch (100%) rename patches/{server => unapplied-server}/0098-Add-adjustable-breeding-cooldown-to-config.patch (100%) rename patches/{server => unapplied-server}/0099-Make-entity-breeding-times-configurable.patch (100%) rename patches/{server => unapplied-server}/0100-Apply-display-names-from-item-forms-of-entities-to-e.patch (100%) rename patches/{server => unapplied-server}/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch (100%) rename patches/{server => unapplied-server}/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch (100%) rename patches/{server => unapplied-server}/0103-Add-configurable-snowball-damage.patch (100%) rename patches/{server => unapplied-server}/0104-Changeable-Mob-Left-Handed-Chance.patch (100%) rename patches/{server => unapplied-server}/0105-Add-boat-fall-damage-config.patch (100%) rename patches/{server => unapplied-server}/0106-Snow-Golem-rate-of-fire-config.patch (100%) rename patches/{server => unapplied-server}/0107-EMC-Configurable-disable-give-dropping.patch (100%) rename patches/{server => unapplied-server}/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch (100%) rename patches/{server => unapplied-server}/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch (100%) rename patches/{server => unapplied-server}/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch (100%) rename patches/{server => unapplied-server}/0111-Configurable-default-collar-color.patch (100%) rename patches/{server => unapplied-server}/0112-Phantom-flames-on-swoop.patch (100%) rename patches/{server => unapplied-server}/0113-Option-for-chests-to-open-even-with-a-solid-block-on.patch (100%) rename patches/{server => unapplied-server}/0114-Implement-TPSBar.patch (100%) rename patches/{server => unapplied-server}/0115-Striders-give-saddle-back.patch (100%) rename patches/{server => unapplied-server}/0116-PlayerBookTooLargeEvent.patch (100%) rename patches/{server => unapplied-server}/0117-Full-netherite-armor-grants-fire-resistance.patch (100%) rename patches/{server => unapplied-server}/0118-Add-mobGriefing-bypass-to-everything-affected.patch (100%) rename patches/{server => unapplied-server}/0119-Config-to-allow-Note-Block-sounds-when-blocked.patch (100%) rename patches/{server => unapplied-server}/0120-Add-EntityTeleportHinderedEvent.patch (100%) rename patches/{server => unapplied-server}/0121-Farmland-trampling-changes.patch (100%) rename patches/{server => unapplied-server}/0122-Movement-options-for-armor-stands.patch (100%) rename patches/{server => unapplied-server}/0123-Fix-stuck-in-portals.patch (100%) rename patches/{server => unapplied-server}/0124-Toggle-for-water-sensitive-mob-damage.patch (100%) rename patches/{server => unapplied-server}/0125-Config-to-always-tame-in-Creative.patch (100%) rename patches/{server => unapplied-server}/0126-End-crystal-explosion-options.patch (100%) rename patches/{server => unapplied-server}/0127-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch (100%) rename patches/{server => unapplied-server}/0128-Dont-run-with-scissors.patch (100%) rename patches/{server => unapplied-server}/0129-One-Punch-Man.patch (100%) rename patches/{server => unapplied-server}/0130-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch (100%) rename patches/{server => unapplied-server}/0131-Config-to-ignore-nearby-mobs-when-sleeping.patch (100%) rename patches/{server => unapplied-server}/0132-Add-back-player-spawned-endermite-API.patch (100%) rename patches/{server => unapplied-server}/0133-Config-Enderman-aggressiveness-towards-Endermites.patch (100%) rename patches/{server => unapplied-server}/0134-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch (100%) rename patches/{server => unapplied-server}/0135-Tick-fluids-config.patch (100%) rename patches/{server => unapplied-server}/0136-Config-to-disable-Llama-caravans.patch (100%) rename patches/{server => unapplied-server}/0137-Config-to-make-Creepers-explode-on-death.patch (100%) rename patches/{server => unapplied-server}/0138-Configurable-ravager-griefable-blocks-list.patch (100%) rename patches/{server => unapplied-server}/0139-Sneak-to-bulk-process-composter.patch (100%) rename patches/{server => unapplied-server}/0140-Config-for-skipping-night.patch (100%) rename patches/{server => unapplied-server}/0141-Add-config-for-villager-trading.patch (100%) rename patches/{server => unapplied-server}/0142-Drowning-Settings.patch (100%) rename patches/{server => unapplied-server}/0143-Break-individual-slabs-when-sneaking.patch (100%) rename patches/{server => unapplied-server}/0144-Config-to-disable-hostile-mob-spawn-on-ice.patch (100%) rename patches/{server => unapplied-server}/0145-Config-to-show-Armor-Stand-arms-on-spawn.patch (100%) rename patches/{server => unapplied-server}/0146-Option-to-make-doors-require-redstone.patch (100%) rename patches/{server => unapplied-server}/0147-Config-to-allow-unsafe-enchants.patch (100%) rename patches/{server => unapplied-server}/0148-Configurable-sponge-absorption.patch (100%) rename patches/{server => unapplied-server}/0149-Projectile-offset-config.patch (100%) rename patches/{server => unapplied-server}/0150-Config-for-powered-rail-activation-distance.patch (100%) rename patches/{server => unapplied-server}/0151-Piglin-portal-spawn-modifier.patch (100%) rename patches/{server => unapplied-server}/0152-Config-to-change-max-number-of-bees.patch (100%) rename patches/{server => unapplied-server}/0153-Config-for-wither-explosion-radius.patch (100%) rename patches/{server => unapplied-server}/0154-Gamemode-extra-permissions.patch (100%) rename patches/{server => unapplied-server}/0155-Configurable-piston-push-limit.patch (100%) rename patches/{server => unapplied-server}/0156-Configurable-broadcast-settings.patch (100%) rename patches/{server => unapplied-server}/0157-Configurable-mob-blindness.patch (100%) rename patches/{server => unapplied-server}/0158-Hide-hidden-players-from-entity-selector.patch (100%) rename patches/{server => unapplied-server}/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch (100%) rename patches/{server => unapplied-server}/0160-Iron-golem-calm-anger-options.patch (100%) rename patches/{server => unapplied-server}/0161-Breedable-parrots.patch (100%) rename patches/{server => unapplied-server}/0162-Configurable-powered-rail-boost-modifier.patch (100%) rename patches/{server => unapplied-server}/0163-Add-config-change-multiplier-critical-damage-value.patch (100%) rename patches/{server => unapplied-server}/0164-Option-to-disable-dragon-egg-teleporting.patch (100%) rename patches/{server => unapplied-server}/0165-Config-for-unverified-username-message.patch (100%) rename patches/{server => unapplied-server}/0166-Make-anvil-cumulative-cost-configurable.patch (100%) rename patches/{server => unapplied-server}/0167-Bee-can-work-when-raining-or-at-night.patch (100%) rename patches/{server => unapplied-server}/0168-API-for-any-mob-to-burn-daylight.patch (100%) rename patches/{server => unapplied-server}/0169-Config-MobEffect-by-world.patch (100%) rename patches/{server => unapplied-server}/0170-Beacon-Activation-Range-Configurable.patch (100%) rename patches/{server => unapplied-server}/0171-Make-lightning-rod-range-configurable.patch (100%) rename patches/{server => unapplied-server}/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch (100%) rename patches/{server => unapplied-server}/0173-Allow-player-join-full-server-by-permission.patch (100%) rename patches/{server => unapplied-server}/0174-Add-portal-permission-bypass.patch (100%) rename patches/{server => unapplied-server}/0175-Shulker-spawn-from-bullet-options.patch (100%) rename patches/{server => unapplied-server}/0176-Eating-glow-berries-adds-glow-effect.patch (100%) rename patches/{server => unapplied-server}/0177-Option-to-make-drowned-break-doors.patch (100%) rename patches/{server => unapplied-server}/0178-Configurable-hunger-starvation-damage.patch (100%) rename patches/{server => unapplied-server}/0179-Enhance-SysoutCatcher.patch (100%) rename patches/{server => unapplied-server}/0180-Add-uptime-command.patch (100%) rename patches/{server => unapplied-server}/0181-Tool-actionable-options.patch (100%) rename patches/{server => unapplied-server}/0182-Store-placer-on-Block-when-placed.patch (100%) rename patches/{server => unapplied-server}/0183-Summoner-API.patch (100%) rename patches/{server => unapplied-server}/0184-Customizable-sleeping-actionbar-messages.patch (100%) rename patches/{server => unapplied-server}/0185-option-to-disable-shulker-box-items-from-dropping-co.patch (100%) rename patches/{server => unapplied-server}/0186-Big-dripleaf-tilt-delay.patch (100%) rename patches/{server => unapplied-server}/0187-Player-ridable-in-water-option.patch (100%) rename patches/{server => unapplied-server}/0188-Config-to-disable-Enderman-teleport-on-projectile-hi.patch (100%) rename patches/{server => unapplied-server}/0189-Add-compass-command.patch (100%) rename patches/{server => unapplied-server}/0190-Toggle-for-kinetic-damage.patch (100%) rename patches/{server => unapplied-server}/0191-Add-Option-for-disable-observer-clocks.patch (100%) rename patches/{server => unapplied-server}/0192-Customizeable-Zombie-Villager-curing-times.patch (100%) rename patches/{server => unapplied-server}/0193-Option-for-sponges-to-work-on-lava-and-mud.patch (100%) rename patches/{server => unapplied-server}/0194-Toggle-for-Wither-s-spawn-sound.patch (100%) rename patches/{server => unapplied-server}/0195-Cactus-breaks-from-solid-neighbors-config.patch (100%) rename patches/{server => unapplied-server}/0196-Config-to-remove-curse-of-binding-with-weakness.patch (100%) rename patches/{server => unapplied-server}/0197-Conduit-behavior-configuration.patch (100%) rename patches/{server => unapplied-server}/0198-Cauldron-fill-chances.patch (100%) rename patches/{server => unapplied-server}/0199-Config-to-allow-mobs-to-pathfind-over-rails.patch (100%) rename patches/{server => unapplied-server}/0200-Shulker-change-color-with-dye.patch (100%) rename patches/{server => unapplied-server}/0201-Extended-OfflinePlayer-API.patch (100%) rename patches/{server => unapplied-server}/0202-Added-the-ability-to-add-combustible-items.patch (100%) rename patches/{server => unapplied-server}/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch (100%) rename patches/{server => unapplied-server}/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch (100%) rename patches/{server => unapplied-server}/0205-Shift-right-click-to-use-exp-for-mending.patch (100%) rename patches/{server => unapplied-server}/0206-Dolphins-naturally-aggressive-to-players-chance.patch (100%) rename patches/{server => unapplied-server}/0207-Cows-naturally-aggressive-to-players-chance.patch (100%) rename patches/{server => unapplied-server}/0208-Option-for-beds-to-explode-on-villager-sleep.patch (100%) rename patches/{server => unapplied-server}/0209-Halloween-options-and-optimizations.patch (100%) rename patches/{server => unapplied-server}/0210-Config-for-grindstones.patch (100%) rename patches/{server => unapplied-server}/0211-UPnP-Port-Forwarding.patch (100%) rename patches/{server => unapplied-server}/0212-Campfire-option-for-lit-when-placed.patch (100%) rename patches/{server => unapplied-server}/0213-options-to-extinguish-fire-blocks-with-snowballs.patch (100%) rename patches/{server => unapplied-server}/0214-Add-option-to-disable-zombie-villagers-cure.patch (100%) rename patches/{server => unapplied-server}/0215-Persistent-BlockEntity-Lore-and-DisplayName.patch (100%) rename patches/{server => unapplied-server}/0216-Signs-allow-color-codes.patch (100%) rename patches/{server => unapplied-server}/0217-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch (100%) rename patches/{server => unapplied-server}/0218-Mobs-always-drop-experience.patch (100%) rename patches/{server => unapplied-server}/0219-Grindstone-API.patch (100%) rename patches/{server => unapplied-server}/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch (100%) rename patches/{server => unapplied-server}/0221-Turtle-eggs-random-tick-crack-chance.patch (100%) rename patches/{server => unapplied-server}/0222-Mob-head-visibility-percent.patch (100%) rename patches/{server => unapplied-server}/0223-Configurable-valid-characters-for-usernames.patch (100%) rename patches/{server => unapplied-server}/0224-Stop-bees-from-dying-after-stinging.patch (100%) rename patches/{server => unapplied-server}/0225-Give-bee-counts-in-beehives-to-Purpur-clients.patch (100%) rename patches/{server => unapplied-server}/0226-Configurable-farmland-trample-height.patch (100%) rename patches/{server => unapplied-server}/0227-Configurable-player-pickup-exp-delay.patch (100%) rename patches/{server => unapplied-server}/0228-Allow-void-trading.patch (100%) rename patches/{server => unapplied-server}/0229-Configurable-phantom-size.patch (100%) rename patches/{server => unapplied-server}/0230-Max-joins-per-second.patch (100%) rename patches/{server => unapplied-server}/0231-Configurable-minimum-demand-for-trades.patch (100%) rename patches/{server => unapplied-server}/0232-Lobotomize-stuck-villagers.patch (100%) rename patches/{server => unapplied-server}/0233-Option-for-villager-display-trade-item.patch (100%) rename patches/{server => unapplied-server}/0234-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch (100%) rename patches/{server => unapplied-server}/0235-Config-for-mob-last-hurt-by-player-time.patch (100%) rename patches/{server => unapplied-server}/0236-Anvil-repair-damage-options.patch (100%) rename patches/{server => unapplied-server}/0237-Option-to-disable-turtle-egg-trampling-with-feather-.patch (100%) rename patches/{server => unapplied-server}/0238-Add-toggle-for-enchant-level-clamping.patch (100%) rename patches/{server => unapplied-server}/0239-Skip-junit-tests-for-purpur-commands.patch (100%) rename patches/{server => unapplied-server}/0240-Implement-configurable-search-radius-for-villagers-t.patch (100%) rename patches/{server => unapplied-server}/0241-Stonecutter-damage.patch (100%) rename patches/{server => unapplied-server}/0242-Configurable-damage-settings-for-magma-blocks.patch (100%) rename patches/{server => unapplied-server}/0243-Add-config-for-snow-on-blue-ice.patch (100%) rename patches/{server => unapplied-server}/0244-Skeletons-eat-wither-roses.patch (100%) rename patches/{server => unapplied-server}/0245-Enchantment-Table-Persists-Lapis.patch (100%) rename patches/{server => unapplied-server}/0246-Option-to-disable-kick-for-out-of-order-chat.patch (100%) rename patches/{server => unapplied-server}/0247-Config-for-sculk-shrieker-can_summon-state.patch (100%) rename patches/{server => unapplied-server}/0248-Config-to-not-let-coral-die.patch (100%) rename patches/{server => unapplied-server}/0249-Add-local-difficulty-api.patch (100%) rename patches/{server => unapplied-server}/0250-Add-toggle-for-RNG-manipulation.patch (100%) rename patches/{server => unapplied-server}/0251-Add-more-logger-output-for-invalid-movement-kicks.patch (100%) rename patches/{server => unapplied-server}/0252-Add-Bee-API.patch (100%) rename patches/{server => unapplied-server}/0253-Debug-Marker-API.patch (100%) rename patches/{server => unapplied-server}/0254-mob-spawning-option-to-ignore-creative-players.patch (100%) rename patches/{server => unapplied-server}/0255-Add-skeleton-bow-accuracy-option.patch (100%) rename patches/{server => unapplied-server}/0256-Add-death-screen-API.patch (100%) rename patches/{server => unapplied-server}/0257-Make-pufferfish-config-relocatable.patch (100%) rename patches/{server => unapplied-server}/0258-Implement-ram-and-rambar-commands.patch (100%) rename patches/{server => unapplied-server}/0259-Configurable-block-blast-resistance.patch (100%) rename patches/{server => unapplied-server}/0260-Configurable-block-fall-damage-modifiers.patch (100%) rename patches/{server => unapplied-server}/0261-Language-API.patch (100%) rename patches/{server => unapplied-server}/0262-Milk-Keeps-Beneficial-Effects.patch (100%) rename patches/{server => unapplied-server}/0263-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch (100%) rename patches/{server => unapplied-server}/0264-Add-log-suppression-for-LibraryLoader.patch (100%) rename patches/{server => unapplied-server}/0265-Add-an-option-to-fix-MC-3304-projectile-looting.patch (100%) rename patches/{server => unapplied-server}/0266-Add-option-to-allow-creeper-to-encircle-target-when-.patch (100%) rename patches/{server => unapplied-server}/0267-Fire-Immunity-API.patch (100%) rename patches/{server => unapplied-server}/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch (100%) rename patches/{server => unapplied-server}/0269-Added-got-ram-event.patch (100%) rename patches/{server => unapplied-server}/0270-Log-skipped-entity-s-position.patch (100%) rename patches/{server => unapplied-server}/0271-End-Crystal-Cramming.patch (100%) rename patches/{server => unapplied-server}/0272-Option-to-allow-beacon-effects-when-covered-by-tinte.patch (100%) rename patches/{server => unapplied-server}/0273-Add-attribute-clamping-and-armor-limit-config.patch (100%) rename patches/{server => unapplied-server}/0274-Config-to-remove-explosion-radius-clamp.patch (100%) rename patches/{server => unapplied-server}/0275-bonemealable-sugarcane-cactus-and-netherwart.patch (100%) rename patches/{server => unapplied-server}/0276-Add-PreExplodeEvents.patch (100%) rename patches/{server => unapplied-server}/0277-Improve-output-of-plugins-command.patch (100%) rename patches/{server => unapplied-server}/0278-Make-GUI-Great-Again.patch (100%) rename patches/{server => unapplied-server}/0279-Stored-Bee-API.patch (100%) rename patches/{server => unapplied-server}/0280-Shears-can-defuse-TNT.patch (100%) rename patches/{server => unapplied-server}/0281-Explorer-Map-API.patch (100%) rename patches/{server => unapplied-server}/0282-Option-Ocelot-Spawn-Under-Sea-Level.patch (100%) rename patches/{server => unapplied-server}/0283-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch (100%) rename patches/{server => unapplied-server}/0284-Add-option-for-always-showing-item-in-player-death-m.patch (100%) rename patches/{server => unapplied-server}/0285-place-end-crystal-on-any-block.patch (100%) rename patches/{server => unapplied-server}/0286-Add-option-to-disable-the-copper-oxidation-proximity.patch (100%) rename patches/{server => unapplied-server}/0287-register-minecraft-debug-commands.patch (100%) rename patches/{server => unapplied-server}/0288-Configurable-villager-search-radius.patch (100%) rename patches/{server => unapplied-server}/0289-option-to-make-ravagers-afraid-of-rabbits.patch (100%) rename patches/{server => unapplied-server}/0290-config-for-startup-commands.patch (100%) rename patches/{server => unapplied-server}/0291-Config-to-reverse-bubble-column-flow.patch (100%) rename patches/{server => unapplied-server}/0292-Adopt-MaterialRerouting.patch (100%) rename patches/{server => unapplied-server}/0293-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch (100%) rename patches/{server => unapplied-server}/0294-ItemStack-convenience-methods.patch (100%) diff --git a/README.md b/README.md index e91e4be2ae..f8cce85a3b 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Join us on Discord: ## Downloads Downloads can be obtained from the [downloads page](https://purpurmc.org/downloads/) or the [downloads API](https://api.purpurmc.org). -[![Build Status](https://img.shields.io/github/actions/workflow/status/PurpurMC/Purpur/build.yml?branch=ver%2F1.21.3&event=push&label=Downloads&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9bxSIVh1YQcYhQnSyIiuimVShChVArtOpgcukXNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APE0clJ0UVK/F9SaBHjwXE/3t173L0D/PUyU82OMUDVLCOViAuZ7KrQ9YogwujDEGYkZupzopiE5/i6h4+vdzGe5X3uz9Gj5EwG+ATiWaYbFvEG8dSmpXPeJ46woqQQnxOPGnRB4keuyy6/cS447OeZESOdmieOEAuFNpbbmBUNlXiSOKqoGuX7My4rnLc4q+Uqa96TvzCU01aWuU5zEAksYgkiBMioooQyLMRo1UgxkaL9uId/wPGL5JLJVQIjxwIqUCE5fvA/+N2tmZ8Yd5NCcaDzxbY/hoGuXaBRs+3vY9tunACBZ+BKa/krdWD6k/RaS4seAb3bwMV1S5P3gMsdoP9JlwzJkQI0/fk88H5G35QFwrdA95rbW3Mfpw9AmrpK3gAHh8BIgbLXPd4dbO/t3zPN/n4Ax9dyyerighsAAAAGYktHRAAAAAAAAPlDu38AAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfmCBMWBjFhOpnxAAACyklEQVQ4y32TXWgdZRCGn8k5Z3e/bzcJRFuoDRqIIPGniaSl1qgXKYhiLUgleFESW1qQ4g94oVKQJmga0ILRBuvfheJFIbY3SmzRFsWgQrTQFlRoKSVXgcMxJiS7++1ukvHiNKGU6FzNDO8MMw8zwn9Yz5c6anKeChxiMk599aq8sZ5Obk3sGNd7G5aZCHJ+Oj8gAwD9I3rSJmyvzLHz+HG5frO+vOaNa3NXiUkKQj9hQ1jQgWrlyCCV6gIdtmBjoJwbPqgL+R08PDQkCUADwD0TerqzxFTJY++vz0l7c0q/F7P5+aNUqyvM2CU2RAV7hsek3XPs3/QHF7/YrSfrDVQrxrErdESNNTYByAp3NmWUTYaGGSuho+QltAGYRdqilChMeKbO4Ijang5+CVJmbcr20PG3n9NiY6ZOvCW9ACMHdDLIeDDIqTWmtAQJV6OMyhOTsqWBQQo/hvP7pFcWeDxwtAQxGqbEq3isI7EOjRy3NyuPPHtOur0UXWMQZXgAX78uP3sJpTBmyHfsGDmotdF+rQWObq/gnSCm9PQ3chnA3qgRgL5jmjXlTM/n7Ny8yJXRY2IA3tur0yaHF8blLoAzj2kaNNBpZvk2iGntuiZBHWLOtXJC3hbzV5SxtDq6yZmzCXOrsRezHNa4YBzlKGN6bQXryD96W+4PU14zGbw/oLMf79EPbAI2g7M9+smP3fqPKVAT81LnFWnzM1y9gYC9gWtwTD6MEsq+Y8Lm7DMZ7cZxt5/T5xd8Fy5SfuC6fA4QZjdd8eEX9eLwAZ1StHKiT1MARStnHtWZH7bpjKIVgKutmipq50O94Mr6+9oKR8ekyy7x5qd9/NmYslynK4WfUjWOqiAFgElZmY+41BTzcrAkW9d9ptO9etgU7I8S3vVyDtkY/JzPwoxXzCJjt6Uy+r/fuGq/3affezkPRSniJ0y2zsqT6+n+BfRHKWgwbKNIAAAAAElFTkSuQmCC)](https://purpurmc.org/downloads/) +[![Build Status](https://img.shields.io/github/actions/workflow/status/PurpurMC/Purpur/build.yml?branch=ver%2F1.21.4&event=push&label=Downloads&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9bxSIVh1YQcYhQnSyIiuimVShChVArtOpgcukXNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APE0clJ0UVK/F9SaBHjwXE/3t173L0D/PUyU82OMUDVLCOViAuZ7KrQ9YogwujDEGYkZupzopiE5/i6h4+vdzGe5X3uz9Gj5EwG+ATiWaYbFvEG8dSmpXPeJ46woqQQnxOPGnRB4keuyy6/cS447OeZESOdmieOEAuFNpbbmBUNlXiSOKqoGuX7My4rnLc4q+Uqa96TvzCU01aWuU5zEAksYgkiBMioooQyLMRo1UgxkaL9uId/wPGL5JLJVQIjxwIqUCE5fvA/+N2tmZ8Yd5NCcaDzxbY/hoGuXaBRs+3vY9tunACBZ+BKa/krdWD6k/RaS4seAb3bwMV1S5P3gMsdoP9JlwzJkQI0/fk88H5G35QFwrdA95rbW3Mfpw9AmrpK3gAHh8BIgbLXPd4dbO/t3zPN/n4Ax9dyyerighsAAAAGYktHRAAAAAAAAPlDu38AAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfmCBMWBjFhOpnxAAACyklEQVQ4y32TXWgdZRCGn8k5Z3e/bzcJRFuoDRqIIPGniaSl1qgXKYhiLUgleFESW1qQ4g94oVKQJmga0ILRBuvfheJFIbY3SmzRFsWgQrTQFlRoKSVXgcMxJiS7++1ukvHiNKGU6FzNDO8MMw8zwn9Yz5c6anKeChxiMk599aq8sZ5Obk3sGNd7G5aZCHJ+Oj8gAwD9I3rSJmyvzLHz+HG5frO+vOaNa3NXiUkKQj9hQ1jQgWrlyCCV6gIdtmBjoJwbPqgL+R08PDQkCUADwD0TerqzxFTJY++vz0l7c0q/F7P5+aNUqyvM2CU2RAV7hsek3XPs3/QHF7/YrSfrDVQrxrErdESNNTYByAp3NmWUTYaGGSuho+QltAGYRdqilChMeKbO4Ijang5+CVJmbcr20PG3n9NiY6ZOvCW9ACMHdDLIeDDIqTWmtAQJV6OMyhOTsqWBQQo/hvP7pFcWeDxwtAQxGqbEq3isI7EOjRy3NyuPPHtOur0UXWMQZXgAX78uP3sJpTBmyHfsGDmotdF+rQWObq/gnSCm9PQ3chnA3qgRgL5jmjXlTM/n7Ny8yJXRY2IA3tur0yaHF8blLoAzj2kaNNBpZvk2iGntuiZBHWLOtXJC3hbzV5SxtDq6yZmzCXOrsRezHNa4YBzlKGN6bQXryD96W+4PU14zGbw/oLMf79EPbAI2g7M9+smP3fqPKVAT81LnFWnzM1y9gYC9gWtwTD6MEsq+Y8Lm7DMZ7cZxt5/T5xd8Fy5SfuC6fA4QZjdd8eEX9eLwAZ1StHKiT1MARStnHtWZH7bpjKIVgKutmipq50O94Mr6+9oKR8ekyy7x5qd9/NmYslynK4WfUjWOqiAFgElZmY+41BTzcrAkW9d9ptO9etgU7I8S3vVyDtkY/JzPwoxXzCJjt6Uy+r/fuGq/3affezkPRSniJ0y2zsqT6+n+BfRHKWgwbKNIAAAAAElFTkSuQmCC)](https://purpurmc.org/downloads/) Downloads API endpoints: * List versions of Minecraft with builds available: @@ -67,7 +67,7 @@ Maven org.purpurmc.purpur purpur-api - 1.21.3-R0.1-SNAPSHOT + 1.21.4-R0.1-SNAPSHOT provided ``` @@ -80,7 +80,7 @@ repositories { ``` ```kotlin dependencies { - compileOnly("org.purpurmc.purpur:purpur-api:1.21.3-R0.1-SNAPSHOT") + compileOnly("org.purpurmc.purpur:purpur-api:1.21.4-R0.1-SNAPSHOT") } ``` diff --git a/gradle.properties b/gradle.properties index dd22396b40..c176079f33 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,8 +1,8 @@ group = org.purpurmc.purpur -version = 1.21.3-R0.1-SNAPSHOT +version = 1.21.4-R0.1-SNAPSHOT -mcVersion = 1.21.3 -paperCommit = da7138233f6392e791d790d1c3407414c855f9c2 +mcVersion = 1.21.4 +paperCommit = cbd578c7b541240f4e9405d4db0fe4270125e873 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/dropped-server/0224-Shears-can-have-looting-enchantment.patch b/patches/1-21-3/dropped-server/0224-Shears-can-have-looting-enchantment.patch similarity index 100% rename from patches/dropped-server/0224-Shears-can-have-looting-enchantment.patch rename to patches/1-21-3/dropped-server/0224-Shears-can-have-looting-enchantment.patch diff --git a/patches/dropped-server/0247-Remove-Mojang-Profiler.patch b/patches/1-21-3/dropped-server/0247-Remove-Mojang-Profiler.patch similarity index 100% rename from patches/dropped-server/0247-Remove-Mojang-Profiler.patch rename to patches/1-21-3/dropped-server/0247-Remove-Mojang-Profiler.patch diff --git a/patches/api/0001-Pufferfish-API-Changes.patch b/patches/unapplied-api/0001-Pufferfish-API-Changes.patch similarity index 100% rename from patches/api/0001-Pufferfish-API-Changes.patch rename to patches/unapplied-api/0001-Pufferfish-API-Changes.patch diff --git a/patches/api/0002-Fix-pufferfish-issues.patch b/patches/unapplied-api/0002-Fix-pufferfish-issues.patch similarity index 100% rename from patches/api/0002-Fix-pufferfish-issues.patch rename to patches/unapplied-api/0002-Fix-pufferfish-issues.patch diff --git a/patches/api/0003-Rebrand.patch b/patches/unapplied-api/0003-Rebrand.patch similarity index 100% rename from patches/api/0003-Rebrand.patch rename to patches/unapplied-api/0003-Rebrand.patch diff --git a/patches/api/0004-Purpur-config-files.patch b/patches/unapplied-api/0004-Purpur-config-files.patch similarity index 100% rename from patches/api/0004-Purpur-config-files.patch rename to patches/unapplied-api/0004-Purpur-config-files.patch diff --git a/patches/api/0005-Build-System-Changes.patch b/patches/unapplied-api/0005-Build-System-Changes.patch similarity index 100% rename from patches/api/0005-Build-System-Changes.patch rename to patches/unapplied-api/0005-Build-System-Changes.patch diff --git a/patches/api/0006-Purpur-client-support.patch b/patches/unapplied-api/0006-Purpur-client-support.patch similarity index 100% rename from patches/api/0006-Purpur-client-support.patch rename to patches/unapplied-api/0006-Purpur-client-support.patch diff --git a/patches/api/0007-Default-permissions.patch b/patches/unapplied-api/0007-Default-permissions.patch similarity index 100% rename from patches/api/0007-Default-permissions.patch rename to patches/unapplied-api/0007-Default-permissions.patch diff --git a/patches/api/0008-Ridables.patch b/patches/unapplied-api/0008-Ridables.patch similarity index 100% rename from patches/api/0008-Ridables.patch rename to patches/unapplied-api/0008-Ridables.patch diff --git a/patches/api/0009-Allow-inventory-resizing.patch b/patches/unapplied-api/0009-Allow-inventory-resizing.patch similarity index 100% rename from patches/api/0009-Allow-inventory-resizing.patch rename to patches/unapplied-api/0009-Allow-inventory-resizing.patch diff --git a/patches/api/0010-Llama-API.patch b/patches/unapplied-api/0010-Llama-API.patch similarity index 100% rename from patches/api/0010-Llama-API.patch rename to patches/unapplied-api/0010-Llama-API.patch diff --git a/patches/api/0011-AFK-API.patch b/patches/unapplied-api/0011-AFK-API.patch similarity index 100% rename from patches/api/0011-AFK-API.patch rename to patches/unapplied-api/0011-AFK-API.patch diff --git a/patches/api/0012-Bring-back-server-name.patch b/patches/unapplied-api/0012-Bring-back-server-name.patch similarity index 100% rename from patches/api/0012-Bring-back-server-name.patch rename to patches/unapplied-api/0012-Bring-back-server-name.patch diff --git a/patches/api/0013-ExecuteCommandEvent.patch b/patches/unapplied-api/0013-ExecuteCommandEvent.patch similarity index 100% rename from patches/api/0013-ExecuteCommandEvent.patch rename to patches/unapplied-api/0013-ExecuteCommandEvent.patch diff --git a/patches/api/0014-Lagging-threshold.patch b/patches/unapplied-api/0014-Lagging-threshold.patch similarity index 100% rename from patches/api/0014-Lagging-threshold.patch rename to patches/unapplied-api/0014-Lagging-threshold.patch diff --git a/patches/api/0015-PlayerSetSpawnerTypeWithEggEvent.patch b/patches/unapplied-api/0015-PlayerSetSpawnerTypeWithEggEvent.patch similarity index 100% rename from patches/api/0015-PlayerSetSpawnerTypeWithEggEvent.patch rename to patches/unapplied-api/0015-PlayerSetSpawnerTypeWithEggEvent.patch diff --git a/patches/api/0016-Anvil-API.patch b/patches/unapplied-api/0016-Anvil-API.patch similarity index 100% rename from patches/api/0016-Anvil-API.patch rename to patches/unapplied-api/0016-Anvil-API.patch diff --git a/patches/api/0017-ItemStack-convenience-methods.patch b/patches/unapplied-api/0017-ItemStack-convenience-methods.patch similarity index 100% rename from patches/api/0017-ItemStack-convenience-methods.patch rename to patches/unapplied-api/0017-ItemStack-convenience-methods.patch diff --git a/patches/api/0018-ChatColor-conveniences.patch b/patches/unapplied-api/0018-ChatColor-conveniences.patch similarity index 100% rename from patches/api/0018-ChatColor-conveniences.patch rename to patches/unapplied-api/0018-ChatColor-conveniences.patch diff --git a/patches/api/0019-Item-entity-immunities.patch b/patches/unapplied-api/0019-Item-entity-immunities.patch similarity index 100% rename from patches/api/0019-Item-entity-immunities.patch rename to patches/unapplied-api/0019-Item-entity-immunities.patch diff --git a/patches/api/0020-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch b/patches/unapplied-api/0020-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch similarity index 100% rename from patches/api/0020-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch rename to patches/unapplied-api/0020-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch diff --git a/patches/api/0021-Rabid-Wolf-API.patch b/patches/unapplied-api/0021-Rabid-Wolf-API.patch similarity index 100% rename from patches/api/0021-Rabid-Wolf-API.patch rename to patches/unapplied-api/0021-Rabid-Wolf-API.patch diff --git a/patches/api/0022-PlayerBookTooLargeEvent.patch b/patches/unapplied-api/0022-PlayerBookTooLargeEvent.patch similarity index 100% rename from patches/api/0022-PlayerBookTooLargeEvent.patch rename to patches/unapplied-api/0022-PlayerBookTooLargeEvent.patch diff --git a/patches/api/0023-Full-netherite-armor-grants-fire-resistance.patch b/patches/unapplied-api/0023-Full-netherite-armor-grants-fire-resistance.patch similarity index 100% rename from patches/api/0023-Full-netherite-armor-grants-fire-resistance.patch rename to patches/unapplied-api/0023-Full-netherite-armor-grants-fire-resistance.patch diff --git a/patches/api/0024-Add-EntityTeleportHinderedEvent.patch b/patches/unapplied-api/0024-Add-EntityTeleportHinderedEvent.patch similarity index 100% rename from patches/api/0024-Add-EntityTeleportHinderedEvent.patch rename to patches/unapplied-api/0024-Add-EntityTeleportHinderedEvent.patch diff --git a/patches/api/0025-Add-enchantment-target-for-bows-and-crossbows.patch b/patches/unapplied-api/0025-Add-enchantment-target-for-bows-and-crossbows.patch similarity index 100% rename from patches/api/0025-Add-enchantment-target-for-bows-and-crossbows.patch rename to patches/unapplied-api/0025-Add-enchantment-target-for-bows-and-crossbows.patch diff --git a/patches/api/0026-API-for-any-mob-to-burn-daylight.patch b/patches/unapplied-api/0026-API-for-any-mob-to-burn-daylight.patch similarity index 100% rename from patches/api/0026-API-for-any-mob-to-burn-daylight.patch rename to patches/unapplied-api/0026-API-for-any-mob-to-burn-daylight.patch diff --git a/patches/api/0027-Add-back-player-spawned-endermite-API.patch b/patches/unapplied-api/0027-Add-back-player-spawned-endermite-API.patch similarity index 100% rename from patches/api/0027-Add-back-player-spawned-endermite-API.patch rename to patches/unapplied-api/0027-Add-back-player-spawned-endermite-API.patch diff --git a/patches/api/0028-Fix-default-permission-system.patch b/patches/unapplied-api/0028-Fix-default-permission-system.patch similarity index 100% rename from patches/api/0028-Fix-default-permission-system.patch rename to patches/unapplied-api/0028-Fix-default-permission-system.patch diff --git a/patches/api/0029-Summoner-API.patch b/patches/unapplied-api/0029-Summoner-API.patch similarity index 100% rename from patches/api/0029-Summoner-API.patch rename to patches/unapplied-api/0029-Summoner-API.patch diff --git a/patches/api/0030-Clean-up-version-command-output.patch b/patches/unapplied-api/0030-Clean-up-version-command-output.patch similarity index 100% rename from patches/api/0030-Clean-up-version-command-output.patch rename to patches/unapplied-api/0030-Clean-up-version-command-output.patch diff --git a/patches/api/0031-Extended-OfflinePlayer-API.patch b/patches/unapplied-api/0031-Extended-OfflinePlayer-API.patch similarity index 100% rename from patches/api/0031-Extended-OfflinePlayer-API.patch rename to patches/unapplied-api/0031-Extended-OfflinePlayer-API.patch diff --git a/patches/api/0032-Added-the-ability-to-add-combustible-items.patch b/patches/unapplied-api/0032-Added-the-ability-to-add-combustible-items.patch similarity index 100% rename from patches/api/0032-Added-the-ability-to-add-combustible-items.patch rename to patches/unapplied-api/0032-Added-the-ability-to-add-combustible-items.patch diff --git a/patches/api/0033-Grindstone-API.patch b/patches/unapplied-api/0033-Grindstone-API.patch similarity index 100% rename from patches/api/0033-Grindstone-API.patch rename to patches/unapplied-api/0033-Grindstone-API.patch diff --git a/patches/api/0034-Shears-can-have-looting-enchantment.patch b/patches/unapplied-api/0034-Shears-can-have-looting-enchantment.patch similarity index 100% rename from patches/api/0034-Shears-can-have-looting-enchantment.patch rename to patches/unapplied-api/0034-Shears-can-have-looting-enchantment.patch diff --git a/patches/api/0035-Lobotomize-stuck-villagers.patch b/patches/unapplied-api/0035-Lobotomize-stuck-villagers.patch similarity index 100% rename from patches/api/0035-Lobotomize-stuck-villagers.patch rename to patches/unapplied-api/0035-Lobotomize-stuck-villagers.patch diff --git a/patches/api/0036-Add-local-difficulty-api.patch b/patches/unapplied-api/0036-Add-local-difficulty-api.patch similarity index 100% rename from patches/api/0036-Add-local-difficulty-api.patch rename to patches/unapplied-api/0036-Add-local-difficulty-api.patch diff --git a/patches/api/0037-Remove-Timings.patch b/patches/unapplied-api/0037-Remove-Timings.patch similarity index 100% rename from patches/api/0037-Remove-Timings.patch rename to patches/unapplied-api/0037-Remove-Timings.patch diff --git a/patches/api/0038-Add-Bee-API.patch b/patches/unapplied-api/0038-Add-Bee-API.patch similarity index 100% rename from patches/api/0038-Add-Bee-API.patch rename to patches/unapplied-api/0038-Add-Bee-API.patch diff --git a/patches/api/0039-Debug-Marker-API.patch b/patches/unapplied-api/0039-Debug-Marker-API.patch similarity index 100% rename from patches/api/0039-Debug-Marker-API.patch rename to patches/unapplied-api/0039-Debug-Marker-API.patch diff --git a/patches/api/0040-Add-death-screen-API.patch b/patches/unapplied-api/0040-Add-death-screen-API.patch similarity index 100% rename from patches/api/0040-Add-death-screen-API.patch rename to patches/unapplied-api/0040-Add-death-screen-API.patch diff --git a/patches/api/0041-Language-API.patch b/patches/unapplied-api/0041-Language-API.patch similarity index 100% rename from patches/api/0041-Language-API.patch rename to patches/unapplied-api/0041-Language-API.patch diff --git a/patches/api/0042-Add-log-suppression-for-LibraryLoader.patch b/patches/unapplied-api/0042-Add-log-suppression-for-LibraryLoader.patch similarity index 100% rename from patches/api/0042-Add-log-suppression-for-LibraryLoader.patch rename to patches/unapplied-api/0042-Add-log-suppression-for-LibraryLoader.patch diff --git a/patches/api/0043-Fire-Immunity-API.patch b/patches/unapplied-api/0043-Fire-Immunity-API.patch similarity index 100% rename from patches/api/0043-Fire-Immunity-API.patch rename to patches/unapplied-api/0043-Fire-Immunity-API.patch diff --git a/patches/api/0044-Added-goat-ram-event.patch b/patches/unapplied-api/0044-Added-goat-ram-event.patch similarity index 100% rename from patches/api/0044-Added-goat-ram-event.patch rename to patches/unapplied-api/0044-Added-goat-ram-event.patch diff --git a/patches/api/0045-Add-PreExplodeEvents.patch b/patches/unapplied-api/0045-Add-PreExplodeEvents.patch similarity index 100% rename from patches/api/0045-Add-PreExplodeEvents.patch rename to patches/unapplied-api/0045-Add-PreExplodeEvents.patch diff --git a/patches/api/0046-Stored-Bee-API.patch b/patches/unapplied-api/0046-Stored-Bee-API.patch similarity index 100% rename from patches/api/0046-Stored-Bee-API.patch rename to patches/unapplied-api/0046-Stored-Bee-API.patch diff --git a/patches/api/0047-Explorer-Map-API.patch b/patches/unapplied-api/0047-Explorer-Map-API.patch similarity index 100% rename from patches/api/0047-Explorer-Map-API.patch rename to patches/unapplied-api/0047-Explorer-Map-API.patch diff --git a/patches/api/0048-Stonecutter-damage.patch b/patches/unapplied-api/0048-Stonecutter-damage.patch similarity index 100% rename from patches/api/0048-Stonecutter-damage.patch rename to patches/unapplied-api/0048-Stonecutter-damage.patch diff --git a/patches/generated-api/0001-Ridables.patch b/patches/unapplied-generated-api/0001-Ridables.patch similarity index 100% rename from patches/generated-api/0001-Ridables.patch rename to patches/unapplied-generated-api/0001-Ridables.patch diff --git a/patches/generated-api/0002-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch b/patches/unapplied-generated-api/0002-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch similarity index 100% rename from patches/generated-api/0002-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch rename to patches/unapplied-generated-api/0002-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch diff --git a/patches/generated-api/0003-Add-option-to-disable-zombie-aggressiveness-towards-.patch b/patches/unapplied-generated-api/0003-Add-option-to-disable-zombie-aggressiveness-towards-.patch similarity index 100% rename from patches/generated-api/0003-Add-option-to-disable-zombie-aggressiveness-towards-.patch rename to patches/unapplied-generated-api/0003-Add-option-to-disable-zombie-aggressiveness-towards-.patch diff --git a/patches/generated-api/0004-Rabid-Wolf-API.patch b/patches/unapplied-generated-api/0004-Rabid-Wolf-API.patch similarity index 100% rename from patches/generated-api/0004-Rabid-Wolf-API.patch rename to patches/unapplied-generated-api/0004-Rabid-Wolf-API.patch diff --git a/patches/generated-api/0005-Iron-golem-poppy-calms-anger.patch b/patches/unapplied-generated-api/0005-Iron-golem-poppy-calms-anger.patch similarity index 100% rename from patches/generated-api/0005-Iron-golem-poppy-calms-anger.patch rename to patches/unapplied-generated-api/0005-Iron-golem-poppy-calms-anger.patch diff --git a/patches/server/0001-Pufferfish-Server-Changes.patch b/patches/unapplied-server/0001-Pufferfish-Server-Changes.patch similarity index 100% rename from patches/server/0001-Pufferfish-Server-Changes.patch rename to patches/unapplied-server/0001-Pufferfish-Server-Changes.patch diff --git a/patches/server/0002-Fix-pufferfish-issues.patch b/patches/unapplied-server/0002-Fix-pufferfish-issues.patch similarity index 100% rename from patches/server/0002-Fix-pufferfish-issues.patch rename to patches/unapplied-server/0002-Fix-pufferfish-issues.patch diff --git a/patches/server/0003-Rebrand.patch b/patches/unapplied-server/0003-Rebrand.patch similarity index 100% rename from patches/server/0003-Rebrand.patch rename to patches/unapplied-server/0003-Rebrand.patch diff --git a/patches/server/0004-Purpur-config-files.patch b/patches/unapplied-server/0004-Purpur-config-files.patch similarity index 100% rename from patches/server/0004-Purpur-config-files.patch rename to patches/unapplied-server/0004-Purpur-config-files.patch diff --git a/patches/server/0005-Purpur-client-support.patch b/patches/unapplied-server/0005-Purpur-client-support.patch similarity index 100% rename from patches/server/0005-Purpur-client-support.patch rename to patches/unapplied-server/0005-Purpur-client-support.patch diff --git a/patches/server/0006-MC-Utils.patch b/patches/unapplied-server/0006-MC-Utils.patch similarity index 100% rename from patches/server/0006-MC-Utils.patch rename to patches/unapplied-server/0006-MC-Utils.patch diff --git a/patches/server/0007-Fix-decompile-errors.patch b/patches/unapplied-server/0007-Fix-decompile-errors.patch similarity index 100% rename from patches/server/0007-Fix-decompile-errors.patch rename to patches/unapplied-server/0007-Fix-decompile-errors.patch diff --git a/patches/server/0008-Component-related-conveniences.patch b/patches/unapplied-server/0008-Component-related-conveniences.patch similarity index 100% rename from patches/server/0008-Component-related-conveniences.patch rename to patches/unapplied-server/0008-Component-related-conveniences.patch diff --git a/patches/server/0009-Ridables.patch b/patches/unapplied-server/0009-Ridables.patch similarity index 100% rename from patches/server/0009-Ridables.patch rename to patches/unapplied-server/0009-Ridables.patch diff --git a/patches/server/0010-Configurable-entity-base-attributes.patch b/patches/unapplied-server/0010-Configurable-entity-base-attributes.patch similarity index 100% rename from patches/server/0010-Configurable-entity-base-attributes.patch rename to patches/unapplied-server/0010-Configurable-entity-base-attributes.patch diff --git a/patches/server/0011-Barrels-and-enderchests-6-rows.patch b/patches/unapplied-server/0011-Barrels-and-enderchests-6-rows.patch similarity index 100% rename from patches/server/0011-Barrels-and-enderchests-6-rows.patch rename to patches/unapplied-server/0011-Barrels-and-enderchests-6-rows.patch diff --git a/patches/server/0012-Llama-API.patch b/patches/unapplied-server/0012-Llama-API.patch similarity index 100% rename from patches/server/0012-Llama-API.patch rename to patches/unapplied-server/0012-Llama-API.patch diff --git a/patches/server/0013-AFK-API.patch b/patches/unapplied-server/0013-AFK-API.patch similarity index 100% rename from patches/server/0013-AFK-API.patch rename to patches/unapplied-server/0013-AFK-API.patch diff --git a/patches/server/0014-Bring-back-server-name.patch b/patches/unapplied-server/0014-Bring-back-server-name.patch similarity index 100% rename from patches/server/0014-Bring-back-server-name.patch rename to patches/unapplied-server/0014-Bring-back-server-name.patch diff --git a/patches/server/0015-Configurable-server-mod-name.patch b/patches/unapplied-server/0015-Configurable-server-mod-name.patch similarity index 100% rename from patches/server/0015-Configurable-server-mod-name.patch rename to patches/unapplied-server/0015-Configurable-server-mod-name.patch diff --git a/patches/server/0016-Lagging-threshold.patch b/patches/unapplied-server/0016-Lagging-threshold.patch similarity index 100% rename from patches/server/0016-Lagging-threshold.patch rename to patches/unapplied-server/0016-Lagging-threshold.patch diff --git a/patches/server/0017-PlayerSetSpawnerTypeWithEggEvent.patch b/patches/unapplied-server/0017-PlayerSetSpawnerTypeWithEggEvent.patch similarity index 100% rename from patches/server/0017-PlayerSetSpawnerTypeWithEggEvent.patch rename to patches/unapplied-server/0017-PlayerSetSpawnerTypeWithEggEvent.patch diff --git a/patches/server/0018-Anvil-API.patch b/patches/unapplied-server/0018-Anvil-API.patch similarity index 100% rename from patches/server/0018-Anvil-API.patch rename to patches/unapplied-server/0018-Anvil-API.patch diff --git a/patches/server/0019-Alternative-Keepalive-Handling.patch b/patches/unapplied-server/0019-Alternative-Keepalive-Handling.patch similarity index 100% rename from patches/server/0019-Alternative-Keepalive-Handling.patch rename to patches/unapplied-server/0019-Alternative-Keepalive-Handling.patch diff --git a/patches/server/0020-Enchantment-convenience-methods.patch b/patches/unapplied-server/0020-Enchantment-convenience-methods.patch similarity index 100% rename from patches/server/0020-Enchantment-convenience-methods.patch rename to patches/unapplied-server/0020-Enchantment-convenience-methods.patch diff --git a/patches/server/0021-Silk-touch-spawners.patch b/patches/unapplied-server/0021-Silk-touch-spawners.patch similarity index 100% rename from patches/server/0021-Silk-touch-spawners.patch rename to patches/unapplied-server/0021-Silk-touch-spawners.patch diff --git a/patches/server/0022-Add-turtle-egg-block-options.patch b/patches/unapplied-server/0022-Add-turtle-egg-block-options.patch similarity index 100% rename from patches/server/0022-Add-turtle-egg-block-options.patch rename to patches/unapplied-server/0022-Add-turtle-egg-block-options.patch diff --git a/patches/server/0023-Logger-settings-suppressing-pointless-logs.patch b/patches/unapplied-server/0023-Logger-settings-suppressing-pointless-logs.patch similarity index 100% rename from patches/server/0023-Logger-settings-suppressing-pointless-logs.patch rename to patches/unapplied-server/0023-Logger-settings-suppressing-pointless-logs.patch diff --git a/patches/server/0024-Disable-outdated-build-check.patch b/patches/unapplied-server/0024-Disable-outdated-build-check.patch similarity index 100% rename from patches/server/0024-Disable-outdated-build-check.patch rename to patches/unapplied-server/0024-Disable-outdated-build-check.patch diff --git a/patches/server/0025-Giants-AI-settings.patch b/patches/unapplied-server/0025-Giants-AI-settings.patch similarity index 100% rename from patches/server/0025-Giants-AI-settings.patch rename to patches/unapplied-server/0025-Giants-AI-settings.patch diff --git a/patches/server/0026-Zombie-horse-naturally-spawn.patch b/patches/unapplied-server/0026-Zombie-horse-naturally-spawn.patch similarity index 100% rename from patches/server/0026-Zombie-horse-naturally-spawn.patch rename to patches/unapplied-server/0026-Zombie-horse-naturally-spawn.patch diff --git a/patches/server/0027-Charged-creeper-naturally-spawn.patch b/patches/unapplied-server/0027-Charged-creeper-naturally-spawn.patch similarity index 100% rename from patches/server/0027-Charged-creeper-naturally-spawn.patch rename to patches/unapplied-server/0027-Charged-creeper-naturally-spawn.patch diff --git a/patches/server/0028-Rabbit-naturally-spawn-toast-and-killer.patch b/patches/unapplied-server/0028-Rabbit-naturally-spawn-toast-and-killer.patch similarity index 100% rename from patches/server/0028-Rabbit-naturally-spawn-toast-and-killer.patch rename to patches/unapplied-server/0028-Rabbit-naturally-spawn-toast-and-killer.patch diff --git a/patches/server/0029-Fix-outdated-server-showing-in-ping-before-server-fu.patch b/patches/unapplied-server/0029-Fix-outdated-server-showing-in-ping-before-server-fu.patch similarity index 100% rename from patches/server/0029-Fix-outdated-server-showing-in-ping-before-server-fu.patch rename to patches/unapplied-server/0029-Fix-outdated-server-showing-in-ping-before-server-fu.patch diff --git a/patches/server/0030-Tulips-change-fox-type.patch b/patches/unapplied-server/0030-Tulips-change-fox-type.patch similarity index 100% rename from patches/server/0030-Tulips-change-fox-type.patch rename to patches/unapplied-server/0030-Tulips-change-fox-type.patch diff --git a/patches/server/0031-Breedable-Polar-Bears.patch b/patches/unapplied-server/0031-Breedable-Polar-Bears.patch similarity index 100% rename from patches/server/0031-Breedable-Polar-Bears.patch rename to patches/unapplied-server/0031-Breedable-Polar-Bears.patch diff --git a/patches/server/0032-Chickens-can-retaliate.patch b/patches/unapplied-server/0032-Chickens-can-retaliate.patch similarity index 100% rename from patches/server/0032-Chickens-can-retaliate.patch rename to patches/unapplied-server/0032-Chickens-can-retaliate.patch diff --git a/patches/server/0033-Add-option-to-set-armorstand-step-height.patch b/patches/unapplied-server/0033-Add-option-to-set-armorstand-step-height.patch similarity index 100% rename from patches/server/0033-Add-option-to-set-armorstand-step-height.patch rename to patches/unapplied-server/0033-Add-option-to-set-armorstand-step-height.patch diff --git a/patches/server/0034-Cat-spawning-options.patch b/patches/unapplied-server/0034-Cat-spawning-options.patch similarity index 100% rename from patches/server/0034-Cat-spawning-options.patch rename to patches/unapplied-server/0034-Cat-spawning-options.patch diff --git a/patches/server/0035-Cows-eat-mushrooms.patch b/patches/unapplied-server/0035-Cows-eat-mushrooms.patch similarity index 100% rename from patches/server/0035-Cows-eat-mushrooms.patch rename to patches/unapplied-server/0035-Cows-eat-mushrooms.patch diff --git a/patches/server/0036-Fix-cow-rotation-when-shearing-mooshroom.patch b/patches/unapplied-server/0036-Fix-cow-rotation-when-shearing-mooshroom.patch similarity index 100% rename from patches/server/0036-Fix-cow-rotation-when-shearing-mooshroom.patch rename to patches/unapplied-server/0036-Fix-cow-rotation-when-shearing-mooshroom.patch diff --git a/patches/server/0037-Pigs-give-saddle-back.patch b/patches/unapplied-server/0037-Pigs-give-saddle-back.patch similarity index 100% rename from patches/server/0037-Pigs-give-saddle-back.patch rename to patches/unapplied-server/0037-Pigs-give-saddle-back.patch diff --git a/patches/server/0038-Snowman-drop-and-put-back-pumpkin.patch b/patches/unapplied-server/0038-Snowman-drop-and-put-back-pumpkin.patch similarity index 100% rename from patches/server/0038-Snowman-drop-and-put-back-pumpkin.patch rename to patches/unapplied-server/0038-Snowman-drop-and-put-back-pumpkin.patch diff --git a/patches/server/0039-Ender-dragon-always-drop-full-exp.patch b/patches/unapplied-server/0039-Ender-dragon-always-drop-full-exp.patch similarity index 100% rename from patches/server/0039-Ender-dragon-always-drop-full-exp.patch rename to patches/unapplied-server/0039-Ender-dragon-always-drop-full-exp.patch diff --git a/patches/server/0040-Allow-soil-to-moisten-from-water-directly-under-it.patch b/patches/unapplied-server/0040-Allow-soil-to-moisten-from-water-directly-under-it.patch similarity index 100% rename from patches/server/0040-Allow-soil-to-moisten-from-water-directly-under-it.patch rename to patches/unapplied-server/0040-Allow-soil-to-moisten-from-water-directly-under-it.patch diff --git a/patches/server/0041-Minecart-settings-and-WASD-controls.patch b/patches/unapplied-server/0041-Minecart-settings-and-WASD-controls.patch similarity index 100% rename from patches/server/0041-Minecart-settings-and-WASD-controls.patch rename to patches/unapplied-server/0041-Minecart-settings-and-WASD-controls.patch diff --git a/patches/server/0042-Disable-loot-drops-on-death-by-cramming.patch b/patches/unapplied-server/0042-Disable-loot-drops-on-death-by-cramming.patch similarity index 100% rename from patches/server/0042-Disable-loot-drops-on-death-by-cramming.patch rename to patches/unapplied-server/0042-Disable-loot-drops-on-death-by-cramming.patch diff --git a/patches/server/0043-Option-to-toggle-milk-curing-bad-omen.patch b/patches/unapplied-server/0043-Option-to-toggle-milk-curing-bad-omen.patch similarity index 100% rename from patches/server/0043-Option-to-toggle-milk-curing-bad-omen.patch rename to patches/unapplied-server/0043-Option-to-toggle-milk-curing-bad-omen.patch diff --git a/patches/server/0044-Skip-events-if-there-s-no-listeners.patch b/patches/unapplied-server/0044-Skip-events-if-there-s-no-listeners.patch similarity index 100% rename from patches/server/0044-Skip-events-if-there-s-no-listeners.patch rename to patches/unapplied-server/0044-Skip-events-if-there-s-no-listeners.patch diff --git a/patches/server/0045-Add-permission-for-F3-N-debug.patch b/patches/unapplied-server/0045-Add-permission-for-F3-N-debug.patch similarity index 100% rename from patches/server/0045-Add-permission-for-F3-N-debug.patch rename to patches/unapplied-server/0045-Add-permission-for-F3-N-debug.patch diff --git a/patches/server/0046-Configurable-TPS-Catchup.patch b/patches/unapplied-server/0046-Configurable-TPS-Catchup.patch similarity index 100% rename from patches/server/0046-Configurable-TPS-Catchup.patch rename to patches/unapplied-server/0046-Configurable-TPS-Catchup.patch diff --git a/patches/server/0047-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch b/patches/unapplied-server/0047-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch similarity index 100% rename from patches/server/0047-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch rename to patches/unapplied-server/0047-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch diff --git a/patches/server/0048-Add-enderman-and-creeper-griefing-controls.patch b/patches/unapplied-server/0048-Add-enderman-and-creeper-griefing-controls.patch similarity index 100% rename from patches/server/0048-Add-enderman-and-creeper-griefing-controls.patch rename to patches/unapplied-server/0048-Add-enderman-and-creeper-griefing-controls.patch diff --git a/patches/server/0049-Villagers-follow-emerald-blocks.patch b/patches/unapplied-server/0049-Villagers-follow-emerald-blocks.patch similarity index 100% rename from patches/server/0049-Villagers-follow-emerald-blocks.patch rename to patches/unapplied-server/0049-Villagers-follow-emerald-blocks.patch diff --git a/patches/server/0050-Allow-leashing-villagers.patch b/patches/unapplied-server/0050-Allow-leashing-villagers.patch similarity index 100% rename from patches/server/0050-Allow-leashing-villagers.patch rename to patches/unapplied-server/0050-Allow-leashing-villagers.patch diff --git a/patches/server/0051-Implement-infinite-liquids.patch b/patches/unapplied-server/0051-Implement-infinite-liquids.patch similarity index 100% rename from patches/server/0051-Implement-infinite-liquids.patch rename to patches/unapplied-server/0051-Implement-infinite-liquids.patch diff --git a/patches/server/0052-Make-lava-flow-speed-configurable.patch b/patches/unapplied-server/0052-Make-lava-flow-speed-configurable.patch similarity index 100% rename from patches/server/0052-Make-lava-flow-speed-configurable.patch rename to patches/unapplied-server/0052-Make-lava-flow-speed-configurable.patch diff --git a/patches/server/0053-Add-player-death-exp-control-options.patch b/patches/unapplied-server/0053-Add-player-death-exp-control-options.patch similarity index 100% rename from patches/server/0053-Add-player-death-exp-control-options.patch rename to patches/unapplied-server/0053-Add-player-death-exp-control-options.patch diff --git a/patches/server/0054-Configurable-void-damage-height-and-damage.patch b/patches/unapplied-server/0054-Configurable-void-damage-height-and-damage.patch similarity index 100% rename from patches/server/0054-Configurable-void-damage-height-and-damage.patch rename to patches/unapplied-server/0054-Configurable-void-damage-height-and-damage.patch diff --git a/patches/server/0055-Add-canSaveToDisk-to-Entity.patch b/patches/unapplied-server/0055-Add-canSaveToDisk-to-Entity.patch similarity index 100% rename from patches/server/0055-Add-canSaveToDisk-to-Entity.patch rename to patches/unapplied-server/0055-Add-canSaveToDisk-to-Entity.patch diff --git a/patches/server/0056-Dispenser-curse-of-binding-protection.patch b/patches/unapplied-server/0056-Dispenser-curse-of-binding-protection.patch similarity index 100% rename from patches/server/0056-Dispenser-curse-of-binding-protection.patch rename to patches/unapplied-server/0056-Dispenser-curse-of-binding-protection.patch diff --git a/patches/server/0057-Add-option-for-boats-to-eject-players-on-land.patch b/patches/unapplied-server/0057-Add-option-for-boats-to-eject-players-on-land.patch similarity index 100% rename from patches/server/0057-Add-option-for-boats-to-eject-players-on-land.patch rename to patches/unapplied-server/0057-Add-option-for-boats-to-eject-players-on-land.patch diff --git a/patches/server/0058-Mending-mends-most-damages-equipment-first.patch b/patches/unapplied-server/0058-Mending-mends-most-damages-equipment-first.patch similarity index 100% rename from patches/server/0058-Mending-mends-most-damages-equipment-first.patch rename to patches/unapplied-server/0058-Mending-mends-most-damages-equipment-first.patch diff --git a/patches/server/0059-Add-5-second-tps-average-in-tps.patch b/patches/unapplied-server/0059-Add-5-second-tps-average-in-tps.patch similarity index 100% rename from patches/server/0059-Add-5-second-tps-average-in-tps.patch rename to patches/unapplied-server/0059-Add-5-second-tps-average-in-tps.patch diff --git a/patches/server/0060-Implement-elytra-settings.patch b/patches/unapplied-server/0060-Implement-elytra-settings.patch similarity index 100% rename from patches/server/0060-Implement-elytra-settings.patch rename to patches/unapplied-server/0060-Implement-elytra-settings.patch diff --git a/patches/server/0061-Item-entity-immunities.patch b/patches/unapplied-server/0061-Item-entity-immunities.patch similarity index 100% rename from patches/server/0061-Item-entity-immunities.patch rename to patches/unapplied-server/0061-Item-entity-immunities.patch diff --git a/patches/server/0062-Add-ping-command.patch b/patches/unapplied-server/0062-Add-ping-command.patch similarity index 100% rename from patches/server/0062-Add-ping-command.patch rename to patches/unapplied-server/0062-Add-ping-command.patch diff --git a/patches/server/0063-Add-demo-command.patch b/patches/unapplied-server/0063-Add-demo-command.patch similarity index 100% rename from patches/server/0063-Add-demo-command.patch rename to patches/unapplied-server/0063-Add-demo-command.patch diff --git a/patches/server/0064-Add-credits-command.patch b/patches/unapplied-server/0064-Add-credits-command.patch similarity index 100% rename from patches/server/0064-Add-credits-command.patch rename to patches/unapplied-server/0064-Add-credits-command.patch diff --git a/patches/server/0065-Configurable-jockey-options.patch b/patches/unapplied-server/0065-Configurable-jockey-options.patch similarity index 100% rename from patches/server/0065-Configurable-jockey-options.patch rename to patches/unapplied-server/0065-Configurable-jockey-options.patch diff --git a/patches/server/0066-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch b/patches/unapplied-server/0066-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch similarity index 100% rename from patches/server/0066-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch rename to patches/unapplied-server/0066-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch diff --git a/patches/server/0067-Add-phantom-spawning-options.patch b/patches/unapplied-server/0067-Add-phantom-spawning-options.patch similarity index 100% rename from patches/server/0067-Add-phantom-spawning-options.patch rename to patches/unapplied-server/0067-Add-phantom-spawning-options.patch diff --git a/patches/server/0068-Implement-bed-explosion-options.patch b/patches/unapplied-server/0068-Implement-bed-explosion-options.patch similarity index 100% rename from patches/server/0068-Implement-bed-explosion-options.patch rename to patches/unapplied-server/0068-Implement-bed-explosion-options.patch diff --git a/patches/server/0069-Implement-respawn-anchor-explosion-options.patch b/patches/unapplied-server/0069-Implement-respawn-anchor-explosion-options.patch similarity index 100% rename from patches/server/0069-Implement-respawn-anchor-explosion-options.patch rename to patches/unapplied-server/0069-Implement-respawn-anchor-explosion-options.patch diff --git a/patches/server/0070-Add-allow-water-in-end-world-option.patch b/patches/unapplied-server/0070-Add-allow-water-in-end-world-option.patch similarity index 100% rename from patches/server/0070-Add-allow-water-in-end-world-option.patch rename to patches/unapplied-server/0070-Add-allow-water-in-end-world-option.patch diff --git a/patches/server/0071-Allow-color-codes-in-books.patch b/patches/unapplied-server/0071-Allow-color-codes-in-books.patch similarity index 100% rename from patches/server/0071-Allow-color-codes-in-books.patch rename to patches/unapplied-server/0071-Allow-color-codes-in-books.patch diff --git a/patches/server/0072-Entity-lifespan.patch b/patches/unapplied-server/0072-Entity-lifespan.patch similarity index 100% rename from patches/server/0072-Entity-lifespan.patch rename to patches/unapplied-server/0072-Entity-lifespan.patch diff --git a/patches/server/0073-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/unapplied-server/0073-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch similarity index 100% rename from patches/server/0073-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch rename to patches/unapplied-server/0073-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch diff --git a/patches/server/0074-Squid-EAR-immunity.patch b/patches/unapplied-server/0074-Squid-EAR-immunity.patch similarity index 100% rename from patches/server/0074-Squid-EAR-immunity.patch rename to patches/unapplied-server/0074-Squid-EAR-immunity.patch diff --git a/patches/server/0075-Phantoms-burn-in-light.patch b/patches/unapplied-server/0075-Phantoms-burn-in-light.patch similarity index 100% rename from patches/server/0075-Phantoms-burn-in-light.patch rename to patches/unapplied-server/0075-Phantoms-burn-in-light.patch diff --git a/patches/server/0076-Configurable-villager-breeding.patch b/patches/unapplied-server/0076-Configurable-villager-breeding.patch similarity index 100% rename from patches/server/0076-Configurable-villager-breeding.patch rename to patches/unapplied-server/0076-Configurable-villager-breeding.patch diff --git a/patches/server/0077-Redstone-deactivates-spawners.patch b/patches/unapplied-server/0077-Redstone-deactivates-spawners.patch similarity index 100% rename from patches/server/0077-Redstone-deactivates-spawners.patch rename to patches/unapplied-server/0077-Redstone-deactivates-spawners.patch diff --git a/patches/server/0078-Totems-work-in-inventory.patch b/patches/unapplied-server/0078-Totems-work-in-inventory.patch similarity index 100% rename from patches/server/0078-Totems-work-in-inventory.patch rename to patches/unapplied-server/0078-Totems-work-in-inventory.patch diff --git a/patches/server/0079-Add-vindicator-johnny-spawn-chance.patch b/patches/unapplied-server/0079-Add-vindicator-johnny-spawn-chance.patch similarity index 100% rename from patches/server/0079-Add-vindicator-johnny-spawn-chance.patch rename to patches/unapplied-server/0079-Add-vindicator-johnny-spawn-chance.patch diff --git a/patches/server/0080-Dispensers-place-anvils-option.patch b/patches/unapplied-server/0080-Dispensers-place-anvils-option.patch similarity index 100% rename from patches/server/0080-Dispensers-place-anvils-option.patch rename to patches/unapplied-server/0080-Dispensers-place-anvils-option.patch diff --git a/patches/server/0081-Allow-anvil-colors.patch b/patches/unapplied-server/0081-Allow-anvil-colors.patch similarity index 100% rename from patches/server/0081-Allow-anvil-colors.patch rename to patches/unapplied-server/0081-Allow-anvil-colors.patch diff --git a/patches/server/0082-Add-option-to-disable-dolphin-treasure-searching.patch b/patches/unapplied-server/0082-Add-option-to-disable-dolphin-treasure-searching.patch similarity index 100% rename from patches/server/0082-Add-option-to-disable-dolphin-treasure-searching.patch rename to patches/unapplied-server/0082-Add-option-to-disable-dolphin-treasure-searching.patch diff --git a/patches/server/0083-Short-enderman-height.patch b/patches/unapplied-server/0083-Short-enderman-height.patch similarity index 100% rename from patches/server/0083-Short-enderman-height.patch rename to patches/unapplied-server/0083-Short-enderman-height.patch diff --git a/patches/server/0084-Stop-squids-floating-on-top-of-water.patch b/patches/unapplied-server/0084-Stop-squids-floating-on-top-of-water.patch similarity index 100% rename from patches/server/0084-Stop-squids-floating-on-top-of-water.patch rename to patches/unapplied-server/0084-Stop-squids-floating-on-top-of-water.patch diff --git a/patches/server/0085-Crying-obsidian-valid-for-portal-frames.patch b/patches/unapplied-server/0085-Crying-obsidian-valid-for-portal-frames.patch similarity index 100% rename from patches/server/0085-Crying-obsidian-valid-for-portal-frames.patch rename to patches/unapplied-server/0085-Crying-obsidian-valid-for-portal-frames.patch diff --git a/patches/server/0086-Entities-can-use-portals.patch b/patches/unapplied-server/0086-Entities-can-use-portals.patch similarity index 100% rename from patches/server/0086-Entities-can-use-portals.patch rename to patches/unapplied-server/0086-Entities-can-use-portals.patch diff --git a/patches/server/0087-Customizable-wither-health-and-healing.patch b/patches/unapplied-server/0087-Customizable-wither-health-and-healing.patch similarity index 100% rename from patches/server/0087-Customizable-wither-health-and-healing.patch rename to patches/unapplied-server/0087-Customizable-wither-health-and-healing.patch diff --git a/patches/server/0088-Allow-toggling-special-MobSpawners-per-world.patch b/patches/unapplied-server/0088-Allow-toggling-special-MobSpawners-per-world.patch similarity index 100% rename from patches/server/0088-Allow-toggling-special-MobSpawners-per-world.patch rename to patches/unapplied-server/0088-Allow-toggling-special-MobSpawners-per-world.patch diff --git a/patches/server/0089-Raid-cooldown-setting.patch b/patches/unapplied-server/0089-Raid-cooldown-setting.patch similarity index 100% rename from patches/server/0089-Raid-cooldown-setting.patch rename to patches/unapplied-server/0089-Raid-cooldown-setting.patch diff --git a/patches/server/0090-Add-option-to-disable-zombie-aggressiveness-towards-.patch b/patches/unapplied-server/0090-Add-option-to-disable-zombie-aggressiveness-towards-.patch similarity index 100% rename from patches/server/0090-Add-option-to-disable-zombie-aggressiveness-towards-.patch rename to patches/unapplied-server/0090-Add-option-to-disable-zombie-aggressiveness-towards-.patch diff --git a/patches/server/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch b/patches/unapplied-server/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch similarity index 100% rename from patches/server/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch rename to patches/unapplied-server/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch diff --git a/patches/server/0092-Flying-squids-Oh-my.patch b/patches/unapplied-server/0092-Flying-squids-Oh-my.patch similarity index 100% rename from patches/server/0092-Flying-squids-Oh-my.patch rename to patches/unapplied-server/0092-Flying-squids-Oh-my.patch diff --git a/patches/server/0093-Infinity-bow-settings.patch b/patches/unapplied-server/0093-Infinity-bow-settings.patch similarity index 100% rename from patches/server/0093-Infinity-bow-settings.patch rename to patches/unapplied-server/0093-Infinity-bow-settings.patch diff --git a/patches/server/0094-Configurable-daylight-cycle.patch b/patches/unapplied-server/0094-Configurable-daylight-cycle.patch similarity index 100% rename from patches/server/0094-Configurable-daylight-cycle.patch rename to patches/unapplied-server/0094-Configurable-daylight-cycle.patch diff --git a/patches/server/0095-Furnace-uses-lava-from-underneath.patch b/patches/unapplied-server/0095-Furnace-uses-lava-from-underneath.patch similarity index 100% rename from patches/server/0095-Furnace-uses-lava-from-underneath.patch rename to patches/unapplied-server/0095-Furnace-uses-lava-from-underneath.patch diff --git a/patches/server/0096-Arrows-should-not-reset-despawn-counter.patch b/patches/unapplied-server/0096-Arrows-should-not-reset-despawn-counter.patch similarity index 100% rename from patches/server/0096-Arrows-should-not-reset-despawn-counter.patch rename to patches/unapplied-server/0096-Arrows-should-not-reset-despawn-counter.patch diff --git a/patches/server/0097-Ability-to-re-add-farmland-mechanics-from-Alpha.patch b/patches/unapplied-server/0097-Ability-to-re-add-farmland-mechanics-from-Alpha.patch similarity index 100% rename from patches/server/0097-Ability-to-re-add-farmland-mechanics-from-Alpha.patch rename to patches/unapplied-server/0097-Ability-to-re-add-farmland-mechanics-from-Alpha.patch diff --git a/patches/server/0098-Add-adjustable-breeding-cooldown-to-config.patch b/patches/unapplied-server/0098-Add-adjustable-breeding-cooldown-to-config.patch similarity index 100% rename from patches/server/0098-Add-adjustable-breeding-cooldown-to-config.patch rename to patches/unapplied-server/0098-Add-adjustable-breeding-cooldown-to-config.patch diff --git a/patches/server/0099-Make-entity-breeding-times-configurable.patch b/patches/unapplied-server/0099-Make-entity-breeding-times-configurable.patch similarity index 100% rename from patches/server/0099-Make-entity-breeding-times-configurable.patch rename to patches/unapplied-server/0099-Make-entity-breeding-times-configurable.patch diff --git a/patches/server/0100-Apply-display-names-from-item-forms-of-entities-to-e.patch b/patches/unapplied-server/0100-Apply-display-names-from-item-forms-of-entities-to-e.patch similarity index 100% rename from patches/server/0100-Apply-display-names-from-item-forms-of-entities-to-e.patch rename to patches/unapplied-server/0100-Apply-display-names-from-item-forms-of-entities-to-e.patch diff --git a/patches/server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch b/patches/unapplied-server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch similarity index 100% rename from patches/server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch rename to patches/unapplied-server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch diff --git a/patches/server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch b/patches/unapplied-server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch similarity index 100% rename from patches/server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch rename to patches/unapplied-server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch diff --git a/patches/server/0103-Add-configurable-snowball-damage.patch b/patches/unapplied-server/0103-Add-configurable-snowball-damage.patch similarity index 100% rename from patches/server/0103-Add-configurable-snowball-damage.patch rename to patches/unapplied-server/0103-Add-configurable-snowball-damage.patch diff --git a/patches/server/0104-Changeable-Mob-Left-Handed-Chance.patch b/patches/unapplied-server/0104-Changeable-Mob-Left-Handed-Chance.patch similarity index 100% rename from patches/server/0104-Changeable-Mob-Left-Handed-Chance.patch rename to patches/unapplied-server/0104-Changeable-Mob-Left-Handed-Chance.patch diff --git a/patches/server/0105-Add-boat-fall-damage-config.patch b/patches/unapplied-server/0105-Add-boat-fall-damage-config.patch similarity index 100% rename from patches/server/0105-Add-boat-fall-damage-config.patch rename to patches/unapplied-server/0105-Add-boat-fall-damage-config.patch diff --git a/patches/server/0106-Snow-Golem-rate-of-fire-config.patch b/patches/unapplied-server/0106-Snow-Golem-rate-of-fire-config.patch similarity index 100% rename from patches/server/0106-Snow-Golem-rate-of-fire-config.patch rename to patches/unapplied-server/0106-Snow-Golem-rate-of-fire-config.patch diff --git a/patches/server/0107-EMC-Configurable-disable-give-dropping.patch b/patches/unapplied-server/0107-EMC-Configurable-disable-give-dropping.patch similarity index 100% rename from patches/server/0107-EMC-Configurable-disable-give-dropping.patch rename to patches/unapplied-server/0107-EMC-Configurable-disable-give-dropping.patch diff --git a/patches/server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch b/patches/unapplied-server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch similarity index 100% rename from patches/server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch rename to patches/unapplied-server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch diff --git a/patches/server/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch b/patches/unapplied-server/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch similarity index 100% rename from patches/server/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch rename to patches/unapplied-server/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch diff --git a/patches/server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/unapplied-server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch similarity index 100% rename from patches/server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch rename to patches/unapplied-server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch diff --git a/patches/server/0111-Configurable-default-collar-color.patch b/patches/unapplied-server/0111-Configurable-default-collar-color.patch similarity index 100% rename from patches/server/0111-Configurable-default-collar-color.patch rename to patches/unapplied-server/0111-Configurable-default-collar-color.patch diff --git a/patches/server/0112-Phantom-flames-on-swoop.patch b/patches/unapplied-server/0112-Phantom-flames-on-swoop.patch similarity index 100% rename from patches/server/0112-Phantom-flames-on-swoop.patch rename to patches/unapplied-server/0112-Phantom-flames-on-swoop.patch diff --git a/patches/server/0113-Option-for-chests-to-open-even-with-a-solid-block-on.patch b/patches/unapplied-server/0113-Option-for-chests-to-open-even-with-a-solid-block-on.patch similarity index 100% rename from patches/server/0113-Option-for-chests-to-open-even-with-a-solid-block-on.patch rename to patches/unapplied-server/0113-Option-for-chests-to-open-even-with-a-solid-block-on.patch diff --git a/patches/server/0114-Implement-TPSBar.patch b/patches/unapplied-server/0114-Implement-TPSBar.patch similarity index 100% rename from patches/server/0114-Implement-TPSBar.patch rename to patches/unapplied-server/0114-Implement-TPSBar.patch diff --git a/patches/server/0115-Striders-give-saddle-back.patch b/patches/unapplied-server/0115-Striders-give-saddle-back.patch similarity index 100% rename from patches/server/0115-Striders-give-saddle-back.patch rename to patches/unapplied-server/0115-Striders-give-saddle-back.patch diff --git a/patches/server/0116-PlayerBookTooLargeEvent.patch b/patches/unapplied-server/0116-PlayerBookTooLargeEvent.patch similarity index 100% rename from patches/server/0116-PlayerBookTooLargeEvent.patch rename to patches/unapplied-server/0116-PlayerBookTooLargeEvent.patch diff --git a/patches/server/0117-Full-netherite-armor-grants-fire-resistance.patch b/patches/unapplied-server/0117-Full-netherite-armor-grants-fire-resistance.patch similarity index 100% rename from patches/server/0117-Full-netherite-armor-grants-fire-resistance.patch rename to patches/unapplied-server/0117-Full-netherite-armor-grants-fire-resistance.patch diff --git a/patches/server/0118-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/unapplied-server/0118-Add-mobGriefing-bypass-to-everything-affected.patch similarity index 100% rename from patches/server/0118-Add-mobGriefing-bypass-to-everything-affected.patch rename to patches/unapplied-server/0118-Add-mobGriefing-bypass-to-everything-affected.patch diff --git a/patches/server/0119-Config-to-allow-Note-Block-sounds-when-blocked.patch b/patches/unapplied-server/0119-Config-to-allow-Note-Block-sounds-when-blocked.patch similarity index 100% rename from patches/server/0119-Config-to-allow-Note-Block-sounds-when-blocked.patch rename to patches/unapplied-server/0119-Config-to-allow-Note-Block-sounds-when-blocked.patch diff --git a/patches/server/0120-Add-EntityTeleportHinderedEvent.patch b/patches/unapplied-server/0120-Add-EntityTeleportHinderedEvent.patch similarity index 100% rename from patches/server/0120-Add-EntityTeleportHinderedEvent.patch rename to patches/unapplied-server/0120-Add-EntityTeleportHinderedEvent.patch diff --git a/patches/server/0121-Farmland-trampling-changes.patch b/patches/unapplied-server/0121-Farmland-trampling-changes.patch similarity index 100% rename from patches/server/0121-Farmland-trampling-changes.patch rename to patches/unapplied-server/0121-Farmland-trampling-changes.patch diff --git a/patches/server/0122-Movement-options-for-armor-stands.patch b/patches/unapplied-server/0122-Movement-options-for-armor-stands.patch similarity index 100% rename from patches/server/0122-Movement-options-for-armor-stands.patch rename to patches/unapplied-server/0122-Movement-options-for-armor-stands.patch diff --git a/patches/server/0123-Fix-stuck-in-portals.patch b/patches/unapplied-server/0123-Fix-stuck-in-portals.patch similarity index 100% rename from patches/server/0123-Fix-stuck-in-portals.patch rename to patches/unapplied-server/0123-Fix-stuck-in-portals.patch diff --git a/patches/server/0124-Toggle-for-water-sensitive-mob-damage.patch b/patches/unapplied-server/0124-Toggle-for-water-sensitive-mob-damage.patch similarity index 100% rename from patches/server/0124-Toggle-for-water-sensitive-mob-damage.patch rename to patches/unapplied-server/0124-Toggle-for-water-sensitive-mob-damage.patch diff --git a/patches/server/0125-Config-to-always-tame-in-Creative.patch b/patches/unapplied-server/0125-Config-to-always-tame-in-Creative.patch similarity index 100% rename from patches/server/0125-Config-to-always-tame-in-Creative.patch rename to patches/unapplied-server/0125-Config-to-always-tame-in-Creative.patch diff --git a/patches/server/0126-End-crystal-explosion-options.patch b/patches/unapplied-server/0126-End-crystal-explosion-options.patch similarity index 100% rename from patches/server/0126-End-crystal-explosion-options.patch rename to patches/unapplied-server/0126-End-crystal-explosion-options.patch diff --git a/patches/server/0127-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch b/patches/unapplied-server/0127-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch similarity index 100% rename from patches/server/0127-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch rename to patches/unapplied-server/0127-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch diff --git a/patches/server/0128-Dont-run-with-scissors.patch b/patches/unapplied-server/0128-Dont-run-with-scissors.patch similarity index 100% rename from patches/server/0128-Dont-run-with-scissors.patch rename to patches/unapplied-server/0128-Dont-run-with-scissors.patch diff --git a/patches/server/0129-One-Punch-Man.patch b/patches/unapplied-server/0129-One-Punch-Man.patch similarity index 100% rename from patches/server/0129-One-Punch-Man.patch rename to patches/unapplied-server/0129-One-Punch-Man.patch diff --git a/patches/server/0130-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch b/patches/unapplied-server/0130-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch similarity index 100% rename from patches/server/0130-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch rename to patches/unapplied-server/0130-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch diff --git a/patches/server/0131-Config-to-ignore-nearby-mobs-when-sleeping.patch b/patches/unapplied-server/0131-Config-to-ignore-nearby-mobs-when-sleeping.patch similarity index 100% rename from patches/server/0131-Config-to-ignore-nearby-mobs-when-sleeping.patch rename to patches/unapplied-server/0131-Config-to-ignore-nearby-mobs-when-sleeping.patch diff --git a/patches/server/0132-Add-back-player-spawned-endermite-API.patch b/patches/unapplied-server/0132-Add-back-player-spawned-endermite-API.patch similarity index 100% rename from patches/server/0132-Add-back-player-spawned-endermite-API.patch rename to patches/unapplied-server/0132-Add-back-player-spawned-endermite-API.patch diff --git a/patches/server/0133-Config-Enderman-aggressiveness-towards-Endermites.patch b/patches/unapplied-server/0133-Config-Enderman-aggressiveness-towards-Endermites.patch similarity index 100% rename from patches/server/0133-Config-Enderman-aggressiveness-towards-Endermites.patch rename to patches/unapplied-server/0133-Config-Enderman-aggressiveness-towards-Endermites.patch diff --git a/patches/server/0134-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch b/patches/unapplied-server/0134-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch similarity index 100% rename from patches/server/0134-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch rename to patches/unapplied-server/0134-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch diff --git a/patches/server/0135-Tick-fluids-config.patch b/patches/unapplied-server/0135-Tick-fluids-config.patch similarity index 100% rename from patches/server/0135-Tick-fluids-config.patch rename to patches/unapplied-server/0135-Tick-fluids-config.patch diff --git a/patches/server/0136-Config-to-disable-Llama-caravans.patch b/patches/unapplied-server/0136-Config-to-disable-Llama-caravans.patch similarity index 100% rename from patches/server/0136-Config-to-disable-Llama-caravans.patch rename to patches/unapplied-server/0136-Config-to-disable-Llama-caravans.patch diff --git a/patches/server/0137-Config-to-make-Creepers-explode-on-death.patch b/patches/unapplied-server/0137-Config-to-make-Creepers-explode-on-death.patch similarity index 100% rename from patches/server/0137-Config-to-make-Creepers-explode-on-death.patch rename to patches/unapplied-server/0137-Config-to-make-Creepers-explode-on-death.patch diff --git a/patches/server/0138-Configurable-ravager-griefable-blocks-list.patch b/patches/unapplied-server/0138-Configurable-ravager-griefable-blocks-list.patch similarity index 100% rename from patches/server/0138-Configurable-ravager-griefable-blocks-list.patch rename to patches/unapplied-server/0138-Configurable-ravager-griefable-blocks-list.patch diff --git a/patches/server/0139-Sneak-to-bulk-process-composter.patch b/patches/unapplied-server/0139-Sneak-to-bulk-process-composter.patch similarity index 100% rename from patches/server/0139-Sneak-to-bulk-process-composter.patch rename to patches/unapplied-server/0139-Sneak-to-bulk-process-composter.patch diff --git a/patches/server/0140-Config-for-skipping-night.patch b/patches/unapplied-server/0140-Config-for-skipping-night.patch similarity index 100% rename from patches/server/0140-Config-for-skipping-night.patch rename to patches/unapplied-server/0140-Config-for-skipping-night.patch diff --git a/patches/server/0141-Add-config-for-villager-trading.patch b/patches/unapplied-server/0141-Add-config-for-villager-trading.patch similarity index 100% rename from patches/server/0141-Add-config-for-villager-trading.patch rename to patches/unapplied-server/0141-Add-config-for-villager-trading.patch diff --git a/patches/server/0142-Drowning-Settings.patch b/patches/unapplied-server/0142-Drowning-Settings.patch similarity index 100% rename from patches/server/0142-Drowning-Settings.patch rename to patches/unapplied-server/0142-Drowning-Settings.patch diff --git a/patches/server/0143-Break-individual-slabs-when-sneaking.patch b/patches/unapplied-server/0143-Break-individual-slabs-when-sneaking.patch similarity index 100% rename from patches/server/0143-Break-individual-slabs-when-sneaking.patch rename to patches/unapplied-server/0143-Break-individual-slabs-when-sneaking.patch diff --git a/patches/server/0144-Config-to-disable-hostile-mob-spawn-on-ice.patch b/patches/unapplied-server/0144-Config-to-disable-hostile-mob-spawn-on-ice.patch similarity index 100% rename from patches/server/0144-Config-to-disable-hostile-mob-spawn-on-ice.patch rename to patches/unapplied-server/0144-Config-to-disable-hostile-mob-spawn-on-ice.patch diff --git a/patches/server/0145-Config-to-show-Armor-Stand-arms-on-spawn.patch b/patches/unapplied-server/0145-Config-to-show-Armor-Stand-arms-on-spawn.patch similarity index 100% rename from patches/server/0145-Config-to-show-Armor-Stand-arms-on-spawn.patch rename to patches/unapplied-server/0145-Config-to-show-Armor-Stand-arms-on-spawn.patch diff --git a/patches/server/0146-Option-to-make-doors-require-redstone.patch b/patches/unapplied-server/0146-Option-to-make-doors-require-redstone.patch similarity index 100% rename from patches/server/0146-Option-to-make-doors-require-redstone.patch rename to patches/unapplied-server/0146-Option-to-make-doors-require-redstone.patch diff --git a/patches/server/0147-Config-to-allow-unsafe-enchants.patch b/patches/unapplied-server/0147-Config-to-allow-unsafe-enchants.patch similarity index 100% rename from patches/server/0147-Config-to-allow-unsafe-enchants.patch rename to patches/unapplied-server/0147-Config-to-allow-unsafe-enchants.patch diff --git a/patches/server/0148-Configurable-sponge-absorption.patch b/patches/unapplied-server/0148-Configurable-sponge-absorption.patch similarity index 100% rename from patches/server/0148-Configurable-sponge-absorption.patch rename to patches/unapplied-server/0148-Configurable-sponge-absorption.patch diff --git a/patches/server/0149-Projectile-offset-config.patch b/patches/unapplied-server/0149-Projectile-offset-config.patch similarity index 100% rename from patches/server/0149-Projectile-offset-config.patch rename to patches/unapplied-server/0149-Projectile-offset-config.patch diff --git a/patches/server/0150-Config-for-powered-rail-activation-distance.patch b/patches/unapplied-server/0150-Config-for-powered-rail-activation-distance.patch similarity index 100% rename from patches/server/0150-Config-for-powered-rail-activation-distance.patch rename to patches/unapplied-server/0150-Config-for-powered-rail-activation-distance.patch diff --git a/patches/server/0151-Piglin-portal-spawn-modifier.patch b/patches/unapplied-server/0151-Piglin-portal-spawn-modifier.patch similarity index 100% rename from patches/server/0151-Piglin-portal-spawn-modifier.patch rename to patches/unapplied-server/0151-Piglin-portal-spawn-modifier.patch diff --git a/patches/server/0152-Config-to-change-max-number-of-bees.patch b/patches/unapplied-server/0152-Config-to-change-max-number-of-bees.patch similarity index 100% rename from patches/server/0152-Config-to-change-max-number-of-bees.patch rename to patches/unapplied-server/0152-Config-to-change-max-number-of-bees.patch diff --git a/patches/server/0153-Config-for-wither-explosion-radius.patch b/patches/unapplied-server/0153-Config-for-wither-explosion-radius.patch similarity index 100% rename from patches/server/0153-Config-for-wither-explosion-radius.patch rename to patches/unapplied-server/0153-Config-for-wither-explosion-radius.patch diff --git a/patches/server/0154-Gamemode-extra-permissions.patch b/patches/unapplied-server/0154-Gamemode-extra-permissions.patch similarity index 100% rename from patches/server/0154-Gamemode-extra-permissions.patch rename to patches/unapplied-server/0154-Gamemode-extra-permissions.patch diff --git a/patches/server/0155-Configurable-piston-push-limit.patch b/patches/unapplied-server/0155-Configurable-piston-push-limit.patch similarity index 100% rename from patches/server/0155-Configurable-piston-push-limit.patch rename to patches/unapplied-server/0155-Configurable-piston-push-limit.patch diff --git a/patches/server/0156-Configurable-broadcast-settings.patch b/patches/unapplied-server/0156-Configurable-broadcast-settings.patch similarity index 100% rename from patches/server/0156-Configurable-broadcast-settings.patch rename to patches/unapplied-server/0156-Configurable-broadcast-settings.patch diff --git a/patches/server/0157-Configurable-mob-blindness.patch b/patches/unapplied-server/0157-Configurable-mob-blindness.patch similarity index 100% rename from patches/server/0157-Configurable-mob-blindness.patch rename to patches/unapplied-server/0157-Configurable-mob-blindness.patch diff --git a/patches/server/0158-Hide-hidden-players-from-entity-selector.patch b/patches/unapplied-server/0158-Hide-hidden-players-from-entity-selector.patch similarity index 100% rename from patches/server/0158-Hide-hidden-players-from-entity-selector.patch rename to patches/unapplied-server/0158-Hide-hidden-players-from-entity-selector.patch diff --git a/patches/server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch b/patches/unapplied-server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch similarity index 100% rename from patches/server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch rename to patches/unapplied-server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch diff --git a/patches/server/0160-Iron-golem-calm-anger-options.patch b/patches/unapplied-server/0160-Iron-golem-calm-anger-options.patch similarity index 100% rename from patches/server/0160-Iron-golem-calm-anger-options.patch rename to patches/unapplied-server/0160-Iron-golem-calm-anger-options.patch diff --git a/patches/server/0161-Breedable-parrots.patch b/patches/unapplied-server/0161-Breedable-parrots.patch similarity index 100% rename from patches/server/0161-Breedable-parrots.patch rename to patches/unapplied-server/0161-Breedable-parrots.patch diff --git a/patches/server/0162-Configurable-powered-rail-boost-modifier.patch b/patches/unapplied-server/0162-Configurable-powered-rail-boost-modifier.patch similarity index 100% rename from patches/server/0162-Configurable-powered-rail-boost-modifier.patch rename to patches/unapplied-server/0162-Configurable-powered-rail-boost-modifier.patch diff --git a/patches/server/0163-Add-config-change-multiplier-critical-damage-value.patch b/patches/unapplied-server/0163-Add-config-change-multiplier-critical-damage-value.patch similarity index 100% rename from patches/server/0163-Add-config-change-multiplier-critical-damage-value.patch rename to patches/unapplied-server/0163-Add-config-change-multiplier-critical-damage-value.patch diff --git a/patches/server/0164-Option-to-disable-dragon-egg-teleporting.patch b/patches/unapplied-server/0164-Option-to-disable-dragon-egg-teleporting.patch similarity index 100% rename from patches/server/0164-Option-to-disable-dragon-egg-teleporting.patch rename to patches/unapplied-server/0164-Option-to-disable-dragon-egg-teleporting.patch diff --git a/patches/server/0165-Config-for-unverified-username-message.patch b/patches/unapplied-server/0165-Config-for-unverified-username-message.patch similarity index 100% rename from patches/server/0165-Config-for-unverified-username-message.patch rename to patches/unapplied-server/0165-Config-for-unverified-username-message.patch diff --git a/patches/server/0166-Make-anvil-cumulative-cost-configurable.patch b/patches/unapplied-server/0166-Make-anvil-cumulative-cost-configurable.patch similarity index 100% rename from patches/server/0166-Make-anvil-cumulative-cost-configurable.patch rename to patches/unapplied-server/0166-Make-anvil-cumulative-cost-configurable.patch diff --git a/patches/server/0167-Bee-can-work-when-raining-or-at-night.patch b/patches/unapplied-server/0167-Bee-can-work-when-raining-or-at-night.patch similarity index 100% rename from patches/server/0167-Bee-can-work-when-raining-or-at-night.patch rename to patches/unapplied-server/0167-Bee-can-work-when-raining-or-at-night.patch diff --git a/patches/server/0168-API-for-any-mob-to-burn-daylight.patch b/patches/unapplied-server/0168-API-for-any-mob-to-burn-daylight.patch similarity index 100% rename from patches/server/0168-API-for-any-mob-to-burn-daylight.patch rename to patches/unapplied-server/0168-API-for-any-mob-to-burn-daylight.patch diff --git a/patches/server/0169-Config-MobEffect-by-world.patch b/patches/unapplied-server/0169-Config-MobEffect-by-world.patch similarity index 100% rename from patches/server/0169-Config-MobEffect-by-world.patch rename to patches/unapplied-server/0169-Config-MobEffect-by-world.patch diff --git a/patches/server/0170-Beacon-Activation-Range-Configurable.patch b/patches/unapplied-server/0170-Beacon-Activation-Range-Configurable.patch similarity index 100% rename from patches/server/0170-Beacon-Activation-Range-Configurable.patch rename to patches/unapplied-server/0170-Beacon-Activation-Range-Configurable.patch diff --git a/patches/server/0171-Make-lightning-rod-range-configurable.patch b/patches/unapplied-server/0171-Make-lightning-rod-range-configurable.patch similarity index 100% rename from patches/server/0171-Make-lightning-rod-range-configurable.patch rename to patches/unapplied-server/0171-Make-lightning-rod-range-configurable.patch diff --git a/patches/server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch b/patches/unapplied-server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch similarity index 100% rename from patches/server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch rename to patches/unapplied-server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch diff --git a/patches/server/0173-Allow-player-join-full-server-by-permission.patch b/patches/unapplied-server/0173-Allow-player-join-full-server-by-permission.patch similarity index 100% rename from patches/server/0173-Allow-player-join-full-server-by-permission.patch rename to patches/unapplied-server/0173-Allow-player-join-full-server-by-permission.patch diff --git a/patches/server/0174-Add-portal-permission-bypass.patch b/patches/unapplied-server/0174-Add-portal-permission-bypass.patch similarity index 100% rename from patches/server/0174-Add-portal-permission-bypass.patch rename to patches/unapplied-server/0174-Add-portal-permission-bypass.patch diff --git a/patches/server/0175-Shulker-spawn-from-bullet-options.patch b/patches/unapplied-server/0175-Shulker-spawn-from-bullet-options.patch similarity index 100% rename from patches/server/0175-Shulker-spawn-from-bullet-options.patch rename to patches/unapplied-server/0175-Shulker-spawn-from-bullet-options.patch diff --git a/patches/server/0176-Eating-glow-berries-adds-glow-effect.patch b/patches/unapplied-server/0176-Eating-glow-berries-adds-glow-effect.patch similarity index 100% rename from patches/server/0176-Eating-glow-berries-adds-glow-effect.patch rename to patches/unapplied-server/0176-Eating-glow-berries-adds-glow-effect.patch diff --git a/patches/server/0177-Option-to-make-drowned-break-doors.patch b/patches/unapplied-server/0177-Option-to-make-drowned-break-doors.patch similarity index 100% rename from patches/server/0177-Option-to-make-drowned-break-doors.patch rename to patches/unapplied-server/0177-Option-to-make-drowned-break-doors.patch diff --git a/patches/server/0178-Configurable-hunger-starvation-damage.patch b/patches/unapplied-server/0178-Configurable-hunger-starvation-damage.patch similarity index 100% rename from patches/server/0178-Configurable-hunger-starvation-damage.patch rename to patches/unapplied-server/0178-Configurable-hunger-starvation-damage.patch diff --git a/patches/server/0179-Enhance-SysoutCatcher.patch b/patches/unapplied-server/0179-Enhance-SysoutCatcher.patch similarity index 100% rename from patches/server/0179-Enhance-SysoutCatcher.patch rename to patches/unapplied-server/0179-Enhance-SysoutCatcher.patch diff --git a/patches/server/0180-Add-uptime-command.patch b/patches/unapplied-server/0180-Add-uptime-command.patch similarity index 100% rename from patches/server/0180-Add-uptime-command.patch rename to patches/unapplied-server/0180-Add-uptime-command.patch diff --git a/patches/server/0181-Tool-actionable-options.patch b/patches/unapplied-server/0181-Tool-actionable-options.patch similarity index 100% rename from patches/server/0181-Tool-actionable-options.patch rename to patches/unapplied-server/0181-Tool-actionable-options.patch diff --git a/patches/server/0182-Store-placer-on-Block-when-placed.patch b/patches/unapplied-server/0182-Store-placer-on-Block-when-placed.patch similarity index 100% rename from patches/server/0182-Store-placer-on-Block-when-placed.patch rename to patches/unapplied-server/0182-Store-placer-on-Block-when-placed.patch diff --git a/patches/server/0183-Summoner-API.patch b/patches/unapplied-server/0183-Summoner-API.patch similarity index 100% rename from patches/server/0183-Summoner-API.patch rename to patches/unapplied-server/0183-Summoner-API.patch diff --git a/patches/server/0184-Customizable-sleeping-actionbar-messages.patch b/patches/unapplied-server/0184-Customizable-sleeping-actionbar-messages.patch similarity index 100% rename from patches/server/0184-Customizable-sleeping-actionbar-messages.patch rename to patches/unapplied-server/0184-Customizable-sleeping-actionbar-messages.patch diff --git a/patches/server/0185-option-to-disable-shulker-box-items-from-dropping-co.patch b/patches/unapplied-server/0185-option-to-disable-shulker-box-items-from-dropping-co.patch similarity index 100% rename from patches/server/0185-option-to-disable-shulker-box-items-from-dropping-co.patch rename to patches/unapplied-server/0185-option-to-disable-shulker-box-items-from-dropping-co.patch diff --git a/patches/server/0186-Big-dripleaf-tilt-delay.patch b/patches/unapplied-server/0186-Big-dripleaf-tilt-delay.patch similarity index 100% rename from patches/server/0186-Big-dripleaf-tilt-delay.patch rename to patches/unapplied-server/0186-Big-dripleaf-tilt-delay.patch diff --git a/patches/server/0187-Player-ridable-in-water-option.patch b/patches/unapplied-server/0187-Player-ridable-in-water-option.patch similarity index 100% rename from patches/server/0187-Player-ridable-in-water-option.patch rename to patches/unapplied-server/0187-Player-ridable-in-water-option.patch diff --git a/patches/server/0188-Config-to-disable-Enderman-teleport-on-projectile-hi.patch b/patches/unapplied-server/0188-Config-to-disable-Enderman-teleport-on-projectile-hi.patch similarity index 100% rename from patches/server/0188-Config-to-disable-Enderman-teleport-on-projectile-hi.patch rename to patches/unapplied-server/0188-Config-to-disable-Enderman-teleport-on-projectile-hi.patch diff --git a/patches/server/0189-Add-compass-command.patch b/patches/unapplied-server/0189-Add-compass-command.patch similarity index 100% rename from patches/server/0189-Add-compass-command.patch rename to patches/unapplied-server/0189-Add-compass-command.patch diff --git a/patches/server/0190-Toggle-for-kinetic-damage.patch b/patches/unapplied-server/0190-Toggle-for-kinetic-damage.patch similarity index 100% rename from patches/server/0190-Toggle-for-kinetic-damage.patch rename to patches/unapplied-server/0190-Toggle-for-kinetic-damage.patch diff --git a/patches/server/0191-Add-Option-for-disable-observer-clocks.patch b/patches/unapplied-server/0191-Add-Option-for-disable-observer-clocks.patch similarity index 100% rename from patches/server/0191-Add-Option-for-disable-observer-clocks.patch rename to patches/unapplied-server/0191-Add-Option-for-disable-observer-clocks.patch diff --git a/patches/server/0192-Customizeable-Zombie-Villager-curing-times.patch b/patches/unapplied-server/0192-Customizeable-Zombie-Villager-curing-times.patch similarity index 100% rename from patches/server/0192-Customizeable-Zombie-Villager-curing-times.patch rename to patches/unapplied-server/0192-Customizeable-Zombie-Villager-curing-times.patch diff --git a/patches/server/0193-Option-for-sponges-to-work-on-lava-and-mud.patch b/patches/unapplied-server/0193-Option-for-sponges-to-work-on-lava-and-mud.patch similarity index 100% rename from patches/server/0193-Option-for-sponges-to-work-on-lava-and-mud.patch rename to patches/unapplied-server/0193-Option-for-sponges-to-work-on-lava-and-mud.patch diff --git a/patches/server/0194-Toggle-for-Wither-s-spawn-sound.patch b/patches/unapplied-server/0194-Toggle-for-Wither-s-spawn-sound.patch similarity index 100% rename from patches/server/0194-Toggle-for-Wither-s-spawn-sound.patch rename to patches/unapplied-server/0194-Toggle-for-Wither-s-spawn-sound.patch diff --git a/patches/server/0195-Cactus-breaks-from-solid-neighbors-config.patch b/patches/unapplied-server/0195-Cactus-breaks-from-solid-neighbors-config.patch similarity index 100% rename from patches/server/0195-Cactus-breaks-from-solid-neighbors-config.patch rename to patches/unapplied-server/0195-Cactus-breaks-from-solid-neighbors-config.patch diff --git a/patches/server/0196-Config-to-remove-curse-of-binding-with-weakness.patch b/patches/unapplied-server/0196-Config-to-remove-curse-of-binding-with-weakness.patch similarity index 100% rename from patches/server/0196-Config-to-remove-curse-of-binding-with-weakness.patch rename to patches/unapplied-server/0196-Config-to-remove-curse-of-binding-with-weakness.patch diff --git a/patches/server/0197-Conduit-behavior-configuration.patch b/patches/unapplied-server/0197-Conduit-behavior-configuration.patch similarity index 100% rename from patches/server/0197-Conduit-behavior-configuration.patch rename to patches/unapplied-server/0197-Conduit-behavior-configuration.patch diff --git a/patches/server/0198-Cauldron-fill-chances.patch b/patches/unapplied-server/0198-Cauldron-fill-chances.patch similarity index 100% rename from patches/server/0198-Cauldron-fill-chances.patch rename to patches/unapplied-server/0198-Cauldron-fill-chances.patch diff --git a/patches/server/0199-Config-to-allow-mobs-to-pathfind-over-rails.patch b/patches/unapplied-server/0199-Config-to-allow-mobs-to-pathfind-over-rails.patch similarity index 100% rename from patches/server/0199-Config-to-allow-mobs-to-pathfind-over-rails.patch rename to patches/unapplied-server/0199-Config-to-allow-mobs-to-pathfind-over-rails.patch diff --git a/patches/server/0200-Shulker-change-color-with-dye.patch b/patches/unapplied-server/0200-Shulker-change-color-with-dye.patch similarity index 100% rename from patches/server/0200-Shulker-change-color-with-dye.patch rename to patches/unapplied-server/0200-Shulker-change-color-with-dye.patch diff --git a/patches/server/0201-Extended-OfflinePlayer-API.patch b/patches/unapplied-server/0201-Extended-OfflinePlayer-API.patch similarity index 100% rename from patches/server/0201-Extended-OfflinePlayer-API.patch rename to patches/unapplied-server/0201-Extended-OfflinePlayer-API.patch diff --git a/patches/server/0202-Added-the-ability-to-add-combustible-items.patch b/patches/unapplied-server/0202-Added-the-ability-to-add-combustible-items.patch similarity index 100% rename from patches/server/0202-Added-the-ability-to-add-combustible-items.patch rename to patches/unapplied-server/0202-Added-the-ability-to-add-combustible-items.patch diff --git a/patches/server/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch b/patches/unapplied-server/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch similarity index 100% rename from patches/server/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch rename to patches/unapplied-server/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch diff --git a/patches/server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch b/patches/unapplied-server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch similarity index 100% rename from patches/server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch rename to patches/unapplied-server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch diff --git a/patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch b/patches/unapplied-server/0205-Shift-right-click-to-use-exp-for-mending.patch similarity index 100% rename from patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch rename to patches/unapplied-server/0205-Shift-right-click-to-use-exp-for-mending.patch diff --git a/patches/server/0206-Dolphins-naturally-aggressive-to-players-chance.patch b/patches/unapplied-server/0206-Dolphins-naturally-aggressive-to-players-chance.patch similarity index 100% rename from patches/server/0206-Dolphins-naturally-aggressive-to-players-chance.patch rename to patches/unapplied-server/0206-Dolphins-naturally-aggressive-to-players-chance.patch diff --git a/patches/server/0207-Cows-naturally-aggressive-to-players-chance.patch b/patches/unapplied-server/0207-Cows-naturally-aggressive-to-players-chance.patch similarity index 100% rename from patches/server/0207-Cows-naturally-aggressive-to-players-chance.patch rename to patches/unapplied-server/0207-Cows-naturally-aggressive-to-players-chance.patch diff --git a/patches/server/0208-Option-for-beds-to-explode-on-villager-sleep.patch b/patches/unapplied-server/0208-Option-for-beds-to-explode-on-villager-sleep.patch similarity index 100% rename from patches/server/0208-Option-for-beds-to-explode-on-villager-sleep.patch rename to patches/unapplied-server/0208-Option-for-beds-to-explode-on-villager-sleep.patch diff --git a/patches/server/0209-Halloween-options-and-optimizations.patch b/patches/unapplied-server/0209-Halloween-options-and-optimizations.patch similarity index 100% rename from patches/server/0209-Halloween-options-and-optimizations.patch rename to patches/unapplied-server/0209-Halloween-options-and-optimizations.patch diff --git a/patches/server/0210-Config-for-grindstones.patch b/patches/unapplied-server/0210-Config-for-grindstones.patch similarity index 100% rename from patches/server/0210-Config-for-grindstones.patch rename to patches/unapplied-server/0210-Config-for-grindstones.patch diff --git a/patches/server/0211-UPnP-Port-Forwarding.patch b/patches/unapplied-server/0211-UPnP-Port-Forwarding.patch similarity index 100% rename from patches/server/0211-UPnP-Port-Forwarding.patch rename to patches/unapplied-server/0211-UPnP-Port-Forwarding.patch diff --git a/patches/server/0212-Campfire-option-for-lit-when-placed.patch b/patches/unapplied-server/0212-Campfire-option-for-lit-when-placed.patch similarity index 100% rename from patches/server/0212-Campfire-option-for-lit-when-placed.patch rename to patches/unapplied-server/0212-Campfire-option-for-lit-when-placed.patch diff --git a/patches/server/0213-options-to-extinguish-fire-blocks-with-snowballs.patch b/patches/unapplied-server/0213-options-to-extinguish-fire-blocks-with-snowballs.patch similarity index 100% rename from patches/server/0213-options-to-extinguish-fire-blocks-with-snowballs.patch rename to patches/unapplied-server/0213-options-to-extinguish-fire-blocks-with-snowballs.patch diff --git a/patches/server/0214-Add-option-to-disable-zombie-villagers-cure.patch b/patches/unapplied-server/0214-Add-option-to-disable-zombie-villagers-cure.patch similarity index 100% rename from patches/server/0214-Add-option-to-disable-zombie-villagers-cure.patch rename to patches/unapplied-server/0214-Add-option-to-disable-zombie-villagers-cure.patch diff --git a/patches/server/0215-Persistent-BlockEntity-Lore-and-DisplayName.patch b/patches/unapplied-server/0215-Persistent-BlockEntity-Lore-and-DisplayName.patch similarity index 100% rename from patches/server/0215-Persistent-BlockEntity-Lore-and-DisplayName.patch rename to patches/unapplied-server/0215-Persistent-BlockEntity-Lore-and-DisplayName.patch diff --git a/patches/server/0216-Signs-allow-color-codes.patch b/patches/unapplied-server/0216-Signs-allow-color-codes.patch similarity index 100% rename from patches/server/0216-Signs-allow-color-codes.patch rename to patches/unapplied-server/0216-Signs-allow-color-codes.patch diff --git a/patches/server/0217-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch b/patches/unapplied-server/0217-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch similarity index 100% rename from patches/server/0217-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch rename to patches/unapplied-server/0217-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch diff --git a/patches/server/0218-Mobs-always-drop-experience.patch b/patches/unapplied-server/0218-Mobs-always-drop-experience.patch similarity index 100% rename from patches/server/0218-Mobs-always-drop-experience.patch rename to patches/unapplied-server/0218-Mobs-always-drop-experience.patch diff --git a/patches/server/0219-Grindstone-API.patch b/patches/unapplied-server/0219-Grindstone-API.patch similarity index 100% rename from patches/server/0219-Grindstone-API.patch rename to patches/unapplied-server/0219-Grindstone-API.patch diff --git a/patches/server/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch b/patches/unapplied-server/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch similarity index 100% rename from patches/server/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch rename to patches/unapplied-server/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch diff --git a/patches/server/0221-Turtle-eggs-random-tick-crack-chance.patch b/patches/unapplied-server/0221-Turtle-eggs-random-tick-crack-chance.patch similarity index 100% rename from patches/server/0221-Turtle-eggs-random-tick-crack-chance.patch rename to patches/unapplied-server/0221-Turtle-eggs-random-tick-crack-chance.patch diff --git a/patches/server/0222-Mob-head-visibility-percent.patch b/patches/unapplied-server/0222-Mob-head-visibility-percent.patch similarity index 100% rename from patches/server/0222-Mob-head-visibility-percent.patch rename to patches/unapplied-server/0222-Mob-head-visibility-percent.patch diff --git a/patches/server/0223-Configurable-valid-characters-for-usernames.patch b/patches/unapplied-server/0223-Configurable-valid-characters-for-usernames.patch similarity index 100% rename from patches/server/0223-Configurable-valid-characters-for-usernames.patch rename to patches/unapplied-server/0223-Configurable-valid-characters-for-usernames.patch diff --git a/patches/server/0224-Stop-bees-from-dying-after-stinging.patch b/patches/unapplied-server/0224-Stop-bees-from-dying-after-stinging.patch similarity index 100% rename from patches/server/0224-Stop-bees-from-dying-after-stinging.patch rename to patches/unapplied-server/0224-Stop-bees-from-dying-after-stinging.patch diff --git a/patches/server/0225-Give-bee-counts-in-beehives-to-Purpur-clients.patch b/patches/unapplied-server/0225-Give-bee-counts-in-beehives-to-Purpur-clients.patch similarity index 100% rename from patches/server/0225-Give-bee-counts-in-beehives-to-Purpur-clients.patch rename to patches/unapplied-server/0225-Give-bee-counts-in-beehives-to-Purpur-clients.patch diff --git a/patches/server/0226-Configurable-farmland-trample-height.patch b/patches/unapplied-server/0226-Configurable-farmland-trample-height.patch similarity index 100% rename from patches/server/0226-Configurable-farmland-trample-height.patch rename to patches/unapplied-server/0226-Configurable-farmland-trample-height.patch diff --git a/patches/server/0227-Configurable-player-pickup-exp-delay.patch b/patches/unapplied-server/0227-Configurable-player-pickup-exp-delay.patch similarity index 100% rename from patches/server/0227-Configurable-player-pickup-exp-delay.patch rename to patches/unapplied-server/0227-Configurable-player-pickup-exp-delay.patch diff --git a/patches/server/0228-Allow-void-trading.patch b/patches/unapplied-server/0228-Allow-void-trading.patch similarity index 100% rename from patches/server/0228-Allow-void-trading.patch rename to patches/unapplied-server/0228-Allow-void-trading.patch diff --git a/patches/server/0229-Configurable-phantom-size.patch b/patches/unapplied-server/0229-Configurable-phantom-size.patch similarity index 100% rename from patches/server/0229-Configurable-phantom-size.patch rename to patches/unapplied-server/0229-Configurable-phantom-size.patch diff --git a/patches/server/0230-Max-joins-per-second.patch b/patches/unapplied-server/0230-Max-joins-per-second.patch similarity index 100% rename from patches/server/0230-Max-joins-per-second.patch rename to patches/unapplied-server/0230-Max-joins-per-second.patch diff --git a/patches/server/0231-Configurable-minimum-demand-for-trades.patch b/patches/unapplied-server/0231-Configurable-minimum-demand-for-trades.patch similarity index 100% rename from patches/server/0231-Configurable-minimum-demand-for-trades.patch rename to patches/unapplied-server/0231-Configurable-minimum-demand-for-trades.patch diff --git a/patches/server/0232-Lobotomize-stuck-villagers.patch b/patches/unapplied-server/0232-Lobotomize-stuck-villagers.patch similarity index 100% rename from patches/server/0232-Lobotomize-stuck-villagers.patch rename to patches/unapplied-server/0232-Lobotomize-stuck-villagers.patch diff --git a/patches/server/0233-Option-for-villager-display-trade-item.patch b/patches/unapplied-server/0233-Option-for-villager-display-trade-item.patch similarity index 100% rename from patches/server/0233-Option-for-villager-display-trade-item.patch rename to patches/unapplied-server/0233-Option-for-villager-display-trade-item.patch diff --git a/patches/server/0234-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch b/patches/unapplied-server/0234-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch similarity index 100% rename from patches/server/0234-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch rename to patches/unapplied-server/0234-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch diff --git a/patches/server/0235-Config-for-mob-last-hurt-by-player-time.patch b/patches/unapplied-server/0235-Config-for-mob-last-hurt-by-player-time.patch similarity index 100% rename from patches/server/0235-Config-for-mob-last-hurt-by-player-time.patch rename to patches/unapplied-server/0235-Config-for-mob-last-hurt-by-player-time.patch diff --git a/patches/server/0236-Anvil-repair-damage-options.patch b/patches/unapplied-server/0236-Anvil-repair-damage-options.patch similarity index 100% rename from patches/server/0236-Anvil-repair-damage-options.patch rename to patches/unapplied-server/0236-Anvil-repair-damage-options.patch diff --git a/patches/server/0237-Option-to-disable-turtle-egg-trampling-with-feather-.patch b/patches/unapplied-server/0237-Option-to-disable-turtle-egg-trampling-with-feather-.patch similarity index 100% rename from patches/server/0237-Option-to-disable-turtle-egg-trampling-with-feather-.patch rename to patches/unapplied-server/0237-Option-to-disable-turtle-egg-trampling-with-feather-.patch diff --git a/patches/server/0238-Add-toggle-for-enchant-level-clamping.patch b/patches/unapplied-server/0238-Add-toggle-for-enchant-level-clamping.patch similarity index 100% rename from patches/server/0238-Add-toggle-for-enchant-level-clamping.patch rename to patches/unapplied-server/0238-Add-toggle-for-enchant-level-clamping.patch diff --git a/patches/server/0239-Skip-junit-tests-for-purpur-commands.patch b/patches/unapplied-server/0239-Skip-junit-tests-for-purpur-commands.patch similarity index 100% rename from patches/server/0239-Skip-junit-tests-for-purpur-commands.patch rename to patches/unapplied-server/0239-Skip-junit-tests-for-purpur-commands.patch diff --git a/patches/server/0240-Implement-configurable-search-radius-for-villagers-t.patch b/patches/unapplied-server/0240-Implement-configurable-search-radius-for-villagers-t.patch similarity index 100% rename from patches/server/0240-Implement-configurable-search-radius-for-villagers-t.patch rename to patches/unapplied-server/0240-Implement-configurable-search-radius-for-villagers-t.patch diff --git a/patches/server/0241-Stonecutter-damage.patch b/patches/unapplied-server/0241-Stonecutter-damage.patch similarity index 100% rename from patches/server/0241-Stonecutter-damage.patch rename to patches/unapplied-server/0241-Stonecutter-damage.patch diff --git a/patches/server/0242-Configurable-damage-settings-for-magma-blocks.patch b/patches/unapplied-server/0242-Configurable-damage-settings-for-magma-blocks.patch similarity index 100% rename from patches/server/0242-Configurable-damage-settings-for-magma-blocks.patch rename to patches/unapplied-server/0242-Configurable-damage-settings-for-magma-blocks.patch diff --git a/patches/server/0243-Add-config-for-snow-on-blue-ice.patch b/patches/unapplied-server/0243-Add-config-for-snow-on-blue-ice.patch similarity index 100% rename from patches/server/0243-Add-config-for-snow-on-blue-ice.patch rename to patches/unapplied-server/0243-Add-config-for-snow-on-blue-ice.patch diff --git a/patches/server/0244-Skeletons-eat-wither-roses.patch b/patches/unapplied-server/0244-Skeletons-eat-wither-roses.patch similarity index 100% rename from patches/server/0244-Skeletons-eat-wither-roses.patch rename to patches/unapplied-server/0244-Skeletons-eat-wither-roses.patch diff --git a/patches/server/0245-Enchantment-Table-Persists-Lapis.patch b/patches/unapplied-server/0245-Enchantment-Table-Persists-Lapis.patch similarity index 100% rename from patches/server/0245-Enchantment-Table-Persists-Lapis.patch rename to patches/unapplied-server/0245-Enchantment-Table-Persists-Lapis.patch diff --git a/patches/server/0246-Option-to-disable-kick-for-out-of-order-chat.patch b/patches/unapplied-server/0246-Option-to-disable-kick-for-out-of-order-chat.patch similarity index 100% rename from patches/server/0246-Option-to-disable-kick-for-out-of-order-chat.patch rename to patches/unapplied-server/0246-Option-to-disable-kick-for-out-of-order-chat.patch diff --git a/patches/server/0247-Config-for-sculk-shrieker-can_summon-state.patch b/patches/unapplied-server/0247-Config-for-sculk-shrieker-can_summon-state.patch similarity index 100% rename from patches/server/0247-Config-for-sculk-shrieker-can_summon-state.patch rename to patches/unapplied-server/0247-Config-for-sculk-shrieker-can_summon-state.patch diff --git a/patches/server/0248-Config-to-not-let-coral-die.patch b/patches/unapplied-server/0248-Config-to-not-let-coral-die.patch similarity index 100% rename from patches/server/0248-Config-to-not-let-coral-die.patch rename to patches/unapplied-server/0248-Config-to-not-let-coral-die.patch diff --git a/patches/server/0249-Add-local-difficulty-api.patch b/patches/unapplied-server/0249-Add-local-difficulty-api.patch similarity index 100% rename from patches/server/0249-Add-local-difficulty-api.patch rename to patches/unapplied-server/0249-Add-local-difficulty-api.patch diff --git a/patches/server/0250-Add-toggle-for-RNG-manipulation.patch b/patches/unapplied-server/0250-Add-toggle-for-RNG-manipulation.patch similarity index 100% rename from patches/server/0250-Add-toggle-for-RNG-manipulation.patch rename to patches/unapplied-server/0250-Add-toggle-for-RNG-manipulation.patch diff --git a/patches/server/0251-Add-more-logger-output-for-invalid-movement-kicks.patch b/patches/unapplied-server/0251-Add-more-logger-output-for-invalid-movement-kicks.patch similarity index 100% rename from patches/server/0251-Add-more-logger-output-for-invalid-movement-kicks.patch rename to patches/unapplied-server/0251-Add-more-logger-output-for-invalid-movement-kicks.patch diff --git a/patches/server/0252-Add-Bee-API.patch b/patches/unapplied-server/0252-Add-Bee-API.patch similarity index 100% rename from patches/server/0252-Add-Bee-API.patch rename to patches/unapplied-server/0252-Add-Bee-API.patch diff --git a/patches/server/0253-Debug-Marker-API.patch b/patches/unapplied-server/0253-Debug-Marker-API.patch similarity index 100% rename from patches/server/0253-Debug-Marker-API.patch rename to patches/unapplied-server/0253-Debug-Marker-API.patch diff --git a/patches/server/0254-mob-spawning-option-to-ignore-creative-players.patch b/patches/unapplied-server/0254-mob-spawning-option-to-ignore-creative-players.patch similarity index 100% rename from patches/server/0254-mob-spawning-option-to-ignore-creative-players.patch rename to patches/unapplied-server/0254-mob-spawning-option-to-ignore-creative-players.patch diff --git a/patches/server/0255-Add-skeleton-bow-accuracy-option.patch b/patches/unapplied-server/0255-Add-skeleton-bow-accuracy-option.patch similarity index 100% rename from patches/server/0255-Add-skeleton-bow-accuracy-option.patch rename to patches/unapplied-server/0255-Add-skeleton-bow-accuracy-option.patch diff --git a/patches/server/0256-Add-death-screen-API.patch b/patches/unapplied-server/0256-Add-death-screen-API.patch similarity index 100% rename from patches/server/0256-Add-death-screen-API.patch rename to patches/unapplied-server/0256-Add-death-screen-API.patch diff --git a/patches/server/0257-Make-pufferfish-config-relocatable.patch b/patches/unapplied-server/0257-Make-pufferfish-config-relocatable.patch similarity index 100% rename from patches/server/0257-Make-pufferfish-config-relocatable.patch rename to patches/unapplied-server/0257-Make-pufferfish-config-relocatable.patch diff --git a/patches/server/0258-Implement-ram-and-rambar-commands.patch b/patches/unapplied-server/0258-Implement-ram-and-rambar-commands.patch similarity index 100% rename from patches/server/0258-Implement-ram-and-rambar-commands.patch rename to patches/unapplied-server/0258-Implement-ram-and-rambar-commands.patch diff --git a/patches/server/0259-Configurable-block-blast-resistance.patch b/patches/unapplied-server/0259-Configurable-block-blast-resistance.patch similarity index 100% rename from patches/server/0259-Configurable-block-blast-resistance.patch rename to patches/unapplied-server/0259-Configurable-block-blast-resistance.patch diff --git a/patches/server/0260-Configurable-block-fall-damage-modifiers.patch b/patches/unapplied-server/0260-Configurable-block-fall-damage-modifiers.patch similarity index 100% rename from patches/server/0260-Configurable-block-fall-damage-modifiers.patch rename to patches/unapplied-server/0260-Configurable-block-fall-damage-modifiers.patch diff --git a/patches/server/0261-Language-API.patch b/patches/unapplied-server/0261-Language-API.patch similarity index 100% rename from patches/server/0261-Language-API.patch rename to patches/unapplied-server/0261-Language-API.patch diff --git a/patches/server/0262-Milk-Keeps-Beneficial-Effects.patch b/patches/unapplied-server/0262-Milk-Keeps-Beneficial-Effects.patch similarity index 100% rename from patches/server/0262-Milk-Keeps-Beneficial-Effects.patch rename to patches/unapplied-server/0262-Milk-Keeps-Beneficial-Effects.patch diff --git a/patches/server/0263-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch b/patches/unapplied-server/0263-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch similarity index 100% rename from patches/server/0263-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch rename to patches/unapplied-server/0263-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch diff --git a/patches/server/0264-Add-log-suppression-for-LibraryLoader.patch b/patches/unapplied-server/0264-Add-log-suppression-for-LibraryLoader.patch similarity index 100% rename from patches/server/0264-Add-log-suppression-for-LibraryLoader.patch rename to patches/unapplied-server/0264-Add-log-suppression-for-LibraryLoader.patch diff --git a/patches/server/0265-Add-an-option-to-fix-MC-3304-projectile-looting.patch b/patches/unapplied-server/0265-Add-an-option-to-fix-MC-3304-projectile-looting.patch similarity index 100% rename from patches/server/0265-Add-an-option-to-fix-MC-3304-projectile-looting.patch rename to patches/unapplied-server/0265-Add-an-option-to-fix-MC-3304-projectile-looting.patch diff --git a/patches/server/0266-Add-option-to-allow-creeper-to-encircle-target-when-.patch b/patches/unapplied-server/0266-Add-option-to-allow-creeper-to-encircle-target-when-.patch similarity index 100% rename from patches/server/0266-Add-option-to-allow-creeper-to-encircle-target-when-.patch rename to patches/unapplied-server/0266-Add-option-to-allow-creeper-to-encircle-target-when-.patch diff --git a/patches/server/0267-Fire-Immunity-API.patch b/patches/unapplied-server/0267-Fire-Immunity-API.patch similarity index 100% rename from patches/server/0267-Fire-Immunity-API.patch rename to patches/unapplied-server/0267-Fire-Immunity-API.patch diff --git a/patches/server/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch b/patches/unapplied-server/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch similarity index 100% rename from patches/server/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch rename to patches/unapplied-server/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch diff --git a/patches/server/0269-Added-got-ram-event.patch b/patches/unapplied-server/0269-Added-got-ram-event.patch similarity index 100% rename from patches/server/0269-Added-got-ram-event.patch rename to patches/unapplied-server/0269-Added-got-ram-event.patch diff --git a/patches/server/0270-Log-skipped-entity-s-position.patch b/patches/unapplied-server/0270-Log-skipped-entity-s-position.patch similarity index 100% rename from patches/server/0270-Log-skipped-entity-s-position.patch rename to patches/unapplied-server/0270-Log-skipped-entity-s-position.patch diff --git a/patches/server/0271-End-Crystal-Cramming.patch b/patches/unapplied-server/0271-End-Crystal-Cramming.patch similarity index 100% rename from patches/server/0271-End-Crystal-Cramming.patch rename to patches/unapplied-server/0271-End-Crystal-Cramming.patch diff --git a/patches/server/0272-Option-to-allow-beacon-effects-when-covered-by-tinte.patch b/patches/unapplied-server/0272-Option-to-allow-beacon-effects-when-covered-by-tinte.patch similarity index 100% rename from patches/server/0272-Option-to-allow-beacon-effects-when-covered-by-tinte.patch rename to patches/unapplied-server/0272-Option-to-allow-beacon-effects-when-covered-by-tinte.patch diff --git a/patches/server/0273-Add-attribute-clamping-and-armor-limit-config.patch b/patches/unapplied-server/0273-Add-attribute-clamping-and-armor-limit-config.patch similarity index 100% rename from patches/server/0273-Add-attribute-clamping-and-armor-limit-config.patch rename to patches/unapplied-server/0273-Add-attribute-clamping-and-armor-limit-config.patch diff --git a/patches/server/0274-Config-to-remove-explosion-radius-clamp.patch b/patches/unapplied-server/0274-Config-to-remove-explosion-radius-clamp.patch similarity index 100% rename from patches/server/0274-Config-to-remove-explosion-radius-clamp.patch rename to patches/unapplied-server/0274-Config-to-remove-explosion-radius-clamp.patch diff --git a/patches/server/0275-bonemealable-sugarcane-cactus-and-netherwart.patch b/patches/unapplied-server/0275-bonemealable-sugarcane-cactus-and-netherwart.patch similarity index 100% rename from patches/server/0275-bonemealable-sugarcane-cactus-and-netherwart.patch rename to patches/unapplied-server/0275-bonemealable-sugarcane-cactus-and-netherwart.patch diff --git a/patches/server/0276-Add-PreExplodeEvents.patch b/patches/unapplied-server/0276-Add-PreExplodeEvents.patch similarity index 100% rename from patches/server/0276-Add-PreExplodeEvents.patch rename to patches/unapplied-server/0276-Add-PreExplodeEvents.patch diff --git a/patches/server/0277-Improve-output-of-plugins-command.patch b/patches/unapplied-server/0277-Improve-output-of-plugins-command.patch similarity index 100% rename from patches/server/0277-Improve-output-of-plugins-command.patch rename to patches/unapplied-server/0277-Improve-output-of-plugins-command.patch diff --git a/patches/server/0278-Make-GUI-Great-Again.patch b/patches/unapplied-server/0278-Make-GUI-Great-Again.patch similarity index 100% rename from patches/server/0278-Make-GUI-Great-Again.patch rename to patches/unapplied-server/0278-Make-GUI-Great-Again.patch diff --git a/patches/server/0279-Stored-Bee-API.patch b/patches/unapplied-server/0279-Stored-Bee-API.patch similarity index 100% rename from patches/server/0279-Stored-Bee-API.patch rename to patches/unapplied-server/0279-Stored-Bee-API.patch diff --git a/patches/server/0280-Shears-can-defuse-TNT.patch b/patches/unapplied-server/0280-Shears-can-defuse-TNT.patch similarity index 100% rename from patches/server/0280-Shears-can-defuse-TNT.patch rename to patches/unapplied-server/0280-Shears-can-defuse-TNT.patch diff --git a/patches/server/0281-Explorer-Map-API.patch b/patches/unapplied-server/0281-Explorer-Map-API.patch similarity index 100% rename from patches/server/0281-Explorer-Map-API.patch rename to patches/unapplied-server/0281-Explorer-Map-API.patch diff --git a/patches/server/0282-Option-Ocelot-Spawn-Under-Sea-Level.patch b/patches/unapplied-server/0282-Option-Ocelot-Spawn-Under-Sea-Level.patch similarity index 100% rename from patches/server/0282-Option-Ocelot-Spawn-Under-Sea-Level.patch rename to patches/unapplied-server/0282-Option-Ocelot-Spawn-Under-Sea-Level.patch diff --git a/patches/server/0283-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch b/patches/unapplied-server/0283-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch similarity index 100% rename from patches/server/0283-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch rename to patches/unapplied-server/0283-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch diff --git a/patches/server/0284-Add-option-for-always-showing-item-in-player-death-m.patch b/patches/unapplied-server/0284-Add-option-for-always-showing-item-in-player-death-m.patch similarity index 100% rename from patches/server/0284-Add-option-for-always-showing-item-in-player-death-m.patch rename to patches/unapplied-server/0284-Add-option-for-always-showing-item-in-player-death-m.patch diff --git a/patches/server/0285-place-end-crystal-on-any-block.patch b/patches/unapplied-server/0285-place-end-crystal-on-any-block.patch similarity index 100% rename from patches/server/0285-place-end-crystal-on-any-block.patch rename to patches/unapplied-server/0285-place-end-crystal-on-any-block.patch diff --git a/patches/server/0286-Add-option-to-disable-the-copper-oxidation-proximity.patch b/patches/unapplied-server/0286-Add-option-to-disable-the-copper-oxidation-proximity.patch similarity index 100% rename from patches/server/0286-Add-option-to-disable-the-copper-oxidation-proximity.patch rename to patches/unapplied-server/0286-Add-option-to-disable-the-copper-oxidation-proximity.patch diff --git a/patches/server/0287-register-minecraft-debug-commands.patch b/patches/unapplied-server/0287-register-minecraft-debug-commands.patch similarity index 100% rename from patches/server/0287-register-minecraft-debug-commands.patch rename to patches/unapplied-server/0287-register-minecraft-debug-commands.patch diff --git a/patches/server/0288-Configurable-villager-search-radius.patch b/patches/unapplied-server/0288-Configurable-villager-search-radius.patch similarity index 100% rename from patches/server/0288-Configurable-villager-search-radius.patch rename to patches/unapplied-server/0288-Configurable-villager-search-radius.patch diff --git a/patches/server/0289-option-to-make-ravagers-afraid-of-rabbits.patch b/patches/unapplied-server/0289-option-to-make-ravagers-afraid-of-rabbits.patch similarity index 100% rename from patches/server/0289-option-to-make-ravagers-afraid-of-rabbits.patch rename to patches/unapplied-server/0289-option-to-make-ravagers-afraid-of-rabbits.patch diff --git a/patches/server/0290-config-for-startup-commands.patch b/patches/unapplied-server/0290-config-for-startup-commands.patch similarity index 100% rename from patches/server/0290-config-for-startup-commands.patch rename to patches/unapplied-server/0290-config-for-startup-commands.patch diff --git a/patches/server/0291-Config-to-reverse-bubble-column-flow.patch b/patches/unapplied-server/0291-Config-to-reverse-bubble-column-flow.patch similarity index 100% rename from patches/server/0291-Config-to-reverse-bubble-column-flow.patch rename to patches/unapplied-server/0291-Config-to-reverse-bubble-column-flow.patch diff --git a/patches/server/0292-Adopt-MaterialRerouting.patch b/patches/unapplied-server/0292-Adopt-MaterialRerouting.patch similarity index 100% rename from patches/server/0292-Adopt-MaterialRerouting.patch rename to patches/unapplied-server/0292-Adopt-MaterialRerouting.patch diff --git a/patches/server/0293-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch b/patches/unapplied-server/0293-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch similarity index 100% rename from patches/server/0293-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch rename to patches/unapplied-server/0293-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch diff --git a/patches/server/0294-ItemStack-convenience-methods.patch b/patches/unapplied-server/0294-ItemStack-convenience-methods.patch similarity index 100% rename from patches/server/0294-ItemStack-convenience-methods.patch rename to patches/unapplied-server/0294-ItemStack-convenience-methods.patch From cd52b782fdd26dbb3eeb810822f380ba82891d82 Mon Sep 17 00:00:00 2001 From: granny Date: Tue, 3 Dec 2024 20:27:14 -0800 Subject: [PATCH 02/19] apply api patches --- .../0001-Pufferfish-API-Changes.patch | 8 ++++---- .../0002-Fix-pufferfish-issues.patch | 0 patches/{unapplied-api => api}/0003-Rebrand.patch | 0 .../{unapplied-api => api}/0004-Purpur-config-files.patch | 2 +- .../0005-Build-System-Changes.patch | 2 +- .../0006-Purpur-client-support.patch | 2 +- .../{unapplied-api => api}/0007-Default-permissions.patch | 0 patches/{unapplied-api => api}/0008-Ridables.patch | 2 +- .../0009-Allow-inventory-resizing.patch | 2 +- patches/{unapplied-api => api}/0010-Llama-API.patch | 0 patches/{unapplied-api => api}/0011-AFK-API.patch | 2 +- .../0012-Bring-back-server-name.patch | 4 ++-- .../{unapplied-api => api}/0013-ExecuteCommandEvent.patch | 0 .../{unapplied-api => api}/0014-Lagging-threshold.patch | 4 ++-- .../0015-PlayerSetSpawnerTypeWithEggEvent.patch | 0 patches/{unapplied-api => api}/0016-Anvil-API.patch | 0 .../0017-ItemStack-convenience-methods.patch | 6 +++--- .../0018-ChatColor-conveniences.patch | 0 .../0019-Item-entity-immunities.patch | 0 ...Add-predicate-to-recipe-s-ExactChoice-ingredient.patch | 2 +- patches/{unapplied-api => api}/0021-Rabid-Wolf-API.patch | 0 .../0022-PlayerBookTooLargeEvent.patch | 0 ...0023-Full-netherite-armor-grants-fire-resistance.patch | 0 .../0024-Add-EntityTeleportHinderedEvent.patch | 0 ...25-Add-enchantment-target-for-bows-and-crossbows.patch | 2 +- .../0026-API-for-any-mob-to-burn-daylight.patch | 4 ++-- .../0027-Add-back-player-spawned-endermite-API.patch | 0 .../0028-Fix-default-permission-system.patch | 0 patches/{unapplied-api => api}/0029-Summoner-API.patch | 0 .../0030-Clean-up-version-command-output.patch | 0 .../0031-Extended-OfflinePlayer-API.patch | 2 +- .../0032-Added-the-ability-to-add-combustible-items.patch | 4 ++-- patches/{unapplied-api => api}/0033-Grindstone-API.patch | 0 .../0034-Shears-can-have-looting-enchantment.patch | 2 +- .../0035-Lobotomize-stuck-villagers.patch | 0 .../0036-Add-local-difficulty-api.patch | 2 +- patches/{unapplied-api => api}/0037-Remove-Timings.patch | 0 patches/{unapplied-api => api}/0038-Add-Bee-API.patch | 0 .../{unapplied-api => api}/0039-Debug-Marker-API.patch | 8 ++++---- .../0040-Add-death-screen-API.patch | 2 +- patches/{unapplied-api => api}/0041-Language-API.patch | 0 .../0042-Add-log-suppression-for-LibraryLoader.patch | 2 +- .../{unapplied-api => api}/0043-Fire-Immunity-API.patch | 2 +- .../0044-Added-goat-ram-event.patch | 0 .../0045-Add-PreExplodeEvents.patch | 0 patches/{unapplied-api => api}/0046-Stored-Bee-API.patch | 0 .../{unapplied-api => api}/0047-Explorer-Map-API.patch | 0 .../{unapplied-api => api}/0048-Stonecutter-damage.patch | 2 +- 48 files changed, 34 insertions(+), 34 deletions(-) rename patches/{unapplied-api => api}/0001-Pufferfish-API-Changes.patch (98%) rename patches/{unapplied-api => api}/0002-Fix-pufferfish-issues.patch (100%) rename patches/{unapplied-api => api}/0003-Rebrand.patch (100%) rename patches/{unapplied-api => api}/0004-Purpur-config-files.patch (91%) rename patches/{unapplied-api => api}/0005-Build-System-Changes.patch (89%) rename patches/{unapplied-api => api}/0006-Purpur-client-support.patch (90%) rename patches/{unapplied-api => api}/0007-Default-permissions.patch (100%) rename patches/{unapplied-api => api}/0008-Ridables.patch (98%) rename patches/{unapplied-api => api}/0009-Allow-inventory-resizing.patch (89%) rename patches/{unapplied-api => api}/0010-Llama-API.patch (100%) rename patches/{unapplied-api => api}/0011-AFK-API.patch (97%) rename patches/{unapplied-api => api}/0012-Bring-back-server-name.patch (87%) rename patches/{unapplied-api => api}/0013-ExecuteCommandEvent.patch (100%) rename patches/{unapplied-api => api}/0014-Lagging-threshold.patch (86%) rename patches/{unapplied-api => api}/0015-PlayerSetSpawnerTypeWithEggEvent.patch (100%) rename patches/{unapplied-api => api}/0016-Anvil-API.patch (100%) rename patches/{unapplied-api => api}/0017-ItemStack-convenience-methods.patch (98%) rename patches/{unapplied-api => api}/0018-ChatColor-conveniences.patch (100%) rename patches/{unapplied-api => api}/0019-Item-entity-immunities.patch (100%) rename patches/{unapplied-api => api}/0020-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch (94%) rename patches/{unapplied-api => api}/0021-Rabid-Wolf-API.patch (100%) rename patches/{unapplied-api => api}/0022-PlayerBookTooLargeEvent.patch (100%) rename patches/{unapplied-api => api}/0023-Full-netherite-armor-grants-fire-resistance.patch (100%) rename patches/{unapplied-api => api}/0024-Add-EntityTeleportHinderedEvent.patch (100%) rename patches/{unapplied-api => api}/0025-Add-enchantment-target-for-bows-and-crossbows.patch (92%) rename patches/{unapplied-api => api}/0026-API-for-any-mob-to-burn-daylight.patch (89%) rename patches/{unapplied-api => api}/0027-Add-back-player-spawned-endermite-API.patch (100%) rename patches/{unapplied-api => api}/0028-Fix-default-permission-system.patch (100%) rename patches/{unapplied-api => api}/0029-Summoner-API.patch (100%) rename patches/{unapplied-api => api}/0030-Clean-up-version-command-output.patch (100%) rename patches/{unapplied-api => api}/0031-Extended-OfflinePlayer-API.patch (97%) rename patches/{unapplied-api => api}/0032-Added-the-ability-to-add-combustible-items.patch (91%) rename patches/{unapplied-api => api}/0033-Grindstone-API.patch (100%) rename patches/{unapplied-api => api}/0034-Shears-can-have-looting-enchantment.patch (91%) rename patches/{unapplied-api => api}/0035-Lobotomize-stuck-villagers.patch (100%) rename patches/{unapplied-api => api}/0036-Add-local-difficulty-api.patch (90%) rename patches/{unapplied-api => api}/0037-Remove-Timings.patch (100%) rename patches/{unapplied-api => api}/0038-Add-Bee-API.patch (100%) rename patches/{unapplied-api => api}/0039-Debug-Marker-API.patch (97%) rename patches/{unapplied-api => api}/0040-Add-death-screen-API.patch (93%) rename patches/{unapplied-api => api}/0041-Language-API.patch (100%) rename patches/{unapplied-api => api}/0042-Add-log-suppression-for-LibraryLoader.patch (96%) rename patches/{unapplied-api => api}/0043-Fire-Immunity-API.patch (90%) rename patches/{unapplied-api => api}/0044-Added-goat-ram-event.patch (100%) rename patches/{unapplied-api => api}/0045-Add-PreExplodeEvents.patch (100%) rename patches/{unapplied-api => api}/0046-Stored-Bee-API.patch (100%) rename patches/{unapplied-api => api}/0047-Explorer-Map-API.patch (100%) rename patches/{unapplied-api => api}/0048-Stonecutter-damage.patch (90%) diff --git a/patches/unapplied-api/0001-Pufferfish-API-Changes.patch b/patches/api/0001-Pufferfish-API-Changes.patch similarity index 98% rename from patches/unapplied-api/0001-Pufferfish-API-Changes.patch rename to patches/api/0001-Pufferfish-API-Changes.patch index d98e022d4e..ac432b1ef8 100644 --- a/patches/unapplied-api/0001-Pufferfish-API-Changes.patch +++ b/patches/api/0001-Pufferfish-API-Changes.patch @@ -20,7 +20,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/build.gradle.kts b/build.gradle.kts -index e29e5024fa693baae469d47fe77b57118f14627c..aae422978887a0f2cf531b2dc862705148569676 100644 +index 8d76f0a8b6b67f0cae0b2fa23f0f79fc9fe97f30..ed46baad9fad925201cf2aeaea884a796af5dd9c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -64,6 +64,7 @@ dependencies { @@ -389,7 +389,7 @@ index 0000000000000000000000000000000000000000..ae2464920c9412ac90b819a540ee58be + +} diff --git a/src/main/java/org/bukkit/map/MapPalette.java b/src/main/java/org/bukkit/map/MapPalette.java -index 55a46db9d73885ea967ac929013906b687e476bb..b99796629100c7d5fff1b7f84026001e0013b477 100644 +index 6995f9cc08d162e3adcd3a28f6bfa6d329661999..b9edb96fc5bac8793477657dbb45ccf98ab17f27 100644 --- a/src/main/java/org/bukkit/map/MapPalette.java +++ b/src/main/java/org/bukkit/map/MapPalette.java @@ -1,6 +1,7 @@ @@ -426,7 +426,7 @@ index 55a46db9d73885ea967ac929013906b687e476bb..b99796629100c7d5fff1b7f84026001e } diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index b878e7167cfcdea0e224c182b40abeadd339d3b3..6b6edf9007997d9672e4c850464c1b71cb55f6b4 100644 +index 001465eedafa51ac027a4db51cba6223edfe1171..2e6d62c4f3687e299c34e876c503b400e13be05a 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java @@ -597,7 +597,9 @@ public final class SimplePluginManager implements PluginManager { @@ -452,7 +452,7 @@ index b878e7167cfcdea0e224c182b40abeadd339d3b3..6b6edf9007997d9672e4c850464c1b71 callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerEventException(msg, ex, registration.getPlugin(), registration.getListener(), event))); } diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index eaefbb00e9993d54906cc8cf35cf753c0d6c7707..301e82369603f3dd6e6c1bd380da4bacacd7ef6c 100644 +index b412aaf08901d169ac9fc89b36f9d6ccb95c53d3..45a9ca8969f635d20cc44c062fda85bbccd8f8ff 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -336,7 +336,13 @@ public final class JavaPluginLoader implements PluginLoader { diff --git a/patches/unapplied-api/0002-Fix-pufferfish-issues.patch b/patches/api/0002-Fix-pufferfish-issues.patch similarity index 100% rename from patches/unapplied-api/0002-Fix-pufferfish-issues.patch rename to patches/api/0002-Fix-pufferfish-issues.patch diff --git a/patches/unapplied-api/0003-Rebrand.patch b/patches/api/0003-Rebrand.patch similarity index 100% rename from patches/unapplied-api/0003-Rebrand.patch rename to patches/api/0003-Rebrand.patch diff --git a/patches/unapplied-api/0004-Purpur-config-files.patch b/patches/api/0004-Purpur-config-files.patch similarity index 91% rename from patches/unapplied-api/0004-Purpur-config-files.patch rename to patches/api/0004-Purpur-config-files.patch index e5c8ebacd9..468f177146 100644 --- a/patches/unapplied-api/0004-Purpur-config-files.patch +++ b/patches/api/0004-Purpur-config-files.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Purpur config files diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 0b78564256ebc647ebac402e549d86ab6e307c8d..625421183a3953d0d72d477e231f6831c87b7843 100644 +index ad816538b30079c62d5e1eb98c6f4b61e12e8d47..f90da51a8d1003a5cba86decbd42470f7f7e9211 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -2283,6 +2283,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi diff --git a/patches/unapplied-api/0005-Build-System-Changes.patch b/patches/api/0005-Build-System-Changes.patch similarity index 89% rename from patches/unapplied-api/0005-Build-System-Changes.patch rename to patches/api/0005-Build-System-Changes.patch index 6c76eb4c5e..a6ce146299 100644 --- a/patches/unapplied-api/0005-Build-System-Changes.patch +++ b/patches/api/0005-Build-System-Changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Build System Changes diff --git a/build.gradle.kts b/build.gradle.kts -index aae422978887a0f2cf531b2dc862705148569676..b0fd6c1804844f09428051952e3ac4e58f8c859c 100644 +index ed46baad9fad925201cf2aeaea884a796af5dd9c..99a157ade959fd38da28851b3c698d8ea4736b86 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -168,6 +168,8 @@ tasks.jar { diff --git a/patches/unapplied-api/0006-Purpur-client-support.patch b/patches/api/0006-Purpur-client-support.patch similarity index 90% rename from patches/unapplied-api/0006-Purpur-client-support.patch rename to patches/api/0006-Purpur-client-support.patch index 74ab545c2b..1a93d29348 100644 --- a/patches/unapplied-api/0006-Purpur-client-support.patch +++ b/patches/api/0006-Purpur-client-support.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 95f0b3186e313c7fbd5c8531d52b82a69e525f94..76fd6c5377bb5b4d1c1f508456931bf27ad49e3e 100644 +index fac4aec289e07231d80a9890653432f688355afa..c8365c38c91b3e6c4f721074f0646fe5adffbdf6 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -3911,4 +3911,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM diff --git a/patches/unapplied-api/0007-Default-permissions.patch b/patches/api/0007-Default-permissions.patch similarity index 100% rename from patches/unapplied-api/0007-Default-permissions.patch rename to patches/api/0007-Default-permissions.patch diff --git a/patches/unapplied-api/0008-Ridables.patch b/patches/api/0008-Ridables.patch similarity index 98% rename from patches/unapplied-api/0008-Ridables.patch rename to patches/api/0008-Ridables.patch index 5c154c7b93..7ecc992d57 100644 --- a/patches/unapplied-api/0008-Ridables.patch +++ b/patches/api/0008-Ridables.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ridables diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index d0ae8a94db20281d3664d74718c65234eb2e5f83..bf6d13cc6b0566f4076383c8f170dc8c9589e416 100644 +index 19272cff8d6d040e95b2644d70acdac606e06c16..5603ecc5d8f6ccf29333e1c47db3af36379a27d6 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -1172,4 +1172,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent diff --git a/patches/unapplied-api/0009-Allow-inventory-resizing.patch b/patches/api/0009-Allow-inventory-resizing.patch similarity index 89% rename from patches/unapplied-api/0009-Allow-inventory-resizing.patch rename to patches/api/0009-Allow-inventory-resizing.patch index 2a53bc89b4..da51c8ec8c 100644 --- a/patches/unapplied-api/0009-Allow-inventory-resizing.patch +++ b/patches/api/0009-Allow-inventory-resizing.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow inventory resizing diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java -index 7184f80899206bedeac387e9f8a35482801efd4b..e4197c89c04b91732ce96981f8df0a0bdaee24ce 100644 +index 81118a91c2e22e02a1f774d1cc4d3e97064087ce..3ac1e4a821a5b48d3936222cbfddadd3b803deef 100644 --- a/src/main/java/org/bukkit/event/inventory/InventoryType.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java @@ -164,7 +164,7 @@ public enum InventoryType { diff --git a/patches/unapplied-api/0010-Llama-API.patch b/patches/api/0010-Llama-API.patch similarity index 100% rename from patches/unapplied-api/0010-Llama-API.patch rename to patches/api/0010-Llama-API.patch diff --git a/patches/unapplied-api/0011-AFK-API.patch b/patches/api/0011-AFK-API.patch similarity index 97% rename from patches/unapplied-api/0011-AFK-API.patch rename to patches/api/0011-AFK-API.patch index de7666ebdb..1c3bac8d51 100644 --- a/patches/unapplied-api/0011-AFK-API.patch +++ b/patches/api/0011-AFK-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] AFK API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 76fd6c5377bb5b4d1c1f508456931bf27ad49e3e..5d449299f958cb747e62e9ccfc8ff6cc32236dcd 100644 +index c8365c38c91b3e6c4f721074f0646fe5adffbdf6..ed0f892ed987419809fe1a0390b6278c99659919 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -3919,5 +3919,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM diff --git a/patches/unapplied-api/0012-Bring-back-server-name.patch b/patches/api/0012-Bring-back-server-name.patch similarity index 87% rename from patches/unapplied-api/0012-Bring-back-server-name.patch rename to patches/api/0012-Bring-back-server-name.patch index 80173f2f63..b88bcca780 100644 --- a/patches/unapplied-api/0012-Bring-back-server-name.patch +++ b/patches/api/0012-Bring-back-server-name.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Bring back server name diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 5ce98e09e9bfcae45896401c69578aa879222893..82c65e39d02b3bb63360d36df45f8ed7a0bc096b 100644 +index 8ab94f8189ebd9d4158231871abdebec399deb2c..c38fa167bbe46dfd34b90b47f6918a399af12c32 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -2968,4 +2968,15 @@ public final class Bukkit { @@ -25,7 +25,7 @@ index 5ce98e09e9bfcae45896401c69578aa879222893..82c65e39d02b3bb63360d36df45f8ed7 + // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index f1c121c150d2ab7ca2d080846a5f726920210662..715ca4c541fb3bc2f30c53c2f52025ac2e70cd3c 100644 +index f90da51a8d1003a5cba86decbd42470f7f7e9211..2d17726681b9001179590e9c33ee5b6561fb7789 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -2619,4 +2619,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi diff --git a/patches/unapplied-api/0013-ExecuteCommandEvent.patch b/patches/api/0013-ExecuteCommandEvent.patch similarity index 100% rename from patches/unapplied-api/0013-ExecuteCommandEvent.patch rename to patches/api/0013-ExecuteCommandEvent.patch diff --git a/patches/unapplied-api/0014-Lagging-threshold.patch b/patches/api/0014-Lagging-threshold.patch similarity index 86% rename from patches/unapplied-api/0014-Lagging-threshold.patch rename to patches/api/0014-Lagging-threshold.patch index 55e73e3c24..86737ba982 100644 --- a/patches/unapplied-api/0014-Lagging-threshold.patch +++ b/patches/api/0014-Lagging-threshold.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 82c65e39d02b3bb63360d36df45f8ed7a0bc096b..30b4005b99a31de2c64d35432a751c00b3b335f6 100644 +index c38fa167bbe46dfd34b90b47f6918a399af12c32..cd6c712a2ad92f73c7ce8f4ada8b810fcba00ba3 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -2978,5 +2978,14 @@ public final class Bukkit { @@ -24,7 +24,7 @@ index 82c65e39d02b3bb63360d36df45f8ed7a0bc096b..30b4005b99a31de2c64d35432a751c00 // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 715ca4c541fb3bc2f30c53c2f52025ac2e70cd3c..ca315417c7e60d50f48af07c53f6e7405fb88053 100644 +index 2d17726681b9001179590e9c33ee5b6561fb7789..788702d1c5be00a78a0438e267fe5fca9985e4ce 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -2627,5 +2627,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi diff --git a/patches/unapplied-api/0015-PlayerSetSpawnerTypeWithEggEvent.patch b/patches/api/0015-PlayerSetSpawnerTypeWithEggEvent.patch similarity index 100% rename from patches/unapplied-api/0015-PlayerSetSpawnerTypeWithEggEvent.patch rename to patches/api/0015-PlayerSetSpawnerTypeWithEggEvent.patch diff --git a/patches/unapplied-api/0016-Anvil-API.patch b/patches/api/0016-Anvil-API.patch similarity index 100% rename from patches/unapplied-api/0016-Anvil-API.patch rename to patches/api/0016-Anvil-API.patch diff --git a/patches/unapplied-api/0017-ItemStack-convenience-methods.patch b/patches/api/0017-ItemStack-convenience-methods.patch similarity index 98% rename from patches/unapplied-api/0017-ItemStack-convenience-methods.patch rename to patches/api/0017-ItemStack-convenience-methods.patch index 445add8de3..9beb1702d7 100644 --- a/patches/unapplied-api/0017-ItemStack-convenience-methods.patch +++ b/patches/api/0017-ItemStack-convenience-methods.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack convenience methods diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index c7ce8fa1ff9feda66d5a4e497112a24ff51c9d2b..f588307487368ea686f22a50b0a5d79ade3dcb04 100644 +index e89edabd36a6755912694d8a8700da4ebe5c5829..ba2eff0f2ecffbea4b42d5c6e4485ee0087dc981 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -5840,4 +5840,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -5811,4 +5811,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla return this.asItemType().getDefaultDataTypes(); } // Paper end - data component API @@ -50,7 +50,7 @@ index c7ce8fa1ff9feda66d5a4e497112a24ff51c9d2b..f588307487368ea686f22a50b0a5d79a + // Purpur end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 6e4ca7d95953a25c0aaafd35e54ef9254a1b5f0b..f5961444f1c05b66c410d64e4e9c4f79fe360382 100644 +index 8c9654cd19af8b28fa276a55c5060eb389e60c1c..875124b06d87cd4163f0ab1d4dd75f939622f8aa 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -19,6 +19,13 @@ import org.bukkit.inventory.meta.ItemMeta; diff --git a/patches/unapplied-api/0018-ChatColor-conveniences.patch b/patches/api/0018-ChatColor-conveniences.patch similarity index 100% rename from patches/unapplied-api/0018-ChatColor-conveniences.patch rename to patches/api/0018-ChatColor-conveniences.patch diff --git a/patches/unapplied-api/0019-Item-entity-immunities.patch b/patches/api/0019-Item-entity-immunities.patch similarity index 100% rename from patches/unapplied-api/0019-Item-entity-immunities.patch rename to patches/api/0019-Item-entity-immunities.patch diff --git a/patches/unapplied-api/0020-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch b/patches/api/0020-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch similarity index 94% rename from patches/unapplied-api/0020-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch rename to patches/api/0020-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch index 5bb9157f47..e358db9801 100644 --- a/patches/unapplied-api/0020-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch +++ b/patches/api/0020-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add predicate to recipe's ExactChoice ingredient diff --git a/src/main/java/org/bukkit/inventory/RecipeChoice.java b/src/main/java/org/bukkit/inventory/RecipeChoice.java -index f1aa67997f904953742e8895e49341c2f73d44a2..993cf7995514fb0ef3c4388bb3ce49c3187ab251 100644 +index 922bb69b5f218e489a6dd5e0f207743c1f1d3d35..9b3e292be334d21eb978373f434bf3811ec4af2b 100644 --- a/src/main/java/org/bukkit/inventory/RecipeChoice.java +++ b/src/main/java/org/bukkit/inventory/RecipeChoice.java @@ -191,6 +191,7 @@ public interface RecipeChoice extends Predicate, Cloneable { diff --git a/patches/unapplied-api/0021-Rabid-Wolf-API.patch b/patches/api/0021-Rabid-Wolf-API.patch similarity index 100% rename from patches/unapplied-api/0021-Rabid-Wolf-API.patch rename to patches/api/0021-Rabid-Wolf-API.patch diff --git a/patches/unapplied-api/0022-PlayerBookTooLargeEvent.patch b/patches/api/0022-PlayerBookTooLargeEvent.patch similarity index 100% rename from patches/unapplied-api/0022-PlayerBookTooLargeEvent.patch rename to patches/api/0022-PlayerBookTooLargeEvent.patch diff --git a/patches/unapplied-api/0023-Full-netherite-armor-grants-fire-resistance.patch b/patches/api/0023-Full-netherite-armor-grants-fire-resistance.patch similarity index 100% rename from patches/unapplied-api/0023-Full-netherite-armor-grants-fire-resistance.patch rename to patches/api/0023-Full-netherite-armor-grants-fire-resistance.patch diff --git a/patches/unapplied-api/0024-Add-EntityTeleportHinderedEvent.patch b/patches/api/0024-Add-EntityTeleportHinderedEvent.patch similarity index 100% rename from patches/unapplied-api/0024-Add-EntityTeleportHinderedEvent.patch rename to patches/api/0024-Add-EntityTeleportHinderedEvent.patch diff --git a/patches/unapplied-api/0025-Add-enchantment-target-for-bows-and-crossbows.patch b/patches/api/0025-Add-enchantment-target-for-bows-and-crossbows.patch similarity index 92% rename from patches/unapplied-api/0025-Add-enchantment-target-for-bows-and-crossbows.patch rename to patches/api/0025-Add-enchantment-target-for-bows-and-crossbows.patch index d9680f1609..ecbfea9ea2 100644 --- a/patches/unapplied-api/0025-Add-enchantment-target-for-bows-and-crossbows.patch +++ b/patches/api/0025-Add-enchantment-target-for-bows-and-crossbows.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add enchantment target for bows and crossbows diff --git a/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java b/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java -index 455ff52d90565838fe7640c3f045b27082a6c2f1..5831ffe24eed01311c71989dcb1830dbc395607b 100644 +index 6fcc15d588239481136876d117ab346a8deac1dd..bd653ad99e8e75af1494b595640c3910f4d37e6e 100644 --- a/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java +++ b/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java @@ -227,6 +227,18 @@ public enum EnchantmentTarget { diff --git a/patches/unapplied-api/0026-API-for-any-mob-to-burn-daylight.patch b/patches/api/0026-API-for-any-mob-to-burn-daylight.patch similarity index 89% rename from patches/unapplied-api/0026-API-for-any-mob-to-burn-daylight.patch rename to patches/api/0026-API-for-any-mob-to-burn-daylight.patch index 1e4faa4364..2a27a45f48 100644 --- a/patches/unapplied-api/0026-API-for-any-mob-to-burn-daylight.patch +++ b/patches/api/0026-API-for-any-mob-to-burn-daylight.patch @@ -6,7 +6,7 @@ Subject: [PATCH] API for any mob to burn daylight Co-authored by: Encode42 diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index bf6d13cc6b0566f4076383c8f170dc8c9589e416..22713e97e7c7b643b80c07a88ae890d7c4304730 100644 +index 5603ecc5d8f6ccf29333e1c47db3af36379a27d6..a4136da96f0759ca137a86f2518af58bccb6b632 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -1202,5 +1202,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent @@ -23,7 +23,7 @@ index bf6d13cc6b0566f4076383c8f170dc8c9589e416..22713e97e7c7b643b80c07a88ae890d7 // Purpur end } diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index 68c08e7a212bc3e3885f9b5a4d9aef85fcb3b029..a22909446b7193b1de121bdd6d7b6fbf81dc3be4 100644 +index d21a228bbec0302e75c4db5aa1db54f321143587..a4acc3578e935cd1174474bd1f6ff14db4294fe7 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java @@ -1468,4 +1468,20 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource diff --git a/patches/unapplied-api/0027-Add-back-player-spawned-endermite-API.patch b/patches/api/0027-Add-back-player-spawned-endermite-API.patch similarity index 100% rename from patches/unapplied-api/0027-Add-back-player-spawned-endermite-API.patch rename to patches/api/0027-Add-back-player-spawned-endermite-API.patch diff --git a/patches/unapplied-api/0028-Fix-default-permission-system.patch b/patches/api/0028-Fix-default-permission-system.patch similarity index 100% rename from patches/unapplied-api/0028-Fix-default-permission-system.patch rename to patches/api/0028-Fix-default-permission-system.patch diff --git a/patches/unapplied-api/0029-Summoner-API.patch b/patches/api/0029-Summoner-API.patch similarity index 100% rename from patches/unapplied-api/0029-Summoner-API.patch rename to patches/api/0029-Summoner-API.patch diff --git a/patches/unapplied-api/0030-Clean-up-version-command-output.patch b/patches/api/0030-Clean-up-version-command-output.patch similarity index 100% rename from patches/unapplied-api/0030-Clean-up-version-command-output.patch rename to patches/api/0030-Clean-up-version-command-output.patch diff --git a/patches/unapplied-api/0031-Extended-OfflinePlayer-API.patch b/patches/api/0031-Extended-OfflinePlayer-API.patch similarity index 97% rename from patches/unapplied-api/0031-Extended-OfflinePlayer-API.patch rename to patches/api/0031-Extended-OfflinePlayer-API.patch index 0ec08e967f..932732b9a6 100644 --- a/patches/unapplied-api/0031-Extended-OfflinePlayer-API.patch +++ b/patches/api/0031-Extended-OfflinePlayer-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Extended OfflinePlayer API diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java -index a028f2fe541491729856051780b33dba07832fb6..fc64902368a068481f16d5db99c94386caf6b60b 100644 +index 5622fe3165baad8138c22cfc016ed6c3834cf702..6d31b561d915180fcd473b317721064feed28f37 100644 --- a/src/main/java/org/bukkit/OfflinePlayer.java +++ b/src/main/java/org/bukkit/OfflinePlayer.java @@ -573,4 +573,106 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio diff --git a/patches/unapplied-api/0032-Added-the-ability-to-add-combustible-items.patch b/patches/api/0032-Added-the-ability-to-add-combustible-items.patch similarity index 91% rename from patches/unapplied-api/0032-Added-the-ability-to-add-combustible-items.patch rename to patches/api/0032-Added-the-ability-to-add-combustible-items.patch index 9dc154ac6c..10b834d4c2 100644 --- a/patches/unapplied-api/0032-Added-the-ability-to-add-combustible-items.patch +++ b/patches/api/0032-Added-the-ability-to-add-combustible-items.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Added the ability to add combustible items diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 30b4005b99a31de2c64d35432a751c00b3b335f6..c4de1352f3f061e950d3fdc114b6542cf13a34ce 100644 +index cd6c712a2ad92f73c7ce8f4ada8b810fcba00ba3..79528ad4408eac53754ccc810445970e263a1a32 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -2987,5 +2987,24 @@ public final class Bukkit { @@ -34,7 +34,7 @@ index 30b4005b99a31de2c64d35432a751c00b3b335f6..c4de1352f3f061e950d3fdc114b6542c // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index ca315417c7e60d50f48af07c53f6e7405fb88053..30e52ca06cac23f35143767937ce474a8339018a 100644 +index 788702d1c5be00a78a0438e267fe5fca9985e4ce..c1523229138d5d07569c8e564cf27b8276cca153 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -2634,5 +2634,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi diff --git a/patches/unapplied-api/0033-Grindstone-API.patch b/patches/api/0033-Grindstone-API.patch similarity index 100% rename from patches/unapplied-api/0033-Grindstone-API.patch rename to patches/api/0033-Grindstone-API.patch diff --git a/patches/unapplied-api/0034-Shears-can-have-looting-enchantment.patch b/patches/api/0034-Shears-can-have-looting-enchantment.patch similarity index 91% rename from patches/unapplied-api/0034-Shears-can-have-looting-enchantment.patch rename to patches/api/0034-Shears-can-have-looting-enchantment.patch index 53f2a3f937..d9c0fb00fd 100644 --- a/patches/unapplied-api/0034-Shears-can-have-looting-enchantment.patch +++ b/patches/api/0034-Shears-can-have-looting-enchantment.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Shears can have looting enchantment diff --git a/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java b/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java -index 5831ffe24eed01311c71989dcb1830dbc395607b..45f5493eebfecf56b7c0ef4659c078dfc62c0612 100644 +index bd653ad99e8e75af1494b595640c3910f4d37e6e..13b903e785a9ef5e513cb9d6483482133cc5f25b 100644 --- a/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java +++ b/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java @@ -238,6 +238,16 @@ public enum EnchantmentTarget { diff --git a/patches/unapplied-api/0035-Lobotomize-stuck-villagers.patch b/patches/api/0035-Lobotomize-stuck-villagers.patch similarity index 100% rename from patches/unapplied-api/0035-Lobotomize-stuck-villagers.patch rename to patches/api/0035-Lobotomize-stuck-villagers.patch diff --git a/patches/unapplied-api/0036-Add-local-difficulty-api.patch b/patches/api/0036-Add-local-difficulty-api.patch similarity index 90% rename from patches/unapplied-api/0036-Add-local-difficulty-api.patch rename to patches/api/0036-Add-local-difficulty-api.patch index 6d5c157b89..bb9a78b780 100644 --- a/patches/unapplied-api/0036-Add-local-difficulty-api.patch +++ b/patches/api/0036-Add-local-difficulty-api.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add local difficulty api diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 7a439c99fc4c5ee17d674460c8e58a9fe0c64e02..26a0ed5437842492432a26778fadd9ae41dc0569 100644 +index bef54a6c8290e09cbaac20b03dde8dfb902c96b0..3d1e2a6804980c091fe2a66a6810564d317d339f 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -4246,6 +4246,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/unapplied-api/0037-Remove-Timings.patch b/patches/api/0037-Remove-Timings.patch similarity index 100% rename from patches/unapplied-api/0037-Remove-Timings.patch rename to patches/api/0037-Remove-Timings.patch diff --git a/patches/unapplied-api/0038-Add-Bee-API.patch b/patches/api/0038-Add-Bee-API.patch similarity index 100% rename from patches/unapplied-api/0038-Add-Bee-API.patch rename to patches/api/0038-Add-Bee-API.patch diff --git a/patches/unapplied-api/0039-Debug-Marker-API.patch b/patches/api/0039-Debug-Marker-API.patch similarity index 97% rename from patches/unapplied-api/0039-Debug-Marker-API.patch rename to patches/api/0039-Debug-Marker-API.patch index 12501152ab..470a7bff7c 100644 --- a/patches/unapplied-api/0039-Debug-Marker-API.patch +++ b/patches/api/0039-Debug-Marker-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Debug Marker API diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index c4de1352f3f061e950d3fdc114b6542cf13a34ce..d42c463ff5e60318470e6c3270ff7bc6f0aaaeb1 100644 +index 79528ad4408eac53754ccc810445970e263a1a32..db453d04efb00baaeabb904a7bd1b99dd0a50735 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -3006,5 +3006,89 @@ public final class Bukkit { @@ -99,7 +99,7 @@ index c4de1352f3f061e950d3fdc114b6542cf13a34ce..d42c463ff5e60318470e6c3270ff7bc6 // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 30e52ca06cac23f35143767937ce474a8339018a..9a25dd2166892d612d32a4611a2531a3cee6754f 100644 +index c1523229138d5d07569c8e564cf27b8276cca153..fcfad39173ecf2573a1ba77236bce8d9f73e02bb 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -2649,5 +2649,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @@ -179,7 +179,7 @@ index 30e52ca06cac23f35143767937ce474a8339018a..9a25dd2166892d612d32a4611a2531a3 // Purpur end } diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 26a0ed5437842492432a26778fadd9ae41dc0569..820c22c7a20d19a74139bc1537515405b4b2f46c 100644 +index 3d1e2a6804980c091fe2a66a6810564d317d339f..5f7de23e419175e55459df760c7190639ea39f18 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -4254,6 +4254,76 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @@ -260,7 +260,7 @@ index 26a0ed5437842492432a26778fadd9ae41dc0569..820c22c7a20d19a74139bc1537515405 /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 5d449299f958cb747e62e9ccfc8ff6cc32236dcd..0b8f7c39ff90b57eb7104d3a0cf1c29ee551b522 100644 +index ed0f892ed987419809fe1a0390b6278c99659919..8cedbba4e65b0a8d3a17c6960033e2a324c64bc9 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -3939,5 +3939,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM diff --git a/patches/unapplied-api/0040-Add-death-screen-API.patch b/patches/api/0040-Add-death-screen-API.patch similarity index 93% rename from patches/unapplied-api/0040-Add-death-screen-API.patch rename to patches/api/0040-Add-death-screen-API.patch index 5990cff429..11afb29cd1 100644 --- a/patches/unapplied-api/0040-Add-death-screen-API.patch +++ b/patches/api/0040-Add-death-screen-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add death screen API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 0b8f7c39ff90b57eb7104d3a0cf1c29ee551b522..a7f989121c493baff9d2b6910c39145a0e12477d 100644 +index 8cedbba4e65b0a8d3a17c6960033e2a324c64bc9..6f7f1fc3db0237021fa1bd0f11fe56b2d6d4f84a 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -4009,5 +4009,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM diff --git a/patches/unapplied-api/0041-Language-API.patch b/patches/api/0041-Language-API.patch similarity index 100% rename from patches/unapplied-api/0041-Language-API.patch rename to patches/api/0041-Language-API.patch diff --git a/patches/unapplied-api/0042-Add-log-suppression-for-LibraryLoader.patch b/patches/api/0042-Add-log-suppression-for-LibraryLoader.patch similarity index 96% rename from patches/unapplied-api/0042-Add-log-suppression-for-LibraryLoader.patch rename to patches/api/0042-Add-log-suppression-for-LibraryLoader.patch index 182f6f25ec..663369b2b9 100644 --- a/patches/unapplied-api/0042-Add-log-suppression-for-LibraryLoader.patch +++ b/patches/api/0042-Add-log-suppression-for-LibraryLoader.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add log suppression for LibraryLoader diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index 301e82369603f3dd6e6c1bd380da4bacacd7ef6c..0c6ca7588fb3d6b6497ddf032fe75e5c6c9719e5 100644 +index 45a9ca8969f635d20cc44c062fda85bbccd8f8ff..e2b631fc160f13ea6e27b69f835bbdf83d6d3dec 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -55,6 +55,7 @@ public final class JavaPluginLoader implements PluginLoader { diff --git a/patches/unapplied-api/0043-Fire-Immunity-API.patch b/patches/api/0043-Fire-Immunity-API.patch similarity index 90% rename from patches/unapplied-api/0043-Fire-Immunity-API.patch rename to patches/api/0043-Fire-Immunity-API.patch index 114d153fce..5de466a439 100644 --- a/patches/unapplied-api/0043-Fire-Immunity-API.patch +++ b/patches/api/0043-Fire-Immunity-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fire Immunity API diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 22713e97e7c7b643b80c07a88ae890d7c4304730..b7d53973ac4e829a03821d59e0b3a28d6f6a4373 100644 +index a4136da96f0759ca137a86f2518af58bccb6b632..076fe310d500ebb52e705a3a69e895061702f470 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -1209,5 +1209,18 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent diff --git a/patches/unapplied-api/0044-Added-goat-ram-event.patch b/patches/api/0044-Added-goat-ram-event.patch similarity index 100% rename from patches/unapplied-api/0044-Added-goat-ram-event.patch rename to patches/api/0044-Added-goat-ram-event.patch diff --git a/patches/unapplied-api/0045-Add-PreExplodeEvents.patch b/patches/api/0045-Add-PreExplodeEvents.patch similarity index 100% rename from patches/unapplied-api/0045-Add-PreExplodeEvents.patch rename to patches/api/0045-Add-PreExplodeEvents.patch diff --git a/patches/unapplied-api/0046-Stored-Bee-API.patch b/patches/api/0046-Stored-Bee-API.patch similarity index 100% rename from patches/unapplied-api/0046-Stored-Bee-API.patch rename to patches/api/0046-Stored-Bee-API.patch diff --git a/patches/unapplied-api/0047-Explorer-Map-API.patch b/patches/api/0047-Explorer-Map-API.patch similarity index 100% rename from patches/unapplied-api/0047-Explorer-Map-API.patch rename to patches/api/0047-Explorer-Map-API.patch diff --git a/patches/unapplied-api/0048-Stonecutter-damage.patch b/patches/api/0048-Stonecutter-damage.patch similarity index 90% rename from patches/unapplied-api/0048-Stonecutter-damage.patch rename to patches/api/0048-Stonecutter-damage.patch index 8b2294a759..1ae8744ad5 100644 --- a/patches/unapplied-api/0048-Stonecutter-damage.patch +++ b/patches/api/0048-Stonecutter-damage.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Stonecutter damage diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java -index 73aa5dc079ecb1c38c55ae1916b12edf81b723f5..dccf60802b3503e3188a90a4ec7f3562c99e560a 100644 +index d1a5424ff3b289f1c82449ef6d88eb52665df41b..f23b0c250f88926c147af0314b5c4d23c5f8dbae 100644 --- a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java @@ -308,7 +308,8 @@ public class EntityDamageEvent extends EntityEvent implements Cancellable { From 4f644dfdb49b65d00d56355567d2c08602539321 Mon Sep 17 00:00:00 2001 From: granny Date: Tue, 3 Dec 2024 20:28:19 -0800 Subject: [PATCH 03/19] apply generated api patches --- .../0001-Ridables.patch | 2 +- ...2-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch | 2 +- ...3-Add-option-to-disable-zombie-aggressiveness-towards-.patch | 2 +- .../0004-Rabid-Wolf-API.patch | 2 +- .../0005-Iron-golem-poppy-calms-anger.patch | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) rename patches/{unapplied-generated-api => generated-api}/0001-Ridables.patch (92%) rename patches/{unapplied-generated-api => generated-api}/0002-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch (92%) rename patches/{unapplied-generated-api => generated-api}/0003-Add-option-to-disable-zombie-aggressiveness-towards-.patch (92%) rename patches/{unapplied-generated-api => generated-api}/0004-Rabid-Wolf-API.patch (91%) rename patches/{unapplied-generated-api => generated-api}/0005-Iron-golem-poppy-calms-anger.patch (92%) diff --git a/patches/unapplied-generated-api/0001-Ridables.patch b/patches/generated-api/0001-Ridables.patch similarity index 92% rename from patches/unapplied-generated-api/0001-Ridables.patch rename to patches/generated-api/0001-Ridables.patch index 1f5c1512d6..4552c2066c 100644 --- a/patches/unapplied-generated-api/0001-Ridables.patch +++ b/patches/generated-api/0001-Ridables.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ridables diff --git a/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/com/destroystokyo/paper/entity/ai/VanillaGoal.java -index 35dfd25f21ca67b7f4d69326500980f4a021ef49..cd76656694067b333152ac46bc6a40ad8d28d2ac 100644 +index f15a7b4471cd31a487467ec7ecf7a186fa887a51..9b9eb256c4f17693e717e87e62a2e61b928f073a 100644 --- a/com/destroystokyo/paper/entity/ai/VanillaGoal.java +++ b/com/destroystokyo/paper/entity/ai/VanillaGoal.java @@ -441,6 +441,12 @@ public interface VanillaGoal extends Goal { diff --git a/patches/unapplied-generated-api/0002-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch b/patches/generated-api/0002-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch similarity index 92% rename from patches/unapplied-generated-api/0002-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch rename to patches/generated-api/0002-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch index 0bcffe6273..61152fef7d 100644 --- a/patches/unapplied-generated-api/0002-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch +++ b/patches/generated-api/0002-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms diff --git a/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/com/destroystokyo/paper/entity/ai/VanillaGoal.java -index cd76656694067b333152ac46bc6a40ad8d28d2ac..d3b12268a01b0181b340175757c8b7f657540e94 100644 +index 9b9eb256c4f17693e717e87e62a2e61b928f073a..33eed1c791eeaeb4eba538d32ce8516c5d5fc6c0 100644 --- a/com/destroystokyo/paper/entity/ai/VanillaGoal.java +++ b/com/destroystokyo/paper/entity/ai/VanillaGoal.java @@ -445,6 +445,8 @@ public interface VanillaGoal extends Goal { diff --git a/patches/unapplied-generated-api/0003-Add-option-to-disable-zombie-aggressiveness-towards-.patch b/patches/generated-api/0003-Add-option-to-disable-zombie-aggressiveness-towards-.patch similarity index 92% rename from patches/unapplied-generated-api/0003-Add-option-to-disable-zombie-aggressiveness-towards-.patch rename to patches/generated-api/0003-Add-option-to-disable-zombie-aggressiveness-towards-.patch index dd360f3a2e..b77789f975 100644 --- a/patches/unapplied-generated-api/0003-Add-option-to-disable-zombie-aggressiveness-towards-.patch +++ b/patches/generated-api/0003-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/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/com/destroystokyo/paper/entity/ai/VanillaGoal.java -index d3b12268a01b0181b340175757c8b7f657540e94..79de9f1ab1e709d1402d3a8017cc729b7fffc961 100644 +index 33eed1c791eeaeb4eba538d32ce8516c5d5fc6c0..9ef2111b60ace1a088c8c3d4707b26c06f14037c 100644 --- a/com/destroystokyo/paper/entity/ai/VanillaGoal.java +++ b/com/destroystokyo/paper/entity/ai/VanillaGoal.java @@ -447,6 +447,8 @@ public interface VanillaGoal extends Goal { diff --git a/patches/unapplied-generated-api/0004-Rabid-Wolf-API.patch b/patches/generated-api/0004-Rabid-Wolf-API.patch similarity index 91% rename from patches/unapplied-generated-api/0004-Rabid-Wolf-API.patch rename to patches/generated-api/0004-Rabid-Wolf-API.patch index 616e58886e..5096e181af 100644 --- a/patches/unapplied-generated-api/0004-Rabid-Wolf-API.patch +++ b/patches/generated-api/0004-Rabid-Wolf-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Rabid Wolf API diff --git a/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/com/destroystokyo/paper/entity/ai/VanillaGoal.java -index 79de9f1ab1e709d1402d3a8017cc729b7fffc961..e8b22b5ea11671d847a2e243ce570afd4ecb8aca 100644 +index 9ef2111b60ace1a088c8c3d4707b26c06f14037c..6eea8fbe575c4570c2b760c9828f8ec5b81c7202 100644 --- a/com/destroystokyo/paper/entity/ai/VanillaGoal.java +++ b/com/destroystokyo/paper/entity/ai/VanillaGoal.java @@ -449,6 +449,7 @@ public interface VanillaGoal extends Goal { diff --git a/patches/unapplied-generated-api/0005-Iron-golem-poppy-calms-anger.patch b/patches/generated-api/0005-Iron-golem-poppy-calms-anger.patch similarity index 92% rename from patches/unapplied-generated-api/0005-Iron-golem-poppy-calms-anger.patch rename to patches/generated-api/0005-Iron-golem-poppy-calms-anger.patch index 72f6aef369..bae54e389e 100644 --- a/patches/unapplied-generated-api/0005-Iron-golem-poppy-calms-anger.patch +++ b/patches/generated-api/0005-Iron-golem-poppy-calms-anger.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Iron golem poppy calms anger diff --git a/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/com/destroystokyo/paper/entity/ai/VanillaGoal.java -index e8b22b5ea11671d847a2e243ce570afd4ecb8aca..a9816fbfa466b3fe3f82c19aeeeb564c660e4b6a 100644 +index 6eea8fbe575c4570c2b760c9828f8ec5b81c7202..e7795889133063ac165d5b4783ddcbcbb442f189 100644 --- a/com/destroystokyo/paper/entity/ai/VanillaGoal.java +++ b/com/destroystokyo/paper/entity/ai/VanillaGoal.java @@ -450,6 +450,7 @@ public interface VanillaGoal extends Goal { From 863d22946a8b871fa41fb16d4f94f6c0febc3817 Mon Sep 17 00:00:00 2001 From: granny Date: Tue, 3 Dec 2024 20:32:58 -0800 Subject: [PATCH 04/19] first 8 patches --- .../0001-Pufferfish-Server-Changes.patch | 119 +++++++++--------- .../0002-Fix-pufferfish-issues.patch | 10 +- .../0003-Rebrand.patch | 14 +-- .../0004-Purpur-config-files.patch | 8 +- .../0005-Purpur-client-support.patch | 8 +- .../0006-MC-Utils.patch | 0 .../0007-Fix-decompile-errors.patch | 0 .../0008-Component-related-conveniences.patch | 8 +- 8 files changed, 83 insertions(+), 84 deletions(-) rename patches/{unapplied-server => server}/0001-Pufferfish-Server-Changes.patch (95%) rename patches/{unapplied-server => server}/0002-Fix-pufferfish-issues.patch (93%) rename patches/{unapplied-server => server}/0003-Rebrand.patch (99%) rename patches/{unapplied-server => server}/0004-Purpur-config-files.patch (98%) rename patches/{unapplied-server => server}/0005-Purpur-client-support.patch (92%) rename patches/{unapplied-server => server}/0006-MC-Utils.patch (100%) rename patches/{unapplied-server => server}/0007-Fix-decompile-errors.patch (100%) rename patches/{unapplied-server => server}/0008-Component-related-conveniences.patch (93%) diff --git a/patches/unapplied-server/0001-Pufferfish-Server-Changes.patch b/patches/server/0001-Pufferfish-Server-Changes.patch similarity index 95% rename from patches/unapplied-server/0001-Pufferfish-Server-Changes.patch rename to patches/server/0001-Pufferfish-Server-Changes.patch index 9bb4020f5c..dd83492189 100644 --- a/patches/unapplied-server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -20,7 +20,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/build.gradle.kts b/build.gradle.kts -index faf3e3fd72e8c915e7a4803dacbe1bb576c6663e..1bb33b64bd73c8ea591c3ffdf5573c7c55a520f3 100644 +index 2da91ed6363c0851e4c459188f5e8ef5475e0c97..96d831791edbe6ae07325008b760f70f75c4d713 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -25,7 +25,7 @@ abstract class MockitoAgentProvider : CommandLineArgumentProvider { @@ -29,10 +29,10 @@ index faf3e3fd72e8c915e7a4803dacbe1bb576c6663e..1bb33b64bd73c8ea591c3ffdf5573c7c dependencies { - implementation(project(":paper-api")) + implementation(project(":pufferfish-api")) // Pufferfish // Paper + implementation("ca.spottedleaf:concurrentutil:0.0.2") // Paper - Add ConcurrentUtil dependency // Paper start implementation("org.jline:jline-terminal-ffm:3.27.1") // use ffm on java 22+ - implementation("org.jline:jline-terminal-jni:3.27.1") // fall back to jni on java 21 -@@ -60,6 +60,13 @@ dependencies { +@@ -61,6 +61,13 @@ dependencies { runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18") runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18") @@ -46,8 +46,8 @@ index faf3e3fd72e8c915e7a4803dacbe1bb576c6663e..1bb33b64bd73c8ea591c3ffdf5573c7c testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test testImplementation("org.junit.jupiter:junit-jupiter:5.10.2") testImplementation("org.junit.platform:junit-platform-suite-engine:1.10.0") -@@ -86,6 +93,14 @@ paperweight { - craftBukkitPackageVersion.set("v1_21_R2") // also needs to be updated in MappingEnvironment +@@ -87,6 +94,14 @@ paperweight { + craftBukkitPackageVersion.set("v1_21_R3") // also needs to be updated in MappingEnvironment } + @@ -61,7 +61,7 @@ index faf3e3fd72e8c915e7a4803dacbe1bb576c6663e..1bb33b64bd73c8ea591c3ffdf5573c7c tasks.jar { archiveClassifier.set("dev") -@@ -99,14 +114,14 @@ tasks.jar { +@@ -100,14 +115,14 @@ tasks.jar { val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", @@ -1017,7 +1017,7 @@ index 0000000000000000000000000000000000000000..facd55463d44cb7e3d2ca6892982f549 + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4158473fd553a16fec23bcbcf9a278d413120600..2a24e011b8a1128396a0a092456050c4b88f8260 100644 +index ab4f1bd1ebf0af54f3fa88ee9e2007d20445e7e9..81591e2b51755b0b76ddceea32ea9f19004bfb13 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -333,6 +333,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop S spin(Function serverFactory) { - AtomicReference atomicreference = new AtomicReference(); -@@ -1341,6 +1342,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop persistentStateManagerFactory) { this.level = world; this.mainThreadProcessor = new ServerChunkCache.MainThreadExecutor(world); -@@ -504,6 +507,43 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -511,6 +514,43 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon this.broadcastChangedChunks(gameprofilerfiller); gameprofilerfiller.pop(); } @@ -1128,7 +1128,7 @@ index d021cd5b6136f0125076513977f430c6d4dd4f9f..1cb8c9d21eef27492efc4995525c198c } private void broadcastChangedChunks(ProfilerFiller profiler) { -@@ -553,6 +593,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -560,6 +600,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon final int naturalSpawnChunkCount = j; NaturalSpawner.SpawnState spawnercreature_d; // moved down if ((this.spawnFriendlies || this.spawnEnemies) && this.level.paperConfig().entities.spawning.perPlayerMobSpawns) { // don't count mobs when animals and monsters are disabled @@ -1136,7 +1136,7 @@ index d021cd5b6136f0125076513977f430c6d4dd4f9f..1cb8c9d21eef27492efc4995525c198c // re-set mob counts for (ServerPlayer player : this.level.players) { // Paper start - per player mob spawning backoff -@@ -567,13 +608,17 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -574,13 +615,17 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon } // Paper end - per player mob spawning backoff } @@ -1157,7 +1157,7 @@ index d021cd5b6136f0125076513977f430c6d4dd4f9f..1cb8c9d21eef27492efc4995525c198c profiler.popPush("spawnAndTick"); boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && !this.level.players().isEmpty(); // CraftBukkit int k = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING); -@@ -590,7 +635,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -597,7 +642,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon // Paper end - PlayerNaturallySpawnCreaturesEvent boolean flag1 = this.level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && this.level.getLevelData().getGameTime() % this.level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit @@ -1166,7 +1166,7 @@ index d021cd5b6136f0125076513977f430c6d4dd4f9f..1cb8c9d21eef27492efc4995525c198c } else { list1 = List.of(); } -@@ -602,8 +647,8 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -609,8 +654,8 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon ChunkPos chunkcoordintpair = chunk.getPos(); chunk.incrementInhabitedTime(timeDelta); @@ -1178,7 +1178,7 @@ index d021cd5b6136f0125076513977f430c6d4dd4f9f..1cb8c9d21eef27492efc4995525c198c if (true) { // Paper - rewrite chunk system diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 90eb4927fa51ce3df86aa7b6c71f49150a03e337..3ea4920323606150548d6e9fc1ce67724f19dc60 100644 +index 103e2c414780be66324bcb9cd4ea539bbdfe12ad..c563326d3131bc726c7f43311c3eaa82131c6745 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -207,6 +207,7 @@ public class ServerEntity { @@ -1198,10 +1198,10 @@ index 90eb4927fa51ce3df86aa7b6c71f49150a03e337..3ea4920323606150548d6e9fc1ce6772 this.wasOnGround = this.entity.onGround(); this.teleportDelay = 0; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 585e2b43a0326f0b81597fa1234d3c67c76af550..59f90878ec9f110d78bce998deb1dcd2830b0f08 100644 +index 7270a94246df73ee195156fc7b62470d090a337a..430e29b61feaf525ffa054469dd098a2c1d760f1 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -792,6 +792,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -793,6 +793,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe org.spigotmc.ActivationRange.activateEntities(this); // Spigot this.entityTickList.forEach((entity) -> { @@ -1209,7 +1209,7 @@ index 585e2b43a0326f0b81597fa1234d3c67c76af550..59f90878ec9f110d78bce998deb1dcd2 if (!entity.isRemoved()) { if (!tickratemanager.isEntityFrozen(entity)) { gameprofilerfiller.push("checkDespawn"); -@@ -809,7 +810,20 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -810,7 +811,20 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } gameprofilerfiller.push("tick"); @@ -1231,7 +1231,7 @@ index 585e2b43a0326f0b81597fa1234d3c67c76af550..59f90878ec9f110d78bce998deb1dcd2 gameprofilerfiller.pop(); } } -@@ -930,7 +944,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -931,7 +945,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe ProfilerFiller gameprofilerfiller = Profiler.get(); gameprofilerfiller.push("thunder"); @@ -1241,10 +1241,10 @@ index 585e2b43a0326f0b81597fa1234d3c67c76af550..59f90878ec9f110d78bce998deb1dcd2 if (this.isRainingAt(blockposition)) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index cd1b6b539a62fa5237d6dab2d1c09a2e631d9941..56a6367245b133f3ac86af99a738325885f2e94a 100644 +index 2fbe3d8722eeacc3b27ce38145aeffa610f9daab..9646b13ee9fa1824b929eb8b8ce2302d1c461120 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1172,6 +1172,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1225,6 +1225,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handleEditBook(ServerboundEditBookPacket packet) { @@ -1253,7 +1253,7 @@ index cd1b6b539a62fa5237d6dab2d1c09a2e631d9941..56a6367245b133f3ac86af99a7383258 final io.papermc.paper.configuration.type.number.IntOr.Disabled pageMax = io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.pageMax; if (!this.cserver.isPrimaryThread() && pageMax.enabled()) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a15546e433ebba6c0de01bdaaef201a3d99a87b5..0a0d004699eeaae12852b197b32a449a86de3028 100644 +index 27618d07d718cb2a5783536e11d56f712303487b..d337311b36db049b11c768bf16d8e7b5f31436dd 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -389,6 +389,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1267,7 +1267,7 @@ index a15546e433ebba6c0de01bdaaef201a3d99a87b5..0a0d004699eeaae12852b197b32a449a public void setOrigin(@javax.annotation.Nonnull Location location) { this.origin = location.toVector(); diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index c8c2394558952d7ca57d29874485251b8f2b3400..7e7603680310976312050aaff5bdaa805901617f 100644 +index d23914a3ab3723d532ae867db6b954c843030f75..8c1dad4b7f6461aca5ac37a25c880c550b0dcf5f 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java @@ -385,6 +385,7 @@ public class EntityType implements FeatureElement, EntityTypeT @@ -1279,10 +1279,10 @@ index c8c2394558952d7ca57d29874485251b8f2b3400..7e7603680310976312050aaff5bdaa80 private Component description; private final Optional> lootTable; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index f36a075dbee2b96d01899e02460b1d8443e91749..e21e549e8102477aae599487acc6dd39616d6c26 100644 +index 96b4fbe4a4655777ff10b32e3257e2fac2aba12a..ee2c88638f058172ef730de9b112ce6506211d3b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -467,7 +467,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -465,7 +465,7 @@ public abstract class LivingEntity extends Entity implements Attackable { if (world1 instanceof ServerLevel) { worldserver1 = (ServerLevel) world1; @@ -1311,7 +1311,7 @@ index f36a075dbee2b96d01899e02460b1d8443e91749..e21e549e8102477aae599487acc6dd39 @Override protected float getBlockSpeedFactor() { return Mth.lerp((float) this.getAttributeValue(Attributes.MOVEMENT_EFFICIENCY), super.getBlockSpeedFactor(), 1.0F); -@@ -2120,6 +2133,20 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2135,6 +2148,20 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.lastClimbablePos; } @@ -1333,10 +1333,10 @@ index f36a075dbee2b96d01899e02460b1d8443e91749..e21e549e8102477aae599487acc6dd39 if (this.isSpectator()) { return false; diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index dbd321f3dc3cc80737830db63aed47a6935e8e89..237eed7259f0cedf5b96ea54c195c3359d286064 100644 +index 5a3059cadbc9735b4b48745c6b1b11196596b06d..c68543bd7023e9022660ad9c7cbf72c8dc2a6e27 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -235,14 +235,16 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -231,14 +231,16 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab return this.lookControl; } @@ -1355,7 +1355,7 @@ index dbd321f3dc3cc80737830db63aed47a6935e8e89..237eed7259f0cedf5b96ea54c195c335 this.targetSelector.tick(); } } -@@ -927,16 +929,20 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -925,16 +927,20 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab if (i % 2 != 0 && this.tickCount > 1) { gameprofilerfiller.push("targetSelector"); @@ -1377,7 +1377,7 @@ index dbd321f3dc3cc80737830db63aed47a6935e8e89..237eed7259f0cedf5b96ea54c195c335 gameprofilerfiller.pop(); } diff --git a/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java b/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java -index 94d04a20f97405e02d7cccaabadc7a7e86e336f7..31aa4221de653f0695b21d438964bae20cffad07 100644 +index fb967ac7b3e7828301f08a7fe9b039441cf7da30..b4cfae23709b7c3aed28317846e37c9311c948c1 100644 --- a/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java +++ b/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java @@ -23,9 +23,11 @@ public class AttributeMap { @@ -1481,10 +1481,10 @@ index 60c2868f255d372226e0c1389caaa5477bbef41e..3de177a40649183b5b210e5f0c610a52 private void setupAnimationStates() { if (this.isResting()) { diff --git a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java -index 05c3d43fafc781e2c2d762dd5f509753df8da3b3..94692082aa85d7e4e52a4e16bb5e49b0bf6eb93f 100644 +index b86f638390d386c838318a4d9b6571ac5514df8f..f4788104b1bb73810fdf0dc7f5311d5b078a81d5 100644 --- a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java +++ b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java -@@ -219,11 +219,13 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS +@@ -223,11 +223,13 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS return 0.4F; } @@ -1517,7 +1517,7 @@ index 31b10cd404b672d7ce21c2107d8f83e32de26ef4..cb47876a13cb1990bb0ab4cff1bbe57b gameprofilerfiller.pop(); gameprofilerfiller.push("axolotlActivityUpdate"); diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java -index 36846ba6b6c7494c745ebd8b221479a9d02ff318..3461c7150fc44ee608169aa993f6ff44d4c978be 100644 +index ca04e5d829331551a2c2f44e223ff05c6ce04e76..db91b8018591fe248efda417fcde7fd2071c4cb6 100644 --- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java +++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java @@ -184,10 +184,12 @@ public class Frog extends Animal implements VariantHolder> { @@ -1570,10 +1570,10 @@ index 76aca47d8638d5c37c57d3a59fa7f8ceaa5a53b4..fb92cd4b0c15b614c0c06d2867039aee gameprofilerfiller.pop(); gameprofilerfiller.push("goatActivityUpdate"); diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index 244e38db508efa3eebebb6392c4ebb0805367baf..d62c0d3c2bd5df5ee908bdcfdffaae9ce780810f 100644 +index bd9e10f79eaf0d23908229b3ebc2227946a14843..2ce65ef77e4b28e1fd5ac7bd6a304cc115b8aca2 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -@@ -152,6 +152,13 @@ public class WitherBoss extends Monster implements RangedAttackMob { +@@ -151,6 +151,13 @@ public class WitherBoss extends Monster implements RangedAttackMob { this.bossEvent.setName(this.getDisplayName()); } @@ -1588,10 +1588,10 @@ index 244e38db508efa3eebebb6392c4ebb0805367baf..d62c0d3c2bd5df5ee908bdcfdffaae9c protected SoundEvent getAmbientSound() { return SoundEvents.WITHER_AMBIENT; diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -index 48dcd2bc12ce1d08cc5195bff5460dc0dd9902d3..c7153cfec847fca4ce5d9ec729628aed5bed11be 100644 +index 2a394381a4ad46359359ba402b65c62b331480b4..4e4dab5bc202f6f421dcff98f0e36e8e70378b49 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -@@ -307,11 +307,17 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -306,11 +306,17 @@ public class EnderMan extends Monster implements NeutralMob { private boolean teleport(double x, double y, double z) { BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(x, y, z); @@ -1630,10 +1630,10 @@ index 92270912ef26924f611a1df7cb3d5b485b0a262d..9c20651b74157582e60793ceba8adde2 gameprofilerfiller.pop(); HoglinAi.updateActivity(this); diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -index e04d2c5e75dc774fe893a552474fdb8045c32693..d1870bf4c01c846a721480eb6611a67db9b98d02 100644 +index 2121d2a2e1aa1d0f0390cc515317096431f6dcb0..74ab50723056fef2a96dcc9e2de0e58526738011 100644 --- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -@@ -304,11 +304,13 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento +@@ -307,11 +307,13 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento return !this.cannotHunt; } @@ -1648,7 +1648,7 @@ index e04d2c5e75dc774fe893a552474fdb8045c32693..d1870bf4c01c846a721480eb6611a67d gameprofilerfiller.pop(); PiglinAi.updateActivity(this); diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java -index 6180019da58b19d2595da508aed3196af922d587..457f9f6bf6a8e8f2e0b4246a0589e344756370d2 100644 +index c47ed605f0822effd58df4f875297ed015e1e57e..4331ada8bed7ade7b53fd8ba000c1c1b34fa4331 100644 --- a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java +++ b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java @@ -275,11 +275,13 @@ public class Warden extends Monster implements VibrationSystem { @@ -1666,7 +1666,7 @@ index 6180019da58b19d2595da508aed3196af922d587..457f9f6bf6a8e8f2e0b4246a0589e344 gameprofilerfiller.pop(); super.customServerAiStep(world); diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index b7a34f1c4d7b5ef3f7a843d152e33c839dcdedd5..d9a60871bce4da7e6dc7c3c986498602c355ac04 100644 +index 2d8ba55906c8da16fde850e3412f4a6bda3d56e7..3fd86782134a674f58ef37288c8963a4a92f685c 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -142,6 +142,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -1700,10 +1700,10 @@ index b7a34f1c4d7b5ef3f7a843d152e33c839dcdedd5..d9a60871bce4da7e6dc7c3c986498602 if (this.assignProfessionWhenSpawned) { this.assignProfessionWhenSpawned = false; diff --git a/src/main/java/net/minecraft/world/entity/player/Inventory.java b/src/main/java/net/minecraft/world/entity/player/Inventory.java -index 0990bcf65f484b9a019c91fcdae1783bac6388da..99feda30fb85a7615560b6e9a3701d5dfeb3e524 100644 +index 36ba57e95b84f3d598bf4be624d6c88b05a6f9a6..9d467d401147308b9f6e3eb7be2d7606993825c3 100644 --- a/src/main/java/net/minecraft/world/entity/player/Inventory.java +++ b/src/main/java/net/minecraft/world/entity/player/Inventory.java -@@ -649,6 +649,8 @@ public class Inventory implements Container, Nameable { +@@ -636,6 +636,8 @@ public class Inventory implements Container, Nameable { } public boolean contains(ItemStack stack) { @@ -1712,7 +1712,7 @@ index 0990bcf65f484b9a019c91fcdae1783bac6388da..99feda30fb85a7615560b6e9a3701d5d Iterator iterator = this.compartments.iterator(); while (iterator.hasNext()) { -@@ -663,6 +665,18 @@ public class Inventory implements Container, Nameable { +@@ -650,6 +652,18 @@ public class Inventory implements Container, Nameable { } } } @@ -1732,7 +1732,7 @@ index 0990bcf65f484b9a019c91fcdae1783bac6388da..99feda30fb85a7615560b6e9a3701d5d return false; } diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index 6c2d4d6f3a36ab452dfd3c33f66e54f152906639..5a791fad8c27e4997d53f2e5d9a5aa28189fdf28 100644 +index 9a7b56b653848974e1194eb4f6d40cb99a96ff57..593b343b7cd5a24e34ad19a9e93eb9258f862357 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java @@ -58,6 +58,36 @@ public abstract class Projectile extends Entity implements TraceableEntity { @@ -1786,7 +1786,7 @@ index b62db8c7c8c57e43869ee239ebf4b02f112355d9..2bee342e59e600426c8681a3ce641a12 } } diff --git a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java -index 12f95bee2a69fd5df7c4a165537e01299e60c5f6..d7ce86752e4138cdd3844b3374609753aa20f9ea 100644 +index 6ec7b234b468755835107be40d0080222c0b9263..ab91d14f263ba2cdb2bbf4a8a2dd66898e709fe6 100644 --- a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java +++ b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java @@ -31,8 +31,13 @@ public class ShapelessRecipe implements CraftingRecipe { @@ -1803,7 +1803,7 @@ index 12f95bee2a69fd5df7c4a165537e01299e60c5f6..d7ce86752e4138cdd3844b3374609753 this.group = group; this.category = category; this.result = result; -@@ -80,6 +85,28 @@ public class ShapelessRecipe implements CraftingRecipe { +@@ -80,6 +85,27 @@ public class ShapelessRecipe implements CraftingRecipe { } public boolean matches(CraftingInput input, Level world) { @@ -1828,15 +1828,14 @@ index 12f95bee2a69fd5df7c4a165537e01299e60c5f6..d7ce86752e4138cdd3844b3374609753 + return ingredients.isEmpty(); + } + // Pufferfish end -+ - // Paper start - Improve exact choice recipe ingredients & unwrap ternary - if (input.ingredientCount() != this.ingredients.size()) { - return false; + return input.ingredientCount() != this.ingredients.size() ? false : (input.size() == 1 && this.ingredients.size() == 1 ? ((Ingredient) this.ingredients.getFirst()).test(input.getItem(0)) : input.stackedContents().canCraft((Recipe) this, (StackedContents.Output) null)); + } + diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 0de2b79481352b52438dde284262019b29949ad8..eb9fdff179f59d49b17ee3af18cef7508d45987f 100644 +index 27f9d167b5ae9ce5117798ea44324107df59425f..6470f145e2470574a40ddce6ca5bf924c1bb094c 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -1487,16 +1487,16 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl +@@ -1488,16 +1488,16 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl public void guardEntityTick(Consumer tickConsumer, T entity) { try { tickConsumer.accept(entity); @@ -1857,10 +1856,10 @@ index 0de2b79481352b52438dde284262019b29949ad8..eb9fdff179f59d49b17ee3af18cef750 // Paper start - Option to prevent armor stands from doing entity lookups @Override diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index 4640baec5bed6c2d53cc0f8ca1d273cc115abe9b..29e5234c008b8ac1df240a242ff7966057075171 100644 +index 97937e3bd211997f0a0a3e9e671a1c59712d0003..99a95d77f44dddfd7be6c2ebd60e827d9de956b7 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -@@ -88,6 +88,18 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p +@@ -89,6 +89,18 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p private final LevelChunkTicks fluidTicks; private LevelChunk.UnsavedListener unsavedListener; @@ -1879,7 +1878,7 @@ index 4640baec5bed6c2d53cc0f8ca1d273cc115abe9b..29e5234c008b8ac1df240a242ff79660 public LevelChunk(Level world, ChunkPos pos) { this(world, pos, UpgradeData.EMPTY, new LevelChunkTicks<>(), new LevelChunkTicks<>(), 0L, (LevelChunkSection[]) null, (LevelChunk.PostLoadProcessor) null, (BlendingData) null); } -@@ -121,6 +133,8 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p +@@ -122,6 +134,8 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p this.debug = !empty && this.level.isDebug(); this.defaultBlockState = empty ? VOID_AIR_BLOCKSTATE : AIR_BLOCKSTATE; // Paper end - get block chunk optimisation @@ -1914,7 +1913,7 @@ index 7c989318dc7ad89bb0d9143fcaac1e4bba6f5907..143a4d4efcc989ed4a4c73cc304e1978 } } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 507f908916cbeb592496f963b46e4c2121a7b5e3..da306aab94697a86ac052f4536c9eff1ff23a92f 100644 +index 15892c7769caa15f3d52a1ee2147cf9615aa0e25..6ef651e6dc16bad45aeb76f8e17b97871c506a64 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -505,7 +505,7 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied-server/0002-Fix-pufferfish-issues.patch b/patches/server/0002-Fix-pufferfish-issues.patch similarity index 93% rename from patches/unapplied-server/0002-Fix-pufferfish-issues.patch rename to patches/server/0002-Fix-pufferfish-issues.patch index 1236523e49..529a0ffb15 100644 --- a/patches/unapplied-server/0002-Fix-pufferfish-issues.patch +++ b/patches/server/0002-Fix-pufferfish-issues.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix pufferfish issues diff --git a/build.gradle.kts b/build.gradle.kts -index 1bb33b64bd73c8ea591c3ffdf5573c7c55a520f3..c8f5e9eaf5fb83148ffb8ff18cb33d51561a6610 100644 +index 96d831791edbe6ae07325008b760f70f75c4d713..cfa25c0cd7f7e249a4f22dc1d316bbf702b27e37 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -62,7 +62,7 @@ dependencies { +@@ -63,7 +63,7 @@ dependencies { // Pufferfish start implementation("org.yaml:snakeyaml:1.32") @@ -73,7 +73,7 @@ index 790bad0494454ca12ee152e3de6da3da634d9b20..bf1aacdfac2d501c62038a22cb9eac7f @Override diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index 5a791fad8c27e4997d53f2e5d9a5aa28189fdf28..af8dc4a57987cc84cb1002f2e5f25c28ec98173f 100644 +index 593b343b7cd5a24e34ad19a9e93eb9258f862357..0dbfa1e9ae1f0b8b9c4e9de59a7844ae96f63077 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java @@ -77,7 +77,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { @@ -86,10 +86,10 @@ index 5a791fad8c27e4997d53f2e5d9a5aa28189fdf28..af8dc4a57987cc84cb1002f2e5f25c28 return; } diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index 29e5234c008b8ac1df240a242ff7966057075171..5c4843f6cfd13790a44fc0f928f1fbcef8a648ce 100644 +index 99a95d77f44dddfd7be6c2ebd60e827d9de956b7..090e196cf391dced8adcb8106026d67b2aeac6b0 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -@@ -134,7 +134,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p +@@ -135,7 +135,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p this.defaultBlockState = empty ? VOID_AIR_BLOCKSTATE : AIR_BLOCKSTATE; // Paper end - get block chunk optimisation diff --git a/patches/unapplied-server/0003-Rebrand.patch b/patches/server/0003-Rebrand.patch similarity index 99% rename from patches/unapplied-server/0003-Rebrand.patch rename to patches/server/0003-Rebrand.patch index 07d5b27c05..0cb5df170c 100644 --- a/patches/unapplied-server/0003-Rebrand.patch +++ b/patches/server/0003-Rebrand.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand diff --git a/build.gradle.kts b/build.gradle.kts -index c8f5e9eaf5fb83148ffb8ff18cb33d51561a6610..77602e4445b1b45a17e5552ac6a769e0ed46ebc7 100644 +index cfa25c0cd7f7e249a4f22dc1d316bbf702b27e37..74d7aaae57e0e9ea9e31c4b2189ba50a0ac83bea 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -25,7 +25,7 @@ abstract class MockitoAgentProvider : CommandLineArgumentProvider { @@ -14,10 +14,10 @@ index c8f5e9eaf5fb83148ffb8ff18cb33d51561a6610..77602e4445b1b45a17e5552ac6a769e0 dependencies { - implementation(project(":pufferfish-api")) // Pufferfish // Paper + implementation(project(":purpur-api")) // Pufferfish // Paper // Purpur + implementation("ca.spottedleaf:concurrentutil:0.0.2") // Paper - Add ConcurrentUtil dependency // Paper start implementation("org.jline:jline-terminal-ffm:3.27.1") // use ffm on java 22+ - implementation("org.jline:jline-terminal-jni:3.27.1") // fall back to jni on java 21 -@@ -67,6 +67,10 @@ dependencies { +@@ -68,6 +68,10 @@ dependencies { } // Pufferfish end @@ -28,7 +28,7 @@ index c8f5e9eaf5fb83148ffb8ff18cb33d51561a6610..77602e4445b1b45a17e5552ac6a769e0 testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test testImplementation("org.junit.jupiter:junit-jupiter:5.10.2") testImplementation("org.junit.platform:junit-platform-suite-engine:1.10.0") -@@ -114,14 +118,14 @@ tasks.jar { +@@ -115,14 +119,14 @@ tasks.jar { val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", @@ -48,7 +48,7 @@ index c8f5e9eaf5fb83148ffb8ff18cb33d51561a6610..77602e4445b1b45a17e5552ac6a769e0 "Build-Number" to (build ?: ""), "Build-Time" to Instant.now().toString(), "Git-Branch" to gitBranch, // Paper -@@ -187,7 +191,7 @@ fun TaskContainer.registerRunTask( +@@ -188,7 +192,7 @@ fun TaskContainer.registerRunTask( name: String, block: JavaExec.() -> Unit ): TaskProvider = register(name) { @@ -254,7 +254,7 @@ index 4e56018b64d11f76c8da43fd8f85c6de72204e36..9607675e6c5bff2183c4420d11fc63ee @Override diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index 6fef86e47e37eab6721cfd67d494afb25a2ded68..c914e1e13c4f64f24efa5f825e58efb69632bfa6 100644 +index 1354ccfbf525e5e64483ac5f443cc2325ba63850..5e7b833fc9f37bc370c76e5c43e6c9919d6d20af 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -491,7 +491,7 @@ public class CraftScheduler implements BukkitScheduler { @@ -267,7 +267,7 @@ index 6fef86e47e37eab6721cfd67d494afb25a2ded68..c914e1e13c4f64f24efa5f825e58efb6 // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index da306aab94697a86ac052f4536c9eff1ff23a92f..86ba02ba848ee20a2e2b52baab8986dd5a013f98 100644 +index 6ef651e6dc16bad45aeb76f8e17b97871c506a64..8979956334ad5802d221e45eba91248e7f048d13 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -505,7 +505,7 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied-server/0004-Purpur-config-files.patch b/patches/server/0004-Purpur-config-files.patch similarity index 98% rename from patches/unapplied-server/0004-Purpur-config-files.patch rename to patches/server/0004-Purpur-config-files.patch index e217ce4207..5461c5de4e 100644 --- a/patches/unapplied-server/0004-Purpur-config-files.patch +++ b/patches/server/0004-Purpur-config-files.patch @@ -92,10 +92,10 @@ index d62f7375394409a278bc565c8263506c598ceeba..2a7fd4420467cce0c4ddca749955ba45 gg.pufferfish.pufferfish.PufferfishConfig.load(); // Pufferfish gg.pufferfish.pufferfish.PufferfishCommand.init(); // Pufferfish diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index eb9fdff179f59d49b17ee3af18cef7508d45987f..e7b9c8a473403002a75b6840250439c91ed12c1c 100644 +index 6470f145e2470574a40ddce6ca5bf924c1bb094c..31ec722cfb102eaea5511aca07a48e4ad36d73af 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -174,6 +174,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl +@@ -175,6 +175,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl // Paper end - add paper world config public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray @@ -103,7 +103,7 @@ index eb9fdff179f59d49b17ee3af18cef7508d45987f..e7b9c8a473403002a75b6840250439c9 public static BlockPos lastPhysicsProblem; // Spigot private org.spigotmc.TickLimiter entityLimiter; private org.spigotmc.TickLimiter tileLimiter; -@@ -842,6 +843,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl +@@ -843,6 +844,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl // Paper end - getblock optimisations - cache world height/sections this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config @@ -159,7 +159,7 @@ index ac8af406180bc680d46e8edc3da0fc2e5211345a..48a8bdd45c063797144e98e76f6007ae public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index be0d38544395a9b3befb898bb961f34e32fe9509..9ad9239ae0804cc7a4a9ea4a05401b303ae9b372 100644 +index 1c2439ffc1e407ff69286817d22f127470ce07ba..ae274a56f7cb6200b3c556ed61254bb28146c771 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -176,6 +176,14 @@ public class Main { diff --git a/patches/unapplied-server/0005-Purpur-client-support.patch b/patches/server/0005-Purpur-client-support.patch similarity index 92% rename from patches/unapplied-server/0005-Purpur-client-support.patch rename to patches/server/0005-Purpur-client-support.patch index efb60b3fdf..58ce302ee6 100644 --- a/patches/unapplied-server/0005-Purpur-client-support.patch +++ b/patches/server/0005-Purpur-client-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 5a8f396d47577f087abb415c972fd4f51e50faba..77823507f99bc39181fe3c285cd077ca6ef0296b 100644 +index 8aff5b7dd14b835788348b22b1fec4d381df816f..e223a732b8ff485645fa3a4c08c6bf6dff146dd7 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -329,6 +329,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -327,6 +327,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple public com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper - PlayerNaturallySpawnCreaturesEvent public @Nullable String clientBrandName = null; // Paper - Brand support public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - Add API for quit reason; there are a lot of changes to do if we change all methods leading to the event @@ -43,10 +43,10 @@ index b0bc66dc7248aae691dcab68b925b52a1695e63f..b6dd6bde947ac7502f25d31603995961 try { String channels = payload.toString(com.google.common.base.Charsets.UTF_8); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 554714e449d1d2439b05d7e15f72afccd17d4df5..3d2322233aff511bcc5c85b24230c2e08dc0bcd0 100644 +index 84c494ca81b8f58604b372ac7236147776817a4f..d86bf4f995e8156f594fa90ebbab4165e52c0e09 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3580,4 +3580,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3565,4 +3565,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundEntityEventPacket(((CraftEntity) target).getHandle(), effect.getData())); } // Paper end - entity effect API diff --git a/patches/unapplied-server/0006-MC-Utils.patch b/patches/server/0006-MC-Utils.patch similarity index 100% rename from patches/unapplied-server/0006-MC-Utils.patch rename to patches/server/0006-MC-Utils.patch diff --git a/patches/unapplied-server/0007-Fix-decompile-errors.patch b/patches/server/0007-Fix-decompile-errors.patch similarity index 100% rename from patches/unapplied-server/0007-Fix-decompile-errors.patch rename to patches/server/0007-Fix-decompile-errors.patch diff --git a/patches/unapplied-server/0008-Component-related-conveniences.patch b/patches/server/0008-Component-related-conveniences.patch similarity index 93% rename from patches/unapplied-server/0008-Component-related-conveniences.patch rename to patches/server/0008-Component-related-conveniences.patch index e66d1c195f..a72eef78d8 100644 --- a/patches/unapplied-server/0008-Component-related-conveniences.patch +++ b/patches/server/0008-Component-related-conveniences.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 77823507f99bc39181fe3c285cd077ca6ef0296b..785ea646cbefb8dc1e22a57bc3a18cdbee440e06 100644 +index e223a732b8ff485645fa3a4c08c6bf6dff146dd7..5bad9af939411e23a84184cdc13004bc5e2e2568 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2253,6 +2253,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -2236,6 +2236,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple this.lastSentExp = -1; // CraftBukkit - Added to reset } @@ -35,7 +35,7 @@ index 77823507f99bc39181fe3c285cd077ca6ef0296b..785ea646cbefb8dc1e22a57bc3a18cdb @Override public void displayClientMessage(Component message, boolean overlay) { this.sendSystemMessage(message, overlay); -@@ -2477,6 +2497,20 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -2457,6 +2477,20 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple return new CommandSourceStack(this.commandSource(), this.position(), this.getRotationVector(), this.serverLevel(), this.getPermissionLevel(), this.getName().getString(), this.getDisplayName(), this.server, this); } @@ -57,7 +57,7 @@ index 77823507f99bc39181fe3c285cd077ca6ef0296b..785ea646cbefb8dc1e22a57bc3a18cdb this.sendSystemMessage(message, false); } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 30de3d1a7792c38ae946f19cb0e14637919b5001..cf8b7f93a1ba027c00d7f45809fa51f1ab55a5de 100644 +index 9b71655a425356132afb786eff623f558e1e3498..b973a07d199bc856643b23c090eb56bd1aeb0104 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -991,6 +991,20 @@ public abstract class PlayerList { From 626d85327e67584e46d58f7682b57a67d6a22585 Mon Sep 17 00:00:00 2001 From: granny Date: Tue, 3 Dec 2024 20:48:26 -0800 Subject: [PATCH 05/19] apply Ridables patch --- .../0009-Ridables.patch | 266 +++++++++--------- 1 file changed, 138 insertions(+), 128 deletions(-) rename patches/{unapplied-server => server}/0009-Ridables.patch (96%) diff --git a/patches/unapplied-server/0009-Ridables.patch b/patches/server/0009-Ridables.patch similarity index 96% rename from patches/unapplied-server/0009-Ridables.patch rename to patches/server/0009-Ridables.patch index 0c09054d91..456146db3a 100644 --- a/patches/unapplied-server/0009-Ridables.patch +++ b/patches/server/0009-Ridables.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ridables diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java -index f58a94efafbc01d402cd03a108bb90f60930a316..21ea63da99c5b3e2e1ab9cc1049c903bba6cf288 100644 +index faffd87c357511ef00646971a16acf1009362c59..c98e0d9d8bc9e6ef12a9b9d6082e98bc5bb7a5f6 100644 --- a/src/main/java/net/minecraft/core/BlockPos.java +++ b/src/main/java/net/minecraft/core/BlockPos.java -@@ -62,6 +62,12 @@ public class BlockPos extends Vec3i { +@@ -63,6 +63,12 @@ public class BlockPos extends Vec3i { public static final int MAX_HORIZONTAL_COORDINATE = 33554431; // Paper end - Optimize Bit Operations by inlining @@ -22,10 +22,10 @@ index f58a94efafbc01d402cd03a108bb90f60930a316..21ea63da99c5b3e2e1ab9cc1049c903b super(x, y, z); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 2a24e011b8a1128396a0a092456050c4b88f8260..ff4d04092aa6322788d55d3c0253cb7f6f3cd493 100644 +index 81591e2b51755b0b76ddceea32ea9f19004bfb13..48e40ef7fba63d9354152a02440656ceb3a9b7a6 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1863,6 +1863,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper - Add EntityMoveEvent net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers worldserver.updateLagCompensationTick(); // Paper - lag compensation @@ -34,10 +34,10 @@ index 2a24e011b8a1128396a0a092456050c4b88f8260..ff4d04092aa6322788d55d3c0253cb7f gameprofilerfiller.push(() -> { String s = String.valueOf(worldserver); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 59f90878ec9f110d78bce998deb1dcd2830b0f08..498f0478bdb790bc3083d2cf5e81633054255fe2 100644 +index 430e29b61feaf525ffa054469dd098a2c1d760f1..d571b4a56807bcc4206d54573604c01290cd3dd7 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -231,6 +231,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -232,6 +232,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe public boolean hasPhysicsEvent = true; // Paper - BlockPhysicsEvent public boolean hasEntityMoveEvent; // Paper - Add EntityMoveEvent private final alternate.current.wire.WireHandler wireHandler = new alternate.current.wire.WireHandler(this); // Paper - optimize redstone (Alternate Current) @@ -46,10 +46,10 @@ index 59f90878ec9f110d78bce998deb1dcd2830b0f08..498f0478bdb790bc3083d2cf5e816330 public LevelChunk getChunkIfLoaded(int x, int z) { return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper - Use getChunkIfLoadedImmediately diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 785ea646cbefb8dc1e22a57bc3a18cdbee440e06..749145ac5ee84b5ebbf4b1eba2df680c1c51bd88 100644 +index 5bad9af939411e23a84184cdc13004bc5e2e2568..cff9e1877d3abcf92417ff56f4db2d14ad188f97 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1033,6 +1033,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1030,6 +1030,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple this.trackEnteredOrExitedLavaOnVehicle(); this.updatePlayerAttributes(); this.advancements.flushDirty(this); @@ -66,20 +66,20 @@ index 785ea646cbefb8dc1e22a57bc3a18cdbee440e06..749145ac5ee84b5ebbf4b1eba2df680c private void updatePlayerAttributes() { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 56a6367245b133f3ac86af99a738325885f2e94a..d2145df4e9b0dd16e7d394b8983c36fd073d3e31 100644 +index 9646b13ee9fa1824b929eb8b8ce2302d1c461120..e6c4b62daece71edae995a3c3fd21e18b5616bb1 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2822,6 +2822,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2887,6 +2887,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); + ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); -+ player.processClick(enumhand); // Purpur ++ player.processClick(enumhand); // Purpur + - // Entity in bucket - SPIGOT-4048 and SPIGOT-6859a - if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { + // Entity in bucket - SPIGOT-4048 and SPIGOT-6859a + if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { entity.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 0a0d004699eeaae12852b197b32a449a86de3028..0e084e2dcd0294274aa42b2a15fe58bee54ff393 100644 +index d337311b36db049b11c768bf16d8e7b5f31436dd..d6b48ad015e118ec9599110f54f462ef3a5debc3 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -340,7 +340,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -91,7 +91,7 @@ index 0a0d004699eeaae12852b197b32a449a86de3028..0e084e2dcd0294274aa42b2a15fe58be private float eyeHeight; public boolean isInPowderSnow; public boolean wasInPowderSnow; -@@ -3297,6 +3297,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3327,6 +3327,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.passengers = ImmutableList.copyOf(list); } @@ -105,7 +105,7 @@ index 0a0d004699eeaae12852b197b32a449a86de3028..0e084e2dcd0294274aa42b2a15fe58be this.gameEvent(GameEvent.ENTITY_MOUNT, passenger); } } -@@ -3336,6 +3343,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3366,6 +3373,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return false; } // CraftBukkit end @@ -120,7 +120,7 @@ index 0a0d004699eeaae12852b197b32a449a86de3028..0e084e2dcd0294274aa42b2a15fe58be if (this.passengers.size() == 1 && this.passengers.get(0) == entity) { this.passengers = ImmutableList.of(); } else { -@@ -5328,4 +5343,44 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -5358,4 +5373,44 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return ((net.minecraft.server.level.ServerLevel) this.level).isPositionEntityTicking(this.blockPosition()); } // Paper end - Expose entity id counter @@ -166,7 +166,7 @@ index 0a0d004699eeaae12852b197b32a449a86de3028..0e084e2dcd0294274aa42b2a15fe58be + // Purpur end } diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java -index b851c3ee1426bc0a259bf6c4a662af0c9883dd71..7c11b5e73d4f3c0be7c467f7522c2d974ab330f3 100644 +index 397765b1547ae47b64963b3807b206c50a6650e1..0e1c89923ac5dfd339e591ab19b0212ab57fde4a 100644 --- a/src/main/java/net/minecraft/world/entity/GlowSquid.java +++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java @@ -25,6 +25,19 @@ public class GlowSquid extends Squid { @@ -190,11 +190,11 @@ index b851c3ee1426bc0a259bf6c4a662af0c9883dd71..7c11b5e73d4f3c0be7c467f7522c2d97 protected ParticleOptions getInkParticle() { return ParticleTypes.GLOW_SQUID_INK; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e21e549e8102477aae599487acc6dd39616d6c26..30ffb90dda6c95c6f3bc42d1b9747acef0f0f19a 100644 +index ee2c88638f058172ef730de9b112ce6506211d3b..1135737e16849417df1cdcd5f3858ebb04160f06 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -248,9 +248,9 @@ public abstract class LivingEntity extends Entity implements Attackable { - protected int deathScore; +@@ -246,9 +246,9 @@ public abstract class LivingEntity extends Entity implements Attackable { + protected float rotOffs; public float lastHurt; public boolean jumping; - public float xxa; @@ -206,7 +206,7 @@ index e21e549e8102477aae599487acc6dd39616d6c26..30ffb90dda6c95c6f3bc42d1b9747ace protected int lerpSteps; protected double lerpX; protected double lerpY; -@@ -325,7 +325,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -323,7 +323,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.lastClimbablePos = Optional.empty(); this.activeLocationDependentEnchantments = new EnumMap(EquipmentSlot.class); this.appliedScale = 1.0F; @@ -215,7 +215,7 @@ index e21e549e8102477aae599487acc6dd39616d6c26..30ffb90dda6c95c6f3bc42d1b9747ace this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit // CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue()); -@@ -375,6 +375,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -373,6 +373,7 @@ public abstract class LivingEntity extends Entity implements Attackable { public static AttributeSupplier.Builder createLivingAttributes() { return AttributeSupplier.builder().add(Attributes.MAX_HEALTH).add(Attributes.KNOCKBACK_RESISTANCE).add(Attributes.MOVEMENT_SPEED).add(Attributes.ARMOR).add(Attributes.ARMOR_TOUGHNESS).add(Attributes.MAX_ABSORPTION).add(Attributes.STEP_HEIGHT).add(Attributes.SCALE).add(Attributes.GRAVITY).add(Attributes.SAFE_FALL_DISTANCE).add(Attributes.FALL_DAMAGE_MULTIPLIER).add(Attributes.JUMP_STRENGTH).add(Attributes.OXYGEN_BONUS).add(Attributes.BURNING_TIME).add(Attributes.EXPLOSION_KNOCKBACK_RESISTANCE).add(Attributes.WATER_MOVEMENT_EFFICIENCY).add(Attributes.MOVEMENT_EFFICIENCY).add(Attributes.ATTACK_KNOCKBACK); } @@ -223,7 +223,7 @@ index e21e549e8102477aae599487acc6dd39616d6c26..30ffb90dda6c95c6f3bc42d1b9747ace @Override protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) { -@@ -3719,8 +3720,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3730,8 +3731,10 @@ public abstract class LivingEntity extends Entity implements Attackable { this.pushEntities(); gameprofilerfiller.pop(); // Paper start - Add EntityMoveEvent @@ -236,7 +236,7 @@ index e21e549e8102477aae599487acc6dd39616d6c26..30ffb90dda6c95c6f3bc42d1b9747ace Location from = new Location(this.level().getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO); Location to = new Location(this.level().getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot()); io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone()); -@@ -3730,6 +3733,21 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3741,6 +3744,21 @@ public abstract class LivingEntity extends Entity implements Attackable { this.absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch()); } } @@ -259,10 +259,10 @@ index e21e549e8102477aae599487acc6dd39616d6c26..30ffb90dda6c95c6f3bc42d1b9747ace // Paper end - Add EntityMoveEvent world = this.level(); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 237eed7259f0cedf5b96ea54c195c3359d286064..6502676a94ebb663b6126a21896cda456066d55b 100644 +index c68543bd7023e9022660ad9c7cbf72c8dc2a6e27..d2baf9408fd7cc19025d2d6a891acc94e6ec23a7 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -163,8 +163,8 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -159,8 +159,8 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab this.restrictRadius = -1.0F; this.goalSelector = new GoalSelector(); this.targetSelector = new GoalSelector(); @@ -273,7 +273,7 @@ index 237eed7259f0cedf5b96ea54c195c3359d286064..6502676a94ebb663b6126a21896cda45 this.jumpControl = new JumpControl(this); this.bodyRotationControl = this.createBodyControl(); this.navigation = this.createNavigation(world); -@@ -1502,7 +1502,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -1500,7 +1500,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab protected void onOffspringSpawnedFromEgg(Player player, Mob child) {} protected InteractionResult mobInteract(Player player, InteractionHand hand) { @@ -282,7 +282,7 @@ index 237eed7259f0cedf5b96ea54c195c3359d286064..6502676a94ebb663b6126a21896cda45 } public boolean isWithinRestriction() { -@@ -1819,4 +1819,58 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -1820,4 +1820,58 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab public float[] getArmorDropChances() { return this.armorDropChances; } @@ -342,7 +342,7 @@ index 237eed7259f0cedf5b96ea54c195c3359d286064..6502676a94ebb663b6126a21896cda45 + // Purpur end } diff --git a/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java b/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java -index 31aa4221de653f0695b21d438964bae20cffad07..861591694785a6ff16f839fa91781791c275de14 100644 +index b4cfae23709b7c3aed28317846e37c9311c948c1..236485c0c9706d5561f8bc950b20411ae628ca96 100644 --- a/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java +++ b/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java @@ -24,15 +24,22 @@ public class AttributeMap { @@ -379,10 +379,10 @@ index 31aa4221de653f0695b21d438964bae20cffad07..861591694785a6ff16f839fa91781791 diff --git a/src/main/java/net/minecraft/world/entity/ai/attributes/DefaultAttributes.java b/src/main/java/net/minecraft/world/entity/ai/attributes/DefaultAttributes.java -index 386f9bca728055f7b75fb690b307ff4510068105..157fe8979c780300b6f72cbaa17729031e3b386d 100644 +index c76438d5ce2330eca16dc0b381f97e9506f84aef..b37b82f3313e51d187d76452624b386c8bdbbf58 100644 --- a/src/main/java/net/minecraft/world/entity/ai/attributes/DefaultAttributes.java +++ b/src/main/java/net/minecraft/world/entity/ai/attributes/DefaultAttributes.java -@@ -130,7 +130,7 @@ public class DefaultAttributes { +@@ -131,7 +131,7 @@ public class DefaultAttributes { .put(EntityType.OCELOT, Ocelot.createAttributes().build()) .put(EntityType.PANDA, Panda.createAttributes().build()) .put(EntityType.PARROT, Parrot.createAttributes().build()) @@ -582,10 +582,10 @@ index 9aedc62b1766f6a7db4da7eba55167d21d698791..9708ed3e00059fdf5d1d60e0c607d0ab double d = this.wantedX - this.fish.getX(); double e = this.wantedY - this.fish.getY(); diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index 42276acfeadec6e7aa9a91d3f446f4fedb04829d..cf095cf77724c3bbf4c6f867449d27d4638e3c9c 100644 +index ca706f1ac5f4248164daa613eef81e46b3e5a210..6ae52fa7c0cb3eda4f0d7f8c7dbbf97078dd2d59 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java -@@ -150,6 +150,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -154,6 +154,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { public Bee(EntityType type, Level world) { super(type, world); this.remainingCooldownBeforeLocatingNewFlower = Mth.nextInt(this.random, 20, 60); @@ -593,7 +593,7 @@ index 42276acfeadec6e7aa9a91d3f446f4fedb04829d..cf095cf77724c3bbf4c6f867449d27d4 // Paper start - Fix MC-167279 class BeeFlyingMoveControl extends FlyingMoveControl { public BeeFlyingMoveControl(final Mob entity, final int maxPitchChange, final boolean noGravity) { -@@ -158,11 +159,24 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -162,11 +163,24 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @Override public void tick() { @@ -618,7 +618,7 @@ index 42276acfeadec6e7aa9a91d3f446f4fedb04829d..cf095cf77724c3bbf4c6f867449d27d4 } this.moveControl = new BeeFlyingMoveControl(this, 20, true); // Paper end - Fix MC-167279 -@@ -174,6 +188,40 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -178,6 +192,40 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { this.setPathfindingMalus(PathType.FENCE, -1.0F); } @@ -659,7 +659,7 @@ index 42276acfeadec6e7aa9a91d3f446f4fedb04829d..cf095cf77724c3bbf4c6f867449d27d4 @Override protected void defineSynchedData(SynchedEntityData.Builder builder) { super.defineSynchedData(builder); -@@ -188,6 +236,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -192,6 +240,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @Override protected void registerGoals() { @@ -667,7 +667,7 @@ index 42276acfeadec6e7aa9a91d3f446f4fedb04829d..cf095cf77724c3bbf4c6f867449d27d4 this.goalSelector.addGoal(0, new Bee.BeeAttackGoal(this, 1.399999976158142D, true)); this.goalSelector.addGoal(1, new Bee.BeeEnterHiveGoal()); this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D)); -@@ -207,6 +256,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -211,6 +260,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { this.goalSelector.addGoal(7, new Bee.BeeGrowCropGoal()); this.goalSelector.addGoal(8, new Bee.BeeWanderGoal()); this.goalSelector.addGoal(9, new FloatGoal(this)); @@ -675,8 +675,8 @@ index 42276acfeadec6e7aa9a91d3f446f4fedb04829d..cf095cf77724c3bbf4c6f867449d27d4 this.targetSelector.addGoal(1, (new Bee.BeeHurtByOtherGoal(this)).setAlertOthers(new Class[0])); this.targetSelector.addGoal(2, new Bee.BeeBecomeAngryTargetGoal(this)); this.targetSelector.addGoal(3, new ResetUniversalAngerTargetGoal<>(this, true)); -@@ -701,16 +751,16 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { - this.hivePos = pos; +@@ -738,16 +788,16 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { + return state.is(BlockTags.BEE_ATTRACTIVE) ? ((Boolean) state.getValueOrElse(BlockStateProperties.WATERLOGGED, false) ? false : (state.is(Blocks.SUNFLOWER) ? state.getValue(DoublePlantBlock.HALF) == DoubleBlockHalf.UPPER : true)) : false; } - private class BeeLookControl extends LookControl { @@ -696,7 +696,7 @@ index 42276acfeadec6e7aa9a91d3f446f4fedb04829d..cf095cf77724c3bbf4c6f867449d27d4 } diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java -index 471d5727b964922d8e898be9e1d5c30f9d3bac97..014813371d8699dae7595464e0db85438dde6d8b 100644 +index 989b7be74eaeba7f40eac87c7ee7f252cb0c05c9..e9b6816c34a58b374f25e68d942c5ecc05a9ae78 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java @@ -100,12 +100,38 @@ public class Cat extends TamableAnimal implements VariantHolder(this, Rabbit.class, false, (TargetingConditions.Selector) null)); this.targetSelector.addGoal(1, new NonTameRandomTargetGoal<>(this, Turtle.class, false, Turtle.BABY_ON_LAND_SELECTOR)); } -@@ -376,6 +403,7 @@ public class Cat extends TamableAnimal implements VariantHolder { @@ -1145,10 +1145,10 @@ index e07b79ef172095c1800c88342b3ac8dc7703aea2..9d82fec6f5969816095dbd5a11325c79 float f1 = 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F; diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java -index eea02ea0d99425a60575f5fa729782494d579080..ba8d47111cf80c8e9a0b47793f125ca91f5f906e 100644 +index b04532aa04aec6ebbff74d64abb73189c2e12016..7518f24e564a68380e46bcefc6cc5b42c0e282d6 100644 --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java -@@ -65,6 +65,23 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder optional = this.getEffectsFromItemStack(itemstack); - - if (optional.isEmpty()) { -- return InteractionResult.PASS; -+ return tryRide(player, hand); // Purpur - } - - itemstack.consume(1, player); diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java index 0554ee499c452db6c1e6852f5022b1f197adb024..fe6a22459539dd794be653a9692bb1a5b0a5a512 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java @@ -1332,10 +1323,10 @@ index be753557d7ebd6f1e82b1bdb6d60ecc450f72eec..c87b2c8d8bda77027f980da51bdbd8aa } } diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java -index 8883894da73c7d5975a8826d23ee7f542db98b0b..e823715e1caa59505aae257b19d09e8717fb754e 100644 +index a2f0b79599799ad2aa85aff821d8ac76a8e650bd..2bc7e85712c3d81ec84c46b6223a0fa465f66922 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java +++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java -@@ -126,12 +126,68 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder type, Level world) { super(type, world); @@ -1405,7 +1396,7 @@ index 8883894da73c7d5975a8826d23ee7f542db98b0b..e823715e1caa59505aae257b19d09e87 @Nullable @Override public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, EntitySpawnReason spawnReason, @Nullable SpawnGroupData entityData) { -@@ -150,8 +206,10 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder { @@ -1636,7 +1627,7 @@ index 8cc6022507c97af62fb2b4455198bc35744137c9..b1a7e7d708aaed3d2dbfe51887f1f918 + // Purpur end float f = 0.3F; - if (this.horizontalCollision || this.moveControl.hasWanted() && this.moveControl.getWantedY() > this.getY() + 0.5D) { + if (this.moveControl.getSpeedModifier() <= 0.6D) { @@ -188,6 +243,12 @@ public class Rabbit extends Animal implements VariantHolder { @Override @@ -1667,7 +1658,7 @@ index 8cc6022507c97af62fb2b4455198bc35744137c9..b1a7e7d708aaed3d2dbfe51887f1f918 + public void vanillaTick() { // Purpur if (this.rabbit.onGround() && !this.rabbit.jumping && !((Rabbit.RabbitJumpControl) this.rabbit.jumpControl).wantJump()) { this.rabbit.setSpeedModifier(0.0D); - } else if (this.hasWanted()) { + } else if (this.hasWanted() || this.operation == MoveControl.Operation.JUMPING) { this.rabbit.setSpeedModifier(this.nextJumpSpeed); } @@ -1677,10 +1668,10 @@ index 8cc6022507c97af62fb2b4455198bc35744137c9..b1a7e7d708aaed3d2dbfe51887f1f918 @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/Salmon.java b/src/main/java/net/minecraft/world/entity/animal/Salmon.java -index 661997c39df777b6e332f0a5710e7f63a116a499..18e5d9787590dbb2c78087326652558565a6b1f4 100644 +index 500259e6f297276fb3d6943c2bf88c844d4ec7e4..93c43963edebee4bd75fa35000ae39ed62a5ffe7 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Salmon.java +++ b/src/main/java/net/minecraft/world/entity/animal/Salmon.java -@@ -32,6 +32,18 @@ public class Salmon extends AbstractSchoolingFish implements VariantHolder brainProvider() { return Brain.provider(Allay.MEMORY_TYPES, Allay.SENSOR_TYPES); -@@ -225,7 +260,7 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS +@@ -229,7 +264,7 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS ProfilerFiller gameprofilerfiller = Profiler.get(); gameprofilerfiller.push("allayBrain"); @@ -2194,7 +2185,7 @@ index f3c884ab9c09f04dd01cabf2ee9de3b5b620563d..3de689deceada1ccc06b9f6d2bb9ba91 public void addAdditionalSaveData(CompoundTag nbt) { super.addAdditionalSaveData(nbt); diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java -index 3461c7150fc44ee608169aa993f6ff44d4c978be..066006dc4fcdd03113242f3fa4bc8dc7b4add81a 100644 +index db91b8018591fe248efda417fcde7fd2071c4cb6..4d246f463acac6ec92915792ddcecb69fa79a8d9 100644 --- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java +++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java @@ -106,6 +106,8 @@ public class Frog extends Animal implements VariantHolder> { @@ -2572,7 +2563,7 @@ index 7d0197447990bb79b85a4f1529c3ac3eefb03c84..aff8a1c406ef20779b51fc6daee15ccb @Override protected SoundEvent getAmbientSound() { diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java -index 7b43fcf86984cc200f34c189e7a547996416f379..ff2a33a256644a88869af3d14cdf39ae0c486593 100644 +index 53a8d59681809da931d11ff76c202f950993a142..0bdc132146189364aa08051424a36897ecd43c6e 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java @@ -33,6 +33,28 @@ public class TraderLlama extends Llama { @@ -2682,7 +2673,7 @@ index 58f303ce22cba0840a577b09ec5c32b13717fa15..a8830f8434d7c9d1a15ddd403d1ea1db protected void defineSynchedData(SynchedEntityData.Builder builder) { } diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index 2df8bf818345246cc1f88b93e4a3b62e61772efb..3a3106bd26947e8851d672a1a5c45c58f5c7f179 100644 +index d5fc74dbc2c5f6b65fee46e7797b151144c8fd41..c19e00798452ec257f4881b86557a30b4d60bb80 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -108,6 +108,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -2836,7 +2827,7 @@ index 2df8bf818345246cc1f88b93e4a3b62e61772efb..3a3106bd26947e8851d672a1a5c45c58 this.dragonFight.updateDragon(this); } diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index d62c0d3c2bd5df5ee908bdcfdffaae9ce780810f..754a87c9c7595a4bedf784fbbb6d62b1d0bca756 100644 +index 2ce65ef77e4b28e1fd5ac7bd6a304cc115b8aca2..628e72a4b5df55509b481f33ee2b0942681064af 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java @@ -86,16 +86,30 @@ public class WitherBoss extends Monster implements RangedAttackMob { @@ -2871,7 +2862,7 @@ index d62c0d3c2bd5df5ee908bdcfdffaae9ce780810f..754a87c9c7595a4bedf784fbbb6d62b1 this.setHealth(this.getMaxHealth()); this.xpReward = 50; } -@@ -110,13 +124,114 @@ public class WitherBoss extends Monster implements RangedAttackMob { +@@ -109,13 +123,114 @@ public class WitherBoss extends Monster implements RangedAttackMob { return navigationflying; } @@ -2986,7 +2977,7 @@ index d62c0d3c2bd5df5ee908bdcfdffaae9ce780810f..754a87c9c7595a4bedf784fbbb6d62b1 this.targetSelector.addGoal(1, new HurtByTargetGoal(this, new Class[0])); this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, LivingEntity.class, 0, false, false, WitherBoss.LIVING_ENTITY_SELECTOR)); } -@@ -268,6 +383,15 @@ public class WitherBoss extends Monster implements RangedAttackMob { +@@ -267,6 +382,15 @@ public class WitherBoss extends Monster implements RangedAttackMob { @Override protected void customServerAiStep(ServerLevel world) { @@ -3002,7 +2993,7 @@ index d62c0d3c2bd5df5ee908bdcfdffaae9ce780810f..754a87c9c7595a4bedf784fbbb6d62b1 int i; if (this.getInvulnerableTicks() > 0) { -@@ -586,11 +710,11 @@ public class WitherBoss extends Monster implements RangedAttackMob { +@@ -585,11 +709,11 @@ public class WitherBoss extends Monster implements RangedAttackMob { } public int getAlternativeTarget(int headIndex) { @@ -3017,10 +3008,10 @@ index d62c0d3c2bd5df5ee908bdcfdffaae9ce780810f..754a87c9c7595a4bedf784fbbb6d62b1 public boolean isPowered() { diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java -index 32670a3cb4b54b66d655197e3fde834d2b2b6d34..cf8422f7b9234a16f4537dfd212c55ded92cb1aa 100644 +index 90b6ed81dcfd4021c7e9509da5e8725034fa07e5..617d06f7757ffbdd3eea14f7cbd881eaac075cc3 100644 --- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java -@@ -72,12 +72,14 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo +@@ -74,12 +74,14 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo @Override protected void registerGoals() { @@ -3286,10 +3277,10 @@ index 1906dfc22af208d6e801ad4a8f2f9e9702432691..7e5f447c23c817bf89508dc4049df2b6 } // Paper end - CreeperIgniteEvent diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java -index 2e73917ce9270de7483bb1d4e9bf312a31ec9b1e..1a0eace05794a6f3659d4cdffcc568fa99c0bf5f 100644 +index c6c86913c0a48501a9109a3838a3e56685d16d79..8c80a6fd45a2def82e8a28f0b6d648ffb6e06d5b 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java +++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java -@@ -72,6 +72,23 @@ public class Drowned extends Zombie implements RangedAttackMob { +@@ -75,6 +75,23 @@ public class Drowned extends Zombie implements RangedAttackMob { return Zombie.createAttributes().add(Attributes.STEP_HEIGHT, 1.0); } @@ -3313,7 +3304,7 @@ index 2e73917ce9270de7483bb1d4e9bf312a31ec9b1e..1a0eace05794a6f3659d4cdffcc568fa @Override protected void addBehaviourGoals() { this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0)); -@@ -396,7 +413,7 @@ public class Drowned extends Zombie implements RangedAttackMob { +@@ -398,7 +415,7 @@ public class Drowned extends Zombie implements RangedAttackMob { } } @@ -3322,7 +3313,7 @@ index 2e73917ce9270de7483bb1d4e9bf312a31ec9b1e..1a0eace05794a6f3659d4cdffcc568fa private final Drowned drowned; public DrownedMoveControl(Drowned drowned) { -@@ -405,7 +422,7 @@ public class Drowned extends Zombie implements RangedAttackMob { +@@ -407,7 +424,7 @@ public class Drowned extends Zombie implements RangedAttackMob { } @Override @@ -3331,7 +3322,7 @@ index 2e73917ce9270de7483bb1d4e9bf312a31ec9b1e..1a0eace05794a6f3659d4cdffcc568fa LivingEntity livingEntity = this.drowned.getTarget(); if (this.drowned.wantsToSwim() && this.drowned.isInWater()) { if (livingEntity != null && livingEntity.getY() > this.drowned.getY() || this.drowned.searchingForLand) { -@@ -425,7 +442,7 @@ public class Drowned extends Zombie implements RangedAttackMob { +@@ -427,7 +444,7 @@ public class Drowned extends Zombie implements RangedAttackMob { float h = (float)(Mth.atan2(f, d) * 180.0F / (float)Math.PI) - 90.0F; this.drowned.setYRot(this.rotlerp(this.drowned.getYRot(), h, 90.0F)); this.drowned.yBodyRot = this.drowned.getYRot(); @@ -3340,7 +3331,7 @@ index 2e73917ce9270de7483bb1d4e9bf312a31ec9b1e..1a0eace05794a6f3659d4cdffcc568fa float j = Mth.lerp(0.125F, this.drowned.getSpeed(), i); this.drowned.setSpeed(j); this.drowned.setDeltaMovement(this.drowned.getDeltaMovement().add((double)j * d * 0.005, (double)j * e * 0.1, (double)j * f * 0.005)); -@@ -434,7 +451,7 @@ public class Drowned extends Zombie implements RangedAttackMob { +@@ -436,7 +453,7 @@ public class Drowned extends Zombie implements RangedAttackMob { this.drowned.setDeltaMovement(this.drowned.getDeltaMovement().add(0.0, -0.008, 0.0)); } @@ -3373,10 +3364,10 @@ index 378694a38115c012978e1fea59d049d1ebd04110..4364ac531826524fc3c099b9900406b2 return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D); } diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -index c7153cfec847fca4ce5d9ec729628aed5bed11be..9b0004497fdd8980ec571536ced9de947b3505b0 100644 +index 4e4dab5bc202f6f421dcff98f0e36e8e70378b49..f0eca1f6a232792d3e2fec2e1a6ac3689f4e5421 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -@@ -95,9 +95,27 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -94,9 +94,27 @@ public class EnderMan extends Monster implements NeutralMob { this.setPathfindingMalus(PathType.WATER, -1.0F); } @@ -3404,7 +3395,7 @@ index c7153cfec847fca4ce5d9ec729628aed5bed11be..9b0004497fdd8980ec571536ced9de94 this.goalSelector.addGoal(1, new EnderMan.EndermanFreezeWhenLookedAt(this)); this.goalSelector.addGoal(2, new MeleeAttackGoal(this, 1.0D, false)); this.goalSelector.addGoal(7, new WaterAvoidingRandomStrollGoal(this, 1.0D, 0.0F)); -@@ -105,6 +123,7 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -104,6 +122,7 @@ public class EnderMan extends Monster implements NeutralMob { this.goalSelector.addGoal(8, new RandomLookAroundGoal(this)); this.goalSelector.addGoal(10, new EnderMan.EndermanLeaveBlockGoal(this)); this.goalSelector.addGoal(11, new EnderMan.EndermanTakeBlockGoal(this)); @@ -3412,7 +3403,7 @@ index c7153cfec847fca4ce5d9ec729628aed5bed11be..9b0004497fdd8980ec571536ced9de94 this.targetSelector.addGoal(1, new EnderMan.EndermanLookForPlayerGoal(this, this::isAngryAt)); this.targetSelector.addGoal(2, new HurtByTargetGoal(this, new Class[0])); this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Endermite.class, true, false)); -@@ -268,7 +287,7 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -267,7 +286,7 @@ public class EnderMan extends Monster implements NeutralMob { @Override protected void customServerAiStep(ServerLevel world) { @@ -3421,7 +3412,7 @@ index c7153cfec847fca4ce5d9ec729628aed5bed11be..9b0004497fdd8980ec571536ced9de94 float f = this.getLightLevelDependentMagicValue(); if (f > 0.5F && world.canSeeSky(this.blockPosition()) && this.random.nextFloat() * 30.0F < (f - 0.4F) * 2.0F && this.tryEscape(com.destroystokyo.paper.event.entity.EndermanEscapeEvent.Reason.RUNAWAY)) { // Paper - EndermanEscapeEvent -@@ -389,6 +408,7 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -388,6 +407,7 @@ public class EnderMan extends Monster implements NeutralMob { public boolean hurtServer(ServerLevel world, DamageSource source, float amount) { if (this.isInvulnerableTo(world, source)) { return false; @@ -3468,7 +3459,7 @@ index 534e98dd7291e09dee1d0f77cbf221b15708590f..e9c0082d1c77435ce61ac40e0a1fd0d0 this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true)); } diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java -index 6592baa53ecb4e364d1c1b6f64178fc86c59a982..d1bc1ee90e18639f94b6e6a0d9e680af7396ffd5 100644 +index 14f23c9a248760a57b3d6fe4f2824a4a456a6d37..917062f080f9bf0239c440647efe656cc1e5facf 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java @@ -53,10 +53,28 @@ public class Evoker extends SpellcasterIllager { @@ -3499,7 +3490,7 @@ index 6592baa53ecb4e364d1c1b6f64178fc86c59a982..d1bc1ee90e18639f94b6e6a0d9e680af + this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(1, new Evoker.EvokerCastingSpellGoal()); this.goalSelector.addGoal(2, new AvoidEntityGoal<>(this, Player.class, 8.0F, 0.6D, 1.0D)); - this.goalSelector.addGoal(3, new AvoidEntityGoal<>(this, Creaking.class, 8.0F, 1.0D, 1.2D)); + this.goalSelector.addGoal(3, new AvoidEntityGoal<>(this, Creaking.class, 8.0F, 0.6D, 1.0D)); @@ -66,6 +84,7 @@ public class Evoker extends SpellcasterIllager { this.goalSelector.addGoal(8, new RandomStrollGoal(this, 0.6D)); this.goalSelector.addGoal(9, new LookAtPlayerGoal(this, Player.class, 3.0F, 1.0F)); @@ -3827,11 +3818,11 @@ index ae710c3fffc7840a9ff2cbc5cdacef8a2e248253..e74dbe18c40c9e6e6d2d2136d5b3a41b @Override diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java -index 150fd890ac65097b5434fd88e8d2b24a89dca79a..3a30a4ed4c69dd786df4f8635c9cca17b85abed6 100644 +index 4ff75412452649ebf106ef591cb97dc7ac8175e7..cdf8b0773c3852d9ad810bba2f0a64c5d81c9d35 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java @@ -60,6 +60,64 @@ public class Phantom extends FlyingMob implements Enemy { - this.lookControl = new Phantom.PhantomLookControl(this, this); + this.lookControl = new Phantom.PhantomLookControl(this); } + // Purpur start @@ -3949,11 +3940,11 @@ index 150fd890ac65097b5434fd88e8d2b24a89dca79a..3a30a4ed4c69dd786df4f8635c9cca17 } } -- private class PhantomLookControl extends LookControl { -+ private class PhantomLookControl extends org.purpurmc.purpur.controller.LookControllerWASD { // Purpur +- private static class PhantomLookControl extends LookControl { ++ private static class PhantomLookControl extends org.purpurmc.purpur.controller.LookControllerWASD { // Purpur - public PhantomLookControl(final Phantom entity, final Mob phantom) { - super(phantom); + public PhantomLookControl(Mob entity) { + super(entity); } + // Purpur start @@ -3969,10 +3960,10 @@ index 150fd890ac65097b5434fd88e8d2b24a89dca79a..3a30a4ed4c69dd786df4f8635c9cca17 private class PhantomBodyRotationControl extends BodyRotationControl { diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java -index 3e8631c7bd1e7591051ca21c6ae7acd87d3c7529..2a58fda916c96307c3fafb5e6f445f28b327e761 100644 +index 91edf8767541982b8cd1be83c33a7b287ffb62fe..4e331b8dbd2457cff672bcf3a5fa13ec838a897d 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java -@@ -64,16 +64,35 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve +@@ -67,16 +67,35 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve super(type, world); } @@ -3999,7 +3990,7 @@ index 3e8631c7bd1e7591051ca21c6ae7acd87d3c7529..2a58fda916c96307c3fafb5e6f445f28 this.goalSelector.addGoal(0, new FloatGoal(this)); + this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(1, new AvoidEntityGoal<>(this, Creaking.class, 8.0F, 1.0D, 1.2D)); - this.goalSelector.addGoal(2, new Raider.HoldGroundAttackGoal(this, 10.0F)); // Paper - decomp fix + this.goalSelector.addGoal(2, new Raider.HoldGroundAttackGoal(this, 10.0F)); this.goalSelector.addGoal(3, new RangedCrossbowAttackGoal<>(this, 1.0D, 8.0F)); this.goalSelector.addGoal(8, new RandomStrollGoal(this, 0.6D)); this.goalSelector.addGoal(9, new LookAtPlayerGoal(this, Player.class, 15.0F, 1.0F)); @@ -4009,10 +4000,10 @@ index 3e8631c7bd1e7591051ca21c6ae7acd87d3c7529..2a58fda916c96307c3fafb5e6f445f28 this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true)); this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, false)); diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java -index c96fbfe448b3e7b722a8db0e1688276776abd94e..ee55507f40425dcdd047d325a74818e158bcc626 100644 +index cfc28828a5b81563a826ae6045553e7350f67986..3755ffd6479ddc384bae350042d3f728bab33146 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java -@@ -77,15 +77,40 @@ public class Ravager extends Raider { +@@ -75,14 +75,39 @@ public class Ravager extends Raider { this.setPathfindingMalus(PathType.LEAVES, 0.0F); } @@ -4044,7 +4035,6 @@ index c96fbfe448b3e7b722a8db0e1688276776abd94e..ee55507f40425dcdd047d325a74818e1 super.registerGoals(); this.goalSelector.addGoal(0, new FloatGoal(this)); + this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - this.goalSelector.addGoal(3, new AvoidEntityGoal<>(this, Creaking.class, 8.0F, 1.0D, 1.2D)); this.goalSelector.addGoal(4, new MeleeAttackGoal(this, 1.0D, true)); this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 0.4D)); this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); @@ -4053,7 +4043,7 @@ index c96fbfe448b3e7b722a8db0e1688276776abd94e..ee55507f40425dcdd047d325a74818e1 this.targetSelector.addGoal(2, (new HurtByTargetGoal(this, new Class[]{Raider.class})).setAlertOthers()); this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Player.class, true)); this.targetSelector.addGoal(4, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, true, (entityliving, worldserver) -> { -@@ -138,7 +163,7 @@ public class Ravager extends Raider { +@@ -135,7 +160,7 @@ public class Ravager extends Raider { @Override public void aiStep() { super.aiStep(); @@ -4063,7 +4053,7 @@ index c96fbfe448b3e7b722a8db0e1688276776abd94e..ee55507f40425dcdd047d325a74818e1 this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(0.0D); } else { diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -index 6e0f2f6573ed6be9b91de960d55c269417ad8907..06696e0a5b2c6667c181b42cc05f415ffa2846d4 100644 +index 64d99b8b576212f754bd316343562b1ba7f604fa..fcb7d4e15d240e63de2cf593860381fddfeb8beb 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java @@ -98,12 +98,31 @@ public class Shulker extends AbstractGolem implements VariantHolder type, ServerLevelAccessor world, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random ) { diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java -index 711b7eb8e9fdedbc87965828e573fe8d5c357d53..2214e3e473214a8e8340c4ded0e2c797adde0815 100644 +index 0a9246241985d2d97beb865b7163f1d2198f03b8..7d76e8120d664d537367c16cba83385425c23762 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Strider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java @@ -97,6 +97,23 @@ public class Strider extends Animal implements ItemSteerable, Saddleable { @@ -4602,10 +4592,10 @@ index a03fa8a3e648532a7ffaaf523ca87c13e8af4c0a..654baff60d6afe6b9bd9479d6ac35ff7 this.targetSelector.addGoal(2, this.healRaidersGoal); this.targetSelector.addGoal(3, this.attackPlayersGoal); diff --git a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java -index 37d3acda84a984bf4f1c44b3d27e2102839d3e8e..e38963f05e460b1a94c3c5d1ade99af78dcc8e6f 100644 +index 557b4e225688416132281e9b1759d46a9b775ff9..8a166bf5c90169f85d85c8a4715116850ab0a5b7 100644 --- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java -@@ -33,6 +33,23 @@ public class WitherSkeleton extends AbstractSkeleton { +@@ -36,6 +36,23 @@ public class WitherSkeleton extends AbstractSkeleton { this.setPathfindingMalus(PathType.LAVA, 8.0F); } @@ -4701,7 +4691,7 @@ index a12461907278cfbfa3b1c0aa74b9f07a31768b8a..5c443a961900e6eb0d7f410ca6b7da2c } diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java -index 18c19e4b675000aacb74344909fc104964231008..4a95f791ba167be700f982fefe6896be6a0567c2 100644 +index 30bce56a70f923b0ec77c8e3f29e435a71c71510..27e8442301e1d3a526e9f0d7e3e5aa40f385bc06 100644 --- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java @@ -85,6 +85,23 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { @@ -4757,11 +4747,11 @@ index 03e3cbe73119ca76417d4dd192e1560bdfc373ec..aa4160892b9ba2486806b5a54bc1465a public void setPersistentAngerTarget(@Nullable UUID angryAt) { this.persistentAngerTarget = angryAt; diff --git a/src/main/java/net/minecraft/world/entity/monster/creaking/Creaking.java b/src/main/java/net/minecraft/world/entity/monster/creaking/Creaking.java -index 7b5f9284972b3a6bd8125891b23f73438e875c08..f935d475fd1aca407bde420e9ba8002002ea55f6 100644 +index bdf2b22f3f57e99ad7bbc24d391c7773663fda41..2afb53a33b612faf6aac6fc8a27dc285cc558b4d 100644 --- a/src/main/java/net/minecraft/world/entity/monster/creaking/Creaking.java +++ b/src/main/java/net/minecraft/world/entity/monster/creaking/Creaking.java -@@ -63,6 +63,29 @@ public class Creaking extends Monster { - this.xpReward = 0; +@@ -106,6 +106,29 @@ public class Creaking extends Monster { + return this.getHomePos() != null; } + // Purpur start @@ -4790,24 +4780,44 @@ index 7b5f9284972b3a6bd8125891b23f73438e875c08..f935d475fd1aca407bde420e9ba80020 @Override protected BodyRotationControl createBodyControl() { return new Creaking.CreakingBodyRotationControl(this); -@@ -296,7 +319,7 @@ public class Creaking extends Monster { - } +@@ -575,31 +598,31 @@ public class Creaking extends Monster { + return 0.0F; } -- class CreakingLookControl extends LookControl { -+ class CreakingLookControl extends org.purpurmc.purpur.controller.LookControllerWASD { // Purpur +- private class CreakingLookControl extends LookControl { ++ private class CreakingLookControl extends org.purpurmc.purpur.controller.LookControllerWASD { // Purpur + public CreakingLookControl(final Creaking creaking) { super(creaking); } -@@ -309,7 +332,7 @@ public class Creaking extends Monster { + + @Override +- public void tick() { ++ public void vanillaTick() { // Purpur + if (Creaking.this.canMove()) { +- super.tick(); ++ super.vanillaTick(); // Purpur + } + } } -- class CreakingMoveControl extends MoveControl { -+ class CreakingMoveControl extends org.purpurmc.purpur.controller.MoveControllerWASD { // Purpur +- private class CreakingMoveControl extends MoveControl { ++ private class CreakingMoveControl extends org.purpurmc.purpur.controller.MoveControllerWASD { // Purpur + public CreakingMoveControl(final Creaking creaking) { super(creaking); } + + @Override +- public void tick() { ++ public void vanillaTick() { // Purpur + if (Creaking.this.canMove()) { +- super.tick(); ++ super.vanillaTick(); // Purpur + } + + } diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java index 9c20651b74157582e60793ceba8adde2c354f2a8..e978aab6055f9365885e2412afdc44cb6c729af2 100644 --- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java @@ -4846,10 +4856,10 @@ index 9c20651b74157582e60793ceba8adde2c354f2a8..e978aab6055f9365885e2412afdc44cb gameprofilerfiller.pop(); HoglinAi.updateActivity(this); diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -index d1870bf4c01c846a721480eb6611a67db9b98d02..9a3bc9c0ad1b0af3c8196a773dd93b069ca4e92c 100644 +index 74ab50723056fef2a96dcc9e2de0e58526738011..49af4cb966dc1b72088c46eee758386b24bfed31 100644 --- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -@@ -96,6 +96,23 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento +@@ -99,6 +99,23 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento this.xpReward = 5; } @@ -4873,7 +4883,7 @@ index d1870bf4c01c846a721480eb6611a67db9b98d02..9a3bc9c0ad1b0af3c8196a773dd93b06 @Override public void addAdditionalSaveData(CompoundTag nbt) { super.addAdditionalSaveData(nbt); -@@ -310,7 +327,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento +@@ -313,7 +330,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento ProfilerFiller gameprofilerfiller = Profiler.get(); gameprofilerfiller.push("piglinBrain"); @@ -4919,7 +4929,7 @@ index 24eaeb93284fe1a573026b85818a93a34fd9e1ec..d7578f7d4eba9d630feb589dd2761789 profilerFiller.pop(); PiglinBruteAi.updateActivity(this); diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java -index 457f9f6bf6a8e8f2e0b4246a0589e344756370d2..5a62fe9c4f0cee9e8b4a48564f76afec609335b1 100644 +index 4331ada8bed7ade7b53fd8ba000c1c1b34fa4331..cf231928bae5493b0684109c769d7da4dc36f872 100644 --- a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java +++ b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java @@ -127,8 +127,32 @@ public class Warden extends Monster implements VibrationSystem { @@ -4977,7 +4987,7 @@ index 457f9f6bf6a8e8f2e0b4246a0589e344756370d2..5a62fe9c4f0cee9e8b4a48564f76afec public static void applyDarknessAround(ServerLevel world, Vec3 pos, @Nullable Entity entity, int range) { diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index d9a60871bce4da7e6dc7c3c986498602c355ac04..80b6deade244d5ac2a6245fd2f3575af216a302c 100644 +index 3fd86782134a674f58ef37288c8963a4a92f685c..e6c6929901b15c5caa691bc41667a399c7453fa8 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -158,6 +158,28 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -5082,10 +5092,10 @@ index 1e77cce428d9e53142aaa2cf780b7f862d536eca..f39a69294317e90c8198efc0680f451a this.openTradingScreen(player, this.getDisplayName(), 1); } 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 61d412c4f1ebd55661cc3f0260468e3ac0efe0bb..21f85ffe12a6ac11a67c808e4878f9a46f01344e 100644 +index 5b8b85a295a08ae495f729c595b3a78778965342..e4d8fadd6ef32823f8581dab68567c5da9270566 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -208,6 +208,19 @@ public abstract class Player extends LivingEntity { +@@ -211,6 +211,19 @@ public abstract class Player extends LivingEntity { } // CraftBukkit end @@ -5142,7 +5152,7 @@ index 4c47b30867e30d84908abf93dbefc252bc8c3453..a1f25efb38eff32aaabe892ddbc9a604 protected void defineSynchedData(SynchedEntityData.Builder builder) { builder.define(WitherSkull.DATA_DANGEROUS, false); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index ddabaed899c755925ad8618b78c33dacaf2126ac..0d835621a7af64563c86c17358632aa26ac281cd 100644 +index b25b10c24a379097233e61bcc10add841b6a7115..12c65755f85acce10c2d5359539d64498138127b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1306,4 +1306,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { From ceacfddaf91e20cd6adc6e305b888555c74522b5 Mon Sep 17 00:00:00 2001 From: granny Date: Tue, 3 Dec 2024 20:55:24 -0800 Subject: [PATCH 06/19] 50 patches done --- ...-Configurable-entity-base-attributes.patch | 92 +++++++++---------- .../0011-Barrels-and-enderchests-6-rows.patch | 14 +-- .../0012-Llama-API.patch | 0 .../0013-AFK-API.patch | 24 ++--- .../0014-Bring-back-server-name.patch | 0 .../0015-Configurable-server-mod-name.patch | 4 +- .../0016-Lagging-threshold.patch | 4 +- ...017-PlayerSetSpawnerTypeWithEggEvent.patch | 11 +-- .../0018-Anvil-API.patch | 0 .../0019-Alternative-Keepalive-Handling.patch | 0 ...0020-Enchantment-convenience-methods.patch | 2 +- .../0021-Silk-touch-spawners.patch | 16 ++-- .../0022-Add-turtle-egg-block-options.patch | 0 ...-settings-suppressing-pointless-logs.patch | 0 .../0024-Disable-outdated-build-check.patch | 2 +- .../0025-Giants-AI-settings.patch | 0 .../0026-Zombie-horse-naturally-spawn.patch | 4 +- ...0027-Charged-creeper-naturally-spawn.patch | 0 ...bit-naturally-spawn-toast-and-killer.patch | 2 +- ...ver-showing-in-ping-before-server-fu.patch | 0 .../0030-Tulips-change-fox-type.patch | 2 +- .../0031-Breedable-Polar-Bears.patch | 0 .../0032-Chickens-can-retaliate.patch | 0 ...option-to-set-armorstand-step-height.patch | 4 +- .../0034-Cat-spawning-options.patch | 0 .../0035-Cows-eat-mushrooms.patch | 0 ...cow-rotation-when-shearing-mooshroom.patch | 4 +- .../0037-Pigs-give-saddle-back.patch | 0 ...38-Snowman-drop-and-put-back-pumpkin.patch | 0 ...39-Ender-dragon-always-drop-full-exp.patch | 2 +- ...moisten-from-water-directly-under-it.patch | 0 ...-Minecart-settings-and-WASD-controls.patch | 12 +-- ...able-loot-drops-on-death-by-cramming.patch | 6 +- ...ption-to-toggle-milk-curing-bad-omen.patch | 0 ...-Skip-events-if-there-s-no-listeners.patch | 0 .../0045-Add-permission-for-F3-N-debug.patch | 2 +- .../0046-Configurable-TPS-Catchup.patch | 4 +- ...low-loyalty-on-tridents-to-work-in-t.patch | 4 +- ...derman-and-creeper-griefing-controls.patch | 6 +- ...0049-Villagers-follow-emerald-blocks.patch | 8 +- .../0050-Allow-leashing-villagers.patch | 6 +- 41 files changed, 117 insertions(+), 118 deletions(-) rename patches/{unapplied-server => server}/0010-Configurable-entity-base-attributes.patch (97%) rename patches/{unapplied-server => server}/0011-Barrels-and-enderchests-6-rows.patch (96%) rename patches/{unapplied-server => server}/0012-Llama-API.patch (100%) rename patches/{unapplied-server => server}/0013-AFK-API.patch (95%) rename patches/{unapplied-server => server}/0014-Bring-back-server-name.patch (100%) rename patches/{unapplied-server => server}/0015-Configurable-server-mod-name.patch (91%) rename patches/{unapplied-server => server}/0016-Lagging-threshold.patch (94%) rename patches/{unapplied-server => server}/0017-PlayerSetSpawnerTypeWithEggEvent.patch (90%) rename patches/{unapplied-server => server}/0018-Anvil-API.patch (100%) rename patches/{unapplied-server => server}/0019-Alternative-Keepalive-Handling.patch (100%) rename patches/{unapplied-server => server}/0020-Enchantment-convenience-methods.patch (92%) rename patches/{unapplied-server => server}/0021-Silk-touch-spawners.patch (92%) rename patches/{unapplied-server => server}/0022-Add-turtle-egg-block-options.patch (100%) rename patches/{unapplied-server => server}/0023-Logger-settings-suppressing-pointless-logs.patch (100%) rename patches/{unapplied-server => server}/0024-Disable-outdated-build-check.patch (92%) rename patches/{unapplied-server => server}/0025-Giants-AI-settings.patch (100%) rename patches/{unapplied-server => server}/0026-Zombie-horse-naturally-spawn.patch (95%) rename patches/{unapplied-server => server}/0027-Charged-creeper-naturally-spawn.patch (100%) rename patches/{unapplied-server => server}/0028-Rabbit-naturally-spawn-toast-and-killer.patch (96%) rename patches/{unapplied-server => server}/0029-Fix-outdated-server-showing-in-ping-before-server-fu.patch (100%) rename patches/{unapplied-server => server}/0030-Tulips-change-fox-type.patch (97%) rename patches/{unapplied-server => server}/0031-Breedable-Polar-Bears.patch (100%) rename patches/{unapplied-server => server}/0032-Chickens-can-retaliate.patch (100%) rename patches/{unapplied-server => server}/0033-Add-option-to-set-armorstand-step-height.patch (94%) rename patches/{unapplied-server => server}/0034-Cat-spawning-options.patch (100%) rename patches/{unapplied-server => server}/0035-Cows-eat-mushrooms.patch (100%) rename patches/{unapplied-server => server}/0036-Fix-cow-rotation-when-shearing-mooshroom.patch (89%) rename patches/{unapplied-server => server}/0037-Pigs-give-saddle-back.patch (100%) rename patches/{unapplied-server => server}/0038-Snowman-drop-and-put-back-pumpkin.patch (100%) rename patches/{unapplied-server => server}/0039-Ender-dragon-always-drop-full-exp.patch (95%) rename patches/{unapplied-server => server}/0040-Allow-soil-to-moisten-from-water-directly-under-it.patch (100%) rename patches/{unapplied-server => server}/0041-Minecart-settings-and-WASD-controls.patch (94%) rename patches/{unapplied-server => server}/0042-Disable-loot-drops-on-death-by-cramming.patch (91%) rename patches/{unapplied-server => server}/0043-Option-to-toggle-milk-curing-bad-omen.patch (100%) rename patches/{unapplied-server => server}/0044-Skip-events-if-there-s-no-listeners.patch (100%) rename patches/{unapplied-server => server}/0045-Add-permission-for-F3-N-debug.patch (89%) rename patches/{unapplied-server => server}/0046-Configurable-TPS-Catchup.patch (92%) rename patches/{unapplied-server => server}/0047-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch (93%) rename patches/{unapplied-server => server}/0048-Add-enderman-and-creeper-griefing-controls.patch (95%) rename patches/{unapplied-server => server}/0049-Villagers-follow-emerald-blocks.patch (96%) rename patches/{unapplied-server => server}/0050-Allow-leashing-villagers.patch (95%) diff --git a/patches/unapplied-server/0010-Configurable-entity-base-attributes.patch b/patches/server/0010-Configurable-entity-base-attributes.patch similarity index 97% rename from patches/unapplied-server/0010-Configurable-entity-base-attributes.patch rename to patches/server/0010-Configurable-entity-base-attributes.patch index 5684aee490..25809fb7f7 100644 --- a/patches/unapplied-server/0010-Configurable-entity-base-attributes.patch +++ b/patches/server/0010-Configurable-entity-base-attributes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 0e084e2dcd0294274aa42b2a15fe58bee54ff393..163af180a12bf2847d6eab87e1fa77aef7cd3550 100644 +index d6b48ad015e118ec9599110f54f462ef3a5debc3..fddc4a5e5c4f9f3552b3254fec8254774b20f9f1 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -177,7 +177,7 @@ import org.bukkit.plugin.PluginManager; @@ -18,7 +18,7 @@ index 0e084e2dcd0294274aa42b2a15fe58bee54ff393..163af180a12bf2847d6eab87e1fa77ae private static final int CURRENT_LEVEL = 2; public boolean preserveMotion = true; // Paper - Fix Entity Teleportation and cancel velocity if teleported; keep initial motion on first setPositionRotation diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java -index 7c11b5e73d4f3c0be7c467f7522c2d974ab330f3..27aee968718af1ae78e2076ddc890114b2c9bb94 100644 +index 0e1c89923ac5dfd339e591ab19b0212ab57fde4a..5a49c44b8f18a1c16f18a4798c733f99ca4e47b7 100644 --- a/src/main/java/net/minecraft/world/entity/GlowSquid.java +++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java @@ -38,6 +38,11 @@ public class GlowSquid extends Squid { @@ -34,10 +34,10 @@ index 7c11b5e73d4f3c0be7c467f7522c2d974ab330f3..27aee968718af1ae78e2076ddc890114 protected ParticleOptions getInkParticle() { return ParticleTypes.GLOW_SQUID_INK; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 30ffb90dda6c95c6f3bc42d1b9747acef0f0f19a..1077eae6e0952d09410518a856ebece808aefef5 100644 +index 1135737e16849417df1cdcd5f3858ebb04160f06..a16c7069a2ac349a6de366229b77da9a7cec71c0 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -326,6 +326,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -324,6 +324,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.activeLocationDependentEnchantments = new EnumMap(EquipmentSlot.class); this.appliedScale = 1.0F; this.attributes = new AttributeMap(DefaultAttributes.getSupplier(type), this); // Purpur @@ -45,7 +45,7 @@ index 30ffb90dda6c95c6f3bc42d1b9747acef0f0f19a..1077eae6e0952d09410518a856ebece8 this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit // CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue()); -@@ -340,6 +341,8 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -338,6 +339,8 @@ public abstract class LivingEntity extends Entity implements Attackable { this.brain = this.makeBrain(new Dynamic(dynamicopsnbt, (Tag) dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), (Tag) dynamicopsnbt.emptyMap())))); } @@ -79,10 +79,10 @@ index 1348ec21d1ede67026897563e5c09406c9902043..656088e81781a5711521edec565f4e34 public void readAdditionalSaveData(CompoundTag nbt) { super.readAdditionalSaveData(nbt); diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index cf095cf77724c3bbf4c6f867449d27d4638e3c9c..d000acd339a1967d2c448ed8d66c4f1347f797fd 100644 +index 6ae52fa7c0cb3eda4f0d7f8c7dbbf97078dd2d59..5ad7612788c4ef5cc3a6cf5f706999aa6eed4718 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java -@@ -485,6 +485,12 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -489,6 +489,12 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { return tileentitybeehive != null && tileentitybeehive.isFireNearby(); } @@ -96,7 +96,7 @@ index cf095cf77724c3bbf4c6f867449d27d4638e3c9c..d000acd339a1967d2c448ed8d66c4f13 public int getRemainingPersistentAngerTime() { return (Integer) this.entityData.get(Bee.DATA_REMAINING_ANGER_TIME); diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java -index 014813371d8699dae7595464e0db85438dde6d8b..6c773af722ccb9e144d8858a013c120ecbbcfa4c 100644 +index e9b6816c34a58b374f25e68d942c5ecc05a9ae78..821499778e2b97e39f5d439c4a8c55a283610750 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java @@ -123,6 +123,12 @@ public class Cat extends TamableAnimal implements VariantHolder { @@ -214,10 +214,10 @@ index 9d82fec6f5969816095dbd5a11325c79002dbb61..500109364b4741fc310eb22c151754a1 @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java -index ba8d47111cf80c8e9a0b47793f125ca91f5f906e..0005cd7156e46ae790d629d7a985cdace1cc5577 100644 +index 7518f24e564a68380e46bcefc6cc5b42c0e282d6..575a3f5e2c003474a4a4d09db4ba495eddad3ce7 100644 --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java -@@ -82,6 +82,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder { @@ -361,10 +361,10 @@ index b1a7e7d708aaed3d2dbfe51887f1f9189c690ca4..6f3fdf72dd4e8d7399b205818c863e75 @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/Salmon.java b/src/main/java/net/minecraft/world/entity/animal/Salmon.java -index 18e5d9787590dbb2c78087326652558565a6b1f4..9ec3479b0db1f42493db127081e341fa5acc8e41 100644 +index 93c43963edebee4bd75fa35000ae39ed62a5ffe7..1295003dfceb585ef23705c17862efb3feff3868 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Salmon.java +++ b/src/main/java/net/minecraft/world/entity/animal/Salmon.java -@@ -44,6 +44,11 @@ public class Salmon extends AbstractSchoolingFish implements VariantHolder type, ServerLevelAccessor world, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random ) { diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java -index 2214e3e473214a8e8340c4ded0e2c797adde0815..6a45a62c578f033558c26935681f7de74dd98bac 100644 +index 7d76e8120d664d537367c16cba83385425c23762..1ea797619359cca106aafa0b1e14a5cb00af582a 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Strider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java @@ -114,6 +114,12 @@ public class Strider extends Animal implements ItemSteerable, Saddleable { @@ -1444,10 +1444,10 @@ index 654baff60d6afe6b9bd9479d6ac35ff773d1bf2e..790e36ae4bd1d6290e16ec579127f801 protected void registerGoals() { super.registerGoals(); diff --git a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java -index e38963f05e460b1a94c3c5d1ade99af78dcc8e6f..89ed0d044426aa0415f5cb4eb3f02342fcdddc7d 100644 +index 8a166bf5c90169f85d85c8a4715116850ab0a5b7..b0054b998e5494d64de538450daae432416c4d55 100644 --- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java -@@ -50,6 +50,12 @@ public class WitherSkeleton extends AbstractSkeleton { +@@ -53,6 +53,12 @@ public class WitherSkeleton extends AbstractSkeleton { } // Purpur end @@ -1504,7 +1504,7 @@ index 5c443a961900e6eb0d7f410ca6b7da2c5e53772f..978f610d31312f36093c0111ce623d11 @Override diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java -index 4a95f791ba167be700f982fefe6896be6a0567c2..a2447844a6a6e08d41bb5152d01da91c852665cf 100644 +index 27e8442301e1d3a526e9f0d7e3e5aa40f385bc06..09d44e4965e820b3cfae909040697d717e3c6643 100644 --- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java @@ -102,6 +102,16 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { @@ -1551,10 +1551,10 @@ index aa4160892b9ba2486806b5a54bc1465a4e273370..ba1ce7e0ed888bd47312e9d7da5426f5 @Nullable diff --git a/src/main/java/net/minecraft/world/entity/monster/creaking/Creaking.java b/src/main/java/net/minecraft/world/entity/monster/creaking/Creaking.java -index f935d475fd1aca407bde420e9ba8002002ea55f6..9bf251915c8a126ba480f44ea203f1a48e1ecde3 100644 +index 2afb53a33b612faf6aac6fc8a27dc285cc558b4d..cf4714b7a81819097f997d08c8c65ec8b1aef1e6 100644 --- a/src/main/java/net/minecraft/world/entity/monster/creaking/Creaking.java +++ b/src/main/java/net/minecraft/world/entity/monster/creaking/Creaking.java -@@ -208,6 +208,14 @@ public class Creaking extends Monster { +@@ -497,6 +497,14 @@ public class Creaking extends Monster { return this.isActive() ? null : SoundEvents.CREAKING_AMBIENT; } @@ -1587,10 +1587,10 @@ index e978aab6055f9365885e2412afdc44cb6c729af2..fc78df484bf747d4a00acd85a3f9f377 @VisibleForTesting diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -index 9a3bc9c0ad1b0af3c8196a773dd93b069ca4e92c..23673d9ce87acda718d12fce9af0ef5f27983f1a 100644 +index 49af4cb966dc1b72088c46eee758386b24bfed31..fd756b9f51d3ca857ea520288230afa5ab455b95 100644 --- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -@@ -113,6 +113,12 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento +@@ -116,6 +116,12 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento } // Purpur end @@ -1621,7 +1621,7 @@ index d7578f7d4eba9d630feb589dd2761789f8bcfde9..6459e588e6feb6d7bcf999e36b658bba return Monster.createMonsterAttributes() .add(Attributes.MAX_HEALTH, 50.0) diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 80b6deade244d5ac2a6245fd2f3575af216a302c..9505402564893b3046b86f95fa1e34a64ac98e8e 100644 +index e6c6929901b15c5caa691bc41667a399c7453fa8..24b456dfa4d5383639fb79a45ffceb5c31e8ae53 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -180,6 +180,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler diff --git a/patches/unapplied-server/0011-Barrels-and-enderchests-6-rows.patch b/patches/server/0011-Barrels-and-enderchests-6-rows.patch similarity index 96% rename from patches/unapplied-server/0011-Barrels-and-enderchests-6-rows.patch rename to patches/server/0011-Barrels-and-enderchests-6-rows.patch index adf8bb23d3..45c9618217 100644 --- a/patches/unapplied-server/0011-Barrels-and-enderchests-6-rows.patch +++ b/patches/server/0011-Barrels-and-enderchests-6-rows.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Barrels and enderchests 6 rows diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index cf8b7f93a1ba027c00d7f45809fa51f1ab55a5de..595302e0177824c1e3ad54e9a088337eeb2d872b 100644 +index b973a07d199bc856643b23c090eb56bd1aeb0104..88678fb527f170c81d5e2d4a28f65e398dab8939 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1116,6 +1116,27 @@ public abstract class PlayerList { @@ -37,10 +37,10 @@ index cf8b7f93a1ba027c00d7f45809fa51f1ab55a5de..595302e0177824c1e3ad54e9a088337e public boolean isWhiteListed(GameProfile profile) { 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 21f85ffe12a6ac11a67c808e4878f9a46f01344e..7e9f9b1f9e932116fc12db9cc2c0135144156eda 100644 +index e4d8fadd6ef32823f8581dab68567c5da9270566..e5c11504f85abdf49cea4ebd2aaaccdaff35a75c 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -197,6 +197,7 @@ public abstract class Player extends LivingEntity { +@@ -200,6 +200,7 @@ public abstract class Player extends LivingEntity { private int currentImpulseContextResetGraceTime; public boolean affectsSpawning = true; // Paper - Affects Spawning API public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage @@ -108,10 +108,10 @@ index a15d5ff872dbd77f3c3145e0328f3d02e431ff8c..1dcf36d502990d32fc4cd3ea69c3ea33 this.activeChest = blockEntity; } diff --git a/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java b/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java -index 2a207fb2e1c26b562de42240e11c856bd2a23458..6ad4aa371607ab92616626285a7e71757c76a3db 100644 +index 9b6ab617ab7f503cf0b2d4e29333c706ffe95f46..bfe79431dc5707677671df5c0787817c6e14a676 100644 --- a/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java +++ b/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java -@@ -89,7 +89,7 @@ public class EnderChestBlock extends AbstractChestBlock i +@@ -84,7 +84,7 @@ public class EnderChestBlock extends AbstractChestBlock i // Paper start - Fix InventoryOpenEvent cancellation - moved up; playerEnderChestContainer.setActiveChest(enderChestBlockEntity); // Needs to happen before ChestMenu.threeRows as it is required for opening animations if (world instanceof ServerLevel serverLevel && player.openMenu( @@ -120,7 +120,7 @@ index 2a207fb2e1c26b562de42240e11c856bd2a23458..6ad4aa371607ab92616626285a7e7175 ).isPresent()) { // Paper end - Fix InventoryOpenEvent cancellation - moved up; // Paper - Fix InventoryOpenEvent cancellation - moved up; -@@ -104,6 +104,35 @@ public class EnderChestBlock extends AbstractChestBlock i +@@ -99,6 +99,35 @@ public class EnderChestBlock extends AbstractChestBlock i } } @@ -240,7 +240,7 @@ index 6d3f9d5dab6c9a2860ae31cae24310aa2d62da7c..4f29c579f94efe59a8c78520d75676fc case DISPENSER: case DROPPER: diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java -index af1ae3dacb628da23f7d2988c6e76d3fb2d64103..4ee2d501f882279b48edb4b8bf0824587c276bf6 100644 +index c6159c70f7a37b9bffe268b91905ce848d1d2927..d02adaaa6fbdc1c0eff44cb4a1f1642f9575a821 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java @@ -84,7 +84,7 @@ public class CraftInventory implements Inventory { diff --git a/patches/unapplied-server/0012-Llama-API.patch b/patches/server/0012-Llama-API.patch similarity index 100% rename from patches/unapplied-server/0012-Llama-API.patch rename to patches/server/0012-Llama-API.patch diff --git a/patches/unapplied-server/0013-AFK-API.patch b/patches/server/0013-AFK-API.patch similarity index 95% rename from patches/unapplied-server/0013-AFK-API.patch rename to patches/server/0013-AFK-API.patch index 9d76d485df..4ded8d9860 100644 --- a/patches/unapplied-server/0013-AFK-API.patch +++ b/patches/server/0013-AFK-API.patch @@ -5,10 +5,10 @@ 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 749145ac5ee84b5ebbf4b1eba2df680c1c51bd88..d4ed1dd4e4c56cf40632b0857af82a944579da65 100644 +index cff9e1877d3abcf92417ff56f4db2d14ad188f97..ae4733c402662630a3892aecd01646d2e7613eed 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2641,8 +2641,68 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -2621,8 +2621,68 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple public void resetLastActionTime() { this.lastActionTime = Util.getMillis(); @@ -78,10 +78,10 @@ index 749145ac5ee84b5ebbf4b1eba2df680c1c51bd88..d4ed1dd4e4c56cf40632b0857af82a94 return this.stats; } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d2145df4e9b0dd16e7d394b8983c36fd073d3e31..f48b13b9b57e3a25e8afeb37f54e883fd1cadf4d 100644 +index e6c4b62daece71edae995a3c3fd21e18b5616bb1..236402e35eb04a2c12ed7ef28ce7c78d7be125cf 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -342,6 +342,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -344,6 +344,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl private boolean justTeleported = false; // CraftBukkit end @@ -102,7 +102,7 @@ index d2145df4e9b0dd16e7d394b8983c36fd073d3e31..f48b13b9b57e3a25e8afeb37f54e883f @Override public void tick() { if (this.ackBlockChangesUpTo > -1) { -@@ -398,6 +412,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -400,6 +414,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.recipeSpamPackets.tick(); // Paper - auto recipe limit this.dropSpamThrottler.tick(); if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) this.server.getPlayerIdleTimeout() * 1000L * 60L && !this.player.wonGame) { // Paper - Prevent AFK kick while watching end credits @@ -115,7 +115,7 @@ index d2145df4e9b0dd16e7d394b8983c36fd073d3e31..f48b13b9b57e3a25e8afeb37f54e883f this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854 this.disconnect((Component) Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause } -@@ -663,6 +683,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -656,6 +676,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -124,7 +124,7 @@ index d2145df4e9b0dd16e7d394b8983c36fd073d3e31..f48b13b9b57e3a25e8afeb37f54e883f Location oldTo = to.clone(); PlayerMoveEvent event = new PlayerMoveEvent(player, from, to); this.cserver.getPluginManager().callEvent(event); -@@ -1501,7 +1523,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1554,7 +1576,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl movedWrongly = true; if (event.getLogWarning()) // Paper end @@ -133,7 +133,7 @@ index d2145df4e9b0dd16e7d394b8983c36fd073d3e31..f48b13b9b57e3a25e8afeb37f54e883f } // Paper } -@@ -1569,6 +1591,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1622,6 +1644,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -192,10 +192,10 @@ index 52982c1e6a4da36392569c791853279f5f9ac31a..b3d4c61b1769b6fcc98b7af854f774d2 if (tester == null) { if (this.isCombat && (!target.canBeSeenAsEnemy() || world.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 7e9f9b1f9e932116fc12db9cc2c0135144156eda..d1b6e7cf8d110d9106ea99431cf9719ea3b102d5 100644 +index e5c11504f85abdf49cea4ebd2aaaccdaff35a75c..47d2f1af81d64054e30b353b66c0a6ad68583298 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -203,6 +203,13 @@ public abstract class Player extends LivingEntity { +@@ -206,6 +206,13 @@ public abstract class Player extends LivingEntity { public boolean fauxSleeping; public int oldLevel = -1; @@ -223,7 +223,7 @@ index 5d7a6e4b73f032db356e7ec369b150013e940ee6..6b2cda6d578a0983b2401ea206292754 if (range < 0.0 || d < range * range) { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3d2322233aff511bcc5c85b24230c2e08dc0bcd0..358f42585c865efbd814787879f919f70234e5c4 100644 +index d86bf4f995e8156f594fa90ebbab4165e52c0e09..350165d6616a1dfe931d0a35de0dbbd9222da216 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -583,10 +583,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -243,7 +243,7 @@ index 3d2322233aff511bcc5c85b24230c2e08dc0bcd0..358f42585c865efbd814787879f919f7 if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined for (ServerPlayer player : (List) this.server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { -@@ -3586,5 +3591,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3571,5 +3576,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean usesPurpurClient() { return getHandle().purpurClient; } diff --git a/patches/unapplied-server/0014-Bring-back-server-name.patch b/patches/server/0014-Bring-back-server-name.patch similarity index 100% rename from patches/unapplied-server/0014-Bring-back-server-name.patch rename to patches/server/0014-Bring-back-server-name.patch diff --git a/patches/unapplied-server/0015-Configurable-server-mod-name.patch b/patches/server/0015-Configurable-server-mod-name.patch similarity index 91% rename from patches/unapplied-server/0015-Configurable-server-mod-name.patch rename to patches/server/0015-Configurable-server-mod-name.patch index 5b65fb53d4..a08c17673a 100644 --- a/patches/unapplied-server/0015-Configurable-server-mod-name.patch +++ b/patches/server/0015-Configurable-server-mod-name.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ff4d04092aa6322788d55d3c0253cb7f6f3cd493..85e04c38cfda8c546f241a71deeb31efde22dc91 100644 +index 48e40ef7fba63d9354152a02440656ceb3a9b7a6..5a85471d26130c893ad619dbfc9b61c0ee1b938b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2019,7 +2019,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop implements FeatureElement, EntityTypeT @@ -25,7 +25,7 @@ index 7e7603680310976312050aaff5bdaa805901617f..23b921a79bd563fd0a1bf7afd55a8e52 public static ResourceLocation getKey(EntityType type) { return BuiltInRegistries.ENTITY_TYPE.getKey(type); } -@@ -605,6 +615,16 @@ public class EntityType implements FeatureElement, EntityTypeT +@@ -615,6 +625,16 @@ public class EntityType implements FeatureElement, EntityTypeT return this.category; } @@ -43,14 +43,13 @@ index 7e7603680310976312050aaff5bdaa805901617f..23b921a79bd563fd0a1bf7afd55a8e52 return this.descriptionId; } diff --git a/src/main/java/net/minecraft/world/item/SpawnEggItem.java b/src/main/java/net/minecraft/world/item/SpawnEggItem.java -index 9956ed42df55daa6d97fd6e3ab5368dad91cfaf0..e0e746d6c78421b40777125ba49f0a04809f5415 100644 +index cc7e9b87e919b4ef8cf77cd780c890fd9a9cfa50..a185d098175e504b7bb93d2cff03ca99eabc11eb 100644 --- a/src/main/java/net/minecraft/world/item/SpawnEggItem.java +++ b/src/main/java/net/minecraft/world/item/SpawnEggItem.java -@@ -73,6 +73,24 @@ public class SpawnEggItem extends Item { +@@ -68,6 +68,23 @@ public class SpawnEggItem extends Item { Spawner spawner = (Spawner) tileentity; - entitytypes = this.getType(itemstack); -+ + entitytypes = this.getType(world.registryAccess(), itemstack); + // Purpur start + if (spawner instanceof net.minecraft.world.level.block.entity.SpawnerBlockEntity) { + org.bukkit.block.Block bukkitBlock = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()); diff --git a/patches/unapplied-server/0018-Anvil-API.patch b/patches/server/0018-Anvil-API.patch similarity index 100% rename from patches/unapplied-server/0018-Anvil-API.patch rename to patches/server/0018-Anvil-API.patch diff --git a/patches/unapplied-server/0019-Alternative-Keepalive-Handling.patch b/patches/server/0019-Alternative-Keepalive-Handling.patch similarity index 100% rename from patches/unapplied-server/0019-Alternative-Keepalive-Handling.patch rename to patches/server/0019-Alternative-Keepalive-Handling.patch diff --git a/patches/unapplied-server/0020-Enchantment-convenience-methods.patch b/patches/server/0020-Enchantment-convenience-methods.patch similarity index 92% rename from patches/unapplied-server/0020-Enchantment-convenience-methods.patch rename to patches/server/0020-Enchantment-convenience-methods.patch index eac011c5cd..573bafb9b4 100644 --- a/patches/unapplied-server/0020-Enchantment-convenience-methods.patch +++ b/patches/server/0020-Enchantment-convenience-methods.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Enchantment convenience methods diff --git a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java -index f99b87cf70df7eaac13d46f4e0234b1e6483d342..d8fc10f9cd0ab2c26e64613006569a86ce201550 100644 +index 4dd074d04c9a535f6cf24420058fd68594c59edc..64c315372277300e58ce413210f47eed5b6e1d6c 100644 --- a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java +++ b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java @@ -578,4 +578,14 @@ public class EnchantmentHelper { diff --git a/patches/unapplied-server/0021-Silk-touch-spawners.patch b/patches/server/0021-Silk-touch-spawners.patch similarity index 92% rename from patches/unapplied-server/0021-Silk-touch-spawners.patch rename to patches/server/0021-Silk-touch-spawners.patch index 7f106b8fdb..d867ba5964 100644 --- a/patches/unapplied-server/0021-Silk-touch-spawners.patch +++ b/patches/server/0021-Silk-touch-spawners.patch @@ -5,22 +5,22 @@ Subject: [PATCH] Silk touch spawners diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java -index c816c935ecc74a811ffdffbe6ded73c06e92324a..b5b7f1db21a22f16f06ced775c8173f90e36a91c 100644 +index 4377fa2400c4320e0023ece230090a2a3b4b2ab6..ac5dc472337cd9613db5fc03f64763245129dfd9 100644 --- a/src/main/java/net/minecraft/world/item/BlockItem.java +++ b/src/main/java/net/minecraft/world/item/BlockItem.java -@@ -213,6 +213,7 @@ public class BlockItem extends Item { +@@ -223,6 +223,7 @@ public class BlockItem extends Item { + } - if (tileentity != null) { - if (!world.isClientSide && tileentity.onlyOpCanSetNbt() && (player == null || !(player.canUseGameMasterBlocks() || (player.getAbilities().instabuild && player.getBukkitEntity().hasPermission("minecraft.nbt.place"))))) { // Spigot - add permission -+ if (!(!world.isClientSide && world.purpurConfig.silkTouchEnabled && tileentity instanceof net.minecraft.world.level.block.entity.SpawnerBlockEntity && player.getBukkitEntity().hasPermission("purpur.drop.spawners"))) + if (tileentitytypes1.onlyOpCanSetNbt() && (player == null || !(player.canUseGameMasterBlocks() || (player.getAbilities().instabuild && player.getBukkitEntity().hasPermission("minecraft.nbt.place"))))) { // Spigot - add permission ++ if (!(world.purpurConfig.silkTouchEnabled && tileentity instanceof net.minecraft.world.level.block.entity.SpawnerBlockEntity && player.getBukkitEntity().hasPermission("purpur.drop.spawners"))) return false; } diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java -index 5a70111cd39af50981cfd440c021340da1de5eab..bf7d12594375d5b252db540a6d669a6e6aca7de8 100644 +index 6d16b4433e79eca0ff8008941f0b9b807b1db9db..41fbe61268c0a16078b5f846ab12bde172872ff7 100644 --- a/src/main/java/net/minecraft/world/item/Items.java +++ b/src/main/java/net/minecraft/world/item/Items.java -@@ -363,7 +363,7 @@ public class Items { +@@ -367,7 +367,7 @@ public class Items { public static final Item PURPUR_BLOCK = registerBlock(Blocks.PURPUR_BLOCK); public static final Item PURPUR_PILLAR = registerBlock(Blocks.PURPUR_PILLAR); public static final Item PURPUR_STAIRS = registerBlock(Blocks.PURPUR_STAIRS); @@ -30,7 +30,7 @@ index 5a70111cd39af50981cfd440c021340da1de5eab..bf7d12594375d5b252db540a6d669a6e public static final Item CHEST = registerBlock(Blocks.CHEST, settings -> settings.component(DataComponents.CONTAINER, ItemContainerContents.EMPTY)); public static final Item CRAFTING_TABLE = registerBlock(Blocks.CRAFTING_TABLE); diff --git a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java -index 4f190a40b8474aa06a92c8afcc06d0044120ff7b..80ee7a6f010cc838625674007a3ea908f2f9dadd 100644 +index d751b280a8bf2066d458f8eb548d7aa123fa69c9..fb88b5c1d9e764bf1211d601527133ea8e8268b3 100644 --- a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java @@ -42,6 +42,57 @@ public class SpawnerBlock extends BaseEntityBlock { diff --git a/patches/unapplied-server/0022-Add-turtle-egg-block-options.patch b/patches/server/0022-Add-turtle-egg-block-options.patch similarity index 100% rename from patches/unapplied-server/0022-Add-turtle-egg-block-options.patch rename to patches/server/0022-Add-turtle-egg-block-options.patch diff --git a/patches/unapplied-server/0023-Logger-settings-suppressing-pointless-logs.patch b/patches/server/0023-Logger-settings-suppressing-pointless-logs.patch similarity index 100% rename from patches/unapplied-server/0023-Logger-settings-suppressing-pointless-logs.patch rename to patches/server/0023-Logger-settings-suppressing-pointless-logs.patch diff --git a/patches/unapplied-server/0024-Disable-outdated-build-check.patch b/patches/server/0024-Disable-outdated-build-check.patch similarity index 92% rename from patches/unapplied-server/0024-Disable-outdated-build-check.patch rename to patches/server/0024-Disable-outdated-build-check.patch index 845632208f..e5bb0daee4 100644 --- a/patches/unapplied-server/0024-Disable-outdated-build-check.patch +++ b/patches/server/0024-Disable-outdated-build-check.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Disable outdated build check diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 9ad9239ae0804cc7a4a9ea4a05401b303ae9b372..5bce26e9671aab15ac4bac9a0d00b5184bef74ea 100644 +index ae274a56f7cb6200b3c556ed61254bb28146c771..628f7f784c830189c5718a20ce43a9352e400c33 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -267,7 +267,7 @@ public class Main { diff --git a/patches/unapplied-server/0025-Giants-AI-settings.patch b/patches/server/0025-Giants-AI-settings.patch similarity index 100% rename from patches/unapplied-server/0025-Giants-AI-settings.patch rename to patches/server/0025-Giants-AI-settings.patch diff --git a/patches/unapplied-server/0026-Zombie-horse-naturally-spawn.patch b/patches/server/0026-Zombie-horse-naturally-spawn.patch similarity index 95% rename from patches/unapplied-server/0026-Zombie-horse-naturally-spawn.patch rename to patches/server/0026-Zombie-horse-naturally-spawn.patch index 57847a5807..a4bd3c9505 100644 --- a/patches/unapplied-server/0026-Zombie-horse-naturally-spawn.patch +++ b/patches/server/0026-Zombie-horse-naturally-spawn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Zombie horse naturally spawn diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 1f49d018683fa19f498c8e68dab8a7ddde6cfad0..c05d0d836ced6db6b4a3e85fe0973dd7b1aaad81 100644 +index d571b4a56807bcc4206d54573604c01290cd3dd7..9451c6fa2307bc12b47a106f2d82508548b109a8 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -953,10 +953,18 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -954,10 +954,18 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01D) && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper - Configurable spawn chances for skeleton horses if (flag1) { diff --git a/patches/unapplied-server/0027-Charged-creeper-naturally-spawn.patch b/patches/server/0027-Charged-creeper-naturally-spawn.patch similarity index 100% rename from patches/unapplied-server/0027-Charged-creeper-naturally-spawn.patch rename to patches/server/0027-Charged-creeper-naturally-spawn.patch diff --git a/patches/unapplied-server/0028-Rabbit-naturally-spawn-toast-and-killer.patch b/patches/server/0028-Rabbit-naturally-spawn-toast-and-killer.patch similarity index 96% rename from patches/unapplied-server/0028-Rabbit-naturally-spawn-toast-and-killer.patch rename to patches/server/0028-Rabbit-naturally-spawn-toast-and-killer.patch index d5147a970e..0466b174eb 100644 --- a/patches/unapplied-server/0028-Rabbit-naturally-spawn-toast-and-killer.patch +++ b/patches/server/0028-Rabbit-naturally-spawn-toast-and-killer.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Rabbit naturally spawn toast and killer diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java -index 6f3fdf72dd4e8d7399b205818c863e754c898101..b0cdc25f6592d44a3ad3fdf4d461e95887105257 100644 +index bd513a21c9fb683f5768cebb69058bd00c808412..d851f25ca886f0e0939e397c4562b88db59f6885 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java +++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java @@ -469,10 +469,23 @@ public class Rabbit extends Animal implements VariantHolder { diff --git a/patches/unapplied-server/0029-Fix-outdated-server-showing-in-ping-before-server-fu.patch b/patches/server/0029-Fix-outdated-server-showing-in-ping-before-server-fu.patch similarity index 100% rename from patches/unapplied-server/0029-Fix-outdated-server-showing-in-ping-before-server-fu.patch rename to patches/server/0029-Fix-outdated-server-showing-in-ping-before-server-fu.patch diff --git a/patches/unapplied-server/0030-Tulips-change-fox-type.patch b/patches/server/0030-Tulips-change-fox-type.patch similarity index 97% rename from patches/unapplied-server/0030-Tulips-change-fox-type.patch rename to patches/server/0030-Tulips-change-fox-type.patch index 75b4b223b4..5c3aac7ed8 100644 --- a/patches/unapplied-server/0030-Tulips-change-fox-type.patch +++ b/patches/server/0030-Tulips-change-fox-type.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Tulips change fox type diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java -index bb98caa1e5ca711293e50ac82a5cad2fa5972db9..355965d88d5ef008111cc72f39e4f8d35741fdfd 100644 +index 23ee27f70ae4c02a9add7562f75c6dd5e12028b4..75fd5fb03aec52c76df55ab75ba5d446e094c9c8 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java @@ -384,6 +384,11 @@ public class Fox extends Animal implements VariantHolder { diff --git a/patches/unapplied-server/0031-Breedable-Polar-Bears.patch b/patches/server/0031-Breedable-Polar-Bears.patch similarity index 100% rename from patches/unapplied-server/0031-Breedable-Polar-Bears.patch rename to patches/server/0031-Breedable-Polar-Bears.patch diff --git a/patches/unapplied-server/0032-Chickens-can-retaliate.patch b/patches/server/0032-Chickens-can-retaliate.patch similarity index 100% rename from patches/unapplied-server/0032-Chickens-can-retaliate.patch rename to patches/server/0032-Chickens-can-retaliate.patch diff --git a/patches/unapplied-server/0033-Add-option-to-set-armorstand-step-height.patch b/patches/server/0033-Add-option-to-set-armorstand-step-height.patch similarity index 94% rename from patches/unapplied-server/0033-Add-option-to-set-armorstand-step-height.patch rename to patches/server/0033-Add-option-to-set-armorstand-step-height.patch index cf4d6f0b95..1638f62cbe 100644 --- a/patches/unapplied-server/0033-Add-option-to-set-armorstand-step-height.patch +++ b/patches/server/0033-Add-option-to-set-armorstand-step-height.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to set armorstand step height diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 163af180a12bf2847d6eab87e1fa77aef7cd3550..1057497963a615ae1aaafa5aac1f53471a00c763 100644 +index fddc4a5e5c4f9f3552b3254fec8254774b20f9f1..2e57077a184809e70481c9bba1891e01a9e203f7 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -300,6 +300,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -16,7 +16,7 @@ index 163af180a12bf2847d6eab87e1fa77aef7cd3550..1057497963a615ae1aaafa5aac1f5347 public boolean noPhysics; private boolean wasOnFire; public final RandomSource random; -@@ -5142,7 +5143,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -5172,7 +5173,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public float maxUpStep() { diff --git a/patches/unapplied-server/0034-Cat-spawning-options.patch b/patches/server/0034-Cat-spawning-options.patch similarity index 100% rename from patches/unapplied-server/0034-Cat-spawning-options.patch rename to patches/server/0034-Cat-spawning-options.patch diff --git a/patches/unapplied-server/0035-Cows-eat-mushrooms.patch b/patches/server/0035-Cows-eat-mushrooms.patch similarity index 100% rename from patches/unapplied-server/0035-Cows-eat-mushrooms.patch rename to patches/server/0035-Cows-eat-mushrooms.patch diff --git a/patches/unapplied-server/0036-Fix-cow-rotation-when-shearing-mooshroom.patch b/patches/server/0036-Fix-cow-rotation-when-shearing-mooshroom.patch similarity index 89% rename from patches/unapplied-server/0036-Fix-cow-rotation-when-shearing-mooshroom.patch rename to patches/server/0036-Fix-cow-rotation-when-shearing-mooshroom.patch index 9e7f3ea088..71c0dc850f 100644 --- a/patches/unapplied-server/0036-Fix-cow-rotation-when-shearing-mooshroom.patch +++ b/patches/server/0036-Fix-cow-rotation-when-shearing-mooshroom.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix cow rotation when shearing mooshroom diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java -index 0005cd7156e46ae790d629d7a985cdace1cc5577..c7039d7d5e38392fef8787f6e245a44842e2f2a3 100644 +index 575a3f5e2c003474a4a4d09db4ba495eddad3ce7..e5d8f23032244c77b4e2bcb8ead0b20a27acadf7 100644 --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java -@@ -217,6 +217,13 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder { world.sendParticles(ParticleTypes.EXPLOSION, this.getX(), this.getY(0.5D), this.getZ(), 1, 0.0D, 0.0D, 0.0D, 0.0D); diff --git a/patches/unapplied-server/0037-Pigs-give-saddle-back.patch b/patches/server/0037-Pigs-give-saddle-back.patch similarity index 100% rename from patches/unapplied-server/0037-Pigs-give-saddle-back.patch rename to patches/server/0037-Pigs-give-saddle-back.patch diff --git a/patches/unapplied-server/0038-Snowman-drop-and-put-back-pumpkin.patch b/patches/server/0038-Snowman-drop-and-put-back-pumpkin.patch similarity index 100% rename from patches/unapplied-server/0038-Snowman-drop-and-put-back-pumpkin.patch rename to patches/server/0038-Snowman-drop-and-put-back-pumpkin.patch diff --git a/patches/unapplied-server/0039-Ender-dragon-always-drop-full-exp.patch b/patches/server/0039-Ender-dragon-always-drop-full-exp.patch similarity index 95% rename from patches/unapplied-server/0039-Ender-dragon-always-drop-full-exp.patch rename to patches/server/0039-Ender-dragon-always-drop-full-exp.patch index 52df8536c4..f9542af74c 100644 --- a/patches/unapplied-server/0039-Ender-dragon-always-drop-full-exp.patch +++ b/patches/server/0039-Ender-dragon-always-drop-full-exp.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ender dragon always drop full exp diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index 0faae8faeba4300a44b8dadedc73c9f1a4022e4f..f356110850dd71d066243ec29853f547d94e4400 100644 +index d1134a81cc3ada28790e8fcd4489d64e9650dae3..8cfe0d5f09fa08c3606f29ce243d6ce5f84090a0 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -732,7 +732,7 @@ public class EnderDragon extends Mob implements Enemy { diff --git a/patches/unapplied-server/0040-Allow-soil-to-moisten-from-water-directly-under-it.patch b/patches/server/0040-Allow-soil-to-moisten-from-water-directly-under-it.patch similarity index 100% rename from patches/unapplied-server/0040-Allow-soil-to-moisten-from-water-directly-under-it.patch rename to patches/server/0040-Allow-soil-to-moisten-from-water-directly-under-it.patch diff --git a/patches/unapplied-server/0041-Minecart-settings-and-WASD-controls.patch b/patches/server/0041-Minecart-settings-and-WASD-controls.patch similarity index 94% rename from patches/unapplied-server/0041-Minecart-settings-and-WASD-controls.patch rename to patches/server/0041-Minecart-settings-and-WASD-controls.patch index 0294834e0e..6afc173bca 100644 --- a/patches/unapplied-server/0041-Minecart-settings-and-WASD-controls.patch +++ b/patches/server/0041-Minecart-settings-and-WASD-controls.patch @@ -5,17 +5,17 @@ Subject: [PATCH] Minecart settings and WASD controls diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index d4ed1dd4e4c56cf40632b0857af82a944579da65..a91a4602b5bc72dc0162fd2d60eebf3a05df4065 100644 +index ae4733c402662630a3892aecd01646d2e7613eed..d8a5d37e3b796392d6b0548371d4f0801d4d9bec 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1442,6 +1442,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1439,6 +1439,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple if (this.isInvulnerableTo(world, source)) { return false; } else { -+ if (source.is(DamageTypeTags.IS_FALL) && getRootVehicle() instanceof net.minecraft.world.entity.vehicle.AbstractMinecart && level().purpurConfig.minecartControllable && !level().purpurConfig.minecartControllableFallDamage) return false; // Purpur - boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && source.is(DamageTypeTags.IS_FALL); ++ if (source.is(net.minecraft.tags.DamageTypeTags.IS_FALL) && getRootVehicle() instanceof net.minecraft.world.entity.vehicle.AbstractMinecart && level().purpurConfig.minecartControllable && !level().purpurConfig.minecartControllableFallDamage) return false; // Purpur + Entity entity = source.getEntity(); - if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) { + if (entity instanceof net.minecraft.world.entity.player.Player) { diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java index cdc8606ffe5c75ee19d92e9f86f26b2a502d765e..b31940441596079aae1cd2a38b9d22be18358448 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java @@ -148,7 +148,7 @@ index 7153d9ed12276a0f2d8b8a17c79734aa25ed1fa5..dc49ea6454e04ae8ec68af12c4bf2ff0 } } diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -index 99fd67a78539133adf78d65e2c520ff3dd260301..6b987ee220d94b482d2aeb4ff6bf271853605dc1 100644 +index 8c0f332a1a0918f60226d969918ae7fe4fe74166..6376b8b3ff444f4cab93e2bb5d2becc77c33c118 100644 --- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java +++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java @@ -99,7 +99,7 @@ public abstract class BlockBehaviour implements FeatureElement { diff --git a/patches/unapplied-server/0042-Disable-loot-drops-on-death-by-cramming.patch b/patches/server/0042-Disable-loot-drops-on-death-by-cramming.patch similarity index 91% rename from patches/unapplied-server/0042-Disable-loot-drops-on-death-by-cramming.patch rename to patches/server/0042-Disable-loot-drops-on-death-by-cramming.patch index 6e1b88deea..83f2cf2bf1 100644 --- a/patches/unapplied-server/0042-Disable-loot-drops-on-death-by-cramming.patch +++ b/patches/server/0042-Disable-loot-drops-on-death-by-cramming.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Disable loot drops on death by cramming diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 1077eae6e0952d09410518a856ebece808aefef5..af017da528924bae0542dd0e59d23c3bf59aa7b3 100644 +index a16c7069a2ac349a6de366229b77da9a7cec71c0..9c31efc4d8c16c8f3c3e384ad247db28e82628d2 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1927,6 +1927,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1938,6 +1938,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.dropEquipment(world); // CraftBukkit - from below if (this.shouldDropLoot() && world.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { @@ -16,7 +16,7 @@ index 1077eae6e0952d09410518a856ebece808aefef5..af017da528924bae0542dd0e59d23c3b this.dropFromLootTable(world, damageSource, flag); // Paper start final boolean prev = this.clearEquipmentSlots; -@@ -1935,6 +1936,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1946,6 +1947,7 @@ public abstract class LivingEntity extends Entity implements Attackable { // Paper end this.dropCustomDeathLoot(world, damageSource, flag); this.clearEquipmentSlots = prev; // Paper diff --git a/patches/unapplied-server/0043-Option-to-toggle-milk-curing-bad-omen.patch b/patches/server/0043-Option-to-toggle-milk-curing-bad-omen.patch similarity index 100% rename from patches/unapplied-server/0043-Option-to-toggle-milk-curing-bad-omen.patch rename to patches/server/0043-Option-to-toggle-milk-curing-bad-omen.patch diff --git a/patches/unapplied-server/0044-Skip-events-if-there-s-no-listeners.patch b/patches/server/0044-Skip-events-if-there-s-no-listeners.patch similarity index 100% rename from patches/unapplied-server/0044-Skip-events-if-there-s-no-listeners.patch rename to patches/server/0044-Skip-events-if-there-s-no-listeners.patch diff --git a/patches/unapplied-server/0045-Add-permission-for-F3-N-debug.patch b/patches/server/0045-Add-permission-for-F3-N-debug.patch similarity index 89% rename from patches/unapplied-server/0045-Add-permission-for-F3-N-debug.patch rename to patches/server/0045-Add-permission-for-F3-N-debug.patch index fc63dee397..af892d9464 100644 --- a/patches/unapplied-server/0045-Add-permission-for-F3-N-debug.patch +++ b/patches/server/0045-Add-permission-for-F3-N-debug.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add permission for F3+N debug diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 595302e0177824c1e3ad54e9a088337eeb2d872b..73c83770e1acd6c57742405a04ffa7a733aea4f6 100644 +index 88678fb527f170c81d5e2d4a28f65e398dab8939..98992aae7c7724a25fc6f6aaee27b07dccbe2292 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1108,6 +1108,7 @@ public abstract class PlayerList { diff --git a/patches/unapplied-server/0046-Configurable-TPS-Catchup.patch b/patches/server/0046-Configurable-TPS-Catchup.patch similarity index 92% rename from patches/unapplied-server/0046-Configurable-TPS-Catchup.patch rename to patches/server/0046-Configurable-TPS-Catchup.patch index 6223b1cadc..b6a27acc8e 100644 --- a/patches/unapplied-server/0046-Configurable-TPS-Catchup.patch +++ b/patches/server/0046-Configurable-TPS-Catchup.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 85f5f8a30053cae087b223f0d80432c5318e67d6..f6ad220e3e228e978c8b635064e8d5bf65ac5a89 100644 +index 93aa1dce5c9bfdfff9372b0a84bfa2d5bf5c1169..d94f92730063454a1acaa037d5c5eed7a7a73490 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1345,7 +1345,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop Date: Tue, 3 Dec 2024 20:57:07 -0800 Subject: [PATCH 07/19] 100 patches done --- .../0051-Implement-infinite-liquids.patch | 0 ...52-Make-lava-flow-speed-configurable.patch | 0 ...Add-player-death-exp-control-options.patch | 4 +-- ...urable-void-damage-height-and-damage.patch | 4 +-- .../0055-Add-canSaveToDisk-to-Entity.patch | 2 +- ...ispenser-curse-of-binding-protection.patch | 6 ++-- ...n-for-boats-to-eject-players-on-land.patch | 2 +- ...g-mends-most-damages-equipment-first.patch | 10 +++---- ...0059-Add-5-second-tps-average-in-tps.patch | 6 ++-- .../0060-Implement-elytra-settings.patch | 16 +++++----- .../0061-Item-entity-immunities.patch | 2 +- .../0062-Add-ping-command.patch | 0 .../0063-Add-demo-command.patch | 0 .../0064-Add-credits-command.patch | 0 .../0065-Configurable-jockey-options.patch | 6 ++-- ...ed-to-crystals-and-crystals-shoot-ph.patch | 2 +- .../0067-Add-phantom-spawning-options.patch | 0 ...0068-Implement-bed-explosion-options.patch | 2 +- ...ent-respawn-anchor-explosion-options.patch | 0 ...-Add-allow-water-in-end-world-option.patch | 4 +-- .../0071-Allow-color-codes-in-books.patch | 12 ++++---- .../0072-Entity-lifespan.patch | 26 ++++++++-------- ...leport-to-spawn-if-outside-world-bor.patch | 8 ++--- .../0074-Squid-EAR-immunity.patch | 0 .../0075-Phantoms-burn-in-light.patch | 2 +- .../0076-Configurable-villager-breeding.patch | 2 +- .../0077-Redstone-deactivates-spawners.patch | 0 .../0078-Totems-work-in-inventory.patch | 4 +-- ...9-Add-vindicator-johnny-spawn-chance.patch | 0 .../0080-Dispensers-place-anvils-option.patch | 2 +- .../0081-Allow-anvil-colors.patch | 0 ...o-disable-dolphin-treasure-searching.patch | 0 .../0083-Short-enderman-height.patch | 6 ++-- ...Stop-squids-floating-on-top-of-water.patch | 6 ++-- ...ing-obsidian-valid-for-portal-frames.patch | 0 .../0086-Entities-can-use-portals.patch | 6 ++-- ...stomizable-wither-health-and-healing.patch | 4 +-- ...ggling-special-MobSpawners-per-world.patch | 4 +-- .../0089-Raid-cooldown-setting.patch | 0 ...sable-zombie-aggressiveness-towards-.patch | 6 ++-- ...e-to-recipe-s-ExactChoice-ingredient.patch | 14 ++++----- .../0092-Flying-squids-Oh-my.patch | 4 +-- .../0093-Infinity-bow-settings.patch | 0 .../0094-Configurable-daylight-cycle.patch | 14 ++++----- ...95-Furnace-uses-lava-from-underneath.patch | 6 ++-- ...ows-should-not-reset-despawn-counter.patch | 4 +-- ...re-add-farmland-mechanics-from-Alpha.patch | 0 ...justable-breeding-cooldown-to-config.patch | 6 ++-- ...e-entity-breeding-times-configurable.patch | 30 +++++++++---------- ...mes-from-item-forms-of-entities-to-e.patch | 2 +- 50 files changed, 117 insertions(+), 117 deletions(-) rename patches/{unapplied-server => server}/0051-Implement-infinite-liquids.patch (100%) rename patches/{unapplied-server => server}/0052-Make-lava-flow-speed-configurable.patch (100%) rename patches/{unapplied-server => server}/0053-Add-player-death-exp-control-options.patch (95%) rename patches/{unapplied-server => server}/0054-Configurable-void-damage-height-and-damage.patch (98%) rename patches/{unapplied-server => server}/0055-Add-canSaveToDisk-to-Entity.patch (97%) rename patches/{unapplied-server => server}/0056-Dispenser-curse-of-binding-protection.patch (94%) rename patches/{unapplied-server => server}/0057-Add-option-for-boats-to-eject-players-on-land.patch (95%) rename patches/{unapplied-server => server}/0058-Mending-mends-most-damages-equipment-first.patch (93%) rename patches/{unapplied-server => server}/0059-Add-5-second-tps-average-in-tps.patch (96%) rename patches/{unapplied-server => server}/0060-Implement-elytra-settings.patch (92%) rename patches/{unapplied-server => server}/0061-Item-entity-immunities.patch (98%) rename patches/{unapplied-server => server}/0062-Add-ping-command.patch (100%) rename patches/{unapplied-server => server}/0063-Add-demo-command.patch (100%) rename patches/{unapplied-server => server}/0064-Add-credits-command.patch (100%) rename patches/{unapplied-server => server}/0065-Configurable-jockey-options.patch (98%) rename patches/{unapplied-server => server}/0066-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch (99%) rename patches/{unapplied-server => server}/0067-Add-phantom-spawning-options.patch (100%) rename patches/{unapplied-server => server}/0068-Implement-bed-explosion-options.patch (97%) rename patches/{unapplied-server => server}/0069-Implement-respawn-anchor-explosion-options.patch (100%) rename patches/{unapplied-server => server}/0070-Add-allow-water-in-end-world-option.patch (96%) rename patches/{unapplied-server => server}/0071-Allow-color-codes-in-books.patch (92%) rename patches/{unapplied-server => server}/0072-Entity-lifespan.patch (80%) rename patches/{unapplied-server => server}/0073-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch (92%) rename patches/{unapplied-server => server}/0074-Squid-EAR-immunity.patch (100%) rename patches/{unapplied-server => server}/0075-Phantoms-burn-in-light.patch (98%) rename patches/{unapplied-server => server}/0076-Configurable-villager-breeding.patch (95%) rename patches/{unapplied-server => server}/0077-Redstone-deactivates-spawners.patch (100%) rename patches/{unapplied-server => server}/0078-Totems-work-in-inventory.patch (94%) rename patches/{unapplied-server => server}/0079-Add-vindicator-johnny-spawn-chance.patch (100%) rename patches/{unapplied-server => server}/0080-Dispensers-place-anvils-option.patch (96%) rename patches/{unapplied-server => server}/0081-Allow-anvil-colors.patch (100%) rename patches/{unapplied-server => server}/0082-Add-option-to-disable-dolphin-treasure-searching.patch (100%) rename patches/{unapplied-server => server}/0083-Short-enderman-height.patch (91%) rename patches/{unapplied-server => server}/0084-Stop-squids-floating-on-top-of-water.patch (93%) rename patches/{unapplied-server => server}/0085-Crying-obsidian-valid-for-portal-frames.patch (100%) rename patches/{unapplied-server => server}/0086-Entities-can-use-portals.patch (92%) rename patches/{unapplied-server => server}/0087-Customizable-wither-health-and-healing.patch (94%) rename patches/{unapplied-server => server}/0088-Allow-toggling-special-MobSpawners-per-world.patch (97%) rename patches/{unapplied-server => server}/0089-Raid-cooldown-setting.patch (100%) rename patches/{unapplied-server => server}/0090-Add-option-to-disable-zombie-aggressiveness-towards-.patch (96%) rename patches/{unapplied-server => server}/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch (80%) rename patches/{unapplied-server => server}/0092-Flying-squids-Oh-my.patch (96%) rename patches/{unapplied-server => server}/0093-Infinity-bow-settings.patch (100%) rename patches/{unapplied-server => server}/0094-Configurable-daylight-cycle.patch (89%) rename patches/{unapplied-server => server}/0095-Furnace-uses-lava-from-underneath.patch (93%) rename patches/{unapplied-server => server}/0096-Arrows-should-not-reset-despawn-counter.patch (92%) rename patches/{unapplied-server => server}/0097-Ability-to-re-add-farmland-mechanics-from-Alpha.patch (100%) rename patches/{unapplied-server => server}/0098-Add-adjustable-breeding-cooldown-to-config.patch (97%) rename patches/{unapplied-server => server}/0099-Make-entity-breeding-times-configurable.patch (97%) rename patches/{unapplied-server => server}/0100-Apply-display-names-from-item-forms-of-entities-to-e.patch (99%) diff --git a/patches/unapplied-server/0051-Implement-infinite-liquids.patch b/patches/server/0051-Implement-infinite-liquids.patch similarity index 100% rename from patches/unapplied-server/0051-Implement-infinite-liquids.patch rename to patches/server/0051-Implement-infinite-liquids.patch diff --git a/patches/unapplied-server/0052-Make-lava-flow-speed-configurable.patch b/patches/server/0052-Make-lava-flow-speed-configurable.patch similarity index 100% rename from patches/unapplied-server/0052-Make-lava-flow-speed-configurable.patch rename to patches/server/0052-Make-lava-flow-speed-configurable.patch diff --git a/patches/unapplied-server/0053-Add-player-death-exp-control-options.patch b/patches/server/0053-Add-player-death-exp-control-options.patch similarity index 95% rename from patches/unapplied-server/0053-Add-player-death-exp-control-options.patch rename to patches/server/0053-Add-player-death-exp-control-options.patch index be903d303a..7d091a916d 100644 --- a/patches/unapplied-server/0053-Add-player-death-exp-control-options.patch +++ b/patches/server/0053-Add-player-death-exp-control-options.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add player death exp control options 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 d1b6e7cf8d110d9106ea99431cf9719ea3b102d5..f4823112f2daf2aa75e1f4520fb91077c9c94e09 100644 +index 47d2f1af81d64054e30b353b66c0a6ad68583298..108eb7557877093e866b5996abdb3fbf4542e62b 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1921,7 +1921,23 @@ public abstract class Player extends LivingEntity { +@@ -1924,7 +1924,23 @@ public abstract class Player extends LivingEntity { @Override protected int getBaseExperienceReward(ServerLevel world) { diff --git a/patches/unapplied-server/0054-Configurable-void-damage-height-and-damage.patch b/patches/server/0054-Configurable-void-damage-height-and-damage.patch similarity index 98% rename from patches/unapplied-server/0054-Configurable-void-damage-height-and-damage.patch rename to patches/server/0054-Configurable-void-damage-height-and-damage.patch index 52928fce46..28d7328cb7 100644 --- a/patches/unapplied-server/0054-Configurable-void-damage-height-and-damage.patch +++ b/patches/server/0054-Configurable-void-damage-height-and-damage.patch @@ -41,10 +41,10 @@ index b1c917d65076a3805e5b78cb946753f0c101e214..82210667376fd466d5d4cdcb56b62f61 public class FrostedIce extends ConfigurationPart { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f6ad220e3e228e978c8b635064e8d5bf65ac5a89..67db7d9f57fd4407412b9cfbc8b0ab06f15fff12 100644 +index d94f92730063454a1acaa037d5c5eed7a7a73490..f8fb46648b9b4ec11632ff5b8de5902c259ccaf2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1270,7 +1270,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; } @@ -49,7 +49,7 @@ index 33e7d2884195677c4d6340d8b84c1dd85c636ec1..239bd6e3d756dc4ecab6ca639fa84ccb return Mth.clamp((Integer) this.getOrDefault(DataComponents.DAMAGE, 0), 0, this.getMaxDamage()); } diff --git a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java -index d8fc10f9cd0ab2c26e64613006569a86ce201550..73241113e50dc8be89ef8850d49d95ec31fb194f 100644 +index 64c315372277300e58ce413210f47eed5b6e1d6c..2c1799e8c9009a6ab24c24e7363d5a87e41f0c35 100644 --- a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java +++ b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java @@ -6,6 +6,7 @@ import it.unimi.dsi.fastutil.objects.Object2IntMap.Entry; diff --git a/patches/unapplied-server/0059-Add-5-second-tps-average-in-tps.patch b/patches/server/0059-Add-5-second-tps-average-in-tps.patch similarity index 96% rename from patches/unapplied-server/0059-Add-5-second-tps-average-in-tps.patch rename to patches/server/0059-Add-5-second-tps-average-in-tps.patch index d244c55c45..51316158cf 100644 --- a/patches/unapplied-server/0059-Add-5-second-tps-average-in-tps.patch +++ b/patches/server/0059-Add-5-second-tps-average-in-tps.patch @@ -26,7 +26,7 @@ index 12b327eea95e0de9e9c39b7d039badee8ec46508..849ecc5af70901f1e40cb6c419f33f1c } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 67db7d9f57fd4407412b9cfbc8b0ab06f15fff12..e1858bc2b043f0edf5d3f1393340f40aa7bcb36a 100644 +index f8fb46648b9b4ec11632ff5b8de5902c259ccaf2..0cce9061c49a3556d886381fac3bfc78390b7ec4 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -324,7 +324,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop pages, int slotId) { @@ -45,7 +45,7 @@ index f48b13b9b57e3a25e8afeb37f54e883fd1cadf4d..99a023e87428ee200fcb3b663c2ab6a1 itemstack.set(DataComponents.WRITABLE_BOOK_CONTENT, new WritableBookContent(list1)); this.player.getInventory().setItem(slotId, CraftEventFactory.handleEditBookEvent(this.player, slotId, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent) -@@ -1274,6 +1283,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1327,6 +1336,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } private void signBook(FilteredText title, List pages, int slotId) { @@ -57,7 +57,7 @@ index f48b13b9b57e3a25e8afeb37f54e883fd1cadf4d..99a023e87428ee200fcb3b663c2ab6a1 ItemStack itemstack = this.player.getInventory().getItem(slotId); if (itemstack.has(DataComponents.WRITABLE_BOOK_CONTENT)) { -@@ -1281,10 +1295,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1334,10 +1348,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl itemstack1.remove(DataComponents.WRITABLE_BOOK_CONTENT); List> list1 = (List>) (List) pages.stream().map((filteredtext1) -> { // CraftBukkit - decompile error @@ -70,7 +70,7 @@ index f48b13b9b57e3a25e8afeb37f54e883fd1cadf4d..99a023e87428ee200fcb3b663c2ab6a1 CraftEventFactory.handleEditBookEvent(this.player, slotId, itemstack, itemstack1); // CraftBukkit this.player.getInventory().setItem(slotId, itemstack); // CraftBukkit - event factory updates the hand book } -@@ -1294,6 +1308,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1347,6 +1361,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl return this.player.isTextFilteringEnabled() ? Filterable.passThrough(message.filteredOrEmpty()) : Filterable.from(message); } diff --git a/patches/unapplied-server/0072-Entity-lifespan.patch b/patches/server/0072-Entity-lifespan.patch similarity index 80% rename from patches/unapplied-server/0072-Entity-lifespan.patch rename to patches/server/0072-Entity-lifespan.patch index 2d401d8321..668ceeb3d9 100644 --- a/patches/unapplied-server/0072-Entity-lifespan.patch +++ b/patches/server/0072-Entity-lifespan.patch @@ -5,22 +5,22 @@ Subject: [PATCH] Entity lifespan diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 99a023e87428ee200fcb3b663c2ab6a1077b3bf0..f11dc92d796d3044adc8cbd97edf00e047ba72f1 100644 +index fd37bfc932fa7102189bbf1c00bd14612f3116e9..c1446e31b608f4496b15cb424581e4ce2efecd78 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2857,6 +2857,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - AABB axisalignedbb = entity.getBoundingBox(); +@@ -2922,6 +2922,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl + AABB axisalignedbb = entity.getBoundingBox(); if (this.player.canInteractWithEntity(axisalignedbb, io.papermc.paper.configuration.GlobalConfiguration.get().misc.clientInteractionLeniencyDistance.or(3.0D))) { // Paper - configurable lenience value for interact range + if (entity instanceof Mob mob) mob.ticksSinceLastInteraction = 0; // Purpur - packet.dispatch(new ServerboundInteractPacket.Handler() { - private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit - ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand); + packet.dispatch(new ServerboundInteractPacket.Handler() { + private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit + ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 6502676a94ebb663b6126a21896cda456066d55b..e99b72b89abdded3e988bd1a92d36055fb1a84dc 100644 +index d2baf9408fd7cc19025d2d6a891acc94e6ec23a7..d845d4a0a2ce99b90d4004146be8db90b9ea64c3 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -148,6 +148,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -144,6 +144,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab private BlockPos restrictCenter; private float restrictRadius; @@ -28,7 +28,7 @@ index 6502676a94ebb663b6126a21896cda456066d55b..e99b72b89abdded3e988bd1a92d36055 public boolean aware = true; // CraftBukkit protected Mob(EntityType type, Level world) { -@@ -336,6 +337,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -332,6 +333,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab entityliving = null; } } @@ -36,7 +36,7 @@ index 6502676a94ebb663b6126a21896cda456066d55b..e99b72b89abdded3e988bd1a92d36055 this.target = entityliving; return true; // CraftBukkit end -@@ -380,8 +382,28 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -376,8 +378,28 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab } gameprofilerfiller.pop(); @@ -65,7 +65,7 @@ index 6502676a94ebb663b6126a21896cda456066d55b..e99b72b89abdded3e988bd1a92d36055 @Override protected void playHurtSound(DamageSource damageSource) { this.resetAmbientSoundTime(); -@@ -549,6 +571,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -546,6 +568,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab } nbt.putBoolean("Bukkit.Aware", this.aware); // CraftBukkit @@ -73,7 +73,7 @@ index 6502676a94ebb663b6126a21896cda456066d55b..e99b72b89abdded3e988bd1a92d36055 } @Override -@@ -626,6 +649,11 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -634,6 +657,11 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab this.aware = nbt.getBoolean("Bukkit.Aware"); } // CraftBukkit end @@ -85,7 +85,7 @@ index 6502676a94ebb663b6126a21896cda456066d55b..e99b72b89abdded3e988bd1a92d36055 } @Override -@@ -1741,6 +1769,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -1742,6 +1770,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab this.playAttackSound(); } diff --git a/patches/unapplied-server/0073-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0073-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch similarity index 92% rename from patches/unapplied-server/0073-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch rename to patches/server/0073-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index 1e5f575d29..788c8b120e 100644 --- a/patches/unapplied-server/0073-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0073-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a91a4602b5bc72dc0162fd2d60eebf3a05df4065..cbe608df708d5530813230cddd78568c1a63b448 100644 +index d8a5d37e3b796392d6b0548371d4f0801d4d9bec..6f769f90038042ac11cdd59f36d7f3fd85cfd490 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -3410,4 +3410,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -3390,4 +3390,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple return (CraftPlayer) super.getBukkitEntity(); } // CraftBukkit end @@ -36,10 +36,10 @@ index a91a4602b5bc72dc0162fd2d60eebf3a05df4065..cbe608df708d5530813230cddd78568c + // Purpur end } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index c1a3103aa692bb5dfb4e162159c77a03d9c9a0e8..2007dd29cc2c1ee4cf88db27e0082c3548ebf344 100644 +index 28c8ff8ffe5f4dd7a4f3f6f2397dd33b29309c9f..bf38f466033928611d58ffd410191cf69814c171 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -479,6 +479,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -477,6 +477,7 @@ public abstract class LivingEntity extends Entity implements Attackable { if (d1 < 0.0D) { d0 = this.level().getWorldBorder().getDamagePerBlock(); if (d0 > 0.0D) { diff --git a/patches/unapplied-server/0074-Squid-EAR-immunity.patch b/patches/server/0074-Squid-EAR-immunity.patch similarity index 100% rename from patches/unapplied-server/0074-Squid-EAR-immunity.patch rename to patches/server/0074-Squid-EAR-immunity.patch diff --git a/patches/unapplied-server/0075-Phantoms-burn-in-light.patch b/patches/server/0075-Phantoms-burn-in-light.patch similarity index 98% rename from patches/unapplied-server/0075-Phantoms-burn-in-light.patch rename to patches/server/0075-Phantoms-burn-in-light.patch index 347485d361..f902c19885 100644 --- a/patches/unapplied-server/0075-Phantoms-burn-in-light.patch +++ b/patches/server/0075-Phantoms-burn-in-light.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Phantoms burn in light diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java -index bd1c23d849269df504c94da9d0ca0a6846b22c41..987b860f85a1be3159233fb3291773792d291348 100644 +index fbac9260a510ad899aebd5a0196d122505dcc5da..604c4b971279699dd3fbef3b9c5f4b92c01b46e9 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java @@ -49,6 +49,7 @@ public class Phantom extends FlyingMob implements Enemy { diff --git a/patches/unapplied-server/0076-Configurable-villager-breeding.patch b/patches/server/0076-Configurable-villager-breeding.patch similarity index 95% rename from patches/unapplied-server/0076-Configurable-villager-breeding.patch rename to patches/server/0076-Configurable-villager-breeding.patch index 36aeada30e..20b86d2c8e 100644 --- a/patches/unapplied-server/0076-Configurable-villager-breeding.patch +++ b/patches/server/0076-Configurable-villager-breeding.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable villager breeding diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 394c8667cfe57fa1fba93231a1ebb5be6dc63c63..3528cc251ebae1011ec3dac4b893157e446a1e22 100644 +index 0ba9fac5214405c40a151954cbf615caca6d4cb3..973dd0cdccb7787bdb36e4c1e8135490ab59c317 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -769,7 +769,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler diff --git a/patches/unapplied-server/0077-Redstone-deactivates-spawners.patch b/patches/server/0077-Redstone-deactivates-spawners.patch similarity index 100% rename from patches/unapplied-server/0077-Redstone-deactivates-spawners.patch rename to patches/server/0077-Redstone-deactivates-spawners.patch diff --git a/patches/unapplied-server/0078-Totems-work-in-inventory.patch b/patches/server/0078-Totems-work-in-inventory.patch similarity index 94% rename from patches/unapplied-server/0078-Totems-work-in-inventory.patch rename to patches/server/0078-Totems-work-in-inventory.patch index 451905d382..59ccfd4237 100644 --- a/patches/unapplied-server/0078-Totems-work-in-inventory.patch +++ b/patches/server/0078-Totems-work-in-inventory.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Totems work in inventory diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 2007dd29cc2c1ee4cf88db27e0082c3548ebf344..f8ec83a135feab4140ec075ee45250ebfc511993 100644 +index bf38f466033928611d58ffd410191cf69814c171..1add518a30e1f44849aea6c805cf3cef849f1992 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1720,6 +1720,18 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1731,6 +1731,18 @@ public abstract class LivingEntity extends Entity implements Attackable { } } diff --git a/patches/unapplied-server/0079-Add-vindicator-johnny-spawn-chance.patch b/patches/server/0079-Add-vindicator-johnny-spawn-chance.patch similarity index 100% rename from patches/unapplied-server/0079-Add-vindicator-johnny-spawn-chance.patch rename to patches/server/0079-Add-vindicator-johnny-spawn-chance.patch diff --git a/patches/unapplied-server/0080-Dispensers-place-anvils-option.patch b/patches/server/0080-Dispensers-place-anvils-option.patch similarity index 96% rename from patches/unapplied-server/0080-Dispensers-place-anvils-option.patch rename to patches/server/0080-Dispensers-place-anvils-option.patch index 19c0220758..6a5c7d733f 100644 --- a/patches/unapplied-server/0080-Dispensers-place-anvils-option.patch +++ b/patches/server/0080-Dispensers-place-anvils-option.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Dispensers place anvils option diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -index 0d12605dc84dad49faa18bf1fd058c3c168623ee..c6490554a3025f4de3f3218178fad76cd1848a19 100644 +index c9d7ac819ce26f5301df7df56edce59b7ef377e0..cdd73bb358e309844bef576175a9026cb8563e7e 100644 --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java @@ -930,5 +930,22 @@ public interface DispenseItemBehavior { diff --git a/patches/unapplied-server/0081-Allow-anvil-colors.patch b/patches/server/0081-Allow-anvil-colors.patch similarity index 100% rename from patches/unapplied-server/0081-Allow-anvil-colors.patch rename to patches/server/0081-Allow-anvil-colors.patch diff --git a/patches/unapplied-server/0082-Add-option-to-disable-dolphin-treasure-searching.patch b/patches/server/0082-Add-option-to-disable-dolphin-treasure-searching.patch similarity index 100% rename from patches/unapplied-server/0082-Add-option-to-disable-dolphin-treasure-searching.patch rename to patches/server/0082-Add-option-to-disable-dolphin-treasure-searching.patch diff --git a/patches/unapplied-server/0083-Short-enderman-height.patch b/patches/server/0083-Short-enderman-height.patch similarity index 91% rename from patches/unapplied-server/0083-Short-enderman-height.patch rename to patches/server/0083-Short-enderman-height.patch index a30c63635a..3e9b004ced 100644 --- a/patches/unapplied-server/0083-Short-enderman-height.patch +++ b/patches/server/0083-Short-enderman-height.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Short enderman height diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index 23b921a79bd563fd0a1bf7afd55a8e52ff1da521..40ae00146381a9a1ec70ffae5c683b46c72c56ff 100644 +index fa15b22e464f1dfe83f3d07ff7a28b6740df79b4..2f08747612bd238f12c8d3dccb996118e7c34e33 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java @@ -389,7 +389,8 @@ public class EntityType implements FeatureElement, EntityTypeT @@ -19,10 +19,10 @@ index 23b921a79bd563fd0a1bf7afd55a8e52ff1da521..40ae00146381a9a1ec70ffae5c683b46 private final FeatureFlagSet requiredFeatures; diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -index 04fdefe4c38ef9ed3001f95b34d1632944fcae85..257eac851b6f4628b94784cab7a5cd4ec804944a 100644 +index 1fc16357283bb4f558ff02ca062440218b61ddbf..b6200fdef6d032cbaa3fdc4c2c8494fc0ad8ad65 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -@@ -415,6 +415,7 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -414,6 +414,7 @@ public class EnderMan extends Monster implements NeutralMob { if (this.isInvulnerableTo(world, source)) { return false; } else if (getRider() != null && this.isControllable()) { return super.hurtServer(world, source, amount); // Purpur - no teleporting on damage diff --git a/patches/unapplied-server/0084-Stop-squids-floating-on-top-of-water.patch b/patches/server/0084-Stop-squids-floating-on-top-of-water.patch similarity index 93% rename from patches/unapplied-server/0084-Stop-squids-floating-on-top-of-water.patch rename to patches/server/0084-Stop-squids-floating-on-top-of-water.patch index 5dc27aa8eb..c1d8ea3064 100644 --- a/patches/unapplied-server/0084-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0084-Stop-squids-floating-on-top-of-water.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 56225797f1cf0294c1e6aa824d8c146dca530e9f..bf22cfc2b770fd4dc73168745d535fb6598412ca 100644 +index c8fde4b0b89f8d401149d0029caa13dc0d608d35..e954682b8b38355f73ea2aba1a4677c23d47ed3e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4748,6 +4748,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4778,6 +4778,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return Mth.lerp(delta, this.yRotO, this.yRot); } @@ -22,7 +22,7 @@ index 56225797f1cf0294c1e6aa824d8c146dca530e9f..bf22cfc2b770fd4dc73168745d535fb6 public boolean updateFluidHeightAndDoFluidPushing(final TagKey fluid, final double flowScale) { if (this.touchingUnloadedChunk()) { diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java -index 6275cb4ca2b06d8b1b3d53a2b79115bd36da4129..7891d015d2f8dadcff8f457145574ea8ba48fe8d 100644 +index 52a71d1b7585a6745b9dd7a87187d1060408563d..c08de12a2857fef431621c2260274cbfc6032e73 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Squid.java +++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java @@ -78,6 +78,12 @@ public class Squid extends AgeableWaterCreature { diff --git a/patches/unapplied-server/0085-Crying-obsidian-valid-for-portal-frames.patch b/patches/server/0085-Crying-obsidian-valid-for-portal-frames.patch similarity index 100% rename from patches/unapplied-server/0085-Crying-obsidian-valid-for-portal-frames.patch rename to patches/server/0085-Crying-obsidian-valid-for-portal-frames.patch diff --git a/patches/unapplied-server/0086-Entities-can-use-portals.patch b/patches/server/0086-Entities-can-use-portals.patch similarity index 92% rename from patches/unapplied-server/0086-Entities-can-use-portals.patch rename to patches/server/0086-Entities-can-use-portals.patch index d93019c33d..c0a5a13047 100644 --- a/patches/unapplied-server/0086-Entities-can-use-portals.patch +++ b/patches/server/0086-Entities-can-use-portals.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index bf22cfc2b770fd4dc73168745d535fb6598412ca..c5880e627ff48e5e176baf483c08f35a1af488f8 100644 +index e954682b8b38355f73ea2aba1a4677c23d47ed3e..692b4afe8616dac52f687baee86cbbd2af6763ec 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3441,7 +3441,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3471,7 +3471,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess public void setAsInsidePortal(Portal portal, BlockPos pos) { if (this.isOnPortalCooldown()) { this.setPortalCooldown(); @@ -17,7 +17,7 @@ index bf22cfc2b770fd4dc73168745d535fb6598412ca..c5880e627ff48e5e176baf483c08f35a if (this.portalProcess != null && this.portalProcess.isSamePortal(portal)) { if (!this.portalProcess.isInsidePortalThisTick()) { this.portalProcess.updateEntryPosition(pos.immutable()); -@@ -4160,7 +4160,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4194,7 +4194,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess // CraftBukkit end public boolean canUsePortal(boolean allowVehicles) { diff --git a/patches/unapplied-server/0087-Customizable-wither-health-and-healing.patch b/patches/server/0087-Customizable-wither-health-and-healing.patch similarity index 94% rename from patches/unapplied-server/0087-Customizable-wither-health-and-healing.patch rename to patches/server/0087-Customizable-wither-health-and-healing.patch index a2a40749c1..670d5fd4f5 100644 --- a/patches/unapplied-server/0087-Customizable-wither-health-and-healing.patch +++ b/patches/server/0087-Customizable-wither-health-and-healing.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Customizable wither health and healing Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often. diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index 19a7f7926eeb9c4e4d5bbd5e4768d99c456e8f71..e808cd292afc9531d5ec6025e1e83076ba487c0f 100644 +index 1eecabe1cb09ed81172b9ac573b236718e80e08e..093dd2a5ac09767df7406e00d25985d0507957ef 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -@@ -526,8 +526,10 @@ public class WitherBoss extends Monster implements RangedAttackMob { +@@ -525,8 +525,10 @@ public class WitherBoss extends Monster implements RangedAttackMob { } } diff --git a/patches/unapplied-server/0088-Allow-toggling-special-MobSpawners-per-world.patch b/patches/server/0088-Allow-toggling-special-MobSpawners-per-world.patch similarity index 97% rename from patches/unapplied-server/0088-Allow-toggling-special-MobSpawners-per-world.patch rename to patches/server/0088-Allow-toggling-special-MobSpawners-per-world.patch index 601bc43a7c..59783f0174 100644 --- a/patches/unapplied-server/0088-Allow-toggling-special-MobSpawners-per-world.patch +++ b/patches/server/0088-Allow-toggling-special-MobSpawners-per-world.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow toggling special MobSpawners per world In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index c05d0d836ced6db6b4a3e85fe0973dd7b1aaad81..7f12f6a0f8ea0a2570ccb8f6e7f786197ee0ef11 100644 +index 9451c6fa2307bc12b47a106f2d82508548b109a8..d7edb681c0299f9103e7bc9fa082617f61929c19 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -605,7 +605,24 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -606,7 +606,24 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe // CraftBukkit end this.tickTime = flag1; this.server = minecraftserver; diff --git a/patches/unapplied-server/0089-Raid-cooldown-setting.patch b/patches/server/0089-Raid-cooldown-setting.patch similarity index 100% rename from patches/unapplied-server/0089-Raid-cooldown-setting.patch rename to patches/server/0089-Raid-cooldown-setting.patch diff --git a/patches/unapplied-server/0090-Add-option-to-disable-zombie-aggressiveness-towards-.patch b/patches/server/0090-Add-option-to-disable-zombie-aggressiveness-towards-.patch similarity index 96% rename from patches/unapplied-server/0090-Add-option-to-disable-zombie-aggressiveness-towards-.patch rename to patches/server/0090-Add-option-to-disable-zombie-aggressiveness-towards-.patch index 8b6d208f14..f9d6250891 100644 --- a/patches/unapplied-server/0090-Add-option-to-disable-zombie-aggressiveness-towards-.patch +++ b/patches/server/0090-Add-option-to-disable-zombie-aggressiveness-towards-.patch @@ -5,7 +5,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 3470720466fc81f977c18e3a97bb918926025a22..c8651af322927c46d075f88890fcd0476bd85440 100644 +index d5d617d72c1d160564e3e53d3c6bdffe3d868145..394d018c3c57989decc5c9a0950de158240150c7 100644 --- a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java +++ b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java @@ -136,6 +136,10 @@ public class MobGoalHelper { @@ -20,10 +20,10 @@ index 3470720466fc81f977c18e3a97bb918926025a22..c8651af322927c46d075f88890fcd047 ignored.add("goal_selector_1"); ignored.add("goal_selector_2"); diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java -index 7dc7f8734ffb3c5e50c763cb4e750d20c6e22281..7b3c999a03d91c167dfc1a1c90750b2efd4eb675 100644 +index 58908fa7f13eda35104065e6477ee1a1cb42cf00..fef4417c167ad8526dbbfc0de3e8f2a2b55621ca 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java +++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java -@@ -125,7 +125,19 @@ public class Drowned extends Zombie implements RangedAttackMob { +@@ -128,7 +128,19 @@ public class Drowned extends Zombie implements RangedAttackMob { this.goalSelector.addGoal(7, new RandomStrollGoal(this, 1.0)); this.targetSelector.addGoal(1, new HurtByTargetGoal(this, Drowned.class).setAlertOthers(ZombifiedPiglin.class)); this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, (target, world) -> this.okTarget(target))); diff --git a/patches/unapplied-server/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch b/patches/server/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch similarity index 80% rename from patches/unapplied-server/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch rename to patches/server/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch index 8a33fca32d..cf3949cb55 100644 --- a/patches/unapplied-server/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch +++ b/patches/server/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add predicate to recipe's ExactChoice ingredient diff --git a/src/main/java/net/minecraft/world/item/crafting/Ingredient.java b/src/main/java/net/minecraft/world/item/crafting/Ingredient.java -index 812f919a7a7e309c8513f44104f092496037608f..10730b307971915f52b3e41068a864b8ee1352b4 100644 +index 0bd0935e76038e07c063bbfc61fa1a6339c23eed..e38cab89bd58a91cf91044d23900b5d83fa191f6 100644 --- a/src/main/java/net/minecraft/world/item/crafting/Ingredient.java +++ b/src/main/java/net/minecraft/world/item/crafting/Ingredient.java -@@ -45,6 +45,7 @@ public final class Ingredient implements Predicate { +@@ -45,6 +45,7 @@ public final class Ingredient implements StackedContents.IngredientInfo itemStacks; @@ -16,7 +16,7 @@ index 812f919a7a7e309c8513f44104f092496037608f..10730b307971915f52b3e41068a864b8 public boolean isExact() { return this.itemStacks != null; -@@ -100,6 +101,11 @@ public final class Ingredient implements Predicate { +@@ -102,6 +103,11 @@ public final class Ingredient implements StackedContents.IngredientInfo> list = this.items(); - + return itemstack.is(this.values); + } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java -index 3592091c6d1371224e82e1f95b003951ad2f8779..4fdc78a9c74b42a8894030221e0452493d68020e 100644 +index 4864e2016cb1d377425297fd1c52b383632cb59e..fc0e93a936dadb0dca758207297f92a22f3955d4 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java -@@ -38,6 +38,7 @@ public interface CraftRecipe extends Recipe { +@@ -36,6 +36,7 @@ public interface CraftRecipe extends Recipe { stack = Ingredient.of(((RecipeChoice.MaterialChoice) bukkit).getChoices().stream().map((mat) -> CraftItemType.bukkitToMinecraft(mat))); } else if (bukkit instanceof RecipeChoice.ExactChoice) { stack = Ingredient.ofStacks(((RecipeChoice.ExactChoice) bukkit).getChoices().stream().map((mat) -> CraftItemStack.asNMSCopy(mat)).toList()); diff --git a/patches/unapplied-server/0092-Flying-squids-Oh-my.patch b/patches/server/0092-Flying-squids-Oh-my.patch similarity index 96% rename from patches/unapplied-server/0092-Flying-squids-Oh-my.patch rename to patches/server/0092-Flying-squids-Oh-my.patch index df0ec8a52e..b0e155e86a 100644 --- a/patches/unapplied-server/0092-Flying-squids-Oh-my.patch +++ b/patches/server/0092-Flying-squids-Oh-my.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Flying squids! Oh my! diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java -index 27aee968718af1ae78e2076ddc890114b2c9bb94..0f5be53c6f6a66c61dc3f2bebeb18ca61d06c10d 100644 +index 5a49c44b8f18a1c16f18a4798c733f99ca4e47b7..e282af89d635a2866a8655d1e4956f1bd2c6a85b 100644 --- a/src/main/java/net/minecraft/world/entity/GlowSquid.java +++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java @@ -43,6 +43,11 @@ public class GlowSquid extends Squid { @@ -21,7 +21,7 @@ index 27aee968718af1ae78e2076ddc890114b2c9bb94..0f5be53c6f6a66c61dc3f2bebeb18ca6 protected ParticleOptions getInkParticle() { return ParticleTypes.GLOW_SQUID_INK; diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java -index 7891d015d2f8dadcff8f457145574ea8ba48fe8d..4d2992a16865fa60dd38d0ff6dc341f9c5f6bd00 100644 +index c08de12a2857fef431621c2260274cbfc6032e73..8920fcbb5c76e11a91a9a8702525cd59b18fa057 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Squid.java +++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java @@ -84,6 +84,15 @@ public class Squid extends AgeableWaterCreature { diff --git a/patches/unapplied-server/0093-Infinity-bow-settings.patch b/patches/server/0093-Infinity-bow-settings.patch similarity index 100% rename from patches/unapplied-server/0093-Infinity-bow-settings.patch rename to patches/server/0093-Infinity-bow-settings.patch diff --git a/patches/unapplied-server/0094-Configurable-daylight-cycle.patch b/patches/server/0094-Configurable-daylight-cycle.patch similarity index 89% rename from patches/unapplied-server/0094-Configurable-daylight-cycle.patch rename to patches/server/0094-Configurable-daylight-cycle.patch index 7217e681b7..e08fdd2668 100644 --- a/patches/unapplied-server/0094-Configurable-daylight-cycle.patch +++ b/patches/server/0094-Configurable-daylight-cycle.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable daylight cycle diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index e1858bc2b043f0edf5d3f1393340f40aa7bcb36a..1349b2bbdc38e9f13617c78d3f1079b9e36aece4 100644 +index 0cce9061c49a3556d886381fac3bfc78390b7ec4..6ab178e0541f027791406d547c38f63c1d72ef25 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1858,7 +1858,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions public java.util.ArrayDeque redstoneUpdateInfos; // Paper - Faster redstone torch rapid clock removal; Move from Map in BlockRedstoneTorch to here @@ -95,7 +95,7 @@ index 77093e49fd60993e7cb6bf5712ec53e0fe221776..34e8eb828be517d9ee3973597c74c5ca public CraftWorld getWorld() { return this.world; } -@@ -844,6 +887,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl +@@ -845,6 +888,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur diff --git a/patches/unapplied-server/0099-Make-entity-breeding-times-configurable.patch b/patches/server/0099-Make-entity-breeding-times-configurable.patch similarity index 97% rename from patches/unapplied-server/0099-Make-entity-breeding-times-configurable.patch rename to patches/server/0099-Make-entity-breeding-times-configurable.patch index 2219ab2f3c..c2d72db4ce 100644 --- a/patches/unapplied-server/0099-Make-entity-breeding-times-configurable.patch +++ b/patches/server/0099-Make-entity-breeding-times-configurable.patch @@ -47,10 +47,10 @@ index 4637d062b6a4c4d6de2ef54ec3cfdeb4344ff38e..9987d28ea145f6d0126cb4ea22001e09 entityanimal.resetLove(); worldserver.broadcastEntityEvent(this, (byte) 18); diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index d000acd339a1967d2c448ed8d66c4f1347f797fd..51b736979e43cd0e60a8ecaf2cf95511b9f4d858 100644 +index 5ad7612788c4ef5cc3a6cf5f706999aa6eed4718..235a2b732fd62bf7e8c34c14333c41a49a2418e0 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java -@@ -491,6 +491,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -495,6 +495,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.beeScale); } @@ -63,7 +63,7 @@ index d000acd339a1967d2c448ed8d66c4f1347f797fd..51b736979e43cd0e60a8ecaf2cf95511 public int getRemainingPersistentAngerTime() { return (Integer) this.entityData.get(Bee.DATA_REMAINING_ANGER_TIME); diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java -index 6c773af722ccb9e144d8858a013c120ecbbcfa4c..f79146925e99da08492e7b445006be003a56f340 100644 +index 821499778e2b97e39f5d439c4a8c55a283610750..4be5d2c0ed8d314e09d43cb00d52f2452f84a426 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java @@ -129,6 +129,11 @@ public class Cat extends TamableAnimal implements VariantHolder { @@ -140,10 +140,10 @@ index 355965d88d5ef008111cc72f39e4f8d35741fdfd..0024345d1906e6fb6bbdb189f6d4dbc6 this.partner.resetLove(); worldserver.addFreshEntityWithPassengers(entityfox, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java -index c7039d7d5e38392fef8787f6e245a44842e2f2a3..3397fa689c6e36981f3944586c2059c8eb7b1e50 100644 +index e5d8f23032244c77b4e2bcb8ead0b20a27acadf7..f17c30c55a75eba58fcda2407d8039f64e646e7f 100644 --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java -@@ -87,6 +87,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder { @@ -252,10 +252,10 @@ index b0cdc25f6592d44a3ad3fdf4d461e95887105257..629a0729cae629dea89fdf491afa9eed @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java -index 38799a817742b1bbaf921f1e24cf2fc44ab52050..8d94e1a33ac7748ded0f75212738ba13bd18d492 100644 +index d7aa0f0408f1778907106ff65fda55f36580c6fd..59fe849d3b7a41b2a606031b7bf494affc0d148d 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java +++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java -@@ -114,6 +114,11 @@ public class Sheep extends Animal implements Shearable { +@@ -107,6 +107,11 @@ public class Sheep extends Animal implements Shearable { this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.sheepScale); } @@ -284,7 +284,7 @@ index 500676a78aedc525aca989ccd0380cd2cc1a711b..6b2e27e2f8aeccfc4d84c73be0fa5a04 this.entityData.set(Turtle.HOME_POS, pos); } diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -index 40a766e20d1a2111d561cc05aa49e2ac50187d19..bb2e5e97d33ffaf95a6c88b3c077de1a89a60c6e 100644 +index 975f1a20ceb9f98c9922278640bf0ba1d7b606a4..71f76046b37705d064dc532ae1244ecc2920393a 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java @@ -152,6 +152,11 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder> { @@ -458,7 +458,7 @@ index d3b9763aa745154fd796f725c2d5babfaaf22050..069783ed1bb4bbb7dece4b7883fe4d30 return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, 0.20000000298023224D); } diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java -index 10074787bbb3935685b9bd78c018309b2e468d87..845f75a48f07e7f25e71ed7b04a2f6b1dc87cbb8 100644 +index 2f0b7ebb8bc9245e940bea76b6563b01722ce961..ec7b3fc6dbc78b226d33b517cbe2eed8eaa35d89 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java @@ -70,6 +70,11 @@ public class TraderLlama extends Llama { @@ -506,7 +506,7 @@ index d08ff3f70ed3024dba7cf4405ba08d547ed5bf2d..464a16df15d8759d66f94ad080d1ea28 @Override diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java -index 6a45a62c578f033558c26935681f7de74dd98bac..0cc49b0a600a5e6fb4fc21e698e3a5fef5996df1 100644 +index 1ea797619359cca106aafa0b1e14a5cb00af582a..bfafa45575b99f08cbeb234bdb9c287f9f531b16 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Strider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java @@ -120,6 +120,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable { diff --git a/patches/unapplied-server/0100-Apply-display-names-from-item-forms-of-entities-to-e.patch b/patches/server/0100-Apply-display-names-from-item-forms-of-entities-to-e.patch similarity index 99% rename from patches/unapplied-server/0100-Apply-display-names-from-item-forms-of-entities-to-e.patch rename to patches/server/0100-Apply-display-names-from-item-forms-of-entities-to-e.patch index 2ad0ca4d60..1cbf33a20f 100644 --- a/patches/unapplied-server/0100-Apply-display-names-from-item-forms-of-entities-to-e.patch +++ b/patches/server/0100-Apply-display-names-from-item-forms-of-entities-to-e.patch @@ -56,7 +56,7 @@ index fd0e78a2318e3950d011c17358245e107b38154a..0fcab828e81176323cbdf16c0ec714d9 } diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractBoat.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractBoat.java -index e523f651e8776a89ffba015921d708f569fad8f3..56c265940208bc94f531a5af94f564b59f35ebf3 100644 +index a301f32a292afb010f3888732e339897b176243d..1a4fb057025689a22b3dd05f531f0d8639d7e47b 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractBoat.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractBoat.java @@ -930,7 +930,13 @@ public abstract class AbstractBoat extends VehicleEntity implements Leashable { From 6d7a7b6e32f0ea1cf7eeff3bd381e7f98ca54947 Mon Sep 17 00:00:00 2001 From: granny Date: Tue, 3 Dec 2024 21:01:29 -0800 Subject: [PATCH 08/19] 150 patches done --- ...-when-using-a-Name-Tag-on-an-Armor-S.patch | 2 +- ...llowing-Endermen-to-despawn-even-whi.patch | 4 +- ...103-Add-configurable-snowball-damage.patch | 2 +- ...04-Changeable-Mob-Left-Handed-Chance.patch | 4 +- .../0105-Add-boat-fall-damage-config.patch | 12 +-- .../0106-Snow-Golem-rate-of-fire-config.patch | 0 ...C-Configurable-disable-give-dropping.patch | 0 ...Villager-Clerics-to-farm-Nether-Wart.patch | 6 +- ...fied-Piglin-death-always-counting-as.patch | 0 ...ble-chance-for-wolves-to-spawn-rabid.patch | 2 +- ...11-Configurable-default-collar-color.patch | 4 +- .../0112-Phantom-flames-on-swoop.patch | 2 +- ...s-to-open-even-with-a-solid-block-on.patch | 4 +- .../0114-Implement-TPSBar.patch | 16 ++-- .../0115-Striders-give-saddle-back.patch | 2 +- .../0116-PlayerBookTooLargeEvent.patch | 6 +- ...therite-armor-grants-fire-resistance.patch | 4 +- ...iefing-bypass-to-everything-affected.patch | 42 +++++----- ...allow-Note-Block-sounds-when-blocked.patch | 0 ...0120-Add-EntityTeleportHinderedEvent.patch | 10 +-- .../0121-Farmland-trampling-changes.patch | 0 ...22-Movement-options-for-armor-stands.patch | 4 +- .../0123-Fix-stuck-in-portals.patch | 8 +- ...oggle-for-water-sensitive-mob-damage.patch | 78 +++++++++---------- ...25-Config-to-always-tame-in-Creative.patch | 10 +-- .../0126-End-crystal-explosion-options.patch | 0 ...ither-Ender-Dragon-can-ride-vehicles.patch | 8 +- .../0128-Dont-run-with-scissors.patch | 6 +- .../0129-One-Punch-Man.patch | 2 +- ...er-Pearl-cooldown-damage-and-Endermi.patch | 4 +- ...-to-ignore-nearby-mobs-when-sleeping.patch | 4 +- ...dd-back-player-spawned-endermite-API.patch | 0 ...an-aggressiveness-towards-Endermites.patch | 4 +- ...-Dragon-Head-wearers-and-stare-aggro.patch | 12 +-- .../0135-Tick-fluids-config.patch | 0 ...136-Config-to-disable-Llama-caravans.patch | 0 ...ig-to-make-Creepers-explode-on-death.patch | 0 ...urable-ravager-griefable-blocks-list.patch | 6 +- ...0139-Sneak-to-bulk-process-composter.patch | 6 +- .../0140-Config-for-skipping-night.patch | 4 +- ...0141-Add-config-for-villager-trading.patch | 2 +- .../0142-Drowning-Settings.patch | 14 ++-- ...Break-individual-slabs-when-sneaking.patch | 0 ...-to-disable-hostile-mob-spawn-on-ice.patch | 0 ...ig-to-show-Armor-Stand-arms-on-spawn.patch | 0 ...ption-to-make-doors-require-redstone.patch | 0 ...0147-Config-to-allow-unsafe-enchants.patch | 4 +- .../0148-Configurable-sponge-absorption.patch | 2 +- .../0149-Projectile-offset-config.patch | 40 +++++----- ...for-powered-rail-activation-distance.patch | 0 50 files changed, 170 insertions(+), 170 deletions(-) rename patches/{unapplied-server => server}/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch (96%) rename patches/{unapplied-server => server}/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch (93%) rename patches/{unapplied-server => server}/0103-Add-configurable-snowball-damage.patch (94%) rename patches/{unapplied-server => server}/0104-Changeable-Mob-Left-Handed-Chance.patch (91%) rename patches/{unapplied-server => server}/0105-Add-boat-fall-damage-config.patch (78%) rename patches/{unapplied-server => server}/0106-Snow-Golem-rate-of-fire-config.patch (100%) rename patches/{unapplied-server => server}/0107-EMC-Configurable-disable-give-dropping.patch (100%) rename patches/{unapplied-server => server}/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch (98%) rename patches/{unapplied-server => server}/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch (100%) rename patches/{unapplied-server => server}/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch (99%) rename patches/{unapplied-server => server}/0111-Configurable-default-collar-color.patch (95%) rename patches/{unapplied-server => server}/0112-Phantom-flames-on-swoop.patch (95%) rename patches/{unapplied-server => server}/0113-Option-for-chests-to-open-even-with-a-solid-block-on.patch (91%) rename patches/{unapplied-server => server}/0114-Implement-TPSBar.patch (97%) rename patches/{unapplied-server => server}/0115-Striders-give-saddle-back.patch (96%) rename patches/{unapplied-server => server}/0116-PlayerBookTooLargeEvent.patch (91%) rename patches/{unapplied-server => server}/0117-Full-netherite-armor-grants-fire-resistance.patch (95%) rename patches/{unapplied-server => server}/0118-Add-mobGriefing-bypass-to-everything-affected.patch (96%) rename patches/{unapplied-server => server}/0119-Config-to-allow-Note-Block-sounds-when-blocked.patch (100%) rename patches/{unapplied-server => server}/0120-Add-EntityTeleportHinderedEvent.patch (95%) rename patches/{unapplied-server => server}/0121-Farmland-trampling-changes.patch (100%) rename patches/{unapplied-server => server}/0122-Movement-options-for-armor-stands.patch (96%) rename patches/{unapplied-server => server}/0123-Fix-stuck-in-portals.patch (92%) rename patches/{unapplied-server => server}/0124-Toggle-for-water-sensitive-mob-damage.patch (97%) rename patches/{unapplied-server => server}/0125-Config-to-always-tame-in-Creative.patch (93%) rename patches/{unapplied-server => server}/0126-End-crystal-explosion-options.patch (100%) rename patches/{unapplied-server => server}/0127-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch (92%) rename patches/{unapplied-server => server}/0128-Dont-run-with-scissors.patch (97%) rename patches/{unapplied-server => server}/0129-One-Punch-Man.patch (97%) rename patches/{unapplied-server => server}/0130-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch (96%) rename patches/{unapplied-server => server}/0131-Config-to-ignore-nearby-mobs-when-sleeping.patch (93%) rename patches/{unapplied-server => server}/0132-Add-back-player-spawned-endermite-API.patch (100%) rename patches/{unapplied-server => server}/0133-Config-Enderman-aggressiveness-towards-Endermites.patch (95%) rename patches/{unapplied-server => server}/0134-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch (77%) rename patches/{unapplied-server => server}/0135-Tick-fluids-config.patch (100%) rename patches/{unapplied-server => server}/0136-Config-to-disable-Llama-caravans.patch (100%) rename patches/{unapplied-server => server}/0137-Config-to-make-Creepers-explode-on-death.patch (100%) rename patches/{unapplied-server => server}/0138-Configurable-ravager-griefable-blocks-list.patch (94%) rename patches/{unapplied-server => server}/0139-Sneak-to-bulk-process-composter.patch (95%) rename patches/{unapplied-server => server}/0140-Config-for-skipping-night.patch (93%) rename patches/{unapplied-server => server}/0141-Add-config-for-villager-trading.patch (97%) rename patches/{unapplied-server => server}/0142-Drowning-Settings.patch (85%) rename patches/{unapplied-server => server}/0143-Break-individual-slabs-when-sneaking.patch (100%) rename patches/{unapplied-server => server}/0144-Config-to-disable-hostile-mob-spawn-on-ice.patch (100%) rename patches/{unapplied-server => server}/0145-Config-to-show-Armor-Stand-arms-on-spawn.patch (100%) rename patches/{unapplied-server => server}/0146-Option-to-make-doors-require-redstone.patch (100%) rename patches/{unapplied-server => server}/0147-Config-to-allow-unsafe-enchants.patch (98%) rename patches/{unapplied-server => server}/0148-Configurable-sponge-absorption.patch (95%) rename patches/{unapplied-server => server}/0149-Projectile-offset-config.patch (84%) rename patches/{unapplied-server => server}/0150-Config-for-powered-rail-activation-distance.patch (100%) diff --git a/patches/unapplied-server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch b/patches/server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch similarity index 96% rename from patches/unapplied-server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch rename to patches/server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch index 6ec3820a34..8eab72bf5f 100644 --- a/patches/unapplied-server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch +++ b/patches/server/0101-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Set name visible when using a Name Tag on an Armor Stand diff --git a/src/main/java/net/minecraft/world/item/NameTagItem.java b/src/main/java/net/minecraft/world/item/NameTagItem.java -index 000d1863bfba98b5132dfc6743362d687b2f54f3..20fece9908382f40b4082f7b1fb7d41914ae31be 100644 +index df9cdcb9544a171a5a07c65ba0150933fb70d5fc..793bd6392ca3c3792306a20538233e4d7fb69b86 100644 --- a/src/main/java/net/minecraft/world/item/NameTagItem.java +++ b/src/main/java/net/minecraft/world/item/NameTagItem.java @@ -23,6 +23,7 @@ public class NameTagItem extends Item { diff --git a/patches/unapplied-server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch b/patches/server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch similarity index 93% rename from patches/unapplied-server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch rename to patches/server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch index 008853b5eb..c2f2b7472e 100644 --- a/patches/unapplied-server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch +++ b/patches/server/0102-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch @@ -8,10 +8,10 @@ This should help to reduce the amount of dirt, gravel, grass, and etc. that Endermen like to randomly place all over the world. diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -index 257eac851b6f4628b94784cab7a5cd4ec804944a..a8e2a2096f209fcd24e7921947556691fe6c254a 100644 +index b6200fdef6d032cbaa3fdc4c2c8494fc0ad8ad65..bc17512c6077777169c9759fa445e21f9e51543b 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -@@ -474,7 +474,7 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -473,7 +473,7 @@ public class EnderMan extends Monster implements NeutralMob { @Override public boolean requiresCustomPersistence() { diff --git a/patches/unapplied-server/0103-Add-configurable-snowball-damage.patch b/patches/server/0103-Add-configurable-snowball-damage.patch similarity index 94% rename from patches/unapplied-server/0103-Add-configurable-snowball-damage.patch rename to patches/server/0103-Add-configurable-snowball-damage.patch index 80a91011ef..d4248b9896 100644 --- a/patches/unapplied-server/0103-Add-configurable-snowball-damage.patch +++ b/patches/server/0103-Add-configurable-snowball-damage.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add configurable snowball damage diff --git a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java -index 70961e151666a0ecf5b791853f4581eaebbdcc8b..8c853b6fbbc966ee6ba9ad3770d4e2e2a50ef388 100644 +index 048ca5232d71f07d8ba7d3eaf0236660494c6b35..f712963fcd80535eee2bd04ec55ae1abdadef2bd 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java @@ -58,7 +58,7 @@ public class Snowball extends ThrowableItemProjectile { diff --git a/patches/unapplied-server/0104-Changeable-Mob-Left-Handed-Chance.patch b/patches/server/0104-Changeable-Mob-Left-Handed-Chance.patch similarity index 91% rename from patches/unapplied-server/0104-Changeable-Mob-Left-Handed-Chance.patch rename to patches/server/0104-Changeable-Mob-Left-Handed-Chance.patch index 366814408f..2c5f4586bb 100644 --- a/patches/unapplied-server/0104-Changeable-Mob-Left-Handed-Chance.patch +++ b/patches/server/0104-Changeable-Mob-Left-Handed-Chance.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Changeable Mob Left Handed Chance diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index e99b72b89abdded3e988bd1a92d36055fb1a84dc..784bf7754c43b02d337da61d6dd7bed134465d11 100644 +index d845d4a0a2ce99b90d4004146be8db90b9ea64c3..263db57683045e99210a68184de382a6d91e0f71 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1428,7 +1428,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -1426,7 +1426,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab attributemodifiable.addPermanentModifier(new AttributeModifier(Mob.RANDOM_SPAWN_BONUS_ID, randomsource.triangle(0.0D, 0.11485000000000001D), AttributeModifier.Operation.ADD_MULTIPLIED_BASE)); } diff --git a/patches/unapplied-server/0105-Add-boat-fall-damage-config.patch b/patches/server/0105-Add-boat-fall-damage-config.patch similarity index 78% rename from patches/unapplied-server/0105-Add-boat-fall-damage-config.patch rename to patches/server/0105-Add-boat-fall-damage-config.patch index b09926310b..adf5f8fb59 100644 --- a/patches/unapplied-server/0105-Add-boat-fall-damage-config.patch +++ b/patches/server/0105-Add-boat-fall-damage-config.patch @@ -5,16 +5,16 @@ 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 cbe608df708d5530813230cddd78568c1a63b448..36058eac6f861ae919bbe8ae6386e8f841586ac2 100644 +index 6f769f90038042ac11cdd59f36d7f3fd85cfd490..f63c1eca0c7ecaec70aaae56c479aaae42df3008 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1442,7 +1442,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1439,7 +1439,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple if (this.isInvulnerableTo(world, source)) { return false; } else { -- if (source.is(DamageTypeTags.IS_FALL) && getRootVehicle() instanceof net.minecraft.world.entity.vehicle.AbstractMinecart && level().purpurConfig.minecartControllable && !level().purpurConfig.minecartControllableFallDamage) return false; // Purpur +- if (source.is(net.minecraft.tags.DamageTypeTags.IS_FALL) && getRootVehicle() instanceof net.minecraft.world.entity.vehicle.AbstractMinecart && level().purpurConfig.minecartControllable && !level().purpurConfig.minecartControllableFallDamage) return false; // Purpur + // Purpur start -+ if (source.is(DamageTypeTags.IS_FALL)) { // Purpur ++ if (source.is(net.minecraft.tags.DamageTypeTags.IS_FALL)) { // Purpur + if (getRootVehicle() instanceof net.minecraft.world.entity.vehicle.AbstractMinecart && level().purpurConfig.minecartControllable && !level().purpurConfig.minecartControllableFallDamage) { + return false; + } @@ -23,9 +23,9 @@ index cbe608df708d5530813230cddd78568c1a63b448..36058eac6f861ae919bbe8ae6386e8f8 + } + } + // Purpur end - boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && source.is(DamageTypeTags.IS_FALL); + Entity entity = source.getEntity(); - if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) { + if (entity instanceof net.minecraft.world.entity.player.Player) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java index 897fac3caeab051cf2634d4e8b3dca62b389acd8..3bd6931d3b19bd9687cdaee2b245cd3f2e9df0bc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/patches/unapplied-server/0106-Snow-Golem-rate-of-fire-config.patch b/patches/server/0106-Snow-Golem-rate-of-fire-config.patch similarity index 100% rename from patches/unapplied-server/0106-Snow-Golem-rate-of-fire-config.patch rename to patches/server/0106-Snow-Golem-rate-of-fire-config.patch diff --git a/patches/unapplied-server/0107-EMC-Configurable-disable-give-dropping.patch b/patches/server/0107-EMC-Configurable-disable-give-dropping.patch similarity index 100% rename from patches/unapplied-server/0107-EMC-Configurable-disable-give-dropping.patch rename to patches/server/0107-EMC-Configurable-disable-give-dropping.patch diff --git a/patches/unapplied-server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch b/patches/server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch similarity index 98% rename from patches/unapplied-server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch rename to patches/server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch index 4e8e82f3e8..2aa721605d 100644 --- a/patches/unapplied-server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch +++ b/patches/server/0108-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch @@ -90,10 +90,10 @@ index 8508ac7de8cda3127b73e11ff4aee62502e65ead..b1544e028d5a9b84b944e1fb5a12bb16 throwHalfStack(entity, this.trades, villager); } diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java -index bb65d46967cb04f611b3c9c97d5732cfb21ede9b..7f4156e4690bbd57f9e9141f008851062cae733d 100644 +index 41f4107101bcd5d753b72cdbabe7946a1975c653..4475b406dde30e5be8ce9d2ff45f8d22d242690c 100644 --- a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java +++ b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java -@@ -52,8 +52,13 @@ public class VillagerGoalPackages { +@@ -74,8 +74,13 @@ public class VillagerGoalPackages { } public static ImmutableList>> getWorkPackage(VillagerProfession profession, float speed) { @@ -136,7 +136,7 @@ index a0e0692d17760f440fe81d52887284c787e562db..ab9bebc07b5228dbc0d3ba4b0f7d1bbe brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list); } else { diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 3528cc251ebae1011ec3dac4b893157e446a1e22..280f35782e4b336465ed45373e7843dd9f697d85 100644 +index 973dd0cdccb7787bdb36e4c1e8135490ab59c317..0ceeaef16ce0c4abcc3bd7350ed147c91bda8d64 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -227,7 +227,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler diff --git a/patches/unapplied-server/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch b/patches/server/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch similarity index 100% rename from patches/unapplied-server/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch rename to patches/server/0109-Toggle-for-Zombified-Piglin-death-always-counting-as.patch diff --git a/patches/unapplied-server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch similarity index 99% rename from patches/unapplied-server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch rename to patches/server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch index 9d983622e0..af2d20c392 100644 --- a/patches/unapplied-server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch +++ b/patches/server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch @@ -7,7 +7,7 @@ Configurable chance to spawn a wolf that is rabid. Rabid wolves attack all players, mobs, and animals. diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -index bb2e5e97d33ffaf95a6c88b3c077de1a89a60c6e..34ca92be146bec3d2f6e46f473c3e68b0a97b168 100644 +index 71f76046b37705d064dc532ae1244ecc2920393a..7eeb283d969c93e884791709734abf8b64b730d5 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java @@ -103,6 +103,37 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder implements +@@ -336,6 +336,7 @@ public class ChestBlock extends AbstractChestBlock implements } public static boolean isBlockedChestByBlock(BlockGetter world, BlockPos pos) { diff --git a/patches/unapplied-server/0114-Implement-TPSBar.patch b/patches/server/0114-Implement-TPSBar.patch similarity index 97% rename from patches/unapplied-server/0114-Implement-TPSBar.patch rename to patches/server/0114-Implement-TPSBar.patch index 8666558cc5..d115261b38 100644 --- a/patches/unapplied-server/0114-Implement-TPSBar.patch +++ b/patches/server/0114-Implement-TPSBar.patch @@ -17,10 +17,10 @@ index 02c7b57eef9a4462af413415ff268b9daeea0b93..632fd1b7d3474889b700b153d9cb4967 if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 1349b2bbdc38e9f13617c78d3f1079b9e36aece4..b389d24e6f6c2cb1d0592a48bd5b41aa818aad75 100644 +index 6ab178e0541f027791406d547c38f63c1d72ef25..791fa782d5092e17f332dd6660c42d151182e854 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1158,6 +1158,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop byteAllowed) { diff --git a/patches/unapplied-server/0117-Full-netherite-armor-grants-fire-resistance.patch b/patches/server/0117-Full-netherite-armor-grants-fire-resistance.patch similarity index 95% rename from patches/unapplied-server/0117-Full-netherite-armor-grants-fire-resistance.patch rename to patches/server/0117-Full-netherite-armor-grants-fire-resistance.patch index 9d0818491d..f37c3c4f79 100644 --- a/patches/unapplied-server/0117-Full-netherite-armor-grants-fire-resistance.patch +++ b/patches/server/0117-Full-netherite-armor-grants-fire-resistance.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Full netherite armor grants fire resistance 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 773be9c116a664e4d0349c58c00df34f203f8ebf..ae5f7c275003b6fb9f6c5a0277482b4fddf8e74c 100644 +index bf6c8abe3c0ba4144c37f2ee53bfb96563340e87..3dbb473655c4f115e28ce31fa647cd0cb7fbe3c6 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -353,6 +353,17 @@ public abstract class Player extends LivingEntity { +@@ -356,6 +356,17 @@ public abstract class Player extends LivingEntity { this.turtleHelmetTick(); } diff --git a/patches/unapplied-server/0118-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0118-Add-mobGriefing-bypass-to-everything-affected.patch similarity index 96% rename from patches/unapplied-server/0118-Add-mobGriefing-bypass-to-everything-affected.patch rename to patches/server/0118-Add-mobGriefing-bypass-to-everything-affected.patch index e8805486c0..0bede9123e 100644 --- a/patches/unapplied-server/0118-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0118-Add-mobGriefing-bypass-to-everything-affected.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index f8ec83a135feab4140ec075ee45250ebfc511993..0b9ece407fb90636d3869e85cd8c6c0a5626e8fa 100644 +index 1add518a30e1f44849aea6c805cf3cef849f1992..fe183dcfb32e915af4c58f8b40c35e349e39d189 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1903,7 +1903,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1914,7 +1914,7 @@ public abstract class LivingEntity extends Entity implements Attackable { boolean flag = false; if (this.dead && adversary instanceof WitherBoss) { // Paper @@ -18,10 +18,10 @@ index f8ec83a135feab4140ec075ee45250ebfc511993..0b9ece407fb90636d3869e85cd8c6c0a BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState(); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 784bf7754c43b02d337da61d6dd7bed134465d11..01da954d982b59bca8d8b76e66021ee04138a923 100644 +index 263db57683045e99210a68184de382a6d91e0f71..30be625e2f9c84f9ee3dbb68c8fc3806eae8a510 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -706,7 +706,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -714,7 +714,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab Level world = this.level(); if (world instanceof ServerLevel worldserver) { @@ -92,7 +92,7 @@ index 9d245d08be61d7edee9138196ae3bf52023e3993..771bb96032149a8573d1de14fa2ab190 } else if (this.nextStartTick > 0) { --this.nextStartTick; diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java -index 0024345d1906e6fb6bbdb189f6d4dbc631b90f9f..3870803139f162793598cef8f2700e0940aeb66e 100644 +index fe7c99a3f1450bb86a7949b9450e63c5b8f66d8f..cbbf6b8c72a1897d819ce3a448311c28eb6b1bd7 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java @@ -1370,7 +1370,7 @@ public class Fox extends Animal implements VariantHolder { @@ -105,7 +105,7 @@ index 0024345d1906e6fb6bbdb189f6d4dbc631b90f9f..3870803139f162793598cef8f2700e09 if (iblockdata.is(Blocks.SWEET_BERRY_BUSH)) { diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java -index 629a0729cae629dea89fdf491afa9eed96e7a38a..d0ab026af1642b6b3094d37a0c994deb633da577 100644 +index b92965674200836e367a0632487226ed124fbe2d..557b9bab60d7bb9d611929a524cc796cdf2d651d 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java +++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java @@ -634,7 +634,7 @@ public class Rabbit extends Animal implements VariantHolder { @@ -131,7 +131,7 @@ index 3f97118c8ce4f4e9a5f2a2fc3acdc68a6828baed..6c12817e00125a3957df1a37a06a5c6a } diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index f356110850dd71d066243ec29853f547d94e4400..cb9f73605e5cfbbff9935340529a2daa782ed10b 100644 +index 8cfe0d5f09fa08c3606f29ce243d6ce5f84090a0..bc4a86cc4110453709dcf5a6808a6c54ed3a75d7 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -591,7 +591,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -144,10 +144,10 @@ index f356110850dd71d066243ec29853f547d94e4400..cb9f73605e5cfbbff9935340529a2daa // flag1 = worldserver.removeBlock(blockposition, false) || flag1; flag1 = true; diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index e808cd292afc9531d5ec6025e1e83076ba487c0f..92711d5460b128310739188347f68be884635ec3 100644 +index 093dd2a5ac09767df7406e00d25985d0507957ef..0ee25a30186b3ce367853a1955640f730df17942 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -@@ -499,7 +499,7 @@ public class WitherBoss extends Monster implements RangedAttackMob { +@@ -498,7 +498,7 @@ public class WitherBoss extends Monster implements RangedAttackMob { if (this.destroyBlocksTick > 0) { --this.destroyBlocksTick; @@ -157,10 +157,10 @@ index e808cd292afc9531d5ec6025e1e83076ba487c0f..92711d5460b128310739188347f68be8 j = Mth.floor(this.getBbWidth() / 2.0F + 1.0F); diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -index a8e2a2096f209fcd24e7921947556691fe6c254a..b150e41077ecf23dca828a519a545f93d256eb7c 100644 +index bc17512c6077777169c9759fa445e21f9e51543b..7c738e8d5a7eaef2f8c2d04085683c3baff4640d 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -@@ -522,7 +522,15 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -521,7 +521,15 @@ public class EnderMan extends Monster implements NeutralMob { @Override public boolean canUse() { if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur @@ -177,7 +177,7 @@ index a8e2a2096f209fcd24e7921947556691fe6c254a..b150e41077ecf23dca828a519a545f93 } @Override -@@ -568,7 +576,15 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -567,7 +575,15 @@ public class EnderMan extends Monster implements NeutralMob { @Override public boolean canUse() { if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur @@ -195,7 +195,7 @@ index a8e2a2096f209fcd24e7921947556691fe6c254a..b150e41077ecf23dca828a519a545f93 @Override diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java -index 72d855a22e1507ad5f735df17db820c9b3fb2251..63ddac9c83d70107dace11fe1f033d7e17b1541a 100644 +index 354e3f82c26cb5dde524bea3c4bfd593fb919698..db3f7befb52ab58240ca6a8a101a955d4068768e 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java @@ -367,7 +367,7 @@ public class Evoker extends SpellcasterIllager { @@ -208,10 +208,10 @@ index 72d855a22e1507ad5f735df17db820c9b3fb2251..63ddac9c83d70107dace11fe1f033d7e } else { List list = worldserver.getNearbyEntities(Sheep.class, this.wololoTargeting, Evoker.this, Evoker.this.getBoundingBox().inflate(16.0D, 4.0D, 16.0D)); diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java -index fdf30a72c6c1bf4024592dc3071fc101256a1138..f257258473e036ae60d9463ae97d848192a61af7 100644 +index 3d49ee1c5e4dbbb76f03075ad4a5b326ab056699..265c84c778eb995d7da88fdb760fed5fb62bcda7 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java -@@ -184,7 +184,7 @@ public class Ravager extends Raider { +@@ -181,7 +181,7 @@ public class Ravager extends Raider { if (world instanceof ServerLevel) { ServerLevel worldserver = (ServerLevel) world; @@ -249,10 +249,10 @@ index c31a72bad0b75940ea550acf47fab2220ff669ff..9c58d01fc7ba148d4e5d50731eaee71a BlockPos blockposition = BlockPos.containing(this.mob.getX(), this.mob.getY() + 0.5D, this.mob.getZ()).relative(this.selectedDirection); BlockState iblockdata = this.mob.level().getBlockState(blockposition); diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -index 23673d9ce87acda718d12fce9af0ef5f27983f1a..f0decc0f4421a6dcd640ad8f0bfb56249bf31944 100644 +index fd756b9f51d3ca857ea520288230afa5ab455b95..26090db2ed0cbd99e2f50368ba9f2bf6e56670da 100644 --- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -@@ -430,7 +430,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento +@@ -438,7 +438,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento @Override public boolean wantsToPickUp(ServerLevel world, ItemStack stack) { @@ -291,10 +291,10 @@ index 2f00676f62478897ae4931ea06e047567c407535..55ea7f82fac9a3de6d7e0725a9b6ea08 // CraftBukkit start - fire ExplosionPrimeEvent ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity()); diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index af8dc4a57987cc84cb1002f2e5f25c28ec98173f..a7df9c2a3f210bc944cf76cdcc8d2a9484704bd1 100644 +index 0dbfa1e9ae1f0b8b9c4e9de59a7844ae96f63077..40a1514637a6a26666ba877e6dcf5bc42bd54a51 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -@@ -510,7 +510,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { +@@ -498,7 +498,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { public boolean mayInteract(ServerLevel world, BlockPos pos) { Entity entity = this.getOwner(); @@ -317,7 +317,7 @@ index bb159ea4baf208aab6d6fcfbbddacd5b089b55c8..588b07ec4501924a49264183b414a7fd // CraftBukkit end } diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java -index ab132041982df2a701e4baea8195873f31b4a5fb..722c1660cf6b93d0f9c05cafe587b1834c5c3a22 100644 +index cee1e4db2312efb4843c4b6dc18f4af10b91d304..68525419f18c18931d771d66fb15c9301d611416 100644 --- a/src/main/java/net/minecraft/world/entity/raid/Raider.java +++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java @@ -345,7 +345,7 @@ public abstract class Raider extends PatrollingMonster { @@ -330,7 +330,7 @@ index ab132041982df2a701e4baea8195873f31b4a5fb..722c1660cf6b93d0f9c05cafe587b183 return true; } else if (this.mob.getCurrentRaid().isOver()) { diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java -index 1ada5ed825501666addacf527a513ab7bd4a3a58..49484773e67eb84e7dadc993406edd6da568dcd5 100644 +index 1967ff3fcb94988be85985c4754904f0077de066..8cf8aeb34cba078bc7a554f03054d580d96fe908 100644 --- a/src/main/java/net/minecraft/world/level/block/CropBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CropBlock.java @@ -180,7 +180,7 @@ public class CropBlock extends BushBlock implements BonemealableBlock { diff --git a/patches/unapplied-server/0119-Config-to-allow-Note-Block-sounds-when-blocked.patch b/patches/server/0119-Config-to-allow-Note-Block-sounds-when-blocked.patch similarity index 100% rename from patches/unapplied-server/0119-Config-to-allow-Note-Block-sounds-when-blocked.patch rename to patches/server/0119-Config-to-allow-Note-Block-sounds-when-blocked.patch diff --git a/patches/unapplied-server/0120-Add-EntityTeleportHinderedEvent.patch b/patches/server/0120-Add-EntityTeleportHinderedEvent.patch similarity index 95% rename from patches/unapplied-server/0120-Add-EntityTeleportHinderedEvent.patch rename to patches/server/0120-Add-EntityTeleportHinderedEvent.patch index 16d595c912..b2a6cf5685 100644 --- a/patches/unapplied-server/0120-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0120-Add-EntityTeleportHinderedEvent.patch @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/level/block/EndGatewayBlock.java b/src/main/java/net/minecraft/world/level/block/EndGatewayBlock.java -index a7a21f071161fb7e73a046717d2462f871ab653c..abb75f9389167a1f51a2c50831664d50181749de 100644 +index af46f2885ead1e3ec1734504d8ba134c886e04fb..47ee0538c8ea94136b2416c324c8a264e54d2c09 100644 --- a/src/main/java/net/minecraft/world/level/block/EndGatewayBlock.java +++ b/src/main/java/net/minecraft/world/level/block/EndGatewayBlock.java @@ -104,6 +104,13 @@ public class EndGatewayBlock extends BaseEntityBlock implements Portal { @@ -35,7 +35,7 @@ index a7a21f071161fb7e73a046717d2462f871ab653c..abb75f9389167a1f51a2c50831664d50 TheEndGatewayBlockEntity.triggerCooldown(world, pos, state, tileentityendgateway); } diff --git a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java -index 4aa14f975e1ceedf3d4a427e0daefb58b12fcafe..2dffc3990d9ae3d595d923239885e3a7d8ec04f3 100644 +index 8cb4142562db0be1f1a7d961ec5a10d4abf31692..84ecb012cb0a47e47799dc73c7fadc75f462f47a 100644 --- a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java @@ -70,6 +70,13 @@ public class EndPortalBlock extends BaseEntityBlock implements Portal { @@ -53,7 +53,7 @@ index 4aa14f975e1ceedf3d4a427e0daefb58b12fcafe..2dffc3990d9ae3d595d923239885e3a7 EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ()), org.bukkit.PortalType.ENDER); // Paper - add portal type world.getCraftServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java -index 2b31bf586c1c0bd393d2aa8d0b6635dd9f22f21c..c00b13482ce3f603f1d85b9a5ad36b768de5a9f8 100644 +index 3e9642e5236d9a1cc8e8f3b375d76810f4bc7c6c..5169cba4c43d80ce3597c57bf7d40bd0148ec8a0 100644 --- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java @@ -117,6 +117,13 @@ public class NetherPortalBlock extends Block implements Portal { @@ -71,7 +71,7 @@ index 2b31bf586c1c0bd393d2aa8d0b6635dd9f22f21c..c00b13482ce3f603f1d85b9a5ad36b76 EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ()), org.bukkit.PortalType.NETHER); // Paper - add portal type world.getCraftServer().getPluginManager().callEvent(event); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 0d835621a7af64563c86c17358632aa26ac281cd..ac4064172f982a6efc25378fbd088cca1dda4a14 100644 +index 12c65755f85acce10c2d5359539d64498138127b..c0b6efefc4d4f31602f39afa76f837300c22f804 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -246,6 +246,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -83,7 +83,7 @@ index 0d835621a7af64563c86c17358632aa26ac281cd..ac4064172f982a6efc25378fbd088cca } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 358f42585c865efbd814787879f919f70234e5c4..6abf043faf27d1385ad45c264822a9f49974863d 100644 +index 350165d6616a1dfe931d0a35de0dbbd9222da216..75986a13b87c2024c96742fbbab960026b256837 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1440,6 +1440,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied-server/0121-Farmland-trampling-changes.patch b/patches/server/0121-Farmland-trampling-changes.patch similarity index 100% rename from patches/unapplied-server/0121-Farmland-trampling-changes.patch rename to patches/server/0121-Farmland-trampling-changes.patch diff --git a/patches/unapplied-server/0122-Movement-options-for-armor-stands.patch b/patches/server/0122-Movement-options-for-armor-stands.patch similarity index 96% rename from patches/unapplied-server/0122-Movement-options-for-armor-stands.patch rename to patches/server/0122-Movement-options-for-armor-stands.patch index 1d4bf9307f..7b8bd76045 100644 --- a/patches/unapplied-server/0122-Movement-options-for-armor-stands.patch +++ b/patches/server/0122-Movement-options-for-armor-stands.patch @@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c5880e627ff48e5e176baf483c08f35a1af488f8..70581da7310da5c78e20c6257c3423168704fbc4 100644 +index 692b4afe8616dac52f687baee86cbbd2af6763ec..7d7b1e21ad22831630cb825abcb75b1d69da5e14 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2017,7 +2017,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2040,7 +2040,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return this.isInWater() || flag; } diff --git a/patches/unapplied-server/0123-Fix-stuck-in-portals.patch b/patches/server/0123-Fix-stuck-in-portals.patch similarity index 92% rename from patches/unapplied-server/0123-Fix-stuck-in-portals.patch rename to patches/server/0123-Fix-stuck-in-portals.patch index 0fdc5f365b..1760ac6798 100644 --- a/patches/unapplied-server/0123-Fix-stuck-in-portals.patch +++ b/patches/server/0123-Fix-stuck-in-portals.patch @@ -5,10 +5,10 @@ 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 80426ba728016273990f00db638ea327b75c1883..70a82e80d686337cbe19365ec2d858fedc1d2b77 100644 +index 01eff7ae375b9289360336ce728155b32b8cf347..ca88e602674e85b63b9622c0f94b588448480c12 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1687,6 +1687,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1678,6 +1678,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION); this.unsetRemoved(); // CraftBukkit end @@ -17,10 +17,10 @@ index 80426ba728016273990f00db638ea327b75c1883..70a82e80d686337cbe19365ec2d858fe this.connection.internalTeleport(PositionMoveRotation.of(teleportTarget), teleportTarget.relatives()); // CraftBukkit - use internal teleport without event this.connection.resetPosition(); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 70581da7310da5c78e20c6257c3423168704fbc4..a8884300f2b9483e74036cacd98356c818578bd4 100644 +index 7d7b1e21ad22831630cb825abcb75b1d69da5e14..114e3ce75fefef8bab339c09128601325d9084f9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3438,14 +3438,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3468,14 +3468,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return Vec3.directionFromRotation(this.getRotationVector()); } diff --git a/patches/unapplied-server/0124-Toggle-for-water-sensitive-mob-damage.patch b/patches/server/0124-Toggle-for-water-sensitive-mob-damage.patch similarity index 97% rename from patches/unapplied-server/0124-Toggle-for-water-sensitive-mob-damage.patch rename to patches/server/0124-Toggle-for-water-sensitive-mob-damage.patch index 1c309593dd..2aa3dfdc29 100644 --- a/patches/unapplied-server/0124-Toggle-for-water-sensitive-mob-damage.patch +++ b/patches/server/0124-Toggle-for-water-sensitive-mob-damage.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Toggle for water sensitive mob damage diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java -index 0f5be53c6f6a66c61dc3f2bebeb18ca61d06c10d..a83187312422b0e087785d89f4a49b4c67427b95 100644 +index e282af89d635a2866a8655d1e4956f1bd2c6a85b..52223ecfbc8a66ea3f79c60ef299d2d0e1808ac2 100644 --- a/src/main/java/net/minecraft/world/entity/GlowSquid.java +++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java @@ -48,6 +48,11 @@ public class GlowSquid extends Squid { @@ -37,10 +37,10 @@ index 656088e81781a5711521edec565f4e34313b7bc6..29445156f8660d84bb9840c6ac85e0e2 public void readAdditionalSaveData(CompoundTag nbt) { super.readAdditionalSaveData(nbt); diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index 51b736979e43cd0e60a8ecaf2cf95511b9f4d858..d47e5f774567aa4710686430b66eb1409c2f0c97 100644 +index 235a2b732fd62bf7e8c34c14333c41a49a2418e0..e6e5954ca4366ad20b1d1413053739c767c45824 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java -@@ -182,7 +182,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -186,7 +186,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { // Paper end - Fix MC-167279 this.lookControl = new Bee.BeeLookControl(this); this.setPathfindingMalus(PathType.DANGER_FIRE, -1.0F); @@ -49,7 +49,7 @@ index 51b736979e43cd0e60a8ecaf2cf95511b9f4d858..d47e5f774567aa4710686430b66eb140 this.setPathfindingMalus(PathType.WATER_BORDER, 16.0F); this.setPathfindingMalus(PathType.COCOA, -1.0F); this.setPathfindingMalus(PathType.FENCE, -1.0F); -@@ -496,6 +496,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -500,6 +500,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { return this.level().purpurConfig.beeBreedingTicks; } @@ -62,7 +62,7 @@ index 51b736979e43cd0e60a8ecaf2cf95511b9f4d858..d47e5f774567aa4710686430b66eb140 public int getRemainingPersistentAngerTime() { return (Integer) this.entityData.get(Bee.DATA_REMAINING_ANGER_TIME); diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java -index 8a89ea47d79065e85bb831578c6a1ab71ca5a040..1a060021f92822a85aa45d682ee09d8ef69d7a1f 100644 +index c8e7eb5af0b7288d5ad3637ad5d1883b0cffc923..84094d19d9f3de9b474381c6b0aab1726fcdc40e 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java @@ -134,6 +134,11 @@ public class Cat extends TamableAnimal implements VariantHolder { @@ -174,10 +174,10 @@ index 500109364b4741fc310eb22c151754a153db027e..6396d31a14815fbe4f9f51dc610af317 protected void registerGoals() { if (level().purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java -index 3397fa689c6e36981f3944586c2059c8eb7b1e50..9d85342439977d3ac72ef133733df4f57a68714a 100644 +index f17c30c55a75eba58fcda2407d8039f64e646e7f..951f94da000587def4832a5fae68c1f5a6c9e2ea 100644 --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java -@@ -92,6 +92,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder { @@ -302,10 +302,10 @@ index d0ab026af1642b6b3094d37a0c994deb633da577..8e316da789cb7a8d4c630c71724a56d6 @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/Salmon.java b/src/main/java/net/minecraft/world/entity/animal/Salmon.java -index 9ec3479b0db1f42493db127081e341fa5acc8e41..486709c9701657c7aa93586f539c18e4157f8ef3 100644 +index 1295003dfceb585ef23705c17862efb3feff3868..cd995f8ce3bfd76fa0f4ea3fda71101b09d64ce2 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Salmon.java +++ b/src/main/java/net/minecraft/world/entity/animal/Salmon.java -@@ -49,6 +49,11 @@ public class Salmon extends AbstractSchoolingFish implements VariantHolder type, Level world) { super(type, world); @@ -685,7 +685,7 @@ index b150e41077ecf23dca828a519a545f93d256eb7c..62a2249e9611bd3801b8adb880929e3b } // Purpur start -@@ -288,7 +288,7 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -287,7 +287,7 @@ public class EnderMan extends Monster implements NeutralMob { @Override public boolean isSensitiveToWater() { @@ -711,7 +711,7 @@ index 89f808dd5470c9d94a0cd6b690b9711136027f8a..e8b7e291c96ff6856832fc6612f792fc protected void registerGoals() { this.goalSelector.addGoal(1, new FloatGoal(this)); diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java -index 63ddac9c83d70107dace11fe1f033d7e17b1541a..2a0561d0e0cfc6e732c2342e12a1af4dfa73befe 100644 +index db3f7befb52ab58240ca6a8a101a955d4068768e..2c9c4de193ae92e8e2639b33dd8db6fa37ab1ee1 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java @@ -76,6 +76,11 @@ public class Evoker extends SpellcasterIllager { @@ -823,7 +823,7 @@ index 3656c83ed02392f4121dab69ea7e0e5a64a984b0..0dde6fb0fbf85d1b5afe0fe25941c0c0 return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, 0.2F); } diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java -index 39ae23d4942178ce95d4c06e676545aa9a1e8756..6e665d75f2c3a6cec6307a2befb07e73e48da5eb 100644 +index f6f96c1d7d43c5dee023152456b243f3590b0b37..6a180656fb53b2f2a70cf219dc9ce7918b7d88ad 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java @@ -137,6 +137,11 @@ public class Phantom extends FlyingMob implements Enemy { @@ -839,10 +839,10 @@ index 39ae23d4942178ce95d4c06e676545aa9a1e8756..6e665d75f2c3a6cec6307a2befb07e73 public boolean isFlapping() { return (this.getUniqueFlapTickOffset() + this.tickCount) % Phantom.TICKS_PER_FLAP == 0; diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java -index 3613b82bef45dddf7e356deaee6353c48455e33a..b85579065ac006589120d4d7ed83d355a517b46d 100644 +index 16a5de23d095cc1b62c76eebe3828231018a572e..d7e67efed76401afbafc19285984a1175fbf250d 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java -@@ -87,6 +87,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve +@@ -90,6 +90,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.pillagerScale); } @@ -855,10 +855,10 @@ index 3613b82bef45dddf7e356deaee6353c48455e33a..b85579065ac006589120d4d7ed83d355 protected void registerGoals() { super.registerGoals(); diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java -index f257258473e036ae60d9463ae97d848192a61af7..48c66c97784f7c81029a81efb63eb6da4a2d88c2 100644 +index 265c84c778eb995d7da88fdb760fed5fb62bcda7..d5faedc263714a200ae2fd12b2f3ae1e3e18ed59 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java -@@ -106,6 +106,11 @@ public class Ravager extends Raider { +@@ -104,6 +104,11 @@ public class Ravager extends Raider { this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.ravagerScale); } @@ -871,7 +871,7 @@ index f257258473e036ae60d9463ae97d848192a61af7..48c66c97784f7c81029a81efb63eb6da protected void registerGoals() { super.registerGoals(); diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -index ebc50e517093329dc5c76cdcd3b6d7e7e66bf55f..4a04ade0cfeac23afbac1a5ef7dfff0df2136191 100644 +index 4e7c449ed4e093e7853f91547a8447e9afd9bf64..ef44ab79cba3778111c9f27f77219b384761d9e4 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java @@ -121,6 +121,11 @@ public class Shulker extends AbstractGolem implements VariantHolder type, ServerLevelAccessor world, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random ) { diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java -index bb2283fa9a21d7fc609f0a914cdb8b1370d90235..6c7b3b306b69c5b0526e48e4e636ed24d5c96820 100644 +index d99a621a4f7507d216c2793e9d1d9b84ea679acf..cdb8d5c625e18a2a4cf6b5d2da923f63127b6e9c 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Strider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java @@ -91,7 +91,7 @@ public class Strider extends Animal implements ItemSteerable, Saddleable { @@ -1039,10 +1039,10 @@ index 790e36ae4bd1d6290e16ec579127f8017ac43335..151169d76276409d6a042945b05ae680 protected void registerGoals() { super.registerGoals(); diff --git a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java -index 89ed0d044426aa0415f5cb4eb3f02342fcdddc7d..4c426f87fe2833382f48e353b27f381b48774fd9 100644 +index b0054b998e5494d64de538450daae432416c4d55..5f2e9d87c410551b9858c60fa2ca7ff66e23cb2f 100644 --- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java -@@ -56,6 +56,11 @@ public class WitherSkeleton extends AbstractSkeleton { +@@ -59,6 +59,11 @@ public class WitherSkeleton extends AbstractSkeleton { this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.witherSkeletonScale); } @@ -1087,7 +1087,7 @@ index e6fb53b828c1a2e76d398e88449260f6206145c3..d79eb7bd6d38a4f1aee89cf0cf331a12 protected void registerGoals() { this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java -index eb6daba7d44542739f1c537cbeef8f87c6db61bf..7298ba35cb27269e778de6b265933baed3077b36 100644 +index 2ee91a1822584fe11b139a747d60b6fa832fa177..95315588a523439a53ac7af3db5fc23adbed6f01 100644 --- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java @@ -112,6 +112,11 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { @@ -1135,10 +1135,10 @@ index 0ee5bdae0d8e42b3d6475bfe49bfa41ee3192769..1103274ba096b0cab3c89f0bdfeba15f public boolean canBeLeashed() { return true; diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -index f0decc0f4421a6dcd640ad8f0bfb56249bf31944..39cf09e03cd178471757e51334b07b4daffb43be 100644 +index 26090db2ed0cbd99e2f50368ba9f2bf6e56670da..570af47cd176dfa56c0920a8d41400aa1ade5fd0 100644 --- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -@@ -119,6 +119,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento +@@ -122,6 +122,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.piglinScale); } @@ -1167,7 +1167,7 @@ index 6459e588e6feb6d7bcf999e36b658bbad4069af2..9c196b0cf49cb6f69bd17748fd13ce59 return Monster.createMonsterAttributes() .add(Attributes.MAX_HEALTH, 50.0) diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 280f35782e4b336465ed45373e7843dd9f697d85..22a015f46aa1bb7ef8076fe34d2b69d9870780f1 100644 +index 0ceeaef16ce0c4abcc3bd7350ed147c91bda8d64..43932be4584995bd5f4ca4d712f3d3ec4d0c743a 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -193,6 +193,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler diff --git a/patches/unapplied-server/0125-Config-to-always-tame-in-Creative.patch b/patches/server/0125-Config-to-always-tame-in-Creative.patch similarity index 93% rename from patches/unapplied-server/0125-Config-to-always-tame-in-Creative.patch rename to patches/server/0125-Config-to-always-tame-in-Creative.patch index 26e3292f48..041f3e9a97 100644 --- a/patches/unapplied-server/0125-Config-to-always-tame-in-Creative.patch +++ b/patches/server/0125-Config-to-always-tame-in-Creative.patch @@ -20,10 +20,10 @@ index b0944fa1f3849dd24cd010fa0a6638f5fd7179d1..d409ae987088df3d47192128401d7491 return; } diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java -index 1a060021f92822a85aa45d682ee09d8ef69d7a1f..8f0a31c896340907aa8017c0a56fb58db48c2c65 100644 +index 84094d19d9f3de9b474381c6b0aab1726fcdc40e..4d9b177dd640e1b569cfd5575ad795d5962ae7b8 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java -@@ -522,7 +522,7 @@ public class Cat extends TamableAnimal implements VariantHolder diff --git a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java -index 59cf905b1b5686f6f4f2bad94730ffa69d3a2834..d82c62cdb219cee0bbc3083e38e18b7615ad09ef 100644 +index e9a77c1ae09af42d2d444ad6b5f6c8ac395044e1..9201d911cf155aab7735600073426a0d4213f38b 100644 --- a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java @@ -61,7 +61,7 @@ public class SpongeBlock extends Block { diff --git a/patches/unapplied-server/0149-Projectile-offset-config.patch b/patches/server/0149-Projectile-offset-config.patch similarity index 84% rename from patches/unapplied-server/0149-Projectile-offset-config.patch rename to patches/server/0149-Projectile-offset-config.patch index afda6bb11d..1594b092fc 100644 --- a/patches/unapplied-server/0149-Projectile-offset-config.patch +++ b/patches/server/0149-Projectile-offset-config.patch @@ -18,10 +18,10 @@ index 1d4d0799a86b9940b5e3b614c5a188ade5133f7e..58fa528e4b2589d362eb976afd6221cd world.playSound( diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java -index 52c40eafc77e50a6fd21b9a7a250cea501f11690..86204c2ab5bbd5d45ddb1d626f844d91ccae6b4f 100644 +index be1902a307a54434644b242b429ad47c271d2a0c..cac4de9877b91bd805a5a8f4b84d27449fc5001f 100644 --- a/src/main/java/net/minecraft/world/item/CrossbowItem.java +++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java -@@ -69,7 +69,7 @@ public class CrossbowItem extends ProjectileWeaponItem { +@@ -70,7 +70,7 @@ public class CrossbowItem extends ProjectileWeaponItem { ItemStack itemStack = user.getItemInHand(hand); ChargedProjectiles chargedProjectiles = itemStack.get(DataComponents.CHARGED_PROJECTILES); if (chargedProjectiles != null && !chargedProjectiles.isEmpty()) { @@ -31,62 +31,62 @@ index 52c40eafc77e50a6fd21b9a7a250cea501f11690..86204c2ab5bbd5d45ddb1d626f844d91 } else if (!user.getProjectile(itemStack).isEmpty()) { this.startSoundPlayed = false; diff --git a/src/main/java/net/minecraft/world/item/EggItem.java b/src/main/java/net/minecraft/world/item/EggItem.java -index 3ddd34e5d05fa1355a2affd329d72dea216cd0e4..770bdb3fb2426083ff6785f1c38ffe9d11f898e5 100644 +index 6d559fef484036194e4d899b82aaa7b5d518311e..9fb04b4e5b61ea497238e042fefa9a06f7489618 100644 --- a/src/main/java/net/minecraft/world/item/EggItem.java +++ b/src/main/java/net/minecraft/world/item/EggItem.java -@@ -27,7 +27,7 @@ public class EggItem extends Item implements ProjectileItem { +@@ -29,7 +29,7 @@ public class EggItem extends Item implements ProjectileItem { if (world instanceof ServerLevel worldserver) { // CraftBukkit start // Paper start - PlayerLaunchProjectileEvent -- final Projectile.Delayed thrownEgg = Projectile.spawnProjectileFromRotationDelayed(ThrownEgg::new, worldserver, itemstack, user, 0.0F, 1.5F, 1.0F); -+ final Projectile.Delayed thrownEgg = Projectile.spawnProjectileFromRotationDelayed(ThrownEgg::new, worldserver, itemstack, user, 0.0F, 1.5F, (float) worldserver.purpurConfig.eggProjectileOffset); // Purpur +- final Projectile.Delayed thrownEgg = Projectile.spawnProjectileFromRotationDelayed(ThrownEgg::new, worldserver, itemstack, user, 0.0F, EggItem.PROJECTILE_SHOOT_POWER, 1.0F); ++ final Projectile.Delayed thrownEgg = Projectile.spawnProjectileFromRotationDelayed(ThrownEgg::new, worldserver, itemstack, user, 0.0F, EggItem.PROJECTILE_SHOOT_POWER, (float) worldserver.purpurConfig.eggProjectileOffset); // Purpur com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) thrownEgg.projectile().getBukkitEntity()); if (event.callEvent() && thrownEgg.attemptSpawn()) { if (event.shouldConsume()) { diff --git a/src/main/java/net/minecraft/world/item/EnderpearlItem.java b/src/main/java/net/minecraft/world/item/EnderpearlItem.java -index ad99c6fb7bcd8ccbdeb405ca7ff73ae4d1c2f2ee..4039d300debadf29e6c544e8b4c950b7121a02d1 100644 +index 83bd9b1eff5b7f581c3f0af6f0f15bdf4b9de201..392f2600e4fb1ff937c3ec5635156b358eb36888 100644 --- a/src/main/java/net/minecraft/world/item/EnderpearlItem.java +++ b/src/main/java/net/minecraft/world/item/EnderpearlItem.java -@@ -24,7 +24,7 @@ public class EnderpearlItem extends Item { +@@ -26,7 +26,7 @@ public class EnderpearlItem extends Item { if (world instanceof ServerLevel worldserver) { // CraftBukkit start // Paper start - PlayerLaunchProjectileEvent -- final Projectile.Delayed thrownEnderpearl = Projectile.spawnProjectileFromRotationDelayed(ThrownEnderpearl::new, worldserver, itemstack, user, 0.0F, 1.5F, 1.0F); -+ final Projectile.Delayed thrownEnderpearl = Projectile.spawnProjectileFromRotationDelayed(ThrownEnderpearl::new, worldserver, itemstack, user, 0.0F, 1.5F, (float) worldserver.purpurConfig.enderPearlProjectileOffset); // Purpur +- final Projectile.Delayed thrownEnderpearl = Projectile.spawnProjectileFromRotationDelayed(ThrownEnderpearl::new, worldserver, itemstack, user, 0.0F, EnderpearlItem.PROJECTILE_SHOOT_POWER, 1.0F); ++ final Projectile.Delayed thrownEnderpearl = Projectile.spawnProjectileFromRotationDelayed(ThrownEnderpearl::new, worldserver, itemstack, user, 0.0F, EnderpearlItem.PROJECTILE_SHOOT_POWER, (float) worldserver.purpurConfig.enderPearlProjectileOffset); // Purpur com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) thrownEnderpearl.projectile().getBukkitEntity()); if (event.callEvent() && thrownEnderpearl.attemptSpawn()) { if (event.shouldConsume()) { diff --git a/src/main/java/net/minecraft/world/item/SnowballItem.java b/src/main/java/net/minecraft/world/item/SnowballItem.java -index 57872ebef6beb8cdc03c9f8f19de94652ee19062..60a064c26de0566aaf9f8be886402e291c03ca3b 100644 +index d3bba4665ae14cc279c0f937831f909f8831b12b..27499f01ef0bc89c4c3f60eb696ca07cc5984809 100644 --- a/src/main/java/net/minecraft/world/item/SnowballItem.java +++ b/src/main/java/net/minecraft/world/item/SnowballItem.java -@@ -27,7 +27,7 @@ public class SnowballItem extends Item implements ProjectileItem { +@@ -29,7 +29,7 @@ public class SnowballItem extends Item implements ProjectileItem { // world.playSound((EntityHuman) null, entityhuman.getX(), entityhuman.getY(), entityhuman.getZ(), SoundEffects.SNOWBALL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (world.getRandom().nextFloat() * 0.4F + 0.8F)); if (world instanceof ServerLevel worldserver) { // Paper start - PlayerLaunchProjectileEvent -- final Projectile.Delayed snowball = Projectile.spawnProjectileFromRotationDelayed(Snowball::new, worldserver, itemstack, user, 0.0F, 1.5F, 1.0F); -+ final Projectile.Delayed snowball = Projectile.spawnProjectileFromRotationDelayed(Snowball::new, worldserver, itemstack, user, 0.0F, 1.5F, (float) worldserver.purpurConfig.snowballProjectileOffset); // Purpur +- final Projectile.Delayed snowball = Projectile.spawnProjectileFromRotationDelayed(Snowball::new, worldserver, itemstack, user, 0.0F, SnowballItem.PROJECTILE_SHOOT_POWER, 1.0F); ++ final Projectile.Delayed snowball = Projectile.spawnProjectileFromRotationDelayed(Snowball::new, worldserver, itemstack, user, 0.0F, SnowballItem.PROJECTILE_SHOOT_POWER, (float) worldserver.purpurConfig.snowballProjectileOffset); // Purpur com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) snowball.projectile().getBukkitEntity()); if (event.callEvent() && snowball.attemptSpawn()) { user.awardStat(Stats.ITEM_USED.get(this)); diff --git a/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java b/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java -index fa9d2ae44fcdd06f8f33cd14ffca422b20a01451..ffbc71ca2a27800d7758e3db339bf06a39ef1f11 100644 +index e422881d1ab0f1a5bb2cb741d23089a2e35de2d4..bbd65d35d91d4f3ffabeb355b82f22ddde0f868b 100644 --- a/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java +++ b/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java -@@ -21,7 +21,7 @@ public class ThrowablePotionItem extends PotionItem implements ProjectileItem { +@@ -23,7 +23,7 @@ public class ThrowablePotionItem extends PotionItem implements ProjectileItem { ItemStack itemStack = user.getItemInHand(hand); if (world instanceof ServerLevel serverLevel) { // Paper start - PlayerLaunchProjectileEvent -- final Projectile.Delayed thrownPotion = Projectile.spawnProjectileFromRotationDelayed(ThrownPotion::new, serverLevel, itemStack, user, -20.0F, 0.5F, 1.0F); -+ final Projectile.Delayed thrownPotion = Projectile.spawnProjectileFromRotationDelayed(ThrownPotion::new, serverLevel, itemStack, user, -20.0F, 0.5F, (float) serverLevel.purpurConfig.throwablePotionProjectileOffset); // Purpur +- final Projectile.Delayed thrownPotion = Projectile.spawnProjectileFromRotationDelayed(ThrownPotion::new, serverLevel, itemStack, user, -20.0F, PROJECTILE_SHOOT_POWER, 1.0F); ++ final Projectile.Delayed thrownPotion = Projectile.spawnProjectileFromRotationDelayed(ThrownPotion::new, serverLevel, itemStack, user, -20.0F, PROJECTILE_SHOOT_POWER, (float) serverLevel.purpurConfig.throwablePotionProjectileOffset); // Purpur // Paper start - PlayerLaunchProjectileEvent com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemStack), (org.bukkit.entity.Projectile) thrownPotion.projectile().getBukkitEntity()); if (event.callEvent() && thrownPotion.attemptSpawn()) { diff --git a/src/main/java/net/minecraft/world/item/TridentItem.java b/src/main/java/net/minecraft/world/item/TridentItem.java -index 5133443911f932e8f6b5d3ca8baccecfd6f81c00..9134c4aada4e0cd7b51810a59405c07d433f7c78 100644 +index aff4f33be216f62d6c6e139dcd7fd82efdbd267c..810082126567eb02bec395065b95b3c3902d4973 100644 --- a/src/main/java/net/minecraft/world/item/TridentItem.java +++ b/src/main/java/net/minecraft/world/item/TridentItem.java -@@ -88,7 +88,7 @@ public class TridentItem extends Item implements ProjectileItem { +@@ -89,7 +89,7 @@ public class TridentItem extends Item implements ProjectileItem { // itemstack.hurtWithoutBreaking(1, entityhuman); // CraftBukkit - moved down if (f == 0.0F) { // Paper start - PlayerLaunchProjectileEvent diff --git a/patches/unapplied-server/0150-Config-for-powered-rail-activation-distance.patch b/patches/server/0150-Config-for-powered-rail-activation-distance.patch similarity index 100% rename from patches/unapplied-server/0150-Config-for-powered-rail-activation-distance.patch rename to patches/server/0150-Config-for-powered-rail-activation-distance.patch From 3933295f45ce226b63b027e043a73fe65bb842aa Mon Sep 17 00:00:00 2001 From: granny Date: Tue, 3 Dec 2024 21:04:31 -0800 Subject: [PATCH 09/19] 200 patches done --- .../0151-Piglin-portal-spawn-modifier.patch | 2 +- ...-Config-to-change-max-number-of-bees.patch | 2 +- ...3-Config-for-wither-explosion-radius.patch | 0 .../0154-Gamemode-extra-permissions.patch | 0 .../0155-Configurable-piston-push-limit.patch | 0 ...0156-Configurable-broadcast-settings.patch | 4 +-- .../0157-Configurable-mob-blindness.patch | 2 +- ...-hidden-players-from-entity-selector.patch | 0 ...h-to-impact-Creeper-explosion-radius.patch | 0 .../0160-Iron-golem-calm-anger-options.patch | 0 .../0161-Breedable-parrots.patch | 10 +++---- ...igurable-powered-rail-boost-modifier.patch | 0 ...nge-multiplier-critical-damage-value.patch | 4 +-- ...on-to-disable-dragon-egg-teleporting.patch | 0 ...nfig-for-unverified-username-message.patch | 0 ...e-anvil-cumulative-cost-configurable.patch | 0 ...ee-can-work-when-raining-or-at-night.patch | 4 +-- ...168-API-for-any-mob-to-burn-daylight.patch | 30 +++++++++---------- .../0169-Config-MobEffect-by-world.patch | 8 ++--- ...Beacon-Activation-Range-Configurable.patch | 0 ...ake-lightning-rod-range-configurable.patch | 4 +-- ...after-eating-food-fills-hunger-bar-c.patch | 8 ++--- ...layer-join-full-server-by-permission.patch | 2 +- .../0174-Add-portal-permission-bypass.patch | 6 ++-- ...75-Shulker-spawn-from-bullet-options.patch | 10 +++---- ...Eating-glow-berries-adds-glow-effect.patch | 4 +-- ...7-Option-to-make-drowned-break-doors.patch | 4 +-- ...onfigurable-hunger-starvation-damage.patch | 0 .../0179-Enhance-SysoutCatcher.patch | 0 .../0180-Add-uptime-command.patch | 2 +- .../0181-Tool-actionable-options.patch | 0 ...82-Store-placer-on-Block-when-placed.patch | 8 ++--- .../0183-Summoner-API.patch | 6 ++-- ...omizable-sleeping-actionbar-messages.patch | 8 ++--- ...e-shulker-box-items-from-dropping-co.patch | 4 +-- .../0186-Big-dripleaf-tilt-delay.patch | 0 .../0187-Player-ridable-in-water-option.patch | 4 +-- ...e-Enderman-teleport-on-projectile-hi.patch | 4 +-- .../0189-Add-compass-command.patch | 10 +++---- .../0190-Toggle-for-kinetic-damage.patch | 4 +-- ...d-Option-for-disable-observer-clocks.patch | 0 ...izeable-Zombie-Villager-curing-times.patch | 2 +- ...-for-sponges-to-work-on-lava-and-mud.patch | 6 ++-- ...0194-Toggle-for-Wither-s-spawn-sound.patch | 4 +-- ...s-breaks-from-solid-neighbors-config.patch | 0 ...emove-curse-of-binding-with-weakness.patch | 4 +-- .../0197-Conduit-behavior-configuration.patch | 0 .../0198-Cauldron-fill-chances.patch | 0 ...to-allow-mobs-to-pathfind-over-rails.patch | 0 .../0200-Shulker-change-color-with-dye.patch | 2 +- 50 files changed, 86 insertions(+), 86 deletions(-) rename patches/{unapplied-server => server}/0151-Piglin-portal-spawn-modifier.patch (96%) rename patches/{unapplied-server => server}/0152-Config-to-change-max-number-of-bees.patch (96%) rename patches/{unapplied-server => server}/0153-Config-for-wither-explosion-radius.patch (100%) rename patches/{unapplied-server => server}/0154-Gamemode-extra-permissions.patch (100%) rename patches/{unapplied-server => server}/0155-Configurable-piston-push-limit.patch (100%) rename patches/{unapplied-server => server}/0156-Configurable-broadcast-settings.patch (95%) rename patches/{unapplied-server => server}/0157-Configurable-mob-blindness.patch (96%) rename patches/{unapplied-server => server}/0158-Hide-hidden-players-from-entity-selector.patch (100%) rename patches/{unapplied-server => server}/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch (100%) rename patches/{unapplied-server => server}/0160-Iron-golem-calm-anger-options.patch (100%) rename patches/{unapplied-server => server}/0161-Breedable-parrots.patch (91%) rename patches/{unapplied-server => server}/0162-Configurable-powered-rail-boost-modifier.patch (100%) rename patches/{unapplied-server => server}/0163-Add-config-change-multiplier-critical-damage-value.patch (93%) rename patches/{unapplied-server => server}/0164-Option-to-disable-dragon-egg-teleporting.patch (100%) rename patches/{unapplied-server => server}/0165-Config-for-unverified-username-message.patch (100%) rename patches/{unapplied-server => server}/0166-Make-anvil-cumulative-cost-configurable.patch (100%) rename patches/{unapplied-server => server}/0167-Bee-can-work-when-raining-or-at-night.patch (93%) rename patches/{unapplied-server => server}/0168-API-for-any-mob-to-burn-daylight.patch (94%) rename patches/{unapplied-server => server}/0169-Config-MobEffect-by-world.patch (95%) rename patches/{unapplied-server => server}/0170-Beacon-Activation-Range-Configurable.patch (100%) rename patches/{unapplied-server => server}/0171-Make-lightning-rod-range-configurable.patch (93%) rename patches/{unapplied-server => server}/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch (96%) rename patches/{unapplied-server => server}/0173-Allow-player-join-full-server-by-permission.patch (93%) rename patches/{unapplied-server => server}/0174-Add-portal-permission-bypass.patch (91%) rename patches/{unapplied-server => server}/0175-Shulker-spawn-from-bullet-options.patch (92%) rename patches/{unapplied-server => server}/0176-Eating-glow-berries-adds-glow-effect.patch (96%) rename patches/{unapplied-server => server}/0177-Option-to-make-drowned-break-doors.patch (94%) rename patches/{unapplied-server => server}/0178-Configurable-hunger-starvation-damage.patch (100%) rename patches/{unapplied-server => server}/0179-Enhance-SysoutCatcher.patch (100%) rename patches/{unapplied-server => server}/0180-Add-uptime-command.patch (98%) rename patches/{unapplied-server => server}/0181-Tool-actionable-options.patch (100%) rename patches/{unapplied-server => server}/0182-Store-placer-on-Block-when-placed.patch (89%) rename patches/{unapplied-server => server}/0183-Summoner-API.patch (98%) rename patches/{unapplied-server => server}/0184-Customizable-sleeping-actionbar-messages.patch (94%) rename patches/{unapplied-server => server}/0185-option-to-disable-shulker-box-items-from-dropping-co.patch (94%) rename patches/{unapplied-server => server}/0186-Big-dripleaf-tilt-delay.patch (100%) rename patches/{unapplied-server => server}/0187-Player-ridable-in-water-option.patch (93%) rename patches/{unapplied-server => server}/0188-Config-to-disable-Enderman-teleport-on-projectile-hi.patch (94%) rename patches/{unapplied-server => server}/0189-Add-compass-command.patch (97%) rename patches/{unapplied-server => server}/0190-Toggle-for-kinetic-damage.patch (92%) rename patches/{unapplied-server => server}/0191-Add-Option-for-disable-observer-clocks.patch (100%) rename patches/{unapplied-server => server}/0192-Customizeable-Zombie-Villager-curing-times.patch (96%) rename patches/{unapplied-server => server}/0193-Option-for-sponges-to-work-on-lava-and-mud.patch (92%) rename patches/{unapplied-server => server}/0194-Toggle-for-Wither-s-spawn-sound.patch (93%) rename patches/{unapplied-server => server}/0195-Cactus-breaks-from-solid-neighbors-config.patch (100%) rename patches/{unapplied-server => server}/0196-Config-to-remove-curse-of-binding-with-weakness.patch (94%) rename patches/{unapplied-server => server}/0197-Conduit-behavior-configuration.patch (100%) rename patches/{unapplied-server => server}/0198-Cauldron-fill-chances.patch (100%) rename patches/{unapplied-server => server}/0199-Config-to-allow-mobs-to-pathfind-over-rails.patch (100%) rename patches/{unapplied-server => server}/0200-Shulker-change-color-with-dye.patch (96%) diff --git a/patches/unapplied-server/0151-Piglin-portal-spawn-modifier.patch b/patches/server/0151-Piglin-portal-spawn-modifier.patch similarity index 96% rename from patches/unapplied-server/0151-Piglin-portal-spawn-modifier.patch rename to patches/server/0151-Piglin-portal-spawn-modifier.patch index 5ff448ad6b..d3c6a38d06 100644 --- a/patches/unapplied-server/0151-Piglin-portal-spawn-modifier.patch +++ b/patches/server/0151-Piglin-portal-spawn-modifier.patch @@ -18,7 +18,7 @@ Difficulties: 3 - hard diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java -index c00b13482ce3f603f1d85b9a5ad36b768de5a9f8..10e747edebd6463cdfcea592cec1c232d837f21b 100644 +index 5169cba4c43d80ce3597c57bf7d40bd0148ec8a0..2d53c57c961fa8977e37931775863665381595eb 100644 --- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java @@ -78,7 +78,7 @@ public class NetherPortalBlock extends Block implements Portal { diff --git a/patches/unapplied-server/0152-Config-to-change-max-number-of-bees.patch b/patches/server/0152-Config-to-change-max-number-of-bees.patch similarity index 96% rename from patches/unapplied-server/0152-Config-to-change-max-number-of-bees.patch rename to patches/server/0152-Config-to-change-max-number-of-bees.patch index 6942ebdc5e..4d77b178df 100644 --- a/patches/unapplied-server/0152-Config-to-change-max-number-of-bees.patch +++ b/patches/server/0152-Config-to-change-max-number-of-bees.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Config to change max number of bees diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java -index 83ad45aed0894e90825d22e078632352c3a06816..b7ad467d7d7f50bcb90e50f00f905873e89c7956 100644 +index 65a85b4a4e159cfe55e435ed342a87bcc07b21d5..7f0e37e23ff4c64355fdc822c0ac683959b8588a 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java @@ -60,7 +60,7 @@ public class BeehiveBlockEntity extends BlockEntity { diff --git a/patches/unapplied-server/0153-Config-for-wither-explosion-radius.patch b/patches/server/0153-Config-for-wither-explosion-radius.patch similarity index 100% rename from patches/unapplied-server/0153-Config-for-wither-explosion-radius.patch rename to patches/server/0153-Config-for-wither-explosion-radius.patch diff --git a/patches/unapplied-server/0154-Gamemode-extra-permissions.patch b/patches/server/0154-Gamemode-extra-permissions.patch similarity index 100% rename from patches/unapplied-server/0154-Gamemode-extra-permissions.patch rename to patches/server/0154-Gamemode-extra-permissions.patch diff --git a/patches/unapplied-server/0155-Configurable-piston-push-limit.patch b/patches/server/0155-Configurable-piston-push-limit.patch similarity index 100% rename from patches/unapplied-server/0155-Configurable-piston-push-limit.patch rename to patches/server/0155-Configurable-piston-push-limit.patch diff --git a/patches/unapplied-server/0156-Configurable-broadcast-settings.patch b/patches/server/0156-Configurable-broadcast-settings.patch similarity index 95% rename from patches/unapplied-server/0156-Configurable-broadcast-settings.patch rename to patches/server/0156-Configurable-broadcast-settings.patch index 975d39c2d1..81970a6d5e 100644 --- a/patches/unapplied-server/0156-Configurable-broadcast-settings.patch +++ b/patches/server/0156-Configurable-broadcast-settings.patch @@ -17,10 +17,10 @@ index 0a16aa193ef24aa8f1716f9e089b8027fa3c0a3c..1e85c9318ede93b8e9fe548a8945324b // Paper end } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 5f6cab9de8a854ecbd031f9f9b4152f06b28267e..76c6624ba6233b951f7ded4e0ecc1a93fc81b331 100644 +index af7d238fafa84428509563548d343005fe17d460..e15233c4b8847621d400b942b9db641b7148d578 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1342,6 +1342,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1339,6 +1339,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple })); PlayerTeam scoreboardteam = this.getTeam(); diff --git a/patches/unapplied-server/0157-Configurable-mob-blindness.patch b/patches/server/0157-Configurable-mob-blindness.patch similarity index 96% rename from patches/unapplied-server/0157-Configurable-mob-blindness.patch rename to patches/server/0157-Configurable-mob-blindness.patch index dbb40ec091..8dbf704f50 100644 --- a/patches/unapplied-server/0157-Configurable-mob-blindness.patch +++ b/patches/server/0157-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 127befc7514ca36b75735b718751fb4cf3f915c4..0b99628d51df2c4df7ddf1c4c9f54e6dc3612533 100644 +index 327ff173c3f1223d457112f094116e0eec90fcc8..2a187f1b674a6e8279495921088d5a0620c4e404 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1078,6 +1078,17 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/unapplied-server/0158-Hide-hidden-players-from-entity-selector.patch b/patches/server/0158-Hide-hidden-players-from-entity-selector.patch similarity index 100% rename from patches/unapplied-server/0158-Hide-hidden-players-from-entity-selector.patch rename to patches/server/0158-Hide-hidden-players-from-entity-selector.patch diff --git a/patches/unapplied-server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch b/patches/server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch similarity index 100% rename from patches/unapplied-server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch rename to patches/server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch diff --git a/patches/unapplied-server/0160-Iron-golem-calm-anger-options.patch b/patches/server/0160-Iron-golem-calm-anger-options.patch similarity index 100% rename from patches/unapplied-server/0160-Iron-golem-calm-anger-options.patch rename to patches/server/0160-Iron-golem-calm-anger-options.patch diff --git a/patches/unapplied-server/0161-Breedable-parrots.patch b/patches/server/0161-Breedable-parrots.patch similarity index 91% rename from patches/unapplied-server/0161-Breedable-parrots.patch rename to patches/server/0161-Breedable-parrots.patch index 60ce037488..43b637153c 100644 --- a/patches/unapplied-server/0161-Breedable-parrots.patch +++ b/patches/server/0161-Breedable-parrots.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Breedable parrots diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java -index 9c7e29307b811d859a0d743b232463e18391b5f0..00759f484cab0d7c8d4e8914dd9f27061c8b7d45 100644 +index f951905a9b985cfeb3a960898724651e395b42e8..4a6137b3984a6a7c4bc0472ada4b61f948840b59 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java +++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java -@@ -224,6 +224,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder type, LevelAccessor world, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random) { -@@ -368,13 +370,13 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 8d0e578c5ee54af4e9f183b2865573881a3f9062..c1ba5eab15bb4b7599c1e5e23b90dfb361af93b6 100644 +index 60ffa728e6b8c861b0d108d1562150ccb671af33..433dbe3c9350cd55ff22d490e077bf1a31ae83be 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -578,6 +578,22 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -33,10 +33,10 @@ index 8d0e578c5ee54af4e9f183b2865573881a3f9062..c1ba5eab15bb4b7599c1e5e23b90dfb3 this.id = Entity.ENTITY_COUNTER.incrementAndGet(); this.despawnTime = type == EntityType.PLAYER ? -1 : world.paperConfig().entities.spawning.despawnTime.getOrDefault(type, io.papermc.paper.configuration.type.number.IntOr.Disabled.DISABLED).or(-1); // Paper - entity despawn time limit diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 0b99628d51df2c4df7ddf1c4c9f54e6dc3612533..3dade05c9299f339f94b8a29475dc5ba646b26c8 100644 +index 2a187f1b674a6e8279495921088d5a0620c4e404..33fe6d19b3702d8de987fd9292dfca35e08ca875 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -297,6 +297,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -295,6 +295,7 @@ public abstract class LivingEntity extends Entity implements Attackable { public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API @@ -64,7 +64,7 @@ index 0b99628d51df2c4df7ddf1c4c9f54e6dc3612533..3dade05c9299f339f94b8a29475dc5ba } // CraftBukkit start -@@ -3804,6 +3811,34 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3815,6 +3822,34 @@ public abstract class LivingEntity extends Entity implements Attackable { } } @@ -100,10 +100,10 @@ index 0b99628d51df2c4df7ddf1c4c9f54e6dc3612533..3dade05c9299f339f94b8a29475dc5ba public boolean isSensitiveToWater() { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 01da954d982b59bca8d8b76e66021ee04138a923..7ca12a1128661ea36e2e33cda204c7d2df55a21c 100644 +index 30be625e2f9c84f9ee3dbb68c8fc3806eae8a510..5ce7224afc224698e8b1c200c66a1069aab4458c 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1776,17 +1776,8 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -1777,17 +1777,8 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab protected void playAttackSound() {} public boolean isSunBurnTick() { @@ -124,10 +124,10 @@ index 01da954d982b59bca8d8b76e66021ee04138a923..7ca12a1128661ea36e2e33cda204c7d2 @Override diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java -index cf8422f7b9234a16f4537dfd212c55ded92cb1aa..bbe4c1cb4244ab813ef7d56c46c3ae62701c4824 100644 +index 617d06f7757ffbdd3eea14f7cbd881eaac075cc3..d41ed97feabd5b37f1ffae2a7b12c10895404591 100644 --- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java -@@ -68,6 +68,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo +@@ -70,6 +70,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo protected AbstractSkeleton(EntityType type, Level world) { super(type, world); this.reassessWeaponGoal(); @@ -135,7 +135,7 @@ index cf8422f7b9234a16f4537dfd212c55ded92cb1aa..bbe4c1cb4244ab813ef7d56c46c3ae62 } @Override -@@ -98,37 +99,14 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo +@@ -100,37 +101,14 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo abstract SoundEvent getStepSound(); // Paper start - shouldBurnInDay API @@ -175,7 +175,7 @@ index cf8422f7b9234a16f4537dfd212c55ded92cb1aa..bbe4c1cb4244ab813ef7d56c46c3ae62 super.aiStep(); } -@@ -245,7 +223,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo +@@ -252,7 +230,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo super.readAdditionalSaveData(nbt); this.reassessWeaponGoal(); // Paper start - shouldBurnInDay API @@ -184,7 +184,7 @@ index cf8422f7b9234a16f4537dfd212c55ded92cb1aa..bbe4c1cb4244ab813ef7d56c46c3ae62 this.shouldBurnInDay = nbt.getBoolean("Paper.ShouldBurnInDay"); } // Paper end - shouldBurnInDay API -@@ -255,7 +233,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo +@@ -262,7 +240,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo @Override public void addAdditionalSaveData(CompoundTag nbt) { super.addAdditionalSaveData(nbt); @@ -215,13 +215,13 @@ index 78e95f15de02cc0b2f2c6d71bf6c10828986c6f4..324fca775bacd06dcd521ce4b33d4f7d @Override diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java -index 6e665d75f2c3a6cec6307a2befb07e73e48da5eb..cc84fbab113f5633df274deb48de2484b05bb3ff 100644 +index 6a180656fb53b2f2a70cf219dc9ce7918b7d88ad..58318fcd78022eae68637e83d29498591a0387ad 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java @@ -60,6 +60,7 @@ public class Phantom extends FlyingMob implements Enemy { this.xpReward = 5; this.moveControl = new Phantom.PhantomMoveControl(this); - this.lookControl = new Phantom.PhantomLookControl(this, this); + this.lookControl = new Phantom.PhantomLookControl(this); + this.setShouldBurnInDay(true); // Purpur - API for any mob to burn daylight } @@ -357,7 +357,7 @@ index d79eb7bd6d38a4f1aee89cf0cf331a126351e767..b34dec421adc3ce56c0720a839a43ce4 } // Paper end - Add more Zombie API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index ac4064172f982a6efc25378fbd088cca1dda4a14..02b07d43364c7dec37f1d2adffe123a5b595f669 100644 +index c0b6efefc4d4f31602f39afa76f837300c22f804..d4396ece618c0fec437ed915ce07be3fb5f7dca9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -87,6 +87,13 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -375,7 +375,7 @@ index ac4064172f982a6efc25378fbd088cca1dda4a14..02b07d43364c7dec37f1d2adffe123a5 Preconditions.checkArgument(entity != null, "Unknown entity"); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index d0c409f4efad289e3e325f44b500fc72589d89d4..bf84c9664ca6d6c3d862e592c39bcc59374b63fe 100644 +index 4f98d138a275a6c34528b7a5148ef265bc38d6b5..7ccc40555964b906be6987532de1f319e38741ce 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1211,4 +1211,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied-server/0169-Config-MobEffect-by-world.patch b/patches/server/0169-Config-MobEffect-by-world.patch similarity index 95% rename from patches/unapplied-server/0169-Config-MobEffect-by-world.patch rename to patches/server/0169-Config-MobEffect-by-world.patch index 367e8410c9..13a4b70c2d 100644 --- a/patches/unapplied-server/0169-Config-MobEffect-by-world.patch +++ b/patches/server/0169-Config-MobEffect-by-world.patch @@ -18,10 +18,10 @@ index 11d1ee8fae7670f02cb3f5d57f4774dbde77f48c..88cf1353892a7ead4e0f16822216b151 return true; diff --git a/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java b/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java -index 83c6d17f75c3f0b531bdfd5b5f9bc2a5b3eb7a2c..df43c007e7b9fee58b2cd0892b966ce88cb1f890 100644 +index 3f1e59229d6a71117700a56c87914bc9401f1da2..32c8474ffa88e997bb484caecb21e3dc98991e70 100644 --- a/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java +++ b/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java -@@ -11,8 +11,8 @@ class PoisonMobEffect extends MobEffect { +@@ -13,8 +13,8 @@ public class PoisonMobEffect extends MobEffect { @Override public boolean applyEffectTick(ServerLevel world, LivingEntity entity, int amplifier) { @@ -59,10 +59,10 @@ index 98b74649a667fb9b10afef0ba5383a73022d8c71..837bdc7d6bd4e05b0deded829c678c86 ((CraftPlayer) entityhuman.getBukkitEntity()).sendHealthUpdate(); diff --git a/src/main/java/net/minecraft/world/effect/WitherMobEffect.java b/src/main/java/net/minecraft/world/effect/WitherMobEffect.java -index 303cefba51e19ac43b1f6188ad64ef480715ebaf..98ec88751b3e71c2e7aad633096b7f41608c0b33 100644 +index 55132e6e064ddd15b26286eca335305ed57b2f9e..1e04947995009689315352b79989e7ce4e20073c 100644 --- a/src/main/java/net/minecraft/world/effect/WitherMobEffect.java +++ b/src/main/java/net/minecraft/world/effect/WitherMobEffect.java -@@ -10,7 +10,7 @@ class WitherMobEffect extends MobEffect { +@@ -12,7 +12,7 @@ public class WitherMobEffect extends MobEffect { @Override public boolean applyEffectTick(ServerLevel world, LivingEntity entity, int amplifier) { diff --git a/patches/unapplied-server/0170-Beacon-Activation-Range-Configurable.patch b/patches/server/0170-Beacon-Activation-Range-Configurable.patch similarity index 100% rename from patches/unapplied-server/0170-Beacon-Activation-Range-Configurable.patch rename to patches/server/0170-Beacon-Activation-Range-Configurable.patch diff --git a/patches/unapplied-server/0171-Make-lightning-rod-range-configurable.patch b/patches/server/0171-Make-lightning-rod-range-configurable.patch similarity index 93% rename from patches/unapplied-server/0171-Make-lightning-rod-range-configurable.patch rename to patches/server/0171-Make-lightning-rod-range-configurable.patch index a9dc772076..8235db415f 100644 --- a/patches/unapplied-server/0171-Make-lightning-rod-range-configurable.patch +++ b/patches/server/0171-Make-lightning-rod-range-configurable.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make lightning rod range configurable diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index ad4f51ed28c797cae83a80234837203ac5dd9017..cbca8b51a38f54caa81a6265eef2cdf93205f55b 100644 +index bd4dbaee9a90909b9fd63d7c6fbac235a1d2264e..01f20a248c15bf46377a8cdb37759b43e872fb08 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1086,7 +1086,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1087,7 +1087,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe return holder.is(PoiTypes.LIGHTNING_ROD); }, (blockposition1) -> { return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1; diff --git a/patches/unapplied-server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch b/patches/server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch similarity index 96% rename from patches/unapplied-server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch rename to patches/server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch index 499ed123bf..f0cbd1a6ef 100644 --- a/patches/unapplied-server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch +++ b/patches/server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch @@ -18,10 +18,10 @@ index 837bdc7d6bd4e05b0deded829c678c86ae3d79d5..0c7c0524e487ff32e16dd9939d92bc64 } 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 4c42ad7e43ab1f19456a89f1b0e82b7a1f6e4108..c7393d9c8cb2bc4583cd3715a154f9411cc223e1 100644 +index 1cb8a5391e31017c0e0d958c72338904efc708cb..6885f1fb87e9cb5ac5e1ddd55f8b836a711c6f0a 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -198,6 +198,7 @@ public abstract class Player extends LivingEntity { +@@ -201,6 +201,7 @@ public abstract class Player extends LivingEntity { public boolean affectsSpawning = true; // Paper - Affects Spawning API public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage public int sixRowEnderchestSlotCount = -1; // Purpur @@ -29,7 +29,7 @@ index 4c42ad7e43ab1f19456a89f1b0e82b7a1f6e4108..c7393d9c8cb2bc4583cd3715a154f941 // CraftBukkit start public boolean fauxSleeping; -@@ -273,6 +274,12 @@ public abstract class Player extends LivingEntity { +@@ -276,6 +277,12 @@ public abstract class Player extends LivingEntity { @Override public void tick() { @@ -40,7 +40,7 @@ index 4c42ad7e43ab1f19456a89f1b0e82b7a1f6e4108..c7393d9c8cb2bc4583cd3715a154f941 + // Purpur end + this.noPhysics = this.isSpectator(); - if (this.isSpectator()) { + if (this.isSpectator() || this.isPassenger()) { this.setOnGround(false); diff --git a/src/main/java/net/minecraft/world/food/FoodData.java b/src/main/java/net/minecraft/world/food/FoodData.java index 6a686be6a69ae890d519a54ca099d4ba14e5b9e1..4f8ee2e5db3352306f3c035052866d95630f4aaf 100644 diff --git a/patches/unapplied-server/0173-Allow-player-join-full-server-by-permission.patch b/patches/server/0173-Allow-player-join-full-server-by-permission.patch similarity index 93% rename from patches/unapplied-server/0173-Allow-player-join-full-server-by-permission.patch rename to patches/server/0173-Allow-player-join-full-server-by-permission.patch index 6d33d24eb0..fbcdb3243c 100644 --- a/patches/unapplied-server/0173-Allow-player-join-full-server-by-permission.patch +++ b/patches/server/0173-Allow-player-join-full-server-by-permission.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow player join full server by permission diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index af6ddb3231083244455d750f91bd3e4b2b4b5a0d..d823c9dc6d898f55e677dc320c84a4d8696671b1 100644 +index db0fe267c1eeb6e2f3ac03a64431d3126d7f5d5a..e1d195ab8b005edd7fcded810ddf903b47c000a1 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -711,7 +711,7 @@ public abstract class PlayerList { diff --git a/patches/unapplied-server/0174-Add-portal-permission-bypass.patch b/patches/server/0174-Add-portal-permission-bypass.patch similarity index 91% rename from patches/unapplied-server/0174-Add-portal-permission-bypass.patch rename to patches/server/0174-Add-portal-permission-bypass.patch index 917381934d..766f9270fb 100644 --- a/patches/unapplied-server/0174-Add-portal-permission-bypass.patch +++ b/patches/server/0174-Add-portal-permission-bypass.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add portal permission bypass 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 c7393d9c8cb2bc4583cd3715a154f9411cc223e1..81f88c838f35860fdb7d7f62ed1b98f5734c766e 100644 +index 6885f1fb87e9cb5ac5e1ddd55f8b836a711c6f0a..7fccb7672e41545d747de1425335df7061222e52 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -199,6 +199,7 @@ public abstract class Player extends LivingEntity { +@@ -202,6 +202,7 @@ public abstract class Player extends LivingEntity { public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage public int sixRowEnderchestSlotCount = -1; // Purpur public int burpDelay = 0; // Purpur @@ -17,7 +17,7 @@ index c7393d9c8cb2bc4583cd3715a154f9411cc223e1..81f88c838f35860fdb7d7f62ed1b98f5 // CraftBukkit start public boolean fauxSleeping; diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java -index 10e747edebd6463cdfcea592cec1c232d837f21b..02bcba52e28f757b59e2f384d5744834962870f0 100644 +index 2d53c57c961fa8977e37931775863665381595eb..6c10860aee8b8fac4089fb7f1506c890fb3f5308 100644 --- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java @@ -137,7 +137,7 @@ public class NetherPortalBlock extends Block implements Portal { diff --git a/patches/unapplied-server/0175-Shulker-spawn-from-bullet-options.patch b/patches/server/0175-Shulker-spawn-from-bullet-options.patch similarity index 92% rename from patches/unapplied-server/0175-Shulker-spawn-from-bullet-options.patch rename to patches/server/0175-Shulker-spawn-from-bullet-options.patch index 7d010504e1..eef654bc12 100644 --- a/patches/unapplied-server/0175-Shulker-spawn-from-bullet-options.patch +++ b/patches/server/0175-Shulker-spawn-from-bullet-options.patch @@ -13,7 +13,7 @@ Subject: [PATCH] Shulker spawn from bullet options (7 - 1) / 5.0 = 1.2 1.0 - 1.2 = -0.2 0% (6 other shulkers) diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -index 4a04ade0cfeac23afbac1a5ef7dfff0df2136191..79bf3d04fa2c7bcadfff08dc9a464e589866f7db 100644 +index ef44ab79cba3778111c9f27f77219b384761d9e4..8464a8288f7ec7ae14e44b93607ebb0617790c46 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java @@ -512,12 +512,21 @@ public class Shulker extends AbstractGolem implements VariantHolder 0.0F) { this.playSound(this.getFallDamageSound((int) f), 1.0F, 1.0F); diff --git a/patches/unapplied-server/0191-Add-Option-for-disable-observer-clocks.patch b/patches/server/0191-Add-Option-for-disable-observer-clocks.patch similarity index 100% rename from patches/unapplied-server/0191-Add-Option-for-disable-observer-clocks.patch rename to patches/server/0191-Add-Option-for-disable-observer-clocks.patch diff --git a/patches/unapplied-server/0192-Customizeable-Zombie-Villager-curing-times.patch b/patches/server/0192-Customizeable-Zombie-Villager-curing-times.patch similarity index 96% rename from patches/unapplied-server/0192-Customizeable-Zombie-Villager-curing-times.patch rename to patches/server/0192-Customizeable-Zombie-Villager-curing-times.patch index a8b06aa058..fe616fa9b4 100644 --- a/patches/unapplied-server/0192-Customizeable-Zombie-Villager-curing-times.patch +++ b/patches/server/0192-Customizeable-Zombie-Villager-curing-times.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Customizeable Zombie Villager curing times diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java -index 7298ba35cb27269e778de6b265933baed3077b36..623e8ef53d6336b3e3c83fd37eda13244a3b4ab6 100644 +index 95315588a523439a53ac7af3db5fc23adbed6f01..811c5c4bc98401bc9314894eb5cb64bf31b03f63 100644 --- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java @@ -227,7 +227,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { diff --git a/patches/unapplied-server/0193-Option-for-sponges-to-work-on-lava-and-mud.patch b/patches/server/0193-Option-for-sponges-to-work-on-lava-and-mud.patch similarity index 92% rename from patches/unapplied-server/0193-Option-for-sponges-to-work-on-lava-and-mud.patch rename to patches/server/0193-Option-for-sponges-to-work-on-lava-and-mud.patch index 3f92a8a7a2..9fafcefac4 100644 --- a/patches/unapplied-server/0193-Option-for-sponges-to-work-on-lava-and-mud.patch +++ b/patches/server/0193-Option-for-sponges-to-work-on-lava-and-mud.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Option for sponges to work on lava and mud Co-authored by: granny diff --git a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java -index d82c62cdb219cee0bbc3083e38e18b7615ad09ef..4c5bc71fef307d13b640e534ace0b4411f6e97e2 100644 +index 9201d911cf155aab7735600073426a0d4213f38b..4540d3a31ed89ea3684feeffb85a391655e9cbbc 100644 --- a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java @@ -80,7 +80,7 @@ public class SpongeBlock extends Block { @@ -15,7 +15,7 @@ index d82c62cdb219cee0bbc3083e38e18b7615ad09ef..4c5bc71fef307d13b640e534ace0b441 - if (!fluid.is(FluidTags.WATER)) { + if (!fluid.is(FluidTags.WATER) && (!world.purpurConfig.spongeAbsorbsLava || !fluid.is(FluidTags.LAVA)) && (!world.purpurConfig.spongeAbsorbsWaterFromMud || !iblockdata.is(Blocks.MUD))) { // Purpur - return false; + return BlockPos.TraversalNodeStatus.SKIP; } else { Block block = iblockdata.getBlock(); @@ -95,6 +95,10 @@ public class SpongeBlock extends Block { @@ -28,7 +28,7 @@ index d82c62cdb219cee0bbc3083e38e18b7615ad09ef..4c5bc71fef307d13b640e534ace0b441 + // Purpur end } else { if (!iblockdata.is(Blocks.KELP) && !iblockdata.is(Blocks.KELP_PLANT) && !iblockdata.is(Blocks.SEAGRASS) && !iblockdata.is(Blocks.TALL_SEAGRASS)) { - return false; + return BlockPos.TraversalNodeStatus.SKIP; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java index 2710709349c9d32b4b7e83bbb1cc9b1fde29310a..afad9ec6ea76ba66cad2f895ce04cc704e8d3235 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/patches/unapplied-server/0194-Toggle-for-Wither-s-spawn-sound.patch b/patches/server/0194-Toggle-for-Wither-s-spawn-sound.patch similarity index 93% rename from patches/unapplied-server/0194-Toggle-for-Wither-s-spawn-sound.patch rename to patches/server/0194-Toggle-for-Wither-s-spawn-sound.patch index 368feb1029..c1c2053e8f 100644 --- a/patches/unapplied-server/0194-Toggle-for-Wither-s-spawn-sound.patch +++ b/patches/server/0194-Toggle-for-Wither-s-spawn-sound.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for Wither's spawn sound diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index f19d9fc0a993739e34a2d55bbab9f4736f7688b8..a1be1d02bfd8155752e5ea66aa2aaa29361a213a 100644 +index 54100d5d9ed31fe292750e668f3c2ba9257f5ef3..6a85049919f0cdc7051d1789a951d9e36162dfb9 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -@@ -431,7 +431,7 @@ public class WitherBoss extends Monster implements RangedAttackMob { +@@ -430,7 +430,7 @@ public class WitherBoss extends Monster implements RangedAttackMob { } // CraftBukkit end diff --git a/patches/unapplied-server/0195-Cactus-breaks-from-solid-neighbors-config.patch b/patches/server/0195-Cactus-breaks-from-solid-neighbors-config.patch similarity index 100% rename from patches/unapplied-server/0195-Cactus-breaks-from-solid-neighbors-config.patch rename to patches/server/0195-Cactus-breaks-from-solid-neighbors-config.patch diff --git a/patches/unapplied-server/0196-Config-to-remove-curse-of-binding-with-weakness.patch b/patches/server/0196-Config-to-remove-curse-of-binding-with-weakness.patch similarity index 94% rename from patches/unapplied-server/0196-Config-to-remove-curse-of-binding-with-weakness.patch rename to patches/server/0196-Config-to-remove-curse-of-binding-with-weakness.patch index c1b9d0408d..ff850ba75e 100644 --- a/patches/unapplied-server/0196-Config-to-remove-curse-of-binding-with-weakness.patch +++ b/patches/server/0196-Config-to-remove-curse-of-binding-with-weakness.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Config to remove curse of binding with weakness diff --git a/src/main/java/net/minecraft/world/inventory/ArmorSlot.java b/src/main/java/net/minecraft/world/inventory/ArmorSlot.java -index 6c0b6abb1698fac9bb902f695b725d4ab783ee90..091e3c3514fcb378b68098114106d09f04d8fb0d 100644 +index db7caaa2e77b9b98adac8add3040131c673c036b..262d9b2507d37edf0ed9c0821059e518d1baa9e9 100644 --- a/src/main/java/net/minecraft/world/inventory/ArmorSlot.java +++ b/src/main/java/net/minecraft/world/inventory/ArmorSlot.java -@@ -45,7 +45,7 @@ class ArmorSlot extends Slot { +@@ -44,7 +44,7 @@ class ArmorSlot extends Slot { @Override public boolean mayPickup(Player playerEntity) { ItemStack itemStack = this.getItem(); diff --git a/patches/unapplied-server/0197-Conduit-behavior-configuration.patch b/patches/server/0197-Conduit-behavior-configuration.patch similarity index 100% rename from patches/unapplied-server/0197-Conduit-behavior-configuration.patch rename to patches/server/0197-Conduit-behavior-configuration.patch diff --git a/patches/unapplied-server/0198-Cauldron-fill-chances.patch b/patches/server/0198-Cauldron-fill-chances.patch similarity index 100% rename from patches/unapplied-server/0198-Cauldron-fill-chances.patch rename to patches/server/0198-Cauldron-fill-chances.patch diff --git a/patches/unapplied-server/0199-Config-to-allow-mobs-to-pathfind-over-rails.patch b/patches/server/0199-Config-to-allow-mobs-to-pathfind-over-rails.patch similarity index 100% rename from patches/unapplied-server/0199-Config-to-allow-mobs-to-pathfind-over-rails.patch rename to patches/server/0199-Config-to-allow-mobs-to-pathfind-over-rails.patch diff --git a/patches/unapplied-server/0200-Shulker-change-color-with-dye.patch b/patches/server/0200-Shulker-change-color-with-dye.patch similarity index 96% rename from patches/unapplied-server/0200-Shulker-change-color-with-dye.patch rename to patches/server/0200-Shulker-change-color-with-dye.patch index 539c8d3245..52f0beba59 100644 --- a/patches/unapplied-server/0200-Shulker-change-color-with-dye.patch +++ b/patches/server/0200-Shulker-change-color-with-dye.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Shulker change color with dye diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -index 79bf3d04fa2c7bcadfff08dc9a464e589866f7db..131c7d7e85a3d9ac0e485fd8e56bd419a775289d 100644 +index 8464a8288f7ec7ae14e44b93607ebb0617790c46..837a251afd68b68c5f5f6ab940d62332cb80fe6f 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java @@ -126,6 +126,19 @@ public class Shulker extends AbstractGolem implements VariantHolder Date: Tue, 3 Dec 2024 21:08:38 -0800 Subject: [PATCH 10/19] 250 patches done --- .../0201-Extended-OfflinePlayer-API.patch | 4 +- ...the-ability-to-add-combustible-items.patch | 0 ...ain-and-thunder-should-stop-on-sleep.patch | 6 +- ...a-blocks-to-grow-into-trees-naturall.patch | 6 +- ...t-right-click-to-use-exp-for-mending.patch | 14 ++-- ...turally-aggressive-to-players-chance.patch | 0 ...turally-aggressive-to-players-chance.patch | 0 ...or-beds-to-explode-on-villager-sleep.patch | 2 +- ...-Halloween-options-and-optimizations.patch | 4 +- .../0210-Config-for-grindstones.patch | 0 .../0211-UPnP-Port-Forwarding.patch | 4 +- ...-Campfire-option-for-lit-when-placed.patch | 2 +- ...xtinguish-fire-blocks-with-snowballs.patch | 2 +- ...ion-to-disable-zombie-villagers-cure.patch | 2 +- ...ent-BlockEntity-Lore-and-DisplayName.patch | 12 ++-- .../0216-Signs-allow-color-codes.patch | 6 +- ...g-and-twisting-vines-configurable-ma.patch | 2 +- .../0218-Mobs-always-drop-experience.patch | 72 +++++++++---------- .../0219-Grindstone-API.patch | 0 ...oe-to-replant-crops-and-nether-warts.patch | 4 +- ...Turtle-eggs-random-tick-crack-chance.patch | 0 .../0222-Mob-head-visibility-percent.patch | 2 +- ...rable-valid-characters-for-usernames.patch | 0 ...-Stop-bees-from-dying-after-stinging.patch | 4 +- ...counts-in-beehives-to-Purpur-clients.patch | 4 +- ...Configurable-farmland-trample-height.patch | 0 ...Configurable-player-pickup-exp-delay.patch | 8 +-- .../0228-Allow-void-trading.patch | 4 +- .../0229-Configurable-phantom-size.patch | 2 +- .../0230-Max-joins-per-second.patch | 2 +- ...nfigurable-minimum-demand-for-trades.patch | 2 +- .../0232-Lobotomize-stuck-villagers.patch | 2 +- ...tion-for-villager-display-trade-item.patch | 0 ...awner-not-spawning-water-animals-cor.patch | 0 ...fig-for-mob-last-hurt-by-player-time.patch | 28 ++++---- .../0236-Anvil-repair-damage-options.patch | 0 ...e-turtle-egg-trampling-with-feather-.patch | 0 ...dd-toggle-for-enchant-level-clamping.patch | 4 +- ...Skip-junit-tests-for-purpur-commands.patch | 0 ...urable-search-radius-for-villagers-t.patch | 2 +- .../0241-Stonecutter-damage.patch | 4 +- ...ble-damage-settings-for-magma-blocks.patch | 0 ...0243-Add-config-for-snow-on-blue-ice.patch | 0 .../0244-Skeletons-eat-wither-roses.patch | 0 ...245-Enchantment-Table-Persists-Lapis.patch | 18 ++--- ...o-disable-kick-for-out-of-order-chat.patch | 0 ...-for-sculk-shrieker-can_summon-state.patch | 4 +- .../0248-Config-to-not-let-coral-die.patch | 0 .../0249-Add-local-difficulty-api.patch | 2 +- ...0250-Add-toggle-for-RNG-manipulation.patch | 4 +- 50 files changed, 119 insertions(+), 119 deletions(-) rename patches/{unapplied-server => server}/0201-Extended-OfflinePlayer-API.patch (98%) rename patches/{unapplied-server => server}/0202-Added-the-ability-to-add-combustible-items.patch (100%) rename patches/{unapplied-server => server}/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch (93%) rename patches/{unapplied-server => server}/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch (95%) rename patches/{unapplied-server => server}/0205-Shift-right-click-to-use-exp-for-mending.patch (87%) rename patches/{unapplied-server => server}/0206-Dolphins-naturally-aggressive-to-players-chance.patch (100%) rename patches/{unapplied-server => server}/0207-Cows-naturally-aggressive-to-players-chance.patch (100%) rename patches/{unapplied-server => server}/0208-Option-for-beds-to-explode-on-villager-sleep.patch (96%) rename patches/{unapplied-server => server}/0209-Halloween-options-and-optimizations.patch (96%) rename patches/{unapplied-server => server}/0210-Config-for-grindstones.patch (100%) rename patches/{unapplied-server => server}/0211-UPnP-Port-Forwarding.patch (96%) rename patches/{unapplied-server => server}/0212-Campfire-option-for-lit-when-placed.patch (96%) rename patches/{unapplied-server => server}/0213-options-to-extinguish-fire-blocks-with-snowballs.patch (98%) rename patches/{unapplied-server => server}/0214-Add-option-to-disable-zombie-villagers-cure.patch (96%) rename patches/{unapplied-server => server}/0215-Persistent-BlockEntity-Lore-and-DisplayName.patch (95%) rename patches/{unapplied-server => server}/0216-Signs-allow-color-codes.patch (96%) rename patches/{unapplied-server => server}/0217-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch (99%) rename patches/{unapplied-server => server}/0218-Mobs-always-drop-experience.patch (97%) rename patches/{unapplied-server => server}/0219-Grindstone-API.patch (100%) rename patches/{unapplied-server => server}/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch (96%) rename patches/{unapplied-server => server}/0221-Turtle-eggs-random-tick-crack-chance.patch (100%) rename patches/{unapplied-server => server}/0222-Mob-head-visibility-percent.patch (98%) rename patches/{unapplied-server => server}/0223-Configurable-valid-characters-for-usernames.patch (100%) rename patches/{unapplied-server => server}/0224-Stop-bees-from-dying-after-stinging.patch (92%) rename patches/{unapplied-server => server}/0225-Give-bee-counts-in-beehives-to-Purpur-clients.patch (98%) rename patches/{unapplied-server => server}/0226-Configurable-farmland-trample-height.patch (100%) rename patches/{unapplied-server => server}/0227-Configurable-player-pickup-exp-delay.patch (92%) rename patches/{unapplied-server => server}/0228-Allow-void-trading.patch (94%) rename patches/{unapplied-server => server}/0229-Configurable-phantom-size.patch (96%) rename patches/{unapplied-server => server}/0230-Max-joins-per-second.patch (96%) rename patches/{unapplied-server => server}/0231-Configurable-minimum-demand-for-trades.patch (97%) rename patches/{unapplied-server => server}/0232-Lobotomize-stuck-villagers.patch (98%) rename patches/{unapplied-server => server}/0233-Option-for-villager-display-trade-item.patch (100%) rename patches/{unapplied-server => server}/0234-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch (100%) rename patches/{unapplied-server => server}/0235-Config-for-mob-last-hurt-by-player-time.patch (74%) rename patches/{unapplied-server => server}/0236-Anvil-repair-damage-options.patch (100%) rename patches/{unapplied-server => server}/0237-Option-to-disable-turtle-egg-trampling-with-feather-.patch (100%) rename patches/{unapplied-server => server}/0238-Add-toggle-for-enchant-level-clamping.patch (97%) rename patches/{unapplied-server => server}/0239-Skip-junit-tests-for-purpur-commands.patch (100%) rename patches/{unapplied-server => server}/0240-Implement-configurable-search-radius-for-villagers-t.patch (96%) rename patches/{unapplied-server => server}/0241-Stonecutter-damage.patch (98%) rename patches/{unapplied-server => server}/0242-Configurable-damage-settings-for-magma-blocks.patch (100%) rename patches/{unapplied-server => server}/0243-Add-config-for-snow-on-blue-ice.patch (100%) rename patches/{unapplied-server => server}/0244-Skeletons-eat-wither-roses.patch (100%) rename patches/{unapplied-server => server}/0245-Enchantment-Table-Persists-Lapis.patch (90%) rename patches/{unapplied-server => server}/0246-Option-to-disable-kick-for-out-of-order-chat.patch (100%) rename patches/{unapplied-server => server}/0247-Config-for-sculk-shrieker-can_summon-state.patch (92%) rename patches/{unapplied-server => server}/0248-Config-to-not-let-coral-die.patch (100%) rename patches/{unapplied-server => server}/0249-Add-local-difficulty-api.patch (91%) rename patches/{unapplied-server => server}/0250-Add-toggle-for-RNG-manipulation.patch (94%) diff --git a/patches/unapplied-server/0201-Extended-OfflinePlayer-API.patch b/patches/server/0201-Extended-OfflinePlayer-API.patch similarity index 98% rename from patches/unapplied-server/0201-Extended-OfflinePlayer-API.patch rename to patches/server/0201-Extended-OfflinePlayer-API.patch index 3a73bd938d..0f9e9914fb 100644 --- a/patches/unapplied-server/0201-Extended-OfflinePlayer-API.patch +++ b/patches/server/0201-Extended-OfflinePlayer-API.patch @@ -243,10 +243,10 @@ index 94ca0407303c4493ab4928b12ec6ecc75aaca549..a138e1b6b66d99f2035de054137a607a + // Purpur end - OfflinePlayer API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6abf043faf27d1385ad45c264822a9f49974863d..7be5b26b3d9e4d38838ecca8f65f8671c3c17ed2 100644 +index 75986a13b87c2024c96742fbbab960026b256837..3c76dd383ec0ba19eea19d12902833dc410f96c0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2775,6 +2775,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2760,6 +2760,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } diff --git a/patches/unapplied-server/0202-Added-the-ability-to-add-combustible-items.patch b/patches/server/0202-Added-the-ability-to-add-combustible-items.patch similarity index 100% rename from patches/unapplied-server/0202-Added-the-ability-to-add-combustible-items.patch rename to patches/server/0202-Added-the-ability-to-add-combustible-items.patch diff --git a/patches/unapplied-server/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch b/patches/server/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch similarity index 93% rename from patches/unapplied-server/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch rename to patches/server/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch index 9b6817cbb8..f129de9a3f 100644 --- a/patches/unapplied-server/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch +++ b/patches/server/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Option for if rain and thunder should stop on sleep diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 139bc93411fb8bafedf283c92161bc5905e7e982..4c076428c85e66fae9bf658cc816c2f9ef6b47c4 100644 +index 04b2d2d917465898f919650d2346608390664bd2..9ceaf051ebc9d58b584b93832cc21ad43ac1a558 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1295,6 +1295,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1296,6 +1296,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @VisibleForTesting public void resetWeatherCycle() { // CraftBukkit start @@ -16,7 +16,7 @@ index 139bc93411fb8bafedf283c92161bc5905e7e982..4c076428c85e66fae9bf658cc816c2f9 this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - Add cause to Weather/ThunderChangeEvents // If we stop due to everyone sleeping we should reset the weather duration to some other random value. // Not that everyone ever manages to get the whole server to sleep at the same time.... -@@ -1302,6 +1303,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1303,6 +1304,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe this.serverLevelData.setRainTime(0); } // CraftBukkit end diff --git a/patches/unapplied-server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch b/patches/server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch similarity index 95% rename from patches/unapplied-server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch rename to patches/server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch index 503fb7766f..ba36507d78 100644 --- a/patches/unapplied-server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch +++ b/patches/server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch @@ -30,10 +30,10 @@ index affbbf6abc6bc09ecb652c1dee92aa297458bc39..febc05dc39741807127cba4a2a55aaad } diff --git a/src/main/java/net/minecraft/world/level/block/Blocks.java b/src/main/java/net/minecraft/world/level/block/Blocks.java -index 66a07f7cbf1c1d6ecbe055cbf4f63eb07d93e90c..63d67d46d30ed8ed57cdc0e59b6cb6b75ab22c1f 100644 +index 9bafac9b2c7b487f745fb64354f4bbc6a7ded468..1c34691da51d7f7ba3d54e095a3b58b74a5f2263 100644 --- a/src/main/java/net/minecraft/world/level/block/Blocks.java +++ b/src/main/java/net/minecraft/world/level/block/Blocks.java -@@ -6465,6 +6465,7 @@ public class Blocks { +@@ -6454,6 +6454,7 @@ public class Blocks { BlockBehaviour.Properties.of() .mapColor(MapColor.PLANT) .forceSolidOff() @@ -41,7 +41,7 @@ index 66a07f7cbf1c1d6ecbe055cbf4f63eb07d93e90c..63d67d46d30ed8ed57cdc0e59b6cb6b7 .instabreak() .sound(SoundType.AZALEA) .noOcclusion() -@@ -6476,6 +6477,7 @@ public class Blocks { +@@ -6465,6 +6466,7 @@ public class Blocks { BlockBehaviour.Properties.of() .mapColor(MapColor.PLANT) .forceSolidOff() diff --git a/patches/unapplied-server/0205-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch similarity index 87% rename from patches/unapplied-server/0205-Shift-right-click-to-use-exp-for-mending.patch rename to patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch index ff1898ae18..1e46b90d4a 100644 --- a/patches/unapplied-server/0205-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch @@ -36,17 +36,17 @@ index 7315e604a2f9cb068eb5bbca744e44eeabac09c9..88eb3774f688bcff383efa7f113bd0b1 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index abec164f413342bf1d2d25479ea8a42fce6a66c7..1e1b42f60679c8b8b27b3255feda4c6cf77d5536 100644 +index f993d33caa44a2d782780c8829a7785ed74b3dcc..3c98be45587f3f6ca6cdc53834ef7dae4962f58d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2094,6 +2094,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2152,6 +2152,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - boolean cancelled; - if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) { + boolean cancelled; + if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) { + if (this.player.gameMode.shiftClickMended(itemstack)) return; // Purpur - org.bukkit.event.player.PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(this.player, Action.RIGHT_CLICK_AIR, itemstack, enumhand); - cancelled = event.useItemInHand() == Event.Result.DENY; - } else { + org.bukkit.event.player.PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(this.player, Action.RIGHT_CLICK_AIR, itemstack, enumhand); + cancelled = event.useItemInHand() == Event.Result.DENY; + } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java index ea1314eb2ac0f8c1dd681b85951bcdd2cead1bf6..e351feee5916492edebb92f9af47c87e582b239d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/patches/unapplied-server/0206-Dolphins-naturally-aggressive-to-players-chance.patch b/patches/server/0206-Dolphins-naturally-aggressive-to-players-chance.patch similarity index 100% rename from patches/unapplied-server/0206-Dolphins-naturally-aggressive-to-players-chance.patch rename to patches/server/0206-Dolphins-naturally-aggressive-to-players-chance.patch diff --git a/patches/unapplied-server/0207-Cows-naturally-aggressive-to-players-chance.patch b/patches/server/0207-Cows-naturally-aggressive-to-players-chance.patch similarity index 100% rename from patches/unapplied-server/0207-Cows-naturally-aggressive-to-players-chance.patch rename to patches/server/0207-Cows-naturally-aggressive-to-players-chance.patch diff --git a/patches/unapplied-server/0208-Option-for-beds-to-explode-on-villager-sleep.patch b/patches/server/0208-Option-for-beds-to-explode-on-villager-sleep.patch similarity index 96% rename from patches/unapplied-server/0208-Option-for-beds-to-explode-on-villager-sleep.patch rename to patches/server/0208-Option-for-beds-to-explode-on-villager-sleep.patch index 8e0f6b390e..73d5054867 100644 --- a/patches/unapplied-server/0208-Option-for-beds-to-explode-on-villager-sleep.patch +++ b/patches/server/0208-Option-for-beds-to-explode-on-villager-sleep.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Option for beds to explode on villager sleep diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index fd319cf5ac1a3aa8f3562bbab4bf2a8e15b10ae2..b2ea56e3e2a0b7534bd9e16106402c6581057e43 100644 +index 5a522d73d41f9aa3977807173d7e34c057a37c7a..373d00fce9e8bcb8d9a8d3e8a05987cf243d175a 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -1080,6 +1080,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler diff --git a/patches/unapplied-server/0209-Halloween-options-and-optimizations.patch b/patches/server/0209-Halloween-options-and-optimizations.patch similarity index 96% rename from patches/unapplied-server/0209-Halloween-options-and-optimizations.patch rename to patches/server/0209-Halloween-options-and-optimizations.patch index 7eff0c6eb9..a76e57bca8 100644 --- a/patches/unapplied-server/0209-Halloween-options-and-optimizations.patch +++ b/patches/server/0209-Halloween-options-and-optimizations.patch @@ -26,10 +26,10 @@ index 29445156f8660d84bb9840c6ac85e0e2188f443d..7b773edc6fa661e75964a80dcb6820d1 if (net.minecraft.server.MinecraftServer.currentTick - lastSpookyCheck > ONE_HOUR) { LocalDate localdate = LocalDate.now(); diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java -index bbe4c1cb4244ab813ef7d56c46c3ae62701c4824..2cadbc0d56908ca978e1735eff07f5e634548606 100644 +index d41ed97feabd5b37f1ffae2a7b12c10895404591..f90f3e3ad7c941e3222a8119d9b01d571eef4c1b 100644 --- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java -@@ -138,11 +138,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo +@@ -140,11 +140,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo this.reassessWeaponGoal(); this.setCanPickUpLoot(this.level().paperConfig().entities.behavior.mobsCanAlwaysPickUpLoot.skeletons || randomsource.nextFloat() < 0.55F * difficulty.getSpecialMultiplier()); // Paper - Add world settings for mobs picking up loot if (this.getItemBySlot(EquipmentSlot.HEAD).isEmpty()) { diff --git a/patches/unapplied-server/0210-Config-for-grindstones.patch b/patches/server/0210-Config-for-grindstones.patch similarity index 100% rename from patches/unapplied-server/0210-Config-for-grindstones.patch rename to patches/server/0210-Config-for-grindstones.patch diff --git a/patches/unapplied-server/0211-UPnP-Port-Forwarding.patch b/patches/server/0211-UPnP-Port-Forwarding.patch similarity index 96% rename from patches/unapplied-server/0211-UPnP-Port-Forwarding.patch rename to patches/server/0211-UPnP-Port-Forwarding.patch index 92ab737be1..60498dee5d 100644 --- a/patches/unapplied-server/0211-UPnP-Port-Forwarding.patch +++ b/patches/server/0211-UPnP-Port-Forwarding.patch @@ -5,7 +5,7 @@ Subject: [PATCH] UPnP Port Forwarding diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f03d6ddaeda45fee69f19d765fbf1e23333b8de3..6111c300ea25e73cc8f840dfff94998d3b87dcf3 100644 +index 36fb238819e529fdecd8dd904c074d7a3a937db2..757cedd57b89a452832f2c9d9e5ed9fb495ca933 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -330,6 +330,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop T getOrDefault(DataComponentType type, T fallback); } diff --git a/patches/unapplied-server/0216-Signs-allow-color-codes.patch b/patches/server/0216-Signs-allow-color-codes.patch similarity index 96% rename from patches/unapplied-server/0216-Signs-allow-color-codes.patch rename to patches/server/0216-Signs-allow-color-codes.patch index b8cc5c6f23..c24127b854 100644 --- a/patches/unapplied-server/0216-Signs-allow-color-codes.patch +++ b/patches/server/0216-Signs-allow-color-codes.patch @@ -5,10 +5,10 @@ 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 883317c9957c13049ff2c01ceb154fba1afe278b..323d474582cf796ae9d40f9d00f277496d3f2c0a 100644 +index ed1d75fdee29ac92d71f219af79eb7fc5ae99099..7e785394de3db56e5d0fd8bea5edf5df9fa129fa 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1976,6 +1976,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1959,6 +1959,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @Override public void openTextEdit(SignBlockEntity sign, boolean front) { @@ -17,7 +17,7 @@ index 883317c9957c13049ff2c01ceb154fba1afe278b..323d474582cf796ae9d40f9d00f27749 this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos(), front)); } diff --git a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java -index 8ac19e1e052e73ff3fd09089bb8e3fd687390ee4..6da1eec98c08e4909ecbd48fe90b3fd62011e284 100644 +index 7a1d9a718dc57b5f630ca8e5358120cebaeefb9c..b51b0b0f48b1da6187387d6ec025681e10ed584d 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java @@ -201,16 +201,31 @@ public class SignBlockEntity extends BlockEntity { diff --git a/patches/unapplied-server/0217-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch b/patches/server/0217-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch similarity index 99% rename from patches/unapplied-server/0217-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch rename to patches/server/0217-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch index ff140d74fd..7719b8c864 100644 --- a/patches/unapplied-server/0217-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch +++ b/patches/server/0217-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Kelp, cave, weeping, and twisting vines configurable max diff --git a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java -index c4473c2a778116d48bc3e4796afd901f455070e6..e62217c0bfa6cc426c7d41154f3ccc34d8f242ca 100644 +index 81e572783157926383dd9baa58d30f5419c1616f..84d6ae4acf80f6ff4f418739a0228e740993f950 100644 --- a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java @@ -94,4 +94,11 @@ public class CaveVinesBlock extends GrowingPlantHeadBlock implements CaveVines { diff --git a/patches/unapplied-server/0218-Mobs-always-drop-experience.patch b/patches/server/0218-Mobs-always-drop-experience.patch similarity index 97% rename from patches/unapplied-server/0218-Mobs-always-drop-experience.patch rename to patches/server/0218-Mobs-always-drop-experience.patch index 3ff375f3e3..2c18bfc34b 100644 --- a/patches/unapplied-server/0218-Mobs-always-drop-experience.patch +++ b/patches/server/0218-Mobs-always-drop-experience.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Mobs always drop experience diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java -index a83187312422b0e087785d89f4a49b4c67427b95..3283228d7ebf98ce98780725a0a412bea4200da5 100644 +index 52223ecfbc8a66ea3f79c60ef299d2d0e1808ac2..7f75b5485ca047829415cc1ffb0ec28614633707 100644 --- a/src/main/java/net/minecraft/world/entity/GlowSquid.java +++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java @@ -53,6 +53,11 @@ public class GlowSquid extends Squid { @@ -37,10 +37,10 @@ index 7b773edc6fa661e75964a80dcb6820d1b5def54d..c8ffbbccbf20ce911a3d75fa860d5a14 public void readAdditionalSaveData(CompoundTag nbt) { super.readAdditionalSaveData(nbt); diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index 8caee835f524d23d061ff73d9fb609482ed57505..db382cf32d215f1b98b960e0c1a8dfaf6e19422f 100644 +index ea5559e6f536ab823f987ce57fc01d6dab26314d..8e2b71d7fe766261cfa539e9f18fede83958408f 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java -@@ -501,6 +501,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -505,6 +505,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { return this.level().purpurConfig.beeTakeDamageFromWater; } @@ -53,7 +53,7 @@ index 8caee835f524d23d061ff73d9fb609482ed57505..db382cf32d215f1b98b960e0c1a8dfaf public int getRemainingPersistentAngerTime() { return (Integer) this.entityData.get(Bee.DATA_REMAINING_ANGER_TIME); diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java -index 8f0a31c896340907aa8017c0a56fb58db48c2c65..4aad4fdc80070f4000e929fff126714fc67050b0 100644 +index 4d9b177dd640e1b569cfd5575ad795d5962ae7b8..a418ded306908ee9cb9e375104354a6e031305c9 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java @@ -139,6 +139,11 @@ public class Cat extends TamableAnimal implements VariantHolder { @@ -165,10 +165,10 @@ index c6e638cf4463db972a99054cb11b07991ca9eb2e..9a6471d2f1eb1c8af006b70b6bba0b66 protected void registerGoals() { if (level().purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java -index 9d85342439977d3ac72ef133733df4f57a68714a..6cbe80e13a590817d3ecf27d89202f10e2cd83dc 100644 +index 951f94da000587def4832a5fae68c1f5a6c9e2ea..4d05c34dcebc7582fd400066809b4997b2e8a86a 100644 --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java -@@ -97,6 +97,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder { @@ -293,10 +293,10 @@ index 8e316da789cb7a8d4c630c71724a56d6159cf0ac..b3a0146ccfcda9fa33b91d33458086b5 @Override diff --git a/src/main/java/net/minecraft/world/entity/animal/Salmon.java b/src/main/java/net/minecraft/world/entity/animal/Salmon.java -index 486709c9701657c7aa93586f539c18e4157f8ef3..1a0c71ed6f3bd3d961f9b30ab29a62d683195355 100644 +index cd995f8ce3bfd76fa0f4ea3fda71101b09d64ce2..3716201b0889dfb0bacd0e223a29e80ee1f84e8e 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Salmon.java +++ b/src/main/java/net/minecraft/world/entity/animal/Salmon.java -@@ -54,6 +54,11 @@ public class Salmon extends AbstractSchoolingFish implements VariantHolder type, ServerLevelAccessor world, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random ) { diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java -index 6c7b3b306b69c5b0526e48e4e636ed24d5c96820..c3b5b34a54de945071692293645b8a8865aed961 100644 +index cdb8d5c625e18a2a4cf6b5d2da923f63127b6e9c..779ae2e63202c1f189b1f5647218a07c21a84ccd 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Strider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java @@ -125,6 +125,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable { @@ -997,10 +997,10 @@ index 151169d76276409d6a042945b05ae680d1f5fd1e..313228811d1eff478887511f99b49706 protected void registerGoals() { super.registerGoals(); diff --git a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java -index 4c426f87fe2833382f48e353b27f381b48774fd9..23fc36780a3e15260f8cb1001c8d676464a9df3a 100644 +index 5f2e9d87c410551b9858c60fa2ca7ff66e23cb2f..80968050fa7680a8d9b379ef7a8db5e91a4b3a8f 100644 --- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java -@@ -61,6 +61,11 @@ public class WitherSkeleton extends AbstractSkeleton { +@@ -64,6 +64,11 @@ public class WitherSkeleton extends AbstractSkeleton { return this.level().purpurConfig.witherSkeletonTakeDamageFromWater; } @@ -1045,7 +1045,7 @@ index 98e7b57a45ae3cae704c65ec6db5f715f9af99a4..85b03e0bf7436cb846df13c575ad78ac protected void registerGoals() { this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java -index 3759f28c7f516a94ca8fe1b8f82230b9e8cfb9cb..6f6b32bf7f68d05e4173c31f2e631a409b858a05 100644 +index 624b19d415dab0c864b96edf4a7063470739a221..cd66ef1d99f3ce4533c2423fd12b2fcadf481a66 100644 --- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java @@ -132,6 +132,11 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { @@ -1093,10 +1093,10 @@ index 1103274ba096b0cab3c89f0bdfeba15f8954a0de..6144613e834236ec0ebb12872ef9e472 public boolean canBeLeashed() { return true; diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -index 39cf09e03cd178471757e51334b07b4daffb43be..20608fb46a0af85739e3c0caa843c1a9d45c9659 100644 +index 570af47cd176dfa56c0920a8d41400aa1ade5fd0..a2d29cf854be6f0bc5b5bb99e7002e07ccc4cae9 100644 --- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -@@ -124,6 +124,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento +@@ -127,6 +127,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento return this.level().purpurConfig.piglinTakeDamageFromWater; } @@ -1125,7 +1125,7 @@ index 9c196b0cf49cb6f69bd17748fd13ce5960094f88..bc3b0eb21200eae7e419b2571871b36f return Monster.createMonsterAttributes() .add(Attributes.MAX_HEALTH, 50.0) diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index b2ea56e3e2a0b7534bd9e16106402c6581057e43..32479bf58040ee980b20e99bb384bb84ef92624f 100644 +index 373d00fce9e8bcb8d9a8d3e8a05987cf243d175a..dfb1b887df63197eab5969dcc3eed2ff68d71911 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -198,6 +198,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler diff --git a/patches/unapplied-server/0219-Grindstone-API.patch b/patches/server/0219-Grindstone-API.patch similarity index 100% rename from patches/unapplied-server/0219-Grindstone-API.patch rename to patches/server/0219-Grindstone-API.patch diff --git a/patches/unapplied-server/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch b/patches/server/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch similarity index 96% rename from patches/unapplied-server/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch rename to patches/server/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch index eebdee1ee1..537db8b264 100644 --- a/patches/unapplied-server/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch +++ b/patches/server/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch @@ -34,7 +34,7 @@ index eb324fda54ada3ed7941713a784ed2d686ec8c4b..09cc76f3fee4a767c9ec3fa592f2c3c6 + // Purpur end } diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java -index 3f7440eb164ea7593844de6c496ee1a998759347..33c27909290ff3ab483226cf65b1a1bc2e983cbc 100644 +index c1707b502911d76d0c3a706e44bfdc3a12eb8f97..7f6f7a114e9930e7655c9695a5737739503999de 100644 --- a/src/main/java/net/minecraft/world/level/block/CropBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CropBlock.java @@ -216,4 +216,15 @@ public class CropBlock extends BushBlock implements BonemealableBlock { @@ -54,7 +54,7 @@ index 3f7440eb164ea7593844de6c496ee1a998759347..33c27909290ff3ab483226cf65b1a1bc + // Purpur end } diff --git a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java -index acbd60a2f162fe0e254e36d0e8e7face3fc8a7b3..da1c7999ca64199387054de46489d3ff4a299289 100644 +index 7bb4994d6474c8ea59c102009253552020691b8f..b571bca4375ca7caf9b75dbf84009cb0604b66ad 100644 --- a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java +++ b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java @@ -68,4 +68,15 @@ public class NetherWartBlock extends BushBlock { diff --git a/patches/unapplied-server/0221-Turtle-eggs-random-tick-crack-chance.patch b/patches/server/0221-Turtle-eggs-random-tick-crack-chance.patch similarity index 100% rename from patches/unapplied-server/0221-Turtle-eggs-random-tick-crack-chance.patch rename to patches/server/0221-Turtle-eggs-random-tick-crack-chance.patch diff --git a/patches/unapplied-server/0222-Mob-head-visibility-percent.patch b/patches/server/0222-Mob-head-visibility-percent.patch similarity index 98% rename from patches/unapplied-server/0222-Mob-head-visibility-percent.patch rename to patches/server/0222-Mob-head-visibility-percent.patch index 0949000c0f..1d275cdec2 100644 --- a/patches/unapplied-server/0222-Mob-head-visibility-percent.patch +++ b/patches/server/0222-Mob-head-visibility-percent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Mob head visibility percent diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index c23ca02f9adbbbf32b0bf9f8a82f55781468aade..19cc0ba32472384bf10662d41fecf23ebfc9876c 100644 +index 0af3e463971697626f847cb96f8a431857c1261e..8c2c14769ae32c9a92bc043f9e753abf7e32e1c3 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1082,9 +1082,20 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/unapplied-server/0223-Configurable-valid-characters-for-usernames.patch b/patches/server/0223-Configurable-valid-characters-for-usernames.patch similarity index 100% rename from patches/unapplied-server/0223-Configurable-valid-characters-for-usernames.patch rename to patches/server/0223-Configurable-valid-characters-for-usernames.patch diff --git a/patches/unapplied-server/0224-Stop-bees-from-dying-after-stinging.patch b/patches/server/0224-Stop-bees-from-dying-after-stinging.patch similarity index 92% rename from patches/unapplied-server/0224-Stop-bees-from-dying-after-stinging.patch rename to patches/server/0224-Stop-bees-from-dying-after-stinging.patch index e69c912c48..f6273e5e6e 100644 --- a/patches/unapplied-server/0224-Stop-bees-from-dying-after-stinging.patch +++ b/patches/server/0224-Stop-bees-from-dying-after-stinging.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Stop bees from dying after stinging diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index db382cf32d215f1b98b960e0c1a8dfaf6e19422f..4b32a783cabf05f5bae0dba22eea8ac7ba2cd285 100644 +index 8e2b71d7fe766261cfa539e9f18fede83958408f..5ca5f128e5614146e76935e6d674e0699c65dfdb 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java -@@ -461,6 +461,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -465,6 +465,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { this.hurtServer(world, this.damageSources().drown(), 1.0F); } diff --git a/patches/unapplied-server/0225-Give-bee-counts-in-beehives-to-Purpur-clients.patch b/patches/server/0225-Give-bee-counts-in-beehives-to-Purpur-clients.patch similarity index 98% rename from patches/unapplied-server/0225-Give-bee-counts-in-beehives-to-Purpur-clients.patch rename to patches/server/0225-Give-bee-counts-in-beehives-to-Purpur-clients.patch index cc2f462c1d..df4e89c148 100644 --- a/patches/unapplied-server/0225-Give-bee-counts-in-beehives-to-Purpur-clients.patch +++ b/patches/server/0225-Give-bee-counts-in-beehives-to-Purpur-clients.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Give bee counts in beehives to Purpur clients diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 6111c300ea25e73cc8f840dfff94998d3b87dcf3..284b96cd1e9eaad4600c820a504c12d953961019 100644 +index 757cedd57b89a452832f2c9d9e5ed9fb495ca933..74d4bb12d70cbfd8365337c8fbcdbdfe6d70e970 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1170,6 +1170,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop> { diff --git a/patches/unapplied-server/0231-Configurable-minimum-demand-for-trades.patch b/patches/server/0231-Configurable-minimum-demand-for-trades.patch similarity index 97% rename from patches/unapplied-server/0231-Configurable-minimum-demand-for-trades.patch rename to patches/server/0231-Configurable-minimum-demand-for-trades.patch index 699196ea13..ca15d26437 100644 --- a/patches/unapplied-server/0231-Configurable-minimum-demand-for-trades.patch +++ b/patches/server/0231-Configurable-minimum-demand-for-trades.patch @@ -9,7 +9,7 @@ This patch adds a config option to allow the minimum demand to instead be configurable. diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 32479bf58040ee980b20e99bb384bb84ef92624f..5943b0c059b41ab84d7841a764ff2ace6e6ca89b 100644 +index dfb1b887df63197eab5969dcc3eed2ff68d71911..c5e67489ba4a60ead3490f8c9468833f913af1a0 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -547,7 +547,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler diff --git a/patches/unapplied-server/0232-Lobotomize-stuck-villagers.patch b/patches/server/0232-Lobotomize-stuck-villagers.patch similarity index 98% rename from patches/unapplied-server/0232-Lobotomize-stuck-villagers.patch rename to patches/server/0232-Lobotomize-stuck-villagers.patch index 54e8592852..7fd4dfab2e 100644 --- a/patches/unapplied-server/0232-Lobotomize-stuck-villagers.patch +++ b/patches/server/0232-Lobotomize-stuck-villagers.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Lobotomize stuck villagers diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 5943b0c059b41ab84d7841a764ff2ace6e6ca89b..ca5504ba8a10a3ed384cb9f5a3c550466c2688f1 100644 +index c5e67489ba4a60ead3490f8c9468833f913af1a0..a191fb8563c01413dc4119e3adf81e23aacb824b 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -141,6 +141,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler diff --git a/patches/unapplied-server/0233-Option-for-villager-display-trade-item.patch b/patches/server/0233-Option-for-villager-display-trade-item.patch similarity index 100% rename from patches/unapplied-server/0233-Option-for-villager-display-trade-item.patch rename to patches/server/0233-Option-for-villager-display-trade-item.patch diff --git a/patches/unapplied-server/0234-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch b/patches/server/0234-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch similarity index 100% rename from patches/unapplied-server/0234-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch rename to patches/server/0234-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch diff --git a/patches/unapplied-server/0235-Config-for-mob-last-hurt-by-player-time.patch b/patches/server/0235-Config-for-mob-last-hurt-by-player-time.patch similarity index 74% rename from patches/unapplied-server/0235-Config-for-mob-last-hurt-by-player-time.patch rename to patches/server/0235-Config-for-mob-last-hurt-by-player-time.patch index e9dbed4380..b30d8ae842 100644 --- a/patches/unapplied-server/0235-Config-for-mob-last-hurt-by-player-time.patch +++ b/patches/server/0235-Config-for-mob-last-hurt-by-player-time.patch @@ -5,27 +5,27 @@ Subject: [PATCH] Config for mob last hurt by player time diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 19cc0ba32472384bf10662d41fecf23ebfc9876c..71f735d2c91d08ab652ddc8f3fe37bbb3b425ba4 100644 +index 8c2c14769ae32c9a92bc043f9e753abf7e32e1c3..239046ab467f499107d1e30ca183d79661a380f0 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1614,13 +1614,13 @@ public abstract class LivingEntity extends Entity implements Attackable { - if (entity1 instanceof net.minecraft.world.entity.player.Player) { - net.minecraft.world.entity.player.Player entityhuman = (net.minecraft.world.entity.player.Player) entity1; +@@ -1708,13 +1708,13 @@ public abstract class LivingEntity extends Entity implements Attackable { + Entity entity = damageSource.getEntity(); + if (entity instanceof net.minecraft.world.entity.player.Player entityhuman) { +- this.lastHurtByPlayerTime = 100; ++ this.lastHurtByPlayerTime = this.level().purpurConfig.mobLastHurtByPlayerTime; // Purpur + this.lastHurtByPlayer = entityhuman; + return entityhuman; + } else { + if (entity instanceof Wolf entitywolf) { + if (entitywolf.isTame()) { - this.lastHurtByPlayerTime = 100; + this.lastHurtByPlayerTime = this.level().purpurConfig.mobLastHurtByPlayerTime; // Purpur - this.lastHurtByPlayer = entityhuman; - } else if (entity1 instanceof Wolf) { - Wolf entitywolf = (Wolf) entity1; + LivingEntity entityliving = entitywolf.getOwner(); - if (entitywolf.isTame()) { -- this.lastHurtByPlayerTime = 100; -+ this.lastHurtByPlayerTime = this.level().purpurConfig.mobLastHurtByPlayerTime; // Purpur - LivingEntity entityliving2 = entitywolf.getOwner(); - - if (entityliving2 instanceof net.minecraft.world.entity.player.Player) { + if (entityliving instanceof net.minecraft.world.entity.player.Player) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index bf84c9664ca6d6c3d862e592c39bcc59374b63fe..051ffc663317fe5a4fafe0750c89fafdece4d316 100644 +index 7ccc40555964b906be6987532de1f319e38741ce..72498e233ece886941cca268e729336d66042402 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -523,7 +523,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied-server/0236-Anvil-repair-damage-options.patch b/patches/server/0236-Anvil-repair-damage-options.patch similarity index 100% rename from patches/unapplied-server/0236-Anvil-repair-damage-options.patch rename to patches/server/0236-Anvil-repair-damage-options.patch diff --git a/patches/unapplied-server/0237-Option-to-disable-turtle-egg-trampling-with-feather-.patch b/patches/server/0237-Option-to-disable-turtle-egg-trampling-with-feather-.patch similarity index 100% rename from patches/unapplied-server/0237-Option-to-disable-turtle-egg-trampling-with-feather-.patch rename to patches/server/0237-Option-to-disable-turtle-egg-trampling-with-feather-.patch diff --git a/patches/unapplied-server/0238-Add-toggle-for-enchant-level-clamping.patch b/patches/server/0238-Add-toggle-for-enchant-level-clamping.patch similarity index 97% rename from patches/unapplied-server/0238-Add-toggle-for-enchant-level-clamping.patch rename to patches/server/0238-Add-toggle-for-enchant-level-clamping.patch index 29e6aba57e..792b82d66c 100644 --- a/patches/unapplied-server/0238-Add-toggle-for-enchant-level-clamping.patch +++ b/patches/server/0238-Add-toggle-for-enchant-level-clamping.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for enchant level clamping diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index 90ca25c4aaf92a5639839a7cdaee2ffcdb75efa7..463eb4844e467c5c7018087e4f21d7d41e1c9063 100644 +index 300a044bb0f0e377133f24469cea1a9669de6e58..978c0d7296f400fe2ebda89e4f61386e6e87fe0c 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -120,6 +120,11 @@ public class Main { +@@ -122,6 +122,11 @@ public class Main { JvmProfiler.INSTANCE.start(Environment.SERVER); } diff --git a/patches/unapplied-server/0239-Skip-junit-tests-for-purpur-commands.patch b/patches/server/0239-Skip-junit-tests-for-purpur-commands.patch similarity index 100% rename from patches/unapplied-server/0239-Skip-junit-tests-for-purpur-commands.patch rename to patches/server/0239-Skip-junit-tests-for-purpur-commands.patch diff --git a/patches/unapplied-server/0240-Implement-configurable-search-radius-for-villagers-t.patch b/patches/server/0240-Implement-configurable-search-radius-for-villagers-t.patch similarity index 96% rename from patches/unapplied-server/0240-Implement-configurable-search-radius-for-villagers-t.patch rename to patches/server/0240-Implement-configurable-search-radius-for-villagers-t.patch index ff77f240db..2706531fbc 100644 --- a/patches/unapplied-server/0240-Implement-configurable-search-radius-for-villagers-t.patch +++ b/patches/server/0240-Implement-configurable-search-radius-for-villagers-t.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Implement configurable search radius for villagers to spawn diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index ca5504ba8a10a3ed384cb9f5a3c550466c2688f1..0ee456972923e90905732ffc5d77bb027cf6c0fc 100644 +index a191fb8563c01413dc4119e3adf81e23aacb824b..15ddc44bb266b4cdb1036c92dd60f1379832b501 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -1073,6 +1073,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler diff --git a/patches/unapplied-server/0241-Stonecutter-damage.patch b/patches/server/0241-Stonecutter-damage.patch similarity index 98% rename from patches/unapplied-server/0241-Stonecutter-damage.patch rename to patches/server/0241-Stonecutter-damage.patch index bb9114b57c..9127403771 100644 --- a/patches/unapplied-server/0241-Stonecutter-damage.patch +++ b/patches/server/0241-Stonecutter-damage.patch @@ -83,10 +83,10 @@ index 61e906fb47b242e86789dca1a210473c76863166..d343fd5c9f31073f1b3a0f91b8ea61a6 public DamageSource inFire() { diff --git a/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java b/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java -index e61644241f24b42bb4f702d3eef5b590b4d107c8..0bf6503819b02e5ba2c346d9d563a93f2946d89b 100644 +index f1366aea49206afcd64bf058ee673d6a562315c5..ff655401c7aecba5acd8d241e844d77364f09f35 100644 --- a/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java +++ b/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java -@@ -98,4 +98,14 @@ public class StonecutterBlock extends Block { +@@ -93,4 +93,14 @@ public class StonecutterBlock extends Block { protected boolean isPathfindable(BlockState state, PathComputationType type) { return false; } diff --git a/patches/unapplied-server/0242-Configurable-damage-settings-for-magma-blocks.patch b/patches/server/0242-Configurable-damage-settings-for-magma-blocks.patch similarity index 100% rename from patches/unapplied-server/0242-Configurable-damage-settings-for-magma-blocks.patch rename to patches/server/0242-Configurable-damage-settings-for-magma-blocks.patch diff --git a/patches/unapplied-server/0243-Add-config-for-snow-on-blue-ice.patch b/patches/server/0243-Add-config-for-snow-on-blue-ice.patch similarity index 100% rename from patches/unapplied-server/0243-Add-config-for-snow-on-blue-ice.patch rename to patches/server/0243-Add-config-for-snow-on-blue-ice.patch diff --git a/patches/unapplied-server/0244-Skeletons-eat-wither-roses.patch b/patches/server/0244-Skeletons-eat-wither-roses.patch similarity index 100% rename from patches/unapplied-server/0244-Skeletons-eat-wither-roses.patch rename to patches/server/0244-Skeletons-eat-wither-roses.patch diff --git a/patches/unapplied-server/0245-Enchantment-Table-Persists-Lapis.patch b/patches/server/0245-Enchantment-Table-Persists-Lapis.patch similarity index 90% rename from patches/unapplied-server/0245-Enchantment-Table-Persists-Lapis.patch rename to patches/server/0245-Enchantment-Table-Persists-Lapis.patch index 7cc5ca1966..de57cfdb80 100644 --- a/patches/unapplied-server/0245-Enchantment-Table-Persists-Lapis.patch +++ b/patches/server/0245-Enchantment-Table-Persists-Lapis.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Enchantment Table Persists Lapis diff --git a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java -index 50a735dd97daab4fb9579f922a4c63de60204f29..5b8ad051347f73553acb65c5ddc690d2b7eaa754 100644 +index bb9b17a058273ee1519b2abbefba97cad7feb51b..29996864b35711b29629e9071d28493ac27fbde6 100644 --- a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java +++ b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java -@@ -42,6 +42,12 @@ import org.bukkit.event.enchantment.PrepareItemEnchantEvent; +@@ -41,6 +41,12 @@ import org.bukkit.event.enchantment.PrepareItemEnchantEvent; import org.bukkit.entity.Player; // CraftBukkit end @@ -20,8 +20,8 @@ index 50a735dd97daab4fb9579f922a4c63de60204f29..5b8ad051347f73553acb65c5ddc690d2 + public class EnchantmentMenu extends AbstractContainerMenu { - static final ResourceLocation EMPTY_SLOT_LAPIS_LAZULI = ResourceLocation.withDefaultNamespace("item/empty_slot_lapis_lazuli"); -@@ -76,6 +82,22 @@ public class EnchantmentMenu extends AbstractContainerMenu { + static final ResourceLocation EMPTY_SLOT_LAPIS_LAZULI = ResourceLocation.withDefaultNamespace("container/slot/lapis_lazuli"); +@@ -75,6 +81,22 @@ public class EnchantmentMenu extends AbstractContainerMenu { return context.getLocation(); } // CraftBukkit end @@ -44,8 +44,8 @@ index 50a735dd97daab4fb9579f922a4c63de60204f29..5b8ad051347f73553acb65c5ddc690d2 }; this.random = RandomSource.create(); this.enchantmentSeed = DataSlot.standalone(); -@@ -100,6 +122,16 @@ public class EnchantmentMenu extends AbstractContainerMenu { - return Pair.of(InventoryMenu.BLOCK_ATLAS, EnchantmentMenu.EMPTY_SLOT_LAPIS_LAZULI); +@@ -99,6 +121,16 @@ public class EnchantmentMenu extends AbstractContainerMenu { + return EnchantmentMenu.EMPTY_SLOT_LAPIS_LAZULI; } }); + // Purpur start @@ -61,7 +61,7 @@ index 50a735dd97daab4fb9579f922a4c63de60204f29..5b8ad051347f73553acb65c5ddc690d2 this.addStandardInventorySlots(playerInventory, 8, 84); this.addDataSlot(DataSlot.shared(this.costs, 0)); this.addDataSlot(DataSlot.shared(this.costs, 1)); -@@ -329,6 +361,7 @@ public class EnchantmentMenu extends AbstractContainerMenu { +@@ -328,6 +360,7 @@ public class EnchantmentMenu extends AbstractContainerMenu { public void removed(net.minecraft.world.entity.player.Player player) { super.removed(player); this.access.execute((world, blockposition) -> { @@ -70,10 +70,10 @@ index 50a735dd97daab4fb9579f922a4c63de60204f29..5b8ad051347f73553acb65c5ddc690d2 }); } diff --git a/src/main/java/net/minecraft/world/level/block/EnchantingTableBlock.java b/src/main/java/net/minecraft/world/level/block/EnchantingTableBlock.java -index a7fb500d950687743d1fc0b3ad3e6d10dcc6e31a..ce6a9e15ae0114623e79b5d8c244c2c490a3f74e 100644 +index 4c4e6290035710480cd5c1d7399f2443df01a5a6..248039ac7eab85b29ae3c525a986d91aa8d177fe 100644 --- a/src/main/java/net/minecraft/world/level/block/EnchantingTableBlock.java +++ b/src/main/java/net/minecraft/world/level/block/EnchantingTableBlock.java -@@ -123,4 +123,18 @@ public class EnchantingTableBlock extends BaseEntityBlock { +@@ -118,4 +118,18 @@ public class EnchantingTableBlock extends BaseEntityBlock { protected boolean isPathfindable(BlockState state, PathComputationType type) { return false; } diff --git a/patches/unapplied-server/0246-Option-to-disable-kick-for-out-of-order-chat.patch b/patches/server/0246-Option-to-disable-kick-for-out-of-order-chat.patch similarity index 100% rename from patches/unapplied-server/0246-Option-to-disable-kick-for-out-of-order-chat.patch rename to patches/server/0246-Option-to-disable-kick-for-out-of-order-chat.patch diff --git a/patches/unapplied-server/0247-Config-for-sculk-shrieker-can_summon-state.patch b/patches/server/0247-Config-for-sculk-shrieker-can_summon-state.patch similarity index 92% rename from patches/unapplied-server/0247-Config-for-sculk-shrieker-can_summon-state.patch rename to patches/server/0247-Config-for-sculk-shrieker-can_summon-state.patch index cadf9a2bb4..157741fb3b 100644 --- a/patches/unapplied-server/0247-Config-for-sculk-shrieker-can_summon-state.patch +++ b/patches/server/0247-Config-for-sculk-shrieker-can_summon-state.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Config for sculk shrieker can_summon state diff --git a/src/main/java/net/minecraft/world/level/block/SculkShriekerBlock.java b/src/main/java/net/minecraft/world/level/block/SculkShriekerBlock.java -index 0e05bfef55dcacb50766bba8328ffeb8a5394c31..e00fcea07e74de647c26ff9eb32bc682738c15b7 100644 +index 7990a6c225c27845ccada0df91cf5ed7e4315a88..db2b21d5842fafa48dbde25a461505d03aa9b955 100644 --- a/src/main/java/net/minecraft/world/level/block/SculkShriekerBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SculkShriekerBlock.java -@@ -135,7 +135,7 @@ public class SculkShriekerBlock extends BaseEntityBlock implements SimpleWaterlo +@@ -130,7 +130,7 @@ public class SculkShriekerBlock extends BaseEntityBlock implements SimpleWaterlo @Nullable @Override public BlockState getStateForPlacement(BlockPlaceContext ctx) { diff --git a/patches/unapplied-server/0248-Config-to-not-let-coral-die.patch b/patches/server/0248-Config-to-not-let-coral-die.patch similarity index 100% rename from patches/unapplied-server/0248-Config-to-not-let-coral-die.patch rename to patches/server/0248-Config-to-not-let-coral-die.patch diff --git a/patches/unapplied-server/0249-Add-local-difficulty-api.patch b/patches/server/0249-Add-local-difficulty-api.patch similarity index 91% rename from patches/unapplied-server/0249-Add-local-difficulty-api.patch rename to patches/server/0249-Add-local-difficulty-api.patch index e8862aba84..d4fdbfa338 100644 --- a/patches/unapplied-server/0249-Add-local-difficulty-api.patch +++ b/patches/server/0249-Add-local-difficulty-api.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add local difficulty api diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 57da11c0da7322e74810e7108e9c8000b0c36520..868bf852a9ed6ea2a48a238608f47405da1296f4 100644 +index a9f7ac8d1f5e184687d53ab3e8b348bb7f4f2ba0..5d0f4395617bcd59aad7cea221f6009d08dc0913 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -2384,6 +2384,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/unapplied-server/0250-Add-toggle-for-RNG-manipulation.patch b/patches/server/0250-Add-toggle-for-RNG-manipulation.patch similarity index 94% rename from patches/unapplied-server/0250-Add-toggle-for-RNG-manipulation.patch rename to patches/server/0250-Add-toggle-for-RNG-manipulation.patch index df00ac4b41..595ee9b9c7 100644 --- a/patches/unapplied-server/0250-Add-toggle-for-RNG-manipulation.patch +++ b/patches/server/0250-Add-toggle-for-RNG-manipulation.patch @@ -7,7 +7,7 @@ Paper patches RNG maniplulation by using a shared (and locked) random source. This comes with a performance gain, but technical players may prefer the ability to manipulate RNG. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c1ba5eab15bb4b7599c1e5e23b90dfb361af93b6..2b612bfe6da7cc6d6447c60aa6f4b72b2616b72d 100644 +index 433dbe3c9350cd55ff22d490e077bf1a31ae83be..7435ff1996e0a6db2f98f1218bf7d2b73a3e2b1d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -602,7 +602,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -20,7 +20,7 @@ index c1ba5eab15bb4b7599c1e5e23b90dfb361af93b6..2b612bfe6da7cc6d6447c60aa6f4b72b this.fluidHeight = new Object2DoubleArrayMap(2); this.fluidOnEyes = new HashSet(); diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java -index 7cfd9e4e29b8f3cf277679f785bae3cb12d2bd20..36a56553702fa6e4a2ac92b3639c210c94faee73 100644 +index da04ee901ad77637ee2c28a9a96f481affcce808..32d694b61e56431baeeb3feb32f57062bb6c5765 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Squid.java +++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java @@ -46,7 +46,7 @@ public class Squid extends AgeableWaterCreature { From 2951510ea1139060b26d06b67d1d0f30b4c83626 Mon Sep 17 00:00:00 2001 From: granny Date: Tue, 3 Dec 2024 21:14:29 -0800 Subject: [PATCH 11/19] all patches applied \o/ --- ...re-logger-output-for-invalid-movement-kicks.patch | 6 +++--- .../0252-Add-Bee-API.patch | 8 ++++---- .../0253-Debug-Marker-API.patch | 6 +++--- ...-spawning-option-to-ignore-creative-players.patch | 0 .../0255-Add-skeleton-bow-accuracy-option.patch | 4 ++-- .../0256-Add-death-screen-API.patch | 4 ++-- .../0257-Make-pufferfish-config-relocatable.patch | 2 +- .../0258-Implement-ram-and-rambar-commands.patch | 10 +++++----- .../0259-Configurable-block-blast-resistance.patch | 2 +- ...60-Configurable-block-fall-damage-modifiers.patch | 4 ++-- .../0261-Language-API.patch | 0 .../0262-Milk-Keeps-Beneficial-Effects.patch | 2 +- ...-Fix-mobs-not-looking-up-and-down-when-stra.patch | 0 .../0264-Add-log-suppression-for-LibraryLoader.patch | 0 ...an-option-to-fix-MC-3304-projectile-looting.patch | 10 +++++----- ...n-to-allow-creeper-to-encircle-target-when-.patch | 0 .../0267-Fire-Immunity-API.patch | 10 +++++----- ...n-to-teleport-to-spawn-on-nether-ceiling-da.patch | 4 ++-- .../0269-Added-got-ram-event.patch | 0 .../0270-Log-skipped-entity-s-position.patch | 4 ++-- .../0271-End-Crystal-Cramming.patch | 0 ...-allow-beacon-effects-when-covered-by-tinte.patch | 0 ...d-attribute-clamping-and-armor-limit-config.patch | 0 ...274-Config-to-remove-explosion-radius-clamp.patch | 2 +- ...onemealable-sugarcane-cactus-and-netherwart.patch | 2 +- .../0276-Add-PreExplodeEvents.patch | 2 +- .../0277-Improve-output-of-plugins-command.patch | 0 .../0278-Make-GUI-Great-Again.patch | 0 .../0279-Stored-Bee-API.patch | 4 ++-- .../0280-Shears-can-defuse-TNT.patch | 2 +- .../0281-Explorer-Map-API.patch | 2 +- .../0282-Option-Ocelot-Spawn-Under-Sea-Level.patch | 0 ...tion-for-piglins-to-ignore-gold-trimmed-arm.patch | 0 ...n-for-always-showing-item-in-player-death-m.patch | 0 .../0285-place-end-crystal-on-any-block.patch | 0 ...n-to-disable-the-copper-oxidation-proximity.patch | 0 .../0287-register-minecraft-debug-commands.patch | 4 ++-- .../0288-Configurable-villager-search-radius.patch | 12 ++++++------ ...9-option-to-make-ravagers-afraid-of-rabbits.patch | 6 +++--- .../0290-config-for-startup-commands.patch | 4 ++-- .../0291-Config-to-reverse-bubble-column-flow.patch | 0 .../0292-Adopt-MaterialRerouting.patch | 0 ...tyTeleportHinderedEvent-when-attempting-to-.patch | 2 +- .../0294-ItemStack-convenience-methods.patch | 0 44 files changed, 59 insertions(+), 59 deletions(-) rename patches/{unapplied-server => server}/0251-Add-more-logger-output-for-invalid-movement-kicks.patch (92%) rename patches/{unapplied-server => server}/0252-Add-Bee-API.patch (88%) rename patches/{unapplied-server => server}/0253-Debug-Marker-API.patch (96%) rename patches/{unapplied-server => server}/0254-mob-spawning-option-to-ignore-creative-players.patch (100%) rename patches/{unapplied-server => server}/0255-Add-skeleton-bow-accuracy-option.patch (95%) rename patches/{unapplied-server => server}/0256-Add-death-screen-API.patch (87%) rename patches/{unapplied-server => server}/0257-Make-pufferfish-config-relocatable.patch (96%) rename patches/{unapplied-server => server}/0258-Implement-ram-and-rambar-commands.patch (98%) rename patches/{unapplied-server => server}/0259-Configurable-block-blast-resistance.patch (96%) rename patches/{unapplied-server => server}/0260-Configurable-block-fall-damage-modifiers.patch (97%) rename patches/{unapplied-server => server}/0261-Language-API.patch (100%) rename patches/{unapplied-server => server}/0262-Milk-Keeps-Beneficial-Effects.patch (97%) rename patches/{unapplied-server => server}/0263-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch (100%) rename patches/{unapplied-server => server}/0264-Add-log-suppression-for-LibraryLoader.patch (100%) rename patches/{unapplied-server => server}/0265-Add-an-option-to-fix-MC-3304-projectile-looting.patch (93%) rename patches/{unapplied-server => server}/0266-Add-option-to-allow-creeper-to-encircle-target-when-.patch (100%) rename patches/{unapplied-server => server}/0267-Fire-Immunity-API.patch (91%) rename patches/{unapplied-server => server}/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch (94%) rename patches/{unapplied-server => server}/0269-Added-got-ram-event.patch (100%) rename patches/{unapplied-server => server}/0270-Log-skipped-entity-s-position.patch (86%) rename patches/{unapplied-server => server}/0271-End-Crystal-Cramming.patch (100%) rename patches/{unapplied-server => server}/0272-Option-to-allow-beacon-effects-when-covered-by-tinte.patch (100%) rename patches/{unapplied-server => server}/0273-Add-attribute-clamping-and-armor-limit-config.patch (100%) rename patches/{unapplied-server => server}/0274-Config-to-remove-explosion-radius-clamp.patch (96%) rename patches/{unapplied-server => server}/0275-bonemealable-sugarcane-cactus-and-netherwart.patch (98%) rename patches/{unapplied-server => server}/0276-Add-PreExplodeEvents.patch (95%) rename patches/{unapplied-server => server}/0277-Improve-output-of-plugins-command.patch (100%) rename patches/{unapplied-server => server}/0278-Make-GUI-Great-Again.patch (100%) rename patches/{unapplied-server => server}/0279-Stored-Bee-API.patch (98%) rename patches/{unapplied-server => server}/0280-Shears-can-defuse-TNT.patch (97%) rename patches/{unapplied-server => server}/0281-Explorer-Map-API.patch (96%) rename patches/{unapplied-server => server}/0282-Option-Ocelot-Spawn-Under-Sea-Level.patch (100%) rename patches/{unapplied-server => server}/0283-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch (100%) rename patches/{unapplied-server => server}/0284-Add-option-for-always-showing-item-in-player-death-m.patch (100%) rename patches/{unapplied-server => server}/0285-place-end-crystal-on-any-block.patch (100%) rename patches/{unapplied-server => server}/0286-Add-option-to-disable-the-copper-oxidation-proximity.patch (100%) rename patches/{unapplied-server => server}/0287-register-minecraft-debug-commands.patch (95%) rename patches/{unapplied-server => server}/0288-Configurable-villager-search-radius.patch (87%) rename patches/{unapplied-server => server}/0289-option-to-make-ravagers-afraid-of-rabbits.patch (90%) rename patches/{unapplied-server => server}/0290-config-for-startup-commands.patch (93%) rename patches/{unapplied-server => server}/0291-Config-to-reverse-bubble-column-flow.patch (100%) rename patches/{unapplied-server => server}/0292-Adopt-MaterialRerouting.patch (100%) rename patches/{unapplied-server => server}/0293-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch (91%) rename patches/{unapplied-server => server}/0294-ItemStack-convenience-methods.patch (100%) diff --git a/patches/unapplied-server/0251-Add-more-logger-output-for-invalid-movement-kicks.patch b/patches/server/0251-Add-more-logger-output-for-invalid-movement-kicks.patch similarity index 92% rename from patches/unapplied-server/0251-Add-more-logger-output-for-invalid-movement-kicks.patch rename to patches/server/0251-Add-more-logger-output-for-invalid-movement-kicks.patch index eeec00f5df..977351c714 100644 --- a/patches/unapplied-server/0251-Add-more-logger-output-for-invalid-movement-kicks.patch +++ b/patches/server/0251-Add-more-logger-output-for-invalid-movement-kicks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add more logger output for invalid movement kicks diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 1e1b42f60679c8b8b27b3255feda4c6cf77d5536..9ae16e24013ea5664d4ea6d52ed7dd188404890f 100644 +index 3c98be45587f3f6ca6cdc53834ef7dae4962f58d..f8438bc2af43ee8883db75503deac10e1e34686e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -761,6 +761,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -756,6 +756,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); if (packet.getId() == this.awaitingTeleport) { if (this.awaitingPositionFromClient == null) { @@ -16,7 +16,7 @@ index 1e1b42f60679c8b8b27b3255feda4c6cf77d5536..9ae16e24013ea5664d4ea6d52ed7dd18 this.disconnect((Component) Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause return; } -@@ -1372,7 +1373,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1425,7 +1426,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handleMovePlayer(ServerboundMovePlayerPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); diff --git a/patches/unapplied-server/0252-Add-Bee-API.patch b/patches/server/0252-Add-Bee-API.patch similarity index 88% rename from patches/unapplied-server/0252-Add-Bee-API.patch rename to patches/server/0252-Add-Bee-API.patch index e4abbb1134..6a1940d103 100644 --- a/patches/unapplied-server/0252-Add-Bee-API.patch +++ b/patches/server/0252-Add-Bee-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Bee API diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index 4b32a783cabf05f5bae0dba22eea8ac7ba2cd285..dc8df0912c1d18176e18a8f4dc43c4f60f81b659 100644 +index 5ca5f128e5614146e76935e6d674e0699c65dfdb..884527c8326c6df3656a4d3a2f5f2847f95b0f63 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java -@@ -954,6 +954,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -988,6 +988,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { if (optional.isPresent()) { Bee.this.savedFlowerPos = (BlockPos) optional.get(); Bee.this.navigation.moveTo((double) Bee.this.savedFlowerPos.getX() + 0.5D, (double) Bee.this.savedFlowerPos.getY() + 0.5D, (double) Bee.this.savedFlowerPos.getZ() + 0.5D, 1.2000000476837158D); @@ -16,7 +16,7 @@ index 4b32a783cabf05f5bae0dba22eea8ac7ba2cd285..dc8df0912c1d18176e18a8f4dc43c4f6 return true; } else { Bee.this.remainingCooldownBeforeLocatingNewFlower = Mth.nextInt(Bee.this.random, 20, 60); -@@ -997,6 +998,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -1031,6 +1032,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { this.pollinating = false; Bee.this.navigation.stop(); Bee.this.remainingCooldownBeforeLocatingNewFlower = 200; @@ -24,7 +24,7 @@ index 4b32a783cabf05f5bae0dba22eea8ac7ba2cd285..dc8df0912c1d18176e18a8f4dc43c4f6 } @Override -@@ -1046,6 +1048,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { +@@ -1080,6 +1082,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { this.setWantedPos(); } diff --git a/patches/unapplied-server/0253-Debug-Marker-API.patch b/patches/server/0253-Debug-Marker-API.patch similarity index 96% rename from patches/unapplied-server/0253-Debug-Marker-API.patch rename to patches/server/0253-Debug-Marker-API.patch index e6141684a4..e4d7f5de6f 100644 --- a/patches/unapplied-server/0253-Debug-Marker-API.patch +++ b/patches/server/0253-Debug-Marker-API.patch @@ -52,7 +52,7 @@ index 268ab3f175ece52e7da6dfa50573089f49685d68..6b0308d081af880a79c369306e8ad697 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 868bf852a9ed6ea2a48a238608f47405da1296f4..907fe00ab752ad124020755f211567af771b9d70 100644 +index 5d0f4395617bcd59aad7cea221f6009d08dc0913..41077511328a31f39639af1d02e7a3041992676d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -2388,6 +2388,42 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -99,10 +99,10 @@ index 868bf852a9ed6ea2a48a238608f47405da1296f4..907fe00ab752ad124020755f211567af @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index fa0cc92b6c66cbed3ab895278b4bf3f80b0af69d..5bb5b1eaf7f50983bce3e9f515115eced685527a 100644 +index 3c76dd383ec0ba19eea19d12902833dc410f96c0..f63b02573b3d42ae8743f591aff2282ece927e31 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3629,5 +3629,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3614,5 +3614,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetIdleTimer() { getHandle().resetLastActionTime(); } diff --git a/patches/unapplied-server/0254-mob-spawning-option-to-ignore-creative-players.patch b/patches/server/0254-mob-spawning-option-to-ignore-creative-players.patch similarity index 100% rename from patches/unapplied-server/0254-mob-spawning-option-to-ignore-creative-players.patch rename to patches/server/0254-mob-spawning-option-to-ignore-creative-players.patch diff --git a/patches/unapplied-server/0255-Add-skeleton-bow-accuracy-option.patch b/patches/server/0255-Add-skeleton-bow-accuracy-option.patch similarity index 95% rename from patches/unapplied-server/0255-Add-skeleton-bow-accuracy-option.patch rename to patches/server/0255-Add-skeleton-bow-accuracy-option.patch index bc59e9a175..9a261e9655 100644 --- a/patches/unapplied-server/0255-Add-skeleton-bow-accuracy-option.patch +++ b/patches/server/0255-Add-skeleton-bow-accuracy-option.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add skeleton bow accuracy option diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java -index 2cadbc0d56908ca978e1735eff07f5e634548606..39d02cf0e31832e30c4f034b0b5385e3e0057e60 100644 +index f90f3e3ad7c941e3222a8119d9b01d571eef4c1b..0235488faee8078186fbb78038789da0846aca29 100644 --- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java -@@ -197,7 +197,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo +@@ -199,7 +199,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo } if (event.getProjectile() == entityarrow.getBukkitEntity()) { diff --git a/patches/unapplied-server/0256-Add-death-screen-API.patch b/patches/server/0256-Add-death-screen-API.patch similarity index 87% rename from patches/unapplied-server/0256-Add-death-screen-API.patch rename to patches/server/0256-Add-death-screen-API.patch index 22e53757cd..cfae288b3e 100644 --- a/patches/unapplied-server/0256-Add-death-screen-API.patch +++ b/patches/server/0256-Add-death-screen-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 674df8d09988b2509adf93d75b2b37009a709410..02339cdd1e8cd6496cb466eb4b1c7ce2d9b6f064 100644 +index f63b02573b3d42ae8743f591aff2282ece927e31..8e0136c55e37d1f2732c555eb7c6129eb2b84c19 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3667,5 +3667,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3652,5 +3652,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (this.getHandle().connection == null) return; this.getHandle().connection.send(new net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket(new net.minecraft.network.protocol.common.custom.GameTestClearMarkersDebugPayload())); } diff --git a/patches/unapplied-server/0257-Make-pufferfish-config-relocatable.patch b/patches/server/0257-Make-pufferfish-config-relocatable.patch similarity index 96% rename from patches/unapplied-server/0257-Make-pufferfish-config-relocatable.patch rename to patches/server/0257-Make-pufferfish-config-relocatable.patch index 4b22dded70..f89e6e6542 100644 --- a/patches/unapplied-server/0257-Make-pufferfish-config-relocatable.patch +++ b/patches/server/0257-Make-pufferfish-config-relocatable.patch @@ -38,7 +38,7 @@ index 8eb51119d60979f85bc98a9413d318522c732693..08a81a45371fd273fb35956bef3bb794 gg.pufferfish.pufferfish.PufferfishCommand.init(); // Pufferfish diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 5bce26e9671aab15ac4bac9a0d00b5184bef74ea..430407b0cf06ba337c59cd576c7e40a8e5fe8229 100644 +index 628f7f784c830189c5718a20ce43a9352e400c33..c471a8c81ba067abcb22956ad1a30b5a9b64fc87 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -182,6 +182,12 @@ public class Main { diff --git a/patches/unapplied-server/0258-Implement-ram-and-rambar-commands.patch b/patches/server/0258-Implement-ram-and-rambar-commands.patch similarity index 98% rename from patches/unapplied-server/0258-Implement-ram-and-rambar-commands.patch rename to patches/server/0258-Implement-ram-and-rambar-commands.patch index bd842583a4..1fde2f28ab 100644 --- a/patches/unapplied-server/0258-Implement-ram-and-rambar-commands.patch +++ b/patches/server/0258-Implement-ram-and-rambar-commands.patch @@ -18,10 +18,10 @@ index eedb3707523b47ab79db326f6d7382cca60c5393..db455a0fc7e1fc004215b718ff470bd2 if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 323d474582cf796ae9d40f9d00f277496d3f2c0a..e6001fadc04b63b82e20652bbb16cb1db5cf44bd 100644 +index 7e785394de3db56e5d0fd8bea5edf5df9fa129fa..8264adc43edfebc2c260c2b915186c20ec3637cc 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -332,6 +332,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -330,6 +330,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple public boolean purpurClient = false; // Purpur private boolean tpsBar = false; // Purpur private boolean compassBar = false; // Purpur @@ -29,7 +29,7 @@ index 323d474582cf796ae9d40f9d00f277496d3f2c0a..e6001fadc04b63b82e20652bbb16cb1d // Paper start - rewrite chunk system private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; -@@ -696,6 +697,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -694,6 +695,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur if (nbt.contains("Purpur.CompassBar")) { this.compassBar = nbt.getBoolean("Purpur.CompassBar"); } // Purpur @@ -37,7 +37,7 @@ index 323d474582cf796ae9d40f9d00f277496d3f2c0a..e6001fadc04b63b82e20652bbb16cb1d } @Override -@@ -748,6 +750,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -746,6 +748,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple } this.saveEnderPearls(nbt); @@ -45,7 +45,7 @@ index 323d474582cf796ae9d40f9d00f277496d3f2c0a..e6001fadc04b63b82e20652bbb16cb1d nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur } -@@ -3477,5 +3480,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -3457,5 +3460,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple public void compassBar(boolean compassBar) { this.compassBar = compassBar; } diff --git a/patches/unapplied-server/0259-Configurable-block-blast-resistance.patch b/patches/server/0259-Configurable-block-blast-resistance.patch similarity index 96% rename from patches/unapplied-server/0259-Configurable-block-blast-resistance.patch rename to patches/server/0259-Configurable-block-blast-resistance.patch index 632aa1f53c..96209afe8a 100644 --- a/patches/unapplied-server/0259-Configurable-block-blast-resistance.patch +++ b/patches/server/0259-Configurable-block-blast-resistance.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable block blast resistance diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -index 6b987ee220d94b482d2aeb4ff6bf271853605dc1..852bfe68ab722a5cbdd90dbd70501b751fe81a78 100644 +index 6376b8b3ff444f4cab93e2bb5d2becc77c33c118..c8ae6e4cd74549f753ec04def5d882de1ab72308 100644 --- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java +++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java @@ -91,7 +91,7 @@ public abstract class BlockBehaviour implements FeatureElement { diff --git a/patches/unapplied-server/0260-Configurable-block-fall-damage-modifiers.patch b/patches/server/0260-Configurable-block-fall-damage-modifiers.patch similarity index 97% rename from patches/unapplied-server/0260-Configurable-block-fall-damage-modifiers.patch rename to patches/server/0260-Configurable-block-fall-damage-modifiers.patch index fc1e59e3e4..6a92ca4e0c 100644 --- a/patches/unapplied-server/0260-Configurable-block-fall-damage-modifiers.patch +++ b/patches/server/0260-Configurable-block-fall-damage-modifiers.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable block fall damage modifiers diff --git a/src/main/java/net/minecraft/world/level/block/BedBlock.java b/src/main/java/net/minecraft/world/level/block/BedBlock.java -index 3b19395f2ddee654a77df5738a1942a08c20c179..c130d316e87f1f896d33ab43831063a89e3bef2b 100644 +index db79ef24ea01db5f619ab29700d3d391438fb742..54836f2a1e4cc9046ba29fb71ea237b358c9cb7d 100644 --- a/src/main/java/net/minecraft/world/level/block/BedBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BedBlock.java @@ -183,7 +183,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock @@ -18,7 +18,7 @@ index 3b19395f2ddee654a77df5738a1942a08c20c179..c130d316e87f1f896d33ab43831063a8 @Override diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index d324eefa500c528776df698e7f9dcdeab76da167..1748aea6613e0c8081f70092c9431e7e04907383 100644 +index b0fbadd0d6ec3e34e36c9f33ed89a3c315dc4289..91e68335d7007e3c1fe13eec0060db01c5f659ac 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java @@ -88,6 +88,10 @@ public class Block extends BlockBehaviour implements ItemLike { diff --git a/patches/unapplied-server/0261-Language-API.patch b/patches/server/0261-Language-API.patch similarity index 100% rename from patches/unapplied-server/0261-Language-API.patch rename to patches/server/0261-Language-API.patch diff --git a/patches/unapplied-server/0262-Milk-Keeps-Beneficial-Effects.patch b/patches/server/0262-Milk-Keeps-Beneficial-Effects.patch similarity index 97% rename from patches/unapplied-server/0262-Milk-Keeps-Beneficial-Effects.patch rename to patches/server/0262-Milk-Keeps-Beneficial-Effects.patch index 854e0a8808..2bc2f25ed2 100644 --- a/patches/unapplied-server/0262-Milk-Keeps-Beneficial-Effects.patch +++ b/patches/server/0262-Milk-Keeps-Beneficial-Effects.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Milk Keeps Beneficial Effects diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 71f735d2c91d08ab652ddc8f3fe37bbb3b425ba4..f4604e543a980d6aeb485252da5a4e755aa12bfa 100644 +index 239046ab467f499107d1e30ca183d79661a380f0..33fbe0f7a356dd847e546feffb468b2803c6744b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1162,6 +1162,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/unapplied-server/0263-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch b/patches/server/0263-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch similarity index 100% rename from patches/unapplied-server/0263-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch rename to patches/server/0263-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch diff --git a/patches/unapplied-server/0264-Add-log-suppression-for-LibraryLoader.patch b/patches/server/0264-Add-log-suppression-for-LibraryLoader.patch similarity index 100% rename from patches/unapplied-server/0264-Add-log-suppression-for-LibraryLoader.patch rename to patches/server/0264-Add-log-suppression-for-LibraryLoader.patch diff --git a/patches/unapplied-server/0265-Add-an-option-to-fix-MC-3304-projectile-looting.patch b/patches/server/0265-Add-an-option-to-fix-MC-3304-projectile-looting.patch similarity index 93% rename from patches/unapplied-server/0265-Add-an-option-to-fix-MC-3304-projectile-looting.patch rename to patches/server/0265-Add-an-option-to-fix-MC-3304-projectile-looting.patch index 62b9e1c03b..5370b128d5 100644 --- a/patches/unapplied-server/0265-Add-an-option-to-fix-MC-3304-projectile-looting.patch +++ b/patches/server/0265-Add-an-option-to-fix-MC-3304-projectile-looting.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add an option to fix MC-3304 (projectile looting) diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java -index b7dccbf33feb978b3937522bb0d62d154699ae9f..d8b69ed256c18e264cffc0097936029e5bd33dd8 100644 +index f4f2581faba3f8686592f3f8ebbcdba3e5d30f7b..2f56d25fe4dce613f078455bd0150c6140df7fff 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java -@@ -80,6 +80,7 @@ public abstract class AbstractArrow extends Projectile { +@@ -82,6 +82,7 @@ public abstract class AbstractArrow extends Projectile { public ItemStack pickupItemStack; @Nullable public ItemStack firedFromWeapon; @@ -16,7 +16,7 @@ index b7dccbf33feb978b3937522bb0d62d154699ae9f..d8b69ed256c18e264cffc0097936029e // Spigot Start @Override -@@ -623,6 +624,12 @@ public abstract class AbstractArrow extends Projectile { +@@ -638,6 +639,12 @@ public abstract class AbstractArrow extends Projectile { return this.firedFromWeapon; } @@ -43,10 +43,10 @@ index 78ba170a83f8c026bd110eae494c52577182ed61..c2ae50872cead7202246b9cce4db6e0a } diff --git a/src/main/java/net/minecraft/world/item/TridentItem.java b/src/main/java/net/minecraft/world/item/TridentItem.java -index 9134c4aada4e0cd7b51810a59405c07d433f7c78..23e04d0d68ffa0e07ab295e7121f8a4963f4914a 100644 +index 810082126567eb02bec395065b95b3c3902d4973..be32255c9bd90f7de3f8f5a62d84c7dcf59fa722 100644 --- a/src/main/java/net/minecraft/world/item/TridentItem.java +++ b/src/main/java/net/minecraft/world/item/TridentItem.java -@@ -100,6 +100,9 @@ public class TridentItem extends Item implements ProjectileItem { +@@ -101,6 +101,9 @@ public class TridentItem extends Item implements ProjectileItem { return false; } ThrownTrident entitythrowntrident = tridentDelayed.projectile(); // Paper - PlayerLaunchProjectileEvent diff --git a/patches/unapplied-server/0266-Add-option-to-allow-creeper-to-encircle-target-when-.patch b/patches/server/0266-Add-option-to-allow-creeper-to-encircle-target-when-.patch similarity index 100% rename from patches/unapplied-server/0266-Add-option-to-allow-creeper-to-encircle-target-when-.patch rename to patches/server/0266-Add-option-to-allow-creeper-to-encircle-target-when-.patch diff --git a/patches/unapplied-server/0267-Fire-Immunity-API.patch b/patches/server/0267-Fire-Immunity-API.patch similarity index 91% rename from patches/unapplied-server/0267-Fire-Immunity-API.patch rename to patches/server/0267-Fire-Immunity-API.patch index cff36eb812..3f639b2ea4 100644 --- a/patches/unapplied-server/0267-Fire-Immunity-API.patch +++ b/patches/server/0267-Fire-Immunity-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fire Immunity API diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 2b612bfe6da7cc6d6447c60aa6f4b72b2616b72d..193c888d0ff2a8c2ef1a7fc8fd8af5d26e701092 100644 +index 7435ff1996e0a6db2f98f1218bf7d2b73a3e2b1d..1832f7ef8a14fb60e004cb7b99a0cd0155332349 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -393,6 +393,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -16,7 +16,7 @@ index 2b612bfe6da7cc6d6447c60aa6f4b72b2616b72d..193c888d0ff2a8c2ef1a7fc8fd8af5d2 public void setOrigin(@javax.annotation.Nonnull Location location) { this.origin = location.toVector(); -@@ -1960,7 +1961,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1983,7 +1984,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public boolean fireImmune() { @@ -25,7 +25,7 @@ index 2b612bfe6da7cc6d6447c60aa6f4b72b2616b72d..193c888d0ff2a8c2ef1a7fc8fd8af5d2 } public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) { -@@ -2715,6 +2716,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2738,6 +2739,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess nbttagcompound.putBoolean("Paper.FreezeLock", true); } // Paper end @@ -37,7 +37,7 @@ index 2b612bfe6da7cc6d6447c60aa6f4b72b2616b72d..193c888d0ff2a8c2ef1a7fc8fd8af5d2 return nbttagcompound; } catch (Throwable throwable) { CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT"); -@@ -2863,6 +2869,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2888,6 +2894,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess freezeLocked = nbt.getBoolean("Paper.FreezeLock"); } // Paper end @@ -50,7 +50,7 @@ index 2b612bfe6da7cc6d6447c60aa6f4b72b2616b72d..193c888d0ff2a8c2ef1a7fc8fd8af5d2 } catch (Throwable throwable) { CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT"); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 02b07d43364c7dec37f1d2adffe123a5b595f669..51aee9a468f4ebfa9672fd9ce84883cf080859e3 100644 +index d4396ece618c0fec437ed915ce07be3fb5f7dca9..1290c1587fe9e39d9350c1079ab27f3be0c6084f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -88,6 +88,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/unapplied-server/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch b/patches/server/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch similarity index 94% rename from patches/unapplied-server/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch rename to patches/server/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch index 0cee4abec6..6b287c4904 100644 --- a/patches/unapplied-server/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch +++ b/patches/server/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn on nether ceiling damage diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 193c888d0ff2a8c2ef1a7fc8fd8af5d26e701092..aa171a1afb9800e6ec84f6b4f1b28e44177752f7 100644 +index 1832f7ef8a14fb60e004cb7b99a0cd0155332349..da7ffdf85907c92fe6c4c6a5ebe571ef4666fcb8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1000,6 +1000,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1004,6 +1004,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess && this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v) && (!(this instanceof Player player) || !player.getAbilities().invulnerable))) { // Paper end - Configurable nether ceiling damage diff --git a/patches/unapplied-server/0269-Added-got-ram-event.patch b/patches/server/0269-Added-got-ram-event.patch similarity index 100% rename from patches/unapplied-server/0269-Added-got-ram-event.patch rename to patches/server/0269-Added-got-ram-event.patch diff --git a/patches/unapplied-server/0270-Log-skipped-entity-s-position.patch b/patches/server/0270-Log-skipped-entity-s-position.patch similarity index 86% rename from patches/unapplied-server/0270-Log-skipped-entity-s-position.patch rename to patches/server/0270-Log-skipped-entity-s-position.patch index a18c62cbf4..c2cfa2ac9a 100644 --- a/patches/unapplied-server/0270-Log-skipped-entity-s-position.patch +++ b/patches/server/0270-Log-skipped-entity-s-position.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Log skipped entity's position diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index 40ae00146381a9a1ec70ffae5c683b46c72c56ff..1d50b03246d114c6583815205eeacb7ac8549aec 100644 +index 2f08747612bd238f12c8d3dccb996118e7c34e33..a3ae5e663a0334eaa8ca6ce89c3088620a849bb9 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java -@@ -683,6 +683,12 @@ public class EntityType implements FeatureElement, EntityTypeT +@@ -693,6 +693,12 @@ public class EntityType implements FeatureElement, EntityTypeT entity.load(nbt); }, () -> { EntityType.LOGGER.warn("Skipping Entity with id {}", nbt.getString("id")); diff --git a/patches/unapplied-server/0271-End-Crystal-Cramming.patch b/patches/server/0271-End-Crystal-Cramming.patch similarity index 100% rename from patches/unapplied-server/0271-End-Crystal-Cramming.patch rename to patches/server/0271-End-Crystal-Cramming.patch diff --git a/patches/unapplied-server/0272-Option-to-allow-beacon-effects-when-covered-by-tinte.patch b/patches/server/0272-Option-to-allow-beacon-effects-when-covered-by-tinte.patch similarity index 100% rename from patches/unapplied-server/0272-Option-to-allow-beacon-effects-when-covered-by-tinte.patch rename to patches/server/0272-Option-to-allow-beacon-effects-when-covered-by-tinte.patch diff --git a/patches/unapplied-server/0273-Add-attribute-clamping-and-armor-limit-config.patch b/patches/server/0273-Add-attribute-clamping-and-armor-limit-config.patch similarity index 100% rename from patches/unapplied-server/0273-Add-attribute-clamping-and-armor-limit-config.patch rename to patches/server/0273-Add-attribute-clamping-and-armor-limit-config.patch diff --git a/patches/unapplied-server/0274-Config-to-remove-explosion-radius-clamp.patch b/patches/server/0274-Config-to-remove-explosion-radius-clamp.patch similarity index 96% rename from patches/unapplied-server/0274-Config-to-remove-explosion-radius-clamp.patch rename to patches/server/0274-Config-to-remove-explosion-radius-clamp.patch index cb419f62f5..e78060dacc 100644 --- a/patches/unapplied-server/0274-Config-to-remove-explosion-radius-clamp.patch +++ b/patches/server/0274-Config-to-remove-explosion-radius-clamp.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Config to remove explosion radius clamp diff --git a/src/main/java/net/minecraft/world/level/ServerExplosion.java b/src/main/java/net/minecraft/world/level/ServerExplosion.java -index bbbd451ff184be8fa13bd93d53c89a9502f9951a..913f7d5fd9823eea9fad2d4e6689511f8d0cfda6 100644 +index 685ccfb73bf7125585ef90b6a0f51b2f81daa428..15a3849922664b85fa6bc9101c2af380d57ea0f3 100644 --- a/src/main/java/net/minecraft/world/level/ServerExplosion.java +++ b/src/main/java/net/minecraft/world/level/ServerExplosion.java @@ -311,7 +311,7 @@ public class ServerExplosion implements Explosion { diff --git a/patches/unapplied-server/0275-bonemealable-sugarcane-cactus-and-netherwart.patch b/patches/server/0275-bonemealable-sugarcane-cactus-and-netherwart.patch similarity index 98% rename from patches/unapplied-server/0275-bonemealable-sugarcane-cactus-and-netherwart.patch rename to patches/server/0275-bonemealable-sugarcane-cactus-and-netherwart.patch index fa46c7cbb7..a5d7b1bd94 100644 --- a/patches/unapplied-server/0275-bonemealable-sugarcane-cactus-and-netherwart.patch +++ b/patches/server/0275-bonemealable-sugarcane-cactus-and-netherwart.patch @@ -53,7 +53,7 @@ index bbfd8f5d404d0add94f0d8ac89a2964692b37e44..9f163ed07f8e6a5370c4c355b4e910f7 + // Purpur end } diff --git a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java -index da1c7999ca64199387054de46489d3ff4a299289..b8355ea1de26c4b6905f477fb4e110f1762447b4 100644 +index b571bca4375ca7caf9b75dbf84009cb0604b66ad..264692baa4a20b66910d8ff379fa72acb99e27f8 100644 --- a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java +++ b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java @@ -16,7 +16,7 @@ import net.minecraft.world.level.block.state.properties.IntegerProperty; diff --git a/patches/unapplied-server/0276-Add-PreExplodeEvents.patch b/patches/server/0276-Add-PreExplodeEvents.patch similarity index 95% rename from patches/unapplied-server/0276-Add-PreExplodeEvents.patch rename to patches/server/0276-Add-PreExplodeEvents.patch index e0195de0ce..b73e69bc0d 100644 --- a/patches/unapplied-server/0276-Add-PreExplodeEvents.patch +++ b/patches/server/0276-Add-PreExplodeEvents.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PreExplodeEvents diff --git a/src/main/java/net/minecraft/world/level/ServerExplosion.java b/src/main/java/net/minecraft/world/level/ServerExplosion.java -index 913f7d5fd9823eea9fad2d4e6689511f8d0cfda6..3c3d219c9339f64c23ec0b31783bf68a4423636c 100644 +index 15a3849922664b85fa6bc9101c2af380d57ea0f3..e2763ee67530074d8ec78fbff694eb84f5373de0 100644 --- a/src/main/java/net/minecraft/world/level/ServerExplosion.java +++ b/src/main/java/net/minecraft/world/level/ServerExplosion.java @@ -670,6 +670,23 @@ public class ServerExplosion implements Explosion { diff --git a/patches/unapplied-server/0277-Improve-output-of-plugins-command.patch b/patches/server/0277-Improve-output-of-plugins-command.patch similarity index 100% rename from patches/unapplied-server/0277-Improve-output-of-plugins-command.patch rename to patches/server/0277-Improve-output-of-plugins-command.patch diff --git a/patches/unapplied-server/0278-Make-GUI-Great-Again.patch b/patches/server/0278-Make-GUI-Great-Again.patch similarity index 100% rename from patches/unapplied-server/0278-Make-GUI-Great-Again.patch rename to patches/server/0278-Make-GUI-Great-Again.patch diff --git a/patches/unapplied-server/0279-Stored-Bee-API.patch b/patches/server/0279-Stored-Bee-API.patch similarity index 98% rename from patches/unapplied-server/0279-Stored-Bee-API.patch rename to patches/server/0279-Stored-Bee-API.patch index 02dbe502a4..7da39c6133 100644 --- a/patches/unapplied-server/0279-Stored-Bee-API.patch +++ b/patches/server/0279-Stored-Bee-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Stored Bee API diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java -index b7ad467d7d7f50bcb90e50f00f905873e89c7956..def408384cbd571b7bee23f5cecf430a5d690c4b 100644 +index 7f0e37e23ff4c64355fdc822c0ac683959b8588a..6fa25cac9d88808a590281bf90f619fa2f167d4a 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java @@ -147,11 +147,33 @@ public class BeehiveBlockEntity extends BlockEntity { @@ -42,7 +42,7 @@ index b7ad467d7d7f50bcb90e50f00f905873e89c7956..def408384cbd571b7bee23f5cecf430a // Paper start - Add EntityBlockStorage clearEntities public void clearBees() { this.stored.clear(); -@@ -472,9 +494,9 @@ public class BeehiveBlockEntity extends BlockEntity { +@@ -467,9 +489,9 @@ public class BeehiveBlockEntity extends BlockEntity { } } diff --git a/patches/unapplied-server/0280-Shears-can-defuse-TNT.patch b/patches/server/0280-Shears-can-defuse-TNT.patch similarity index 97% rename from patches/unapplied-server/0280-Shears-can-defuse-TNT.patch rename to patches/server/0280-Shears-can-defuse-TNT.patch index f3c819cc2e..1d2107b82f 100644 --- a/patches/unapplied-server/0280-Shears-can-defuse-TNT.patch +++ b/patches/server/0280-Shears-can-defuse-TNT.patch @@ -8,7 +8,7 @@ Shears can now defuse TNT. Each world can have a configured chance for the TNT t By default the option is disabled to avoid breaking any possible vanilla mechanics. diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java -index de87483600e55d88176fe25db621bbd3e464729f..287ba483614e79e78022e703ef891f59f41ac455 100644 +index 809f5e847e2f5bb594c130cebd2cb897ea768d82..6f1e21d6c104d71fe4fc3376ed2f2273a5f3d3cc 100644 --- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java +++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java @@ -249,4 +249,31 @@ public class PrimedTnt extends Entity implements TraceableEntity { diff --git a/patches/unapplied-server/0281-Explorer-Map-API.patch b/patches/server/0281-Explorer-Map-API.patch similarity index 96% rename from patches/unapplied-server/0281-Explorer-Map-API.patch rename to patches/server/0281-Explorer-Map-API.patch index 27089456b6..411627d30e 100644 --- a/patches/unapplied-server/0281-Explorer-Map-API.patch +++ b/patches/server/0281-Explorer-Map-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Explorer Map API diff --git a/src/main/java/net/minecraft/world/item/MapItem.java b/src/main/java/net/minecraft/world/item/MapItem.java -index 571f2540a1e9422025efe651167e26b44b437daa..c2f3c8b3d8eeb609b6d6067c4fb404aefbf94ec5 100644 +index 8ff50a4c7461bbd9f469d503f6b5ee482d2463d7..5c0a46c11003b6e154195a8ef299416cc73eae33 100644 --- a/src/main/java/net/minecraft/world/item/MapItem.java +++ b/src/main/java/net/minecraft/world/item/MapItem.java @@ -194,6 +194,7 @@ public class MapItem extends Item { diff --git a/patches/unapplied-server/0282-Option-Ocelot-Spawn-Under-Sea-Level.patch b/patches/server/0282-Option-Ocelot-Spawn-Under-Sea-Level.patch similarity index 100% rename from patches/unapplied-server/0282-Option-Ocelot-Spawn-Under-Sea-Level.patch rename to patches/server/0282-Option-Ocelot-Spawn-Under-Sea-Level.patch diff --git a/patches/unapplied-server/0283-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch b/patches/server/0283-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch similarity index 100% rename from patches/unapplied-server/0283-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch rename to patches/server/0283-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch diff --git a/patches/unapplied-server/0284-Add-option-for-always-showing-item-in-player-death-m.patch b/patches/server/0284-Add-option-for-always-showing-item-in-player-death-m.patch similarity index 100% rename from patches/unapplied-server/0284-Add-option-for-always-showing-item-in-player-death-m.patch rename to patches/server/0284-Add-option-for-always-showing-item-in-player-death-m.patch diff --git a/patches/unapplied-server/0285-place-end-crystal-on-any-block.patch b/patches/server/0285-place-end-crystal-on-any-block.patch similarity index 100% rename from patches/unapplied-server/0285-place-end-crystal-on-any-block.patch rename to patches/server/0285-place-end-crystal-on-any-block.patch diff --git a/patches/unapplied-server/0286-Add-option-to-disable-the-copper-oxidation-proximity.patch b/patches/server/0286-Add-option-to-disable-the-copper-oxidation-proximity.patch similarity index 100% rename from patches/unapplied-server/0286-Add-option-to-disable-the-copper-oxidation-proximity.patch rename to patches/server/0286-Add-option-to-disable-the-copper-oxidation-proximity.patch diff --git a/patches/unapplied-server/0287-register-minecraft-debug-commands.patch b/patches/server/0287-register-minecraft-debug-commands.patch similarity index 95% rename from patches/unapplied-server/0287-register-minecraft-debug-commands.patch rename to patches/server/0287-register-minecraft-debug-commands.patch index 21200a889b..99c770e207 100644 --- a/patches/unapplied-server/0287-register-minecraft-debug-commands.patch +++ b/patches/server/0287-register-minecraft-debug-commands.patch @@ -20,10 +20,10 @@ index db455a0fc7e1fc004215b718ff470bd2f74eae1b..8d82425ccbc30b3f4a59767ca72bf373 DebugPathCommand.register(this.dispatcher); DebugMobSpawningCommand.register(this.dispatcher); diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index 463eb4844e467c5c7018087e4f21d7d41e1c9063..ecaec3c7b5768771b00c4c33d48a76ba22653a79 100644 +index 978c0d7296f400fe2ebda89e4f61386e6e87fe0c..a880f4e5cf712654649ad043e58e073e9a87c0fe 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -123,6 +123,7 @@ public class Main { +@@ -125,6 +125,7 @@ public class Main { // Purpur start - load config files early org.bukkit.configuration.file.YamlConfiguration purpurConfiguration = io.papermc.paper.configuration.PaperConfigurations.loadLegacyConfigFile((File) optionset.valueOf("purpur-settings")); org.purpurmc.purpur.PurpurConfig.clampEnchantLevels = purpurConfiguration.getBoolean("settings.enchantment.clamp-levels", true); diff --git a/patches/unapplied-server/0288-Configurable-villager-search-radius.patch b/patches/server/0288-Configurable-villager-search-radius.patch similarity index 87% rename from patches/unapplied-server/0288-Configurable-villager-search-radius.patch rename to patches/server/0288-Configurable-villager-search-radius.patch index 4fc65ed59e..1e29bb581c 100644 --- a/patches/unapplied-server/0288-Configurable-villager-search-radius.patch +++ b/patches/server/0288-Configurable-villager-search-radius.patch @@ -5,18 +5,18 @@ Subject: [PATCH] Configurable-villager-search-radius diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java -index e1b6fe9ecda25f86431baf414f1bfd3a26a8b2bd..3d7578605812021bc84b99d4db1672a682d897ad 100644 +index 0d177e828c2b338ce93c58aaef04df326e1eb0b2..273ba657926ce72a7c82861e880a82bf7f322a0b 100644 --- a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java +++ b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java -@@ -73,7 +73,7 @@ public class AcquirePoi { +@@ -86,7 +86,7 @@ public class AcquirePoi { }; // Paper start - optimise POI access - java.util.List, BlockPos>> poiposes = new java.util.ArrayList<>(); + final java.util.List, BlockPos>> poiposes = new java.util.ArrayList<>(); - io.papermc.paper.util.PoiAccess.findNearestPoiPositions(poiManager, poiPredicate, predicate2, entity.blockPosition(), 48, 48*48, PoiManager.Occupancy.HAS_SPACE, false, 5, poiposes); + io.papermc.paper.util.PoiAccess.findNearestPoiPositions(poiManager, poiPredicate, predicate2, entity.blockPosition(), world.purpurConfig.villagerAcquirePoiSearchRadius, world.purpurConfig.villagerAcquirePoiSearchRadius*world.purpurConfig.villagerAcquirePoiSearchRadius, PoiManager.Occupancy.HAS_SPACE, false, 5, poiposes); - Set, BlockPos>> set = new java.util.HashSet<>(poiposes); - // Paper end - optimise POI access - Path path = findPathToPois(entity, set); + final Set, BlockPos>> set = new java.util.HashSet<>(poiposes.size()); + for (final Pair, BlockPos> poiPose : poiposes) { + if (worldPosBiPredicate.test(world, poiPose.getSecond())) { diff --git a/src/main/java/net/minecraft/world/entity/ai/sensing/NearestBedSensor.java b/src/main/java/net/minecraft/world/entity/ai/sensing/NearestBedSensor.java index 92731b6b593289e9f583c9b705b219e81fcd8e73..9104d7010bda6f9f73b478c11490ef9c53f76da2 100644 --- a/src/main/java/net/minecraft/world/entity/ai/sensing/NearestBedSensor.java diff --git a/patches/unapplied-server/0289-option-to-make-ravagers-afraid-of-rabbits.patch b/patches/server/0289-option-to-make-ravagers-afraid-of-rabbits.patch similarity index 90% rename from patches/unapplied-server/0289-option-to-make-ravagers-afraid-of-rabbits.patch rename to patches/server/0289-option-to-make-ravagers-afraid-of-rabbits.patch index ae28a292c5..66b1f9b835 100644 --- a/patches/unapplied-server/0289-option-to-make-ravagers-afraid-of-rabbits.patch +++ b/patches/server/0289-option-to-make-ravagers-afraid-of-rabbits.patch @@ -6,13 +6,13 @@ Subject: [PATCH] option to make ravagers afraid of rabbits https://github.com/PurpurMC/Purpur/discussions/713 diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java -index 1c8cb19a8b25593d16518006247bdf0e71e16ab1..98c1934b4895a86cd8748edf906aaa721a87a123 100644 +index 5688f6ff0c1d9d1fbca548dcff8d8dfa5b42b8fd..17aaa3f376ce6183911739536206f9f701e452b5 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java -@@ -122,6 +122,7 @@ public class Ravager extends Raider { +@@ -119,6 +119,7 @@ public class Ravager extends Raider { + super.registerGoals(); this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - this.goalSelector.addGoal(3, new AvoidEntityGoal<>(this, Creaking.class, 8.0F, 1.0D, 1.2D)); + if (level().purpurConfig.ravagerAvoidRabbits) this.goalSelector.addGoal(3, new net.minecraft.world.entity.ai.goal.AvoidEntityGoal<>(this, net.minecraft.world.entity.animal.Rabbit.class, 6.0F, 1.0D, 1.2D)); // Purpur this.goalSelector.addGoal(4, new MeleeAttackGoal(this, 1.0D, true)); this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 0.4D)); diff --git a/patches/unapplied-server/0290-config-for-startup-commands.patch b/patches/server/0290-config-for-startup-commands.patch similarity index 93% rename from patches/unapplied-server/0290-config-for-startup-commands.patch rename to patches/server/0290-config-for-startup-commands.patch index 74f1ec8bda..ba7680bc40 100644 --- a/patches/unapplied-server/0290-config-for-startup-commands.patch +++ b/patches/server/0290-config-for-startup-commands.patch @@ -5,10 +5,10 @@ Subject: [PATCH] config for startup commands diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 284b96cd1e9eaad4600c820a504c12d953961019..23505b0f80d643d9ef569b49192f44e0373dfb5f 100644 +index 74d4bb12d70cbfd8365337c8fbcdbdfe6d70e970..0819adb34541e5a774f07616957c785b3d6cd8ea 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1293,6 +1293,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop Date: Tue, 3 Dec 2024 21:15:22 -0800 Subject: [PATCH 12/19] bump mc version in configuration file --- .idea/runConfigurations/Run_Purpur_Paperclip_Jar.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.idea/runConfigurations/Run_Purpur_Paperclip_Jar.xml b/.idea/runConfigurations/Run_Purpur_Paperclip_Jar.xml index dcfd05e124..3f3ea1dc5f 100644 --- a/.idea/runConfigurations/Run_Purpur_Paperclip_Jar.xml +++ b/.idea/runConfigurations/Run_Purpur_Paperclip_Jar.xml @@ -1,6 +1,6 @@ - - \ No newline at end of file + From 81e1e7d5f199ffd97e50308d749b2dae8f838530 Mon Sep 17 00:00:00 2001 From: granny Date: Tue, 3 Dec 2024 23:45:48 -0800 Subject: [PATCH 13/19] fix compilation issues --- patches/server/0009-Ridables.patch | 18 ++++++++++-------- patches/server/0035-Cows-eat-mushrooms.patch | 9 +++++---- ...0-Add-allow-water-in-end-world-option.patch | 4 ++-- ...able-chance-for-wolves-to-spawn-rabid.patch | 9 +++++---- ...125-Config-to-always-tame-in-Creative.patch | 4 ++-- .../server/0128-Dont-run-with-scissors.patch | 4 ++-- .../0244-Skeletons-eat-wither-roses.patch | 9 +++++---- 7 files changed, 31 insertions(+), 26 deletions(-) diff --git a/patches/server/0009-Ridables.patch b/patches/server/0009-Ridables.patch index 456146db3a..8d993621c5 100644 --- a/patches/server/0009-Ridables.patch +++ b/patches/server/0009-Ridables.patch @@ -1786,7 +1786,7 @@ index fd9f6c17448a4d87f940eb8f544ecb9669068582..3a0b71cad2c68e972c5989bd37de8395 } diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java -index 97a3f0ab3dfca24991051395229dd4c601a66fa0..99255bb3a5c3198fe1aaa4b897c970420bd20288 100644 +index 97a3f0ab3dfca24991051395229dd4c601a66fa0..803c36f87dbbb72a245b47baebacdea8dd038320 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Squid.java +++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java @@ -50,9 +50,32 @@ public class Squid extends AgeableWaterCreature { @@ -1804,7 +1804,7 @@ index 97a3f0ab3dfca24991051395229dd4c601a66fa0..99255bb3a5c3198fe1aaa4b897c97042 + return level().purpurConfig.squidControllable; + } + -+ protected void rotateVectorAroundY(org.bukkit.util.Vector vector, double degrees) { ++ protected static void rotateVectorAroundY(org.bukkit.util.Vector vector, double degrees) { + double rad = Math.toRadians(degrees); + double cos = Math.cos(rad); + double sine = Math.sin(rad); @@ -6370,10 +6370,10 @@ index 0000000000000000000000000000000000000000..ba2a37dad43e238e54632975abea8ee6 +} diff --git a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java new file mode 100644 -index 0000000000000000000000000000000000000000..89c476c740b4efb4f44c1dcd384b908626d96780 +index 0000000000000000000000000000000000000000..5a3df169da4a673d07d17f4f0f016721b9e6bf95 --- /dev/null +++ b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java -@@ -0,0 +1,100 @@ +@@ -0,0 +1,101 @@ +package org.purpurmc.purpur.entity; + +import net.minecraft.core.particles.ParticleTypes; @@ -6429,10 +6429,11 @@ index 0000000000000000000000000000000000000000..89c476c740b4efb4f44c1dcd384b9086 + Vec3 motDouble = mot.scale(2.0); + for (int i = 0; i < 5; i++) { + ((ServerLevel) level()).sendParticles(null, ParticleTypes.BUBBLE, ++ false, true, + getX() + random.nextFloat() / 2 - 0.25F, + getY() + random.nextFloat() / 2 - 0.25F, + getZ() + random.nextFloat() / 2 - 0.25F, -+ 0, motDouble.x(), motDouble.y(), motDouble.z(), 0.1D, true); ++ 0, motDouble.x(), motDouble.y(), motDouble.z(), 0.1D); + } + + if (++ticksLived > 20) { @@ -6476,10 +6477,10 @@ index 0000000000000000000000000000000000000000..89c476c740b4efb4f44c1dcd384b9086 +} diff --git a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java new file mode 100644 -index 0000000000000000000000000000000000000000..d7f5686fe897f3c2424b146c8e7d2862223d1eaf +index 0000000000000000000000000000000000000000..f6358e9afc6758f2b20e97b6037f6db0204a7dd5 --- /dev/null +++ b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java -@@ -0,0 +1,122 @@ +@@ -0,0 +1,123 @@ +package org.purpurmc.purpur.entity; + +import net.minecraft.core.particles.ParticleTypes; @@ -6537,10 +6538,11 @@ index 0000000000000000000000000000000000000000..d7f5686fe897f3c2424b146c8e7d2862 + Vec3 motDouble = mot.scale(2.0); + for (int i = 0; i < 5; i++) { + ((ServerLevel) level()).sendParticles(null, ParticleTypes.FLAME, ++ false, true, + getX() + random.nextFloat() / 2 - 0.25F, + getY() + random.nextFloat() / 2 - 0.25F, + getZ() + random.nextFloat() / 2 - 0.25F, -+ 0, motDouble.x(), motDouble.y(), motDouble.z(), 0.1D, true); ++ 0, motDouble.x(), motDouble.y(), motDouble.z(), 0.1D); + } + + if (++ticksLived > 20) { diff --git a/patches/server/0035-Cows-eat-mushrooms.patch b/patches/server/0035-Cows-eat-mushrooms.patch index 4aea692cc9..e5f80ee6ff 100644 --- a/patches/server/0035-Cows-eat-mushrooms.patch +++ b/patches/server/0035-Cows-eat-mushrooms.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Cows eat mushrooms diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java -index 8229a99d4454df64def52bbf686183284d62c900..e6fa66a8c88d4f20a7383e8fd5b3df44718478fa 100644 +index 8229a99d4454df64def52bbf686183284d62c900..5b1cd0003f48a44609ed42919a191ec22c379640 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cow.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java @@ -74,7 +74,7 @@ public class Cow extends Animal { @@ -28,7 +28,7 @@ index 8229a99d4454df64def52bbf686183284d62c900..e6fa66a8c88d4f20a7383e8fd5b3df44 } else { return super.mobInteract(player, hand); } -@@ -151,4 +155,66 @@ public class Cow extends Animal { +@@ -151,4 +155,67 @@ public class Cow extends Animal { public EntityDimensions getDefaultDimensions(Pose pose) { return this.isBaby() ? Cow.BABY_DIMENSIONS : super.getDefaultDimensions(pose); } @@ -87,9 +87,10 @@ index 8229a99d4454df64def52bbf686183284d62c900..e6fa66a8c88d4f20a7383e8fd5b3df44 + stack.shrink(1); + } + for (int i = 0; i < 15; ++i) { -+ ((ServerLevel) level()).sendParticles(((ServerLevel) level()).players(), null, net.minecraft.core.particles.ParticleTypes.HAPPY_VILLAGER, ++ ((ServerLevel) level()).sendParticlesSource(((ServerLevel) level()).players(), null, net.minecraft.core.particles.ParticleTypes.HAPPY_VILLAGER, ++ false, true, + getX() + random.nextFloat(), getY() + (random.nextFloat() * 2), getZ() + random.nextFloat(), 1, -+ random.nextGaussian() * 0.05D, random.nextGaussian() * 0.05D, random.nextGaussian() * 0.05D, 0, true); ++ random.nextGaussian() * 0.05D, random.nextGaussian() * 0.05D, random.nextGaussian() * 0.05D, 0); + } + return InteractionResult.SUCCESS; + } diff --git a/patches/server/0070-Add-allow-water-in-end-world-option.patch b/patches/server/0070-Add-allow-water-in-end-world-option.patch index b3cb4ec6ba..123fd2480e 100644 --- a/patches/server/0070-Add-allow-water-in-end-world-option.patch +++ b/patches/server/0070-Add-allow-water-in-end-world-option.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add allow water in end world option diff --git a/src/main/java/net/minecraft/world/item/BucketItem.java b/src/main/java/net/minecraft/world/item/BucketItem.java -index 3bddfb6f7412ab86e0c090d0cbc6cf254b3f891c..6aa8ee091d3a7d2826d08ab9a03f970ef71a81ea 100644 +index 3bddfb6f7412ab86e0c090d0cbc6cf254b3f891c..5e64a3243c1d8536a1e86983e4486a58ef6ab9fc 100644 --- a/src/main/java/net/minecraft/world/item/BucketItem.java +++ b/src/main/java/net/minecraft/world/item/BucketItem.java @@ -196,7 +196,7 @@ public class BucketItem extends Item implements DispensibleContainerItem { @@ -22,7 +22,7 @@ index 3bddfb6f7412ab86e0c090d0cbc6cf254b3f891c..6aa8ee091d3a7d2826d08ab9a03f970e for (int l = 0; l < 8; ++l) { - world.addParticle(ParticleTypes.LARGE_SMOKE, (double) i + Math.random(), (double) j + Math.random(), (double) k + Math.random(), 0.0D, 0.0D, 0.0D); -+ ((ServerLevel) world).sendParticles(null, ParticleTypes.LARGE_SMOKE, (double) i + Math.random(), (double) j + Math.random(), (double) k + Math.random(), 1, 0.0D, 0.0D, 0.0D, 0.0D, true); // Purpur ++ ((ServerLevel) world).sendParticles(null, ParticleTypes.LARGE_SMOKE, false, true, (double) i + Math.random(), (double) j + Math.random(), (double) k + Math.random(), 1, 0.0D, 0.0D, 0.0D, 0.0D); // Purpur } return true; diff --git a/patches/server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch index af2d20c392..ce02d2cce6 100644 --- a/patches/server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch +++ b/patches/server/0110-Configurable-chance-for-wolves-to-spawn-rabid.patch @@ -7,7 +7,7 @@ Configurable chance to spawn a wolf that is rabid. Rabid wolves attack all players, mobs, and animals. diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -index 71f76046b37705d064dc532ae1244ecc2920393a..7eeb283d969c93e884791709734abf8b64b730d5 100644 +index 71f76046b37705d064dc532ae1244ecc2920393a..e0e8ef7f579c36b082dbcd8c4f330fbc227e0d00 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java @@ -103,6 +103,37 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder Date: Tue, 3 Dec 2024 23:46:00 -0800 Subject: [PATCH 14/19] bump paperweight version --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 3b32c20041..e37701179c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent plugins { java `maven-publish` - id("io.papermc.paperweight.patcher") version "1.7.5" + id("io.papermc.paperweight.patcher") version "1.7.6" } allprojects { From 2353ba45d31141f736b509885601cb943a6389e7 Mon Sep 17 00:00:00 2001 From: granny Date: Tue, 3 Dec 2024 23:48:32 -0800 Subject: [PATCH 15/19] bump gradle wrapper to 8.11.1 --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index df97d72b8b..e2847c8200 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 0cff436bd325bb93742f79faa94dcfd73a33f092 Mon Sep 17 00:00:00 2001 From: granny Date: Wed, 4 Dec 2024 00:43:19 -0800 Subject: [PATCH 16/19] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@7e601ad Implement new CustomModelData PaperMC/Paper@3b35456 Implement assetid --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index c176079f33..d9fd8cb8ef 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.21.4-R0.1-SNAPSHOT mcVersion = 1.21.4 -paperCommit = cbd578c7b541240f4e9405d4db0fe4270125e873 +paperCommit = 3b35456b3f5773f6384c0ae5edd21549394cd3a4 org.gradle.caching = true org.gradle.parallel = true From e00487b0cc3096a5b1f257b0b416767c9e23a985 Mon Sep 17 00:00:00 2001 From: granny Date: Wed, 4 Dec 2024 02:30:09 -0800 Subject: [PATCH 17/19] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@d0645d9 Update readme, set updatingMinecraft to false PaperMC/Paper@747cac4 Updated Upstream (CraftBukkit) PaperMC/Paper@416a733 Apply coordinate offset only to VoxelShape --- gradle.properties | 2 +- patches/server/0228-Allow-void-trading.patch | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index d9fd8cb8ef..523fff11cb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.21.4-R0.1-SNAPSHOT mcVersion = 1.21.4 -paperCommit = 3b35456b3f5773f6384c0ae5edd21549394cd3a4 +paperCommit = 416a73304809d94c11a2bf22bbb2ad438a0dd68c org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/server/0228-Allow-void-trading.patch b/patches/server/0228-Allow-void-trading.patch index b744f6d0d3..01b07a6c30 100644 --- a/patches/server/0228-Allow-void-trading.patch +++ b/patches/server/0228-Allow-void-trading.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow void trading diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 9ceaf051ebc9d58b584b93832cc21ad43ac1a558..48d6b3d45d73c8f235f51a9652f33c81b3472a12 100644 +index a580610c6e528cd3a54f88f6d1031db1e6c46028..d0653880e8f8852a27e16c5c964fb7b86c40d542 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2850,7 +2850,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -2854,7 +2854,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe // Spigot Start if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message // Paper start - Fix merchant inventory not closing on entity removal From 2af2e717b36bd19c4232328f9cdf18ef904a2061 Mon Sep 17 00:00:00 2001 From: granny Date: Fri, 6 Dec 2024 00:44:51 -0800 Subject: [PATCH 18/19] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@1cc86be Update setup-gradle action PaperMC/Paper@b0d7153 fix item meta PaperMC/Paper@2206b9a fix components PaperMC/Paper@e73d396 fix asset id PaperMC/Paper@2a4ba00 add missing effect cause, for bee being poisoned PaperMC/Paper@4806ce5 properly override push/knockback methods PaperMC/Paper@bb4fb53 call EntityInsideBlockEvent for eyeblossom PaperMC/Paper@ae060b3 Finish PlayerPickItemEvent PaperMC/Paper@c54c062 Port exact choice improvements (#11705) PaperMC/Paper@e4e24f3 Move around patches again PaperMC/Paper@4c39ea2 More moving around of hunks PaperMC/Paper@77afb9a Add new bundle animation (#11708) PaperMC/Paper@346b9b8 Fixup PlayerPickItemEvent docs more PaperMC/Paper@d4630f1 Fix broken joml metadata resulting in kotlin being included on compile/runtime classpath (#11712) --- .github/workflows/build.yml | 3 +- build.gradle.kts | 2 +- gradle.properties | 2 +- patches/api/0001-Pufferfish-API-Changes.patch | 6 ++-- patches/api/0005-Build-System-Changes.patch | 4 +-- .../0001-Pufferfish-Server-Changes.patch | 32 +++++++++---------- patches/server/0004-Purpur-config-files.patch | 8 ++--- .../server/0005-Purpur-client-support.patch | 6 ++-- patches/server/0009-Ridables.patch | 22 ++++++------- patches/server/0013-AFK-API.patch | 14 ++++---- patches/server/0016-Lagging-threshold.patch | 8 ++--- .../0071-Allow-color-codes-in-books.patch | 12 +++---- patches/server/0072-Entity-lifespan.patch | 10 +++--- ...e-to-recipe-s-ExactChoice-ingredient.patch | 12 +++---- ...04-Changeable-Mob-Left-Handed-Chance.patch | 4 +-- .../server/0116-PlayerBookTooLargeEvent.patch | 6 ++-- ...iefing-bypass-to-everything-affected.patch | 4 +-- ...0120-Add-EntityTeleportHinderedEvent.patch | 4 +-- .../server/0128-Dont-run-with-scissors.patch | 6 ++-- ...168-API-for-any-mob-to-burn-daylight.patch | 6 ++-- .../0201-Extended-OfflinePlayer-API.patch | 4 +-- ...t-right-click-to-use-exp-for-mending.patch | 4 +-- .../server/0211-UPnP-Port-Forwarding.patch | 6 ++-- .../0249-Add-local-difficulty-api.patch | 4 +-- ...er-output-for-invalid-movement-kicks.patch | 4 +-- patches/server/0253-Debug-Marker-API.patch | 10 +++--- .../server/0256-Add-death-screen-API.patch | 4 +-- ...ortHinderedEvent-when-attempting-to-.patch | 4 +-- 28 files changed, 105 insertions(+), 106 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fa85615bba..24c276e115 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,8 +17,7 @@ jobs: distribution: temurin java-version: 21 cache: 'gradle' - - uses: gradle/wrapper-validation-action@v2 - - uses: gradle/actions/setup-gradle@v3 + - uses: gradle/actions/setup-gradle@v4 - name: Configure Git run: git config --global user.email "no-reply@github.com" && git config --global user.name "Github Actions" - name: Apply Patches diff --git a/build.gradle.kts b/build.gradle.kts index e37701179c..d472edfdd7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent plugins { java `maven-publish` - id("io.papermc.paperweight.patcher") version "1.7.6" + id("io.papermc.paperweight.patcher") version "1.7.7" } allprojects { diff --git a/gradle.properties b/gradle.properties index 523fff11cb..532df5a571 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.21.4-R0.1-SNAPSHOT mcVersion = 1.21.4 -paperCommit = 416a73304809d94c11a2bf22bbb2ad438a0dd68c +paperCommit = d4630f1223ba8cef0f9767d22f70999f1292cbcf org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0001-Pufferfish-API-Changes.patch b/patches/api/0001-Pufferfish-API-Changes.patch index ac432b1ef8..1259ec0fb0 100644 --- a/patches/api/0001-Pufferfish-API-Changes.patch +++ b/patches/api/0001-Pufferfish-API-Changes.patch @@ -20,10 +20,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/build.gradle.kts b/build.gradle.kts -index 8d76f0a8b6b67f0cae0b2fa23f0f79fc9fe97f30..ed46baad9fad925201cf2aeaea884a796af5dd9c 100644 +index 571534b42cd9c33d6a7bb6fe3bf3a28e33f8e5de..5ceaca1bd75335f85b4876a394ea8c2643cda694 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -64,6 +64,7 @@ dependencies { +@@ -66,6 +66,7 @@ dependencies { apiAndDocs("net.kyori:adventure-text-logger-slf4j") api("org.apache.logging.log4j:log4j-api:$log4jVersion") api("org.slf4j:slf4j-api:$slf4jVersion") @@ -31,7 +31,7 @@ index 8d76f0a8b6b67f0cae0b2fa23f0f79fc9fe97f30..ed46baad9fad925201cf2aeaea884a79 implementation("org.ow2.asm:asm:9.7.1") implementation("org.ow2.asm:asm-commons:9.7.1") -@@ -148,6 +149,13 @@ val generateApiVersioningFile by tasks.registering { +@@ -150,6 +151,13 @@ val generateApiVersioningFile by tasks.registering { } } diff --git a/patches/api/0005-Build-System-Changes.patch b/patches/api/0005-Build-System-Changes.patch index a6ce146299..ae251c7926 100644 --- a/patches/api/0005-Build-System-Changes.patch +++ b/patches/api/0005-Build-System-Changes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Build System Changes diff --git a/build.gradle.kts b/build.gradle.kts -index ed46baad9fad925201cf2aeaea884a796af5dd9c..99a157ade959fd38da28851b3c698d8ea4736b86 100644 +index 5ceaca1bd75335f85b4876a394ea8c2643cda694..49546dfbb4dd006b5a2419908890ba4c2a0e207a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -168,6 +168,8 @@ tasks.jar { +@@ -170,6 +170,8 @@ tasks.jar { } tasks.withType { diff --git a/patches/server/0001-Pufferfish-Server-Changes.patch b/patches/server/0001-Pufferfish-Server-Changes.patch index dd83492189..ab554b1998 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -131,10 +131,10 @@ index c21e00812f1aaa1279834a0562d360d6b89e146c..877d2095a066854939f260ca4b0b8c7b } diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java -index 4b002e8b75d117b726b0de274a76d3596fce015b..692c962193cf9fcc6801fc93f3220bdc673d527b 100644 +index 8f62879582195d8ae4f64bd23f752fa133b1c973..8433c3ac440faa969069d1929b8b77fcb1080be7 100644 --- a/src/main/java/com/destroystokyo/paper/Metrics.java +++ b/src/main/java/com/destroystokyo/paper/Metrics.java -@@ -593,7 +593,7 @@ public class Metrics { +@@ -592,7 +592,7 @@ public class Metrics { boolean logFailedRequests = config.getBoolean("logFailedRequests", false); // Only start Metrics, if it's enabled in the config if (config.getBoolean("enabled", true)) { @@ -143,7 +143,7 @@ index 4b002e8b75d117b726b0de274a76d3596fce015b..692c962193cf9fcc6801fc93f3220bdc metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> { String minecraftVersion = Bukkit.getVersion(); -@@ -607,11 +607,11 @@ public class Metrics { +@@ -606,11 +606,11 @@ public class Metrics { final String implVersion = org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion(); if (implVersion != null) { final String buildOrHash = implVersion.substring(implVersion.lastIndexOf('-') + 1); @@ -1017,13 +1017,13 @@ index 0000000000000000000000000000000000000000..facd55463d44cb7e3d2ca6892982f549 + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ab4f1bd1ebf0af54f3fa88ee9e2007d20445e7e9..81591e2b51755b0b76ddceea32ea9f19004bfb13 100644 +index ae4ebf509837e8d44255781c61d02873f8b74be8..312edb4c47a404c1d20e6bdf748a4ccb49a330f4 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -333,6 +333,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop pluginsBlockingSleep = new java.util.HashSet<>(); // Paper - API to allow/disallow tick sleeping + public gg.pufferfish.pufferfish.util.AsyncExecutor mobSpawnExecutor = new gg.pufferfish.pufferfish.util.AsyncExecutor("MobSpawning"); // Pufferfish - optimize mob spawning public static S spin(Function serverFactory) { @@ -1198,7 +1198,7 @@ index 103e2c414780be66324bcb9cd4ea539bbdfe12ad..c563326d3131bc726c7f43311c3eaa82 this.wasOnGround = this.entity.onGround(); this.teleportDelay = 0; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 7270a94246df73ee195156fc7b62470d090a337a..430e29b61feaf525ffa054469dd098a2c1d760f1 100644 +index 1f898500d0e9b18a880645ceb0a8ff0fe75f4e48..fe295515b8043d988eb87c2caf516a4ae4169451 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -793,6 +793,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -1241,10 +1241,10 @@ index 7270a94246df73ee195156fc7b62470d090a337a..430e29b61feaf525ffa054469dd098a2 if (this.isRainingAt(blockposition)) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 2fbe3d8722eeacc3b27ce38145aeffa610f9daab..9646b13ee9fa1824b929eb8b8ce2302d1c461120 100644 +index 84fa24880d02dc7ba1ec8bda3575be38447fd4b2..dedd8b3644699c4bdb33c9a7046342b620889b87 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1225,6 +1225,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1226,6 +1226,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handleEditBook(ServerboundEditBookPacket packet) { @@ -1253,7 +1253,7 @@ index 2fbe3d8722eeacc3b27ce38145aeffa610f9daab..9646b13ee9fa1824b929eb8b8ce2302d final io.papermc.paper.configuration.type.number.IntOr.Disabled pageMax = io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.pageMax; if (!this.cserver.isPrimaryThread() && pageMax.enabled()) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 27618d07d718cb2a5783536e11d56f712303487b..d337311b36db049b11c768bf16d8e7b5f31436dd 100644 +index 1b547be0fe97119edf4f29666cfe0037e0c778e0..0348a458493c4fe22552ae2404272dd9b989d53e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -389,6 +389,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1333,7 +1333,7 @@ index 96b4fbe4a4655777ff10b32e3257e2fac2aba12a..ee2c88638f058172ef730de9b112ce65 if (this.isSpectator()) { return false; diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 5a3059cadbc9735b4b48745c6b1b11196596b06d..c68543bd7023e9022660ad9c7cbf72c8dc2a6e27 100644 +index 5a0b51342f4a646101f4588697bcae7d1ca8a010..8ebe26c46db485ee0bdf64a313681d465051f436 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -231,14 +231,16 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab @@ -1355,7 +1355,7 @@ index 5a3059cadbc9735b4b48745c6b1b11196596b06d..c68543bd7023e9022660ad9c7cbf72c8 this.targetSelector.tick(); } } -@@ -925,16 +927,20 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -927,16 +929,20 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab if (i % 2 != 0 && this.tickCount > 1) { gameprofilerfiller.push("targetSelector"); @@ -1700,7 +1700,7 @@ index 2d8ba55906c8da16fde850e3412f4a6bda3d56e7..3fd86782134a674f58ef37288c8963a4 if (this.assignProfessionWhenSpawned) { this.assignProfessionWhenSpawned = false; diff --git a/src/main/java/net/minecraft/world/entity/player/Inventory.java b/src/main/java/net/minecraft/world/entity/player/Inventory.java -index 36ba57e95b84f3d598bf4be624d6c88b05a6f9a6..9d467d401147308b9f6e3eb7be2d7606993825c3 100644 +index 110456deaa662bc1c0f6ba7878bb3074869a4350..58c8e8f06f5cf028b158350327bf42984fcb4d38 100644 --- a/src/main/java/net/minecraft/world/entity/player/Inventory.java +++ b/src/main/java/net/minecraft/world/entity/player/Inventory.java @@ -636,6 +636,8 @@ public class Inventory implements Container, Nameable { @@ -1786,7 +1786,7 @@ index b62db8c7c8c57e43869ee239ebf4b02f112355d9..2bee342e59e600426c8681a3ce641a12 } } diff --git a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java -index 6ec7b234b468755835107be40d0080222c0b9263..ab91d14f263ba2cdb2bbf4a8a2dd66898e709fe6 100644 +index 12f95bee2a69fd5df7c4a165537e01299e60c5f6..4b3769020a92124bd5677cf75e268b8bc5ba2031 100644 --- a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java +++ b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java @@ -31,8 +31,13 @@ public class ShapelessRecipe implements CraftingRecipe { @@ -1828,9 +1828,9 @@ index 6ec7b234b468755835107be40d0080222c0b9263..ab91d14f263ba2cdb2bbf4a8a2dd6689 + return ingredients.isEmpty(); + } + // Pufferfish end - return input.ingredientCount() != this.ingredients.size() ? false : (input.size() == 1 && this.ingredients.size() == 1 ? ((Ingredient) this.ingredients.getFirst()).test(input.getItem(0)) : input.stackedContents().canCraft((Recipe) this, (StackedContents.Output) null)); - } - + // Paper start - Improve exact choice recipe ingredients & unwrap ternary + if (input.ingredientCount() != this.ingredients.size()) { + return false; diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java index 27f9d167b5ae9ce5117798ea44324107df59425f..6470f145e2470574a40ddce6ca5bf924c1bb094c 100644 --- a/src/main/java/net/minecraft/world/level/Level.java diff --git a/patches/server/0004-Purpur-config-files.patch b/patches/server/0004-Purpur-config-files.patch index 5461c5de4e..30b8a97de0 100644 --- a/patches/server/0004-Purpur-config-files.patch +++ b/patches/server/0004-Purpur-config-files.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur config files diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java -index 692c962193cf9fcc6801fc93f3220bdc673d527b..8cde30544e14f8fc2dac32966ae3c21f8cf3a551 100644 +index 8433c3ac440faa969069d1929b8b77fcb1080be7..4a8f95670e25c81952cccbaf4c6e49514cacd529 100644 --- a/src/main/java/com/destroystokyo/paper/Metrics.java +++ b/src/main/java/com/destroystokyo/paper/Metrics.java -@@ -593,7 +593,7 @@ public class Metrics { +@@ -592,7 +592,7 @@ public class Metrics { boolean logFailedRequests = config.getBoolean("logFailedRequests", false); // Only start Metrics, if it's enabled in the config if (config.getBoolean("enabled", true)) { @@ -17,7 +17,7 @@ index 692c962193cf9fcc6801fc93f3220bdc673d527b..8cde30544e14f8fc2dac32966ae3c21f metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> { String minecraftVersion = Bukkit.getVersion(); -@@ -602,16 +602,8 @@ public class Metrics { +@@ -601,16 +601,8 @@ public class Metrics { })); metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size())); @@ -112,7 +112,7 @@ index 6470f145e2470574a40ddce6ca5bf924c1bb094c..31ec722cfb102eaea5511aca07a48e4a this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ac8af406180bc680d46e8edc3da0fc2e5211345a..48a8bdd45c063797144e98e76f6007ae9025124e 100644 +index 97b5d6ba2b19a7c730730c74175a29157aed1840..ac83ec97e5a55d2184c0c0d64b9b340f39c2be9f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1086,6 +1086,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/0005-Purpur-client-support.patch b/patches/server/0005-Purpur-client-support.patch index 58ce302ee6..d868c1f62c 100644 --- a/patches/server/0005-Purpur-client-support.patch +++ b/patches/server/0005-Purpur-client-support.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 8aff5b7dd14b835788348b22b1fec4d381df816f..e223a732b8ff485645fa3a4c08c6bf6dff146dd7 100644 +index fc7f7a34babd095a51b5321f600aef65a2a9d123..c067ac7481367afbcdb051b7a215ebf0f28e3c9c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -327,6 +327,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -43,10 +43,10 @@ index b0bc66dc7248aae691dcab68b925b52a1695e63f..b6dd6bde947ac7502f25d31603995961 try { String channels = payload.toString(com.google.common.base.Charsets.UTF_8); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 84c494ca81b8f58604b372ac7236147776817a4f..d86bf4f995e8156f594fa90ebbab4165e52c0e09 100644 +index 20f64850cb42d986358f01ffcdb42187e1684bca..0528b90bf718e4b3dc144cc33806126dfbe736e2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3565,4 +3565,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3557,4 +3557,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundEntityEventPacket(((CraftEntity) target).getHandle(), effect.getData())); } // Paper end - entity effect API diff --git a/patches/server/0009-Ridables.patch b/patches/server/0009-Ridables.patch index 8d993621c5..9235550793 100644 --- a/patches/server/0009-Ridables.patch +++ b/patches/server/0009-Ridables.patch @@ -22,7 +22,7 @@ index faffd87c357511ef00646971a16acf1009362c59..c98e0d9d8bc9e6ef12a9b9d6082e98bc super(x, y, z); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 81591e2b51755b0b76ddceea32ea9f19004bfb13..48e40ef7fba63d9354152a02440656ceb3a9b7a6 100644 +index 312edb4c47a404c1d20e6bdf748a4ccb49a330f4..c391d42e1e84beeee6cf8796f748b70be9c98b52 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1864,6 +1864,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { String s = String.valueOf(worldserver); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 430e29b61feaf525ffa054469dd098a2c1d760f1..d571b4a56807bcc4206d54573604c01290cd3dd7 100644 +index fe295515b8043d988eb87c2caf516a4ae4169451..4de53bba7b0bf036d2ef76970f01ca5414514ebc 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -232,6 +232,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -46,7 +46,7 @@ index 430e29b61feaf525ffa054469dd098a2c1d760f1..d571b4a56807bcc4206d54573604c012 public LevelChunk getChunkIfLoaded(int x, int z) { return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper - Use getChunkIfLoadedImmediately diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 5bad9af939411e23a84184cdc13004bc5e2e2568..cff9e1877d3abcf92417ff56f4db2d14ad188f97 100644 +index f8787b8a4a267cc7f5e1a81344f0de9cacf43e07..1e0ca760b18e34a4c320439838283b8fcd87075a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1030,6 +1030,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -66,10 +66,10 @@ index 5bad9af939411e23a84184cdc13004bc5e2e2568..cff9e1877d3abcf92417ff56f4db2d14 private void updatePlayerAttributes() { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 9646b13ee9fa1824b929eb8b8ce2302d1c461120..e6c4b62daece71edae995a3c3fd21e18b5616bb1 100644 +index dedd8b3644699c4bdb33c9a7046342b620889b87..ddbfd4884daaa4cffdb5e4d8923a8755dab76d91 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2887,6 +2887,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2888,6 +2888,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); @@ -79,7 +79,7 @@ index 9646b13ee9fa1824b929eb8b8ce2302d1c461120..e6c4b62daece71edae995a3c3fd21e18 if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { entity.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d337311b36db049b11c768bf16d8e7b5f31436dd..d6b48ad015e118ec9599110f54f462ef3a5debc3 100644 +index 0348a458493c4fe22552ae2404272dd9b989d53e..c11689baa8e917a2163bd550452b7a6694163b72 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -340,7 +340,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -259,7 +259,7 @@ index ee2c88638f058172ef730de9b112ce6506211d3b..1135737e16849417df1cdcd5f3858ebb // Paper end - Add EntityMoveEvent world = this.level(); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index c68543bd7023e9022660ad9c7cbf72c8dc2a6e27..d2baf9408fd7cc19025d2d6a891acc94e6ec23a7 100644 +index 8ebe26c46db485ee0bdf64a313681d465051f436..b57c362e67d9724fc387d3aa5b8547aef648fe91 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -159,8 +159,8 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab @@ -273,7 +273,7 @@ index c68543bd7023e9022660ad9c7cbf72c8dc2a6e27..d2baf9408fd7cc19025d2d6a891acc94 this.jumpControl = new JumpControl(this); this.bodyRotationControl = this.createBodyControl(); this.navigation = this.createNavigation(world); -@@ -1500,7 +1500,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -1502,7 +1502,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab protected void onOffspringSpawnedFromEgg(Player player, Mob child) {} protected InteractionResult mobInteract(Player player, InteractionHand hand) { @@ -282,7 +282,7 @@ index c68543bd7023e9022660ad9c7cbf72c8dc2a6e27..d2baf9408fd7cc19025d2d6a891acc94 } public boolean isWithinRestriction() { -@@ -1820,4 +1820,58 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -1822,4 +1822,58 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab public float[] getArmorDropChances() { return this.armorDropChances; } @@ -582,7 +582,7 @@ index 9aedc62b1766f6a7db4da7eba55167d21d698791..9708ed3e00059fdf5d1d60e0c607d0ab double d = this.wantedX - this.fish.getX(); double e = this.wantedY - this.fish.getY(); diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index ca706f1ac5f4248164daa613eef81e46b3e5a210..6ae52fa7c0cb3eda4f0d7f8c7dbbf97078dd2d59 100644 +index 0bafe14342c1acce131ad34717c18aed3718deed..91825f18da8f95d84b9fe6de39e2d519b11b684b 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java @@ -154,6 +154,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @@ -4747,7 +4747,7 @@ index 03e3cbe73119ca76417d4dd192e1560bdfc373ec..aa4160892b9ba2486806b5a54bc1465a public void setPersistentAngerTarget(@Nullable UUID angryAt) { this.persistentAngerTarget = angryAt; diff --git a/src/main/java/net/minecraft/world/entity/monster/creaking/Creaking.java b/src/main/java/net/minecraft/world/entity/monster/creaking/Creaking.java -index bdf2b22f3f57e99ad7bbc24d391c7773663fda41..2afb53a33b612faf6aac6fc8a27dc285cc558b4d 100644 +index 6a7e725edece3043c8523d387e2929d5ba8932cb..d0a4df6775d79dfa5193146a1256a4569607597a 100644 --- a/src/main/java/net/minecraft/world/entity/monster/creaking/Creaking.java +++ b/src/main/java/net/minecraft/world/entity/monster/creaking/Creaking.java @@ -106,6 +106,29 @@ public class Creaking extends Monster { diff --git a/patches/server/0013-AFK-API.patch b/patches/server/0013-AFK-API.patch index 4ded8d9860..c48dd9dad3 100644 --- a/patches/server/0013-AFK-API.patch +++ b/patches/server/0013-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 cff9e1877d3abcf92417ff56f4db2d14ad188f97..ae4733c402662630a3892aecd01646d2e7613eed 100644 +index 1e0ca760b18e34a4c320439838283b8fcd87075a..0f979af9131678991860765163fcc4b0453ef52a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -2621,8 +2621,68 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -78,7 +78,7 @@ index cff9e1877d3abcf92417ff56f4db2d14ad188f97..ae4733c402662630a3892aecd01646d2 return this.stats; } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e6c4b62daece71edae995a3c3fd21e18b5616bb1..236402e35eb04a2c12ed7ef28ce7c78d7be125cf 100644 +index ddbfd4884daaa4cffdb5e4d8923a8755dab76d91..ea579334ea9f0c1675186af3192f3f7a1c23e859 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -344,6 +344,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -124,7 +124,7 @@ index e6c4b62daece71edae995a3c3fd21e18b5616bb1..236402e35eb04a2c12ed7ef28ce7c78d Location oldTo = to.clone(); PlayerMoveEvent event = new PlayerMoveEvent(player, from, to); this.cserver.getPluginManager().callEvent(event); -@@ -1554,7 +1576,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1555,7 +1577,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl movedWrongly = true; if (event.getLogWarning()) // Paper end @@ -133,7 +133,7 @@ index e6c4b62daece71edae995a3c3fd21e18b5616bb1..236402e35eb04a2c12ed7ef28ce7c78d } // Paper } -@@ -1622,6 +1644,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1623,6 +1645,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -223,10 +223,10 @@ index 5d7a6e4b73f032db356e7ec369b150013e940ee6..6b2cda6d578a0983b2401ea206292754 if (range < 0.0 || d < range * range) { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d86bf4f995e8156f594fa90ebbab4165e52c0e09..350165d6616a1dfe931d0a35de0dbbd9222da216 100644 +index 0528b90bf718e4b3dc144cc33806126dfbe736e2..cfc85a7089de9e30ac9a703b87440475cc2e2cf0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -583,10 +583,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -584,10 +584,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setPlayerListName(String name) { @@ -243,7 +243,7 @@ index d86bf4f995e8156f594fa90ebbab4165e52c0e09..350165d6616a1dfe931d0a35de0dbbd9 if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined for (ServerPlayer player : (List) this.server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { -@@ -3571,5 +3576,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3563,5 +3568,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean usesPurpurClient() { return getHandle().purpurClient; } diff --git a/patches/server/0016-Lagging-threshold.patch b/patches/server/0016-Lagging-threshold.patch index 6eeabfaa58..db2bd21e63 100644 --- a/patches/server/0016-Lagging-threshold.patch +++ b/patches/server/0016-Lagging-threshold.patch @@ -5,13 +5,13 @@ Subject: [PATCH] Lagging threshold diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 5a85471d26130c893ad619dbfc9b61c0ee1b938b..93aa1dce5c9bfdfff9372b0a84bfa2d5bf5c1169 100644 +index a79a30b951325d046b38b4dc62c4cc6f22db564e..bac36e5798ae92c75c73a0d0bd53d7bd6ddb07a8 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -328,6 +328,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop pluginsBlockingSleep = new java.util.HashSet<>(); // Paper - API to allow/disallow tick sleeping + public boolean lagging = false; // Purpur public volatile Thread shutdownThread; // Paper @@ -25,7 +25,7 @@ index 5a85471d26130c893ad619dbfc9b61c0ee1b938b..93aa1dce5c9bfdfff9372b0a84bfa2d5 } // Paper end - further improve server tick loop diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 96f0ff6877e2959fe1ab26728ee64b9c9b777d26..5fa7d429b19d135c5b3f719c35042818499b4563 100644 +index 5c1d968d560cb1caf69549ff03a960a7a960d952..6e4725f49de3ddb74002732b9f462bcfcd161be0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -3291,5 +3291,10 @@ public final class CraftServer implements Server { diff --git a/patches/server/0071-Allow-color-codes-in-books.patch b/patches/server/0071-Allow-color-codes-in-books.patch index c29628afa3..c7b6733d6d 100644 --- a/patches/server/0071-Allow-color-codes-in-books.patch +++ b/patches/server/0071-Allow-color-codes-in-books.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow color codes in books diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 236402e35eb04a2c12ed7ef28ce7c78d7be125cf..fd37bfc932fa7102189bbf1c00bd14612f3116e9 100644 +index ea579334ea9f0c1675186af3192f3f7a1c23e859..ff96fcf7d039c4bae4d77c9c546486c2312f6ecc 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1302,10 +1302,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1303,10 +1303,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl Objects.requireNonNull(list); optional.ifPresent(list::add); list.addAll(packet.pages()); @@ -25,7 +25,7 @@ index 236402e35eb04a2c12ed7ef28ce7c78d7be125cf..fd37bfc932fa7102189bbf1c00bd1461 }; this.filterTextPacket((List) list).thenAcceptAsync(consumer, this.server); -@@ -1313,13 +1317,18 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1314,13 +1318,18 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } private void updateBookContents(List pages, int slotId) { @@ -45,7 +45,7 @@ index 236402e35eb04a2c12ed7ef28ce7c78d7be125cf..fd37bfc932fa7102189bbf1c00bd1461 itemstack.set(DataComponents.WRITABLE_BOOK_CONTENT, new WritableBookContent(list1)); this.player.getInventory().setItem(slotId, CraftEventFactory.handleEditBookEvent(this.player, slotId, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent) -@@ -1327,6 +1336,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1328,6 +1337,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } private void signBook(FilteredText title, List pages, int slotId) { @@ -57,7 +57,7 @@ index 236402e35eb04a2c12ed7ef28ce7c78d7be125cf..fd37bfc932fa7102189bbf1c00bd1461 ItemStack itemstack = this.player.getInventory().getItem(slotId); if (itemstack.has(DataComponents.WRITABLE_BOOK_CONTENT)) { -@@ -1334,10 +1348,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1335,10 +1349,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl itemstack1.remove(DataComponents.WRITABLE_BOOK_CONTENT); List> list1 = (List>) (List) pages.stream().map((filteredtext1) -> { // CraftBukkit - decompile error @@ -70,7 +70,7 @@ index 236402e35eb04a2c12ed7ef28ce7c78d7be125cf..fd37bfc932fa7102189bbf1c00bd1461 CraftEventFactory.handleEditBookEvent(this.player, slotId, itemstack, itemstack1); // CraftBukkit this.player.getInventory().setItem(slotId, itemstack); // CraftBukkit - event factory updates the hand book } -@@ -1347,6 +1361,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1348,6 +1362,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl return this.player.isTextFilteringEnabled() ? Filterable.passThrough(message.filteredOrEmpty()) : Filterable.from(message); } diff --git a/patches/server/0072-Entity-lifespan.patch b/patches/server/0072-Entity-lifespan.patch index 668ceeb3d9..6cd35f666a 100644 --- a/patches/server/0072-Entity-lifespan.patch +++ b/patches/server/0072-Entity-lifespan.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index fd37bfc932fa7102189bbf1c00bd14612f3116e9..c1446e31b608f4496b15cb424581e4ce2efecd78 100644 +index ff96fcf7d039c4bae4d77c9c546486c2312f6ecc..92afa94ce5ae84ddbe0564c57300771126c4fde9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2922,6 +2922,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2923,6 +2923,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl AABB axisalignedbb = entity.getBoundingBox(); if (this.player.canInteractWithEntity(axisalignedbb, io.papermc.paper.configuration.GlobalConfiguration.get().misc.clientInteractionLeniencyDistance.or(3.0D))) { // Paper - configurable lenience value for interact range @@ -17,7 +17,7 @@ index fd37bfc932fa7102189bbf1c00bd14612f3116e9..c1446e31b608f4496b15cb424581e4ce private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index d2baf9408fd7cc19025d2d6a891acc94e6ec23a7..d845d4a0a2ce99b90d4004146be8db90b9ea64c3 100644 +index b57c362e67d9724fc387d3aa5b8547aef648fe91..0c55e69bbdc673a87b5ac5ee740817aca2434bb6 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -144,6 +144,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab @@ -73,7 +73,7 @@ index d2baf9408fd7cc19025d2d6a891acc94e6ec23a7..d845d4a0a2ce99b90d4004146be8db90 } @Override -@@ -634,6 +657,11 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -636,6 +659,11 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab this.aware = nbt.getBoolean("Bukkit.Aware"); } // CraftBukkit end @@ -85,7 +85,7 @@ index d2baf9408fd7cc19025d2d6a891acc94e6ec23a7..d845d4a0a2ce99b90d4004146be8db90 } @Override -@@ -1742,6 +1770,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -1744,6 +1772,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab this.playAttackSound(); } diff --git a/patches/server/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch b/patches/server/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch index cf3949cb55..08d1f639c9 100644 --- a/patches/server/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch +++ b/patches/server/0091-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch @@ -5,20 +5,20 @@ Subject: [PATCH] Add predicate to recipe's ExactChoice ingredient diff --git a/src/main/java/net/minecraft/world/item/crafting/Ingredient.java b/src/main/java/net/minecraft/world/item/crafting/Ingredient.java -index 0bd0935e76038e07c063bbfc61fa1a6339c23eed..e38cab89bd58a91cf91044d23900b5d83fa191f6 100644 +index 0b0054b3d5d56ba24e1aee0e3ab56ea5b01a82a8..2e3a834643d56543418e9b9beb9d3448bf059d22 100644 --- a/src/main/java/net/minecraft/world/item/crafting/Ingredient.java +++ b/src/main/java/net/minecraft/world/item/crafting/Ingredient.java -@@ -45,6 +45,7 @@ public final class Ingredient implements StackedContents.IngredientInfo itemStacks; + private java.util.Set itemStacks; // Paper - Improve exact choice recipe ingredients + public Predicate predicate; // Purpur public boolean isExact() { return this.itemStacks != null; -@@ -102,6 +103,11 @@ public final class Ingredient implements StackedContents.IngredientInfo byteAllowed) { diff --git a/patches/server/0118-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0118-Add-mobGriefing-bypass-to-everything-affected.patch index 0bede9123e..933005b6b2 100644 --- a/patches/server/0118-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0118-Add-mobGriefing-bypass-to-everything-affected.patch @@ -18,10 +18,10 @@ index 1add518a30e1f44849aea6c805cf3cef849f1992..fe183dcfb32e915af4c58f8b40c35e34 BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState(); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 263db57683045e99210a68184de382a6d91e0f71..30be625e2f9c84f9ee3dbb68c8fc3806eae8a510 100644 +index 81fb0826a1e4ec3ab36447ec0a4dcbf1196cb441..0846becd1da3b7b311c491be176a3394c258dd2e 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -714,7 +714,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -716,7 +716,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab Level world = this.level(); if (world instanceof ServerLevel worldserver) { diff --git a/patches/server/0120-Add-EntityTeleportHinderedEvent.patch b/patches/server/0120-Add-EntityTeleportHinderedEvent.patch index b2a6cf5685..d12358c54f 100644 --- a/patches/server/0120-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0120-Add-EntityTeleportHinderedEvent.patch @@ -83,10 +83,10 @@ index 12c65755f85acce10c2d5359539d64498138127b..c0b6efefc4d4f31602f39afa76f83730 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 350165d6616a1dfe931d0a35de0dbbd9222da216..75986a13b87c2024c96742fbbab960026b256837 100644 +index cfc85a7089de9e30ac9a703b87440475cc2e2cf0..ad477e53a2a33e47a5bac42eebe46a59ece659ee 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1440,6 +1440,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1441,6 +1441,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper start - Teleport passenger API // Don't allow teleporting between worlds while keeping passengers if (ignorePassengers && entity.isVehicle() && location.getWorld() != this.getWorld()) { diff --git a/patches/server/0128-Dont-run-with-scissors.patch b/patches/server/0128-Dont-run-with-scissors.patch index c1466c0504..b7b845ad8b 100644 --- a/patches/server/0128-Dont-run-with-scissors.patch +++ b/patches/server/0128-Dont-run-with-scissors.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Dont run with scissors! inspired by https://modrinth.com/mod/dont-run-with-scissors diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 7c58f969d86c87555764afcac56961de7f43e114..4049eeb7d448dfe83b758d268ce1ef8612d32542 100644 +index b4cd58ae2c89cb3875cff2bcbe60511d94a926d4..10757591f1318222f79ff4e3df4c59bacfc41dee 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1720,6 +1720,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1721,6 +1721,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.player.tryResetCurrentImpulseContext(); } @@ -23,7 +23,7 @@ index 7c58f969d86c87555764afcac56961de7f43e114..4049eeb7d448dfe83b758d268ce1ef86 this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5); this.lastGoodX = this.player.getX(); this.lastGoodY = this.player.getY(); -@@ -1759,6 +1766,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1760,6 +1767,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } } diff --git a/patches/server/0168-API-for-any-mob-to-burn-daylight.patch b/patches/server/0168-API-for-any-mob-to-burn-daylight.patch index 6ae0aa6a6a..7fc76361ec 100644 --- a/patches/server/0168-API-for-any-mob-to-burn-daylight.patch +++ b/patches/server/0168-API-for-any-mob-to-burn-daylight.patch @@ -6,7 +6,7 @@ Subject: [PATCH] API for any mob to burn daylight Co-authored by: Encode42 diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 60ffa728e6b8c861b0d108d1562150ccb671af33..433dbe3c9350cd55ff22d490e077bf1a31ae83be 100644 +index 3bf381f766c478bdb1e645777bd79ba5e8e3949f..00714b79ed8f5bb1c1e2e27905e38683e7ee2fdb 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -578,6 +578,22 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -100,10 +100,10 @@ index 2a187f1b674a6e8279495921088d5a0620c4e404..33fe6d19b3702d8de987fd9292dfca35 public boolean isSensitiveToWater() { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 30be625e2f9c84f9ee3dbb68c8fc3806eae8a510..5ce7224afc224698e8b1c200c66a1069aab4458c 100644 +index 0846becd1da3b7b311c491be176a3394c258dd2e..0d68cd513cfed80fcbe011648cc8779beb782aaa 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1777,17 +1777,8 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -1779,17 +1779,8 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab protected void playAttackSound() {} public boolean isSunBurnTick() { diff --git a/patches/server/0201-Extended-OfflinePlayer-API.patch b/patches/server/0201-Extended-OfflinePlayer-API.patch index 0f9e9914fb..9f924d8c4a 100644 --- a/patches/server/0201-Extended-OfflinePlayer-API.patch +++ b/patches/server/0201-Extended-OfflinePlayer-API.patch @@ -243,10 +243,10 @@ index 94ca0407303c4493ab4928b12ec6ecc75aaca549..a138e1b6b66d99f2035de054137a607a + // Purpur end - OfflinePlayer API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 75986a13b87c2024c96742fbbab960026b256837..3c76dd383ec0ba19eea19d12902833dc410f96c0 100644 +index ad477e53a2a33e47a5bac42eebe46a59ece659ee..02ef1446ed3ef1bc15949a2bc9dacc842cf2f02d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2760,6 +2760,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2761,6 +2761,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } diff --git a/patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch index 1e46b90d4a..69bd0256bd 100644 --- a/patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch @@ -36,10 +36,10 @@ index 7315e604a2f9cb068eb5bbca744e44eeabac09c9..88eb3774f688bcff383efa7f113bd0b1 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f993d33caa44a2d782780c8829a7785ed74b3dcc..3c98be45587f3f6ca6cdc53834ef7dae4962f58d 100644 +index 10757591f1318222f79ff4e3df4c59bacfc41dee..8d52446ddd452a62fa727469f2e191acba1b7d24 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2152,6 +2152,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2153,6 +2153,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl boolean cancelled; if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) { diff --git a/patches/server/0211-UPnP-Port-Forwarding.patch b/patches/server/0211-UPnP-Port-Forwarding.patch index 60498dee5d..f6b112a55b 100644 --- a/patches/server/0211-UPnP-Port-Forwarding.patch +++ b/patches/server/0211-UPnP-Port-Forwarding.patch @@ -5,12 +5,12 @@ Subject: [PATCH] UPnP Port Forwarding diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 36fb238819e529fdecd8dd904c074d7a3a937db2..757cedd57b89a452832f2c9d9e5ed9fb495ca933 100644 +index 53cf0ea7f0b26ce0b69a02a4d10f3027b1d1530f..11a03a0865c52551b1dd95695403caf60d4700c4 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -330,6 +330,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop pluginsBlockingSleep = new java.util.HashSet<>(); // Paper - API to allow/disallow tick sleeping public boolean lagging = false; // Purpur + protected boolean upnp = false; // Purpur diff --git a/patches/server/0249-Add-local-difficulty-api.patch b/patches/server/0249-Add-local-difficulty-api.patch index d4fdbfa338..6081fadd1b 100644 --- a/patches/server/0249-Add-local-difficulty-api.patch +++ b/patches/server/0249-Add-local-difficulty-api.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add local difficulty api diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a9f7ac8d1f5e184687d53ab3e8b348bb7f4f2ba0..5d0f4395617bcd59aad7cea221f6009d08dc0913 100644 +index 92d9f0ea8f7810ae20d3996f49aefa539b4bcb69..4f3da35084d1c69d1b697196a17f932fedee9b88 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2384,6 +2384,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2374,6 +2374,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight()); } diff --git a/patches/server/0251-Add-more-logger-output-for-invalid-movement-kicks.patch b/patches/server/0251-Add-more-logger-output-for-invalid-movement-kicks.patch index 977351c714..a103288042 100644 --- a/patches/server/0251-Add-more-logger-output-for-invalid-movement-kicks.patch +++ b/patches/server/0251-Add-more-logger-output-for-invalid-movement-kicks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add more logger output for invalid movement kicks diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3c98be45587f3f6ca6cdc53834ef7dae4962f58d..f8438bc2af43ee8883db75503deac10e1e34686e 100644 +index 8d52446ddd452a62fa727469f2e191acba1b7d24..70d314a8d5ff077c337d468482b0f1e130ffdd28 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -756,6 +756,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -16,7 +16,7 @@ index 3c98be45587f3f6ca6cdc53834ef7dae4962f58d..f8438bc2af43ee8883db75503deac10e this.disconnect((Component) Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause return; } -@@ -1425,7 +1426,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1426,7 +1427,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handleMovePlayer(ServerboundMovePlayerPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); diff --git a/patches/server/0253-Debug-Marker-API.patch b/patches/server/0253-Debug-Marker-API.patch index e4d7f5de6f..e8910df55c 100644 --- a/patches/server/0253-Debug-Marker-API.patch +++ b/patches/server/0253-Debug-Marker-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Debug Marker API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 268ab3f175ece52e7da6dfa50573089f49685d68..6b0308d081af880a79c369306e8ad69757bcd6de 100644 +index 82c8dc67fc40e253a4765a215864d40c007de3c2..efb81eec2680fc9ae2b92edead07d1d78fbe2b00 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1643,6 +1643,42 @@ public final class CraftServer implements Server { @@ -52,10 +52,10 @@ index 268ab3f175ece52e7da6dfa50573089f49685d68..6b0308d081af880a79c369306e8ad697 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 5d0f4395617bcd59aad7cea221f6009d08dc0913..41077511328a31f39639af1d02e7a3041992676d 100644 +index 4f3da35084d1c69d1b697196a17f932fedee9b88..eb9bb689a52a7e9c95d6f2e07bb16799286e9057 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2388,6 +2388,42 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2378,6 +2378,42 @@ public class CraftWorld extends CraftRegionAccessor implements World { public float getLocalDifficultyAt(Location location) { return getHandle().getCurrentDifficultyAt(io.papermc.paper.util.MCUtil.toBlockPosition(location)).getEffectiveDifficulty(); } @@ -99,10 +99,10 @@ index 5d0f4395617bcd59aad7cea221f6009d08dc0913..41077511328a31f39639af1d02e7a304 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3c76dd383ec0ba19eea19d12902833dc410f96c0..f63b02573b3d42ae8743f591aff2282ece927e31 100644 +index 02ef1446ed3ef1bc15949a2bc9dacc842cf2f02d..2a2f19d9fe756b9e017cb5640343d2a7852e7ece 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3614,5 +3614,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3606,5 +3606,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetIdleTimer() { getHandle().resetLastActionTime(); } diff --git a/patches/server/0256-Add-death-screen-API.patch b/patches/server/0256-Add-death-screen-API.patch index cfae288b3e..6b62b31933 100644 --- a/patches/server/0256-Add-death-screen-API.patch +++ b/patches/server/0256-Add-death-screen-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f63b02573b3d42ae8743f591aff2282ece927e31..8e0136c55e37d1f2732c555eb7c6129eb2b84c19 100644 +index 2a2f19d9fe756b9e017cb5640343d2a7852e7ece..c7e6c7b4a094cd4a2d68332a81409db84bf4ccf5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3652,5 +3652,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3644,5 +3644,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (this.getHandle().connection == null) return; this.getHandle().connection.send(new net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket(new net.minecraft.network.protocol.common.custom.GameTestClearMarkersDebugPayload())); } diff --git a/patches/server/0293-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch b/patches/server/0293-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch index 146533dbbc..4dc1337d60 100644 --- a/patches/server/0293-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch +++ b/patches/server/0293-Fire-EntityTeleportHinderedEvent-when-attempting-to-.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fire EntityTeleportHinderedEvent when attempting to teleport diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8e0136c55e37d1f2732c555eb7c6129eb2b84c19..22abd7c837fe35423bd0c9e94107d47156d09266 100644 +index c7e6c7b4a094cd4a2d68332a81409db84bf4ccf5..d43577ee22c5cafb8bd84d96c24292550a52795c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1462,6 +1462,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1463,6 +1463,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API From ffeb49da1ed5202349756af7436e96fd48eb4ff9 Mon Sep 17 00:00:00 2001 From: granny Date: Fri, 6 Dec 2024 06:05:14 -0800 Subject: [PATCH 19/19] ignore `item_model` component for don't run with scissors feature alongside `custom_model_data` component by default, the "don't run with scissors" feature will not activate for shears that have an `item_model` component or `custom_model_data` component. adds a new world config option at `gameplay-mechanics.item.shears.damage-if-sprinting-item-model` that allows specifying a custom item model ResourceLocation (`purpurmc:scissors` by default) for use with this feature. --- .../server/0128-Dont-run-with-scissors.patch | 25 +- patches/server/0129-One-Punch-Man.patch | 6 +- ...er-Pearl-cooldown-damage-and-Endermi.patch | 6 +- ...-to-ignore-nearby-mobs-when-sleeping.patch | 8 +- ...an-aggressiveness-towards-Endermites.patch | 6 +- ...-Dragon-Head-wearers-and-stare-aggro.patch | 6 +- ...136-Config-to-disable-Llama-caravans.patch | 6 +- ...ig-to-make-Creepers-explode-on-death.patch | 6 +- ...urable-ravager-griefable-blocks-list.patch | 6 +- ...0139-Sneak-to-bulk-process-composter.patch | 4 +- .../0140-Config-for-skipping-night.patch | 8 +- ...0141-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 +- .../0148-Configurable-sponge-absorption.patch | 4 +- .../0149-Projectile-offset-config.patch | 4 +- ...for-powered-rail-activation-distance.patch | 4 +- .../0151-Piglin-portal-spawn-modifier.patch | 6 +- ...3-Config-for-wither-explosion-radius.patch | 6 +- .../0155-Configurable-piston-push-limit.patch | 4 +- ...h-to-impact-Creeper-explosion-radius.patch | 6 +- .../0160-Iron-golem-calm-anger-options.patch | 6 +- patches/server/0161-Breedable-parrots.patch | 6 +- ...igurable-powered-rail-boost-modifier.patch | 6 +- ...nge-multiplier-critical-damage-value.patch | 6 +- ...on-to-disable-dragon-egg-teleporting.patch | 4 +- ...ee-can-work-when-raining-or-at-night.patch | 8 +- .../0169-Config-MobEffect-by-world.patch | 4 +- ...Beacon-Activation-Range-Configurable.patch | 4 +- ...after-eating-food-fills-hunger-bar-c.patch | 6 +- ...75-Shulker-spawn-from-bullet-options.patch | 6 +- ...Eating-glow-berries-adds-glow-effect.patch | 6 +- ...7-Option-to-make-drowned-break-doors.patch | 6 +- ...onfigurable-hunger-starvation-damage.patch | 4 +- .../server/0181-Tool-actionable-options.patch | 4 +- ...e-shulker-box-items-from-dropping-co.patch | 6 +- .../server/0186-Big-dripleaf-tilt-delay.patch | 4 +- .../0187-Player-ridable-in-water-option.patch | 6 +- ...e-Enderman-teleport-on-projectile-hi.patch | 6 +- patches/server/0189-Add-compass-command.patch | 8 +- ...d-Option-for-disable-observer-clocks.patch | 4 +- ...izeable-Zombie-Villager-curing-times.patch | 6 +- ...-for-sponges-to-work-on-lava-and-mud.patch | 4 +- ...0194-Toggle-for-Wither-s-spawn-sound.patch | 6 +- ...s-breaks-from-solid-neighbors-config.patch | 4 +- ...emove-curse-of-binding-with-weakness.patch | 6 +- .../0197-Conduit-behavior-configuration.patch | 4 +- .../server/0198-Cauldron-fill-chances.patch | 4 +- .../0200-Shulker-change-color-with-dye.patch | 6 +- ...a-blocks-to-grow-into-trees-naturall.patch | 6 +- ...t-right-click-to-use-exp-for-mending.patch | 10 +- ...turally-aggressive-to-players-chance.patch | 6 +- ...turally-aggressive-to-players-chance.patch | 8 +- ...or-beds-to-explode-on-villager-sleep.patch | 6 +- ...-Halloween-options-and-optimizations.patch | 4 +- ...-Campfire-option-for-lit-when-placed.patch | 4 +- ...xtinguish-fire-blocks-with-snowballs.patch | 6 +- ...ion-to-disable-zombie-villagers-cure.patch | 6 +- .../server/0216-Signs-allow-color-codes.patch | 6 +- .../0218-Mobs-always-drop-experience.patch | 298 +++++++++--------- ...oe-to-replant-crops-and-nether-warts.patch | 6 +- ...Turtle-eggs-random-tick-crack-chance.patch | 4 +- .../0222-Mob-head-visibility-percent.patch | 18 +- ...-Stop-bees-from-dying-after-stinging.patch | 8 +- ...Configurable-farmland-trample-height.patch | 6 +- ...Configurable-player-pickup-exp-delay.patch | 6 +- patches/server/0228-Allow-void-trading.patch | 6 +- .../0229-Configurable-phantom-size.patch | 6 +- ...nfigurable-minimum-demand-for-trades.patch | 6 +- .../0232-Lobotomize-stuck-villagers.patch | 6 +- ...tion-for-villager-display-trade-item.patch | 6 +- ...awner-not-spawning-water-animals-cor.patch | 4 +- .../0236-Anvil-repair-damage-options.patch | 4 +- ...e-turtle-egg-trampling-with-feather-.patch | 4 +- ...urable-search-radius-for-villagers-t.patch | 6 +- patches/server/0241-Stonecutter-damage.patch | 4 +- ...ble-damage-settings-for-magma-blocks.patch | 4 +- ...0243-Add-config-for-snow-on-blue-ice.patch | 4 +- .../0244-Skeletons-eat-wither-roses.patch | 6 +- ...245-Enchantment-Table-Persists-Lapis.patch | 4 +- ...-for-sculk-shrieker-can_summon-state.patch | 4 +- .../0248-Config-to-not-let-coral-die.patch | 4 +- ...ng-option-to-ignore-creative-players.patch | 6 +- ...255-Add-skeleton-bow-accuracy-option.patch | 6 +- ...low-creeper-to-encircle-target-when-.patch | 6 +- ...leport-to-spawn-on-nether-ceiling-da.patch | 8 +- .../server/0271-End-Crystal-Cramming.patch | 6 +- ...beacon-effects-when-covered-by-tinte.patch | 4 +- ...able-sugarcane-cactus-and-netherwart.patch | 4 +- .../server/0280-Shears-can-defuse-TNT.patch | 4 +- ...-Option-Ocelot-Spawn-Under-Sea-Level.patch | 6 +- ...r-piglins-to-ignore-gold-trimmed-arm.patch | 6 +- .../0285-place-end-crystal-on-any-block.patch | 6 +- ...-Configurable-villager-search-radius.patch | 6 +- ...n-to-make-ravagers-afraid-of-rabbits.patch | 6 +- 96 files changed, 429 insertions(+), 424 deletions(-) diff --git a/patches/server/0128-Dont-run-with-scissors.patch b/patches/server/0128-Dont-run-with-scissors.patch index b7b845ad8b..f6bac31eaa 100644 --- a/patches/server/0128-Dont-run-with-scissors.patch +++ b/patches/server/0128-Dont-run-with-scissors.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Dont run with scissors! inspired by https://modrinth.com/mod/dont-run-with-scissors diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b4cd58ae2c89cb3875cff2bcbe60511d94a926d4..10757591f1318222f79ff4e3df4c59bacfc41dee 100644 +index b4cd58ae2c89cb3875cff2bcbe60511d94a926d4..c8cf05ac72a7b30e8d2239c4e07c9cc52d5990e2 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1721,6 +1721,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -14,8 +14,8 @@ index b4cd58ae2c89cb3875cff2bcbe60511d94a926d4..10757591f1318222f79ff4e3df4c59ba } + // Purpur Start -+ if (this.player.level().purpurConfig.dontRunWithScissors && this.player.isSprinting() && !(this.player.level().purpurConfig.ignoreScissorsInWater && this.player.isInWater()) && !(this.player.level().purpurConfig.ignoreScissorsInLava && this.player.isInLava()) && (isScissor(this.player.getItemInHand(InteractionHand.MAIN_HAND)) || isScissor(this.player.getItemInHand(InteractionHand.OFF_HAND))) && (int) (Math.random() * 10) == 0) { -+ this.player.hurt(this.player.damageSources().scissors(), (float) this.player.level().purpurConfig.scissorsRunningDamage); ++ if (this.player.serverLevel().purpurConfig.dontRunWithScissors && this.player.isSprinting() && !(this.player.serverLevel().purpurConfig.ignoreScissorsInWater && this.player.isInWater()) && !(this.player.serverLevel().purpurConfig.ignoreScissorsInLava && this.player.isInLava()) && (isScissors(this.player.getItemInHand(InteractionHand.MAIN_HAND)) || isScissors(this.player.getItemInHand(InteractionHand.OFF_HAND))) && (int) (Math.random() * 10) == 0) { ++ this.player.hurtServer(this.player.serverLevel(), this.player.damageSources().scissors(), (float) this.player.serverLevel().purpurConfig.scissorsRunningDamage); + if (!org.purpurmc.purpur.PurpurConfig.dontRunWithScissors.isBlank()) this.player.sendActionBarMessage(org.purpurmc.purpur.PurpurConfig.dontRunWithScissors); + } + // Purpur End @@ -23,15 +23,18 @@ index b4cd58ae2c89cb3875cff2bcbe60511d94a926d4..10757591f1318222f79ff4e3df4c59ba this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5); this.lastGoodX = this.player.getX(); this.lastGoodY = this.player.getY(); -@@ -1760,6 +1767,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1760,6 +1767,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } } + // Purpur start -+ public boolean isScissor(ItemStack stack) { ++ public boolean isScissors(ItemStack stack) { + if (!stack.is(Items.SHEARS)) return false; -+ net.minecraft.world.item.component.CustomModelData customModelData = stack.get(net.minecraft.core.component.DataComponents.CUSTOM_MODEL_DATA); -+ return customModelData == null || customModelData.strings().contains("purpurmc:scissors"); ++ ++ ResourceLocation itemModelReference = stack.get(net.minecraft.core.component.DataComponents.ITEM_MODEL); ++ if (itemModelReference != null && itemModelReference.equals(this.player.serverLevel().purpurConfig.dontRunWithScissorsItemModelReference)) return true; ++ ++ return stack.getOrDefault(DataComponents.CUSTOM_MODEL_DATA, net.minecraft.world.item.component.CustomModelData.EMPTY).equals(net.minecraft.world.item.component.CustomModelData.EMPTY); + } + // Purpur end + @@ -149,25 +152,27 @@ index 64c84cb6cc647ca37a0664b83eb24e7202aeb1e2..28800c519ab8a6648d632a577ffbecae public static String serverModName = io.papermc.paper.ServerBuildInfo.buildInfo().brandName(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 066a6407ed76a3a2b77541f24d4c3429d3a1a189..a980b4d3e1e4df4e2e2d7ecedafe23abe434fccb 100644 +index 066a6407ed76a3a2b77541f24d4c3429d3a1a189..2fd0df56e94dca5ce91d0db29b56fa4bd5a2d1f2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -191,6 +191,10 @@ public class PurpurWorldConfig { +@@ -191,6 +191,11 @@ public class PurpurWorldConfig { public List itemImmuneToExplosion = new ArrayList<>(); public List itemImmuneToFire = new ArrayList<>(); public List itemImmuneToLightning = new ArrayList<>(); + public boolean dontRunWithScissors = false; ++ public ResourceLocation dontRunWithScissorsItemModelReference = ResourceLocation.parse("purpurmc:scissors"); + public boolean ignoreScissorsInWater = false; + public boolean ignoreScissorsInLava = false; + public double scissorsRunningDamage = 1D; private void itemSettings() { itemImmuneToCactus.clear(); getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { -@@ -228,6 +232,10 @@ public class PurpurWorldConfig { +@@ -228,6 +233,11 @@ public class PurpurWorldConfig { Item item = BuiltInRegistries.ITEM.getValue(ResourceLocation.parse(key.toString())); if (item != Items.AIR) itemImmuneToLightning.add(item); }); + dontRunWithScissors = getBoolean("gameplay-mechanics.item.shears.damage-if-sprinting", dontRunWithScissors); ++ dontRunWithScissorsItemModelReference = ResourceLocation.parse(getString("gameplay-mechanics.item.shears.damage-if-sprinting-item-model", "purpurmc:scissors")); + ignoreScissorsInWater = getBoolean("gameplay-mechanics.item.shears.ignore-in-water", ignoreScissorsInWater); + ignoreScissorsInLava = getBoolean("gameplay-mechanics.item.shears.ignore-in-lava", ignoreScissorsInLava); + scissorsRunningDamage = getDouble("gameplay-mechanics.item.shears.sprinting-damage", scissorsRunningDamage); diff --git a/patches/server/0129-One-Punch-Man.patch b/patches/server/0129-One-Punch-Man.patch index a4c5765365..9a8d1a6b21 100644 --- a/patches/server/0129-One-Punch-Man.patch +++ b/patches/server/0129-One-Punch-Man.patch @@ -35,10 +35,10 @@ index fe183dcfb32e915af4c58f8b40c35e349e39d189..062f05f855ef50872d9b3074bf1951ea if (amount < 0.0F) { amount = 0.0F; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a980b4d3e1e4df4e2e2d7ecedafe23abe434fccb..6a4f411c723a1b0a5a05af66807f330a878377e1 100644 +index 2fd0df56e94dca5ce91d0db29b56fa4bd5a2d1f2..e6c9b43eea433abb1a01d4bf591541b754beeebf 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -338,6 +338,7 @@ public class PurpurWorldConfig { +@@ -340,6 +340,7 @@ public class PurpurWorldConfig { public boolean teleportIfOutsideBorder = false; public boolean totemOfUndyingWorksInInventory = false; public boolean playerFixStuckPortal = false; @@ -46,7 +46,7 @@ index a980b4d3e1e4df4e2e2d7ecedafe23abe434fccb..6a4f411c723a1b0a5a05af66807f330a private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -354,6 +355,7 @@ public class PurpurWorldConfig { +@@ -356,6 +357,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/0130-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch b/patches/server/0130-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch index 504784334c..99e4ab7962 100644 --- a/patches/server/0130-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch +++ b/patches/server/0130-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch @@ -42,10 +42,10 @@ index eaee34054233c8f0296b65a09f1287ba515496f2..83bd9b1eff5b7f581c3f0af6f0f15bdf // Paper end - PlayerLaunchProjectileEvent if (user instanceof net.minecraft.server.level.ServerPlayer) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6a4f411c723a1b0a5a05af66807f330a878377e1..35b0f46278c2c536c1b8738aea1b900e6f7065cf 100644 +index e6c9b43eea433abb1a01d4bf591541b754beeebf..e196d391b4c1a02211f221ef10dda9df05c5ab5c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -195,6 +195,10 @@ public class PurpurWorldConfig { +@@ -196,6 +196,10 @@ public class PurpurWorldConfig { public boolean ignoreScissorsInWater = false; public boolean ignoreScissorsInLava = false; public double scissorsRunningDamage = 1D; @@ -56,7 +56,7 @@ index 6a4f411c723a1b0a5a05af66807f330a878377e1..35b0f46278c2c536c1b8738aea1b900e private void itemSettings() { itemImmuneToCactus.clear(); getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { -@@ -236,6 +240,10 @@ public class PurpurWorldConfig { +@@ -238,6 +242,10 @@ public class PurpurWorldConfig { ignoreScissorsInWater = getBoolean("gameplay-mechanics.item.shears.ignore-in-water", ignoreScissorsInWater); ignoreScissorsInLava = getBoolean("gameplay-mechanics.item.shears.ignore-in-lava", ignoreScissorsInLava); scissorsRunningDamage = getDouble("gameplay-mechanics.item.shears.sprinting-damage", scissorsRunningDamage); diff --git a/patches/server/0131-Config-to-ignore-nearby-mobs-when-sleeping.patch b/patches/server/0131-Config-to-ignore-nearby-mobs-when-sleeping.patch index 63fde78d2c..b5655b0aa5 100644 --- a/patches/server/0131-Config-to-ignore-nearby-mobs-when-sleeping.patch +++ b/patches/server/0131-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 ca88e602674e85b63b9622c0f94b588448480c12..af7d238fafa84428509563548d343005fe17d460 100644 +index 2bc946e62099ab3020d38a304a6b686ccf7a39af..79f4ea221b791e605a7865de111c64a86ddd11ef 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1789,7 +1789,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -18,10 +18,10 @@ index ca88e602674e85b63b9622c0f94b588448480c12..af7d238fafa84428509563548d343005 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 35b0f46278c2c536c1b8738aea1b900e6f7065cf..59134101345d765c436d42efcd7fbb78b0deec48 100644 +index e196d391b4c1a02211f221ef10dda9df05c5ab5c..aa089685179635e74cc4033b5335c1e79fab08a2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -347,6 +347,7 @@ public class PurpurWorldConfig { +@@ -349,6 +349,7 @@ public class PurpurWorldConfig { public boolean totemOfUndyingWorksInInventory = false; public boolean playerFixStuckPortal = false; public boolean creativeOnePunch = false; @@ -29,7 +29,7 @@ index 35b0f46278c2c536c1b8738aea1b900e6f7065cf..59134101345d765c436d42efcd7fbb78 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -364,6 +365,7 @@ public class PurpurWorldConfig { +@@ -366,6 +367,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/0133-Config-Enderman-aggressiveness-towards-Endermites.patch b/patches/server/0133-Config-Enderman-aggressiveness-towards-Endermites.patch index e626fa652b..d3bd70a5f5 100644 --- a/patches/server/0133-Config-Enderman-aggressiveness-towards-Endermites.patch +++ b/patches/server/0133-Config-Enderman-aggressiveness-towards-Endermites.patch @@ -18,10 +18,10 @@ index 8348c8191e6b576ac71aa5c5b5454f7ba38f7730..a5a13d9e56306f6fc53736d0c4af81fa } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 59134101345d765c436d42efcd7fbb78b0deec48..2a247ce59d429b7ddac845295c95a045e9fe3352 100644 +index aa089685179635e74cc4033b5335c1e79fab08a2..fe8988fc29be469af3d33fb87f0c88ee35f0b779 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1030,6 +1030,8 @@ public class PurpurWorldConfig { +@@ -1032,6 +1032,8 @@ public class PurpurWorldConfig { public boolean endermanDespawnEvenWithBlock = false; public boolean endermanBypassMobGriefing = false; public boolean endermanTakeDamageFromWater = true; @@ -30,7 +30,7 @@ index 59134101345d765c436d42efcd7fbb78b0deec48..2a247ce59d429b7ddac845295c95a045 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1039,12 +1041,18 @@ public class PurpurWorldConfig { +@@ -1041,12 +1043,18 @@ public class PurpurWorldConfig { set("mobs.enderman.attributes.max-health", null); set("mobs.enderman.attributes.max_health", oldValue); } diff --git a/patches/server/0134-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch b/patches/server/0134-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch index 3f01ee4794..3dcf08ff5c 100644 --- a/patches/server/0134-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch +++ b/patches/server/0134-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch @@ -20,10 +20,10 @@ index a5a13d9e56306f6fc53736d0c4af81fa3d972a45..dec6be6b823b00642a0066726e3cad29 event.setCancelled(!shouldAttack); return event.callEvent(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2a247ce59d429b7ddac845295c95a045e9fe3352..9c9afd3befebe0fef8c84f4ed38231c11260d441 100644 +index fe8988fc29be469af3d33fb87f0c88ee35f0b779..c1f1c20bfa038e66e3fc2dab1a2d5ccc1bbbd3f2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1032,6 +1032,7 @@ public class PurpurWorldConfig { +@@ -1034,6 +1034,7 @@ public class PurpurWorldConfig { public boolean endermanTakeDamageFromWater = true; public boolean endermanAggroEndermites = true; public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; @@ -31,7 +31,7 @@ index 2a247ce59d429b7ddac845295c95a045e9fe3352..9c9afd3befebe0fef8c84f4ed38231c1 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1053,6 +1054,7 @@ public class PurpurWorldConfig { +@@ -1055,6 +1056,7 @@ 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/0136-Config-to-disable-Llama-caravans.patch b/patches/server/0136-Config-to-disable-Llama-caravans.patch index 8c67bf0226..c0d3812bb4 100644 --- a/patches/server/0136-Config-to-disable-Llama-caravans.patch +++ b/patches/server/0136-Config-to-disable-Llama-caravans.patch @@ -32,10 +32,10 @@ index 0b81415233df20fe7143c87ee964a6a1f490476f..227638f369a6581f37e892fa457e2d67 this.caravanHead.caravanTail = this; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a3ad9d2610ba27d4dbfa22cf8e3b9f8365310d40..ba7be016f1a76c95d04254cbbb6a0a51df23b0d0 100644 +index dd33aa2d92296090d6d75d294e91f2272b57e6fc..c62a22c8c7821041d890123c61cb04fb43955108 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1386,6 +1386,7 @@ public class PurpurWorldConfig { +@@ -1388,6 +1388,7 @@ public class PurpurWorldConfig { public double llamaMovementSpeedMax = 0.175D; public int llamaBreedingTicks = 6000; public boolean llamaTakeDamageFromWater = false; @@ -43,7 +43,7 @@ index a3ad9d2610ba27d4dbfa22cf8e3b9f8365310d40..ba7be016f1a76c95d04254cbbb6a0a51 private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1405,6 +1406,7 @@ public class PurpurWorldConfig { +@@ -1407,6 +1408,7 @@ public class PurpurWorldConfig { llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks); llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater); diff --git a/patches/server/0137-Config-to-make-Creepers-explode-on-death.patch b/patches/server/0137-Config-to-make-Creepers-explode-on-death.patch index bb61fbe653..8f41e966ed 100644 --- a/patches/server/0137-Config-to-make-Creepers-explode-on-death.patch +++ b/patches/server/0137-Config-to-make-Creepers-explode-on-death.patch @@ -51,10 +51,10 @@ index 78da4454fb6eccb1d17d1f0cb19013883437a23e..0bce10c1cbf9f1788817a2834ec0efa0 private void spawnLingeringCloud() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ba7be016f1a76c95d04254cbbb6a0a51df23b0d0..6c4bd9a18ecb9c3fea1d46f674dc6c8f3b9aea73 100644 +index c62a22c8c7821041d890123c61cb04fb43955108..36262ccf9c5d308230ad112078d14a78f41243bd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -875,6 +875,7 @@ public class PurpurWorldConfig { +@@ -877,6 +877,7 @@ public class PurpurWorldConfig { public boolean creeperAllowGriefing = true; public boolean creeperBypassMobGriefing = false; public boolean creeperTakeDamageFromWater = false; @@ -62,7 +62,7 @@ index ba7be016f1a76c95d04254cbbb6a0a51df23b0d0..6c4bd9a18ecb9c3fea1d46f674dc6c8f private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -890,6 +891,7 @@ public class PurpurWorldConfig { +@@ -892,6 +893,7 @@ public class PurpurWorldConfig { creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater); diff --git a/patches/server/0138-Configurable-ravager-griefable-blocks-list.patch b/patches/server/0138-Configurable-ravager-griefable-blocks-list.patch index 236e605b18..4f1c9134ca 100644 --- a/patches/server/0138-Configurable-ravager-griefable-blocks-list.patch +++ b/patches/server/0138-Configurable-ravager-griefable-blocks-list.patch @@ -31,10 +31,10 @@ index 8cf8aeb34cba078bc7a554f03054d580d96fe908..c1707b502911d76d0c3a706e44bfdc3a } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6c4bd9a18ecb9c3fea1d46f674dc6c8f3b9aea73..e040507a861ad283d95f42b6ef08b8b2f5b83418 100644 +index 36262ccf9c5d308230ad112078d14a78f41243bd..99a1c69938be124ad6fd1ae9a96024cc9fafd62c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1781,6 +1781,7 @@ public class PurpurWorldConfig { +@@ -1783,6 +1783,7 @@ public class PurpurWorldConfig { public double ravagerScale = 1.0D; public boolean ravagerBypassMobGriefing = false; public boolean ravagerTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index 6c4bd9a18ecb9c3fea1d46f674dc6c8f3b9aea73..e040507a861ad283d95f42b6ef08b8b2 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1794,6 +1795,23 @@ public class PurpurWorldConfig { +@@ -1796,6 +1797,23 @@ public class PurpurWorldConfig { ravagerScale = Mth.clamp(getDouble("mobs.ravager.attributes.scale", ravagerScale), 0.0625D, 16.0D); ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater); diff --git a/patches/server/0139-Sneak-to-bulk-process-composter.patch b/patches/server/0139-Sneak-to-bulk-process-composter.patch index 635874df1d..09ec5a441a 100644 --- a/patches/server/0139-Sneak-to-bulk-process-composter.patch +++ b/patches/server/0139-Sneak-to-bulk-process-composter.patch @@ -87,10 +87,10 @@ index 9264ba58188a7a682eeb8eb449b89ff8e60f91d6..809a820dd8eec3e48dd3263335c62fbe protected InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult hit) { int i = (Integer) state.getValue(ComposterBlock.LEVEL); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e040507a861ad283d95f42b6ef08b8b2f5b83418..7bb429cbb41e1a7ac7e138663dec988d29d62798 100644 +index 99a1c69938be124ad6fd1ae9a96024cc9fafd62c..09fa9a18dc1bb6a3df80cb2237dc0d55affc0453 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -439,6 +439,11 @@ public class PurpurWorldConfig { +@@ -441,6 +441,11 @@ public class PurpurWorldConfig { chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop); } diff --git a/patches/server/0140-Config-for-skipping-night.patch b/patches/server/0140-Config-for-skipping-night.patch index f3ce3dcd85..c828ace19e 100644 --- a/patches/server/0140-Config-for-skipping-night.patch +++ b/patches/server/0140-Config-for-skipping-night.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Config for skipping night diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 34698bf825f4d857bca2b76fb368616731937786..bd4dbaee9a90909b9fd63d7c6fbac235a1d2264e 100644 +index 756740b1be54631b4d25343f9a5c826b4b6288cf..e3d2c0f569c76fc9af95f28f29e24be12ab1c476 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -749,7 +749,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -18,10 +18,10 @@ index 34698bf825f4d857bca2b76fb368616731937786..bd4dbaee9a90909b9fd63d7c6fbac235 j = this.levelData.getDayTime() + 24000L; TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime()); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7bb429cbb41e1a7ac7e138663dec988d29d62798..ca2b020e5c82749dbf93b1f91353b845a7d1442f 100644 +index 09fa9a18dc1bb6a3df80cb2237dc0d55affc0453..59156b6d2b8107a2031bc56387f002a6ef404022 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -349,6 +349,7 @@ public class PurpurWorldConfig { +@@ -351,6 +351,7 @@ public class PurpurWorldConfig { public boolean playerFixStuckPortal = false; public boolean creativeOnePunch = false; public boolean playerSleepNearMonsters = false; @@ -29,7 +29,7 @@ index 7bb429cbb41e1a7ac7e138663dec988d29d62798..ca2b020e5c82749dbf93b1f91353b845 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -367,6 +368,7 @@ public class PurpurWorldConfig { +@@ -369,6 +370,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/0141-Add-config-for-villager-trading.patch b/patches/server/0141-Add-config-for-villager-trading.patch index 94e95e04a3..69ce78d9a8 100644 --- a/patches/server/0141-Add-config-for-villager-trading.patch +++ b/patches/server/0141-Add-config-for-villager-trading.patch @@ -32,10 +32,10 @@ index 116f47c7342dade1eaf0fabc62fb0ba2edd4c578..ba7856973d22c031910df4ec2a84d101 return InteractionResult.SUCCESS; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ca2b020e5c82749dbf93b1f91353b845a7d1442f..e6096491e26d5ad7df5f1d626a14c771662d2898 100644 +index 59156b6d2b8107a2031bc56387f002a6ef404022..913c3e0c66d005380782af7e7a3358ed5ef45afc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2236,6 +2236,7 @@ public class PurpurWorldConfig { +@@ -2238,6 +2238,7 @@ public class PurpurWorldConfig { public boolean villagerClericFarmersThrowWarts = true; public boolean villagerBypassMobGriefing = false; public boolean villagerTakeDamageFromWater = false; @@ -43,7 +43,7 @@ index ca2b020e5c82749dbf93b1f91353b845a7d1442f..e6096491e26d5ad7df5f1d626a14c771 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2256,6 +2257,7 @@ public class PurpurWorldConfig { +@@ -2258,6 +2259,7 @@ public class PurpurWorldConfig { villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); @@ -51,7 +51,7 @@ index ca2b020e5c82749dbf93b1f91353b845a7d1442f..e6096491e26d5ad7df5f1d626a14c771 } public boolean vindicatorRidable = false; -@@ -2289,6 +2291,7 @@ public class PurpurWorldConfig { +@@ -2291,6 +2293,7 @@ public class PurpurWorldConfig { public double wanderingTraderTemptRange = 10.0D; public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderTakeDamageFromWater = false; @@ -59,7 +59,7 @@ index ca2b020e5c82749dbf93b1f91353b845a7d1442f..e6096491e26d5ad7df5f1d626a14c771 private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -2304,6 +2307,7 @@ public class PurpurWorldConfig { +@@ -2306,6 +2309,7 @@ public class PurpurWorldConfig { wanderingTraderTemptRange = getDouble("mobs.wandering_trader.attributes.tempt_range", wanderingTraderTemptRange); wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater); diff --git a/patches/server/0143-Break-individual-slabs-when-sneaking.patch b/patches/server/0143-Break-individual-slabs-when-sneaking.patch index 45eeb6406b..dcc00de184 100644 --- a/patches/server/0143-Break-individual-slabs-when-sneaking.patch +++ b/patches/server/0143-Break-individual-slabs-when-sneaking.patch @@ -47,10 +47,10 @@ index 9274fd639c22e305dda567b303f9b01068adb52c..4433e432ea0ee8d11045b87e68dac3ed + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0f8348bedaf101fa9b9d50c3288aec0953cb56f6..cbca90e2008e0ed3736a1ad1d645ca1ee532fbba 100644 +index 693f84494c622697b4803f81ee81e21c59a7ebe6..60413ce72af16a81e97b875da85988fec8c88780 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -560,6 +560,11 @@ public class PurpurWorldConfig { +@@ -562,6 +562,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0144-Config-to-disable-hostile-mob-spawn-on-ice.patch b/patches/server/0144-Config-to-disable-hostile-mob-spawn-on-ice.patch index 5c4c2ef9a0..580511620b 100644 --- a/patches/server/0144-Config-to-disable-hostile-mob-spawn-on-ice.patch +++ b/patches/server/0144-Config-to-disable-hostile-mob-spawn-on-ice.patch @@ -24,10 +24,10 @@ index e2de074bbe7bab0e5a7aecc1fae4c5914a203dd4..c2061f575c731ecc6071384b007517c0 return false; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index cbca90e2008e0ed3736a1ad1d645ca1ee532fbba..c9cc7f51b2f86b4caf25d642159be418ddd20d61 100644 +index 60413ce72af16a81e97b875da85988fec8c88780..f83e25e7586aa5b84a6a87cdd32ca7ee005e01c6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -525,6 +525,13 @@ public class PurpurWorldConfig { +@@ -527,6 +527,13 @@ public class PurpurWorldConfig { furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath); } diff --git a/patches/server/0146-Option-to-make-doors-require-redstone.patch b/patches/server/0146-Option-to-make-doors-require-redstone.patch index abf00f478c..2846cd887a 100644 --- a/patches/server/0146-Option-to-make-doors-require-redstone.patch +++ b/patches/server/0146-Option-to-make-doors-require-redstone.patch @@ -82,10 +82,10 @@ index 077b99caf0ec0ee098786d23194d88e1dc4481ce..daf865c20cc193a12db0d98e3c0472ee + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 908953ee49fa46c1cf11a815b6c48fd0e78d251b..ef4789925eda32a0f5461bf3f8e17db524c22fdb 100644 +index 0c3438c1914d6ec828c270fecfc7cf101fcfd211..88f2cf0023540a2fed5be6f7929e46dc7144673c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -464,6 +464,16 @@ public class PurpurWorldConfig { +@@ -466,6 +466,16 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } diff --git a/patches/server/0148-Configurable-sponge-absorption.patch b/patches/server/0148-Configurable-sponge-absorption.patch index d95a2cc7e7..ad50b614f5 100644 --- a/patches/server/0148-Configurable-sponge-absorption.patch +++ b/patches/server/0148-Configurable-sponge-absorption.patch @@ -21,10 +21,10 @@ index e9a77c1ae09af42d2d444ad6b5f6c8ac395044e1..9201d911cf155aab7735600073426a0d int i = aenumdirection.length; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ef4789925eda32a0f5461bf3f8e17db524c22fdb..3a334078a69c1b6456ba2c1ed7249bf66c922960 100644 +index 88f2cf0023540a2fed5be6f7929e46dc7144673c..1b1c6e20acef4e2dda93cbc89ae1d527d76e81ce 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -589,6 +589,13 @@ public class PurpurWorldConfig { +@@ -591,6 +591,13 @@ public class PurpurWorldConfig { spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone); } diff --git a/patches/server/0149-Projectile-offset-config.patch b/patches/server/0149-Projectile-offset-config.patch index 1594b092fc..2f1e5c60ba 100644 --- a/patches/server/0149-Projectile-offset-config.patch +++ b/patches/server/0149-Projectile-offset-config.patch @@ -96,10 +96,10 @@ index aff4f33be216f62d6c6e139dcd7fd82efdbd267c..810082126567eb02bec395065b95b3c3 com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(stack), (org.bukkit.entity.Projectile) tridentDelayed.projectile().getBukkitEntity()); if (!event.callEvent() || !tridentDelayed.attemptSpawn()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3a334078a69c1b6456ba2c1ed7249bf66c922960..33ed5f8c42dcdf378fa5140177dbd290397d1092 100644 +index 1b1c6e20acef4e2dda93cbc89ae1d527d76e81ce..c6d39361fe5f02de3119e2d2bfc603e096c03160 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -414,6 +414,23 @@ public class PurpurWorldConfig { +@@ -416,6 +416,23 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0150-Config-for-powered-rail-activation-distance.patch b/patches/server/0150-Config-for-powered-rail-activation-distance.patch index a95d8baa46..c5d21071cb 100644 --- a/patches/server/0150-Config-for-powered-rail-activation-distance.patch +++ b/patches/server/0150-Config-for-powered-rail-activation-distance.patch @@ -18,10 +18,10 @@ index b763361a8f0f1b46093d5dd9afe8dba0cadf9c78..bd14c08defe8afc5ceca59d16a5b1dba } else { int j = pos.getX(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 33ed5f8c42dcdf378fa5140177dbd290397d1092..bec9316c9e3408f39ab00f096b640f4d4d893b28 100644 +index c6d39361fe5f02de3119e2d2bfc603e096c03160..e85eb5d3dbf35c89295302db5431a7b3cb2d3ba1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -575,6 +575,11 @@ public class PurpurWorldConfig { +@@ -577,6 +577,11 @@ public class PurpurWorldConfig { powderSnowBypassMobGriefing = getBoolean("blocks.powder_snow.bypass-mob-griefing", powderSnowBypassMobGriefing); } diff --git a/patches/server/0151-Piglin-portal-spawn-modifier.patch b/patches/server/0151-Piglin-portal-spawn-modifier.patch index d3c6a38d06..c7b19d3587 100644 --- a/patches/server/0151-Piglin-portal-spawn-modifier.patch +++ b/patches/server/0151-Piglin-portal-spawn-modifier.patch @@ -31,10 +31,10 @@ index 5169cba4c43d80ce3597c57bf7d40bd0148ec8a0..2d53c57c961fa8977e37931775863665 pos = pos.below(); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bec9316c9e3408f39ab00f096b640f4d4d893b28..a41a3957696d47c5059e96308d17e11b68bb1723 100644 +index e85eb5d3dbf35c89295302db5431a7b3cb2d3ba1..be247fe9ca24407350044b020db613ce9a70ff26 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1713,6 +1713,7 @@ public class PurpurWorldConfig { +@@ -1715,6 +1715,7 @@ public class PurpurWorldConfig { public double piglinScale = 1.0D; public boolean piglinBypassMobGriefing = false; public boolean piglinTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index bec9316c9e3408f39ab00f096b640f4d4d893b28..a41a3957696d47c5059e96308d17e11b private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1726,6 +1727,7 @@ public class PurpurWorldConfig { +@@ -1728,6 +1729,7 @@ public class PurpurWorldConfig { piglinScale = Mth.clamp(getDouble("mobs.piglin.attributes.scale", piglinScale), 0.0625D, 16.0D); piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater); diff --git a/patches/server/0153-Config-for-wither-explosion-radius.patch b/patches/server/0153-Config-for-wither-explosion-radius.patch index 656e080de5..b384ab0567 100644 --- a/patches/server/0153-Config-for-wither-explosion-radius.patch +++ b/patches/server/0153-Config-for-wither-explosion-radius.patch @@ -18,10 +18,10 @@ index e0f25b057b7b908a10038d9e9695a500aa883c75..e63b408594b5d2673148e39c1deafc85 if (!event.isCancelled()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a41a3957696d47c5059e96308d17e11b68bb1723..204ab35e0ee032a5596b836141eea604b3eeb5ac 100644 +index be247fe9ca24407350044b020db613ce9a70ff26..176dc97524c6383a4c10ebd0918fd2ca209af3b0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2414,6 +2414,7 @@ public class PurpurWorldConfig { +@@ -2416,6 +2416,7 @@ public class PurpurWorldConfig { public boolean witherBypassMobGriefing = false; public boolean witherTakeDamageFromWater = false; public boolean witherCanRideVehicles = false; @@ -29,7 +29,7 @@ index a41a3957696d47c5059e96308d17e11b68bb1723..204ab35e0ee032a5596b836141eea604 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2435,6 +2436,7 @@ public class PurpurWorldConfig { +@@ -2437,6 +2438,7 @@ public class PurpurWorldConfig { witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); diff --git a/patches/server/0155-Configurable-piston-push-limit.patch b/patches/server/0155-Configurable-piston-push-limit.patch index c9026e93a7..f7a1f8a9f5 100644 --- a/patches/server/0155-Configurable-piston-push-limit.patch +++ b/patches/server/0155-Configurable-piston-push-limit.patch @@ -36,10 +36,10 @@ index 205e223c356634bd6bc6bd58c6f0b7fda61a6f5f..bea05cb928d540a2f19b51bb7352d032 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 204ab35e0ee032a5596b836141eea604b3eeb5ac..990fcb015588651fff7e720594a5d5341b3f9bba 100644 +index 176dc97524c6383a4c10ebd0918fd2ca209af3b0..19e77eadb5ece2da43eb82f7b7d196e1616348af 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -570,6 +570,11 @@ public class PurpurWorldConfig { +@@ -572,6 +572,11 @@ public class PurpurWorldConfig { lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); } diff --git a/patches/server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch b/patches/server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch index 6412ab3ca1..31e8db0e05 100644 --- a/patches/server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch +++ b/patches/server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch @@ -21,10 +21,10 @@ index 0bce10c1cbf9f1788817a2834ec0efa04dd17752..d2de324f024d0a83790e2b86dc765b01 // CraftBukkit end this.dead = true; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8e86a96cfdb9b8deec4ef0de0dafb2f2635c4f2c..7571c755c49ae3b3870631e5bbdaec4c544b02cc 100644 +index 1ae95a30b6e4cf69028dc61c398651bde526418f..851d0c96350abc8d8c490d92183540b013a98d12 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -952,6 +952,7 @@ public class PurpurWorldConfig { +@@ -954,6 +954,7 @@ public class PurpurWorldConfig { public boolean creeperBypassMobGriefing = false; public boolean creeperTakeDamageFromWater = false; public boolean creeperExplodeWhenKilled = false; @@ -32,7 +32,7 @@ index 8e86a96cfdb9b8deec4ef0de0dafb2f2635c4f2c..7571c755c49ae3b3870631e5bbdaec4c private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -968,6 +969,7 @@ public class PurpurWorldConfig { +@@ -970,6 +971,7 @@ public class PurpurWorldConfig { creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater); creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled); diff --git a/patches/server/0160-Iron-golem-calm-anger-options.patch b/patches/server/0160-Iron-golem-calm-anger-options.patch index b04fdf4cb2..eaee52c714 100644 --- a/patches/server/0160-Iron-golem-calm-anger-options.patch +++ b/patches/server/0160-Iron-golem-calm-anger-options.patch @@ -25,10 +25,10 @@ index 6396d31a14815fbe4f9f51dc610af317566bf522..db8420f6d1356d400699bd09e67e5805 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7571c755c49ae3b3870631e5bbdaec4c544b02cc..defe5b19e5595d5c18fcf1100a8b1470cbc5e670 100644 +index 851d0c96350abc8d8c490d92183540b013a98d12..5caaaa88d71f84562f8ab403062bf9ac4eb4dfb9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1440,6 +1440,8 @@ public class PurpurWorldConfig { +@@ -1442,6 +1442,8 @@ public class PurpurWorldConfig { public double ironGolemMaxHealth = 100.0D; public double ironGolemScale = 1.0D; public boolean ironGolemTakeDamageFromWater = false; @@ -37,7 +37,7 @@ index 7571c755c49ae3b3870631e5bbdaec4c544b02cc..defe5b19e5595d5c18fcf1100a8b1470 private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1453,6 +1455,8 @@ public class PurpurWorldConfig { +@@ -1455,6 +1457,8 @@ public class PurpurWorldConfig { ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth); ironGolemScale = Mth.clamp(getDouble("mobs.iron_golem.attributes.scale", ironGolemScale), 0.0625D, 16.0D); ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater); diff --git a/patches/server/0161-Breedable-parrots.patch b/patches/server/0161-Breedable-parrots.patch index 43b637153c..d0de34e133 100644 --- a/patches/server/0161-Breedable-parrots.patch +++ b/patches/server/0161-Breedable-parrots.patch @@ -50,10 +50,10 @@ index f951905a9b985cfeb3a960898724651e395b42e8..4a6137b3984a6a7c4bc0472ada4b61f9 @Nullable diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index defe5b19e5595d5c18fcf1100a8b1470cbc5e670..aaa0fe0a1cf368bc680d0a2b94fdb4e6ddee0503 100644 +index 5caaaa88d71f84562f8ab403062bf9ac4eb4dfb9..3d226e2cd3d805a7f53f845f5b873506b6ef274a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1618,6 +1618,7 @@ public class PurpurWorldConfig { +@@ -1620,6 +1620,7 @@ public class PurpurWorldConfig { public double parrotMaxHealth = 6.0D; public double parrotScale = 1.0D; public boolean parrotTakeDamageFromWater = false; @@ -61,7 +61,7 @@ index defe5b19e5595d5c18fcf1100a8b1470cbc5e670..aaa0fe0a1cf368bc680d0a2b94fdb4e6 private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1631,6 +1632,7 @@ public class PurpurWorldConfig { +@@ -1633,6 +1634,7 @@ public class PurpurWorldConfig { parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); parrotScale = Mth.clamp(getDouble("mobs.parrot.attributes.scale", parrotScale), 0.0625D, 16.0D); parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater); diff --git a/patches/server/0162-Configurable-powered-rail-boost-modifier.patch b/patches/server/0162-Configurable-powered-rail-boost-modifier.patch index 1c879557c6..eb22fd5581 100644 --- a/patches/server/0162-Configurable-powered-rail-boost-modifier.patch +++ b/patches/server/0162-Configurable-powered-rail-boost-modifier.patch @@ -34,10 +34,10 @@ index 04a622f52353ebcc21f41c233f5a0fd67690cf4a..f10ce069ef427df16fd0ce0e60b85c80 Vec3 vec3d6 = this.getDeltaMovement(); double d20 = vec3d6.x; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index aaa0fe0a1cf368bc680d0a2b94fdb4e6ddee0503..31ccb7c37318a36c41703ea57df0da32acec27a9 100644 +index 3d226e2cd3d805a7f53f845f5b873506b6ef274a..fb10c66da40ba5e4d0eb5b567d177bbcb2c0fd4c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -268,6 +268,7 @@ public class PurpurWorldConfig { +@@ -270,6 +270,7 @@ public class PurpurWorldConfig { public boolean minecartControllableFallDamage = true; public double minecartControllableBaseSpeed = 0.1D; public Map minecartControllableBlockSpeeds = new HashMap<>(); @@ -45,7 +45,7 @@ index aaa0fe0a1cf368bc680d0a2b94fdb4e6ddee0503..31ccb7c37318a36c41703ea57df0da32 private void minecartSettings() { if (PurpurConfig.version < 12) { boolean oldBool = getBoolean("gameplay-mechanics.controllable-minecarts.place-anywhere", minecartPlaceAnywhere); -@@ -320,6 +321,7 @@ public class PurpurWorldConfig { +@@ -322,6 +323,7 @@ public class PurpurWorldConfig { set("gameplay-mechanics.minecart.controllable.block-speed.grass_block", 0.3D); set("gameplay-mechanics.minecart.controllable.block-speed.stone", 0.5D); } diff --git a/patches/server/0163-Add-config-change-multiplier-critical-damage-value.patch b/patches/server/0163-Add-config-change-multiplier-critical-damage-value.patch index f96cfafeb3..8f28971bbe 100644 --- a/patches/server/0163-Add-config-change-multiplier-critical-damage-value.patch +++ b/patches/server/0163-Add-config-change-multiplier-critical-damage-value.patch @@ -18,10 +18,10 @@ index 3dbb473655c4f115e28ce31fa647cd0cb7fbe3c6..1cb8a5391e31017c0e0d958c72338904 float f3 = f + f1; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 31ccb7c37318a36c41703ea57df0da32acec27a9..56ca29d4cdc5007966a6f79a0e8f4cb0390c3a30 100644 +index fb10c66da40ba5e4d0eb5b567d177bbcb2c0fd4c..b5712c7aa0de07736c7e6ae0686ed36ed3629235 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -365,6 +365,7 @@ public class PurpurWorldConfig { +@@ -367,6 +367,7 @@ public class PurpurWorldConfig { public boolean creativeOnePunch = false; public boolean playerSleepNearMonsters = false; public boolean playersSkipNight = true; @@ -29,7 +29,7 @@ index 31ccb7c37318a36c41703ea57df0da32acec27a9..56ca29d4cdc5007966a6f79a0e8f4cb0 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -384,6 +385,7 @@ public class PurpurWorldConfig { +@@ -386,6 +387,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/0164-Option-to-disable-dragon-egg-teleporting.patch b/patches/server/0164-Option-to-disable-dragon-egg-teleporting.patch index f7ad719dd2..2829d6e62f 100644 --- a/patches/server/0164-Option-to-disable-dragon-egg-teleporting.patch +++ b/patches/server/0164-Option-to-disable-dragon-egg-teleporting.patch @@ -19,10 +19,10 @@ index 30d15686b1a81de7ac28feb0c6188eb007c6f2fd..b6799db00e157892dd4339a01d2ca360 BlockPos blockposition1 = pos.offset(world.random.nextInt(16) - world.random.nextInt(16), world.random.nextInt(8) - world.random.nextInt(8), world.random.nextInt(16) - world.random.nextInt(16)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 56ca29d4cdc5007966a6f79a0e8f4cb0390c3a30..db82c66338f2224ac887f3a47fe5e7fcb3ba0a57 100644 +index b5712c7aa0de07736c7e6ae0686ed36ed3629235..427e257d7e53d0dc5fbd4acbaa2c1d1f2a12fff8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -497,6 +497,11 @@ public class PurpurWorldConfig { +@@ -499,6 +499,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0167-Bee-can-work-when-raining-or-at-night.patch b/patches/server/0167-Bee-can-work-when-raining-or-at-night.patch index a642a3029c..5a8edfaee7 100644 --- a/patches/server/0167-Bee-can-work-when-raining-or-at-night.patch +++ b/patches/server/0167-Bee-can-work-when-raining-or-at-night.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Bee can work when raining or at night diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index e6e5954ca4366ad20b1d1413053739c767c45824..ea5559e6f536ab823f987ce57fc01d6dab26314d 100644 +index 82ddbc95370effc5aec4957486915843217c4efa..7804911f296991c15b40d75e51f27b4e30a53245 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java @@ -430,7 +430,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @@ -18,10 +18,10 @@ index e6e5954ca4366ad20b1d1413053739c767c45824..ea5559e6f536ab823f987ce57fc01d6d public void setStayOutOfHiveCountdown(int cannotEnterHiveTicks) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index db82c66338f2224ac887f3a47fe5e7fcb3ba0a57..1083c6cc35206e09b57ae993623bffa5eecfb1f6 100644 +index 427e257d7e53d0dc5fbd4acbaa2c1d1f2a12fff8..8eaff3384ed2fa6b4f557e82b6c0f89fa8ae7cb4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -748,6 +748,8 @@ public class PurpurWorldConfig { +@@ -750,6 +750,8 @@ public class PurpurWorldConfig { public double beeScale = 1.0D; public int beeBreedingTicks = 6000; public boolean beeTakeDamageFromWater = true; @@ -30,7 +30,7 @@ index db82c66338f2224ac887f3a47fe5e7fcb3ba0a57..1083c6cc35206e09b57ae993623bffa5 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -762,6 +764,8 @@ public class PurpurWorldConfig { +@@ -764,6 +766,8 @@ public class PurpurWorldConfig { beeScale = Mth.clamp(getDouble("mobs.bee.attributes.scale", beeScale), 0.0625D, 16.0D); beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks); beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater); diff --git a/patches/server/0169-Config-MobEffect-by-world.patch b/patches/server/0169-Config-MobEffect-by-world.patch index 13a4b70c2d..04bd2172b0 100644 --- a/patches/server/0169-Config-MobEffect-by-world.patch +++ b/patches/server/0169-Config-MobEffect-by-world.patch @@ -72,10 +72,10 @@ index 55132e6e064ddd15b26286eca335305ed57b2f9e..1e04947995009689315352b79989e7ce } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1083c6cc35206e09b57ae993623bffa5eecfb1f6..cf3480e98912271cc057d944c8e6931651e9da33 100644 +index 8eaff3384ed2fa6b4f557e82b6c0f89fa8ae7cb4..b279cd51d5661c304bff6a2638bf39df0e3cf952 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -324,6 +324,21 @@ public class PurpurWorldConfig { +@@ -326,6 +326,21 @@ public class PurpurWorldConfig { poweredRailBoostModifier = getDouble("gameplay-mechanics.minecart.powered-rail.boost-modifier", poweredRailBoostModifier); } diff --git a/patches/server/0170-Beacon-Activation-Range-Configurable.patch b/patches/server/0170-Beacon-Activation-Range-Configurable.patch index 80500d9561..6ae76d2101 100644 --- a/patches/server/0170-Beacon-Activation-Range-Configurable.patch +++ b/patches/server/0170-Beacon-Activation-Range-Configurable.patch @@ -26,10 +26,10 @@ index 0e0d178f2793ab014358f534c8dc53218b89f083..fbc6b0099af34b0247f6144a9cef020f } else { return effectRange; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index cf3480e98912271cc057d944c8e6931651e9da33..f6f645b2d7449fdf3e6bdc618ad2fb38c05846ae 100644 +index b279cd51d5661c304bff6a2638bf39df0e3cf952..2b5543f070925421e3b924e373a9610fd9b24f2a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -464,6 +464,17 @@ public class PurpurWorldConfig { +@@ -466,6 +466,17 @@ public class PurpurWorldConfig { anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage); } diff --git a/patches/server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch b/patches/server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch index f0cbd1a6ef..e3e8d869df 100644 --- a/patches/server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch +++ b/patches/server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch @@ -80,10 +80,10 @@ index 648c2510beb162e73aed236a3169d0bbb8fc5050..3563a241c0b697dc0167cf7b1aa73fef } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f6f645b2d7449fdf3e6bdc618ad2fb38c05846ae..8fb83dae4c835ffbdd77fb55c518e37124815743 100644 +index 2b5543f070925421e3b924e373a9610fd9b24f2a..849532c99cfad2870fd22be6e759e153e8fae10b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -381,6 +381,8 @@ public class PurpurWorldConfig { +@@ -383,6 +383,8 @@ public class PurpurWorldConfig { public boolean playerSleepNearMonsters = false; public boolean playersSkipNight = true; public double playerCriticalDamageMultiplier = 1.5D; @@ -92,7 +92,7 @@ index f6f645b2d7449fdf3e6bdc618ad2fb38c05846ae..8fb83dae4c835ffbdd77fb55c518e371 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -401,6 +403,8 @@ public class PurpurWorldConfig { +@@ -403,6 +405,8 @@ public class PurpurWorldConfig { playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters); playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight); playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier); diff --git a/patches/server/0175-Shulker-spawn-from-bullet-options.patch b/patches/server/0175-Shulker-spawn-from-bullet-options.patch index eef654bc12..b5f7029488 100644 --- a/patches/server/0175-Shulker-spawn-from-bullet-options.patch +++ b/patches/server/0175-Shulker-spawn-from-bullet-options.patch @@ -68,10 +68,10 @@ index 648e6979aa72b9d1e1ea3b40d5a876e3c690b934..d9cd4f47e9990bdd85e30f68ca3b755a + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8fb83dae4c835ffbdd77fb55c518e37124815743..54c9a86cea5978215159c59fc882bf003143eec2 100644 +index 849532c99cfad2870fd22be6e759e153e8fae10b..51609ddc3890b5a6a9106b6d2960697723651ec2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1991,6 +1991,11 @@ public class PurpurWorldConfig { +@@ -1993,6 +1993,11 @@ public class PurpurWorldConfig { public double shulkerMaxHealth = 30.0D; public double shulkerScale = 1.0D; public boolean shulkerTakeDamageFromWater = false; @@ -83,7 +83,7 @@ index 8fb83dae4c835ffbdd77fb55c518e37124815743..54c9a86cea5978215159c59fc882bf00 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2003,6 +2008,11 @@ public class PurpurWorldConfig { +@@ -2005,6 +2010,11 @@ public class PurpurWorldConfig { shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth); shulkerScale = Mth.clamp(getDouble("mobs.shulker.attributes.scale", shulkerScale), 0.0625D, Shulker.MAX_SCALE); shulkerTakeDamageFromWater = getBoolean("mobs.shulker.takes-damage-from-water", shulkerTakeDamageFromWater); diff --git a/patches/server/0176-Eating-glow-berries-adds-glow-effect.patch b/patches/server/0176-Eating-glow-berries-adds-glow-effect.patch index 020ab98478..f04c54177f 100644 --- a/patches/server/0176-Eating-glow-berries-adds-glow-effect.patch +++ b/patches/server/0176-Eating-glow-berries-adds-glow-effect.patch @@ -18,10 +18,10 @@ index 41fbe61268c0a16078b5f846ab12bde172872ff7..317e69eb4e3a4c312d5e856a0bff31a9 public static final Item CAMPFIRE = registerBlock(Blocks.CAMPFIRE, settings -> settings.component(DataComponents.CONTAINER, ItemContainerContents.EMPTY)); public static final Item SOUL_CAMPFIRE = registerBlock( diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 54c9a86cea5978215159c59fc882bf003143eec2..18cf2be9270623e6088e02aaeace6b9b4711fe0a 100644 +index 51609ddc3890b5a6a9106b6d2960697723651ec2..1e5bb7dc174bd43479534a9cab0b3bf05695ae51 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -213,6 +213,7 @@ public class PurpurWorldConfig { +@@ -214,6 +214,7 @@ public class PurpurWorldConfig { public int enderPearlCooldown = 20; public int enderPearlCooldownCreative = 20; public float enderPearlEndermiteChance = 0.05F; @@ -29,7 +29,7 @@ index 54c9a86cea5978215159c59fc882bf003143eec2..18cf2be9270623e6088e02aaeace6b9b private void itemSettings() { itemImmuneToCactus.clear(); getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { -@@ -258,6 +259,7 @@ public class PurpurWorldConfig { +@@ -260,6 +261,7 @@ public class PurpurWorldConfig { enderPearlCooldown = getInt("gameplay-mechanics.item.ender-pearl.cooldown", enderPearlCooldown); enderPearlCooldownCreative = getInt("gameplay-mechanics.item.ender-pearl.creative-cooldown", enderPearlCooldownCreative); enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance); diff --git a/patches/server/0177-Option-to-make-drowned-break-doors.patch b/patches/server/0177-Option-to-make-drowned-break-doors.patch index f1e3a1c5b9..b6a224d0ec 100644 --- a/patches/server/0177-Option-to-make-drowned-break-doors.patch +++ b/patches/server/0177-Option-to-make-drowned-break-doors.patch @@ -17,10 +17,10 @@ index f33fa55bd8f894389121d38eb811ff739f31c811..44f6949166cdf78e2d197ab5a5affae6 this.targetSelector.addGoal(1, new HurtByTargetGoal(this, Drowned.class).setAlertOthers(ZombifiedPiglin.class)); this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, (target, world) -> this.okTarget(target))); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 18cf2be9270623e6088e02aaeace6b9b4711fe0a..acbe91bba0b245fcd4940ea19795babaaf438c80 100644 +index 1e5bb7dc174bd43479534a9cab0b3bf05695ae51..7d4570b6cc775e73a64e0a7ec4fa15397636a0f3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1081,6 +1081,7 @@ public class PurpurWorldConfig { +@@ -1083,6 +1083,7 @@ public class PurpurWorldConfig { public double drownedJockeyChance = 0.05D; public boolean drownedJockeyTryExistingChickens = true; public boolean drownedTakeDamageFromWater = false; @@ -28,7 +28,7 @@ index 18cf2be9270623e6088e02aaeace6b9b4711fe0a..acbe91bba0b245fcd4940ea19795baba private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1097,6 +1098,7 @@ public class PurpurWorldConfig { +@@ -1099,6 +1100,7 @@ public class PurpurWorldConfig { drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance); drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens); drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater); diff --git a/patches/server/0178-Configurable-hunger-starvation-damage.patch b/patches/server/0178-Configurable-hunger-starvation-damage.patch index 5f112ab890..15c8cb9d89 100644 --- a/patches/server/0178-Configurable-hunger-starvation-damage.patch +++ b/patches/server/0178-Configurable-hunger-starvation-damage.patch @@ -18,10 +18,10 @@ index 4f8ee2e5db3352306f3c035052866d95630f4aaf..b8b0b89b7f0a21ecff4ab6286f8a114e this.tickTimer = 0; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index acbe91bba0b245fcd4940ea19795babaaf438c80..51aee36c56a8fc36c3f827ea972ed10dc7130c17 100644 +index 7d4570b6cc775e73a64e0a7ec4fa15397636a0f3..d78c39b9db77ee6948fd87c664ab5fa5b61367ea 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2703,4 +2703,9 @@ public class PurpurWorldConfig { +@@ -2705,4 +2705,9 @@ public class PurpurWorldConfig { zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); } diff --git a/patches/server/0181-Tool-actionable-options.patch b/patches/server/0181-Tool-actionable-options.patch index bbd9d41fd3..38514934fd 100644 --- a/patches/server/0181-Tool-actionable-options.patch +++ b/patches/server/0181-Tool-actionable-options.patch @@ -133,10 +133,10 @@ index 55c18f182166f4905d623d6f5e909eefd5ed2483..d10c4705cc9e7faabd4a5619e1da1072 afterAction = () -> { // Paper if (!level.isClientSide()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 51aee36c56a8fc36c3f827ea972ed10dc7130c17..ff9bb8f21d6da7f8d3b0a726098227d95e6e3207 100644 +index d78c39b9db77ee6948fd87c664ab5fa5b61367ea..6cb8722c1ca2c182ed24d8e7770025560898c9e1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -463,6 +463,280 @@ public class PurpurWorldConfig { +@@ -465,6 +465,280 @@ public class PurpurWorldConfig { snowballDamage = getInt("gameplay-mechanics.projectile-damage.snowball", snowballDamage); } diff --git a/patches/server/0185-option-to-disable-shulker-box-items-from-dropping-co.patch b/patches/server/0185-option-to-disable-shulker-box-items-from-dropping-co.patch index 318f68b9b5..dcb26a21e8 100644 --- a/patches/server/0185-option-to-disable-shulker-box-items-from-dropping-co.patch +++ b/patches/server/0185-option-to-disable-shulker-box-items-from-dropping-co.patch @@ -18,10 +18,10 @@ index ac5dc472337cd9613db5fc03f64763245129dfd9..f8928d5ac2f107a904ecc636e6bdeee7 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ff9bb8f21d6da7f8d3b0a726098227d95e6e3207..277c1be1ede46b50f865a2c1d1b38ab22cae9ef9 100644 +index 6cb8722c1ca2c182ed24d8e7770025560898c9e1..294153e02ea584ab5a8fc8209dc87660bddc27a7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -214,6 +214,7 @@ public class PurpurWorldConfig { +@@ -215,6 +215,7 @@ public class PurpurWorldConfig { public int enderPearlCooldownCreative = 20; public float enderPearlEndermiteChance = 0.05F; public int glowBerriesEatGlowDuration = 0; @@ -29,7 +29,7 @@ index ff9bb8f21d6da7f8d3b0a726098227d95e6e3207..277c1be1ede46b50f865a2c1d1b38ab2 private void itemSettings() { itemImmuneToCactus.clear(); getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { -@@ -260,6 +261,7 @@ public class PurpurWorldConfig { +@@ -262,6 +263,7 @@ public class PurpurWorldConfig { enderPearlCooldownCreative = getInt("gameplay-mechanics.item.ender-pearl.creative-cooldown", enderPearlCooldownCreative); enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance); glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration); diff --git a/patches/server/0186-Big-dripleaf-tilt-delay.patch b/patches/server/0186-Big-dripleaf-tilt-delay.patch index 91dfbb94b1..e20bfb0a85 100644 --- a/patches/server/0186-Big-dripleaf-tilt-delay.patch +++ b/patches/server/0186-Big-dripleaf-tilt-delay.patch @@ -24,10 +24,10 @@ index 9e3f1441d62128535112621bf259c24f1a90595b..2535e6d71b690f8dfde41a7d9cb76b6f if (i != -1) { world.scheduleTick(blockposition, (Block) this, i); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 277c1be1ede46b50f865a2c1d1b38ab22cae9ef9..133ffdbb1d042bca487b2fe74e66a6dad9165966 100644 +index 294153e02ea584ab5a8fc8209dc87660bddc27a7..be19290cc292e31b0dba6023168a913244ef54d4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -778,6 +778,22 @@ public class PurpurWorldConfig { +@@ -780,6 +780,22 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0187-Player-ridable-in-water-option.patch b/patches/server/0187-Player-ridable-in-water-option.patch index c033863ef4..cea1c55f9b 100644 --- a/patches/server/0187-Player-ridable-in-water-option.patch +++ b/patches/server/0187-Player-ridable-in-water-option.patch @@ -23,10 +23,10 @@ index 7fccb7672e41545d747de1425335df7061222e52..2b3ec55bdc652bb432f9747d6215992f if (!this.isPassenger() && this.onGround() && !this.isInWater() && !this.isInPowderSnow) { if (this.getShoulderEntityLeft().isEmpty()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 133ffdbb1d042bca487b2fe74e66a6dad9165966..5ae832b108c05e8940e2dc0c7d6094742915fb1e 100644 +index be19290cc292e31b0dba6023168a913244ef54d4..1205c517d4c73a2a1718a2e3cc87b348f3026af8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -387,6 +387,7 @@ public class PurpurWorldConfig { +@@ -389,6 +389,7 @@ public class PurpurWorldConfig { public double playerCriticalDamageMultiplier = 1.5D; public int playerBurpDelay = 10; public boolean playerBurpWhenFull = false; @@ -34,7 +34,7 @@ index 133ffdbb1d042bca487b2fe74e66a6dad9165966..5ae832b108c05e8940e2dc0c7d609474 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -409,6 +410,7 @@ public class PurpurWorldConfig { +@@ -411,6 +412,7 @@ public class PurpurWorldConfig { playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier); playerBurpDelay = getInt("gameplay-mechanics.player.burp-delay", playerBurpDelay); playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull); diff --git a/patches/server/0188-Config-to-disable-Enderman-teleport-on-projectile-hi.patch b/patches/server/0188-Config-to-disable-Enderman-teleport-on-projectile-hi.patch index 1b9fc79d76..5515dacda1 100644 --- a/patches/server/0188-Config-to-disable-Enderman-teleport-on-projectile-hi.patch +++ b/patches/server/0188-Config-to-disable-Enderman-teleport-on-projectile-hi.patch @@ -17,10 +17,10 @@ index dec6be6b823b00642a0066726e3cad298b7ed6a7..2681153860b37d49eb8b12ae08198e56 for (int i = 0; i < 64; ++i) { if (this.teleport()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5ae832b108c05e8940e2dc0c7d6094742915fb1e..36d6d52a83f4b5b9273661d816424025f76f4596 100644 +index 1205c517d4c73a2a1718a2e3cc87b348f3026af8..b027f35fc78373d4314a3c7c4d30065f6a2af6ed 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1455,6 +1455,7 @@ public class PurpurWorldConfig { +@@ -1457,6 +1457,7 @@ public class PurpurWorldConfig { public boolean endermanAggroEndermites = true; public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; public boolean endermanDisableStareAggro = false; @@ -28,7 +28,7 @@ index 5ae832b108c05e8940e2dc0c7d6094742915fb1e..36d6d52a83f4b5b9273661d816424025 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1477,6 +1478,7 @@ public class PurpurWorldConfig { +@@ -1479,6 +1480,7 @@ public class PurpurWorldConfig { endermanAggroEndermites = getBoolean("mobs.enderman.aggressive-towards-endermites", endermanAggroEndermites); endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned); endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro); diff --git a/patches/server/0189-Add-compass-command.patch b/patches/server/0189-Add-compass-command.patch index ecd291e864..8c5d4f0ba7 100644 --- a/patches/server/0189-Add-compass-command.patch +++ b/patches/server/0189-Add-compass-command.patch @@ -17,7 +17,7 @@ index 068fa5baf5b031358a1ff71e7ac376448c0ec95c..eedb3707523b47ab79db326f6d7382cc if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 1b691eafa658bbdfd87dd4a7692e0f6a96103ac2..ed1d75fdee29ac92d71f219af79eb7fc5ae99099 100644 +index 59433ad1b3e187233e69a3a08781f61b022f5707..a8994b1edcc82d15afbe11d12a6a8a0a00c76143 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -329,6 +329,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -89,10 +89,10 @@ index 8d41d9a8a2b5b7946c13b8c3ce961fea1a2bc728..e8dc97694f59cfce67e2fe061868a9f0 hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector); uptimeFormat = getString("settings.command.uptime.format", uptimeFormat); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 36d6d52a83f4b5b9273661d816424025f76f4596..74515ad36cae0e838224caee3853d2f3d8bc0b11 100644 +index b027f35fc78373d4314a3c7c4d30065f6a2af6ed..a7cecdaffb479a4eb866cd1d3128c4306641e20e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -215,6 +215,7 @@ public class PurpurWorldConfig { +@@ -216,6 +216,7 @@ public class PurpurWorldConfig { public float enderPearlEndermiteChance = 0.05F; public int glowBerriesEatGlowDuration = 0; public boolean shulkerBoxItemDropContentsWhenDestroyed = true; @@ -100,7 +100,7 @@ index 36d6d52a83f4b5b9273661d816424025f76f4596..74515ad36cae0e838224caee3853d2f3 private void itemSettings() { itemImmuneToCactus.clear(); getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { -@@ -262,6 +263,7 @@ public class PurpurWorldConfig { +@@ -264,6 +265,7 @@ public class PurpurWorldConfig { enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance); glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration); shulkerBoxItemDropContentsWhenDestroyed = getBoolean("gameplay-mechanics.item.shulker_box.drop-contents-when-destroyed", shulkerBoxItemDropContentsWhenDestroyed); diff --git a/patches/server/0191-Add-Option-for-disable-observer-clocks.patch b/patches/server/0191-Add-Option-for-disable-observer-clocks.patch index ce40ddde18..b7997cd7cc 100644 --- a/patches/server/0191-Add-Option-for-disable-observer-clocks.patch +++ b/patches/server/0191-Add-Option-for-disable-observer-clocks.patch @@ -18,10 +18,10 @@ index 93ed9406c34804831b86d006dbd6087db9948f08..26cb9990b91991e0a2eadc2dcbbf229e } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1522df03dab1e9e8e6d471f62067a15350b909d9..1dcd7031ba7f5e759b98533736218c5c0e28be23 100644 +index e4abac46f4bf2011a84acb07df424af10214588b..1f7a8f2b5196d5b15b047e6d67491a8335cbdbc3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -362,6 +362,11 @@ public class PurpurWorldConfig { +@@ -364,6 +364,11 @@ public class PurpurWorldConfig { villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate); } diff --git a/patches/server/0192-Customizeable-Zombie-Villager-curing-times.patch b/patches/server/0192-Customizeable-Zombie-Villager-curing-times.patch index fe616fa9b4..4a3468688f 100644 --- a/patches/server/0192-Customizeable-Zombie-Villager-curing-times.patch +++ b/patches/server/0192-Customizeable-Zombie-Villager-curing-times.patch @@ -18,10 +18,10 @@ index 95315588a523439a53ac7af3db5fc23adbed6f01..811c5c4bc98401bc9314894eb5cb64bf return InteractionResult.SUCCESS_SERVER; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1dcd7031ba7f5e759b98533736218c5c0e28be23..2710709349c9d32b4b7e83bbb1cc9b1fde29310a 100644 +index 1f7a8f2b5196d5b15b047e6d67491a8335cbdbc3..4fa501f2d0e8f99b9b1aa112e8a4155c4a3ba652 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2961,6 +2961,8 @@ public class PurpurWorldConfig { +@@ -2963,6 +2963,8 @@ public class PurpurWorldConfig { public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; public boolean zombieVillagerTakeDamageFromWater = false; @@ -30,7 +30,7 @@ index 1dcd7031ba7f5e759b98533736218c5c0e28be23..2710709349c9d32b4b7e83bbb1cc9b1f private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2977,6 +2979,8 @@ public class PurpurWorldConfig { +@@ -2979,6 +2981,8 @@ public class PurpurWorldConfig { zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance); zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater); diff --git a/patches/server/0193-Option-for-sponges-to-work-on-lava-and-mud.patch b/patches/server/0193-Option-for-sponges-to-work-on-lava-and-mud.patch index 9fafcefac4..6e606cd034 100644 --- a/patches/server/0193-Option-for-sponges-to-work-on-lava-and-mud.patch +++ b/patches/server/0193-Option-for-sponges-to-work-on-lava-and-mud.patch @@ -30,10 +30,10 @@ index 9201d911cf155aab7735600073426a0d4213f38b..4540d3a31ed89ea3684feeffb85a3916 if (!iblockdata.is(Blocks.KELP) && !iblockdata.is(Blocks.KELP_PLANT) && !iblockdata.is(Blocks.SEAGRASS) && !iblockdata.is(Blocks.TALL_SEAGRASS)) { return BlockPos.TraversalNodeStatus.SKIP; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2710709349c9d32b4b7e83bbb1cc9b1fde29310a..afad9ec6ea76ba66cad2f895ce04cc704e8d3235 100644 +index 4fa501f2d0e8f99b9b1aa112e8a4155c4a3ba652..c5964b249302a386bb878d1aa3f3ce2183e52361 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -964,9 +964,13 @@ public class PurpurWorldConfig { +@@ -966,9 +966,13 @@ public class PurpurWorldConfig { public int spongeAbsorptionArea = 65; public int spongeAbsorptionRadius = 6; diff --git a/patches/server/0194-Toggle-for-Wither-s-spawn-sound.patch b/patches/server/0194-Toggle-for-Wither-s-spawn-sound.patch index c1c2053e8f..1a91c81902 100644 --- a/patches/server/0194-Toggle-for-Wither-s-spawn-sound.patch +++ b/patches/server/0194-Toggle-for-Wither-s-spawn-sound.patch @@ -18,10 +18,10 @@ index 54100d5d9ed31fe292750e668f3c2ba9257f5ef3..6a85049919f0cdc7051d1789a951d9e3 // worldserver.globalLevelEvent(1023, new BlockPosition(this), 0); int viewDistance = world.getCraftServer().getViewDistance() * 16; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index afad9ec6ea76ba66cad2f895ce04cc704e8d3235..5ffcb25ea8c96c5087ece87a67802e25312cccc9 100644 +index c5964b249302a386bb878d1aa3f3ce2183e52361..810258f3c9b49e041db0349ecb8e54d589667e02 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2796,6 +2796,7 @@ public class PurpurWorldConfig { +@@ -2798,6 +2798,7 @@ public class PurpurWorldConfig { public boolean witherTakeDamageFromWater = false; public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; @@ -29,7 +29,7 @@ index afad9ec6ea76ba66cad2f895ce04cc704e8d3235..5ffcb25ea8c96c5087ece87a67802e25 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2818,6 +2819,7 @@ public class PurpurWorldConfig { +@@ -2820,6 +2821,7 @@ public class PurpurWorldConfig { witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius); diff --git a/patches/server/0195-Cactus-breaks-from-solid-neighbors-config.patch b/patches/server/0195-Cactus-breaks-from-solid-neighbors-config.patch index bcfa418ed6..51ac62c5f1 100644 --- a/patches/server/0195-Cactus-breaks-from-solid-neighbors-config.patch +++ b/patches/server/0195-Cactus-breaks-from-solid-neighbors-config.patch @@ -18,10 +18,10 @@ index c045b1cccf0047dbef8c04d5a28d31d53389054f..bbfd8f5d404d0add94f0d8ac89a29646 return false; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5ffcb25ea8c96c5087ece87a67802e25312cccc9..081a8a388b354210f3ea04e8a4b6428fc97a9d84 100644 +index 810258f3c9b49e041db0349ecb8e54d589667e02..72d2f15839d04b588e8f43d6a1f06680e7b3d9ee 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -805,6 +805,11 @@ public class PurpurWorldConfig { +@@ -807,6 +807,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0196-Config-to-remove-curse-of-binding-with-weakness.patch b/patches/server/0196-Config-to-remove-curse-of-binding-with-weakness.patch index ff850ba75e..f80ba5e244 100644 --- a/patches/server/0196-Config-to-remove-curse-of-binding-with-weakness.patch +++ b/patches/server/0196-Config-to-remove-curse-of-binding-with-weakness.patch @@ -18,10 +18,10 @@ index db7caaa2e77b9b98adac8add3040131c673c036b..262d9b2507d37edf0ed9c0821059e518 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 081a8a388b354210f3ea04e8a4b6428fc97a9d84..55d2c1729f639ef2bbb41e72ddd0945dd5662aaf 100644 +index 72d2f15839d04b588e8f43d6a1f06680e7b3d9ee..bb8f71030a2da27cc66820a032ffacf667c0d42b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -397,6 +397,7 @@ public class PurpurWorldConfig { +@@ -399,6 +399,7 @@ public class PurpurWorldConfig { public int playerBurpDelay = 10; public boolean playerBurpWhenFull = false; public boolean playerRidableInWater = false; @@ -29,7 +29,7 @@ index 081a8a388b354210f3ea04e8a4b6428fc97a9d84..55d2c1729f639ef2bbb41e72ddd0945d private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -420,6 +421,7 @@ public class PurpurWorldConfig { +@@ -422,6 +423,7 @@ public class PurpurWorldConfig { playerBurpDelay = getInt("gameplay-mechanics.player.burp-delay", playerBurpDelay); playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull); playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater); diff --git a/patches/server/0197-Conduit-behavior-configuration.patch b/patches/server/0197-Conduit-behavior-configuration.patch index 3cffc15461..b38fd0fbc5 100644 --- a/patches/server/0197-Conduit-behavior-configuration.patch +++ b/patches/server/0197-Conduit-behavior-configuration.patch @@ -97,10 +97,10 @@ index c1759aeb3e6ad0e4eb66cba3da1b120dd1dce812..1a91bc2e422db0eba65694ac046f1b36 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 55d2c1729f639ef2bbb41e72ddd0945dd5662aaf..d42047c0e5495a52d324eb6ec2f293bec4b6c472 100644 +index bb8f71030a2da27cc66820a032ffacf667c0d42b..69128f50386bc8a7f0b484493bc24cbc4544a9c1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -3030,4 +3030,27 @@ public class PurpurWorldConfig { +@@ -3032,4 +3032,27 @@ public class PurpurWorldConfig { private void hungerSettings() { hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage); } diff --git a/patches/server/0198-Cauldron-fill-chances.patch b/patches/server/0198-Cauldron-fill-chances.patch index 3daf2f1edc..efe9567239 100644 --- a/patches/server/0198-Cauldron-fill-chances.patch +++ b/patches/server/0198-Cauldron-fill-chances.patch @@ -47,10 +47,10 @@ index 53cea36ec931de89e0060613acf87beb51dc16ec..fd5489993dca0f940da69e9163f78e5c if (dripChance < f1) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d42047c0e5495a52d324eb6ec2f293bec4b6c472..7b9bf48039c457f95f23b4d0b80f095a65c55e22 100644 +index 69128f50386bc8a7f0b484493bc24cbc4544a9c1..e3130f456aa1d7e981018017cf3853bd027a41a1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -3053,4 +3053,15 @@ public class PurpurWorldConfig { +@@ -3055,4 +3055,15 @@ public class PurpurWorldConfig { }); conduitBlocks = conduitBlockList.toArray(Block[]::new); } diff --git a/patches/server/0200-Shulker-change-color-with-dye.patch b/patches/server/0200-Shulker-change-color-with-dye.patch index 52f0beba59..e22f5776f6 100644 --- a/patches/server/0200-Shulker-change-color-with-dye.patch +++ b/patches/server/0200-Shulker-change-color-with-dye.patch @@ -29,10 +29,10 @@ index 8464a8288f7ec7ae14e44b93607ebb0617790c46..837a251afd68b68c5f5f6ab940d62332 protected void registerGoals() { this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3cf70e3e79b581d97a0e76e88075600aaa2af7d4..cf0ca3f712e825898cda9ca0a8d6699195d6f26c 100644 +index 22ca0a30da56af326741fa000bedb37751a5b5fe..6eccd21195c648e8e59ac2e02616d004ce1f2dba 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2318,6 +2318,7 @@ public class PurpurWorldConfig { +@@ -2320,6 +2320,7 @@ public class PurpurWorldConfig { public double shulkerSpawnFromBulletNearbyRange = 8.0D; public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0"; public boolean shulkerSpawnFromBulletRandomColor = false; @@ -40,7 +40,7 @@ index 3cf70e3e79b581d97a0e76e88075600aaa2af7d4..cf0ca3f712e825898cda9ca0a8d66991 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2335,6 +2336,7 @@ public class PurpurWorldConfig { +@@ -2337,6 +2338,7 @@ public class PurpurWorldConfig { shulkerSpawnFromBulletNearbyRange = getDouble("mobs.shulker.spawn-from-bullet.nearby-range", shulkerSpawnFromBulletNearbyRange); shulkerSpawnFromBulletNearbyEquation = getString("mobs.shulker.spawn-from-bullet.nearby-equation", shulkerSpawnFromBulletNearbyEquation); shulkerSpawnFromBulletRandomColor = getBoolean("mobs.shulker.spawn-from-bullet.random-color", shulkerSpawnFromBulletRandomColor); diff --git a/patches/server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch b/patches/server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch index ba36507d78..67ff6edc3b 100644 --- a/patches/server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch +++ b/patches/server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch @@ -50,10 +50,10 @@ index 9bafac9b2c7b487f745fb64354f4bbc6a7ded468..1c34691da51d7f7ba3d54e095a3b58b7 .sound(SoundType.FLOWERING_AZALEA) .noOcclusion() diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 16d2dbafb996932dd99edbe6eea37c7036f4b77e..ea1314eb2ac0f8c1dd681b85951bcdd2cead1bf6 100644 +index c2b7e0ebcaf1f95bf496e703760ed2fa29438ed5..8fc61bd5ac93ea63d7ed01c34ef0dc971bb73290 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -765,6 +765,11 @@ public class PurpurWorldConfig { +@@ -767,6 +767,11 @@ public class PurpurWorldConfig { anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage); } @@ -65,7 +65,7 @@ index 16d2dbafb996932dd99edbe6eea37c7036f4b77e..ea1314eb2ac0f8c1dd681b85951bcdd2 public int beaconLevelOne = 20; public int beaconLevelTwo = 30; public int beaconLevelThree = 40; -@@ -902,6 +907,11 @@ public class PurpurWorldConfig { +@@ -904,6 +909,11 @@ public class PurpurWorldConfig { farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling); } diff --git a/patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch index 69bd0256bd..9988db3004 100644 --- a/patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch @@ -36,10 +36,10 @@ index 7315e604a2f9cb068eb5bbca744e44eeabac09c9..88eb3774f688bcff383efa7f113bd0b1 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 10757591f1318222f79ff4e3df4c59bacfc41dee..8d52446ddd452a62fa727469f2e191acba1b7d24 100644 +index c8cf05ac72a7b30e8d2239c4e07c9cc52d5990e2..be98cb1fa2ad79d41ebb6b6052b877253492174a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2153,6 +2153,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2156,6 +2156,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl boolean cancelled; if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) { @@ -48,10 +48,10 @@ index 10757591f1318222f79ff4e3df4c59bacfc41dee..8d52446ddd452a62fa727469f2e191ac cancelled = event.useItemInHand() == Event.Result.DENY; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ea1314eb2ac0f8c1dd681b85951bcdd2cead1bf6..e351feee5916492edebb92f9af47c87e582b239d 100644 +index 8fc61bd5ac93ea63d7ed01c34ef0dc971bb73290..fcc093edad7e4e79cd51dbbf1be13a3d13035fe1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -404,6 +404,7 @@ public class PurpurWorldConfig { +@@ -406,6 +406,7 @@ public class PurpurWorldConfig { public boolean playerBurpWhenFull = false; public boolean playerRidableInWater = false; public boolean playerRemoveBindingWithWeakness = false; @@ -59,7 +59,7 @@ index ea1314eb2ac0f8c1dd681b85951bcdd2cead1bf6..e351feee5916492edebb92f9af47c87e private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -428,6 +429,7 @@ public class PurpurWorldConfig { +@@ -430,6 +431,7 @@ public class PurpurWorldConfig { playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull); playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater); playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness); diff --git a/patches/server/0206-Dolphins-naturally-aggressive-to-players-chance.patch b/patches/server/0206-Dolphins-naturally-aggressive-to-players-chance.patch index b12f651bab..c85bb75722 100644 --- a/patches/server/0206-Dolphins-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0206-Dolphins-naturally-aggressive-to-players-chance.patch @@ -48,10 +48,10 @@ index bcc6435c177189aa59a3fbe67795ae5092685133..fad0b8157a9c30a0e9b35fe32b6a9f2e public static AttributeSupplier.Builder createAttributes() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e351feee5916492edebb92f9af47c87e582b239d..2fd6f601524f8fc748be73a38edf4df06c5e9459 100644 +index fcc093edad7e4e79cd51dbbf1be13a3d13035fe1..f15373de0dda4bfc318891beaaf995469a83ba06 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1358,6 +1358,7 @@ public class PurpurWorldConfig { +@@ -1360,6 +1360,7 @@ public class PurpurWorldConfig { public double dolphinScale = 1.0D; public boolean dolphinDisableTreasureSearching = false; public boolean dolphinTakeDamageFromWater = false; @@ -59,7 +59,7 @@ index e351feee5916492edebb92f9af47c87e582b239d..2fd6f601524f8fc748be73a38edf4df0 private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -1373,6 +1374,7 @@ public class PurpurWorldConfig { +@@ -1375,6 +1376,7 @@ public class PurpurWorldConfig { dolphinScale = Mth.clamp(getDouble("mobs.dolphin.attributes.scale", dolphinScale), 0.0625D, 16.0D); dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching); dolphinTakeDamageFromWater = getBoolean("mobs.dolphin.takes-damage-from-water", dolphinTakeDamageFromWater); diff --git a/patches/server/0207-Cows-naturally-aggressive-to-players-chance.patch b/patches/server/0207-Cows-naturally-aggressive-to-players-chance.patch index 2f132fc44b..373894d735 100644 --- a/patches/server/0207-Cows-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0207-Cows-naturally-aggressive-to-players-chance.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Cows naturally aggressive to players chance diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java -index 4ad3571403ee8044d17f53987bd47b6c43d42f0e..380bd41336d8d24bffd4e10885e46c95e5bb71fd 100644 +index 2b887a05cbf43a53869c740aa9df7bc75048de05..7ff6425276c7c9004caeee46f1138287ef5e5b64 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cow.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java @@ -37,6 +37,7 @@ import org.bukkit.event.player.PlayerBucketFillEvent; @@ -61,10 +61,10 @@ index 4ad3571403ee8044d17f53987bd47b6c43d42f0e..380bd41336d8d24bffd4e10885e46c95 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2fd6f601524f8fc748be73a38edf4df06c5e9459..26c7ccd547430f04dad6495ba7db5be5c0349a8f 100644 +index f15373de0dda4bfc318891beaaf995469a83ba06..de5d1c49f39cd1224bf52aae2f55e163feee96dc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1290,7 +1290,14 @@ public class PurpurWorldConfig { +@@ -1292,7 +1292,14 @@ public class PurpurWorldConfig { public int cowFeedMushrooms = 0; public int cowBreedingTicks = 6000; public boolean cowTakeDamageFromWater = false; @@ -79,7 +79,7 @@ index 2fd6f601524f8fc748be73a38edf4df06c5e9459..26c7ccd547430f04dad6495ba7db5be5 cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); cowControllable = getBoolean("mobs.cow.controllable", cowControllable); -@@ -1304,6 +1311,8 @@ public class PurpurWorldConfig { +@@ -1306,6 +1313,8 @@ public class PurpurWorldConfig { cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks); cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater); diff --git a/patches/server/0208-Option-for-beds-to-explode-on-villager-sleep.patch b/patches/server/0208-Option-for-beds-to-explode-on-villager-sleep.patch index 73d5054867..40a151d2d7 100644 --- a/patches/server/0208-Option-for-beds-to-explode-on-villager-sleep.patch +++ b/patches/server/0208-Option-for-beds-to-explode-on-villager-sleep.patch @@ -22,10 +22,10 @@ index 5a522d73d41f9aa3977807173d7e34c057a37c7a..373d00fce9e8bcb8d9a8d3e8a05987cf this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level().getGameTime()); // CraftBukkit - decompile error this.brain.eraseMemory(MemoryModuleType.WALK_TARGET); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 26c7ccd547430f04dad6495ba7db5be5c0349a8f..efecfd2379d5e955d78c48fb9771197f52263fd6 100644 +index de5d1c49f39cd1224bf52aae2f55e163feee96dc..b8e8f2dd0405f91bdda94cdb9bdae57f07486c41 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -784,6 +784,7 @@ public class PurpurWorldConfig { +@@ -786,6 +786,7 @@ public class PurpurWorldConfig { } public boolean bedExplode = true; @@ -33,7 +33,7 @@ index 26c7ccd547430f04dad6495ba7db5be5c0349a8f..efecfd2379d5e955d78c48fb9771197f public double bedExplosionPower = 5.0D; public boolean bedExplosionFire = true; public net.minecraft.world.level.Level.ExplosionInteraction bedExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; -@@ -794,6 +795,7 @@ public class PurpurWorldConfig { +@@ -796,6 +797,7 @@ public class PurpurWorldConfig { } } bedExplode = getBoolean("blocks.bed.explode", bedExplode); diff --git a/patches/server/0209-Halloween-options-and-optimizations.patch b/patches/server/0209-Halloween-options-and-optimizations.patch index a76e57bca8..54db4aa121 100644 --- a/patches/server/0209-Halloween-options-and-optimizations.patch +++ b/patches/server/0209-Halloween-options-and-optimizations.patch @@ -60,10 +60,10 @@ index b34dec421adc3ce56c0720a839a43ce42faeefaf..98e7b57a45ae3cae704c65ec6db5f715 this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index efecfd2379d5e955d78c48fb9771197f52263fd6..8c2fa8ef4630f69998cb8e893a94a6470b035506 100644 +index b8e8f2dd0405f91bdda94cdb9bdae57f07486c41..a783b9cbe2f76f91fc85e514464e078e0dff23ba 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1721,6 +1721,13 @@ public class PurpurWorldConfig { +@@ -1723,6 +1723,13 @@ public class PurpurWorldConfig { guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater); } diff --git a/patches/server/0212-Campfire-option-for-lit-when-placed.patch b/patches/server/0212-Campfire-option-for-lit-when-placed.patch index 1cdfa0ba6a..7b348abbfa 100644 --- a/patches/server/0212-Campfire-option-for-lit-when-placed.patch +++ b/patches/server/0212-Campfire-option-for-lit-when-placed.patch @@ -18,10 +18,10 @@ index 1b94f26e78db062f80d806b82f714a815b4710ff..299d782c4e84d8548f2faddfb03712ba @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8c2fa8ef4630f69998cb8e893a94a6470b035506..a5c9410c9ef3747004b09adac38ff54d63d0ec97 100644 +index a783b9cbe2f76f91fc85e514464e078e0dff23ba..ad639c2dfe6f74039387c23b214c2d85e0e8fcdd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -827,6 +827,11 @@ public class PurpurWorldConfig { +@@ -829,6 +829,11 @@ public class PurpurWorldConfig { cactusBreaksFromSolidNeighbors = getBoolean("blocks.cactus.breaks-from-solid-neighbors", cactusBreaksFromSolidNeighbors); } diff --git a/patches/server/0213-options-to-extinguish-fire-blocks-with-snowballs.patch b/patches/server/0213-options-to-extinguish-fire-blocks-with-snowballs.patch index 6217bcf362..e5a9573abe 100644 --- a/patches/server/0213-options-to-extinguish-fire-blocks-with-snowballs.patch +++ b/patches/server/0213-options-to-extinguish-fire-blocks-with-snowballs.patch @@ -46,10 +46,10 @@ index f712963fcd80535eee2bd04ec55ae1abdadef2bd..6fdacf2f6934521a0dd4b25aea35a6a1 protected void onHit(HitResult hitResult) { super.onHit(hitResult); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a5c9410c9ef3747004b09adac38ff54d63d0ec97..e3428e00f2b28bf2ec6aaed4de33905f25d0b68d 100644 +index ad639c2dfe6f74039387c23b214c2d85e0e8fcdd..23c0edd4a38f47335c492742c9a9accf5feb044c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -224,6 +224,9 @@ public class PurpurWorldConfig { +@@ -225,6 +225,9 @@ public class PurpurWorldConfig { public int glowBerriesEatGlowDuration = 0; public boolean shulkerBoxItemDropContentsWhenDestroyed = true; public boolean compassItemShowsBossBar = false; @@ -59,7 +59,7 @@ index a5c9410c9ef3747004b09adac38ff54d63d0ec97..e3428e00f2b28bf2ec6aaed4de33905f private void itemSettings() { itemImmuneToCactus.clear(); getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { -@@ -272,6 +275,9 @@ public class PurpurWorldConfig { +@@ -274,6 +277,9 @@ public class PurpurWorldConfig { glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration); shulkerBoxItemDropContentsWhenDestroyed = getBoolean("gameplay-mechanics.item.shulker_box.drop-contents-when-destroyed", shulkerBoxItemDropContentsWhenDestroyed); compassItemShowsBossBar = getBoolean("gameplay-mechanics.item.compass.holding-shows-bossbar", compassItemShowsBossBar); diff --git a/patches/server/0214-Add-option-to-disable-zombie-villagers-cure.patch b/patches/server/0214-Add-option-to-disable-zombie-villagers-cure.patch index 2950f8a0b8..2df9b073dc 100644 --- a/patches/server/0214-Add-option-to-disable-zombie-villagers-cure.patch +++ b/patches/server/0214-Add-option-to-disable-zombie-villagers-cure.patch @@ -18,10 +18,10 @@ index 811c5c4bc98401bc9314894eb5cb64bf31b03f63..624b19d415dab0c864b96edf4a706347 if (!this.level().isClientSide) { this.startConverting(player.getUUID(), this.random.nextInt(level().purpurConfig.zombieVillagerCuringTimeMax - level().purpurConfig.zombieVillagerCuringTimeMin + 1) + level().purpurConfig.zombieVillagerCuringTimeMin); // Purpur diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e3428e00f2b28bf2ec6aaed4de33905f25d0b68d..750e2e857c30b3bf9ae02bf038b26fd74246ce51 100644 +index 23c0edd4a38f47335c492742c9a9accf5feb044c..84d7034b5674fd855835bf97ac33fa3c8294f85b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -3027,6 +3027,7 @@ public class PurpurWorldConfig { +@@ -3029,6 +3029,7 @@ public class PurpurWorldConfig { public boolean zombieVillagerTakeDamageFromWater = false; public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; @@ -29,7 +29,7 @@ index e3428e00f2b28bf2ec6aaed4de33905f25d0b68d..750e2e857c30b3bf9ae02bf038b26fd7 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -3045,6 +3046,7 @@ public class PurpurWorldConfig { +@@ -3047,6 +3048,7 @@ public class PurpurWorldConfig { zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater); zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin); zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax); diff --git a/patches/server/0216-Signs-allow-color-codes.patch b/patches/server/0216-Signs-allow-color-codes.patch index c24127b854..1ff3defece 100644 --- a/patches/server/0216-Signs-allow-color-codes.patch +++ b/patches/server/0216-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 ed1d75fdee29ac92d71f219af79eb7fc5ae99099..7e785394de3db56e5d0fd8bea5edf5df9fa129fa 100644 +index a8994b1edcc82d15afbe11d12a6a8a0a00c76143..5d7e539d0baaddffe1bd4660b3552887dfacca5f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1959,6 +1959,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -84,10 +84,10 @@ index 7a1d9a718dc57b5f630ca8e5358120cebaeefb9c..b51b0b0f48b1da6187387d6ec025681e public ClientboundBlockEntityDataPacket getUpdatePacket() { return ClientboundBlockEntityDataPacket.create(this); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 70807e2540ac7f7d376df9b41b0b4e5fd3092d60..b9b47cd429c73c856d6ecd9d48fe0c46cee7330d 100644 +index a61c0a67996ae71e2cfde8e8bafaa49bd18cbf22..0f02d924d8b8fd939e268923d234d50c3e406ca9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1000,6 +1000,11 @@ public class PurpurWorldConfig { +@@ -1002,6 +1002,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0218-Mobs-always-drop-experience.patch b/patches/server/0218-Mobs-always-drop-experience.patch index 2c18bfc34b..ab56b09da2 100644 --- a/patches/server/0218-Mobs-always-drop-experience.patch +++ b/patches/server/0218-Mobs-always-drop-experience.patch @@ -37,7 +37,7 @@ index 7b773edc6fa661e75964a80dcb6820d1b5def54d..c8ffbbccbf20ce911a3d75fa860d5a14 public void readAdditionalSaveData(CompoundTag nbt) { super.readAdditionalSaveData(nbt); diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index ea5559e6f536ab823f987ce57fc01d6dab26314d..8e2b71d7fe766261cfa539e9f18fede83958408f 100644 +index 7804911f296991c15b40d75e51f27b4e30a53245..e2c6691ecca79df5828e6136568933b41ba5e1fa 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java @@ -505,6 +505,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @@ -101,7 +101,7 @@ index 2343325fa9a771de7b9445cda24a2bcd7a7c1761..f0b6118a9995bb41836685bbf94d2e7f public ItemStack getBucketItemStack() { return new ItemStack(Items.COD_BUCKET); diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java -index 380bd41336d8d24bffd4e10885e46c95e5bb71fd..6b517deec01445de4205eedb1557995a92d3ae67 100644 +index 7ff6425276c7c9004caeee46f1138287ef5e5b64..51b4314cdba44146871aa8646ab6fa41051b5265 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cow.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java @@ -85,6 +85,11 @@ public class Cow extends Animal { @@ -341,7 +341,7 @@ index f445a96eb3991410103225d1b9289261399182ff..13eecc676e33623e776d32495969f111 protected void registerGoals() { this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java -index 34647054fe2fce16bc9b31d8af374079fd932c5c..da04ee901ad77637ee2c28a9a96f481affcce808 100644 +index 10a4d74dadf5b23bcb9e75d0e0aa221409483790..b59556e6429a25a0725b6f1102248ec669722c6b 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Squid.java +++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java @@ -98,6 +98,11 @@ public class Squid extends AgeableWaterCreature { @@ -389,7 +389,7 @@ index 96a6f13fe6ea02412974fd4c8cf015467ef8e02c..c9e307452a097329c26893673055cfb7 this.entityData.set(Turtle.HOME_POS, pos); } diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -index cbc28ca0d359f64bf583e9a1134bc18363e516ec..53c4a71d6611a7fab0920157d441e1c3cef69d07 100644 +index be949279dabeabee6b6b24910d82bee73a194a83..15b655fa1d483e8e4154b7cdbb5338f134ab1741 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java @@ -223,6 +223,11 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder magmaCubeMaxHealthCache = new HashMap<>(); public Map magmaCubeAttackDamageCache = new HashMap<>(); public boolean magmaCubeTakeDamageFromWater = false; @@ -1632,7 +1632,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void magmaCubeSettings() { magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable); magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater); -@@ -1942,6 +2001,7 @@ public class PurpurWorldConfig { +@@ -1944,6 +2003,7 @@ public class PurpurWorldConfig { magmaCubeMaxHealthCache.clear(); magmaCubeAttackDamageCache.clear(); magmaCubeTakeDamageFromWater = getBoolean("mobs.magma_cube.takes-damage-from-water", magmaCubeTakeDamageFromWater); @@ -1640,7 +1640,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean mooshroomRidable = false; -@@ -1951,6 +2011,7 @@ public class PurpurWorldConfig { +@@ -1953,6 +2013,7 @@ public class PurpurWorldConfig { public double mooshroomScale = 1.0D; public int mooshroomBreedingTicks = 6000; public boolean mooshroomTakeDamageFromWater = false; @@ -1648,7 +1648,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1964,6 +2025,7 @@ public class PurpurWorldConfig { +@@ -1966,6 +2027,7 @@ public class PurpurWorldConfig { mooshroomScale = Mth.clamp(getDouble("mobs.mooshroom.attributes.scale", mooshroomScale), 0.0625D, 16.0D); mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks); mooshroomTakeDamageFromWater = getBoolean("mobs.mooshroom.takes-damage-from-water", mooshroomTakeDamageFromWater); @@ -1656,7 +1656,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean muleRidableInWater = false; -@@ -1975,6 +2037,7 @@ public class PurpurWorldConfig { +@@ -1977,6 +2039,7 @@ public class PurpurWorldConfig { public double muleMovementSpeedMax = 0.175D; public int muleBreedingTicks = 6000; public boolean muleTakeDamageFromWater = false; @@ -1664,7 +1664,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1992,6 +2055,7 @@ public class PurpurWorldConfig { +@@ -1994,6 +2057,7 @@ public class PurpurWorldConfig { muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks); muleTakeDamageFromWater = getBoolean("mobs.mule.takes-damage-from-water", muleTakeDamageFromWater); @@ -1672,7 +1672,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean ocelotRidable = false; -@@ -2001,6 +2065,7 @@ public class PurpurWorldConfig { +@@ -2003,6 +2067,7 @@ public class PurpurWorldConfig { public double ocelotScale = 1.0D; public int ocelotBreedingTicks = 6000; public boolean ocelotTakeDamageFromWater = false; @@ -1680,7 +1680,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -2014,6 +2079,7 @@ public class PurpurWorldConfig { +@@ -2016,6 +2081,7 @@ public class PurpurWorldConfig { ocelotScale = Mth.clamp(getDouble("mobs.ocelot.attributes.scale", ocelotScale), 0.0625D, 16.0D); ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks); ocelotTakeDamageFromWater = getBoolean("mobs.ocelot.takes-damage-from-water", ocelotTakeDamageFromWater); @@ -1688,7 +1688,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean pandaRidable = false; -@@ -2023,6 +2089,7 @@ public class PurpurWorldConfig { +@@ -2025,6 +2091,7 @@ public class PurpurWorldConfig { public double pandaScale = 1.0D; public int pandaBreedingTicks = 6000; public boolean pandaTakeDamageFromWater = false; @@ -1696,7 +1696,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -2036,6 +2103,7 @@ public class PurpurWorldConfig { +@@ -2038,6 +2105,7 @@ public class PurpurWorldConfig { pandaScale = Mth.clamp(getDouble("mobs.panda.attributes.scale", pandaScale), 0.0625D, 16.0D); pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks); pandaTakeDamageFromWater = getBoolean("mobs.panda.takes-damage-from-water", pandaTakeDamageFromWater); @@ -1704,7 +1704,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean parrotRidable = false; -@@ -2046,6 +2114,7 @@ public class PurpurWorldConfig { +@@ -2048,6 +2116,7 @@ public class PurpurWorldConfig { public double parrotScale = 1.0D; public boolean parrotTakeDamageFromWater = false; public boolean parrotBreedable = false; @@ -1712,7 +1712,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -2060,6 +2129,7 @@ public class PurpurWorldConfig { +@@ -2062,6 +2131,7 @@ public class PurpurWorldConfig { parrotScale = Mth.clamp(getDouble("mobs.parrot.attributes.scale", parrotScale), 0.0625D, 16.0D); parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater); parrotBreedable = getBoolean("mobs.parrot.can-breed", parrotBreedable); @@ -1720,7 +1720,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean phantomRidable = false; -@@ -2087,6 +2157,7 @@ public class PurpurWorldConfig { +@@ -2089,6 +2159,7 @@ public class PurpurWorldConfig { public boolean phantomBurnInDaylight = true; public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; @@ -1728,7 +1728,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -2122,6 +2193,7 @@ public class PurpurWorldConfig { +@@ -2124,6 +2195,7 @@ public class PurpurWorldConfig { phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop); phantomTakeDamageFromWater = getBoolean("mobs.phantom.takes-damage-from-water", phantomTakeDamageFromWater); @@ -1736,7 +1736,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean pigRidable = false; -@@ -2132,6 +2204,7 @@ public class PurpurWorldConfig { +@@ -2134,6 +2206,7 @@ public class PurpurWorldConfig { public boolean pigGiveSaddleBack = false; public int pigBreedingTicks = 6000; public boolean pigTakeDamageFromWater = false; @@ -1744,7 +1744,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -2146,6 +2219,7 @@ public class PurpurWorldConfig { +@@ -2148,6 +2221,7 @@ public class PurpurWorldConfig { pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks); pigTakeDamageFromWater = getBoolean("mobs.pig.takes-damage-from-water", pigTakeDamageFromWater); @@ -1752,7 +1752,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean piglinRidable = false; -@@ -2156,6 +2230,7 @@ public class PurpurWorldConfig { +@@ -2158,6 +2232,7 @@ public class PurpurWorldConfig { public boolean piglinBypassMobGriefing = false; public boolean piglinTakeDamageFromWater = false; public int piglinPortalSpawnModifier = 2000; @@ -1760,7 +1760,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2170,6 +2245,7 @@ public class PurpurWorldConfig { +@@ -2172,6 +2247,7 @@ public class PurpurWorldConfig { piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater); piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier); @@ -1768,7 +1768,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean piglinBruteRidable = false; -@@ -2178,6 +2254,7 @@ public class PurpurWorldConfig { +@@ -2180,6 +2256,7 @@ public class PurpurWorldConfig { public double piglinBruteMaxHealth = 50.0D; public double piglinBruteScale = 1.0D; public boolean piglinBruteTakeDamageFromWater = false; @@ -1776,7 +1776,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void piglinBruteSettings() { piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable); piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater); -@@ -2190,6 +2267,7 @@ public class PurpurWorldConfig { +@@ -2192,6 +2269,7 @@ public class PurpurWorldConfig { piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth); piglinBruteScale = Mth.clamp(getDouble("mobs.piglin_brute.attributes.scale", piglinBruteScale), 0.0625D, 16.0D); piglinBruteTakeDamageFromWater = getBoolean("mobs.piglin_brute.takes-damage-from-water", piglinBruteTakeDamageFromWater); @@ -1784,7 +1784,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean pillagerRidable = false; -@@ -2199,6 +2277,7 @@ public class PurpurWorldConfig { +@@ -2201,6 +2279,7 @@ public class PurpurWorldConfig { public double pillagerScale = 1.0D; public boolean pillagerBypassMobGriefing = false; public boolean pillagerTakeDamageFromWater = false; @@ -1792,7 +1792,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -2212,6 +2291,7 @@ public class PurpurWorldConfig { +@@ -2214,6 +2293,7 @@ public class PurpurWorldConfig { pillagerScale = Mth.clamp(getDouble("mobs.pillager.attributes.scale", pillagerScale), 0.0625D, 16.0D); pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing); pillagerTakeDamageFromWater = getBoolean("mobs.pillager.takes-damage-from-water", pillagerTakeDamageFromWater); @@ -1800,7 +1800,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean polarBearRidable = false; -@@ -2223,6 +2303,7 @@ public class PurpurWorldConfig { +@@ -2225,6 +2305,7 @@ public class PurpurWorldConfig { public Item polarBearBreedableItem = null; public int polarBearBreedingTicks = 6000; public boolean polarBearTakeDamageFromWater = false; @@ -1808,7 +1808,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -2239,6 +2320,7 @@ public class PurpurWorldConfig { +@@ -2241,6 +2322,7 @@ public class PurpurWorldConfig { if (item != Items.AIR) polarBearBreedableItem = item; polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks); polarBearTakeDamageFromWater = getBoolean("mobs.polar_bear.takes-damage-from-water", polarBearTakeDamageFromWater); @@ -1816,7 +1816,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean pufferfishRidable = false; -@@ -2246,6 +2328,7 @@ public class PurpurWorldConfig { +@@ -2248,6 +2330,7 @@ public class PurpurWorldConfig { public double pufferfishMaxHealth = 3.0D; public double pufferfishScale = 1.0D; public boolean pufferfishTakeDamageFromWater = false; @@ -1824,7 +1824,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void pufferfishSettings() { pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable); pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable); -@@ -2257,6 +2340,7 @@ public class PurpurWorldConfig { +@@ -2259,6 +2342,7 @@ public class PurpurWorldConfig { pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth); pufferfishScale = Mth.clamp(getDouble("mobs.pufferfish.attributes.scale", pufferfishScale), 0.0625D, 16.0D); pufferfishTakeDamageFromWater = getBoolean("mobs.pufferfish.takes-damage-from-water", pufferfishTakeDamageFromWater); @@ -1832,7 +1832,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean rabbitRidable = false; -@@ -2269,6 +2353,7 @@ public class PurpurWorldConfig { +@@ -2271,6 +2355,7 @@ public class PurpurWorldConfig { public int rabbitBreedingTicks = 6000; public boolean rabbitBypassMobGriefing = false; public boolean rabbitTakeDamageFromWater = false; @@ -1840,7 +1840,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -2285,6 +2370,7 @@ public class PurpurWorldConfig { +@@ -2287,6 +2372,7 @@ public class PurpurWorldConfig { rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); rabbitBypassMobGriefing = getBoolean("mobs.rabbit.bypass-mob-griefing", rabbitBypassMobGriefing); rabbitTakeDamageFromWater = getBoolean("mobs.rabbit.takes-damage-from-water", rabbitTakeDamageFromWater); @@ -1848,7 +1848,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean ravagerRidable = false; -@@ -2295,6 +2381,7 @@ public class PurpurWorldConfig { +@@ -2297,6 +2383,7 @@ public class PurpurWorldConfig { public boolean ravagerBypassMobGriefing = false; public boolean ravagerTakeDamageFromWater = false; public List ravagerGriefableBlocks = new ArrayList<>(); @@ -1856,7 +1856,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -2325,6 +2412,7 @@ public class PurpurWorldConfig { +@@ -2327,6 +2414,7 @@ public class PurpurWorldConfig { ravagerGriefableBlocks.add(block); } }); @@ -1864,7 +1864,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean salmonRidable = false; -@@ -2332,6 +2420,7 @@ public class PurpurWorldConfig { +@@ -2334,6 +2422,7 @@ public class PurpurWorldConfig { public double salmonMaxHealth = 3.0D; public double salmonScale = 1.0D; public boolean salmonTakeDamageFromWater = false; @@ -1872,7 +1872,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void salmonSettings() { salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable); salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable); -@@ -2343,6 +2432,7 @@ public class PurpurWorldConfig { +@@ -2345,6 +2434,7 @@ public class PurpurWorldConfig { salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth); salmonScale = Mth.clamp(getDouble("mobs.salmon.attributes.scale", salmonScale), 0.0625D, 16.0D); salmonTakeDamageFromWater = getBoolean("mobs.salmon.takes-damage-from-water", salmonTakeDamageFromWater); @@ -1880,7 +1880,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean sheepRidable = false; -@@ -2353,6 +2443,7 @@ public class PurpurWorldConfig { +@@ -2355,6 +2445,7 @@ public class PurpurWorldConfig { public int sheepBreedingTicks = 6000; public boolean sheepBypassMobGriefing = false; public boolean sheepTakeDamageFromWater = false; @@ -1888,7 +1888,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -2367,6 +2458,7 @@ public class PurpurWorldConfig { +@@ -2369,6 +2460,7 @@ public class PurpurWorldConfig { sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing); sheepTakeDamageFromWater = getBoolean("mobs.sheep.takes-damage-from-water", sheepTakeDamageFromWater); @@ -1896,7 +1896,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean shulkerRidable = false; -@@ -2381,6 +2473,7 @@ public class PurpurWorldConfig { +@@ -2383,6 +2475,7 @@ public class PurpurWorldConfig { public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0"; public boolean shulkerSpawnFromBulletRandomColor = false; public boolean shulkerChangeColorWithDye = false; @@ -1904,7 +1904,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2399,6 +2492,7 @@ public class PurpurWorldConfig { +@@ -2401,6 +2494,7 @@ public class PurpurWorldConfig { shulkerSpawnFromBulletNearbyEquation = getString("mobs.shulker.spawn-from-bullet.nearby-equation", shulkerSpawnFromBulletNearbyEquation); shulkerSpawnFromBulletRandomColor = getBoolean("mobs.shulker.spawn-from-bullet.random-color", shulkerSpawnFromBulletRandomColor); shulkerChangeColorWithDye = getBoolean("mobs.shulker.change-color-with-dye", shulkerChangeColorWithDye); @@ -1912,7 +1912,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean silverfishRidable = false; -@@ -2410,6 +2504,7 @@ public class PurpurWorldConfig { +@@ -2412,6 +2506,7 @@ public class PurpurWorldConfig { public double silverfishAttackDamage = 1.0D; public boolean silverfishBypassMobGriefing = false; public boolean silverfishTakeDamageFromWater = false; @@ -1920,7 +1920,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -2425,6 +2520,7 @@ public class PurpurWorldConfig { +@@ -2427,6 +2522,7 @@ public class PurpurWorldConfig { silverfishAttackDamage = getDouble("mobs.silverfish.attributes.attack_damage", silverfishAttackDamage); silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing); silverfishTakeDamageFromWater = getBoolean("mobs.silverfish.takes-damage-from-water", silverfishTakeDamageFromWater); @@ -1928,7 +1928,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean skeletonRidable = false; -@@ -2433,6 +2529,7 @@ public class PurpurWorldConfig { +@@ -2435,6 +2531,7 @@ public class PurpurWorldConfig { public double skeletonMaxHealth = 20.0D; public double skeletonScale = 1.0D; public boolean skeletonTakeDamageFromWater = false; @@ -1936,7 +1936,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2445,6 +2542,7 @@ public class PurpurWorldConfig { +@@ -2447,6 +2544,7 @@ public class PurpurWorldConfig { skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth); skeletonScale = Mth.clamp(getDouble("mobs.skeleton.attributes.scale", skeletonScale), 0.0625D, 16.0D); skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater); @@ -1944,7 +1944,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean skeletonHorseRidable = false; -@@ -2457,6 +2555,7 @@ public class PurpurWorldConfig { +@@ -2459,6 +2557,7 @@ public class PurpurWorldConfig { public double skeletonHorseMovementSpeedMin = 0.2D; public double skeletonHorseMovementSpeedMax = 0.2D; public boolean skeletonHorseTakeDamageFromWater = false; @@ -1952,7 +1952,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void skeletonHorseSettings() { skeletonHorseRidable = getBoolean("mobs.skeleton_horse.ridable", skeletonHorseRidable); skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater); -@@ -2474,6 +2573,7 @@ public class PurpurWorldConfig { +@@ -2476,6 +2575,7 @@ public class PurpurWorldConfig { skeletonHorseMovementSpeedMin = getDouble("mobs.skeleton_horse.attributes.movement_speed.min", skeletonHorseMovementSpeedMin); skeletonHorseMovementSpeedMax = getDouble("mobs.skeleton_horse.attributes.movement_speed.max", skeletonHorseMovementSpeedMax); skeletonHorseTakeDamageFromWater = getBoolean("mobs.skeleton_horse.takes-damage-from-water", skeletonHorseTakeDamageFromWater); @@ -1960,7 +1960,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean slimeRidable = false; -@@ -2484,6 +2584,7 @@ public class PurpurWorldConfig { +@@ -2486,6 +2586,7 @@ public class PurpurWorldConfig { public Map slimeMaxHealthCache = new HashMap<>(); public Map slimeAttackDamageCache = new HashMap<>(); public boolean slimeTakeDamageFromWater = false; @@ -1968,7 +1968,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void slimeSettings() { slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable); slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater); -@@ -2498,6 +2599,7 @@ public class PurpurWorldConfig { +@@ -2500,6 +2601,7 @@ public class PurpurWorldConfig { slimeMaxHealthCache.clear(); slimeAttackDamageCache.clear(); slimeTakeDamageFromWater = getBoolean("mobs.slime.takes-damage-from-water", slimeTakeDamageFromWater); @@ -1976,7 +1976,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean snowGolemRidable = false; -@@ -2513,6 +2615,7 @@ public class PurpurWorldConfig { +@@ -2515,6 +2617,7 @@ public class PurpurWorldConfig { public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; public boolean snowGolemTakeDamageFromWater = true; @@ -1984,7 +1984,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -2532,6 +2635,7 @@ public class PurpurWorldConfig { +@@ -2534,6 +2637,7 @@ public class PurpurWorldConfig { snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance); snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing); snowGolemTakeDamageFromWater = getBoolean("mobs.snow_golem.takes-damage-from-water", snowGolemTakeDamageFromWater); @@ -1992,7 +1992,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean snifferRidable = false; -@@ -2557,6 +2661,7 @@ public class PurpurWorldConfig { +@@ -2559,6 +2663,7 @@ public class PurpurWorldConfig { public double squidOffsetWaterCheck = 0.0D; public boolean squidsCanFly = false; public boolean squidTakeDamageFromWater = false; @@ -2000,7 +2000,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -2571,6 +2676,7 @@ public class PurpurWorldConfig { +@@ -2573,6 +2678,7 @@ public class PurpurWorldConfig { squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly); squidTakeDamageFromWater = getBoolean("mobs.squid.takes-damage-from-water", squidTakeDamageFromWater); @@ -2008,7 +2008,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean spiderRidable = false; -@@ -2579,6 +2685,7 @@ public class PurpurWorldConfig { +@@ -2581,6 +2687,7 @@ public class PurpurWorldConfig { public double spiderMaxHealth = 16.0D; public double spiderScale = 1.0D; public boolean spiderTakeDamageFromWater = false; @@ -2016,7 +2016,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -2591,6 +2698,7 @@ public class PurpurWorldConfig { +@@ -2593,6 +2700,7 @@ public class PurpurWorldConfig { spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth); spiderScale = Mth.clamp(getDouble("mobs.spider.attributes.scale", spiderScale), 0.0625D, 16.0D); spiderTakeDamageFromWater = getBoolean("mobs.spider.takes-damage-from-water", spiderTakeDamageFromWater); @@ -2024,7 +2024,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean strayRidable = false; -@@ -2599,6 +2707,7 @@ public class PurpurWorldConfig { +@@ -2601,6 +2709,7 @@ public class PurpurWorldConfig { public double strayMaxHealth = 20.0D; public double strayScale = 1.0D; public boolean strayTakeDamageFromWater = false; @@ -2032,7 +2032,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void straySettings() { strayRidable = getBoolean("mobs.stray.ridable", strayRidable); strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater); -@@ -2611,6 +2720,7 @@ public class PurpurWorldConfig { +@@ -2613,6 +2722,7 @@ public class PurpurWorldConfig { strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth); strayScale = Mth.clamp(getDouble("mobs.stray.attributes.scale", strayScale), 0.0625D, 16.0D); strayTakeDamageFromWater = getBoolean("mobs.stray.takes-damage-from-water", strayTakeDamageFromWater); @@ -2040,7 +2040,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean striderRidable = false; -@@ -2621,6 +2731,7 @@ public class PurpurWorldConfig { +@@ -2623,6 +2733,7 @@ public class PurpurWorldConfig { public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; public boolean striderTakeDamageFromWater = true; @@ -2048,7 +2048,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -2635,6 +2746,7 @@ public class PurpurWorldConfig { +@@ -2637,6 +2748,7 @@ public class PurpurWorldConfig { striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack); striderTakeDamageFromWater = getBoolean("mobs.strider.takes-damage-from-water", striderTakeDamageFromWater); @@ -2056,7 +2056,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean tadpoleRidable = false; -@@ -2657,6 +2769,7 @@ public class PurpurWorldConfig { +@@ -2659,6 +2771,7 @@ public class PurpurWorldConfig { public double traderLlamaMovementSpeedMax = 0.175D; public int traderLlamaBreedingTicks = 6000; public boolean traderLlamaTakeDamageFromWater = false; @@ -2064,7 +2064,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -2676,6 +2789,7 @@ public class PurpurWorldConfig { +@@ -2678,6 +2791,7 @@ public class PurpurWorldConfig { traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks); traderLlamaTakeDamageFromWater = getBoolean("mobs.trader_llama.takes-damage-from-water", traderLlamaTakeDamageFromWater); @@ -2072,7 +2072,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean tropicalFishRidable = false; -@@ -2683,6 +2797,7 @@ public class PurpurWorldConfig { +@@ -2685,6 +2799,7 @@ public class PurpurWorldConfig { public double tropicalFishMaxHealth = 3.0D; public double tropicalFishScale = 1.0D; public boolean tropicalFishTakeDamageFromWater = false; @@ -2080,7 +2080,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void tropicalFishSettings() { tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable); -@@ -2694,6 +2809,7 @@ public class PurpurWorldConfig { +@@ -2696,6 +2811,7 @@ public class PurpurWorldConfig { tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth); tropicalFishScale = Mth.clamp(getDouble("mobs.tropical_fish.attributes.scale", tropicalFishScale), 0.0625D, 16.0D); tropicalFishTakeDamageFromWater = getBoolean("mobs.tropical_fish.takes-damage-from-water", tropicalFishTakeDamageFromWater); @@ -2088,7 +2088,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean turtleRidable = false; -@@ -2703,6 +2819,7 @@ public class PurpurWorldConfig { +@@ -2705,6 +2821,7 @@ public class PurpurWorldConfig { public double turtleScale = 1.0D; public int turtleBreedingTicks = 6000; public boolean turtleTakeDamageFromWater = false; @@ -2096,7 +2096,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -2716,6 +2833,7 @@ public class PurpurWorldConfig { +@@ -2718,6 +2835,7 @@ public class PurpurWorldConfig { turtleScale = Mth.clamp(getDouble("mobs.turtle.attributes.scale", turtleScale), 0.0625D, 16.0D); turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks); turtleTakeDamageFromWater = getBoolean("mobs.turtle.takes-damage-from-water", turtleTakeDamageFromWater); @@ -2104,7 +2104,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean vexRidable = false; -@@ -2725,6 +2843,7 @@ public class PurpurWorldConfig { +@@ -2727,6 +2845,7 @@ public class PurpurWorldConfig { public double vexMaxHealth = 14.0D; public double vexScale = 1.0D; public boolean vexTakeDamageFromWater = false; @@ -2112,7 +2112,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void vexSettings() { vexRidable = getBoolean("mobs.vex.ridable", vexRidable); vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater); -@@ -2738,6 +2857,7 @@ public class PurpurWorldConfig { +@@ -2740,6 +2859,7 @@ public class PurpurWorldConfig { vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth); vexScale = Mth.clamp(getDouble("mobs.vex.attributes.scale", vexScale), 0.0625D, 16.0D); vexTakeDamageFromWater = getBoolean("mobs.vex.takes-damage-from-water", vexTakeDamageFromWater); @@ -2120,7 +2120,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean villagerRidable = false; -@@ -2755,6 +2875,7 @@ public class PurpurWorldConfig { +@@ -2757,6 +2877,7 @@ public class PurpurWorldConfig { public boolean villagerBypassMobGriefing = false; public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; @@ -2128,7 +2128,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2776,6 +2897,7 @@ public class PurpurWorldConfig { +@@ -2778,6 +2899,7 @@ public class PurpurWorldConfig { villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); @@ -2136,7 +2136,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean vindicatorRidable = false; -@@ -2785,6 +2907,7 @@ public class PurpurWorldConfig { +@@ -2787,6 +2909,7 @@ public class PurpurWorldConfig { public double vindicatorScale = 1.0D; public double vindicatorJohnnySpawnChance = 0D; public boolean vindicatorTakeDamageFromWater = false; @@ -2144,7 +2144,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -2798,6 +2921,7 @@ public class PurpurWorldConfig { +@@ -2800,6 +2923,7 @@ public class PurpurWorldConfig { vindicatorScale = Mth.clamp(getDouble("mobs.vindicator.attributes.scale", vindicatorScale), 0.0625D, 16.0D); vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance); vindicatorTakeDamageFromWater = getBoolean("mobs.vindicator.takes-damage-from-water", vindicatorTakeDamageFromWater); @@ -2152,7 +2152,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean wanderingTraderRidable = false; -@@ -2810,6 +2934,7 @@ public class PurpurWorldConfig { +@@ -2812,6 +2936,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderTakeDamageFromWater = false; public boolean wanderingTraderAllowTrading = true; @@ -2160,7 +2160,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -2826,6 +2951,7 @@ public class PurpurWorldConfig { +@@ -2828,6 +2953,7 @@ public class PurpurWorldConfig { wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater); wanderingTraderAllowTrading = getBoolean("mobs.wandering_trader.allow-trading", wanderingTraderAllowTrading); @@ -2168,7 +2168,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean wardenRidable = false; -@@ -2843,6 +2969,7 @@ public class PurpurWorldConfig { +@@ -2845,6 +2971,7 @@ public class PurpurWorldConfig { public double witchMaxHealth = 26.0D; public double witchScale = 1.0D; public boolean witchTakeDamageFromWater = false; @@ -2176,7 +2176,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void witchSettings() { witchRidable = getBoolean("mobs.witch.ridable", witchRidable); witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater); -@@ -2855,6 +2982,7 @@ public class PurpurWorldConfig { +@@ -2857,6 +2984,7 @@ public class PurpurWorldConfig { witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth); witchScale = Mth.clamp(getDouble("mobs.witch.attributes.scale", witchScale), 0.0625D, 16.0D); witchTakeDamageFromWater = getBoolean("mobs.witch.takes-damage-from-water", witchTakeDamageFromWater); @@ -2184,7 +2184,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean witherRidable = false; -@@ -2870,6 +2998,7 @@ public class PurpurWorldConfig { +@@ -2872,6 +3000,7 @@ public class PurpurWorldConfig { public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; public boolean witherPlaySpawnSound = true; @@ -2192,7 +2192,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2893,6 +3022,7 @@ public class PurpurWorldConfig { +@@ -2895,6 +3024,7 @@ public class PurpurWorldConfig { witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius); witherPlaySpawnSound = getBoolean("mobs.wither.play-spawn-sound", witherPlaySpawnSound); @@ -2200,7 +2200,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean witherSkeletonRidable = false; -@@ -2901,6 +3031,7 @@ public class PurpurWorldConfig { +@@ -2903,6 +3033,7 @@ public class PurpurWorldConfig { public double witherSkeletonMaxHealth = 20.0D; public double witherSkeletonScale = 1.0D; public boolean witherSkeletonTakeDamageFromWater = false; @@ -2208,7 +2208,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void witherSkeletonSettings() { witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); -@@ -2913,6 +3044,7 @@ public class PurpurWorldConfig { +@@ -2915,6 +3046,7 @@ public class PurpurWorldConfig { witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth); witherSkeletonScale = Mth.clamp(getDouble("mobs.wither_skeleton.attributes.scale", witherSkeletonScale), 0.0625D, 16.0D); witherSkeletonTakeDamageFromWater = getBoolean("mobs.wither_skeleton.takes-damage-from-water", witherSkeletonTakeDamageFromWater); @@ -2216,7 +2216,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean wolfRidable = false; -@@ -2925,6 +3057,7 @@ public class PurpurWorldConfig { +@@ -2927,6 +3059,7 @@ public class PurpurWorldConfig { public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; public boolean wolfTakeDamageFromWater = false; @@ -2224,7 +2224,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -2945,6 +3078,7 @@ public class PurpurWorldConfig { +@@ -2947,6 +3080,7 @@ public class PurpurWorldConfig { wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid); wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks); wolfTakeDamageFromWater = getBoolean("mobs.wolf.takes-damage-from-water", wolfTakeDamageFromWater); @@ -2232,7 +2232,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean zoglinRidable = false; -@@ -2953,6 +3087,7 @@ public class PurpurWorldConfig { +@@ -2955,6 +3089,7 @@ public class PurpurWorldConfig { public double zoglinMaxHealth = 40.0D; public double zoglinScale = 1.0D; public boolean zoglinTakeDamageFromWater = false; @@ -2240,7 +2240,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void zoglinSettings() { zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable); zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater); -@@ -2965,6 +3100,7 @@ public class PurpurWorldConfig { +@@ -2967,6 +3102,7 @@ public class PurpurWorldConfig { zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth); zoglinScale = Mth.clamp(getDouble("mobs.zoglin.attributes.scale", zoglinScale), 0.0625D, 16.0D); zoglinTakeDamageFromWater = getBoolean("mobs.zoglin.takes-damage-from-water", zoglinTakeDamageFromWater); @@ -2248,7 +2248,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean zombieRidable = false; -@@ -2979,6 +3115,7 @@ public class PurpurWorldConfig { +@@ -2981,6 +3117,7 @@ public class PurpurWorldConfig { public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; @@ -2256,7 +2256,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2997,6 +3134,7 @@ public class PurpurWorldConfig { +@@ -2999,6 +3136,7 @@ public class PurpurWorldConfig { zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing); zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater); @@ -2264,7 +2264,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean zombieHorseRidable = false; -@@ -3010,6 +3148,7 @@ public class PurpurWorldConfig { +@@ -3012,6 +3150,7 @@ public class PurpurWorldConfig { public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseSpawnChance = 0.0D; public boolean zombieHorseTakeDamageFromWater = false; @@ -2272,7 +2272,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void zombieHorseSettings() { zombieHorseRidable = getBoolean("mobs.zombie_horse.ridable", zombieHorseRidable); zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); -@@ -3028,6 +3167,7 @@ public class PurpurWorldConfig { +@@ -3030,6 +3169,7 @@ public class PurpurWorldConfig { zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax); zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance); zombieHorseTakeDamageFromWater = getBoolean("mobs.zombie_horse.takes-damage-from-water", zombieHorseTakeDamageFromWater); @@ -2280,7 +2280,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean zombieVillagerRidable = false; -@@ -3043,6 +3183,7 @@ public class PurpurWorldConfig { +@@ -3045,6 +3185,7 @@ public class PurpurWorldConfig { public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; public boolean zombieVillagerCureEnabled = true; @@ -2288,7 +2288,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -3062,6 +3203,7 @@ public class PurpurWorldConfig { +@@ -3064,6 +3205,7 @@ public class PurpurWorldConfig { zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin); zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax); zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled); @@ -2296,7 +2296,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae } public boolean zombifiedPiglinRidable = false; -@@ -3075,6 +3217,7 @@ public class PurpurWorldConfig { +@@ -3077,6 +3219,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; public boolean zombifiedPiglinTakeDamageFromWater = false; @@ -2304,7 +2304,7 @@ index b9b47cd429c73c856d6ecd9d48fe0c46cee7330d..744730583ec613adc8e31565780fbcae private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -3092,6 +3235,7 @@ public class PurpurWorldConfig { +@@ -3094,6 +3237,7 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); diff --git a/patches/server/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch b/patches/server/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch index 537db8b264..659d942eff 100644 --- a/patches/server/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch +++ b/patches/server/0220-Ability-for-hoe-to-replant-crops-and-nether-warts.patch @@ -74,10 +74,10 @@ index 7bb4994d6474c8ea59c102009253552020691b8f..b571bca4375ca7caf9b75dbf84009cb0 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 744730583ec613adc8e31565780fbcae72a9b69c..931e2a3d04e2ec43b5389144c675914cb595b04d 100644 +index d6f3f21751613038dae7db5ada4aa89444a82546..ef835aa6568bad1a20cc7ebb8775a538234b7915 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -507,6 +507,8 @@ public class PurpurWorldConfig { +@@ -509,6 +509,8 @@ public class PurpurWorldConfig { public Map axeWeatherables = new HashMap<>(); public Map hoeTillables = new HashMap<>(); public Map shovelFlattenables = new HashMap<>(); @@ -86,7 +86,7 @@ index 744730583ec613adc8e31565780fbcae72a9b69c..931e2a3d04e2ec43b5389144c675914c private void toolSettings() { axeStrippables.clear(); axeWaxables.clear(); -@@ -774,6 +776,8 @@ public class PurpurWorldConfig { +@@ -776,6 +778,8 @@ public class PurpurWorldConfig { }); shovelFlattenables.put(block, new Flattenable(into, drops)); }); diff --git a/patches/server/0221-Turtle-eggs-random-tick-crack-chance.patch b/patches/server/0221-Turtle-eggs-random-tick-crack-chance.patch index 2f552ce6fc..3360413698 100644 --- a/patches/server/0221-Turtle-eggs-random-tick-crack-chance.patch +++ b/patches/server/0221-Turtle-eggs-random-tick-crack-chance.patch @@ -18,10 +18,10 @@ index a265c5bf1a4d6f3c84cad20f9b3c285dcebd0372..72c89f14977844e1460e9a914f39e896 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 931e2a3d04e2ec43b5389144c675914cb595b04d..0e3c1b37d386a7115cdfa027a5afb235ec4d363f 100644 +index ef835aa6568bad1a20cc7ebb8775a538234b7915..957e6d3570a4ad7472afb5dc83da70f4c88ba541 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1034,11 +1034,13 @@ public class PurpurWorldConfig { +@@ -1036,11 +1036,13 @@ public class PurpurWorldConfig { public boolean turtleEggsBreakFromItems = false; public boolean turtleEggsBreakFromMinecarts = false; public boolean turtleEggsBypassMobGriefing = false; diff --git a/patches/server/0222-Mob-head-visibility-percent.patch b/patches/server/0222-Mob-head-visibility-percent.patch index 1d275cdec2..88eec79cfa 100644 --- a/patches/server/0222-Mob-head-visibility-percent.patch +++ b/patches/server/0222-Mob-head-visibility-percent.patch @@ -32,10 +32,10 @@ index 0af3e463971697626f847cb96f8a431857c1261e..8c2c14769ae32c9a92bc043f9e753abf // Purpur start if (entity instanceof LivingEntity entityliving) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0e3c1b37d386a7115cdfa027a5afb235ec4d363f..b49d8ef5fe4a3b4bd99124cca2e5e661762552ff 100644 +index 957e6d3570a4ad7472afb5dc83da70f4c88ba541..db707841e9d7f2840ff00c2e32933634045315df 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1392,6 +1392,7 @@ public class PurpurWorldConfig { +@@ -1394,6 +1394,7 @@ public class PurpurWorldConfig { public boolean creeperExplodeWhenKilled = false; public boolean creeperHealthRadius = false; public boolean creeperAlwaysDropExp = false; @@ -43,7 +43,7 @@ index 0e3c1b37d386a7115cdfa027a5afb235ec4d363f..b49d8ef5fe4a3b4bd99124cca2e5e661 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1410,6 +1411,7 @@ public class PurpurWorldConfig { +@@ -1412,6 +1413,7 @@ public class PurpurWorldConfig { creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled); creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius); creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp); @@ -51,7 +51,7 @@ index 0e3c1b37d386a7115cdfa027a5afb235ec4d363f..b49d8ef5fe4a3b4bd99124cca2e5e661 } public boolean dolphinRidable = false; -@@ -2237,6 +2239,7 @@ public class PurpurWorldConfig { +@@ -2239,6 +2241,7 @@ public class PurpurWorldConfig { public boolean piglinTakeDamageFromWater = false; public int piglinPortalSpawnModifier = 2000; public boolean piglinAlwaysDropExp = false; @@ -59,7 +59,7 @@ index 0e3c1b37d386a7115cdfa027a5afb235ec4d363f..b49d8ef5fe4a3b4bd99124cca2e5e661 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2252,6 +2255,7 @@ public class PurpurWorldConfig { +@@ -2254,6 +2257,7 @@ public class PurpurWorldConfig { piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater); piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier); piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp); @@ -67,7 +67,7 @@ index 0e3c1b37d386a7115cdfa027a5afb235ec4d363f..b49d8ef5fe4a3b4bd99124cca2e5e661 } public boolean piglinBruteRidable = false; -@@ -2536,6 +2540,7 @@ public class PurpurWorldConfig { +@@ -2538,6 +2542,7 @@ public class PurpurWorldConfig { public double skeletonScale = 1.0D; public boolean skeletonTakeDamageFromWater = false; public boolean skeletonAlwaysDropExp = false; @@ -75,7 +75,7 @@ index 0e3c1b37d386a7115cdfa027a5afb235ec4d363f..b49d8ef5fe4a3b4bd99124cca2e5e661 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2549,6 +2554,7 @@ public class PurpurWorldConfig { +@@ -2551,6 +2556,7 @@ public class PurpurWorldConfig { skeletonScale = Mth.clamp(getDouble("mobs.skeleton.attributes.scale", skeletonScale), 0.0625D, 16.0D); skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater); skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp); @@ -83,7 +83,7 @@ index 0e3c1b37d386a7115cdfa027a5afb235ec4d363f..b49d8ef5fe4a3b4bd99124cca2e5e661 } public boolean skeletonHorseRidable = false; -@@ -3122,6 +3128,7 @@ public class PurpurWorldConfig { +@@ -3124,6 +3130,7 @@ public class PurpurWorldConfig { public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; public boolean zombieAlwaysDropExp = false; @@ -91,7 +91,7 @@ index 0e3c1b37d386a7115cdfa027a5afb235ec4d363f..b49d8ef5fe4a3b4bd99124cca2e5e661 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -3141,6 +3148,7 @@ public class PurpurWorldConfig { +@@ -3143,6 +3150,7 @@ public class PurpurWorldConfig { zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing); zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater); zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp); diff --git a/patches/server/0224-Stop-bees-from-dying-after-stinging.patch b/patches/server/0224-Stop-bees-from-dying-after-stinging.patch index f6273e5e6e..edd44e9dcc 100644 --- a/patches/server/0224-Stop-bees-from-dying-after-stinging.patch +++ b/patches/server/0224-Stop-bees-from-dying-after-stinging.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Stop bees from dying after stinging diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index 8e2b71d7fe766261cfa539e9f18fede83958408f..5ca5f128e5614146e76935e6d674e0699c65dfdb 100644 +index e2c6691ecca79df5828e6136568933b41ba5e1fa..c533e8c98411ea857df56a98581e903a871b98e2 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java @@ -465,6 +465,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @@ -17,10 +17,10 @@ index 8e2b71d7fe766261cfa539e9f18fede83958408f..5ca5f128e5614146e76935e6d674e069 ++this.timeSinceSting; if (this.timeSinceSting % 5 == 0 && this.random.nextInt(Mth.clamp(1200 - this.timeSinceSting, 1, 1200)) == 0) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b49d8ef5fe4a3b4bd99124cca2e5e661762552ff..01306ed51e4ca205bc58c171e6df5594c96aa22e 100644 +index db707841e9d7f2840ff00c2e32933634045315df..ecef27cf83b1c77d33ffd1cb96e0d72f91427b75 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1153,6 +1153,7 @@ public class PurpurWorldConfig { +@@ -1155,6 +1155,7 @@ public class PurpurWorldConfig { public boolean beeCanWorkAtNight = false; public boolean beeCanWorkInRain = false; public boolean beeAlwaysDropExp = false; @@ -28,7 +28,7 @@ index b49d8ef5fe4a3b4bd99124cca2e5e661762552ff..01306ed51e4ca205bc58c171e6df5594 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -1170,6 +1171,7 @@ public class PurpurWorldConfig { +@@ -1172,6 +1173,7 @@ public class PurpurWorldConfig { beeCanWorkAtNight = getBoolean("mobs.bee.can-work-at-night", beeCanWorkAtNight); beeCanWorkInRain = getBoolean("mobs.bee.can-work-in-rain", beeCanWorkInRain); beeAlwaysDropExp = getBoolean("mobs.bee.always-drop-exp", beeAlwaysDropExp); diff --git a/patches/server/0226-Configurable-farmland-trample-height.patch b/patches/server/0226-Configurable-farmland-trample-height.patch index c2303555cd..ac7ecc34c2 100644 --- a/patches/server/0226-Configurable-farmland-trample-height.patch +++ b/patches/server/0226-Configurable-farmland-trample-height.patch @@ -35,10 +35,10 @@ index af135f8b70b0e2af470afce9053976c3a1e03477..eaac00e2534aca4eab92c7b9f9248e04 org.bukkit.event.Cancellable cancellable; if (entity instanceof Player) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 01306ed51e4ca205bc58c171e6df5594c96aa22e..529e8a930ca9e01cfdfd1e7c15027d85e7f8076d 100644 +index ecef27cf83b1c77d33ffd1cb96e0d72f91427b75..2e2b84ea36dfd33fe7f78f14d07e9bce1211a98d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -927,6 +927,7 @@ public class PurpurWorldConfig { +@@ -929,6 +929,7 @@ public class PurpurWorldConfig { public boolean farmlandTramplingDisabled = false; public boolean farmlandTramplingOnlyPlayers = false; public boolean farmlandTramplingFeatherFalling = false; @@ -46,7 +46,7 @@ index 01306ed51e4ca205bc58c171e6df5594c96aa22e..529e8a930ca9e01cfdfd1e7c15027d85 private void farmlandSettings() { farmlandBypassMobGriefing = getBoolean("blocks.farmland.bypass-mob-griefing", farmlandBypassMobGriefing); farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); -@@ -934,6 +935,7 @@ public class PurpurWorldConfig { +@@ -936,6 +937,7 @@ public class PurpurWorldConfig { farmlandTramplingDisabled = getBoolean("blocks.farmland.disable-trampling", farmlandTramplingDisabled); farmlandTramplingOnlyPlayers = getBoolean("blocks.farmland.only-players-trample", farmlandTramplingOnlyPlayers); farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling); diff --git a/patches/server/0227-Configurable-player-pickup-exp-delay.patch b/patches/server/0227-Configurable-player-pickup-exp-delay.patch index 1e85727bf0..477a8063a5 100644 --- a/patches/server/0227-Configurable-player-pickup-exp-delay.patch +++ b/patches/server/0227-Configurable-player-pickup-exp-delay.patch @@ -35,10 +35,10 @@ index 2b3ec55bdc652bb432f9747d6215992fd3d710a5..d19b1e127a1018a798eed181d8060a78 } else if (!entity.isRemoved()) { this.touch(entity); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 529e8a930ca9e01cfdfd1e7c15027d85e7f8076d..11a914b310517c356807c5dc4dad0cc3ff309a51 100644 +index 2e2b84ea36dfd33fe7f78f14d07e9bce1211a98d..9d21baf4ada7dc6e3e87682534aa51bc874be9fb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -421,6 +421,7 @@ public class PurpurWorldConfig { +@@ -423,6 +423,7 @@ public class PurpurWorldConfig { public boolean playerRidableInWater = false; public boolean playerRemoveBindingWithWeakness = false; public int shiftRightClickRepairsMendingPoints = 0; @@ -46,7 +46,7 @@ index 529e8a930ca9e01cfdfd1e7c15027d85e7f8076d..11a914b310517c356807c5dc4dad0cc3 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -446,6 +447,7 @@ public class PurpurWorldConfig { +@@ -448,6 +449,7 @@ public class PurpurWorldConfig { playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater); playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness); shiftRightClickRepairsMendingPoints = getInt("gameplay-mechanics.player.shift-right-click-repairs-mending-points", shiftRightClickRepairsMendingPoints); diff --git a/patches/server/0228-Allow-void-trading.patch b/patches/server/0228-Allow-void-trading.patch index 01b07a6c30..9002b0684f 100644 --- a/patches/server/0228-Allow-void-trading.patch +++ b/patches/server/0228-Allow-void-trading.patch @@ -18,10 +18,10 @@ index a580610c6e528cd3a54f88f6d1031db1e6c46028..d0653880e8f8852a27e16c5c964fb7b8 } // Paper end - Fix merchant inventory not closing on entity removal diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 11a914b310517c356807c5dc4dad0cc3ff309a51..8985a32587261accd84f3ff62d864b6d0c6da333 100644 +index 9d21baf4ada7dc6e3e87682534aa51bc874be9fb..79df9922bf8f0fc9a74b1ef97e59ff47e749cd7b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -422,6 +422,7 @@ public class PurpurWorldConfig { +@@ -424,6 +424,7 @@ public class PurpurWorldConfig { public boolean playerRemoveBindingWithWeakness = false; public int shiftRightClickRepairsMendingPoints = 0; public int playerExpPickupDelay = 2; @@ -29,7 +29,7 @@ index 11a914b310517c356807c5dc4dad0cc3ff309a51..8985a32587261accd84f3ff62d864b6d private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -448,6 +449,7 @@ public class PurpurWorldConfig { +@@ -450,6 +451,7 @@ public class PurpurWorldConfig { playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness); shiftRightClickRepairsMendingPoints = getInt("gameplay-mechanics.player.shift-right-click-repairs-mending-points", shiftRightClickRepairsMendingPoints); playerExpPickupDelay = getInt("gameplay-mechanics.player.exp-pickup-delay-ticks", playerExpPickupDelay); diff --git a/patches/server/0229-Configurable-phantom-size.patch b/patches/server/0229-Configurable-phantom-size.patch index b50c055541..d1b70479b6 100644 --- a/patches/server/0229-Configurable-phantom-size.patch +++ b/patches/server/0229-Configurable-phantom-size.patch @@ -22,10 +22,10 @@ index 3104b76d98a2b3870535ea5e776fb8fb6e5d3680..23ca324c5379f9735232a9f74071117d } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8985a32587261accd84f3ff62d864b6d0c6da333..af9e6ee31e0ad8436a0a43b6d914445ca7737d9d 100644 +index 79df9922bf8f0fc9a74b1ef97e59ff47e749cd7b..aa8ea52c7e9a4c60864328a30a86530e73385563 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2174,6 +2174,8 @@ public class PurpurWorldConfig { +@@ -2176,6 +2176,8 @@ public class PurpurWorldConfig { public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; public boolean phantomAlwaysDropExp = false; @@ -34,7 +34,7 @@ index 8985a32587261accd84f3ff62d864b6d0c6da333..af9e6ee31e0ad8436a0a43b6d914445c private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -2210,6 +2212,13 @@ public class PurpurWorldConfig { +@@ -2212,6 +2214,13 @@ public class PurpurWorldConfig { phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop); phantomTakeDamageFromWater = getBoolean("mobs.phantom.takes-damage-from-water", phantomTakeDamageFromWater); phantomAlwaysDropExp = getBoolean("mobs.phantom.always-drop-exp", phantomAlwaysDropExp); diff --git a/patches/server/0231-Configurable-minimum-demand-for-trades.patch b/patches/server/0231-Configurable-minimum-demand-for-trades.patch index ca15d26437..0f2e633751 100644 --- a/patches/server/0231-Configurable-minimum-demand-for-trades.patch +++ b/patches/server/0231-Configurable-minimum-demand-for-trades.patch @@ -40,10 +40,10 @@ index 0efc8d997b34302c3e0a5d7ec73a11a940dbeefe..af157881d440b34cfe79fbc9b03cc9ef public ItemStack assemble() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index af9e6ee31e0ad8436a0a43b6d914445ca7737d9d..70258ae10d19f0aac01e3a550ec0d538f598d077 100644 +index aa8ea52c7e9a4c60864328a30a86530e73385563..73510c194f9c15611f5776f60cc9bee07aa816ab 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2905,6 +2905,7 @@ public class PurpurWorldConfig { +@@ -2907,6 +2907,7 @@ public class PurpurWorldConfig { public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; @@ -51,7 +51,7 @@ index af9e6ee31e0ad8436a0a43b6d914445ca7737d9d..70258ae10d19f0aac01e3a550ec0d538 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2927,6 +2928,7 @@ public class PurpurWorldConfig { +@@ -2929,6 +2930,7 @@ public class PurpurWorldConfig { villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp); diff --git a/patches/server/0232-Lobotomize-stuck-villagers.patch b/patches/server/0232-Lobotomize-stuck-villagers.patch index 7fd4dfab2e..c1f389de20 100644 --- a/patches/server/0232-Lobotomize-stuck-villagers.patch +++ b/patches/server/0232-Lobotomize-stuck-villagers.patch @@ -104,10 +104,10 @@ index 8e895d6f84f7d84b219f2424909dd42e5f08dec4..53dcce0701d713c5dd097340a91b8be4 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 70258ae10d19f0aac01e3a550ec0d538f598d077..f23ac725c57006176564c97b30d348551dd9444f 100644 +index 73510c194f9c15611f5776f60cc9bee07aa816ab..5f3bbb6adabaefaf54d4a313c5e7c99eaf3f1391 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2906,6 +2906,9 @@ public class PurpurWorldConfig { +@@ -2908,6 +2908,9 @@ public class PurpurWorldConfig { public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; public int villagerMinimumDemand = 0; @@ -117,7 +117,7 @@ index 70258ae10d19f0aac01e3a550ec0d538f598d077..f23ac725c57006176564c97b30d34855 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2929,6 +2932,18 @@ public class PurpurWorldConfig { +@@ -2931,6 +2934,18 @@ public class PurpurWorldConfig { villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp); villagerMinimumDemand = getInt("mobs.villager.minimum-demand", villagerMinimumDemand); diff --git a/patches/server/0233-Option-for-villager-display-trade-item.patch b/patches/server/0233-Option-for-villager-display-trade-item.patch index 49e1c4a79c..1fa73b8eaf 100644 --- a/patches/server/0233-Option-for-villager-display-trade-item.patch +++ b/patches/server/0233-Option-for-villager-display-trade-item.patch @@ -17,10 +17,10 @@ index 18dad0825616c4167a0a7555689ee64910a87e09..6945992491027d43eca4f1ca697ad45c && this.lookTime > 0 && entity.getBrain().getMemory(MemoryModuleType.INTERACTION_TARGET).isPresent(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f23ac725c57006176564c97b30d348551dd9444f..fc357473f30258a54a2ee36dc0d63c2a52f2eaea 100644 +index 5f3bbb6adabaefaf54d4a313c5e7c99eaf3f1391..8edb79160b90f9caaa58233608621078ad31cb47 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2909,6 +2909,7 @@ public class PurpurWorldConfig { +@@ -2911,6 +2911,7 @@ public class PurpurWorldConfig { public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheckInterval = 100; public boolean villagerLobotomizeWaitUntilTradeLocked = false; @@ -28,7 +28,7 @@ index f23ac725c57006176564c97b30d348551dd9444f..fc357473f30258a54a2ee36dc0d63c2a private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2944,6 +2945,7 @@ public class PurpurWorldConfig { +@@ -2946,6 +2947,7 @@ public class PurpurWorldConfig { villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); villagerLobotomizeWaitUntilTradeLocked = getBoolean("mobs.villager.lobotomize.wait-until-trade-locked", villagerLobotomizeWaitUntilTradeLocked); diff --git a/patches/server/0234-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch b/patches/server/0234-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch index ac1de5cf8e..e65314871b 100644 --- a/patches/server/0234-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch +++ b/patches/server/0234-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch @@ -17,10 +17,10 @@ index 8c4532a250f8679d729a35c17e9b5bd339264450..2b8336bd88641cfb29e94c8f01abfbdb } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index fc357473f30258a54a2ee36dc0d63c2a52f2eaea..f4584785ce8b16d3acc27c848eb79cc55bf08a18 100644 +index 8edb79160b90f9caaa58233608621078ad31cb47..5a9073ceeac3f41ed8ee9659dd7a33769f4e2f04 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1021,8 +1021,10 @@ public class PurpurWorldConfig { +@@ -1023,8 +1023,10 @@ public class PurpurWorldConfig { } public boolean spawnerDeactivateByRedstone = false; diff --git a/patches/server/0236-Anvil-repair-damage-options.patch b/patches/server/0236-Anvil-repair-damage-options.patch index c6788bfe3a..0002d6896a 100644 --- a/patches/server/0236-Anvil-repair-damage-options.patch +++ b/patches/server/0236-Anvil-repair-damage-options.patch @@ -63,10 +63,10 @@ index 50c907c962f936d2035bb7550750cdbd220b29c2..f9a2d2d4f798efa0d691996ec5ff7fe0 protected InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult hit) { if (!world.isClientSide) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 74373b7875906bd79595ca02b86add222d9645e0..f34de537ab3bd3727572313f7e8004703c73f641 100644 +index 1a37f10b480c9d63b912543afbc80913095aaa7b..3d545e57066270d1d39e9ca45c559a707966f815 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -788,9 +788,13 @@ public class PurpurWorldConfig { +@@ -790,9 +790,13 @@ public class PurpurWorldConfig { public boolean anvilAllowColors = false; public boolean anvilColorsUseMiniMessage; diff --git a/patches/server/0237-Option-to-disable-turtle-egg-trampling-with-feather-.patch b/patches/server/0237-Option-to-disable-turtle-egg-trampling-with-feather-.patch index 4827bbbd06..544695a875 100644 --- a/patches/server/0237-Option-to-disable-turtle-egg-trampling-with-feather-.patch +++ b/patches/server/0237-Option-to-disable-turtle-egg-trampling-with-feather-.patch @@ -24,10 +24,10 @@ index 72c89f14977844e1460e9a914f39e896c9d498fd..f1dfb23160ff70e0da4dd2af2d83e879 return world.purpurConfig.turtleEggsBypassMobGriefing ^ world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING); // Purpur end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f34de537ab3bd3727572313f7e8004703c73f641..a50e634a83234a3396a5e1471706f77dcfbb5d7c 100644 +index 3d545e57066270d1d39e9ca45c559a707966f815..f7ef17c90205e129d776c0faa9aaf6a2607a31ba 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1049,12 +1049,14 @@ public class PurpurWorldConfig { +@@ -1051,12 +1051,14 @@ public class PurpurWorldConfig { public boolean turtleEggsBreakFromMinecarts = false; public boolean turtleEggsBypassMobGriefing = false; public int turtleEggsRandomTickCrackChance = 500; diff --git a/patches/server/0240-Implement-configurable-search-radius-for-villagers-t.patch b/patches/server/0240-Implement-configurable-search-radius-for-villagers-t.patch index 2706531fbc..0e9a78929d 100644 --- a/patches/server/0240-Implement-configurable-search-radius-for-villagers-t.patch +++ b/patches/server/0240-Implement-configurable-search-radius-for-villagers-t.patch @@ -18,10 +18,10 @@ index a191fb8563c01413dc4119e3adf81e23aacb824b..15ddc44bb266b4cdb1036c92dd60f137 AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D); List list = world.getEntitiesOfClass(Villager.class, axisalignedbb); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a50e634a83234a3396a5e1471706f77dcfbb5d7c..011ac10466da8720800f2764a316a9cc9bb50fd9 100644 +index f7ef17c90205e129d776c0faa9aaf6a2607a31ba..26f90270a8b6f1eccf0ddf9babfc6d8026f1d509 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2920,6 +2920,8 @@ public class PurpurWorldConfig { +@@ -2922,6 +2922,8 @@ public class PurpurWorldConfig { public int villagerLobotomizeCheckInterval = 100; public boolean villagerLobotomizeWaitUntilTradeLocked = false; public boolean villagerDisplayTradeItem = true; @@ -30,7 +30,7 @@ index a50e634a83234a3396a5e1471706f77dcfbb5d7c..011ac10466da8720800f2764a316a9cc private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2956,6 +2958,8 @@ public class PurpurWorldConfig { +@@ -2958,6 +2960,8 @@ public class PurpurWorldConfig { villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); villagerLobotomizeWaitUntilTradeLocked = getBoolean("mobs.villager.lobotomize.wait-until-trade-locked", villagerLobotomizeWaitUntilTradeLocked); villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem); diff --git a/patches/server/0241-Stonecutter-damage.patch b/patches/server/0241-Stonecutter-damage.patch index 9127403771..69dd13a4df 100644 --- a/patches/server/0241-Stonecutter-damage.patch +++ b/patches/server/0241-Stonecutter-damage.patch @@ -143,10 +143,10 @@ index 2090ecfebe8bc164239d198c1c50b134c7bc60c5..dba6a69891f50ba057187a8138ff227a public static boolean advancementOnlyBroadcastToAffectedPlayer = false; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 011ac10466da8720800f2764a316a9cc9bb50fd9..30b11ecbf75e5a4752d6d117f738828273b63b2f 100644 +index 26f90270a8b6f1eccf0ddf9babfc6d8026f1d509..22ae60309fa0b19ba3d2b58c919a6e262eb1903d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1044,6 +1044,11 @@ public class PurpurWorldConfig { +@@ -1046,6 +1046,11 @@ public class PurpurWorldConfig { spongeAbsorbsWaterFromMud = getBoolean("blocks.sponge.absorbs-water-from-mud", spongeAbsorbsWaterFromMud); } diff --git a/patches/server/0242-Configurable-damage-settings-for-magma-blocks.patch b/patches/server/0242-Configurable-damage-settings-for-magma-blocks.patch index f6ee0cdc9e..fd37174a9a 100644 --- a/patches/server/0242-Configurable-damage-settings-for-magma-blocks.patch +++ b/patches/server/0242-Configurable-damage-settings-for-magma-blocks.patch @@ -18,10 +18,10 @@ index 7ffdcf18bf4bd8b5325c76945b2d80ca3fe52958..dfa931316fde0b2e80068a0edd1427ff } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 30b11ecbf75e5a4752d6d117f738828273b63b2f..8893ce54385e8b6d9de6b87ebf203efde140fff4 100644 +index 22ae60309fa0b19ba3d2b58c919a6e262eb1903d..4eb94ba260c76984f78a96e0ceb721a857be6e75 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -985,6 +985,11 @@ public class PurpurWorldConfig { +@@ -987,6 +987,11 @@ public class PurpurWorldConfig { pistonBlockPushLimit = getInt("blocks.piston.block-push-limit", pistonBlockPushLimit); } diff --git a/patches/server/0243-Add-config-for-snow-on-blue-ice.patch b/patches/server/0243-Add-config-for-snow-on-blue-ice.patch index 31a57db219..ade77f2775 100644 --- a/patches/server/0243-Add-config-for-snow-on-blue-ice.patch +++ b/patches/server/0243-Add-config-for-snow-on-blue-ice.patch @@ -22,10 +22,10 @@ index 9908a0b5b1fec5f9de518a733f7abbbff7e1a9f9..0ad444cf7f798f63e9140a42c5d5d8ca } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8893ce54385e8b6d9de6b87ebf203efde140fff4..4a6646711c1aa32a7123396126933d74d2cb5173 100644 +index 4eb94ba260c76984f78a96e0ceb721a857be6e75..eb84c63b029a39ac352d1b0cf5a264c0c14d2f8e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -966,9 +966,11 @@ public class PurpurWorldConfig { +@@ -968,9 +968,11 @@ public class PurpurWorldConfig { public boolean mobsSpawnOnPackedIce = true; public boolean mobsSpawnOnBlueIce = true; diff --git a/patches/server/0244-Skeletons-eat-wither-roses.patch b/patches/server/0244-Skeletons-eat-wither-roses.patch index 8694568155..bb1d0adaef 100644 --- a/patches/server/0244-Skeletons-eat-wither-roses.patch +++ b/patches/server/0244-Skeletons-eat-wither-roses.patch @@ -91,10 +91,10 @@ index 61b5f27c1125ed1b183dd3b86b44a10b7098f91c..84bd180ce29d4560675b029a1fa01b03 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4a6646711c1aa32a7123396126933d74d2cb5173..647852226244c862735c113e16fcf4410d39698d 100644 +index eb84c63b029a39ac352d1b0cf5a264c0c14d2f8e..c4d13f49beeaf2e0a5059a7e916d59502e6c36c1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2580,6 +2580,7 @@ public class PurpurWorldConfig { +@@ -2582,6 +2582,7 @@ public class PurpurWorldConfig { public boolean skeletonTakeDamageFromWater = false; public boolean skeletonAlwaysDropExp = false; public double skeletonHeadVisibilityPercent = 0.5D; @@ -102,7 +102,7 @@ index 4a6646711c1aa32a7123396126933d74d2cb5173..647852226244c862735c113e16fcf441 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2594,6 +2595,7 @@ public class PurpurWorldConfig { +@@ -2596,6 +2597,7 @@ public class PurpurWorldConfig { skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater); skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp); skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent); diff --git a/patches/server/0245-Enchantment-Table-Persists-Lapis.patch b/patches/server/0245-Enchantment-Table-Persists-Lapis.patch index de57cfdb80..92ae74363e 100644 --- a/patches/server/0245-Enchantment-Table-Persists-Lapis.patch +++ b/patches/server/0245-Enchantment-Table-Persists-Lapis.patch @@ -136,10 +136,10 @@ index 39aac959775afeaeea211f21d498cb0ddf0a3fcb..6349a342c023f378af431a73a62fb017 + // Purpur } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 647852226244c862735c113e16fcf4410d39698d..37dc3ba688e546f3feb64927134b6ef926929a5f 100644 +index c4d13f49beeaf2e0a5059a7e916d59502e6c36c1..716ec5b0afcd4e3818d5d749eb5d12d3917e0e86 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1556,6 +1556,11 @@ public class PurpurWorldConfig { +@@ -1558,6 +1558,11 @@ public class PurpurWorldConfig { elderGuardianAlwaysDropExp = getBoolean("mobs.elder_guardian.always-drop-exp", elderGuardianAlwaysDropExp); } diff --git a/patches/server/0247-Config-for-sculk-shrieker-can_summon-state.patch b/patches/server/0247-Config-for-sculk-shrieker-can_summon-state.patch index 157741fb3b..380631b157 100644 --- a/patches/server/0247-Config-for-sculk-shrieker-can_summon-state.patch +++ b/patches/server/0247-Config-for-sculk-shrieker-can_summon-state.patch @@ -18,10 +18,10 @@ index 7990a6c225c27845ccada0df91cf5ed7e4315a88..db2b21d5842fafa48dbde25a461505d0 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 37dc3ba688e546f3feb64927134b6ef926929a5f..1b55aacef555565308b9182a7664bed4d98ac18c 100644 +index 716ec5b0afcd4e3818d5d749eb5d12d3917e0e86..3ad962a28cd4471f2d7593f6053008871a78e50c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1023,6 +1023,11 @@ public class PurpurWorldConfig { +@@ -1025,6 +1025,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0248-Config-to-not-let-coral-die.patch b/patches/server/0248-Config-to-not-let-coral-die.patch index 0231549f00..70f003e346 100644 --- a/patches/server/0248-Config-to-not-let-coral-die.patch +++ b/patches/server/0248-Config-to-not-let-coral-die.patch @@ -29,10 +29,10 @@ index a59b23f4062fa896836dec72cbd5097411774ad1..c526ea13a726624adaa654f09ff84c89 int i = aenumdirection.length; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1b55aacef555565308b9182a7664bed4d98ac18c..e13d1e6d15cdfc58f4655ff288d9393e4c134a51 100644 +index 3ad962a28cd4471f2d7593f6053008871a78e50c..ffd131b4ff8d0c49c76829ec202c955509f9ae96 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -872,6 +872,11 @@ public class PurpurWorldConfig { +@@ -874,6 +874,11 @@ public class PurpurWorldConfig { composterBulkProcess = getBoolean("blocks.composter.sneak-to-bulk-process", composterBulkProcess); } diff --git a/patches/server/0254-mob-spawning-option-to-ignore-creative-players.patch b/patches/server/0254-mob-spawning-option-to-ignore-creative-players.patch index e818a14f2a..41bb440a02 100644 --- a/patches/server/0254-mob-spawning-option-to-ignore-creative-players.patch +++ b/patches/server/0254-mob-spawning-option-to-ignore-creative-players.patch @@ -18,10 +18,10 @@ index c1b76a1ebc1eea7ab70cf61d8175a31794dd122a..dc15c15951e4ca30b8341d24f813259a if (entityhuman != null) { double d2 = entityhuman.distanceToSqr(d0, (double) i, d1); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 47b29febec2af1f3a8ef7b9afc6a4982df08eb47..e94c9fb93191d880b7cbd1b293a8da5c1074aba4 100644 +index a0c49166a93ee18abc24dd40e95bdf4ece7e90b3..bff614ae120300622b803187bcfdf7e6f88fa7a8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -378,6 +378,7 @@ public class PurpurWorldConfig { +@@ -380,6 +380,7 @@ public class PurpurWorldConfig { public boolean phantomSpawning; public boolean villagerTraderSpawning; public boolean villageSiegeSpawning; @@ -29,7 +29,7 @@ index 47b29febec2af1f3a8ef7b9afc6a4982df08eb47..e94c9fb93191d880b7cbd1b293a8da5c private void mobSpawnerSettings() { // values of "default" or null will default to true only if the world environment is normal (aka overworld) Predicate predicate = (bool) -> (bool != null && bool) || (bool == null && environment == World.Environment.NORMAL); -@@ -386,6 +387,7 @@ public class PurpurWorldConfig { +@@ -388,6 +389,7 @@ public class PurpurWorldConfig { phantomSpawning = getBoolean("gameplay-mechanics.mob-spawning.phantoms", predicate); villagerTraderSpawning = getBoolean("gameplay-mechanics.mob-spawning.wandering-traders", predicate); villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate); diff --git a/patches/server/0255-Add-skeleton-bow-accuracy-option.patch b/patches/server/0255-Add-skeleton-bow-accuracy-option.patch index 9a261e9655..dcd7828ff4 100644 --- a/patches/server/0255-Add-skeleton-bow-accuracy-option.patch +++ b/patches/server/0255-Add-skeleton-bow-accuracy-option.patch @@ -18,10 +18,10 @@ index f90f3e3ad7c941e3222a8119d9b01d571eef4c1b..0235488faee8078186fbb78038789da0 // CraftBukkit end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e94c9fb93191d880b7cbd1b293a8da5c1074aba4..b38c114e063c3f49cdf19f9c489ee92bcb7006ed 100644 +index bff614ae120300622b803187bcfdf7e6f88fa7a8..1fda4d542e3395612b2550aa32bfb3f882b797e9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2600,6 +2600,8 @@ public class PurpurWorldConfig { +@@ -2602,6 +2602,8 @@ public class PurpurWorldConfig { public boolean skeletonAlwaysDropExp = false; public double skeletonHeadVisibilityPercent = 0.5D; public int skeletonFeedWitherRoses = 0; @@ -30,7 +30,7 @@ index e94c9fb93191d880b7cbd1b293a8da5c1074aba4..b38c114e063c3f49cdf19f9c489ee92b private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2615,6 +2617,18 @@ public class PurpurWorldConfig { +@@ -2617,6 +2619,18 @@ public class PurpurWorldConfig { skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp); skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent); skeletonFeedWitherRoses = getInt("mobs.skeleton.feed-wither-roses", skeletonFeedWitherRoses); diff --git a/patches/server/0266-Add-option-to-allow-creeper-to-encircle-target-when-.patch b/patches/server/0266-Add-option-to-allow-creeper-to-encircle-target-when-.patch index e9f26f0967..c5baf038f3 100644 --- a/patches/server/0266-Add-option-to-allow-creeper-to-encircle-target-when-.patch +++ b/patches/server/0266-Add-option-to-allow-creeper-to-encircle-target-when-.patch @@ -24,10 +24,10 @@ index 137ec75ee803789deb7b1ca93dd9369c9af362b9..ca95d25af3e9a0536868b0c7fd8e7d2f } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 446cdd50d4b5d5ed2e58f4bc4fbb13810399754d..342d5111bd3d4b434071f7499467a860a278ee08 100644 +index 2cc357dea94572362f7c67c051031352c4781e3e..6528d3c3e0d817e8e903ff99f8b71dc78d4f58c8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1439,6 +1439,7 @@ public class PurpurWorldConfig { +@@ -1441,6 +1441,7 @@ public class PurpurWorldConfig { public boolean creeperHealthRadius = false; public boolean creeperAlwaysDropExp = false; public double creeperHeadVisibilityPercent = 0.5D; @@ -35,7 +35,7 @@ index 446cdd50d4b5d5ed2e58f4bc4fbb13810399754d..342d5111bd3d4b434071f7499467a860 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1458,6 +1459,7 @@ public class PurpurWorldConfig { +@@ -1460,6 +1461,7 @@ public class PurpurWorldConfig { creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius); creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp); creeperHeadVisibilityPercent = getDouble("mobs.creeper.head-visibility-percent", creeperHeadVisibilityPercent); diff --git a/patches/server/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch b/patches/server/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch index 6b287c4904..7a3556bbb2 100644 --- a/patches/server/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch +++ b/patches/server/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to teleport to spawn on nether ceiling damage diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1832f7ef8a14fb60e004cb7b99a0cd0155332349..da7ffdf85907c92fe6c4c6a5ebe571ef4666fcb8 100644 +index d19c284986d7fdbb7a2685fcc4a4879db4269403..904805ada13164ec6989e2451583fcc8d290e51f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1004,6 +1004,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -17,10 +17,10 @@ index 1832f7ef8a14fb60e004cb7b99a0cd0155332349..da7ffdf85907c92fe6c4c6a5ebe571ef } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 342d5111bd3d4b434071f7499467a860a278ee08..89e80073eb911e72d0bac5b50119421a91cd3a16 100644 +index 6528d3c3e0d817e8e903ff99f8b71dc78d4f58c8..114d8082fe8d5a0cb8bbf48dbbf8d315e6a039d5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -418,6 +418,7 @@ public class PurpurWorldConfig { +@@ -420,6 +420,7 @@ public class PurpurWorldConfig { public String playerDeathExpDropEquation = "expLevel * 7"; public int playerDeathExpDropMax = 100; public boolean teleportIfOutsideBorder = false; @@ -28,7 +28,7 @@ index 342d5111bd3d4b434071f7499467a860a278ee08..89e80073eb911e72d0bac5b50119421a public boolean totemOfUndyingWorksInInventory = false; public boolean playerFixStuckPortal = false; public boolean creativeOnePunch = false; -@@ -445,6 +446,7 @@ public class PurpurWorldConfig { +@@ -447,6 +448,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/0271-End-Crystal-Cramming.patch b/patches/server/0271-End-Crystal-Cramming.patch index 9b1469291e..eaa01301d0 100644 --- a/patches/server/0271-End-Crystal-Cramming.patch +++ b/patches/server/0271-End-Crystal-Cramming.patch @@ -17,10 +17,10 @@ index 305c3350116f656c3d0e6134e4d8023eac50f3ad..b1db1e92de3a88a0f0e0fdb42b0bf973 // Purpur start diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 89e80073eb911e72d0bac5b50119421a91cd3a16..991d13948d90039a4a344b51317b52f882b34e5f 100644 +index 114d8082fe8d5a0cb8bbf48dbbf8d315e6a039d5..6e634c6997c98a8242a6a8b3056c6bb2efed1c2f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -915,6 +915,7 @@ public class PurpurWorldConfig { +@@ -917,6 +917,7 @@ public class PurpurWorldConfig { public double basedEndCrystalExplosionPower = 6.0D; public boolean basedEndCrystalExplosionFire = false; public net.minecraft.world.level.Level.ExplosionInteraction basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; @@ -28,7 +28,7 @@ index 89e80073eb911e72d0bac5b50119421a91cd3a16..991d13948d90039a4a344b51317b52f8 private void endCrystalSettings() { if (PurpurConfig.version < 31) { if ("DESTROY".equals(getString("blocks.end-crystal.baseless.explosion-effect", baselessEndCrystalExplosionEffect.name()))) { -@@ -942,6 +943,7 @@ public class PurpurWorldConfig { +@@ -944,6 +945,7 @@ public class PurpurWorldConfig { log(Level.SEVERE, "Unknown value for `blocks.end-crystal.base.explosion-effect`! Using default of `BLOCK`"); basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; } diff --git a/patches/server/0272-Option-to-allow-beacon-effects-when-covered-by-tinte.patch b/patches/server/0272-Option-to-allow-beacon-effects-when-covered-by-tinte.patch index 65e8b40649..56f783a268 100644 --- a/patches/server/0272-Option-to-allow-beacon-effects-when-covered-by-tinte.patch +++ b/patches/server/0272-Option-to-allow-beacon-effects-when-covered-by-tinte.patch @@ -36,10 +36,10 @@ index fbc6b0099af34b0247f6144a9cef020f9ccddeef..2d190b3a6378b8cbadfa65510df1ccfb BeaconBlockEntity.playSound(world, pos, SoundEvents.BEACON_AMBIENT); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 991d13948d90039a4a344b51317b52f882b34e5f..5fb1b4ca45faaf9d172adb8f3a7879322ae29117 100644 +index 6e634c6997c98a8242a6a8b3056c6bb2efed1c2f..2cb1a54fd54504ef5ac2ac284df0e7a3052edb4a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -814,11 +814,13 @@ public class PurpurWorldConfig { +@@ -816,11 +816,13 @@ public class PurpurWorldConfig { public int beaconLevelTwo = 30; public int beaconLevelThree = 40; public int beaconLevelFour = 50; diff --git a/patches/server/0275-bonemealable-sugarcane-cactus-and-netherwart.patch b/patches/server/0275-bonemealable-sugarcane-cactus-and-netherwart.patch index a5d7b1bd94..2083540a44 100644 --- a/patches/server/0275-bonemealable-sugarcane-cactus-and-netherwart.patch +++ b/patches/server/0275-bonemealable-sugarcane-cactus-and-netherwart.patch @@ -137,10 +137,10 @@ index 547ea09ed84595286c97c128b3b96f6d387ae25f..d0f8a13f27132257ece6dadf736c2dc6 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 12ccac3893097d428c3c7f9cfdfc67e78dd9d691..4ef5aaa033f6ba5a4260345df12426954b8d6fbe 100644 +index e5a855b5dfc0e23a00c9e44c2c0ee5f701fe696e..f6c59ba4c36382c522c009e78a5c96d702a49fe4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -868,8 +868,20 @@ public class PurpurWorldConfig { +@@ -870,8 +870,20 @@ public class PurpurWorldConfig { } public boolean cactusBreaksFromSolidNeighbors = true; diff --git a/patches/server/0280-Shears-can-defuse-TNT.patch b/patches/server/0280-Shears-can-defuse-TNT.patch index 1d2107b82f..86295e75bb 100644 --- a/patches/server/0280-Shears-can-defuse-TNT.patch +++ b/patches/server/0280-Shears-can-defuse-TNT.patch @@ -44,10 +44,10 @@ index 809f5e847e2f5bb594c130cebd2cb897ea768d82..6f1e21d6c104d71fe4fc3376ed2f2273 + // Purpur end - Shears can defuse TNT } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4ef5aaa033f6ba5a4260345df12426954b8d6fbe..f8c49f69297fac41f65c3d37ba0e1020fa3f0736 100644 +index f6c59ba4c36382c522c009e78a5c96d702a49fe4..640a7380fe1d3091eed8ca6c95dc8ddb4faf8edc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -3414,4 +3414,11 @@ public class PurpurWorldConfig { +@@ -3416,4 +3416,11 @@ public class PurpurWorldConfig { cauldronDripstoneWaterFillChance = (float) getDouble("blocks.cauldron.fill-chances.dripstone-water", cauldronDripstoneWaterFillChance); cauldronDripstoneLavaFillChance = (float) getDouble("blocks.cauldron.fill-chances.dripstone-lava", cauldronDripstoneLavaFillChance); } diff --git a/patches/server/0282-Option-Ocelot-Spawn-Under-Sea-Level.patch b/patches/server/0282-Option-Ocelot-Spawn-Under-Sea-Level.patch index 671fa61b49..73b11e7935 100644 --- a/patches/server/0282-Option-Ocelot-Spawn-Under-Sea-Level.patch +++ b/patches/server/0282-Option-Ocelot-Spawn-Under-Sea-Level.patch @@ -18,10 +18,10 @@ index 14634de26c218a3d26afd3e7e6ca89c1a0595178..dee59cb4b87845c940ee089aa932aa69 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f8c49f69297fac41f65c3d37ba0e1020fa3f0736..29c934fa57da481730d80601bf86a90d5b8def09 100644 +index 640a7380fe1d3091eed8ca6c95dc8ddb4faf8edc..ad1c62c92a0fa2ff49f14108c69370cb73e7f4e6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2150,6 +2150,7 @@ public class PurpurWorldConfig { +@@ -2152,6 +2152,7 @@ public class PurpurWorldConfig { public int ocelotBreedingTicks = 6000; public boolean ocelotTakeDamageFromWater = false; public boolean ocelotAlwaysDropExp = false; @@ -29,7 +29,7 @@ index f8c49f69297fac41f65c3d37ba0e1020fa3f0736..29c934fa57da481730d80601bf86a90d private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -2164,6 +2165,7 @@ public class PurpurWorldConfig { +@@ -2166,6 +2167,7 @@ public class PurpurWorldConfig { ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks); ocelotTakeDamageFromWater = getBoolean("mobs.ocelot.takes-damage-from-water", ocelotTakeDamageFromWater); ocelotAlwaysDropExp = getBoolean("mobs.ocelot.always-drop-exp", ocelotAlwaysDropExp); diff --git a/patches/server/0283-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch b/patches/server/0283-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch index 5a27bad090..d4bfc001e9 100644 --- a/patches/server/0283-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch +++ b/patches/server/0283-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch @@ -29,10 +29,10 @@ index e283b1296c1e831376bfe9491cbf02ed4b3fffe4..27a6de70530c2a1cbe2f77a7fb493038 piglin.getBrain().eraseMemory(MemoryModuleType.WALK_TARGET); piglin.getNavigation().stop(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 29c934fa57da481730d80601bf86a90d5b8def09..a040f13bd39bd9e0b24ac9be4a95a093930977d1 100644 +index ad1c62c92a0fa2ff49f14108c69370cb73e7f4e6..35db58344e79bd3c83099626a425ea8d75a95ae5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2327,6 +2327,7 @@ public class PurpurWorldConfig { +@@ -2329,6 +2329,7 @@ public class PurpurWorldConfig { public int piglinPortalSpawnModifier = 2000; public boolean piglinAlwaysDropExp = false; public double piglinHeadVisibilityPercent = 0.5D; @@ -40,7 +40,7 @@ index 29c934fa57da481730d80601bf86a90d5b8def09..a040f13bd39bd9e0b24ac9be4a95a093 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2343,6 +2344,7 @@ public class PurpurWorldConfig { +@@ -2345,6 +2346,7 @@ public class PurpurWorldConfig { piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier); piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp); piglinHeadVisibilityPercent = getDouble("mobs.piglin.head-visibility-percent", piglinHeadVisibilityPercent); diff --git a/patches/server/0285-place-end-crystal-on-any-block.patch b/patches/server/0285-place-end-crystal-on-any-block.patch index 75ce232427..d09aae1fb0 100644 --- a/patches/server/0285-place-end-crystal-on-any-block.patch +++ b/patches/server/0285-place-end-crystal-on-any-block.patch @@ -18,10 +18,10 @@ index 2bee342e59e600426c8681a3ce641a12f22790be..e75930f26604b772a141a93c6f4b7782 } else { BlockPos blockposition1 = blockposition.above(); final BlockPos aboveBlockPosition = blockposition1; // Paper - OBFHELPER diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a040f13bd39bd9e0b24ac9be4a95a093930977d1..c9ad3129146f5f29f1a1d0afbbc911d92bb4e8fb 100644 +index 35db58344e79bd3c83099626a425ea8d75a95ae5..b966d7cbdc8f62e0d5df93e84e2829b6c4818e7c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -935,6 +935,7 @@ public class PurpurWorldConfig { +@@ -937,6 +937,7 @@ public class PurpurWorldConfig { public boolean basedEndCrystalExplosionFire = false; public net.minecraft.world.level.Level.ExplosionInteraction basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; public int endCrystalCramming = 0; @@ -29,7 +29,7 @@ index a040f13bd39bd9e0b24ac9be4a95a093930977d1..c9ad3129146f5f29f1a1d0afbbc911d9 private void endCrystalSettings() { if (PurpurConfig.version < 31) { if ("DESTROY".equals(getString("blocks.end-crystal.baseless.explosion-effect", baselessEndCrystalExplosionEffect.name()))) { -@@ -963,6 +964,7 @@ public class PurpurWorldConfig { +@@ -965,6 +966,7 @@ public class PurpurWorldConfig { basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; } endCrystalCramming = getInt("blocks.end-crystal.cramming-amount", endCrystalCramming); diff --git a/patches/server/0288-Configurable-villager-search-radius.patch b/patches/server/0288-Configurable-villager-search-radius.patch index 1e29bb581c..07e4e3b488 100644 --- a/patches/server/0288-Configurable-villager-search-radius.patch +++ b/patches/server/0288-Configurable-villager-search-radius.patch @@ -31,10 +31,10 @@ index 92731b6b593289e9f583c9b705b219e81fcd8e73..9104d7010bda6f9f73b478c11490ef9c // Paper end - optimise POI access if (path != null && path.canReach()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9b3e2d1ab8ad0b388a0bd3947feea43e602b8781..d396a9fee2326620a0222ff91dba63f187907525 100644 +index a1798851f0aad048a6242c9c57c4fd63687c9f48..07caef996ac0ff36afe14c098ccccffb6dc3e16a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -3004,6 +3004,8 @@ public class PurpurWorldConfig { +@@ -3006,6 +3006,8 @@ public class PurpurWorldConfig { public boolean villagerDisplayTradeItem = true; public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemLimit = 0; @@ -43,7 +43,7 @@ index 9b3e2d1ab8ad0b388a0bd3947feea43e602b8781..d396a9fee2326620a0222ff91dba63f1 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -3042,6 +3044,8 @@ public class PurpurWorldConfig { +@@ -3044,6 +3046,8 @@ public class PurpurWorldConfig { villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem); villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius); villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); diff --git a/patches/server/0289-option-to-make-ravagers-afraid-of-rabbits.patch b/patches/server/0289-option-to-make-ravagers-afraid-of-rabbits.patch index 66b1f9b835..0004bf74a4 100644 --- a/patches/server/0289-option-to-make-ravagers-afraid-of-rabbits.patch +++ b/patches/server/0289-option-to-make-ravagers-afraid-of-rabbits.patch @@ -18,10 +18,10 @@ index 5688f6ff0c1d9d1fbca548dcff8d8dfa5b42b8fd..17aaa3f376ce6183911739536206f9f7 this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 0.4D)); this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d396a9fee2326620a0222ff91dba63f187907525..57ddb4e6a464567cc67e09ce06218cc25af4ddf9 100644 +index 07caef996ac0ff36afe14c098ccccffb6dc3e16a..9f01bef0abbc059629fbc38304d5d5df79589b70 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2485,6 +2485,7 @@ public class PurpurWorldConfig { +@@ -2487,6 +2487,7 @@ public class PurpurWorldConfig { public boolean ravagerTakeDamageFromWater = false; public List ravagerGriefableBlocks = new ArrayList<>(); public boolean ravagerAlwaysDropExp = false; @@ -29,7 +29,7 @@ index d396a9fee2326620a0222ff91dba63f187907525..57ddb4e6a464567cc67e09ce06218cc2 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -2516,6 +2517,7 @@ public class PurpurWorldConfig { +@@ -2518,6 +2519,7 @@ public class PurpurWorldConfig { } }); ravagerAlwaysDropExp = getBoolean("mobs.ravager.always-drop-exp", ravagerAlwaysDropExp);