aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNoah van der Aa <[email protected]>2021-12-20 23:46:51 +0100
committerGitHub <[email protected]>2021-12-20 22:46:51 +0000
commitae6fec6d13255847ade2d54aa6462addbb1ad4d0 (patch)
tree47d80db0bb562e275d9723a0dddd32f50cb7fcf1
parent6178609e1d7e9fda3d59786b69425a3b00d73298 (diff)
downloadPaper-ae6fec6d13255847ade2d54aa6462addbb1ad4d0.tar.gz
Paper-ae6fec6d13255847ade2d54aa6462addbb1ad4d0.zip
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#7116)
-rw-r--r--patches/api/0001-Convert-project-to-Gradle.patch38
-rw-r--r--patches/api/0002-Build-system-changes.patch22
-rw-r--r--patches/api/0004-Add-FastUtil-to-Bukkit.patch4
-rw-r--r--patches/api/0006-Timings-v2.patch12
-rw-r--r--patches/api/0008-Adventure.patch72
-rw-r--r--patches/api/0009-Player-affects-spawning-API.patch4
-rw-r--r--patches/api/0010-Add-getTPS-method.patch8
-rw-r--r--patches/api/0014-Add-view-distance-API.patch4
-rw-r--r--patches/api/0018-Expose-server-CommandMap.patch8
-rw-r--r--patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch10
-rw-r--r--patches/api/0025-Complete-resource-pack-API.patch4
-rw-r--r--patches/api/0026-Use-ASM-for-event-executors.patch4
-rw-r--r--patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch8
-rw-r--r--patches/api/0042-Allow-Reloading-of-Command-Aliases.patch8
-rw-r--r--patches/api/0045-Add-String-based-Action-Bar-API.patch6
-rw-r--r--patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch8
-rw-r--r--patches/api/0054-Fix-upstream-javadocs.patch10
-rw-r--r--patches/api/0058-Basic-PlayerProfile-API.patch8
-rw-r--r--patches/api/0091-Player.setPlayerProfile-API.patch4
-rw-r--r--patches/api/0092-getPlayerUniqueId-API.patch8
-rw-r--r--patches/api/0094-Add-openSign-method-to-HumanEntity.patch4
-rw-r--r--patches/api/0149-Expose-attack-cooldown-methods-for-Player.patch4
-rw-r--r--patches/api/0165-Make-the-default-permission-message-configurable.patch8
-rw-r--r--patches/api/0177-Fix-Spigot-annotation-mistakes.patch12
-rw-r--r--patches/api/0185-Expose-the-internal-current-tick.patch8
-rw-r--r--patches/api/0191-Add-tick-times-API.patch8
-rw-r--r--patches/api/0192-Expose-MinecraftServer-isRunning.patch8
-rw-r--r--patches/api/0196-Add-Player-Client-Options-API.patch4
-rw-r--r--patches/api/0202-Add-Mob-Goal-API.patch8
-rw-r--r--patches/api/0220-Brand-support.patch4
-rw-r--r--patches/api/0229-Player-elytra-boost-API.patch4
-rw-r--r--patches/api/0230-Add-getOfflinePlayerIfCached-String.patch8
-rw-r--r--patches/api/0231-Add-ignore-discounts-API.patch17
-rw-r--r--patches/api/0257-Add-sendOpLevel-API.patch4
-rw-r--r--patches/api/0278-Implement-Keyed-on-World.patch8
-rw-r--r--patches/api/0297-Add-basic-Datapack-API.patch8
-rw-r--r--patches/api/0344-Add-player-health-update-API.patch4
-rw-r--r--patches/api/0345-Allow-delegation-to-vanilla-chunk-gen.patch8
-rw-r--r--patches/server/0001-Setup-Gradle-project.patch26
-rw-r--r--patches/server/0004-Paper-config-files.patch8
-rw-r--r--patches/server/0010-Timings-v2.patch8
-rw-r--r--patches/server/0011-Add-command-line-option-to-load-extra-plugin-jars-no.patch6
-rw-r--r--patches/server/0012-Adventure.patch24
-rw-r--r--patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch4
-rw-r--r--patches/server/0023-Player-affects-spawning-API.patch6
-rw-r--r--patches/server/0025-Further-improve-server-tick-loop.patch4
-rw-r--r--patches/server/0026-Only-refresh-abilities-if-needed.patch4
-rw-r--r--patches/server/0039-Implement-PlayerLocaleChangeEvent.patch4
-rw-r--r--patches/server/0047-Ensure-commands-are-not-ran-async.patch4
-rw-r--r--patches/server/0049-Expose-server-CommandMap.patch4
-rw-r--r--patches/server/0054-Add-velocity-warnings.patch4
-rw-r--r--patches/server/0061-Complete-resource-pack-API.patch13
-rw-r--r--patches/server/0062-Default-loading-permissions.yml-before-plugins.patch6
-rw-r--r--patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch4
-rw-r--r--patches/server/0064-Remove-Metadata-on-reload.patch4
-rw-r--r--patches/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch4
-rw-r--r--patches/server/0103-Add-setting-for-proxy-online-mode-status.patch4
-rw-r--r--patches/server/0112-Allow-Reloading-of-Command-Aliases.patch4
-rw-r--r--patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch4
-rw-r--r--patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch10
-rw-r--r--patches/server/0142-Add-UnknownCommandEvent.patch4
-rw-r--r--patches/server/0143-Basic-PlayerProfile-API.patch6
-rw-r--r--patches/server/0169-AsyncTabCompleteEvent.patch4
-rw-r--r--patches/server/0185-getPlayerUniqueId-API.patch4
-rw-r--r--patches/server/0190-Flag-to-disable-the-channel-limit.patch4
-rw-r--r--patches/server/0223-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch6
-rw-r--r--patches/server/0243-Add-Early-Warning-Feature-to-WatchDog.patch6
-rw-r--r--patches/server/0260-Expose-attack-cooldown-methods-for-Player.patch4
-rw-r--r--patches/server/0261-Improve-death-events.patch4
-rw-r--r--patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch4
-rw-r--r--patches/server/0292-Make-the-default-permission-message-configurable.patch4
-rw-r--r--patches/server/0303-Block-Entity-remove-from-being-called-on-Players.patch4
-rw-r--r--patches/server/0327-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch4
-rw-r--r--patches/server/0329-Implement-CraftBlockSoundGroup.patch4
-rw-r--r--patches/server/0334-Expose-the-internal-current-tick.patch4
-rw-r--r--patches/server/0363-Anti-Xray.patch4
-rw-r--r--patches/server/0384-Add-tick-times-API-and-mspt-command.patch4
-rw-r--r--patches/server/0385-Expose-MinecraftServer-isRunning.patch4
-rw-r--r--patches/server/0396-Improved-Watchdog-Support.patch4
-rw-r--r--patches/server/0416-Expose-game-version.patch4
-rw-r--r--patches/server/0419-misc-debugging-dumps.patch4
-rw-r--r--patches/server/0420-Deobfuscate-stacktraces-in-log-messages-crash-report.patch8
-rw-r--r--patches/server/0421-Implement-Mob-Goal-API.patch8
-rw-r--r--patches/server/0428-Wait-for-Async-Tasks-during-shutdown.patch4
-rw-r--r--patches/server/0439-Fix-villager-trading-demand-MC-163962.patch4
-rw-r--r--patches/server/0453-Fix-Per-World-Difficulty-Remembering-Difficulty.patch4
-rw-r--r--patches/server/0458-Add-Plugin-Tickets-to-API-Chunk-Methods.patch6
-rw-r--r--patches/server/0487-Brand-support.patch4
-rw-r--r--patches/server/0488-Add-setMaxPlayers-API.patch6
-rw-r--r--patches/server/0503-Add-methods-to-get-translation-keys.patch6
-rw-r--r--patches/server/0527-Add-getOfflinePlayerIfCached-String.patch4
-rw-r--r--patches/server/0528-Add-ignore-discounts-API.patch53
-rw-r--r--patches/server/0538-Add-Destroy-Speed-API.patch4
-rw-r--r--patches/server/0539-Fix-Player-spawnParticle-x-y-z-precision-loss.patch4
-rw-r--r--patches/server/0615-Add-Block-isValidTool.patch4
-rw-r--r--patches/server/0617-Implement-Keyed-on-World.patch6
-rw-r--r--patches/server/0657-Add-basic-Datapack-API.patch8
-rw-r--r--patches/server/0662-Fix-and-optimise-world-force-upgrading.patch10
-rw-r--r--patches/server/0688-Fix-return-value-of-Block-applyBoneMeal-always-being.patch4
-rw-r--r--patches/server/0695-Don-t-apply-cramming-damage-to-players.patch (renamed from patches/server/0696-Don-t-apply-cramming-damage-to-players.patch)4
-rw-r--r--patches/server/0695-Fix-MerchantOffer-BuyB-Only-AssertionError.patch18
-rw-r--r--patches/server/0696-Rate-options-and-timings-for-sensors-and-behaviors.patch (renamed from patches/server/0697-Rate-options-and-timings-for-sensors-and-behaviors.patch)2
-rw-r--r--patches/server/0697-Add-a-bunch-of-missing-forceDrop-toggles.patch (renamed from patches/server/0698-Add-a-bunch-of-missing-forceDrop-toggles.patch)0
-rw-r--r--patches/server/0698-Stinger-API.patch (renamed from patches/server/0699-Stinger-API.patch)0
-rw-r--r--patches/server/0699-Fix-incosistency-issue-with-empty-map-items-in-CB.patch (renamed from patches/server/0700-Fix-incosistency-issue-with-empty-map-items-in-CB.patch)0
-rw-r--r--patches/server/0700-Add-System.out-err-catcher.patch (renamed from patches/server/0701-Add-System.out-err-catcher.patch)4
-rw-r--r--patches/server/0701-Fix-test-not-bootstrapping.patch (renamed from patches/server/0702-Fix-test-not-bootstrapping.patch)0
-rw-r--r--patches/server/0702-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch (renamed from patches/server/0703-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch)0
-rw-r--r--patches/server/0703-Improve-boat-collision-performance.patch (renamed from patches/server/0704-Improve-boat-collision-performance.patch)0
-rw-r--r--patches/server/0704-Prevent-AFK-kick-while-watching-end-credits.patch (renamed from patches/server/0705-Prevent-AFK-kick-while-watching-end-credits.patch)0
-rw-r--r--patches/server/0705-Allow-skipping-writing-of-comments-to-server.propert.patch (renamed from patches/server/0706-Allow-skipping-writing-of-comments-to-server.propert.patch)0
-rw-r--r--patches/server/0706-Add-PlayerSetSpawnEvent.patch (renamed from patches/server/0707-Add-PlayerSetSpawnEvent.patch)4
-rw-r--r--patches/server/0707-Make-hoppers-respect-inventory-max-stack-size.patch (renamed from patches/server/0708-Make-hoppers-respect-inventory-max-stack-size.patch)0
-rw-r--r--patches/server/0708-Optimize-entity-tracker-passenger-checks.patch (renamed from patches/server/0709-Optimize-entity-tracker-passenger-checks.patch)0
-rw-r--r--patches/server/0709-Config-option-for-Piglins-guarding-chests.patch (renamed from patches/server/0710-Config-option-for-Piglins-guarding-chests.patch)2
-rw-r--r--patches/server/0710-Added-EntityDamageItemEvent.patch (renamed from patches/server/0711-Added-EntityDamageItemEvent.patch)0
-rw-r--r--patches/server/0711-Optimize-indirect-passenger-iteration.patch (renamed from patches/server/0712-Optimize-indirect-passenger-iteration.patch)2
-rw-r--r--patches/server/0712-Fix-block-drops-position-losing-precision-millions-o.patch (renamed from patches/server/0713-Fix-block-drops-position-losing-precision-millions-o.patch)0
-rw-r--r--patches/server/0713-Configurable-item-frame-map-cursor-update-interval.patch (renamed from patches/server/0714-Configurable-item-frame-map-cursor-update-interval.patch)2
-rw-r--r--patches/server/0714-Make-EntityUnleashEvent-cancellable.patch (renamed from patches/server/0715-Make-EntityUnleashEvent-cancellable.patch)0
-rw-r--r--patches/server/0715-Clear-bucket-NBT-after-dispense.patch (renamed from patches/server/0716-Clear-bucket-NBT-after-dispense.patch)0
-rw-r--r--patches/server/0716-Respect-despawn-rate-in-item-merge-check.patch (renamed from patches/server/0717-Respect-despawn-rate-in-item-merge-check.patch)0
-rw-r--r--patches/server/0717-Move-BlockPistonRetractEvent-to-fix-duplication.patch (renamed from patches/server/0718-Move-BlockPistonRetractEvent-to-fix-duplication.patch)0
-rw-r--r--patches/server/0718-Change-EnderEye-target-without-changing-other-things.patch (renamed from patches/server/0719-Change-EnderEye-target-without-changing-other-things.patch)0
-rw-r--r--patches/server/0719-Add-BlockBreakBlockEvent.patch (renamed from patches/server/0720-Add-BlockBreakBlockEvent.patch)0
-rw-r--r--patches/server/0720-Option-to-prevent-NBT-copy-in-smithing-recipes.patch (renamed from patches/server/0721-Option-to-prevent-NBT-copy-in-smithing-recipes.patch)0
-rw-r--r--patches/server/0721-More-CommandBlock-API.patch (renamed from patches/server/0722-More-CommandBlock-API.patch)0
-rw-r--r--patches/server/0722-Add-missing-team-sidebar-display-slots.patch (renamed from patches/server/0723-Add-missing-team-sidebar-display-slots.patch)0
-rw-r--r--patches/server/0723-Add-back-EntityPortalExitEvent.patch (renamed from patches/server/0724-Add-back-EntityPortalExitEvent.patch)2
-rw-r--r--patches/server/0724-Add-methods-to-find-targets-for-lightning-strikes.patch (renamed from patches/server/0725-Add-methods-to-find-targets-for-lightning-strikes.patch)0
-rw-r--r--patches/server/0725-Get-entity-default-attributes.patch (renamed from patches/server/0726-Get-entity-default-attributes.patch)2
-rw-r--r--patches/server/0726-Left-handed-API.patch (renamed from patches/server/0727-Left-handed-API.patch)0
-rw-r--r--patches/server/0727-Add-advancement-display-API.patch (renamed from patches/server/0728-Add-advancement-display-API.patch)0
-rw-r--r--patches/server/0728-Add-ItemFactory-getMonsterEgg-API.patch (renamed from patches/server/0729-Add-ItemFactory-getMonsterEgg-API.patch)0
-rw-r--r--patches/server/0729-Add-critical-damage-API.patch (renamed from patches/server/0730-Add-critical-damage-API.patch)0
-rw-r--r--patches/server/0730-Fix-issues-with-mob-conversion.patch (renamed from patches/server/0731-Fix-issues-with-mob-conversion.patch)0
-rw-r--r--patches/server/0731-Add-isCollidable-methods-to-various-places.patch (renamed from patches/server/0732-Add-isCollidable-methods-to-various-places.patch)4
-rw-r--r--patches/server/0732-Goat-ram-API.patch (renamed from patches/server/0733-Goat-ram-API.patch)0
-rw-r--r--patches/server/0733-Add-API-for-resetting-a-single-score.patch (renamed from patches/server/0734-Add-API-for-resetting-a-single-score.patch)0
-rw-r--r--patches/server/0734-Add-Raw-Byte-Entity-Serialization.patch (renamed from patches/server/0735-Add-Raw-Byte-Entity-Serialization.patch)4
-rw-r--r--patches/server/0735-Vanilla-command-permission-fixes.patch (renamed from patches/server/0736-Vanilla-command-permission-fixes.patch)0
-rw-r--r--patches/server/0736-Make-CallbackExecutor-strict-again.patch (renamed from patches/server/0737-Make-CallbackExecutor-strict-again.patch)2
-rw-r--r--patches/server/0737-Do-not-allow-the-server-to-unload-chunks-at-request-.patch (renamed from patches/server/0738-Do-not-allow-the-server-to-unload-chunks-at-request-.patch)0
-rw-r--r--patches/server/0738-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch (renamed from patches/server/0739-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch)0
-rw-r--r--patches/server/0739-Correctly-handle-recursion-for-chunkholder-updates.patch (renamed from patches/server/0740-Correctly-handle-recursion-for-chunkholder-updates.patch)0
-rw-r--r--patches/server/0740-Separate-lookup-locking-from-state-access-in-UserCac.patch (renamed from patches/server/0741-Separate-lookup-locking-from-state-access-in-UserCac.patch)0
-rw-r--r--patches/server/0741-Fix-chunks-refusing-to-unload-at-low-TPS.patch (renamed from patches/server/0742-Fix-chunks-refusing-to-unload-at-low-TPS.patch)0
-rw-r--r--patches/server/0742-Do-not-allow-ticket-level-changes-while-unloading-pl.patch (renamed from patches/server/0743-Do-not-allow-ticket-level-changes-while-unloading-pl.patch)0
-rw-r--r--patches/server/0743-Do-not-allow-ticket-level-changes-when-updating-chun.patch (renamed from patches/server/0744-Do-not-allow-ticket-level-changes-when-updating-chun.patch)0
-rw-r--r--patches/server/0744-Do-not-submit-profile-lookups-to-worldgen-threads.patch (renamed from patches/server/0745-Do-not-submit-profile-lookups-to-worldgen-threads.patch)0
-rw-r--r--patches/server/0745-Log-when-the-async-catcher-is-tripped.patch (renamed from patches/server/0746-Log-when-the-async-catcher-is-tripped.patch)0
-rw-r--r--patches/server/0746-Add-paper-mobcaps-and-paper-playermobcaps.patch (renamed from patches/server/0747-Add-paper-mobcaps-and-paper-playermobcaps.patch)0
-rw-r--r--patches/server/0747-Prevent-unload-calls-removing-tickets-for-sync-loads.patch (renamed from patches/server/0748-Prevent-unload-calls-removing-tickets-for-sync-loads.patch)0
-rw-r--r--patches/server/0748-Sanitize-ResourceLocation-error-logging.patch (renamed from patches/server/0749-Sanitize-ResourceLocation-error-logging.patch)0
-rw-r--r--patches/server/0749-Optimise-general-POI-access.patch (renamed from patches/server/0750-Optimise-general-POI-access.patch)0
-rw-r--r--patches/server/0750-Allow-controlled-flushing-for-network-manager.patch (renamed from patches/server/0751-Allow-controlled-flushing-for-network-manager.patch)0
-rw-r--r--patches/server/0751-Add-more-async-catchers.patch (renamed from patches/server/0752-Add-more-async-catchers.patch)0
-rw-r--r--patches/server/0752-Rewrite-entity-bounding-box-lookup-calls.patch (renamed from patches/server/0753-Rewrite-entity-bounding-box-lookup-calls.patch)2
-rw-r--r--patches/server/0753-Optimise-chunk-tick-iteration.patch (renamed from patches/server/0754-Optimise-chunk-tick-iteration.patch)0
-rw-r--r--patches/server/0754-Execute-chunk-tasks-mid-tick.patch (renamed from patches/server/0755-Execute-chunk-tasks-mid-tick.patch)0
-rw-r--r--patches/server/0755-Do-not-copy-visible-chunks.patch (renamed from patches/server/0756-Do-not-copy-visible-chunks.patch)0
-rw-r--r--patches/server/0756-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch (renamed from patches/server/0757-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch)0
-rw-r--r--patches/server/0757-Custom-table-implementation-for-blockstate-state-loo.patch (renamed from patches/server/0758-Custom-table-implementation-for-blockstate-state-loo.patch)0
-rw-r--r--patches/server/0758-Detail-more-information-in-watchdog-dumps.patch (renamed from patches/server/0759-Detail-more-information-in-watchdog-dumps.patch)2
-rw-r--r--patches/server/0759-Manually-inline-methods-in-BlockPosition.patch (renamed from patches/server/0760-Manually-inline-methods-in-BlockPosition.patch)0
-rw-r--r--patches/server/0760-Distance-manager-tick-timings.patch (renamed from patches/server/0761-Distance-manager-tick-timings.patch)0
-rw-r--r--patches/server/0761-Name-craft-scheduler-threads-according-to-the-plugin.patch (renamed from patches/server/0762-Name-craft-scheduler-threads-according-to-the-plugin.patch)0
-rw-r--r--patches/server/0762-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch (renamed from patches/server/0763-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch)0
-rw-r--r--patches/server/0763-Add-packet-limiter-config.patch (renamed from patches/server/0764-Add-packet-limiter-config.patch)0
-rw-r--r--patches/server/0764-Lag-compensate-block-breaking.patch (renamed from patches/server/0765-Lag-compensate-block-breaking.patch)0
-rw-r--r--patches/server/0765-Use-correct-LevelStem-registry-when-loading-default-.patch (renamed from patches/server/0766-Use-correct-LevelStem-registry-when-loading-default-.patch)0
-rw-r--r--patches/server/0766-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch (renamed from patches/server/0767-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch)0
-rw-r--r--patches/server/0767-Consolidate-flush-calls-for-entity-tracker-packets.patch (renamed from patches/server/0768-Consolidate-flush-calls-for-entity-tracker-packets.patch)0
-rw-r--r--patches/server/0768-Don-t-lookup-fluid-state-when-raytracing.patch (renamed from patches/server/0769-Don-t-lookup-fluid-state-when-raytracing.patch)0
-rw-r--r--patches/server/0769-Time-scoreboard-search.patch (renamed from patches/server/0770-Time-scoreboard-search.patch)0
-rw-r--r--patches/server/0770-Send-full-pos-packets-for-hard-colliding-entities.patch (renamed from patches/server/0771-Send-full-pos-packets-for-hard-colliding-entities.patch)0
-rw-r--r--patches/server/0771-Do-not-run-raytrace-logic-for-AIR.patch (renamed from patches/server/0772-Do-not-run-raytrace-logic-for-AIR.patch)0
-rw-r--r--patches/server/0772-Oprimise-map-impl-for-tracked-players.patch (renamed from patches/server/0773-Oprimise-map-impl-for-tracked-players.patch)0
-rw-r--r--patches/server/0773-Optimise-BlockSoil-nearby-water-lookup.patch (renamed from patches/server/0774-Optimise-BlockSoil-nearby-water-lookup.patch)0
-rw-r--r--patches/server/0774-Allow-removal-addition-of-entities-to-entity-ticklis.patch (renamed from patches/server/0775-Allow-removal-addition-of-entities-to-entity-ticklis.patch)0
-rw-r--r--patches/server/0775-Optimise-random-block-ticking.patch (renamed from patches/server/0776-Optimise-random-block-ticking.patch)0
-rw-r--r--patches/server/0776-Optimise-non-flush-packet-sending.patch (renamed from patches/server/0777-Optimise-non-flush-packet-sending.patch)0
-rw-r--r--patches/server/0777-Optimise-nearby-player-lookups.patch (renamed from patches/server/0778-Optimise-nearby-player-lookups.patch)0
-rw-r--r--patches/server/0778-Optimise-WorldServer-notify.patch (renamed from patches/server/0779-Optimise-WorldServer-notify.patch)0
-rw-r--r--patches/server/0779-Remove-streams-for-villager-AI.patch (renamed from patches/server/0780-Remove-streams-for-villager-AI.patch)0
-rw-r--r--patches/server/0780-Rewrite-dataconverter-system.patch (renamed from patches/server/0781-Rewrite-dataconverter-system.patch)0
-rw-r--r--patches/server/0781-Use-Velocity-compression-and-cipher-natives.patch (renamed from patches/server/0782-Use-Velocity-compression-and-cipher-natives.patch)6
-rw-r--r--patches/server/0782-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch (renamed from patches/server/0783-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch)0
-rw-r--r--patches/server/0783-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch (renamed from patches/server/0784-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch)0
-rw-r--r--patches/server/0784-Async-catch-modifications-to-critical-entity-state.patch (renamed from patches/server/0785-Async-catch-modifications-to-critical-entity-state.patch)0
-rw-r--r--patches/server/0785-Fix-Bukkit-NamespacedKey-shenanigans.patch (renamed from patches/server/0786-Fix-Bukkit-NamespacedKey-shenanigans.patch)0
-rw-r--r--patches/server/0786-Fix-merchant-inventory-not-closing-on-entity-removal.patch (renamed from patches/server/0787-Fix-merchant-inventory-not-closing-on-entity-removal.patch)0
-rw-r--r--patches/server/0787-Check-requirement-before-suggesting-root-nodes.patch (renamed from patches/server/0788-Check-requirement-before-suggesting-root-nodes.patch)0
-rw-r--r--patches/server/0788-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch (renamed from patches/server/0789-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch)0
-rw-r--r--patches/server/0789-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch (renamed from patches/server/0790-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch)0
-rw-r--r--patches/server/0790-Ensure-valid-vehicle-status.patch (renamed from patches/server/0791-Ensure-valid-vehicle-status.patch)0
-rw-r--r--patches/server/0791-Prevent-softlocked-end-exit-portal-generation.patch (renamed from patches/server/0792-Prevent-softlocked-end-exit-portal-generation.patch)0
-rw-r--r--patches/server/0792-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch (renamed from patches/server/0793-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch)0
-rw-r--r--patches/server/0793-Don-t-log-debug-logging-being-disabled.patch (renamed from patches/server/0794-Don-t-log-debug-logging-being-disabled.patch)0
-rw-r--r--patches/server/0794-Mark-fish-and-axolotls-from-buckets-as-persistent.patch (renamed from patches/server/0795-Mark-fish-and-axolotls-from-buckets-as-persistent.patch)0
-rw-r--r--patches/server/0795-fix-various-menus-with-empty-level-accesses.patch (renamed from patches/server/0796-fix-various-menus-with-empty-level-accesses.patch)0
-rw-r--r--patches/server/0796-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch (renamed from patches/server/0797-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch)0
-rw-r--r--patches/server/0797-Preserve-overstacked-loot.patch (renamed from patches/server/0798-Preserve-overstacked-loot.patch)0
-rw-r--r--patches/server/0798-Update-head-rotation-in-missing-places.patch (renamed from patches/server/0799-Update-head-rotation-in-missing-places.patch)2
-rw-r--r--patches/server/0799-prevent-unintended-light-block-manipulation.patch (renamed from patches/server/0800-prevent-unintended-light-block-manipulation.patch)0
-rw-r--r--patches/server/0800-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch (renamed from patches/server/0801-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch)0
-rw-r--r--patches/server/0801-Fix-CraftCriteria-defaults-map.patch (renamed from patches/server/0802-Fix-CraftCriteria-defaults-map.patch)0
-rw-r--r--patches/server/0802-Fix-upstreams-block-state-factories.patch (renamed from patches/server/0803-Fix-upstreams-block-state-factories.patch)0
-rw-r--r--patches/server/0803-Add-config-option-for-logging-player-ip-addresses.patch (renamed from patches/server/0804-Add-config-option-for-logging-player-ip-addresses.patch)0
-rw-r--r--patches/server/0804-Configurable-feature-seeds.patch (renamed from patches/server/0805-Configurable-feature-seeds.patch)0
-rw-r--r--patches/server/0805-VanillaCommandWrapper-didnt-account-for-entity-sende.patch (renamed from patches/server/0806-VanillaCommandWrapper-didnt-account-for-entity-sende.patch)0
-rw-r--r--patches/server/0806-Add-root-admin-user-detection.patch (renamed from patches/server/0807-Add-root-admin-user-detection.patch)0
-rw-r--r--patches/server/0807-Always-allow-item-changing-in-Fireball.patch (renamed from patches/server/0808-Always-allow-item-changing-in-Fireball.patch)0
-rw-r--r--patches/server/0808-don-t-attempt-to-teleport-dead-entities.patch (renamed from patches/server/0809-don-t-attempt-to-teleport-dead-entities.patch)2
-rw-r--r--patches/server/0809-Fix-anvil-prepare-event-not-working-with-zero-xp.patch (renamed from patches/server/0811-Fix-anvil-prepare-event-not-working-with-zero-xp.patch)0
-rw-r--r--patches/server/0810-Call-onRemove-logic-for-breakNaturally.patch26
-rw-r--r--patches/server/0810-Prevent-excessive-velocity-through-repeated-crits.patch (renamed from patches/server/0812-Prevent-excessive-velocity-through-repeated-crits.patch)0
-rw-r--r--patches/server/0811-Remove-client-side-code-using-deprecated-for-removal.patch (renamed from patches/server/0813-Remove-client-side-code-using-deprecated-for-removal.patch)0
-rw-r--r--patches/server/0812-Rewrite-the-light-engine.patch (renamed from patches/server/0814-Rewrite-the-light-engine.patch)2
-rw-r--r--patches/server/0813-Always-parse-protochunk-light-sources-unless-it-is-m.patch (renamed from patches/server/0815-Always-parse-protochunk-light-sources-unless-it-is-m.patch)0
-rw-r--r--patches/server/0814-Fix-removing-recipes-from-RecipeIterator.patch (renamed from patches/server/0816-Fix-removing-recipes-from-RecipeIterator.patch)0
-rw-r--r--patches/server/0815-Prevent-sending-oversized-item-data-in-equipment-and.patch (renamed from patches/server/0817-Prevent-sending-oversized-item-data-in-equipment-and.patch)0
-rw-r--r--patches/server/0816-Hide-unnecessary-itemmeta-from-clients.patch (renamed from patches/server/0818-Hide-unnecessary-itemmeta-from-clients.patch)0
-rw-r--r--patches/server/0817-Fix-kelp-modifier-changing-growth-for-other-crops.patch (renamed from patches/server/0819-Fix-kelp-modifier-changing-growth-for-other-crops.patch)0
-rw-r--r--patches/server/0818-Prevent-ContainerOpenersCounter-openCount-from-going.patch (renamed from patches/server/0820-Prevent-ContainerOpenersCounter-openCount-from-going.patch)0
-rw-r--r--patches/server/0819-Add-PlayerItemFrameChangeEvent.patch (renamed from patches/server/0821-Add-PlayerItemFrameChangeEvent.patch)0
-rw-r--r--patches/server/0820-Add-player-health-update-API.patch (renamed from patches/server/0822-Add-player-health-update-API.patch)6
-rw-r--r--patches/server/0821-Optimize-HashMapPalette.patch (renamed from patches/server/0823-Optimize-HashMapPalette.patch)2
-rw-r--r--patches/server/0822-Allow-delegation-to-vanilla-chunk-gen.patch (renamed from patches/server/0824-Allow-delegation-to-vanilla-chunk-gen.patch)4
-rw-r--r--patches/server/0823-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch (renamed from patches/server/0825-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch)0
-rw-r--r--patches/server/0824-Optimise-collision-checking-in-player-move-packet-ha.patch (renamed from patches/server/0826-Optimise-collision-checking-in-player-move-packet-ha.patch)0
-rw-r--r--patches/server/0825-Actually-unload-POI-data.patch (renamed from patches/server/0827-Actually-unload-POI-data.patch)0
-rw-r--r--patches/server/0826-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch (renamed from patches/server/0828-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch)0
-rw-r--r--patches/server/0827-Update-Log4j.patch (renamed from patches/server/0829-Update-Log4j.patch)2
-rw-r--r--patches/server/0828-Add-more-Campfire-API.patch (renamed from patches/server/0830-Add-more-Campfire-API.patch)0
-rw-r--r--patches/server/0829-Fix-WorldGenRegion-leak-when-converting-pre-1.18-chu.patch (renamed from patches/server/0831-Fix-WorldGenRegion-leak-when-converting-pre-1.18-chu.patch)0
-rwxr-xr-xscripts/apatch.sh2
m---------work/Bukkit0
m---------work/CraftBukkit0
m---------work/Spigot0
240 files changed, 432 insertions, 453 deletions
diff --git a/patches/api/0001-Convert-project-to-Gradle.patch b/patches/api/0001-Convert-project-to-Gradle.patch
index a623f130c6..53ca02cece 100644
--- a/patches/api/0001-Convert-project-to-Gradle.patch
+++ b/patches/api/0001-Convert-project-to-Gradle.patch
@@ -27,7 +27,7 @@ index e431e3435737e28394d81b56568a08b3c3148b9b..b23bde3b5e881f146539a307d0a59f21
+/.factorypath
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
-index 0000000000000000000000000000000000000000..1b16a242187079f80720fc1990ee09bb6a5c2768
+index 0000000000000000000000000000000000000000..c76bfbcfbe034700bdbd9396643cfca625273a14
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,66 @@
@@ -47,17 +47,17 @@ index 0000000000000000000000000000000000000000..1b16a242187079f80720fc1990ee09bb
+ api("com.google.guava:guava:31.0.1-jre")
+ api("com.google.code.gson:gson:2.8.8")
+ api("net.md-5:bungeecord-chat:1.16-R0.4")
-+ api("org.yaml:snakeyaml:1.28")
++ api("org.yaml:snakeyaml:1.30")
+
-+ compileOnly("org.apache.maven:maven-resolver-provider:3.8.1")
-+ compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0")
-+ compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.0")
++ compileOnly("org.apache.maven:maven-resolver-provider:3.8.4")
++ compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.2")
++ compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.2")
+
-+ val annotations = "org.jetbrains:annotations-java5:21.0.1"
++ val annotations = "org.jetbrains:annotations-java5:23.0.0"
+ compileOnly(annotations)
+ testCompileOnly(annotations)
+
-+ testImplementation("junit:junit:4.13.1")
++ testImplementation("junit:junit:4.13.2")
+ testImplementation("org.hamcrest:hamcrest-library:1.3")
+ testImplementation("org.ow2.asm:asm-tree:9.2")
+}
@@ -92,14 +92,14 @@ index 0000000000000000000000000000000000000000..1b16a242187079f80720fc1990ee09bb
+tasks.withType<Javadoc> {
+ (options as StandardJavadocDocletOptions).links(
+ "https://guava.dev/releases/31.0.1-jre/api/docs/",
-+ "https://javadoc.io/doc/org.yaml/snakeyaml/1.28/",
-+ "https://javadoc.io/doc/org.jetbrains/annotations-java5/21.0.1/",
++ "https://javadoc.io/doc/org.yaml/snakeyaml/1.30/",
++ "https://javadoc.io/doc/org.jetbrains/annotations-java5/23.0.0/",
+ "https://javadoc.io/doc/net.md-5/bungeecord-chat/1.16-R0.4/",
+ )
+}
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
-index 0e69806e4b6fa44d1d2f8ebf1cf0dc4ef386e69e..0000000000000000000000000000000000000000
+index 9c130bf7fe7ec4b6b5d4f4c30cdbe6dc75b0f9a0..0000000000000000000000000000000000000000
--- a/pom.xml
+++ /dev/null
@@ -1,262 +0,0 @@
@@ -166,40 +166,40 @@ index 0e69806e4b6fa44d1d2f8ebf1cf0dc4ef386e69e..00000000000000000000000000000000
- <dependency>
- <groupId>org.yaml</groupId>
- <artifactId>snakeyaml</artifactId>
-- <version>1.28</version>
+- <version>1.30</version>
- <scope>compile</scope>
- </dependency>
- <!-- not part of the API proper -->
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-resolver-provider</artifactId>
-- <version>3.8.1</version>
+- <version>3.8.4</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.resolver</groupId>
- <artifactId>maven-resolver-connector-basic</artifactId>
-- <version>1.7.0</version>
+- <version>1.7.2</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.resolver</groupId>
- <artifactId>maven-resolver-transport-http</artifactId>
-- <version>1.7.0</version>
+- <version>1.7.2</version>
- <scope>provided</scope>
- </dependency>
- <!-- annotations -->
- <dependency>
- <groupId>org.jetbrains</groupId>
- <artifactId>annotations-java5</artifactId>
-- <version>21.0.1</version>
+- <version>23.0.0</version>
- <scope>provided</scope>
- </dependency>
- <!-- testing -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
-- <version>4.13.1</version>
+- <version>4.13.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
@@ -248,7 +248,7 @@ index 0e69806e4b6fa44d1d2f8ebf1cf0dc4ef386e69e..00000000000000000000000000000000
- <dependency>
- <groupId>org.eclipse.jdt</groupId>
- <artifactId>ecj</artifactId>
-- <version>3.27.0</version>
+- <version>3.28.0</version>
- </dependency>
- </dependencies>
- </plugin>
@@ -299,8 +299,8 @@ index 0e69806e4b6fa44d1d2f8ebf1cf0dc4ef386e69e..00000000000000000000000000000000
- <configuration>
- <links>
- <link>https://guava.dev/releases/31.0.1-jre/api/docs/</link>
-- <link>https://javadoc.io/doc/org.yaml/snakeyaml/1.28/</link>
-- <link>https://javadoc.io/doc/org.jetbrains/annotations-java5/21.0.1/</link>
+- <link>https://javadoc.io/doc/org.yaml/snakeyaml/1.30/</link>
+- <link>https://javadoc.io/doc/org.jetbrains/annotations-java5/23.0.0/</link>
- <link>https://javadoc.io/doc/net.md-5/bungeecord-chat/1.16-R0.4/</link>
- </links>
- </configuration>
diff --git a/patches/api/0002-Build-system-changes.patch b/patches/api/0002-Build-system-changes.patch
index b34052204b..fb74bef974 100644
--- a/patches/api/0002-Build-system-changes.patch
+++ b/patches/api/0002-Build-system-changes.patch
@@ -5,26 +5,26 @@ Subject: [PATCH] Build system changes
diff --git a/build.gradle.kts b/build.gradle.kts
-index 1b16a242187079f80720fc1990ee09bb6a5c2768..b6ec62c00140a1e225e93c4b0413c0767f4ca5b8 100644
+index c76bfbcfbe034700bdbd9396643cfca625273a14..364b6215d2facb0273a67ff605ccb8e707e080b8 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -15,15 +15,27 @@ dependencies {
api("com.google.code.gson:gson:2.8.8")
api("net.md-5:bungeecord-chat:1.16-R0.4")
- api("org.yaml:snakeyaml:1.28")
+ api("org.yaml:snakeyaml:1.30")
+ // Paper start
+ api("com.googlecode.json-simple:json-simple:1.1.1") {
+ isTransitive = false // includes junit
+ }
+ // Paper end
- compileOnly("org.apache.maven:maven-resolver-provider:3.8.1")
- compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0")
- compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.0")
+ compileOnly("org.apache.maven:maven-resolver-provider:3.8.4")
+ compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.2")
+ compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.2")
+ compileOnly("com.google.code.findbugs:jsr305:1.3.9") // Paper
-- val annotations = "org.jetbrains:annotations-java5:21.0.1"
-+ val annotations = "org.jetbrains:annotations:21.0.1" // Paper - we don't want Java 5 annotations...
+- val annotations = "org.jetbrains:annotations-java5:23.0.0"
++ val annotations = "org.jetbrains:annotations:23.0.0" // Paper - we don't want Java 5 annotations...
compileOnly(annotations)
testCompileOnly(annotations)
@@ -34,15 +34,15 @@ index 1b16a242187079f80720fc1990ee09bb6a5c2768..b6ec62c00140a1e225e93c4b0413c076
+ testCompileOnly(checkerAnnotations)
+ // Paper end
+
- testImplementation("junit:junit:4.13.1")
+ testImplementation("junit:junit:4.13.2")
testImplementation("org.hamcrest:hamcrest-library:1.3")
testImplementation("org.ow2.asm:asm-tree:9.2")
@@ -60,7 +72,7 @@ tasks.withType<Javadoc> {
(options as StandardJavadocDocletOptions).links(
"https://guava.dev/releases/31.0.1-jre/api/docs/",
- "https://javadoc.io/doc/org.yaml/snakeyaml/1.28/",
-- "https://javadoc.io/doc/org.jetbrains/annotations-java5/21.0.1/",
-+ "https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/", // Paper - we don't want Java 5 annotations
+ "https://javadoc.io/doc/org.yaml/snakeyaml/1.30/",
+- "https://javadoc.io/doc/org.jetbrains/annotations-java5/23.0.0/",
++ "https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/", // Paper - we don't want Java 5 annotations
"https://javadoc.io/doc/net.md-5/bungeecord-chat/1.16-R0.4/",
)
}
diff --git a/patches/api/0004-Add-FastUtil-to-Bukkit.patch b/patches/api/0004-Add-FastUtil-to-Bukkit.patch
index 5ebfe29090..af4e597708 100644
--- a/patches/api/0004-Add-FastUtil-to-Bukkit.patch
+++ b/patches/api/0004-Add-FastUtil-to-Bukkit.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add FastUtil to Bukkit
Doesn't expose to plugins, just allows Paper-API to use it for optimization
diff --git a/build.gradle.kts b/build.gradle.kts
-index 1168642d832727af2173dfcae6d132a9d44132c1..a1fd76a7a7fea04a67752ff60834b566fe6f5ec5 100644
+index 364b6215d2facb0273a67ff605ccb8e707e080b8..3777d12874ede329410a6bf1c0533deb44924d73 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -19,6 +19,7 @@ dependencies {
@@ -16,4 +16,4 @@ index 1168642d832727af2173dfcae6d132a9d44132c1..a1fd76a7a7fea04a67752ff60834b566
+ api("it.unimi.dsi:fastutil:8.5.6")
// Paper end
- compileOnly("org.apache.maven:maven-resolver-provider:3.8.1")
+ compileOnly("org.apache.maven:maven-resolver-provider:3.8.4")
diff --git a/patches/api/0006-Timings-v2.patch b/patches/api/0006-Timings-v2.patch
index 899d4cbd8c..ed2bf61dad 100644
--- a/patches/api/0006-Timings-v2.patch
+++ b/patches/api/0006-Timings-v2.patch
@@ -2782,10 +2782,10 @@ index 0000000000000000000000000000000000000000..5989ee21297935651b0edd44b8239e65
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 806aeee78956fc79fda62c706f40d3edd2ef8388..a238302f2a12194aa30a88867070705dc749b36b 100644
+index 072bcbbbf167e02ce5014b672f2cf63122d29b21..de7f303bce9e2454eaec12131cd1439a54281c7e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -704,7 +704,6 @@ public final class Bukkit {
+@@ -747,7 +747,6 @@ public final class Bukkit {
*/
public static void reload() {
server.reload();
@@ -2794,10 +2794,10 @@ index 806aeee78956fc79fda62c706f40d3edd2ef8388..a238302f2a12194aa30a88867070705d
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 70d711b51e6bb3860c17e631fe5892b6bde9b245..3e91c4000c468fd8bdcb938e942a7bbf4988cab2 100644
+index 2bfccae871b92749fa5893b5a7ff327fc93695ad..31e989bdaf60d38e14c84c4a0a31ede6e1a72e86 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1465,6 +1465,26 @@ public interface Server extends PluginMessageRecipient {
+@@ -1500,6 +1500,26 @@ public interface Server extends PluginMessageRecipient {
throw new UnsupportedOperationException("Not supported yet.");
}
@@ -3377,10 +3377,10 @@ index 2a145d851ce30360aa39549745bd87590c034584..00000000000000000000000000000000
- // Spigot end
-}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 9a864f54992cd0a6987d095ef3b98dd500d0eff9..4a20f96268ea831ed4fdd236b582abdf07dc4748 100644
+index 709016bdc30d5502765af842d4fc83af53779a9e..c36e4ceb1094aa9469f976e0952e2725358ff761 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1469,7 +1469,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1610,7 +1610,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
diff --git a/patches/api/0008-Adventure.patch b/patches/api/0008-Adventure.patch
index b6599a84a2..81fea21170 100644
--- a/patches/api/0008-Adventure.patch
+++ b/patches/api/0008-Adventure.patch
@@ -7,7 +7,7 @@ Co-authored-by: zml <[email protected]>
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/build.gradle.kts b/build.gradle.kts
-index 0a202cb63769d68ecda1644cb259c17740e5b00e..c0279749aacf5735309545cd40d164676dcf75fc 100644
+index 3777d12874ede329410a6bf1c0533deb44924d73..0e8e827b5a05ac9423386eaea4188d132cc7f954 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -8,6 +8,19 @@ java {
@@ -41,7 +41,7 @@ index 0a202cb63769d68ecda1644cb259c17740e5b00e..c0279749aacf5735309545cd40d16467
+ apiAndDocs("net.kyori:adventure-text-serializer-plain")
// Paper end
- compileOnly("org.apache.maven:maven-resolver-provider:3.8.1")
+ compileOnly("org.apache.maven:maven-resolver-provider:3.8.4")
@@ -70,10 +88,25 @@ tasks.jar {
}
@@ -57,8 +57,8 @@ index 0a202cb63769d68ecda1644cb259c17740e5b00e..c0279749aacf5735309545cd40d16467
+ }
(options as StandardJavadocDocletOptions).links(
"https://guava.dev/releases/31.0.1-jre/api/docs/",
- "https://javadoc.io/doc/org.yaml/snakeyaml/1.28/",
- "https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/", // Paper - we don't want Java 5 annotations
+ "https://javadoc.io/doc/org.yaml/snakeyaml/1.30/",
+ "https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/", // Paper - we don't want Java 5 annotations
"https://javadoc.io/doc/net.md-5/bungeecord-chat/1.16-R0.4/",
+ // Paper start
+ "https://jd.adventure.kyori.net/api/$adventureVersion/",
@@ -472,10 +472,10 @@ index 0000000000000000000000000000000000000000..77db592d05b754f879f8d1790642e9d9
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7f8425edc 100644
+index 0d96b6bdc744a23cc7322f2bd6a7a7b38acb6830..84a620bbbc24ded4075bce0209caed7fa03a92eb 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -326,7 +326,9 @@ public final class Bukkit {
+@@ -369,7 +369,9 @@ public final class Bukkit {
*
* @param message the message
* @return the number of players
@@ -485,7 +485,7 @@ index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7
public static int broadcastMessage(@NotNull String message) {
return server.broadcastMessage(message);
}
-@@ -969,6 +971,19 @@ public final class Bukkit {
+@@ -1012,6 +1014,19 @@ public final class Bukkit {
server.shutdown();
}
@@ -505,7 +505,7 @@ index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7
/**
* Broadcasts the specified message to every user with the given
* permission name.
-@@ -978,6 +993,21 @@ public final class Bukkit {
+@@ -1021,6 +1036,21 @@ public final class Bukkit {
* permissibles} must have to receive the broadcast
* @return number of message recipients
*/
@@ -527,7 +527,7 @@ index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7
public static int broadcast(@NotNull String message, @NotNull String permission) {
return server.broadcast(message, permission);
}
-@@ -1177,6 +1207,7 @@ public final class Bukkit {
+@@ -1220,6 +1250,7 @@ public final class Bukkit {
return server.createInventory(owner, type);
}
@@ -535,7 +535,7 @@ index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7
/**
* Creates an empty inventory with the specified type and title. If the type
* is {@link InventoryType#CHEST}, the new inventory has a size of 27;
-@@ -1202,6 +1233,38 @@ public final class Bukkit {
+@@ -1245,6 +1276,38 @@ public final class Bukkit {
* @see InventoryType#isCreatable()
*/
@NotNull
@@ -574,7 +574,7 @@ index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7
public static Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title) {
return server.createInventory(owner, type, title);
}
-@@ -1220,6 +1283,7 @@ public final class Bukkit {
+@@ -1263,6 +1326,7 @@ public final class Bukkit {
return server.createInventory(owner, size);
}
@@ -582,7 +582,7 @@ index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7
/**
* Creates an empty inventory of type {@link InventoryType#CHEST} with the
* specified size and title.
-@@ -1232,10 +1296,30 @@ public final class Bukkit {
+@@ -1275,10 +1339,30 @@ public final class Bukkit {
* @throws IllegalArgumentException if the size is not a multiple of 9
*/
@NotNull
@@ -613,7 +613,7 @@ index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7
/**
* Creates an empty merchant.
*
-@@ -1243,7 +1327,20 @@ public final class Bukkit {
+@@ -1286,7 +1370,20 @@ public final class Bukkit {
* when the merchant inventory is viewed
* @return a new merchant
*/
@@ -634,7 +634,7 @@ index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7
public static Merchant createMerchant(@Nullable String title) {
return server.createMerchant(title);
}
-@@ -1323,22 +1420,47 @@ public final class Bukkit {
+@@ -1366,22 +1463,47 @@ public final class Bukkit {
return server.isPrimaryThread();
}
@@ -786,7 +786,7 @@ index 803fa0019869127ee8c7e4fb1777a59c43e66f8a..c65f0d6569c130b4920a9e71ad24af64
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd315152812975855fe9 100644
+index 7f4d6d605934e47ec97b8ad7cca3c48460bc0082..ede5de4c310a93989608bf48b3e5116f380589dd 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -56,7 +56,7 @@ import org.jetbrains.annotations.Nullable;
@@ -816,7 +816,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129
*/
public static final String BROADCAST_CHANNEL_USERS = "bukkit.broadcast.user";
-@@ -269,7 +269,9 @@ public interface Server extends PluginMessageRecipient {
+@@ -304,7 +304,9 @@ public interface Server extends PluginMessageRecipient {
*
* @param message the message
* @return the number of players
@@ -826,7 +826,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129
public int broadcastMessage(@NotNull String message);
/**
-@@ -821,8 +823,33 @@ public interface Server extends PluginMessageRecipient {
+@@ -856,8 +858,33 @@ public interface Server extends PluginMessageRecipient {
* @param permission the required permission {@link Permissible
* permissibles} must have to receive the broadcast
* @return number of message recipients
@@ -860,7 +860,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129
/**
* Gets the player by the given name, regardless if they are offline or
-@@ -987,6 +1014,7 @@ public interface Server extends PluginMessageRecipient {
+@@ -1022,6 +1049,7 @@ public interface Server extends PluginMessageRecipient {
@NotNull
Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type);
@@ -868,7 +868,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129
/**
* Creates an empty inventory with the specified type and title. If the type
* is {@link InventoryType#CHEST}, the new inventory has a size of 27;
-@@ -1012,6 +1040,36 @@ public interface Server extends PluginMessageRecipient {
+@@ -1047,6 +1075,36 @@ public interface Server extends PluginMessageRecipient {
* @see InventoryType#isCreatable()
*/
@NotNull
@@ -905,7 +905,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129
Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title);
/**
-@@ -1026,6 +1084,22 @@ public interface Server extends PluginMessageRecipient {
+@@ -1061,6 +1119,22 @@ public interface Server extends PluginMessageRecipient {
@NotNull
Inventory createInventory(@Nullable InventoryHolder owner, int size) throws IllegalArgumentException;
@@ -928,7 +928,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129
/**
* Creates an empty inventory of type {@link InventoryType#CHEST} with the
* specified size and title.
-@@ -1036,10 +1110,13 @@ public interface Server extends PluginMessageRecipient {
+@@ -1071,10 +1145,13 @@ public interface Server extends PluginMessageRecipient {
* viewed
* @return a new inventory
* @throws IllegalArgumentException if the size is not a multiple of 9
@@ -942,7 +942,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129
/**
* Creates an empty merchant.
*
-@@ -1047,7 +1124,18 @@ public interface Server extends PluginMessageRecipient {
+@@ -1082,7 +1159,18 @@ public interface Server extends PluginMessageRecipient {
* when the merchant inventory is viewed
* @return a new merchant
*/
@@ -961,7 +961,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129
Merchant createMerchant(@Nullable String title);
/**
-@@ -1111,20 +1199,41 @@ public interface Server extends PluginMessageRecipient {
+@@ -1146,20 +1234,41 @@ public interface Server extends PluginMessageRecipient {
*/
boolean isPrimaryThread();
@@ -1003,7 +1003,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129
String getShutdownMessage();
/**
-@@ -1501,7 +1610,9 @@ public interface Server extends PluginMessageRecipient {
+@@ -1536,7 +1645,9 @@ public interface Server extends PluginMessageRecipient {
* Sends the component to the player
*
* @param component the components to send
@@ -1013,7 +1013,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129
public void broadcast(@NotNull net.md_5.bungee.api.chat.BaseComponent component) {
throw new UnsupportedOperationException("Not supported yet.");
}
-@@ -1510,7 +1621,9 @@ public interface Server extends PluginMessageRecipient {
+@@ -1545,7 +1656,9 @@ public interface Server extends PluginMessageRecipient {
* Sends an array of components as a single message to the player
*
* @param components the components to send
@@ -1579,7 +1579,7 @@ index 25a6f9313a1953def7470e411b53016f2ca14bef..10cb6088c4618f228c757f4e592b44ed
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0d5d00831 100644
+index c36e4ceb1094aa9469f976e0952e2725358ff761..32850ac21d59f962de10125e1b528856bc561d70 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -35,7 +35,28 @@ import org.jetbrains.annotations.Nullable;
@@ -1875,7 +1875,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor, boolean hasGlowingText) throws IllegalArgumentException;
/**
-@@ -1051,7 +1222,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1192,7 +1363,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param title Title text
* @param subtitle Subtitle text
@@ -1884,7 +1884,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0
*/
@Deprecated
public void sendTitle(@Nullable String title, @Nullable String subtitle);
-@@ -1070,7 +1241,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1211,7 +1382,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param fadeIn time in ticks for titles to fade in. Defaults to 10.
* @param stay time in ticks for titles to stay. Defaults to 70.
* @param fadeOut time in ticks for titles to fade out. Defaults to 20.
@@ -1894,7 +1894,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0
public void sendTitle(@Nullable String title, @Nullable String subtitle, int fadeIn, int stay, int fadeOut);
/**
-@@ -1297,6 +1470,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1438,6 +1611,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public int getClientViewDistance();
@@ -1909,7 +1909,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0
/**
* Gets the player's estimated ping in milliseconds.
*
-@@ -1322,8 +1503,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1463,8 +1644,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* they wish.
*
* @return the player's locale
@@ -1920,7 +1920,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0
public String getLocale();
/**
-@@ -1365,6 +1548,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1506,6 +1689,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public boolean isAllowingServerListings();
@@ -1935,7 +1935,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0
// Spigot start
public class Spigot extends Entity.Spigot {
-@@ -1419,11 +1610,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1560,11 +1751,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
throw new UnsupportedOperationException("Not supported yet.");
}
@@ -1949,7 +1949,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0
@Override
public void sendMessage(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
-@@ -1434,7 +1627,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1575,7 +1768,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param position the screen position
* @param component the components to send
@@ -1959,7 +1959,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent component) {
throw new UnsupportedOperationException("Not supported yet.");
}
-@@ -1444,7 +1639,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1585,7 +1780,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param position the screen position
* @param components the components to send
@@ -1969,7 +1969,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
}
-@@ -1455,7 +1652,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1596,7 +1793,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param position the screen position
* @param sender the sender of the message
* @param component the components to send
@@ -1979,7 +1979,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent component) {
throw new UnsupportedOperationException("Not supported yet.");
}
-@@ -1466,7 +1665,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1607,7 +1806,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param position the screen position
* @param sender the sender of the message
* @param components the components to send
diff --git a/patches/api/0009-Player-affects-spawning-API.patch b/patches/api/0009-Player-affects-spawning-API.patch
index 05cc9a53b4..55bb3b46fb 100644
--- a/patches/api/0009-Player-affects-spawning-API.patch
+++ b/patches/api/0009-Player-affects-spawning-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Player affects spawning API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 4f8c4a736c5c78cae66dd76b25d787f0d5d00831..2338eae12f5a984e953a332b3a5a6700a031dd5a 100644
+index 32850ac21d59f962de10125e1b528856bc561d70..b3b53db0a74df795866677285fab4c943db42100 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1509,6 +1509,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1650,6 +1650,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Deprecated // Paper
public String getLocale();
diff --git a/patches/api/0010-Add-getTPS-method.patch b/patches/api/0010-Add-getTPS-method.patch
index e689523512..d0a3ff3bdd 100644
--- a/patches/api/0010-Add-getTPS-method.patch
+++ b/patches/api/0010-Add-getTPS-method.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add getTPS method
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index ef06bd2972e0a4e7ffa0e91d2b0de5d7f8425edc..fb2001968b4f7498da9ea7bbb79468c1e5383c0f 100644
+index 84a620bbbc24ded4075bce0209caed7fa03a92eb..bbee4e40917cca4e692c3d60c1c513b4c847160f 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1685,6 +1685,17 @@ public final class Bukkit {
+@@ -1728,6 +1728,17 @@ public final class Bukkit {
return server.getEntity(uuid);
}
@@ -27,10 +27,10 @@ index ef06bd2972e0a4e7ffa0e91d2b0de5d7f8425edc..fb2001968b4f7498da9ea7bbb79468c1
* Get the advancement specified by this key.
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 4bea157f06924d80a850dd315152812975855fe9..dfe7aa74fb4b49a2f3994571c041f1a5d9668841 100644
+index ede5de4c310a93989608bf48b3e5116f380589dd..835041d2ab6545e52d963d96d558f9a7e52d279a 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1426,6 +1426,16 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1461,6 +1461,16 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@Nullable
Entity getEntity(@NotNull UUID uuid);
diff --git a/patches/api/0014-Add-view-distance-API.patch b/patches/api/0014-Add-view-distance-API.patch
index 6b1891a73a..f540860d10 100644
--- a/patches/api/0014-Add-view-distance-API.patch
+++ b/patches/api/0014-Add-view-distance-API.patch
@@ -65,10 +65,10 @@ index c58b1885662c6a234ffee75995051c9750c1a512..7b1fb280a86ab44756fc233b085f878d
public class Spigot {
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 2338eae12f5a984e953a332b3a5a6700a031dd5a..73c42df406d3935d8eeab2f27f4478f92d2d45d9 100644
+index b3b53db0a74df795866677285fab4c943db42100..152f848d2f93a52999f093bd83b4732af9aab8d8 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1523,6 +1523,62 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1664,6 +1664,62 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param affects Whether the player can affect mob spawning
*/
public void setAffectsSpawning(boolean affects);
diff --git a/patches/api/0018-Expose-server-CommandMap.patch b/patches/api/0018-Expose-server-CommandMap.patch
index de71d57cfe..9f4a755b1b 100644
--- a/patches/api/0018-Expose-server-CommandMap.patch
+++ b/patches/api/0018-Expose-server-CommandMap.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index fb2001968b4f7498da9ea7bbb79468c1e5383c0f..93598a80a3f71d5e90fa9d7c93c01e1024c045c8 100644
+index bbee4e40917cca4e692c3d60c1c513b4c847160f..259c15ada05115b9fc86f1de06649d5cec2ef137 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1869,6 +1869,19 @@ public final class Bukkit {
+@@ -1912,6 +1912,19 @@ public final class Bukkit {
return server.getUnsafe();
}
@@ -29,10 +29,10 @@ index fb2001968b4f7498da9ea7bbb79468c1e5383c0f..93598a80a3f71d5e90fa9d7c93c01e10
public static Server.Spigot spigot() {
return server.spigot();
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index dfe7aa74fb4b49a2f3994571c041f1a5d9668841..b476f473078512363a7142d82fbc28afaa4690ff 100644
+index 835041d2ab6545e52d963d96d558f9a7e52d279a..66211ef974b9e091983bfda108f6e420c01a9d78 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1436,6 +1436,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1471,6 +1471,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
public double[] getTPS();
// Paper end
diff --git a/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
index ac801cf869..4feb45418d 100644
--- a/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
+++ b/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Graduate bungeecord chat API from spigot subclasses
Change Javadoc to be accurate
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 93598a80a3f71d5e90fa9d7c93c01e1024c045c8..f1612106fa284f9d69f4b8981e5e5efac22765b8 100644
+index 259c15ada05115b9fc86f1de06649d5cec2ef137..5fc71e24f1562ff0d448b964f29fd109d4d9bb4d 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -333,6 +333,30 @@ public final class Bukkit {
+@@ -376,6 +376,30 @@ public final class Bukkit {
return server.broadcastMessage(message);
}
@@ -41,10 +41,10 @@ index 93598a80a3f71d5e90fa9d7c93c01e1024c045c8..f1612106fa284f9d69f4b8981e5e5efa
* Gets the name of the update folder. The update folder is used to safely
* update plugins at the right moment on a plugin load.
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index b476f473078512363a7142d82fbc28afaa4690ff..30252583c457a1afafa4172321e13673fb19c08f 100644
+index 66211ef974b9e091983bfda108f6e420c01a9d78..8fb6545406ab6029d82c903856bda6c6d6fa0636 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -274,6 +274,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -309,6 +309,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@Deprecated // Paper
public int broadcastMessage(@NotNull String message);
@@ -76,7 +76,7 @@ index b476f473078512363a7142d82fbc28afaa4690ff..30252583c457a1afafa4172321e13673
* Gets the name of the update folder. The update folder is used to safely
* update plugins at the right moment on a plugin load.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 73c42df406d3935d8eeab2f27f4478f92d2d45d9..b6a848261f7c136cbcb4a4f40223d2f248d546c2 100644
+index 152f848d2f93a52999f093bd83b4732af9aab8d8..771682aa1c5e1bfb9670cc98ce99439014d0d31c 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -708,6 +708,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
diff --git a/patches/api/0025-Complete-resource-pack-API.patch b/patches/api/0025-Complete-resource-pack-API.patch
index 95d5db5fa6..3ed4198de0 100644
--- a/patches/api/0025-Complete-resource-pack-API.patch
+++ b/patches/api/0025-Complete-resource-pack-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Complete resource pack API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 1df2ff828aee7dac50d63fe1d51104e9fb2ed264..9884b8eefea0cc84a1af5901410d77746f85b5d7 100644
+index 70e97db83071935dfe6cbf2a60660672d0205a96..8fa4606e187b4677d2302b4fec5c02adf652b3e5 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1251,7 +1251,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -18,7 +18,7 @@ index 1df2ff828aee7dac50d63fe1d51104e9fb2ed264..9884b8eefea0cc84a1af5901410d7774
public void setResourcePack(@NotNull String url);
/**
-@@ -1788,6 +1790,124 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1929,6 +1931,124 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
default net.kyori.adventure.text.event.HoverEvent<net.kyori.adventure.text.event.HoverEvent.ShowEntity> asHoverEvent(final @NotNull java.util.function.UnaryOperator<net.kyori.adventure.text.event.HoverEvent.ShowEntity> op) {
return net.kyori.adventure.text.event.HoverEvent.showEntity(op.apply(net.kyori.adventure.text.event.HoverEvent.ShowEntity.of(this.getType().getKey(), this.getUniqueId(), this.displayName())));
}
diff --git a/patches/api/0026-Use-ASM-for-event-executors.patch b/patches/api/0026-Use-ASM-for-event-executors.patch
index 382bc191fd..bec520ef22 100644
--- a/patches/api/0026-Use-ASM-for-event-executors.patch
+++ b/patches/api/0026-Use-ASM-for-event-executors.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Use ASM for event executors.
Uses method handles for private or static methods.
diff --git a/build.gradle.kts b/build.gradle.kts
-index 57c216660b86a35f3e182d90c2a107563eaf5cb1..5a1b66c6692451a78be6c4adb103de34bb06b056 100644
+index 0e8e827b5a05ac9423386eaea4188d132cc7f954..70d6503745942ea8637146369aeab8f9357c42d5 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -38,6 +38,9 @@ dependencies {
@@ -18,7 +18,7 @@ index 57c216660b86a35f3e182d90c2a107563eaf5cb1..5a1b66c6692451a78be6c4adb103de34
+ implementation("org.ow2.asm:asm-commons:9.2")
// Paper end
- compileOnly("org.apache.maven:maven-resolver-provider:3.8.1")
+ compileOnly("org.apache.maven:maven-resolver-provider:3.8.4")
diff --git a/src/main/java/com/destroystokyo/paper/event/executor/MethodHandleEventExecutor.java b/src/main/java/com/destroystokyo/paper/event/executor/MethodHandleEventExecutor.java
new file mode 100644
index 0000000000000000000000000000000000000000..5b28e9b1daba7834af67dbc193dd656bedd9a994
diff --git a/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch b/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch
index 7f906cf81b..bf64d7b98d 100644
--- a/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch
+++ b/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add command to reload permissions.yml and require confirm to
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index f1612106fa284f9d69f4b8981e5e5efac22765b8..0a2fc619ec9f28b43920cedcd18b75edfa66a36b 100644
+index 5fc71e24f1562ff0d448b964f29fd109d4d9bb4d..191e9985fc17ffbdb9b6bdadbea46da54f5f7599 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1904,6 +1904,13 @@ public final class Bukkit {
+@@ -1947,6 +1947,13 @@ public final class Bukkit {
public static org.bukkit.command.CommandMap getCommandMap() {
return server.getCommandMap();
}
@@ -24,10 +24,10 @@ index f1612106fa284f9d69f4b8981e5e5efac22765b8..0a2fc619ec9f28b43920cedcd18b75ed
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 30252583c457a1afafa4172321e13673fb19c08f..07146beb9009e7f631905db0c86a4f4a048039da 100644
+index 8fb6545406ab6029d82c903856bda6c6d6fa0636..731679a0893635f5cb71a19fd9ee8562795230b8 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1682,4 +1682,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1717,4 +1717,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
Spigot spigot();
// Spigot end
diff --git a/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch b/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch
index 18acabd480..be232c93b6 100644
--- a/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch
+++ b/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases
Reload the aliases stored in commands.yml
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 0a2fc619ec9f28b43920cedcd18b75edfa66a36b..2c94d2adfe6de1ea4d7d6d8f169e19f3cc0a9f08 100644
+index 191e9985fc17ffbdb9b6bdadbea46da54f5f7599..3f58ffb4c59a92259fc5dde3d220658b6e54896f 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1911,6 +1911,15 @@ public final class Bukkit {
+@@ -1954,6 +1954,15 @@ public final class Bukkit {
public static void reloadPermissions() {
server.reloadPermissions();
}
@@ -26,10 +26,10 @@ index 0a2fc619ec9f28b43920cedcd18b75edfa66a36b..2c94d2adfe6de1ea4d7d6d8f169e19f3
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 07146beb9009e7f631905db0c86a4f4a048039da..2b1c1fc275ce773f87a669c858ab00108cd0e39b 100644
+index 731679a0893635f5cb71a19fd9ee8562795230b8..01df6fc54078901a9195dd2bb45eaef1706ba036 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1684,4 +1684,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1719,4 +1719,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
// Spigot end
void reloadPermissions(); // Paper
diff --git a/patches/api/0045-Add-String-based-Action-Bar-API.patch b/patches/api/0045-Add-String-based-Action-Bar-API.patch
index 8a9b06d46e..482f703133 100644
--- a/patches/api/0045-Add-String-based-Action-Bar-API.patch
+++ b/patches/api/0045-Add-String-based-Action-Bar-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add String based Action Bar API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 9884b8eefea0cc84a1af5901410d77746f85b5d7..c89bfe671ec4110951595b5c8c9e91897bcf8e61 100644
+index 8fa4606e187b4677d2302b4fec5c02adf652b3e5..d98029f01bc81c5bf33545fee54bdbce17960b50 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3,6 +3,7 @@ package org.bukkit.entity;
@@ -68,7 +68,7 @@ index 9884b8eefea0cc84a1af5901410d77746f85b5d7..c89bfe671ec4110951595b5c8c9e9189
public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) {
spigot().sendMessage(position, components);
}
-@@ -1979,6 +2015,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2120,6 +2156,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Sends the component to the specified screen position of this player
*
@@ -76,7 +76,7 @@ index 9884b8eefea0cc84a1af5901410d77746f85b5d7..c89bfe671ec4110951595b5c8c9e9189
* @param position the screen position
* @param component the components to send
* @deprecated use {@code sendMessage} methods that accept {@link net.kyori.adventure.text.Component}
-@@ -1991,6 +2028,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2132,6 +2169,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Sends an array of components as a single message to the specified screen position of this player
*
diff --git a/patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch
index 6b0c0e1396..c323e5b78e 100644
--- a/patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch
+++ b/patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add configuration option to prevent player names from being
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 2c94d2adfe6de1ea4d7d6d8f169e19f3cc0a9f08..675f3d9c5213eb55cb10064c6df339e1d301989e 100644
+index 3f58ffb4c59a92259fc5dde3d220658b6e54896f..45c4fddb8562736eaf98810d70d002ae6e3664e7 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1920,6 +1920,16 @@ public final class Bukkit {
+@@ -1963,6 +1963,16 @@ public final class Bukkit {
public static boolean reloadCommandAliases() {
return server.reloadCommandAliases();
}
@@ -27,10 +27,10 @@ index 2c94d2adfe6de1ea4d7d6d8f169e19f3cc0a9f08..675f3d9c5213eb55cb10064c6df339e1
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 2b1c1fc275ce773f87a669c858ab00108cd0e39b..50c0fc0eb2c3fb7aec23594453e1b51264b83758 100644
+index 01df6fc54078901a9195dd2bb45eaef1706ba036..1db8f63d9207330acc1b403adce0773149bc879f 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1686,4 +1686,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1721,4 +1721,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
void reloadPermissions(); // Paper
boolean reloadCommandAliases(); // Paper
diff --git a/patches/api/0054-Fix-upstream-javadocs.patch b/patches/api/0054-Fix-upstream-javadocs.patch
index dd4b514de4..07f29b6019 100644
--- a/patches/api/0054-Fix-upstream-javadocs.patch
+++ b/patches/api/0054-Fix-upstream-javadocs.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Fix upstream javadocs
Upstream still refuses to use Java 8 with the API so they are likely unaware these are even issues.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 675f3d9c5213eb55cb10064c6df339e1d301989e..94c7ede642fa11d9065b494745ca23c8657b0616 100644
+index 45c4fddb8562736eaf98810d70d002ae6e3664e7..9838557d874e498e1f7cef8f219000dcaea7a263 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1177,6 +1177,8 @@ public final class Bukkit {
+@@ -1220,6 +1220,8 @@ public final class Bukkit {
/**
* Gets every player that has ever played on this server.
@@ -19,10 +19,10 @@ index 675f3d9c5213eb55cb10064c6df339e1d301989e..94c7ede642fa11d9065b494745ca23c8
* @return an array containing all previous players
*/
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 50c0fc0eb2c3fb7aec23594453e1b51264b83758..5b38517a366d4e695b7d4ea7af8177660b79b32b 100644
+index 1db8f63d9207330acc1b403adce0773149bc879f..ad11f8271d5b6f44d7d5cf0c122b51b2b8d1af3b 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -992,6 +992,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1027,6 +1027,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
/**
* Gets every player that has ever played on this server.
@@ -76,7 +76,7 @@ index be9334a8b5fba9181ad63c211697e798be63da25..0514a141cb93a650be38c63d4336d46e
* Instructs this Mob to set the specified LivingEntity as its target.
* <p>
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index c89bfe671ec4110951595b5c8c9e91897bcf8e61..48b127cafe6fecb1849b176df43cbf26e5a1db79 100644
+index d98029f01bc81c5bf33545fee54bdbce17960b50..dae5ffe9ed6ea43b269d14a6aaf08929fb90570f 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -728,7 +728,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
diff --git a/patches/api/0058-Basic-PlayerProfile-API.patch b/patches/api/0058-Basic-PlayerProfile-API.patch
index 0a24a0b781..2cbd23e6f3 100644
--- a/patches/api/0058-Basic-PlayerProfile-API.patch
+++ b/patches/api/0058-Basic-PlayerProfile-API.patch
@@ -267,10 +267,10 @@ index 0000000000000000000000000000000000000000..7b3b6ef533d32169fbeca389bd61cfc6
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 94c7ede642fa11d9065b494745ca23c8657b0616..621a6e09322de838a9d7de481a32f458e351d814 100644
+index 9838557d874e498e1f7cef8f219000dcaea7a263..c7daa7c9f85c62d0effd5c3f406568d77fd8cd78 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1932,6 +1932,40 @@ public final class Bukkit {
+@@ -1975,6 +1975,40 @@ public final class Bukkit {
public static boolean suggestPlayerNamesWhenNullTabCompletions() {
return server.suggestPlayerNamesWhenNullTabCompletions();
}
@@ -312,10 +312,10 @@ index 94c7ede642fa11d9065b494745ca23c8657b0616..621a6e09322de838a9d7de481a32f458
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 5b38517a366d4e695b7d4ea7af8177660b79b32b..e9945187a8af2688dae2eeb007a2a16bd5e88560 100644
+index ad11f8271d5b6f44d7d5cf0c122b51b2b8d1af3b..fb5c308d82e9103a212deea2a6fa2e158cddb931 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1697,5 +1697,33 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1732,5 +1732,33 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @return true if player names should be suggested
*/
boolean suggestPlayerNamesWhenNullTabCompletions();
diff --git a/patches/api/0091-Player.setPlayerProfile-API.patch b/patches/api/0091-Player.setPlayerProfile-API.patch
index 270d3ae83a..0ce8b444b6 100644
--- a/patches/api/0091-Player.setPlayerProfile-API.patch
+++ b/patches/api/0091-Player.setPlayerProfile-API.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Player.setPlayerProfile API
This can be useful for changing name or skins after a player has logged in.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 1e3a56ff656cdfe18cf665eecd8f126275f29715..f7aeb7aca3bf3929d1a8751928318ff6c7da96f6 100644
+index 4485542bcf3014364c2920026a07da6194d6ba29..1c3b5b1950b8b2cb660e160e455384780f2d4e75 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -4,6 +4,7 @@ import java.net.InetSocketAddress;
@@ -17,7 +17,7 @@ index 1e3a56ff656cdfe18cf665eecd8f126275f29715..f7aeb7aca3bf3929d1a8751928318ff6
import org.bukkit.DyeColor;
import org.bukkit.Effect;
import org.bukkit.GameMode;
-@@ -1965,6 +1966,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2106,6 +2107,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* was {@link org.bukkit.event.player.PlayerResourcePackStatusEvent.Status#SUCCESSFULLY_LOADED}
*/
boolean hasResourcePack();
diff --git a/patches/api/0092-getPlayerUniqueId-API.patch b/patches/api/0092-getPlayerUniqueId-API.patch
index 0172af8bdb..f8774143a4 100644
--- a/patches/api/0092-getPlayerUniqueId-API.patch
+++ b/patches/api/0092-getPlayerUniqueId-API.patch
@@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID
This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 621a6e09322de838a9d7de481a32f458e351d814..832b3f72c4a314dc0f38d412bdc999508f7d2b7b 100644
+index c7daa7c9f85c62d0effd5c3f406568d77fd8cd78..23960534cbb83cfca08ccc1e37bc7a713728b791 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -573,6 +573,20 @@ public final class Bukkit {
+@@ -616,6 +616,20 @@ public final class Bukkit {
return server.getPlayer(id);
}
@@ -34,10 +34,10 @@ index 621a6e09322de838a9d7de481a32f458e351d814..832b3f72c4a314dc0f38d412bdc99950
* Gets the plugin manager for interfacing with plugins.
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index e9945187a8af2688dae2eeb007a2a16bd5e88560..58e347f771b85c6bfbb06690f6a80fffaf1538f6 100644
+index fb5c308d82e9103a212deea2a6fa2e158cddb931..f7320c0797f31cc9609a6764d886bdb6dbd082af 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -489,6 +489,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -524,6 +524,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@Nullable
public Player getPlayer(@NotNull UUID id);
diff --git a/patches/api/0094-Add-openSign-method-to-HumanEntity.patch b/patches/api/0094-Add-openSign-method-to-HumanEntity.patch
index a87e737ca1..bd0d9c11d7 100644
--- a/patches/api/0094-Add-openSign-method-to-HumanEntity.patch
+++ b/patches/api/0094-Add-openSign-method-to-HumanEntity.patch
@@ -24,10 +24,10 @@ index 396092fd249928ca01133eeeeb61f0ad90b2e332..5cc025b69c4f405be8f7098d0dcef40f
/**
* Make the entity drop the item in their hand.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index f7aeb7aca3bf3929d1a8751928318ff6c7da96f6..da5dd22e75b998495258a482557221ebd52e0c39 100644
+index 1c3b5b1950b8b2cb660e160e455384780f2d4e75..7587483e96a842391e3711c165825682b58286cd 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1821,7 +1821,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1962,7 +1962,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Open a Sign for editing by the Player.
*
diff --git a/patches/api/0149-Expose-attack-cooldown-methods-for-Player.patch b/patches/api/0149-Expose-attack-cooldown-methods-for-Player.patch
index bca20c6e2d..ae5b213277 100644
--- a/patches/api/0149-Expose-attack-cooldown-methods-for-Player.patch
+++ b/patches/api/0149-Expose-attack-cooldown-methods-for-Player.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose attack cooldown methods for Player
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 07ae612268a5857cedf8c646a09eb30c9b0a036b..b3e63a1a8a71b127735a05bc4938587fc0963c17 100644
+index 55054303659544ac9ef0d69838e5f8fadb2d43c5..ecebe470f4b3579a5af39a4dfa541a7e470de181 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2140,6 +2140,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2281,6 +2281,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param profile The new profile to use
*/
void setPlayerProfile(@NotNull PlayerProfile profile);
diff --git a/patches/api/0165-Make-the-default-permission-message-configurable.patch b/patches/api/0165-Make-the-default-permission-message-configurable.patch
index fe51b80662..57e95dc845 100644
--- a/patches/api/0165-Make-the-default-permission-message-configurable.patch
+++ b/patches/api/0165-Make-the-default-permission-message-configurable.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Make the default permission message configurable
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 832b3f72c4a314dc0f38d412bdc999508f7d2b7b..80517b3bc7fe470c418cf9343c86b151ad9a702a 100644
+index 23960534cbb83cfca08ccc1e37bc7a713728b791..53a361b2f6d8d8e79f215e64d3b42fcbe54b0d81 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1947,6 +1947,15 @@ public final class Bukkit {
+@@ -1990,6 +1990,15 @@ public final class Bukkit {
return server.suggestPlayerNamesWhenNullTabCompletions();
}
@@ -25,10 +25,10 @@ index 832b3f72c4a314dc0f38d412bdc999508f7d2b7b..80517b3bc7fe470c418cf9343c86b151
* Creates a PlayerProfile for the specified uuid, with name as null
* @param uuid UUID to create profile for
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 58e347f771b85c6bfbb06690f6a80fffaf1538f6..2534560ccc8340500b71572ee6121df8ec06e154 100644
+index f7320c0797f31cc9609a6764d886bdb6dbd082af..963edbb1e7d47410b7474b8e0ce6774a76ea9d88 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1710,6 +1710,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1745,6 +1745,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
boolean suggestPlayerNamesWhenNullTabCompletions();
diff --git a/patches/api/0177-Fix-Spigot-annotation-mistakes.patch b/patches/api/0177-Fix-Spigot-annotation-mistakes.patch
index 9be65f44cf..b5140befef 100644
--- a/patches/api/0177-Fix-Spigot-annotation-mistakes.patch
+++ b/patches/api/0177-Fix-Spigot-annotation-mistakes.patch
@@ -9,10 +9,10 @@ a ton of noise to plugin developers.
These do not help plugin developers if they bring moise noise than value.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 80517b3bc7fe470c418cf9343c86b151ad9a702a..50412ec90cd480b7457dd30723d4978fb90fae72 100644
+index 53a361b2f6d8d8e79f215e64d3b42fcbe54b0d81..28bc240ba5d93e4112bd95963a334215b1dc2388 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1533,7 +1533,7 @@ public final class Bukkit {
+@@ -1576,7 +1576,7 @@ public final class Bukkit {
*
* @return the scoreboard manager or null if no worlds are loaded.
*/
@@ -21,7 +21,7 @@ index 80517b3bc7fe470c418cf9343c86b151ad9a702a..50412ec90cd480b7457dd30723d4978f
public static ScoreboardManager getScoreboardManager() {
return server.getScoreboardManager();
}
-@@ -1830,7 +1830,7 @@ public final class Bukkit {
+@@ -1873,7 +1873,7 @@ public final class Bukkit {
* @param clazz the class of the tag entries
* @return the tag or null
*/
@@ -62,10 +62,10 @@ index 88b3e0323dbc4f0fce31b147c7aaa08d65745852..23ca89dde7f6ac9082d4b97fce295942
if (this.world == null) {
return null;
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 2534560ccc8340500b71572ee6121df8ec06e154..5d3479f494e874d9824b178bfc0664d81e9b5649 100644
+index 963edbb1e7d47410b7474b8e0ce6774a76ea9d88..1ffdaf8a7814b44facf9648f9e1ba6525055405b 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1298,7 +1298,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1333,7 +1333,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*
* @return the scoreboard manager or null if no worlds are loaded.
*/
@@ -74,7 +74,7 @@ index 2534560ccc8340500b71572ee6121df8ec06e154..5d3479f494e874d9824b178bfc0664d8
ScoreboardManager getScoreboardManager();
/**
-@@ -1568,7 +1568,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1603,7 +1603,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @param clazz the class of the tag entries
* @return the tag or null
*/
diff --git a/patches/api/0185-Expose-the-internal-current-tick.patch b/patches/api/0185-Expose-the-internal-current-tick.patch
index 83ac823098..36d2927333 100644
--- a/patches/api/0185-Expose-the-internal-current-tick.patch
+++ b/patches/api/0185-Expose-the-internal-current-tick.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose the internal current tick
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 50412ec90cd480b7457dd30723d4978fb90fae72..8580bc20e24c3bde5b57f0727f79051c9d7d0f2e 100644
+index 28bc240ba5d93e4112bd95963a334215b1dc2388..f31a1f8a65a79953f6f053c785a7bdacb32291a0 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1989,6 +1989,10 @@ public final class Bukkit {
+@@ -2032,6 +2032,10 @@ public final class Bukkit {
public static com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nullable UUID uuid, @Nullable String name) {
return server.createProfile(uuid, name);
}
@@ -20,10 +20,10 @@ index 50412ec90cd480b7457dd30723d4978fb90fae72..8580bc20e24c3bde5b57f0727f79051c
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 5d3479f494e874d9824b178bfc0664d81e9b5649..b765aa35680e67bb919c020b54830ee5aca9d27f 100644
+index 1ffdaf8a7814b44facf9648f9e1ba6525055405b..f78119e1fad76cd7bbb0a5b78973baf7876d3a9e 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1744,5 +1744,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1779,5 +1779,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nullable UUID uuid, @Nullable String name);
diff --git a/patches/api/0191-Add-tick-times-API.patch b/patches/api/0191-Add-tick-times-API.patch
index 4b4b3793bb..dcec4879fd 100644
--- a/patches/api/0191-Add-tick-times-API.patch
+++ b/patches/api/0191-Add-tick-times-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add tick times API
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 8580bc20e24c3bde5b57f0727f79051c9d7d0f2e..a5f1191abb99a63dc2e20ef59688e4df30e12f67 100644
+index f31a1f8a65a79953f6f053c785a7bdacb32291a0..c277b48d45c7aab3b727a7019b3ef253e045629d 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1734,6 +1734,25 @@ public final class Bukkit {
+@@ -1777,6 +1777,25 @@ public final class Bukkit {
public static double[] getTPS() {
return server.getTPS();
}
@@ -35,10 +35,10 @@ index 8580bc20e24c3bde5b57f0727f79051c9d7d0f2e..a5f1191abb99a63dc2e20ef59688e4df
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index b765aa35680e67bb919c020b54830ee5aca9d27f..0c5776e05e53802c45caea39002828507155fed5 100644
+index f78119e1fad76cd7bbb0a5b78973baf7876d3a9e..38febebef94652a9e44475560974d6e8d6949db0 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1472,6 +1472,21 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1507,6 +1507,21 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
public double[] getTPS();
diff --git a/patches/api/0192-Expose-MinecraftServer-isRunning.patch b/patches/api/0192-Expose-MinecraftServer-isRunning.patch
index 88f637c9f4..ad0f1da75c 100644
--- a/patches/api/0192-Expose-MinecraftServer-isRunning.patch
+++ b/patches/api/0192-Expose-MinecraftServer-isRunning.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning
This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index a5f1191abb99a63dc2e20ef59688e4df30e12f67..ddaee386c6039eabb349481c2a66ec1292d0bfde 100644
+index c277b48d45c7aab3b727a7019b3ef253e045629d..c043e6798314e322e32a1c8e8ef6a795e022b858 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2012,6 +2012,15 @@ public final class Bukkit {
+@@ -2055,6 +2055,15 @@ public final class Bukkit {
public static int getCurrentTick() {
return server.getCurrentTick();
}
@@ -26,10 +26,10 @@ index a5f1191abb99a63dc2e20ef59688e4df30e12f67..ddaee386c6039eabb349481c2a66ec12
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 0c5776e05e53802c45caea39002828507155fed5..dd263faad52612a076847c717582e8fc09dc3345 100644
+index 38febebef94652a9e44475560974d6e8d6949db0..ad940c5d327c7e1e09aea7d2cee27a8abcf3fed7 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1766,5 +1766,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1801,5 +1801,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @return Current tick
*/
int getCurrentTick();
diff --git a/patches/api/0196-Add-Player-Client-Options-API.patch b/patches/api/0196-Add-Player-Client-Options-API.patch
index 850a6126bf..8019df7f8b 100644
--- a/patches/api/0196-Add-Player-Client-Options-API.patch
+++ b/patches/api/0196-Add-Player-Client-Options-API.patch
@@ -193,7 +193,7 @@ index 0000000000000000000000000000000000000000..f7f171c4ee0b8339b2f8fbe82442d65f
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index b3e63a1a8a71b127735a05bc4938587fc0963c17..7f42df9683761ef022a2ff47915aca258158d633 100644
+index ecebe470f4b3579a5af39a4dfa541a7e470de181..b349b2c2a7c70e57b4c28c8b540d01a2c0e62959 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2,6 +2,7 @@ package org.bukkit.entity;
@@ -204,7 +204,7 @@ index b3e63a1a8a71b127735a05bc4938587fc0963c17..7f42df9683761ef022a2ff47915aca25
import com.destroystokyo.paper.Title; // Paper
import net.kyori.adventure.text.Component;
import com.destroystokyo.paper.profile.PlayerProfile; // Paper
-@@ -2160,6 +2161,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2301,6 +2302,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Reset the cooldown counter to 0, effectively starting the cooldown period.
*/
void resetCooldown();
diff --git a/patches/api/0202-Add-Mob-Goal-API.patch b/patches/api/0202-Add-Mob-Goal-API.patch
index c59aa43f9e..7f010834bd 100644
--- a/patches/api/0202-Add-Mob-Goal-API.patch
+++ b/patches/api/0202-Add-Mob-Goal-API.patch
@@ -521,10 +521,10 @@ index 0000000000000000000000000000000000000000..2405254739a83b2fb517da7fa4ea0721
+ @Deprecated GoalKey<Mob> UNIVERSAL_ANGER_RESET = GoalKey.of(Mob.class, NamespacedKey.minecraft("universal_anger_reset"));
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 93f6168f2748f127d94a13a3c92e257135bfc534..338f0938fbae7eec6cecaf3f1cd30d3e27ad40d6 100644
+index 92bebf6f46cdd2ff5bc09af32e2d6d2ef0f4f45b..0a29ddee94051e398780b9fa07e5ce2b46c51b97 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2033,6 +2033,16 @@ public final class Bukkit {
+@@ -2076,6 +2076,16 @@ public final class Bukkit {
public static boolean isStopping() {
return server.isStopping();
}
@@ -542,10 +542,10 @@ index 93f6168f2748f127d94a13a3c92e257135bfc534..338f0938fbae7eec6cecaf3f1cd30d3e
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 3b370b0cefe2debacb187d74e8c47ae56c7397e1..5a98eaeafafc11a7f925701187fc96eb5c675efe 100644
+index f9b25ecf5642c30c04f5e0483a654ff33d1c188d..a8e187a3f386210c712ab7d620d6a4aa91bf42f8 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1783,5 +1783,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1818,5 +1818,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @return true if server is in the process of being shutdown
*/
boolean isStopping();
diff --git a/patches/api/0220-Brand-support.patch b/patches/api/0220-Brand-support.patch
index 36eb6a5635..f4046aab70 100644
--- a/patches/api/0220-Brand-support.patch
+++ b/patches/api/0220-Brand-support.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Brand support
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 7f42df9683761ef022a2ff47915aca258158d633..59e5f30b46c2c9dcc424e0fd8553e76cd5f721cd 100644
+index b349b2c2a7c70e57b4c28c8b540d01a2c0e62959..f6137979701026f2acbd04d111afa79332bf08bf 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2295,6 +2295,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2436,6 +2436,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
// Paper end
}
diff --git a/patches/api/0229-Player-elytra-boost-API.patch b/patches/api/0229-Player-elytra-boost-API.patch
index bf2578bd46..f135296600 100644
--- a/patches/api/0229-Player-elytra-boost-API.patch
+++ b/patches/api/0229-Player-elytra-boost-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Player elytra boost API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 59e5f30b46c2c9dcc424e0fd8553e76cd5f721cd..833e049ba0f5f5ac45cc75a6766e8a605eadbf5e 100644
+index f6137979701026f2acbd04d111afa79332bf08bf..4847db0673ea2a6587703a30f9f3b4e3c278514b 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2167,6 +2167,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2308,6 +2308,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
@NotNull
<T> T getClientOption(@NotNull ClientOption<T> option);
diff --git a/patches/api/0230-Add-getOfflinePlayerIfCached-String.patch b/patches/api/0230-Add-getOfflinePlayerIfCached-String.patch
index e68ca79d44..37fe365874 100644
--- a/patches/api/0230-Add-getOfflinePlayerIfCached-String.patch
+++ b/patches/api/0230-Add-getOfflinePlayerIfCached-String.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String)
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 899a9dbd277b755195a67b6a0c56ac266a52e4c8..60528523299f92f842700cafd513a8ef6fd3c290 100644
+index dee9bcd9caee7c900a38c92d5e967cdaaf875a08..b2699b0d82f2cf05a04ded5bc335f91362ddfa9a 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1095,6 +1095,27 @@ public final class Bukkit {
+@@ -1138,6 +1138,27 @@ public final class Bukkit {
return server.getOfflinePlayer(name);
}
@@ -37,10 +37,10 @@ index 899a9dbd277b755195a67b6a0c56ac266a52e4c8..60528523299f92f842700cafd513a8ef
* Gets the player by the given UUID, regardless if they are offline or
* online.
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index ad19ce0418ce3477d21583cb83c9ced639b250ff..5e0124fbfa7caa4ed321bf1e01ad0fde9941d7ef 100644
+index a3f6a2bbc1d4626b657acc1e108c04ce8d0d577c..df893601ec71dcc782a7050fb10684c5980105ee 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -926,6 +926,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -961,6 +961,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
public OfflinePlayer getOfflinePlayer(@NotNull String name);
diff --git a/patches/api/0231-Add-ignore-discounts-API.patch b/patches/api/0231-Add-ignore-discounts-API.patch
index 492c998c91..fae76b45fa 100644
--- a/patches/api/0231-Add-ignore-discounts-API.patch
+++ b/patches/api/0231-Add-ignore-discounts-API.patch
@@ -5,31 +5,34 @@ Subject: [PATCH] Add ignore discounts API
diff --git a/src/main/java/org/bukkit/inventory/MerchantRecipe.java b/src/main/java/org/bukkit/inventory/MerchantRecipe.java
-index 1fb4a1c53791776f9c5a952a592f15fc35cb2703..2be2f3fe655c417bfc8f8e840f9e9415d168f37e 100644
+index 620a4df8166be7a17ba4546f5d705114490c2526..c52326961a163c552025456bcadc1c897e08deb0 100644
--- a/src/main/java/org/bukkit/inventory/MerchantRecipe.java
+++ b/src/main/java/org/bukkit/inventory/MerchantRecipe.java
-@@ -28,6 +28,7 @@ public class MerchantRecipe implements Recipe {
- private boolean experienceReward;
+@@ -59,6 +59,7 @@ public class MerchantRecipe implements Recipe {
+ private int demand;
private int villagerExperience;
private float priceMultiplier;
+ private boolean ignoreDiscounts; // Paper
public MerchantRecipe(@NotNull ItemStack result, int maxUses) {
this(result, 0, maxUses, false);
-@@ -38,6 +39,12 @@ public class MerchantRecipe implements Recipe {
+@@ -73,6 +74,15 @@ public class MerchantRecipe implements Recipe {
}
- public MerchantRecipe(@NotNull ItemStack result, int uses, int maxUses, boolean experienceReward, int villagerExperience, float priceMultiplier) {
+ public MerchantRecipe(@NotNull ItemStack result, int uses, int maxUses, boolean experienceReward, int villagerExperience, float priceMultiplier, int demand, int specialPrice) {
+ // Paper start - add ignoreDiscounts param
-+ this(result, uses, maxUses, experienceReward, villagerExperience, priceMultiplier, false);
++ this(result, uses, maxUses, experienceReward, villagerExperience, priceMultiplier, demand, specialPrice, false);
+ }
+ public MerchantRecipe(@NotNull ItemStack result, int uses, int maxUses, boolean experienceReward, int villagerExperience, float priceMultiplier, boolean ignoreDiscounts) {
++ this(result, uses, maxUses, experienceReward, villagerExperience, priceMultiplier, 0, 0, ignoreDiscounts);
++ }
++ public MerchantRecipe(@NotNull ItemStack result, int uses, int maxUses, boolean experienceReward, int villagerExperience, float priceMultiplier, int demand, int specialPrice, boolean ignoreDiscounts) {
+ this.ignoreDiscounts = ignoreDiscounts;
+ // Paper end
this.result = result;
this.uses = uses;
this.maxUses = maxUses;
-@@ -172,4 +179,20 @@ public class MerchantRecipe implements Recipe {
+@@ -298,4 +308,20 @@ public class MerchantRecipe implements Recipe {
public void setPriceMultiplier(float priceMultiplier) {
this.priceMultiplier = priceMultiplier;
}
diff --git a/patches/api/0257-Add-sendOpLevel-API.patch b/patches/api/0257-Add-sendOpLevel-API.patch
index db3cee49ab..da9f900e4f 100644
--- a/patches/api/0257-Add-sendOpLevel-API.patch
+++ b/patches/api/0257-Add-sendOpLevel-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add sendOpLevel API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 833e049ba0f5f5ac45cc75a6766e8a605eadbf5e..a27abc477900e7007e8e001a778a647af79c2d86 100644
+index 4847db0673ea2a6587703a30f9f3b4e3c278514b..f31519b5208ed1426bb59499c62e82e49a192488 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2180,6 +2180,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2321,6 +2321,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
@Nullable
Firework boostElytra(@NotNull ItemStack firework);
diff --git a/patches/api/0278-Implement-Keyed-on-World.patch b/patches/api/0278-Implement-Keyed-on-World.patch
index 40c3e90695..990e32790c 100644
--- a/patches/api/0278-Implement-Keyed-on-World.patch
+++ b/patches/api/0278-Implement-Keyed-on-World.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement Keyed on World
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 60528523299f92f842700cafd513a8ef6fd3c290..71423daecacf5cc8ec797ddfc8d74ca0af85b7b4 100644
+index b2699b0d82f2cf05a04ded5bc335f91362ddfa9a..ea5745e548b11e4d71737a78e10e53c23bc3eb8e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -708,6 +708,18 @@ public final class Bukkit {
+@@ -751,6 +751,18 @@ public final class Bukkit {
public static World getWorld(@NotNull UUID uid) {
return server.getWorld(uid);
}
@@ -28,10 +28,10 @@ index 60528523299f92f842700cafd513a8ef6fd3c290..71423daecacf5cc8ec797ddfc8d74ca0
/**
* Gets the map from the given item ID.
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 5e0124fbfa7caa4ed321bf1e01ad0fde9941d7ef..6aee6423d9c68e567f581899a2d83dc35e56bd55 100644
+index df893601ec71dcc782a7050fb10684c5980105ee..e435df76a752c523b8bc0bd2d2abf35c2460f880 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -601,6 +601,17 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -636,6 +636,17 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@Nullable
public World getWorld(@NotNull UUID uid);
diff --git a/patches/api/0297-Add-basic-Datapack-API.patch b/patches/api/0297-Add-basic-Datapack-API.patch
index 54afb44dc8..aa17cda2f7 100644
--- a/patches/api/0297-Add-basic-Datapack-API.patch
+++ b/patches/api/0297-Add-basic-Datapack-API.patch
@@ -70,10 +70,10 @@ index 0000000000000000000000000000000000000000..58f78d5e91beacaf710f62461cf869f7
+
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 71423daecacf5cc8ec797ddfc8d74ca0af85b7b4..0521781a48d326c0a4a01b920188e9ce00b51ef0 100644
+index ea5745e548b11e4d71737a78e10e53c23bc3eb8e..63a4e03b0c5508d5f027c7fa3cecb8b5aa9d450b 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2087,6 +2087,14 @@ public final class Bukkit {
+@@ -2130,6 +2130,14 @@ public final class Bukkit {
public static com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() {
return server.getMobGoals();
}
@@ -89,10 +89,10 @@ index 71423daecacf5cc8ec797ddfc8d74ca0af85b7b4..0521781a48d326c0a4a01b920188e9ce
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 6aee6423d9c68e567f581899a2d83dc35e56bd55..395b0706bfbf03741df6ca1ff084618b91140acc 100644
+index e435df76a752c523b8bc0bd2d2abf35c2460f880..48f9b34aa6caf91174af87f0fe694562417dcc60 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1830,5 +1830,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1865,5 +1865,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
com.destroystokyo.paper.entity.ai.MobGoals getMobGoals();
diff --git a/patches/api/0344-Add-player-health-update-API.patch b/patches/api/0344-Add-player-health-update-API.patch
index a918c504ee..97cc0dbefd 100644
--- a/patches/api/0344-Add-player-health-update-API.patch
+++ b/patches/api/0344-Add-player-health-update-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add player health update API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index bcd17e01e1be66cc5b7c851a4d1ad62b9f158f9b..f5ded992672dde910cd4e1be50c238b142157ff8 100644
+index 7f476ff106a641ef475899a9c6cfafdaa18fc63c..1b4b54741719252892a3a51491d49cd5423de499 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1584,6 +1584,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1725,6 +1725,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public double getHealthScale();
diff --git a/patches/api/0345-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/api/0345-Allow-delegation-to-vanilla-chunk-gen.patch
index 3929720576..2ad1a31794 100644
--- a/patches/api/0345-Allow-delegation-to-vanilla-chunk-gen.patch
+++ b/patches/api/0345-Allow-delegation-to-vanilla-chunk-gen.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow delegation to vanilla chunk gen
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index eb0aa2a2a9def0270341ee15d8a7a0629a67a823..b7c45aa5d5f79fd16e59401acfa9c2bed0a5d78c 100644
+index f7df34539f03e2d5bbb2733709dcbcda65a23b29..53c4e5ca208ee17c7c244e416c537c7b63edf194 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1697,6 +1697,24 @@ public final class Bukkit {
+@@ -1740,6 +1740,24 @@ public final class Bukkit {
return server.createChunkData(world);
}
@@ -34,10 +34,10 @@ index eb0aa2a2a9def0270341ee15d8a7a0629a67a823..b7c45aa5d5f79fd16e59401acfa9c2be
* Creates a boss bar instance to display to players. The progress
* defaults to 1.0
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 395b0706bfbf03741df6ca1ff084618b91140acc..6996a61534bbdd34729f1dcd988ae2666bfad2c4 100644
+index 48f9b34aa6caf91174af87f0fe694562417dcc60..e48af3822e9f118399c3a1c9358c56efae12e0da 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1422,6 +1422,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1457,6 +1457,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
public ChunkGenerator.ChunkData createChunkData(@NotNull World world);
diff --git a/patches/server/0001-Setup-Gradle-project.patch b/patches/server/0001-Setup-Gradle-project.patch
index d03b406f5b..2928029f72 100644
--- a/patches/server/0001-Setup-Gradle-project.patch
+++ b/patches/server/0001-Setup-Gradle-project.patch
@@ -28,7 +28,7 @@ index 67fb370cad6924895a6b27052dbd5c1767e3f0c9..bb338269c9e3bef4c274157c490d8b8f
+/.factorypath
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
-index 0000000000000000000000000000000000000000..9c4382ef7373110b6e72163779316ff40234a992
+index 0000000000000000000000000000000000000000..dc8f0a7ac3387323428f71139ac07ec98cd33ed8
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,141 @@
@@ -54,11 +54,11 @@ index 0000000000000000000000000000000000000000..9c4382ef7373110b6e72163779316ff4
+ runtimeOnly("org.xerial:sqlite-jdbc:3.36.0.3")
+ runtimeOnly("mysql:mysql-connector-java:8.0.27")
+
-+ runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.1")
-+ runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0")
-+ runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.0")
++ runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.4")
++ runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.2")
++ runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.2")
+
-+ testImplementation("junit:junit:4.13.1")
++ testImplementation("junit:junit:4.13.2")
+ testImplementation("org.hamcrest:hamcrest-library:1.3")
+}
+
@@ -175,7 +175,7 @@ index 0000000000000000000000000000000000000000..9c4382ef7373110b6e72163779316ff4
+}
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
-index 56938962e9ba6b188c2f4bc1694b911f05994436..0000000000000000000000000000000000000000
+index 5d1e2c51c814281bf50c352f7fa9f99465100068..0000000000000000000000000000000000000000
--- a/pom.xml
+++ /dev/null
@@ -1,540 +0,0 @@
@@ -347,26 +347,26 @@ index 56938962e9ba6b188c2f4bc1694b911f05994436..00000000000000000000000000000000
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-resolver-provider</artifactId>
-- <version>3.8.1</version>
+- <version>3.8.4</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.resolver</groupId>
- <artifactId>maven-resolver-connector-basic</artifactId>
-- <version>1.7.0</version>
+- <version>1.7.2</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.resolver</groupId>
- <artifactId>maven-resolver-transport-http</artifactId>
-- <version>1.7.0</version>
+- <version>1.7.2</version>
- <scope>runtime</scope>
- </dependency>
- <!-- testing -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
-- <version>4.13.1</version>
+- <version>4.13.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
@@ -474,12 +474,12 @@ index 56938962e9ba6b188c2f4bc1694b911f05994436..00000000000000000000000000000000
- <dependency>
- <groupId>org.ow2.asm</groupId>
- <artifactId>asm</artifactId>
-- <version>9.1</version>
+- <version>9.2</version>
- </dependency>
- <dependency>
- <groupId>org.ow2.asm</groupId>
- <artifactId>asm-commons</artifactId>
-- <version>9.1</version>
+- <version>9.2</version>
- </dependency>
- </dependencies>
- <executions>
@@ -598,7 +598,7 @@ index 56938962e9ba6b188c2f4bc1694b911f05994436..00000000000000000000000000000000
- <dependency>
- <groupId>org.eclipse.jdt</groupId>
- <artifactId>ecj</artifactId>
-- <version>3.27.0</version>
+- <version>3.28.0</version>
- </dependency>
- </dependencies>
- </plugin>
diff --git a/patches/server/0004-Paper-config-files.patch b/patches/server/0004-Paper-config-files.patch
index 91a4d3dcb6..70f6c99b2e 100644
--- a/patches/server/0004-Paper-config-files.patch
+++ b/patches/server/0004-Paper-config-files.patch
@@ -714,10 +714,10 @@ index aaf71bfb582d1d86d67205618825411babd2625a..f18ae5b80c930c3a7c2da079b9926ab2
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 63a45a3bcde978bc34d14c498e2ec026975af94e..204f3ece37ebbc5159e80c2161801e45fa08dcd6 100644
+index dfd7da8bc5cdcdf1548cc5ba871fb8809ee911e8..6258eed86c1f0461a8d8c8b9f82bb8be9dc6d71e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -842,6 +842,7 @@ public final class CraftServer implements Server {
+@@ -863,6 +863,7 @@ public final class CraftServer implements Server {
}
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
@@ -725,7 +725,7 @@ index 63a45a3bcde978bc34d14c498e2ec026975af94e..204f3ece37ebbc5159e80c2161801e45
for (ServerLevel world : this.console.getAllLevels()) {
world.serverLevelData.setDifficulty(config.difficulty);
world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals);
-@@ -881,12 +882,14 @@ public final class CraftServer implements Server {
+@@ -902,12 +903,14 @@ public final class CraftServer implements Server {
world.ticksPerAmbientSpawns = this.getTicksPerAmbientSpawns();
}
world.spigotConfig.init(); // Spigot
@@ -740,7 +740,7 @@ index 63a45a3bcde978bc34d14c498e2ec026975af94e..204f3ece37ebbc5159e80c2161801e45
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
-@@ -2287,4 +2290,35 @@ public final class CraftServer implements Server {
+@@ -2308,4 +2311,35 @@ public final class CraftServer implements Server {
return this.spigot;
}
// Spigot end
diff --git a/patches/server/0010-Timings-v2.patch b/patches/server/0010-Timings-v2.patch
index 568b4f2271..beab4653a4 100644
--- a/patches/server/0010-Timings-v2.patch
+++ b/patches/server/0010-Timings-v2.patch
@@ -1713,10 +1713,10 @@ index ed639dbb4ea94839390778654c7dd0437bac41ac..1729af83b979e35a585c8d049b14dc23
};
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 204f3ece37ebbc5159e80c2161801e45fa08dcd6..95046f9499a1dee5bcb4e2aab03ca6b11b4b145b 100644
+index 6258eed86c1f0461a8d8c8b9f82bb8be9dc6d71e..ecc6c5aa6534fd36f7534e7fd70d9fe568ae83eb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2259,12 +2259,31 @@ public final class CraftServer implements Server {
+@@ -2280,12 +2280,31 @@ public final class CraftServer implements Server {
private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot()
{
@@ -1918,10 +1918,10 @@ index b0ffa23faf62629043dfd613315eaf9c5fcc2cfe..00000000000000000000000000000000
- }
-}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 5333f690774686f3bec3ec693228cb806939a10e..1d587a67847dac2e020ae357f0f174d86c066ff8 100644
+index 55efa7cf942ece15ce5925c36aea5c33f67ced1e..bfb1ced180ff4943ba15eb16f01530cd1b5b8a90 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1864,6 +1864,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1881,6 +1881,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
packet.components = components;
CraftPlayer.this.getHandle().connection.send(packet);
}
diff --git a/patches/server/0011-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/server/0011-Add-command-line-option-to-load-extra-plugin-jars-no.patch
index 4ccda846c8..711541572b 100644
--- a/patches/server/0011-Add-command-line-option-to-load-extra-plugin-jars-no.patch
+++ b/patches/server/0011-Add-command-line-option-to-load-extra-plugin-jars-no.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Add command line option to load extra plugin jars not in the
ex: java -jar paperclip.jar nogui -add-plugin=/path/to/plugin.jar -add-plugin=/path/to/another/plugin_jar.jar
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 59e619f745f62dec5a5fe304bbea75690a0b1663..23cba4bd17742733659aef498aa39d12ef48ca1d 100644
+index ecc6c5aa6534fd36f7534e7fd70d9fe568ae83eb..8b521bf3b10412b7ebe081591f0e6413e235d978 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -403,10 +403,15 @@ public final class CraftServer implements Server {
+@@ -404,10 +404,15 @@ public final class CraftServer implements Server {
public void loadPlugins() {
this.pluginManager.registerInterface(JavaPluginLoader.class);
@@ -29,7 +29,7 @@ index 59e619f745f62dec5a5fe304bbea75690a0b1663..23cba4bd17742733659aef498aa39d12
for (Plugin plugin : plugins) {
try {
String message = String.format("Loading %s", plugin.getDescription().getFullName());
-@@ -421,6 +426,35 @@ public final class CraftServer implements Server {
+@@ -422,6 +427,35 @@ public final class CraftServer implements Server {
}
}
diff --git a/patches/server/0012-Adventure.patch b/patches/server/0012-Adventure.patch
index ac1d13b0ad..6d6a1e0f6c 100644
--- a/patches/server/0012-Adventure.patch
+++ b/patches/server/0012-Adventure.patch
@@ -1718,10 +1718,10 @@ index 9af14095fa8dbc75fadb84c5a1d263039994e441..3b35ec1df648a3de920ea0c159623880
}
collection = icons;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 7d1ff7636d5e91249c71303da708e754c90f0b92..693d92e3c72e8f76b12a14083efde0b5c6656050 100644
+index 8b521bf3b10412b7ebe081591f0e6413e235d978..855740411220bc8178ea7bfd561a377f2ac30087 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -624,8 +624,10 @@ public final class CraftServer implements Server {
+@@ -625,8 +625,10 @@ public final class CraftServer implements Server {
}
@Override
@@ -1732,7 +1732,7 @@ index 7d1ff7636d5e91249c71303da708e754c90f0b92..693d92e3c72e8f76b12a14083efde0b5
}
@Override
-@@ -1454,7 +1456,15 @@ public final class CraftServer implements Server {
+@@ -1475,7 +1477,15 @@ public final class CraftServer implements Server {
return this.configuration.getInt("settings.spawn-radius", -1);
}
@@ -1748,7 +1748,7 @@ index 7d1ff7636d5e91249c71303da708e754c90f0b92..693d92e3c72e8f76b12a14083efde0b5
public String getShutdownMessage() {
return this.configuration.getString("settings.shutdown-message");
}
-@@ -1612,7 +1622,20 @@ public final class CraftServer implements Server {
+@@ -1633,7 +1643,20 @@ public final class CraftServer implements Server {
}
@Override
@@ -1769,7 +1769,7 @@ index 7d1ff7636d5e91249c71303da708e754c90f0b92..693d92e3c72e8f76b12a14083efde0b5
Set<CommandSender> recipients = new HashSet<>();
for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) {
if (permissible instanceof CommandSender && permissible.hasPermission(permission)) {
-@@ -1620,14 +1643,14 @@ public final class CraftServer implements Server {
+@@ -1641,14 +1664,14 @@ public final class CraftServer implements Server {
}
}
@@ -1786,7 +1786,7 @@ index 7d1ff7636d5e91249c71303da708e754c90f0b92..693d92e3c72e8f76b12a14083efde0b5
for (CommandSender recipient : recipients) {
recipient.sendMessage(message);
-@@ -1863,6 +1886,14 @@ public final class CraftServer implements Server {
+@@ -1884,6 +1907,14 @@ public final class CraftServer implements Server {
return CraftInventoryCreator.INSTANCE.createInventory(owner, type);
}
@@ -1801,7 +1801,7 @@ index 7d1ff7636d5e91249c71303da708e754c90f0b92..693d92e3c72e8f76b12a14083efde0b5
@Override
public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) {
Validate.isTrue(type.isCreatable(), "Cannot open an inventory of type ", type);
-@@ -1875,13 +1906,28 @@ public final class CraftServer implements Server {
+@@ -1896,13 +1927,28 @@ public final class CraftServer implements Server {
return CraftInventoryCreator.INSTANCE.createInventory(owner, size);
}
@@ -1830,7 +1830,7 @@ index 7d1ff7636d5e91249c71303da708e754c90f0b92..693d92e3c72e8f76b12a14083efde0b5
public Merchant createMerchant(String title) {
return new CraftMerchantCustom(title == null ? InventoryType.MERCHANT.getDefaultTitle() : title);
}
-@@ -1930,6 +1976,12 @@ public final class CraftServer implements Server {
+@@ -1951,6 +1997,12 @@ public final class CraftServer implements Server {
return Thread.currentThread().equals(console.serverThread) || this.console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog)
}
@@ -1843,7 +1843,7 @@ index 7d1ff7636d5e91249c71303da708e754c90f0b92..693d92e3c72e8f76b12a14083efde0b5
@Override
public String getMotd() {
return this.console.getMotd();
-@@ -2373,5 +2425,15 @@ public final class CraftServer implements Server {
+@@ -2394,5 +2446,15 @@ public final class CraftServer implements Server {
return null;
}
}
@@ -2368,7 +2368,7 @@ index 446fdca49a5a6999626a7ee3a1d5c168b15a09dd..f9863e138994f6c7a7975a852f106faa
public boolean isOp() {
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 1d587a67847dac2e020ae357f0f174d86c066ff8..8975e64f40e6faeda38332ae0baba63af4146553 100644
+index bfb1ced180ff4943ba15eb16f01530cd1b5b8a90..10e23477f58c7189dee1b3c06a21d656c9b50e82 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -252,14 +252,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2533,7 +2533,7 @@ index 1d587a67847dac2e020ae357f0f174d86c066ff8..8975e64f40e6faeda38332ae0baba63a
}
@Override
-@@ -1723,6 +1787,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1740,6 +1804,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return (this.getHandle().clientViewDistance == null) ? Bukkit.getViewDistance() : this.getHandle().clientViewDistance;
}
@@ -2546,7 +2546,7 @@ index 1d587a67847dac2e020ae357f0f174d86c066ff8..8975e64f40e6faeda38332ae0baba63a
@Override
public int getPing() {
return this.getHandle().latency;
-@@ -1768,6 +1838,194 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1785,6 +1855,194 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().allowsListing();
}
diff --git a/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
index e01dcd586c..973fb13cc6 100644
--- a/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
+++ b/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
@@ -32,10 +32,10 @@ index 844f24fd16aac25bf681bd3e98f0737be62bead6..f1dfb56d0158d36b583b5ee559623554
public SystemReport fillSystemReport(SystemReport details) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index cf79b158c7fbbb3ccddd4472eceb27d6f238f489..cfdc78fe0820d47d8af055e844b08ea003d74368 100644
+index 855740411220bc8178ea7bfd561a377f2ac30087..10f5be8b1319d371eab0c3153b5f605b033d5208 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -249,7 +249,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
+@@ -250,7 +250,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
import net.md_5.bungee.api.chat.BaseComponent; // Spigot
public final class CraftServer implements Server {
diff --git a/patches/server/0023-Player-affects-spawning-API.patch b/patches/server/0023-Player-affects-spawning-API.patch
index f04f26eb0b..47b0dfb42a 100644
--- a/patches/server/0023-Player-affects-spawning-API.patch
+++ b/patches/server/0023-Player-affects-spawning-API.patch
@@ -21,7 +21,7 @@ index 5c3b11f738c1ea19981cc878aa6c2323497391a0..b91a61be7c4829fce0ff8da290eab580
public static Predicate<Entity> withinDistance(double x, double y, double z, double max) {
double d4 = max * max;
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
-index d5d79927aeab04d24010b53f9b527fa7b05d8a47..a2310dc7b045d4e4c3924d656a4dcf0a1d66c095 100644
+index 92fdccbcf472d99989eb47c0dac1b8c557c37165..405ed6034c894bdff889307d9bbf8900f7085a94 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -774,7 +774,7 @@ public abstract class Mob extends LivingEntity {
@@ -117,10 +117,10 @@ index c65d1dc6eb0c1fc7c4a91faf0f1c6f26b3c2a76e..0dc46471f7247e5d36c3896a0c874730
for(Player player : this.players()) {
if (EntitySelector.NO_SPECTATORS.test(player) && EntitySelector.LIVING_ENTITY_STILL_ALIVE.test(player)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 8975e64f40e6faeda38332ae0baba63af4146553..52d8d73cf95d36ca3fd44408aea785f3f7351c05 100644
+index 10e23477f58c7189dee1b3c06a21d656c9b50e82..2f6a08b66c7451cbc9990062286199f25f7da36a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1801,8 +1801,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1818,8 +1818,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {
return this.getHandle().locale;
diff --git a/patches/server/0025-Further-improve-server-tick-loop.patch b/patches/server/0025-Further-improve-server-tick-loop.patch
index 7470a903bd..df0154b516 100644
--- a/patches/server/0025-Further-improve-server-tick-loop.patch
+++ b/patches/server/0025-Further-improve-server-tick-loop.patch
@@ -144,10 +144,10 @@ index f1dfb56d0158d36b583b5ee5596235540b2cb11c..b86ceda8f7376334987955095234bdec
this.startMetricsRecordingTick();
this.profiler.push("tick");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 50ed646021808e23876735d50c727a0f300f596e..3fdfa7750436f78ce6f0c5bac68ee0e602e8ec67 100644
+index 10f5be8b1319d371eab0c3153b5f605b033d5208..ae2bad0ba336aa5f3c6d71a04a3ac8a15b311600 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2341,6 +2341,17 @@ public final class CraftServer implements Server {
+@@ -2362,6 +2362,17 @@ public final class CraftServer implements Server {
return CraftMagicNumbers.INSTANCE;
}
diff --git a/patches/server/0026-Only-refresh-abilities-if-needed.patch b/patches/server/0026-Only-refresh-abilities-if-needed.patch
index ed17ae277d..9bc49b87da 100644
--- a/patches/server/0026-Only-refresh-abilities-if-needed.patch
+++ b/patches/server/0026-Only-refresh-abilities-if-needed.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Only refresh abilities if needed
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 52d8d73cf95d36ca3fd44408aea785f3f7351c05..deb477d2b6140348c399c4159bdff9b9018e2e36 100644
+index 2f6a08b66c7451cbc9990062286199f25f7da36a..5fe5a4d12f53d340f9920e3fb3ae61d5b9711e59 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1470,12 +1470,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1487,12 +1487,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setFlying(boolean value) {
diff --git a/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch
index cb38529341..c559bab19d 100644
--- a/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch
+++ b/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch
@@ -30,10 +30,10 @@ index 88b6be62678fc09b5a39db28c6d71cc31b16dbcd..352bfe795aea26307de9c998d67a43af
this.locale = packet.language;
// Paper start
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index deb477d2b6140348c399c4159bdff9b9018e2e36..a3de0658c00175dedfbd1844e2c18082641b7072 100644
+index 5fe5a4d12f53d340f9920e3fb3ae61d5b9711e59..1a27cc950e23fbdf91a7b700f7dc4f994e05b316 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1801,8 +1801,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1818,8 +1818,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {
diff --git a/patches/server/0047-Ensure-commands-are-not-ran-async.patch b/patches/server/0047-Ensure-commands-are-not-ran-async.patch
index 2dff934b14..ac56314eca 100644
--- a/patches/server/0047-Ensure-commands-are-not-ran-async.patch
+++ b/patches/server/0047-Ensure-commands-are-not-ran-async.patch
@@ -48,10 +48,10 @@ index 8dfc214b57f77c86f3e3f52ef8b6058295bf7be9..25117f4b7f6139688c1845a1dc257f7d
} else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) {
// Do nothing, this is coming from a plugin
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 528687b7672ebf6e25fc0fc120fffe158e543bb3..99c1ca9a93092465c08723b919aa61dff747bd66 100644
+index ae2bad0ba336aa5f3c6d71a04a3ac8a15b311600..8f49af4892390a990ea2c273b8c64e359ff15b72 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -828,6 +828,28 @@ public final class CraftServer implements Server {
+@@ -849,6 +849,28 @@ public final class CraftServer implements Server {
Validate.notNull(commandLine, "CommandLine cannot be null");
org.spigotmc.AsyncCatcher.catchOp("command dispatch"); // Spigot
diff --git a/patches/server/0049-Expose-server-CommandMap.patch b/patches/server/0049-Expose-server-CommandMap.patch
index 8449513d20..02b0830fb7 100644
--- a/patches/server/0049-Expose-server-CommandMap.patch
+++ b/patches/server/0049-Expose-server-CommandMap.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 9284b5a3b303222df23bee4b66551c08f4c55c1f..1f9e896b70888708d6420c060d8657b9ff7e60c4 100644
+index 8f49af4892390a990ea2c273b8c64e359ff15b72..94804f241792bd7067edf0cdbf154ed1533241c3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1959,6 +1959,7 @@ public final class CraftServer implements Server {
+@@ -1980,6 +1980,7 @@ public final class CraftServer implements Server {
return this.helpMap;
}
diff --git a/patches/server/0054-Add-velocity-warnings.patch b/patches/server/0054-Add-velocity-warnings.patch
index 73bcf10eab..95ab2e6f9e 100644
--- a/patches/server/0054-Add-velocity-warnings.patch
+++ b/patches/server/0054-Add-velocity-warnings.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add velocity warnings
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index d30b04375eaed44ae63b3e60ab9ac8a42478a604..41729294bf394a609c25e135b0697e0306f5c098 100644
+index 94804f241792bd7067edf0cdbf154ed1533241c3..607f5547d33fd2f8009837fc4a212b5f08a51027 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -287,6 +287,7 @@ public final class CraftServer implements Server {
+@@ -288,6 +288,7 @@ public final class CraftServer implements Server {
public boolean ignoreVanillaPermissions = false;
private final List<CraftPlayer> playerView;
public int reloadCount;
diff --git a/patches/server/0061-Complete-resource-pack-API.patch b/patches/server/0061-Complete-resource-pack-API.patch
index 4441d7ac93..b03c6b826a 100644
--- a/patches/server/0061-Complete-resource-pack-API.patch
+++ b/patches/server/0061-Complete-resource-pack-API.patch
@@ -23,7 +23,7 @@ index 25117f4b7f6139688c1845a1dc257f7d5c268fde..103d0afd73de68e3b07a9a4ef6d2f5af
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 87a193e8f026166b5821710d5501eb11175744b0..21df67c4b78947868407d96cd91a3ce0fd1dc927 100644
+index 1c5d31872ba125f6bc990fedb0c350b2825f301d..27d4b69bc3184869e9b66d1933ceb3fb8f8832ac 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -134,6 +134,7 @@ import org.bukkit.metadata.MetadataValue;
@@ -45,7 +45,16 @@ index 87a193e8f026166b5821710d5501eb11175744b0..21df67c4b78947868407d96cd91a3ce0
public CraftPlayer(CraftServer server, ServerPlayer entity) {
super(server, entity);
-@@ -1941,6 +1946,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1494,7 +1499,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+
+ @Override
+ public void setResourcePack(String url) {
+- this.setResourcePack(url, null);
++ this.setResourcePack(url, (byte[]) null);
+ }
+
+ @Override
+@@ -1958,6 +1963,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean getAffectsSpawning() {
return this.getHandle().affectsSpawning;
}
diff --git a/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch b/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch
index 3fe39f5ba7..47bf3e9c9a 100644
--- a/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch
+++ b/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch
@@ -30,10 +30,10 @@ index 701a2ffd04df48d437b2cb963dd150af99725b6e..817d4572c9991992b720b3ba163188ac
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 41729294bf394a609c25e135b0697e0306f5c098..fb220fb9567bbbbeb0ec5515359a5b5308df2e1b 100644
+index 607f5547d33fd2f8009837fc4a212b5f08a51027..cafb0d40a7bf1a6263cb48c507f51ede0c9cd126 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -460,6 +460,7 @@ public final class CraftServer implements Server {
+@@ -461,6 +461,7 @@ public final class CraftServer implements Server {
if (type == PluginLoadOrder.STARTUP) {
this.helpMap.clear();
this.helpMap.initializeGeneralTopics();
@@ -41,7 +41,7 @@ index 41729294bf394a609c25e135b0697e0306f5c098..fb220fb9567bbbbeb0ec5515359a5b53
}
Plugin[] plugins = this.pluginManager.getPlugins();
-@@ -479,7 +480,7 @@ public final class CraftServer implements Server {
+@@ -480,7 +481,7 @@ public final class CraftServer implements Server {
this.commandMap.registerServerAliases();
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();
diff --git a/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch b/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch
index df259483f7..1fd1dfb2ba 100644
--- a/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch
+++ b/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Custom Permissions
https://github.com/PaperMC/Paper/issues/49
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index f473ec0852648198a1633fb5c916ed2bfc49630d..9e6bfd8e5ca42bb72d3d56ae7eb82c0f704f15e1 100644
+index cafb0d40a7bf1a6263cb48c507f51ede0c9cd126..be2e3fc4f670730b6e1fc07eab8c1e612c3270dd 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2471,5 +2471,23 @@ public final class CraftServer implements Server {
+@@ -2492,5 +2492,23 @@ public final class CraftServer implements Server {
}
return this.adventure$audiences;
}
diff --git a/patches/server/0064-Remove-Metadata-on-reload.patch b/patches/server/0064-Remove-Metadata-on-reload.patch
index c2126e2192..cd98d2bb64 100644
--- a/patches/server/0064-Remove-Metadata-on-reload.patch
+++ b/patches/server/0064-Remove-Metadata-on-reload.patch
@@ -7,10 +7,10 @@ Metadata is not meant to persist reload as things break badly with non primitive
This will remove metadata on reload so it does not crash everything if a plugin uses it.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 8e0e98506a647428a06b1cda094c7e00990bdfe8..448544b7d290e8e98322833ec55b467e43209cae 100644
+index be2e3fc4f670730b6e1fc07eab8c1e612c3270dd..13cd1fe6cae82fe73bd6df3049133db51da0084c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -945,8 +945,16 @@ public final class CraftServer implements Server {
+@@ -966,8 +966,16 @@ public final class CraftServer implements Server {
world.paperConfig.init(); // Paper
}
diff --git a/patches/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch
index e3b7d5c937..9d86d7922f 100644
--- a/patches/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch
+++ b/patches/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch
@@ -44,10 +44,10 @@ index 76da306041b61f6c93e6f58f580054af7dfc234e..2277b06e3e13a1abb469064d5b23495a
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 21df67c4b78947868407d96cd91a3ce0fd1dc927..885d5dd984f2d7d8d662d6b6546eacd0879a2e54 100644
+index a8cdb69c3d1187d28529fae3b4e35d0550980c2b..d47e9df3a0decca7a360be01d488ba21cef7091e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1746,6 +1746,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1763,6 +1763,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setRealHealth(double health) {
diff --git a/patches/server/0103-Add-setting-for-proxy-online-mode-status.patch b/patches/server/0103-Add-setting-for-proxy-online-mode-status.patch
index 44926a0da4..3f389f4c7c 100644
--- a/patches/server/0103-Add-setting-for-proxy-online-mode-status.patch
+++ b/patches/server/0103-Add-setting-for-proxy-online-mode-status.patch
@@ -67,10 +67,10 @@ index 876658b685ea09adb4c01d436da56daadb7eedaa..5445cb5910ec63408dc4379eec5e12d3
} else {
String[] astring1 = astring;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index dd5bf92faef1f7a9c5cf48eb9b1cc04272d2bd70..8b438464892f9d78457a2b09cb4670da2e356549 100644
+index 13cd1fe6cae82fe73bd6df3049133db51da0084c..a5fe53aaa10bb919888da732fe86123c8e78cd1d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1702,7 +1702,7 @@ public final class CraftServer implements Server {
+@@ -1723,7 +1723,7 @@ public final class CraftServer implements Server {
// Spigot Start
GameProfile profile = null;
// Only fetch an online UUID in online mode
diff --git a/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch b/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch
index f2e3a3268e..b2d9fc9a68 100644
--- a/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch
+++ b/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases
Reload the aliases stored in commands.yml
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 8b438464892f9d78457a2b09cb4670da2e356549..53e3ab7845934e0bbc1923be84eeb34e72794777 100644
+index a5fe53aaa10bb919888da732fe86123c8e78cd1d..1bfd0cb76ccd8c7e1947407a865e7be7bfa35b3a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2497,5 +2497,24 @@ public final class CraftServer implements Server {
+@@ -2518,5 +2518,24 @@ public final class CraftServer implements Server {
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();
}
diff --git a/patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch
index 3c0c78bdb8..3d4d0ced6d 100644
--- a/patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch
+++ b/patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch
@@ -20,10 +20,10 @@ index 5e23ff0c5e44427a996281ae42fc12c28649e158..7a69f9d9bb9c05474d8fbab22d626529
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 53e3ab7845934e0bbc1923be84eeb34e72794777..39e99daae4bb16fca5e14edf86f300f040d535eb 100644
+index 1bfd0cb76ccd8c7e1947407a865e7be7bfa35b3a..9bd1dac354a14735c3547215f85f1124c933f311 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2516,5 +2516,10 @@ public final class CraftServer implements Server {
+@@ -2537,5 +2537,10 @@ public final class CraftServer implements Server {
commandMap.registerServerAliases();
return true;
}
diff --git a/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch
index 9dd1d44a9e..11205cb310 100644
--- a/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch
+++ b/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch
@@ -19,7 +19,7 @@ Other changes:
configuration
diff --git a/build.gradle.kts b/build.gradle.kts
-index bba267ecca0121df22fdfa60961017863b5e3415..b9ed067f776a47a977e90bb89cdd1768fd54eb2c 100644
+index 4db0cc3f8505747e77d314320545eb71904b4eac..8b424fb5e3c7e9169894438f680be1d43829d060 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -12,7 +12,17 @@ repositories {
@@ -244,10 +244,10 @@ index e47642c3164f7f7a358d2c7a9722643acf3e0089..dc891a463ec24b0b1b4c6c00b2c199e7
this.bans = new UserBanList(PlayerList.USERBANLIST_FILE);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 93e3d587f7d1d621e8aedb8e53f38a8df21b5587..8bad6fa590cfe47e1216a160531f4cd101c9450f 100644
+index 9bd1dac354a14735c3547215f85f1124c933f311..0fd04a4371525d6655c5a6f24c097c55914cd225 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -48,7 +48,6 @@ import java.util.logging.Level;
+@@ -49,7 +49,6 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.stream.Collectors;
import javax.imageio.ImageIO;
@@ -255,7 +255,7 @@ index 93e3d587f7d1d621e8aedb8e53f38a8df21b5587..8bad6fa590cfe47e1216a160531f4cd1
import net.minecraft.advancements.Advancement;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.commands.Commands;
-@@ -60,6 +59,7 @@ import net.minecraft.resources.RegistryReadOps;
+@@ -61,6 +60,7 @@ import net.minecraft.resources.RegistryReadOps;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.ConsoleInput;
@@ -263,7 +263,7 @@ index 93e3d587f7d1d621e8aedb8e53f38a8df21b5587..8bad6fa590cfe47e1216a160531f4cd1
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.bossevents.CustomBossEvent;
import net.minecraft.server.commands.ReloadCommand;
-@@ -1287,9 +1287,13 @@ public final class CraftServer implements Server {
+@@ -1308,9 +1308,13 @@ public final class CraftServer implements Server {
return this.logger;
}
diff --git a/patches/server/0142-Add-UnknownCommandEvent.patch b/patches/server/0142-Add-UnknownCommandEvent.patch
index 2aca1dacb0..caec5ca6de 100644
--- a/patches/server/0142-Add-UnknownCommandEvent.patch
+++ b/patches/server/0142-Add-UnknownCommandEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add UnknownCommandEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 8bad6fa590cfe47e1216a160531f4cd101c9450f..e873cc1e27fc3fe65e7bb07c5bec7f599c32be32 100644
+index 0fd04a4371525d6655c5a6f24c097c55914cd225..7a96dd337c41cdfa7703de4b21380a4fce0198c8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -858,7 +858,13 @@ public final class CraftServer implements Server {
+@@ -879,7 +879,13 @@ public final class CraftServer implements Server {
// Spigot start
if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) {
diff --git a/patches/server/0143-Basic-PlayerProfile-API.patch b/patches/server/0143-Basic-PlayerProfile-API.patch
index 005bbed272..c02db4e8fd 100644
--- a/patches/server/0143-Basic-PlayerProfile-API.patch
+++ b/patches/server/0143-Basic-PlayerProfile-API.patch
@@ -491,10 +491,10 @@ index 00f783aafd81fa7e836e4eea5bfeac7434f33b0f..3789441e2df9410aa1c6efe59054aaba
String s1 = name.toLowerCase(Locale.ROOT);
GameProfileCache.GameProfileInfo usercache_usercacheentry = (GameProfileCache.GameProfileInfo) this.profilesByName.get(s1);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 23941b3ef194818483f0903b5b4793391c16f705..f824c8725ac104c93e0c24c90d3825bfb153cd2a 100644
+index 7a96dd337c41cdfa7703de4b21380a4fce0198c8..def56e6c17d6e2efddcdca22e391f11b2de58966 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -248,6 +248,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
+@@ -249,6 +249,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
import net.md_5.bungee.api.chat.BaseComponent; // Spigot
@@ -504,7 +504,7 @@ index 23941b3ef194818483f0903b5b4793391c16f705..f824c8725ac104c93e0c24c90d3825bf
public final class CraftServer implements Server {
private final String serverName = "Paper"; // Paper
private final String serverVersion;
-@@ -2531,5 +2534,24 @@ public final class CraftServer implements Server {
+@@ -2552,5 +2555,24 @@ public final class CraftServer implements Server {
public boolean suggestPlayerNamesWhenNullTabCompletions() {
return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions;
}
diff --git a/patches/server/0169-AsyncTabCompleteEvent.patch b/patches/server/0169-AsyncTabCompleteEvent.patch
index a1174e8f7d..2e58f17deb 100644
--- a/patches/server/0169-AsyncTabCompleteEvent.patch
+++ b/patches/server/0169-AsyncTabCompleteEvent.patch
@@ -72,10 +72,10 @@ index c63bb524cbcceb926fa7f0b72bfffb670e560c5a..fd7242648da5acbb6b7c5f4c182c1e04
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index f824c8725ac104c93e0c24c90d3825bfb153cd2a..36001fea693200fb2f7d1b5b8f4d851f4fc7b480 100644
+index def56e6c17d6e2efddcdca22e391f11b2de58966..70c12364dad4426a55e3a79c642af9be4d9212d7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2051,7 +2051,7 @@ public final class CraftServer implements Server {
+@@ -2072,7 +2072,7 @@ public final class CraftServer implements Server {
offers = this.tabCompleteChat(player, message);
}
diff --git a/patches/server/0185-getPlayerUniqueId-API.patch b/patches/server/0185-getPlayerUniqueId-API.patch
index 498b66a365..69942b6d5e 100644
--- a/patches/server/0185-getPlayerUniqueId-API.patch
+++ b/patches/server/0185-getPlayerUniqueId-API.patch
@@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID
This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 36001fea693200fb2f7d1b5b8f4d851f4fc7b480..ee14922b588dfb5fe65f8c6b67ba8795219cbfba 100644
+index 70c12364dad4426a55e3a79c642af9be4d9212d7..e4424e15d28c7011f2dd708f9d7bbb05b25be688 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1704,6 +1704,25 @@ public final class CraftServer implements Server {
+@@ -1725,6 +1725,25 @@ public final class CraftServer implements Server {
return recipients.size();
}
diff --git a/patches/server/0190-Flag-to-disable-the-channel-limit.patch b/patches/server/0190-Flag-to-disable-the-channel-limit.patch
index dc18022c12..f5852d36cf 100644
--- a/patches/server/0190-Flag-to-disable-the-channel-limit.patch
+++ b/patches/server/0190-Flag-to-disable-the-channel-limit.patch
@@ -9,7 +9,7 @@ e.g. servers which allow and support the usage of mod packs.
provide an optional flag to disable this check, at your own risk.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 51839994999b22251bd9e813f1e05ef8d7e97c0d..3df6adfe061392992b5f7dbf246cdf8fca21a478 100644
+index 54fe0cca4b45924ae6e27a8cbab0fc00e325ec50..0b193616a1a89857e22356c03d05f5fa0fc78aea 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -155,6 +155,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -20,7 +20,7 @@ index 51839994999b22251bd9e813f1e05ef8d7e97c0d..3df6adfe061392992b5f7dbf246cdf8f
// Paper end
public CraftPlayer(CraftServer server, ServerPlayer entity) {
-@@ -1643,7 +1644,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1660,7 +1661,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void addChannel(String channel) {
diff --git a/patches/server/0223-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch b/patches/server/0223-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch
index d49156adb1..9ae2453670 100644
--- a/patches/server/0223-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch
+++ b/patches/server/0223-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Use AsyncAppender to keep logging IO off main thread
diff --git a/build.gradle.kts b/build.gradle.kts
-index a20994ee826d42e3b8dff35d3f67e8bcf8fb79a3..1d62be2d0b8b35eaa7c0f7169df71ca27f8477d3 100644
+index 8cec9cdfc2708153e8d37a7d52a15fd47dc21dcd..125630037713c4790636ffd11b14b2c1d83a085a 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -28,6 +28,7 @@ dependencies {
@@ -14,8 +14,8 @@ index a20994ee826d42e3b8dff35d3f67e8bcf8fb79a3..1d62be2d0b8b35eaa7c0f7169df71ca2
runtimeOnly("mysql:mysql-connector-java:8.0.27")
+ runtimeOnly("com.lmax:disruptor:3.4.4") // Paper
- runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.1")
- runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0")
+ runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.4")
+ runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.2")
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
index 476f4a5cbe664ddd05474cb88553018bd334a5b8..3dc317e466e1b93dff030794dd7f29ca1b266778 100644
--- a/src/main/resources/log4j2.xml
diff --git a/patches/server/0243-Add-Early-Warning-Feature-to-WatchDog.patch b/patches/server/0243-Add-Early-Warning-Feature-to-WatchDog.patch
index d32440ccbf..787e1ec372 100644
--- a/patches/server/0243-Add-Early-Warning-Feature-to-WatchDog.patch
+++ b/patches/server/0243-Add-Early-Warning-Feature-to-WatchDog.patch
@@ -48,10 +48,10 @@ index f6050e8ee4b43e0405933f6f7f0c234978c0639e..d42db22e74e36a8a701a322c7bac5c73
long start = System.nanoTime(), curTime, tickSection = start; // Paper - Further improve server tick loop
lastTick = start - TICK_TIME; // Paper
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 03cd3fa77ca0f4c6c1f84a7866c7cd72c8f81f2e..e4af349ab368ab561f6ef929395020fc260fe159 100644
+index e4424e15d28c7011f2dd708f9d7bbb05b25be688..93eed255771097a396b1148e67d99a581be676c4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -876,6 +876,7 @@ public final class CraftServer implements Server {
+@@ -897,6 +897,7 @@ public final class CraftServer implements Server {
@Override
public void reload() {
@@ -59,7 +59,7 @@ index 03cd3fa77ca0f4c6c1f84a7866c7cd72c8f81f2e..e4af349ab368ab561f6ef929395020fc
this.reloadCount++;
this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile());
this.commandsConfiguration = YamlConfiguration.loadConfiguration(this.getCommandsConfigFile());
-@@ -994,6 +995,7 @@ public final class CraftServer implements Server {
+@@ -1015,6 +1016,7 @@ public final class CraftServer implements Server {
this.enablePlugins(PluginLoadOrder.STARTUP);
this.enablePlugins(PluginLoadOrder.POSTWORLD);
this.getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.RELOAD));
diff --git a/patches/server/0260-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0260-Expose-attack-cooldown-methods-for-Player.patch
index 58a3c724fb..427f745ced 100644
--- a/patches/server/0260-Expose-attack-cooldown-methods-for-Player.patch
+++ b/patches/server/0260-Expose-attack-cooldown-methods-for-Player.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose attack cooldown methods for Player
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 9b97224009b572a75fa6d289c226801a558d2484..8823863939c8e6d0f0a018d7a56efeb44c639d34 100644
+index ec369a97fe3bdea9a75467a166a732674e497003..602164382586cc73704a776efebcd82ffba22e83 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2340,6 +2340,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2357,6 +2357,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.adventure$pointers;
}
diff --git a/patches/server/0261-Improve-death-events.patch b/patches/server/0261-Improve-death-events.patch
index 99f3ad1a9b..9d23e96394 100644
--- a/patches/server/0261-Improve-death-events.patch
+++ b/patches/server/0261-Improve-death-events.patch
@@ -295,10 +295,10 @@ index 91cf7728aee475cb36f2c02bbfb7e3d2e0d00576..a3a900d10440ed5ebe24370a77ccb6ca
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 8823863939c8e6d0f0a018d7a56efeb44c639d34..2a313757c85faeb353fb8140db84a464cc46b524 100644
+index 602164382586cc73704a776efebcd82ffba22e83..e2c4f56d7bcf4c0c0be38a60d47b814fc615732b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1903,7 +1903,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1920,7 +1920,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void sendHealthUpdate() {
diff --git a/patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch
index f9d4659fad..b4ed8f3f3a 100644
--- a/patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch
+++ b/patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch
@@ -225,10 +225,10 @@ index 67b300574655854249c1f7440f56a6e8f0fad351..bb767f5b626225e70a8af273384bb74d
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index e4af349ab368ab561f6ef929395020fc260fe159..5eaf046724b7354b84c9a40f73c2f4d3d21fc601 100644
+index 93eed255771097a396b1148e67d99a581be676c4..589af624599aee8f08f786da183f5e058f2044cc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -744,7 +744,7 @@ public final class CraftServer implements Server {
+@@ -765,7 +765,7 @@ public final class CraftServer implements Server {
@Override
public long getConnectionThrottle() {
// Spigot Start - Automatically set connection throttle for bungee configurations
diff --git a/patches/server/0292-Make-the-default-permission-message-configurable.patch b/patches/server/0292-Make-the-default-permission-message-configurable.patch
index 5e7a6ae0ac..8d179d354e 100644
--- a/patches/server/0292-Make-the-default-permission-message-configurable.patch
+++ b/patches/server/0292-Make-the-default-permission-message-configurable.patch
@@ -42,10 +42,10 @@ index 1015fcc6c77bd64c3f3cbf234e85a6602dbfa0d7..769353df1fcdaacecd80085165a1d72f
Object val = config.get("settings.save-player-data");
if (val instanceof Boolean) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index df29e226904111e9fba1cee5a29b952c6f8362ad..0e8b290f92c0d66968fd9428aac19ca233dfdde1 100644
+index 589af624599aee8f08f786da183f5e058f2044cc..3a82ffd3286bf84529825b9ed805d31ef521f64a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2556,6 +2556,11 @@ public final class CraftServer implements Server {
+@@ -2577,6 +2577,11 @@ public final class CraftServer implements Server {
return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions;
}
diff --git a/patches/server/0303-Block-Entity-remove-from-being-called-on-Players.patch b/patches/server/0303-Block-Entity-remove-from-being-called-on-Players.patch
index 1e49d27b44..2ec35187a1 100644
--- a/patches/server/0303-Block-Entity-remove-from-being-called-on-Players.patch
+++ b/patches/server/0303-Block-Entity-remove-from-being-called-on-Players.patch
@@ -12,10 +12,10 @@ Player we will look at limiting the scope of this change. It appears to
be unintentional in the few cases we've seen so far.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 3026243161b6a0f978a62c67ecb7825713ac5249..946b33afb3a2c11836e6da887309f70d45dc586d 100644
+index 133111bdb165fc2c98824c0592223fe435860368..5efda81f8028f3a939ba581ceaf328f4f537c225 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2387,6 +2387,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2404,6 +2404,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetCooldown() {
getHandle().resetAttackStrengthTicker();
}
diff --git a/patches/server/0327-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch b/patches/server/0327-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch
index b2d011c7ab..e5b2c90fe3 100644
--- a/patches/server/0327-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch
+++ b/patches/server/0327-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch
@@ -29,10 +29,10 @@ index bc9937642a46ecd766a45ccb037de993dafa3608..bd8e654c1580a0ac7dd411b9f1dcad4a
public boolean isDebugging() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 0e8b290f92c0d66968fd9428aac19ca233dfdde1..1f7ac7b4d2d26ecf1f3ab8f5eec0e0e2dcc679c1 100644
+index 3a82ffd3286bf84529825b9ed805d31ef521f64a..9b8d39e3f323829286d06d07cc7303e6fdc1bad8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2040,7 +2040,7 @@ public final class CraftServer implements Server {
+@@ -2061,7 +2061,7 @@ public final class CraftServer implements Server {
@Override
public boolean isPrimaryThread() {
diff --git a/patches/server/0329-Implement-CraftBlockSoundGroup.patch b/patches/server/0329-Implement-CraftBlockSoundGroup.patch
index 2e21d7cc57..5f9ce7ce01 100644
--- a/patches/server/0329-Implement-CraftBlockSoundGroup.patch
+++ b/patches/server/0329-Implement-CraftBlockSoundGroup.patch
@@ -49,10 +49,10 @@ index 0000000000000000000000000000000000000000..9a516520d975f52169e346adc4ec6d9d
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-index 3250559589eb4db7b3df828144cee81a19651842..0408a72e801178375426edf3e1c1880774ca5478 100644
+index 1cbc9288cabc0637c0ad6145e7461fef87bfc830..5284b17b77fb714f1b68b2e1ee15b4bf992bd8e1 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-@@ -606,4 +606,11 @@ public class CraftBlock implements Block {
+@@ -607,4 +607,11 @@ public class CraftBlock implements Block {
return iblockdata.canSurvive(world, this.position);
}
diff --git a/patches/server/0334-Expose-the-internal-current-tick.patch b/patches/server/0334-Expose-the-internal-current-tick.patch
index bbd59d4d14..a729de62a1 100644
--- a/patches/server/0334-Expose-the-internal-current-tick.patch
+++ b/patches/server/0334-Expose-the-internal-current-tick.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose the internal current tick
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 1f7ac7b4d2d26ecf1f3ab8f5eec0e0e2dcc679c1..f4f3e9e964effd856a9456b6d5759bf0bf0aa7a7 100644
+index 9b8d39e3f323829286d06d07cc7303e6fdc1bad8..91ef1b0e06c30668fe4bfb18ecdf2fe499f72fee 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2579,5 +2579,10 @@ public final class CraftServer implements Server {
+@@ -2600,5 +2600,10 @@ public final class CraftServer implements Server {
}
return new com.destroystokyo.paper.profile.CraftPlayerProfile(uuid, name);
}
diff --git a/patches/server/0363-Anti-Xray.patch b/patches/server/0363-Anti-Xray.patch
index a09d9223c4..77ea3047ac 100644
--- a/patches/server/0363-Anti-Xray.patch
+++ b/patches/server/0363-Anti-Xray.patch
@@ -1596,10 +1596,10 @@ index 7bc1219523eeb0880493e6fb42692f1fdb30c110..d6efa18ba9c032858071f6c87f1bdc0c
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index f4f3e9e964effd856a9456b6d5759bf0bf0aa7a7..14102e929bb8c91e50a6ea3175512dfb01ccac27 100644
+index 91ef1b0e06c30668fe4bfb18ecdf2fe499f72fee..36b7de78fa69f652079d74252286bb6df68cf0c6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2195,7 +2195,7 @@ public final class CraftServer implements Server {
+@@ -2216,7 +2216,7 @@ public final class CraftServer implements Server {
public ChunkGenerator.ChunkData createChunkData(World world) {
Validate.notNull(world, "World cannot be null");
ServerLevel handle = ((CraftWorld) world).getHandle();
diff --git a/patches/server/0384-Add-tick-times-API-and-mspt-command.patch b/patches/server/0384-Add-tick-times-API-and-mspt-command.patch
index 32ba46040c..0754a3d76f 100644
--- a/patches/server/0384-Add-tick-times-API-and-mspt-command.patch
+++ b/patches/server/0384-Add-tick-times-API-and-mspt-command.patch
@@ -146,10 +146,10 @@ index b3d3e023d10fe6bb964fe7a3d1cbb96d6a406283..51b8b23892d9a57c1502a7cd9dbde033
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 14102e929bb8c91e50a6ea3175512dfb01ccac27..47f69b5ce833003d70b0c9a46a69b007a62f3dcd 100644
+index 36b7de78fa69f652079d74252286bb6df68cf0c6..fc51c094b4eb2ec6cc79a649f3a3aec8c44b915a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2417,6 +2417,16 @@ public final class CraftServer implements Server {
+@@ -2438,6 +2438,16 @@ public final class CraftServer implements Server {
net.minecraft.server.MinecraftServer.getServer().tps15.getAverage()
};
}
diff --git a/patches/server/0385-Expose-MinecraftServer-isRunning.patch b/patches/server/0385-Expose-MinecraftServer-isRunning.patch
index 731080bb27..c1c7c662fd 100644
--- a/patches/server/0385-Expose-MinecraftServer-isRunning.patch
+++ b/patches/server/0385-Expose-MinecraftServer-isRunning.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning
This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 47f69b5ce833003d70b0c9a46a69b007a62f3dcd..709666558393b60e9655718c0e2a812821fccd3e 100644
+index fc51c094b4eb2ec6cc79a649f3a3aec8c44b915a..7764e78ad23ca196bcc621bb1cb895a8e5763c82 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2594,5 +2594,10 @@ public final class CraftServer implements Server {
+@@ -2615,5 +2615,10 @@ public final class CraftServer implements Server {
public int getCurrentTick() {
return net.minecraft.server.MinecraftServer.currentTick;
}
diff --git a/patches/server/0396-Improved-Watchdog-Support.patch b/patches/server/0396-Improved-Watchdog-Support.patch
index 7d9f4ee94e..42b646feff 100644
--- a/patches/server/0396-Improved-Watchdog-Support.patch
+++ b/patches/server/0396-Improved-Watchdog-Support.patch
@@ -323,10 +323,10 @@ index 8cfe47012b78eb582afff23ffcf758ca2e9dec95..d70bdf21dd7bdf01b34d0fd38e79f9b3
final String msg = String.format("BlockEntity threw exception at %s:%s,%s,%s", LevelChunk.this.getLevel().getWorld().getName(), this.getPos().getX(), this.getPos().getY(), this.getPos().getZ());
net.minecraft.server.MinecraftServer.LOGGER.error(msg, throwable);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 709666558393b60e9655718c0e2a812821fccd3e..d260e8d47915752c3b99d0fce952503ff0dca3a4 100644
+index 7764e78ad23ca196bcc621bb1cb895a8e5763c82..fbdc39181ea3074c2b2e3a877a59afafd02fe3c9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2040,7 +2040,7 @@ public final class CraftServer implements Server {
+@@ -2061,7 +2061,7 @@ public final class CraftServer implements Server {
@Override
public boolean isPrimaryThread() {
diff --git a/patches/server/0416-Expose-game-version.patch b/patches/server/0416-Expose-game-version.patch
index 3e86dd3397..71ee6acb34 100644
--- a/patches/server/0416-Expose-game-version.patch
+++ b/patches/server/0416-Expose-game-version.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose game version
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 264d1202d2efc6aeb89be17f74c0f1423d80be1d..af05f2fe686fbdd52f7e536e7f14e96b157de6ca 100644
+index fbdc39181ea3074c2b2e3a877a59afafd02fe3c9..6c8b907b3c2f9e9a5cbae38620d6ebbd70eaf453 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -577,6 +577,13 @@ public final class CraftServer implements Server {
+@@ -578,6 +578,13 @@ public final class CraftServer implements Server {
return this.bukkitVersion;
}
diff --git a/patches/server/0419-misc-debugging-dumps.patch b/patches/server/0419-misc-debugging-dumps.patch
index 76ce5f9ca6..687469904b 100644
--- a/patches/server/0419-misc-debugging-dumps.patch
+++ b/patches/server/0419-misc-debugging-dumps.patch
@@ -74,10 +74,10 @@ index 301042e7a0d372a914f27ec0988dd938cf2a8262..1766a22e65af2e08611a9435c7384377
this.connection.send(new ClientboundDisconnectPacket(chatmessage));
this.connection.disconnect(chatmessage);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index af05f2fe686fbdd52f7e536e7f14e96b157de6ca..134f9efd6267c3baeabc110f75d7182b0f78fa77 100644
+index 6c8b907b3c2f9e9a5cbae38620d6ebbd70eaf453..fc9c24e20bcdb43d79cb44bfbc2c0e82e8d1db46 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -997,6 +997,7 @@ public final class CraftServer implements Server {
+@@ -1018,6 +1018,7 @@ public final class CraftServer implements Server {
plugin.getDescription().getFullName(),
"This plugin is not properly shutting down its async tasks when it is being reloaded. This may cause conflicts with the newly loaded version of the plugin"
));
diff --git a/patches/server/0420-Deobfuscate-stacktraces-in-log-messages-crash-report.patch b/patches/server/0420-Deobfuscate-stacktraces-in-log-messages-crash-report.patch
index 252820d7aa..52590b5222 100644
--- a/patches/server/0420-Deobfuscate-stacktraces-in-log-messages-crash-report.patch
+++ b/patches/server/0420-Deobfuscate-stacktraces-in-log-messages-crash-report.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Deobfuscate stacktraces in log messages, crash reports, and
diff --git a/build.gradle.kts b/build.gradle.kts
-index 6e47e915134bccb7efa9555d7f33fbe82a25c003..30f31973478175fe62877e21ab6a5473801a58dc 100644
+index 898e2efb764e5bd97ab4e757e6c4c27fc4efdbef..055abcdfd779ce37d657845b3c6322f01fac989d 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,4 +1,6 @@
@@ -37,12 +37,12 @@ index 6e47e915134bccb7efa9555d7f33fbe82a25c003..30f31973478175fe62877e21ab6a5473
implementation("org.apache.logging.log4j:log4j-iostreams:2.14.1") // Paper
implementation("org.ow2.asm:asm:9.2")
@@ -35,6 +43,8 @@ dependencies {
- runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0")
- runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.0")
+ runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.2")
+ runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.2")
+ implementation("net.fabricmc:mapping-io:0.3.0") // Paper - needed to read mappings for stacktrace deobfuscation
+
- testImplementation("junit:junit:4.13.1")
+ testImplementation("junit:junit:4.13.2")
testImplementation("org.hamcrest:hamcrest-library:1.3")
}
@@ -92,6 +102,45 @@ tasks.shadowJar {
diff --git a/patches/server/0421-Implement-Mob-Goal-API.patch b/patches/server/0421-Implement-Mob-Goal-API.patch
index 97b2c79a22..3f50c4d346 100644
--- a/patches/server/0421-Implement-Mob-Goal-API.patch
+++ b/patches/server/0421-Implement-Mob-Goal-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Implement Mob Goal API
diff --git a/build.gradle.kts b/build.gradle.kts
-index 30f31973478175fe62877e21ab6a5473801a58dc..3381ac7c25323d662935c98aa444195c49cf4e8e 100644
+index 055abcdfd779ce37d657845b3c6322f01fac989d..0ed1fa068da85543b161fe86869ad8c90e701b73 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -45,6 +45,7 @@ dependencies {
@@ -13,7 +13,7 @@ index 30f31973478175fe62877e21ab6a5473801a58dc..3381ac7c25323d662935c98aa444195c
implementation("net.fabricmc:mapping-io:0.3.0") // Paper - needed to read mappings for stacktrace deobfuscation
+ testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
- testImplementation("junit:junit:4.13.1")
+ testImplementation("junit:junit:4.13.2")
testImplementation("org.hamcrest:hamcrest-library:1.3")
}
diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
@@ -785,10 +785,10 @@ index 4379b9948f1eecfe6fd7dea98e298ad5f761019a..3f081183521603824430709886a9cc31
LOOK,
JUMP,
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index cd09ec4a75166553470f83f249b6d1e6ee944b50..f0dd163b4af8034a2eaf9298a38a418fe5e05a70 100644
+index fc9c24e20bcdb43d79cb44bfbc2c0e82e8d1db46..a90b4d062ba602ed63ba11d42898997c4bf672f2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2607,5 +2607,11 @@ public final class CraftServer implements Server {
+@@ -2628,5 +2628,11 @@ public final class CraftServer implements Server {
public boolean isStopping() {
return net.minecraft.server.MinecraftServer.getServer().hasStopped();
}
diff --git a/patches/server/0428-Wait-for-Async-Tasks-during-shutdown.patch b/patches/server/0428-Wait-for-Async-Tasks-during-shutdown.patch
index 4dc23f673d..d4b780a618 100644
--- a/patches/server/0428-Wait-for-Async-Tasks-during-shutdown.patch
+++ b/patches/server/0428-Wait-for-Async-Tasks-during-shutdown.patch
@@ -22,10 +22,10 @@ index d613d9bbd2096788cd0f7e3a8aa901e44a4e25ff..faee8e2a29b4c9cbd62185f401ac7bbd
// CraftBukkit end
if (this.getConnection() != null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 1fc14d579e00534c5eb6ffb67fd61fd0685edb5a..9815401cc7e4438d44c6d812190f181300001802 100644
+index a90b4d062ba602ed63ba11d42898997c4bf672f2..ed4e566cd18de4f58fcbb54cf2b6ed5ce4895d0a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1006,6 +1006,35 @@ public final class CraftServer implements Server {
+@@ -1027,6 +1027,35 @@ public final class CraftServer implements Server {
org.spigotmc.WatchdogThread.hasStarted = true; // Paper - Disable watchdog early timeout on reload
}
diff --git a/patches/server/0439-Fix-villager-trading-demand-MC-163962.patch b/patches/server/0439-Fix-villager-trading-demand-MC-163962.patch
index 7c1bab1183..0850983283 100644
--- a/patches/server/0439-Fix-villager-trading-demand-MC-163962.patch
+++ b/patches/server/0439-Fix-villager-trading-demand-MC-163962.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Fix villager trading demand - MC-163962
Prevent demand from going negative and tending to negative infinity
diff --git a/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java b/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java
-index a9970cd2cdca15d6ea2d3acd3c361dd99f64061b..29b65a80e890e7e513336cb78d052c9d2c535a35 100644
+index 510730fecc8a88dd0588689512863bd30ac248c7..f3cf16ce1e1d6c8f76ca5823f532925253ae64aa 100644
--- a/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java
+++ b/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java
-@@ -109,7 +109,7 @@ public class MerchantOffer {
+@@ -113,7 +113,7 @@ public class MerchantOffer {
}
public void updateDemand() {
diff --git a/patches/server/0453-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0453-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
index 4ceaacadbc..1e824670c1 100644
--- a/patches/server/0453-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
+++ b/patches/server/0453-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
@@ -107,10 +107,10 @@ index 62deb7cc804b97528a74600b1918fc88d71e2966..acffb2c8a4f864da16c65b83a320d8b1
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 9815401cc7e4438d44c6d812190f181300001802..34abd017ac54ae7f12f8d6ffacfd7af90d7f9cad 100644
+index ed4e566cd18de4f58fcbb54cf2b6ed5ce4895d0a..52fabc8cd1b76a825a13d39f38ca982e252cb39b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -921,8 +921,8 @@ public final class CraftServer implements Server {
+@@ -942,8 +942,8 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
for (ServerLevel world : this.console.getAllLevels()) {
diff --git a/patches/server/0458-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/patches/server/0458-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
index 3143c5e86e..b8c17f7de9 100644
--- a/patches/server/0458-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
+++ b/patches/server/0458-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
@@ -22,10 +22,10 @@ wants it to collect even faster, they can restore that setting back to 1 instead
Not adding it to .getType() though to keep behavior consistent with vanilla for performance reasons.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 34abd017ac54ae7f12f8d6ffacfd7af90d7f9cad..f71b244b4d8afa1d109061de5c23f32f67539a93 100644
+index 52fabc8cd1b76a825a13d39f38ca982e252cb39b..54598af96488c47b613de8eb8eb0bf31ea84743f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -371,7 +371,7 @@ public final class CraftServer implements Server {
+@@ -372,7 +372,7 @@ public final class CraftServer implements Server {
this.ambientSpawn = this.configuration.getInt("spawn-limits.ambient");
console.autosavePeriod = this.configuration.getInt("ticks-per.autosave");
this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose"));
@@ -34,7 +34,7 @@ index 34abd017ac54ae7f12f8d6ffacfd7af90d7f9cad..f71b244b4d8afa1d109061de5c23f32f
this.minimumAPI = this.configuration.getString("settings.minimum-api");
this.loadIcon();
}
-@@ -901,7 +901,7 @@ public final class CraftServer implements Server {
+@@ -922,7 +922,7 @@ public final class CraftServer implements Server {
this.waterUndergroundCreatureSpawn = this.configuration.getInt("spawn-limits.water-underground-creature");
this.ambientSpawn = this.configuration.getInt("spawn-limits.ambient");
this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose"));
diff --git a/patches/server/0487-Brand-support.patch b/patches/server/0487-Brand-support.patch
index 7e22187c8b..29cb274d4e 100644
--- a/patches/server/0487-Brand-support.patch
+++ b/patches/server/0487-Brand-support.patch
@@ -72,10 +72,10 @@ index 938e6ee89bdb398dc4e2ce1682727c0e63f28c26..4065a1cb1b4b68aa3ff9f1c3e86c270e
return (!this.player.joining && !this.connection.isConnected()) || this.processedDisconnect; // Paper
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index fd27b0e62c3da17e7f6b948b6380d9d29422b9ba..2f961b09c0e2a79391e13f2ea473099080471af6 100644
+index 9eb324b576cd9b50cf7cfad6470ae6a9b8de0a19..fa3554c96e87fc58c3e71e1635b5cf76fe18e27d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2531,6 +2531,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2548,6 +2548,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper end
};
diff --git a/patches/server/0488-Add-setMaxPlayers-API.patch b/patches/server/0488-Add-setMaxPlayers-API.patch
index 960ac5bd01..25631acf0d 100644
--- a/patches/server/0488-Add-setMaxPlayers-API.patch
+++ b/patches/server/0488-Add-setMaxPlayers-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add #setMaxPlayers API
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index c75218775bb5e9745b863ef1db5280a4a3f2bed9..a1077445ab7d416dc61db85742e447193642b919 100644
+index 98c70121c53e42e3c9bc7403eed83335f567bc74..ba46e9eafab188455d49f1a555e38b0ebe66fcf9 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -144,7 +144,7 @@ public abstract class PlayerList {
@@ -18,10 +18,10 @@ index c75218775bb5e9745b863ef1db5280a4a3f2bed9..a1077445ab7d416dc61db85742e44719
private int simulationDistance;
private boolean allowCheatsForAllPlayers;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index f71b244b4d8afa1d109061de5c23f32f67539a93..80843004e01ae8ce66823daa1062c997f135baf3 100644
+index 54598af96488c47b613de8eb8eb0bf31ea84743f..5e3397c8066dacdc1ebcbef57ecf4af0596cc02d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -672,6 +672,13 @@ public final class CraftServer implements Server {
+@@ -673,6 +673,13 @@ public final class CraftServer implements Server {
return this.playerList.getMaxPlayers();
}
diff --git a/patches/server/0503-Add-methods-to-get-translation-keys.patch b/patches/server/0503-Add-methods-to-get-translation-keys.patch
index ed27a602e0..fdc247d975 100644
--- a/patches/server/0503-Add-methods-to-get-translation-keys.patch
+++ b/patches/server/0503-Add-methods-to-get-translation-keys.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add methods to get translation keys
Co-authored-by: MeFisto94 <[email protected]>
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-index 00056d5b3426df121242de2ae01fca492d20089a..ce97c1cafc520db5670004e00aee6b08045e9e00 100644
+index a3eb8cd92c1c7a40175e3dd637c0fd6b8d0dfc67..980f0ec9d343b4186dfeb07b9b08edfde9efeb33 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-@@ -625,5 +625,15 @@ public class CraftBlock implements Block {
+@@ -626,5 +626,15 @@ public class CraftBlock implements Block {
public com.destroystokyo.paper.block.BlockSoundGroup getSoundGroup() {
return new com.destroystokyo.paper.block.CraftBlockSoundGroup(getNMS().getBlock().defaultBlockState().getSoundType());
}
@@ -42,7 +42,7 @@ index eb99e0c2462a2d1ab4508a5c3f1580b6e31d7465..c536eceef3365a7b726cd970df345ba1
public net.minecraft.world.item.enchantment.Enchantment getHandle() {
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 19401098850f3fecaaea1f27ff4febd7bda1f7c9..dd9433f014c974bbee6f00a9677403ddbbcee416 100644
+index 30142e9177ac1f8a985643524d5c11fda9854d64..b160c437fea9a09e9a67d6bd103960b038fe88fe 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -442,6 +442,30 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0527-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0527-Add-getOfflinePlayerIfCached-String.patch
index a2426ad732..5f9c235557 100644
--- a/patches/server/0527-Add-getOfflinePlayerIfCached-String.patch
+++ b/patches/server/0527-Add-getOfflinePlayerIfCached-String.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String)
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 1b49560b8323ab5fc3f02963b2911473e36e3cba..538fd5553c6d8ebea5ae83d47fcfbdd4b2ada611 100644
+index 5e3397c8066dacdc1ebcbef57ecf4af0596cc02d..93faeef65f846fdb472204709093ebcdba790dce 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1799,6 +1799,28 @@ public final class CraftServer implements Server {
+@@ -1820,6 +1820,28 @@ public final class CraftServer implements Server {
return result;
}
diff --git a/patches/server/0528-Add-ignore-discounts-API.patch b/patches/server/0528-Add-ignore-discounts-API.patch
index cfd1698df4..b09ae75fa6 100644
--- a/patches/server/0528-Add-ignore-discounts-API.patch
+++ b/patches/server/0528-Add-ignore-discounts-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add ignore discounts API
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 785fcb94d707b6790ef2191f7c9db77d253e9c6d..353ee3699c7c7e40dc920e687055d82e23f02008 100644
+index 55b44d0391e9b946536f070ea5bbdd19cd0ae981..6cd297e66a7563bb8f2988302c657ac81fdd3d0f 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -475,6 +475,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -25,32 +25,35 @@ index 785fcb94d707b6790ef2191f7c9db77d253e9c6d..353ee3699c7c7e40dc920e687055d82e
int k = (int) Math.floor(d0 * (double) merchantrecipe1.getBaseCostA().getCount());
diff --git a/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java b/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java
-index 29b65a80e890e7e513336cb78d052c9d2c535a35..e0f1857dc100bc4d68e5e308b984e5eeaef976b5 100644
+index f3cf16ce1e1d6c8f76ca5823f532925253ae64aa..c9cb0717c2793acd5b5870a6cc4d672d69a40026 100644
--- a/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java
+++ b/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java
@@ -19,6 +19,7 @@ public class MerchantOffer {
- private int demand;
+ public int demand; // PAIL private -> public
public float priceMultiplier;
public int xp;
+ public boolean ignoreDiscounts; // Paper
// CraftBukkit start
private CraftMerchantRecipe bukkitHandle;
-@@ -27,7 +28,12 @@ public class MerchantOffer {
+@@ -31,7 +32,15 @@ public class MerchantOffer {
}
- public MerchantOffer(ItemStack itemstack, ItemStack itemstack1, ItemStack itemstack2, int uses, int maxUses, int experience, float priceMultiplier, CraftMerchantRecipe bukkit) {
-- this(itemstack, itemstack1, itemstack2, uses, maxUses, experience, priceMultiplier);
+ public MerchantOffer(ItemStack itemstack, ItemStack itemstack1, ItemStack itemstack2, int uses, int maxUses, int experience, float priceMultiplier, int demand, CraftMerchantRecipe bukkit) {
+- this(itemstack, itemstack1, itemstack2, uses, maxUses, experience, priceMultiplier, demand);
+ // Paper start - add ignoreDiscounts param
-+ this(itemstack, itemstack1, itemstack2, uses, maxUses, experience, priceMultiplier, false, bukkit);
++ this(itemstack, itemstack1, itemstack2, uses, maxUses, experience, priceMultiplier, demand, false, bukkit);
+ }
+ public MerchantOffer(ItemStack itemstack, ItemStack itemstack1, ItemStack itemstack2, int uses, int maxUses, int experience, float priceMultiplier, boolean ignoreDiscounts, CraftMerchantRecipe bukkit) {
-+ this(itemstack, itemstack1, itemstack2, uses, maxUses, experience, priceMultiplier, 0, ignoreDiscounts);
++ this(itemstack, itemstack1, itemstack2, uses, maxUses, experience, priceMultiplier, 0, ignoreDiscounts, bukkit);
++ }
++ public MerchantOffer(ItemStack itemstack, ItemStack itemstack1, ItemStack itemstack2, int uses, int maxUses, int experience, float priceMultiplier, int demand, boolean ignoreDiscounts, CraftMerchantRecipe bukkit) {
++ this(itemstack, itemstack1, itemstack2, uses, maxUses, experience, priceMultiplier, demand, ignoreDiscounts);
+ // Paper end
this.bukkitHandle = bukkit;
}
// CraftBukkit end
-@@ -59,6 +65,7 @@ public class MerchantOffer {
+@@ -63,6 +72,7 @@ public class MerchantOffer {
this.specialPriceDiff = nbt.getInt("specialPrice");
this.demand = nbt.getInt("demand");
@@ -58,7 +61,7 @@ index 29b65a80e890e7e513336cb78d052c9d2c535a35..e0f1857dc100bc4d68e5e308b984e5ee
}
public MerchantOffer(ItemStack buyItem, ItemStack sellItem, int maxUses, int merchantExperience, float priceMultiplier) {
-@@ -70,10 +77,19 @@ public class MerchantOffer {
+@@ -74,10 +84,19 @@ public class MerchantOffer {
}
public MerchantOffer(ItemStack firstBuyItem, ItemStack secondBuyItem, ItemStack sellItem, int uses, int maxUses, int merchantExperience, float priceMultiplier) {
@@ -79,7 +82,7 @@ index 29b65a80e890e7e513336cb78d052c9d2c535a35..e0f1857dc100bc4d68e5e308b984e5ee
this.rewardExp = true;
this.xp = 1;
this.baseCostA = firstBuyItem;
-@@ -189,6 +205,7 @@ public class MerchantOffer {
+@@ -193,6 +212,7 @@ public class MerchantOffer {
nbttagcompound.putFloat("priceMultiplier", this.priceMultiplier);
nbttagcompound.putInt("specialPrice", this.specialPriceDiff);
nbttagcompound.putInt("demand", this.demand);
@@ -88,32 +91,40 @@ index 29b65a80e890e7e513336cb78d052c9d2c535a35..e0f1857dc100bc4d68e5e308b984e5ee
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantRecipe.java
-index 8dfbac01a7c88797bb7adfee6278d090da2bedc9..fc69347b03ce197584b310f99e14799046ed5b70 100644
+index 07462b77107541aed2e29d04da33831ac113b450..0f038f6152c90e707cb633dffcab0a1c5b99d260 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantRecipe.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantRecipe.java
-@@ -17,7 +17,12 @@ public class CraftMerchantRecipe extends MerchantRecipe {
+@@ -18,11 +18,19 @@ public class CraftMerchantRecipe extends MerchantRecipe {
}
public CraftMerchantRecipe(ItemStack result, int uses, int maxUses, boolean experienceReward, int experience, float priceMultiplier) {
-- super(result, uses, maxUses, experienceReward, experience, priceMultiplier);
+- this(result, uses, maxUses, experienceReward, experience, priceMultiplier, 0, 0);
+ // Paper start - add ignoreDiscounts param
-+ this(result, uses, maxUses, experienceReward, experience, priceMultiplier, false);
++ this(result, uses, maxUses, experienceReward, experience, priceMultiplier, 0, 0, false);
+ }
+ public CraftMerchantRecipe(ItemStack result, int uses, int maxUses, boolean experienceReward, int experience, float priceMultiplier, boolean ignoreDiscounts) {
-+ super(result, uses, maxUses, experienceReward, experience, priceMultiplier, ignoreDiscounts);
++ this(result, uses, maxUses, experienceReward, experience, priceMultiplier, 0, 0, ignoreDiscounts);
+ }
+
+ public CraftMerchantRecipe(ItemStack result, int uses, int maxUses, boolean experienceReward, int experience, float priceMultiplier, int demand, int specialPrice) {
+- super(result, uses, maxUses, experienceReward, experience, priceMultiplier, demand, specialPrice);
++ this(result, uses, maxUses, experienceReward, experience, priceMultiplier, demand, specialPrice, false);
++ }
++ public CraftMerchantRecipe(ItemStack result, int uses, int maxUses, boolean experienceReward, int experience, float priceMultiplier, int demand, int specialPrice, boolean ignoreDiscounts) {
++ super(result, uses, maxUses, experienceReward, experience, priceMultiplier, demand, specialPrice, ignoreDiscounts);
+ // Paper end
this.handle = new net.minecraft.world.item.trading.MerchantOffer(
net.minecraft.world.item.ItemStack.EMPTY,
net.minecraft.world.item.ItemStack.EMPTY,
-@@ -26,6 +31,7 @@ public class CraftMerchantRecipe extends MerchantRecipe {
- maxUses,
+@@ -32,6 +40,7 @@ public class CraftMerchantRecipe extends MerchantRecipe {
experience,
priceMultiplier,
+ demand,
+ ignoreDiscounts, // Paper - add ignoreDiscounts param
this
);
- this.setExperienceReward(experienceReward);
-@@ -81,6 +87,18 @@ public class CraftMerchantRecipe extends MerchantRecipe {
+ this.setSpecialPrice(specialPrice);
+@@ -108,6 +117,18 @@ public class CraftMerchantRecipe extends MerchantRecipe {
handle.priceMultiplier = priceMultiplier;
}
@@ -132,7 +143,7 @@ index 8dfbac01a7c88797bb7adfee6278d090da2bedc9..fc69347b03ce197584b310f99e147990
public net.minecraft.world.item.trading.MerchantOffer toMinecraft() {
List<ItemStack> ingredients = getIngredients();
Preconditions.checkState(!ingredients.isEmpty(), "No offered ingredients");
-@@ -95,7 +113,7 @@ public class CraftMerchantRecipe extends MerchantRecipe {
+@@ -122,7 +143,7 @@ public class CraftMerchantRecipe extends MerchantRecipe {
if (recipe instanceof CraftMerchantRecipe) {
return (CraftMerchantRecipe) recipe;
} else {
diff --git a/patches/server/0538-Add-Destroy-Speed-API.patch b/patches/server/0538-Add-Destroy-Speed-API.patch
index b878752c90..8727a04a53 100644
--- a/patches/server/0538-Add-Destroy-Speed-API.patch
+++ b/patches/server/0538-Add-Destroy-Speed-API.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add Destroy Speed API
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-index e69b1831cbfdff3f2b1e4be4d5de313bfe724795..fcaf05af6cfd15e0e313c4ffeb5dfd604806afbd 100644
+index aa783fb4d77c9edb58c56ff98c604a87d9583767..2144126241450fe2d6e801bd9452d211a03b6f7c 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-@@ -635,5 +635,26 @@ public class CraftBlock implements Block {
+@@ -636,5 +636,26 @@ public class CraftBlock implements Block {
public String translationKey() {
return org.bukkit.Bukkit.getUnsafe().getTranslationKey(this);
}
diff --git a/patches/server/0539-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0539-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
index 6dd68c211c..97588b69a4 100644
--- a/patches/server/0539-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
+++ b/patches/server/0539-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 86814204543d56f2ecc0878525d0864d1fdbf76e..2e75bdfaeaef4acfbbb6e4f79317f1050fe82852 100644
+index d392a02d996140ab8102e8b9243fd6119fe343a2..8e41be518510e559724f2f26c195f9a99ba343e5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2102,7 +2102,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2119,7 +2119,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (data != null && !particle.getDataType().isInstance(data)) {
throw new IllegalArgumentException("data should be " + particle.getDataType() + " got " + data.getClass());
}
diff --git a/patches/server/0615-Add-Block-isValidTool.patch b/patches/server/0615-Add-Block-isValidTool.patch
index 80337e27f0..766561ca56 100644
--- a/patches/server/0615-Add-Block-isValidTool.patch
+++ b/patches/server/0615-Add-Block-isValidTool.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Block#isValidTool
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-index a992c5d0cbc3882d7fb1343aa4ca784cad6cc1a9..1cc8edc51bedc53ee82490bc1df4a36a5a88c028 100644
+index fdf342e6059d967746164f18dc041b4e586f1a20..bdabe194a32e922bbbd73a2a33c3d0f54c46be67 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-@@ -675,5 +675,9 @@ public class CraftBlock implements Block {
+@@ -676,5 +676,9 @@ public class CraftBlock implements Block {
}
return speed;
}
diff --git a/patches/server/0617-Implement-Keyed-on-World.patch b/patches/server/0617-Implement-Keyed-on-World.patch
index cbc6409a40..896d602707 100644
--- a/patches/server/0617-Implement-Keyed-on-World.patch
+++ b/patches/server/0617-Implement-Keyed-on-World.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement Keyed on World
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 8535bb6523ef8736970f064ee2b52563a4c9726f..203ba9f883941cd4f421b2c53ee153ecc02cd16c 100644
+index 93faeef65f846fdb472204709093ebcdba790dce..28fb73ffd683a45b1d6be4b55116e861d0c2973c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1236,7 +1236,7 @@ public final class CraftServer implements Server {
+@@ -1257,7 +1257,7 @@ public final class CraftServer implements Server {
} else if (name.equals(levelName + "_the_end")) {
worldKey = net.minecraft.world.level.Level.END;
} else {
@@ -17,7 +17,7 @@ index 8535bb6523ef8736970f064ee2b52563a4c9726f..203ba9f883941cd4f421b2c53ee153ec
}
ServerLevel internal = (ServerLevel) new ServerLevel(this.console, console.executor, worldSession, worlddata, worldKey, dimensionmanager, this.getServer().progressListenerFactory.create(11),
-@@ -1328,6 +1328,15 @@ public final class CraftServer implements Server {
+@@ -1349,6 +1349,15 @@ public final class CraftServer implements Server {
return null;
}
diff --git a/patches/server/0657-Add-basic-Datapack-API.patch b/patches/server/0657-Add-basic-Datapack-API.patch
index 78e2a58dd0..dd319fdd20 100644
--- a/patches/server/0657-Add-basic-Datapack-API.patch
+++ b/patches/server/0657-Add-basic-Datapack-API.patch
@@ -92,10 +92,10 @@ index 0000000000000000000000000000000000000000..cf4374493c11057451a62a655514415c
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 8a4c15afceb96e319b80b7506e401f60275b5116..8fe8a761b76972fbc586fa7bb3e08fbeabd5bda0 100644
+index 28fb73ffd683a45b1d6be4b55116e861d0c2973c..6513cb5f236d86097f078f8c72cc3d0a0ebc9617 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -290,6 +290,7 @@ public final class CraftServer implements Server {
+@@ -291,6 +291,7 @@ public final class CraftServer implements Server {
public boolean ignoreVanillaPermissions = false;
private final List<CraftPlayer> playerView;
public int reloadCount;
@@ -103,7 +103,7 @@ index 8a4c15afceb96e319b80b7506e401f60275b5116..8fe8a761b76972fbc586fa7bb3e08fbe
public static Exception excessiveVelEx; // Paper - Velocity warnings
static {
-@@ -374,6 +375,7 @@ public final class CraftServer implements Server {
+@@ -375,6 +376,7 @@ public final class CraftServer implements Server {
TicketType.PLUGIN.timeout = Math.min(20, this.configuration.getInt("chunk-gc.period-in-ticks")); // Paper - cap plugin loads to 1 second
this.minimumAPI = this.configuration.getString("settings.minimum-api");
this.loadIcon();
@@ -111,7 +111,7 @@ index 8a4c15afceb96e319b80b7506e401f60275b5116..8fe8a761b76972fbc586fa7bb3e08fbe
}
public boolean getCommandBlockOverride(String command) {
-@@ -2680,5 +2682,11 @@ public final class CraftServer implements Server {
+@@ -2701,5 +2703,11 @@ public final class CraftServer implements Server {
public com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() {
return mobGoals;
}
diff --git a/patches/server/0662-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0662-Fix-and-optimise-world-force-upgrading.patch
index 5e80e687bc..697a7622df 100644
--- a/patches/server/0662-Fix-and-optimise-world-force-upgrading.patch
+++ b/patches/server/0662-Fix-and-optimise-world-force-upgrading.patch
@@ -246,7 +246,7 @@ index 0000000000000000000000000000000000000000..748e6923338d40d67e31251e9ab60016
+ }
+}
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
-index f685ab3cc6e4fd76e8dec3d2d3627a13715cda44..36a1d58dd238c835ce3cc9c2376a86a04915d098 100644
+index 3835a8340792837674bdbcd5583ce74446b0460b..e2c8f716af55ebb7e4233c2a3d6515f8f4a239fa 100644
--- a/src/main/java/net/minecraft/server/Main.java
+++ b/src/main/java/net/minecraft/server/Main.java
@@ -13,6 +13,7 @@ import java.nio.file.Paths;
@@ -306,7 +306,7 @@ index 5de82c5d7da2ca6eeee4b804b916fa9d385cc25c..e03018882da878ddc51986733cfd6ea1
if (dimensionKey == LevelStem.OVERWORLD) {
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 0149e5c3618e1c35ec15230fe9838650429afeb9..aaebbf265ba6ad98fc14d02d24b3db1a6fa904ba 100644
+index c76b508026c5ad54879ba400a9b6f8287f3f95b8..b7f9d6682c1dc5f03ae363b782ae9346f5bbe841 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -177,6 +177,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -359,10 +359,10 @@ index 2ee32657a49937418b352a138aca21fbb27857e6..7b4f3c30cfc4bf68cc872598726f7f7e
return this.regionCache.getAndMoveToFirst(ChunkPos.asLong(chunkcoordintpair.getRegionX(), chunkcoordintpair.getRegionZ()));
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index c1a28d8d52afcfd60223b59107ce92e1037f5ba6..febad6c8687b33d13dcd55bfe6390eda6d605a45 100644
+index 6513cb5f236d86097f078f8c72cc3d0a0ebc9617..dfeef8b13a86998599d17f84996e1368649c47b1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1197,12 +1197,7 @@ public final class CraftServer implements Server {
+@@ -1218,12 +1218,7 @@ public final class CraftServer implements Server {
}
worlddata.checkName(name);
worlddata.setModdedInfo(this.console.getServerModName(), this.console.getModdedStatus().shouldReportAsModified());
@@ -376,7 +376,7 @@ index c1a28d8d52afcfd60223b59107ce92e1037f5ba6..febad6c8687b33d13dcd55bfe6390eda
long j = BiomeManager.obfuscateSeed(creator.seed());
List<CustomSpawner> list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata));
-@@ -1231,6 +1226,14 @@ public final class CraftServer implements Server {
+@@ -1252,6 +1247,14 @@ public final class CraftServer implements Server {
}
}
diff --git a/patches/server/0688-Fix-return-value-of-Block-applyBoneMeal-always-being.patch b/patches/server/0688-Fix-return-value-of-Block-applyBoneMeal-always-being.patch
index c2c8ad9b37..90092e8142 100644
--- a/patches/server/0688-Fix-return-value-of-Block-applyBoneMeal-always-being.patch
+++ b/patches/server/0688-Fix-return-value-of-Block-applyBoneMeal-always-being.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix return value of Block#applyBoneMeal always being false
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-index 011f34034bf6d8481e91b08894c68d87de41f2c1..ee24edb7f3821ae3a1881824257d21226f909adb 100644
+index bdabe194a32e922bbbd73a2a33c3d0f54c46be67..991e73e0f397da265b08ce14bb2f92b251eaff48 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-@@ -520,7 +520,7 @@ public class CraftBlock implements Block {
+@@ -521,7 +521,7 @@ public class CraftBlock implements Block {
Direction direction = CraftBlock.blockFaceToNotch(face);
UseOnContext context = new UseOnContext(this.getCraftWorld().getHandle(), null, InteractionHand.MAIN_HAND, Items.BONE_MEAL.getDefaultInstance(), new BlockHitResult(Vec3.ZERO, direction, this.getPosition(), false));
diff --git a/patches/server/0696-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0695-Don-t-apply-cramming-damage-to-players.patch
index bb7e966527..b51e8e18ca 100644
--- a/patches/server/0696-Don-t-apply-cramming-damage-to-players.patch
+++ b/patches/server/0695-Don-t-apply-cramming-damage-to-players.patch
@@ -11,7 +11,7 @@ It does not make a lot of sense to damage players if they get crammed,
For those who really want it a config option is provided.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index f07174ca6cdf9609fd695f999b09312c7b2b468e..5f8e4ea63d00f62df22f4379b67058238e6fe971 100644
+index be7b7f9345a42007d6ccea6a31c93a4c874647b6..a374112dc1ecb55dc921d2a2202f6eab47be0d35 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -883,4 +883,9 @@ public class PaperWorldConfig {
@@ -25,7 +25,7 @@ index f07174ca6cdf9609fd695f999b09312c7b2b468e..5f8e4ea63d00f62df22f4379b6705823
+ }
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index df0b08628d736b7f75120f1b9840784f6c472853..2607dc36e0bd7a915afb0cc9e0f453a2b301c0bd 100644
+index 6f5be46ae4c4f53695cdc5954352a2589842ede6..e87d4071604a642c0a08129b469e707a609bf83d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1435,7 +1435,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0695-Fix-MerchantOffer-BuyB-Only-AssertionError.patch b/patches/server/0695-Fix-MerchantOffer-BuyB-Only-AssertionError.patch
deleted file mode 100644
index 6cc9fedf40..0000000000
--- a/patches/server/0695-Fix-MerchantOffer-BuyB-Only-AssertionError.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: thamid-gamer <[email protected]>
-Date: Fri, 16 Jul 2021 16:00:17 -0400
-Subject: [PATCH] Fix MerchantOffer BuyB-Only AssertionError
-
-
-diff --git a/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java b/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java
-index e0f1857dc100bc4d68e5e308b984e5eeaef976b5..12354b2fd411c57fd14dfca92cd2f1522fa6f050 100644
---- a/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java
-+++ b/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java
-@@ -231,6 +231,7 @@ public class MerchantOffer {
- if (!this.satisfiedBy(firstBuyStack, secondBuyStack)) {
- return false;
- } else {
-+ if (!this.getCostA().isEmpty()) // Paper
- firstBuyStack.shrink(this.getCostA().getCount());
- if (!this.getCostB().isEmpty()) {
- secondBuyStack.shrink(this.getCostB().getCount());
diff --git a/patches/server/0697-Rate-options-and-timings-for-sensors-and-behaviors.patch b/patches/server/0696-Rate-options-and-timings-for-sensors-and-behaviors.patch
index dbc3d332fc..730ffaccf0 100644
--- a/patches/server/0697-Rate-options-and-timings-for-sensors-and-behaviors.patch
+++ b/patches/server/0696-Rate-options-and-timings-for-sensors-and-behaviors.patch
@@ -28,7 +28,7 @@ index b47b7dce26805badd422c1867733ff4bfd00e9f4..b27021a42cbed3f0648a8d0903d00d03
* Get a named timer for the specified tile entity type to track type specific timings.
* @param entity
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 5f8e4ea63d00f62df22f4379b67058238e6fe971..aaa437f83b5784464ba443cd04bf13a1321f0921 100644
+index a374112dc1ecb55dc921d2a2202f6eab47be0d35..9e31046c1e6f1138e75aee11647b0ff9bf45503d 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -9,8 +9,10 @@ import it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap;
diff --git a/patches/server/0698-Add-a-bunch-of-missing-forceDrop-toggles.patch b/patches/server/0697-Add-a-bunch-of-missing-forceDrop-toggles.patch
index 8e3b6ad7b3..8e3b6ad7b3 100644
--- a/patches/server/0698-Add-a-bunch-of-missing-forceDrop-toggles.patch
+++ b/patches/server/0697-Add-a-bunch-of-missing-forceDrop-toggles.patch
diff --git a/patches/server/0699-Stinger-API.patch b/patches/server/0698-Stinger-API.patch
index 33f8959315..33f8959315 100644
--- a/patches/server/0699-Stinger-API.patch
+++ b/patches/server/0698-Stinger-API.patch
diff --git a/patches/server/0700-Fix-incosistency-issue-with-empty-map-items-in-CB.patch b/patches/server/0699-Fix-incosistency-issue-with-empty-map-items-in-CB.patch
index 77196f4ae2..77196f4ae2 100644
--- a/patches/server/0700-Fix-incosistency-issue-with-empty-map-items-in-CB.patch
+++ b/patches/server/0699-Fix-incosistency-issue-with-empty-map-items-in-CB.patch
diff --git a/patches/server/0701-Add-System.out-err-catcher.patch b/patches/server/0700-Add-System.out-err-catcher.patch
index efb52379da..4af2eb2238 100644
--- a/patches/server/0701-Add-System.out-err-catcher.patch
+++ b/patches/server/0700-Add-System.out-err-catcher.patch
@@ -105,7 +105,7 @@ index 0000000000000000000000000000000000000000..76d0d00cd6742991e3f3ec827a75ee87
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index febad6c8687b33d13dcd55bfe6390eda6d605a45..88166a778b30e7d3ff6a63e1162232b68a11f17f 100644
+index dfeef8b13a86998599d17f84996e1368649c47b1..5f35c3714ac4e0e7afaa81c1ebe8d9601202bbb2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -18,6 +18,7 @@ import com.mojang.serialization.Lifecycle;
@@ -116,7 +116,7 @@ index febad6c8687b33d13dcd55bfe6390eda6d605a45..88166a778b30e7d3ff6a63e1162232b6
import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap;
import java.awt.image.BufferedImage;
import java.io.File;
-@@ -292,6 +293,7 @@ public final class CraftServer implements Server {
+@@ -293,6 +294,7 @@ public final class CraftServer implements Server {
public int reloadCount;
private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper
public static Exception excessiveVelEx; // Paper - Velocity warnings
diff --git a/patches/server/0702-Fix-test-not-bootstrapping.patch b/patches/server/0701-Fix-test-not-bootstrapping.patch
index 5d0466c3b3..5d0466c3b3 100644
--- a/patches/server/0702-Fix-test-not-bootstrapping.patch
+++ b/patches/server/0701-Fix-test-not-bootstrapping.patch
diff --git a/patches/server/0703-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/server/0702-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
index 10cd90749d..10cd90749d 100644
--- a/patches/server/0703-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
+++ b/patches/server/0702-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
diff --git a/patches/server/0704-Improve-boat-collision-performance.patch b/patches/server/0703-Improve-boat-collision-performance.patch
index 9e8bbe1be1..9e8bbe1be1 100644
--- a/patches/server/0704-Improve-boat-collision-performance.patch
+++ b/patches/server/0703-Improve-boat-collision-performance.patch
diff --git a/patches/server/0705-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0704-Prevent-AFK-kick-while-watching-end-credits.patch
index 0a0996db8c..0a0996db8c 100644
--- a/patches/server/0705-Prevent-AFK-kick-while-watching-end-credits.patch
+++ b/patches/server/0704-Prevent-AFK-kick-while-watching-end-credits.patch
diff --git a/patches/server/0706-Allow-skipping-writing-of-comments-to-server.propert.patch b/patches/server/0705-Allow-skipping-writing-of-comments-to-server.propert.patch
index d4d19d0e69..d4d19d0e69 100644
--- a/patches/server/0706-Allow-skipping-writing-of-comments-to-server.propert.patch
+++ b/patches/server/0705-Allow-skipping-writing-of-comments-to-server.propert.patch
diff --git a/patches/server/0707-Add-PlayerSetSpawnEvent.patch b/patches/server/0706-Add-PlayerSetSpawnEvent.patch
index 41e17f2098..648acdbf32 100644
--- a/patches/server/0707-Add-PlayerSetSpawnEvent.patch
+++ b/patches/server/0706-Add-PlayerSetSpawnEvent.patch
@@ -18,7 +18,7 @@ index e95f2222814e104bf9194a96385737dffe2cb2b5..249ab7357aa19d87179fa4c3ae89d9d3
String string = resourceKey.location().toString();
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 2607dc36e0bd7a915afb0cc9e0f453a2b301c0bd..ea724b1781ea256c991fe47aa044183e20ae4d82 100644
+index e87d4071604a642c0a08129b469e707a609bf83d..6c0c1f7f4f3407164ee39abf4c87ffcc057994fd 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1276,7 +1276,7 @@ public class ServerPlayer extends Player {
@@ -93,7 +93,7 @@ index d620f559cdd1bd0e161a99123ef6c6f64e3302df..07e893f1859abe3c2a765694c21309d6
return InteractionResult.SUCCESS;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 6a76ae601bfaa64b64bd4c62c488cd4f70953427..097f8d360fcdd96f95ece64d4d1368e36408d451 100644
+index 39afaf3355aaf601bab0526c720dbe2049518e8c..03888e95445147ed462233c0115d7e90411c192c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1089,9 +1089,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0708-Make-hoppers-respect-inventory-max-stack-size.patch b/patches/server/0707-Make-hoppers-respect-inventory-max-stack-size.patch
index fe1da128ae..fe1da128ae 100644
--- a/patches/server/0708-Make-hoppers-respect-inventory-max-stack-size.patch
+++ b/patches/server/0707-Make-hoppers-respect-inventory-max-stack-size.patch
diff --git a/patches/server/0709-Optimize-entity-tracker-passenger-checks.patch b/patches/server/0708-Optimize-entity-tracker-passenger-checks.patch
index ce8a02f22d..ce8a02f22d 100644
--- a/patches/server/0709-Optimize-entity-tracker-passenger-checks.patch
+++ b/patches/server/0708-Optimize-entity-tracker-passenger-checks.patch
diff --git a/patches/server/0710-Config-option-for-Piglins-guarding-chests.patch b/patches/server/0709-Config-option-for-Piglins-guarding-chests.patch
index bff7c34f22..a5ae275da7 100644
--- a/patches/server/0710-Config-option-for-Piglins-guarding-chests.patch
+++ b/patches/server/0709-Config-option-for-Piglins-guarding-chests.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Config option for Piglins guarding chests
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index aaa437f83b5784464ba443cd04bf13a1321f0921..27dbdf072fde014b6244428afbc3b279e2080995 100644
+index 9e31046c1e6f1138e75aee11647b0ff9bf45503d..e85835f3ec7bb5e5ef5a827a4cb6614780255326 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -72,6 +72,11 @@ public class PaperWorldConfig {
diff --git a/patches/server/0711-Added-EntityDamageItemEvent.patch b/patches/server/0710-Added-EntityDamageItemEvent.patch
index bab8258ae6..bab8258ae6 100644
--- a/patches/server/0711-Added-EntityDamageItemEvent.patch
+++ b/patches/server/0710-Added-EntityDamageItemEvent.patch
diff --git a/patches/server/0712-Optimize-indirect-passenger-iteration.patch b/patches/server/0711-Optimize-indirect-passenger-iteration.patch
index 485e10407d..2011f87762 100644
--- a/patches/server/0712-Optimize-indirect-passenger-iteration.patch
+++ b/patches/server/0711-Optimize-indirect-passenger-iteration.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Optimize indirect passenger iteration
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 4049a35d44c8351e81d7867b3524fa960ecc2d71..648987c04c6e025e86825142cacaedb7c9a1cba4 100644
+index 6970bb9951e83d5e1a76bad8ca4a7cb16d7fdd92..aa85a026b04f790dd9e4551f2ea3082bc076e04f 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3496,26 +3496,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
diff --git a/patches/server/0713-Fix-block-drops-position-losing-precision-millions-o.patch b/patches/server/0712-Fix-block-drops-position-losing-precision-millions-o.patch
index 7077043f4f..7077043f4f 100644
--- a/patches/server/0713-Fix-block-drops-position-losing-precision-millions-o.patch
+++ b/patches/server/0712-Fix-block-drops-position-losing-precision-millions-o.patch
diff --git a/patches/server/0714-Configurable-item-frame-map-cursor-update-interval.patch b/patches/server/0713-Configurable-item-frame-map-cursor-update-interval.patch
index c1bdb0ab59..6a567624e6 100644
--- a/patches/server/0714-Configurable-item-frame-map-cursor-update-interval.patch
+++ b/patches/server/0713-Configurable-item-frame-map-cursor-update-interval.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable item frame map cursor update interval
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 27dbdf072fde014b6244428afbc3b279e2080995..d549455e893a2e65fb6f4a529cc9685420190da9 100644
+index e85835f3ec7bb5e5ef5a827a4cb6614780255326..f0073bafac729f018ad3264f673c158c1ed5b0d7 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -876,6 +876,11 @@ public class PaperWorldConfig {
diff --git a/patches/server/0715-Make-EntityUnleashEvent-cancellable.patch b/patches/server/0714-Make-EntityUnleashEvent-cancellable.patch
index 76356ad122..76356ad122 100644
--- a/patches/server/0715-Make-EntityUnleashEvent-cancellable.patch
+++ b/patches/server/0714-Make-EntityUnleashEvent-cancellable.patch
diff --git a/patches/server/0716-Clear-bucket-NBT-after-dispense.patch b/patches/server/0715-Clear-bucket-NBT-after-dispense.patch
index 046e7d2e5c..046e7d2e5c 100644
--- a/patches/server/0716-Clear-bucket-NBT-after-dispense.patch
+++ b/patches/server/0715-Clear-bucket-NBT-after-dispense.patch
diff --git a/patches/server/0717-Respect-despawn-rate-in-item-merge-check.patch b/patches/server/0716-Respect-despawn-rate-in-item-merge-check.patch
index d5cd293f4a..d5cd293f4a 100644
--- a/patches/server/0717-Respect-despawn-rate-in-item-merge-check.patch
+++ b/patches/server/0716-Respect-despawn-rate-in-item-merge-check.patch
diff --git a/patches/server/0718-Move-BlockPistonRetractEvent-to-fix-duplication.patch b/patches/server/0717-Move-BlockPistonRetractEvent-to-fix-duplication.patch
index 87cfb92404..87cfb92404 100644
--- a/patches/server/0718-Move-BlockPistonRetractEvent-to-fix-duplication.patch
+++ b/patches/server/0717-Move-BlockPistonRetractEvent-to-fix-duplication.patch
diff --git a/patches/server/0719-Change-EnderEye-target-without-changing-other-things.patch b/patches/server/0718-Change-EnderEye-target-without-changing-other-things.patch
index e4af6267df..e4af6267df 100644
--- a/patches/server/0719-Change-EnderEye-target-without-changing-other-things.patch
+++ b/patches/server/0718-Change-EnderEye-target-without-changing-other-things.patch
diff --git a/patches/server/0720-Add-BlockBreakBlockEvent.patch b/patches/server/0719-Add-BlockBreakBlockEvent.patch
index bbd9414dca..bbd9414dca 100644
--- a/patches/server/0720-Add-BlockBreakBlockEvent.patch
+++ b/patches/server/0719-Add-BlockBreakBlockEvent.patch
diff --git a/patches/server/0721-Option-to-prevent-NBT-copy-in-smithing-recipes.patch b/patches/server/0720-Option-to-prevent-NBT-copy-in-smithing-recipes.patch
index 14e666a79e..14e666a79e 100644
--- a/patches/server/0721-Option-to-prevent-NBT-copy-in-smithing-recipes.patch
+++ b/patches/server/0720-Option-to-prevent-NBT-copy-in-smithing-recipes.patch
diff --git a/patches/server/0722-More-CommandBlock-API.patch b/patches/server/0721-More-CommandBlock-API.patch
index daf682f8a0..daf682f8a0 100644
--- a/patches/server/0722-More-CommandBlock-API.patch
+++ b/patches/server/0721-More-CommandBlock-API.patch
diff --git a/patches/server/0723-Add-missing-team-sidebar-display-slots.patch b/patches/server/0722-Add-missing-team-sidebar-display-slots.patch
index 5581728a48..5581728a48 100644
--- a/patches/server/0723-Add-missing-team-sidebar-display-slots.patch
+++ b/patches/server/0722-Add-missing-team-sidebar-display-slots.patch
diff --git a/patches/server/0724-Add-back-EntityPortalExitEvent.patch b/patches/server/0723-Add-back-EntityPortalExitEvent.patch
index 5fa0a24533..6b82f775a0 100644
--- a/patches/server/0724-Add-back-EntityPortalExitEvent.patch
+++ b/patches/server/0723-Add-back-EntityPortalExitEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add back EntityPortalExitEvent
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 648987c04c6e025e86825142cacaedb7c9a1cba4..9e966aab98ffcb30c700396025d755ffdad8b7f5 100644
+index aa85a026b04f790dd9e4551f2ea3082bc076e04f..1869eb6067da68e7c43b3749738c8376d18ed4cf 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3008,6 +3008,25 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
diff --git a/patches/server/0725-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0724-Add-methods-to-find-targets-for-lightning-strikes.patch
index 166bb4006d..166bb4006d 100644
--- a/patches/server/0725-Add-methods-to-find-targets-for-lightning-strikes.patch
+++ b/patches/server/0724-Add-methods-to-find-targets-for-lightning-strikes.patch
diff --git a/patches/server/0726-Get-entity-default-attributes.patch b/patches/server/0725-Get-entity-default-attributes.patch
index 6cdfcd9662..82c52bd6fe 100644
--- a/patches/server/0726-Get-entity-default-attributes.patch
+++ b/patches/server/0725-Get-entity-default-attributes.patch
@@ -90,7 +90,7 @@ index 0000000000000000000000000000000000000000..4ecba0b02c2813a890aecc5586987879
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index fd02c143fa1cc972341f8122d554539c968bab1a..08b44f0f5e018ac5ecc42906a0c126061ed52268 100644
+index 88b32c3fb3e35819f0de34dc92084c3c0b861d31..5ca85ce019e7160081451a6f26f2edded34a917d 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -516,6 +516,18 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0727-Left-handed-API.patch b/patches/server/0726-Left-handed-API.patch
index dd1acc7723..dd1acc7723 100644
--- a/patches/server/0727-Left-handed-API.patch
+++ b/patches/server/0726-Left-handed-API.patch
diff --git a/patches/server/0728-Add-advancement-display-API.patch b/patches/server/0727-Add-advancement-display-API.patch
index c2bd6b94c0..c2bd6b94c0 100644
--- a/patches/server/0728-Add-advancement-display-API.patch
+++ b/patches/server/0727-Add-advancement-display-API.patch
diff --git a/patches/server/0729-Add-ItemFactory-getMonsterEgg-API.patch b/patches/server/0728-Add-ItemFactory-getMonsterEgg-API.patch
index a7a82e297a..a7a82e297a 100644
--- a/patches/server/0729-Add-ItemFactory-getMonsterEgg-API.patch
+++ b/patches/server/0728-Add-ItemFactory-getMonsterEgg-API.patch
diff --git a/patches/server/0730-Add-critical-damage-API.patch b/patches/server/0729-Add-critical-damage-API.patch
index e9da7c9a2f..e9da7c9a2f 100644
--- a/patches/server/0730-Add-critical-damage-API.patch
+++ b/patches/server/0729-Add-critical-damage-API.patch
diff --git a/patches/server/0731-Fix-issues-with-mob-conversion.patch b/patches/server/0730-Fix-issues-with-mob-conversion.patch
index 65a03ed56e..65a03ed56e 100644
--- a/patches/server/0731-Fix-issues-with-mob-conversion.patch
+++ b/patches/server/0730-Fix-issues-with-mob-conversion.patch
diff --git a/patches/server/0732-Add-isCollidable-methods-to-various-places.patch b/patches/server/0731-Add-isCollidable-methods-to-various-places.patch
index 3b727102f7..002bcd906b 100644
--- a/patches/server/0732-Add-isCollidable-methods-to-various-places.patch
+++ b/patches/server/0731-Add-isCollidable-methods-to-various-places.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add isCollidable methods to various places
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-index 4a013a0ecdeda29c64748a551f79b8437021978c..fcf2e5b0b07d2884b678b9c39b72cc7dc5518163 100644
+index 991e73e0f397da265b08ce14bb2f92b251eaff48..89cfa5093d53e1a249efc64aa1b449755c6eecd9 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
@@ -473,6 +473,11 @@ public class CraftBlock implements Block {
@@ -37,7 +37,7 @@ index 7b9e943b391c061782fccd2b8d705ceec8db50fe..966ac60daebb7bb211ab8096fc0c5f33
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 08b44f0f5e018ac5ecc42906a0c126061ed52268..ac9bfb29009d9969c7444678fb1478752f15bfac 100644
+index 5ca85ce019e7160081451a6f26f2edded34a917d..b43a6df5665f88e0d715ead5ca71a8f9f03e8e4b 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -528,6 +528,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0733-Goat-ram-API.patch b/patches/server/0732-Goat-ram-API.patch
index 641bebca80..641bebca80 100644
--- a/patches/server/0733-Goat-ram-API.patch
+++ b/patches/server/0732-Goat-ram-API.patch
diff --git a/patches/server/0734-Add-API-for-resetting-a-single-score.patch b/patches/server/0733-Add-API-for-resetting-a-single-score.patch
index c2e1fd93b9..c2e1fd93b9 100644
--- a/patches/server/0734-Add-API-for-resetting-a-single-score.patch
+++ b/patches/server/0733-Add-API-for-resetting-a-single-score.patch
diff --git a/patches/server/0735-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0734-Add-Raw-Byte-Entity-Serialization.patch
index 434733010e..7272e6803a 100644
--- a/patches/server/0735-Add-Raw-Byte-Entity-Serialization.patch
+++ b/patches/server/0734-Add-Raw-Byte-Entity-Serialization.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add Raw Byte Entity Serialization
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 9e966aab98ffcb30c700396025d755ffdad8b7f5..dd21b208fcfa73b17123abb83358b823201bdfaf 100644
+index 1869eb6067da68e7c43b3749738c8376d18ed4cf..8963bc6cfd3edfd493cc73918513478a5bc03903 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1826,6 +1826,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -45,7 +45,7 @@ index ee50ea695585639d0ff184b675f3fb3b205b9f86..5aae88e20bc04560d6ad52cfcaa872d2
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index ac9bfb29009d9969c7444678fb1478752f15bfac..d51c63496b55d64ac7ee6175bc364012df897891 100644
+index b43a6df5665f88e0d715ead5ca71a8f9f03e8e4b..90e68a8cfd00e4ad7ffaddfc8e8d5df26c49cf7a 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -421,6 +421,30 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0736-Vanilla-command-permission-fixes.patch b/patches/server/0735-Vanilla-command-permission-fixes.patch
index b5097e5762..b5097e5762 100644
--- a/patches/server/0736-Vanilla-command-permission-fixes.patch
+++ b/patches/server/0735-Vanilla-command-permission-fixes.patch
diff --git a/patches/server/0737-Make-CallbackExecutor-strict-again.patch b/patches/server/0736-Make-CallbackExecutor-strict-again.patch
index 68b18d6536..48a552aa64 100644
--- a/patches/server/0737-Make-CallbackExecutor-strict-again.patch
+++ b/patches/server/0736-Make-CallbackExecutor-strict-again.patch
@@ -10,7 +10,7 @@ schedules. Effectively, use the callback executor as a tool of
finding issues rather than hiding these issues.
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index a1b667084f710230d3f94ee0e5f5750de1d71e29..b8066eec2a1481059ee0c25756e14449e3007b6b 100644
+index a97bf06a0e8ba1cd612f7e8be2585bfdfbdfa969..2af478902b528f335797c691730afb2657d4e6c4 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -160,17 +160,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
diff --git a/patches/server/0738-Do-not-allow-the-server-to-unload-chunks-at-request-.patch b/patches/server/0737-Do-not-allow-the-server-to-unload-chunks-at-request-.patch
index 0f9c3bedf6..0f9c3bedf6 100644
--- a/patches/server/0738-Do-not-allow-the-server-to-unload-chunks-at-request-.patch
+++ b/patches/server/0737-Do-not-allow-the-server-to-unload-chunks-at-request-.patch
diff --git a/patches/server/0739-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0738-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
index 04bbf92438..04bbf92438 100644
--- a/patches/server/0739-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
+++ b/patches/server/0738-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
diff --git a/patches/server/0740-Correctly-handle-recursion-for-chunkholder-updates.patch b/patches/server/0739-Correctly-handle-recursion-for-chunkholder-updates.patch
index d4a47032bf..d4a47032bf 100644
--- a/patches/server/0740-Correctly-handle-recursion-for-chunkholder-updates.patch
+++ b/patches/server/0739-Correctly-handle-recursion-for-chunkholder-updates.patch
diff --git a/patches/server/0741-Separate-lookup-locking-from-state-access-in-UserCac.patch b/patches/server/0740-Separate-lookup-locking-from-state-access-in-UserCac.patch
index 20298aa1a6..20298aa1a6 100644
--- a/patches/server/0741-Separate-lookup-locking-from-state-access-in-UserCac.patch
+++ b/patches/server/0740-Separate-lookup-locking-from-state-access-in-UserCac.patch
diff --git a/patches/server/0742-Fix-chunks-refusing-to-unload-at-low-TPS.patch b/patches/server/0741-Fix-chunks-refusing-to-unload-at-low-TPS.patch
index b0b95db3bf..b0b95db3bf 100644
--- a/patches/server/0742-Fix-chunks-refusing-to-unload-at-low-TPS.patch
+++ b/patches/server/0741-Fix-chunks-refusing-to-unload-at-low-TPS.patch
diff --git a/patches/server/0743-Do-not-allow-ticket-level-changes-while-unloading-pl.patch b/patches/server/0742-Do-not-allow-ticket-level-changes-while-unloading-pl.patch
index af693f3838..af693f3838 100644
--- a/patches/server/0743-Do-not-allow-ticket-level-changes-while-unloading-pl.patch
+++ b/patches/server/0742-Do-not-allow-ticket-level-changes-while-unloading-pl.patch
diff --git a/patches/server/0744-Do-not-allow-ticket-level-changes-when-updating-chun.patch b/patches/server/0743-Do-not-allow-ticket-level-changes-when-updating-chun.patch
index 538eaa84b7..538eaa84b7 100644
--- a/patches/server/0744-Do-not-allow-ticket-level-changes-when-updating-chun.patch
+++ b/patches/server/0743-Do-not-allow-ticket-level-changes-when-updating-chun.patch
diff --git a/patches/server/0745-Do-not-submit-profile-lookups-to-worldgen-threads.patch b/patches/server/0744-Do-not-submit-profile-lookups-to-worldgen-threads.patch
index 534570379c..534570379c 100644
--- a/patches/server/0745-Do-not-submit-profile-lookups-to-worldgen-threads.patch
+++ b/patches/server/0744-Do-not-submit-profile-lookups-to-worldgen-threads.patch
diff --git a/patches/server/0746-Log-when-the-async-catcher-is-tripped.patch b/patches/server/0745-Log-when-the-async-catcher-is-tripped.patch
index 7006040b25..7006040b25 100644
--- a/patches/server/0746-Log-when-the-async-catcher-is-tripped.patch
+++ b/patches/server/0745-Log-when-the-async-catcher-is-tripped.patch
diff --git a/patches/server/0747-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0746-Add-paper-mobcaps-and-paper-playermobcaps.patch
index 2983360250..2983360250 100644
--- a/patches/server/0747-Add-paper-mobcaps-and-paper-playermobcaps.patch
+++ b/patches/server/0746-Add-paper-mobcaps-and-paper-playermobcaps.patch
diff --git a/patches/server/0748-Prevent-unload-calls-removing-tickets-for-sync-loads.patch b/patches/server/0747-Prevent-unload-calls-removing-tickets-for-sync-loads.patch
index 2c13e7604d..2c13e7604d 100644
--- a/patches/server/0748-Prevent-unload-calls-removing-tickets-for-sync-loads.patch
+++ b/patches/server/0747-Prevent-unload-calls-removing-tickets-for-sync-loads.patch
diff --git a/patches/server/0749-Sanitize-ResourceLocation-error-logging.patch b/patches/server/0748-Sanitize-ResourceLocation-error-logging.patch
index 1f990a622a..1f990a622a 100644
--- a/patches/server/0749-Sanitize-ResourceLocation-error-logging.patch
+++ b/patches/server/0748-Sanitize-ResourceLocation-error-logging.patch
diff --git a/patches/server/0750-Optimise-general-POI-access.patch b/patches/server/0749-Optimise-general-POI-access.patch
index c920f51774..c920f51774 100644
--- a/patches/server/0750-Optimise-general-POI-access.patch
+++ b/patches/server/0749-Optimise-general-POI-access.patch
diff --git a/patches/server/0751-Allow-controlled-flushing-for-network-manager.patch b/patches/server/0750-Allow-controlled-flushing-for-network-manager.patch
index c52730c1df..c52730c1df 100644
--- a/patches/server/0751-Allow-controlled-flushing-for-network-manager.patch
+++ b/patches/server/0750-Allow-controlled-flushing-for-network-manager.patch
diff --git a/patches/server/0752-Add-more-async-catchers.patch b/patches/server/0751-Add-more-async-catchers.patch
index 9eca07f148..9eca07f148 100644
--- a/patches/server/0752-Add-more-async-catchers.patch
+++ b/patches/server/0751-Add-more-async-catchers.patch
diff --git a/patches/server/0753-Rewrite-entity-bounding-box-lookup-calls.patch b/patches/server/0752-Rewrite-entity-bounding-box-lookup-calls.patch
index 790186480d..1643085a3e 100644
--- a/patches/server/0753-Rewrite-entity-bounding-box-lookup-calls.patch
+++ b/patches/server/0752-Rewrite-entity-bounding-box-lookup-calls.patch
@@ -953,7 +953,7 @@ index de5e18a331178da8f7e82aa2419a0ee606e801ee..9b25d36fe5230e287d81b99be31b9edd
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index dd21b208fcfa73b17123abb83358b823201bdfaf..546f44dbfdda20c4b53bba840def286612630da5 100644
+index 8963bc6cfd3edfd493cc73918513478a5bc03903..a320816795fa9b2d4fc696b008222368b00c586e 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -419,6 +419,56 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
diff --git a/patches/server/0754-Optimise-chunk-tick-iteration.patch b/patches/server/0753-Optimise-chunk-tick-iteration.patch
index c381730e4a..c381730e4a 100644
--- a/patches/server/0754-Optimise-chunk-tick-iteration.patch
+++ b/patches/server/0753-Optimise-chunk-tick-iteration.patch
diff --git a/patches/server/0755-Execute-chunk-tasks-mid-tick.patch b/patches/server/0754-Execute-chunk-tasks-mid-tick.patch
index 9f14b511e7..9f14b511e7 100644
--- a/patches/server/0755-Execute-chunk-tasks-mid-tick.patch
+++ b/patches/server/0754-Execute-chunk-tasks-mid-tick.patch
diff --git a/patches/server/0756-Do-not-copy-visible-chunks.patch b/patches/server/0755-Do-not-copy-visible-chunks.patch
index ba44aac258..ba44aac258 100644
--- a/patches/server/0756-Do-not-copy-visible-chunks.patch
+++ b/patches/server/0755-Do-not-copy-visible-chunks.patch
diff --git a/patches/server/0757-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/0756-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
index 48436825c0..48436825c0 100644
--- a/patches/server/0757-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
+++ b/patches/server/0756-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
diff --git a/patches/server/0758-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/0757-Custom-table-implementation-for-blockstate-state-loo.patch
index 9b556d7fe8..9b556d7fe8 100644
--- a/patches/server/0758-Custom-table-implementation-for-blockstate-state-loo.patch
+++ b/patches/server/0757-Custom-table-implementation-for-blockstate-state-loo.patch
diff --git a/patches/server/0759-Detail-more-information-in-watchdog-dumps.patch b/patches/server/0758-Detail-more-information-in-watchdog-dumps.patch
index 3ee35843b6..d0b6b6fd2e 100644
--- a/patches/server/0759-Detail-more-information-in-watchdog-dumps.patch
+++ b/patches/server/0758-Detail-more-information-in-watchdog-dumps.patch
@@ -123,7 +123,7 @@ index 7e837b2896cac64a982d9025c4e190dfa7ebc451..c353e41fa733b42350285861a5ddbdf3
private void tickPassenger(Entity vehicle, Entity passenger) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 546f44dbfdda20c4b53bba840def286612630da5..384949c5badb0950b3bca6ff2bbe632d7ae801df 100644
+index a320816795fa9b2d4fc696b008222368b00c586e..ac6c0474fc05178d1efac7f5767066074def2f16 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -898,7 +898,42 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
diff --git a/patches/server/0760-Manually-inline-methods-in-BlockPosition.patch b/patches/server/0759-Manually-inline-methods-in-BlockPosition.patch
index 9d7f17f71a..9d7f17f71a 100644
--- a/patches/server/0760-Manually-inline-methods-in-BlockPosition.patch
+++ b/patches/server/0759-Manually-inline-methods-in-BlockPosition.patch
diff --git a/patches/server/0761-Distance-manager-tick-timings.patch b/patches/server/0760-Distance-manager-tick-timings.patch
index c12b5b8d05..c12b5b8d05 100644
--- a/patches/server/0761-Distance-manager-tick-timings.patch
+++ b/patches/server/0760-Distance-manager-tick-timings.patch
diff --git a/patches/server/0762-Name-craft-scheduler-threads-according-to-the-plugin.patch b/patches/server/0761-Name-craft-scheduler-threads-according-to-the-plugin.patch
index 7d081ee195..7d081ee195 100644
--- a/patches/server/0762-Name-craft-scheduler-threads-according-to-the-plugin.patch
+++ b/patches/server/0761-Name-craft-scheduler-threads-according-to-the-plugin.patch
diff --git a/patches/server/0763-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch b/patches/server/0762-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
index c20e5ba267..c20e5ba267 100644
--- a/patches/server/0763-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
+++ b/patches/server/0762-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
diff --git a/patches/server/0764-Add-packet-limiter-config.patch b/patches/server/0763-Add-packet-limiter-config.patch
index 4ff4c8272f..4ff4c8272f 100644
--- a/patches/server/0764-Add-packet-limiter-config.patch
+++ b/patches/server/0763-Add-packet-limiter-config.patch
diff --git a/patches/server/0765-Lag-compensate-block-breaking.patch b/patches/server/0764-Lag-compensate-block-breaking.patch
index 520e151053..520e151053 100644
--- a/patches/server/0765-Lag-compensate-block-breaking.patch
+++ b/patches/server/0764-Lag-compensate-block-breaking.patch
diff --git a/patches/server/0766-Use-correct-LevelStem-registry-when-loading-default-.patch b/patches/server/0765-Use-correct-LevelStem-registry-when-loading-default-.patch
index 7cd2d9c9f6..7cd2d9c9f6 100644
--- a/patches/server/0766-Use-correct-LevelStem-registry-when-loading-default-.patch
+++ b/patches/server/0765-Use-correct-LevelStem-registry-when-loading-default-.patch
diff --git a/patches/server/0767-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch b/patches/server/0766-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
index b201e36d10..b201e36d10 100644
--- a/patches/server/0767-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
+++ b/patches/server/0766-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
diff --git a/patches/server/0768-Consolidate-flush-calls-for-entity-tracker-packets.patch b/patches/server/0767-Consolidate-flush-calls-for-entity-tracker-packets.patch
index faa1b46041..faa1b46041 100644
--- a/patches/server/0768-Consolidate-flush-calls-for-entity-tracker-packets.patch
+++ b/patches/server/0767-Consolidate-flush-calls-for-entity-tracker-packets.patch
diff --git a/patches/server/0769-Don-t-lookup-fluid-state-when-raytracing.patch b/patches/server/0768-Don-t-lookup-fluid-state-when-raytracing.patch
index eef7de0e32..eef7de0e32 100644
--- a/patches/server/0769-Don-t-lookup-fluid-state-when-raytracing.patch
+++ b/patches/server/0768-Don-t-lookup-fluid-state-when-raytracing.patch
diff --git a/patches/server/0770-Time-scoreboard-search.patch b/patches/server/0769-Time-scoreboard-search.patch
index 48469b83af..48469b83af 100644
--- a/patches/server/0770-Time-scoreboard-search.patch
+++ b/patches/server/0769-Time-scoreboard-search.patch
diff --git a/patches/server/0771-Send-full-pos-packets-for-hard-colliding-entities.patch b/patches/server/0770-Send-full-pos-packets-for-hard-colliding-entities.patch
index af1611e279..af1611e279 100644
--- a/patches/server/0771-Send-full-pos-packets-for-hard-colliding-entities.patch
+++ b/patches/server/0770-Send-full-pos-packets-for-hard-colliding-entities.patch
diff --git a/patches/server/0772-Do-not-run-raytrace-logic-for-AIR.patch b/patches/server/0771-Do-not-run-raytrace-logic-for-AIR.patch
index baedf55a9d..baedf55a9d 100644
--- a/patches/server/0772-Do-not-run-raytrace-logic-for-AIR.patch
+++ b/patches/server/0771-Do-not-run-raytrace-logic-for-AIR.patch
diff --git a/patches/server/0773-Oprimise-map-impl-for-tracked-players.patch b/patches/server/0772-Oprimise-map-impl-for-tracked-players.patch
index 977c8a0a81..977c8a0a81 100644
--- a/patches/server/0773-Oprimise-map-impl-for-tracked-players.patch
+++ b/patches/server/0772-Oprimise-map-impl-for-tracked-players.patch
diff --git a/patches/server/0774-Optimise-BlockSoil-nearby-water-lookup.patch b/patches/server/0773-Optimise-BlockSoil-nearby-water-lookup.patch
index ab3e7cfa17..ab3e7cfa17 100644
--- a/patches/server/0774-Optimise-BlockSoil-nearby-water-lookup.patch
+++ b/patches/server/0773-Optimise-BlockSoil-nearby-water-lookup.patch
diff --git a/patches/server/0775-Allow-removal-addition-of-entities-to-entity-ticklis.patch b/patches/server/0774-Allow-removal-addition-of-entities-to-entity-ticklis.patch
index d68c8524e7..d68c8524e7 100644
--- a/patches/server/0775-Allow-removal-addition-of-entities-to-entity-ticklis.patch
+++ b/patches/server/0774-Allow-removal-addition-of-entities-to-entity-ticklis.patch
diff --git a/patches/server/0776-Optimise-random-block-ticking.patch b/patches/server/0775-Optimise-random-block-ticking.patch
index 74ef7737b2..74ef7737b2 100644
--- a/patches/server/0776-Optimise-random-block-ticking.patch
+++ b/patches/server/0775-Optimise-random-block-ticking.patch
diff --git a/patches/server/0777-Optimise-non-flush-packet-sending.patch b/patches/server/0776-Optimise-non-flush-packet-sending.patch
index f8dc75ba8c..f8dc75ba8c 100644
--- a/patches/server/0777-Optimise-non-flush-packet-sending.patch
+++ b/patches/server/0776-Optimise-non-flush-packet-sending.patch
diff --git a/patches/server/0778-Optimise-nearby-player-lookups.patch b/patches/server/0777-Optimise-nearby-player-lookups.patch
index 7eacd2f196..7eacd2f196 100644
--- a/patches/server/0778-Optimise-nearby-player-lookups.patch
+++ b/patches/server/0777-Optimise-nearby-player-lookups.patch
diff --git a/patches/server/0779-Optimise-WorldServer-notify.patch b/patches/server/0778-Optimise-WorldServer-notify.patch
index c1218ac6bd..c1218ac6bd 100644
--- a/patches/server/0779-Optimise-WorldServer-notify.patch
+++ b/patches/server/0778-Optimise-WorldServer-notify.patch
diff --git a/patches/server/0780-Remove-streams-for-villager-AI.patch b/patches/server/0779-Remove-streams-for-villager-AI.patch
index 8257c2de40..8257c2de40 100644
--- a/patches/server/0780-Remove-streams-for-villager-AI.patch
+++ b/patches/server/0779-Remove-streams-for-villager-AI.patch
diff --git a/patches/server/0781-Rewrite-dataconverter-system.patch b/patches/server/0780-Rewrite-dataconverter-system.patch
index c2ceaf8d0f..c2ceaf8d0f 100644
--- a/patches/server/0781-Rewrite-dataconverter-system.patch
+++ b/patches/server/0780-Rewrite-dataconverter-system.patch
diff --git a/patches/server/0782-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/0781-Use-Velocity-compression-and-cipher-natives.patch
index 64e78ac585..bea421075b 100644
--- a/patches/server/0782-Use-Velocity-compression-and-cipher-natives.patch
+++ b/patches/server/0781-Use-Velocity-compression-and-cipher-natives.patch
@@ -5,11 +5,11 @@ Subject: [PATCH] Use Velocity compression and cipher natives
diff --git a/build.gradle.kts b/build.gradle.kts
-index 3381ac7c25323d662935c98aa444195c49cf4e8e..5678a9f8d2aa8a7afbc5729570ec297b12acf75d 100644
+index eed80e8716468c8b918f3237b326198973e87fe9..70232e71f8495a1beeed880bdf66856b4d0ca5e6 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -44,6 +44,11 @@ dependencies {
- runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.0")
+ runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.2")
implementation("net.fabricmc:mapping-io:0.3.0") // Paper - needed to read mappings for stacktrace deobfuscation
+ // Paper start - Use Velocity cipher
@@ -19,7 +19,7 @@ index 3381ac7c25323d662935c98aa444195c49cf4e8e..5678a9f8d2aa8a7afbc5729570ec297b
+ // Paper end
testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
- testImplementation("junit:junit:4.13.1")
+ testImplementation("junit:junit:4.13.2")
diff --git a/src/main/java/net/minecraft/network/CipherDecoder.java b/src/main/java/net/minecraft/network/CipherDecoder.java
index 778beb445eac5769b9e4e07b4d1294c50ae2602b..c712fb8193115e1ab71b5e40fb0ccb9413062b03 100644
--- a/src/main/java/net/minecraft/network/CipherDecoder.java
diff --git a/patches/server/0783-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch b/patches/server/0782-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch
index 07f72d1a93..07f72d1a93 100644
--- a/patches/server/0783-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch
+++ b/patches/server/0782-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch
diff --git a/patches/server/0784-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch b/patches/server/0783-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch
index ddc57c0d3a..ddc57c0d3a 100644
--- a/patches/server/0784-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch
+++ b/patches/server/0783-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch
diff --git a/patches/server/0785-Async-catch-modifications-to-critical-entity-state.patch b/patches/server/0784-Async-catch-modifications-to-critical-entity-state.patch
index 7b91e7da2c..7b91e7da2c 100644
--- a/patches/server/0785-Async-catch-modifications-to-critical-entity-state.patch
+++ b/patches/server/0784-Async-catch-modifications-to-critical-entity-state.patch
diff --git a/patches/server/0786-Fix-Bukkit-NamespacedKey-shenanigans.patch b/patches/server/0785-Fix-Bukkit-NamespacedKey-shenanigans.patch
index 8f152dd0e7..8f152dd0e7 100644
--- a/patches/server/0786-Fix-Bukkit-NamespacedKey-shenanigans.patch
+++ b/patches/server/0785-Fix-Bukkit-NamespacedKey-shenanigans.patch
diff --git a/patches/server/0787-Fix-merchant-inventory-not-closing-on-entity-removal.patch b/patches/server/0786-Fix-merchant-inventory-not-closing-on-entity-removal.patch
index 5f9cbf9735..5f9cbf9735 100644
--- a/patches/server/0787-Fix-merchant-inventory-not-closing-on-entity-removal.patch
+++ b/patches/server/0786-Fix-merchant-inventory-not-closing-on-entity-removal.patch
diff --git a/patches/server/0788-Check-requirement-before-suggesting-root-nodes.patch b/patches/server/0787-Check-requirement-before-suggesting-root-nodes.patch
index da19d3f1ca..da19d3f1ca 100644
--- a/patches/server/0788-Check-requirement-before-suggesting-root-nodes.patch
+++ b/patches/server/0787-Check-requirement-before-suggesting-root-nodes.patch
diff --git a/patches/server/0789-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0788-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
index 1b40cf1c18..1b40cf1c18 100644
--- a/patches/server/0789-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
+++ b/patches/server/0788-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
diff --git a/patches/server/0790-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch b/patches/server/0789-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
index 31e987614a..31e987614a 100644
--- a/patches/server/0790-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
+++ b/patches/server/0789-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
diff --git a/patches/server/0791-Ensure-valid-vehicle-status.patch b/patches/server/0790-Ensure-valid-vehicle-status.patch
index 80521d64a1..80521d64a1 100644
--- a/patches/server/0791-Ensure-valid-vehicle-status.patch
+++ b/patches/server/0790-Ensure-valid-vehicle-status.patch
diff --git a/patches/server/0792-Prevent-softlocked-end-exit-portal-generation.patch b/patches/server/0791-Prevent-softlocked-end-exit-portal-generation.patch
index d7ec8ee0ea..d7ec8ee0ea 100644
--- a/patches/server/0792-Prevent-softlocked-end-exit-portal-generation.patch
+++ b/patches/server/0791-Prevent-softlocked-end-exit-portal-generation.patch
diff --git a/patches/server/0793-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch b/patches/server/0792-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
index 2ce994e362..2ce994e362 100644
--- a/patches/server/0793-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
+++ b/patches/server/0792-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
diff --git a/patches/server/0794-Don-t-log-debug-logging-being-disabled.patch b/patches/server/0793-Don-t-log-debug-logging-being-disabled.patch
index 52bf120706..52bf120706 100644
--- a/patches/server/0794-Don-t-log-debug-logging-being-disabled.patch
+++ b/patches/server/0793-Don-t-log-debug-logging-being-disabled.patch
diff --git a/patches/server/0795-Mark-fish-and-axolotls-from-buckets-as-persistent.patch b/patches/server/0794-Mark-fish-and-axolotls-from-buckets-as-persistent.patch
index 5a420fb241..5a420fb241 100644
--- a/patches/server/0795-Mark-fish-and-axolotls-from-buckets-as-persistent.patch
+++ b/patches/server/0794-Mark-fish-and-axolotls-from-buckets-as-persistent.patch
diff --git a/patches/server/0796-fix-various-menus-with-empty-level-accesses.patch b/patches/server/0795-fix-various-menus-with-empty-level-accesses.patch
index 3bda24b9c6..3bda24b9c6 100644
--- a/patches/server/0796-fix-various-menus-with-empty-level-accesses.patch
+++ b/patches/server/0795-fix-various-menus-with-empty-level-accesses.patch
diff --git a/patches/server/0797-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch b/patches/server/0796-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch
index 7cda38b29f..7cda38b29f 100644
--- a/patches/server/0797-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch
+++ b/patches/server/0796-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch
diff --git a/patches/server/0798-Preserve-overstacked-loot.patch b/patches/server/0797-Preserve-overstacked-loot.patch
index c344524a24..c344524a24 100644
--- a/patches/server/0798-Preserve-overstacked-loot.patch
+++ b/patches/server/0797-Preserve-overstacked-loot.patch
diff --git a/patches/server/0799-Update-head-rotation-in-missing-places.patch b/patches/server/0798-Update-head-rotation-in-missing-places.patch
index c8aa34155c..0ed572e8a7 100644
--- a/patches/server/0799-Update-head-rotation-in-missing-places.patch
+++ b/patches/server/0798-Update-head-rotation-in-missing-places.patch
@@ -8,7 +8,7 @@ This is because bukkit uses a separate head rotation field for yaw.
This issue only applies to players.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 384949c5badb0950b3bca6ff2bbe632d7ae801df..62b9abd299980f5e3cf711003dfbb90cf1687ae9 100644
+index ac6c0474fc05178d1efac7f5767066074def2f16..d4b553322712439bd4a459e7eaaa9df090e9cc6e 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1654,6 +1654,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
diff --git a/patches/server/0800-prevent-unintended-light-block-manipulation.patch b/patches/server/0799-prevent-unintended-light-block-manipulation.patch
index 08bd6164f5..08bd6164f5 100644
--- a/patches/server/0800-prevent-unintended-light-block-manipulation.patch
+++ b/patches/server/0799-prevent-unintended-light-block-manipulation.patch
diff --git a/patches/server/0801-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch b/patches/server/0800-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch
index 17215f32f2..17215f32f2 100644
--- a/patches/server/0801-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch
+++ b/patches/server/0800-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch
diff --git a/patches/server/0802-Fix-CraftCriteria-defaults-map.patch b/patches/server/0801-Fix-CraftCriteria-defaults-map.patch
index 11fce3ca24..11fce3ca24 100644
--- a/patches/server/0802-Fix-CraftCriteria-defaults-map.patch
+++ b/patches/server/0801-Fix-CraftCriteria-defaults-map.patch
diff --git a/patches/server/0803-Fix-upstreams-block-state-factories.patch b/patches/server/0802-Fix-upstreams-block-state-factories.patch
index 0d31f433f5..0d31f433f5 100644
--- a/patches/server/0803-Fix-upstreams-block-state-factories.patch
+++ b/patches/server/0802-Fix-upstreams-block-state-factories.patch
diff --git a/patches/server/0804-Add-config-option-for-logging-player-ip-addresses.patch b/patches/server/0803-Add-config-option-for-logging-player-ip-addresses.patch
index 39b64883ac..39b64883ac 100644
--- a/patches/server/0804-Add-config-option-for-logging-player-ip-addresses.patch
+++ b/patches/server/0803-Add-config-option-for-logging-player-ip-addresses.patch
diff --git a/patches/server/0805-Configurable-feature-seeds.patch b/patches/server/0804-Configurable-feature-seeds.patch
index 4a81ec7caf..4a81ec7caf 100644
--- a/patches/server/0805-Configurable-feature-seeds.patch
+++ b/patches/server/0804-Configurable-feature-seeds.patch
diff --git a/patches/server/0806-VanillaCommandWrapper-didnt-account-for-entity-sende.patch b/patches/server/0805-VanillaCommandWrapper-didnt-account-for-entity-sende.patch
index 6e33709dbe..6e33709dbe 100644
--- a/patches/server/0806-VanillaCommandWrapper-didnt-account-for-entity-sende.patch
+++ b/patches/server/0805-VanillaCommandWrapper-didnt-account-for-entity-sende.patch
diff --git a/patches/server/0807-Add-root-admin-user-detection.patch b/patches/server/0806-Add-root-admin-user-detection.patch
index 63ae0993b1..63ae0993b1 100644
--- a/patches/server/0807-Add-root-admin-user-detection.patch
+++ b/patches/server/0806-Add-root-admin-user-detection.patch
diff --git a/patches/server/0808-Always-allow-item-changing-in-Fireball.patch b/patches/server/0807-Always-allow-item-changing-in-Fireball.patch
index fe4cbf2ef1..fe4cbf2ef1 100644
--- a/patches/server/0808-Always-allow-item-changing-in-Fireball.patch
+++ b/patches/server/0807-Always-allow-item-changing-in-Fireball.patch
diff --git a/patches/server/0809-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0808-don-t-attempt-to-teleport-dead-entities.patch
index ffaf509f20..93735c2294 100644
--- a/patches/server/0809-don-t-attempt-to-teleport-dead-entities.patch
+++ b/patches/server/0808-don-t-attempt-to-teleport-dead-entities.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] don't attempt to teleport dead entities
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 62b9abd299980f5e3cf711003dfbb90cf1687ae9..516015eb48900abaf0e2f47de4ffd10e9cf4d9a7 100644
+index d4b553322712439bd4a459e7eaaa9df090e9cc6e..e2c35ace138d7a6c41e7f07e9759f684b7152b71 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -706,7 +706,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
diff --git a/patches/server/0811-Fix-anvil-prepare-event-not-working-with-zero-xp.patch b/patches/server/0809-Fix-anvil-prepare-event-not-working-with-zero-xp.patch
index 408215402f..408215402f 100644
--- a/patches/server/0811-Fix-anvil-prepare-event-not-working-with-zero-xp.patch
+++ b/patches/server/0809-Fix-anvil-prepare-event-not-working-with-zero-xp.patch
diff --git a/patches/server/0810-Call-onRemove-logic-for-breakNaturally.patch b/patches/server/0810-Call-onRemove-logic-for-breakNaturally.patch
deleted file mode 100644
index 8ccb77cbf1..0000000000
--- a/patches/server/0810-Call-onRemove-logic-for-breakNaturally.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Jake Potrebic <[email protected]>
-Date: Sun, 31 Oct 2021 14:49:43 -0700
-Subject: [PATCH] Call onRemove logic for breakNaturally
-
-
-diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-index fcf2e5b0b07d2884b678b9c39b72cc7dc5518163..ca320ef8a28fe15b32197669419981c4c2fcafd9 100644
---- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-@@ -516,8 +516,14 @@ public class CraftBlock implements Block {
- if (triggerEffect) world.levelEvent(org.bukkit.Effect.STEP_SOUND.getId(), position, net.minecraft.world.level.block.Block.getId(block.defaultBlockState())); // Paper
- result = true;
- }
-+ // Paper start
-+ net.minecraft.world.level.block.state.BlockState newBlockState = Blocks.AIR.defaultBlockState();
-+ if (this.world instanceof net.minecraft.world.level.Level level) {
-+ iblockdata.onRemove(level, position, newBlockState, false);
-+ }
-+ // Paper end
-
-- return this.setTypeAndData(Blocks.AIR.defaultBlockState(), true) && result;
-+ return this.setTypeAndData(newBlockState, true) && result; // Paper
- }
-
- @Override
diff --git a/patches/server/0812-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0810-Prevent-excessive-velocity-through-repeated-crits.patch
index 794b416d60..794b416d60 100644
--- a/patches/server/0812-Prevent-excessive-velocity-through-repeated-crits.patch
+++ b/patches/server/0810-Prevent-excessive-velocity-through-repeated-crits.patch
diff --git a/patches/server/0813-Remove-client-side-code-using-deprecated-for-removal.patch b/patches/server/0811-Remove-client-side-code-using-deprecated-for-removal.patch
index 654a699a88..654a699a88 100644
--- a/patches/server/0813-Remove-client-side-code-using-deprecated-for-removal.patch
+++ b/patches/server/0811-Remove-client-side-code-using-deprecated-for-removal.patch
diff --git a/patches/server/0814-Rewrite-the-light-engine.patch b/patches/server/0812-Rewrite-the-light-engine.patch
index 4e4ff82174..2aef0702ca 100644
--- a/patches/server/0814-Rewrite-the-light-engine.patch
+++ b/patches/server/0812-Rewrite-the-light-engine.patch
@@ -4432,7 +4432,7 @@ index 825fdb0336b0388dbbc54c8da99781900612031c..d271871563fa883efb77b35ec3b1dfbb
private final DebugBuffer<ChunkHolder.ChunkSaveDebug> chunkToSaveHistory;
public int oldTicketLevel;
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index 30f3d7571c021ed9c0d7d96b53752dd453704b20..7cb613103bca57c82418f4f968922f510819ee70 100644
+index b5ea631f93b9390f82475560cf3e33585d034cd6..0c046cd0fab44aecd41ef5c1477b13ea9606aee4 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -130,7 +130,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
diff --git a/patches/server/0815-Always-parse-protochunk-light-sources-unless-it-is-m.patch b/patches/server/0813-Always-parse-protochunk-light-sources-unless-it-is-m.patch
index 96c4a80599..96c4a80599 100644
--- a/patches/server/0815-Always-parse-protochunk-light-sources-unless-it-is-m.patch
+++ b/patches/server/0813-Always-parse-protochunk-light-sources-unless-it-is-m.patch
diff --git a/patches/server/0816-Fix-removing-recipes-from-RecipeIterator.patch b/patches/server/0814-Fix-removing-recipes-from-RecipeIterator.patch
index 5784fd4dc3..5784fd4dc3 100644
--- a/patches/server/0816-Fix-removing-recipes-from-RecipeIterator.patch
+++ b/patches/server/0814-Fix-removing-recipes-from-RecipeIterator.patch
diff --git a/patches/server/0817-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0815-Prevent-sending-oversized-item-data-in-equipment-and.patch
index ce6b90d603..ce6b90d603 100644
--- a/patches/server/0817-Prevent-sending-oversized-item-data-in-equipment-and.patch
+++ b/patches/server/0815-Prevent-sending-oversized-item-data-in-equipment-and.patch
diff --git a/patches/server/0818-Hide-unnecessary-itemmeta-from-clients.patch b/patches/server/0816-Hide-unnecessary-itemmeta-from-clients.patch
index e0d22d41e6..e0d22d41e6 100644
--- a/patches/server/0818-Hide-unnecessary-itemmeta-from-clients.patch
+++ b/patches/server/0816-Hide-unnecessary-itemmeta-from-clients.patch
diff --git a/patches/server/0819-Fix-kelp-modifier-changing-growth-for-other-crops.patch b/patches/server/0817-Fix-kelp-modifier-changing-growth-for-other-crops.patch
index 3342b664b5..3342b664b5 100644
--- a/patches/server/0819-Fix-kelp-modifier-changing-growth-for-other-crops.patch
+++ b/patches/server/0817-Fix-kelp-modifier-changing-growth-for-other-crops.patch
diff --git a/patches/server/0820-Prevent-ContainerOpenersCounter-openCount-from-going.patch b/patches/server/0818-Prevent-ContainerOpenersCounter-openCount-from-going.patch
index 0e41fd2743..0e41fd2743 100644
--- a/patches/server/0820-Prevent-ContainerOpenersCounter-openCount-from-going.patch
+++ b/patches/server/0818-Prevent-ContainerOpenersCounter-openCount-from-going.patch
diff --git a/patches/server/0821-Add-PlayerItemFrameChangeEvent.patch b/patches/server/0819-Add-PlayerItemFrameChangeEvent.patch
index 8e8fbb1fb8..8e8fbb1fb8 100644
--- a/patches/server/0821-Add-PlayerItemFrameChangeEvent.patch
+++ b/patches/server/0819-Add-PlayerItemFrameChangeEvent.patch
diff --git a/patches/server/0822-Add-player-health-update-API.patch b/patches/server/0820-Add-player-health-update-API.patch
index 12eb8fbfb7..ca1dc0afce 100644
--- a/patches/server/0822-Add-player-health-update-API.patch
+++ b/patches/server/0820-Add-player-health-update-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add player health update API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 097f8d360fcdd96f95ece64d4d1368e36408d451..c6cd4a5790384811f3171ce740afb9459f3d6fc0 100644
+index 03888e95445147ed462233c0115d7e90411c192c..741a03430199cc28b64e2f7ab7167c1d7b7110bc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1981,9 +1981,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1998,9 +1998,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().maxHealthCache = getMaxHealth();
}
@@ -22,7 +22,7 @@ index 097f8d360fcdd96f95ece64d4d1368e36408d451..c6cd4a5790384811f3171ce740afb945
if (this.getHandle().queueHealthUpdatePacket) {
this.getHandle().queuedHealthUpdatePacket = packet;
} else {
-@@ -1991,7 +1993,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2008,7 +2010,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
}
diff --git a/patches/server/0823-Optimize-HashMapPalette.patch b/patches/server/0821-Optimize-HashMapPalette.patch
index 63c4c69921..ef1880895f 100644
--- a/patches/server/0823-Optimize-HashMapPalette.patch
+++ b/patches/server/0821-Optimize-HashMapPalette.patch
@@ -24,7 +24,7 @@ to corrupted data. This is also something that Anti-Xray is currently
relying on.
diff --git a/src/main/java/net/minecraft/world/level/chunk/HashMapPalette.java b/src/main/java/net/minecraft/world/level/chunk/HashMapPalette.java
-index 0dfba8a941a6bc91af523e39055311be2364821c..1e5c7c888364bd026530353ec17c4a87c90ad1de 100644
+index c5551c31597f5a7fe62ade325e36425e5f2df0b9..ba9b0f419b0785a0b1e3bc57f18bfe5edaa192bd 100644
--- a/src/main/java/net/minecraft/world/level/chunk/HashMapPalette.java
+++ b/src/main/java/net/minecraft/world/level/chunk/HashMapPalette.java
@@ -19,7 +19,7 @@ public class HashMapPalette<T> implements Palette<T> {
diff --git a/patches/server/0824-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0822-Allow-delegation-to-vanilla-chunk-gen.patch
index 5284e078ca..e5618d5f78 100644
--- a/patches/server/0824-Allow-delegation-to-vanilla-chunk-gen.patch
+++ b/patches/server/0822-Allow-delegation-to-vanilla-chunk-gen.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow delegation to vanilla chunk gen
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 3c17a2da92d8268564af075916c3503b82ba492f..b70a6d126e80d775870cfececf6724cde89d4554 100644
+index 5f35c3714ac4e0e7afaa81c1ebe8d9601202bbb2..ba7023e7ca5d29375ff53c2951892138d155f69f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2280,6 +2280,107 @@ public final class CraftServer implements Server {
+@@ -2301,6 +2301,107 @@ public final class CraftServer implements Server {
return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(Registry.BIOME_REGISTRY), world); // Paper - Anti-Xray - Add parameters
}
diff --git a/patches/server/0825-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch b/patches/server/0823-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch
index 093ed036f5..093ed036f5 100644
--- a/patches/server/0825-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch
+++ b/patches/server/0823-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch
diff --git a/patches/server/0826-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/0824-Optimise-collision-checking-in-player-move-packet-ha.patch
index c5199df153..c5199df153 100644
--- a/patches/server/0826-Optimise-collision-checking-in-player-move-packet-ha.patch
+++ b/patches/server/0824-Optimise-collision-checking-in-player-move-packet-ha.patch
diff --git a/patches/server/0827-Actually-unload-POI-data.patch b/patches/server/0825-Actually-unload-POI-data.patch
index c03e727b8f..c03e727b8f 100644
--- a/patches/server/0827-Actually-unload-POI-data.patch
+++ b/patches/server/0825-Actually-unload-POI-data.patch
diff --git a/patches/server/0828-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch b/patches/server/0826-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
index 6f7e30efa6..6f7e30efa6 100644
--- a/patches/server/0828-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
+++ b/patches/server/0826-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
diff --git a/patches/server/0829-Update-Log4j.patch b/patches/server/0827-Update-Log4j.patch
index 36ad717c1f..4b014b2e90 100644
--- a/patches/server/0829-Update-Log4j.patch
+++ b/patches/server/0827-Update-Log4j.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Update Log4j
diff --git a/build.gradle.kts b/build.gradle.kts
-index 5678a9f8d2aa8a7afbc5729570ec297b12acf75d..93d4d490da802f8a432124b3120e7adc485b6d41 100644
+index 70232e71f8495a1beeed880bdf66856b4d0ca5e6..954c49fedd2ae228dde7076b80ba22bb7ecb1197 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -29,10 +29,11 @@ dependencies {
diff --git a/patches/server/0830-Add-more-Campfire-API.patch b/patches/server/0828-Add-more-Campfire-API.patch
index ceffa1575f..ceffa1575f 100644
--- a/patches/server/0830-Add-more-Campfire-API.patch
+++ b/patches/server/0828-Add-more-Campfire-API.patch
diff --git a/patches/server/0831-Fix-WorldGenRegion-leak-when-converting-pre-1.18-chu.patch b/patches/server/0829-Fix-WorldGenRegion-leak-when-converting-pre-1.18-chu.patch
index 2768b9635e..2768b9635e 100644
--- a/patches/server/0831-Fix-WorldGenRegion-leak-when-converting-pre-1.18-chu.patch
+++ b/patches/server/0829-Fix-WorldGenRegion-leak-when-converting-pre-1.18-chu.patch
diff --git a/scripts/apatch.sh b/scripts/apatch.sh
index f56771d9ef..9156cb7cb9 100755
--- a/scripts/apatch.sh
+++ b/scripts/apatch.sh
@@ -40,7 +40,7 @@ fi
for i in $(find . -name \*.rej); do
base=$(echo "$i" | sed 's/.rej//g')
if [ -f "$i" ]; then
- sed -e 's/^diff a\/\(.*\) b\/\(.*\)[[:space:]].*rejected.*$/--- \1\n+++ \2/' -i $i && wiggle -v -l --replace "$base" "$i"
+ sed -e 's/^diff a\/\(.*\) b\/\(.*\)[[:space:]].*rejected.*$/--- \1\n+++ \2/' -i '' $i && wiggle -v -l --replace "$base" "$i"
rm "$base.porig" "$i"
else
echo "No such file: $base"
diff --git a/work/Bukkit b/work/Bukkit
-Subproject 5906bed05d29c64af69983e2521cc3e9060d95e
+Subproject 031731e60ece4b3fe0468a0df94b89d339b4169
diff --git a/work/CraftBukkit b/work/CraftBukkit
-Subproject dad851710202aeda815ff91c595de68f99e45f2
+Subproject 2a2caa7e25cfcf66c368b0098f320ac93d416d6
diff --git a/work/Spigot b/work/Spigot
-Subproject f65de01fa82909bd90444c24e49436771663e9c
+Subproject 8965a5024427f83a4e82ce3e3d4773fd78d22d7