aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNassim Jahnke <[email protected]>2024-02-11 22:28:00 +0100
committerGitHub <[email protected]>2024-02-11 22:28:00 +0100
commit31699ae9a8f3a57491e9c9276cffa5a51e9a5f60 (patch)
tree066237108974856e6a02b481451a17642afa530e
parentcde5587e58f08ce2d8875bb9d13a4be56825e353 (diff)
downloadPaper-31699ae9a8f3a57491e9c9276cffa5a51e9a5f60.tar.gz
Paper-31699ae9a8f3a57491e9c9276cffa5a51e9a5f60.zip
Updated Upstream (Bukkit/CraftBukkit) (#10242)
* Updated Upstream (Bukkit/CraftBukkit) Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: a6a9d2a4 Remove some old ApiStatus.Experimental annotations be72314c SPIGOT-7300, PR-829: Add new DamageSource API providing enhanced information about entity damage b252cf05 SPIGOT-7576, PR-970: Add methods in MushroomCow to change stew effects b1c689bd PR-902: Add Server#isLoggingIPs to get log-ips configuration 08f86d1c PR-971: Add Player methods for client-side potion effects 2e3024a9 PR-963: Add API for in-world structures a23292a7 SPIGOT-7530, PR-948: Improve Resource Pack API with new 1.20.3 functionality 1851857b SPIGOT-3071, PR-969: Add entity spawn method with spawn reason cde4c52a SPIGOT-5553, PR-964: Add EntityKnockbackEvent CraftBukkit Changes: 38fd4bd50 Fix accidentally renamed internal damage method 80f0ce4be SPIGOT-7300, PR-1180: Add new DamageSource API providing enhanced information about entity damage 7e43f3b16 SPIGOT-7581: Fix typo in BlockMushroom ea14b7d90 SPIGOT-7576, PR-1347: Add methods in MushroomCow to change stew effects 4c687f243 PR-1259: Add Server#isLoggingIPs to get log-ips configuration 22a541a29 Improve support for per-world game rules cb7dccce2 PR-1348: Add Player methods for client-side potion effects b8d6109f0 PR-1335: Add API for in-world structures 4398a1b5b SPIGOT-7577: Make CraftWindCharge#explode discard the entity e74107678 Fix Crafter maximum stack size 0bb0f4f6a SPIGOT-7530, PR-1314: Improve Resource Pack API with new 1.20.3 functionality 4949f556d SPIGOT-3071, PR-1345: Add entity spawn method with spawn reason 20ac73ca2 PR-1353: Fix Structure#place not working as documented with 0 palette 3c1b77871 SPIGOT-6911, PR-1349: Change max book length in CraftMetaBook 333701839 SPIGOT-7572: Bee nests generated without bees f48f4174c SPIGOT-5553, PR-1336: Add EntityKnockbackEvent
-rw-r--r--patches/api/0001-Convert-project-to-Gradle.patch6
-rw-r--r--patches/api/0006-Adventure.patch195
-rw-r--r--patches/api/0009-Paper-Plugins.patch13
-rw-r--r--patches/api/0011-Timings-v2.patch18
-rw-r--r--patches/api/0012-Add-command-line-option-to-load-extra-plugin-jars-no.patch8
-rw-r--r--patches/api/0013-Player-affects-spawning-API.patch4
-rw-r--r--patches/api/0014-Add-getTPS-method.patch8
-rw-r--r--patches/api/0015-Version-Command-2.0.patch4
-rw-r--r--patches/api/0016-Entity-Origin-API.patch4
-rw-r--r--patches/api/0018-Add-view-distance-API.patch12
-rw-r--r--patches/api/0021-Expose-server-CommandMap.patch8
-rw-r--r--patches/api/0022-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch12
-rw-r--r--patches/api/0026-Player-Tab-List-and-Title-APIs.patch4
-rw-r--r--patches/api/0028-Complete-resource-pack-API.patch8
-rw-r--r--patches/api/0031-Add-command-to-reload-permissions.yml-and-require-co.patch8
-rw-r--r--patches/api/0044-Allow-Reloading-of-Command-Aliases.patch8
-rw-r--r--patches/api/0047-Add-String-based-Action-Bar-API.patch6
-rw-r--r--patches/api/0052-Provide-E-TE-Chunk-count-stat-methods.patch4
-rw-r--r--patches/api/0055-Add-configuration-option-to-prevent-player-names-fro.patch8
-rw-r--r--patches/api/0056-Fix-upstream-javadocs.patch36
-rw-r--r--patches/api/0060-Basic-PlayerProfile-API.patch8
-rw-r--r--patches/api/0063-Entity-fromMobSpawner.patch4
-rw-r--r--patches/api/0077-Expose-client-protocol-version-and-virtual-host.patch4
-rw-r--r--patches/api/0081-Ability-to-apply-mending-to-XP-API.patch6
-rw-r--r--patches/api/0092-Player.setPlayerProfile-API.patch20
-rw-r--r--patches/api/0093-getPlayerUniqueId-API.patch8
-rw-r--r--patches/api/0095-Add-openSign-method-to-HumanEntity.patch4
-rw-r--r--patches/api/0096-Add-Ban-Methods-to-Player-Objects.patch4
-rw-r--r--patches/api/0098-Enderman.teleportRandomly.patch4
-rw-r--r--patches/api/0099-Additional-world.getNearbyEntities-API-s.patch4
-rw-r--r--patches/api/0101-Expand-World.spawnParticle-API-and-add-Builder.patch4
-rw-r--r--patches/api/0114-Add-EntityKnockbackByEntityEvent-and-EntityPushedByE.patch48
-rw-r--r--patches/api/0115-Expand-Explosions-API.patch4
-rw-r--r--patches/api/0119-Add-World.getEntity-UUID-API.patch4
-rw-r--r--patches/api/0122-Entity-getChunk-API.patch4
-rw-r--r--patches/api/0133-Provide-Chunk-Coordinates-as-a-Long-API.patch8
-rw-r--r--patches/api/0134-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch4
-rw-r--r--patches/api/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch6
-rw-r--r--patches/api/0141-isChunkGenerated-API.patch6
-rw-r--r--patches/api/0143-Async-Chunks-API.patch6
-rw-r--r--patches/api/0145-Expose-attack-cooldown-methods-for-Player.patch4
-rw-r--r--patches/api/0147-Add-Git-information-to-version-command-on-startup.patch6
-rw-r--r--patches/api/0157-Add-sun-related-API.patch4
-rw-r--r--patches/api/0161-Make-the-default-permission-message-configurable.patch8
-rw-r--r--patches/api/0172-Entity-getEntitySpawnReason.patch4
-rw-r--r--patches/api/0173-Fix-Spigot-annotation-mistakes.patch61
-rw-r--r--patches/api/0176-Add-Heightmap-API.patch6
-rw-r--r--patches/api/0181-Expose-the-internal-current-tick.patch8
-rw-r--r--patches/api/0187-Add-tick-times-API.patch8
-rw-r--r--patches/api/0188-Expose-MinecraftServer-isRunning.patch8
-rw-r--r--patches/api/0189-Add-Raw-Byte-ItemStack-Serialization.patch4
-rw-r--r--patches/api/0190-Add-Player-Client-Options-API.patch4
-rw-r--r--patches/api/0195-Expose-game-version.patch8
-rw-r--r--patches/api/0196-Add-Mob-Goal-API.patch8
-rw-r--r--patches/api/0205-Add-entity-liquid-API.patch4
-rw-r--r--patches/api/0208-Brand-support.patch4
-rw-r--r--patches/api/0215-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch4
-rw-r--r--patches/api/0216-Entity-isTicking.patch4
-rw-r--r--patches/api/0218-Player-elytra-boost-API.patch4
-rw-r--r--patches/api/0219-Add-getOfflinePlayerIfCached-String.patch8
-rw-r--r--patches/api/0245-Add-sendOpLevel-API.patch4
-rw-r--r--patches/api/0247-Add-StructuresLocateEvent.patch4
-rw-r--r--patches/api/0259-Expose-Tracked-Players.patch4
-rw-r--r--patches/api/0265-Expand-world-key-API.patch12
-rw-r--r--patches/api/0266-Item-Rarity-API.patch4
-rw-r--r--patches/api/0267-Expose-protocol-version.patch4
-rw-r--r--patches/api/0272-More-World-API.patch4
-rw-r--r--patches/api/0282-Add-basic-Datapack-API.patch12
-rw-r--r--patches/api/0284-ItemStack-repair-check-API.patch4
-rw-r--r--patches/api/0289-Attributes-API-for-item-defaults.patch4
-rw-r--r--patches/api/0292-Add-PlayerKickEvent-causes.patch4
-rw-r--r--patches/api/0299-Missing-Entity-API.patch12
-rw-r--r--patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch4
-rw-r--r--patches/api/0316-Get-entity-default-attributes.patch4
-rw-r--r--patches/api/0318-Add-critical-damage-API.patch49
-rw-r--r--patches/api/0321-Add-isCollidable-methods-to-various-places.patch6
-rw-r--r--patches/api/0324-Add-Raw-Byte-Entity-Serialization.patch8
-rw-r--r--patches/api/0326-Allow-delegation-to-vanilla-chunk-gen.patch8
-rw-r--r--patches/api/0330-Entity-powdered-snow-API.patch4
-rw-r--r--patches/api/0338-Multi-Block-Change-API.patch4
-rw-r--r--patches/api/0342-More-PotionEffectType-API.patch4
-rw-r--r--patches/api/0343-API-for-creating-command-sender-which-forwards-feedb.patch8
-rw-r--r--patches/api/0344-Implement-regenerateChunk.patch4
-rw-r--r--patches/api/0349-Custom-Potion-Mixes.patch8
-rw-r--r--patches/api/0361-Expand-FallingBlock-API.patch8
-rw-r--r--patches/api/0362-Add-method-isTickingWorlds-to-Bukkit.patch12
-rw-r--r--patches/api/0366-More-Teleport-API.patch6
-rw-r--r--patches/api/0368-Custom-Chat-Completion-Suggestions-API.patch4
-rw-r--r--patches/api/0369-Collision-API.patch4
-rw-r--r--patches/api/0371-Add-NamespacedKey-biome-methods.patch4
-rw-r--r--patches/api/0378-Elder-Guardian-appearance-API.patch4
-rw-r--r--patches/api/0386-Add-Player-Warden-Warning-API.patch4
-rw-r--r--patches/api/0396-Add-Sneaking-API-for-Entities.patch10
-rw-r--r--patches/api/0398-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch29
-rw-r--r--patches/api/0399-Flying-Fall-Damage-API.patch4
-rw-r--r--patches/api/0401-Win-Screen-API.patch4
-rw-r--r--patches/api/0402-Add-Entity-Body-Yaw-API.patch6
-rw-r--r--patches/api/0406-Add-Shearable-API.patch6
-rw-r--r--patches/api/0413-Folia-scheduler-and-owned-region-API.patch12
-rw-r--r--patches/api/0416-Fix-BanList-API.patch10
-rw-r--r--patches/api/0418-API-for-updating-recipes-on-clients.patch16
-rw-r--r--patches/api/0420-Fix-custom-statistic-criteria-creation.patch4
-rw-r--r--patches/api/0422-API-for-an-entity-s-scoreboard-name.patch4
-rw-r--r--patches/api/0423-Deprecate-and-replace-methods-with-old-StructureType.patch32
-rw-r--r--patches/api/0424-Add-Listing-API-for-Player.patch6
-rw-r--r--patches/api/0427-Expand-Pose-API.patch4
-rw-r--r--patches/api/0438-Add-player-idle-duration-API.patch4
-rw-r--r--patches/api/0440-Add-predicate-for-blocks-when-raytracing.patch8
-rw-r--r--patches/api/0445-Add-Structure-check-API.patch4
-rw-r--r--patches/api/0448-Improve-Registry.patch6
-rw-r--r--patches/api/0449-Add-experience-points-API.patch4
-rw-r--r--patches/api/0458-Add-api-for-spawn-egg-texture-colors.patch4
-rw-r--r--patches/api/0459-Add-Lifecycle-Event-system.patch4
-rw-r--r--patches/api/0461-ItemStack-Tooltip-API.patch4
-rw-r--r--patches/api/0462-Add-getChunkSnapshot-includeLightData-parameter.patch4
-rw-r--r--patches/server/0002-Remap-fixes.patch4
-rw-r--r--patches/server/0005-Paper-config-files.patch6
-rw-r--r--patches/server/0008-CB-fixes.patch10
-rw-r--r--patches/server/0009-MC-Utils.patch36
-rw-r--r--patches/server/0010-Adventure.patch66
-rw-r--r--patches/server/0011-Paper-command.patch8
-rw-r--r--patches/server/0013-Paper-Plugins.patch14
-rw-r--r--patches/server/0014-Timings-v2.patch55
-rw-r--r--patches/server/0016-Further-improve-server-tick-loop.patch4
-rw-r--r--patches/server/0017-Add-command-line-option-to-load-extra-plugin-jars-no.patch4
-rw-r--r--patches/server/0018-Keep-previous-behavior-for-setResourcePack.patch26
-rw-r--r--patches/server/0018-Support-components-in-ItemMeta.patch (renamed from patches/server/0019-Support-components-in-ItemMeta.patch)0
-rw-r--r--patches/server/0019-Configurable-cactus-bamboo-and-reed-growth-height.patch (renamed from patches/server/0020-Configurable-cactus-bamboo-and-reed-growth-height.patch)2
-rw-r--r--patches/server/0020-Configurable-baby-zombie-movement-speed.patch (renamed from patches/server/0021-Configurable-baby-zombie-movement-speed.patch)0
-rw-r--r--patches/server/0021-Configurable-fishing-time-ranges.patch (renamed from patches/server/0022-Configurable-fishing-time-ranges.patch)0
-rw-r--r--patches/server/0022-Allow-nerfed-mobs-to-jump.patch (renamed from patches/server/0023-Allow-nerfed-mobs-to-jump.patch)2
-rw-r--r--patches/server/0023-Add-configurable-entity-despawn-distances.patch (renamed from patches/server/0024-Add-configurable-entity-despawn-distances.patch)2
-rw-r--r--patches/server/0024-Allow-for-toggling-of-spawn-chunks.patch (renamed from patches/server/0025-Allow-for-toggling-of-spawn-chunks.patch)0
-rw-r--r--patches/server/0025-Drop-falling-block-and-tnt-entities-at-the-specified.patch (renamed from patches/server/0026-Drop-falling-block-and-tnt-entities-at-the-specified.patch)2
-rw-r--r--patches/server/0026-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch (renamed from patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch)6
-rw-r--r--patches/server/0027-Implement-Paper-VersionChecker.patch (renamed from patches/server/0028-Implement-Paper-VersionChecker.patch)4
-rw-r--r--patches/server/0028-Add-version-history-to-version-command.patch (renamed from patches/server/0029-Add-version-history-to-version-command.patch)2
-rw-r--r--patches/server/0029-Player-affects-spawning-API.patch (renamed from patches/server/0030-Player-affects-spawning-API.patch)10
-rw-r--r--patches/server/0030-Only-refresh-abilities-if-needed.patch (renamed from patches/server/0031-Only-refresh-abilities-if-needed.patch)4
-rw-r--r--patches/server/0031-fix-ItemMeta-removing-CustomModelData.patch (renamed from patches/server/0032-fix-ItemMeta-removing-CustomModelData.patch)2
-rw-r--r--patches/server/0032-Entity-Origin-API.patch (renamed from patches/server/0033-Entity-Origin-API.patch)8
-rw-r--r--patches/server/0033-Prevent-block-entity-and-entity-crashes.patch (renamed from patches/server/0034-Prevent-block-entity-and-entity-crashes.patch)0
-rw-r--r--patches/server/0034-Configurable-top-of-nether-void-damage.patch (renamed from patches/server/0035-Configurable-top-of-nether-void-damage.patch)2
-rw-r--r--patches/server/0035-Check-online-mode-before-converting-and-renaming-pla.patch (renamed from patches/server/0036-Check-online-mode-before-converting-and-renaming-pla.patch)2
-rw-r--r--patches/server/0036-Always-tick-falling-blocks.patch (renamed from patches/server/0037-Always-tick-falling-blocks.patch)0
-rw-r--r--patches/server/0037-Configurable-end-credits.patch (renamed from patches/server/0038-Configurable-end-credits.patch)2
-rw-r--r--patches/server/0038-Fix-lag-from-explosions-processing-dead-entities.patch (renamed from patches/server/0039-Fix-lag-from-explosions-processing-dead-entities.patch)2
-rw-r--r--patches/server/0039-Optimize-explosions.patch (renamed from patches/server/0040-Optimize-explosions.patch)8
-rw-r--r--patches/server/0040-Disable-explosion-knockback.patch (renamed from patches/server/0041-Disable-explosion-knockback.patch)6
-rw-r--r--patches/server/0041-Disable-thunder.patch (renamed from patches/server/0042-Disable-thunder.patch)2
-rw-r--r--patches/server/0042-Disable-ice-and-snow.patch (renamed from patches/server/0043-Disable-ice-and-snow.patch)2
-rw-r--r--patches/server/0043-Configurable-mob-spawner-tick-rate.patch (renamed from patches/server/0044-Configurable-mob-spawner-tick-rate.patch)0
-rw-r--r--patches/server/0044-Implement-PlayerLocaleChangeEvent.patch (renamed from patches/server/0045-Implement-PlayerLocaleChangeEvent.patch)6
-rw-r--r--patches/server/0045-Add-BeaconEffectEvent.patch (renamed from patches/server/0046-Add-BeaconEffectEvent.patch)0
-rw-r--r--patches/server/0046-Configurable-container-update-tick-rate.patch (renamed from patches/server/0047-Configurable-container-update-tick-rate.patch)2
-rw-r--r--patches/server/0047-Use-UserCache-for-player-heads.patch (renamed from patches/server/0048-Use-UserCache-for-player-heads.patch)0
-rw-r--r--patches/server/0048-Disable-spigot-tick-limiters.patch (renamed from patches/server/0049-Disable-spigot-tick-limiters.patch)0
-rw-r--r--patches/server/0049-Add-PlayerInitialSpawnEvent.patch (renamed from patches/server/0050-Add-PlayerInitialSpawnEvent.patch)0
-rw-r--r--patches/server/0050-Configurable-Disabling-Cat-Chest-Detection.patch (renamed from patches/server/0051-Configurable-Disabling-Cat-Chest-Detection.patch)0
-rw-r--r--patches/server/0051-Improve-Player-chat-API-handling.patch (renamed from patches/server/0052-Improve-Player-chat-API-handling.patch)10
-rw-r--r--patches/server/0052-All-chunks-are-slime-spawn-chunks-toggle.patch (renamed from patches/server/0053-All-chunks-are-slime-spawn-chunks-toggle.patch)4
-rw-r--r--patches/server/0053-Expose-server-CommandMap.patch (renamed from patches/server/0054-Expose-server-CommandMap.patch)4
-rw-r--r--patches/server/0054-Be-a-bit-more-informative-in-maxHealth-exception.patch (renamed from patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch)4
-rw-r--r--patches/server/0055-Player-Tab-List-and-Title-APIs.patch (renamed from patches/server/0056-Player-Tab-List-and-Title-APIs.patch)4
-rw-r--r--patches/server/0056-Add-configurable-portal-search-radius.patch (renamed from patches/server/0057-Add-configurable-portal-search-radius.patch)4
-rw-r--r--patches/server/0057-Add-velocity-warnings.patch (renamed from patches/server/0058-Add-velocity-warnings.patch)4
-rw-r--r--patches/server/0058-Configurable-inter-world-teleportation-safety.patch (renamed from patches/server/0059-Configurable-inter-world-teleportation-safety.patch)4
-rw-r--r--patches/server/0059-Add-exception-reporting-event.patch (renamed from patches/server/0060-Add-exception-reporting-event.patch)0
-rw-r--r--patches/server/0060-Disable-Scoreboards-for-non-players-by-default.patch (renamed from patches/server/0061-Disable-Scoreboards-for-non-players-by-default.patch)8
-rw-r--r--patches/server/0061-Add-methods-for-working-with-arrows-stuck-in-living-.patch (renamed from patches/server/0062-Add-methods-for-working-with-arrows-stuck-in-living-.patch)6
-rw-r--r--patches/server/0062-Chunk-Save-Reattempt.patch (renamed from patches/server/0063-Chunk-Save-Reattempt.patch)0
-rw-r--r--patches/server/0063-Complete-resource-pack-API.patch (renamed from patches/server/0064-Complete-resource-pack-API.patch)6
-rw-r--r--patches/server/0064-Default-loading-permissions.yml-before-plugins.patch (renamed from patches/server/0065-Default-loading-permissions.yml-before-plugins.patch)6
-rw-r--r--patches/server/0065-Allow-Reloading-of-Custom-Permissions.patch (renamed from patches/server/0066-Allow-Reloading-of-Custom-Permissions.patch)4
-rw-r--r--patches/server/0066-Remove-Metadata-on-reload.patch (renamed from patches/server/0067-Remove-Metadata-on-reload.patch)4
-rw-r--r--patches/server/0067-Handle-Item-Meta-Inconsistencies.patch (renamed from patches/server/0068-Handle-Item-Meta-Inconsistencies.patch)10
-rw-r--r--patches/server/0068-Configurable-Non-Player-Arrow-Despawn-Rate.patch (renamed from patches/server/0069-Configurable-Non-Player-Arrow-Despawn-Rate.patch)0
-rw-r--r--patches/server/0069-Add-World-Util-Methods.patch (renamed from patches/server/0070-Add-World-Util-Methods.patch)0
-rw-r--r--patches/server/0070-Custom-replacement-for-eaten-items.patch (renamed from patches/server/0071-Custom-replacement-for-eaten-items.patch)8
-rw-r--r--patches/server/0071-handle-NaN-health-absorb-values-and-repair-bad-data.patch (renamed from patches/server/0072-handle-NaN-health-absorb-values-and-repair-bad-data.patch)12
-rw-r--r--patches/server/0072-Use-a-Shared-Random-for-Entities.patch (renamed from patches/server/0073-Use-a-Shared-Random-for-Entities.patch)2
-rw-r--r--patches/server/0073-Configurable-spawn-chances-for-skeleton-horses.patch (renamed from patches/server/0074-Configurable-spawn-chances-for-skeleton-horses.patch)2
-rw-r--r--patches/server/0074-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch (renamed from patches/server/0075-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch)0
-rw-r--r--patches/server/0075-Entity-AddTo-RemoveFrom-World-Events.patch (renamed from patches/server/0076-Entity-AddTo-RemoveFrom-World-Events.patch)2
-rw-r--r--patches/server/0076-Configurable-Chunk-Inhabited-Time.patch (renamed from patches/server/0077-Configurable-Chunk-Inhabited-Time.patch)0
-rw-r--r--patches/server/0077-EntityPathfindEvent.patch (renamed from patches/server/0078-EntityPathfindEvent.patch)0
-rw-r--r--patches/server/0078-Sanitise-RegionFileCache-and-make-configurable.patch (renamed from patches/server/0079-Sanitise-RegionFileCache-and-make-configurable.patch)0
-rw-r--r--patches/server/0079-Do-not-load-chunks-for-Pathfinding.patch (renamed from patches/server/0080-Do-not-load-chunks-for-Pathfinding.patch)0
-rw-r--r--patches/server/0080-Add-PlayerUseUnknownEntityEvent.patch (renamed from patches/server/0081-Add-PlayerUseUnknownEntityEvent.patch)6
-rw-r--r--patches/server/0081-Configurable-random-tick-rates-for-blocks.patch (renamed from patches/server/0082-Configurable-random-tick-rates-for-blocks.patch)0
-rw-r--r--patches/server/0082-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch (renamed from patches/server/0083-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch)2
-rw-r--r--patches/server/0083-Optimize-DataBits.patch (renamed from patches/server/0084-Optimize-DataBits.patch)0
-rw-r--r--patches/server/0084-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch (renamed from patches/server/0085-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch)0
-rw-r--r--patches/server/0085-Configurable-Player-Collision.patch (renamed from patches/server/0086-Configurable-Player-Collision.patch)2
-rw-r--r--patches/server/0086-Add-handshake-event-to-allow-plugins-to-handle-clien.patch (renamed from patches/server/0087-Add-handshake-event-to-allow-plugins-to-handle-clien.patch)0
-rw-r--r--patches/server/0087-Configurable-RCON-IP-address.patch (renamed from patches/server/0088-Configurable-RCON-IP-address.patch)0
-rw-r--r--patches/server/0088-EntityRegainHealthEvent-isFastRegen-API.patch (renamed from patches/server/0089-EntityRegainHealthEvent-isFastRegen-API.patch)4
-rw-r--r--patches/server/0089-Add-ability-to-configure-frosted_ice-properties.patch (renamed from patches/server/0090-Add-ability-to-configure-frosted_ice-properties.patch)0
-rw-r--r--patches/server/0090-remove-null-possibility-for-getServer-singleton.patch (renamed from patches/server/0091-remove-null-possibility-for-getServer-singleton.patch)2
-rw-r--r--patches/server/0091-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch (renamed from patches/server/0092-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch)0
-rw-r--r--patches/server/0092-LootTable-API-and-replenishable-lootables.patch (renamed from patches/server/0093-LootTable-API-and-replenishable-lootables.patch)2
-rw-r--r--patches/server/0093-System-property-for-disabling-watchdoge.patch (renamed from patches/server/0094-System-property-for-disabling-watchdoge.patch)2
-rw-r--r--patches/server/0094-Async-GameProfileCache-saving.patch (renamed from patches/server/0095-Async-GameProfileCache-saving.patch)4
-rw-r--r--patches/server/0095-Optional-TNT-doesn-t-move-in-water.patch (renamed from patches/server/0096-Optional-TNT-doesn-t-move-in-water.patch)0
-rw-r--r--patches/server/0096-Faster-redstone-torch-rapid-clock-removal.patch (renamed from patches/server/0097-Faster-redstone-torch-rapid-clock-removal.patch)0
-rw-r--r--patches/server/0097-Add-server-name-parameter.patch (renamed from patches/server/0098-Add-server-name-parameter.patch)0
-rw-r--r--patches/server/0098-Fix-global-sound-handling.patch (renamed from patches/server/0099-Fix-global-sound-handling.patch)0
-rw-r--r--patches/server/0099-Avoid-blocking-on-Network-Manager-creation.patch (renamed from patches/server/0100-Avoid-blocking-on-Network-Manager-creation.patch)0
-rw-r--r--patches/server/0100-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch (renamed from patches/server/0101-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch)0
-rw-r--r--patches/server/0101-Add-setting-for-proxy-online-mode-status.patch (renamed from patches/server/0102-Add-setting-for-proxy-online-mode-status.patch)6
-rw-r--r--patches/server/0102-Optimise-BlockState-s-hashCode-equals.patch (renamed from patches/server/0103-Optimise-BlockState-s-hashCode-equals.patch)0
-rw-r--r--patches/server/0103-Configurable-packet-in-spam-threshold.patch (renamed from patches/server/0104-Configurable-packet-in-spam-threshold.patch)2
-rw-r--r--patches/server/0104-Configurable-flying-kick-messages.patch (renamed from patches/server/0105-Configurable-flying-kick-messages.patch)2
-rw-r--r--patches/server/0105-Add-EntityZapEvent.patch (renamed from patches/server/0106-Add-EntityZapEvent.patch)4
-rw-r--r--patches/server/0106-Filter-bad-block-entity-nbt-data-from-falling-blocks.patch (renamed from patches/server/0107-Filter-bad-block-entity-nbt-data-from-falling-blocks.patch)4
-rw-r--r--patches/server/0107-Cache-user-authenticator-threads.patch (renamed from patches/server/0108-Cache-user-authenticator-threads.patch)0
-rw-r--r--patches/server/0108-Allow-Reloading-of-Command-Aliases.patch (renamed from patches/server/0109-Allow-Reloading-of-Command-Aliases.patch)4
-rw-r--r--patches/server/0109-Add-source-to-PlayerExpChangeEvent.patch (renamed from patches/server/0110-Add-source-to-PlayerExpChangeEvent.patch)4
-rw-r--r--patches/server/0110-Add-ProjectileCollideEvent.patch (renamed from patches/server/0111-Add-ProjectileCollideEvent.patch)6
-rw-r--r--patches/server/0111-Prevent-Pathfinding-out-of-World-Border.patch (renamed from patches/server/0112-Prevent-Pathfinding-out-of-World-Border.patch)0
-rw-r--r--patches/server/0112-Optimize-Level.hasChunkAt-BlockPosition-Z.patch (renamed from patches/server/0113-Optimize-Level.hasChunkAt-BlockPosition-Z.patch)0
-rw-r--r--patches/server/0113-Bound-Treasure-Maps-to-World-Border.patch (renamed from patches/server/0114-Bound-Treasure-Maps-to-World-Border.patch)0
-rw-r--r--patches/server/0114-Configurable-Cartographer-Treasure-Maps.patch (renamed from patches/server/0115-Configurable-Cartographer-Treasure-Maps.patch)0
-rw-r--r--patches/server/0115-Add-API-methods-to-control-if-armor-stands-can-move.patch (renamed from patches/server/0116-Add-API-methods-to-control-if-armor-stands-can-move.patch)0
-rw-r--r--patches/server/0116-String-based-Action-Bar-API.patch (renamed from patches/server/0117-String-based-Action-Bar-API.patch)4
-rw-r--r--patches/server/0117-Properly-fix-item-duplication-bug.patch (renamed from patches/server/0118-Properly-fix-item-duplication-bug.patch)2
-rw-r--r--patches/server/0118-Firework-API-s.patch (renamed from patches/server/0119-Firework-API-s.patch)8
-rw-r--r--patches/server/0119-PlayerTeleportEndGatewayEvent.patch (renamed from patches/server/0120-PlayerTeleportEndGatewayEvent.patch)0
-rw-r--r--patches/server/0120-Provide-E-TE-Chunk-count-stat-methods.patch (renamed from patches/server/0121-Provide-E-TE-Chunk-count-stat-methods.patch)4
-rw-r--r--patches/server/0121-Enforce-Sync-Player-Saves.patch (renamed from patches/server/0122-Enforce-Sync-Player-Saves.patch)0
-rw-r--r--patches/server/0122-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch (renamed from patches/server/0123-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch)8
-rw-r--r--patches/server/0123-Cap-Entity-Collisions.patch (renamed from patches/server/0124-Cap-Entity-Collisions.patch)6
-rw-r--r--patches/server/0124-Remove-CraftScheduler-Async-Task-Debugger.patch (renamed from patches/server/0125-Remove-CraftScheduler-Async-Task-Debugger.patch)0
-rw-r--r--patches/server/0125-Properly-handle-async-calls-to-restart-the-server.patch (renamed from patches/server/0126-Properly-handle-async-calls-to-restart-the-server.patch)2
-rw-r--r--patches/server/0126-Add-option-to-make-parrots-stay-on-shoulders-despite.patch (renamed from patches/server/0127-Add-option-to-make-parrots-stay-on-shoulders-despite.patch)6
-rw-r--r--patches/server/0127-Add-configuration-option-to-prevent-player-names-fro.patch (renamed from patches/server/0128-Add-configuration-option-to-prevent-player-names-fro.patch)4
-rw-r--r--patches/server/0128-Use-TerminalConsoleAppender-for-console-improvements.patch (renamed from patches/server/0129-Use-TerminalConsoleAppender-for-console-improvements.patch)8
-rw-r--r--patches/server/0129-provide-a-configurable-option-to-disable-creeper-lin.patch (renamed from patches/server/0130-provide-a-configurable-option-to-disable-creeper-lin.patch)0
-rw-r--r--patches/server/0130-Item-canEntityPickup.patch (renamed from patches/server/0131-Item-canEntityPickup.patch)2
-rw-r--r--patches/server/0131-PlayerPickupItemEvent-setFlyAtPlayer.patch (renamed from patches/server/0132-PlayerPickupItemEvent-setFlyAtPlayer.patch)0
-rw-r--r--patches/server/0132-PlayerAttemptPickupItemEvent.patch (renamed from patches/server/0133-PlayerAttemptPickupItemEvent.patch)0
-rw-r--r--patches/server/0133-Do-not-submit-profile-lookups-to-worldgen-threads.patch (renamed from patches/server/0134-Do-not-submit-profile-lookups-to-worldgen-threads.patch)0
-rw-r--r--patches/server/0134-Basic-PlayerProfile-API.patch (renamed from patches/server/0135-Basic-PlayerProfile-API.patch)10
-rw-r--r--patches/server/0135-Add-UnknownCommandEvent.patch (renamed from patches/server/0136-Add-UnknownCommandEvent.patch)6
-rw-r--r--patches/server/0136-Shoulder-Entities-Release-API.patch (renamed from patches/server/0137-Shoulder-Entities-Release-API.patch)4
-rw-r--r--patches/server/0137-Profile-Lookup-Events.patch (renamed from patches/server/0138-Profile-Lookup-Events.patch)0
-rw-r--r--patches/server/0138-Block-player-logins-during-server-shutdown.patch (renamed from patches/server/0139-Block-player-logins-during-server-shutdown.patch)0
-rw-r--r--patches/server/0139-Entity-fromMobSpawner.patch (renamed from patches/server/0140-Entity-fromMobSpawner.patch)6
-rw-r--r--patches/server/0140-Improve-the-Saddle-API-for-Horses.patch (renamed from patches/server/0141-Improve-the-Saddle-API-for-Horses.patch)0
-rw-r--r--patches/server/0141-ensureServerConversions-API.patch (renamed from patches/server/0142-ensureServerConversions-API.patch)4
-rw-r--r--patches/server/0142-Implement-getI18NDisplayName.patch (renamed from patches/server/0143-Implement-getI18NDisplayName.patch)0
-rw-r--r--patches/server/0143-ProfileWhitelistVerifyEvent.patch (renamed from patches/server/0144-ProfileWhitelistVerifyEvent.patch)0
-rw-r--r--patches/server/0144-Fix-this-stupid-bullshit.patch (renamed from patches/server/0145-Fix-this-stupid-bullshit.patch)0
-rw-r--r--patches/server/0145-LivingEntity-setKiller.patch (renamed from patches/server/0146-LivingEntity-setKiller.patch)4
-rw-r--r--patches/server/0146-Ocelot-despawns-should-honor-nametags-and-leash.patch (renamed from patches/server/0147-Ocelot-despawns-should-honor-nametags-and-leash.patch)0
-rw-r--r--patches/server/0147-Reset-spawner-timer-when-spawner-event-is-cancelled.patch (renamed from patches/server/0148-Reset-spawner-timer-when-spawner-event-is-cancelled.patch)0
-rw-r--r--patches/server/0148-Allow-specifying-a-custom-authentication-servers-dow.patch (renamed from patches/server/0149-Allow-specifying-a-custom-authentication-servers-dow.patch)0
-rw-r--r--patches/server/0149-Handle-plugin-prefixes-using-Log4J-configuration.patch (renamed from patches/server/0150-Handle-plugin-prefixes-using-Log4J-configuration.patch)0
-rw-r--r--patches/server/0150-Improve-Log4J-Configuration-Plugin-Loggers.patch (renamed from patches/server/0151-Improve-Log4J-Configuration-Plugin-Loggers.patch)0
-rw-r--r--patches/server/0151-Add-PlayerJumpEvent.patch (renamed from patches/server/0152-Add-PlayerJumpEvent.patch)2
-rw-r--r--patches/server/0152-handle-ServerboundKeepAlivePacket-async.patch (renamed from patches/server/0153-handle-ServerboundKeepAlivePacket-async.patch)0
-rw-r--r--patches/server/0153-Expose-client-protocol-version-and-virtual-host.patch (renamed from patches/server/0154-Expose-client-protocol-version-and-virtual-host.patch)4
-rw-r--r--patches/server/0154-revert-serverside-behavior-of-keepalives.patch (renamed from patches/server/0155-revert-serverside-behavior-of-keepalives.patch)0
-rw-r--r--patches/server/0155-Send-attack-SoundEffects-only-to-players-who-can-see.patch (renamed from patches/server/0156-Send-attack-SoundEffects-only-to-players-who-can-see.patch)12
-rw-r--r--patches/server/0156-Add-PlayerArmorChangeEvent.patch (renamed from patches/server/0157-Add-PlayerArmorChangeEvent.patch)4
-rw-r--r--patches/server/0157-Prevent-logins-from-being-processed-when-the-player-.patch (renamed from patches/server/0158-Prevent-logins-from-being-processed-when-the-player-.patch)0
-rw-r--r--patches/server/0158-Fix-MC-117075-Block-entity-unload-lag-spike.patch (renamed from patches/server/0159-Fix-MC-117075-Block-entity-unload-lag-spike.patch)0
-rw-r--r--patches/server/0159-use-CB-BlockState-implementations-for-captured-block.patch (renamed from patches/server/0160-use-CB-BlockState-implementations-for-captured-block.patch)0
-rw-r--r--patches/server/0160-API-to-get-a-BlockState-without-a-snapshot.patch (renamed from patches/server/0161-API-to-get-a-BlockState-without-a-snapshot.patch)0
-rw-r--r--patches/server/0161-AsyncTabCompleteEvent.patch (renamed from patches/server/0162-AsyncTabCompleteEvent.patch)6
-rw-r--r--patches/server/0162-PlayerPickupExperienceEvent.patch (renamed from patches/server/0163-PlayerPickupExperienceEvent.patch)0
-rw-r--r--patches/server/0163-Ability-to-apply-mending-to-XP-API.patch (renamed from patches/server/0164-Ability-to-apply-mending-to-XP-API.patch)4
-rw-r--r--patches/server/0164-PlayerNaturallySpawnCreaturesEvent.patch (renamed from patches/server/0165-PlayerNaturallySpawnCreaturesEvent.patch)4
-rw-r--r--patches/server/0165-Add-setPlayerProfile-API-for-Skulls.patch (renamed from patches/server/0166-Add-setPlayerProfile-API-for-Skulls.patch)0
-rw-r--r--patches/server/0166-PreCreatureSpawnEvent.patch (renamed from patches/server/0167-PreCreatureSpawnEvent.patch)0
-rw-r--r--patches/server/0167-Fill-Profile-Property-Events.patch (renamed from patches/server/0168-Fill-Profile-Property-Events.patch)0
-rw-r--r--patches/server/0168-Add-PlayerAdvancementCriterionGrantEvent.patch (renamed from patches/server/0169-Add-PlayerAdvancementCriterionGrantEvent.patch)0
-rw-r--r--patches/server/0169-Add-ArmorStand-Item-Meta.patch (renamed from patches/server/0170-Add-ArmorStand-Item-Meta.patch)0
-rw-r--r--patches/server/0170-Extend-Player-Interact-cancellation.patch (renamed from patches/server/0171-Extend-Player-Interact-cancellation.patch)0
-rw-r--r--patches/server/0171-Tameable-getOwnerUniqueId-API.patch (renamed from patches/server/0172-Tameable-getOwnerUniqueId-API.patch)0
-rw-r--r--patches/server/0172-Toggleable-player-crits.patch (renamed from patches/server/0173-Toggleable-player-crits.patch)4
-rw-r--r--patches/server/0173-Disable-Explicit-Network-Manager-Flushing.patch (renamed from patches/server/0174-Disable-Explicit-Network-Manager-Flushing.patch)0
-rw-r--r--patches/server/0174-Implement-extended-PaperServerListPingEvent.patch (renamed from patches/server/0175-Implement-extended-PaperServerListPingEvent.patch)0
-rw-r--r--patches/server/0175-Add-more-fields-to-AsyncPreLoginEvent.patch (renamed from patches/server/0176-Add-more-fields-to-AsyncPreLoginEvent.patch)0
-rw-r--r--patches/server/0176-Player.setPlayerProfile-API.patch (renamed from patches/server/0177-Player.setPlayerProfile-API.patch)16
-rw-r--r--patches/server/0177-getPlayerUniqueId-API.patch (renamed from patches/server/0178-getPlayerUniqueId-API.patch)4
-rw-r--r--patches/server/0178-Improved-Async-Task-Scheduler.patch (renamed from patches/server/0179-Improved-Async-Task-Scheduler.patch)0
-rw-r--r--patches/server/0179-Make-legacy-ping-handler-more-reliable.patch (renamed from patches/server/0180-Make-legacy-ping-handler-more-reliable.patch)0
-rw-r--r--patches/server/0180-Call-PaperServerListPingEvent-for-legacy-pings.patch (renamed from patches/server/0181-Call-PaperServerListPingEvent-for-legacy-pings.patch)0
-rw-r--r--patches/server/0181-Flag-to-disable-the-channel-limit.patch (renamed from patches/server/0182-Flag-to-disable-the-channel-limit.patch)6
-rw-r--r--patches/server/0182-Add-openSign-method-to-HumanEntity.patch (renamed from patches/server/0183-Add-openSign-method-to-HumanEntity.patch)0
-rw-r--r--patches/server/0183-Configurable-sprint-interruption-on-attack.patch (renamed from patches/server/0184-Configurable-sprint-interruption-on-attack.patch)4
-rw-r--r--patches/server/0184-EndermanEscapeEvent.patch (renamed from patches/server/0185-EndermanEscapeEvent.patch)0
-rw-r--r--patches/server/0185-Enderman.teleportRandomly.patch (renamed from patches/server/0186-Enderman.teleportRandomly.patch)0
-rw-r--r--patches/server/0186-Block-Enderpearl-Travel-Exploit.patch (renamed from patches/server/0187-Block-Enderpearl-Travel-Exploit.patch)2
-rw-r--r--patches/server/0187-Expand-World.spawnParticle-API-and-add-Builder.patch (renamed from patches/server/0188-Expand-World.spawnParticle-API-and-add-Builder.patch)6
-rw-r--r--patches/server/0188-Fix-exploit-that-allowed-colored-signs-to-be-created.patch (renamed from patches/server/0189-Fix-exploit-that-allowed-colored-signs-to-be-created.patch)0
-rw-r--r--patches/server/0189-EndermanAttackPlayerEvent.patch (renamed from patches/server/0190-EndermanAttackPlayerEvent.patch)0
-rw-r--r--patches/server/0190-WitchConsumePotionEvent.patch (renamed from patches/server/0191-WitchConsumePotionEvent.patch)0
-rw-r--r--patches/server/0191-WitchThrowPotionEvent.patch (renamed from patches/server/0192-WitchThrowPotionEvent.patch)0
-rw-r--r--patches/server/0192-WitchReadyPotionEvent.patch (renamed from patches/server/0193-WitchReadyPotionEvent.patch)4
-rw-r--r--patches/server/0193-ItemStack-getMaxItemUseDuration.patch (renamed from patches/server/0194-ItemStack-getMaxItemUseDuration.patch)2
-rw-r--r--patches/server/0194-Add-EntityTeleportEndGatewayEvent.patch (renamed from patches/server/0195-Add-EntityTeleportEndGatewayEvent.patch)0
-rw-r--r--patches/server/0195-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch (renamed from patches/server/0196-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch)0
-rw-r--r--patches/server/0196-Fix-CraftEntity-hashCode.patch (renamed from patches/server/0197-Fix-CraftEntity-hashCode.patch)0
-rw-r--r--patches/server/0197-Configurable-LootPool-luck-formula.patch (renamed from patches/server/0198-Configurable-LootPool-luck-formula.patch)0
-rw-r--r--patches/server/0198-Print-Error-details-when-failing-to-save-player-data.patch (renamed from patches/server/0199-Print-Error-details-when-failing-to-save-player-data.patch)2
-rw-r--r--patches/server/0199-Make-shield-blocking-delay-configurable.patch (renamed from patches/server/0200-Make-shield-blocking-delay-configurable.patch)8
-rw-r--r--patches/server/0200-Improve-EntityShootBowEvent.patch (renamed from patches/server/0201-Improve-EntityShootBowEvent.patch)0
-rw-r--r--patches/server/0201-PlayerReadyArrowEvent.patch (renamed from patches/server/0202-PlayerReadyArrowEvent.patch)4
-rw-r--r--patches/server/0202-Add-EntityKnockbackByEntityEvent-and-EntityPushedByE.patch (renamed from patches/server/0203-Add-EntityKnockbackByEntityEvent-and-EntityPushedByE.patch)108
-rw-r--r--patches/server/0203-Expand-Explosions-API.patch (renamed from patches/server/0204-Expand-Explosions-API.patch)4
-rw-r--r--patches/server/0204-LivingEntity-Hand-Raised-Item-Use-API.patch (renamed from patches/server/0205-LivingEntity-Hand-Raised-Item-Use-API.patch)4
-rw-r--r--patches/server/0205-RangedEntity-API.patch (renamed from patches/server/0206-RangedEntity-API.patch)0
-rw-r--r--patches/server/0206-Add-config-to-disable-ender-dragon-legacy-check.patch (renamed from patches/server/0207-Add-config-to-disable-ender-dragon-legacy-check.patch)2
-rw-r--r--patches/server/0207-Implement-World.getEntity-UUID-API.patch (renamed from patches/server/0208-Implement-World.getEntity-UUID-API.patch)4
-rw-r--r--patches/server/0208-InventoryCloseEvent-Reason-API.patch (renamed from patches/server/0209-InventoryCloseEvent-Reason-API.patch)20
-rw-r--r--patches/server/0209-Vex-get-setSummoner-API.patch (renamed from patches/server/0210-Vex-get-setSummoner-API.patch)0
-rw-r--r--patches/server/0210-Refresh-player-inventory-when-cancelling-PlayerInter.patch (renamed from patches/server/0211-Refresh-player-inventory-when-cancelling-PlayerInter.patch)2
-rw-r--r--patches/server/0211-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch (renamed from patches/server/0212-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch)0
-rw-r--r--patches/server/0212-add-more-information-to-Entity.toString.patch (renamed from patches/server/0213-add-more-information-to-Entity.toString.patch)4
-rw-r--r--patches/server/0213-EnderDragon-Events.patch (renamed from patches/server/0214-EnderDragon-Events.patch)0
-rw-r--r--patches/server/0214-PlayerElytraBoostEvent.patch (renamed from patches/server/0215-PlayerElytraBoostEvent.patch)0
-rw-r--r--patches/server/0215-PlayerLaunchProjectileEvent.patch (renamed from patches/server/0216-PlayerLaunchProjectileEvent.patch)0
-rw-r--r--patches/server/0216-Improve-BlockPosition-inlining.patch (renamed from patches/server/0217-Improve-BlockPosition-inlining.patch)0
-rw-r--r--patches/server/0217-Option-to-prevent-armor-stands-from-doing-entity-loo.patch (renamed from patches/server/0218-Option-to-prevent-armor-stands-from-doing-entity-loo.patch)0
-rw-r--r--patches/server/0218-Vanished-players-don-t-have-rights.patch (renamed from patches/server/0219-Vanished-players-don-t-have-rights.patch)4
-rw-r--r--patches/server/0219-Allow-disabling-armor-stand-ticking.patch (renamed from patches/server/0220-Allow-disabling-armor-stand-ticking.patch)0
-rw-r--r--patches/server/0220-SkeletonHorse-Additions.patch (renamed from patches/server/0221-SkeletonHorse-Additions.patch)0
-rw-r--r--patches/server/0221-Don-t-call-getItemMeta-on-hasItemMeta.patch (renamed from patches/server/0222-Don-t-call-getItemMeta-on-hasItemMeta.patch)0
-rw-r--r--patches/server/0222-Expand-ArmorStand-API.patch (renamed from patches/server/0223-Expand-ArmorStand-API.patch)0
-rw-r--r--patches/server/0223-AnvilDamageEvent.patch (renamed from patches/server/0224-AnvilDamageEvent.patch)0
-rw-r--r--patches/server/0224-Add-TNTPrimeEvent.patch (renamed from patches/server/0225-Add-TNTPrimeEvent.patch)0
-rw-r--r--patches/server/0225-Break-up-and-make-tab-spam-limits-configurable.patch (renamed from patches/server/0226-Break-up-and-make-tab-spam-limits-configurable.patch)2
-rw-r--r--patches/server/0226-Fix-NBT-type-issues.patch (renamed from patches/server/0227-Fix-NBT-type-issues.patch)0
-rw-r--r--patches/server/0227-Remove-unnecessary-itemmeta-handling.patch (renamed from patches/server/0228-Remove-unnecessary-itemmeta-handling.patch)0
-rw-r--r--patches/server/0228-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch (renamed from patches/server/0229-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch)4
-rw-r--r--patches/server/0229-Add-Early-Warning-Feature-to-WatchDog.patch (renamed from patches/server/0230-Add-Early-Warning-Feature-to-WatchDog.patch)10
-rw-r--r--patches/server/0230-Use-ConcurrentHashMap-in-JsonList.patch (renamed from patches/server/0231-Use-ConcurrentHashMap-in-JsonList.patch)0
-rw-r--r--patches/server/0231-Use-a-Queue-for-Queueing-Commands.patch (renamed from patches/server/0232-Use-a-Queue-for-Queueing-Commands.patch)2
-rw-r--r--patches/server/0232-Ability-to-get-block-entities-from-a-chunk-without-s.patch (renamed from patches/server/0233-Ability-to-get-block-entities-from-a-chunk-without-s.patch)6
-rw-r--r--patches/server/0233-Optimize-BlockPosition-helper-methods.patch (renamed from patches/server/0234-Optimize-BlockPosition-helper-methods.patch)0
-rw-r--r--patches/server/0234-Restore-vanilla-default-mob-spawn-range-and-water-an.patch (renamed from patches/server/0235-Restore-vanilla-default-mob-spawn-range-and-water-an.patch)0
-rw-r--r--patches/server/0235-Slime-Pathfinder-Events.patch (renamed from patches/server/0236-Slime-Pathfinder-Events.patch)0
-rw-r--r--patches/server/0236-Configurable-speed-for-water-flowing-over-lava.patch (renamed from patches/server/0237-Configurable-speed-for-water-flowing-over-lava.patch)0
-rw-r--r--patches/server/0237-Optimize-CraftBlockData-Creation.patch (renamed from patches/server/0238-Optimize-CraftBlockData-Creation.patch)2
-rw-r--r--patches/server/0238-Optimize-MappedRegistry.patch (renamed from patches/server/0239-Optimize-MappedRegistry.patch)0
-rw-r--r--patches/server/0239-Add-PhantomPreSpawnEvent.patch (renamed from patches/server/0240-Add-PhantomPreSpawnEvent.patch)0
-rw-r--r--patches/server/0240-Add-More-Creeper-API.patch (renamed from patches/server/0241-Add-More-Creeper-API.patch)0
-rw-r--r--patches/server/0241-Inventory-removeItemAnySlot.patch (renamed from patches/server/0242-Inventory-removeItemAnySlot.patch)0
-rw-r--r--patches/server/0242-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch (renamed from patches/server/0243-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch)4
-rw-r--r--patches/server/0243-Add-ray-tracing-methods-to-LivingEntity.patch (renamed from patches/server/0244-Add-ray-tracing-methods-to-LivingEntity.patch)8
-rw-r--r--patches/server/0244-Expose-attack-cooldown-methods-for-Player.patch (renamed from patches/server/0245-Expose-attack-cooldown-methods-for-Player.patch)4
-rw-r--r--patches/server/0245-Improve-death-events.patch (renamed from patches/server/0246-Improve-death-events.patch)26
-rw-r--r--patches/server/0246-Allow-chests-to-be-placed-with-NBT-data.patch (renamed from patches/server/0247-Allow-chests-to-be-placed-with-NBT-data.patch)4
-rw-r--r--patches/server/0247-Mob-Pathfinding-API.patch (renamed from patches/server/0248-Mob-Pathfinding-API.patch)0
-rw-r--r--patches/server/0248-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch (renamed from patches/server/0249-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch)0
-rw-r--r--patches/server/0249-Prevent-various-interactions-from-causing-chunk-load.patch (renamed from patches/server/0250-Prevent-various-interactions-from-causing-chunk-load.patch)0
-rw-r--r--patches/server/0250-Prevent-mob-spawning-from-loading-generating-chunks.patch (renamed from patches/server/0251-Prevent-mob-spawning-from-loading-generating-chunks.patch)2
-rw-r--r--patches/server/0251-Implement-furnace-cook-speed-multiplier-API.patch (renamed from patches/server/0252-Implement-furnace-cook-speed-multiplier-API.patch)0
-rw-r--r--patches/server/0252-Honor-EntityAgeable.ageLock.patch (renamed from patches/server/0253-Honor-EntityAgeable.ageLock.patch)0
-rw-r--r--patches/server/0253-Configurable-connection-throttle-kick-message.patch (renamed from patches/server/0254-Configurable-connection-throttle-kick-message.patch)0
-rw-r--r--patches/server/0254-Prevent-chunk-loading-from-Fluid-Flowing.patch (renamed from patches/server/0255-Prevent-chunk-loading-from-Fluid-Flowing.patch)0
-rw-r--r--patches/server/0255-Hook-into-CB-plugin-rewrites.patch (renamed from patches/server/0256-Hook-into-CB-plugin-rewrites.patch)0
-rw-r--r--patches/server/0256-PreSpawnerSpawnEvent.patch (renamed from patches/server/0257-PreSpawnerSpawnEvent.patch)0
-rw-r--r--patches/server/0257-Add-LivingEntity-getTargetEntity.patch (renamed from patches/server/0258-Add-LivingEntity-getTargetEntity.patch)8
-rw-r--r--patches/server/0258-Add-sun-related-API.patch (renamed from patches/server/0259-Add-sun-related-API.patch)4
-rw-r--r--patches/server/0259-Catch-JsonParseException-in-entity-and-block-entity-.patch (renamed from patches/server/0260-Catch-JsonParseException-in-entity-and-block-entity-.patch)0
-rw-r--r--patches/server/0260-Turtle-API.patch (renamed from patches/server/0261-Turtle-API.patch)6
-rw-r--r--patches/server/0261-Call-player-spectator-target-events-and-improve-impl.patch (renamed from patches/server/0262-Call-player-spectator-target-events-and-improve-impl.patch)2
-rw-r--r--patches/server/0262-Add-more-Witch-API.patch (renamed from patches/server/0263-Add-more-Witch-API.patch)0
-rw-r--r--patches/server/0263-Check-Drowned-for-Villager-Aggression-Config.patch (renamed from patches/server/0264-Check-Drowned-for-Villager-Aggression-Config.patch)0
-rw-r--r--patches/server/0264-Add-option-to-prevent-players-from-moving-into-unloa.patch (renamed from patches/server/0265-Add-option-to-prevent-players-from-moving-into-unloa.patch)2
-rw-r--r--patches/server/0265-Reset-players-airTicks-on-respawn.patch (renamed from patches/server/0266-Reset-players-airTicks-on-respawn.patch)2
-rw-r--r--patches/server/0266-Don-t-sleep-after-profile-lookups-if-not-needed.patch (renamed from patches/server/0267-Don-t-sleep-after-profile-lookups-if-not-needed.patch)0
-rw-r--r--patches/server/0267-Improve-Server-Thread-Pool-and-Thread-Priorities.patch (renamed from patches/server/0268-Improve-Server-Thread-Pool-and-Thread-Priorities.patch)2
-rw-r--r--patches/server/0268-Optimize-World-Time-Updates.patch (renamed from patches/server/0269-Optimize-World-Time-Updates.patch)2
-rw-r--r--patches/server/0269-Restore-custom-InventoryHolder-support.patch (renamed from patches/server/0270-Restore-custom-InventoryHolder-support.patch)0
-rw-r--r--patches/server/0270-Fix-SpongeAbsortEvent-handling.patch (renamed from patches/server/0271-Fix-SpongeAbsortEvent-handling.patch)0
-rw-r--r--patches/server/0271-Don-t-allow-digging-into-unloaded-chunks.patch (renamed from patches/server/0272-Don-t-allow-digging-into-unloaded-chunks.patch)2
-rw-r--r--patches/server/0272-Make-the-default-permission-message-configurable.patch (renamed from patches/server/0273-Make-the-default-permission-message-configurable.patch)4
-rw-r--r--patches/server/0273-Handle-Large-Packets-disconnecting-client.patch (renamed from patches/server/0274-Handle-Large-Packets-disconnecting-client.patch)0
-rw-r--r--patches/server/0274-force-entity-dismount-during-teleportation.patch (renamed from patches/server/0275-force-entity-dismount-during-teleportation.patch)18
-rw-r--r--patches/server/0275-Add-more-Zombie-API.patch (renamed from patches/server/0276-Add-more-Zombie-API.patch)0
-rw-r--r--patches/server/0276-Book-Size-Limits.patch (renamed from patches/server/0277-Book-Size-Limits.patch)2
-rw-r--r--patches/server/0277-Add-PlayerConnectionCloseEvent.patch (renamed from patches/server/0278-Add-PlayerConnectionCloseEvent.patch)0
-rw-r--r--patches/server/0278-Replace-OfflinePlayer-getLastPlayed.patch (renamed from patches/server/0279-Replace-OfflinePlayer-getLastPlayed.patch)12
-rw-r--r--patches/server/0279-Workaround-for-vehicle-tracking-issue-on-disconnect.patch (renamed from patches/server/0280-Workaround-for-vehicle-tracking-issue-on-disconnect.patch)2
-rw-r--r--patches/server/0280-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch (renamed from patches/server/0281-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch)4
-rw-r--r--patches/server/0281-BlockDestroyEvent.patch (renamed from patches/server/0282-BlockDestroyEvent.patch)0
-rw-r--r--patches/server/0282-Async-command-map-building.patch (renamed from patches/server/0283-Async-command-map-building.patch)2
-rw-r--r--patches/server/0283-Brigadier-Mojang-API.patch (renamed from patches/server/0284-Brigadier-Mojang-API.patch)2
-rw-r--r--patches/server/0284-Improve-exact-choice-recipe-ingredients.patch (renamed from patches/server/0285-Improve-exact-choice-recipe-ingredients.patch)0
-rw-r--r--patches/server/0285-Limit-Client-Sign-length-more.patch (renamed from patches/server/0286-Limit-Client-Sign-length-more.patch)2
-rw-r--r--patches/server/0286-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch (renamed from patches/server/0287-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch)0
-rw-r--r--patches/server/0287-Entity-getEntitySpawnReason.patch (renamed from patches/server/0288-Entity-getEntitySpawnReason.patch)4
-rw-r--r--patches/server/0288-Fire-event-on-GS4-query.patch (renamed from patches/server/0289-Fire-event-on-GS4-query.patch)0
-rw-r--r--patches/server/0289-Add-PlayerPostRespawnEvent.patch (renamed from patches/server/0290-Add-PlayerPostRespawnEvent.patch)0
-rw-r--r--patches/server/0290-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch (renamed from patches/server/0291-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch)0
-rw-r--r--patches/server/0291-Server-Tick-Events.patch (renamed from patches/server/0292-Server-Tick-Events.patch)2
-rw-r--r--patches/server/0292-PlayerDeathEvent-getItemsToKeep.patch (renamed from patches/server/0293-PlayerDeathEvent-getItemsToKeep.patch)2
-rw-r--r--patches/server/0293-Optimize-Captured-BlockEntity-Lookup.patch (renamed from patches/server/0294-Optimize-Captured-BlockEntity-Lookup.patch)0
-rw-r--r--patches/server/0294-Add-Heightmap-API.patch (renamed from patches/server/0295-Add-Heightmap-API.patch)4
-rw-r--r--patches/server/0295-Mob-Spawner-API-Enhancements.patch (renamed from patches/server/0296-Mob-Spawner-API-Enhancements.patch)0
-rw-r--r--patches/server/0296-Fix-CB-call-to-changed-postToMainThread-method.patch (renamed from patches/server/0297-Fix-CB-call-to-changed-postToMainThread-method.patch)0
-rw-r--r--patches/server/0297-Fix-sounds-when-item-frames-are-modified-MC-123450.patch (renamed from patches/server/0298-Fix-sounds-when-item-frames-are-modified-MC-123450.patch)0
-rw-r--r--patches/server/0298-Implement-CraftBlockSoundGroup.patch (renamed from patches/server/0299-Implement-CraftBlockSoundGroup.patch)0
-rw-r--r--patches/server/0299-Configurable-Keep-Spawn-Loaded-range-per-world.patch (renamed from patches/server/0300-Configurable-Keep-Spawn-Loaded-range-per-world.patch)6
-rw-r--r--patches/server/0300-Expose-the-internal-current-tick.patch (renamed from patches/server/0301-Expose-the-internal-current-tick.patch)4
-rw-r--r--patches/server/0301-Show-blockstate-location-if-we-failed-to-read-it.patch (renamed from patches/server/0302-Show-blockstate-location-if-we-failed-to-read-it.patch)0
-rw-r--r--patches/server/0302-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch (renamed from patches/server/0303-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch)2
-rw-r--r--patches/server/0303-Configurable-projectile-relative-velocity.patch (renamed from patches/server/0304-Configurable-projectile-relative-velocity.patch)0
-rw-r--r--patches/server/0304-offset-item-frame-ticking.patch (renamed from patches/server/0305-offset-item-frame-ticking.patch)0
-rw-r--r--patches/server/0305-Prevent-consuming-the-wrong-itemstack.patch (renamed from patches/server/0306-Prevent-consuming-the-wrong-itemstack.patch)8
-rw-r--r--patches/server/0306-Dont-send-unnecessary-sign-update.patch (renamed from patches/server/0307-Dont-send-unnecessary-sign-update.patch)0
-rw-r--r--patches/server/0307-Add-option-to-disable-pillager-patrols.patch (renamed from patches/server/0308-Add-option-to-disable-pillager-patrols.patch)0
-rw-r--r--patches/server/0308-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch (renamed from patches/server/0309-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch)0
-rw-r--r--patches/server/0309-MC-145656-Fix-Follow-Range-Initial-Target.patch (renamed from patches/server/0310-MC-145656-Fix-Follow-Range-Initial-Target.patch)0
-rw-r--r--patches/server/0310-Duplicate-UUID-Resolve-Option.patch (renamed from patches/server/0311-Duplicate-UUID-Resolve-Option.patch)2
-rw-r--r--patches/server/0311-PlayerDeathEvent-shouldDropExperience.patch (renamed from patches/server/0312-PlayerDeathEvent-shouldDropExperience.patch)2
-rw-r--r--patches/server/0312-Prevent-bees-loading-chunks-checking-hive-position.patch (renamed from patches/server/0313-Prevent-bees-loading-chunks-checking-hive-position.patch)0
-rw-r--r--patches/server/0313-Don-t-load-Chunks-from-Hoppers-and-other-things.patch (renamed from patches/server/0314-Don-t-load-Chunks-from-Hoppers-and-other-things.patch)0
-rw-r--r--patches/server/0314-Optimise-EntityGetter-getPlayerByUUID.patch (renamed from patches/server/0315-Optimise-EntityGetter-getPlayerByUUID.patch)2
-rw-r--r--patches/server/0315-Fix-items-not-falling-correctly.patch (renamed from patches/server/0316-Fix-items-not-falling-correctly.patch)0
-rw-r--r--patches/server/0316-Optimize-call-to-getFluid-for-explosions.patch (renamed from patches/server/0317-Optimize-call-to-getFluid-for-explosions.patch)2
-rw-r--r--patches/server/0317-Fix-last-firework-in-stack-not-having-effects-when-d.patch (renamed from patches/server/0318-Fix-last-firework-in-stack-not-having-effects-when-d.patch)0
-rw-r--r--patches/server/0318-Guard-against-serializing-mismatching-chunk-coordina.patch (renamed from patches/server/0319-Guard-against-serializing-mismatching-chunk-coordina.patch)2
-rw-r--r--patches/server/0319-Alternative-item-despawn-rate.patch (renamed from patches/server/0320-Alternative-item-despawn-rate.patch)0
-rw-r--r--patches/server/0320-Tracking-Range-Improvements.patch (renamed from patches/server/0321-Tracking-Range-Improvements.patch)2
-rw-r--r--patches/server/0321-Fix-items-vanishing-through-end-portal.patch (renamed from patches/server/0322-Fix-items-vanishing-through-end-portal.patch)4
-rw-r--r--patches/server/0322-Bees-get-gravity-in-void.-Fixes-MC-167279.patch (renamed from patches/server/0323-Bees-get-gravity-in-void.-Fixes-MC-167279.patch)0
-rw-r--r--patches/server/0323-Improve-Block-breakNaturally-API.patch (renamed from patches/server/0324-Improve-Block-breakNaturally-API.patch)0
-rw-r--r--patches/server/0324-Optimise-getChunkAt-calls-for-loaded-chunks.patch (renamed from patches/server/0325-Optimise-getChunkAt-calls-for-loaded-chunks.patch)0
-rw-r--r--patches/server/0325-Add-debug-for-sync-chunk-loads.patch (renamed from patches/server/0326-Add-debug-for-sync-chunk-loads.patch)0
-rw-r--r--patches/server/0326-Improve-java-version-check.patch (renamed from patches/server/0327-Improve-java-version-check.patch)0
-rw-r--r--patches/server/0327-Add-ThrownEggHatchEvent.patch (renamed from patches/server/0328-Add-ThrownEggHatchEvent.patch)0
-rw-r--r--patches/server/0328-Entity-Jump-API.patch (renamed from patches/server/0329-Entity-Jump-API.patch)8
-rw-r--r--patches/server/0329-Add-option-to-nerf-pigmen-from-nether-portals.patch (renamed from patches/server/0330-Add-option-to-nerf-pigmen-from-nether-portals.patch)6
-rw-r--r--patches/server/0330-Make-the-GUI-graph-fancier.patch (renamed from patches/server/0331-Make-the-GUI-graph-fancier.patch)0
-rw-r--r--patches/server/0331-add-hand-to-BlockMultiPlaceEvent.patch (renamed from patches/server/0332-add-hand-to-BlockMultiPlaceEvent.patch)2
-rw-r--r--patches/server/0332-Validate-tripwire-hook-placement-before-update.patch (renamed from patches/server/0333-Validate-tripwire-hook-placement-before-update.patch)0
-rw-r--r--patches/server/0333-Add-option-to-allow-iron-golems-to-spawn-in-air.patch (renamed from patches/server/0334-Add-option-to-allow-iron-golems-to-spawn-in-air.patch)0
-rw-r--r--patches/server/0334-Configurable-chance-of-villager-zombie-infection.patch (renamed from patches/server/0335-Configurable-chance-of-villager-zombie-infection.patch)0
-rw-r--r--patches/server/0335-Optimise-Chunk-getFluid.patch (renamed from patches/server/0336-Optimise-Chunk-getFluid.patch)0
-rw-r--r--patches/server/0336-Set-spigots-verbose-world-setting-to-false-by-def.patch (renamed from patches/server/0337-Set-spigots-verbose-world-setting-to-false-by-def.patch)0
-rw-r--r--patches/server/0337-Add-tick-times-API-and-mspt-command.patch (renamed from patches/server/0338-Add-tick-times-API-and-mspt-command.patch)6
-rw-r--r--patches/server/0338-Expose-MinecraftServer-isRunning.patch (renamed from patches/server/0339-Expose-MinecraftServer-isRunning.patch)4
-rw-r--r--patches/server/0339-Add-Raw-Byte-ItemStack-Serialization.patch (renamed from patches/server/0340-Add-Raw-Byte-ItemStack-Serialization.patch)4
-rw-r--r--patches/server/0340-Pillager-patrol-spawn-settings-and-per-player-option.patch (renamed from patches/server/0341-Pillager-patrol-spawn-settings-and-per-player-option.patch)2
-rw-r--r--patches/server/0341-Remote-Connections-shouldn-t-hold-up-shutdown.patch (renamed from patches/server/0342-Remote-Connections-shouldn-t-hold-up-shutdown.patch)2
-rw-r--r--patches/server/0342-Do-not-allow-bees-to-load-chunks-for-beehives.patch (renamed from patches/server/0343-Do-not-allow-bees-to-load-chunks-for-beehives.patch)0
-rw-r--r--patches/server/0343-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch (renamed from patches/server/0344-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch)2
-rw-r--r--patches/server/0344-Don-t-tick-dead-players.patch (renamed from patches/server/0345-Don-t-tick-dead-players.patch)2
-rw-r--r--patches/server/0345-Dead-Player-s-shouldn-t-be-able-to-move.patch (renamed from patches/server/0346-Dead-Player-s-shouldn-t-be-able-to-move.patch)4
-rw-r--r--patches/server/0346-Don-t-move-existing-players-to-world-spawn.patch (renamed from patches/server/0347-Don-t-move-existing-players-to-world-spawn.patch)2
-rw-r--r--patches/server/0347-Optimize-Pathfinding.patch (renamed from patches/server/0348-Optimize-Pathfinding.patch)0
-rw-r--r--patches/server/0348-Reduce-Either-Optional-allocation.patch (renamed from patches/server/0349-Reduce-Either-Optional-allocation.patch)0
-rw-r--r--patches/server/0349-Reduce-memory-footprint-of-CompoundTag.patch (renamed from patches/server/0350-Reduce-memory-footprint-of-CompoundTag.patch)0
-rw-r--r--patches/server/0350-Prevent-opening-inventories-when-frozen.patch (renamed from patches/server/0351-Prevent-opening-inventories-when-frozen.patch)2
-rw-r--r--patches/server/0351-Don-t-run-entity-collision-code-if-not-needed.patch (renamed from patches/server/0352-Don-t-run-entity-collision-code-if-not-needed.patch)4
-rw-r--r--patches/server/0352-Implement-Player-Client-Options-API.patch (renamed from patches/server/0353-Implement-Player-Client-Options-API.patch)4
-rw-r--r--patches/server/0353-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch (renamed from patches/server/0354-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch)2
-rw-r--r--patches/server/0354-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch (renamed from patches/server/0355-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch)4
-rw-r--r--patches/server/0355-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch (renamed from patches/server/0356-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch)4
-rw-r--r--patches/server/0356-Add-PlayerAttackEntityCooldownResetEvent.patch (renamed from patches/server/0357-Add-PlayerAttackEntityCooldownResetEvent.patch)4
-rw-r--r--patches/server/0357-Don-t-fire-BlockFade-on-worldgen-threads.patch (renamed from patches/server/0358-Don-t-fire-BlockFade-on-worldgen-threads.patch)2
-rw-r--r--patches/server/0358-Add-phantom-creative-and-insomniac-controls.patch (renamed from patches/server/0359-Add-phantom-creative-and-insomniac-controls.patch)0
-rw-r--r--patches/server/0359-Fix-item-duplication-and-teleport-issues.patch (renamed from patches/server/0360-Fix-item-duplication-and-teleport-issues.patch)20
-rw-r--r--patches/server/0360-Villager-Restocks-API.patch (renamed from patches/server/0361-Villager-Restocks-API.patch)0
-rw-r--r--patches/server/0361-Validate-PickItem-Packet-and-kick-for-invalid.patch (renamed from patches/server/0362-Validate-PickItem-Packet-and-kick-for-invalid.patch)2
-rw-r--r--patches/server/0362-Expose-game-version.patch (renamed from patches/server/0363-Expose-game-version.patch)4
-rw-r--r--patches/server/0363-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch (renamed from patches/server/0364-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch)0
-rw-r--r--patches/server/0364-misc-debugging-dumps.patch (renamed from patches/server/0365-misc-debugging-dumps.patch)6
-rw-r--r--patches/server/0365-Prevent-teleporting-dead-entities.patch (renamed from patches/server/0366-Prevent-teleporting-dead-entities.patch)2
-rw-r--r--patches/server/0366-Deobfuscate-stacktraces-in-log-messages-crash-report.patch (renamed from patches/server/0367-Deobfuscate-stacktraces-in-log-messages-crash-report.patch)2
-rw-r--r--patches/server/0367-Implement-Mob-Goal-API.patch (renamed from patches/server/0368-Implement-Mob-Goal-API.patch)4
-rw-r--r--patches/server/0368-Add-villager-reputation-API.patch (renamed from patches/server/0369-Add-villager-reputation-API.patch)0
-rw-r--r--patches/server/0369-Option-for-maximum-exp-value-when-merging-orbs.patch (renamed from patches/server/0370-Option-for-maximum-exp-value-when-merging-orbs.patch)2
-rw-r--r--patches/server/0370-ExperienceOrbMergeEvent.patch (renamed from patches/server/0371-ExperienceOrbMergeEvent.patch)2
-rw-r--r--patches/server/0371-Fix-PotionEffect-ignores-icon-flag.patch (renamed from patches/server/0372-Fix-PotionEffect-ignores-icon-flag.patch)8
-rw-r--r--patches/server/0372-Potential-bed-API.patch (renamed from patches/server/0373-Potential-bed-API.patch)0
-rw-r--r--patches/server/0373-Wait-for-Async-Tasks-during-shutdown.patch (renamed from patches/server/0374-Wait-for-Async-Tasks-during-shutdown.patch)6
-rw-r--r--patches/server/0374-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch (renamed from patches/server/0375-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch)0
-rw-r--r--patches/server/0375-Ensure-safe-gateway-teleport.patch (renamed from patches/server/0376-Ensure-safe-gateway-teleport.patch)0
-rw-r--r--patches/server/0376-Add-option-for-console-having-all-permissions.patch (renamed from patches/server/0377-Add-option-for-console-having-all-permissions.patch)0
-rw-r--r--patches/server/0377-Fix-villager-trading-demand-MC-163962.patch (renamed from patches/server/0378-Fix-villager-trading-demand-MC-163962.patch)0
-rw-r--r--patches/server/0378-Maps-shouldn-t-load-chunks.patch (renamed from patches/server/0379-Maps-shouldn-t-load-chunks.patch)0
-rw-r--r--patches/server/0379-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch (renamed from patches/server/0380-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch)0
-rw-r--r--patches/server/0380-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch (renamed from patches/server/0381-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch)0
-rw-r--r--patches/server/0381-Fix-piston-physics-inconsistency-MC-188840.patch (renamed from patches/server/0382-Fix-piston-physics-inconsistency-MC-188840.patch)0
-rw-r--r--patches/server/0382-Fix-sand-duping.patch (renamed from patches/server/0383-Fix-sand-duping.patch)2
-rw-r--r--patches/server/0383-Fix-missing-chunks-due-to-integer-overflow.patch (renamed from patches/server/0384-Fix-missing-chunks-due-to-integer-overflow.patch)0
-rw-r--r--patches/server/0384-Prevent-position-desync-causing-tp-exploit.patch (renamed from patches/server/0385-Prevent-position-desync-causing-tp-exploit.patch)2
-rw-r--r--patches/server/0385-Inventory-getHolder-method-without-block-snapshot.patch (renamed from patches/server/0386-Inventory-getHolder-method-without-block-snapshot.patch)0
-rw-r--r--patches/server/0386-Improve-Arrow-API.patch (renamed from patches/server/0387-Improve-Arrow-API.patch)0
-rw-r--r--patches/server/0387-Add-PlayerRecipeBookClickEvent.patch (renamed from patches/server/0388-Add-PlayerRecipeBookClickEvent.patch)2
-rw-r--r--patches/server/0388-Hide-sync-chunk-writes-behind-flag.patch (renamed from patches/server/0389-Hide-sync-chunk-writes-behind-flag.patch)0
-rw-r--r--patches/server/0389-Add-permission-for-command-blocks.patch (renamed from patches/server/0390-Add-permission-for-command-blocks.patch)2
-rw-r--r--patches/server/0390-Ensure-Entity-position-and-AABB-are-never-invalid.patch (renamed from patches/server/0391-Ensure-Entity-position-and-AABB-are-never-invalid.patch)6
-rw-r--r--patches/server/0391-Fix-Per-World-Difficulty-Remembering-Difficulty.patch (renamed from patches/server/0392-Fix-Per-World-Difficulty-Remembering-Difficulty.patch)14
-rw-r--r--patches/server/0392-Paper-dumpitem-command.patch (renamed from patches/server/0393-Paper-dumpitem-command.patch)0
-rw-r--r--patches/server/0393-Improve-Legacy-Component-serialization-size.patch (renamed from patches/server/0394-Improve-Legacy-Component-serialization-size.patch)0
-rw-r--r--patches/server/0394-Add-Plugin-Tickets-to-API-Chunk-Methods.patch (renamed from patches/server/0395-Add-Plugin-Tickets-to-API-Chunk-Methods.patch)18
-rw-r--r--patches/server/0395-Add-BlockStateMeta-clearBlockState.patch (renamed from patches/server/0396-Add-BlockStateMeta-clearBlockState.patch)0
-rw-r--r--patches/server/0396-Support-old-UUID-format-for-NBT.patch (renamed from patches/server/0397-Support-old-UUID-format-for-NBT.patch)0
-rw-r--r--patches/server/0397-Convert-legacy-attributes-in-Item-Meta.patch (renamed from patches/server/0398-Convert-legacy-attributes-in-Item-Meta.patch)2
-rw-r--r--patches/server/0398-Do-not-accept-invalid-client-settings.patch (renamed from patches/server/0399-Do-not-accept-invalid-client-settings.patch)2
-rw-r--r--patches/server/0399-Improve-fix-EntityTargetLivingEntityEvent.patch (renamed from patches/server/0400-Improve-fix-EntityTargetLivingEntityEvent.patch)0
-rw-r--r--patches/server/0400-Add-entity-liquid-API.patch (renamed from patches/server/0401-Add-entity-liquid-API.patch)0
-rw-r--r--patches/server/0401-Update-itemstack-legacy-name-and-lore.patch (renamed from patches/server/0402-Update-itemstack-legacy-name-and-lore.patch)6
-rw-r--r--patches/server/0402-Add-PrepareResultEvent.patch (renamed from patches/server/0403-Add-PrepareResultEvent.patch)8
-rw-r--r--patches/server/0403-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch (renamed from patches/server/0404-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch)4
-rw-r--r--patches/server/0404-Fix-arrows-never-despawning-MC-125757.patch (renamed from patches/server/0405-Fix-arrows-never-despawning-MC-125757.patch)0
-rw-r--r--patches/server/0405-Thread-Safe-Vanilla-Command-permission-checking.patch (renamed from patches/server/0406-Thread-Safe-Vanilla-Command-permission-checking.patch)0
-rw-r--r--patches/server/0406-Fix-SPIGOT-5989.patch (renamed from patches/server/0407-Fix-SPIGOT-5989.patch)0
-rw-r--r--patches/server/0407-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch (renamed from patches/server/0408-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch)0
-rw-r--r--patches/server/0408-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch (renamed from patches/server/0409-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch)0
-rw-r--r--patches/server/0409-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch (renamed from patches/server/0410-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch)0
-rw-r--r--patches/server/0410-Optimize-NetworkManager-Exception-Handling.patch (renamed from patches/server/0411-Optimize-NetworkManager-Exception-Handling.patch)0
-rw-r--r--patches/server/0411-Fix-some-rails-connecting-improperly.patch (renamed from patches/server/0412-Fix-some-rails-connecting-improperly.patch)0
-rw-r--r--patches/server/0412-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch (renamed from patches/server/0413-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch)0
-rw-r--r--patches/server/0413-Brand-support.patch (renamed from patches/server/0414-Brand-support.patch)6
-rw-r--r--patches/server/0414-Add-playPickupItemAnimation-to-LivingEntity.patch (renamed from patches/server/0415-Add-playPickupItemAnimation-to-LivingEntity.patch)4
-rw-r--r--patches/server/0415-Don-t-require-FACING-data.patch (renamed from patches/server/0416-Don-t-require-FACING-data.patch)0
-rw-r--r--patches/server/0416-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch (renamed from patches/server/0417-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch)4
-rw-r--r--patches/server/0417-Add-moon-phase-API.patch (renamed from patches/server/0418-Add-moon-phase-API.patch)0
-rw-r--r--patches/server/0418-Do-not-let-the-server-load-chunks-from-newer-version.patch (renamed from patches/server/0419-Do-not-let-the-server-load-chunks-from-newer-version.patch)2
-rw-r--r--patches/server/0419-Prevent-headless-pistons-from-being-created.patch (renamed from patches/server/0420-Prevent-headless-pistons-from-being-created.patch)2
-rw-r--r--patches/server/0420-Add-BellRingEvent.patch (renamed from patches/server/0421-Add-BellRingEvent.patch)2
-rw-r--r--patches/server/0421-Add-zombie-targets-turtle-egg-config.patch (renamed from patches/server/0422-Add-zombie-targets-turtle-egg-config.patch)0
-rw-r--r--patches/server/0422-Buffer-joins-to-world.patch (renamed from patches/server/0423-Buffer-joins-to-world.patch)2
-rw-r--r--patches/server/0423-Fix-hex-colors-not-working-in-some-kick-messages.patch (renamed from patches/server/0424-Fix-hex-colors-not-working-in-some-kick-messages.patch)2
-rw-r--r--patches/server/0424-PortalCreateEvent-needs-to-know-its-entity.patch (renamed from patches/server/0425-PortalCreateEvent-needs-to-know-its-entity.patch)4
-rw-r--r--patches/server/0425-Add-more-Evoker-API.patch (renamed from patches/server/0426-Add-more-Evoker-API.patch)0
-rw-r--r--patches/server/0426-Add-methods-to-get-translation-keys.patch (renamed from patches/server/0427-Add-methods-to-get-translation-keys.patch)0
-rw-r--r--patches/server/0427-Create-HoverEvent-from-ItemStack-Entity.patch (renamed from patches/server/0428-Create-HoverEvent-from-ItemStack-Entity.patch)0
-rw-r--r--patches/server/0428-Cache-block-data-strings.patch (renamed from patches/server/0429-Cache-block-data-strings.patch)4
-rw-r--r--patches/server/0429-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch (renamed from patches/server/0430-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch)6
-rw-r--r--patches/server/0430-Add-additional-open-container-api-to-HumanEntity.patch (renamed from patches/server/0431-Add-additional-open-container-api-to-HumanEntity.patch)0
-rw-r--r--patches/server/0431-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch (renamed from patches/server/0432-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch)0
-rw-r--r--patches/server/0432-Extend-block-drop-capture-to-capture-all-items-added.patch (renamed from patches/server/0433-Extend-block-drop-capture-to-capture-all-items-added.patch)2
-rw-r--r--patches/server/0433-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch (renamed from patches/server/0434-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch)8
-rw-r--r--patches/server/0434-Lazily-track-plugin-scoreboards-by-default.patch (renamed from patches/server/0435-Lazily-track-plugin-scoreboards-by-default.patch)0
-rw-r--r--patches/server/0435-Entity-isTicking.patch (renamed from patches/server/0436-Entity-isTicking.patch)4
-rw-r--r--patches/server/0436-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch (renamed from patches/server/0437-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch)2
-rw-r--r--patches/server/0437-Fix-Concurrency-issue-in-ShufflingList.patch (renamed from patches/server/0438-Fix-Concurrency-issue-in-ShufflingList.patch)0
-rw-r--r--patches/server/0438-Reset-Ender-Crystals-on-Dragon-Spawn.patch (renamed from patches/server/0439-Reset-Ender-Crystals-on-Dragon-Spawn.patch)2
-rw-r--r--patches/server/0439-Fix-for-large-move-vectors-crashing-server.patch (renamed from patches/server/0440-Fix-for-large-move-vectors-crashing-server.patch)2
-rw-r--r--patches/server/0440-Optimise-getType-calls.patch (renamed from patches/server/0441-Optimise-getType-calls.patch)2
-rw-r--r--patches/server/0441-Villager-resetOffers.patch (renamed from patches/server/0442-Villager-resetOffers.patch)0
-rw-r--r--patches/server/0442-Retain-block-place-order-when-capturing-blockstates.patch (renamed from patches/server/0443-Retain-block-place-order-when-capturing-blockstates.patch)0
-rw-r--r--patches/server/0443-Reduce-blockpos-allocation-from-pathfinding.patch (renamed from patches/server/0444-Reduce-blockpos-allocation-from-pathfinding.patch)0
-rw-r--r--patches/server/0444-Fix-item-locations-dropped-from-campfires.patch (renamed from patches/server/0445-Fix-item-locations-dropped-from-campfires.patch)0
-rw-r--r--patches/server/0445-Fix-bell-block-entity-memory-leak.patch (renamed from patches/server/0446-Fix-bell-block-entity-memory-leak.patch)0
-rw-r--r--patches/server/0446-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch (renamed from patches/server/0447-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch)0
-rw-r--r--patches/server/0447-Add-getOfflinePlayerIfCached-String.patch (renamed from patches/server/0448-Add-getOfflinePlayerIfCached-String.patch)4
-rw-r--r--patches/server/0448-Add-ignore-discounts-API.patch (renamed from patches/server/0449-Add-ignore-discounts-API.patch)0
-rw-r--r--patches/server/0449-Toggle-for-removing-existing-dragon.patch (renamed from patches/server/0450-Toggle-for-removing-existing-dragon.patch)2
-rw-r--r--patches/server/0450-Fix-client-lag-on-advancement-loading.patch (renamed from patches/server/0451-Fix-client-lag-on-advancement-loading.patch)4
-rw-r--r--patches/server/0451-Item-no-age-no-player-pickup.patch (renamed from patches/server/0452-Item-no-age-no-player-pickup.patch)0
-rw-r--r--patches/server/0452-Beacon-API-custom-effect-ranges.patch (renamed from patches/server/0453-Beacon-API-custom-effect-ranges.patch)2
-rw-r--r--patches/server/0453-Add-API-for-quit-reason.patch (renamed from patches/server/0454-Add-API-for-quit-reason.patch)4
-rw-r--r--patches/server/0454-Add-Wandering-Trader-spawn-rate-config-options.patch (renamed from patches/server/0455-Add-Wandering-Trader-spawn-rate-config-options.patch)0
-rw-r--r--patches/server/0455-Expose-world-spawn-angle.patch (renamed from patches/server/0456-Expose-world-spawn-angle.patch)0
-rw-r--r--patches/server/0456-Add-Destroy-Speed-API.patch (renamed from patches/server/0457-Add-Destroy-Speed-API.patch)0
-rw-r--r--patches/server/0457-Fix-Player-spawnParticle-x-y-z-precision-loss.patch (renamed from patches/server/0458-Fix-Player-spawnParticle-x-y-z-precision-loss.patch)4
-rw-r--r--patches/server/0458-Add-LivingEntity-clearActiveItem.patch (renamed from patches/server/0459-Add-LivingEntity-clearActiveItem.patch)4
-rw-r--r--patches/server/0459-Add-PlayerItemCooldownEvent.patch (renamed from patches/server/0460-Add-PlayerItemCooldownEvent.patch)0
-rw-r--r--patches/server/0460-Significantly-improve-performance-of-the-end-generat.patch (renamed from patches/server/0461-Significantly-improve-performance-of-the-end-generat.patch)0
-rw-r--r--patches/server/0461-More-lightning-API.patch (renamed from patches/server/0462-More-lightning-API.patch)0
-rw-r--r--patches/server/0462-Climbing-should-not-bypass-cramming-gamerule.patch (renamed from patches/server/0463-Climbing-should-not-bypass-cramming-gamerule.patch)10
-rw-r--r--patches/server/0463-Add-missing-default-perms-for-commands.patch (renamed from patches/server/0464-Add-missing-default-perms-for-commands.patch)0
-rw-r--r--patches/server/0464-Add-PlayerShearBlockEvent.patch (renamed from patches/server/0465-Add-PlayerShearBlockEvent.patch)0
-rw-r--r--patches/server/0465-Limit-recipe-packets.patch (renamed from patches/server/0466-Limit-recipe-packets.patch)2
-rw-r--r--patches/server/0466-Fix-CraftSound-backwards-compatibility.patch (renamed from patches/server/0467-Fix-CraftSound-backwards-compatibility.patch)0
-rw-r--r--patches/server/0467-Player-Chunk-Load-Unload-Events.patch (renamed from patches/server/0468-Player-Chunk-Load-Unload-Events.patch)0
-rw-r--r--patches/server/0468-Optimize-Dynamic-get-Missing-Keys.patch (renamed from patches/server/0469-Optimize-Dynamic-get-Missing-Keys.patch)0
-rw-r--r--patches/server/0469-Expose-LivingEntity-hurt-direction.patch (renamed from patches/server/0470-Expose-LivingEntity-hurt-direction.patch)8
-rw-r--r--patches/server/0470-Add-OBSTRUCTED-reason-to-BedEnterResult.patch (renamed from patches/server/0471-Add-OBSTRUCTED-reason-to-BedEnterResult.patch)2
-rw-r--r--patches/server/0471-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch (renamed from patches/server/0472-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch)0
-rw-r--r--patches/server/0472-Add-TargetHitEvent.patch (renamed from patches/server/0473-Add-TargetHitEvent.patch)0
-rw-r--r--patches/server/0473-MC-4-Fix-item-position-desync.patch (renamed from patches/server/0474-MC-4-Fix-item-position-desync.patch)4
-rw-r--r--patches/server/0474-Additional-Block-Material-API.patch (renamed from patches/server/0475-Additional-Block-Material-API.patch)0
-rw-r--r--patches/server/0475-Fix-harming-potion-dupe.patch (renamed from patches/server/0476-Fix-harming-potion-dupe.patch)0
-rw-r--r--patches/server/0476-API-to-get-Material-from-Boats-and-Minecarts.patch (renamed from patches/server/0477-API-to-get-Material-from-Boats-and-Minecarts.patch)0
-rw-r--r--patches/server/0477-Cache-burn-durations.patch (renamed from patches/server/0478-Cache-burn-durations.patch)0
-rw-r--r--patches/server/0478-Allow-disabling-mob-spawner-spawn-egg-transformation.patch (renamed from patches/server/0479-Allow-disabling-mob-spawner-spawn-egg-transformation.patch)0
-rw-r--r--patches/server/0479-Fix-Not-a-string-Map-Conversion-spam.patch (renamed from patches/server/0480-Fix-Not-a-string-Map-Conversion-spam.patch)0
-rw-r--r--patches/server/0480-Add-PlayerFlowerPotManipulateEvent.patch (renamed from patches/server/0481-Add-PlayerFlowerPotManipulateEvent.patch)0
-rw-r--r--patches/server/0481-Fix-interact-event-not-being-called-sometimes.patch (renamed from patches/server/0482-Fix-interact-event-not-being-called-sometimes.patch)2
-rw-r--r--patches/server/0482-Zombie-API-breaking-doors.patch (renamed from patches/server/0483-Zombie-API-breaking-doors.patch)0
-rw-r--r--patches/server/0483-Fix-nerfed-slime-when-splitting.patch (renamed from patches/server/0484-Fix-nerfed-slime-when-splitting.patch)0
-rw-r--r--patches/server/0484-Add-EntityLoadCrossbowEvent.patch (renamed from patches/server/0485-Add-EntityLoadCrossbowEvent.patch)0
-rw-r--r--patches/server/0485-Add-WorldGameRuleChangeEvent.patch (renamed from patches/server/0486-Add-WorldGameRuleChangeEvent.patch)20
-rw-r--r--patches/server/0486-Add-ServerResourcesReloadedEvent.patch (renamed from patches/server/0487-Add-ServerResourcesReloadedEvent.patch)2
-rw-r--r--patches/server/0487-Add-world-settings-for-mobs-picking-up-loot.patch (renamed from patches/server/0488-Add-world-settings-for-mobs-picking-up-loot.patch)0
-rw-r--r--patches/server/0488-Add-BlockFailedDispenseEvent.patch (renamed from patches/server/0489-Add-BlockFailedDispenseEvent.patch)4
-rw-r--r--patches/server/0489-Add-PlayerLecternPageChangeEvent.patch (renamed from patches/server/0490-Add-PlayerLecternPageChangeEvent.patch)0
-rw-r--r--patches/server/0490-Add-PlayerLoomPatternSelectEvent.patch (renamed from patches/server/0491-Add-PlayerLoomPatternSelectEvent.patch)0
-rw-r--r--patches/server/0491-Configurable-door-breaking-difficulty.patch (renamed from patches/server/0492-Configurable-door-breaking-difficulty.patch)0
-rw-r--r--patches/server/0492-Empty-commands-shall-not-be-dispatched.patch (renamed from patches/server/0493-Empty-commands-shall-not-be-dispatched.patch)0
-rw-r--r--patches/server/0493-Remove-stale-POIs.patch (renamed from patches/server/0494-Remove-stale-POIs.patch)0
-rw-r--r--patches/server/0494-Fix-villager-boat-exploit.patch (renamed from patches/server/0495-Fix-villager-boat-exploit.patch)0
-rw-r--r--patches/server/0495-Add-sendOpLevel-API.patch (renamed from patches/server/0496-Add-sendOpLevel-API.patch)4
-rw-r--r--patches/server/0496-TODO-Registry-Modification-API.patch (renamed from patches/server/0497-TODO-Registry-Modification-API.patch)8
-rw-r--r--patches/server/0497-Add-StructuresLocateEvent.patch (renamed from patches/server/0498-Add-StructuresLocateEvent.patch)6
-rw-r--r--patches/server/0498-Collision-option-for-requiring-a-player-participant.patch (renamed from patches/server/0499-Collision-option-for-requiring-a-player-participant.patch)4
-rw-r--r--patches/server/0499-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch (renamed from patches/server/0500-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch)0
-rw-r--r--patches/server/0500-Return-chat-component-with-empty-text-instead-of-thr.patch (renamed from patches/server/0501-Return-chat-component-with-empty-text-instead-of-thr.patch)0
-rw-r--r--patches/server/0501-Make-schedule-command-per-world.patch (renamed from patches/server/0502-Make-schedule-command-per-world.patch)0
-rw-r--r--patches/server/0502-Configurable-max-leash-distance.patch (renamed from patches/server/0503-Configurable-max-leash-distance.patch)0
-rw-r--r--patches/server/0503-Add-BlockPreDispenseEvent.patch (renamed from patches/server/0504-Add-BlockPreDispenseEvent.patch)4
-rw-r--r--patches/server/0504-Add-PlayerChangeBeaconEffectEvent.patch (renamed from patches/server/0505-Add-PlayerChangeBeaconEffectEvent.patch)0
-rw-r--r--patches/server/0505-Add-toggle-for-always-placing-the-dragon-egg.patch (renamed from patches/server/0506-Add-toggle-for-always-placing-the-dragon-egg.patch)2
-rw-r--r--patches/server/0506-Add-PlayerStonecutterRecipeSelectEvent.patch (renamed from patches/server/0507-Add-PlayerStonecutterRecipeSelectEvent.patch)0
-rw-r--r--patches/server/0507-Expand-EntityUnleashEvent.patch (renamed from patches/server/0508-Expand-EntityUnleashEvent.patch)6
-rw-r--r--patches/server/0508-Reset-shield-blocking-on-dimension-change.patch (renamed from patches/server/0509-Reset-shield-blocking-on-dimension-change.patch)2
-rw-r--r--patches/server/0509-Add-DragonEggFormEvent.patch (renamed from patches/server/0510-Add-DragonEggFormEvent.patch)2
-rw-r--r--patches/server/0510-Add-EntityMoveEvent.patch (renamed from patches/server/0511-Add-EntityMoveEvent.patch)4
-rw-r--r--patches/server/0511-added-option-to-disable-pathfinding-updates-on-block.patch (renamed from patches/server/0512-added-option-to-disable-pathfinding-updates-on-block.patch)0
-rw-r--r--patches/server/0512-Inline-shift-direction-fields.patch (renamed from patches/server/0513-Inline-shift-direction-fields.patch)0
-rw-r--r--patches/server/0513-Allow-adding-items-to-BlockDropItemEvent.patch (renamed from patches/server/0514-Allow-adding-items-to-BlockDropItemEvent.patch)2
-rw-r--r--patches/server/0514-Add-getMainThreadExecutor-to-BukkitScheduler.patch (renamed from patches/server/0515-Add-getMainThreadExecutor-to-BukkitScheduler.patch)0
-rw-r--r--patches/server/0515-living-entity-allow-attribute-registration.patch (renamed from patches/server/0516-living-entity-allow-attribute-registration.patch)4
-rw-r--r--patches/server/0516-fix-dead-slime-setSize-invincibility.patch (renamed from patches/server/0517-fix-dead-slime-setSize-invincibility.patch)0
-rw-r--r--patches/server/0517-Merchant-getRecipes-should-return-an-immutable-list.patch (renamed from patches/server/0518-Merchant-getRecipes-should-return-an-immutable-list.patch)0
-rw-r--r--patches/server/0518-Expose-Tracked-Players.patch (renamed from patches/server/0519-Expose-Tracked-Players.patch)0
-rw-r--r--patches/server/0519-Improve-ServerGUI.patch (renamed from patches/server/0520-Improve-ServerGUI.patch)0
-rw-r--r--patches/server/0520-fix-converting-txt-to-json-file.patch (renamed from patches/server/0521-fix-converting-txt-to-json-file.patch)4
-rw-r--r--patches/server/0521-Add-worldborder-events.patch (renamed from patches/server/0522-Add-worldborder-events.patch)0
-rw-r--r--patches/server/0522-Add-PlayerNameEntityEvent.patch (renamed from patches/server/0523-Add-PlayerNameEntityEvent.patch)0
-rw-r--r--patches/server/0523-Prevent-grindstones-from-overstacking-items.patch (renamed from patches/server/0524-Prevent-grindstones-from-overstacking-items.patch)0
-rw-r--r--patches/server/0524-Add-recipe-to-cook-events.patch (renamed from patches/server/0525-Add-recipe-to-cook-events.patch)0
-rw-r--r--patches/server/0525-Add-Block-isValidTool.patch (renamed from patches/server/0526-Add-Block-isValidTool.patch)0
-rw-r--r--patches/server/0526-Allow-using-signs-inside-spawn-protection.patch (renamed from patches/server/0527-Allow-using-signs-inside-spawn-protection.patch)2
-rw-r--r--patches/server/0527-Expand-world-key-API.patch (renamed from patches/server/0528-Expand-world-key-API.patch)12
-rw-r--r--patches/server/0528-Add-fast-alternative-constructor-for-Rotations.patch (renamed from patches/server/0529-Add-fast-alternative-constructor-for-Rotations.patch)0
-rw-r--r--patches/server/0529-Item-Rarity-API.patch (renamed from patches/server/0530-Item-Rarity-API.patch)4
-rw-r--r--patches/server/0530-Drop-carried-item-when-player-has-disconnected.patch (renamed from patches/server/0531-Drop-carried-item-when-player-has-disconnected.patch)0
-rw-r--r--patches/server/0531-forced-whitelist-use-configurable-kick-message.patch (renamed from patches/server/0532-forced-whitelist-use-configurable-kick-message.patch)2
-rw-r--r--patches/server/0532-Don-t-ignore-result-of-PlayerEditBookEvent.patch (renamed from patches/server/0533-Don-t-ignore-result-of-PlayerEditBookEvent.patch)2
-rw-r--r--patches/server/0533-Expose-protocol-version.patch (renamed from patches/server/0534-Expose-protocol-version.patch)4
-rw-r--r--patches/server/0534-Enhance-console-tab-completions-for-brigadier-comman.patch (renamed from patches/server/0535-Enhance-console-tab-completions-for-brigadier-comman.patch)2
-rw-r--r--patches/server/0535-Fix-PlayerItemConsumeEvent-cancelling-properly.patch (renamed from patches/server/0536-Fix-PlayerItemConsumeEvent-cancelling-properly.patch)4
-rw-r--r--patches/server/0536-Add-bypass-host-check.patch (renamed from patches/server/0537-Add-bypass-host-check.patch)0
-rw-r--r--patches/server/0537-Set-area-affect-cloud-rotation.patch (renamed from patches/server/0538-Set-area-affect-cloud-rotation.patch)0
-rw-r--r--patches/server/0538-add-isDeeplySleeping-to-HumanEntity.patch (renamed from patches/server/0539-add-isDeeplySleeping-to-HumanEntity.patch)0
-rw-r--r--patches/server/0539-add-consumeFuel-to-FurnaceBurnEvent.patch (renamed from patches/server/0540-add-consumeFuel-to-FurnaceBurnEvent.patch)0
-rw-r--r--patches/server/0540-add-get-set-drop-chance-to-EntityEquipment.patch (renamed from patches/server/0541-add-get-set-drop-chance-to-EntityEquipment.patch)0
-rw-r--r--patches/server/0541-fix-PigZombieAngerEvent-cancellation.patch (renamed from patches/server/0542-fix-PigZombieAngerEvent-cancellation.patch)0
-rw-r--r--patches/server/0542-fix-PlayerItemHeldEvent-firing-twice.patch (renamed from patches/server/0543-fix-PlayerItemHeldEvent-firing-twice.patch)2
-rw-r--r--patches/server/0543-Add-PlayerDeepSleepEvent.patch (renamed from patches/server/0544-Add-PlayerDeepSleepEvent.patch)4
-rw-r--r--patches/server/0544-More-World-API.patch (renamed from patches/server/0545-More-World-API.patch)4
-rw-r--r--patches/server/0545-Add-PlayerBedFailEnterEvent.patch (renamed from patches/server/0546-Add-PlayerBedFailEnterEvent.patch)0
-rw-r--r--patches/server/0546-Implement-methods-to-convert-between-Component-and-B.patch (renamed from patches/server/0547-Implement-methods-to-convert-between-Component-and-B.patch)2
-rw-r--r--patches/server/0547-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch (renamed from patches/server/0548-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch)2
-rw-r--r--patches/server/0548-Introduce-beacon-activation-deactivation-events.patch (renamed from patches/server/0549-Introduce-beacon-activation-deactivation-events.patch)2
-rw-r--r--patches/server/0549-Add-Channel-initialization-listeners.patch (renamed from patches/server/0550-Add-Channel-initialization-listeners.patch)2
-rw-r--r--patches/server/0550-Send-empty-commands-if-tab-completion-is-disabled.patch (renamed from patches/server/0551-Send-empty-commands-if-tab-completion-is-disabled.patch)0
-rw-r--r--patches/server/0551-Add-more-WanderingTrader-API.patch (renamed from patches/server/0552-Add-more-WanderingTrader-API.patch)0
-rw-r--r--patches/server/0552-Add-EntityBlockStorage-clearEntities.patch (renamed from patches/server/0553-Add-EntityBlockStorage-clearEntities.patch)0
-rw-r--r--patches/server/0553-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch (renamed from patches/server/0554-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch)0
-rw-r--r--patches/server/0554-Add-HiddenPotionEffect-API.patch (renamed from patches/server/0555-Add-HiddenPotionEffect-API.patch)0
-rw-r--r--patches/server/0555-Inventory-close.patch (renamed from patches/server/0556-Inventory-close.patch)0
-rw-r--r--patches/server/0556-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch (renamed from patches/server/0557-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch)0
-rw-r--r--patches/server/0557-Add-basic-Datapack-API.patch (renamed from patches/server/0558-Add-basic-Datapack-API.patch)8
-rw-r--r--patches/server/0558-Add-environment-variable-to-disable-server-gui.patch (renamed from patches/server/0559-Add-environment-variable-to-disable-server-gui.patch)0
-rw-r--r--patches/server/0559-Expand-PlayerGameModeChangeEvent.patch (renamed from patches/server/0560-Expand-PlayerGameModeChangeEvent.patch)10
-rw-r--r--patches/server/0560-ItemStack-repair-check-API.patch (renamed from patches/server/0561-ItemStack-repair-check-API.patch)4
-rw-r--r--patches/server/0561-More-Enchantment-API.patch (renamed from patches/server/0562-More-Enchantment-API.patch)4
-rw-r--r--patches/server/0562-Move-range-check-for-block-placing-up.patch (renamed from patches/server/0563-Move-range-check-for-block-placing-up.patch)2
-rw-r--r--patches/server/0563-Add-Mob-lookAt-API.patch (renamed from patches/server/0564-Add-Mob-lookAt-API.patch)0
-rw-r--r--patches/server/0564-Correctly-check-if-bucket-dispenses-will-succeed-for.patch (renamed from patches/server/0565-Correctly-check-if-bucket-dispenses-will-succeed-for.patch)0
-rw-r--r--patches/server/0565-Add-Unix-domain-socket-support.patch (renamed from patches/server/0566-Add-Unix-domain-socket-support.patch)4
-rw-r--r--patches/server/0566-Add-EntityInsideBlockEvent.patch (renamed from patches/server/0567-Add-EntityInsideBlockEvent.patch)22
-rw-r--r--patches/server/0567-Attributes-API-for-item-defaults.patch (renamed from patches/server/0568-Attributes-API-for-item-defaults.patch)4
-rw-r--r--patches/server/0568-Add-cause-to-Weather-ThunderChangeEvents.patch (renamed from patches/server/0569-Add-cause-to-Weather-ThunderChangeEvents.patch)8
-rw-r--r--patches/server/0569-More-Lidded-Block-API.patch (renamed from patches/server/0570-More-Lidded-Block-API.patch)0
-rw-r--r--patches/server/0570-Limit-item-frame-cursors-on-maps.patch (renamed from patches/server/0571-Limit-item-frame-cursors-on-maps.patch)0
-rw-r--r--patches/server/0571-Add-PlayerKickEvent-causes.patch (renamed from patches/server/0572-Add-PlayerKickEvent-causes.patch)10
-rw-r--r--patches/server/0572-Add-PufferFishStateChangeEvent.patch (renamed from patches/server/0573-Add-PufferFishStateChangeEvent.patch)0
-rw-r--r--patches/server/0573-Fix-PlayerBucketEmptyEvent-result-itemstack.patch (renamed from patches/server/0574-Fix-PlayerBucketEmptyEvent-result-itemstack.patch)0
-rw-r--r--patches/server/0574-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch (renamed from patches/server/0575-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch)2
-rw-r--r--patches/server/0575-Add-option-to-fix-items-merging-through-walls.patch (renamed from patches/server/0576-Add-option-to-fix-items-merging-through-walls.patch)0
-rw-r--r--patches/server/0576-Add-BellRevealRaiderEvent.patch (renamed from patches/server/0577-Add-BellRevealRaiderEvent.patch)0
-rw-r--r--patches/server/0577-Fix-invulnerable-end-crystals.patch (renamed from patches/server/0578-Fix-invulnerable-end-crystals.patch)0
-rw-r--r--patches/server/0578-Add-ElderGuardianAppearanceEvent.patch (renamed from patches/server/0579-Add-ElderGuardianAppearanceEvent.patch)0
-rw-r--r--patches/server/0579-Fix-dangerous-end-portal-logic.patch (renamed from patches/server/0580-Fix-dangerous-end-portal-logic.patch)4
-rw-r--r--patches/server/0580-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch (renamed from patches/server/0581-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch)0
-rw-r--r--patches/server/0581-Make-item-validations-configurable.patch (renamed from patches/server/0582-Make-item-validations-configurable.patch)8
-rw-r--r--patches/server/0582-Line-Of-Sight-Changes.patch (renamed from patches/server/0583-Line-Of-Sight-Changes.patch)8
-rw-r--r--patches/server/0583-add-per-world-spawn-limits.patch (renamed from patches/server/0584-add-per-world-spawn-limits.patch)4
-rw-r--r--patches/server/0584-Fix-potions-splash-events.patch (renamed from patches/server/0585-Fix-potions-splash-events.patch)2
-rw-r--r--patches/server/0585-Add-more-LimitedRegion-API.patch (renamed from patches/server/0586-Add-more-LimitedRegion-API.patch)0
-rw-r--r--patches/server/0586-Fix-PlayerDropItemEvent-using-wrong-item.patch (renamed from patches/server/0587-Fix-PlayerDropItemEvent-using-wrong-item.patch)6
-rw-r--r--patches/server/0587-Missing-Entity-API.patch (renamed from patches/server/0588-Missing-Entity-API.patch)21
-rw-r--r--patches/server/0588-Ensure-disconnect-for-book-edit-is-called-on-main.patch (renamed from patches/server/0589-Ensure-disconnect-for-book-edit-is-called-on-main.patch)2
-rw-r--r--patches/server/0589-Fix-return-value-of-Block-applyBoneMeal-always-being.patch (renamed from patches/server/0590-Fix-return-value-of-Block-applyBoneMeal-always-being.patch)0
-rw-r--r--patches/server/0590-Use-getChunkIfLoadedImmediately-in-places.patch (renamed from patches/server/0591-Use-getChunkIfLoadedImmediately-in-places.patch)0
-rw-r--r--patches/server/0591-Fix-commands-from-signs-not-firing-command-events.patch (renamed from patches/server/0592-Fix-commands-from-signs-not-firing-command-events.patch)0
-rw-r--r--patches/server/0592-Add-PlayerArmSwingEvent.patch (renamed from patches/server/0593-Add-PlayerArmSwingEvent.patch)2
-rw-r--r--patches/server/0593-Fix-kick-event-leave-message-not-being-sent.patch (renamed from patches/server/0594-Fix-kick-event-leave-message-not-being-sent.patch)4
-rw-r--r--patches/server/0594-Add-config-for-mobs-immune-to-default-effects.patch (renamed from patches/server/0595-Add-config-for-mobs-immune-to-default-effects.patch)4
-rw-r--r--patches/server/0595-Don-t-apply-cramming-damage-to-players.patch (renamed from patches/server/0596-Don-t-apply-cramming-damage-to-players.patch)2
-rw-r--r--patches/server/0596-Rate-options-and-timings-for-sensors-and-behaviors.patch (renamed from patches/server/0597-Rate-options-and-timings-for-sensors-and-behaviors.patch)0
-rw-r--r--patches/server/0597-Add-missing-forceDrop-toggles.patch (renamed from patches/server/0598-Add-missing-forceDrop-toggles.patch)0
-rw-r--r--patches/server/0598-Stinger-API.patch (renamed from patches/server/0599-Stinger-API.patch)8
-rw-r--r--patches/server/0599-Fix-incosistency-issue-with-empty-map-items-in-CB.patch (renamed from patches/server/0600-Fix-incosistency-issue-with-empty-map-items-in-CB.patch)0
-rw-r--r--patches/server/0600-Add-System.out-err-catcher.patch (renamed from patches/server/0601-Add-System.out-err-catcher.patch)4
-rw-r--r--patches/server/0601-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch (renamed from patches/server/0602-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch)0
-rw-r--r--patches/server/0602-Prevent-AFK-kick-while-watching-end-credits.patch (renamed from patches/server/0603-Prevent-AFK-kick-while-watching-end-credits.patch)2
-rw-r--r--patches/server/0603-Allow-skipping-writing-of-comments-to-server.propert.patch (renamed from patches/server/0604-Allow-skipping-writing-of-comments-to-server.propert.patch)0
-rw-r--r--patches/server/0604-Add-PlayerSetSpawnEvent.patch (renamed from patches/server/0605-Add-PlayerSetSpawnEvent.patch)8
-rw-r--r--patches/server/0605-Make-hoppers-respect-inventory-max-stack-size.patch (renamed from patches/server/0606-Make-hoppers-respect-inventory-max-stack-size.patch)0
-rw-r--r--patches/server/0606-Optimize-entity-tracker-passenger-checks.patch (renamed from patches/server/0607-Optimize-entity-tracker-passenger-checks.patch)0
-rw-r--r--patches/server/0607-Config-option-for-Piglins-guarding-chests.patch (renamed from patches/server/0608-Config-option-for-Piglins-guarding-chests.patch)0
-rw-r--r--patches/server/0608-Add-EntityDamageItemEvent.patch (renamed from patches/server/0609-Add-EntityDamageItemEvent.patch)12
-rw-r--r--patches/server/0609-Optimize-indirect-passenger-iteration.patch (renamed from patches/server/0610-Optimize-indirect-passenger-iteration.patch)6
-rw-r--r--patches/server/0610-Configurable-item-frame-map-cursor-update-interval.patch (renamed from patches/server/0611-Configurable-item-frame-map-cursor-update-interval.patch)0
-rw-r--r--patches/server/0611-Clear-bucket-NBT-after-dispense.patch (renamed from patches/server/0612-Clear-bucket-NBT-after-dispense.patch)0
-rw-r--r--patches/server/0612-Change-EnderEye-target-without-changing-other-things.patch (renamed from patches/server/0613-Change-EnderEye-target-without-changing-other-things.patch)0
-rw-r--r--patches/server/0613-Add-BlockBreakBlockEvent.patch (renamed from patches/server/0614-Add-BlockBreakBlockEvent.patch)0
-rw-r--r--patches/server/0614-Option-to-prevent-NBT-copy-in-smithing-recipes.patch (renamed from patches/server/0615-Option-to-prevent-NBT-copy-in-smithing-recipes.patch)0
-rw-r--r--patches/server/0615-More-CommandBlock-API.patch (renamed from patches/server/0616-More-CommandBlock-API.patch)0
-rw-r--r--patches/server/0616-Add-missing-team-sidebar-display-slots.patch (renamed from patches/server/0617-Add-missing-team-sidebar-display-slots.patch)0
-rw-r--r--patches/server/0617-Add-back-EntityPortalExitEvent.patch (renamed from patches/server/0618-Add-back-EntityPortalExitEvent.patch)6
-rw-r--r--patches/server/0618-Add-methods-to-find-targets-for-lightning-strikes.patch (renamed from patches/server/0619-Add-methods-to-find-targets-for-lightning-strikes.patch)6
-rw-r--r--patches/server/0619-Get-entity-default-attributes.patch (renamed from patches/server/0620-Get-entity-default-attributes.patch)4
-rw-r--r--patches/server/0620-Left-handed-API.patch (renamed from patches/server/0621-Left-handed-API.patch)0
-rw-r--r--patches/server/0621-Add-more-advancement-API.patch (renamed from patches/server/0622-Add-more-advancement-API.patch)0
-rw-r--r--patches/server/0622-Add-ItemFactory-getSpawnEgg-API.patch (renamed from patches/server/0623-Add-ItemFactory-getSpawnEgg-API.patch)0
-rw-r--r--patches/server/0623-Add-critical-damage-API.patch (renamed from patches/server/0624-Add-critical-damage-API.patch)83
-rw-r--r--patches/server/0624-Fix-issues-with-mob-conversion.patch (renamed from patches/server/0625-Fix-issues-with-mob-conversion.patch)0
-rw-r--r--patches/server/0625-Add-isCollidable-methods-to-various-places.patch (renamed from patches/server/0626-Add-isCollidable-methods-to-various-places.patch)4
-rw-r--r--patches/server/0626-Goat-ram-API.patch (renamed from patches/server/0627-Goat-ram-API.patch)0
-rw-r--r--patches/server/0627-Add-API-for-resetting-a-single-score.patch (renamed from patches/server/0628-Add-API-for-resetting-a-single-score.patch)0
-rw-r--r--patches/server/0628-Add-Raw-Byte-Entity-Serialization.patch (renamed from patches/server/0629-Add-Raw-Byte-Entity-Serialization.patch)8
-rw-r--r--patches/server/0629-Vanilla-command-permission-fixes.patch (renamed from patches/server/0630-Vanilla-command-permission-fixes.patch)0
-rw-r--r--patches/server/0630-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch (renamed from patches/server/0631-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch)6
-rw-r--r--patches/server/0631-Fix-GameProfileCache-concurrency.patch (renamed from patches/server/0632-Fix-GameProfileCache-concurrency.patch)0
-rw-r--r--patches/server/0632-Improve-and-expand-AsyncCatcher.patch (renamed from patches/server/0633-Improve-and-expand-AsyncCatcher.patch)20
-rw-r--r--patches/server/0633-Add-paper-mobcaps-and-paper-playermobcaps.patch (renamed from patches/server/0634-Add-paper-mobcaps-and-paper-playermobcaps.patch)10
-rw-r--r--patches/server/0634-Sanitize-ResourceLocation-error-logging.patch (renamed from patches/server/0635-Sanitize-ResourceLocation-error-logging.patch)0
-rw-r--r--patches/server/0635-Manually-inline-methods-in-BlockPosition.patch (renamed from patches/server/0636-Manually-inline-methods-in-BlockPosition.patch)0
-rw-r--r--patches/server/0636-Name-craft-scheduler-threads-according-to-the-plugin.patch (renamed from patches/server/0637-Name-craft-scheduler-threads-according-to-the-plugin.patch)0
-rw-r--r--patches/server/0637-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch (renamed from patches/server/0638-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch)0
-rw-r--r--patches/server/0638-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch (renamed from patches/server/0639-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch)2
-rw-r--r--patches/server/0639-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch (renamed from patches/server/0640-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch)0
-rw-r--r--patches/server/0640-Time-scoreboard-search.patch (renamed from patches/server/0641-Time-scoreboard-search.patch)0
-rw-r--r--patches/server/0641-Oprimise-map-impl-for-tracked-players.patch (renamed from patches/server/0642-Oprimise-map-impl-for-tracked-players.patch)2
-rw-r--r--patches/server/0642-Add-missing-InventoryType.patch (renamed from patches/server/0643-Add-missing-InventoryType.patch)0
-rw-r--r--patches/server/0643-Optimise-BlockSoil-nearby-water-lookup.patch (renamed from patches/server/0644-Optimise-BlockSoil-nearby-water-lookup.patch)0
-rw-r--r--patches/server/0644-Fix-merchant-inventory-not-closing-on-entity-removal.patch (renamed from patches/server/0645-Fix-merchant-inventory-not-closing-on-entity-removal.patch)0
-rw-r--r--patches/server/0645-Check-requirement-before-suggesting-root-nodes.patch (renamed from patches/server/0647-Check-requirement-before-suggesting-root-nodes.patch)0
-rw-r--r--patches/server/0646-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch (renamed from patches/server/0648-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch)2
-rw-r--r--patches/server/0646-Use-correct-max-stack-size-in-crafter.patch19
-rw-r--r--patches/server/0647-Add-packet-limiter-config.patch (renamed from patches/server/0649-Add-packet-limiter-config.patch)2
-rw-r--r--patches/server/0648-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch (renamed from patches/server/0650-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch)0
-rw-r--r--patches/server/0649-Ensure-valid-vehicle-status.patch (renamed from patches/server/0651-Ensure-valid-vehicle-status.patch)2
-rw-r--r--patches/server/0650-Prevent-softlocked-end-exit-portal-generation.patch (renamed from patches/server/0652-Prevent-softlocked-end-exit-portal-generation.patch)2
-rw-r--r--patches/server/0651-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch (renamed from patches/server/0653-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch)0
-rw-r--r--patches/server/0652-Don-t-log-debug-logging-being-disabled.patch (renamed from patches/server/0654-Don-t-log-debug-logging-being-disabled.patch)0
-rw-r--r--patches/server/0653-fix-various-menus-with-empty-level-accesses.patch (renamed from patches/server/0655-fix-various-menus-with-empty-level-accesses.patch)0
-rw-r--r--patches/server/0654-Preserve-overstacked-loot.patch (renamed from patches/server/0656-Preserve-overstacked-loot.patch)0
-rw-r--r--patches/server/0655-Update-head-rotation-in-missing-places.patch (renamed from patches/server/0657-Update-head-rotation-in-missing-places.patch)6
-rw-r--r--patches/server/0656-prevent-unintended-light-block-manipulation.patch (renamed from patches/server/0658-prevent-unintended-light-block-manipulation.patch)0
-rw-r--r--patches/server/0657-Fix-CraftCriteria-defaults-map.patch (renamed from patches/server/0659-Fix-CraftCriteria-defaults-map.patch)0
-rw-r--r--patches/server/0658-Fix-upstreams-block-state-factories.patch (renamed from patches/server/0660-Fix-upstreams-block-state-factories.patch)0
-rw-r--r--patches/server/0659-Configurable-feature-seeds.patch (renamed from patches/server/0661-Configurable-feature-seeds.patch)0
-rw-r--r--patches/server/0660-Add-root-admin-user-detection.patch (renamed from patches/server/0662-Add-root-admin-user-detection.patch)2
-rw-r--r--patches/server/0661-Always-allow-item-changing-in-Fireball.patch (renamed from patches/server/0663-Always-allow-item-changing-in-Fireball.patch)0
-rw-r--r--patches/server/0662-don-t-attempt-to-teleport-dead-entities.patch (renamed from patches/server/0664-don-t-attempt-to-teleport-dead-entities.patch)2
-rw-r--r--patches/server/0663-Prevent-excessive-velocity-through-repeated-crits.patch (renamed from patches/server/0665-Prevent-excessive-velocity-through-repeated-crits.patch)4
-rw-r--r--patches/server/0664-Remove-client-side-code-using-deprecated-for-removal.patch (renamed from patches/server/0666-Remove-client-side-code-using-deprecated-for-removal.patch)0
-rw-r--r--patches/server/0665-Fix-removing-recipes-from-RecipeIterator.patch (renamed from patches/server/0667-Fix-removing-recipes-from-RecipeIterator.patch)0
-rw-r--r--patches/server/0666-Prevent-sending-oversized-item-data-in-equipment-and.patch (renamed from patches/server/0668-Prevent-sending-oversized-item-data-in-equipment-and.patch)8
-rw-r--r--patches/server/0667-Hide-unnecessary-itemmeta-from-clients.patch (renamed from patches/server/0669-Hide-unnecessary-itemmeta-from-clients.patch)8
-rw-r--r--patches/server/0668-Fix-Spigot-growth-modifiers.patch (renamed from patches/server/0670-Fix-Spigot-growth-modifiers.patch)0
-rw-r--r--patches/server/0669-Prevent-ContainerOpenersCounter-openCount-from-going.patch (renamed from patches/server/0671-Prevent-ContainerOpenersCounter-openCount-from-going.patch)0
-rw-r--r--patches/server/0670-Add-PlayerItemFrameChangeEvent.patch (renamed from patches/server/0672-Add-PlayerItemFrameChangeEvent.patch)0
-rw-r--r--patches/server/0671-Optimize-HashMapPalette.patch (renamed from patches/server/0673-Optimize-HashMapPalette.patch)0
-rw-r--r--patches/server/0672-Allow-delegation-to-vanilla-chunk-gen.patch (renamed from patches/server/0674-Allow-delegation-to-vanilla-chunk-gen.patch)4
-rw-r--r--patches/server/0673-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch (renamed from patches/server/0675-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch)6
-rw-r--r--patches/server/0674-Add-more-Campfire-API.patch (renamed from patches/server/0676-Add-more-Campfire-API.patch)0
-rw-r--r--patches/server/0675-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch (renamed from patches/server/0677-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch)0
-rw-r--r--patches/server/0676-Forward-CraftEntity-in-teleport-command.patch (renamed from patches/server/0678-Forward-CraftEntity-in-teleport-command.patch)6
-rw-r--r--patches/server/0677-Improve-scoreboard-entries.patch (renamed from patches/server/0679-Improve-scoreboard-entries.patch)0
-rw-r--r--patches/server/0678-Entity-powdered-snow-API.patch (renamed from patches/server/0680-Entity-powdered-snow-API.patch)0
-rw-r--r--patches/server/0679-Add-API-for-item-entity-health.patch (renamed from patches/server/0681-Add-API-for-item-entity-health.patch)0
-rw-r--r--patches/server/0680-Configurable-max-block-light-for-monster-spawning.patch (renamed from patches/server/0682-Configurable-max-block-light-for-monster-spawning.patch)0
-rw-r--r--patches/server/0681-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch (renamed from patches/server/0683-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch)0
-rw-r--r--patches/server/0682-Load-effect-amplifiers-greater-than-127-correctly.patch (renamed from patches/server/0684-Load-effect-amplifiers-greater-than-127-correctly.patch)0
-rw-r--r--patches/server/0683-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch (renamed from patches/server/0685-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch)0
-rw-r--r--patches/server/0684-Fix-bees-aging-inside-hives.patch (renamed from patches/server/0686-Fix-bees-aging-inside-hives.patch)0
-rw-r--r--patches/server/0685-Bucketable-API.patch (renamed from patches/server/0687-Bucketable-API.patch)0
-rw-r--r--patches/server/0686-Validate-usernames.patch (renamed from patches/server/0688-Validate-usernames.patch)4
-rw-r--r--patches/server/0687-Make-water-animal-spawn-height-configurable.patch (renamed from patches/server/0689-Make-water-animal-spawn-height-configurable.patch)0
-rw-r--r--patches/server/0688-Expose-vanilla-BiomeProvider-from-WorldInfo.patch (renamed from patches/server/0690-Expose-vanilla-BiomeProvider-from-WorldInfo.patch)10
-rw-r--r--patches/server/0689-Add-config-option-for-worlds-affected-by-time-cmd.patch (renamed from patches/server/0691-Add-config-option-for-worlds-affected-by-time-cmd.patch)0
-rw-r--r--patches/server/0690-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch (renamed from patches/server/0692-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch)0
-rw-r--r--patches/server/0691-Multiple-Entries-with-Scoreboards.patch (renamed from patches/server/0693-Multiple-Entries-with-Scoreboards.patch)0
-rw-r--r--patches/server/0692-Reset-placed-block-on-exception.patch (renamed from patches/server/0694-Reset-placed-block-on-exception.patch)0
-rw-r--r--patches/server/0693-Add-configurable-height-for-slime-spawn.patch (renamed from patches/server/0695-Add-configurable-height-for-slime-spawn.patch)0
-rw-r--r--patches/server/0694-Fix-xp-reward-for-baby-zombies.patch (renamed from patches/server/0696-Fix-xp-reward-for-baby-zombies.patch)0
-rw-r--r--patches/server/0695-Multi-Block-Change-API-Implementation.patch (renamed from patches/server/0697-Multi-Block-Change-API-Implementation.patch)4
-rw-r--r--patches/server/0696-Fix-NotePlayEvent.patch (renamed from patches/server/0698-Fix-NotePlayEvent.patch)0
-rw-r--r--patches/server/0697-Freeze-Tick-Lock-API.patch (renamed from patches/server/0699-Freeze-Tick-Lock-API.patch)10
-rw-r--r--patches/server/0698-More-PotionEffectType-API.patch (renamed from patches/server/0700-More-PotionEffectType-API.patch)0
-rw-r--r--patches/server/0699-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch (renamed from patches/server/0701-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch)0
-rw-r--r--patches/server/0700-API-for-creating-command-sender-which-forwards-feedb.patch (renamed from patches/server/0702-API-for-creating-command-sender-which-forwards-feedb.patch)4
-rw-r--r--patches/server/0701-Add-missing-structure-set-seed-configs.patch (renamed from patches/server/0703-Add-missing-structure-set-seed-configs.patch)0
-rw-r--r--patches/server/0702-Implement-regenerateChunk.patch (renamed from patches/server/0704-Implement-regenerateChunk.patch)6
-rw-r--r--patches/server/0703-Fix-cancelled-powdered-snow-bucket-placement.patch (renamed from patches/server/0705-Fix-cancelled-powdered-snow-bucket-placement.patch)6
-rw-r--r--patches/server/0704-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch (renamed from patches/server/0706-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch)4
-rw-r--r--patches/server/0705-Add-GameEvent-tags.patch (renamed from patches/server/0707-Add-GameEvent-tags.patch)6
-rw-r--r--patches/server/0706-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch (renamed from patches/server/0708-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch)2
-rw-r--r--patches/server/0707-Furnace-RecipesUsed-API.patch (renamed from patches/server/0709-Furnace-RecipesUsed-API.patch)0
-rw-r--r--patches/server/0708-Configurable-sculk-sensor-listener-range.patch (renamed from patches/server/0710-Configurable-sculk-sensor-listener-range.patch)0
-rw-r--r--patches/server/0709-Add-missing-block-data-mins-and-maxes.patch (renamed from patches/server/0711-Add-missing-block-data-mins-and-maxes.patch)0
-rw-r--r--patches/server/0710-Option-to-have-default-CustomSpawners-in-custom-worl.patch (renamed from patches/server/0712-Option-to-have-default-CustomSpawners-in-custom-worl.patch)2
-rw-r--r--patches/server/0711-Put-world-into-worldlist-before-initing-the-world.patch (renamed from patches/server/0713-Put-world-into-worldlist-before-initing-the-world.patch)6
-rw-r--r--patches/server/0712-Fix-Entity-Position-Desync.patch (renamed from patches/server/0714-Fix-Entity-Position-Desync.patch)2
-rw-r--r--patches/server/0713-Custom-Potion-Mixes.patch (renamed from patches/server/0715-Custom-Potion-Mixes.patch)12
-rw-r--r--patches/server/0714-Force-close-world-loading-screen.patch (renamed from patches/server/0716-Force-close-world-loading-screen.patch)2
-rw-r--r--patches/server/0715-Fix-falling-block-spawn-methods.patch (renamed from patches/server/0717-Fix-falling-block-spawn-methods.patch)6
-rw-r--r--patches/server/0716-Expose-furnace-minecart-push-values.patch (renamed from patches/server/0718-Expose-furnace-minecart-push-values.patch)0
-rw-r--r--patches/server/0717-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch (renamed from patches/server/0719-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch)0
-rw-r--r--patches/server/0718-More-Projectile-API.patch (renamed from patches/server/0720-More-Projectile-API.patch)2
-rw-r--r--patches/server/0719-Fix-swamp-hut-cat-generation-deadlock.patch (renamed from patches/server/0721-Fix-swamp-hut-cat-generation-deadlock.patch)0
-rw-r--r--patches/server/0720-Don-t-allow-vehicle-movement-from-players-while-tele.patch (renamed from patches/server/0722-Don-t-allow-vehicle-movement-from-players-while-tele.patch)2
-rw-r--r--patches/server/0721-Implement-getComputedBiome-API.patch (renamed from patches/server/0723-Implement-getComputedBiome-API.patch)0
-rw-r--r--patches/server/0722-Make-some-itemstacks-nonnull.patch (renamed from patches/server/0724-Make-some-itemstacks-nonnull.patch)0
-rw-r--r--patches/server/0723-Implement-enchantWithLevels-API.patch (renamed from patches/server/0725-Implement-enchantWithLevels-API.patch)0
-rw-r--r--patches/server/0724-Fix-saving-in-unloadWorld.patch (renamed from patches/server/0726-Fix-saving-in-unloadWorld.patch)4
-rw-r--r--patches/server/0725-Buffer-OOB-setBlock-calls.patch (renamed from patches/server/0727-Buffer-OOB-setBlock-calls.patch)0
-rw-r--r--patches/server/0726-Add-TameableDeathMessageEvent.patch (renamed from patches/server/0728-Add-TameableDeathMessageEvent.patch)0
-rw-r--r--patches/server/0727-Fix-new-block-data-for-EntityChangeBlockEvent.patch (renamed from patches/server/0729-Fix-new-block-data-for-EntityChangeBlockEvent.patch)16
-rw-r--r--patches/server/0728-fix-player-loottables-running-when-mob-loot-gamerule.patch (renamed from patches/server/0730-fix-player-loottables-running-when-mob-loot-gamerule.patch)2
-rw-r--r--patches/server/0729-Ensure-entity-passenger-world-matches-ridden-entity.patch (renamed from patches/server/0731-Ensure-entity-passenger-world-matches-ridden-entity.patch)4
-rw-r--r--patches/server/0730-cache-resource-keys.patch (renamed from patches/server/0732-cache-resource-keys.patch)0
-rw-r--r--patches/server/0731-Allow-changing-the-EnderDragon-podium.patch (renamed from patches/server/0733-Allow-changing-the-EnderDragon-podium.patch)2
-rw-r--r--patches/server/0732-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch (renamed from patches/server/0734-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch)0
-rw-r--r--patches/server/0733-Prevent-tile-entity-copies-loading-chunks.patch (renamed from patches/server/0736-Prevent-tile-entity-copies-loading-chunks.patch)2
-rw-r--r--patches/server/0734-Use-username-instead-of-display-name-in-PlayerList-g.patch (renamed from patches/server/0737-Use-username-instead-of-display-name-in-PlayerList-g.patch)2
-rw-r--r--patches/server/0735-Expand-PlayerItemDamageEvent.patch (renamed from patches/server/0739-Expand-PlayerItemDamageEvent.patch)4
-rw-r--r--patches/server/0735-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch19
-rw-r--r--patches/server/0736-WorldCreator-keepSpawnLoaded.patch (renamed from patches/server/0740-WorldCreator-keepSpawnLoaded.patch)6
-rw-r--r--patches/server/0737-Fix-CME-in-CraftPersistentDataTypeRegistry.patch (renamed from patches/server/0741-Fix-CME-in-CraftPersistentDataTypeRegistry.patch)0
-rw-r--r--patches/server/0738-Pass-ServerLevel-for-gamerule-callbacks.patch190
-rw-r--r--patches/server/0738-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch (renamed from patches/server/0742-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch)4
-rw-r--r--patches/server/0739-Add-EntityDyeEvent-and-CollarColorable-interface.patch (renamed from patches/server/0743-Add-EntityDyeEvent-and-CollarColorable-interface.patch)0
-rw-r--r--patches/server/0740-Fire-CauldronLevelChange-on-initial-fill.patch (renamed from patches/server/0744-Fire-CauldronLevelChange-on-initial-fill.patch)0
-rw-r--r--patches/server/0741-fix-powder-snow-cauldrons-not-turning-to-water.patch (renamed from patches/server/0745-fix-powder-snow-cauldrons-not-turning-to-water.patch)0
-rw-r--r--patches/server/0742-Add-PlayerStopUsingItemEvent.patch (renamed from patches/server/0746-Add-PlayerStopUsingItemEvent.patch)4
-rw-r--r--patches/server/0743-Don-t-tick-markers.patch (renamed from patches/server/0747-Don-t-tick-markers.patch)0
-rw-r--r--patches/server/0744-Expand-FallingBlock-API.patch (renamed from patches/server/0748-Expand-FallingBlock-API.patch)6
-rw-r--r--patches/server/0745-Add-support-for-Proxy-Protocol.patch (renamed from patches/server/0749-Add-support-for-Proxy-Protocol.patch)0
-rw-r--r--patches/server/0746-Fix-OfflinePlayer-getBedSpawnLocation.patch (renamed from patches/server/0750-Fix-OfflinePlayer-getBedSpawnLocation.patch)0
-rw-r--r--patches/server/0747-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch (renamed from patches/server/0751-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch)0
-rw-r--r--patches/server/0748-properly-read-and-store-sus-effect-duration.patch (renamed from patches/server/0752-properly-read-and-store-sus-effect-duration.patch)2
-rw-r--r--patches/server/0749-Sanitize-sent-BlockEntity-NBT.patch (renamed from patches/server/0753-Sanitize-sent-BlockEntity-NBT.patch)0
-rw-r--r--patches/server/0750-Disable-component-selector-resolving-in-books-by-def.patch (renamed from patches/server/0754-Disable-component-selector-resolving-in-books-by-def.patch)0
-rw-r--r--patches/server/0751-Prevent-entity-loading-causing-async-lookups.patch (renamed from patches/server/0755-Prevent-entity-loading-causing-async-lookups.patch)2
-rw-r--r--patches/server/0752-Throw-exception-on-world-create-while-being-ticked.patch (renamed from patches/server/0756-Throw-exception-on-world-create-while-being-ticked.patch)8
-rw-r--r--patches/server/0753-Dont-resent-entity-on-art-update.patch (renamed from patches/server/0757-Dont-resent-entity-on-art-update.patch)0
-rw-r--r--patches/server/0754-Add-WardenAngerChangeEvent.patch (renamed from patches/server/0758-Add-WardenAngerChangeEvent.patch)0
-rw-r--r--patches/server/0755-Add-option-for-strict-advancement-dimension-checks.patch (renamed from patches/server/0759-Add-option-for-strict-advancement-dimension-checks.patch)2
-rw-r--r--patches/server/0756-Add-missing-important-BlockStateListPopulator-method.patch (renamed from patches/server/0760-Add-missing-important-BlockStateListPopulator-method.patch)0
-rw-r--r--patches/server/0757-Nameable-Banner-API.patch (renamed from patches/server/0761-Nameable-Banner-API.patch)0
-rw-r--r--patches/server/0758-Don-t-broadcast-messages-to-command-blocks.patch (renamed from patches/server/0762-Don-t-broadcast-messages-to-command-blocks.patch)4
-rw-r--r--patches/server/0759-Prevent-empty-items-from-being-added-to-world.patch (renamed from patches/server/0763-Prevent-empty-items-from-being-added-to-world.patch)0
-rw-r--r--patches/server/0760-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch (renamed from patches/server/0764-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch)0
-rw-r--r--patches/server/0761-Add-Player-getFishHook.patch (renamed from patches/server/0765-Add-Player-getFishHook.patch)0
-rw-r--r--patches/server/0762-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch (renamed from patches/server/0766-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch)0
-rw-r--r--patches/server/0763-Add-various-missing-EntityDropItemEvent-calls.patch (renamed from patches/server/0767-Add-various-missing-EntityDropItemEvent-calls.patch)6
-rw-r--r--patches/server/0764-Fix-Bee-flower-NPE.patch (renamed from patches/server/0768-Fix-Bee-flower-NPE.patch)0
-rw-r--r--patches/server/0765-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch (renamed from patches/server/0769-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch)2
-rw-r--r--patches/server/0766-More-Teleport-API.patch (renamed from patches/server/0770-More-Teleport-API.patch)14
-rw-r--r--patches/server/0767-Add-EntityPortalReadyEvent.patch (renamed from patches/server/0771-Add-EntityPortalReadyEvent.patch)6
-rw-r--r--patches/server/0768-Don-t-use-level-random-in-entity-constructors.patch (renamed from patches/server/0772-Don-t-use-level-random-in-entity-constructors.patch)0
-rw-r--r--patches/server/0769-Send-block-entities-after-destroy-prediction.patch (renamed from patches/server/0773-Send-block-entities-after-destroy-prediction.patch)2
-rw-r--r--patches/server/0770-Warn-on-plugins-accessing-faraway-chunks.patch (renamed from patches/server/0774-Warn-on-plugins-accessing-faraway-chunks.patch)16
-rw-r--r--patches/server/0771-Custom-Chat-Completion-Suggestions-API.patch (renamed from patches/server/0775-Custom-Chat-Completion-Suggestions-API.patch)4
-rw-r--r--patches/server/0772-Add-and-fix-missing-BlockFadeEvents.patch (renamed from patches/server/0776-Add-and-fix-missing-BlockFadeEvents.patch)0
-rw-r--r--patches/server/0773-Collision-API.patch (renamed from patches/server/0777-Collision-API.patch)0
-rw-r--r--patches/server/0774-Fix-suggest-command-message-for-brigadier-syntax-exc.patch (renamed from patches/server/0778-Fix-suggest-command-message-for-brigadier-syntax-exc.patch)0
-rw-r--r--patches/server/0775-Block-Ticking-API.patch (renamed from patches/server/0779-Block-Ticking-API.patch)0
-rw-r--r--patches/server/0776-Add-Velocity-IP-Forwarding-Support.patch (renamed from patches/server/0780-Add-Velocity-IP-Forwarding-Support.patch)8
-rw-r--r--patches/server/0777-Add-NamespacedKey-biome-methods.patch (renamed from patches/server/0781-Add-NamespacedKey-biome-methods.patch)4
-rw-r--r--patches/server/0778-Fix-plugin-loggers-on-server-shutdown.patch (renamed from patches/server/0782-Fix-plugin-loggers-on-server-shutdown.patch)2
-rw-r--r--patches/server/0779-Stop-large-look-changes-from-crashing-the-server.patch (renamed from patches/server/0783-Stop-large-look-changes-from-crashing-the-server.patch)4
-rw-r--r--patches/server/0780-Fire-EntityChangeBlockEvent-in-more-places.patch (renamed from patches/server/0784-Fire-EntityChangeBlockEvent-in-more-places.patch)2
-rw-r--r--patches/server/0781-Missing-eating-regain-reason.patch (renamed from patches/server/0785-Missing-eating-regain-reason.patch)2
-rw-r--r--patches/server/0782-Missing-effect-cause.patch (renamed from patches/server/0786-Missing-effect-cause.patch)0
-rw-r--r--patches/server/0783-Added-byte-array-serialization-deserialization-for-P.patch (renamed from patches/server/0787-Added-byte-array-serialization-deserialization-for-P.patch)0
-rw-r--r--patches/server/0784-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch (renamed from patches/server/0788-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch)6
-rw-r--r--patches/server/0785-Call-BlockPhysicsEvent-more-often.patch (renamed from patches/server/0789-Call-BlockPhysicsEvent-more-often.patch)0
-rw-r--r--patches/server/0786-Configurable-chat-thread-limit.patch (renamed from patches/server/0790-Configurable-chat-thread-limit.patch)2
-rw-r--r--patches/server/0787-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch (renamed from patches/server/0791-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch)0
-rw-r--r--patches/server/0788-fix-Jigsaw-block-kicking-user.patch (renamed from patches/server/0792-fix-Jigsaw-block-kicking-user.patch)0
-rw-r--r--patches/server/0789-use-BlockFormEvent-for-mud-converting-into-clay.patch (renamed from patches/server/0793-use-BlockFormEvent-for-mud-converting-into-clay.patch)4
-rw-r--r--patches/server/0790-Add-getDrops-to-BlockState.patch (renamed from patches/server/0794-Add-getDrops-to-BlockState.patch)0
-rw-r--r--patches/server/0791-Fix-a-bunch-of-vanilla-bugs.patch (renamed from patches/server/0795-Fix-a-bunch-of-vanilla-bugs.patch)2
-rw-r--r--patches/server/0792-Remove-unnecessary-onTrackingStart-during-navigation.patch (renamed from patches/server/0796-Remove-unnecessary-onTrackingStart-during-navigation.patch)0
-rw-r--r--patches/server/0793-Fix-custom-piglin-loved-items.patch (renamed from patches/server/0797-Fix-custom-piglin-loved-items.patch)0
-rw-r--r--patches/server/0794-EntityPickupItemEvent-fixes.patch (renamed from patches/server/0798-EntityPickupItemEvent-fixes.patch)0
-rw-r--r--patches/server/0795-Correctly-handle-interactions-with-items-on-cooldown.patch (renamed from patches/server/0799-Correctly-handle-interactions-with-items-on-cooldown.patch)4
-rw-r--r--patches/server/0796-Add-PlayerInventorySlotChangeEvent.patch (renamed from patches/server/0800-Add-PlayerInventorySlotChangeEvent.patch)2
-rw-r--r--patches/server/0797-Elder-Guardian-appearance-API.patch (renamed from patches/server/0801-Elder-Guardian-appearance-API.patch)4
-rw-r--r--patches/server/0798-Allow-changing-bed-s-occupied-property.patch (renamed from patches/server/0802-Allow-changing-bed-s-occupied-property.patch)0
-rw-r--r--patches/server/0799-Add-entity-knockback-API.patch (renamed from patches/server/0803-Add-entity-knockback-API.patch)4
-rw-r--r--patches/server/0800-Detect-headless-JREs.patch (renamed from patches/server/0804-Detect-headless-JREs.patch)2
-rw-r--r--patches/server/0801-fix-entity-vehicle-collision-event-not-called.patch (renamed from patches/server/0805-fix-entity-vehicle-collision-event-not-called.patch)0
-rw-r--r--patches/server/0802-Add-EntityToggleSitEvent.patch (renamed from patches/server/0806-Add-EntityToggleSitEvent.patch)4
-rw-r--r--patches/server/0803-Add-fire-tick-delay-option.patch (renamed from patches/server/0807-Add-fire-tick-delay-option.patch)0
-rw-r--r--patches/server/0804-Add-Moving-Piston-API.patch (renamed from patches/server/0808-Add-Moving-Piston-API.patch)0
-rw-r--r--patches/server/0805-Ignore-impossible-spawn-tick.patch (renamed from patches/server/0809-Ignore-impossible-spawn-tick.patch)2
-rw-r--r--patches/server/0806-Track-projectile-source-for-fireworks-from-dispenser.patch (renamed from patches/server/0810-Track-projectile-source-for-fireworks-from-dispenser.patch)0
-rw-r--r--patches/server/0807-Fix-EntityArgument-suggestion-permissions-to-align-w.patch (renamed from patches/server/0811-Fix-EntityArgument-suggestion-permissions-to-align-w.patch)0
-rw-r--r--patches/server/0808-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch (renamed from patches/server/0812-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch)6
-rw-r--r--patches/server/0809-Add-PrePlayerAttackEntityEvent.patch (renamed from patches/server/0813-Add-PrePlayerAttackEntityEvent.patch)4
-rw-r--r--patches/server/0810-ensure-reset-EnderDragon-boss-event-name.patch (renamed from patches/server/0814-ensure-reset-EnderDragon-boss-event-name.patch)2
-rw-r--r--patches/server/0811-fix-MC-252817-green-map-markers-do-not-disappear.patch (renamed from patches/server/0815-fix-MC-252817-green-map-markers-do-not-disappear.patch)0
-rw-r--r--patches/server/0812-Add-Player-Warden-Warning-API.patch (renamed from patches/server/0816-Add-Player-Warden-Warning-API.patch)4
-rw-r--r--patches/server/0813-More-vanilla-friendly-methods-to-update-trades.patch (renamed from patches/server/0817-More-vanilla-friendly-methods-to-update-trades.patch)0
-rw-r--r--patches/server/0814-Add-paper-dumplisteners-command.patch (renamed from patches/server/0818-Add-paper-dumplisteners-command.patch)0
-rw-r--r--patches/server/0815-check-global-player-list-where-appropriate.patch (renamed from patches/server/0819-check-global-player-list-where-appropriate.patch)4
-rw-r--r--patches/server/0816-Fix-async-entity-add-due-to-fungus-trees.patch (renamed from patches/server/0820-Fix-async-entity-add-due-to-fungus-trees.patch)0
-rw-r--r--patches/server/0817-ItemStack-damage-API.patch (renamed from patches/server/0821-ItemStack-damage-API.patch)4
-rw-r--r--patches/server/0818-Friction-API.patch (renamed from patches/server/0822-Friction-API.patch)14
-rw-r--r--patches/server/0819-Ability-to-control-player-s-insomnia-and-phantoms.patch (renamed from patches/server/0823-Ability-to-control-player-s-insomnia-and-phantoms.patch)0
-rw-r--r--patches/server/0820-Fix-player-kick-on-shutdown.patch (renamed from patches/server/0824-Fix-player-kick-on-shutdown.patch)0
-rw-r--r--patches/server/0821-Sync-offhand-slot-in-menus.patch (renamed from patches/server/0825-Sync-offhand-slot-in-menus.patch)2
-rw-r--r--patches/server/0822-Player-Entity-Tracking-Events.patch (renamed from patches/server/0826-Player-Entity-Tracking-Events.patch)6
-rw-r--r--patches/server/0823-Limit-pet-look-distance.patch (renamed from patches/server/0827-Limit-pet-look-distance.patch)0
-rw-r--r--patches/server/0824-Fixes-and-additions-to-the-SpawnReason-API.patch (renamed from patches/server/0828-Fixes-and-additions-to-the-SpawnReason-API.patch)2
-rw-r--r--patches/server/0825-fix-Instruments.patch (renamed from patches/server/0829-fix-Instruments.patch)4
-rw-r--r--patches/server/0826-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch (renamed from patches/server/0830-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch)0
-rw-r--r--patches/server/0827-Fix-inconsistencies-in-dispense-events-regarding-sta.patch (renamed from patches/server/0831-Fix-inconsistencies-in-dispense-events-regarding-sta.patch)0
-rw-r--r--patches/server/0828-Add-BlockLockCheckEvent.patch (renamed from patches/server/0832-Add-BlockLockCheckEvent.patch)2
-rw-r--r--patches/server/0829-Add-Sneaking-API-for-Entities.patch (renamed from patches/server/0833-Add-Sneaking-API-for-Entities.patch)0
-rw-r--r--patches/server/0830-Improve-logging-and-errors.patch (renamed from patches/server/0834-Improve-logging-and-errors.patch)4
-rw-r--r--patches/server/0831-Improve-PortalEvents.patch (renamed from patches/server/0835-Improve-PortalEvents.patch)4
-rw-r--r--patches/server/0832-Add-config-option-for-spider-worldborder-climbing.patch (renamed from patches/server/0836-Add-config-option-for-spider-worldborder-climbing.patch)0
-rw-r--r--patches/server/0833-Add-missing-SpigotConfig-logCommands-check.patch (renamed from patches/server/0837-Add-missing-SpigotConfig-logCommands-check.patch)2
-rw-r--r--patches/server/0834-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch (renamed from patches/server/0838-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch)0
-rw-r--r--patches/server/0835-Flying-Fall-Damage.patch (renamed from patches/server/0839-Flying-Fall-Damage.patch)10
-rw-r--r--patches/server/0836-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch (renamed from patches/server/0840-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch)60
-rw-r--r--patches/server/0837-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch (renamed from patches/server/0841-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch)6
-rw-r--r--patches/server/0838-config-for-disabling-entity-tag-tags.patch (renamed from patches/server/0842-config-for-disabling-entity-tag-tags.patch)0
-rw-r--r--patches/server/0839-Use-single-player-info-update-packet-on-join.patch (renamed from patches/server/0843-Use-single-player-info-update-packet-on-join.patch)2
-rw-r--r--patches/server/0840-Correctly-shrink-items-during-EntityResurrectEvent.patch (renamed from patches/server/0844-Correctly-shrink-items-during-EntityResurrectEvent.patch)4
-rw-r--r--patches/server/0841-Win-Screen-API.patch (renamed from patches/server/0845-Win-Screen-API.patch)4
-rw-r--r--patches/server/0842-Remove-CraftItemStack-setAmount-null-assignment.patch (renamed from patches/server/0846-Remove-CraftItemStack-setAmount-null-assignment.patch)2
-rw-r--r--patches/server/0843-Fix-force-opening-enchantment-tables.patch (renamed from patches/server/0847-Fix-force-opening-enchantment-tables.patch)0
-rw-r--r--patches/server/0844-Add-Entity-Body-Yaw-API.patch (renamed from patches/server/0848-Add-Entity-Body-Yaw-API.patch)4
-rw-r--r--patches/server/0845-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch (renamed from patches/server/0849-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch)0
-rw-r--r--patches/server/0846-Update-the-flag-when-a-captured-block-state-is-outda.patch (renamed from patches/server/0850-Update-the-flag-when-a-captured-block-state-is-outda.patch)0
-rw-r--r--patches/server/0847-Add-EntityFertilizeEggEvent.patch (renamed from patches/server/0851-Add-EntityFertilizeEggEvent.patch)10
-rw-r--r--patches/server/0848-Fix-HumanEntity-drop-not-updating-the-client-inv.patch (renamed from patches/server/0852-Fix-HumanEntity-drop-not-updating-the-client-inv.patch)0
-rw-r--r--patches/server/0849-Add-CompostItemEvent-and-EntityCompostItemEvent.patch (renamed from patches/server/0853-Add-CompostItemEvent-and-EntityCompostItemEvent.patch)0
-rw-r--r--patches/server/0850-Correctly-handle-ArmorStand-invisibility.patch (renamed from patches/server/0854-Correctly-handle-ArmorStand-invisibility.patch)0
-rw-r--r--patches/server/0851-Fix-advancement-triggers-for-entity-damage.patch (renamed from patches/server/0855-Fix-advancement-triggers-for-entity-damage.patch)6
-rw-r--r--patches/server/0852-Fix-text-display-error-on-spawn.patch (renamed from patches/server/0856-Fix-text-display-error-on-spawn.patch)0
-rw-r--r--patches/server/0853-Fix-inventories-returning-null-Locations.patch (renamed from patches/server/0857-Fix-inventories-returning-null-Locations.patch)2
-rw-r--r--patches/server/0854-Add-Shearable-API.patch (renamed from patches/server/0858-Add-Shearable-API.patch)8
-rw-r--r--patches/server/0855-Fix-SpawnEggMeta-get-setSpawnedType.patch (renamed from patches/server/0859-Fix-SpawnEggMeta-get-setSpawnedType.patch)0
-rw-r--r--patches/server/0856-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch (renamed from patches/server/0861-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch)0
-rw-r--r--patches/server/0857-Treat-sequence-violations-like-they-should-be.patch (renamed from patches/server/0862-Treat-sequence-violations-like-they-should-be.patch)2
-rw-r--r--patches/server/0858-remove-duplicate-animate-packet-for-records.patch (renamed from patches/server/0863-remove-duplicate-animate-packet-for-records.patch)0
-rw-r--r--patches/server/0859-Prevent-causing-expired-keys-from-impacting-new-join.patch (renamed from patches/server/0864-Prevent-causing-expired-keys-from-impacting-new-join.patch)2
-rw-r--r--patches/server/0860-Fix-beehives-generating-from-using-bonemeal.patch44
-rw-r--r--patches/server/0860-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch (renamed from patches/server/0865-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch)0
-rw-r--r--patches/server/0861-Use-array-for-gamerule-storage.patch (renamed from patches/server/0866-Use-array-for-gamerule-storage.patch)8
-rw-r--r--patches/server/0862-Fix-a-couple-of-upstream-bed-issues.patch (renamed from patches/server/0867-Fix-a-couple-of-upstream-bed-issues.patch)2
-rw-r--r--patches/server/0863-Fix-demo-flag-not-enabling-demo-mode.patch (renamed from patches/server/0868-Fix-demo-flag-not-enabling-demo-mode.patch)0
-rw-r--r--patches/server/0864-Add-Mob-Experience-reward-API.patch (renamed from patches/server/0869-Add-Mob-Experience-reward-API.patch)0
-rw-r--r--patches/server/0865-Break-redstone-on-top-of-trap-doors-early.patch (renamed from patches/server/0870-Break-redstone-on-top-of-trap-doors-early.patch)0
-rw-r--r--patches/server/0866-Avoid-Lazy-Initialization-for-Enum-Fields.patch (renamed from patches/server/0872-Avoid-Lazy-Initialization-for-Enum-Fields.patch)0
-rw-r--r--patches/server/0867-More-accurate-isInOpenWater-impl.patch (renamed from patches/server/0873-More-accurate-isInOpenWater-impl.patch)0
-rw-r--r--patches/server/0868-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch (renamed from patches/server/0874-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch)0
-rw-r--r--patches/server/0869-Expand-PlayerItemMendEvent.patch (renamed from patches/server/0875-Expand-PlayerItemMendEvent.patch)8
-rw-r--r--patches/server/0870-Refresh-ProjectileSource-for-projectiles.patch (renamed from patches/server/0876-Refresh-ProjectileSource-for-projectiles.patch)2
-rw-r--r--patches/server/0871-Add-transient-modifier-API.patch (renamed from patches/server/0877-Add-transient-modifier-API.patch)0
-rw-r--r--patches/server/0871-Fix-DamageCause-for-Falling-Blocks.patch22
-rw-r--r--patches/server/0872-Fix-block-place-logic.patch (renamed from patches/server/0878-Fix-block-place-logic.patch)4
-rw-r--r--patches/server/0873-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch (renamed from patches/server/0879-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch)4
-rw-r--r--patches/server/0874-Call-BlockGrowEvent-for-missing-blocks.patch (renamed from patches/server/0880-Call-BlockGrowEvent-for-missing-blocks.patch)0
-rw-r--r--patches/server/0875-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch (renamed from patches/server/0881-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch)4
-rw-r--r--patches/server/0876-fix-MapLike-spam-for-missing-key-selector.patch (renamed from patches/server/0882-fix-MapLike-spam-for-missing-key-selector.patch)0
-rw-r--r--patches/server/0877-Fix-sniffer-removeExploredLocation.patch (renamed from patches/server/0883-Fix-sniffer-removeExploredLocation.patch)0
-rw-r--r--patches/server/0878-Add-method-to-remove-all-active-potion-effects.patch (renamed from patches/server/0884-Add-method-to-remove-all-active-potion-effects.patch)4
-rw-r--r--patches/server/0879-Fix-incorrect-crafting-result-amount-for-fireworks.patch (renamed from patches/server/0885-Fix-incorrect-crafting-result-amount-for-fireworks.patch)0
-rw-r--r--patches/server/0880-Add-event-for-player-editing-sign.patch (renamed from patches/server/0886-Add-event-for-player-editing-sign.patch)4
-rw-r--r--patches/server/0881-Only-tick-item-frames-if-players-can-see-it.patch (renamed from patches/server/0887-Only-tick-item-frames-if-players-can-see-it.patch)2
-rw-r--r--patches/server/0882-Fix-cmd-permission-levels-for-command-blocks.patch (renamed from patches/server/0888-Fix-cmd-permission-levels-for-command-blocks.patch)0
-rw-r--r--patches/server/0883-Add-option-to-disable-block-updates.patch (renamed from patches/server/0889-Add-option-to-disable-block-updates.patch)0
-rw-r--r--patches/server/0884-Call-missing-BlockDispenseEvent.patch (renamed from patches/server/0890-Call-missing-BlockDispenseEvent.patch)4
-rw-r--r--patches/server/0885-Don-t-load-chunks-for-supporting-block-checks.patch (renamed from patches/server/0891-Don-t-load-chunks-for-supporting-block-checks.patch)4
-rw-r--r--patches/server/0886-Optimize-player-lookups-for-beacons.patch (renamed from patches/server/0892-Optimize-player-lookups-for-beacons.patch)2
-rw-r--r--patches/server/0887-Add-Sign-getInteractableSideFor.patch (renamed from patches/server/0893-Add-Sign-getInteractableSideFor.patch)2
-rw-r--r--patches/server/0888-Array-backed-synched-entity-data.patch (renamed from patches/server/0894-Array-backed-synched-entity-data.patch)0
-rw-r--r--patches/server/0889-fix-item-meta-for-tadpole-buckets.patch (renamed from patches/server/0895-fix-item-meta-for-tadpole-buckets.patch)0
-rw-r--r--patches/server/0890-Fix-BanList-API.patch (renamed from patches/server/0896-Fix-BanList-API.patch)6
-rw-r--r--patches/server/0891-Determine-lava-and-water-fluid-explosion-resistance-.patch (renamed from patches/server/0897-Determine-lava-and-water-fluid-explosion-resistance-.patch)0
-rw-r--r--patches/server/0892-Fix-possible-NPE-on-painting-creation.patch (renamed from patches/server/0898-Fix-possible-NPE-on-painting-creation.patch)0
-rw-r--r--patches/server/0893-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch (renamed from patches/server/0899-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch)0
-rw-r--r--patches/server/0894-ExperienceOrb-should-call-EntitySpawnEvent.patch (renamed from patches/server/0900-ExperienceOrb-should-call-EntitySpawnEvent.patch)2
-rw-r--r--patches/server/0895-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch (renamed from patches/server/0901-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch)0
-rw-r--r--patches/server/0896-Add-whitelist-events.patch (renamed from patches/server/0902-Add-whitelist-events.patch)0
-rw-r--r--patches/server/0897-Implement-PlayerFailMoveEvent.patch (renamed from patches/server/0903-Implement-PlayerFailMoveEvent.patch)2
-rw-r--r--patches/server/0898-Folia-scheduler-and-owned-region-API.patch (renamed from patches/server/0904-Folia-scheduler-and-owned-region-API.patch)10
-rw-r--r--patches/server/0899-Only-erase-allay-memory-on-non-item-targets.patch (renamed from patches/server/0905-Only-erase-allay-memory-on-non-item-targets.patch)0
-rw-r--r--patches/server/0900-API-for-updating-recipes-on-clients.patch (renamed from patches/server/0906-API-for-updating-recipes-on-clients.patch)12
-rw-r--r--patches/server/0901-Fix-rotation-when-spawning-display-entities.patch (renamed from patches/server/0907-Fix-rotation-when-spawning-display-entities.patch)0
-rw-r--r--patches/server/0902-Only-capture-actual-tree-growth.patch (renamed from patches/server/0908-Only-capture-actual-tree-growth.patch)16
-rw-r--r--patches/server/0903-Use-correct-source-for-mushroom-block-spread-event.patch (renamed from patches/server/0909-Use-correct-source-for-mushroom-block-spread-event.patch)2
-rw-r--r--patches/server/0904-Respect-randomizeData-on-more-entities-when-spawning.patch (renamed from patches/server/0910-Respect-randomizeData-on-more-entities-when-spawning.patch)0
-rw-r--r--patches/server/0905-Use-correct-seed-on-api-world-load.patch (renamed from patches/server/0911-Use-correct-seed-on-api-world-load.patch)4
-rw-r--r--patches/server/0906-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch (renamed from patches/server/0912-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch)0
-rw-r--r--patches/server/0907-Cache-map-ids-on-item-frames.patch (renamed from patches/server/0913-Cache-map-ids-on-item-frames.patch)2
-rw-r--r--patches/server/0908-Fix-custom-statistic-criteria-creation.patch (renamed from patches/server/0914-Fix-custom-statistic-criteria-creation.patch)4
-rw-r--r--patches/server/0909-Bandaid-fix-for-Effect.patch (renamed from patches/server/0915-Bandaid-fix-for-Effect.patch)8
-rw-r--r--patches/server/0910-SculkCatalyst-bloom-API.patch (renamed from patches/server/0916-SculkCatalyst-bloom-API.patch)0
-rw-r--r--patches/server/0911-API-for-an-entity-s-scoreboard-name.patch (renamed from patches/server/0917-API-for-an-entity-s-scoreboard-name.patch)0
-rw-r--r--patches/server/0912-Deprecate-and-replace-methods-with-old-StructureType.patch (renamed from patches/server/0918-Deprecate-and-replace-methods-with-old-StructureType.patch)6
-rw-r--r--patches/server/0913-Don-t-tab-complete-namespaced-commands-if-send-names.patch (renamed from patches/server/0919-Don-t-tab-complete-namespaced-commands-if-send-names.patch)2
-rw-r--r--patches/server/0914-Properly-handle-BlockBreakEvent-isDropItems.patch (renamed from patches/server/0920-Properly-handle-BlockBreakEvent-isDropItems.patch)0
-rw-r--r--patches/server/0915-Fire-entity-death-event-for-ender-dragon.patch (renamed from patches/server/0921-Fire-entity-death-event-for-ender-dragon.patch)0
-rw-r--r--patches/server/0916-Configurable-entity-tracking-range-by-Y-coordinate.patch (renamed from patches/server/0922-Configurable-entity-tracking-range-by-Y-coordinate.patch)2
-rw-r--r--patches/server/0917-Add-Listing-API-for-Player.patch (renamed from patches/server/0923-Add-Listing-API-for-Player.patch)10
-rw-r--r--patches/server/0918-Configurable-Region-Compression-Format.patch (renamed from patches/server/0924-Configurable-Region-Compression-Format.patch)0
-rw-r--r--patches/server/0919-Add-BlockFace-to-BlockDamageEvent.patch (renamed from patches/server/0925-Add-BlockFace-to-BlockDamageEvent.patch)4
-rw-r--r--patches/server/0920-Fix-NPE-on-Boat-getStatus.patch (renamed from patches/server/0926-Fix-NPE-on-Boat-getStatus.patch)0
-rw-r--r--patches/server/0921-Expand-Pose-API.patch (renamed from patches/server/0927-Expand-Pose-API.patch)2
-rw-r--r--patches/server/0922-More-DragonBattle-API.patch (renamed from patches/server/0928-More-DragonBattle-API.patch)0
-rw-r--r--patches/server/0923-Deep-clone-unhandled-nbt-tags.patch (renamed from patches/server/0929-Deep-clone-unhandled-nbt-tags.patch)0
-rw-r--r--patches/server/0924-Add-PlayerPickItemEvent.patch (renamed from patches/server/0930-Add-PlayerPickItemEvent.patch)2
-rw-r--r--patches/server/0925-Allow-trident-custom-damage.patch (renamed from patches/server/0931-Allow-trident-custom-damage.patch)0
-rw-r--r--patches/server/0926-Expose-hand-in-BlockCanBuildEvent.patch (renamed from patches/server/0932-Expose-hand-in-BlockCanBuildEvent.patch)0
-rw-r--r--patches/server/0927-Optimize-nearest-structure-border-iteration.patch (renamed from patches/server/0933-Optimize-nearest-structure-border-iteration.patch)2
-rw-r--r--patches/server/0928-Implement-OfflinePlayer-isConnected.patch (renamed from patches/server/0934-Implement-OfflinePlayer-isConnected.patch)4
-rw-r--r--patches/server/0929-Fix-inventory-desync.patch (renamed from patches/server/0935-Fix-inventory-desync.patch)0
-rw-r--r--patches/server/0930-Add-titleOverride-to-InventoryOpenEvent.patch (renamed from patches/server/0936-Add-titleOverride-to-InventoryOpenEvent.patch)8
-rw-r--r--patches/server/0931-Configure-sniffer-egg-hatch-time.patch (renamed from patches/server/0937-Configure-sniffer-egg-hatch-time.patch)0
-rw-r--r--patches/server/0932-Do-crystal-portal-proximity-check-before-entity-look.patch (renamed from patches/server/0938-Do-crystal-portal-proximity-check-before-entity-look.patch)2
-rw-r--r--patches/server/0933-Skip-POI-finding-if-stuck-in-vehicle.patch (renamed from patches/server/0939-Skip-POI-finding-if-stuck-in-vehicle.patch)0
-rw-r--r--patches/server/0934-Add-slot-sanity-checks-in-container-clicks.patch (renamed from patches/server/0940-Add-slot-sanity-checks-in-container-clicks.patch)2
-rw-r--r--patches/server/0935-Call-BlockRedstoneEvents-for-lecterns.patch (renamed from patches/server/0941-Call-BlockRedstoneEvents-for-lecterns.patch)0
-rw-r--r--patches/server/0936-Allow-proper-checking-of-empty-item-stacks.patch (renamed from patches/server/0942-Allow-proper-checking-of-empty-item-stacks.patch)2
-rw-r--r--patches/server/0937-Fix-silent-equipment-change-for-mobs.patch (renamed from patches/server/0943-Fix-silent-equipment-change-for-mobs.patch)2
-rw-r--r--patches/server/0938-Fix-spigot-s-Forced-Stats.patch (renamed from patches/server/0944-Fix-spigot-s-Forced-Stats.patch)0
-rw-r--r--patches/server/0939-Add-missing-InventoryHolders-to-inventories.patch (renamed from patches/server/0945-Add-missing-InventoryHolders-to-inventories.patch)6
-rw-r--r--patches/server/0940-Do-not-read-tile-entities-in-chunks-that-are-positio.patch (renamed from patches/server/0946-Do-not-read-tile-entities-in-chunks-that-are-positio.patch)2
-rw-r--r--patches/server/0941-Add-missing-logs-for-log-ips-config-option.patch (renamed from patches/server/0947-Add-missing-logs-for-log-ips-config-option.patch)0
-rw-r--r--patches/server/0942-Remove-Spigot-Bug-Fix-for-MC-109346.patch (renamed from patches/server/0948-Remove-Spigot-Bug-Fix-for-MC-109346.patch)2
-rw-r--r--patches/server/0943-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch (renamed from patches/server/0949-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch)0
-rw-r--r--patches/server/0944-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch (renamed from patches/server/0950-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch)0
-rw-r--r--patches/server/0945-Fix-team-sidebar-objectives-not-being-cleared.patch (renamed from patches/server/0951-Fix-team-sidebar-objectives-not-being-cleared.patch)0
-rw-r--r--patches/server/0946-Fix-missing-map-initialize-event-call.patch (renamed from patches/server/0952-Fix-missing-map-initialize-event-call.patch)0
-rw-r--r--patches/server/0947-Update-entity-data-when-attaching-firework-to-entity.patch (renamed from patches/server/0953-Update-entity-data-when-attaching-firework-to-entity.patch)0
-rw-r--r--patches/server/0948-Use-correct-variable-for-initializing-CraftLootTable.patch (renamed from patches/server/0954-Use-correct-variable-for-initializing-CraftLootTable.patch)0
-rw-r--r--patches/server/0949-Make-setVelocity-method-of-Fireballs-change-the-trav.patch (renamed from patches/server/0955-Make-setVelocity-method-of-Fireballs-change-the-trav.patch)0
-rw-r--r--patches/server/0950-Fix-UnsafeValues-loadAdvancement.patch (renamed from patches/server/0956-Fix-UnsafeValues-loadAdvancement.patch)4
-rw-r--r--patches/server/0951-Add-player-idle-duration-API.patch (renamed from patches/server/0957-Add-player-idle-duration-API.patch)4
-rw-r--r--patches/server/0952-Don-t-check-if-we-can-see-non-visible-entities.patch (renamed from patches/server/0958-Don-t-check-if-we-can-see-non-visible-entities.patch)0
-rw-r--r--patches/server/0953-Fix-NPE-in-SculkBloomEvent-world-access.patch (renamed from patches/server/0959-Fix-NPE-in-SculkBloomEvent-world-access.patch)0
-rw-r--r--patches/server/0954-Allow-null-itemstack-for-Player-sendEquipmentChange.patch (renamed from patches/server/0960-Allow-null-itemstack-for-Player-sendEquipmentChange.patch)4
-rw-r--r--patches/server/0955-Optimize-VarInts.patch (renamed from patches/server/0961-Optimize-VarInts.patch)0
-rw-r--r--patches/server/0956-Add-API-to-get-the-collision-shape-of-a-block-before.patch (renamed from patches/server/0962-Add-API-to-get-the-collision-shape-of-a-block-before.patch)0
-rw-r--r--patches/server/0957-Add-predicate-for-blocks-when-raytracing.patch (renamed from patches/server/0963-Add-predicate-for-blocks-when-raytracing.patch)8
-rw-r--r--patches/server/0958-Broadcast-take-item-packets-with-collector-as-source.patch (renamed from patches/server/0964-Broadcast-take-item-packets-with-collector-as-source.patch)4
-rw-r--r--patches/server/0959-Expand-LingeringPotion-API.patch (renamed from patches/server/0965-Expand-LingeringPotion-API.patch)2
-rw-r--r--patches/server/0960-Add-MaterialTagsTest.patch (renamed from patches/server/0966-Add-MaterialTagsTest.patch)0
-rw-r--r--patches/server/0961-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch (renamed from patches/server/0967-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch)4
-rw-r--r--patches/server/0962-Add-hand-to-fish-event-for-all-player-interactions.patch (renamed from patches/server/0968-Add-hand-to-fish-event-for-all-player-interactions.patch)2
-rw-r--r--patches/server/0963-Fix-several-issues-with-EntityBreedEvent.patch (renamed from patches/server/0969-Fix-several-issues-with-EntityBreedEvent.patch)2
-rw-r--r--patches/server/0964-Add-UUID-attribute-modifier-API.patch (renamed from patches/server/0970-Add-UUID-attribute-modifier-API.patch)0
-rw-r--r--patches/server/0965-Fix-missing-event-call-for-entity-teleport-API.patch (renamed from patches/server/0971-Fix-missing-event-call-for-entity-teleport-API.patch)0
-rw-r--r--patches/server/0966-Lazily-create-LootContext-for-criterions.patch (renamed from patches/server/0972-Lazily-create-LootContext-for-criterions.patch)0
-rw-r--r--patches/server/0967-Don-t-fire-sync-events-during-worldgen.patch (renamed from patches/server/0973-Don-t-fire-sync-events-during-worldgen.patch)10
-rw-r--r--patches/server/0968-Add-Structure-check-API.patch (renamed from patches/server/0974-Add-Structure-check-API.patch)4
-rw-r--r--patches/server/0969-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch (renamed from patches/server/0975-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch)0
-rw-r--r--patches/server/0970-Restore-vanilla-entity-drops-behavior.patch (renamed from patches/server/0976-Restore-vanilla-entity-drops-behavior.patch)14
-rw-r--r--patches/server/0971-Dont-resend-blocks-on-interactions.patch (renamed from patches/server/0977-Dont-resend-blocks-on-interactions.patch)4
-rw-r--r--patches/server/0972-add-more-scoreboard-API.patch (renamed from patches/server/0978-add-more-scoreboard-API.patch)0
-rw-r--r--patches/server/0973-Improve-Registry.patch (renamed from patches/server/0979-Improve-Registry.patch)8
-rw-r--r--patches/server/0974-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch (renamed from patches/server/0980-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch)4
-rw-r--r--patches/server/0975-Add-experience-points-API.patch (renamed from patches/server/0981-Add-experience-points-API.patch)8
-rw-r--r--patches/server/0976-Add-drops-to-shear-events.patch (renamed from patches/server/0982-Add-drops-to-shear-events.patch)8
-rw-r--r--patches/server/0977-Add-PlayerShieldDisableEvent.patch (renamed from patches/server/0983-Add-PlayerShieldDisableEvent.patch)10
-rw-r--r--patches/server/0978-Validate-ResourceLocation-in-NBT-reading.patch (renamed from patches/server/0984-Validate-ResourceLocation-in-NBT-reading.patch)6
-rw-r--r--patches/server/0979-Properly-handle-experience-dropping-on-block-break.patch (renamed from patches/server/0985-Properly-handle-experience-dropping-on-block-break.patch)0
-rw-r--r--patches/server/0980-Fixup-NamespacedKey-handling.patch (renamed from patches/server/0986-Fixup-NamespacedKey-handling.patch)0
-rw-r--r--patches/server/0981-Expose-LootTable-of-DecoratedPot.patch (renamed from patches/server/0987-Expose-LootTable-of-DecoratedPot.patch)0
-rw-r--r--patches/server/0982-Reduce-allocation-of-Vec3D-by-entity-tracker.patch (renamed from patches/server/0988-Reduce-allocation-of-Vec3D-by-entity-tracker.patch)0
-rw-r--r--patches/server/0983-Rewrite-dataconverter-system.patch (renamed from patches/server/0989-Rewrite-dataconverter-system.patch)6
-rw-r--r--patches/server/0984-Starlight.patch (renamed from patches/server/0990-Starlight.patch)6
-rw-r--r--patches/server/0985-Rewrite-chunk-system.patch (renamed from patches/server/0991-Rewrite-chunk-system.patch)50
-rw-r--r--patches/server/0986-incremental-chunk-and-player-saving.patch (renamed from patches/server/0992-incremental-chunk-and-player-saving.patch)6
-rw-r--r--patches/server/0987-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch (renamed from patches/server/0993-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch)0
-rw-r--r--patches/server/0988-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch (renamed from patches/server/0994-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch)4
-rw-r--r--patches/server/0989-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch (renamed from patches/server/0995-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch)4
-rw-r--r--patches/server/0990-Optimize-Network-Manager-and-add-advanced-packet-sup.patch (renamed from patches/server/0996-Optimize-Network-Manager-and-add-advanced-packet-sup.patch)2
-rw-r--r--patches/server/0991-Allow-Saving-of-Oversized-Chunks.patch (renamed from patches/server/0997-Allow-Saving-of-Oversized-Chunks.patch)0
-rw-r--r--patches/server/0992-Fix-World-isChunkGenerated-calls.patch (renamed from patches/server/0998-Fix-World-isChunkGenerated-calls.patch)6
-rw-r--r--patches/server/0993-Flat-bedrock-generator-settings.patch (renamed from patches/server/0999-Flat-bedrock-generator-settings.patch)0
-rw-r--r--patches/server/0994-Entity-Activation-Range-2.0.patch (renamed from patches/server/1000-Entity-Activation-Range-2.0.patch)8
-rw-r--r--patches/server/0995-Optional-per-player-mob-spawns.patch (renamed from patches/server/1001-Optional-per-player-mob-spawns.patch)2
-rw-r--r--patches/server/0996-Anti-Xray.patch (renamed from patches/server/1002-Anti-Xray.patch)14
-rw-r--r--patches/server/0997-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch (renamed from patches/server/1003-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch)4
-rw-r--r--patches/server/0998-Optimize-Collision-to-not-load-chunks.patch (renamed from patches/server/1004-Optimize-Collision-to-not-load-chunks.patch)4
-rw-r--r--patches/server/0999-Optimize-GoalSelector-Goal.Flag-Set-operations.patch (renamed from patches/server/1005-Optimize-GoalSelector-Goal.Flag-Set-operations.patch)0
-rw-r--r--patches/server/1000-Entity-load-save-limit-per-chunk.patch (renamed from patches/server/1006-Entity-load-save-limit-per-chunk.patch)0
-rw-r--r--patches/server/1001-Fix-and-optimise-world-force-upgrading.patch (renamed from patches/server/1007-Fix-and-optimise-world-force-upgrading.patch)6
-rw-r--r--patches/server/1002-Improved-Watchdog-Support.patch (renamed from patches/server/1008-Improved-Watchdog-Support.patch)4
-rw-r--r--patches/server/1003-Optimize-Voxel-Shape-Merging.patch (renamed from patches/server/1009-Optimize-Voxel-Shape-Merging.patch)0
-rw-r--r--patches/server/1004-Write-SavedData-IO-async.patch (renamed from patches/server/1010-Write-SavedData-IO-async.patch)0
-rw-r--r--patches/server/1005-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch (renamed from patches/server/1011-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch)2
-rw-r--r--patches/server/1006-Use-distance-map-to-optimise-entity-tracker.patch (renamed from patches/server/1012-Use-distance-map-to-optimise-entity-tracker.patch)2
-rw-r--r--patches/server/1007-Optimize-Bit-Operations-by-inlining.patch (renamed from patches/server/1013-Optimize-Bit-Operations-by-inlining.patch)0
-rw-r--r--patches/server/1008-Remove-streams-from-hot-code.patch (renamed from patches/server/1014-Remove-streams-from-hot-code.patch)0
-rw-r--r--patches/server/1009-Eigencraft-redstone-implementation.patch (renamed from patches/server/1015-Eigencraft-redstone-implementation.patch)0
-rw-r--r--patches/server/1010-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch (renamed from patches/server/1016-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch)0
-rw-r--r--patches/server/1011-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch (renamed from patches/server/1017-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch)0
-rw-r--r--patches/server/1012-Improve-boat-collision-performance.patch (renamed from patches/server/1018-Improve-boat-collision-performance.patch)8
-rw-r--r--patches/server/1013-Optimise-general-POI-access.patch (renamed from patches/server/1019-Optimise-general-POI-access.patch)0
-rw-r--r--patches/server/1014-Custom-table-implementation-for-blockstate-state-loo.patch (renamed from patches/server/1020-Custom-table-implementation-for-blockstate-state-loo.patch)0
-rw-r--r--patches/server/1015-Execute-chunk-tasks-mid-tick.patch (renamed from patches/server/1021-Execute-chunk-tasks-mid-tick.patch)0
-rw-r--r--patches/server/1016-Optimise-random-block-ticking.patch (renamed from patches/server/1022-Optimise-random-block-ticking.patch)2
-rw-r--r--patches/server/1017-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch (renamed from patches/server/1023-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch)2
-rw-r--r--patches/server/1018-Use-Velocity-compression-and-cipher-natives.patch (renamed from patches/server/1024-Use-Velocity-compression-and-cipher-natives.patch)4
-rw-r--r--patches/server/1019-Detail-more-information-in-watchdog-dumps.patch (renamed from patches/server/1025-Detail-more-information-in-watchdog-dumps.patch)12
-rw-r--r--patches/server/1020-Collision-optimisations.patch (renamed from patches/server/1026-Collision-optimisations.patch)10
-rw-r--r--patches/server/1021-Optimise-collision-checking-in-player-move-packet-ha.patch (renamed from patches/server/1027-Optimise-collision-checking-in-player-move-packet-ha.patch)2
-rw-r--r--patches/server/1022-Fix-tripwire-state-inconsistency.patch (renamed from patches/server/1028-Fix-tripwire-state-inconsistency.patch)0
-rw-r--r--patches/server/1023-Fix-entity-type-tags-suggestions-in-selectors.patch (renamed from patches/server/1029-Fix-entity-type-tags-suggestions-in-selectors.patch)0
-rw-r--r--patches/server/1024-Add-Alternate-Current-redstone-implementation.patch (renamed from patches/server/1030-Add-Alternate-Current-redstone-implementation.patch)0
-rw-r--r--patches/server/1025-optimize-dirt-and-snow-spreading.patch (renamed from patches/server/1031-optimize-dirt-and-snow-spreading.patch)0
-rw-r--r--patches/server/1026-Properly-resend-entities.patch (renamed from patches/server/1032-Properly-resend-entities.patch)6
-rw-r--r--patches/server/1027-Optimize-Hoppers.patch (renamed from patches/server/1033-Optimize-Hoppers.patch)4
-rw-r--r--patches/server/1028-Improve-performance-of-mass-crafts.patch (renamed from patches/server/1034-Improve-performance-of-mass-crafts.patch)0
-rw-r--r--patches/server/1029-Actually-optimise-explosions.patch (renamed from patches/server/1035-Actually-optimise-explosions.patch)12
-rw-r--r--patches/server/1030-Optimise-chunk-tick-iteration.patch (renamed from patches/server/1036-Optimise-chunk-tick-iteration.patch)2
-rw-r--r--patches/server/1031-Lag-compensation-ticks.patch (renamed from patches/server/1037-Lag-compensation-ticks.patch)12
-rw-r--r--patches/server/1032-Optimise-nearby-player-retrieval.patch (renamed from patches/server/1038-Optimise-nearby-player-retrieval.patch)0
-rw-r--r--patches/server/1033-Distance-manager-tick-timings.patch (renamed from patches/server/1039-Distance-manager-tick-timings.patch)0
-rw-r--r--patches/server/1034-Handle-Oversized-block-entities-in-chunks.patch (renamed from patches/server/1040-Handle-Oversized-block-entities-in-chunks.patch)0
-rw-r--r--patches/server/1035-Send-full-pos-packets-for-hard-colliding-entities.patch (renamed from patches/server/1041-Send-full-pos-packets-for-hard-colliding-entities.patch)0
-rw-r--r--patches/server/1036-Add-ShulkerDuplicateEvent.patch (renamed from patches/server/1042-Add-ShulkerDuplicateEvent.patch)0
-rw-r--r--patches/server/1037-Add-api-for-spawn-egg-texture-colors.patch (renamed from patches/server/1043-Add-api-for-spawn-egg-texture-colors.patch)4
-rw-r--r--patches/server/1038-Disable-memory-reserve-allocating.patch (renamed from patches/server/1044-Disable-memory-reserve-allocating.patch)0
-rw-r--r--patches/server/1039-Improve-tag-parser-handling.patch (renamed from patches/server/1045-Improve-tag-parser-handling.patch)2
-rw-r--r--patches/server/1040-Add-Lifecycle-Event-system.patch (renamed from patches/server/1046-Add-Lifecycle-Event-system.patch)8
-rw-r--r--patches/server/1041-Conduit-API.patch (renamed from patches/server/1047-Conduit-API.patch)4
-rw-r--r--patches/server/1042-ItemStack-Tooltip-API.patch (renamed from patches/server/1048-ItemStack-Tooltip-API.patch)4
-rw-r--r--patches/server/1043-Fix-possible-StackOverflowError-for-some-dispenses.patch (renamed from patches/server/1049-Fix-possible-StackOverflowError-for-some-dispenses.patch)0
-rw-r--r--patches/server/1044-Properly-track-the-changed-item-from-dispense-events.patch (renamed from patches/server/1050-Properly-track-the-changed-item-from-dispense-events.patch)0
-rw-r--r--patches/server/1045-Add-getChunkSnapshot-includeLightData-parameter.patch (renamed from patches/server/1051-Add-getChunkSnapshot-includeLightData-parameter.patch)8
m---------work/Bukkit0
m---------work/CraftBukkit0
1161 files changed, 1944 insertions, 2296 deletions
diff --git a/patches/api/0001-Convert-project-to-Gradle.patch b/patches/api/0001-Convert-project-to-Gradle.patch
index 509ab41f15..4bcaee9295 100644
--- a/patches/api/0001-Convert-project-to-Gradle.patch
+++ b/patches/api/0001-Convert-project-to-Gradle.patch
@@ -124,7 +124,7 @@ index 0000000000000000000000000000000000000000..4311f6dde7372a069f462158fba76d9d
+}
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
-index 741ea21a1ccd141d065f5e12349af38f097a8915..0000000000000000000000000000000000000000
+index 0861b44936958613beba670b0d82e21d3aaf388b..0000000000000000000000000000000000000000
--- a/pom.xml
+++ /dev/null
@@ -1,277 +0,0 @@
@@ -144,8 +144,8 @@ index 741ea21a1ccd141d065f5e12349af38f097a8915..00000000000000000000000000000000
-
- <properties>
- <skipTests>true</skipTests>
-- <maven.compiler.source>1.8</maven.compiler.source>
-- <maven.compiler.target>1.8</maven.compiler.target>
+- <maven.compiler.source>17</maven.compiler.source>
+- <maven.compiler.target>17</maven.compiler.target>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
-
diff --git a/patches/api/0006-Adventure.patch b/patches/api/0006-Adventure.patch
index 1dbe876202..eb57e4f25e 100644
--- a/patches/api/0006-Adventure.patch
+++ b/patches/api/0006-Adventure.patch
@@ -779,10 +779,10 @@ index 0000000000000000000000000000000000000000..6e94562d79206d88b74b53814f9423f1
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 5680a77cc98cdb4b4c002d1366e775acaf747e51..a0fce496d2b90f484d2723c4ea4099ad29dc438f 100644
+index 2e619279cb06cbe26bb4933a0312b245f8691d0b..bd1a010bb4e18a16d02549d64333ce7641be7910 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -400,7 +400,9 @@ public final class Bukkit {
+@@ -420,7 +420,9 @@ public final class Bukkit {
*
* @param message the message
* @return the number of players
@@ -792,7 +792,7 @@ index 5680a77cc98cdb4b4c002d1366e775acaf747e51..a0fce496d2b90f484d2723c4ea4099ad
public static int broadcastMessage(@NotNull String message) {
return server.broadcastMessage(message);
}
-@@ -1191,6 +1193,19 @@ public final class Bukkit {
+@@ -1211,6 +1213,19 @@ public final class Bukkit {
server.shutdown();
}
@@ -812,7 +812,7 @@ index 5680a77cc98cdb4b4c002d1366e775acaf747e51..a0fce496d2b90f484d2723c4ea4099ad
/**
* Broadcasts the specified message to every user with the given
* permission name.
-@@ -1200,6 +1215,21 @@ public final class Bukkit {
+@@ -1220,6 +1235,21 @@ public final class Bukkit {
* permissibles} must have to receive the broadcast
* @return number of message recipients
*/
@@ -834,7 +834,7 @@ index 5680a77cc98cdb4b4c002d1366e775acaf747e51..a0fce496d2b90f484d2723c4ea4099ad
public static int broadcast(@NotNull String message, @NotNull String permission) {
return server.broadcast(message, permission);
}
-@@ -1461,6 +1491,7 @@ public final class Bukkit {
+@@ -1481,6 +1511,7 @@ public final class Bukkit {
return server.createInventory(owner, type);
}
@@ -842,7 +842,7 @@ index 5680a77cc98cdb4b4c002d1366e775acaf747e51..a0fce496d2b90f484d2723c4ea4099ad
/**
* 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;
-@@ -1486,6 +1517,38 @@ public final class Bukkit {
+@@ -1506,6 +1537,38 @@ public final class Bukkit {
* @see InventoryType#isCreatable()
*/
@NotNull
@@ -881,7 +881,7 @@ index 5680a77cc98cdb4b4c002d1366e775acaf747e51..a0fce496d2b90f484d2723c4ea4099ad
public static Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title) {
return server.createInventory(owner, type, title);
}
-@@ -1504,6 +1567,7 @@ public final class Bukkit {
+@@ -1524,6 +1587,7 @@ public final class Bukkit {
return server.createInventory(owner, size);
}
@@ -889,7 +889,7 @@ index 5680a77cc98cdb4b4c002d1366e775acaf747e51..a0fce496d2b90f484d2723c4ea4099ad
/**
* Creates an empty inventory of type {@link InventoryType#CHEST} with the
* specified size and title.
-@@ -1516,10 +1580,30 @@ public final class Bukkit {
+@@ -1536,10 +1600,30 @@ public final class Bukkit {
* @throws IllegalArgumentException if the size is not a multiple of 9
*/
@NotNull
@@ -920,7 +920,7 @@ index 5680a77cc98cdb4b4c002d1366e775acaf747e51..a0fce496d2b90f484d2723c4ea4099ad
/**
* Creates an empty merchant.
*
-@@ -1527,7 +1611,20 @@ public final class Bukkit {
+@@ -1547,7 +1631,20 @@ public final class Bukkit {
* when the merchant inventory is viewed
* @return a new merchant
*/
@@ -941,7 +941,7 @@ index 5680a77cc98cdb4b4c002d1366e775acaf747e51..a0fce496d2b90f484d2723c4ea4099ad
public static Merchant createMerchant(@Nullable String title) {
return server.createMerchant(title);
}
-@@ -1644,12 +1741,43 @@ public final class Bukkit {
+@@ -1664,12 +1761,43 @@ public final class Bukkit {
return server.isPrimaryThread();
}
@@ -985,7 +985,7 @@ index 5680a77cc98cdb4b4c002d1366e775acaf747e51..a0fce496d2b90f484d2723c4ea4099ad
public static String getMotd() {
return server.getMotd();
}
-@@ -1658,7 +1786,9 @@ public final class Bukkit {
+@@ -1678,7 +1806,9 @@ public final class Bukkit {
* Set the message that is displayed on the server list.
*
* @param motd The message to be displayed
@@ -995,7 +995,7 @@ index 5680a77cc98cdb4b4c002d1366e775acaf747e51..a0fce496d2b90f484d2723c4ea4099ad
public static void setMotd(@NotNull String motd) {
server.setMotd(motd);
}
-@@ -1667,8 +1797,10 @@ public final class Bukkit {
+@@ -1687,8 +1817,10 @@ public final class Bukkit {
* Gets the default message that is displayed when the server is stopped.
*
* @return the shutdown message
@@ -1177,10 +1177,10 @@ index ae7b51341fb66c41b8a7c4604fd273d876e311be..4034fcb9abc39b12f0de47c4b679f2ef
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index c394954cab8213bd1073356524cdd5705ef54d12..83ae1490f6c48d931541e13f76950fcdc62a5c01 100644
+index 76b365f98b81234ae1c35014387b0e44f722d5ea..6aed59819cc3d70f1b5975c3c7df40cc0b0afd8a 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -62,13 +62,13 @@ import org.jetbrains.annotations.Nullable;
+@@ -63,13 +63,13 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a server implementation.
*/
@@ -1196,7 +1196,7 @@ index c394954cab8213bd1073356524cdd5705ef54d12..83ae1490f6c48d931541e13f76950fcd
*/
public static final String BROADCAST_CHANNEL_ADMINISTRATIVE = "bukkit.broadcast.admin";
-@@ -76,7 +76,7 @@ public interface Server extends PluginMessageRecipient {
+@@ -77,7 +77,7 @@ public interface Server extends PluginMessageRecipient {
* Used for all announcement messages, such as informing users that a
* player has joined.
* <p>
@@ -1205,7 +1205,7 @@ index c394954cab8213bd1073356524cdd5705ef54d12..83ae1490f6c48d931541e13f76950fcd
*/
public static final String BROADCAST_CHANNEL_USERS = "bukkit.broadcast.user";
-@@ -337,7 +337,9 @@ public interface Server extends PluginMessageRecipient {
+@@ -353,7 +353,9 @@ public interface Server extends PluginMessageRecipient {
*
* @param message the message
* @return the number of players
@@ -1215,7 +1215,7 @@ index c394954cab8213bd1073356524cdd5705ef54d12..83ae1490f6c48d931541e13f76950fcd
public int broadcastMessage(@NotNull String message);
/**
-@@ -1023,8 +1025,33 @@ public interface Server extends PluginMessageRecipient {
+@@ -1039,8 +1041,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
@@ -1249,7 +1249,7 @@ index c394954cab8213bd1073356524cdd5705ef54d12..83ae1490f6c48d931541e13f76950fcd
/**
* Gets the player by the given name, regardless if they are offline or
-@@ -1241,6 +1268,35 @@ public interface Server extends PluginMessageRecipient {
+@@ -1257,6 +1284,35 @@ public interface Server extends PluginMessageRecipient {
@NotNull
Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type);
@@ -1285,7 +1285,7 @@ index c394954cab8213bd1073356524cdd5705ef54d12..83ae1490f6c48d931541e13f76950fcd
/**
* 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;
-@@ -1262,9 +1318,11 @@ public interface Server extends PluginMessageRecipient {
+@@ -1278,9 +1334,11 @@ public interface Server extends PluginMessageRecipient {
* @return The new inventory.
* @throws IllegalArgumentException if the {@link InventoryType} cannot be
* viewed.
@@ -1297,7 +1297,7 @@ index c394954cab8213bd1073356524cdd5705ef54d12..83ae1490f6c48d931541e13f76950fcd
@NotNull
Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title);
-@@ -1280,6 +1338,22 @@ public interface Server extends PluginMessageRecipient {
+@@ -1296,6 +1354,22 @@ public interface Server extends PluginMessageRecipient {
@NotNull
Inventory createInventory(@Nullable InventoryHolder owner, int size) throws IllegalArgumentException;
@@ -1320,7 +1320,7 @@ index c394954cab8213bd1073356524cdd5705ef54d12..83ae1490f6c48d931541e13f76950fcd
/**
* Creates an empty inventory of type {@link InventoryType#CHEST} with the
* specified size and title.
-@@ -1290,18 +1364,32 @@ public interface Server extends PluginMessageRecipient {
+@@ -1306,18 +1380,32 @@ public interface Server extends PluginMessageRecipient {
* viewed
* @return a new inventory
* @throws IllegalArgumentException if the size is not a multiple of 9
@@ -1353,7 +1353,7 @@ index c394954cab8213bd1073356524cdd5705ef54d12..83ae1490f6c48d931541e13f76950fcd
Merchant createMerchant(@Nullable String title);
/**
-@@ -1397,27 +1485,56 @@ public interface Server extends PluginMessageRecipient {
+@@ -1413,27 +1501,56 @@ public interface Server extends PluginMessageRecipient {
*/
boolean isPrimaryThread();
@@ -1410,7 +1410,7 @@ index c394954cab8213bd1073356524cdd5705ef54d12..83ae1490f6c48d931541e13f76950fcd
String getShutdownMessage();
/**
-@@ -1799,7 +1916,9 @@ public interface Server extends PluginMessageRecipient {
+@@ -1815,7 +1932,9 @@ public interface Server extends PluginMessageRecipient {
* Sends the component to the player
*
* @param component the components to send
@@ -1420,7 +1420,7 @@ index c394954cab8213bd1073356524cdd5705ef54d12..83ae1490f6c48d931541e13f76950fcd
public void broadcast(@NotNull net.md_5.bungee.api.chat.BaseComponent component) {
throw new UnsupportedOperationException("Not supported yet.");
}
-@@ -1808,7 +1927,9 @@ public interface Server extends PluginMessageRecipient {
+@@ -1824,7 +1943,9 @@ public interface Server extends PluginMessageRecipient {
* Sends an array of components as a single message to the player
*
* @param components the components to send
@@ -1492,10 +1492,10 @@ index ac5e263d737973af077e3406a84a84baca4370db..2d91924b7f5ef16a91d40cdc1bfc3d68
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 4a9a82540e40685d2b837c76c431827a00cf4ba3..a3ee6f2f588bc9c87e49378359f450820b9af1b9 100644
+index 6ca5f7a85087ca1c7e5e2d940bd3c65b84d2d356..0f902aec66ec550f80709f7f314ca90d374ebb53 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -26,6 +26,15 @@ import org.jetbrains.annotations.Nullable;
+@@ -30,6 +30,15 @@ import org.jetbrains.annotations.Nullable;
*/
@Deprecated
public interface UnsafeValues {
@@ -1524,10 +1524,10 @@ index efb97712cc9dc7c1e12a59f5b94e4f2ad7c6b7d8..3024468af4c073324e536c1cb26beffb
return warning == null || warning.value();
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index d453a9753620e23e93e24b0c62bec5515d11dbcc..4c878531d9d8d0aee6832fd10b339a32f219fa9a 100644
+index 0fd2e9ee1a8cf4456a1e5fe6579d767c5dcb4d9a..d76db156a7eeefaac3c96d2d547fddecefbd863e 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -45,7 +45,7 @@ import org.jetbrains.annotations.Nullable;
+@@ -47,7 +47,7 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a world, which may contain entities, chunks and blocks
*/
@@ -1536,7 +1536,7 @@ index d453a9753620e23e93e24b0c62bec5515d11dbcc..4c878531d9d8d0aee6832fd10b339a32
/**
* Gets the {@link Block} at the given coordinates
-@@ -606,6 +606,14 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -608,6 +608,14 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@NotNull
public List<Player> getPlayers();
@@ -2116,7 +2116,7 @@ index 7ad7bcf9a9333c8d6d1d7cab53a6d457ec20bbf6..c4f86ba1037f3f0e5d697a0962d71d6f
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index 8532b8484d5a493c1c37ad7508597f624f1831c8..978431fd88cfb7d42fcdea8c904633df5c64daed 100644
+index cc577b5af6832ea9c98aceb587de378095277ada..0025139f403cfc80ace9f8584ccf42d3a5cbb718 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -30,7 +30,7 @@ import org.jetbrains.annotations.Nullable;
@@ -2128,7 +2128,7 @@ index 8532b8484d5a493c1c37ad7508597f624f1831c8..978431fd88cfb7d42fcdea8c904633df
/**
* Gets the entity's current position
-@@ -768,4 +768,20 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
+@@ -763,4 +763,20 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
@Override
Spigot spigot();
// Spigot end
@@ -2150,10 +2150,10 @@ index 8532b8484d5a493c1c37ad7508597f624f1831c8..978431fd88cfb7d42fcdea8c904633df
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e87ca26dec 100644
+index 764390e5b258ab3cadedb14be00d0c0d601b8a1f..5c55715c8cdd79f2214b265a81d94a8904c998ea 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -52,7 +52,41 @@ import org.jetbrains.annotations.Nullable;
+@@ -54,7 +54,41 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a player, connected or not
*/
@@ -2196,7 +2196,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
/**
* {@inheritDoc}
-@@ -69,7 +103,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -71,7 +105,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* places defined by plugins.
*
* @return the friendly name
@@ -2206,7 +2206,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
@NotNull
public String getDisplayName();
-@@ -81,15 +117,50 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -83,15 +119,50 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* places defined by plugins.
*
* @param name The new display name.
@@ -2257,7 +2257,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
public String getPlayerListName();
/**
-@@ -98,14 +169,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -100,14 +171,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* If the value is null, the name will be identical to {@link #getName()}.
*
* @param name new player list name
@@ -2276,7 +2276,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
@Nullable
public String getPlayerListHeader();
-@@ -113,7 +188,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -115,7 +190,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Gets the currently displayed player list footer for this player.
*
* @return player list header or null
@@ -2286,7 +2286,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
@Nullable
public String getPlayerListFooter();
-@@ -121,14 +198,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -123,14 +200,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Sets the currently displayed player list header for this player.
*
* @param header player list header, null for empty
@@ -2305,7 +2305,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
public void setPlayerListFooter(@Nullable String footer);
/**
-@@ -137,7 +218,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -139,7 +220,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param header player list header, null for empty
* @param footer player list footer, null for empty
@@ -2315,7 +2315,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
public void setPlayerListHeaderFooter(@Nullable String header, @Nullable String footer);
/**
-@@ -175,9 +258,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -177,9 +260,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Kicks player with custom kick message.
*
* @param message kick message
@@ -2341,7 +2341,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
/**
* Adds this user to the {@link ProfileBanList}. If a previous ban exists, this will
* update the entry.
-@@ -840,6 +939,106 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -842,6 +941,106 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull Map<EquipmentSlot, ItemStack> items);
@@ -2448,7 +2448,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
/**
* Send a sign change. This fakes a sign change packet for a user at
* a certain location. This will not actually change the world in any way.
-@@ -857,7 +1056,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -859,7 +1058,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param lines the new text on the sign or null to clear it
* @throws IllegalArgumentException if location is null
* @throws IllegalArgumentException if lines is non-null and has a length less than 4
@@ -2460,7 +2460,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines) throws IllegalArgumentException;
/**
-@@ -879,7 +1082,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -881,7 +1084,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException if location is null
* @throws IllegalArgumentException if dyeColor is null
* @throws IllegalArgumentException if lines is non-null and has a length less than 4
@@ -2472,7 +2472,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException;
/**
-@@ -902,7 +1109,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -904,7 +1111,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException if location is null
* @throws IllegalArgumentException if dyeColor is null
* @throws IllegalArgumentException if lines is non-null and has a length less than 4
@@ -2484,7 +2484,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor, boolean hasGlowingText) throws IllegalArgumentException;
/**
-@@ -1350,7 +1561,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1372,7 +1583,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException Thrown if the URL is null.
* @throws IllegalArgumentException Thrown if the URL is too long.
* @deprecated Minecraft no longer uses textures packs. Instead you
@@ -2493,7 +2493,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
*/
@Deprecated
public void setTexturePack(@NotNull String url);
-@@ -1386,7 +1597,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1408,7 +1619,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException Thrown if the URL is null.
* @throws IllegalArgumentException Thrown if the URL is too long. The
* length restriction is an implementation specific arbitrary value.
@@ -2503,7 +2503,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
public void setResourcePack(@NotNull String url);
/**
-@@ -1418,6 +1631,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1440,6 +1653,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* pack correctly.
* </ul>
*
@@ -2511,7 +2511,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
* @param url The URL from which the client will download the resource
* pack. The string must contain only US-ASCII characters and should
* be encoded as per RFC 1738.
-@@ -1430,6 +1644,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1452,6 +1666,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
*/
@@ -2519,7 +2519,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
public void setResourcePack(@NotNull String url, @Nullable byte[] hash);
/**
-@@ -1454,12 +1669,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1476,12 +1691,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
* <li>To remove a resource pack you can use
@@ -2534,7 +2534,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
* @param url The URL from which the client will download the resource
* pack. The string must contain only US-ASCII characters and should
* be encoded as per RFC 1738.
-@@ -1473,8 +1689,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1495,8 +1711,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
*/
@@ -2542,28 +2542,14 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
public void setResourcePack(@NotNull String url, @Nullable byte[] hash, @Nullable String prompt);
+ // Paper start
-+ /**
-+ * Request that the player's client download and switch resource packs.
-+ * <p>
-+ * The player's client will download the new resource pack asynchronously
-+ * in the background, and will automatically switch to it once the
-+ * download is complete. If the client has downloaded and cached a
-+ * resource pack with the same hash in the past it will not download but
-+ * directly apply the cached pack. If the hash is null and the client has
-+ * downloaded and cached the same resource pack in the past, it will
-+ * perform a file size check against the response content to determine if
-+ * the resource pack has changed and needs to be downloaded again. When
-+ * this request is sent for the very first time from a given server, the
-+ * client will first display a confirmation GUI to the player before
-+ * proceeding with the download.
-+ * <p>
-+ * Notes:
-+ * <ul>
-+ * <li>Players can disable server resources on their client, in which
-+ * case this method will have no affect on them. Use the
-+ * {@link PlayerResourcePackStatusEvent} to figure out whether or not
-+ * the player loaded the pack!
-+ * <li>To remove a resource pack you can use
+ /**
+ * Request that the player's client download and switch resource packs.
+ * <p>
+@@ -1519,7 +1737,54 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+ * {@link PlayerResourcePackStatusEvent} to figure out whether or not
+ * the player loaded the pack!
+ * <li>To remove a resource pack you can use
+- * {@link #removeResourcePack(UUID)} or {@link #removeResourcePacks()}.
+ * {@link #removeResourcePacks(UUID, UUID...)} or {@link #clearResourcePacks()}.
+ * <li>The request is sent with empty string as the hash when the hash is
+ * not provided. This might result in newer versions not loading the
@@ -2589,19 +2575,33 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
+ }
+ // Paper end
+
- /**
- * Request that the player's client download and switch resource packs.
- * <p>
-@@ -1497,7 +1762,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
- * {@link PlayerResourcePackStatusEvent} to figure out whether or not
- * the player loaded the pack!
- * <li>To remove a resource pack you can use
-- * {@link #removeResourcePack(UUID)} or {@link #removeResourcePacks()}.
++ /**
++ * Request that the player's client download and switch resource packs.
++ * <p>
++ * The player's client will download the new resource pack asynchronously
++ * in the background, and will automatically switch to it once the
++ * download is complete. If the client has downloaded and cached a
++ * resource pack with the same hash in the past it will not download but
++ * directly apply the cached pack. If the hash is null and the client has
++ * downloaded and cached the same resource pack in the past, it will
++ * perform a file size check against the response content to determine if
++ * the resource pack has changed and needs to be downloaded again. When
++ * this request is sent for the very first time from a given server, the
++ * client will first display a confirmation GUI to the player before
++ * proceeding with the download.
++ * <p>
++ * Notes:
++ * <ul>
++ * <li>Players can disable server resources on their client, in which
++ * case this method will have no affect on them. Use the
++ * {@link PlayerResourcePackStatusEvent} to figure out whether or not
++ * the player loaded the pack!
++ * <li>To remove a resource pack you can use
+ * {@link #removeResourcePacks(UUID, UUID...)} or {@link #clearResourcePacks()}.
* <li>The request is sent with empty string as the hash when the hash is
* not provided. This might result in newer versions not loading the
* pack correctly.
-@@ -1516,7 +1781,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1538,7 +1803,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* length restriction is an implementation specific arbitrary value.
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
@@ -2611,7 +2611,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
public void setResourcePack(@NotNull String url, @Nullable byte[] hash, boolean force);
/**
-@@ -1541,7 +1808,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1563,7 +1830,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
* <li>To remove a resource pack you can use
@@ -2620,7 +2620,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
* <li>The request is sent with empty string as the hash when the hash is
* not provided. This might result in newer versions not loading the
* pack correctly.
-@@ -1561,9 +1828,61 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1583,9 +1850,61 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* length restriction is an implementation specific arbitrary value.
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
@@ -2682,7 +2682,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
/**
* Request that the player's client download and switch resource packs.
* <p>
-@@ -1586,7 +1905,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1608,7 +1927,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
* <li>To remove a resource pack you can use
@@ -2691,7 +2691,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
* <li>The request is sent with empty string as the hash when the hash is
* not provided. This might result in newer versions not loading the
* pack correctly.
-@@ -1607,21 +1926,74 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1629,9 +1948,60 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* length restriction is an implementation specific arbitrary value.
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
@@ -2750,8 +2750,9 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
+ // Paper end
+
/**
- * Request that the player's client remove a resource pack sent by the
- * server.
+ * Request that the player's client download and include another resource pack.
+ * <p>
+@@ -1684,12 +2054,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param id the id of the resource pack.
* @throws IllegalArgumentException If the ID is null.
@@ -2766,7 +2767,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
*/
public void removeResourcePacks();
-@@ -1759,7 +2131,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1827,7 +2199,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param title Title text
* @param subtitle Subtitle text
@@ -2775,7 +2776,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
*/
@Deprecated
public void sendTitle(@Nullable String title, @Nullable String subtitle);
-@@ -1778,7 +2150,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1846,7 +2218,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.
@@ -2785,7 +2786,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
public void sendTitle(@Nullable String title, @Nullable String subtitle, int fadeIn, int stay, int fadeOut);
/**
-@@ -2005,6 +2379,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2073,6 +2447,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public int getClientViewDistance();
@@ -2800,7 +2801,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
/**
* Gets the player's estimated ping in milliseconds.
*
-@@ -2030,8 +2412,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2098,8 +2480,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* they wish.
*
* @return the player's locale
@@ -2811,7 +2812,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
public String getLocale();
/**
-@@ -2083,6 +2467,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2151,6 +2535,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public boolean isAllowingServerListings();
@@ -2826,7 +2827,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
// Spigot start
public class Spigot extends Entity.Spigot {
-@@ -2114,11 +2506,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2182,11 +2574,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
throw new UnsupportedOperationException("Not supported yet.");
}
@@ -2840,7 +2841,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
@Override
public void sendMessage(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
-@@ -2129,7 +2523,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2197,7 +2591,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param position the screen position
* @param component the components to send
@@ -2850,7 +2851,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
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.");
}
-@@ -2139,7 +2535,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2207,7 +2603,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param position the screen position
* @param components the components to send
@@ -2860,7 +2861,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
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.");
}
-@@ -2150,7 +2548,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2218,7 +2616,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
@@ -2870,7 +2871,7 @@ index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e8
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable java.util.UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent component) {
throw new UnsupportedOperationException("Not supported yet.");
}
-@@ -2161,7 +2561,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2229,7 +2629,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-Paper-Plugins.patch b/patches/api/0009-Paper-Plugins.patch
index caeceff817..b4178cbec8 100644
--- a/patches/api/0009-Paper-Plugins.patch
+++ b/patches/api/0009-Paper-Plugins.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Paper Plugins
diff --git a/build.gradle.kts b/build.gradle.kts
-index ea121fd0ea193410c3e44cf097a10a6d53d5bcbd..863833e05e2363b2e4ba4937f96ecbeac03a1ede 100644
+index af6c528ccc4356f5bba3ce0b9bf6de237d77376e..f9ff7e3692d448e2a1e38d0aa26c2d934442e247 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -52,7 +52,7 @@ dependencies {
@@ -1347,14 +1347,13 @@ index 0000000000000000000000000000000000000000..6bf3d212a6156ad9ab0e82d1ca0a04f8
+
+}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index a3ee6f2f588bc9c87e49378359f450820b9af1b9..0743592273cc1c5f4ab6935349941bf25b438448 100644
+index 0f902aec66ec550f80709f7f314ca90d374ebb53..20efbec3eabb21806a532422130f7904d2c0967e 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -109,4 +109,14 @@ public interface UnsafeValues {
- * @return an internal potion data
- */
- PotionType.InternalPotionData getInternalPotionData(NamespacedKey key);
-+
+@@ -127,4 +127,13 @@ public interface UnsafeValues {
+ @ApiStatus.Internal
+ @NotNull
+ DamageSource.Builder createDamageSourceBuilder(@NotNull DamageType damageType);
+ // Paper start
+ @Deprecated(forRemoval = true)
+ boolean isSupportedApiVersion(String apiVersion);
diff --git a/patches/api/0011-Timings-v2.patch b/patches/api/0011-Timings-v2.patch
index 69aac0e5ba..143dd1027a 100644
--- a/patches/api/0011-Timings-v2.patch
+++ b/patches/api/0011-Timings-v2.patch
@@ -2854,10 +2854,10 @@ index 0000000000000000000000000000000000000000..3e61a926620a67daec3af54b72a1b911
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index a0fce496d2b90f484d2723c4ea4099ad29dc438f..f9360200c3f96018b3bd1d73b5336a78486cfaea 100644
+index bd1a010bb4e18a16d02549d64333ce7641be7910..07d393152320270e38f495120dd19e35ece73149 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -844,7 +844,6 @@ public final class Bukkit {
+@@ -864,7 +864,6 @@ public final class Bukkit {
*/
public static void reload() {
server.reload();
@@ -2866,10 +2866,10 @@ index a0fce496d2b90f484d2723c4ea4099ad29dc438f..f9360200c3f96018b3bd1d73b5336a78
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 83ae1490f6c48d931541e13f76950fcdc62a5c01..f6fbf2ae2bb48a9edbb199b9a421fa388b2b99a6 100644
+index 6aed59819cc3d70f1b5975c3c7df40cc0b0afd8a..baa02b5223769755670c611ca4d6acc7bf202116 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1912,6 +1912,26 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1928,6 +1928,26 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
throw new UnsupportedOperationException("Not supported yet.");
}
@@ -2897,10 +2897,10 @@ index 83ae1490f6c48d931541e13f76950fcdc62a5c01..f6fbf2ae2bb48a9edbb199b9a421fa38
* Sends the component to the player
*
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 0743592273cc1c5f4ab6935349941bf25b438448..659405d84b5a61618576e930805da5cd3a054b4c 100644
+index 20efbec3eabb21806a532422130f7904d2c0967e..853ef6f7f0cd2e5679688c40ce715b30473c3ce3 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -36,6 +36,7 @@ public interface UnsafeValues {
+@@ -40,6 +40,7 @@ public interface UnsafeValues {
net.kyori.adventure.text.Component resolveWithContext(net.kyori.adventure.text.Component component, org.bukkit.command.CommandSender context, org.bukkit.entity.Entity scoreboardSubject, boolean bypassPermissions) throws java.io.IOException;
// Paper end
@@ -2908,7 +2908,7 @@ index 0743592273cc1c5f4ab6935349941bf25b438448..659405d84b5a61618576e930805da5cd
Material toLegacy(Material material);
Material fromLegacy(Material material);
-@@ -119,4 +120,12 @@ public interface UnsafeValues {
+@@ -136,4 +137,12 @@ public interface UnsafeValues {
return !Bukkit.getUnsafe().isSupportedApiVersion(plugin.getDescription().getAPIVersion());
}
// Paper end
@@ -3455,10 +3455,10 @@ index 516d7fc7812aac343782861d0d567f54aa578c2a..00000000000000000000000000000000
- // Spigot end
-}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 696efe5b86346209e9780b73229236e87ca26dec..cec658bc1489b7b6ee76cc7d62d0d474c8972b2b 100644
+index 5c55715c8cdd79f2214b265a81d94a8904c998ea..a714877c44e6a6c5e90d0e0c5bf6eb30937e1037 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2566,7 +2566,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2634,7 +2634,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Deprecated // Paper
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable java.util.UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
diff --git a/patches/api/0012-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/api/0012-Add-command-line-option-to-load-extra-plugin-jars-no.patch
index a70be17731..a9ee212a3c 100644
--- a/patches/api/0012-Add-command-line-option-to-load-extra-plugin-jars-no.patch
+++ b/patches/api/0012-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/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 7300bba67cfd4d312c59b0f81f597ea0f8a54fcd..3a8b07a870d334296e3865598741dc3e6fcf9b62 100644
+index 07d393152320270e38f495120dd19e35ece73149..026c1accb03bdd42981a2eaf9189d7b2fe6e7339 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -79,6 +79,20 @@ public final class Bukkit {
+@@ -80,6 +80,20 @@ public final class Bukkit {
return server;
}
@@ -32,10 +32,10 @@ index 7300bba67cfd4d312c59b0f81f597ea0f8a54fcd..3a8b07a870d334296e3865598741dc3e
* Attempts to set the {@link Server} singleton.
* <p>
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 31227e818b624d641bb7562ac3de8a821815d33a..d3917c514f0e1d4343aed0738bea1625f63fcb92 100644
+index baa02b5223769755670c611ca4d6acc7bf202116..523f5ac54f7662c7c96182a352236732d2d3b122 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -64,6 +64,18 @@ import org.jetbrains.annotations.Nullable;
+@@ -65,6 +65,18 @@ import org.jetbrains.annotations.Nullable;
*/
public interface Server extends PluginMessageRecipient, net.kyori.adventure.audience.ForwardingAudience { // Paper
diff --git a/patches/api/0013-Player-affects-spawning-API.patch b/patches/api/0013-Player-affects-spawning-API.patch
index b864b43cb9..7ec789cb09 100644
--- a/patches/api/0013-Player-affects-spawning-API.patch
+++ b/patches/api/0013-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 cec658bc1489b7b6ee76cc7d62d0d474c8972b2b..f08dc4b58e7b3298bf12dc510c95ee7e644a19e4 100644
+index a714877c44e6a6c5e90d0e0c5bf6eb30937e1037..35de65a773146c4b4162df777a8ec594a22ca62c 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2418,6 +2418,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2486,6 +2486,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Deprecated // Paper
public String getLocale();
diff --git a/patches/api/0014-Add-getTPS-method.patch b/patches/api/0014-Add-getTPS-method.patch
index 19d33368c1..3a5b0bf7b5 100644
--- a/patches/api/0014-Add-getTPS-method.patch
+++ b/patches/api/0014-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 f9545a52bc822af03182f8d18231e02b7348c90f..cb6433792786540e7bf667e466d6642e73ca8df0 100644
+index 026c1accb03bdd42981a2eaf9189d7b2fe6e7339..d640d6e8e919e410b54920502d7e26f2519d9e3c 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2050,6 +2050,17 @@ public final class Bukkit {
+@@ -2070,6 +2070,17 @@ public final class Bukkit {
return server.getEntity(uuid);
}
@@ -27,10 +27,10 @@ index f9545a52bc822af03182f8d18231e02b7348c90f..cb6433792786540e7bf667e466d6642e
* 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 9b887115c90ed80b391f414b1b9db85b2b9e85ee..b8871820aab10f5d8d167e661e73b671204e9b4f 100644
+index 523f5ac54f7662c7c96182a352236732d2d3b122..7ae7db87b8507e726b6c28400bd3e7eb9413ffb0 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1749,6 +1749,16 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1765,6 +1765,16 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@Nullable
Entity getEntity(@NotNull UUID uuid);
diff --git a/patches/api/0015-Version-Command-2.0.patch b/patches/api/0015-Version-Command-2.0.patch
index 99c72a7b3d..e2ef50e555 100644
--- a/patches/api/0015-Version-Command-2.0.patch
+++ b/patches/api/0015-Version-Command-2.0.patch
@@ -56,10 +56,10 @@ index 0000000000000000000000000000000000000000..a736d7bcdc5861a01b66ba36158db1c7
+ }
+}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 659405d84b5a61618576e930805da5cd3a054b4c..4604392831d19a789e4906cf1a5f0197105fd6f2 100644
+index 853ef6f7f0cd2e5679688c40ce715b30473c3ce3..688fccdbc5cf831008ef2f27db9d15b0921a7561 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -127,5 +127,12 @@ public interface UnsafeValues {
+@@ -144,5 +144,12 @@ public interface UnsafeValues {
* @return name
*/
String getTimingsServerName();
diff --git a/patches/api/0016-Entity-Origin-API.patch b/patches/api/0016-Entity-Origin-API.patch
index 0c88ffbc11..6b50aee01c 100644
--- a/patches/api/0016-Entity-Origin-API.patch
+++ b/patches/api/0016-Entity-Origin-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity Origin API
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index 978431fd88cfb7d42fcdea8c904633df5c64daed..24341516dd7d358b391f5e895cd837b5a10a8802 100644
+index 0025139f403cfc80ace9f8584ccf42d3a5cbb718..fd3b707893ba59aa6f6e4009113c5a94be5d7536 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
-@@ -783,5 +783,15 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
+@@ -778,5 +778,15 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
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.customName())));
}
diff --git a/patches/api/0018-Add-view-distance-API.patch b/patches/api/0018-Add-view-distance-API.patch
index b4da0f99b5..5500519c96 100644
--- a/patches/api/0018-Add-view-distance-API.patch
+++ b/patches/api/0018-Add-view-distance-API.patch
@@ -8,10 +8,10 @@ Add per player no-tick, tick, and send view distances.
Also add send/no-tick view distance to World.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 4c878531d9d8d0aee6832fd10b339a32f219fa9a..1ea851c658243aa3bfcdbffca3df5ded9386da98 100644
+index d76db156a7eeefaac3c96d2d547fddecefbd863e..41a181b890e029f99e52ae9aad28a86f28005f9e 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -2875,6 +2875,66 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2916,6 +2916,66 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@NotNull
public Set<FeatureFlag> getFeatureFlags();
@@ -76,13 +76,13 @@ index 4c878531d9d8d0aee6832fd10b339a32f219fa9a..1ea851c658243aa3bfcdbffca3df5ded
+ // Paper end - view distance api
+
/**
- * Represents various map environment types that a world may be
- */
+ * Gets all generated structures that intersect the chunk at the given
+ * coordinates. <br>
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index f08dc4b58e7b3298bf12dc510c95ee7e644a19e4..fde2096830c966df902ade38c709dfb7506b551b 100644
+index 35de65a773146c4b4162df777a8ec594a22ca62c..b66f9264ceb38677d7422b47e379a0e860bcac07 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2432,6 +2432,82 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2500,6 +2500,82 @@ 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/0021-Expose-server-CommandMap.patch b/patches/api/0021-Expose-server-CommandMap.patch
index 4f48f57826..697a4cca7c 100644
--- a/patches/api/0021-Expose-server-CommandMap.patch
+++ b/patches/api/0021-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 cb6433792786540e7bf667e466d6642e73ca8df0..6c5ded00ddf2c5e991baac73f63d5fd6444ccbda 100644
+index d640d6e8e919e410b54920502d7e26f2519d9e3c..3d6c51fdd549a94a73fa3d19c0937aa2ec72b42e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2251,6 +2251,19 @@ public final class Bukkit {
+@@ -2271,6 +2271,19 @@ public final class Bukkit {
return server.getUnsafe();
}
@@ -29,10 +29,10 @@ index cb6433792786540e7bf667e466d6642e73ca8df0..6c5ded00ddf2c5e991baac73f63d5fd6
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 b8871820aab10f5d8d167e661e73b671204e9b4f..f95fbfa29f3926847c78b218037cac601c7d9419 100644
+index 7ae7db87b8507e726b6c28400bd3e7eb9413ffb0..95c9016e67c6c17ae8bac35fd01f62eae96ecf6a 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1759,6 +1759,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1775,6 +1775,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
public double[] getTPS();
// Paper end
diff --git a/patches/api/0022-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/patches/api/0022-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
index 2f440acc02..73014012bc 100644
--- a/patches/api/0022-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
+++ b/patches/api/0022-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 6c5ded00ddf2c5e991baac73f63d5fd6444ccbda..5c6d52f707905f9c60dd2a5097084e97a31806f4 100644
+index 3d6c51fdd549a94a73fa3d19c0937aa2ec72b42e..bafbb72996cb0cacf17b5741a7efbb1583277c6e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -421,6 +421,30 @@ public final class Bukkit {
+@@ -441,6 +441,30 @@ public final class Bukkit {
return server.broadcastMessage(message);
}
@@ -41,10 +41,10 @@ index 6c5ded00ddf2c5e991baac73f63d5fd6444ccbda..5c6d52f707905f9c60dd2a5097084e97
* 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 f95fbfa29f3926847c78b218037cac601c7d9419..979028265db05a8a97c2dc10138075eaa15b2472 100644
+index 95c9016e67c6c17ae8bac35fd01f62eae96ecf6a..7edac90aa6f37c9c3ebbe7260186ae3e279cea0b 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -354,6 +354,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -370,6 +370,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@Deprecated // Paper
public int broadcastMessage(@NotNull String message);
@@ -76,10 +76,10 @@ index f95fbfa29f3926847c78b218037cac601c7d9419..979028265db05a8a97c2dc10138075ea
* 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 fde2096830c966df902ade38c709dfb7506b551b..3077db3156cdbf25b93f5fa8a24568ba73b53f68 100644
+index b66f9264ceb38677d7422b47e379a0e860bcac07..0ffe5812e2d59d3fbf56061eea0a2f391cde6758 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1144,6 +1144,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1172,6 +1172,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendMap(@NotNull MapView map);
diff --git a/patches/api/0026-Player-Tab-List-and-Title-APIs.patch b/patches/api/0026-Player-Tab-List-and-Title-APIs.patch
index d9c2b55aed..f918234392 100644
--- a/patches/api/0026-Player-Tab-List-and-Title-APIs.patch
+++ b/patches/api/0026-Player-Tab-List-and-Title-APIs.patch
@@ -432,10 +432,10 @@ index 0000000000000000000000000000000000000000..9e90c3df567a65b48a0b9341f784eb90
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 3077db3156cdbf25b93f5fa8a24568ba73b53f68..f89d04a7bcc69523da9d702b19e29190ca048e9b 100644
+index 0ffe5812e2d59d3fbf56061eea0a2f391cde6758..ba58936116ce1e2e805a03251bb19484058e4f0f 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1178,6 +1178,131 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1206,6 +1206,131 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) {
spigot().sendMessage(position, components);
}
diff --git a/patches/api/0028-Complete-resource-pack-API.patch b/patches/api/0028-Complete-resource-pack-API.patch
index 0dac369463..3a19d14165 100644
--- a/patches/api/0028-Complete-resource-pack-API.patch
+++ b/patches/api/0028-Complete-resource-pack-API.patch
@@ -5,10 +5,10 @@ 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 f89d04a7bcc69523da9d702b19e29190ca048e9b..0526e1149cf4cd2ab3ee2ac9eafbaeab0c99c5ee 100644
+index ba58936116ce1e2e805a03251bb19484058e4f0f..6a8f5720ef33b54b3a89d4299462827ab304e0d9 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2141,6 +2141,180 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2163,6 +2163,180 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void setResourcePack(@NotNull UUID uuid, @NotNull String url, byte @Nullable [] hash, net.kyori.adventure.text.@Nullable Component prompt, boolean force);
// Paper end
@@ -187,8 +187,8 @@ index f89d04a7bcc69523da9d702b19e29190ca048e9b..0526e1149cf4cd2ab3ee2ac9eafbaeab
+ // Paper end - more resource pack API
+
/**
- * Request that the player's client remove a resource pack sent by the
- * server.
+ * Request that the player's client download and include another resource pack.
+ * <p>
diff --git a/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java b/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java
index e2c4f9a0456cef345772d57b4d9c6e7d9598dd53..e4c32b21ab013703a6a1b07a1ad564d914ebe83f 100644
--- a/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java
diff --git a/patches/api/0031-Add-command-to-reload-permissions.yml-and-require-co.patch b/patches/api/0031-Add-command-to-reload-permissions.yml-and-require-co.patch
index e9b686dec3..b3773538b8 100644
--- a/patches/api/0031-Add-command-to-reload-permissions.yml-and-require-co.patch
+++ b/patches/api/0031-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 5c6d52f707905f9c60dd2a5097084e97a31806f4..ba2bdb4dda26370aa1ad2425cc2d9e4e05344650 100644
+index bafbb72996cb0cacf17b5741a7efbb1583277c6e..0ce6fda182e4d87b1ef7abe4d8bd9e3a06891412 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2286,6 +2286,13 @@ public final class Bukkit {
+@@ -2306,6 +2306,13 @@ public final class Bukkit {
public static org.bukkit.command.CommandMap getCommandMap() {
return server.getCommandMap();
}
@@ -24,10 +24,10 @@ index 5c6d52f707905f9c60dd2a5097084e97a31806f4..ba2bdb4dda26370aa1ad2425cc2d9e4e
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 979028265db05a8a97c2dc10138075eaa15b2472..c061146ac6c6bee2b865e32580e577168d61ea87 100644
+index 7edac90aa6f37c9c3ebbe7260186ae3e279cea0b..f9dcb6728afb646f9c27e6642bb3b0d91e4448e9 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2020,4 +2020,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2036,4 +2036,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
Spigot spigot();
// Spigot end
diff --git a/patches/api/0044-Allow-Reloading-of-Command-Aliases.patch b/patches/api/0044-Allow-Reloading-of-Command-Aliases.patch
index 22196422e5..2c0c9c2344 100644
--- a/patches/api/0044-Allow-Reloading-of-Command-Aliases.patch
+++ b/patches/api/0044-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 ba2bdb4dda26370aa1ad2425cc2d9e4e05344650..b89c38ca48df446ea97217e5031d1c70dd01d8d9 100644
+index 0ce6fda182e4d87b1ef7abe4d8bd9e3a06891412..cf5cf4375f3a0bd68bb00dc061a039c9c1de0b5e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2293,6 +2293,15 @@ public final class Bukkit {
+@@ -2313,6 +2313,15 @@ public final class Bukkit {
public static void reloadPermissions() {
server.reloadPermissions();
}
@@ -26,10 +26,10 @@ index ba2bdb4dda26370aa1ad2425cc2d9e4e05344650..b89c38ca48df446ea97217e5031d1c70
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index c061146ac6c6bee2b865e32580e577168d61ea87..f13e254395c942082dc426615e215e3f3eb0b1c5 100644
+index f9dcb6728afb646f9c27e6642bb3b0d91e4448e9..d15b926de36f29ced80e0cfef7594ce0646b988e 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2022,4 +2022,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2038,4 +2038,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
// Spigot end
void reloadPermissions(); // Paper
diff --git a/patches/api/0047-Add-String-based-Action-Bar-API.patch b/patches/api/0047-Add-String-based-Action-Bar-API.patch
index c43ff6dccc..fd2181f8a0 100644
--- a/patches/api/0047-Add-String-based-Action-Bar-API.patch
+++ b/patches/api/0047-Add-String-based-Action-Bar-API.patch
@@ -5,10 +5,10 @@ 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 0526e1149cf4cd2ab3ee2ac9eafbaeab0c99c5ee..c1ab6640003ec02f8e8f9ebd4060854c68d46baa 100644
+index 6a8f5720ef33b54b3a89d4299462827ab304e0d9..83f9026e86223bc763990a90da5fda26dec2785f 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1145,6 +1145,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1173,6 +1173,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public void sendMap(@NotNull MapView map);
// Paper start
@@ -48,7 +48,7 @@ index 0526e1149cf4cd2ab3ee2ac9eafbaeab0c99c5ee..c1ab6640003ec02f8e8f9ebd4060854c
/**
* Sends the component to the player
*
-@@ -1172,9 +1205,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1200,9 +1233,11 @@ 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/0052-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/api/0052-Provide-E-TE-Chunk-count-stat-methods.patch
index 85d8b5eb68..54af8d0c41 100644
--- a/patches/api/0052-Provide-E-TE-Chunk-count-stat-methods.patch
+++ b/patches/api/0052-Provide-E-TE-Chunk-count-stat-methods.patch
@@ -7,10 +7,10 @@ Provides counts without the ineffeciency of using .getEntities().size()
which creates copy of the collections.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 2867faf0acbbbb2e99c5b503f0c6bc83f3bfe80f..f5a398aa5f7a7e6280167fd723f78f4d72e2b1dd 100644
+index 41a181b890e029f99e52ae9aad28a86f28005f9e..fa6f6c8eccd680a4e83443e472f37650e7cd05c5 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -47,6 +47,33 @@ import org.jetbrains.annotations.Nullable;
+@@ -49,6 +49,33 @@ import org.jetbrains.annotations.Nullable;
*/
public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient, Metadatable, PersistentDataHolder, Keyed, net.kyori.adventure.audience.ForwardingAudience { // Paper
diff --git a/patches/api/0055-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/api/0055-Add-configuration-option-to-prevent-player-names-fro.patch
index 7532ee5c32..a04f9b446f 100644
--- a/patches/api/0055-Add-configuration-option-to-prevent-player-names-fro.patch
+++ b/patches/api/0055-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 b89c38ca48df446ea97217e5031d1c70dd01d8d9..ff83383c3fcbf4de3e6be0a0a950f132b6c47807 100644
+index cf5cf4375f3a0bd68bb00dc061a039c9c1de0b5e..5f758640ae71bca8c5e532af21362011a0aafb89 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2302,6 +2302,16 @@ public final class Bukkit {
+@@ -2322,6 +2322,16 @@ public final class Bukkit {
public static boolean reloadCommandAliases() {
return server.reloadCommandAliases();
}
@@ -27,10 +27,10 @@ index b89c38ca48df446ea97217e5031d1c70dd01d8d9..ff83383c3fcbf4de3e6be0a0a950f132
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index f13e254395c942082dc426615e215e3f3eb0b1c5..1c088886add66f1e99bee42f70e5bc742c912e88 100644
+index d15b926de36f29ced80e0cfef7594ce0646b988e..e3136651ce083e67a1a7cb976d27df5666843401 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2024,4 +2024,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2040,4 +2040,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
void reloadPermissions(); // Paper
boolean reloadCommandAliases(); // Paper
diff --git a/patches/api/0056-Fix-upstream-javadocs.patch b/patches/api/0056-Fix-upstream-javadocs.patch
index 93c118684d..4205834c36 100644
--- a/patches/api/0056-Fix-upstream-javadocs.patch
+++ b/patches/api/0056-Fix-upstream-javadocs.patch
@@ -49,10 +49,10 @@ index a04cde615f8c4bc593f8d9f8f6f1438008aaa707..548f6d28c28d74bed8b58ee828759093
* @param target the target to remove from this list
*/
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index ff83383c3fcbf4de3e6be0a0a950f132b6c47807..22d63e82c3c7d54e90c5cd7adef09882f01c7da2 100644
+index 5f758640ae71bca8c5e532af21362011a0aafb89..2bdba56855d3427a1c48bfada0e6416085386cdb 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1474,6 +1474,8 @@ public final class Bukkit {
+@@ -1494,6 +1494,8 @@ public final class Bukkit {
/**
* Gets every player that has ever played on this server.
@@ -114,10 +114,10 @@ index 4c9fd558fbf7f57a948fbb7f80f4651048c0fb57..458119a9ef7ce8e1f59bd47caa5b4bc6
* @param statePredicate The predicate which should get used to test if a block should be set or not.
* @return true if the tree was created successfully, otherwise false
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 1c088886add66f1e99bee42f70e5bc742c912e88..5a8f15195b0a87bb7a49983e5ee0dee6d2ce242c 100644
+index e3136651ce083e67a1a7cb976d27df5666843401..50e8c25cc378b02b09ef57643cc753fa58ec1166 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -552,13 +552,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -568,13 +568,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* </ul>
* <p>
* <b>Note:</b> If set to 0, {@link SpawnCategory} mobs spawning will be disabled.
@@ -132,7 +132,7 @@ index 1c088886add66f1e99bee42f70e5bc742c912e88..5a8f15195b0a87bb7a49983e5ee0dee6
*/
public int getTicksPerSpawns(@NotNull SpawnCategory spawnCategory);
-@@ -1258,6 +1255,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1274,6 +1271,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
/**
* Gets every player that has ever played on this server.
@@ -142,10 +142,10 @@ index 1c088886add66f1e99bee42f70e5bc742c912e88..5a8f15195b0a87bb7a49983e5ee0dee6
* @return an array containing all previous players
*/
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index fe94aeb95297877c8e4d8fbeb6f0e27aaaa23b44..de174d381b4917a66f68715a21431e167434201d 100644
+index fa6f6c8eccd680a4e83443e472f37650e7cd05c5..6decacdf85827305dbee9d34dadef4bc7c69e20a 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -2673,7 +2673,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2714,7 +2714,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
/**
* Find the closest nearby structure of a given {@link StructureType}.
* Finding unexplored structures can, and will, block if the world is
@@ -154,7 +154,7 @@ index fe94aeb95297877c8e4d8fbeb6f0e27aaaa23b44..de174d381b4917a66f68715a21431e16
* temporarily freezing while locating an unexplored structure.
* <p>
* The {@code radius} is not a rigid square radius. Each structure may alter
-@@ -2707,7 +2707,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2748,7 +2748,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
/**
* Find the closest nearby structure of a given {@link StructureType}.
* Finding unexplored structures can, and will, block if the world is
@@ -163,7 +163,7 @@ index fe94aeb95297877c8e4d8fbeb6f0e27aaaa23b44..de174d381b4917a66f68715a21431e16
* temporarily freezing while locating an unexplored structure.
* <p>
* The {@code radius} is not a rigid square radius. Each structure may alter
-@@ -2740,7 +2740,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2781,7 +2781,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
/**
* Find the closest nearby structure of a given {@link Structure}. Finding
* unexplored structures can, and will, block if the world is looking in
@@ -426,10 +426,10 @@ index ae9eaaa8e38e1d9dfc459926c7fc51ddb89de84a..b2ec535bb1b0ce0c114ddd7638b90218
@Override
public int getConversionTime();
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index c1ab6640003ec02f8e8f9ebd4060854c68d46baa..fa011b40e1369d5161f6af22b23885e3ae8612b1 100644
+index 83f9026e86223bc763990a90da5fda26dec2785f..d507aeb5b906b5b68d1daa5bfd2d98ede1b0e7b6 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -432,15 +432,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -434,15 +434,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Saves the players current location, health, inventory, motion, and
@@ -449,7 +449,7 @@ index c1ab6640003ec02f8e8f9ebd4060854c68d46baa..fa011b40e1369d5161f6af22b23885e3
* <p>
* Note: This will overwrite the players current inventory, health,
* motion, etc, with the state from the saved dat file.
-@@ -777,7 +777,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -779,7 +779,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Plays an effect to just this player.
*
@@ -458,7 +458,7 @@ index c1ab6640003ec02f8e8f9ebd4060854c68d46baa..fa011b40e1369d5161f6af22b23885e3
* @param loc the location to play the effect at
* @param effect the {@link Effect}
* @param data a data bit needed for some effects
-@@ -1162,7 +1162,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1190,7 +1190,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* Use supplied alternative character to the section symbol to represent legacy color codes.
*
@@ -467,7 +467,7 @@ index c1ab6640003ec02f8e8f9ebd4060854c68d46baa..fa011b40e1369d5161f6af22b23885e3
* @param message The message to send
* @deprecated use {@link #sendActionBar(net.kyori.adventure.text.Component)}
*/
-@@ -1628,7 +1628,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1656,7 +1656,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Allows this player to see a player that was previously hidden. If
@@ -476,7 +476,7 @@ index c1ab6640003ec02f8e8f9ebd4060854c68d46baa..fa011b40e1369d5161f6af22b23885e3
* remain hidden until the other plugin calls this method too.
*
* @param plugin Plugin that wants to show the player
-@@ -1657,7 +1657,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1683,7 +1683,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Allows this player to see an entity that was previously hidden. If
@@ -485,7 +485,7 @@ index c1ab6640003ec02f8e8f9ebd4060854c68d46baa..fa011b40e1369d5161f6af22b23885e3
* remain hidden until the other plugin calls this method too.
*
* @param plugin Plugin that wants to show the entity
-@@ -1744,9 +1744,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1766,9 +1766,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* case this method will have no affect on them. Use the
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
@@ -495,7 +495,7 @@ index c1ab6640003ec02f8e8f9ebd4060854c68d46baa..fa011b40e1369d5161f6af22b23885e3
* <li>The request is send with "null" as the hash. This might result
* in newer versions not loading the pack correctly.
* </ul>
-@@ -1780,9 +1777,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1802,9 +1799,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* case this method will have no affect on them. Use the
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
@@ -505,7 +505,7 @@ index c1ab6640003ec02f8e8f9ebd4060854c68d46baa..fa011b40e1369d5161f6af22b23885e3
* <li>The request is send with empty string as the hash. This might result
* in newer versions not loading the pack correctly.
* </ul>
-@@ -1819,9 +1813,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1841,9 +1835,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* case this method will have no affect on them. Use the
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
diff --git a/patches/api/0060-Basic-PlayerProfile-API.patch b/patches/api/0060-Basic-PlayerProfile-API.patch
index 05b288bad7..4a664dab73 100644
--- a/patches/api/0060-Basic-PlayerProfile-API.patch
+++ b/patches/api/0060-Basic-PlayerProfile-API.patch
@@ -321,10 +321,10 @@ index 0000000000000000000000000000000000000000..7b3b6ef533d32169fbeca389bd61cfc6
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 22d63e82c3c7d54e90c5cd7adef09882f01c7da2..cf00ff0c0332b31167f8f1b7b386674458cdf15a 100644
+index 2bdba56855d3427a1c48bfada0e6416085386cdb..48cce5c4a31ce9df3f2fe0aba4dd50e0547493b6 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2314,6 +2314,83 @@ public final class Bukkit {
+@@ -2334,6 +2334,83 @@ public final class Bukkit {
public static boolean suggestPlayerNamesWhenNullTabCompletions() {
return server.suggestPlayerNamesWhenNullTabCompletions();
}
@@ -409,10 +409,10 @@ index 22d63e82c3c7d54e90c5cd7adef09882f01c7da2..cf00ff0c0332b31167f8f1b7b3866744
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 5a8f15195b0a87bb7a49983e5ee0dee6d2ce242c..4016129ead172c5f5b550482f523921d39df046f 100644
+index 50e8c25cc378b02b09ef57643cc753fa58ec1166..7bbd014aa3ecbae15518d9ebe4e6ec03a870ed5e 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2032,5 +2032,74 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2048,5 +2048,74 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @return true if player names should be suggested
*/
boolean suggestPlayerNamesWhenNullTabCompletions();
diff --git a/patches/api/0063-Entity-fromMobSpawner.patch b/patches/api/0063-Entity-fromMobSpawner.patch
index 98664b4d0a..8922abb73e 100644
--- a/patches/api/0063-Entity-fromMobSpawner.patch
+++ b/patches/api/0063-Entity-fromMobSpawner.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity#fromMobSpawner()
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index 24341516dd7d358b391f5e895cd837b5a10a8802..754097d9858b3a74f73c6ca483c2577c837f9f3a 100644
+index fd3b707893ba59aa6f6e4009113c5a94be5d7536..28e2d003db578e7c0468c0d443fda3a40e2a0efa 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
-@@ -793,5 +793,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
+@@ -788,5 +788,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
*/
@Nullable
Location getOrigin();
diff --git a/patches/api/0077-Expose-client-protocol-version-and-virtual-host.patch b/patches/api/0077-Expose-client-protocol-version-and-virtual-host.patch
index bc5b41f1a8..95708e688a 100644
--- a/patches/api/0077-Expose-client-protocol-version-and-virtual-host.patch
+++ b/patches/api/0077-Expose-client-protocol-version-and-virtual-host.patch
@@ -57,10 +57,10 @@ index 0000000000000000000000000000000000000000..7b2af1bd72dfbcf4e962a982940fc49b
+
+}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index cdc797fd351ffb261a0233e48b684dfd3bb62386..3f28d02d39c937abf001ae286632b84a5814fb61 100644
+index d507aeb5b906b5b68d1daa5bfd2d98ede1b0e7b6..74ccef3361a8089a2bf03cc3d2e0826f067b647e 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -52,7 +52,7 @@ import org.jetbrains.annotations.Nullable;
+@@ -54,7 +54,7 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a player, connected or not
*/
diff --git a/patches/api/0081-Ability-to-apply-mending-to-XP-API.patch b/patches/api/0081-Ability-to-apply-mending-to-XP-API.patch
index 34e7521d47..5515a779ea 100644
--- a/patches/api/0081-Ability-to-apply-mending-to-XP-API.patch
+++ b/patches/api/0081-Ability-to-apply-mending-to-XP-API.patch
@@ -10,10 +10,10 @@ of giving the player experience points.
Both an API To standalone mend, and apply mending logic to .giveExp has been added.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 8d09741cbb66ae6f0037f3195c1f1f57850307e4..90930f0f4eb30534c94165079d8c3ad923e6de0e 100644
+index 74ccef3361a8089a2bf03cc3d2e0826f067b647e..8ec100779944579f83cfc1be4b124a4c780cdc07 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1471,6 +1471,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1499,6 +1499,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void resetPlayerWeather();
@@ -29,7 +29,7 @@ index 8d09741cbb66ae6f0037f3195c1f1f57850307e4..90930f0f4eb30534c94165079d8c3ad9
/**
* Gets the player's cooldown between picking up experience orbs.
*
-@@ -1496,8 +1505,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1524,8 +1533,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Gives the player the amount of experience specified.
*
* @param amount Exp amount to give
diff --git a/patches/api/0092-Player.setPlayerProfile-API.patch b/patches/api/0092-Player.setPlayerProfile-API.patch
index 037d277caa..0d0b10e019 100644
--- a/patches/api/0092-Player.setPlayerProfile-API.patch
+++ b/patches/api/0092-Player.setPlayerProfile-API.patch
@@ -6,10 +6,10 @@ 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/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index cf00ff0c0332b31167f8f1b7b386674458cdf15a..11288c4e1cb6a1f8322c6cbacb3750e6b08dad5e 100644
+index 48cce5c4a31ce9df3f2fe0aba4dd50e0547493b6..990436521c4d080d7adbd0a8c55f03690f17c1ec 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1316,8 +1316,10 @@ public final class Bukkit {
+@@ -1336,8 +1336,10 @@ public final class Bukkit {
* @return the new PlayerProfile
* @throws IllegalArgumentException if both the unique id is
* <code>null</code> and the name is <code>null</code> or blank
@@ -20,7 +20,7 @@ index cf00ff0c0332b31167f8f1b7b386674458cdf15a..11288c4e1cb6a1f8322c6cbacb3750e6
public static PlayerProfile createPlayerProfile(@Nullable UUID uniqueId, @Nullable String name) {
return server.createPlayerProfile(uniqueId, name);
}
-@@ -1328,8 +1330,10 @@ public final class Bukkit {
+@@ -1348,8 +1350,10 @@ public final class Bukkit {
* @param uniqueId the unique id
* @return the new PlayerProfile
* @throws IllegalArgumentException if the unique id is <code>null</code>
@@ -31,7 +31,7 @@ index cf00ff0c0332b31167f8f1b7b386674458cdf15a..11288c4e1cb6a1f8322c6cbacb3750e6
public static PlayerProfile createPlayerProfile(@NotNull UUID uniqueId) {
return server.createPlayerProfile(uniqueId);
}
-@@ -1341,8 +1345,10 @@ public final class Bukkit {
+@@ -1361,8 +1365,10 @@ public final class Bukkit {
* @return the new PlayerProfile
* @throws IllegalArgumentException if the name is <code>null</code> or
* blank
@@ -56,10 +56,10 @@ index ff59479f4782ac7726504aab239de79fdc840cde..abbf3d6f11350ab2dd47a277771d9f46
/**
* Checks if this player has had their profile banned.
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 4016129ead172c5f5b550482f523921d39df046f..4d500904b28375f8517aa05075667da22f23f754 100644
+index 7bbd014aa3ecbae15518d9ebe4e6ec03a870ed5e..c60be47a0ac646133211ab4bf17b4fad4d1893db 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1127,8 +1127,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1143,8 +1143,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @return the new PlayerProfile
* @throws IllegalArgumentException if both the unique id is
* <code>null</code> and the name is <code>null</code> or blank
@@ -70,7 +70,7 @@ index 4016129ead172c5f5b550482f523921d39df046f..4d500904b28375f8517aa05075667da2
PlayerProfile createPlayerProfile(@Nullable UUID uniqueId, @Nullable String name);
/**
-@@ -1137,8 +1139,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1153,8 +1155,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @param uniqueId the unique id
* @return the new PlayerProfile
* @throws IllegalArgumentException if the unique id is <code>null</code>
@@ -81,7 +81,7 @@ index 4016129ead172c5f5b550482f523921d39df046f..4d500904b28375f8517aa05075667da2
PlayerProfile createPlayerProfile(@NotNull UUID uniqueId);
/**
-@@ -1148,8 +1152,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1164,8 +1168,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @return the new PlayerProfile
* @throws IllegalArgumentException if the name is <code>null</code> or
* blank
@@ -93,10 +93,10 @@ index 4016129ead172c5f5b550482f523921d39df046f..4d500904b28375f8517aa05075667da2
/**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 90930f0f4eb30534c94165079d8c3ad923e6de0e..95f791b1f0af0735e565c0150fb2a4a3597b9997 100644
+index 8ec100779944579f83cfc1be4b124a4c780cdc07..ecc99524f20e1d7072bfad3ac310cccc4514e40f 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2949,6 +2949,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3017,6 +3017,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
}
// Paper end
diff --git a/patches/api/0093-getPlayerUniqueId-API.patch b/patches/api/0093-getPlayerUniqueId-API.patch
index 9b6ebd8464..64497be958 100644
--- a/patches/api/0093-getPlayerUniqueId-API.patch
+++ b/patches/api/0093-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 11288c4e1cb6a1f8322c6cbacb3750e6b08dad5e..579b002425024a942091c95880366ba8f1761e1c 100644
+index 990436521c4d080d7adbd0a8c55f03690f17c1ec..4f9ebcd991875d0bf486a8ebb39909f2ac32493b 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -699,6 +699,20 @@ public final class Bukkit {
+@@ -719,6 +719,20 @@ public final class Bukkit {
return server.getPlayer(id);
}
@@ -34,10 +34,10 @@ index 11288c4e1cb6a1f8322c6cbacb3750e6b08dad5e..579b002425024a942091c95880366ba8
* 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 4d500904b28375f8517aa05075667da22f23f754..4c16d026c6850f38295e71f4f4299e81f3e4c856 100644
+index c60be47a0ac646133211ab4bf17b4fad4d1893db..7c53979f407a6a24c6d16bbfb205a8ac0321e5dc 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -601,6 +601,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -617,6 +617,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@Nullable
public Player getPlayer(@NotNull UUID id);
diff --git a/patches/api/0095-Add-openSign-method-to-HumanEntity.patch b/patches/api/0095-Add-openSign-method-to-HumanEntity.patch
index 18673117dc..513d2c7b96 100644
--- a/patches/api/0095-Add-openSign-method-to-HumanEntity.patch
+++ b/patches/api/0095-Add-openSign-method-to-HumanEntity.patch
@@ -36,10 +36,10 @@ index abdca9fe5acc90f167219eb769ece66c35682bb1..b3aa3dc6aa5afbc36cc86741b4cba56f
/**
* 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 95f791b1f0af0735e565c0150fb2a4a3597b9997..40853a37eb433b587ab63741367bbaf0ca60c0c1 100644
+index ecc99524f20e1d7072bfad3ac310cccc4514e40f..d06f9b4d0117515fb8fcf78d416dcd2b4ef6fb4b 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2910,10 +2910,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2978,10 +2978,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Open a Sign for editing by the Player.
*
diff --git a/patches/api/0096-Add-Ban-Methods-to-Player-Objects.patch b/patches/api/0096-Add-Ban-Methods-to-Player-Objects.patch
index b300e1c039..02815e865b 100644
--- a/patches/api/0096-Add-Ban-Methods-to-Player-Objects.patch
+++ b/patches/api/0096-Add-Ban-Methods-to-Player-Objects.patch
@@ -74,10 +74,10 @@ index abbf3d6f11350ab2dd47a277771d9f46221036bd..d8a3b6cb2d0cb035b2ab09e0327bc4f0
/**
* Adds this user to the {@link ProfileBanList}. If a previous ban exists, this will
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 40853a37eb433b587ab63741367bbaf0ca60c0c1..62707884e012badec14f74665f32058812bbc46e 100644
+index d06f9b4d0117515fb8fcf78d416dcd2b4ef6fb4b..07dde016220eef654901e3d78e2d37fb4ee4a128 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1145,6 +1145,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1173,6 +1173,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public void sendMap(@NotNull MapView map);
// Paper start
diff --git a/patches/api/0098-Enderman.teleportRandomly.patch b/patches/api/0098-Enderman.teleportRandomly.patch
index 907a74cf51..5fedcbb746 100644
--- a/patches/api/0098-Enderman.teleportRandomly.patch
+++ b/patches/api/0098-Enderman.teleportRandomly.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Enderman.teleportRandomly()
Ability to trigger the vanilla "teleport randomly" mechanic of an enderman.
diff --git a/src/main/java/org/bukkit/entity/Enderman.java b/src/main/java/org/bukkit/entity/Enderman.java
-index 0a03dc437973888ba57ba00fec47193fee38b5a9..605af1a9fc48602643aec57dd14e8c4ab657a0bc 100644
+index cc4648528c08980e6191e2fbdd7ba366617491b5..3afe2787de576f7190d87c796bea0ab34dc30248 100644
--- a/src/main/java/org/bukkit/entity/Enderman.java
+++ b/src/main/java/org/bukkit/entity/Enderman.java
-@@ -11,6 +11,17 @@ import org.jetbrains.annotations.Nullable;
+@@ -10,6 +10,17 @@ import org.jetbrains.annotations.Nullable;
*/
public interface Enderman extends Monster {
diff --git a/patches/api/0099-Additional-world.getNearbyEntities-API-s.patch b/patches/api/0099-Additional-world.getNearbyEntities-API-s.patch
index 41ef5f3eb3..631c04c408 100644
--- a/patches/api/0099-Additional-world.getNearbyEntities-API-s.patch
+++ b/patches/api/0099-Additional-world.getNearbyEntities-API-s.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Additional world.getNearbyEntities API's
Provides more methods to get nearby entities, and filter by types and predicates
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index faedd3857023513340b6e9fc67b78c79e3989cbe..58a15d8fd57d55848b37bfc8fffa101692efce87 100644
+index 6decacdf85827305dbee9d34dadef4bc7c69e20a..fa4081c62f86245fef5a273f01837f9ac6998faa 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -1,6 +1,9 @@
@@ -19,7 +19,7 @@ index faedd3857023513340b6e9fc67b78c79e3989cbe..58a15d8fd57d55848b37bfc8fffa1016
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
-@@ -625,6 +628,238 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -627,6 +630,238 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@NotNull
public Collection<Entity> getEntitiesByClasses(@NotNull Class<?>... classes);
diff --git a/patches/api/0101-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/api/0101-Expand-World.spawnParticle-API-and-add-Builder.patch
index 4709adf7e9..a491dad5b0 100644
--- a/patches/api/0101-Expand-World.spawnParticle-API-and-add-Builder.patch
+++ b/patches/api/0101-Expand-World.spawnParticle-API-and-add-Builder.patch
@@ -523,10 +523,10 @@ index ca6d0eaa9d9a37c07f3e1630b83a79bf98211edb..26d02aa5da444112f8fa84c07e3080bb
* Options which can be applied to redstone dust particles - a particle
* color and size.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 27b6825a04e7857e7924ba32f9cc43e960edd238..89d948229eee47c90d078ffa26b019bfe24a8115 100644
+index fa4081c62f86245fef5a273f01837f9ac6998faa..fa31ba9d30cd0d1b23e15667c4c9bd9c13b5b9d3 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -2855,7 +2855,57 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2896,7 +2896,57 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()}
*/
diff --git a/patches/api/0114-Add-EntityKnockbackByEntityEvent-and-EntityPushedByE.patch b/patches/api/0114-Add-EntityKnockbackByEntityEvent-and-EntityPushedByE.patch
index e66a38f9c9..d6d986c450 100644
--- a/patches/api/0114-Add-EntityKnockbackByEntityEvent-and-EntityPushedByE.patch
+++ b/patches/api/0114-Add-EntityKnockbackByEntityEvent-and-EntityPushedByE.patch
@@ -62,10 +62,10 @@ index 0000000000000000000000000000000000000000..e0ba692c9b107f2b042a9c06549185e1
+}
diff --git a/src/main/java/io/papermc/paper/event/entity/EntityPushedByEntityAttackEvent.java b/src/main/java/io/papermc/paper/event/entity/EntityPushedByEntityAttackEvent.java
new file mode 100644
-index 0000000000000000000000000000000000000000..70d6e72d4dc0c040c8bccf7acc383e84db472514
+index 0000000000000000000000000000000000000000..404bec776244fd776566c81f671f1009830c6d6e
--- /dev/null
+++ b/src/main/java/io/papermc/paper/event/entity/EntityPushedByEntityAttackEvent.java
-@@ -0,0 +1,74 @@
+@@ -0,0 +1,82 @@
+package io.papermc.paper.event.entity;
+
+import org.bukkit.entity.Entity;
@@ -88,8 +88,7 @@ index 0000000000000000000000000000000000000000..70d6e72d4dc0c040c8bccf7acc383e84
+ private static final HandlerList HANDLER_LIST = new HandlerList();
+
+ private final @NotNull Entity pushedBy;
-+ private final @NotNull Vector acceleration;
-+
++ private @NotNull Vector acceleration;
+ private boolean cancelled;
+
+ @ApiStatus.Internal
@@ -116,7 +115,16 @@ index 0000000000000000000000000000000000000000..70d6e72d4dc0c040c8bccf7acc383e84
+ */
+ @NotNull
+ public Vector getAcceleration() {
-+ return this.acceleration;
++ return this.acceleration; // TODO Clone in 1.21 to not instantly break what was technically already modifiable
++ }
++
++ /**
++ * Sets the relative acceleration that will be applied to the affected entity.
++ *
++ * @param acceleration the new acceleration vector
++ */
++ public void setAcceleration(final @NotNull Vector acceleration) {
++ this.acceleration = acceleration.clone();
+ }
+
+ @Override
@@ -140,3 +148,33 @@ index 0000000000000000000000000000000000000000..70d6e72d4dc0c040c8bccf7acc383e84
+ return HANDLER_LIST;
+ }
+}
+diff --git a/src/main/java/org/bukkit/event/entity/EntityKnockbackByEntityEvent.java b/src/main/java/org/bukkit/event/entity/EntityKnockbackByEntityEvent.java
+index 3f17290c0863cc1d452bb50c524c18b6ab255d70..bd44bc5ed9e20148f9b2ab3d2049187280f3eb18 100644
+--- a/src/main/java/org/bukkit/event/entity/EntityKnockbackByEntityEvent.java
++++ b/src/main/java/org/bukkit/event/entity/EntityKnockbackByEntityEvent.java
+@@ -7,7 +7,10 @@ import org.jetbrains.annotations.NotNull;
+
+ /**
+ * Called when an entity receives knockback from another entity.
++ *
++ * @deprecated use {@link com.destroystokyo.paper.event.entity.EntityKnockbackByEntityEvent}
+ */
++@Deprecated(forRemoval = true) // Paper
+ public class EntityKnockbackByEntityEvent extends EntityKnockbackEvent {
+
+ private final Entity source;
+diff --git a/src/main/java/org/bukkit/event/entity/EntityKnockbackEvent.java b/src/main/java/org/bukkit/event/entity/EntityKnockbackEvent.java
+index 9355efbbd4625e34d6c9d26bcbd02272202dec79..fe3374fbbfef728358e4a15bbf2deb238a1e0bfd 100644
+--- a/src/main/java/org/bukkit/event/entity/EntityKnockbackEvent.java
++++ b/src/main/java/org/bukkit/event/entity/EntityKnockbackEvent.java
+@@ -11,7 +11,10 @@ import org.jetbrains.annotations.NotNull;
+
+ /**
+ * Called when a living entity receives knockback.
++ *
++ * @deprecated use {@link com.destroystokyo.paper.event.entity.EntityKnockbackByEntityEvent} or {@link io.papermc.paper.event.entity.EntityPushedByEntityAttackEvent}
+ */
++@Deprecated(forRemoval = true) // Paper
+ public class EntityKnockbackEvent extends EntityEvent implements Cancellable {
+
+ private static final HandlerList handlers = new HandlerList();
diff --git a/patches/api/0115-Expand-Explosions-API.patch b/patches/api/0115-Expand-Explosions-API.patch
index 3be51b350e..c74930f1a2 100644
--- a/patches/api/0115-Expand-Explosions-API.patch
+++ b/patches/api/0115-Expand-Explosions-API.patch
@@ -108,10 +108,10 @@ index 3161eae2fa5f03b7d3a5e9945ab659c15cf568c6..af737017ee397f80c44ee02c6cc60cef
/**
* Returns a list of entities within a bounding box centered around a Location.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 93c46d40efd73293d84c7eaadf4e360cc3706e2a..cd946f2de8a09fdb6ff9b256ca7eba64e6ed9aab 100644
+index fa31ba9d30cd0d1b23e15667c4c9bd9c13b5b9d3..ab0f76c74205f2fe1faf9aecc57ac3fb57431b06 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -1380,6 +1380,88 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -1382,6 +1382,88 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
*/
public boolean createExplosion(@NotNull Location loc, float power, boolean setFire);
diff --git a/patches/api/0119-Add-World.getEntity-UUID-API.patch b/patches/api/0119-Add-World.getEntity-UUID-API.patch
index fbf6d33245..f1e054d2ac 100644
--- a/patches/api/0119-Add-World.getEntity-UUID-API.patch
+++ b/patches/api/0119-Add-World.getEntity-UUID-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add World.getEntity(UUID) API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index cd946f2de8a09fdb6ff9b256ca7eba64e6ed9aab..7ebe35096db30854443932add9d1f737f328ec92 100644
+index ab0f76c74205f2fe1faf9aecc57ac3fb57431b06..ad7e2b624d5929beee5268151bda3abe9dfbb786 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -894,6 +894,17 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -896,6 +896,17 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@NotNull
public Collection<Entity> getNearbyEntities(@NotNull Location location, double x, double y, double z);
diff --git a/patches/api/0122-Entity-getChunk-API.patch b/patches/api/0122-Entity-getChunk-API.patch
index 55dee522c4..069bb8834e 100644
--- a/patches/api/0122-Entity-getChunk-API.patch
+++ b/patches/api/0122-Entity-getChunk-API.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Entity#getChunk API
Get the chunk the entity is currently registered to
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index 754097d9858b3a74f73c6ca483c2577c837f9f3a..40affe35704aa1a5e5a6f3661be966391c423ad2 100644
+index 28e2d003db578e7c0468c0d443fda3a40e2a0efa..77a706dde5995a8a6306b1d0a144dd37d580dea3 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -3,6 +3,7 @@ package org.bukkit.entity;
@@ -17,7 +17,7 @@ index 754097d9858b3a74f73c6ca483c2577c837f9f3a..40affe35704aa1a5e5a6f3661be96639
import org.bukkit.EntityEffect;
import org.bukkit.Location;
import org.bukkit.Nameable;
-@@ -800,5 +801,16 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
+@@ -795,5 +796,16 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
* @return True if entity spawned from a mob spawner
*/
boolean fromMobSpawner();
diff --git a/patches/api/0133-Provide-Chunk-Coordinates-as-a-Long-API.patch b/patches/api/0133-Provide-Chunk-Coordinates-as-a-Long-API.patch
index eb07065fa4..55e2525efc 100644
--- a/patches/api/0133-Provide-Chunk-Coordinates-as-a-Long-API.patch
+++ b/patches/api/0133-Provide-Chunk-Coordinates-as-a-Long-API.patch
@@ -7,10 +7,10 @@ Allows you to easily access the chunks X/z as a long, and a method
to look up by the long key too.
diff --git a/src/main/java/org/bukkit/Chunk.java b/src/main/java/org/bukkit/Chunk.java
-index efbfed855248cff8b4bdbfc181d3e82058df4749..766d643f0fe79660942fdad25e39e488e9379419 100644
+index a25f112f4d679946ddcb5ec9b4d0a0e2d1795bd3..57976bbe682d2309f7d15d5dcd3ad7f8049429ec 100644
--- a/src/main/java/org/bukkit/Chunk.java
+++ b/src/main/java/org/bukkit/Chunk.java
-@@ -33,6 +33,32 @@ public interface Chunk extends PersistentDataHolder {
+@@ -35,6 +35,32 @@ public interface Chunk extends PersistentDataHolder {
*/
int getZ();
@@ -44,10 +44,10 @@ index efbfed855248cff8b4bdbfc181d3e82058df4749..766d643f0fe79660942fdad25e39e488
* Gets the world containing this chunk
*
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 7ebe35096db30854443932add9d1f737f328ec92..be0e1ad34c526f2bd7b80f035c79b07e3b3ef5fb 100644
+index ad7e2b624d5929beee5268151bda3abe9dfbb786..9c22650c299ab063a7e558408ce6c203c79d11fd 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -180,6 +180,37 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -182,6 +182,37 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@NotNull
public Chunk getChunkAt(@NotNull Block block);
diff --git a/patches/api/0134-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch b/patches/api/0134-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch
index c6a3048377..1ec0eed805 100644
--- a/patches/api/0134-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch
+++ b/patches/api/0134-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Ability to get Tile Entities from a chunk without snapshots
diff --git a/src/main/java/org/bukkit/Chunk.java b/src/main/java/org/bukkit/Chunk.java
-index 766d643f0fe79660942fdad25e39e488e9379419..eca55d8d3464f0e13a3b7984f74559ccda87edba 100644
+index 57976bbe682d2309f7d15d5dcd3ad7f8049429ec..546888898d9d6827079fe041c7bc6eb4e1e4605c 100644
--- a/src/main/java/org/bukkit/Chunk.java
+++ b/src/main/java/org/bukkit/Chunk.java
-@@ -122,7 +122,30 @@ public interface Chunk extends PersistentDataHolder {
+@@ -124,7 +124,30 @@ public interface Chunk extends PersistentDataHolder {
* @return The tile entities.
*/
@NotNull
diff --git a/patches/api/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch b/patches/api/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch
index c58b8692c9..fa5588a81f 100644
--- a/patches/api/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch
+++ b/patches/api/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch
@@ -50,10 +50,10 @@ index 41125de49db8eafce4be59cc110ce5be06836a47..042d69e6d4584eb6d678b8ea13a3e4be
* @return A new location where X/Y/Z are the center of the block
*/
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index f15e1a6a43c0353ac4834f74fffb9adc2049dfcb..d5ebfdefe015e5509f0ecf53accfee2afbd4aadd 100644
+index 9c22650c299ab063a7e558408ce6c203c79d11fd..036a8ddc82a82800275d654d3fc00a9d30215350 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -97,6 +97,41 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -99,6 +99,41 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@NotNull
public Block getBlockAt(@NotNull Location location);
@@ -96,7 +96,7 @@ index f15e1a6a43c0353ac4834f74fffb9adc2049dfcb..d5ebfdefe015e5509f0ecf53accfee2a
* Gets the highest non-empty (impassable) block at the given coordinates.
*
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
-index 9f4d383ea3d6b26d16b8b77ca4c29d2d839ad6dd..f3a18e337a579b602b1289bccdf454334a663fcf 100644
+index f3b3606dc5881e931853fc2631aad9ca9083474d..a71001677e2b1b0b6225a7be63b8ea5ce4456862 100644
--- a/src/main/java/org/bukkit/block/Block.java
+++ b/src/main/java/org/bukkit/block/Block.java
@@ -156,6 +156,82 @@ public interface Block extends Metadatable, Translatable {
diff --git a/patches/api/0141-isChunkGenerated-API.patch b/patches/api/0141-isChunkGenerated-API.patch
index c8e246532b..642a714f64 100644
--- a/patches/api/0141-isChunkGenerated-API.patch
+++ b/patches/api/0141-isChunkGenerated-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] isChunkGenerated API
diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java
-index 34eeed3ec165bee9d9172ea636b1cc2d7d05f938..0b202d378d50946f43434e70d9d511cac06749b0 100644
+index 042d69e6d4584eb6d678b8ea13a3e4bea78703b8..02b4ffa6b918269bd64f7c518fcceef1f6990737 100644
--- a/src/main/java/org/bukkit/Location.java
+++ b/src/main/java/org/bukkit/Location.java
@@ -3,6 +3,7 @@ package org.bukkit;
@@ -37,10 +37,10 @@ index 34eeed3ec165bee9d9172ea636b1cc2d7d05f938..0b202d378d50946f43434e70d9d511ca
/**
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 55c0ad31ae8f1831c43404abb7e2e62da63885ce..07f723d5fb72e2eb776af130dc1d5caea16c5295 100644
+index 036a8ddc82a82800275d654d3fc00a9d30215350..25ff747e23e7373bb96ca9109df7e46cdefdcd2e 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -246,6 +246,19 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -248,6 +248,19 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
}
// Paper end - chunk long key API
diff --git a/patches/api/0143-Async-Chunks-API.patch b/patches/api/0143-Async-Chunks-API.patch
index a04a93a06c..2473d4c47f 100644
--- a/patches/api/0143-Async-Chunks-API.patch
+++ b/patches/api/0143-Async-Chunks-API.patch
@@ -8,10 +8,10 @@ Adds API's to load or generate chunks asynchronously.
Also adds utility methods to Entity to teleport asynchronously.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 07f723d5fb72e2eb776af130dc1d5caea16c5295..99a31572fa393a2482548ec55a96cb8568d07199 100644
+index 25ff747e23e7373bb96ca9109df7e46cdefdcd2e..116bad653e92efbfd576f3b146c0a9e40afbbe10 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -939,6 +939,472 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -941,6 +941,472 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
}
// Paper end - additional getNearbyEntities API
@@ -485,7 +485,7 @@ index 07f723d5fb72e2eb776af130dc1d5caea16c5295..99a31572fa393a2482548ec55a96cb85
* Get a list of all players in this World
*
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index 40affe35704aa1a5e5a6f3661be966391c423ad2..bdc547298fd29fe55016a17ff1be0d51619c0e2d 100644
+index 77a706dde5995a8a6306b1d0a144dd37d580dea3..14e42959033919ff6409e48ddf01c0f15c28eb10 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -168,6 +168,33 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
diff --git a/patches/api/0145-Expose-attack-cooldown-methods-for-Player.patch b/patches/api/0145-Expose-attack-cooldown-methods-for-Player.patch
index 6c649269e8..7b7377559d 100644
--- a/patches/api/0145-Expose-attack-cooldown-methods-for-Player.patch
+++ b/patches/api/0145-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 62707884e012badec14f74665f32058812bbc46e..76f70e0db9409aa731d79e2c7b16d39b4c2dfc4c 100644
+index 07dde016220eef654901e3d78e2d37fb4ee4a128..7fe44fd8a1e93551365ea434e750f7dece9088de 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3127,6 +3127,28 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3195,6 +3195,28 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void setPlayerProfile(com.destroystokyo.paper.profile.@NotNull PlayerProfile profile);
// Paper end - Player Profile API
diff --git a/patches/api/0147-Add-Git-information-to-version-command-on-startup.patch b/patches/api/0147-Add-Git-information-to-version-command-on-startup.patch
index 9d6dcb06b4..847ce11745 100644
--- a/patches/api/0147-Add-Git-information-to-version-command-on-startup.patch
+++ b/patches/api/0147-Add-Git-information-to-version-command-on-startup.patch
@@ -48,10 +48,10 @@ index 0000000000000000000000000000000000000000..909617079db61b675cc7b60b44ef96b3
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 9f52c092d906622e2eade3bc9d8baac6816f9f3a..869d57b429fbe2694d1444db56c56619abfae920 100644
+index 4f9ebcd991875d0bf486a8ebb39909f2ac32493b..c61096f724ea6a1ae7bc8990e9eaa44a16f5847e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -57,6 +57,7 @@ import org.bukkit.util.CachedServerIcon;
+@@ -58,6 +58,7 @@ import org.bukkit.util.CachedServerIcon;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -59,7 +59,7 @@ index 9f52c092d906622e2eade3bc9d8baac6816f9f3a..869d57b429fbe2694d1444db56c56619
/**
* Represents the Bukkit core, for version and Server singleton handling
-@@ -106,7 +107,25 @@ public final class Bukkit {
+@@ -107,7 +108,25 @@ public final class Bukkit {
}
Bukkit.server = server;
diff --git a/patches/api/0157-Add-sun-related-API.patch b/patches/api/0157-Add-sun-related-API.patch
index 540087547e..df9c9b7818 100644
--- a/patches/api/0157-Add-sun-related-API.patch
+++ b/patches/api/0157-Add-sun-related-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add sun related API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 99a31572fa393a2482548ec55a96cb8568d07199..561cfe701d76fa0c85cea4a76affa7e90de82da0 100644
+index 116bad653e92efbfd576f3b146c0a9e40afbbe10..bc0f09b2d555682d0bf7937e9aa6c97258e66635 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -1760,6 +1760,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -1762,6 +1762,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
*/
public void setFullTime(long time);
diff --git a/patches/api/0161-Make-the-default-permission-message-configurable.patch b/patches/api/0161-Make-the-default-permission-message-configurable.patch
index 67be23ffad..cad7e3c310 100644
--- a/patches/api/0161-Make-the-default-permission-message-configurable.patch
+++ b/patches/api/0161-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 378a457dee428238eb2c4827e9c1d2cc57d0f544..a06e6f51606612f5b9a69ce2d46be84231c08177 100644
+index c61096f724ea6a1ae7bc8990e9eaa44a16f5847e..ac84e6d10a337f767477177ef90ad10d754341e6 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2354,6 +2354,28 @@ public final class Bukkit {
+@@ -2374,6 +2374,28 @@ public final class Bukkit {
return server.suggestPlayerNamesWhenNullTabCompletions();
}
@@ -38,10 +38,10 @@ index 378a457dee428238eb2c4827e9c1d2cc57d0f544..a06e6f51606612f5b9a69ce2d46be842
* Creates a PlayerProfile for the specified uuid, with name as null.
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 4c16d026c6850f38295e71f4f4299e81f3e4c856..904502029842e8c3be700be33b156f11db4724af 100644
+index 7c53979f407a6a24c6d16bbfb205a8ac0321e5dc..050cdd5147814b39d158f0ce0fa8f5aa20894cf7 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2051,6 +2051,23 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2067,6 +2067,23 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
boolean suggestPlayerNamesWhenNullTabCompletions();
diff --git a/patches/api/0172-Entity-getEntitySpawnReason.patch b/patches/api/0172-Entity-getEntitySpawnReason.patch
index aa296072be..a00834444c 100644
--- a/patches/api/0172-Entity-getEntitySpawnReason.patch
+++ b/patches/api/0172-Entity-getEntitySpawnReason.patch
@@ -12,10 +12,10 @@ or DEFAULT since data was not stored.
Co-authored-by: Aurora <[email protected]>
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index bdc547298fd29fe55016a17ff1be0d51619c0e2d..3117bf9d61b507175cfb673095763a5d6bc802ba 100644
+index 14e42959033919ff6409e48ddf01c0f15c28eb10..469e85c3cb371842a78b32f8da97fe9c71bf409b 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
-@@ -839,5 +839,11 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
+@@ -834,5 +834,11 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
// TODO remove impl here
return getLocation().getChunk();
}
diff --git a/patches/api/0173-Fix-Spigot-annotation-mistakes.patch b/patches/api/0173-Fix-Spigot-annotation-mistakes.patch
index b62df72e9d..837422c19f 100644
--- a/patches/api/0173-Fix-Spigot-annotation-mistakes.patch
+++ b/patches/api/0173-Fix-Spigot-annotation-mistakes.patch
@@ -40,10 +40,10 @@ index ac420f0059fc50d3e1294f85df7515c9e17ff78f..24daba85ce4129fb0babe67570059ca8
public static Art getById(int id) {
return BY_ID.get(id);
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index a06e6f51606612f5b9a69ce2d46be84231c08177..3e072efdb4f552a0d010fe4c8efe523f59cdccd0 100644
+index ac84e6d10a337f767477177ef90ad10d754341e6..567a0cda774ce2e28e1466c0c6b1e07b931b4008 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -848,9 +848,8 @@ public final class Bukkit {
+@@ -868,9 +868,8 @@ public final class Bukkit {
*
* @param id the id of the map to get
* @return a map view if it exists, or null otherwise
@@ -54,7 +54,7 @@ index a06e6f51606612f5b9a69ce2d46be84231c08177..3e072efdb4f552a0d010fe4c8efe523f
@Nullable
public static MapView getMap(int id) {
return server.getMap(id);
-@@ -1317,10 +1316,8 @@ public final class Bukkit {
+@@ -1337,10 +1336,8 @@ public final class Bukkit {
* @param name the name the player to retrieve
* @return an offline player
* @see #getOfflinePlayer(java.util.UUID)
@@ -66,7 +66,7 @@ index a06e6f51606612f5b9a69ce2d46be84231c08177..3e072efdb4f552a0d010fe4c8efe523f
@NotNull
public static OfflinePlayer getOfflinePlayer(@NotNull String name) {
return server.getOfflinePlayer(name);
-@@ -1911,7 +1908,7 @@ public final class Bukkit {
+@@ -1931,7 +1928,7 @@ public final class Bukkit {
*
* @return the scoreboard manager or null if no worlds are loaded.
*/
@@ -474,15 +474,14 @@ index 26d02aa5da444112f8fa84c07e3080bb669983a1..0cb15350704955f4a1aeff184a8b60d9
private final NamespacedKey key;
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index 6455163261082c444985bc58b188d224517d4529..613cd9c2e91a851c86e339d2be86981b57669311 100644
+index db45423936d48835dee35d01ee502cdfdce4f68a..b3f8a2611ceb57f5d0b5c300fa80d8bad121498d 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -198,14 +198,14 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -199,14 +199,12 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
*
* @see TrimMaterial
*/
- @ApiStatus.Experimental
-+ //@ApiStatus.Experimental // Paper
Registry<TrimMaterial> TRIM_MATERIAL = Bukkit.getRegistry(TrimMaterial.class);
/**
* Trim patterns.
@@ -490,11 +489,10 @@ index 6455163261082c444985bc58b188d224517d4529..613cd9c2e91a851c86e339d2be86981b
* @see TrimPattern
*/
- @ApiStatus.Experimental
-+ //@ApiStatus.Experimental // Paper
Registry<TrimPattern> TRIM_PATTERN = Bukkit.getRegistry(TrimPattern.class);
/**
- * Villager profession.
-@@ -287,8 +287,11 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+ * Damage types.
+@@ -295,8 +293,11 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
*
* @param input non-null input
* @return registered object or null if does not exist
@@ -521,10 +519,10 @@ index 6277451c3c6c551078c237cd767b6d70c4f585ea..10f5cfb1885833a1d2c1027c03974da4
CRACKED(0x0),
GLYPHED(0x1),
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 904502029842e8c3be700be33b156f11db4724af..b9c7ff1dcbc09980faf26ce3319f7ee09bafc6df 100644
+index 050cdd5147814b39d158f0ce0fa8f5aa20894cf7..e5844d4a9808984fa21049401ed117102a1c4db8 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -712,9 +712,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -728,9 +728,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*
* @param id the id of the map to get
* @return a map view if it exists, or null otherwise
@@ -535,7 +533,7 @@ index 904502029842e8c3be700be33b156f11db4724af..b9c7ff1dcbc09980faf26ce3319f7ee0
@Nullable
public MapView getMap(int id);
-@@ -1111,10 +1110,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1127,10 +1126,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @param name the name the player to retrieve
* @return an offline player
* @see #getOfflinePlayer(java.util.UUID)
@@ -547,7 +545,7 @@ index 904502029842e8c3be700be33b156f11db4724af..b9c7ff1dcbc09980faf26ce3319f7ee0
@NotNull
public OfflinePlayer getOfflinePlayer(@NotNull String name);
-@@ -1614,7 +1611,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1630,7 +1627,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*
* @return the scoreboard manager or null if no worlds are loaded.
*/
@@ -600,10 +598,10 @@ index e455eb21abf121dc6ff10ff8a13dd06f67096a8f..bbc01e7c192ae6689c301670047ff114
return origin;
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 985dcea9ebed2fc5a3bfb8581cbd0ee4bf89ee8f..08eb8744104f1bbbd4f96972e0fb68f1aa4049f5 100644
+index bc0f09b2d555682d0bf7937e9aa6c97258e66635..bc5dd4182c5dd0a0d576410a68c445e3d006ae18 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -416,9 +416,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -418,9 +418,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @param z Z-coordinate of the chunk
* @return Whether the chunk was actually refreshed
*
@@ -614,7 +612,7 @@ index 985dcea9ebed2fc5a3bfb8581cbd0ee4bf89ee8f..08eb8744104f1bbbd4f96972e0fb68f1
public boolean refreshChunk(int x, int z);
/**
-@@ -3704,6 +3703,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -3745,6 +3744,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
StructureSearchResult locateNearestStructure(@NotNull Location origin, @NotNull Structure structure, int radius, boolean findUnexplored);
// Spigot start
@@ -622,7 +620,7 @@ index 985dcea9ebed2fc5a3bfb8581cbd0ee4bf89ee8f..08eb8744104f1bbbd4f96972e0fb68f1
public class Spigot {
/**
-@@ -3737,7 +3737,11 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -3778,7 +3778,11 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
}
}
@@ -634,7 +632,7 @@ index 985dcea9ebed2fc5a3bfb8581cbd0ee4bf89ee8f..08eb8744104f1bbbd4f96972e0fb68f1
Spigot spigot();
// Spigot end
-@@ -3928,9 +3932,9 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -3996,9 +4000,9 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* Gets the dimension ID of this environment
*
* @return dimension ID
@@ -646,7 +644,7 @@ index 985dcea9ebed2fc5a3bfb8581cbd0ee4bf89ee8f..08eb8744104f1bbbd4f96972e0fb68f1
public int getId() {
return id;
}
-@@ -3940,9 +3944,9 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -4008,9 +4012,9 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
*
* @param id The ID of the environment
* @return The environment
@@ -738,10 +736,10 @@ index b90f5dc345ad2cdd3ae353dc57f42a14c231d18a..a7b915ded9154d53ac8ca599119c1699
public static PistonMoveReaction getById(int id) {
return byId.get(id);
diff --git a/src/main/java/org/bukkit/entity/Enderman.java b/src/main/java/org/bukkit/entity/Enderman.java
-index 605af1a9fc48602643aec57dd14e8c4ab657a0bc..b3085c7ff8b3e96083d209f6612c006578773c24 100644
+index 3afe2787de576f7190d87c796bea0ab34dc30248..58191017244f3949f6174fb108e3a245738a53c4 100644
--- a/src/main/java/org/bukkit/entity/Enderman.java
+++ b/src/main/java/org/bukkit/entity/Enderman.java
-@@ -26,15 +26,19 @@ public interface Enderman extends Monster {
+@@ -25,15 +25,19 @@ public interface Enderman extends Monster {
* Gets the id and data of the block that the Enderman is carrying.
*
* @return MaterialData containing the id and data of the block
@@ -820,7 +818,7 @@ index f124b35ec76e6cb6a1a0dc464005087043c3efd0..f50aaddf8582be55fd4860ad374d8f22
+@Deprecated(forRemoval = true) // Paper
public interface LingeringPotion extends ThrownPotion { }
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index 4605153a2a8aa7b7cd0eed772c15f02f18707ec3..c58f7b4a7c05e35056a478a818a9a6cdfe99203f 100644
+index b2f66f80c90b9d716f43f94166ca015bdfd3173e..030d3b1b1fee0906d6a0fb2a47031b8a94caaf89 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -684,7 +684,9 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@@ -859,10 +857,10 @@ index 95c79c5fa0c4e30201f887da6467ce5f81c8a255..7f9c4d4b430a3f0276461346ff2621ba
/**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 76f70e0db9409aa731d79e2c7b16d39b4c2dfc4c..ae324d684fa1fe256ae2b2c50bd0566ad0a27110 100644
+index 7fe44fd8a1e93551365ea434e750f7dece9088de..2778f72af5de5cd339a8648c5631ff94d5ee1352 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1539,11 +1539,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1567,11 +1567,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Forces an update of the player's entire inventory.
@@ -1572,19 +1570,6 @@ index 597a18a767b68b47e81454b7d44613c7178c1366..bc3440eb72127824b3961fbdae583bb6
@NotNull
public ItemStack getInput() {
return this.ingredient.getItemStack();
-diff --git a/src/main/java/org/bukkit/inventory/meta/ColorableArmorMeta.java b/src/main/java/org/bukkit/inventory/meta/ColorableArmorMeta.java
-index 5ccae862dbac393805a47fe26c18a2f33f1e140d..72281899817c5c140cdca2afff75fbcebd942532 100644
---- a/src/main/java/org/bukkit/inventory/meta/ColorableArmorMeta.java
-+++ b/src/main/java/org/bukkit/inventory/meta/ColorableArmorMeta.java
-@@ -6,7 +6,7 @@ import org.jetbrains.annotations.NotNull;
- /**
- * Represents armor that an entity can equip and can also be colored.
- */
-+//@ApiStatus.Experimental // Paper
- public interface ColorableArmorMeta extends ArmorMeta, LeatherArmorMeta {
-
- @Override
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
index f800e776329c1b42f834cb30ebf2d0ace195d1a2..f23c0c942f200a68d2620f225ab90399a9057dfc 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
diff --git a/patches/api/0176-Add-Heightmap-API.patch b/patches/api/0176-Add-Heightmap-API.patch
index bede724445..848d5fcfcb 100644
--- a/patches/api/0176-Add-Heightmap-API.patch
+++ b/patches/api/0176-Add-Heightmap-API.patch
@@ -51,7 +51,7 @@ index 0000000000000000000000000000000000000000..1c832d69bb3717dcfccf21e45f6f060a
+ SOLID_OR_LIQUID_NO_LEAVES;
+}
diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java
-index cf42f6e57e96aa9cb4465e34a6e3f8709de4ca09..9bbd928f7d513ca317cd27beffa61e5111f5ffb0 100644
+index f0878c7539696cc0676e6010e88914d3850acf20..c6049747fc286acb4e8053901fcc517e5170afa2 100644
--- a/src/main/java/org/bukkit/Location.java
+++ b/src/main/java/org/bukkit/Location.java
@@ -649,6 +649,46 @@ public class Location implements Cloneable, ConfigurationSerializable, io.paperm
@@ -102,10 +102,10 @@ index cf42f6e57e96aa9cb4465e34a6e3f8709de4ca09..9bbd928f7d513ca317cd27beffa61e51
/**
* Creates explosion at this location with given power
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 8a200ffe1851b24110c92bb3a9f7ffc39b8c63f2..dd498e3ba46bd001028f7f9f94e18de42e875ff6 100644
+index bc5dd4182c5dd0a0d576410a68c445e3d006ae18..24ce9966140730c581c0709b14280e62a58331fa 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -151,6 +151,87 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -153,6 +153,87 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@NotNull
public Block getHighestBlockAt(@NotNull Location location);
diff --git a/patches/api/0181-Expose-the-internal-current-tick.patch b/patches/api/0181-Expose-the-internal-current-tick.patch
index cab5b202d7..9a0fe90fb6 100644
--- a/patches/api/0181-Expose-the-internal-current-tick.patch
+++ b/patches/api/0181-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 3e072efdb4f552a0d010fe4c8efe523f59cdccd0..bff6eb5114e44bf04eb793ad78752dabee471543 100644
+index 567a0cda774ce2e28e1466c0c6b1e07b931b4008..80144dc81249f7198bee5e6281362fd704e006d4 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2449,6 +2449,10 @@ public final class Bukkit {
+@@ -2469,6 +2469,10 @@ public final class Bukkit {
public static com.destroystokyo.paper.profile.PlayerProfile createProfileExact(@Nullable UUID uuid, @Nullable String name) {
return server.createProfileExact(uuid, name);
}
@@ -20,10 +20,10 @@ index 3e072efdb4f552a0d010fe4c8efe523f59cdccd0..bff6eb5114e44bf04eb793ad78752dab
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index b9c7ff1dcbc09980faf26ce3319f7ee09bafc6df..9cb3ab0ecfdab51e8dd1c397eb58bcdcde7a6a1a 100644
+index e5844d4a9808984fa21049401ed117102a1c4db8..031fd20bb361fb9befe62ec8006f42156bfe2747 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2133,5 +2133,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2149,5 +2149,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
com.destroystokyo.paper.profile.PlayerProfile createProfileExact(@Nullable UUID uuid, @Nullable String name);
diff --git a/patches/api/0187-Add-tick-times-API.patch b/patches/api/0187-Add-tick-times-API.patch
index 6bc3b548d3..c2d69a38e7 100644
--- a/patches/api/0187-Add-tick-times-API.patch
+++ b/patches/api/0187-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 bff6eb5114e44bf04eb793ad78752dabee471543..36af91308b498b72639bef62aaf82a1ea26ec91c 100644
+index 80144dc81249f7198bee5e6281362fd704e006d4..a839e8684de0c915f8b7edfe5e87978d774f7bde 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2121,6 +2121,25 @@ public final class Bukkit {
+@@ -2141,6 +2141,25 @@ public final class Bukkit {
public static double[] getTPS() {
return server.getTPS();
}
@@ -35,10 +35,10 @@ index bff6eb5114e44bf04eb793ad78752dabee471543..36af91308b498b72639bef62aaf82a1e
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 9cb3ab0ecfdab51e8dd1c397eb58bcdcde7a6a1a..037fab9568abda1ae2a54d3759ba74ec4fc09ff9 100644
+index 031fd20bb361fb9befe62ec8006f42156bfe2747..496e769cb77d856b4a0b4dc63ac466fdf6cbd3f9 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1795,6 +1795,21 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1811,6 +1811,21 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
public double[] getTPS();
diff --git a/patches/api/0188-Expose-MinecraftServer-isRunning.patch b/patches/api/0188-Expose-MinecraftServer-isRunning.patch
index 2297138cfa..641ee5ac54 100644
--- a/patches/api/0188-Expose-MinecraftServer-isRunning.patch
+++ b/patches/api/0188-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 36af91308b498b72639bef62aaf82a1ea26ec91c..27e62bd04426295e23134e2e601550a995ea7059 100644
+index a839e8684de0c915f8b7edfe5e87978d774f7bde..00320a15e4edbcbab182b4064b05d3a19dc441ce 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2472,6 +2472,15 @@ public final class Bukkit {
+@@ -2492,6 +2492,15 @@ public final class Bukkit {
public static int getCurrentTick() {
return server.getCurrentTick();
}
@@ -26,10 +26,10 @@ index 36af91308b498b72639bef62aaf82a1ea26ec91c..27e62bd04426295e23134e2e601550a9
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 037fab9568abda1ae2a54d3759ba74ec4fc09ff9..7a292b24d90b36278321200e13fa12d7d46225da 100644
+index 496e769cb77d856b4a0b4dc63ac466fdf6cbd3f9..d606b1d1ac37a13607c893e14ad88b26d1296ab0 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2155,5 +2155,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2171,5 +2171,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @return Current tick
*/
int getCurrentTick();
diff --git a/patches/api/0189-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/api/0189-Add-Raw-Byte-ItemStack-Serialization.patch
index 3a9050cf88..ac702b7e90 100644
--- a/patches/api/0189-Add-Raw-Byte-ItemStack-Serialization.patch
+++ b/patches/api/0189-Add-Raw-Byte-ItemStack-Serialization.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add Raw Byte ItemStack Serialization
Serializes using NBT which is safer for server data migrations than bukkits format.
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 4604392831d19a789e4906cf1a5f0197105fd6f2..f063016f8a88dbff480ac3b4b3ef05c16a8e515a 100644
+index 688fccdbc5cf831008ef2f27db9d15b0921a7561..e4861a8be534bfeae0385f0197261fa6ec1e7bc0 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -134,5 +134,9 @@ public interface UnsafeValues {
+@@ -151,5 +151,9 @@ public interface UnsafeValues {
default com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
return new com.destroystokyo.paper.util.VersionFetcher.DummyVersionFetcher();
}
diff --git a/patches/api/0190-Add-Player-Client-Options-API.patch b/patches/api/0190-Add-Player-Client-Options-API.patch
index 4048aa206a..f43e607850 100644
--- a/patches/api/0190-Add-Player-Client-Options-API.patch
+++ b/patches/api/0190-Add-Player-Client-Options-API.patch
@@ -231,10 +231,10 @@ index 0000000000000000000000000000000000000000..1757055d821d9ec7c728aa6c1b52fa6a
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index ae324d684fa1fe256ae2b2c50bd0566ad0a27110..f36dc68a71e9799a638693ae5615743f94a85d40 100644
+index 2778f72af5de5cd339a8648c5631ff94d5ee1352..06872dcef2d7f158ca3f25fb69b56511a0a1a90e 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3146,6 +3146,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3214,6 +3214,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void resetCooldown();
// Paper end - attack cooldown API
diff --git a/patches/api/0195-Expose-game-version.patch b/patches/api/0195-Expose-game-version.patch
index 9d1750b3aa..5cd19ffff9 100644
--- a/patches/api/0195-Expose-game-version.patch
+++ b/patches/api/0195-Expose-game-version.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose game version
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 4e8383432a3a8a07dbc31f77986b0f4790779f7d..29cf7359334144d6e718fed560771be35f580b16 100644
+index 00320a15e4edbcbab182b4064b05d3a19dc441ce..ed65e84868f6b3b9272c8266244d7ab3725a7699 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -158,6 +158,18 @@ public final class Bukkit {
+@@ -159,6 +159,18 @@ public final class Bukkit {
return server.getBukkitVersion();
}
@@ -28,10 +28,10 @@ index 4e8383432a3a8a07dbc31f77986b0f4790779f7d..29cf7359334144d6e718fed560771be3
* Gets a view of all currently logged in players. This {@linkplain
* Collections#unmodifiableCollection(Collection) view} is a reused
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 37caeff1416cf0e3c63260ba7ad82a92e95a5399..d97200a8816dbbbce07734b5547a942f8f3f0fdc 100644
+index d606b1d1ac37a13607c893e14ad88b26d1296ab0..e87718db19c902fe385328866767e46c397b7e86 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -116,6 +116,16 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -117,6 +117,16 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
public String getBukkitVersion();
diff --git a/patches/api/0196-Add-Mob-Goal-API.patch b/patches/api/0196-Add-Mob-Goal-API.patch
index ce84f29868..5f64cd9ab9 100644
--- a/patches/api/0196-Add-Mob-Goal-API.patch
+++ b/patches/api/0196-Add-Mob-Goal-API.patch
@@ -226,10 +226,10 @@ index 0000000000000000000000000000000000000000..e21f7574763dd4f13794f91bbef192ef
+ <T extends Mob> Collection<Goal<T>> getRunningGoalsWithout(@NotNull T mob, @NotNull GoalType type);
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 29cf7359334144d6e718fed560771be35f580b16..5c508045a53d9f6efe6358648daa47c0096ad55e 100644
+index ed65e84868f6b3b9272c8266244d7ab3725a7699..946dc3c3bde31c7a02ac4733ee8c88e63d8baff8 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2493,6 +2493,16 @@ public final class Bukkit {
+@@ -2513,6 +2513,16 @@ public final class Bukkit {
public static boolean isStopping() {
return server.isStopping();
}
@@ -247,10 +247,10 @@ index 29cf7359334144d6e718fed560771be35f580b16..5c508045a53d9f6efe6358648daa47c0
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index d97200a8816dbbbce07734b5547a942f8f3f0fdc..aec7814485efb0b827ccfde92372a436d47ed2f5 100644
+index e87718db19c902fe385328866767e46c397b7e86..000713e09564c96a7d3c9ceb0371de26a11ff82e 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2172,5 +2172,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2188,5 +2188,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/0205-Add-entity-liquid-API.patch b/patches/api/0205-Add-entity-liquid-API.patch
index cefdd0dc5a..286f7e4e5a 100644
--- a/patches/api/0205-Add-entity-liquid-API.patch
+++ b/patches/api/0205-Add-entity-liquid-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add entity liquid API
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index 3117bf9d61b507175cfb673095763a5d6bc802ba..72878285779dcfc6f365dc983f79b6e542792b89 100644
+index 469e85c3cb371842a78b32f8da97fe9c71bf409b..1e766f77e39b86b0561884a478d10cedc3d98fc2 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
-@@ -845,5 +845,40 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
+@@ -840,5 +840,40 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
*/
@NotNull
org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason getEntitySpawnReason();
diff --git a/patches/api/0208-Brand-support.patch b/patches/api/0208-Brand-support.patch
index c56833b9df..393665178f 100644
--- a/patches/api/0208-Brand-support.patch
+++ b/patches/api/0208-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 f36dc68a71e9799a638693ae5615743f94a85d40..f57c4a1ce6d1324c2adffed14b9ecb7700bea81c 100644
+index 06872dcef2d7f158ca3f25fb69b56511a0a1a90e..74dd447e74bae93a568acce75a7e3818ab6e5568 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3259,6 +3259,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3327,6 +3327,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
// Paper end
}
diff --git a/patches/api/0215-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/api/0215-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
index 0118683bc2..8d1a16ed42 100644
--- a/patches/api/0215-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
+++ b/patches/api/0215-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index f063016f8a88dbff480ac3b4b3ef05c16a8e515a..96b66f4f6fb8637ab3ad275ddd980d5b71711a6c 100644
+index e4861a8be534bfeae0385f0197261fa6ec1e7bc0..86bb2a6f46c7c39e7ac1923c3454785a3dc76648 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -138,5 +138,12 @@ public interface UnsafeValues {
+@@ -155,5 +155,12 @@ public interface UnsafeValues {
byte[] serializeItem(ItemStack item);
ItemStack deserializeItem(byte[] data);
diff --git a/patches/api/0216-Entity-isTicking.patch b/patches/api/0216-Entity-isTicking.patch
index 8d63d599c7..b56340aad5 100644
--- a/patches/api/0216-Entity-isTicking.patch
+++ b/patches/api/0216-Entity-isTicking.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity#isTicking
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index 72878285779dcfc6f365dc983f79b6e542792b89..9eb90abcdd5ee78e495b2b53ed8643593e9485d3 100644
+index 1e766f77e39b86b0561884a478d10cedc3d98fc2..387413af95421159eae04737cc04c8221e88357b 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
-@@ -880,5 +880,10 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
+@@ -875,5 +875,10 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
* Check if entity is in lava
*/
boolean isInLava();
diff --git a/patches/api/0218-Player-elytra-boost-API.patch b/patches/api/0218-Player-elytra-boost-API.patch
index d6552aab0a..7b432696c4 100644
--- a/patches/api/0218-Player-elytra-boost-API.patch
+++ b/patches/api/0218-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 f57c4a1ce6d1324c2adffed14b9ecb7700bea81c..2f083ef738681ae1219438541487eac093343cf0 100644
+index 74dd447e74bae93a568acce75a7e3818ab6e5568..3f9cdf1cfd19e61e3568af536b195f08b26418ab 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3153,6 +3153,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3221,6 +3221,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
<T> @NotNull T getClientOption(com.destroystokyo.paper.@NotNull ClientOption<T> option);
// Paper end - client option API
diff --git a/patches/api/0219-Add-getOfflinePlayerIfCached-String.patch b/patches/api/0219-Add-getOfflinePlayerIfCached-String.patch
index bfbdc483f7..de11733eec 100644
--- a/patches/api/0219-Add-getOfflinePlayerIfCached-String.patch
+++ b/patches/api/0219-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 1f63a4f8ffd11fe04f8dc807ad993e4b59172fea..dfe5055cefe6a110732e0fcc936dddb866cbd9e3 100644
+index 946dc3c3bde31c7a02ac4733ee8c88e63d8baff8..b4341f5c9adcebd13a0f62ebc32d081a65d71ba4 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1335,6 +1335,27 @@ public final class Bukkit {
+@@ -1355,6 +1355,27 @@ public final class Bukkit {
return server.getOfflinePlayer(name);
}
@@ -37,10 +37,10 @@ index 1f63a4f8ffd11fe04f8dc807ad993e4b59172fea..dfe5055cefe6a110732e0fcc936dddb8
* 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 1e88ad22e98cbbde118e6208b3502aee7391bac8..7986d51083c2c27709032b06731621d2e89bec57 100644
+index 000713e09564c96a7d3c9ceb0371de26a11ff82e..3c64eb18b7cb6ac371b094a581da8a033e90d00f 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1125,6 +1125,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1141,6 +1141,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
public OfflinePlayer getOfflinePlayer(@NotNull String name);
diff --git a/patches/api/0245-Add-sendOpLevel-API.patch b/patches/api/0245-Add-sendOpLevel-API.patch
index fa031a8e07..2d47c5e770 100644
--- a/patches/api/0245-Add-sendOpLevel-API.patch
+++ b/patches/api/0245-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 2f083ef738681ae1219438541487eac093343cf0..7a5839ac8f4d6bfd23d456e8e06fcfc86d24531f 100644
+index 3f9cdf1cfd19e61e3568af536b195f08b26418ab..59821aba66edbef2644bdd21646f556e773a898b 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3172,6 +3172,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3240,6 +3240,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
}
// Paper end - elytra boost API
diff --git a/patches/api/0247-Add-StructuresLocateEvent.patch b/patches/api/0247-Add-StructuresLocateEvent.patch
index f3cf01ce68..ae3aef5102 100644
--- a/patches/api/0247-Add-StructuresLocateEvent.patch
+++ b/patches/api/0247-Add-StructuresLocateEvent.patch
@@ -513,10 +513,10 @@ index 0000000000000000000000000000000000000000..1e7b53f9bc13dcd5a0a4a40004591e4f
+ }
+}
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index 613cd9c2e91a851c86e339d2be86981b57669311..4331acfc9efd08011e339a1bc0a5190abc197506 100644
+index b3f8a2611ceb57f5d0b5c300fa80d8bad121498d..4bc53793aade0887fa650a4bbf51d2e57678bd90 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -262,6 +262,17 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -268,6 +268,17 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
* @see GameEvent
*/
Registry<GameEvent> GAME_EVENT = Objects.requireNonNull(Bukkit.getRegistry(GameEvent.class), "No registry present for GameEvent. This is a bug.");
diff --git a/patches/api/0259-Expose-Tracked-Players.patch b/patches/api/0259-Expose-Tracked-Players.patch
index 1abd6a33aa..72636f895d 100644
--- a/patches/api/0259-Expose-Tracked-Players.patch
+++ b/patches/api/0259-Expose-Tracked-Players.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose Tracked Players
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index 9eb90abcdd5ee78e495b2b53ed8643593e9485d3..d98fe98f703ff478ea4427783fd68debe9a6f267 100644
+index 387413af95421159eae04737cc04c8221e88357b..9d3694c6e1144e04006425fb96b802c96e5fdc12 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
-@@ -885,5 +885,14 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
+@@ -880,5 +880,14 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
* Check if entity is inside a ticking chunk
*/
boolean isTicking();
diff --git a/patches/api/0265-Expand-world-key-API.patch b/patches/api/0265-Expand-world-key-API.patch
index 761d7d83f5..ee70bbcfd2 100644
--- a/patches/api/0265-Expand-world-key-API.patch
+++ b/patches/api/0265-Expand-world-key-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expand world key API
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index dfe5055cefe6a110732e0fcc936dddb866cbd9e3..c4a4a0b1295739070017e7d09dd5e04a798494e3 100644
+index b4341f5c9adcebd13a0f62ebc32d081a65d71ba4..7e049d9934df2259ea566aaa69ce118ce829529d 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -842,6 +842,18 @@ public final class Bukkit {
+@@ -862,6 +862,18 @@ public final class Bukkit {
public static World getWorld(@NotNull UUID uid) {
return server.getWorld(uid);
}
@@ -56,10 +56,10 @@ index 27eff0826d5b5b48697fefd9571886e7bbce74b1..d8b1fa79dc24138dc71e32c14bda71c1
// Paper end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 7986d51083c2c27709032b06731621d2e89bec57..0e3e654fb0551c6f862ce14b75cf1186392b023f 100644
+index 3c64eb18b7cb6ac371b094a581da8a033e90d00f..c3e0b40a845a30790f31a0cf591bfa7f0cd87fee 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -704,6 +704,17 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -720,6 +720,17 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@Nullable
public World getWorld(@NotNull UUID uid);
@@ -78,10 +78,10 @@ index 7986d51083c2c27709032b06731621d2e89bec57..0e3e654fb0551c6f862ce14b75cf1186
* Create a new virtual {@link WorldBorder}.
* <p>
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 96b66f4f6fb8637ab3ad275ddd980d5b71711a6c..27d5f37a9b2da92307e5b505e3b31cca8a067018 100644
+index 86bb2a6f46c7c39e7ac1923c3454785a3dc76648..72a29fff4c497a2a66e2746ad42553bcb712e20d 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -145,5 +145,10 @@ public interface UnsafeValues {
+@@ -162,5 +162,10 @@ public interface UnsafeValues {
* Use this when sending custom packets, so that there are no collisions on the client or server.
*/
public int nextEntityId();
diff --git a/patches/api/0266-Item-Rarity-API.patch b/patches/api/0266-Item-Rarity-API.patch
index aeb3aa7f1e..5e00725324 100644
--- a/patches/api/0266-Item-Rarity-API.patch
+++ b/patches/api/0266-Item-Rarity-API.patch
@@ -61,10 +61,10 @@ index 85604d2c364c41fed24257a9b02ceeb58712f6a2..8fd928cfe61ab6f06c52eb5e4561fd68
/**
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 27d5f37a9b2da92307e5b505e3b31cca8a067018..26b0d5c0a62e516db6eef9dedc81216d7ed5053c 100644
+index 72a29fff4c497a2a66e2746ad42553bcb712e20d..22db1d8645a450308fe91d0cd100c926dd8c6f08 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -150,5 +150,22 @@ public interface UnsafeValues {
+@@ -167,5 +167,22 @@ public interface UnsafeValues {
* Just don't use it.
*/
@org.jetbrains.annotations.NotNull String getMainLevelName();
diff --git a/patches/api/0267-Expose-protocol-version.patch b/patches/api/0267-Expose-protocol-version.patch
index 18c7331272..0d34eacc4c 100644
--- a/patches/api/0267-Expose-protocol-version.patch
+++ b/patches/api/0267-Expose-protocol-version.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose protocol version
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 26b0d5c0a62e516db6eef9dedc81216d7ed5053c..3ae23a15a2c8757d3003041425ced583187d3d21 100644
+index 22db1d8645a450308fe91d0cd100c926dd8c6f08..a3810c693d3748fba818e4a835ceb77762f433b9 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -167,5 +167,12 @@ public interface UnsafeValues {
+@@ -184,5 +184,12 @@ public interface UnsafeValues {
* @return the itemstack rarity
*/
public io.papermc.paper.inventory.ItemRarity getItemStackRarity(ItemStack itemStack);
diff --git a/patches/api/0272-More-World-API.patch b/patches/api/0272-More-World-API.patch
index 3c429371d9..a3d88eb648 100644
--- a/patches/api/0272-More-World-API.patch
+++ b/patches/api/0272-More-World-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] More World API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 81b4e5764f68ef38938e645ca8180fc5ce263811..3fecfdebe43e3b543725a43f73465ae9ea030a0c 100644
+index 24ce9966140730c581c0709b14280e62a58331fa..d09c6b7c7b80f1f59e052ddb4aa8ad05b63fca2b 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -3783,6 +3783,122 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -3824,6 +3824,122 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
StructureSearchResult locateNearestStructure(@NotNull Location origin, @NotNull Structure structure, int radius, boolean findUnexplored);
diff --git a/patches/api/0282-Add-basic-Datapack-API.patch b/patches/api/0282-Add-basic-Datapack-API.patch
index 497ce52ec6..dafb02a98d 100644
--- a/patches/api/0282-Add-basic-Datapack-API.patch
+++ b/patches/api/0282-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 c4a4a0b1295739070017e7d09dd5e04a798494e3..2e29da775e60c149d2c251d78ee7c60b494215a4 100644
+index 7e049d9934df2259ea566aaa69ce118ce829529d..8ca65a413295c1f104cc47f2f71cbc80345a9812 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -318,9 +318,11 @@ public final class Bukkit {
+@@ -328,9 +328,11 @@ public final class Bukkit {
/**
* Get the DataPack Manager.
*
@@ -85,7 +85,7 @@ index c4a4a0b1295739070017e7d09dd5e04a798494e3..2e29da775e60c149d2c251d78ee7c60b
public static DataPackManager getDataPackManager() {
return server.getDataPackManager();
}
-@@ -2536,6 +2538,14 @@ public final class Bukkit {
+@@ -2556,6 +2558,14 @@ public final class Bukkit {
public static com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() {
return server.getMobGoals();
}
@@ -101,10 +101,10 @@ index c4a4a0b1295739070017e7d09dd5e04a798494e3..2e29da775e60c149d2c251d78ee7c60b
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 0e3e654fb0551c6f862ce14b75cf1186392b023f..61701b6e8291cb5816b0a7eb511152eed3db43e8 100644
+index c3e0b40a845a30790f31a0cf591bfa7f0cd87fee..be0d3ea564503441910aecdfe3d45b0303facc19 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -256,9 +256,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -264,9 +264,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
/**
* Get the DataPack Manager.
*
@@ -116,7 +116,7 @@ index 0e3e654fb0551c6f862ce14b75cf1186392b023f..61701b6e8291cb5816b0a7eb511152ee
public DataPackManager getDataPackManager();
/**
-@@ -2210,5 +2212,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2226,5 +2228,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
com.destroystokyo.paper.entity.ai.MobGoals getMobGoals();
diff --git a/patches/api/0284-ItemStack-repair-check-API.patch b/patches/api/0284-ItemStack-repair-check-API.patch
index c6f36eb4de..46650ec4b7 100644
--- a/patches/api/0284-ItemStack-repair-check-API.patch
+++ b/patches/api/0284-ItemStack-repair-check-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack repair check API
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 3ae23a15a2c8757d3003041425ced583187d3d21..6b8013b072c9ca0a6f5ba86f37de3744fc70979e 100644
+index a3810c693d3748fba818e4a835ceb77762f433b9..d9e3e4ad108a94ac6f0f5378d22d47845091efb4 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -168,6 +168,16 @@ public interface UnsafeValues {
+@@ -185,6 +185,16 @@ public interface UnsafeValues {
*/
public io.papermc.paper.inventory.ItemRarity getItemStackRarity(ItemStack itemStack);
diff --git a/patches/api/0289-Attributes-API-for-item-defaults.patch b/patches/api/0289-Attributes-API-for-item-defaults.patch
index 6a98472b09..66172a6027 100644
--- a/patches/api/0289-Attributes-API-for-item-defaults.patch
+++ b/patches/api/0289-Attributes-API-for-item-defaults.patch
@@ -31,10 +31,10 @@ index 8fd928cfe61ab6f06c52eb5e4561fd6860e1f8d9..64ca3c676703eed55b4ac8a2d4561d48
/**
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 6b8013b072c9ca0a6f5ba86f37de3744fc70979e..0f09250d536b7405f0dc253afb1f3c4ccbaeb0da 100644
+index d9e3e4ad108a94ac6f0f5378d22d47845091efb4..bdee63fb97cbc0c9fbe7df74de5cb5f4ed7de3ca 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -178,6 +178,18 @@ public interface UnsafeValues {
+@@ -195,6 +195,18 @@ public interface UnsafeValues {
*/
public boolean isValidRepairItemStack(@org.jetbrains.annotations.NotNull ItemStack itemToBeRepaired, @org.jetbrains.annotations.NotNull ItemStack repairMaterial);
diff --git a/patches/api/0292-Add-PlayerKickEvent-causes.patch b/patches/api/0292-Add-PlayerKickEvent-causes.patch
index d03d83031a..39657e4039 100644
--- a/patches/api/0292-Add-PlayerKickEvent-causes.patch
+++ b/patches/api/0292-Add-PlayerKickEvent-causes.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerKickEvent causes
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 6e44845340f23a5b6ad8be46a1fa3dbb9dec5d67..a5e4b4447b5c68339d6b09749520048642a4eb83 100644
+index 59821aba66edbef2644bdd21646f556e773a898b..793df7533096efb0f60bddcb3e4e1575cbcc1069 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -275,6 +275,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -277,6 +277,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param message kick message
*/
void kick(final net.kyori.adventure.text.@Nullable Component message);
diff --git a/patches/api/0299-Missing-Entity-API.patch b/patches/api/0299-Missing-Entity-API.patch
index 0fbca326eb..7dff1ccf46 100644
--- a/patches/api/0299-Missing-Entity-API.patch
+++ b/patches/api/0299-Missing-Entity-API.patch
@@ -402,12 +402,12 @@ index 191ce6c0e32ab3d05b1376e0fa56d1292c2d442c..8de09075e14a08a6c68f9c24e8960cc0
-public interface Cod extends Fish { }
+public interface Cod extends io.papermc.paper.entity.SchoolableFish { } // Paper - Schooling Fish API
diff --git a/src/main/java/org/bukkit/entity/Enderman.java b/src/main/java/org/bukkit/entity/Enderman.java
-index b3085c7ff8b3e96083d209f6612c006578773c24..b8ad718dbc6bc6e4000480d35c499cc1542998fa 100644
+index 58191017244f3949f6174fb108e3a245738a53c4..61672c6faf94aa497145aadd634bb10103c7b05a 100644
--- a/src/main/java/org/bukkit/entity/Enderman.java
+++ b/src/main/java/org/bukkit/entity/Enderman.java
-@@ -89,4 +89,36 @@ public interface Enderman extends Monster {
+@@ -86,4 +86,36 @@ public interface Enderman extends Monster {
+ * @return true if the teleport succeeded.
*/
- @ApiStatus.Experimental
public boolean teleportTowards(@NotNull Entity entity);
+
+ // Paper start
@@ -556,7 +556,7 @@ index 6b3c9bef9a8a34ddc6ff42cf358541a2665bf5e3..9c618a27d590f186f29c5d9094fc565e
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index 129df18c471f1ec0c286746953ae8803a209cfa7..ca74b215d226db16259e9ca9c930a49b3e444a7a 100644
+index b1fb059fc2249814c9e509c219da2aed84d34fe0..6e6b80843a8669b422f93e98343e1da9f8546ee7 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -1016,6 +1016,57 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@@ -722,10 +722,10 @@ index 11b6d1aba7d1f6ae1f3c822193486f5a1478e105..709c8fc3dde786f45ff13d6ee6c405ff
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/MushroomCow.java b/src/main/java/org/bukkit/entity/MushroomCow.java
-index 939a3dbfcf38f38e4e39d28973ef723157ce0a50..e14194a130ebd872bbc1eb24c7759f0388f3da97 100644
+index cef1700834643fe28ed5737578d91ecefbe99e2f..794b7b4a870a0d289476074e3a3f46552604c954 100644
--- a/src/main/java/org/bukkit/entity/MushroomCow.java
+++ b/src/main/java/org/bukkit/entity/MushroomCow.java
-@@ -35,4 +35,75 @@ public interface MushroomCow extends Cow {
+@@ -95,4 +95,75 @@ public interface MushroomCow extends Cow {
*/
BROWN;
}
diff --git a/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch
index 209cde5c42..c84e83d2de 100644
--- a/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch
+++ b/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add methods to find targets for lightning strikes
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 39fd31cb24d16b8279f54e666bb5e7bccf32468c..21835fcc70c4dcffb2474caa7be3cd07bb54e2cd 100644
+index d09c6b7c7b80f1f59e052ddb4aa8ad05b63fca2b..6897600a6879d88cea287cde350c1e9cd11ae96d 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -735,6 +735,37 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -737,6 +737,37 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@NotNull
public LightningStrike strikeLightningEffect(@NotNull Location loc);
diff --git a/patches/api/0316-Get-entity-default-attributes.patch b/patches/api/0316-Get-entity-default-attributes.patch
index d655cddecb..60dc6739f1 100644
--- a/patches/api/0316-Get-entity-default-attributes.patch
+++ b/patches/api/0316-Get-entity-default-attributes.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Get entity default attributes
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 0f09250d536b7405f0dc253afb1f3c4ccbaeb0da..f08e03c71f1e59d31a22822701b4e9ae6cc1429d 100644
+index bdee63fb97cbc0c9fbe7df74de5cb5f4ed7de3ca..5d4721595a24c8c970f2500fc805c3efc4508157 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -196,5 +196,22 @@ public interface UnsafeValues {
+@@ -213,5 +213,22 @@ public interface UnsafeValues {
* @return the server's protocol version
*/
int getProtocolVersion();
diff --git a/patches/api/0318-Add-critical-damage-API.patch b/patches/api/0318-Add-critical-damage-API.patch
index 12f98b0fea..e0621399a2 100644
--- a/patches/api/0318-Add-critical-damage-API.patch
+++ b/patches/api/0318-Add-critical-damage-API.patch
@@ -5,47 +5,58 @@ Subject: [PATCH] Add critical damage API
diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java
-index 869bad7405ec7fa67728e90d8b9f2e11b542611f..aec5a0c2882cf69e8802b9e754b14d0acc34b162 100644
+index 0a43b1ffdb03bb8b67e880dfd9a6a1ce5d02eb32..f79eb4a0f634354ac68995144821bc4e966d2dd8 100644
--- a/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java
-@@ -11,15 +11,40 @@ import org.jetbrains.annotations.NotNull;
+@@ -4,6 +4,7 @@ import com.google.common.base.Function;
+ import java.util.Map;
+ import org.bukkit.damage.DamageSource;
+ import org.bukkit.entity.Entity;
++import org.jetbrains.annotations.ApiStatus;
+ import org.jetbrains.annotations.NotNull;
+
+ /**
+@@ -11,17 +12,43 @@ import org.jetbrains.annotations.NotNull;
+ */
public class EntityDamageByEntityEvent extends EntityDamageEvent {
private final Entity damager;
++ private final boolean critical; // Paper
-+ @Deprecated // Paper - add critical damage API
- public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, final double damage) {
- super(damagee, cause, damage);
++ @Deprecated
+ public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, final double damage) {
+ super(damagee, cause, damageSource, damage);
this.damager = damager;
+ this.critical = false; // Paper - add critical damage API
}
-+ @Deprecated // Paper - add critical damage API
- public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions) {
-+ // Paper start - add critical damage API
-+ this(damager, damagee, cause, modifiers, modifierFunctions, false);
-+ }
-+
-+ private final boolean critical;
-+ public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions, boolean critical) {
-+ // Paper end
- super(damagee, cause, modifiers, modifierFunctions);
++ @Deprecated
+ public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions) {
+ super(damagee, cause, damageSource, modifiers, modifierFunctions);
this.damager = damager;
-+ // Paper start - add critical damage API
++ // Paper start
++ this.critical = false;
+ }
+
++ @ApiStatus.Internal
++ public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions, boolean critical) {
++ super(damagee, cause, damageSource, modifiers, modifierFunctions);
++ this.damager = damager;
+ this.critical = critical;
+ }
+
+ /**
+ * Shows this damage instance was critical.
+ * The damage instance can be critical if the attacking player met the respective conditions.
-+ * Furthermore arrows may also cause a critical damage event if the arrow {@link org.bukkit.entity.AbstractArrow#isCritical()}.
++ * Furthermore, arrows may also cause a critical damage event if the arrow {@link org.bukkit.entity.AbstractArrow#isCritical()}.
+ *
+ * @return if the hit was critical.
+ * @see <a href="https://minecraft.wiki/wiki/Damage#Critical_hit">https://minecraft.wiki/wiki/Damage#Critical_hit</a>
+ */
+ public boolean isCritical() {
+ return this.critical;
- }
++ }
+ // Paper end
-
++
/**
* Returns the entity that damaged the defender.
+ *
diff --git a/patches/api/0321-Add-isCollidable-methods-to-various-places.patch b/patches/api/0321-Add-isCollidable-methods-to-various-places.patch
index 4931b0b29f..a3abc4242a 100644
--- a/patches/api/0321-Add-isCollidable-methods-to-various-places.patch
+++ b/patches/api/0321-Add-isCollidable-methods-to-various-places.patch
@@ -26,10 +26,10 @@ index 64ca3c676703eed55b4ac8a2d4561d483c6935b1..9f86ad25a57b3f6e6bda1ce657833837
/**
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index f08e03c71f1e59d31a22822701b4e9ae6cc1429d..7dc808f94c42e821fa125073b1a9b853e16d5b41 100644
+index 5d4721595a24c8c970f2500fc805c3efc4508157..434fde52986ba07d7209ff47483f74fe31e8ebe7 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -213,5 +213,14 @@ public interface UnsafeValues {
+@@ -230,5 +230,14 @@ public interface UnsafeValues {
* @throws IllegalArgumentException if the entity does not exist of have default attributes (use {@link #hasDefaultEntityAttributes(NamespacedKey)} first)
*/
@org.jetbrains.annotations.NotNull org.bukkit.attribute.Attributable getDefaultEntityAttributes(@org.jetbrains.annotations.NotNull NamespacedKey entityKey);
@@ -45,7 +45,7 @@ index f08e03c71f1e59d31a22822701b4e9ae6cc1429d..7dc808f94c42e821fa125073b1a9b853
// Paper end
}
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
-index 6de4c858ff6e542daa0879092e4f99a948225964..05fd2aa8a1639598b488712d2fe5f739019f41dc 100644
+index b5fe76a6353816a2d009dfa5921f8ada92984f34..42cc4f2ee960c0abf9c6688aeee4150754612c32 100644
--- a/src/main/java/org/bukkit/block/Block.java
+++ b/src/main/java/org/bukkit/block/Block.java
@@ -482,6 +482,13 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr
diff --git a/patches/api/0324-Add-Raw-Byte-Entity-Serialization.patch b/patches/api/0324-Add-Raw-Byte-Entity-Serialization.patch
index 46b080adb1..a809fef9b6 100644
--- a/patches/api/0324-Add-Raw-Byte-Entity-Serialization.patch
+++ b/patches/api/0324-Add-Raw-Byte-Entity-Serialization.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Raw Byte Entity Serialization
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 7dc808f94c42e821fa125073b1a9b853e16d5b41..fc0356b0600946af0a46312cee16b080a7769ae2 100644
+index 434fde52986ba07d7209ff47483f74fe31e8ebe7..0c7204e390f44b649fc26cd46152abeb2ad2d670 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -139,6 +139,14 @@ public interface UnsafeValues {
+@@ -156,6 +156,14 @@ public interface UnsafeValues {
ItemStack deserializeItem(byte[] data);
@@ -24,10 +24,10 @@ index 7dc808f94c42e821fa125073b1a9b853e16d5b41..fc0356b0600946af0a46312cee16b080
* Creates and returns the next EntityId available.
* <p>
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index d98fe98f703ff478ea4427783fd68debe9a6f267..6356370eed537cec782f036dc73fe5bfbe4c1fb7 100644
+index 9d3694c6e1144e04006425fb96b802c96e5fdc12..f69a6bccb174ce48ce0393c633279f84553d1df8 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
-@@ -894,5 +894,32 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
+@@ -889,5 +889,32 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
*/
@Deprecated
@NotNull Set<Player> getTrackedPlayers();
diff --git a/patches/api/0326-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/api/0326-Allow-delegation-to-vanilla-chunk-gen.patch
index a88d2a93be..e8f75d98e2 100644
--- a/patches/api/0326-Allow-delegation-to-vanilla-chunk-gen.patch
+++ b/patches/api/0326-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 2e29da775e60c149d2c251d78ee7c60b494215a4..27fd3ea4d0f96efa24167623c756f463995161bd 100644
+index 8ca65a413295c1f104cc47f2f71cbc80345a9812..03a94d0b332f531832bfad9839ec60a2ad91222c 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2056,6 +2056,24 @@ public final class Bukkit {
+@@ -2076,6 +2076,24 @@ public final class Bukkit {
return server.createChunkData(world);
}
@@ -34,10 +34,10 @@ index 2e29da775e60c149d2c251d78ee7c60b494215a4..27fd3ea4d0f96efa24167623c756f463
* 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 61701b6e8291cb5816b0a7eb511152eed3db43e8..d2c4887184661b68726ff8539d022b8dee8313fa 100644
+index be0d3ea564503441910aecdfe3d45b0303facc19..a1a9ed907eaa89e2915855eb2946d27ef3521b61 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1738,6 +1738,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1754,6 +1754,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
public ChunkGenerator.ChunkData createChunkData(@NotNull World world);
diff --git a/patches/api/0330-Entity-powdered-snow-API.patch b/patches/api/0330-Entity-powdered-snow-API.patch
index 2a4ece4cef..2d4522029f 100644
--- a/patches/api/0330-Entity-powdered-snow-API.patch
+++ b/patches/api/0330-Entity-powdered-snow-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity powdered snow API
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index 6356370eed537cec782f036dc73fe5bfbe4c1fb7..6456f7bfc8aa8cb5c9aaf0c06f9130242003ee3e 100644
+index f69a6bccb174ce48ce0393c633279f84553d1df8..1b9abd69483941f19ee7d0bb28e2655806dd3ca8 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
-@@ -921,5 +921,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
+@@ -916,5 +916,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
* @return Whether the entity was successfully spawned.
*/
public boolean spawnAt(@NotNull Location location, @NotNull org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason reason);
diff --git a/patches/api/0338-Multi-Block-Change-API.patch b/patches/api/0338-Multi-Block-Change-API.patch
index 21086887b1..45664f22b3 100644
--- a/patches/api/0338-Multi-Block-Change-API.patch
+++ b/patches/api/0338-Multi-Block-Change-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Multi Block Change API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 07ba09643077fcd90d073b2efd52ae9a3a99198b..5662e957e7609aa4cc3e5fcf6b8f12cde6ae4305 100644
+index 793df7533096efb0f60bddcb3e4e1575cbcc1069..c8a50647d34c70bc927c33c602f938a01bf6e7a9 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -893,6 +893,29 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -895,6 +895,29 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendBlockDamage(@NotNull Location loc, float progress);
diff --git a/patches/api/0342-More-PotionEffectType-API.patch b/patches/api/0342-More-PotionEffectType-API.patch
index 3ccfee4a9d..7e3682f8b4 100644
--- a/patches/api/0342-More-PotionEffectType-API.patch
+++ b/patches/api/0342-More-PotionEffectType-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] More PotionEffectType API
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index 4331acfc9efd08011e339a1bc0a5190abc197506..800d23bb249e19d5cf924e7ba36684068624da02 100644
+index 4bc53793aade0887fa650a4bbf51d2e57678bd90..18c672f3855a329bf8f87a9de81b677e8e360b41 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -271,6 +271,31 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -277,6 +277,31 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
*/
@Deprecated(forRemoval = true)
Registry<io.papermc.paper.world.structure.ConfiguredStructure> CONFIGURED_STRUCTURE = Bukkit.getRegistry(io.papermc.paper.world.structure.ConfiguredStructure.class);
diff --git a/patches/api/0343-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/api/0343-API-for-creating-command-sender-which-forwards-feedb.patch
index 328823c103..5c1c336819 100644
--- a/patches/api/0343-API-for-creating-command-sender-which-forwards-feedb.patch
+++ b/patches/api/0343-API-for-creating-command-sender-which-forwards-feedb.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] API for creating command sender which forwards feedback
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index c5ac78c4a4711e9c44d5eb7f66b28f448bcda63a..d7a9b5f9aeececb4070264bba6d2240628cdca12 100644
+index 03a94d0b332f531832bfad9839ec60a2ad91222c..c64f6ccfcd08c851900e734a194b1de4c8e32b07 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1545,6 +1545,20 @@ public final class Bukkit {
+@@ -1565,6 +1565,20 @@ public final class Bukkit {
return server.getConsoleSender();
}
@@ -30,10 +30,10 @@ index c5ac78c4a4711e9c44d5eb7f66b28f448bcda63a..d7a9b5f9aeececb4070264bba6d22406
* Gets the folder that contains all of the various {@link World}s.
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index d2c4887184661b68726ff8539d022b8dee8313fa..1fbd8ce1b9fa60ba06512dfcbd025212bc6dedfc 100644
+index a1a9ed907eaa89e2915855eb2946d27ef3521b61..d6c3fefbd407ae3aa1be9e71d05b6370f09dd905 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1302,6 +1302,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1318,6 +1318,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
public ConsoleCommandSender getConsoleSender();
diff --git a/patches/api/0344-Implement-regenerateChunk.patch b/patches/api/0344-Implement-regenerateChunk.patch
index 4625c51a5a..8023a26d0f 100644
--- a/patches/api/0344-Implement-regenerateChunk.patch
+++ b/patches/api/0344-Implement-regenerateChunk.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement regenerateChunk
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 21835fcc70c4dcffb2474caa7be3cd07bb54e2cd..86c7b4ba676f826344056b24b204b748cfce1580 100644
+index 6897600a6879d88cea287cde350c1e9cd11ae96d..0eb90bfff2e12cb3ed977a581912221ac4dee6f6 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -484,8 +484,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -486,8 +486,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @return Whether the chunk was actually regenerated
*
* @deprecated regenerating a single chunk is not likely to produce the same
diff --git a/patches/api/0349-Custom-Potion-Mixes.patch b/patches/api/0349-Custom-Potion-Mixes.patch
index 57bce6f5d1..3881038adb 100644
--- a/patches/api/0349-Custom-Potion-Mixes.patch
+++ b/patches/api/0349-Custom-Potion-Mixes.patch
@@ -155,10 +155,10 @@ index 0000000000000000000000000000000000000000..3ede1e8f7bf0436fdc5bf395c0f9eaf1
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index d7a9b5f9aeececb4070264bba6d2240628cdca12..50d336fda7f549e50dc127767ca35107c99a3483 100644
+index c64f6ccfcd08c851900e734a194b1de4c8e32b07..986d506ae0eb91363e7fdfa19b1f9d0d840a5207 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2578,6 +2578,15 @@ public final class Bukkit {
+@@ -2598,6 +2598,15 @@ public final class Bukkit {
public static io.papermc.paper.datapack.DatapackManager getDatapackManager() {
return server.getDatapackManager();
}
@@ -175,10 +175,10 @@ index d7a9b5f9aeececb4070264bba6d2240628cdca12..50d336fda7f549e50dc127767ca35107
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 1fbd8ce1b9fa60ba06512dfcbd025212bc6dedfc..eca2b37d2841f3d64b9c3134c6b40264ee49d255 100644
+index d6c3fefbd407ae3aa1be9e71d05b6370f09dd905..33458df42b41e9ef5d9728d526cc45b8199f25b4 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2246,5 +2246,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2262,5 +2262,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
io.papermc.paper.datapack.DatapackManager getDatapackManager();
diff --git a/patches/api/0361-Expand-FallingBlock-API.patch b/patches/api/0361-Expand-FallingBlock-API.patch
index 81549f8752..bbff3129a4 100644
--- a/patches/api/0361-Expand-FallingBlock-API.patch
+++ b/patches/api/0361-Expand-FallingBlock-API.patch
@@ -10,10 +10,10 @@ Subject: [PATCH] Expand FallingBlock API
Co-authored-by: Lukas Planz <[email protected]>
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 86c7b4ba676f826344056b24b204b748cfce1580..0f60823426898974b7d61123fb848006fdc7bfcf 100644
+index 0eb90bfff2e12cb3ed977a581912221ac4dee6f6..5785dda1127106b529f0784df524e120aaf87f4f 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -2220,8 +2220,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2261,8 +2261,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @return The spawned {@link FallingBlock} instance
* @throws IllegalArgumentException if {@link Location} or {@link
* MaterialData} are null or {@link Material} of the {@link MaterialData} is not a block
@@ -24,7 +24,7 @@ index 86c7b4ba676f826344056b24b204b748cfce1580..0f60823426898974b7d61123fb848006
public FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull MaterialData data) throws IllegalArgumentException;
/**
-@@ -2234,8 +2236,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2275,8 +2277,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @return The spawned {@link FallingBlock} instance
* @throws IllegalArgumentException if {@link Location} or {@link
* BlockData} are null
@@ -35,7 +35,7 @@ index 86c7b4ba676f826344056b24b204b748cfce1580..0f60823426898974b7d61123fb848006
public FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull BlockData data) throws IllegalArgumentException;
/**
-@@ -2252,7 +2256,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2293,7 +2297,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @return The spawned {@link FallingBlock} instance
* @throws IllegalArgumentException if {@link Location} or {@link
* Material} are null or {@link Material} is not a block
diff --git a/patches/api/0362-Add-method-isTickingWorlds-to-Bukkit.patch b/patches/api/0362-Add-method-isTickingWorlds-to-Bukkit.patch
index f25774fe60..91e4d0fdac 100644
--- a/patches/api/0362-Add-method-isTickingWorlds-to-Bukkit.patch
+++ b/patches/api/0362-Add-method-isTickingWorlds-to-Bukkit.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add method isTickingWorlds() to Bukkit.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 50d336fda7f549e50dc127767ca35107c99a3483..d71b30d574e5cf7273ff831edb7f3ef2359bbadc 100644
+index 986d506ae0eb91363e7fdfa19b1f9d0d840a5207..da505ee90f49983a9458cdf371db32228791fb53 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -786,12 +786,26 @@ public final class Bukkit {
+@@ -806,12 +806,26 @@ public final class Bukkit {
return server.getWorlds();
}
@@ -35,7 +35,7 @@ index 50d336fda7f549e50dc127767ca35107c99a3483..d71b30d574e5cf7273ff831edb7f3ef2
*
* @param creator the options to use when creating the world
* @return newly created or loaded world
-@@ -803,6 +817,9 @@ public final class Bukkit {
+@@ -823,6 +837,9 @@ public final class Bukkit {
/**
* Unloads a world with the given name.
@@ -45,7 +45,7 @@ index 50d336fda7f549e50dc127767ca35107c99a3483..d71b30d574e5cf7273ff831edb7f3ef2
*
* @param name Name of the world to unload
* @param save whether to save the chunks before unloading
-@@ -814,6 +831,9 @@ public final class Bukkit {
+@@ -834,6 +851,9 @@ public final class Bukkit {
/**
* Unloads the given world.
@@ -56,10 +56,10 @@ index 50d336fda7f549e50dc127767ca35107c99a3483..d71b30d574e5cf7273ff831edb7f3ef2
* @param world the world to unload
* @param save whether to save the chunks before unloading
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index eca2b37d2841f3d64b9c3134c6b40264ee49d255..75f2b46c4fc1e12d1d02cd60865a5b76b1c2de49 100644
+index 33458df42b41e9ef5d9728d526cc45b8199f25b4..d433a9d2fe0bb487865fec33307cc4c45af475a0 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -657,34 +657,55 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -673,34 +673,55 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
public List<World> getWorlds();
diff --git a/patches/api/0366-More-Teleport-API.patch b/patches/api/0366-More-Teleport-API.patch
index 7279598aea..a7561dc079 100644
--- a/patches/api/0366-More-Teleport-API.patch
+++ b/patches/api/0366-More-Teleport-API.patch
@@ -120,7 +120,7 @@ index 0000000000000000000000000000000000000000..c8b5b570d44da9524bfc59c7e11b2ae5
+
+}
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index f090368dbb5acf352e1bee34d78b55eb92373c6d..8322d22f34968d579b92c581b36544d42b7732cd 100644
+index 29a34fa6bef077550526e00d0cdd0d8f49872e0c..3905c12b23bbfc88c9667b04e60fad7ad2febd60 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -126,10 +126,32 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
@@ -158,10 +158,10 @@ index f090368dbb5acf352e1bee34d78b55eb92373c6d..8322d22f34968d579b92c581b36544d4
* Teleports this entity to the given location. If this entity is riding a
* vehicle, it will be dismounted prior to teleportation.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 5662e957e7609aa4cc3e5fcf6b8f12cde6ae4305..a74ef246913baf52b990838ce26c8a4590b8ab36 100644
+index c8a50647d34c70bc927c33c602f938a01bf6e7a9..14b744bd1a0595260c65d3870be5f3985fb95ccb 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3332,6 +3332,45 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3400,6 +3400,45 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
String getClientBrandName();
// Paper end
diff --git a/patches/api/0368-Custom-Chat-Completion-Suggestions-API.patch b/patches/api/0368-Custom-Chat-Completion-Suggestions-API.patch
index baab234d28..1eb0e934e4 100644
--- a/patches/api/0368-Custom-Chat-Completion-Suggestions-API.patch
+++ b/patches/api/0368-Custom-Chat-Completion-Suggestions-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Custom Chat Completion Suggestions API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index a74ef246913baf52b990838ce26c8a4590b8ab36..5caca55d8fc53720ff3304e46af5cfdcfd1acfbc 100644
+index 14b744bd1a0595260c65d3870be5f3985fb95ccb..87d20d238071dabdbebf745d28e87b210b2436ca 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3216,6 +3216,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3284,6 +3284,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void sendOpLevel(byte level);
// Paper end - sendOpLevel API
diff --git a/patches/api/0369-Collision-API.patch b/patches/api/0369-Collision-API.patch
index 64087e5ba3..607e11fb9e 100644
--- a/patches/api/0369-Collision-API.patch
+++ b/patches/api/0369-Collision-API.patch
@@ -25,10 +25,10 @@ index 44ee56a5956cc17194c767a0c1071a2abffe818a..43dd6c59cceba12f27e6b265acc3ad97
// Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index 8322d22f34968d579b92c581b36544d42b7732cd..2a4ff1457a9b4aa17bf28083ed4c301467ae9735 100644
+index 3905c12b23bbfc88c9667b04e60fad7ad2febd60..3fec6816bcc9167314b021a9989409649da6f7a7 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
-@@ -971,4 +971,26 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
+@@ -966,4 +966,26 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
*/
boolean isInPowderedSnow();
// Paper end
diff --git a/patches/api/0371-Add-NamespacedKey-biome-methods.patch b/patches/api/0371-Add-NamespacedKey-biome-methods.patch
index ae9059caa8..f11f727f1a 100644
--- a/patches/api/0371-Add-NamespacedKey-biome-methods.patch
+++ b/patches/api/0371-Add-NamespacedKey-biome-methods.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add NamespacedKey biome methods
Co-authored-by: Thonk <[email protected]>
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index fc0356b0600946af0a46312cee16b080a7769ae2..815b16338ed5f90daf24edc5be14a6f49e978832 100644
+index 0c7204e390f44b649fc26cd46152abeb2ad2d670..741ead65c89d4f9521d35dcbc9661d6772058499 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -230,5 +230,32 @@ public interface UnsafeValues {
+@@ -247,5 +247,32 @@ public interface UnsafeValues {
* @throws IllegalArgumentException if {@link Material#isBlock()} is false
*/
boolean isCollidable(@org.jetbrains.annotations.NotNull Material material);
diff --git a/patches/api/0378-Elder-Guardian-appearance-API.patch b/patches/api/0378-Elder-Guardian-appearance-API.patch
index a004acf776..338c1b65a3 100644
--- a/patches/api/0378-Elder-Guardian-appearance-API.patch
+++ b/patches/api/0378-Elder-Guardian-appearance-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Elder Guardian appearance API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 5caca55d8fc53720ff3304e46af5cfdcfd1acfbc..73536de601692a75fc83ff8b6e6781c7ae320a02 100644
+index 87d20d238071dabdbebf745d28e87b210b2436ca..ada7cfe2070eae77591b3138b88d389fbaab281a 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3396,6 +3396,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3464,6 +3464,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void lookAt(@NotNull org.bukkit.entity.Entity entity, @NotNull io.papermc.paper.entity.LookAnchor playerAnchor, @NotNull io.papermc.paper.entity.LookAnchor entityAnchor);
// Paper end - Teleport API
diff --git a/patches/api/0386-Add-Player-Warden-Warning-API.patch b/patches/api/0386-Add-Player-Warden-Warning-API.patch
index 54a7ac70eb..1bc7d6a95a 100644
--- a/patches/api/0386-Add-Player-Warden-Warning-API.patch
+++ b/patches/api/0386-Add-Player-Warden-Warning-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Player Warden Warning API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 73536de601692a75fc83ff8b6e6781c7ae320a02..7a680e61038856743d1271bae9b3ce8b8230a40f 100644
+index ada7cfe2070eae77591b3138b88d389fbaab281a..8a862dbf093ca0812aa1ce8def1e650380c303d0 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3412,6 +3412,59 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3480,6 +3480,59 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param silent whether sound should be silenced
*/
void showElderGuardian(boolean silent);
diff --git a/patches/api/0396-Add-Sneaking-API-for-Entities.patch b/patches/api/0396-Add-Sneaking-API-for-Entities.patch
index 274d5fb7d6..b89804cae7 100644
--- a/patches/api/0396-Add-Sneaking-API-for-Entities.patch
+++ b/patches/api/0396-Add-Sneaking-API-for-Entities.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Sneaking API for Entities
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index 351a7d0aeab5d83564dd543935ba503ea0b68d60..c9139bb7abc881fddd2d5610d9506cd4fce7eba3 100644
+index 3fec6816bcc9167314b021a9989409649da6f7a7..e5627ed4c6bac789ab847e9b423c0b78834b9430 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
-@@ -782,6 +782,25 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
+@@ -777,6 +777,25 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
@NotNull
Pose getPose();
@@ -35,10 +35,10 @@ index 351a7d0aeab5d83564dd543935ba503ea0b68d60..c9139bb7abc881fddd2d5610d9506cd4
* Get the category of spawn to which this entity belongs.
*
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 5b1233ff2a5cdda75263eae86f96052bc28e9f5c..e6191168df1032f5904ce5c580c7e41fb1249b22 100644
+index 8a862dbf093ca0812aa1ce8def1e650380c303d0..bfa5a218576c9db147da75ec39cf8a8f6e9f6157 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -415,6 +415,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -417,6 +417,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @return true if player is in sneak mode
*/
@@ -46,7 +46,7 @@ index 5b1233ff2a5cdda75263eae86f96052bc28e9f5c..e6191168df1032f5904ce5c580c7e41f
public boolean isSneaking();
/**
-@@ -422,6 +423,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -424,6 +425,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param sneak true if player should appear sneaking
*/
diff --git a/patches/api/0398-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch b/patches/api/0398-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch
index c9fd0c6501..e2cea1ed6d 100644
--- a/patches/api/0398-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch
+++ b/patches/api/0398-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch
@@ -65,10 +65,10 @@ index 641c71ab66bd2499b35cf3c1d533fd105d096e10..7dcbb75170296c1dd1d784a032bf3696
* Returns the list of blocks that would have been removed or were removed
* from the explosion event.
diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java
-index 461727dc7f06efb3550fc370e0db5bd04ba89711..ab18f35b686ec79551c307dde9e43c7dfad1b182 100644
+index 5ba9f7edf3bb814844ba9599c622a5106394c897..03889ab9b26c6f8fa4c9f51b7f67ad3ff40ef5db 100644
--- a/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java
-@@ -9,18 +9,38 @@ import org.jetbrains.annotations.Nullable;
+@@ -10,18 +10,25 @@ import org.jetbrains.annotations.Nullable;
/**
* Called when an entity is damaged by a block
@@ -81,33 +81,22 @@ index 461727dc7f06efb3550fc370e0db5bd04ba89711..ab18f35b686ec79551c307dde9e43c7d
private final Block damager;
+ private final org.bukkit.block.BlockState damagerBlockState; // Paper
- public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, final double damage) {
-+ // Paper start
-+ this(damager, damagee, cause, damage, null);
-+ }
-+ @org.jetbrains.annotations.ApiStatus.Internal
-+ public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, final double damage, final @Nullable org.bukkit.block.BlockState damagerBlockState) {
-+ // Paper end
- super(damagee, cause, damage);
+- public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, final double damage) {
++ public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, final double damage, final @Nullable org.bukkit.block.BlockState damagerBlockState) { // Paper
+ super(damagee, cause, damageSource, damage);
this.damager = damager;
+ this.damagerBlockState = damagerBlockState; // Paper
}
- public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions) {
-+ // Paper start
-+ this(damager, damagee, cause, modifiers, modifierFunctions, null);
-+ }
-+
-+ @org.jetbrains.annotations.ApiStatus.Internal
-+ public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions, final @Nullable org.bukkit.block.BlockState damagerBlockState) {
-+ // Paper end
- super(damagee, cause, modifiers, modifierFunctions);
+- public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions) {
++ public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions, final @Nullable org.bukkit.block.BlockState damagerBlockState) { // Paper
+ super(damagee, cause, damageSource, modifiers, modifierFunctions);
this.damager = damager;
+ this.damagerBlockState = damagerBlockState; // Paper
}
/**
-@@ -32,4 +52,20 @@ public class EntityDamageByBlockEvent extends EntityDamageEvent {
+@@ -33,4 +40,20 @@ public class EntityDamageByBlockEvent extends EntityDamageEvent {
public Block getDamager() {
return damager;
}
diff --git a/patches/api/0399-Flying-Fall-Damage-API.patch b/patches/api/0399-Flying-Fall-Damage-API.patch
index 680af0c62e..3c619f5b43 100644
--- a/patches/api/0399-Flying-Fall-Damage-API.patch
+++ b/patches/api/0399-Flying-Fall-Damage-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Flying Fall Damage API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index ef1efb5c2a66ee81ffc85a5bbf0b25784c65a90b..e5ef5f4a19ef181b7df3e06664ee77ebc3865d89 100644
+index bfa5a218576c9db147da75ec39cf8a8f6e9f6157..9d81aec1346d07faa47745a3cb79bac4a8a4ffa3 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1807,6 +1807,23 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1835,6 +1835,23 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void setAllowFlight(boolean flight);
diff --git a/patches/api/0401-Win-Screen-API.patch b/patches/api/0401-Win-Screen-API.patch
index 9f6cf38d00..3863beaa63 100644
--- a/patches/api/0401-Win-Screen-API.patch
+++ b/patches/api/0401-Win-Screen-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Win Screen API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index e5ef5f4a19ef181b7df3e06664ee77ebc3865d89..cacf86208957d3708b489467f1abde61672da3ee 100644
+index 9d81aec1346d07faa47745a3cb79bac4a8a4ffa3..b49294027712e8d0b8aaaee1c041bc731b4cb184 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1177,6 +1177,47 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1205,6 +1205,47 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendMap(@NotNull MapView map);
diff --git a/patches/api/0402-Add-Entity-Body-Yaw-API.patch b/patches/api/0402-Add-Entity-Body-Yaw-API.patch
index ca3ef26233..c09a6aa962 100644
--- a/patches/api/0402-Add-Entity-Body-Yaw-API.patch
+++ b/patches/api/0402-Add-Entity-Body-Yaw-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Entity Body Yaw API
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index e5df511d962a59260207e8390d7da7782af5dc77..90c46483928e70f37a9900cada7dc67957a031d0 100644
+index e5627ed4c6bac789ab847e9b423c0b78834b9430..79bd8e5fe58c99133a620e46237bd667bf70e508 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
-@@ -989,6 +989,43 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
+@@ -984,6 +984,43 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
* @return true if in powdered snow.
*/
boolean isInPowderedSnow();
@@ -53,7 +53,7 @@ index e5df511d962a59260207e8390d7da7782af5dc77..90c46483928e70f37a9900cada7dc679
// Paper start - Collision API
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index 74cd1d4aee0d4ef79fd77ac689c1e9b5d082664d..15d26b5d4fd55a29680f7485c80e33b7ce787fbe 100644
+index b9f98279789fe26181aa9c7aa253877d916034be..2dbb61df25967739c5a8308d6d89be20136816ba 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -1278,5 +1278,21 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
diff --git a/patches/api/0406-Add-Shearable-API.patch b/patches/api/0406-Add-Shearable-API.patch
index 617157b499..4e49b17572 100644
--- a/patches/api/0406-Add-Shearable-API.patch
+++ b/patches/api/0406-Add-Shearable-API.patch
@@ -54,10 +54,10 @@ index 0000000000000000000000000000000000000000..0d5793790ab6a47525ad330335173612
+ boolean readyToBeSheared();
+}
diff --git a/src/main/java/org/bukkit/entity/MushroomCow.java b/src/main/java/org/bukkit/entity/MushroomCow.java
-index e14194a130ebd872bbc1eb24c7759f0388f3da97..a6020bf1e927c1478b5ab90ec9a6ee21f03579da 100644
+index 794b7b4a870a0d289476074e3a3f46552604c954..2f9aefd38c43755c79b30abddd6643b26880bd0d 100644
--- a/src/main/java/org/bukkit/entity/MushroomCow.java
+++ b/src/main/java/org/bukkit/entity/MushroomCow.java
-@@ -5,7 +5,7 @@ import org.jetbrains.annotations.NotNull;
+@@ -8,7 +8,7 @@ import org.jetbrains.annotations.NotNull;
/**
* Represents a mushroom {@link Cow}
*/
@@ -65,7 +65,7 @@ index e14194a130ebd872bbc1eb24c7759f0388f3da97..a6020bf1e927c1478b5ab90ec9a6ee21
+public interface MushroomCow extends Cow, io.papermc.paper.entity.Shearable { // Paper
/**
- * Get the variant of this cow.
+ * Checks for the presence of custom potion effects to be applied to the
diff --git a/src/main/java/org/bukkit/entity/Sheep.java b/src/main/java/org/bukkit/entity/Sheep.java
index f4ce312ccd927a8b64f4266b35a0a53b85e591f3..97388d46cee225dedc0b61a12e7b60b3424732c8 100644
--- a/src/main/java/org/bukkit/entity/Sheep.java
diff --git a/patches/api/0413-Folia-scheduler-and-owned-region-API.patch b/patches/api/0413-Folia-scheduler-and-owned-region-API.patch
index 5eb0946bc3..d915fc3c77 100644
--- a/patches/api/0413-Folia-scheduler-and-owned-region-API.patch
+++ b/patches/api/0413-Folia-scheduler-and-owned-region-API.patch
@@ -499,10 +499,10 @@ index 0000000000000000000000000000000000000000..a6b50c9d8af589cc4747e14d343d2045
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index d71b30d574e5cf7273ff831edb7f3ef2359bbadc..f98c8c41ad9685af327db9c44db5fc9e37e00590 100644
+index da505ee90f49983a9458cdf371db32228791fb53..63a4f5cc3f2e8fbff47543de76e42a79996dbe81 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2609,6 +2609,141 @@ public final class Bukkit {
+@@ -2629,6 +2629,141 @@ public final class Bukkit {
}
// Paper end
@@ -645,10 +645,10 @@ index d71b30d574e5cf7273ff831edb7f3ef2359bbadc..f98c8c41ad9685af327db9c44db5fc9e
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 75f2b46c4fc1e12d1d02cd60865a5b76b1c2de49..f8f0a2b7fdd51c739c3f55801037a417872ce7d5 100644
+index d433a9d2fe0bb487865fec33307cc4c45af475a0..f819de247080d58803a2851a4cab28d2b3765495 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2275,4 +2275,119 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2291,4 +2291,119 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull org.bukkit.potion.PotionBrewer getPotionBrewer();
// Paper end
@@ -769,10 +769,10 @@ index 75f2b46c4fc1e12d1d02cd60865a5b76b1c2de49..f8f0a2b7fdd51c739c3f55801037a417
+ // Paper end - Folia region threading API
}
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index 90c46483928e70f37a9900cada7dc67957a031d0..3bf0c76ef830fa54d7695711cd7903dc64c619b1 100644
+index 79bd8e5fe58c99133a620e46237bd667bf70e508..4e01980ea00917743a92787b00d0f964395a6dd5 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
-@@ -1049,4 +1049,15 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
+@@ -1044,4 +1044,15 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
*/
boolean wouldCollideUsing(@NotNull BoundingBox boundingBox);
// Paper end - Collision API
diff --git a/patches/api/0416-Fix-BanList-API.patch b/patches/api/0416-Fix-BanList-API.patch
index e6e242f0d1..351f4dae16 100644
--- a/patches/api/0416-Fix-BanList-API.patch
+++ b/patches/api/0416-Fix-BanList-API.patch
@@ -36,7 +36,7 @@ index 548f6d28c28d74bed8b58ee82875909354afe132..a77c0411a68a9bad33ddfb335b7a996a
/**
* Gets if a {@link BanEntry} exists for the target, indicating an active
diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java
-index 774f9ec6a57d5d16a74ebe998e9ad800b1828029..9b84cb5abdf3db55cbc7ba19c8cd6955bf4fc5ec 100644
+index 634629d8c591d0477dfa6af91fa99caf17ffa9b0..ef6cb124adc98cb5231dc44e243450a2340f74af 100644
--- a/src/main/java/org/bukkit/OfflinePlayer.java
+++ b/src/main/java/org/bukkit/OfflinePlayer.java
@@ -135,7 +135,7 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio
@@ -130,10 +130,10 @@ index e805e629cede1c4c0674282c930cb67852718c3e..5248cf08ef83c7304dd76c42a2f646bb
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 41e7e24c65c3ae8cb451608db7598297fd9ffff2..5b00c51157a724e1d3f89198e97ba7e33b3a163d 100644
+index b49294027712e8d0b8aaaee1c041bc731b4cb184..8a765921b7e9ed047cfce2577408e420762f16bb 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -299,7 +299,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -301,7 +301,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* (updated) previous ban
*/
@Nullable
@@ -142,7 +142,7 @@ index 41e7e24c65c3ae8cb451608db7598297fd9ffff2..5b00c51157a724e1d3f89198e97ba7e3
/**
* Adds this user to the {@link ProfileBanList}. If a previous ban exists, this will
-@@ -315,7 +315,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -317,7 +317,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* (updated) previous ban
*/
@Nullable
@@ -151,7 +151,7 @@ index 41e7e24c65c3ae8cb451608db7598297fd9ffff2..5b00c51157a724e1d3f89198e97ba7e3
/**
* Adds this user to the {@link ProfileBanList}. If a previous ban exists, this will
-@@ -331,7 +331,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -333,7 +333,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* (updated) previous ban
*/
@Nullable
diff --git a/patches/api/0418-API-for-updating-recipes-on-clients.patch b/patches/api/0418-API-for-updating-recipes-on-clients.patch
index 266d6a480d..c1665b9ba0 100644
--- a/patches/api/0418-API-for-updating-recipes-on-clients.patch
+++ b/patches/api/0418-API-for-updating-recipes-on-clients.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] API for updating recipes on clients
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index f98c8c41ad9685af327db9c44db5fc9e37e00590..adfaf27b872aa5614a31ff5f32cf9336c6f2ee49 100644
+index 63a4f5cc3f2e8fbff47543de76e42a79996dbe81..b82260cdee74a82b78c103467f7e2888ba4d06c1 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -970,6 +970,26 @@ public final class Bukkit {
+@@ -990,6 +990,26 @@ public final class Bukkit {
server.reloadData();
}
@@ -35,7 +35,7 @@ index f98c8c41ad9685af327db9c44db5fc9e37e00590..adfaf27b872aa5614a31ff5f32cf9336
/**
* Returns the primary logger associated with this server instance.
*
-@@ -1024,6 +1044,20 @@ public final class Bukkit {
+@@ -1044,6 +1064,20 @@ public final class Bukkit {
return server.addRecipe(recipe);
}
@@ -56,7 +56,7 @@ index f98c8c41ad9685af327db9c44db5fc9e37e00590..adfaf27b872aa5614a31ff5f32cf9336
/**
* Get a list of all recipes for a given item. The stack size is ignored
* in comparisons. If the durability is -1, it will match any data value.
-@@ -1215,6 +1249,24 @@ public final class Bukkit {
+@@ -1235,6 +1269,24 @@ public final class Bukkit {
return server.removeRecipe(key);
}
@@ -82,10 +82,10 @@ index f98c8c41ad9685af327db9c44db5fc9e37e00590..adfaf27b872aa5614a31ff5f32cf9336
* Gets a list of command aliases defined in the server properties.
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index f8f0a2b7fdd51c739c3f55801037a417872ce7d5..36a21c39f834faa6fec29a319588ddc58715a747 100644
+index f819de247080d58803a2851a4cab28d2b3765495..f18f5db804053e072134508ef38252391895549a 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -820,6 +820,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -836,6 +836,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
public void reloadData();
@@ -108,7 +108,7 @@ index f8f0a2b7fdd51c739c3f55801037a417872ce7d5..36a21c39f834faa6fec29a319588ddc5
/**
* Returns the primary logger associated with this server instance.
*
-@@ -855,15 +871,34 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -871,15 +887,34 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
public boolean dispatchCommand(@NotNull CommandSender sender, @NotNull String commandLine) throws CommandException;
/**
@@ -144,7 +144,7 @@ index f8f0a2b7fdd51c739c3f55801037a417872ce7d5..36a21c39f834faa6fec29a319588ddc5
/**
* Get a list of all recipes for a given item. The stack size is ignored
* in comparisons. If the durability is -1, it will match any data value.
-@@ -1032,6 +1067,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -1048,6 +1083,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
public boolean removeRecipe(@NotNull NamespacedKey key);
diff --git a/patches/api/0420-Fix-custom-statistic-criteria-creation.patch b/patches/api/0420-Fix-custom-statistic-criteria-creation.patch
index 42a05e6c6b..4ce5967963 100644
--- a/patches/api/0420-Fix-custom-statistic-criteria-creation.patch
+++ b/patches/api/0420-Fix-custom-statistic-criteria-creation.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix custom statistic criteria creation
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 815b16338ed5f90daf24edc5be14a6f49e978832..a4b38f284d4fea7df7f9df9bf44e4f68fefaf20f 100644
+index 741ead65c89d4f9521d35dcbc9661d6772058499..0cfbb77c4da58b0692cb1df5686657b5ce04ad87 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -257,5 +257,7 @@ public interface UnsafeValues {
+@@ -274,5 +274,7 @@ public interface UnsafeValues {
* @throws IllegalStateException if no biome by the given key is registered.
*/
void setBiomeKey(RegionAccessor accessor, int x, int y, int z, NamespacedKey biomeKey);
diff --git a/patches/api/0422-API-for-an-entity-s-scoreboard-name.patch b/patches/api/0422-API-for-an-entity-s-scoreboard-name.patch
index 736aeeac03..33df5bea89 100644
--- a/patches/api/0422-API-for-an-entity-s-scoreboard-name.patch
+++ b/patches/api/0422-API-for-an-entity-s-scoreboard-name.patch
@@ -7,10 +7,10 @@ Was obtainable through different methods, but you had to use different
methods depending on the implementation of Entity you were working with.
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index b2f5be3227d5dad5b1ff0129930dcd1944c75cef..82c67193a2dbb7b0bd0d6381cd0e06af49415d18 100644
+index 4e01980ea00917743a92787b00d0f964395a6dd5..fded39b709ef4129b53eac0e021dbb1a37fe5770 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
-@@ -1060,4 +1060,15 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
+@@ -1055,4 +1055,15 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
*/
@NotNull io.papermc.paper.threadedregions.scheduler.EntityScheduler getScheduler();
// Paper end - Folia schedulers
diff --git a/patches/api/0423-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/api/0423-Deprecate-and-replace-methods-with-old-StructureType.patch
index 2e0d35f597..177761f8cd 100644
--- a/patches/api/0423-Deprecate-and-replace-methods-with-old-StructureType.patch
+++ b/patches/api/0423-Deprecate-and-replace-methods-with-old-StructureType.patch
@@ -5,20 +5,10 @@ Subject: [PATCH] Deprecate and replace methods with old StructureType
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index adfaf27b872aa5614a31ff5f32cf9336c6f2ee49..48fab492609e0bae459d20cc2eae78b87e37ab75 100644
+index b82260cdee74a82b78c103467f7e2888ba4d06c1..ca27559cf4aa1c2e44fdca2022e213b1b1c80f4e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -926,7 +926,9 @@ public final class Bukkit {
- *
- * @see World#locateNearestStructure(org.bukkit.Location,
- * org.bukkit.StructureType, int, boolean)
-+ * @deprecated use {@link #createExplorerMap(World, Location, org.bukkit.generator.structure.StructureType, org.bukkit.map.MapCursor.Type)}
- */
-+ @Deprecated // Paper
- @NotNull
- public static ItemStack createExplorerMap(@NotNull World world, @NotNull Location location, @NotNull StructureType structureType) {
- return server.createExplorerMap(world, location, structureType);
-@@ -935,9 +937,6 @@ public final class Bukkit {
+@@ -935,9 +935,6 @@ public final class Bukkit {
/**
* Create a new explorer map targeting the closest nearby structure of a
* given {@link StructureType}.
@@ -28,7 +18,17 @@ index adfaf27b872aa5614a31ff5f32cf9336c6f2ee49..48fab492609e0bae459d20cc2eae78b8
*
* @param world the world the map will belong to
* @param location the origin location to find the nearest structure
-@@ -949,11 +948,54 @@ public final class Bukkit {
+@@ -946,7 +943,9 @@ public final class Bukkit {
+ *
+ * @see World#locateNearestStructure(org.bukkit.Location,
+ * org.bukkit.StructureType, int, boolean)
++ * @deprecated use {@link #createExplorerMap(World, Location, org.bukkit.generator.structure.StructureType, org.bukkit.map.MapCursor.Type)}
+ */
++ @Deprecated // Paper
+ @NotNull
+ public static ItemStack createExplorerMap(@NotNull World world, @NotNull Location location, @NotNull StructureType structureType) {
+ return server.createExplorerMap(world, location, structureType);
+@@ -969,11 +968,54 @@ public final class Bukkit {
*
* @see World#locateNearestStructure(org.bukkit.Location,
* org.bukkit.StructureType, int, boolean)
@@ -84,10 +84,10 @@ index adfaf27b872aa5614a31ff5f32cf9336c6f2ee49..48fab492609e0bae459d20cc2eae78b8
/**
* Reloads the server, refreshing settings and plugin information.
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 36a21c39f834faa6fec29a319588ddc58715a747..9af4bc16da09e59009c47911219e99450cdf2aa5 100644
+index f18f5db804053e072134508ef38252391895549a..b4f8281d3797ec825a7671f38077cd65d5a1d76e 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -784,16 +784,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -800,16 +800,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*
* @see World#locateNearestStructure(org.bukkit.Location,
* org.bukkit.StructureType, int, boolean)
@@ -106,7 +106,7 @@ index 36a21c39f834faa6fec29a319588ddc58715a747..9af4bc16da09e59009c47911219e9945
*
* @param world the world the map will belong to
* @param location the origin location to find the nearest structure
-@@ -805,9 +804,50 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -821,9 +820,50 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*
* @see World#locateNearestStructure(org.bukkit.Location,
* org.bukkit.StructureType, int, boolean)
diff --git a/patches/api/0424-Add-Listing-API-for-Player.patch b/patches/api/0424-Add-Listing-API-for-Player.patch
index 5cd488a215..609dd75c87 100644
--- a/patches/api/0424-Add-Listing-API-for-Player.patch
+++ b/patches/api/0424-Add-Listing-API-for-Player.patch
@@ -5,11 +5,11 @@ Subject: [PATCH] Add Listing API for Player
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index f5ea1e4709a3d72ea9fe3045f8bced7aa77bc3f4..bd1beef9615eb87297abab6abb55fae34c579626 100644
+index 8a765921b7e9ed047cfce2577408e420762f16bb..8839ccf9515ebc3d2962e5dd17e948a2a83a5241 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1943,6 +1943,32 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
- @ApiStatus.Experimental
+@@ -1965,6 +1965,32 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+ */
public boolean canSee(@NotNull Entity entity);
+ // Paper start
diff --git a/patches/api/0427-Expand-Pose-API.patch b/patches/api/0427-Expand-Pose-API.patch
index 9ffa45bc36..f18a16576e 100644
--- a/patches/api/0427-Expand-Pose-API.patch
+++ b/patches/api/0427-Expand-Pose-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expand Pose API
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
-index 82c67193a2dbb7b0bd0d6381cd0e06af49415d18..1d0fd7ff8449f815a7d980af0b378181ea8bf8d8 100644
+index fded39b709ef4129b53eac0e021dbb1a37fe5770..9022567f32a58b94ed030db22524876d8f1df4aa 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
-@@ -799,6 +799,42 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
+@@ -794,6 +794,42 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
* @param sneak true if the entity should be sneaking
*/
void setSneaking(boolean sneak);
diff --git a/patches/api/0438-Add-player-idle-duration-API.patch b/patches/api/0438-Add-player-idle-duration-API.patch
index 24af4683d6..9c44c6b889 100644
--- a/patches/api/0438-Add-player-idle-duration-API.patch
+++ b/patches/api/0438-Add-player-idle-duration-API.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add player idle duration API
Implements API for getting and resetting a player's idle duration.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index bd1beef9615eb87297abab6abb55fae34c579626..dfd58cde92f8799f5f4a406a29277d13a1aef46f 100644
+index 8839ccf9515ebc3d2962e5dd17e948a2a83a5241..5bad312df63eb6dea705c35e0f7e4dd980f526d7 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3553,6 +3553,29 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3621,6 +3621,29 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void increaseWardenWarningLevel();
// Paper end
diff --git a/patches/api/0440-Add-predicate-for-blocks-when-raytracing.patch b/patches/api/0440-Add-predicate-for-blocks-when-raytracing.patch
index 2d0f899ec0..67d10e420e 100644
--- a/patches/api/0440-Add-predicate-for-blocks-when-raytracing.patch
+++ b/patches/api/0440-Add-predicate-for-blocks-when-raytracing.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add predicate for blocks when raytracing
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 0f60823426898974b7d61123fb848006fdc7bfcf..e014a71f2fd20e41f985ce68301006c4a4e0c5e3 100644
+index 5785dda1127106b529f0784df524e120aaf87f4f..c0ad21a3dd1f3cd9a4c66000e937e89ffc183638 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -1692,6 +1692,27 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -1694,6 +1694,27 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
public RayTraceResult rayTraceEntities(@NotNull Location start, @NotNull Vector direction, double maxDistance, double raySize, @Nullable Predicate<? super Entity> filter);
@@ -36,7 +36,7 @@ index 0f60823426898974b7d61123fb848006fdc7bfcf..e014a71f2fd20e41f985ce68301006c4
/**
* Performs a ray trace that checks for block collisions using the blocks'
* precise collision shapes.
-@@ -1755,6 +1776,34 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -1757,6 +1778,34 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
public RayTraceResult rayTraceBlocks(@NotNull Location start, @NotNull Vector direction, double maxDistance, @NotNull FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks);
@@ -71,7 +71,7 @@ index 0f60823426898974b7d61123fb848006fdc7bfcf..e014a71f2fd20e41f985ce68301006c4
/**
* Performs a ray trace that checks for both block and entity collisions.
* <p>
-@@ -1788,6 +1837,42 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -1790,6 +1839,42 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
public RayTraceResult rayTrace(@NotNull Location start, @NotNull Vector direction, double maxDistance, @NotNull FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks, double raySize, @Nullable Predicate<? super Entity> filter);
diff --git a/patches/api/0445-Add-Structure-check-API.patch b/patches/api/0445-Add-Structure-check-API.patch
index d993eeba7f..693f5dbf09 100644
--- a/patches/api/0445-Add-Structure-check-API.patch
+++ b/patches/api/0445-Add-Structure-check-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Structure check API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index e014a71f2fd20e41f985ce68301006c4a4e0c5e3..bf4b94ea2577e9d7e344385209fc0644a4e6bfbb 100644
+index c0ad21a3dd1f3cd9a4c66000e937e89ffc183638..c5fe36050eeaff80cfb989fe2f38370215af6fe5 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -76,6 +76,30 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -78,6 +78,30 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
*/
int getPlayerCount();
// Paper end
diff --git a/patches/api/0448-Improve-Registry.patch b/patches/api/0448-Improve-Registry.patch
index 1082efe432..da9c8aeaeb 100644
--- a/patches/api/0448-Improve-Registry.patch
+++ b/patches/api/0448-Improve-Registry.patch
@@ -10,10 +10,10 @@ getKey() methods on Keyed objects that have a registry
are marked as Deprecated or Obsolete.
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index 800d23bb249e19d5cf924e7ba36684068624da02..57e97b424cebd205cb260556ab9fb9eb2ff1eebc 100644
+index 18c672f3855a329bf8f87a9de81b677e8e360b41..e1fb4d8cca6a9c59047b1396f5c40bea957d777a 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -307,6 +307,49 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -313,6 +313,49 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
@Nullable
T get(@NotNull NamespacedKey key);
@@ -63,7 +63,7 @@ index 800d23bb249e19d5cf924e7ba36684068624da02..57e97b424cebd205cb260556ab9fb9eb
/**
* Returns a new stream, which contains all registry items, which are registered to the registry.
*
-@@ -373,5 +416,12 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -379,5 +422,12 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
public Iterator<T> iterator() {
return map.values().iterator();
}
diff --git a/patches/api/0449-Add-experience-points-API.patch b/patches/api/0449-Add-experience-points-API.patch
index 6223e3ae1a..eac15c7249 100644
--- a/patches/api/0449-Add-experience-points-API.patch
+++ b/patches/api/0449-Add-experience-points-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add experience points API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index dfd58cde92f8799f5f4a406a29277d13a1aef46f..31aa6ef5fc2b3b88c72f5a15b8cc7a0e50c29f46 100644
+index 5bad312df63eb6dea705c35e0f7e4dd980f526d7..254a02ddb5dc867c9dd6c2086791f7ab94247fd3 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1806,6 +1806,45 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1834,6 +1834,45 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param exp New total experience points
*/
public void setTotalExperience(int exp);
diff --git a/patches/api/0458-Add-api-for-spawn-egg-texture-colors.patch b/patches/api/0458-Add-api-for-spawn-egg-texture-colors.patch
index 9f9ef4707d..22ba7c25bf 100644
--- a/patches/api/0458-Add-api-for-spawn-egg-texture-colors.patch
+++ b/patches/api/0458-Add-api-for-spawn-egg-texture-colors.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add api for spawn egg texture colors
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index a4b38f284d4fea7df7f9df9bf44e4f68fefaf20f..923d8655a84e26960d35d8dc6e4ebc0b10c295d5 100644
+index 0cfbb77c4da58b0692cb1df5686657b5ce04ad87..43f779ff7eca7450f52ac3688744743b5c3647bf 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -260,4 +260,17 @@ public interface UnsafeValues {
+@@ -277,4 +277,17 @@ public interface UnsafeValues {
String getStatisticCriteriaKey(@NotNull org.bukkit.Statistic statistic);
// Paper end
diff --git a/patches/api/0459-Add-Lifecycle-Event-system.patch b/patches/api/0459-Add-Lifecycle-Event-system.patch
index 2285a3eaa9..635d4a7325 100644
--- a/patches/api/0459-Add-Lifecycle-Event-system.patch
+++ b/patches/api/0459-Add-Lifecycle-Event-system.patch
@@ -528,10 +528,10 @@ index 0000000000000000000000000000000000000000..304f978e40e1759bb19704cc5cec3995
+ }
+}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 923d8655a84e26960d35d8dc6e4ebc0b10c295d5..890c07cfc2e64a52752e96d518578b5eb1afbd19 100644
+index 43f779ff7eca7450f52ac3688744743b5c3647bf..f2163b5238e1667a44bf623cd52bab90d9f2d88d 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -273,4 +273,12 @@ public interface UnsafeValues {
+@@ -290,4 +290,12 @@ public interface UnsafeValues {
*/
@Nullable org.bukkit.Color getSpawnEggLayerColor(org.bukkit.entity.EntityType entityType, int layer);
// Paper end - spawn egg color visibility
diff --git a/patches/api/0461-ItemStack-Tooltip-API.patch b/patches/api/0461-ItemStack-Tooltip-API.patch
index c7710b7c4c..9aa55ce1a9 100644
--- a/patches/api/0461-ItemStack-Tooltip-API.patch
+++ b/patches/api/0461-ItemStack-Tooltip-API.patch
@@ -108,10 +108,10 @@ index 0000000000000000000000000000000000000000..1d9bed6691f581529c53b577b26f1d0f
+ }
+}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 890c07cfc2e64a52752e96d518578b5eb1afbd19..c6222fe754dee53f269944c7578dde8106377f20 100644
+index f2163b5238e1667a44bf623cd52bab90d9f2d88d..9a65c4f614a6c358d74491794d7b25172a00bc11 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -281,4 +281,6 @@ public interface UnsafeValues {
+@@ -298,4 +298,6 @@ public interface UnsafeValues {
@org.jetbrains.annotations.ApiStatus.Internal
io.papermc.paper.plugin.lifecycle.event.LifecycleEventManager<org.bukkit.plugin.Plugin> createPluginLifecycleEventManager(final org.bukkit.plugin.java.JavaPlugin plugin, final java.util.function.BooleanSupplier registrationCheck);
// Paper end - lifecycle event API
diff --git a/patches/api/0462-Add-getChunkSnapshot-includeLightData-parameter.patch b/patches/api/0462-Add-getChunkSnapshot-includeLightData-parameter.patch
index 288f6740dd..0437924b94 100644
--- a/patches/api/0462-Add-getChunkSnapshot-includeLightData-parameter.patch
+++ b/patches/api/0462-Add-getChunkSnapshot-includeLightData-parameter.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add getChunkSnapshot includeLightData parameter
diff --git a/src/main/java/org/bukkit/Chunk.java b/src/main/java/org/bukkit/Chunk.java
-index eca55d8d3464f0e13a3b7984f74559ccda87edba..0b83bf7fb7dac51ed1dbc005df36f0292167ec16 100644
+index 546888898d9d6827079fe041c7bc6eb4e1e4605c..d547ae2b20c58bc703de4532b3b591dd34ddb1c6 100644
--- a/src/main/java/org/bukkit/Chunk.java
+++ b/src/main/java/org/bukkit/Chunk.java
-@@ -100,6 +100,23 @@ public interface Chunk extends PersistentDataHolder {
+@@ -102,6 +102,23 @@ public interface Chunk extends PersistentDataHolder {
@NotNull
ChunkSnapshot getChunkSnapshot(boolean includeMaxblocky, boolean includeBiome, boolean includeBiomeTempRain);
diff --git a/patches/server/0002-Remap-fixes.patch b/patches/server/0002-Remap-fixes.patch
index 5e367262c0..3f9503543f 100644
--- a/patches/server/0002-Remap-fixes.patch
+++ b/patches/server/0002-Remap-fixes.patch
@@ -187,10 +187,10 @@ index 5818bfa69a8573a2a8f350066f829d587cbc546b..8e421a1bee0c526e3024eab9ba4cc0b3
assertNotNull(bukkit, "Bukkit gene null for " + gene);
diff --git a/src/test/java/org/bukkit/registry/RegistryConstantsTest.java b/src/test/java/org/bukkit/registry/RegistryConstantsTest.java
-index 8acd2400dac0486d95a28cc07c21fc0c7183769b..8038e422cfcdda0eab19a2b3961c2597de25752b 100644
+index 8abeb88d1514d22b5095153f9537317006f39df0..82a1efcb3aaaceaf12ad21559dec6b5112fcb361 100644
--- a/src/test/java/org/bukkit/registry/RegistryConstantsTest.java
+++ b/src/test/java/org/bukkit/registry/RegistryConstantsTest.java
-@@ -21,17 +21,17 @@ public class RegistryConstantsTest extends AbstractTestingBase {
+@@ -28,17 +28,17 @@ public class RegistryConstantsTest extends AbstractTestingBase {
@Test
public void testTrimMaterial() {
diff --git a/patches/server/0005-Paper-config-files.patch b/patches/server/0005-Paper-config-files.patch
index 27deead1df..c9327e3fc2 100644
--- a/patches/server/0005-Paper-config-files.patch
+++ b/patches/server/0005-Paper-config-files.patch
@@ -4896,7 +4896,7 @@ index 1d611538d339345df065cd9c0c582d02e1fb0cc7..d200619b4aa820e273c26f2f6133589c
@Nullable
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index dd16b56a478e1cd6f1b3c5563c9c02025d894802..c56c7293261ec2601ab02d051b37e820f023f0ff 100644
+index 57fdf24730d93e4dc48bacfa8f034fc99a48f0e4..8ddfd4a148c95d0d9e93edf03ddac46332936d9a 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -183,6 +183,10 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -4964,10 +4964,10 @@ index 8487fa452e4009c0f2a23a0d4eac4bf56f91447b..00ddf94c5bade8c0c486337ce920f59d
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 8318b4a56b4a0235a00caba9df4ba41c85eb13bc..b5256eefb64808ae15bd622a8eccbe13454b4564 100644
+index 680a308c466c0056d4213e61f69cf13ee3ff5c61..cd39509d383c47319b71797e5d1df41c2b8c7ab6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -915,6 +915,7 @@ public final class CraftServer implements Server {
+@@ -927,6 +927,7 @@ public final class CraftServer implements Server {
}
org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot
diff --git a/patches/server/0008-CB-fixes.patch b/patches/server/0008-CB-fixes.patch
index 5807a8e518..d0c88b5473 100644
--- a/patches/server/0008-CB-fixes.patch
+++ b/patches/server/0008-CB-fixes.patch
@@ -30,7 +30,7 @@ index 674c996af91de91ee6302cc67334b836ea4fa4de..93867b8883c6f5d5086e8fdc153e6d7c
if ((this.dimension() == Level.END && this.dimensionTypeRegistration().is(BuiltinDimensionTypes.END)) || env == org.bukkit.World.Environment.THE_END) { // CraftBukkit - Allow to create EnderDragonBattle in default and custom END
this.dragonFight = new EndDragonFight(this, this.serverLevelData.worldGenOptions().seed(), this.serverLevelData.endDragonFightData()); // CraftBukkit
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
-index 869f60e9407ed1c5bee536ef91a21f4d11f8f964..3aa98f7c282cb4884589cb83b1546b924e66f096 100644
+index 869f60e9407ed1c5bee536ef91a21f4d11f8f964..95e5d1d707e610c930b6098a86c5162fd29bf602 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -445,9 +445,9 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl
@@ -38,10 +38,10 @@ index 869f60e9407ed1c5bee536ef91a21f4d11f8f964..3aa98f7c282cb4884589cb83b1546b92
@Override
- protected void actuallyHurt(DamageSource source, float amount) {
-+ protected boolean damageEntity0(DamageSource source, float amount) { // Paper - fix CB method rename issue
++ protected boolean actuallyHurt(DamageSource source, float amount) { // Paper - Fix CB...
this.standUpInstantly();
- super.actuallyHurt(source, amount);
-+ return super.damageEntity0(source, amount); // Paper - fix CB method rename issue
++ return super.actuallyHurt(source, amount); // Paper - Fix CB...
}
@Override
@@ -84,10 +84,10 @@ index 809fdf2da78293391aa5c60c04f4ad652b152eec..955b0abd4019fc45df84719eee6bf413
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 5f12fce84e0ec001dc43523753883a098434fcb6..d6a1b9bbf9737ed884ecf4af31e1521f46807405 100644
+index cd39509d383c47319b71797e5d1df41c2b8c7ab6..2cc1871c81056acd0582184bb684e672d14d3b6f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2454,7 +2454,11 @@ public final class CraftServer implements Server {
+@@ -2466,7 +2466,11 @@ public final class CraftServer implements Server {
Preconditions.checkArgument(key != null, "NamespacedKey key cannot be null");
LootDataManager registry = this.getServer().getLootData();
diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch
index 34aea8b512..5de7f3ff84 100644
--- a/patches/server/0009-MC-Utils.patch
+++ b/patches/server/0009-MC-Utils.patch
@@ -7028,7 +7028,7 @@ index 337e0a7b3c14e1b1a28744920e0dc0a69e0c5a87..f5829ae484d93b547a5437b85a962134
@Override
public void tell(R runnable) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 8957b7082f310b2b8aed5f5a68847d6dc773177a..a1f658f4dafd47de0020d96667b090aa88c69f9c 100644
+index 449635563afcb6a43e036dc0f3988efddbb622b2..e945daf877068625d4ad0f0b534f2eb23ee658a9 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -330,6 +330,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -7044,10 +7044,10 @@ index 8957b7082f310b2b8aed5f5a68847d6dc773177a..a1f658f4dafd47de0020d96667b090aa
public Entity(EntityType<?> type, Level world) {
this.id = Entity.ENTITY_COUNTER.incrementAndGet();
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 7fda861b1c2fc7246f2df8d199b4e8bbe55bc647..b71b702471599fc8f1de42919ade8ee6a4e6247c 100644
+index db768130e7b7c21e111687ebe761608e7494a739..44bfb8778f2894be9633be7ddc4f3c6881c9b05d 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -257,6 +257,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -258,6 +258,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public boolean collides = true;
public Set<UUID> collidableExemptions = new HashSet<>();
public boolean bukkitPickUpLoot;
@@ -7056,7 +7056,7 @@ index 7fda861b1c2fc7246f2df8d199b4e8bbe55bc647..b71b702471599fc8f1de42919ade8ee6
@Override
public float getBukkitYaw() {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
-index 1152735ac2cb8b193fdfb448f24517ad902b02a8..01761d37c9e4be4e498b62c7612885648b2968a6 100644
+index 0f24a32334e66b0c93287c9b2b14484da799738f..fc264864d4a6f56f94d884f4892257452b360b73 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -277,6 +277,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -7093,10 +7093,10 @@ index 86b65d66d895a4f02da002448739c122796feb4d..036d79baf372f4900681fee366bcd91c
super(type, world);
this.xpReward = 5;
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index d75bd8ab63930454d72299c378b6fef2ccc3725d..9861cd23b07f8fbacb1d125af835dee58c2debbb 100644
+index a7cbd0b9e37717215c03809e025f877e9c0a40b8..6291265ae4691bf7dffe196d20571c1c30e8d906 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -823,6 +823,25 @@ public final class ItemStack {
+@@ -825,6 +825,25 @@ public final class ItemStack {
return this.tag != null ? this.tag.getList("Enchantments", 10) : new ListTag();
}
@@ -7122,7 +7122,7 @@ index d75bd8ab63930454d72299c378b6fef2ccc3725d..9861cd23b07f8fbacb1d125af835dee5
public void setTag(@Nullable CompoundTag nbt) {
this.tag = nbt;
if (this.getItem().canBeDepleted()) {
-@@ -1212,6 +1231,7 @@ public final class ItemStack {
+@@ -1214,6 +1233,7 @@ public final class ItemStack {
// CraftBukkit start
@Deprecated
public void setItem(Item item) {
@@ -7733,10 +7733,10 @@ index 98836000cbca2a21649cb8f2a466986373405ea1..bbbf6dd8e566ecdca8794e3b03765fe7
return false;
} else {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index aa3032f9dac2700f2621a860deeec49ada801939..e51bed4771dcef6201f943e9289c4a53f029f1ab 100644
+index 2cc1871c81056acd0582184bb684e672d14d3b6f..5cf26c39b00ea1f7b1c5719f434af79fb20c6c60 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2531,4 +2531,9 @@ public final class CraftServer implements Server {
+@@ -2543,4 +2543,9 @@ public final class CraftServer implements Server {
return this.spigot;
}
// Spigot end
@@ -7747,10 +7747,10 @@ index aa3032f9dac2700f2621a860deeec49ada801939..e51bed4771dcef6201f943e9289c4a53
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 16785a8dab5a2e786e17db049c027ed1c13f5ef6..2b0b9994751557e69ee7aa48fcb8319c128a5bbf 100644
+index fcf06c157fa8ecdb742c301a95da8489e951ea20..1ce9787b04e28b3a50fdc7779a430c3be60a7646 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -245,8 +245,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -251,8 +251,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public Chunk[] getLoadedChunks() {
@@ -7761,7 +7761,7 @@ index 16785a8dab5a2e786e17db049c027ed1c13f5ef6..2b0b9994751557e69ee7aa48fcb8319c
}
@Override
-@@ -321,7 +321,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -327,7 +327,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean refreshChunk(int x, int z) {
@@ -7770,7 +7770,7 @@ index 16785a8dab5a2e786e17db049c027ed1c13f5ef6..2b0b9994751557e69ee7aa48fcb8319c
if (playerChunk == null) return false;
playerChunk.getTickingChunkFuture().thenAccept(either -> {
-@@ -2018,4 +2018,55 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2055,4 +2055,55 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return this.spigot;
}
// Spigot end
@@ -7869,10 +7869,10 @@ index 70165d287156f46b793eb23dd30b601289c0ffb1..758bf988432bb34aad9386e3f4e8bba6
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 070f119315a83be900c1a8e83962833d7df4c485..5d2ece0c415526d8c632b507f441977e6888c2cb 100644
+index ed501b794c222278dca98f8ece6096db1d8108a5..be3a8e54d64b3cc145ab09b0bc7abb3f4ee153c3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2282,4 +2282,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2335,4 +2335,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.spigot;
}
// Spigot end
@@ -8151,10 +8151,10 @@ index 0000000000000000000000000000000000000000..909b2c98e7a9117d2f737245e4661792
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index d16df4f475151558593ac637c94391899f313829..32b73cd6d65abe1cd5fd33733d8c06467382acdc 100644
+index a2eb1e6dc8218157c1a5bbd769dd3b1d881fddb6..56c3aa7647eb2890cf7f546d35002b0c43724500 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -102,8 +102,17 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -107,8 +107,17 @@ public final class CraftMagicNumbers implements UnsafeValues {
private static final Map<Item, Material> ITEM_MATERIAL = new HashMap<>();
private static final Map<Material, Item> MATERIAL_ITEM = new HashMap<>();
private static final Map<Material, Block> MATERIAL_BLOCK = new HashMap<>();
@@ -8172,7 +8172,7 @@ index d16df4f475151558593ac637c94391899f313829..32b73cd6d65abe1cd5fd33733d8c0646
for (Block block : BuiltInRegistries.BLOCK) {
BLOCK_MATERIAL.put(block, Material.getMaterial(BuiltInRegistries.BLOCK.getKey(block).getPath().toUpperCase(Locale.ROOT)));
}
-@@ -154,6 +163,14 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -159,6 +168,14 @@ public final class CraftMagicNumbers implements UnsafeValues {
public static ResourceLocation key(Material mat) {
return CraftNamespacedKey.toMinecraft(mat.getKey());
}
diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch
index 8d235e570c..631f6c96d0 100644
--- a/patches/server/0010-Adventure.patch
+++ b/patches/server/0010-Adventure.patch
@@ -2933,7 +2933,7 @@ index a60fef571c94858998a91711b17d3670c28a81bd..04a728a16bb629adbae1cd8586764a6d
@Override
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 520f0742210342b43aa854b1e8b0c42a84935a9c..d13a662895737180f3d75b6e357ff90c72b0fe08 100644
+index 58872976048a1162602d5f11a85eaead837cd805..acd53d9005fc5f43b94c80ec5e7d0e1f9c86ca98 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -44,6 +44,7 @@ import net.minecraft.nbt.ListTag;
@@ -3354,10 +3354,10 @@ index 23bdb77690ba15bcbbfb0c70af23336d08ac7752..8f144a357174bbe096ac9b38a5e67a61
}
collection = icons;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index e51bed4771dcef6201f943e9289c4a53f029f1ab..c9453c4689d02a39fa4a01aa14fc8d8aa29bc887 100644
+index 5cf26c39b00ea1f7b1c5719f434af79fb20c6c60..8441cbe4ebd676d1aacff223abdabeb32b5658e0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -608,8 +608,10 @@ public final class CraftServer implements Server {
+@@ -610,8 +610,10 @@ public final class CraftServer implements Server {
}
@Override
@@ -3368,7 +3368,7 @@ index e51bed4771dcef6201f943e9289c4a53f029f1ab..c9453c4689d02a39fa4a01aa14fc8d8a
}
@Override
-@@ -1569,7 +1571,15 @@ public final class CraftServer implements Server {
+@@ -1581,7 +1583,15 @@ public final class CraftServer implements Server {
return this.configuration.getInt("settings.spawn-radius", -1);
}
@@ -3384,7 +3384,7 @@ index e51bed4771dcef6201f943e9289c4a53f029f1ab..c9453c4689d02a39fa4a01aa14fc8d8a
public String getShutdownMessage() {
return this.configuration.getString("settings.shutdown-message");
}
-@@ -1737,7 +1747,20 @@ public final class CraftServer implements Server {
+@@ -1749,7 +1759,20 @@ public final class CraftServer implements Server {
}
@Override
@@ -3405,7 +3405,7 @@ index e51bed4771dcef6201f943e9289c4a53f029f1ab..c9453c4689d02a39fa4a01aa14fc8d8a
Set<CommandSender> recipients = new HashSet<>();
for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) {
if (permissible instanceof CommandSender && permissible.hasPermission(permission)) {
-@@ -1745,14 +1768,14 @@ public final class CraftServer implements Server {
+@@ -1757,14 +1780,14 @@ public final class CraftServer implements Server {
}
}
@@ -3422,7 +3422,7 @@ index e51bed4771dcef6201f943e9289c4a53f029f1ab..c9453c4689d02a39fa4a01aa14fc8d8a
for (CommandSender recipient : recipients) {
recipient.sendMessage(message);
-@@ -2014,6 +2037,14 @@ public final class CraftServer implements Server {
+@@ -2026,6 +2049,14 @@ public final class CraftServer implements Server {
return CraftInventoryCreator.INSTANCE.createInventory(owner, type);
}
@@ -3437,7 +3437,7 @@ index e51bed4771dcef6201f943e9289c4a53f029f1ab..c9453c4689d02a39fa4a01aa14fc8d8a
@Override
public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) {
Preconditions.checkArgument(type != null, "InventoryType cannot be null");
-@@ -2028,13 +2059,28 @@ public final class CraftServer implements Server {
+@@ -2040,13 +2071,28 @@ public final class CraftServer implements Server {
return CraftInventoryCreator.INSTANCE.createInventory(owner, size);
}
@@ -3466,7 +3466,7 @@ index e51bed4771dcef6201f943e9289c4a53f029f1ab..c9453c4689d02a39fa4a01aa14fc8d8a
public Merchant createMerchant(String title) {
return new CraftMerchantCustom(title == null ? InventoryType.MERCHANT.getDefaultTitle() : title);
}
-@@ -2099,6 +2145,17 @@ public final class CraftServer implements Server {
+@@ -2111,6 +2157,17 @@ public final class CraftServer implements Server {
return Thread.currentThread().equals(this.console.serverThread) || this.console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog)
}
@@ -3484,7 +3484,7 @@ index e51bed4771dcef6201f943e9289c4a53f029f1ab..c9453c4689d02a39fa4a01aa14fc8d8a
@Override
public String getMotd() {
return this.console.getMotd();
-@@ -2536,4 +2593,57 @@ public final class CraftServer implements Server {
+@@ -2548,4 +2605,57 @@ public final class CraftServer implements Server {
public double[] getTPS() {
return new double[]{0, 0, 0}; // TODO
}
@@ -3543,10 +3543,10 @@ index e51bed4771dcef6201f943e9289c4a53f029f1ab..c9453c4689d02a39fa4a01aa14fc8d8a
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 2b0b9994751557e69ee7aa48fcb8319c128a5bbf..b2632cbc7903e23eb68e9901df039f5d8293bd77 100644
+index 1ce9787b04e28b3a50fdc7779a430c3be60a7646..8ff8d8174cd32d25b33c2e773d30c474b4e903d3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -155,6 +155,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -161,6 +161,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
private final BlockMetadataStore blockMetadata = new BlockMetadataStore(this);
private final Object2IntOpenHashMap<SpawnCategory> spawnCategoryLimit = new Object2IntOpenHashMap<>();
private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftWorld.DATA_TYPE_REGISTRY);
@@ -3554,7 +3554,7 @@ index 2b0b9994751557e69ee7aa48fcb8319c128a5bbf..b2632cbc7903e23eb68e9901df039f5d
private static final Random rand = new Random();
-@@ -1646,6 +1647,42 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1659,6 +1660,42 @@ public class CraftWorld extends CraftRegionAccessor implements World {
entityTracker.broadcastAndSend(packet);
}
}
@@ -3597,7 +3597,7 @@ index 2b0b9994751557e69ee7aa48fcb8319c128a5bbf..b2632cbc7903e23eb68e9901df039f5d
private static Map<String, GameRules.Key<?>> gamerules;
public static synchronized Map<String, GameRules.Key<?>> getGameRulesNMS() {
-@@ -2068,5 +2105,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2105,5 +2142,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public void setSendViewDistance(final int viewDistance) {
throw new UnsupportedOperationException("Not implemented yet");
}
@@ -4137,10 +4137,10 @@ index 61759e8179d0f6342abf0c0294e5a024928db8d9..92e21126a9347f1ee2279ab09bb6abf2
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 5d2ece0c415526d8c632b507f441977e6888c2cb..f53e223e2412846b82298233459ec9953bc0a63e 100644
+index be3a8e54d64b3cc145ab09b0bc7abb3f4ee153c3..e5330d41512dc59b5f94d9cacda340a46f45fd76 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -300,14 +300,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -306,14 +306,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getDisplayName() {
@@ -4180,7 +4180,7 @@ index 5d2ece0c415526d8c632b507f441977e6888c2cb..f53e223e2412846b82298233459ec995
@Override
public String getPlayerListName() {
return this.getHandle().listName == null ? this.getName() : CraftChatMessage.fromComponent(this.getHandle().listName);
-@@ -326,42 +351,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -332,42 +357,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
@@ -4232,7 +4232,7 @@ index 5d2ece0c415526d8c632b507f441977e6888c2cb..f53e223e2412846b82298233459ec995
this.getHandle().connection.send(packet);
}
-@@ -393,6 +418,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -399,6 +424,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.disconnect(message == null ? "" : message);
}
@@ -4256,7 +4256,7 @@ index 5d2ece0c415526d8c632b507f441977e6888c2cb..f53e223e2412846b82298233459ec995
@Override
public void setCompassTarget(Location loc) {
Preconditions.checkArgument(loc != null, "Location cannot be null");
-@@ -689,6 +731,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -695,6 +737,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(packet);
}
@@ -4281,7 +4281,7 @@ index 5d2ece0c415526d8c632b507f441977e6888c2cb..f53e223e2412846b82298233459ec995
@Override
public void sendSignChange(Location loc, String[] lines) {
this.sendSignChange(loc, lines, DyeColor.BLACK);
-@@ -712,6 +772,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -718,6 +778,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (this.getHandle().connection == null) return;
Component[] components = CraftSign.sanitizeLines(lines);
@@ -4293,7 +4293,7 @@ index 5d2ece0c415526d8c632b507f441977e6888c2cb..f53e223e2412846b82298233459ec995
SignBlockEntity sign = new SignBlockEntity(CraftLocation.toBlockPosition(loc), Blocks.OAK_SIGN.defaultBlockState());
SignText text = sign.getFrontText();
text = text.setColor(net.minecraft.world.item.DyeColor.byId(dyeColor.getWoolData()));
-@@ -721,7 +786,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -727,7 +792,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
sign.setText(text, true);
@@ -4303,7 +4303,7 @@ index 5d2ece0c415526d8c632b507f441977e6888c2cb..f53e223e2412846b82298233459ec995
}
@Override
-@@ -1705,7 +1771,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1735,7 +1801,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setResourcePack(String url) {
@@ -4312,7 +4312,7 @@ index 5d2ece0c415526d8c632b507f441977e6888c2cb..f53e223e2412846b82298233459ec995
}
@Override
-@@ -1720,7 +1786,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1750,7 +1816,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setResourcePack(String url, byte[] hash, boolean force) {
@@ -4321,8 +4321,8 @@ index 5d2ece0c415526d8c632b507f441977e6888c2cb..f53e223e2412846b82298233459ec995
}
@Override
-@@ -1743,6 +1809,59 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
- }
+@@ -1787,6 +1853,59 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+ this.handlePushResourcePack(new ClientboundResourcePackPushPacket(id, url, hashStr, force, CraftChatMessage.fromStringOrNull(prompt, true)), false);
}
+ // Paper start - adventure
@@ -4381,7 +4381,7 @@ index 5d2ece0c415526d8c632b507f441977e6888c2cb..f53e223e2412846b82298233459ec995
@Override
public void removeResourcePack(UUID id) {
Preconditions.checkArgument(id != null, "Resource pack id cannot be null");
-@@ -2150,6 +2269,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2203,6 +2322,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return (this.getHandle().requestedViewDistance() == 0) ? Bukkit.getViewDistance() : this.getHandle().requestedViewDistance();
}
@@ -4394,7 +4394,7 @@ index 5d2ece0c415526d8c632b507f441977e6888c2cb..f53e223e2412846b82298233459ec995
@Override
public int getPing() {
return this.getHandle().connection.latency();
-@@ -2200,6 +2325,252 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2253,6 +2378,252 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().allowsListing();
}
@@ -4670,7 +4670,7 @@ index 5725b0281ac53a2354b233223259d6784353bc6e..9ef939b76d06874b856e0c850addb364
@Override
public int getLineWidth() {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index ec1c0080642914ceeb931ee6ebdab31c2c6f1f59..a0dc52c805a82e267b66502a480cf76bc82a20d4 100644
+index 249d271338a75c49ec9bc886d034af637618bc7b..da100f451238a093bcaad83343a79254d4aa31ce 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -904,7 +904,7 @@ public class CraftEventFactory {
@@ -4876,7 +4876,7 @@ index 9e05a8515c5f6f340182e91150fcad8bbf80a22b..adf22ce4f0bcd3bd57dc2030c6c92d3d
@Override
public CraftMerchant getCraftMerchant() {
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
-index 7753018d4e36091d25badc030ed8a3c9e431a369..5e01357208fe52c1d270c68cb19029ea0f4057bb 100644
+index d1d4760ca6c392c1f1217b58d03a611e7fd6ee54..e0d4798e244add64cbe43201604ad9d57701515f 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
@@ -2,8 +2,9 @@ package org.bukkit.craftbukkit.inventory;
@@ -4890,7 +4890,7 @@ index 7753018d4e36091d25badc030ed8a3c9e431a369..5e01357208fe52c1d270c68cb19029ea
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-@@ -261,6 +262,148 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta {
+@@ -262,6 +263,148 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta {
this.generation = (generation == null) ? null : generation.ordinal();
}
@@ -5039,7 +5039,7 @@ index 7753018d4e36091d25badc030ed8a3c9e431a369..5e01357208fe52c1d270c68cb19029ea
@Override
public String getPage(final int page) {
Preconditions.checkArgument(this.isValidPage(page), "Invalid page number (%s)", page);
-@@ -402,7 +545,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta {
+@@ -403,7 +546,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta {
}
@Override
@@ -5459,10 +5459,10 @@ index d4fc39c4c450e675c5696b376576a4449a475497..516b3fef4d388366df09f0dd88deadbc
boolean hadFormat = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 32b73cd6d65abe1cd5fd33733d8c06467382acdc..1c98b1f1a1c6ab27bb31fd9b32927c97728f980c 100644
+index 56c3aa7647eb2890cf7f546d35002b0c43724500..5cbac19f3c5eaa1940b36891b5a289c425300b20 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -73,6 +73,43 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -78,6 +78,43 @@ public final class CraftMagicNumbers implements UnsafeValues {
private CraftMagicNumbers() {}
diff --git a/patches/server/0011-Paper-command.patch b/patches/server/0011-Paper-command.patch
index f330c0e862..7fe615b89f 100644
--- a/patches/server/0011-Paper-command.patch
+++ b/patches/server/0011-Paper-command.patch
@@ -605,7 +605,7 @@ index 0000000000000000000000000000000000000000..ae60bd96b5284d54676d8e7e4dd5d170
+ }
+}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index c56c7293261ec2601ab02d051b37e820f023f0ff..faab5e8c952a2af6a286043617cded4e6ca5c3c6 100644
+index 8ddfd4a148c95d0d9e93edf03ddac46332936d9a..8499eb5128d3269925ffb2c61d8532e9da47be4a 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -187,6 +187,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -617,10 +617,10 @@ index c56c7293261ec2601ab02d051b37e820f023f0ff..faab5e8c952a2af6a286043617cded4e
this.setPvpAllowed(dedicatedserverproperties.pvp);
this.setFlightAllowed(dedicatedserverproperties.allowFlight);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 4c75f630ff99259bd1d0e116fa20d0f625a3cf30..e9aa6a3c7710ed0c4685c5d8661d5de3fabb0a0d 100644
+index 8441cbe4ebd676d1aacff223abdabeb32b5658e0..45ba78ae029f59efd16534a2d6453af50a7aa74a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -939,6 +939,7 @@ public final class CraftServer implements Server {
+@@ -951,6 +951,7 @@ public final class CraftServer implements Server {
this.commandMap.clearCommands();
this.reloadData();
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
@@ -628,7 +628,7 @@ index 4c75f630ff99259bd1d0e116fa20d0f625a3cf30..e9aa6a3c7710ed0c4685c5d8661d5de3
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
-@@ -2637,6 +2638,34 @@ public final class CraftServer implements Server {
+@@ -2649,6 +2650,34 @@ public final class CraftServer implements Server {
// Paper end
// Paper start
diff --git a/patches/server/0013-Paper-Plugins.patch b/patches/server/0013-Paper-Plugins.patch
index db0f1755aa..dcbfcbfaec 100644
--- a/patches/server/0013-Paper-Plugins.patch
+++ b/patches/server/0013-Paper-Plugins.patch
@@ -7164,10 +7164,10 @@ index 403c57fc683bb0497602e1a9ec7b81b2722ecc01..ba58580f4c60205d1c7a7b7dfcdc22c4
Bootstrap.validate();
Util.startTimerHackThread();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index e7aaa9cd3d89ddf46e2a4a41f5d2b8005ccadbbe..e05c01e18d9982f799196c8cdbd593b722475b49 100644
+index 45ba78ae029f59efd16534a2d6453af50a7aa74a..7bd9abe9166df3d120fe6580407a04f68279c55f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -270,7 +270,8 @@ public final class CraftServer implements Server {
+@@ -272,7 +272,8 @@ public final class CraftServer implements Server {
private final CraftCommandMap commandMap = new CraftCommandMap(this);
private final SimpleHelpMap helpMap = new SimpleHelpMap(this);
private final StandardMessenger messenger = new StandardMessenger();
@@ -7177,7 +7177,7 @@ index e7aaa9cd3d89ddf46e2a4a41f5d2b8005ccadbbe..e05c01e18d9982f799196c8cdbd593b7
private final StructureManager structureManager;
protected final DedicatedServer console;
protected final DedicatedPlayerList playerList;
-@@ -418,24 +419,7 @@ public final class CraftServer implements Server {
+@@ -420,24 +421,7 @@ public final class CraftServer implements Server {
}
public void loadPlugins() {
@@ -7203,7 +7203,7 @@ index e7aaa9cd3d89ddf46e2a4a41f5d2b8005ccadbbe..e05c01e18d9982f799196c8cdbd593b7
}
public void enablePlugins(PluginLoadOrder type) {
-@@ -524,15 +508,17 @@ public final class CraftServer implements Server {
+@@ -526,15 +510,17 @@ public final class CraftServer implements Server {
private void enablePlugin(Plugin plugin) {
try {
List<Permission> perms = plugin.getDescription().getPermissions();
@@ -7227,7 +7227,7 @@ index e7aaa9cd3d89ddf46e2a4a41f5d2b8005ccadbbe..e05c01e18d9982f799196c8cdbd593b7
this.pluginManager.enablePlugin(plugin);
} catch (Throwable ex) {
-@@ -963,6 +949,7 @@ public final class CraftServer implements Server {
+@@ -975,6 +961,7 @@ public final class CraftServer implements Server {
"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"
));
}
@@ -7253,10 +7253,10 @@ index 909b2c98e7a9117d2f737245e4661792ffafb744..d96399e9bf1a58db5a4a22e58abb99e7
@Override
public FileConfiguration getConfig() {
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 1c98b1f1a1c6ab27bb31fd9b32927c97728f980c..72c1b7f1468c47ad7053a7ff6b3248324b2bf604 100644
+index 5cbac19f3c5eaa1940b36891b5a289c425300b20..8db0df55c5e23657b3a99a56fefb8e7419618c16 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -421,6 +421,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -426,6 +426,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
net.minecraft.world.item.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(itemStack);
return nmsItemStack.getItem().getDescriptionId(nmsItemStack);
}
diff --git a/patches/server/0014-Timings-v2.patch b/patches/server/0014-Timings-v2.patch
index 528768a9ec..4d99a43a43 100644
--- a/patches/server/0014-Timings-v2.patch
+++ b/patches/server/0014-Timings-v2.patch
@@ -893,7 +893,7 @@ index 3691fd58c7baf98b15c50fa4dacf3a35f4f9b4b8..a6a8b5079ceaad90a79a09cab5c38a6f
this.profiler.popPush("send chunks");
iterator = this.playerList.getPlayers().iterator();
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index 813fd87df0dfed8fe46389db8333d1d9f409fbe4..dfb37ddb89c2f43d9f9a34a6b2d38616575eb39b 100644
+index 4917aa64505870a0521bc09ce4d4d3e37c03eaae..65dbd05fa904eb8f0f0ef5d3fc3c1e885771f953 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -58,8 +58,9 @@ import org.apache.logging.log4j.Level;
@@ -1244,7 +1244,7 @@ index 68a0192f3b1c9491a6f64309ccc919274cdfe178..73608abb5a39749c326ce6fe1bf01442
this.entityManager.saveAll();
} else {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index d13a662895737180f3d75b6e357ff90c72b0fe08..ce7caf08865df9ff032ba6c42308ea3ce4de6226 100644
+index acd53d9005fc5f43b94c80ec5e7d0e1f9c86ca98..01c70d149b306030c775427f744c4dfab19411cf 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -322,7 +322,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1315,7 +1315,7 @@ index 6e9f5a404511f3703298def67402b87eca2f28a0..f5a4191977e8675952fc689744c8a39e
public UserWhiteList getWhiteList() {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index a1f658f4dafd47de0020d96667b090aa88c69f9c..8811646495f37587e7976edd8b9558cda412edb1 100644
+index e945daf877068625d4ad0f0b534f2eb23ee658a9..0ecdc0d671f744d85072ca0d157ef37bb28bab9c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -135,7 +135,6 @@ import org.bukkit.craftbukkit.event.CraftPortalEvent;
@@ -1334,7 +1334,7 @@ index a1f658f4dafd47de0020d96667b090aa88c69f9c..8811646495f37587e7976edd8b9558cd
// Spigot start
public final org.spigotmc.ActivationRange.ActivationType activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this);
public final boolean defaultActivationState;
-@@ -811,7 +809,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -810,7 +808,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public void move(MoverType movementType, Vec3 movement) {
@@ -1342,7 +1342,7 @@ index a1f658f4dafd47de0020d96667b090aa88c69f9c..8811646495f37587e7976edd8b9558cd
if (this.noPhysics) {
this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
} else {
-@@ -972,7 +969,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -971,7 +968,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.level().getProfiler().pop();
}
}
@@ -1393,10 +1393,10 @@ index c4bc491eed487c0a7e30538b0fb46fde91cd7b31..382b55167dede435b034866bd394455f
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index b71b702471599fc8f1de42919ade8ee6a4e6247c..2e47008a8ff1bb56b752d4eb880173b9edfbc4ad 100644
+index 44bfb8778f2894be9633be7ddc4f3c6881c9b05d..e111bdb614f173322ed0cc0386db6870a984fff7 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -140,7 +140,7 @@ import org.bukkit.event.entity.EntityTeleportEvent;
+@@ -141,7 +141,7 @@ import org.bukkit.event.entity.EntityTeleportEvent;
import org.bukkit.event.player.PlayerItemConsumeEvent;
// CraftBukkit end
@@ -1405,7 +1405,7 @@ index b71b702471599fc8f1de42919ade8ee6a4e6247c..2e47008a8ff1bb56b752d4eb880173b9
public abstract class LivingEntity extends Entity implements Attackable {
-@@ -2866,7 +2866,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2879,7 +2879,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
@Override
public void tick() {
@@ -1413,7 +1413,7 @@ index b71b702471599fc8f1de42919ade8ee6a4e6247c..2e47008a8ff1bb56b752d4eb880173b9
super.tick();
this.updatingUsingItem();
this.updateSwimAmount();
-@@ -2908,9 +2907,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2921,9 +2920,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
if (!this.isRemoved()) {
@@ -1423,7 +1423,7 @@ index b71b702471599fc8f1de42919ade8ee6a4e6247c..2e47008a8ff1bb56b752d4eb880173b9
}
double d0 = this.getX() - this.xo;
-@@ -2994,7 +2991,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3007,7 +3004,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.refreshDirtyAttributes();
@@ -1431,7 +1431,7 @@ index b71b702471599fc8f1de42919ade8ee6a4e6247c..2e47008a8ff1bb56b752d4eb880173b9
}
public void detectEquipmentUpdatesPublic() { // CraftBukkit
-@@ -3169,7 +3165,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3182,7 +3178,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.setDeltaMovement(d0, d1, d2);
this.level().getProfiler().push("ai");
@@ -1439,7 +1439,7 @@ index b71b702471599fc8f1de42919ade8ee6a4e6247c..2e47008a8ff1bb56b752d4eb880173b9
if (this.isImmobile()) {
this.jumping = false;
this.xxa = 0.0F;
-@@ -3179,7 +3174,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3192,7 +3187,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.serverAiStep();
this.level().getProfiler().pop();
}
@@ -1447,7 +1447,7 @@ index b71b702471599fc8f1de42919ade8ee6a4e6247c..2e47008a8ff1bb56b752d4eb880173b9
this.level().getProfiler().pop();
this.level().getProfiler().push("jump");
-@@ -3219,7 +3213,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3232,7 +3226,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.resetFallDistance();
}
@@ -1455,7 +1455,7 @@ index b71b702471599fc8f1de42919ade8ee6a4e6247c..2e47008a8ff1bb56b752d4eb880173b9
label104:
{
LivingEntity entityliving = this.getControllingPassenger();
-@@ -3235,7 +3228,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3248,7 +3241,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.travel(vec3d1);
}
@@ -1463,7 +1463,7 @@ index b71b702471599fc8f1de42919ade8ee6a4e6247c..2e47008a8ff1bb56b752d4eb880173b9
this.level().getProfiler().pop();
this.level().getProfiler().push("freezing");
-@@ -3262,9 +3254,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3275,9 +3267,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.checkAutoSpinAttack(axisalignedbb, this.getBoundingBox());
}
@@ -1579,7 +1579,7 @@ index 409007f6e6940e5ea92e3cbaa74e55cdee50325b..c2179ea2a16ae0fac0b59d81a57abf13
}
}
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
-index 0eb09ce5c850d85ffd7229d27cf06b3e0edda11b..cc1d7626a82881c4410d65c6a33dadae7ab07172 100644
+index fff1a2f2b8b5235c0c56c68264db0a914f6cb15d..ba7a816bd9dd4aec79e2560f0968374dbb28442c 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
@@ -483,13 +483,10 @@ public class ChunkSerializer {
@@ -1605,10 +1605,10 @@ index 0eb09ce5c850d85ffd7229d27cf06b3e0edda11b..cc1d7626a82881c4410d65c6a33dadae
};
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index ab7f7246ee7cd456dbf016aa4b3eed974cd0bca2..eccca51b91f3c8afeab19fe11b3e60df314c9c72 100644
+index 7bd9abe9166df3d120fe6580407a04f68279c55f..13b33785e13d5f9cc659dc48e5fea6451ca778fc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -368,7 +368,7 @@ public final class CraftServer implements Server {
+@@ -370,7 +370,7 @@ public final class CraftServer implements Server {
this.saveCommandsConfig();
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -1617,7 +1617,7 @@ index ab7f7246ee7cd456dbf016aa4b3eed974cd0bca2..eccca51b91f3c8afeab19fe11b3e60df
this.overrideSpawnLimits();
console.autosavePeriod = this.configuration.getInt("ticks-per.autosave");
this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose"));
-@@ -2545,12 +2545,31 @@ public final class CraftServer implements Server {
+@@ -2557,12 +2557,31 @@ public final class CraftServer implements Server {
private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot()
{
@@ -1819,10 +1819,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 f53e223e2412846b82298233459ec9953bc0a63e..87e7071a381540be3b1db55f5d606e9e1e117b39 100644
+index e5330d41512dc59b5f94d9cacda340a46f45fd76..d53e15a3a70de8e2a405d3a39ff51a3551e82dbc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2646,6 +2646,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2699,6 +2699,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
CraftPlayer.this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundSystemChatPacket(components, position == net.md_5.bungee.api.ChatMessageType.ACTION_BAR));
}
@@ -2019,10 +2019,10 @@ index f97eccb6a17c7876e1e002d798eb67bbe80571a0..76effc345d362047e64d064eb64a5222
+ } // Paper
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 72c1b7f1468c47ad7053a7ff6b3248324b2bf604..677335c3888adc25fbf3c5ec4d5a6c5ecf58ea5d 100644
+index 8db0df55c5e23657b3a99a56fefb8e7419618c16..5e541636b216d4f46be18b1031522bd92e667b67 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -209,6 +209,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -214,6 +214,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
}
// Paper end
// ========================================================================
@@ -2035,20 +2035,19 @@ index 72c1b7f1468c47ad7053a7ff6b3248324b2bf604..677335c3888adc25fbf3c5ec4d5a6c5e
public static byte toLegacyData(BlockState data) {
return CraftLegacy.toLegacyData(data);
-@@ -442,6 +448,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
- return new CraftPotionType(namespacedKey, potionRegistry);
+@@ -457,6 +463,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
+ public DamageSource.Builder createDamageSourceBuilder(DamageType damageType) {
+ return new CraftDamageSourceBuilder(damageType);
}
-
+ // Paper start
+ @Override
+ public String getTimingsServerName() {
+ return io.papermc.paper.configuration.GlobalConfiguration.get().timings.serverName;
+ }
+ // Paper end
-+
+
/**
* This helper class represents the different NBT Tags.
- * <p>
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index ff422d4d4f2b764370f0ee2af13034853c1d3fe1..a5da6c1cae0afbde684be250e2fc3c0c32a1265b 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
diff --git a/patches/server/0016-Further-improve-server-tick-loop.patch b/patches/server/0016-Further-improve-server-tick-loop.patch
index 70deed19e2..5c66e16921 100644
--- a/patches/server/0016-Further-improve-server-tick-loop.patch
+++ b/patches/server/0016-Further-improve-server-tick-loop.patch
@@ -146,10 +146,10 @@ index a6a8b5079ceaad90a79a09cab5c38a6fde6d33ee..f32aa4e03ae02d1449101c4aa89c8e0c
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 ac036223ca386a48caf1796ea65c3bbde4d6ed08..2e42f297ad27d9dea4b09cf19e9b4f00e4fc5a21 100644
+index 13b33785e13d5f9cc659dc48e5fea6451ca778fc..5a720c0a751e7a83976727d01cc5bc6282702255 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2598,7 +2598,11 @@ public final class CraftServer implements Server {
+@@ -2610,7 +2610,11 @@ public final class CraftServer implements Server {
@Override
public double[] getTPS() {
diff --git a/patches/server/0017-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/server/0017-Add-command-line-option-to-load-extra-plugin-jars-no.patch
index 5dc280deb7..98abdd4851 100644
--- a/patches/server/0017-Add-command-line-option-to-load-extra-plugin-jars-no.patch
+++ b/patches/server/0017-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 33b6605d1139e83a09054b6ed140e129e65a954d..3b2f99617a519c2c2f60b88a4679064c01e5d958 100644
+index 5a720c0a751e7a83976727d01cc5bc6282702255..48c40f12649735f14204c516eace6905b2ac0019 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -422,6 +422,35 @@ public final class CraftServer implements Server {
+@@ -424,6 +424,35 @@ public final class CraftServer implements Server {
io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.INSTANCE.enter(io.papermc.paper.plugin.entrypoint.Entrypoint.PLUGIN); // Paper - replace implementation
}
diff --git a/patches/server/0018-Keep-previous-behavior-for-setResourcePack.patch b/patches/server/0018-Keep-previous-behavior-for-setResourcePack.patch
deleted file mode 100644
index 98e0dec4c4..0000000000
--- a/patches/server/0018-Keep-previous-behavior-for-setResourcePack.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Jake Potrebic <[email protected]>
-Date: Fri, 8 Dec 2023 15:06:16 -0800
-Subject: [PATCH] Keep previous behavior for setResourcePack
-
-Before multiple packs were allowed, setResourcePack
-resulted in the client's existing server pack being
-replaced. To keep this behavior, we will remove all
-packs before sending the new pack. Other API exists
-for adding a new pack to the existing packs on a client.
-
-diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 87e7071a381540be3b1db55f5d606e9e1e117b39..afdc702682af7ddf338fe00a1b1912766e728f41 100644
---- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1803,8 +1803,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
- if (hash != null) {
- Preconditions.checkArgument(hash.length == 20, "Resource pack hash should be 20 bytes long but was %s", hash.length);
-
-+ this.getHandle().connection.send(new net.minecraft.network.protocol.common.ClientboundResourcePackPopPacket(Optional.empty())); // Paper - keep previous behavior of clearing packs
- this.getHandle().connection.send(new ClientboundResourcePackPushPacket(id, url, BaseEncoding.base16().lowerCase().encode(hash), force, CraftChatMessage.fromStringOrNull(prompt, true)));
- } else {
-+ this.getHandle().connection.send(new net.minecraft.network.protocol.common.ClientboundResourcePackPopPacket(Optional.empty())); // Paper - keep previous behavior of clearing packs
- this.getHandle().connection.send(new ClientboundResourcePackPushPacket(id, url, "", force, CraftChatMessage.fromStringOrNull(prompt, true)));
- }
- }
diff --git a/patches/server/0019-Support-components-in-ItemMeta.patch b/patches/server/0018-Support-components-in-ItemMeta.patch
index 212575286c..212575286c 100644
--- a/patches/server/0019-Support-components-in-ItemMeta.patch
+++ b/patches/server/0018-Support-components-in-ItemMeta.patch
diff --git a/patches/server/0020-Configurable-cactus-bamboo-and-reed-growth-height.patch b/patches/server/0019-Configurable-cactus-bamboo-and-reed-growth-height.patch
index 195e55198a..6f7a9c6719 100644
--- a/patches/server/0020-Configurable-cactus-bamboo-and-reed-growth-height.patch
+++ b/patches/server/0019-Configurable-cactus-bamboo-and-reed-growth-height.patch
@@ -65,7 +65,7 @@ index bd72deadb59289ae90afc379ee61e8198ddaf4ed..e8dc4ea90d74036dacb0785fcb9125df
}
diff --git a/src/main/java/net/minecraft/world/level/block/CactusBlock.java b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
-index fcd5b593c79aab42928cb1ddd0e6c1b03b7bafaf..581870d23e4deca85ae94bffac2011b69650c23d 100644
+index 2f343eaf0c2216702fd614dbec98ac3d46ef5b2e..0e8c337dde0cfa2ac289c79904ecd2affc86d70a 100644
--- a/src/main/java/net/minecraft/world/level/block/CactusBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
@@ -61,7 +61,7 @@ public class CactusBlock extends Block {
diff --git a/patches/server/0021-Configurable-baby-zombie-movement-speed.patch b/patches/server/0020-Configurable-baby-zombie-movement-speed.patch
index 5037cff218..5037cff218 100644
--- a/patches/server/0021-Configurable-baby-zombie-movement-speed.patch
+++ b/patches/server/0020-Configurable-baby-zombie-movement-speed.patch
diff --git a/patches/server/0022-Configurable-fishing-time-ranges.patch b/patches/server/0021-Configurable-fishing-time-ranges.patch
index 1ac9a0454c..1ac9a0454c 100644
--- a/patches/server/0022-Configurable-fishing-time-ranges.patch
+++ b/patches/server/0021-Configurable-fishing-time-ranges.patch
diff --git a/patches/server/0023-Allow-nerfed-mobs-to-jump.patch b/patches/server/0022-Allow-nerfed-mobs-to-jump.patch
index 6cd56c73a4..963c4fa032 100644
--- a/patches/server/0023-Allow-nerfed-mobs-to-jump.patch
+++ b/patches/server/0022-Allow-nerfed-mobs-to-jump.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow nerfed mobs to jump
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
-index 01761d37c9e4be4e498b62c7612885648b2968a6..093c60df0948fd1a46aef86223ecc63bc9e8b440 100644
+index fc264864d4a6f56f94d884f4892257452b360b73..b86ad4fbf1245c4c040d84daf9f93bd1aee6beae 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -112,6 +112,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
diff --git a/patches/server/0024-Add-configurable-entity-despawn-distances.patch b/patches/server/0023-Add-configurable-entity-despawn-distances.patch
index 600e13736c..dca9b87b3b 100644
--- a/patches/server/0024-Add-configurable-entity-despawn-distances.patch
+++ b/patches/server/0023-Add-configurable-entity-despawn-distances.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add configurable entity despawn distances
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
-index 093c60df0948fd1a46aef86223ecc63bc9e8b440..7cbb74f4bc7b63af86b7b2c52783fb20c7739258 100644
+index b86ad4fbf1245c4c040d84daf9f93bd1aee6beae..1de4c45f1a3a69e63eccf063be5516b163f7882a 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -853,14 +853,14 @@ public abstract class Mob extends LivingEntity implements Targeting {
diff --git a/patches/server/0025-Allow-for-toggling-of-spawn-chunks.patch b/patches/server/0024-Allow-for-toggling-of-spawn-chunks.patch
index 84bcfe5318..84bcfe5318 100644
--- a/patches/server/0025-Allow-for-toggling-of-spawn-chunks.patch
+++ b/patches/server/0024-Allow-for-toggling-of-spawn-chunks.patch
diff --git a/patches/server/0026-Drop-falling-block-and-tnt-entities-at-the-specified.patch b/patches/server/0025-Drop-falling-block-and-tnt-entities-at-the-specified.patch
index 21eaaaa49e..79d4064bb4 100644
--- a/patches/server/0026-Drop-falling-block-and-tnt-entities-at-the-specified.patch
+++ b/patches/server/0025-Drop-falling-block-and-tnt-entities-at-the-specified.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Drop falling block and tnt entities at the specified height
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
-index d344b13e3726f0fe8a57c098769d1beea9705cdd..67088152004caeecf4a678618be19419862e7ff1 100644
+index 66c0b74a41cb9e7403826b4fd54a8575d6f16faa..ee5ef4fe16ce6397bba30900b9c6690e3c4f51e6 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -142,6 +142,16 @@ public class FallingBlockEntity extends Entity {
diff --git a/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/patches/server/0026-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
index 139de64984..06b6b9aded 100644
--- a/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
+++ b/patches/server/0026-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index c99da8c4810385600470a0c3b4c03670edd0759b..107a04f6c5889e98c183a932ad158fb5b6591a10 100644
+index f32aa4e03ae02d1449101c4aa89c8e0c0fa26ba5..c6ce55d48fc71ea097a4a279fcd0dd1d4086be9b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1615,7 +1615,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -19,10 +19,10 @@ index c99da8c4810385600470a0c3b4c03670edd0759b..107a04f6c5889e98c183a932ad158fb5
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 3b2f99617a519c2c2f60b88a4679064c01e5d958..9b85ec9e9a66a5bc0c98598531102f01e597f525 100644
+index 48c40f12649735f14204c516eace6905b2ac0019..56a63adc3c0c919594c3f2646d4cf5b86b5c6f1e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -261,7 +261,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
+@@ -263,7 +263,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/0028-Implement-Paper-VersionChecker.patch b/patches/server/0027-Implement-Paper-VersionChecker.patch
index 1d47f57f92..11cae67520 100644
--- a/patches/server/0028-Implement-Paper-VersionChecker.patch
+++ b/patches/server/0027-Implement-Paper-VersionChecker.patch
@@ -140,10 +140,10 @@ index 0000000000000000000000000000000000000000..22a55be34fde453fedd987173d95b8b3
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 677335c3888adc25fbf3c5ec4d5a6c5ecf58ea5d..e31ead0d99203a018757cb2e765b5d28dd373eef 100644
+index 5e541636b216d4f46be18b1031522bd92e667b67..d11773ed44936f8836f2f8e582d5e9573af5b439 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -453,6 +453,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -468,6 +468,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
public String getTimingsServerName() {
return io.papermc.paper.configuration.GlobalConfiguration.get().timings.serverName;
}
diff --git a/patches/server/0029-Add-version-history-to-version-command.patch b/patches/server/0028-Add-version-history-to-version-command.patch
index bddc3de96d..53590f6fd6 100644
--- a/patches/server/0029-Add-version-history-to-version-command.patch
+++ b/patches/server/0028-Add-version-history-to-version-command.patch
@@ -209,7 +209,7 @@ index 0000000000000000000000000000000000000000..660b2ec6b63a4ceffee44ab11f54dfa7
+ }
+}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index dfb37ddb89c2f43d9f9a34a6b2d38616575eb39b..10bf1f9237436b68b855fb63b83a4aeeddf0f0c0 100644
+index 65dbd05fa904eb8f0f0ef5d3fc3c1e885771f953..88d45e52bc1105c4351ec5be39e3829ecfa8c1b6 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -190,6 +190,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
diff --git a/patches/server/0030-Player-affects-spawning-API.patch b/patches/server/0029-Player-affects-spawning-API.patch
index f3dbfb6795..5b8a0b37ce 100644
--- a/patches/server/0030-Player-affects-spawning-API.patch
+++ b/patches/server/0029-Player-affects-spawning-API.patch
@@ -21,7 +21,7 @@ index 3126e8cab3c40e3af47f4c8925e1c6a9523309ba..3207166061bf9c4d7bf3f38e5a9f7aff
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 7cbb74f4bc7b63af86b7b2c52783fb20c7739258..3fcd93f6d5a7553b032b44e7e919838ad2120dc9 100644
+index 1de4c45f1a3a69e63eccf063be5516b163f7882a..fa5d8a041858d17c785f033dd2aa3ab242069749 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -849,7 +849,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -73,10 +73,10 @@ index a779d32f87b59f347408974e402fad22fdc47f09..15ccde8ee8bac1f70c6047464595aff6
entityzombie.finalizeSpawn(worldserver, this.level().getCurrentDifficultyAt(entityzombie.blockPosition()), MobSpawnType.REINFORCEMENT, (SpawnGroupData) null, (CompoundTag) null);
worldserver.addFreshEntityWithPassengers(entityzombie, CreatureSpawnEvent.SpawnReason.REINFORCEMENTS); // CraftBukkit
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index eed6481bc88ed15a5e3fe7056b545ab44ed81983..f8d3e195c094ff200c0a7bd8cd4829ef36d328da 100644
+index 79f823c2ce2c5d03c34e580555a7e44a6747bf02..10c2c9d7c7feb878319eb19cd1fb6401da3b9189 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -179,6 +179,7 @@ public abstract class Player extends LivingEntity {
+@@ -180,6 +180,7 @@ public abstract class Player extends LivingEntity {
@Nullable
public FishingHook fishing;
protected float hurtDir;
@@ -135,10 +135,10 @@ index b6a3c75b84d9f768afee33aa0f226207b307c1c0..07e7851ca27ea0f8166be52b086a6504
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 afdc702682af7ddf338fe00a1b1912766e728f41..aafab28ed643e9f5f4b28a12ecd7bde3bc993abf 100644
+index d53e15a3a70de8e2a405d3a39ff51a3551e82dbc..a592ee955a823309f1936a607823ff93822cd369 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2287,6 +2287,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2338,6 +2338,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().language;
}
diff --git a/patches/server/0031-Only-refresh-abilities-if-needed.patch b/patches/server/0030-Only-refresh-abilities-if-needed.patch
index 58032170df..47aaec74c5 100644
--- a/patches/server/0031-Only-refresh-abilities-if-needed.patch
+++ b/patches/server/0030-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 aafab28ed643e9f5f4b28a12ecd7bde3bc993abf..8b7f6ac3214d318bff41779ae80c48ce3ecd54ce 100644
+index a592ee955a823309f1936a607823ff93822cd369..6e47cd5cc17ad7edff3d946364485bb01bf87a41 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1959,12 +1959,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2010,12 +2010,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setFlying(boolean value) {
diff --git a/patches/server/0032-fix-ItemMeta-removing-CustomModelData.patch b/patches/server/0031-fix-ItemMeta-removing-CustomModelData.patch
index 5d5438460c..e42dfffc09 100644
--- a/patches/server/0032-fix-ItemMeta-removing-CustomModelData.patch
+++ b/patches/server/0031-fix-ItemMeta-removing-CustomModelData.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] fix ItemMeta removing CustomModelData
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index aad1bfb515556ed98a55b181057d3ebb178ee52d..9e11d7bccd04b4c2e6913de56a299190c22aa9c1 100644
+index 2157034e735c3921d4ef128688c30917aaad7161..ffdea312f93d00289364ef4d41a820cd1338f3bd 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -353,7 +353,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/0033-Entity-Origin-API.patch b/patches/server/0032-Entity-Origin-API.patch
index ec30ee3e45..b5fb102df6 100644
--- a/patches/server/0033-Entity-Origin-API.patch
+++ b/patches/server/0032-Entity-Origin-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Entity Origin API
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index d00b789d8deb0163726acbcb10edb0965ac9f326..5b304c0c701a74398ba46ef8766a3d707bbe6a07 100644
+index 73608abb5a39749c326ce6fe1bf014422941b2d1..1315822ce37e5011880b24afb4fbe18cd1dfe80f 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2149,6 +2149,15 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -25,7 +25,7 @@ index d00b789d8deb0163726acbcb10edb0965ac9f326..5b304c0c701a74398ba46ef8766a3d70
public void onTrackingEnd(Entity entity) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 8811646495f37587e7976edd8b9558cda412edb1..b58b5b5fa710dc453966f7ff0dea6ac16a88c99d 100644
+index 0ecdc0d671f744d85072ca0d157ef37bb28bab9c..1212943cf64a716ceae187c76ff9be6241595ba2 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -319,7 +319,27 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -56,7 +56,7 @@ index 8811646495f37587e7976edd8b9558cda412edb1..b58b5b5fa710dc453966f7ff0dea6ac1
public float getBukkitYaw() {
return this.yRot;
}
-@@ -2043,6 +2063,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2042,6 +2062,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.bukkitEntity.storeBukkitValues(nbttagcompound);
}
// CraftBukkit end
@@ -72,7 +72,7 @@ index 8811646495f37587e7976edd8b9558cda412edb1..b58b5b5fa710dc453966f7ff0dea6ac1
return nbttagcompound;
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
-@@ -2170,6 +2199,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2169,6 +2198,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
// CraftBukkit end
diff --git a/patches/server/0034-Prevent-block-entity-and-entity-crashes.patch b/patches/server/0033-Prevent-block-entity-and-entity-crashes.patch
index 857d78d6c7..857d78d6c7 100644
--- a/patches/server/0034-Prevent-block-entity-and-entity-crashes.patch
+++ b/patches/server/0033-Prevent-block-entity-and-entity-crashes.patch
diff --git a/patches/server/0035-Configurable-top-of-nether-void-damage.patch b/patches/server/0034-Configurable-top-of-nether-void-damage.patch
index 778ca74fbf..e8fedeba3f 100644
--- a/patches/server/0035-Configurable-top-of-nether-void-damage.patch
+++ b/patches/server/0034-Configurable-top-of-nether-void-damage.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Configurable top of nether void damage
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index b58b5b5fa710dc453966f7ff0dea6ac16a88c99d..8e4f8849acfede8eec04527b67a3405ae805633d 100644
+index 1212943cf64a716ceae187c76ff9be6241595ba2..3577829c2386779913f4d2aebd1825051da2d364 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -670,7 +670,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
diff --git a/patches/server/0036-Check-online-mode-before-converting-and-renaming-pla.patch b/patches/server/0035-Check-online-mode-before-converting-and-renaming-pla.patch
index 5d700a4574..d6d157d973 100644
--- a/patches/server/0036-Check-online-mode-before-converting-and-renaming-pla.patch
+++ b/patches/server/0035-Check-online-mode-before-converting-and-renaming-pla.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Check online mode before converting and renaming player data
diff --git a/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java b/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java
-index 3d74ffc6e38b0dbe7ca6d8d84a63f78d6b1908a7..08f4cc47ec3aa4dd6980ba543219891a510b010b 100644
+index 8292978e1386c55d99241c3ee2ead3440b9e2570..2a167a0131d866b4368fc30849c17acdf0ab9af0 100644
--- a/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java
+++ b/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java
@@ -60,7 +60,7 @@ public class PlayerDataStorage {
diff --git a/patches/server/0037-Always-tick-falling-blocks.patch b/patches/server/0036-Always-tick-falling-blocks.patch
index 24f946fa58..24f946fa58 100644
--- a/patches/server/0037-Always-tick-falling-blocks.patch
+++ b/patches/server/0036-Always-tick-falling-blocks.patch
diff --git a/patches/server/0038-Configurable-end-credits.patch b/patches/server/0037-Configurable-end-credits.patch
index e20735f6d6..d1085599d1 100644
--- a/patches/server/0038-Configurable-end-credits.patch
+++ b/patches/server/0037-Configurable-end-credits.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable end credits
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 61d4afb6b76fdffdda9f01af5005f005e21f4807..c1006a1991e294fa69b1eb35f4224154b064671b 100644
+index 27a1450696a633578cd44567f240cbc1a4c578ac..3bb3312da2b91616d9d3bb4cb79259ee9e3479bd 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1030,6 +1030,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0039-Fix-lag-from-explosions-processing-dead-entities.patch b/patches/server/0038-Fix-lag-from-explosions-processing-dead-entities.patch
index 305920cc55..fb7366543b 100644
--- a/patches/server/0039-Fix-lag-from-explosions-processing-dead-entities.patch
+++ b/patches/server/0038-Fix-lag-from-explosions-processing-dead-entities.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix lag from explosions processing dead entities
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
-index 725ea53e6143d29f9619e1045341bc30155b248e..c5d644876e0c92a444a574ee7571227e19b28482 100644
+index f8dafdf67447c9627f677fca7160e212239709c4..b600abae1c17e1196ff2b171e054db95cca5c9ff 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -225,7 +225,7 @@ public class Explosion {
diff --git a/patches/server/0040-Optimize-explosions.patch b/patches/server/0039-Optimize-explosions.patch
index 7ecbc0cda4..9434cb4e98 100644
--- a/patches/server/0040-Optimize-explosions.patch
+++ b/patches/server/0039-Optimize-explosions.patch
@@ -10,7 +10,7 @@ This patch adds a per-tick cache that is used for storing and retrieving
an entity's exposure during an explosion.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 107a04f6c5889e98c183a932ad158fb5b6591a10..455f72f2a653154d4528c53d39866d3cd85b6862 100644
+index c6ce55d48fc71ea097a4a279fcd0dd1d4086be9b..cc2775d94f3b6ebd7f97e14e324bf292d5874de4 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1489,6 +1489,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -22,10 +22,10 @@ index 107a04f6c5889e98c183a932ad158fb5b6591a10..455f72f2a653154d4528c53d39866d3c
this.profiler.popPush("connection");
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
-index c5d644876e0c92a444a574ee7571227e19b28482..4e382cfae7a3a1889bc36bad24c6ea38b7eb14a6 100644
+index b600abae1c17e1196ff2b171e054db95cca5c9ff..df17b8cddd7f8bd3f13641c99ad0d25e8a596675 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
-@@ -279,7 +279,7 @@ public class Explosion {
+@@ -277,7 +277,7 @@ public class Explosion {
// CraftBukkit end
}
@@ -34,7 +34,7 @@ index c5d644876e0c92a444a574ee7571227e19b28482..4e382cfae7a3a1889bc36bad24c6ea38
double d13;
if (entity instanceof LivingEntity) {
-@@ -520,4 +520,84 @@ public class Explosion {
+@@ -526,4 +526,84 @@ public class Explosion {
private BlockInteraction() {}
}
diff --git a/patches/server/0041-Disable-explosion-knockback.patch b/patches/server/0040-Disable-explosion-knockback.patch
index 68b32b3813..880de82afd 100644
--- a/patches/server/0041-Disable-explosion-knockback.patch
+++ b/patches/server/0040-Disable-explosion-knockback.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Disable explosion knockback
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
-index 4e382cfae7a3a1889bc36bad24c6ea38b7eb14a6..219f3abc6d3280077b53cfff97db7e724133f5a1 100644
+index df17b8cddd7f8bd3f13641c99ad0d25e8a596675..00cfa26783ce0772c75166266ead258a415097bc 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
-@@ -285,7 +285,7 @@ public class Explosion {
+@@ -283,7 +283,7 @@ public class Explosion {
if (entity instanceof LivingEntity) {
LivingEntity entityliving = (LivingEntity) entity;
@@ -17,7 +17,7 @@ index 4e382cfae7a3a1889bc36bad24c6ea38b7eb14a6..219f3abc6d3280077b53cfff97db7e72
} else {
d13 = d12;
}
-@@ -299,7 +299,7 @@ public class Explosion {
+@@ -305,7 +305,7 @@ public class Explosion {
if (entity instanceof Player) {
Player entityhuman = (Player) entity;
diff --git a/patches/server/0042-Disable-thunder.patch b/patches/server/0041-Disable-thunder.patch
index ac0e1ec072..812330feaa 100644
--- a/patches/server/0042-Disable-thunder.patch
+++ b/patches/server/0041-Disable-thunder.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Disable thunder
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 5b304c0c701a74398ba46ef8766a3d707bbe6a07..40287f5dbdfb5526f4cba901ded9740009e29b00 100644
+index 1315822ce37e5011880b24afb4fbe18cd1dfe80f..ae4f429ccacc01e3f970fadf01570ec7da454721 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -609,7 +609,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
diff --git a/patches/server/0043-Disable-ice-and-snow.patch b/patches/server/0042-Disable-ice-and-snow.patch
index 4ec16311b0..b67a99ca11 100644
--- a/patches/server/0043-Disable-ice-and-snow.patch
+++ b/patches/server/0042-Disable-ice-and-snow.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Disable ice and snow
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 40287f5dbdfb5526f4cba901ded9740009e29b00..4b6fc197c6e0544f2ec993ea863e9dd560b05f11 100644
+index ae4f429ccacc01e3f970fadf01570ec7da454721..c9113f7e0d9e1b9861f667c40e2702c6bb1d4e53 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -639,11 +639,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
diff --git a/patches/server/0044-Configurable-mob-spawner-tick-rate.patch b/patches/server/0043-Configurable-mob-spawner-tick-rate.patch
index a34fa86ce5..a34fa86ce5 100644
--- a/patches/server/0044-Configurable-mob-spawner-tick-rate.patch
+++ b/patches/server/0043-Configurable-mob-spawner-tick-rate.patch
diff --git a/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0044-Implement-PlayerLocaleChangeEvent.patch
index 914926f06e..fa3a977c10 100644
--- a/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch
+++ b/patches/server/0044-Implement-PlayerLocaleChangeEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Implement PlayerLocaleChangeEvent
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index c1006a1991e294fa69b1eb35f4224154b064671b..b0a548ed0abbe08df2cae771248a811fba3891da 100644
+index 3bb3312da2b91616d9d3bb4cb79259ee9e3479bd..f21174c1d50158330b9a48dba8409919a2229927 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -222,7 +222,7 @@ public class ServerPlayer extends Player {
@@ -39,10 +39,10 @@ index c1006a1991e294fa69b1eb35f4224154b064671b..b0a548ed0abbe08df2cae771248a811f
// CraftBukkit end
this.language = clientOptions.language();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 8b7f6ac3214d318bff41779ae80c48ce3ecd54ce..3eb1a36eb171d0b98ae005a61902274ef4b12b6e 100644
+index 6e47cd5cc17ad7edff3d946364485bb01bf87a41..42b27e1b8bc317a4cd0fcc27a5d7ce2d69d33aeb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2285,7 +2285,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2336,7 +2336,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {
diff --git a/patches/server/0046-Add-BeaconEffectEvent.patch b/patches/server/0045-Add-BeaconEffectEvent.patch
index 9e5105c14f..9e5105c14f 100644
--- a/patches/server/0046-Add-BeaconEffectEvent.patch
+++ b/patches/server/0045-Add-BeaconEffectEvent.patch
diff --git a/patches/server/0047-Configurable-container-update-tick-rate.patch b/patches/server/0046-Configurable-container-update-tick-rate.patch
index 15658964ad..7a2ea2cb51 100644
--- a/patches/server/0047-Configurable-container-update-tick-rate.patch
+++ b/patches/server/0046-Configurable-container-update-tick-rate.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable container update tick rate
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index b0a548ed0abbe08df2cae771248a811fba3891da..7e777ab6998203e031fb8387b1521bff3d86f11a 100644
+index f21174c1d50158330b9a48dba8409919a2229927..429f3ed00c0c6d7c89138aa9a4b770e3e68b7ed7 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -247,6 +247,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0048-Use-UserCache-for-player-heads.patch b/patches/server/0047-Use-UserCache-for-player-heads.patch
index 48ccece56f..48ccece56f 100644
--- a/patches/server/0048-Use-UserCache-for-player-heads.patch
+++ b/patches/server/0047-Use-UserCache-for-player-heads.patch
diff --git a/patches/server/0049-Disable-spigot-tick-limiters.patch b/patches/server/0048-Disable-spigot-tick-limiters.patch
index 4326d4ee93..4326d4ee93 100644
--- a/patches/server/0049-Disable-spigot-tick-limiters.patch
+++ b/patches/server/0048-Disable-spigot-tick-limiters.patch
diff --git a/patches/server/0050-Add-PlayerInitialSpawnEvent.patch b/patches/server/0049-Add-PlayerInitialSpawnEvent.patch
index 52241d8e84..52241d8e84 100644
--- a/patches/server/0050-Add-PlayerInitialSpawnEvent.patch
+++ b/patches/server/0049-Add-PlayerInitialSpawnEvent.patch
diff --git a/patches/server/0051-Configurable-Disabling-Cat-Chest-Detection.patch b/patches/server/0050-Configurable-Disabling-Cat-Chest-Detection.patch
index 1ebc3875d7..1ebc3875d7 100644
--- a/patches/server/0051-Configurable-Disabling-Cat-Chest-Detection.patch
+++ b/patches/server/0050-Configurable-Disabling-Cat-Chest-Detection.patch
diff --git a/patches/server/0052-Improve-Player-chat-API-handling.patch b/patches/server/0051-Improve-Player-chat-API-handling.patch
index 5de45ed559..80ec033d04 100644
--- a/patches/server/0052-Improve-Player-chat-API-handling.patch
+++ b/patches/server/0051-Improve-Player-chat-API-handling.patch
@@ -17,7 +17,7 @@ Co-authored-by: Jake Potrebic <[email protected]>
Co-authored-by: SoSeDiK <[email protected]>
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index ce7caf08865df9ff032ba6c42308ea3ce4de6226..04e68886a5385234701962f2502948052074515e 100644
+index 01c70d149b306030c775427f744c4dfab19411cf..dedd0aa332412eec5f976959b67da5405d980ded 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1930,7 +1930,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -40,10 +40,10 @@ index ce7caf08865df9ff032ba6c42308ea3ce4de6226..04e68886a5385234701962f250294805
if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot
this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 4fbc98bc2fe808a15f974b0abf614781fe66e1c4..6568af2428be41c6d8baa8cf2a486ec4942d44d7 100644
+index 56a63adc3c0c919594c3f2646d4cf5b86b5c6f1e..5b22714d6f5eb8318275ca0bf01597be8d55f118 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -885,7 +885,7 @@ public final class CraftServer implements Server {
+@@ -897,7 +897,7 @@ public final class CraftServer implements Server {
public boolean dispatchCommand(CommandSender sender, String commandLine) {
Preconditions.checkArgument(sender != null, "sender cannot be null");
Preconditions.checkArgument(commandLine != null, "commandLine cannot be null");
@@ -53,10 +53,10 @@ index 4fbc98bc2fe808a15f974b0abf614781fe66e1c4..6568af2428be41c6d8baa8cf2a486ec4
if (this.commandMap.dispatch(sender, commandLine)) {
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 ce54892f4a9b745779613af769783cb388336103..0017679b115de12f2e272db7ba3c11315086680f 100644
+index 42b27e1b8bc317a4cd0fcc27a5d7ce2d69d33aeb..6f3c450cd03fa4848175cada63be2dcf5abe45ba 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -456,7 +456,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -462,7 +462,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (this.getHandle().connection == null) return;
diff --git a/patches/server/0053-All-chunks-are-slime-spawn-chunks-toggle.patch b/patches/server/0052-All-chunks-are-slime-spawn-chunks-toggle.patch
index 55c1f1b35b..a1e73b56c2 100644
--- a/patches/server/0053-All-chunks-are-slime-spawn-chunks-toggle.patch
+++ b/patches/server/0052-All-chunks-are-slime-spawn-chunks-toggle.patch
@@ -18,10 +18,10 @@ index 8b2206c5c56341ecd96837bdb3e0c6ab7c874af5..897c815fb448d1e9ca75b7f8b93b4021
if (random.nextInt(10) == 0 && flag && pos.getY() < 40) {
return checkMobSpawnRules(type, world, spawnReason, pos, random);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
-index b1aeb021e53a233bfb0439d38f1a889ed6fc301d..491416754e1c5e8c2b345b57f45289906c7932ba 100644
+index d09f0f68031135f86a864e69eb8d65ceddd7a9b1..70999e95116d50de1a7fecdd91bbad0bac2bf1d8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
-@@ -215,7 +215,7 @@ public class CraftChunk implements Chunk {
+@@ -217,7 +217,7 @@ public class CraftChunk implements Chunk {
@Override
public boolean isSlimeChunk() {
// 987234911L is deterimined in EntitySlime when seeing if a slime can spawn in a chunk
diff --git a/patches/server/0054-Expose-server-CommandMap.patch b/patches/server/0053-Expose-server-CommandMap.patch
index 03a0a271b5..9e0239735d 100644
--- a/patches/server/0054-Expose-server-CommandMap.patch
+++ b/patches/server/0053-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 6568af2428be41c6d8baa8cf2a486ec4942d44d7..669e75549d0cc1d9c506f362e27b2f1717ec8d5c 100644
+index 5b22714d6f5eb8318275ca0bf01597be8d55f118..6135e8c0669886260afacdaa7405bf55597b17a6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2112,6 +2112,7 @@ public final class CraftServer implements Server {
+@@ -2124,6 +2124,7 @@ public final class CraftServer implements Server {
return this.helpMap;
}
diff --git a/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch b/patches/server/0054-Be-a-bit-more-informative-in-maxHealth-exception.patch
index 46b700c322..aadcfbc397 100644
--- a/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch
+++ b/patches/server/0054-Be-a-bit-more-informative-in-maxHealth-exception.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Be a bit more informative in maxHealth exception
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index bad29a542e31a6fe2c75bfd008653ca6aa409df8..5825f942db3b9870631ff093708dee0e930fccc8 100644
+index bcab4757869428e20c67907684e02b64d2958e88..a73a5a8291ddd954f2c7b73a4895933e715c5d68 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -101,7 +101,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -102,7 +102,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@Override
public void setHealth(double health) {
health = (float) health;
diff --git a/patches/server/0056-Player-Tab-List-and-Title-APIs.patch b/patches/server/0055-Player-Tab-List-and-Title-APIs.patch
index 8776c8880a..ff7e5579f0 100644
--- a/patches/server/0056-Player-Tab-List-and-Title-APIs.patch
+++ b/patches/server/0055-Player-Tab-List-and-Title-APIs.patch
@@ -64,7 +64,7 @@ index 7bb08db97c324d13836303cc8a4623c71d6c8a2c..5e9045f7722481e1f83a3d36d7b3d86e
// Paper end
buf.writeComponent(this.text);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index d37ff41c7266f6811988272e32e035469fe30f46..cfa95917b39b32917bf32b2e97211d232d9037fd 100644
+index 6f3c450cd03fa4848175cada63be2dcf5abe45ba..03dad5aa44d4484e9a3064279c867f009104a9b2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1,5 +1,6 @@
@@ -74,7 +74,7 @@ index d37ff41c7266f6811988272e32e035469fe30f46..cfa95917b39b32917bf32b2e97211d23
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableSet;
import com.google.common.io.BaseEncoding;
-@@ -298,6 +299,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -304,6 +305,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
diff --git a/patches/server/0057-Add-configurable-portal-search-radius.patch b/patches/server/0056-Add-configurable-portal-search-radius.patch
index 08a6e3a71c..dde721afeb 100644
--- a/patches/server/0057-Add-configurable-portal-search-radius.patch
+++ b/patches/server/0056-Add-configurable-portal-search-radius.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add configurable portal search radius
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 8e4f8849acfede8eec04527b67a3405ae805633d..bef8f3574ecb0d957f9041639b56c94b41913f99 100644
+index 3577829c2386779913f4d2aebd1825051da2d364..4c7a2d64ab4a5269fdea0b30e6c91fa1cb9f509c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3181,7 +3181,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -3179,7 +3179,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
double d0 = DimensionType.getTeleportationScale(this.level().dimensionType(), destination.dimensionType());
BlockPos blockposition = worldborder.clampToBounds(this.getX() * d0, this.getY(), this.getZ() * d0);
// CraftBukkit start
diff --git a/patches/server/0058-Add-velocity-warnings.patch b/patches/server/0057-Add-velocity-warnings.patch
index ad923e70d1..f81b57b344 100644
--- a/patches/server/0058-Add-velocity-warnings.patch
+++ b/patches/server/0057-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 669e75549d0cc1d9c506f362e27b2f1717ec8d5c..908808099d0b7c3320f447330a441a536ce07421 100644
+index 6135e8c0669886260afacdaa7405bf55597b17a6..2b2d0c8ed68eb86812877026a0bb5c4a6389c3d4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -298,6 +298,7 @@ public final class CraftServer implements Server {
+@@ -300,6 +300,7 @@ public final class CraftServer implements Server {
public boolean ignoreVanillaPermissions = false;
private final List<CraftPlayer> playerView;
public int reloadCount;
diff --git a/patches/server/0059-Configurable-inter-world-teleportation-safety.patch b/patches/server/0058-Configurable-inter-world-teleportation-safety.patch
index 3d04ecd59b..ca20bf2e17 100644
--- a/patches/server/0059-Configurable-inter-world-teleportation-safety.patch
+++ b/patches/server/0058-Configurable-inter-world-teleportation-safety.patch
@@ -16,10 +16,10 @@ The wanted destination was on top of the emerald block however the player ended
This only is the case if the player is teleporting between worlds.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index cfa95917b39b32917bf32b2e97211d232d9037fd..2de70507a03e662afa45dd9f2e3c28c857a8037c 100644
+index 03dad5aa44d4484e9a3064279c867f009104a9b2..fc2374c9ecc7603c310761e6196c026eded788f6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1126,7 +1126,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1156,7 +1156,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
entity.connection.teleport(to);
} else {
// The respawn reason should never be used if the passed location is non null.
diff --git a/patches/server/0060-Add-exception-reporting-event.patch b/patches/server/0059-Add-exception-reporting-event.patch
index 03c495af9b..03c495af9b 100644
--- a/patches/server/0060-Add-exception-reporting-event.patch
+++ b/patches/server/0059-Add-exception-reporting-event.patch
diff --git a/patches/server/0061-Disable-Scoreboards-for-non-players-by-default.patch b/patches/server/0060-Disable-Scoreboards-for-non-players-by-default.patch
index 2ec136b21c..b562b1b373 100644
--- a/patches/server/0061-Disable-Scoreboards-for-non-players-by-default.patch
+++ b/patches/server/0060-Disable-Scoreboards-for-non-players-by-default.patch
@@ -11,10 +11,10 @@ So avoid looking up scoreboards and short circuit to the "not on a team"
logic which is most likely to be true.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index bef8f3574ecb0d957f9041639b56c94b41913f99..c4168fa278dacf9f50058bb7dc98bb12aef717f2 100644
+index 4c7a2d64ab4a5269fdea0b30e6c91fa1cb9f509c..e7157ff6cd6f2c52593bba63129fdaa60fcbf886 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2808,6 +2808,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2807,6 +2807,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@Nullable
public PlayerTeam getTeam() {
@@ -23,10 +23,10 @@ index bef8f3574ecb0d957f9041639b56c94b41913f99..c4168fa278dacf9f50058bb7dc98bb12
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 2e47008a8ff1bb56b752d4eb880173b9edfbc4ad..3eeb40c2176a80b9e2a472d43671ae0fe087d9e7 100644
+index e111bdb614f173322ed0cc0386db6870a984fff7..0a573b188111e84290317f2ce5620b6ea6c8b6de 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -832,6 +832,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -833,6 +833,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (nbt.contains("Team", 8)) {
String s = nbt.getString("Team");
PlayerTeam scoreboardteam = this.level().getScoreboard().getPlayerTeam(s);
diff --git a/patches/server/0062-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/patches/server/0061-Add-methods-for-working-with-arrows-stuck-in-living-.patch
index f7b2fb6ec1..59051e3b97 100644
--- a/patches/server/0062-Add-methods-for-working-with-arrows-stuck-in-living-.patch
+++ b/patches/server/0061-Add-methods-for-working-with-arrows-stuck-in-living-.patch
@@ -7,10 +7,10 @@ Upstream added methods for this, original methods are now
deprecated
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 5825f942db3b9870631ff093708dee0e930fccc8..690364b874212cca2fe2078efa7b8f3f7880e39f 100644
+index a73a5a8291ddd954f2c7b73a4895933e715c5d68..4636e1ebf11025a551d398a6594b1506748a8390 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -266,10 +266,29 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -267,10 +267,29 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
}
@Override
@@ -41,7 +41,7 @@ index 5825f942db3b9870631ff093708dee0e930fccc8..690364b874212cca2fe2078efa7b8f3f
@Override
public void damage(double amount) {
-@@ -786,4 +805,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -799,4 +818,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
this.getHandle().persistentInvisibility = invisible;
this.getHandle().setSharedFlag(5, invisible);
}
diff --git a/patches/server/0063-Chunk-Save-Reattempt.patch b/patches/server/0062-Chunk-Save-Reattempt.patch
index 2e4356f859..2e4356f859 100644
--- a/patches/server/0063-Chunk-Save-Reattempt.patch
+++ b/patches/server/0062-Chunk-Save-Reattempt.patch
diff --git a/patches/server/0064-Complete-resource-pack-API.patch b/patches/server/0063-Complete-resource-pack-API.patch
index 645ad3f88d..296b0713c6 100644
--- a/patches/server/0064-Complete-resource-pack-API.patch
+++ b/patches/server/0063-Complete-resource-pack-API.patch
@@ -22,10 +22,10 @@ index c8041492b7b2a1ff67b95d9944cfccd476b3ee1d..66497960995dc30abe60d26200979a78
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 05a3d86c5861f237dcccb93c8a9f91cf6a7c18b6..8be468cb5305c0db5f46298aaf6c896b27ce4aee 100644
+index fc2374c9ecc7603c310761e6196c026eded788f6..b6851bd629c4d3b9aa7efdf1112e1cf59cd63f60 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -189,6 +189,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -195,6 +195,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private double healthScale = 20;
private CraftWorldBorder clientWorldBorder = null;
private BorderChangeListener clientWorldBorderListener = this.createWorldBorderListener();
@@ -33,7 +33,7 @@ index 05a3d86c5861f237dcccb93c8a9f91cf6a7c18b6..8be468cb5305c0db5f46298aaf6c896b
public CraftPlayer(CraftServer server, ServerPlayer entity) {
super(server, entity);
-@@ -1972,6 +1973,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2014,6 +2015,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end - adventure
diff --git a/patches/server/0065-Default-loading-permissions.yml-before-plugins.patch b/patches/server/0064-Default-loading-permissions.yml-before-plugins.patch
index 1168591066..5cb350113e 100644
--- a/patches/server/0065-Default-loading-permissions.yml-before-plugins.patch
+++ b/patches/server/0064-Default-loading-permissions.yml-before-plugins.patch
@@ -16,10 +16,10 @@ modify that. Under the previous logic, plugins were unable (cleanly) override pe
A config option has been added for those who depend on the previous behavior, but I don't expect that.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 908808099d0b7c3320f447330a441a536ce07421..9bec3b0d5c7eaccb334e2663bb1fdc42cd6eb367 100644
+index 2b2d0c8ed68eb86812877026a0bb5c4a6389c3d4..1d85e64b30e872f12de7d84af26be6271e77387e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -456,6 +456,7 @@ public final class CraftServer implements Server {
+@@ -458,6 +458,7 @@ public final class CraftServer implements Server {
if (type == PluginLoadOrder.STARTUP) {
this.helpMap.clear();
this.helpMap.initializeGeneralTopics();
@@ -27,7 +27,7 @@ index 908808099d0b7c3320f447330a441a536ce07421..9bec3b0d5c7eaccb334e2663bb1fdc42
}
Plugin[] plugins = this.pluginManager.getPlugins();
-@@ -475,7 +476,7 @@ public final class CraftServer implements Server {
+@@ -477,7 +478,7 @@ public final class CraftServer implements Server {
this.commandMap.registerServerAliases();
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();
diff --git a/patches/server/0066-Allow-Reloading-of-Custom-Permissions.patch b/patches/server/0065-Allow-Reloading-of-Custom-Permissions.patch
index 537c89fe41..78a798eca3 100644
--- a/patches/server/0066-Allow-Reloading-of-Custom-Permissions.patch
+++ b/patches/server/0065-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 7203f9b281305e83d7a31e49aab5fb73d603789b..58cf842c3bdc91233404ce907e3652abb1187e03 100644
+index 1d85e64b30e872f12de7d84af26be6271e77387e..f7726d16d37c64228515b0791d921b047bc887e6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2716,5 +2716,23 @@ public final class CraftServer implements Server {
+@@ -2728,5 +2728,23 @@ public final class CraftServer implements Server {
}
return this.adventure$audiences;
}
diff --git a/patches/server/0067-Remove-Metadata-on-reload.patch b/patches/server/0066-Remove-Metadata-on-reload.patch
index d7f1fa2629..006d87514f 100644
--- a/patches/server/0067-Remove-Metadata-on-reload.patch
+++ b/patches/server/0066-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 d2d2cc70eac66d503efe89ded205f1a904c95a26..fb6c21a43e771317526972c183d95402d941924b 100644
+index f7726d16d37c64228515b0791d921b047bc887e6..f69d5e8f22fa8335b19f9e777ddbd33443eb08dc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -952,8 +952,16 @@ public final class CraftServer implements Server {
+@@ -964,8 +964,16 @@ public final class CraftServer implements Server {
world.spigotConfig.init(); // Spigot
}
diff --git a/patches/server/0068-Handle-Item-Meta-Inconsistencies.patch b/patches/server/0067-Handle-Item-Meta-Inconsistencies.patch
index e4b3d7b26b..9528bf1431 100644
--- a/patches/server/0068-Handle-Item-Meta-Inconsistencies.patch
+++ b/patches/server/0067-Handle-Item-Meta-Inconsistencies.patch
@@ -18,10 +18,10 @@ For consistency, the old API methods now forward to use the
ItemMeta API equivalents, and should deprecate the old API's.
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index 9861cd23b07f8fbacb1d125af835dee58c2debbb..b0ea04fc0bac640f7076100e44c16c03b86b2a0e 100644
+index 6291265ae4691bf7dffe196d20571c1c30e8d906..70511628eefc28163d07f50f18d9cc55dd93d68b 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -180,6 +180,23 @@ public final class ItemStack {
+@@ -181,6 +181,23 @@ public final class ItemStack {
return this.getItem().getTooltipImage(this);
}
@@ -45,7 +45,7 @@ index 9861cd23b07f8fbacb1d125af835dee58c2debbb..b0ea04fc0bac640f7076100e44c16c03
public ItemStack(ItemLike item) {
this(item, 1);
}
-@@ -226,6 +243,7 @@ public final class ItemStack {
+@@ -227,6 +244,7 @@ public final class ItemStack {
this.count = nbttagcompound.getByte("Count");
if (nbttagcompound.contains("tag", 10)) {
this.tag = nbttagcompound.getCompound("tag").copy();
@@ -53,7 +53,7 @@ index 9861cd23b07f8fbacb1d125af835dee58c2debbb..b0ea04fc0bac640f7076100e44c16c03
this.getItem().verifyTagAfterLoad(this.tag);
}
-@@ -844,6 +862,7 @@ public final class ItemStack {
+@@ -846,6 +864,7 @@ public final class ItemStack {
public void setTag(@Nullable CompoundTag nbt) {
this.tag = nbt;
@@ -61,7 +61,7 @@ index 9861cd23b07f8fbacb1d125af835dee58c2debbb..b0ea04fc0bac640f7076100e44c16c03
if (this.getItem().canBeDepleted()) {
this.setDamageValue(this.getDamageValue());
}
-@@ -1141,6 +1160,7 @@ public final class ItemStack {
+@@ -1143,6 +1162,7 @@ public final class ItemStack {
ListTag nbttaglist = this.tag.getList("Enchantments", 10);
nbttaglist.add(EnchantmentHelper.storeEnchantment(EnchantmentHelper.getEnchantmentId(enchantment), (byte) level));
diff --git a/patches/server/0069-Configurable-Non-Player-Arrow-Despawn-Rate.patch b/patches/server/0068-Configurable-Non-Player-Arrow-Despawn-Rate.patch
index a2f39fff2f..a2f39fff2f 100644
--- a/patches/server/0069-Configurable-Non-Player-Arrow-Despawn-Rate.patch
+++ b/patches/server/0068-Configurable-Non-Player-Arrow-Despawn-Rate.patch
diff --git a/patches/server/0070-Add-World-Util-Methods.patch b/patches/server/0069-Add-World-Util-Methods.patch
index 527a47153c..527a47153c 100644
--- a/patches/server/0070-Add-World-Util-Methods.patch
+++ b/patches/server/0069-Add-World-Util-Methods.patch
diff --git a/patches/server/0071-Custom-replacement-for-eaten-items.patch b/patches/server/0070-Custom-replacement-for-eaten-items.patch
index 19948631fa..c44df3eced 100644
--- a/patches/server/0071-Custom-replacement-for-eaten-items.patch
+++ b/patches/server/0070-Custom-replacement-for-eaten-items.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Custom replacement for eaten items
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 3eeb40c2176a80b9e2a472d43671ae0fe087d9e7..3179fc1b33f503b0cdd462ad160edee760b5a7eb 100644
+index 0a573b188111e84290317f2ce5620b6ea6c8b6de..13da8e684172f9f95fbcb63a322b559b733f2469 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3698,10 +3698,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3711,10 +3711,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.triggerItemUseEffects(this.useItem, 16);
// CraftBukkit start - fire PlayerItemConsumeEvent
ItemStack itemstack;
@@ -21,7 +21,7 @@ index 3eeb40c2176a80b9e2a472d43671ae0fe087d9e7..3179fc1b33f503b0cdd462ad160edee7
this.level().getCraftServer().getPluginManager().callEvent(event);
if (event.isCancelled()) {
-@@ -3715,6 +3716,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3728,6 +3729,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
} else {
itemstack = this.useItem.finishUsingItem(this.level(), this);
}
@@ -34,7 +34,7 @@ index 3eeb40c2176a80b9e2a472d43671ae0fe087d9e7..3179fc1b33f503b0cdd462ad160edee7
// CraftBukkit end
if (itemstack != this.useItem) {
-@@ -3722,6 +3729,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3735,6 +3742,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.stopUsingItem();
diff --git a/patches/server/0072-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0071-handle-NaN-health-absorb-values-and-repair-bad-data.patch
index fc8065c945..47da543ce4 100644
--- a/patches/server/0072-handle-NaN-health-absorb-values-and-repair-bad-data.patch
+++ b/patches/server/0071-handle-NaN-health-absorb-values-and-repair-bad-data.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] handle NaN health/absorb values and repair bad data
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 3179fc1b33f503b0cdd462ad160edee760b5a7eb..428a9d21b24e9c349bf766c16172ffd904f3b6a5 100644
+index 13da8e684172f9f95fbcb63a322b559b733f2469..406559f3a493e1be0d2bee8a6f3cc79668e2bb38 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -793,7 +793,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -794,7 +794,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
@Override
public void readAdditionalSaveData(CompoundTag nbt) {
@@ -23,7 +23,7 @@ index 3179fc1b33f503b0cdd462ad160edee760b5a7eb..428a9d21b24e9c349bf766c16172ffd9
if (nbt.contains("Attributes", 9) && this.level() != null && !this.level().isClientSide) {
this.getAttributes().load(nbt.getList("Attributes", 10));
}
-@@ -1343,6 +1349,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1344,6 +1350,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
public void setHealth(float health) {
@@ -34,7 +34,7 @@ index 3179fc1b33f503b0cdd462ad160edee760b5a7eb..428a9d21b24e9c349bf766c16172ffd9
// CraftBukkit start - Handle scaled health
if (this instanceof ServerPlayer) {
org.bukkit.craftbukkit.entity.CraftPlayer player = ((ServerPlayer) this).getBukkitEntity();
-@@ -3531,7 +3541,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3544,7 +3554,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
public final void setAbsorptionAmount(float absorptionAmount) {
@@ -44,10 +44,10 @@ index 3179fc1b33f503b0cdd462ad160edee760b5a7eb..428a9d21b24e9c349bf766c16172ffd9
protected void internalSetAbsorptionAmount(float absorptionAmount) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 8be468cb5305c0db5f46298aaf6c896b27ce4aee..af0b3ea4bdb474d15c3e0a8ad8e1d23abc4c3413 100644
+index b6851bd629c4d3b9aa7efdf1112e1cf59cd63f60..b79aea8ae49a4edbb45f0824535fd38d3686e67b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2207,6 +2207,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2258,6 +2258,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setRealHealth(double health) {
diff --git a/patches/server/0073-Use-a-Shared-Random-for-Entities.patch b/patches/server/0072-Use-a-Shared-Random-for-Entities.patch
index c5c3e67cfe..38fbe5985f 100644
--- a/patches/server/0073-Use-a-Shared-Random-for-Entities.patch
+++ b/patches/server/0072-Use-a-Shared-Random-for-Entities.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Use a Shared Random for Entities
Reduces memory usage and provides ensures more randomness, Especially since a lot of garbage entity objects get created.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index c4168fa278dacf9f50058bb7dc98bb12aef717f2..b5138df02005e30c1788c97bd9dcbcf2c5fb5d34 100644
+index e7157ff6cd6f2c52593bba63129fdaa60fcbf886..dba9588d9c8b1291ec8fe401e4990f4750b790db 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -165,6 +165,79 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
diff --git a/patches/server/0074-Configurable-spawn-chances-for-skeleton-horses.patch b/patches/server/0073-Configurable-spawn-chances-for-skeleton-horses.patch
index d7d438869c..604e850fb3 100644
--- a/patches/server/0074-Configurable-spawn-chances-for-skeleton-horses.patch
+++ b/patches/server/0073-Configurable-spawn-chances-for-skeleton-horses.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable spawn chances for skeleton horses
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 4b6fc197c6e0544f2ec993ea863e9dd560b05f11..22f6260ffa7b9fb2f5f226e505e81b3e29760437 100644
+index c9113f7e0d9e1b9861f667c40e2702c6bb1d4e53..a127acc6c44bfd078e06c74b408d62df6e85d1fe 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -614,7 +614,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
diff --git a/patches/server/0075-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/patches/server/0074-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
index 1f83f8eee2..1f83f8eee2 100644
--- a/patches/server/0075-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
+++ b/patches/server/0074-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
diff --git a/patches/server/0076-Entity-AddTo-RemoveFrom-World-Events.patch b/patches/server/0075-Entity-AddTo-RemoveFrom-World-Events.patch
index 61e1e7d0ae..953744dca3 100644
--- a/patches/server/0076-Entity-AddTo-RemoveFrom-World-Events.patch
+++ b/patches/server/0075-Entity-AddTo-RemoveFrom-World-Events.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Entity AddTo/RemoveFrom World Events
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index b4fdcfa28347beafe75339782d6e0cd7fc0b6256..f5c271c604dc74d9d82b44591ffc09e04567e3ab 100644
+index 5975cc2fa72609ea5f3e6f99155d6e5bc321a321..0da9a1f428e2fa412de08296e1bafaea0ddd05d0 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2161,6 +2161,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
diff --git a/patches/server/0077-Configurable-Chunk-Inhabited-Time.patch b/patches/server/0076-Configurable-Chunk-Inhabited-Time.patch
index e803f0aa2e..e803f0aa2e 100644
--- a/patches/server/0077-Configurable-Chunk-Inhabited-Time.patch
+++ b/patches/server/0076-Configurable-Chunk-Inhabited-Time.patch
diff --git a/patches/server/0078-EntityPathfindEvent.patch b/patches/server/0077-EntityPathfindEvent.patch
index c262d243bd..c262d243bd 100644
--- a/patches/server/0078-EntityPathfindEvent.patch
+++ b/patches/server/0077-EntityPathfindEvent.patch
diff --git a/patches/server/0079-Sanitise-RegionFileCache-and-make-configurable.patch b/patches/server/0078-Sanitise-RegionFileCache-and-make-configurable.patch
index 23c86e3bd0..23c86e3bd0 100644
--- a/patches/server/0079-Sanitise-RegionFileCache-and-make-configurable.patch
+++ b/patches/server/0078-Sanitise-RegionFileCache-and-make-configurable.patch
diff --git a/patches/server/0080-Do-not-load-chunks-for-Pathfinding.patch b/patches/server/0079-Do-not-load-chunks-for-Pathfinding.patch
index 3dfd3d8f38..3dfd3d8f38 100644
--- a/patches/server/0080-Do-not-load-chunks-for-Pathfinding.patch
+++ b/patches/server/0079-Do-not-load-chunks-for-Pathfinding.patch
diff --git a/patches/server/0081-Add-PlayerUseUnknownEntityEvent.patch b/patches/server/0080-Add-PlayerUseUnknownEntityEvent.patch
index 42ca250ed8..2c0bfdcfa8 100644
--- a/patches/server/0081-Add-PlayerUseUnknownEntityEvent.patch
+++ b/patches/server/0080-Add-PlayerUseUnknownEntityEvent.patch
@@ -28,7 +28,7 @@ index 644a0fdea6576647539b96528717dbaeab498d93..221e64a66ff12a8de5c75992fc26a54a
+ // Paper end - PlayerUseUnknownEntityEvent
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 04e68886a5385234701962f2502948052074515e..369a34e76ca7aff97cb4258fb5e5503450f0e357 100644
+index dedd0aa332412eec5f976959b67da5405d980ded..c1c1abd45cae5f1fe010e73199e4b228f919c6a6 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2400,7 +2400,26 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -59,10 +59,10 @@ index 04e68886a5385234701962f2502948052074515e..369a34e76ca7aff97cb4258fb5e55034
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index a0dc52c805a82e267b66502a480cf76bc82a20d4..5d78797792977da434717d510004a548f461e6aa 100644
+index da100f451238a093bcaad83343a79254d4aa31ce..b48c07a49f39e303bc5d1faed0c444b6f0118054 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1888,4 +1888,14 @@ public class CraftEventFactory {
+@@ -1833,4 +1833,14 @@ public class CraftEventFactory {
Bukkit.getPluginManager().callEvent(event);
return event;
}
diff --git a/patches/server/0082-Configurable-random-tick-rates-for-blocks.patch b/patches/server/0081-Configurable-random-tick-rates-for-blocks.patch
index 1b4e70611e..1b4e70611e 100644
--- a/patches/server/0082-Configurable-random-tick-rates-for-blocks.patch
+++ b/patches/server/0081-Configurable-random-tick-rates-for-blocks.patch
diff --git a/patches/server/0083-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch b/patches/server/0082-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch
index 164408279e..34040f336e 100644
--- a/patches/server/0083-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch
+++ b/patches/server/0082-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix Cancelling BlockPlaceEvent triggering physics
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index f5c271c604dc74d9d82b44591ffc09e04567e3ab..dcf2b9820eb9ad92dc7dc559e509a694d3949f02 100644
+index 0da9a1f428e2fa412de08296e1bafaea0ddd05d0..ddab865f4237b91020f3c5f9726d93f8dbf0eda6 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1384,6 +1384,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
diff --git a/patches/server/0084-Optimize-DataBits.patch b/patches/server/0083-Optimize-DataBits.patch
index 26c1e4f903..26c1e4f903 100644
--- a/patches/server/0084-Optimize-DataBits.patch
+++ b/patches/server/0083-Optimize-DataBits.patch
diff --git a/patches/server/0085-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/patches/server/0084-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
index b6c2dcf1d9..b6c2dcf1d9 100644
--- a/patches/server/0085-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
+++ b/patches/server/0084-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
diff --git a/patches/server/0086-Configurable-Player-Collision.patch b/patches/server/0085-Configurable-Player-Collision.patch
index 481f34f9ff..61efd80be7 100644
--- a/patches/server/0086-Configurable-Player-Collision.patch
+++ b/patches/server/0085-Configurable-Player-Collision.patch
@@ -18,7 +18,7 @@ index 3d2a689d11bfa230bab61a2a65c6051328f6b78d..cf31771648549ab6d7e4e38b30409ca4
buf.writeComponent(this.playerPrefix);
buf.writeComponent(this.playerSuffix);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 36de11970c3cb605357ec5c49d0654a43263bc00..2ce3a54a63b207940690508a277fae39baa032c3 100644
+index a4df17bf15ac8e427039428f947df4f08c746de6..866ff31a6057eda7612cfa48c0028fb988deed64 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -622,6 +622,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0087-Add-handshake-event-to-allow-plugins-to-handle-clien.patch b/patches/server/0086-Add-handshake-event-to-allow-plugins-to-handle-clien.patch
index b368b4d286..b368b4d286 100644
--- a/patches/server/0087-Add-handshake-event-to-allow-plugins-to-handle-clien.patch
+++ b/patches/server/0086-Add-handshake-event-to-allow-plugins-to-handle-clien.patch
diff --git a/patches/server/0088-Configurable-RCON-IP-address.patch b/patches/server/0087-Configurable-RCON-IP-address.patch
index f1088bf865..f1088bf865 100644
--- a/patches/server/0088-Configurable-RCON-IP-address.patch
+++ b/patches/server/0087-Configurable-RCON-IP-address.patch
diff --git a/patches/server/0089-EntityRegainHealthEvent-isFastRegen-API.patch b/patches/server/0088-EntityRegainHealthEvent-isFastRegen-API.patch
index 99f0670424..5b69457aa9 100644
--- a/patches/server/0089-EntityRegainHealthEvent-isFastRegen-API.patch
+++ b/patches/server/0088-EntityRegainHealthEvent-isFastRegen-API.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] EntityRegainHealthEvent isFastRegen API
Don't even get me started
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 428a9d21b24e9c349bf766c16172ffd904f3b6a5..fad14002768e55f5b300d1829f16b3d7b7504bf6 100644
+index 406559f3a493e1be0d2bee8a6f3cc79668e2bb38..9b55a2b2863c546e88f1bfa9014eb84fd317f3c8 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -1322,10 +1322,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1323,10 +1323,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
public void heal(float f, EntityRegainHealthEvent.RegainReason regainReason) {
diff --git a/patches/server/0090-Add-ability-to-configure-frosted_ice-properties.patch b/patches/server/0089-Add-ability-to-configure-frosted_ice-properties.patch
index 239b963ea6..239b963ea6 100644
--- a/patches/server/0090-Add-ability-to-configure-frosted_ice-properties.patch
+++ b/patches/server/0089-Add-ability-to-configure-frosted_ice-properties.patch
diff --git a/patches/server/0091-remove-null-possibility-for-getServer-singleton.patch b/patches/server/0090-remove-null-possibility-for-getServer-singleton.patch
index 5d83e9eede..928828b9e7 100644
--- a/patches/server/0091-remove-null-possibility-for-getServer-singleton.patch
+++ b/patches/server/0090-remove-null-possibility-for-getServer-singleton.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] remove null possibility for getServer singleton
to stop IDE complaining about potential NPE
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 2ce3a54a63b207940690508a277fae39baa032c3..712157ed10bff3ea5bc348623c4539990dbfc6fa 100644
+index 866ff31a6057eda7612cfa48c0028fb988deed64..2c500fed04982c502b3e6fb1687b38bfaaa37f69 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -190,6 +190,7 @@ import co.aikar.timings.MinecraftTimings; // Paper
diff --git a/patches/server/0092-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch b/patches/server/0091-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch
index ca99379663..ca99379663 100644
--- a/patches/server/0092-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch
+++ b/patches/server/0091-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch
diff --git a/patches/server/0093-LootTable-API-and-replenishable-lootables.patch b/patches/server/0092-LootTable-API-and-replenishable-lootables.patch
index 57a27d0768..2f441da2cc 100644
--- a/patches/server/0093-LootTable-API-and-replenishable-lootables.patch
+++ b/patches/server/0092-LootTable-API-and-replenishable-lootables.patch
@@ -504,7 +504,7 @@ index 0000000000000000000000000000000000000000..9cfa5d36a6991067a3866e0d437749fa
+ }
+}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index b5138df02005e30c1788c97bd9dcbcf2c5fb5d34..a914d2906ae7433164d7f439a0f2f0d781b14747 100644
+index dba9588d9c8b1291ec8fe401e4990f4750b790db..158d830e7615ed396f7edd6b82daa4e4f876c894 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -238,6 +238,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
diff --git a/patches/server/0094-System-property-for-disabling-watchdoge.patch b/patches/server/0093-System-property-for-disabling-watchdoge.patch
index f789f1a006..22e1b2ab7c 100644
--- a/patches/server/0094-System-property-for-disabling-watchdoge.patch
+++ b/patches/server/0093-System-property-for-disabling-watchdoge.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] System property for disabling watchdoge
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
-index fd3fe8f00981230f1115ad6821a6be9c9f09f7d3..ab3279be007553cface478795ace34e455615c7b 100644
+index 4bfc2f1729e45e36307a98bd69de9c820123cb8e..ce17005f8c255eb3096736ef9f0d1de64b612d79 100644
--- a/src/main/java/org/spigotmc/WatchdogThread.java
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
@@ -61,7 +61,7 @@ public class WatchdogThread extends Thread
diff --git a/patches/server/0095-Async-GameProfileCache-saving.patch b/patches/server/0094-Async-GameProfileCache-saving.patch
index a2b1d603c0..702f554313 100644
--- a/patches/server/0095-Async-GameProfileCache-saving.patch
+++ b/patches/server/0094-Async-GameProfileCache-saving.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Async GameProfileCache saving
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 712157ed10bff3ea5bc348623c4539990dbfc6fa..1429dd8ca37e0b268304b92596fea316706e5c01 100644
+index 2c500fed04982c502b3e6fb1687b38bfaaa37f69..fcaa31ccd6f6e6affaccf76403dbab26e6932571 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -980,7 +980,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -18,7 +18,7 @@ index 712157ed10bff3ea5bc348623c4539990dbfc6fa..1429dd8ca37e0b268304b92596fea316
// Spigot end
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index 10bf1f9237436b68b855fb63b83a4aeeddf0f0c0..726bb3fcb25321d80caa5967cca86733a234b939 100644
+index 88d45e52bc1105c4351ec5be39e3829ecfa8c1b6..590da3a7acef406589e665652ccc46e01cc28e1b 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -242,7 +242,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
diff --git a/patches/server/0096-Optional-TNT-doesn-t-move-in-water.patch b/patches/server/0095-Optional-TNT-doesn-t-move-in-water.patch
index 2eb88ee368..2eb88ee368 100644
--- a/patches/server/0096-Optional-TNT-doesn-t-move-in-water.patch
+++ b/patches/server/0095-Optional-TNT-doesn-t-move-in-water.patch
diff --git a/patches/server/0097-Faster-redstone-torch-rapid-clock-removal.patch b/patches/server/0096-Faster-redstone-torch-rapid-clock-removal.patch
index 8bb76d9c3c..8bb76d9c3c 100644
--- a/patches/server/0097-Faster-redstone-torch-rapid-clock-removal.patch
+++ b/patches/server/0096-Faster-redstone-torch-rapid-clock-removal.patch
diff --git a/patches/server/0098-Add-server-name-parameter.patch b/patches/server/0097-Add-server-name-parameter.patch
index 19c35fe6e6..19c35fe6e6 100644
--- a/patches/server/0098-Add-server-name-parameter.patch
+++ b/patches/server/0097-Add-server-name-parameter.patch
diff --git a/patches/server/0099-Fix-global-sound-handling.patch b/patches/server/0098-Fix-global-sound-handling.patch
index e7c99fa5b6..e7c99fa5b6 100644
--- a/patches/server/0099-Fix-global-sound-handling.patch
+++ b/patches/server/0098-Fix-global-sound-handling.patch
diff --git a/patches/server/0100-Avoid-blocking-on-Network-Manager-creation.patch b/patches/server/0099-Avoid-blocking-on-Network-Manager-creation.patch
index 16784d8691..16784d8691 100644
--- a/patches/server/0100-Avoid-blocking-on-Network-Manager-creation.patch
+++ b/patches/server/0099-Avoid-blocking-on-Network-Manager-creation.patch
diff --git a/patches/server/0101-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch b/patches/server/0100-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch
index c4975570f8..c4975570f8 100644
--- a/patches/server/0101-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch
+++ b/patches/server/0100-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch
diff --git a/patches/server/0102-Add-setting-for-proxy-online-mode-status.patch b/patches/server/0101-Add-setting-for-proxy-online-mode-status.patch
index 327879d17d..424349ba65 100644
--- a/patches/server/0102-Add-setting-for-proxy-online-mode-status.patch
+++ b/patches/server/0101-Add-setting-for-proxy-online-mode-status.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add setting for proxy online mode status
TODO: Add isProxyOnlineMode check to Metrics
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index 726bb3fcb25321d80caa5967cca86733a234b939..1e73010b292b4d46daaa33ea5b9480bf00944390 100644
+index 590da3a7acef406589e665652ccc46e01cc28e1b..c8163a8645248765c0fa6c15bc8c37facdc70dc7 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -557,7 +557,11 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -60,10 +60,10 @@ index 9143ce01650b51e7f6a677c5941ade91a506449f..86c88e81e275d52576122a5083b419e6
} 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 ec7f1845e7d547761efb070bbd91d921f71a0509..edf6fb3db243e4c9b28641504e383f0b03e672d2 100644
+index f69d5e8f22fa8335b19f9e777ddbd33443eb08dc..1bb70e2363b8d046090c8f5853de590fa6777e7d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1821,7 +1821,7 @@ public final class CraftServer implements Server {
+@@ -1833,7 +1833,7 @@ public final class CraftServer implements Server {
if (result == null) {
GameProfile profile = null;
// Only fetch an online UUID in online mode
diff --git a/patches/server/0103-Optimise-BlockState-s-hashCode-equals.patch b/patches/server/0102-Optimise-BlockState-s-hashCode-equals.patch
index b303f4e71f..b303f4e71f 100644
--- a/patches/server/0103-Optimise-BlockState-s-hashCode-equals.patch
+++ b/patches/server/0102-Optimise-BlockState-s-hashCode-equals.patch
diff --git a/patches/server/0104-Configurable-packet-in-spam-threshold.patch b/patches/server/0103-Configurable-packet-in-spam-threshold.patch
index 632d6bbe9b..73f1819cfc 100644
--- a/patches/server/0104-Configurable-packet-in-spam-threshold.patch
+++ b/patches/server/0103-Configurable-packet-in-spam-threshold.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable packet in spam threshold
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index a91ba515265c869529776521345887574e1d4076..4440648589d28d006dee314b6199d005ae17d7f8 100644
+index c1c1abd45cae5f1fe010e73199e4b228f919c6a6..f9581c2f53e7a73b942505be8f00ffc3ac1774a9 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1529,13 +1529,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0105-Configurable-flying-kick-messages.patch b/patches/server/0104-Configurable-flying-kick-messages.patch
index 261f981c0c..055290f358 100644
--- a/patches/server/0105-Configurable-flying-kick-messages.patch
+++ b/patches/server/0104-Configurable-flying-kick-messages.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable flying kick messages
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 4440648589d28d006dee314b6199d005ae17d7f8..63b2028bc880b39e679637228ba86c2cc470490f 100644
+index f9581c2f53e7a73b942505be8f00ffc3ac1774a9..6fec49a0833300ff0e4ef0f22d21480dfac9a2c7 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -338,7 +338,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0106-Add-EntityZapEvent.patch b/patches/server/0105-Add-EntityZapEvent.patch
index ea9e09aba3..4b7810f5ba 100644
--- a/patches/server/0106-Add-EntityZapEvent.patch
+++ b/patches/server/0105-Add-EntityZapEvent.patch
@@ -28,10 +28,10 @@ index 22f7318711041bfc2847d519933c46b9fd523d01..4034b8e7503f611dc9be121d8da2020a
entitywitch.finalizeSpawn(world, world.getCurrentDifficultyAt(entitywitch.blockPosition()), MobSpawnType.CONVERSION, (SpawnGroupData) null, (CompoundTag) null);
entitywitch.setNoAi(this.isNoAi());
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 5d78797792977da434717d510004a548f461e6aa..60c0c8ac706386e089d1a4cbacb5442f63ea05dc 100644
+index b48c07a49f39e303bc5d1faed0c444b6f0118054..96b72d0194ccb1d8198f9a94306ddb1699aa6c06 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1265,6 +1265,14 @@ public class CraftEventFactory {
+@@ -1196,6 +1196,14 @@ public class CraftEventFactory {
return !event.isCancelled();
}
diff --git a/patches/server/0107-Filter-bad-block-entity-nbt-data-from-falling-blocks.patch b/patches/server/0106-Filter-bad-block-entity-nbt-data-from-falling-blocks.patch
index 30f320dca0..6d8cb39694 100644
--- a/patches/server/0107-Filter-bad-block-entity-nbt-data-from-falling-blocks.patch
+++ b/patches/server/0106-Filter-bad-block-entity-nbt-data-from-falling-blocks.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Filter bad block entity nbt data from falling blocks
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
-index 67088152004caeecf4a678618be19419862e7ff1..1b9dfc32ce13dc9ec2fab60750dc1184dbddc5bd 100644
+index ee5ef4fe16ce6397bba30900b9c6690e3c4f51e6..e2f90b822f25bf100eaba0cf4518849f788ee2fa 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
-@@ -334,7 +334,7 @@ public class FallingBlockEntity extends Entity {
+@@ -332,7 +332,7 @@ public class FallingBlockEntity extends Entity {
this.dropItem = nbt.getBoolean("DropItem");
}
diff --git a/patches/server/0108-Cache-user-authenticator-threads.patch b/patches/server/0107-Cache-user-authenticator-threads.patch
index ca76a3254f..ca76a3254f 100644
--- a/patches/server/0108-Cache-user-authenticator-threads.patch
+++ b/patches/server/0107-Cache-user-authenticator-threads.patch
diff --git a/patches/server/0109-Allow-Reloading-of-Command-Aliases.patch b/patches/server/0108-Allow-Reloading-of-Command-Aliases.patch
index 8c28809892..139cd4051d 100644
--- a/patches/server/0109-Allow-Reloading-of-Command-Aliases.patch
+++ b/patches/server/0108-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 edf6fb3db243e4c9b28641504e383f0b03e672d2..1983650dbbb634472e81984960b857f1e87b26b8 100644
+index 1bb70e2363b8d046090c8f5853de590fa6777e7d..9978f3ffb3803b7f9278d49a688bc2d4bf740cf3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2742,5 +2742,24 @@ public final class CraftServer implements Server {
+@@ -2754,5 +2754,24 @@ public final class CraftServer implements Server {
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();
}
diff --git a/patches/server/0110-Add-source-to-PlayerExpChangeEvent.patch b/patches/server/0109-Add-source-to-PlayerExpChangeEvent.patch
index 6a7a0c2b36..9d09ace4ca 100644
--- a/patches/server/0110-Add-source-to-PlayerExpChangeEvent.patch
+++ b/patches/server/0109-Add-source-to-PlayerExpChangeEvent.patch
@@ -18,10 +18,10 @@ index 79943167c7e16111a81ff608fd9ed6c06bcb9468..59bad6c92cc421dd05c7315e2ab694a6
--this.count;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 18cd6963863d030e3c360f5e00e8786f28ee04b9..0cadc81bfd86a1bcd4ec1d7a793c548cad7d8a9b 100644
+index 96b72d0194ccb1d8198f9a94306ddb1699aa6c06..85340e48507cdb44d494e5cc6054560c61dddff9 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1218,6 +1218,17 @@ public class CraftEventFactory {
+@@ -1149,6 +1149,17 @@ public class CraftEventFactory {
return event;
}
diff --git a/patches/server/0111-Add-ProjectileCollideEvent.patch b/patches/server/0110-Add-ProjectileCollideEvent.patch
index fd0c0df651..1a501079ca 100644
--- a/patches/server/0111-Add-ProjectileCollideEvent.patch
+++ b/patches/server/0110-Add-ProjectileCollideEvent.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add ProjectileCollideEvent
Deprecated now and replaced with ProjectileHitEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 0cadc81bfd86a1bcd4ec1d7a793c548cad7d8a9b..848bcabb5922c99ee78cb541c87b464cea032749 100644
+index 85340e48507cdb44d494e5cc6054560c61dddff9..d461f56cbc64efba422d748c42ec106f84423833 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1362,6 +1362,17 @@ public class CraftEventFactory {
+@@ -1293,6 +1293,17 @@ public class CraftEventFactory {
return CraftItemStack.asNMSCopy(bitem);
}
@@ -27,7 +27,7 @@ index 0cadc81bfd86a1bcd4ec1d7a793c548cad7d8a9b..848bcabb5922c99ee78cb541c87b464c
public static ProjectileLaunchEvent callProjectileLaunchEvent(Entity entity) {
Projectile bukkitEntity = (Projectile) entity.getBukkitEntity();
ProjectileLaunchEvent event = new ProjectileLaunchEvent(bukkitEntity);
-@@ -1386,8 +1397,15 @@ public class CraftEventFactory {
+@@ -1317,8 +1328,15 @@ public class CraftEventFactory {
if (position.getType() == HitResult.Type.ENTITY) {
hitEntity = ((EntityHitResult) position).getEntity().getBukkitEntity();
}
diff --git a/patches/server/0112-Prevent-Pathfinding-out-of-World-Border.patch b/patches/server/0111-Prevent-Pathfinding-out-of-World-Border.patch
index f473b6a56e..f473b6a56e 100644
--- a/patches/server/0112-Prevent-Pathfinding-out-of-World-Border.patch
+++ b/patches/server/0111-Prevent-Pathfinding-out-of-World-Border.patch
diff --git a/patches/server/0113-Optimize-Level.hasChunkAt-BlockPosition-Z.patch b/patches/server/0112-Optimize-Level.hasChunkAt-BlockPosition-Z.patch
index 16a0ca9ffb..16a0ca9ffb 100644
--- a/patches/server/0113-Optimize-Level.hasChunkAt-BlockPosition-Z.patch
+++ b/patches/server/0112-Optimize-Level.hasChunkAt-BlockPosition-Z.patch
diff --git a/patches/server/0114-Bound-Treasure-Maps-to-World-Border.patch b/patches/server/0113-Bound-Treasure-Maps-to-World-Border.patch
index 99e596d2e8..99e596d2e8 100644
--- a/patches/server/0114-Bound-Treasure-Maps-to-World-Border.patch
+++ b/patches/server/0113-Bound-Treasure-Maps-to-World-Border.patch
diff --git a/patches/server/0115-Configurable-Cartographer-Treasure-Maps.patch b/patches/server/0114-Configurable-Cartographer-Treasure-Maps.patch
index 61fc245ddd..61fc245ddd 100644
--- a/patches/server/0115-Configurable-Cartographer-Treasure-Maps.patch
+++ b/patches/server/0114-Configurable-Cartographer-Treasure-Maps.patch
diff --git a/patches/server/0116-Add-API-methods-to-control-if-armor-stands-can-move.patch b/patches/server/0115-Add-API-methods-to-control-if-armor-stands-can-move.patch
index d2511f7abe..d2511f7abe 100644
--- a/patches/server/0116-Add-API-methods-to-control-if-armor-stands-can-move.patch
+++ b/patches/server/0115-Add-API-methods-to-control-if-armor-stands-can-move.patch
diff --git a/patches/server/0117-String-based-Action-Bar-API.patch b/patches/server/0116-String-based-Action-Bar-API.patch
index c075009575..e26a398631 100644
--- a/patches/server/0117-String-based-Action-Bar-API.patch
+++ b/patches/server/0116-String-based-Action-Bar-API.patch
@@ -26,10 +26,10 @@ index cb88a3a4e4c87a6d6c838183c1640b13d82c9344..0b391b0dc6262ef482c4a253a074b593
// Paper end
buf.writeComponent(this.text);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index bfbd69635c4a2565cc9a72147ff9585efe40e861..53d33699b8389a46d27e897b1c24fb250ae025f8 100644
+index b79aea8ae49a4edbb45f0824535fd38d3686e67b..3d3927503dd7f157b59853c570ace002b7e07c25 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -301,6 +301,29 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -307,6 +307,29 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper start
diff --git a/patches/server/0118-Properly-fix-item-duplication-bug.patch b/patches/server/0117-Properly-fix-item-duplication-bug.patch
index 6c85bd6ab9..47c56686b2 100644
--- a/patches/server/0118-Properly-fix-item-duplication-bug.patch
+++ b/patches/server/0117-Properly-fix-item-duplication-bug.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Properly fix item duplication bug
Credit to prplz for figuring out the real issue
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 7e777ab6998203e031fb8387b1521bff3d86f11a..5197fc02a080c3f603030d5c4fa59e10f8c0e3b6 100644
+index 429f3ed00c0c6d7c89138aa9a4b770e3e68b7ed7..f1f090b7d9ac21f6430756ddb02b734f7dda0c7c 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2451,7 +2451,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0119-Firework-API-s.patch b/patches/server/0118-Firework-API-s.patch
index fa27f134b7..ae36b2bdc6 100644
--- a/patches/server/0119-Firework-API-s.patch
+++ b/patches/server/0118-Firework-API-s.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Firework API's
public net.minecraft.world.entity.projectile.FireworkRocketEntity attachedToEntity
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
-index 36f096001d2df5e3cae921cf1f08473e51e91a19..b2f08889139dc447f7071f1c81456035bf8de31e 100644
+index 764c15e6e35c358f0d04d15c20cf8f382f77c419..7005b3a26e9b5d79064981a4a41bee21b65a9fc3 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
-@@ -38,6 +38,7 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
+@@ -37,6 +37,7 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
public int lifetime;
@Nullable
public LivingEntity attachedToEntity;
@@ -18,7 +18,7 @@ index 36f096001d2df5e3cae921cf1f08473e51e91a19..b2f08889139dc447f7071f1c81456035
public FireworkRocketEntity(EntityType<? extends FireworkRocketEntity> type, Level world) {
super(type, world);
-@@ -317,6 +318,11 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
+@@ -312,6 +313,11 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
}
nbt.putBoolean("ShotAtAngle", (Boolean) this.entityData.get(FireworkRocketEntity.DATA_SHOT_AT_ANGLE));
@@ -30,7 +30,7 @@ index 36f096001d2df5e3cae921cf1f08473e51e91a19..b2f08889139dc447f7071f1c81456035
}
@Override
-@@ -333,7 +339,11 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
+@@ -328,7 +334,11 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
if (nbt.contains("ShotAtAngle")) {
this.entityData.set(FireworkRocketEntity.DATA_SHOT_AT_ANGLE, nbt.getBoolean("ShotAtAngle"));
}
diff --git a/patches/server/0120-PlayerTeleportEndGatewayEvent.patch b/patches/server/0119-PlayerTeleportEndGatewayEvent.patch
index 1f2d258cb4..1f2d258cb4 100644
--- a/patches/server/0120-PlayerTeleportEndGatewayEvent.patch
+++ b/patches/server/0119-PlayerTeleportEndGatewayEvent.patch
diff --git a/patches/server/0121-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/server/0120-Provide-E-TE-Chunk-count-stat-methods.patch
index e5f350017b..4a70577b2e 100644
--- a/patches/server/0121-Provide-E-TE-Chunk-count-stat-methods.patch
+++ b/patches/server/0120-Provide-E-TE-Chunk-count-stat-methods.patch
@@ -20,10 +20,10 @@ index e4a2afc20efcfd7a6107dc56217ae8451dd5a7d6..0045016cd22c34168c4ae5f2fe951d53
private final List<TickingBlockEntity> pendingBlockEntityTickers = Lists.newArrayList();
private boolean tickingBlockEntities;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index b2632cbc7903e23eb68e9901df039f5d8293bd77..e6b104e57381343f08a0a2a7b2e3a81b6ddadda4 100644
+index 8ff8d8174cd32d25b33c2e773d30c474b4e903d3..07aac886235e18a29420c494380e6b26bfa8f36e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -157,6 +157,56 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -163,6 +163,56 @@ public class CraftWorld extends CraftRegionAccessor implements World {
private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftWorld.DATA_TYPE_REGISTRY);
private net.kyori.adventure.pointer.Pointers adventure$pointers; // Paper - implement pointers
diff --git a/patches/server/0122-Enforce-Sync-Player-Saves.patch b/patches/server/0121-Enforce-Sync-Player-Saves.patch
index 3a87480826..3a87480826 100644
--- a/patches/server/0122-Enforce-Sync-Player-Saves.patch
+++ b/patches/server/0121-Enforce-Sync-Player-Saves.patch
diff --git a/patches/server/0123-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/patches/server/0122-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
index 16a57c51f8..60cce7817d 100644
--- a/patches/server/0123-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
+++ b/patches/server/0122-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
@@ -127,10 +127,10 @@ index 59bad6c92cc421dd05c7315e2ab694a669433ab4..ae70ad9d6c02fcb5631a3c45db283b29
@Override
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index fad14002768e55f5b300d1829f16b3d7b7504bf6..ed8e0f5ca865dcde73a886e65f0fd1d7d4e7ac05 100644
+index 9b55a2b2863c546e88f1bfa9014eb84fd317f3c8..6ac549316d056a0de02e062fd4a28d7ac02a9d98 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -1786,7 +1786,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1787,7 +1787,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
protected void dropExperience() {
// CraftBukkit start - Update getExpReward() above if the removed if() changes!
if (true && !(this instanceof net.minecraft.world.entity.boss.enderdragon.EnderDragon)) { // CraftBukkit - SPIGOT-2420: Special case ender dragon will drop the xp over time
@@ -186,10 +186,10 @@ index 335249181f34bfe8b0e359c591e4eae0af63b0fe..8670d8b2a08e96df787a91f36c48df8b
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
-index 83dbf663cd725adcbcfee4ac633f369240375381..0dab0da65788720e56a568918de458ab7195ef5c 100644
+index 5385f0a1d0c5522a94e2a5ded779d68826537883..11322066522a3268063bad7267ef4dd4f06d983e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
-@@ -459,7 +459,7 @@ public class Turtle extends Animal {
+@@ -457,7 +457,7 @@ public class Turtle extends Animal {
RandomSource randomsource = this.animal.getRandom();
if (this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
diff --git a/patches/server/0124-Cap-Entity-Collisions.patch b/patches/server/0123-Cap-Entity-Collisions.patch
index a075418955..3c1709eb9b 100644
--- a/patches/server/0124-Cap-Entity-Collisions.patch
+++ b/patches/server/0123-Cap-Entity-Collisions.patch
@@ -12,7 +12,7 @@ just as it does in Vanilla, but entity pushing logic will be capped.
You can set this to 0 to disable collisions.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index a914d2906ae7433164d7f439a0f2f0d781b14747..05cb13a5636f82d48bf0bd8b9d27abdd80a8df71 100644
+index 158d830e7615ed396f7edd6b82daa4e4f876c894..0a31747076225d1221dce554135cde704c76eec4 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -393,6 +393,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -24,10 +24,10 @@ index a914d2906ae7433164d7f439a0f2f0d781b14747..05cb13a5636f82d48bf0bd8b9d27abdd
@javax.annotation.Nullable
private org.bukkit.util.Vector origin;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index ed8e0f5ca865dcde73a886e65f0fd1d7d4e7ac05..a799b64e9d655e7eba509e9930e623a88bbb0389 100644
+index 6ac549316d056a0de02e062fd4a28d7ac02a9d98..ec862d3a70b9d9f71873a71c1f1d143bc95799ae 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3348,10 +3348,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3361,10 +3361,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
Iterator iterator1 = list.iterator();
diff --git a/patches/server/0125-Remove-CraftScheduler-Async-Task-Debugger.patch b/patches/server/0124-Remove-CraftScheduler-Async-Task-Debugger.patch
index 721f748db6..721f748db6 100644
--- a/patches/server/0125-Remove-CraftScheduler-Async-Task-Debugger.patch
+++ b/patches/server/0124-Remove-CraftScheduler-Async-Task-Debugger.patch
diff --git a/patches/server/0126-Properly-handle-async-calls-to-restart-the-server.patch b/patches/server/0125-Properly-handle-async-calls-to-restart-the-server.patch
index b9529845fa..8096104d81 100644
--- a/patches/server/0126-Properly-handle-async-calls-to-restart-the-server.patch
+++ b/patches/server/0125-Properly-handle-async-calls-to-restart-the-server.patch
@@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result
in corruption/dataloss.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 1429dd8ca37e0b268304b92596fea316706e5c01..5ec728f6000753d517d943562efb55ad2541b01c 100644
+index fcaa31ccd6f6e6affaccf76403dbab26e6932571..1d8e17f4b862e71cc5ef8c5eabfb80dc427aec51 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -236,6 +236,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0127-Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/patches/server/0126-Add-option-to-make-parrots-stay-on-shoulders-despite.patch
index 3bda195d94..3a0dec28f7 100644
--- a/patches/server/0127-Add-option-to-make-parrots-stay-on-shoulders-despite.patch
+++ b/patches/server/0126-Add-option-to-make-parrots-stay-on-shoulders-despite.patch
@@ -14,7 +14,7 @@ To be converted into a Paper-API event at some point in the future?
public net.minecraft.world.entity.player.Player removeEntitiesOnShoulder()V
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 63b2028bc880b39e679637228ba86c2cc470490f..2f34ff72f8932a8cac9af48003dfa505f19f07d0 100644
+index 6fec49a0833300ff0e4ef0f22d21480dfac9a2c7..12cfc3ed36d6eebd477dfd9058b2852e0a0d98eb 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2177,6 +2177,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -32,10 +32,10 @@ index 63b2028bc880b39e679637228ba86c2cc470490f..2f34ff72f8932a8cac9af48003dfa505
case RELEASE_SHIFT_KEY:
this.player.setShiftKeyDown(false);
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index f8d3e195c094ff200c0a7bd8cd4829ef36d328da..a79e0b2d4ba706de0989ef68c87bb29fc1bf08ab 100644
+index 10c2c9d7c7feb878319eb19cd1fb6401da3b9189..6ff0c2107fa0623d30d9159e3c67388faf597440 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -587,6 +587,7 @@ public abstract class Player extends LivingEntity {
+@@ -588,6 +588,7 @@ public abstract class Player extends LivingEntity {
this.playShoulderEntityAmbientSound(this.getShoulderEntityLeft());
this.playShoulderEntityAmbientSound(this.getShoulderEntityRight());
if (!this.level().isClientSide && (this.fallDistance > 0.5F || this.isInWater()) || this.abilities.flying || this.isSleeping() || this.isInPowderSnow) {
diff --git a/patches/server/0128-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/server/0127-Add-configuration-option-to-prevent-player-names-fro.patch
index ffce53987c..0c9e8ad802 100644
--- a/patches/server/0128-Add-configuration-option-to-prevent-player-names-fro.patch
+++ b/patches/server/0127-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/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 1983650dbbb634472e81984960b857f1e87b26b8..fd8733b602e4711a3b57fb3c8c313a9035f15df0 100644
+index 9978f3ffb3803b7f9278d49a688bc2d4bf740cf3..827579f59d34b61912a67b40624f0f41524185fd 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2761,5 +2761,10 @@ public final class CraftServer implements Server {
+@@ -2773,5 +2773,10 @@ public final class CraftServer implements Server {
commandMap.registerServerAliases();
return true;
}
diff --git a/patches/server/0129-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0128-Use-TerminalConsoleAppender-for-console-improvements.patch
index 3912c54586..be1dff00d0 100644
--- a/patches/server/0129-Use-TerminalConsoleAppender-for-console-improvements.patch
+++ b/patches/server/0128-Use-TerminalConsoleAppender-for-console-improvements.patch
@@ -250,7 +250,7 @@ index 8323f135d6bf2e1f12525e05094ffa3f2420e7e1..a143ea1e58464a3122fbd8ccafe417bd
}
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 5ec728f6000753d517d943562efb55ad2541b01c..dad61777658cafaaae56928f3492075067149fd8 100644
+index 1d8e17f4b862e71cc5ef8c5eabfb80dc427aec51..6587cd9ea257d0f6f1308ea8ca4d0245178b2870 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -155,7 +155,7 @@ import org.slf4j.Logger;
@@ -308,7 +308,7 @@ index 5ec728f6000753d517d943562efb55ad2541b01c..dad61777658cafaaae56928f34920750
public KeyPair getKeyPair() {
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index 1e73010b292b4d46daaa33ea5b9480bf00944390..6aede562955799fae90a1234b6300ba3a91ba2f2 100644
+index c8163a8645248765c0fa6c15bc8c37facdc70dc7..8edf2f049aa077792bfb507384f4cf5bb716cb64 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -98,6 +98,9 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -386,7 +386,7 @@ index 40af2325afea3e4831a9d8795ce1932a6a5663bf..db4480778e4b917a073c61f29cd45663
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 30ef05974f5645e0769cb1604290a4c8045501c8..883c053baea5968a978f1619ebb170647fe15eef 100644
+index 827579f59d34b61912a67b40624f0f41524185fd..f7d937c6a11e24afe767411428210f3c042a6f78 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -42,7 +42,7 @@ import java.util.logging.Level;
@@ -398,7 +398,7 @@ index 30ef05974f5645e0769cb1604290a4c8045501c8..883c053baea5968a978f1619ebb17064
import net.minecraft.advancements.AdvancementHolder;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.commands.Commands;
-@@ -1329,9 +1329,13 @@ public final class CraftServer implements Server {
+@@ -1341,9 +1341,13 @@ public final class CraftServer implements Server {
return this.logger;
}
diff --git a/patches/server/0130-provide-a-configurable-option-to-disable-creeper-lin.patch b/patches/server/0129-provide-a-configurable-option-to-disable-creeper-lin.patch
index 6b82339bcc..6b82339bcc 100644
--- a/patches/server/0130-provide-a-configurable-option-to-disable-creeper-lin.patch
+++ b/patches/server/0129-provide-a-configurable-option-to-disable-creeper-lin.patch
diff --git a/patches/server/0131-Item-canEntityPickup.patch b/patches/server/0130-Item-canEntityPickup.patch
index 89bfcac35f..24f6e98a31 100644
--- a/patches/server/0131-Item-canEntityPickup.patch
+++ b/patches/server/0130-Item-canEntityPickup.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Item#canEntityPickup
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
-index 3fcd93f6d5a7553b032b44e7e919838ad2120dc9..15ad425b9c091ee27965fe166f9021509199aa18 100644
+index fa5d8a041858d17c785f033dd2aa3ab242069749..bb051d73a048b0a8ce245914f3564e39702b8452 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -670,6 +670,11 @@ public abstract class Mob extends LivingEntity implements Targeting {
diff --git a/patches/server/0132-PlayerPickupItemEvent-setFlyAtPlayer.patch b/patches/server/0131-PlayerPickupItemEvent-setFlyAtPlayer.patch
index ced79db4dd..ced79db4dd 100644
--- a/patches/server/0132-PlayerPickupItemEvent-setFlyAtPlayer.patch
+++ b/patches/server/0131-PlayerPickupItemEvent-setFlyAtPlayer.patch
diff --git a/patches/server/0133-PlayerAttemptPickupItemEvent.patch b/patches/server/0132-PlayerAttemptPickupItemEvent.patch
index 55df96a705..55df96a705 100644
--- a/patches/server/0133-PlayerAttemptPickupItemEvent.patch
+++ b/patches/server/0132-PlayerAttemptPickupItemEvent.patch
diff --git a/patches/server/0134-Do-not-submit-profile-lookups-to-worldgen-threads.patch b/patches/server/0133-Do-not-submit-profile-lookups-to-worldgen-threads.patch
index 144dfef087..144dfef087 100644
--- a/patches/server/0134-Do-not-submit-profile-lookups-to-worldgen-threads.patch
+++ b/patches/server/0133-Do-not-submit-profile-lookups-to-worldgen-threads.patch
diff --git a/patches/server/0135-Basic-PlayerProfile-API.patch b/patches/server/0134-Basic-PlayerProfile-API.patch
index 9f1c39496a..84b49f7cf9 100644
--- a/patches/server/0135-Basic-PlayerProfile-API.patch
+++ b/patches/server/0134-Basic-PlayerProfile-API.patch
@@ -546,7 +546,7 @@ index 0000000000000000000000000000000000000000..7ac27392a8647ef7d0dc78efe78703e9
+ @NotNull GameProfile buildGameProfile();
+}
diff --git a/src/main/java/io/papermc/paper/util/MCUtil.java b/src/main/java/io/papermc/paper/util/MCUtil.java
-index 7ae65f05eb2219a63a108728e4137b245775d08b..b08190d604f7f95f771a4da115cc50c38c5f1691 100644
+index 8ebef203d1e2584aed61bd61a93e231416eda749..36c0215a1ebc9372e5f355ecbe34fc1aaefd6903 100644
--- a/src/main/java/io/papermc/paper/util/MCUtil.java
+++ b/src/main/java/io/papermc/paper/util/MCUtil.java
@@ -1,5 +1,7 @@
@@ -612,10 +612,10 @@ index adb472c175cc6f6ced7075a37423d6c898fd5ccb..1ec0f3a7148c2f412421772f6e1dff0b
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 b9c23e03577724459b87bf9f0c5b93f593515b5a..11111b1015d362b35cbb6d35bee91c3c130e7cc7 100644
+index f7d937c6a11e24afe767411428210f3c042a6f78..eb3bb76cf141991acd6a384bf461719de8392754 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -260,6 +260,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
+@@ -262,6 +262,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
import net.md_5.bungee.api.chat.BaseComponent; // Spigot
@@ -625,7 +625,7 @@ index b9c23e03577724459b87bf9f0c5b93f593515b5a..11111b1015d362b35cbb6d35bee91c3c
public final class CraftServer implements Server {
private final String serverName = "Paper"; // Paper
private final String serverVersion;
-@@ -303,6 +306,7 @@ public final class CraftServer implements Server {
+@@ -305,6 +308,7 @@ public final class CraftServer implements Server {
static {
ConfigurationSerialization.registerClass(CraftOfflinePlayer.class);
ConfigurationSerialization.registerClass(CraftPlayerProfile.class);
@@ -633,7 +633,7 @@ index b9c23e03577724459b87bf9f0c5b93f593515b5a..11111b1015d362b35cbb6d35bee91c3c
CraftItemFactory.instance();
}
-@@ -2770,5 +2774,42 @@ public final class CraftServer implements Server {
+@@ -2782,5 +2786,42 @@ public final class CraftServer implements Server {
public boolean suggestPlayerNamesWhenNullTabCompletions() {
return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions;
}
diff --git a/patches/server/0136-Add-UnknownCommandEvent.patch b/patches/server/0135-Add-UnknownCommandEvent.patch
index c5c7d0af95..032fb0b09f 100644
--- a/patches/server/0136-Add-UnknownCommandEvent.patch
+++ b/patches/server/0135-Add-UnknownCommandEvent.patch
@@ -100,10 +100,10 @@ index 495a7b713a7ab9c19aad34512b76523bad43b89d..15a5059994371da4850adcf726034a71
return null;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 11111b1015d362b35cbb6d35bee91c3c130e7cc7..46acd80641b2ecafd9f364d7ad9b477b6b2f0289 100644
+index eb3bb76cf141991acd6a384bf461719de8392754..b6e6b4213e893fac64855cc4b4e6eeb4246050d1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -527,6 +527,7 @@ public final class CraftServer implements Server {
+@@ -529,6 +529,7 @@ public final class CraftServer implements Server {
}
node = clone;
}
@@ -111,7 +111,7 @@ index 11111b1015d362b35cbb6d35bee91c3c130e7cc7..46acd80641b2ecafd9f364d7ad9b477b
dispatcher.getDispatcher().getRoot().addChild(node);
} else {
-@@ -899,7 +900,13 @@ public final class CraftServer implements Server {
+@@ -911,7 +912,13 @@ public final class CraftServer implements Server {
// Spigot start
if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) {
diff --git a/patches/server/0137-Shoulder-Entities-Release-API.patch b/patches/server/0136-Shoulder-Entities-Release-API.patch
index 1f43846ac3..4e178e4c6a 100644
--- a/patches/server/0137-Shoulder-Entities-Release-API.patch
+++ b/patches/server/0136-Shoulder-Entities-Release-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Shoulder Entities Release API
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index a79e0b2d4ba706de0989ef68c87bb29fc1bf08ab..2d3c2b2b98b75a0815771a3f9c3bf244091a50b7 100644
+index 6ff0c2107fa0623d30d9159e3c67388faf597440..cd5a4e91ee8da2a2a5d34ecc9a24394e131e79d0 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -1947,20 +1947,45 @@ public abstract class Player extends LivingEntity {
+@@ -1948,20 +1948,45 @@ public abstract class Player extends LivingEntity {
}
diff --git a/patches/server/0138-Profile-Lookup-Events.patch b/patches/server/0137-Profile-Lookup-Events.patch
index 8a3c9a944e..8a3c9a944e 100644
--- a/patches/server/0138-Profile-Lookup-Events.patch
+++ b/patches/server/0137-Profile-Lookup-Events.patch
diff --git a/patches/server/0139-Block-player-logins-during-server-shutdown.patch b/patches/server/0138-Block-player-logins-during-server-shutdown.patch
index 3de7220f12..3de7220f12 100644
--- a/patches/server/0139-Block-player-logins-during-server-shutdown.patch
+++ b/patches/server/0138-Block-player-logins-during-server-shutdown.patch
diff --git a/patches/server/0140-Entity-fromMobSpawner.patch b/patches/server/0139-Entity-fromMobSpawner.patch
index 7fdfeefda9..9b5e7349f6 100644
--- a/patches/server/0140-Entity-fromMobSpawner.patch
+++ b/patches/server/0139-Entity-fromMobSpawner.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Entity#fromMobSpawner()
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 05cb13a5636f82d48bf0bd8b9d27abdd80a8df71..d96fc02a8b84dbcfc17496ca476a5dee8821b785 100644
+index 0a31747076225d1221dce554135cde704c76eec4..6fbde57320a58600f8c4b9ce598fa93bd2772e8b 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -394,6 +394,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -16,7 +16,7 @@ index 05cb13a5636f82d48bf0bd8b9d27abdd80a8df71..d96fc02a8b84dbcfc17496ca476a5dee
// Paper start - Entity origin API
@javax.annotation.Nullable
private org.bukkit.util.Vector origin;
-@@ -2150,6 +2151,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2149,6 +2150,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
nbttagcompound.put("Paper.Origin", this.newDoubleList(origin.getX(), origin.getY(), origin.getZ()));
}
@@ -27,7 +27,7 @@ index 05cb13a5636f82d48bf0bd8b9d27abdd80a8df71..d96fc02a8b84dbcfc17496ca476a5dee
// Paper end
return nbttagcompound;
} catch (Throwable throwable) {
-@@ -2290,6 +2295,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2289,6 +2294,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.originWorld = originWorld;
origin = new org.bukkit.util.Vector(originTag.getDouble(0), originTag.getDouble(1), originTag.getDouble(2));
}
diff --git a/patches/server/0141-Improve-the-Saddle-API-for-Horses.patch b/patches/server/0140-Improve-the-Saddle-API-for-Horses.patch
index c529ffab64..c529ffab64 100644
--- a/patches/server/0141-Improve-the-Saddle-API-for-Horses.patch
+++ b/patches/server/0140-Improve-the-Saddle-API-for-Horses.patch
diff --git a/patches/server/0142-ensureServerConversions-API.patch b/patches/server/0141-ensureServerConversions-API.patch
index 976464eb54..d448c021b9 100644
--- a/patches/server/0142-ensureServerConversions-API.patch
+++ b/patches/server/0141-ensureServerConversions-API.patch
@@ -7,10 +7,10 @@ This will take a Bukkit ItemStack and run it through any conversions a server pr
to ensure it meets latest minecraft expectations.
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index b0ea04fc0bac640f7076100e44c16c03b86b2a0e..7f85121b6830ebf480c5ca7b42d3c835911de836 100644
+index 70511628eefc28163d07f50f18d9cc55dd93d68b..9d34a7cd8361fd65d30537d4498c8e2a03d93bb1 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -229,7 +229,7 @@ public final class ItemStack {
+@@ -230,7 +230,7 @@ public final class ItemStack {
// Called to run this stack through the data converter to handle older storage methods and serialized items
public void convertStack(int version) {
diff --git a/patches/server/0143-Implement-getI18NDisplayName.patch b/patches/server/0142-Implement-getI18NDisplayName.patch
index 0b1d065a44..0b1d065a44 100644
--- a/patches/server/0143-Implement-getI18NDisplayName.patch
+++ b/patches/server/0142-Implement-getI18NDisplayName.patch
diff --git a/patches/server/0144-ProfileWhitelistVerifyEvent.patch b/patches/server/0143-ProfileWhitelistVerifyEvent.patch
index b792b6feaf..b792b6feaf 100644
--- a/patches/server/0144-ProfileWhitelistVerifyEvent.patch
+++ b/patches/server/0143-ProfileWhitelistVerifyEvent.patch
diff --git a/patches/server/0145-Fix-this-stupid-bullshit.patch b/patches/server/0144-Fix-this-stupid-bullshit.patch
index 1abc5b13f3..1abc5b13f3 100644
--- a/patches/server/0145-Fix-this-stupid-bullshit.patch
+++ b/patches/server/0144-Fix-this-stupid-bullshit.patch
diff --git a/patches/server/0146-LivingEntity-setKiller.patch b/patches/server/0145-LivingEntity-setKiller.patch
index 1e88027161..ece70c37de 100644
--- a/patches/server/0146-LivingEntity-setKiller.patch
+++ b/patches/server/0145-LivingEntity-setKiller.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] LivingEntity#setKiller
public net.minecraft.world.entity.LivingEntity lastHurtByPlayerTime
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index c5cc6beca76884fdf8eb7bacb619b4d5dedbd31a..f09064a6721481c202449ff12ba1d54385e24043 100644
+index 4636e1ebf11025a551d398a6594b1506748a8390..82773a05783b731e2f7bd00c8ec68090d15a7b66 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -377,6 +377,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -390,6 +390,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
return this.getHandle().lastHurtByPlayer == null ? null : (Player) this.getHandle().lastHurtByPlayer.getBukkitEntity();
}
diff --git a/patches/server/0147-Ocelot-despawns-should-honor-nametags-and-leash.patch b/patches/server/0146-Ocelot-despawns-should-honor-nametags-and-leash.patch
index a72222c640..a72222c640 100644
--- a/patches/server/0147-Ocelot-despawns-should-honor-nametags-and-leash.patch
+++ b/patches/server/0146-Ocelot-despawns-should-honor-nametags-and-leash.patch
diff --git a/patches/server/0148-Reset-spawner-timer-when-spawner-event-is-cancelled.patch b/patches/server/0147-Reset-spawner-timer-when-spawner-event-is-cancelled.patch
index 8062dad17c..8062dad17c 100644
--- a/patches/server/0148-Reset-spawner-timer-when-spawner-event-is-cancelled.patch
+++ b/patches/server/0147-Reset-spawner-timer-when-spawner-event-is-cancelled.patch
diff --git a/patches/server/0149-Allow-specifying-a-custom-authentication-servers-dow.patch b/patches/server/0148-Allow-specifying-a-custom-authentication-servers-dow.patch
index 5548378079..5548378079 100644
--- a/patches/server/0149-Allow-specifying-a-custom-authentication-servers-dow.patch
+++ b/patches/server/0148-Allow-specifying-a-custom-authentication-servers-dow.patch
diff --git a/patches/server/0150-Handle-plugin-prefixes-using-Log4J-configuration.patch b/patches/server/0149-Handle-plugin-prefixes-using-Log4J-configuration.patch
index 8dc571bba3..8dc571bba3 100644
--- a/patches/server/0150-Handle-plugin-prefixes-using-Log4J-configuration.patch
+++ b/patches/server/0149-Handle-plugin-prefixes-using-Log4J-configuration.patch
diff --git a/patches/server/0151-Improve-Log4J-Configuration-Plugin-Loggers.patch b/patches/server/0150-Improve-Log4J-Configuration-Plugin-Loggers.patch
index 06b30f0a00..06b30f0a00 100644
--- a/patches/server/0151-Improve-Log4J-Configuration-Plugin-Loggers.patch
+++ b/patches/server/0150-Improve-Log4J-Configuration-Plugin-Loggers.patch
diff --git a/patches/server/0152-Add-PlayerJumpEvent.patch b/patches/server/0151-Add-PlayerJumpEvent.patch
index d305d17f35..e24d0d58ee 100644
--- a/patches/server/0152-Add-PlayerJumpEvent.patch
+++ b/patches/server/0151-Add-PlayerJumpEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerJumpEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 2f34ff72f8932a8cac9af48003dfa505f19f07d0..ba2628f22907b386fe5638220e5f10e39bc1f80b 100644
+index 12cfc3ed36d6eebd477dfd9058b2852e0a0d98eb..3c4431123c39256fdf704111d350c1005e4d9ef9 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1218,7 +1218,34 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0153-handle-ServerboundKeepAlivePacket-async.patch b/patches/server/0152-handle-ServerboundKeepAlivePacket-async.patch
index 0075be7038..0075be7038 100644
--- a/patches/server/0153-handle-ServerboundKeepAlivePacket-async.patch
+++ b/patches/server/0152-handle-ServerboundKeepAlivePacket-async.patch
diff --git a/patches/server/0154-Expose-client-protocol-version-and-virtual-host.patch b/patches/server/0153-Expose-client-protocol-version-and-virtual-host.patch
index dd5398aac0..349a9ccc59 100644
--- a/patches/server/0154-Expose-client-protocol-version-and-virtual-host.patch
+++ b/patches/server/0153-Expose-client-protocol-version-and-virtual-host.patch
@@ -90,10 +90,10 @@ index ce51bde4db395ff30c7d75e3badd68d6395fa40f..3dfec4462d85f3223071b4e78465587d
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 53d33699b8389a46d27e897b1c24fb250ae025f8..c3eb39a30a70d7e289caba49749cf1f9c812be90 100644
+index 3d3927503dd7f157b59853c570ace002b7e07c25..901a1c98024eb81d2fa3e7ca13add63864a9c5ef 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -247,6 +247,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -253,6 +253,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
diff --git a/patches/server/0155-revert-serverside-behavior-of-keepalives.patch b/patches/server/0154-revert-serverside-behavior-of-keepalives.patch
index 27c77cb9ee..27c77cb9ee 100644
--- a/patches/server/0155-revert-serverside-behavior-of-keepalives.patch
+++ b/patches/server/0154-revert-serverside-behavior-of-keepalives.patch
diff --git a/patches/server/0156-Send-attack-SoundEffects-only-to-players-who-can-see.patch b/patches/server/0155-Send-attack-SoundEffects-only-to-players-who-can-see.patch
index 0239bdb21f..089df28228 100644
--- a/patches/server/0156-Send-attack-SoundEffects-only-to-players-who-can-see.patch
+++ b/patches/server/0155-Send-attack-SoundEffects-only-to-players-who-can-see.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Send attack SoundEffects only to players who can see the
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index 2d3c2b2b98b75a0815771a3f9c3bf244091a50b7..5fa0e0c5293eda8a368c1801a9b5255807bf078c 100644
+index cd5a4e91ee8da2a2a5d34ecc9a24394e131e79d0..056b816c2959b44c24fca04e14e8d764b4a06b0f 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -1225,7 +1225,7 @@ public abstract class Player extends LivingEntity {
+@@ -1226,7 +1226,7 @@ public abstract class Player extends LivingEntity {
int i = b0 + EnchantmentHelper.getKnockbackBonus(this);
if (this.isSprinting() && flag) {
@@ -18,7 +18,7 @@ index 2d3c2b2b98b75a0815771a3f9c3bf244091a50b7..5fa0e0c5293eda8a368c1801a9b52558
++i;
flag1 = true;
}
-@@ -1300,7 +1300,7 @@ public abstract class Player extends LivingEntity {
+@@ -1301,7 +1301,7 @@ public abstract class Player extends LivingEntity {
}
}
@@ -27,7 +27,7 @@ index 2d3c2b2b98b75a0815771a3f9c3bf244091a50b7..5fa0e0c5293eda8a368c1801a9b52558
this.sweepAttack();
}
-@@ -1328,15 +1328,15 @@ public abstract class Player extends LivingEntity {
+@@ -1329,15 +1329,15 @@ public abstract class Player extends LivingEntity {
}
if (flag2) {
@@ -46,7 +46,7 @@ index 2d3c2b2b98b75a0815771a3f9c3bf244091a50b7..5fa0e0c5293eda8a368c1801a9b52558
}
}
-@@ -1388,7 +1388,7 @@ public abstract class Player extends LivingEntity {
+@@ -1389,7 +1389,7 @@ public abstract class Player extends LivingEntity {
this.causeFoodExhaustion(this.level().spigotConfig.combatExhaustion, EntityExhaustionEvent.ExhaustionReason.ATTACK); // CraftBukkit - EntityExhaustionEvent // Spigot - Change to use configurable value
} else {
@@ -55,7 +55,7 @@ index 2d3c2b2b98b75a0815771a3f9c3bf244091a50b7..5fa0e0c5293eda8a368c1801a9b52558
if (flag4) {
target.clearFire();
}
-@@ -1782,6 +1782,14 @@ public abstract class Player extends LivingEntity {
+@@ -1783,6 +1783,14 @@ public abstract class Player extends LivingEntity {
public int getXpNeededForNextLevel() {
return this.experienceLevel >= 30 ? 112 + (this.experienceLevel - 30) * 9 : (this.experienceLevel >= 15 ? 37 + (this.experienceLevel - 15) * 5 : 7 + this.experienceLevel * 2);
}
diff --git a/patches/server/0157-Add-PlayerArmorChangeEvent.patch b/patches/server/0156-Add-PlayerArmorChangeEvent.patch
index 3788e0b1e2..58c26b9342 100644
--- a/patches/server/0157-Add-PlayerArmorChangeEvent.patch
+++ b/patches/server/0156-Add-PlayerArmorChangeEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerArmorChangeEvent
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index a799b64e9d655e7eba509e9930e623a88bbb0389..882bb83a552be415711c8df8118e91981fc63e46 100644
+index ec862d3a70b9d9f71873a71c1f1d143bc95799ae..1203387260e5e2727ffb682882da85b8c89c1f4c 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3047,6 +3047,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3060,6 +3060,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
ItemStack itemstack1 = this.getItemBySlot(enumitemslot);
if (this.equipmentHasChanged(itemstack, itemstack1)) {
diff --git a/patches/server/0158-Prevent-logins-from-being-processed-when-the-player-.patch b/patches/server/0157-Prevent-logins-from-being-processed-when-the-player-.patch
index 28f5efe52b..28f5efe52b 100644
--- a/patches/server/0158-Prevent-logins-from-being-processed-when-the-player-.patch
+++ b/patches/server/0157-Prevent-logins-from-being-processed-when-the-player-.patch
diff --git a/patches/server/0159-Fix-MC-117075-Block-entity-unload-lag-spike.patch b/patches/server/0158-Fix-MC-117075-Block-entity-unload-lag-spike.patch
index caff68b415..caff68b415 100644
--- a/patches/server/0159-Fix-MC-117075-Block-entity-unload-lag-spike.patch
+++ b/patches/server/0158-Fix-MC-117075-Block-entity-unload-lag-spike.patch
diff --git a/patches/server/0160-use-CB-BlockState-implementations-for-captured-block.patch b/patches/server/0159-use-CB-BlockState-implementations-for-captured-block.patch
index 680b5186c3..680b5186c3 100644
--- a/patches/server/0160-use-CB-BlockState-implementations-for-captured-block.patch
+++ b/patches/server/0159-use-CB-BlockState-implementations-for-captured-block.patch
diff --git a/patches/server/0161-API-to-get-a-BlockState-without-a-snapshot.patch b/patches/server/0160-API-to-get-a-BlockState-without-a-snapshot.patch
index 423d453874..423d453874 100644
--- a/patches/server/0161-API-to-get-a-BlockState-without-a-snapshot.patch
+++ b/patches/server/0160-API-to-get-a-BlockState-without-a-snapshot.patch
diff --git a/patches/server/0162-AsyncTabCompleteEvent.patch b/patches/server/0161-AsyncTabCompleteEvent.patch
index 721226052f..665a68f81e 100644
--- a/patches/server/0162-AsyncTabCompleteEvent.patch
+++ b/patches/server/0161-AsyncTabCompleteEvent.patch
@@ -16,7 +16,7 @@ Also adds isCommand and getLocation to the sync TabCompleteEvent
Co-authored-by: Aikar <[email protected]>
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index a30eb2a9e201face352be5c6f74e690d8e5c0478..0497393afd8f60ac17148dde2a394b4b6795c7d8 100644
+index 3c4431123c39256fdf704111d350c1005e4d9ef9..f60d754cb617df3c5ab8654eba66016c1cc04617 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -688,21 +688,58 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -80,10 +80,10 @@ index a30eb2a9e201face352be5c6f74e690d8e5c0478..0497393afd8f60ac17148dde2a394b4b
this.server.getCommands().getDispatcher().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 46acd80641b2ecafd9f364d7ad9b477b6b2f0289..22e61d492c935688b6d1d63d13ba8313abd9e1b4 100644
+index b6e6b4213e893fac64855cc4b4e6eeb4246050d1..28a8b687958a1c1396a5a8b13a04fb371ac9f3ab 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2227,7 +2227,7 @@ public final class CraftServer implements Server {
+@@ -2239,7 +2239,7 @@ public final class CraftServer implements Server {
offers = this.tabCompleteChat(player, message);
}
diff --git a/patches/server/0163-PlayerPickupExperienceEvent.patch b/patches/server/0162-PlayerPickupExperienceEvent.patch
index c4ef53a205..c4ef53a205 100644
--- a/patches/server/0163-PlayerPickupExperienceEvent.patch
+++ b/patches/server/0162-PlayerPickupExperienceEvent.patch
diff --git a/patches/server/0164-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0163-Ability-to-apply-mending-to-XP-API.patch
index 3dac4b6da6..fb84ea1014 100644
--- a/patches/server/0164-Ability-to-apply-mending-to-XP-API.patch
+++ b/patches/server/0163-Ability-to-apply-mending-to-XP-API.patch
@@ -14,10 +14,10 @@ public net.minecraft.world.entity.ExperienceOrb durabilityToXp(I)I
public net.minecraft.world.entity.ExperienceOrb xpToDurability(I)I
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index cfa861cc63ccd96ef9c71e65d6796567154afd5f..af58b8c5a9faf78bd4daace9bd52a012fa91e079 100644
+index 901a1c98024eb81d2fa3e7ca13add63864a9c5ef..1444b633a2b49ce492a8a3c2a9c4befb8c7618fd 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1516,7 +1516,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1546,7 +1546,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
@Override
diff --git a/patches/server/0165-PlayerNaturallySpawnCreaturesEvent.patch b/patches/server/0164-PlayerNaturallySpawnCreaturesEvent.patch
index 9caa2d8f5f..86df19fb45 100644
--- a/patches/server/0165-PlayerNaturallySpawnCreaturesEvent.patch
+++ b/patches/server/0164-PlayerNaturallySpawnCreaturesEvent.patch
@@ -9,7 +9,7 @@ from triggering monster spawns on a server.
Also a highly more effecient way to blanket block spawns in a world
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index c581ddf24f66a98798e8965adc848638edd889de..987f867def412552b0d7f6cb2cba50af520f1257 100644
+index 7245b93a4935aece23567fda0474104686485395..de328a93abcf23d3ff265557a7d8bad5be56287c 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1203,7 +1203,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -60,7 +60,7 @@ index e0ae7274da59ff043cd423d282ed8db0382561d4..369e4bf5ff52cb774f1acaf760b8bd27
boolean flag1 = this.level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && this.level.getLevelData().getGameTime() % this.level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit
Iterator iterator1 = list.iterator();
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 5197fc02a080c3f603030d5c4fa59e10f8c0e3b6..d51244c634d0209efb98be965ce7318480220b96 100644
+index f1f090b7d9ac21f6430756ddb02b734f7dda0c7c..19cd69fc911bb9b95257b1fdc19645bbdfe05de3 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -265,6 +265,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0166-Add-setPlayerProfile-API-for-Skulls.patch b/patches/server/0165-Add-setPlayerProfile-API-for-Skulls.patch
index 9a88d6ffaf..9a88d6ffaf 100644
--- a/patches/server/0166-Add-setPlayerProfile-API-for-Skulls.patch
+++ b/patches/server/0165-Add-setPlayerProfile-API-for-Skulls.patch
diff --git a/patches/server/0167-PreCreatureSpawnEvent.patch b/patches/server/0166-PreCreatureSpawnEvent.patch
index 2882defd98..2882defd98 100644
--- a/patches/server/0167-PreCreatureSpawnEvent.patch
+++ b/patches/server/0166-PreCreatureSpawnEvent.patch
diff --git a/patches/server/0168-Fill-Profile-Property-Events.patch b/patches/server/0167-Fill-Profile-Property-Events.patch
index 1b8f42fb8d..1b8f42fb8d 100644
--- a/patches/server/0168-Fill-Profile-Property-Events.patch
+++ b/patches/server/0167-Fill-Profile-Property-Events.patch
diff --git a/patches/server/0169-Add-PlayerAdvancementCriterionGrantEvent.patch b/patches/server/0168-Add-PlayerAdvancementCriterionGrantEvent.patch
index 919a3add63..919a3add63 100644
--- a/patches/server/0169-Add-PlayerAdvancementCriterionGrantEvent.patch
+++ b/patches/server/0168-Add-PlayerAdvancementCriterionGrantEvent.patch
diff --git a/patches/server/0170-Add-ArmorStand-Item-Meta.patch b/patches/server/0169-Add-ArmorStand-Item-Meta.patch
index b650597d67..b650597d67 100644
--- a/patches/server/0170-Add-ArmorStand-Item-Meta.patch
+++ b/patches/server/0169-Add-ArmorStand-Item-Meta.patch
diff --git a/patches/server/0171-Extend-Player-Interact-cancellation.patch b/patches/server/0170-Extend-Player-Interact-cancellation.patch
index f5a0a0c969..f5a0a0c969 100644
--- a/patches/server/0171-Extend-Player-Interact-cancellation.patch
+++ b/patches/server/0170-Extend-Player-Interact-cancellation.patch
diff --git a/patches/server/0172-Tameable-getOwnerUniqueId-API.patch b/patches/server/0171-Tameable-getOwnerUniqueId-API.patch
index 739f4d8b9c..739f4d8b9c 100644
--- a/patches/server/0172-Tameable-getOwnerUniqueId-API.patch
+++ b/patches/server/0171-Tameable-getOwnerUniqueId-API.patch
diff --git a/patches/server/0173-Toggleable-player-crits.patch b/patches/server/0172-Toggleable-player-crits.patch
index e7199ef60c..a43d2d76dd 100644
--- a/patches/server/0173-Toggleable-player-crits.patch
+++ b/patches/server/0172-Toggleable-player-crits.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Toggleable player crits
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index 5fa0e0c5293eda8a368c1801a9b5255807bf078c..04d02c456d2e3562dcd122cb1951f8de3d808f7f 100644
+index 056b816c2959b44c24fca04e14e8d764b4a06b0f..e38f2e9a2ea616ebe5f167583fe339fc7244ccbf 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -1232,6 +1232,7 @@ public abstract class Player extends LivingEntity {
+@@ -1233,6 +1233,7 @@ public abstract class Player extends LivingEntity {
boolean flag2 = flag && this.fallDistance > 0.0F && !this.onGround() && !this.onClimbable() && !this.isInWater() && !this.hasEffect(MobEffects.BLINDNESS) && !this.isPassenger() && target instanceof LivingEntity;
diff --git a/patches/server/0174-Disable-Explicit-Network-Manager-Flushing.patch b/patches/server/0173-Disable-Explicit-Network-Manager-Flushing.patch
index 47975e8e65..47975e8e65 100644
--- a/patches/server/0174-Disable-Explicit-Network-Manager-Flushing.patch
+++ b/patches/server/0173-Disable-Explicit-Network-Manager-Flushing.patch
diff --git a/patches/server/0175-Implement-extended-PaperServerListPingEvent.patch b/patches/server/0174-Implement-extended-PaperServerListPingEvent.patch
index 2c073bc562..2c073bc562 100644
--- a/patches/server/0175-Implement-extended-PaperServerListPingEvent.patch
+++ b/patches/server/0174-Implement-extended-PaperServerListPingEvent.patch
diff --git a/patches/server/0176-Add-more-fields-to-AsyncPreLoginEvent.patch b/patches/server/0175-Add-more-fields-to-AsyncPreLoginEvent.patch
index 349254d7d8..349254d7d8 100644
--- a/patches/server/0176-Add-more-fields-to-AsyncPreLoginEvent.patch
+++ b/patches/server/0175-Add-more-fields-to-AsyncPreLoginEvent.patch
diff --git a/patches/server/0177-Player.setPlayerProfile-API.patch b/patches/server/0176-Player.setPlayerProfile-API.patch
index 6fa95377f9..17827ed57f 100644
--- a/patches/server/0177-Player.setPlayerProfile-API.patch
+++ b/patches/server/0176-Player.setPlayerProfile-API.patch
@@ -9,7 +9,7 @@ This can be useful for changing name or skins after a player has logged in.
public-f net.minecraft.world.entity.player.Player gameProfile
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 0497393afd8f60ac17148dde2a394b4b6795c7d8..1da44846ad1ed2768fd7ebca4017c4bbc399ba68 100644
+index f60d754cb617df3c5ab8654eba66016c1cc04617..39af3e197502c1f262fbdd4e06dc0e3fc7537b77 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1467,7 +1467,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -77,10 +77,10 @@ index 954825dcd011716dcd859aa285a8e3cdb6ff5464..34925d6448e0ef1d5bb4b24359f732b6
public Server getServer() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index af58b8c5a9faf78bd4daace9bd52a012fa91e079..d59c2bbb88a4e11136e2aa8fb30f15894560f13f 100644
+index 1444b633a2b49ce492a8a3c2a9c4befb8c7618fd..f33aee99de2007701bd593917a63e05c7fa5e349 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -230,11 +230,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -236,11 +236,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.server.getPlayer(this.getUniqueId()) != null;
}
@@ -92,7 +92,7 @@ index af58b8c5a9faf78bd4daace9bd52a012fa91e079..d59c2bbb88a4e11136e2aa8fb30f1589
@Override
public InetSocketAddress getAddress() {
if (this.getHandle().connection == null) return null;
-@@ -1666,8 +1661,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1696,8 +1691,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private void untrackAndHideEntity(org.bukkit.entity.Entity entity) {
// Remove this entity from the hidden player's EntityTrackerEntry
@@ -109,7 +109,7 @@ index af58b8c5a9faf78bd4daace9bd52a012fa91e079..d59c2bbb88a4e11136e2aa8fb30f1589
ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId());
if (entry != null) {
entry.removePlayer(this.getHandle());
-@@ -1680,8 +1682,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1710,8 +1712,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(new ClientboundPlayerInfoRemovePacket(List.of(otherPlayer.getUUID())));
}
}
@@ -118,7 +118,7 @@ index af58b8c5a9faf78bd4daace9bd52a012fa91e079..d59c2bbb88a4e11136e2aa8fb30f1589
}
void resetAndHideEntity(org.bukkit.entity.Entity entity) {
-@@ -1746,12 +1746,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1776,12 +1776,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
private void trackAndShowEntity(org.bukkit.entity.Entity entity) {
@@ -144,7 +144,7 @@ index af58b8c5a9faf78bd4daace9bd52a012fa91e079..d59c2bbb88a4e11136e2aa8fb30f1589
}
ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId());
-@@ -1761,6 +1774,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1791,6 +1804,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.server.getPluginManager().callEvent(new PlayerShowEntityEvent(this, entity));
}
@@ -184,7 +184,7 @@ index af58b8c5a9faf78bd4daace9bd52a012fa91e079..d59c2bbb88a4e11136e2aa8fb30f1589
void resetAndShowEntity(org.bukkit.entity.Entity entity) {
// SPIGOT-7312: Can't show/hide self
-@@ -1772,6 +1818,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1802,6 +1848,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.trackAndShowEntity(entity);
}
}
diff --git a/patches/server/0178-getPlayerUniqueId-API.patch b/patches/server/0177-getPlayerUniqueId-API.patch
index d9dc0416d4..701b20e981 100644
--- a/patches/server/0178-getPlayerUniqueId-API.patch
+++ b/patches/server/0177-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 fb26379f600cc3e7e286d246f25e2bf718611e9d..d4c3d9a45c01d462513e5dbfa514afdde32c9ad7 100644
+index 28a8b687958a1c1396a5a8b13a04fb371ac9f3ab..d25ee3ca530289c0deda45b01196ece98788e628 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1826,6 +1826,25 @@ public final class CraftServer implements Server {
+@@ -1838,6 +1838,25 @@ public final class CraftServer implements Server {
return recipients.size();
}
diff --git a/patches/server/0179-Improved-Async-Task-Scheduler.patch b/patches/server/0178-Improved-Async-Task-Scheduler.patch
index 3ce3a754e3..3ce3a754e3 100644
--- a/patches/server/0179-Improved-Async-Task-Scheduler.patch
+++ b/patches/server/0178-Improved-Async-Task-Scheduler.patch
diff --git a/patches/server/0180-Make-legacy-ping-handler-more-reliable.patch b/patches/server/0179-Make-legacy-ping-handler-more-reliable.patch
index e9431bd1eb..e9431bd1eb 100644
--- a/patches/server/0180-Make-legacy-ping-handler-more-reliable.patch
+++ b/patches/server/0179-Make-legacy-ping-handler-more-reliable.patch
diff --git a/patches/server/0181-Call-PaperServerListPingEvent-for-legacy-pings.patch b/patches/server/0180-Call-PaperServerListPingEvent-for-legacy-pings.patch
index 5265180dd5..5265180dd5 100644
--- a/patches/server/0181-Call-PaperServerListPingEvent-for-legacy-pings.patch
+++ b/patches/server/0180-Call-PaperServerListPingEvent-for-legacy-pings.patch
diff --git a/patches/server/0182-Flag-to-disable-the-channel-limit.patch b/patches/server/0181-Flag-to-disable-the-channel-limit.patch
index dad19420a3..4c3389e676 100644
--- a/patches/server/0182-Flag-to-disable-the-channel-limit.patch
+++ b/patches/server/0181-Flag-to-disable-the-channel-limit.patch
@@ -9,10 +9,10 @@ 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 d59c2bbb88a4e11136e2aa8fb30f15894560f13f..4d0d2b1bc24a0d56724d7062bdbc3c7cf78e2b8a 100644
+index f33aee99de2007701bd593917a63e05c7fa5e349..a77c15a9c351c9cd5e8b4832016ec6de30483ed6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -190,6 +190,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -196,6 +196,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private CraftWorldBorder clientWorldBorder = null;
private BorderChangeListener clientWorldBorderListener = this.createWorldBorderListener();
public org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; // Paper - more resource pack API
@@ -20,7 +20,7 @@ index d59c2bbb88a4e11136e2aa8fb30f15894560f13f..4d0d2b1bc24a0d56724d7062bdbc3c7c
public CraftPlayer(CraftServer server, ServerPlayer entity) {
super(server, entity);
-@@ -2135,7 +2136,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2186,7 +2187,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void addChannel(String channel) {
diff --git a/patches/server/0183-Add-openSign-method-to-HumanEntity.patch b/patches/server/0182-Add-openSign-method-to-HumanEntity.patch
index 73acd70a6b..73acd70a6b 100644
--- a/patches/server/0183-Add-openSign-method-to-HumanEntity.patch
+++ b/patches/server/0182-Add-openSign-method-to-HumanEntity.patch
diff --git a/patches/server/0184-Configurable-sprint-interruption-on-attack.patch b/patches/server/0183-Configurable-sprint-interruption-on-attack.patch
index 15d9d04e99..dd26e680bc 100644
--- a/patches/server/0184-Configurable-sprint-interruption-on-attack.patch
+++ b/patches/server/0183-Configurable-sprint-interruption-on-attack.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Configurable sprint interruption on attack
If the sprint interruption is disabled players continue sprinting when they attack entities.
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index 04d02c456d2e3562dcd122cb1951f8de3d808f7f..0c2c998a22a9328696bef75f48e1a5abd8589fa7 100644
+index e38f2e9a2ea616ebe5f167583fe339fc7244ccbf..cd85cc78cc25a2291c1202d53af82c7c00ac39d2 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -1281,7 +1281,11 @@ public abstract class Player extends LivingEntity {
+@@ -1282,7 +1282,11 @@ public abstract class Player extends LivingEntity {
}
this.setDeltaMovement(this.getDeltaMovement().multiply(0.6D, 1.0D, 0.6D));
diff --git a/patches/server/0185-EndermanEscapeEvent.patch b/patches/server/0184-EndermanEscapeEvent.patch
index d5911bb2bc..d5911bb2bc 100644
--- a/patches/server/0185-EndermanEscapeEvent.patch
+++ b/patches/server/0184-EndermanEscapeEvent.patch
diff --git a/patches/server/0186-Enderman.teleportRandomly.patch b/patches/server/0185-Enderman.teleportRandomly.patch
index aeb2e69493..aeb2e69493 100644
--- a/patches/server/0186-Enderman.teleportRandomly.patch
+++ b/patches/server/0185-Enderman.teleportRandomly.patch
diff --git a/patches/server/0187-Block-Enderpearl-Travel-Exploit.patch b/patches/server/0186-Block-Enderpearl-Travel-Exploit.patch
index 213dc36f8e..ffdce6c524 100644
--- a/patches/server/0187-Block-Enderpearl-Travel-Exploit.patch
+++ b/patches/server/0186-Block-Enderpearl-Travel-Exploit.patch
@@ -16,7 +16,7 @@ public net.minecraft.world.entity.projectile.Projectile cachedOwner
public net.minecraft.world.entity.projectile.Projectile ownerUUID
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 54b3103d558adacba5f7a7b9fd230649623c7702..85e63061856a49c8e531eb0de8d1ca7b9805f424 100644
+index 5f0885c13116ad070dc076cca5a527b2a616c541..6cadfd678f1b2323a763ffd9220de7394620328b 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2114,6 +2114,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
diff --git a/patches/server/0188-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/server/0187-Expand-World.spawnParticle-API-and-add-Builder.patch
index 25289ea1b6..336526462f 100644
--- a/patches/server/0188-Expand-World.spawnParticle-API-and-add-Builder.patch
+++ b/patches/server/0187-Expand-World.spawnParticle-API-and-add-Builder.patch
@@ -10,7 +10,7 @@ Adds an option to control the force mode of the particle.
This adds a new Builder API which is much friendlier to use.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 85e63061856a49c8e531eb0de8d1ca7b9805f424..aa9d514f26fbe70edf3a8b7443fbaf577cf3a030 100644
+index 6cadfd678f1b2323a763ffd9220de7394620328b..180a9ade7bbc84d8c64b6c92583ba870464c23a5 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1503,12 +1503,17 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -34,10 +34,10 @@ index 85e63061856a49c8e531eb0de8d1ca7b9805f424..aa9d514f26fbe70edf3a8b7443fbaf57
if (this.sendParticles(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 27f7b2cacd3113289b852c767e379d9769a9fa01..8fbc232ce409951d67eee1dbe34bc5bf4d069d01 100644
+index 07aac886235e18a29420c494380e6b26bfa8f36e..012c0bf4f824543d475e97e0edb6c4fe88d046e5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1919,13 +1919,20 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1932,13 +1932,20 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) {
diff --git a/patches/server/0189-Fix-exploit-that-allowed-colored-signs-to-be-created.patch b/patches/server/0188-Fix-exploit-that-allowed-colored-signs-to-be-created.patch
index d591924a6b..d591924a6b 100644
--- a/patches/server/0189-Fix-exploit-that-allowed-colored-signs-to-be-created.patch
+++ b/patches/server/0188-Fix-exploit-that-allowed-colored-signs-to-be-created.patch
diff --git a/patches/server/0190-EndermanAttackPlayerEvent.patch b/patches/server/0189-EndermanAttackPlayerEvent.patch
index 8504592c00..8504592c00 100644
--- a/patches/server/0190-EndermanAttackPlayerEvent.patch
+++ b/patches/server/0189-EndermanAttackPlayerEvent.patch
diff --git a/patches/server/0191-WitchConsumePotionEvent.patch b/patches/server/0190-WitchConsumePotionEvent.patch
index 657554b31e..657554b31e 100644
--- a/patches/server/0191-WitchConsumePotionEvent.patch
+++ b/patches/server/0190-WitchConsumePotionEvent.patch
diff --git a/patches/server/0192-WitchThrowPotionEvent.patch b/patches/server/0191-WitchThrowPotionEvent.patch
index 5f6cac02f4..5f6cac02f4 100644
--- a/patches/server/0192-WitchThrowPotionEvent.patch
+++ b/patches/server/0191-WitchThrowPotionEvent.patch
diff --git a/patches/server/0193-WitchReadyPotionEvent.patch b/patches/server/0192-WitchReadyPotionEvent.patch
index eda5a5e73d..f558e9c173 100644
--- a/patches/server/0193-WitchReadyPotionEvent.patch
+++ b/patches/server/0192-WitchReadyPotionEvent.patch
@@ -22,10 +22,10 @@ index 96a87db9f8976d3f1ff09beb9598db31fff72d5b..25a1edf64602a13c07779e58b167a847
this.setUsingItem(true);
if (!this.isSilent()) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 5bc9b40dd3bbb2e743205adec77cad402564dabf..6e37cb0200f56182030962d981694ab5b126be0d 100644
+index d461f56cbc64efba422d748c42ec106f84423833..e0234ea1d55e918072574fb5d4b6cc75fc5d46d6 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1935,4 +1935,14 @@ public class CraftEventFactory {
+@@ -1880,4 +1880,14 @@ public class CraftEventFactory {
).callEvent();
}
// Paper end - PlayerUseUnknownEntityEvent
diff --git a/patches/server/0194-ItemStack-getMaxItemUseDuration.patch b/patches/server/0193-ItemStack-getMaxItemUseDuration.patch
index a37f9cf78d..83ab07155e 100644
--- a/patches/server/0194-ItemStack-getMaxItemUseDuration.patch
+++ b/patches/server/0193-ItemStack-getMaxItemUseDuration.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration
Allows you to determine how long it takes to use a usable/consumable item
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
-index a05f01ca9a9bc88e414c8cf89c01c7e993e27dd2..07f011a968592ba5b38a0a2723189824ba5d0938 100644
+index c72a1a503f6e71228a1f82b37068ff7a83e983dc..d9a07829d5d0ebcb18b8e3f12622ed7795955d61 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
@@ -184,6 +184,13 @@ public final class CraftItemStack extends ItemStack {
diff --git a/patches/server/0195-Add-EntityTeleportEndGatewayEvent.patch b/patches/server/0194-Add-EntityTeleportEndGatewayEvent.patch
index abb94eac9b..abb94eac9b 100644
--- a/patches/server/0195-Add-EntityTeleportEndGatewayEvent.patch
+++ b/patches/server/0194-Add-EntityTeleportEndGatewayEvent.patch
diff --git a/patches/server/0196-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch b/patches/server/0195-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch
index cd0b43941d..cd0b43941d 100644
--- a/patches/server/0196-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch
+++ b/patches/server/0195-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch
diff --git a/patches/server/0197-Fix-CraftEntity-hashCode.patch b/patches/server/0196-Fix-CraftEntity-hashCode.patch
index a9def43722..a9def43722 100644
--- a/patches/server/0197-Fix-CraftEntity-hashCode.patch
+++ b/patches/server/0196-Fix-CraftEntity-hashCode.patch
diff --git a/patches/server/0198-Configurable-LootPool-luck-formula.patch b/patches/server/0197-Configurable-LootPool-luck-formula.patch
index 6df631b746..6df631b746 100644
--- a/patches/server/0198-Configurable-LootPool-luck-formula.patch
+++ b/patches/server/0197-Configurable-LootPool-luck-formula.patch
diff --git a/patches/server/0199-Print-Error-details-when-failing-to-save-player-data.patch b/patches/server/0198-Print-Error-details-when-failing-to-save-player-data.patch
index ae45a45974..85805baf53 100644
--- a/patches/server/0199-Print-Error-details-when-failing-to-save-player-data.patch
+++ b/patches/server/0198-Print-Error-details-when-failing-to-save-player-data.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Print Error details when failing to save player data
diff --git a/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java b/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java
-index 08f4cc47ec3aa4dd6980ba543219891a510b010b..63e187c65cb855031f286aad0d25ac4694f7a331 100644
+index 2a167a0131d866b4368fc30849c17acdf0ab9af0..49d39980054bce470ddaceeb6ab7fab83bf8dc54 100644
--- a/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java
+++ b/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java
@@ -47,7 +47,7 @@ public class PlayerDataStorage {
diff --git a/patches/server/0200-Make-shield-blocking-delay-configurable.patch b/patches/server/0199-Make-shield-blocking-delay-configurable.patch
index 5c854fab75..202e56a0ff 100644
--- a/patches/server/0200-Make-shield-blocking-delay-configurable.patch
+++ b/patches/server/0199-Make-shield-blocking-delay-configurable.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Make shield blocking delay configurable
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 882bb83a552be415711c8df8118e91981fc63e46..f01a0d7a19329aabbfa69be68c48a409d11aa352 100644
+index 1203387260e5e2727ffb682882da85b8c89c1f4c..001179978a81f2f7f1c56270b2a131dda7aaa881 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3807,12 +3807,24 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3820,12 +3820,24 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (this.isUsingItem() && !this.useItem.isEmpty()) {
Item item = this.useItem.getItem();
@@ -35,10 +35,10 @@ index 882bb83a552be415711c8df8118e91981fc63e46..f01a0d7a19329aabbfa69be68c48a409
return this.isShiftKeyDown();
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index f09064a6721481c202449ff12ba1d54385e24043..30c6d32040decc56947d7e8a840036262e122137 100644
+index 82773a05783b731e2f7bd00c8ec68090d15a7b66..ca92ece290c6dd164b3ba2ba46289350ae6829e8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -826,5 +826,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -839,5 +839,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
public void setArrowsStuck(final int arrows) {
this.getHandle().setArrowCount(arrows);
}
diff --git a/patches/server/0201-Improve-EntityShootBowEvent.patch b/patches/server/0200-Improve-EntityShootBowEvent.patch
index 9f5b75b9ea..9f5b75b9ea 100644
--- a/patches/server/0201-Improve-EntityShootBowEvent.patch
+++ b/patches/server/0200-Improve-EntityShootBowEvent.patch
diff --git a/patches/server/0202-PlayerReadyArrowEvent.patch b/patches/server/0201-PlayerReadyArrowEvent.patch
index 230edc9281..75712ba31e 100644
--- a/patches/server/0202-PlayerReadyArrowEvent.patch
+++ b/patches/server/0201-PlayerReadyArrowEvent.patch
@@ -7,10 +7,10 @@ Called when a player is firing a bow and the server is choosing an arrow to use.
Plugins can skip selection of certain arrows and control which is used.
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index 0c2c998a22a9328696bef75f48e1a5abd8589fa7..f28e9f06596cea6904b407fa87835f21d07817fa 100644
+index cd85cc78cc25a2291c1202d53af82c7c00ac39d2..aad9add92eaff7205383033a0b03d072724bf428 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -2167,18 +2167,29 @@ public abstract class Player extends LivingEntity {
+@@ -2168,18 +2168,29 @@ public abstract class Player extends LivingEntity {
return ImmutableList.of(Pose.STANDING, Pose.CROUCHING, Pose.SWIMMING);
}
diff --git a/patches/server/0203-Add-EntityKnockbackByEntityEvent-and-EntityPushedByE.patch b/patches/server/0202-Add-EntityKnockbackByEntityEvent-and-EntityPushedByE.patch
index d6134ef2d6..3fb3823a01 100644
--- a/patches/server/0203-Add-EntityKnockbackByEntityEvent-and-EntityPushedByE.patch
+++ b/patches/server/0202-Add-EntityKnockbackByEntityEvent-and-EntityPushedByE.patch
@@ -9,94 +9,72 @@ Co-authored-by: aerulion <[email protected]>
This event is called when an entity receives knockback by another entity.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index d96fc02a8b84dbcfc17496ca476a5dee8821b785..94c6914a7af6329e4bed8a8d470563b7901fb248 100644
+index 6fbde57320a58600f8c4b9ce598fa93bd2772e8b..cf907e0c1a89639639b6453032f8f6fe4e05a81c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -1857,8 +1857,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -1856,8 +1856,22 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public void push(double deltaX, double deltaY, double deltaZ) {
- this.setDeltaMovement(this.getDeltaMovement().add(deltaX, deltaY, deltaZ));
-- this.hasImpulse = true;
+ // Paper start - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent
+ this.push(deltaX, deltaY, deltaZ, null);
+ }
+
+ public void push(double deltaX, double deltaY, double deltaZ, @org.jetbrains.annotations.Nullable Entity pushingEntity) {
+ org.bukkit.util.Vector delta = new org.bukkit.util.Vector(deltaX, deltaY, deltaZ);
-+ if (pushingEntity == null || new io.papermc.paper.event.entity.EntityPushedByEntityAttackEvent(getBukkitEntity(), pushingEntity.getBukkitEntity(), delta).callEvent()) {
-+ this.setDeltaMovement(this.getDeltaMovement().add(delta.getX(), delta.getY(), delta.getZ()));
-+ this.hasImpulse = true;
++ if (pushingEntity != null) {
++ io.papermc.paper.event.entity.EntityPushedByEntityAttackEvent event = new io.papermc.paper.event.entity.EntityPushedByEntityAttackEvent(getBukkitEntity(), pushingEntity.getBukkitEntity(), delta);
++ if (!event.callEvent()) {
++ return;
++ }
++ delta = event.getAcceleration();
+ }
++ this.setDeltaMovement(this.getDeltaMovement().add(delta.getX(), delta.getY(), delta.getZ()));
+ this.hasImpulse = true;
+ // Paper end - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent
}
protected void markHurt() {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index f01a0d7a19329aabbfa69be68c48a409d11aa352..b58a13e33a0b98bbbdd3283fc3b90cde11ecd37f 100644
+index 001179978a81f2f7f1c56270b2a131dda7aaa881..2900326a87d21c8a92edb303ed42fd11ea7f3010 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -1512,7 +1512,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
- d0 = (Math.random() - Math.random()) * 0.01D;
- }
-
-- this.knockback(0.4000000059604645D, d0, d1);
-+ this.knockback(0.4000000059604645D, d0, d1, entity1); // Paper - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent
- if (!flag) {
- this.indicateDamage(d0, d1);
- }
-@@ -1560,7 +1560,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1561,7 +1561,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
protected void blockedByShield(LivingEntity target) {
-- target.knockback(0.5D, target.getX() - this.getX(), target.getZ() - this.getZ());
-+ target.knockback(0.5D, target.getX() - this.getX(), target.getZ() - this.getZ(), this); // Paper - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent
+- target.knockback(0.5D, target.getX() - this.getX(), target.getZ() - this.getZ(), null, EntityKnockbackEvent.KnockbackCause.SHIELD_BLOCK); // CraftBukkit
++ target.knockback(0.5D, target.getX() - this.getX(), target.getZ() - this.getZ(), this, EntityKnockbackEvent.KnockbackCause.SHIELD_BLOCK); // CraftBukkit // Paper - fix attacker
}
private boolean checkTotemDeathProtection(DamageSource source) {
-@@ -1819,6 +1819,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
- }
-
- public void knockback(double strength, double x, double z) {
-+ // Paper start - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent
-+ this.knockback(strength, x, z, null);
-+ }
-+ public void knockback(double strength, double x, double z, Entity knockingBackEntity) {
-+ // Paper end - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent
- strength *= 1.0D - this.getAttributeValue(Attributes.KNOCKBACK_RESISTANCE);
- if (strength > 0.0D) {
- this.hasImpulse = true;
-@@ -1826,6 +1831,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
- Vec3 vec3d1 = (new Vec3(x, 0.0D, z)).normalize().scale(strength);
+@@ -1836,8 +1836,22 @@ public abstract class LivingEntity extends Entity implements Attackable {
+ return;
+ }
- this.setDeltaMovement(vec3d.x / 2.0D - vec3d1.x, this.onGround() ? Math.min(0.4D, vec3d.y / 2.0D + strength) : vec3d.y, vec3d.z / 2.0D - vec3d1.z);
+ // Paper start - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent
-+ Vec3 currentMovement = this.getDeltaMovement();
-+ org.bukkit.util.Vector delta = new org.bukkit.util.Vector(currentMovement.x - vec3d.x, currentMovement.y - vec3d.y, currentMovement.z - vec3d.z);
-+ // Restore old velocity to be able to access it in the event
-+ this.setDeltaMovement(vec3d);
-+ if (knockingBackEntity == null || new com.destroystokyo.paper.event.entity.EntityKnockbackByEntityEvent((org.bukkit.entity.LivingEntity) getBukkitEntity(), knockingBackEntity.getBukkitEntity(), (float) strength, delta).callEvent()) {
-+ this.setDeltaMovement(vec3d.x + delta.getX(), vec3d.y + delta.getY(), vec3d.z + delta.getZ());
++ final org.bukkit.util.Vector currentMovement = this.getBukkitEntity().getVelocity();
++ org.bukkit.util.Vector resultingMovement = event.getFinalKnockback();
++ final org.bukkit.util.Vector deltaMovement = resultingMovement.clone().subtract(currentMovement);
++ if (attacker != null) {
++ final com.destroystokyo.paper.event.entity.EntityKnockbackByEntityEvent knockbackEvent = new com.destroystokyo.paper.event.entity.EntityKnockbackByEntityEvent((org.bukkit.entity.LivingEntity) getBukkitEntity(), attacker.getBukkitEntity(), (float) event.getForce(), deltaMovement);
++ if (!knockbackEvent.callEvent()) {
++ return;
++ }
++
++ // Back from delta to the absolute vector
++ resultingMovement = currentMovement.add(knockbackEvent.getAcceleration());
+ }
+ this.hasImpulse = true;
+- this.setDeltaMovement(event.getFinalKnockback().getX(), event.getFinalKnockback().getY(), event.getFinalKnockback().getZ());
++ this.setDeltaMovement(resultingMovement.getX(), resultingMovement.getY(), resultingMovement.getZ());
+ // Paper end - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent
+ // CraftBukkit end
}
}
-
-diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
-index 15ad425b9c091ee27965fe166f9021509199aa18..4ae0f36276592e37aeb5f881b713efa76d086f8e 100644
---- a/src/main/java/net/minecraft/world/entity/Mob.java
-+++ b/src/main/java/net/minecraft/world/entity/Mob.java
-@@ -1646,7 +1646,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
-
- if (flag) {
- if (f1 > 0.0F && target instanceof LivingEntity) {
-- ((LivingEntity) target).knockback((double) (f1 * 0.5F), (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)));
-+ ((LivingEntity) target).knockback((double) (f1 * 0.5F), (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this); // Paper - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent
- this.setDeltaMovement(this.getDeltaMovement().multiply(0.6D, 1.0D, 0.6D));
- }
-
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/RamTarget.java b/src/main/java/net/minecraft/world/entity/ai/behavior/RamTarget.java
-index e319a46a21a94314c5d496820b1ac4879dcf56b9..4f78e7fbb7a082069b44f7b28f0048e856e5c773 100644
+index e319a46a21a94314c5d496820b1ac4879dcf56b9..fcc0a7789c79b956f097bc6d34e0c37e0b90a2db 100644
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/RamTarget.java
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/RamTarget.java
@@ -77,7 +77,7 @@ public class RamTarget extends Behavior<Goat> {
@@ -104,7 +82,7 @@ index e319a46a21a94314c5d496820b1ac4879dcf56b9..4f78e7fbb7a082069b44f7b28f0048e8
float g = Mth.clamp(entity.getSpeed() * 1.65F, 0.2F, 3.0F) + f;
float h = livingEntity.isDamageSourceBlocked(world.damageSources().mobAttack(entity)) ? 0.5F : 1.0F;
- livingEntity.knockback((double)(h * g) * this.getKnockbackForce.applyAsDouble(entity), this.ramDirection.x(), this.ramDirection.z());
-+ livingEntity.knockback((double)(h * g) * this.getKnockbackForce.applyAsDouble(entity), this.ramDirection.x(), this.ramDirection.z(), entity); // Paper - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent
++ livingEntity.knockback((double)(h * g) * this.getKnockbackForce.applyAsDouble(entity), this.ramDirection.x(), this.ramDirection.z(), entity, org.bukkit.event.entity.EntityKnockbackEvent.KnockbackCause.ENTITY_ATTACK); // Paper - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent
this.finishRam(world, entity);
world.playSound((Player)null, entity, this.getImpactSound.apply(entity), SoundSource.NEUTRAL, 1.0F, 1.0F);
} else if (this.hasRammedHornBreakingBlock(world, entity)) {
@@ -161,30 +139,18 @@ index 81003ce3f05c6be6f52a92b86a4721235f4ce12a..cae7e3e85c3b911f50f8a06badf695c3
}
}
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index f28e9f06596cea6904b407fa87835f21d07817fa..5f59c7436756645a74ea730b026deb25d1571c9c 100644
+index aad9add92eaff7205383033a0b03d072724bf428..de537f4e89ccadefafb0f3e6075dba5f030f2654 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -1275,9 +1275,9 @@ public abstract class Player extends LivingEntity {
- if (flag5) {
- if (i > 0) {
+@@ -1278,7 +1278,7 @@ public abstract class Player extends LivingEntity {
if (target instanceof LivingEntity) {
-- ((LivingEntity) target).knockback((double) ((float) i * 0.5F), (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)));
-+ ((LivingEntity) target).knockback((double) ((float) i * 0.5F), (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this); // Paper - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent
+ ((LivingEntity) target).knockback((double) ((float) i * 0.5F), (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this, EntityKnockbackEvent.KnockbackCause.ENTITY_ATTACK); // CraftBukkit
} else {
- target.push((double) (-Mth.sin(this.getYRot() * 0.017453292F) * (float) i * 0.5F), 0.1D, (double) (Mth.cos(this.getYRot() * 0.017453292F) * (float) i * 0.5F));
+ target.push((double) (-Mth.sin(this.getYRot() * 0.017453292F) * (float) i * 0.5F), 0.1D, (double) (Mth.cos(this.getYRot() * 0.017453292F) * (float) i * 0.5F), this); // Paper - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent
}
this.setDeltaMovement(this.getDeltaMovement().multiply(0.6D, 1.0D, 0.6D));
-@@ -1299,7 +1299,7 @@ public abstract class Player extends LivingEntity {
- if (entityliving != this && entityliving != target && !this.isAlliedTo((Entity) entityliving) && (!(entityliving instanceof ArmorStand) || !((ArmorStand) entityliving).isMarker()) && this.distanceToSqr((Entity) entityliving) < 9.0D) {
- // CraftBukkit start - Only apply knockback if the damage hits
- if (entityliving.hurt(this.damageSources().playerAttack(this).sweep(), f4)) {
-- entityliving.knockback(0.4000000059604645D, (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)));
-+ entityliving.knockback(0.4000000059604645D, (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this); // Paper - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent
- }
- // CraftBukkit end
- }
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
index 0f700442a7559fac5d27d1fb6b3716f3853a9897..f3861cea4eb6a39fa16936383f8dabc6689a58a9 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
diff --git a/patches/server/0204-Expand-Explosions-API.patch b/patches/server/0203-Expand-Explosions-API.patch
index c91ea25247..c181cd3402 100644
--- a/patches/server/0204-Expand-Explosions-API.patch
+++ b/patches/server/0203-Expand-Explosions-API.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Expand Explosions API
Add Entity as a Source capability, and add more API choices, and on Location.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 8fbc232ce409951d67eee1dbe34bc5bf4d069d01..4f631eced3403df0339d3d7b4a49b5c8f68408dd 100644
+index 012c0bf4f824543d475e97e0edb6c4fe88d046e5..b5bf92b668be5bdbd6af722929aee28eb1bf5ffa 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -729,6 +729,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -735,6 +735,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, Entity source) {
return !this.world.explode(source == null ? null : ((CraftEntity) source).getHandle(), x, y, z, power, setFire, breakBlocks ? net.minecraft.world.level.Level.ExplosionInteraction.MOB : net.minecraft.world.level.Level.ExplosionInteraction.NONE).wasCanceled;
}
diff --git a/patches/server/0205-LivingEntity-Hand-Raised-Item-Use-API.patch b/patches/server/0204-LivingEntity-Hand-Raised-Item-Use-API.patch
index 189a3bdc7b..586af96db3 100644
--- a/patches/server/0205-LivingEntity-Hand-Raised-Item-Use-API.patch
+++ b/patches/server/0204-LivingEntity-Hand-Raised-Item-Use-API.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] LivingEntity Hand Raised/Item Use API
How long an entity has raised hands to charge an attack or use an item
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 30c6d32040decc56947d7e8a840036262e122137..0c561653f81dbc64cc78b4a27185aa3de1f9946b 100644
+index ca92ece290c6dd164b3ba2ba46289350ae6829e8..8ac3beab73904db7362caa3054994b214c997cf7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -836,5 +836,30 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -849,5 +849,30 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
public void setShieldBlockingDelay(int delay) {
getHandle().setShieldBlockingDelay(delay);
}
diff --git a/patches/server/0206-RangedEntity-API.patch b/patches/server/0205-RangedEntity-API.patch
index 5383dfd935..5383dfd935 100644
--- a/patches/server/0206-RangedEntity-API.patch
+++ b/patches/server/0205-RangedEntity-API.patch
diff --git a/patches/server/0207-Add-config-to-disable-ender-dragon-legacy-check.patch b/patches/server/0206-Add-config-to-disable-ender-dragon-legacy-check.patch
index 719410ac4b..8a9728d94f 100644
--- a/patches/server/0207-Add-config-to-disable-ender-dragon-legacy-check.patch
+++ b/patches/server/0206-Add-config-to-disable-ender-dragon-legacy-check.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add config to disable ender dragon legacy check
diff --git a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
-index f310098b0a59fa5341198bb8282b23dfa4a7fc3a..d6b6c83a6d660107956a28c16fde2260583722aa 100644
+index 38c2aed0785b3b5bcceba572a1a6f5fb0224964d..cad7a1b28c9d7a3e67dbf0865cbf232ebd39a8d9 100644
--- a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
+++ b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
@@ -106,6 +106,10 @@ public class EndDragonFight {
diff --git a/patches/server/0208-Implement-World.getEntity-UUID-API.patch b/patches/server/0207-Implement-World.getEntity-UUID-API.patch
index 5f8874e80e..9f5b8131e3 100644
--- a/patches/server/0208-Implement-World.getEntity-UUID-API.patch
+++ b/patches/server/0207-Implement-World.getEntity-UUID-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement World.getEntity(UUID) API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 4f631eced3403df0339d3d7b4a49b5c8f68408dd..845e16bec244a59a89d790363ddd5fe1d7bfdbf7 100644
+index b5bf92b668be5bdbd6af722929aee28eb1bf5ffa..3fe84fa65961dff58a416f7262c8b8ce218a3b49 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1058,6 +1058,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1071,6 +1071,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return list;
}
diff --git a/patches/server/0209-InventoryCloseEvent-Reason-API.patch b/patches/server/0208-InventoryCloseEvent-Reason-API.patch
index e7a3e3b0ff..0532743156 100644
--- a/patches/server/0209-InventoryCloseEvent-Reason-API.patch
+++ b/patches/server/0208-InventoryCloseEvent-Reason-API.patch
@@ -29,7 +29,7 @@ index 180a9ade7bbc84d8c64b6c92583ba870464c23a5..a6749080a192a591dd4e52f56b691df8
}
// Spigot End
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index d51244c634d0209efb98be965ce7318480220b96..33108a55c1cc305d44238d0862755af874f19395 100644
+index 19cd69fc911bb9b95257b1fdc19645bbdfe05de3..38a3b264ba72631c27203a178ac0bbdd36e10a10 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -648,7 +648,7 @@ public class ServerPlayer extends Player {
@@ -75,7 +75,7 @@ index d51244c634d0209efb98be965ce7318480220b96..33108a55c1cc305d44238d0862755af8
this.doCloseContainer();
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 1da44846ad1ed2768fd7ebca4017c4bbc399ba68..6bd81598a45fd0b428740f7be674adfe0c26aa05 100644
+index 39af3e197502c1f262fbdd4e06dc0e3fc7537b77..f9e961bc76f0ae1d7737f3840dfc667567f969d0 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2526,10 +2526,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -109,10 +109,10 @@ index 9f8a95c8f46a11f36ff16863922a91a8d81d0bb3..e68a0c86f73325189a67186b05806250
PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(entityplayer.getBukkitEntity(), net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? entityplayer.getBukkitEntity().displayName() : io.papermc.paper.adventure.PaperAdventure.asAdventure(entityplayer.getDisplayName()))); // Paper - Adventure
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index 5f59c7436756645a74ea730b026deb25d1571c9c..fb4cc32f2840098a13981ec4328e7eb6fe4f714b 100644
+index de537f4e89ccadefafb0f3e6075dba5f030f2654..c794fa6290be9904f3e97e74be9959f243c00f58 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -263,7 +263,7 @@ public abstract class Player extends LivingEntity {
+@@ -264,7 +264,7 @@ public abstract class Player extends LivingEntity {
this.updateIsUnderwater();
super.tick();
if (!this.level().isClientSide && this.containerMenu != null && !this.containerMenu.stillValid(this)) {
@@ -121,7 +121,7 @@ index 5f59c7436756645a74ea730b026deb25d1571c9c..fb4cc32f2840098a13981ec4328e7eb6
this.containerMenu = this.inventoryMenu;
}
-@@ -495,6 +495,13 @@ public abstract class Player extends LivingEntity {
+@@ -496,6 +496,13 @@ public abstract class Player extends LivingEntity {
}
@@ -165,10 +165,10 @@ index 092d2bfab7e8fd9840e853f09adc85311ab29046..af6f8d11f0384c353332f5c5bb0967e5
@Override
public boolean isBlocking() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 4d0d2b1bc24a0d56724d7062bdbc3c7cf78e2b8a..047be06ad290e6e066689fe3b95902a3459304b3 100644
+index a77c15a9c351c9cd5e8b4832016ec6de30483ed6..ddf089d73a05792d99a96bb449717d82755f5cd9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1152,7 +1152,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1182,7 +1182,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Close any foreign inventory
if (this.getHandle().containerMenu != this.getHandle().inventoryMenu) {
@@ -178,10 +178,10 @@ index 4d0d2b1bc24a0d56724d7062bdbc3c7cf78e2b8a..047be06ad290e6e066689fe3b95902a3
// Check if the fromWorld and toWorld are the same.
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 83efc53d933e6de7ee414e89226d3a0cb54e3cf3..de7971320df8cb1c00c6a836a5c3c953a10f9a69 100644
+index e0234ea1d55e918072574fb5d4b6cc75fc5d46d6..9e2007967d093d7a72e980f578657e4bcb9badae 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1331,7 +1331,7 @@ public class CraftEventFactory {
+@@ -1262,7 +1262,7 @@ public class CraftEventFactory {
public static AbstractContainerMenu callInventoryOpenEvent(ServerPlayer player, AbstractContainerMenu container, boolean cancelled) {
if (player.containerMenu != player.inventoryMenu) { // fire INVENTORY_CLOSE if one already open
@@ -190,7 +190,7 @@ index 83efc53d933e6de7ee414e89226d3a0cb54e3cf3..de7971320df8cb1c00c6a836a5c3c953
}
CraftServer server = player.level().getCraftServer();
-@@ -1518,8 +1518,18 @@ public class CraftEventFactory {
+@@ -1449,8 +1449,18 @@ public class CraftEventFactory {
return event;
}
diff --git a/patches/server/0210-Vex-get-setSummoner-API.patch b/patches/server/0209-Vex-get-setSummoner-API.patch
index 9c014ff1fc..9c014ff1fc 100644
--- a/patches/server/0210-Vex-get-setSummoner-API.patch
+++ b/patches/server/0209-Vex-get-setSummoner-API.patch
diff --git a/patches/server/0211-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/patches/server/0210-Refresh-player-inventory-when-cancelling-PlayerInter.patch
index 6a911ce332..20ce8db8a7 100644
--- a/patches/server/0211-Refresh-player-inventory-when-cancelling-PlayerInter.patch
+++ b/patches/server/0210-Refresh-player-inventory-when-cancelling-PlayerInter.patch
@@ -16,7 +16,7 @@ Refresh the player inventory when PlayerInteractEntityEvent is
cancelled to avoid this problem.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 6bd81598a45fd0b428740f7be674adfe0c26aa05..60443fecfc6956e9863d8cf3cf74be447d48ba34 100644
+index f9e961bc76f0ae1d7737f3840dfc667567f969d0..3d6355f50d04035f62fa9eddee076d0a157c89a6 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2417,6 +2417,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0212-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch b/patches/server/0211-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch
index 50b3a6608f..50b3a6608f 100644
--- a/patches/server/0212-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch
+++ b/patches/server/0211-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch
diff --git a/patches/server/0213-add-more-information-to-Entity.toString.patch b/patches/server/0212-add-more-information-to-Entity.toString.patch
index dfdc050609..5c23622818 100644
--- a/patches/server/0213-add-more-information-to-Entity.toString.patch
+++ b/patches/server/0212-add-more-information-to-Entity.toString.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] add more information to Entity.toString()
UUID, ticks lived, valid, dead
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 94c6914a7af6329e4bed8a8d470563b7901fb248..7abb4ba10029ad8df5ed520d1d3deb9d2819ca8d 100644
+index cf907e0c1a89639639b6453032f8f6fe4e05a81c..dadf26ee5b6be851473429dbef703037f0c0d9fe 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3150,7 +3150,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -3153,7 +3153,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public String toString() {
String s = this.level() == null ? "~NULL~" : this.level().toString();
diff --git a/patches/server/0214-EnderDragon-Events.patch b/patches/server/0213-EnderDragon-Events.patch
index 2b7a35d8de..2b7a35d8de 100644
--- a/patches/server/0214-EnderDragon-Events.patch
+++ b/patches/server/0213-EnderDragon-Events.patch
diff --git a/patches/server/0215-PlayerElytraBoostEvent.patch b/patches/server/0214-PlayerElytraBoostEvent.patch
index 902f983c36..902f983c36 100644
--- a/patches/server/0215-PlayerElytraBoostEvent.patch
+++ b/patches/server/0214-PlayerElytraBoostEvent.patch
diff --git a/patches/server/0216-PlayerLaunchProjectileEvent.patch b/patches/server/0215-PlayerLaunchProjectileEvent.patch
index 5d9bed5608..5d9bed5608 100644
--- a/patches/server/0216-PlayerLaunchProjectileEvent.patch
+++ b/patches/server/0215-PlayerLaunchProjectileEvent.patch
diff --git a/patches/server/0217-Improve-BlockPosition-inlining.patch b/patches/server/0216-Improve-BlockPosition-inlining.patch
index b9b5c09af2..b9b5c09af2 100644
--- a/patches/server/0217-Improve-BlockPosition-inlining.patch
+++ b/patches/server/0216-Improve-BlockPosition-inlining.patch
diff --git a/patches/server/0218-Option-to-prevent-armor-stands-from-doing-entity-loo.patch b/patches/server/0217-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
index a621cabe07..a621cabe07 100644
--- a/patches/server/0218-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
+++ b/patches/server/0217-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
diff --git a/patches/server/0219-Vanished-players-don-t-have-rights.patch b/patches/server/0218-Vanished-players-don-t-have-rights.patch
index 952717da68..1b1fe50a96 100644
--- a/patches/server/0219-Vanished-players-don-t-have-rights.patch
+++ b/patches/server/0218-Vanished-players-don-t-have-rights.patch
@@ -89,10 +89,10 @@ index 37c50c9da4249a92811aaa5cef5743ccefdcb4a8..181201ecd6c617cc37ba097a667bd96a
public boolean isClientSide() {
return this.isClientSide;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index de7971320df8cb1c00c6a836a5c3c953a10f9a69..3ee2b011689b9d2df03947c1e04e3042b8e8c853 100644
+index 9e2007967d093d7a72e980f578657e4bcb9badae..9d95dba058dd26db42d9e32b90399a78211bcd79 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1368,6 +1368,14 @@ public class CraftEventFactory {
+@@ -1299,6 +1299,14 @@ public class CraftEventFactory {
Projectile projectile = (Projectile) entity.getBukkitEntity();
org.bukkit.entity.Entity collided = position.getEntity().getBukkitEntity();
com.destroystokyo.paper.event.entity.ProjectileCollideEvent event = new com.destroystokyo.paper.event.entity.ProjectileCollideEvent(projectile, collided);
diff --git a/patches/server/0220-Allow-disabling-armor-stand-ticking.patch b/patches/server/0219-Allow-disabling-armor-stand-ticking.patch
index 9d074fefe4..9d074fefe4 100644
--- a/patches/server/0220-Allow-disabling-armor-stand-ticking.patch
+++ b/patches/server/0219-Allow-disabling-armor-stand-ticking.patch
diff --git a/patches/server/0221-SkeletonHorse-Additions.patch b/patches/server/0220-SkeletonHorse-Additions.patch
index 15761af470..15761af470 100644
--- a/patches/server/0221-SkeletonHorse-Additions.patch
+++ b/patches/server/0220-SkeletonHorse-Additions.patch
diff --git a/patches/server/0222-Don-t-call-getItemMeta-on-hasItemMeta.patch b/patches/server/0221-Don-t-call-getItemMeta-on-hasItemMeta.patch
index c597f5c121..c597f5c121 100644
--- a/patches/server/0222-Don-t-call-getItemMeta-on-hasItemMeta.patch
+++ b/patches/server/0221-Don-t-call-getItemMeta-on-hasItemMeta.patch
diff --git a/patches/server/0223-Expand-ArmorStand-API.patch b/patches/server/0222-Expand-ArmorStand-API.patch
index 1112902d66..1112902d66 100644
--- a/patches/server/0223-Expand-ArmorStand-API.patch
+++ b/patches/server/0222-Expand-ArmorStand-API.patch
diff --git a/patches/server/0224-AnvilDamageEvent.patch b/patches/server/0223-AnvilDamageEvent.patch
index fc3492a898..fc3492a898 100644
--- a/patches/server/0224-AnvilDamageEvent.patch
+++ b/patches/server/0223-AnvilDamageEvent.patch
diff --git a/patches/server/0225-Add-TNTPrimeEvent.patch b/patches/server/0224-Add-TNTPrimeEvent.patch
index fa2d4a8822..fa2d4a8822 100644
--- a/patches/server/0225-Add-TNTPrimeEvent.patch
+++ b/patches/server/0224-Add-TNTPrimeEvent.patch
diff --git a/patches/server/0226-Break-up-and-make-tab-spam-limits-configurable.patch b/patches/server/0225-Break-up-and-make-tab-spam-limits-configurable.patch
index fffc05d609..48a5038a88 100644
--- a/patches/server/0226-Break-up-and-make-tab-spam-limits-configurable.patch
+++ b/patches/server/0225-Break-up-and-make-tab-spam-limits-configurable.patch
@@ -22,7 +22,7 @@ to take the burden of this into their own hand without having to rely on
plugins doing unsafe things.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 60443fecfc6956e9863d8cf3cf74be447d48ba34..4787d49964ddb93558faa271ad27f5bbc17742f2 100644
+index 3d6355f50d04035f62fa9eddee076d0a157c89a6..acf350e18b9e4de77b43a01afe40a72ef040d92e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -256,6 +256,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0227-Fix-NBT-type-issues.patch b/patches/server/0226-Fix-NBT-type-issues.patch
index 58e82e71e9..58e82e71e9 100644
--- a/patches/server/0227-Fix-NBT-type-issues.patch
+++ b/patches/server/0226-Fix-NBT-type-issues.patch
diff --git a/patches/server/0228-Remove-unnecessary-itemmeta-handling.patch b/patches/server/0227-Remove-unnecessary-itemmeta-handling.patch
index 19a56b5c05..19a56b5c05 100644
--- a/patches/server/0228-Remove-unnecessary-itemmeta-handling.patch
+++ b/patches/server/0227-Remove-unnecessary-itemmeta-handling.patch
diff --git a/patches/server/0229-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/patches/server/0228-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch
index f9d49cc31b..004d23918b 100644
--- a/patches/server/0229-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch
+++ b/patches/server/0228-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index 987f867def412552b0d7f6cb2cba50af520f1257..1a80f48a425a81af6acd917f67d33a80746f46c3 100644
+index de328a93abcf23d3ff265557a7d8bad5be56287c..9f8ee9d9b5fec9ca9c5e8462ed1aef742fa628ac 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1425,6 +1425,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -43,7 +43,7 @@ index a6749080a192a591dd4e52f56b691df8d9cfcd98..e1518465e4ffc473a75a57e4d9b3ad39
// WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getKey(entity.getType())); // CraftBukkit
return false;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 3ff8c6a4aa867e2ceed8c355550c9c20db6e812e..92284eff12eb28034e33563bb3644deeb0fa81ac 100644
+index 803802380883cb198b4a40c08d1540cacaca8c2f..5a837807037b2bf8c3cd5f7fd5965c26cbc79e1b 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -241,6 +241,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
diff --git a/patches/server/0230-Add-Early-Warning-Feature-to-WatchDog.patch b/patches/server/0229-Add-Early-Warning-Feature-to-WatchDog.patch
index 61218d8b3c..4fee792554 100644
--- a/patches/server/0230-Add-Early-Warning-Feature-to-WatchDog.patch
+++ b/patches/server/0229-Add-Early-Warning-Feature-to-WatchDog.patch
@@ -9,7 +9,7 @@ thread dumps at an interval until the point of crash.
This will help diagnose what was going on in that time before the crash.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index eb305e3e4e6574637cd20f99ca979be8acd09e9b..e1d8eae931f6eb7ddfca1d6dadcb28fec08ccede 100644
+index 0f3589ae1c5577c612b93289fc42cdb977486b6b..0b704d5d39263b66f7846a9c4a116ac4d96383cf 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1092,6 +1092,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -21,7 +21,7 @@ index eb305e3e4e6574637cd20f99ca979be8acd09e9b..e1d8eae931f6eb7ddfca1d6dadcb28fe
// Paper start - further improve server tick loop
long tickSection = Util.getNanos();
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index 6aede562955799fae90a1234b6300ba3a91ba2f2..333647f4328c29afffdc2b0de5abeec731959c59 100644
+index 8edf2f049aa077792bfb507384f4cf5bb716cb64..6db918db1984d298c57eb93f7cf38aa26f01a04c 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -198,6 +198,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -33,10 +33,10 @@ index 6aede562955799fae90a1234b6300ba3a91ba2f2..333647f4328c29afffdc2b0de5abeec7
com.destroystokyo.paper.Metrics.PaperMetrics.startMetrics(); // Paper - start metrics
com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // Paper - load version history now
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 6bbbea27834c4f628fbd97fa282dc1a3a991f523..a880bc79f139633d5a6aa9a0fa290c691abdcf98 100644
+index d25ee3ca530289c0deda45b01196ece98788e628..abdff07588cb06f8ec4f3f2172f7dce92fa8a979 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -915,6 +915,7 @@ public final class CraftServer implements Server {
+@@ -927,6 +927,7 @@ public final class CraftServer implements Server {
@Override
public void reload() {
@@ -44,7 +44,7 @@ index 6bbbea27834c4f628fbd97fa282dc1a3a991f523..a880bc79f139633d5a6aa9a0fa290c69
this.reloadCount++;
this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile());
this.commandsConfiguration = YamlConfiguration.loadConfiguration(this.getCommandsConfigFile());
-@@ -1004,6 +1005,7 @@ public final class CraftServer implements Server {
+@@ -1016,6 +1017,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/0231-Use-ConcurrentHashMap-in-JsonList.patch b/patches/server/0230-Use-ConcurrentHashMap-in-JsonList.patch
index 9977232428..9977232428 100644
--- a/patches/server/0231-Use-ConcurrentHashMap-in-JsonList.patch
+++ b/patches/server/0230-Use-ConcurrentHashMap-in-JsonList.patch
diff --git a/patches/server/0232-Use-a-Queue-for-Queueing-Commands.patch b/patches/server/0231-Use-a-Queue-for-Queueing-Commands.patch
index 2d825430b6..24d08d52b3 100644
--- a/patches/server/0232-Use-a-Queue-for-Queueing-Commands.patch
+++ b/patches/server/0231-Use-a-Queue-for-Queueing-Commands.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Use a Queue for Queueing Commands
Lists are bad as Queues mmmkay.
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index 333647f4328c29afffdc2b0de5abeec731959c59..47b12535d2cb146155044cc20b14bb5a432f83d5 100644
+index 6db918db1984d298c57eb93f7cf38aa26f01a04c..78775feb965d6eb98a1ff655ae44b9f0399ef9aa 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -69,7 +69,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
diff --git a/patches/server/0233-Ability-to-get-block-entities-from-a-chunk-without-s.patch b/patches/server/0232-Ability-to-get-block-entities-from-a-chunk-without-s.patch
index cebc69de1b..bc4f825d2a 100644
--- a/patches/server/0233-Ability-to-get-block-entities-from-a-chunk-without-s.patch
+++ b/patches/server/0232-Ability-to-get-block-entities-from-a-chunk-without-s.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Ability to get block entities from a chunk without snapshots
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
-index 491416754e1c5e8c2b345b57f45289906c7932ba..e38643853220cabeac6c30912a9ae4bc1c018d5f 100644
+index 70999e95116d50de1a7fecdd91bbad0bac2bf1d8..bfde7573acb6d84accfd3f7fee877bbfb3b0852f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
-@@ -171,6 +171,13 @@ public class CraftChunk implements Chunk {
+@@ -173,6 +173,13 @@ public class CraftChunk implements Chunk {
@Override
public BlockState[] getTileEntities() {
@@ -22,7 +22,7 @@ index 491416754e1c5e8c2b345b57f45289906c7932ba..e38643853220cabeac6c30912a9ae4bc
if (!this.isLoaded()) {
this.getWorld().getChunkAt(this.x, this.z); // Transient load for this tick
}
-@@ -180,7 +187,29 @@ public class CraftChunk implements Chunk {
+@@ -182,7 +189,29 @@ public class CraftChunk implements Chunk {
BlockState[] entities = new BlockState[chunk.blockEntities.size()];
for (BlockPos position : chunk.blockEntities.keySet()) {
diff --git a/patches/server/0234-Optimize-BlockPosition-helper-methods.patch b/patches/server/0233-Optimize-BlockPosition-helper-methods.patch
index ed94eb3b7b..ed94eb3b7b 100644
--- a/patches/server/0234-Optimize-BlockPosition-helper-methods.patch
+++ b/patches/server/0233-Optimize-BlockPosition-helper-methods.patch
diff --git a/patches/server/0235-Restore-vanilla-default-mob-spawn-range-and-water-an.patch b/patches/server/0234-Restore-vanilla-default-mob-spawn-range-and-water-an.patch
index aa9cfcc962..aa9cfcc962 100644
--- a/patches/server/0235-Restore-vanilla-default-mob-spawn-range-and-water-an.patch
+++ b/patches/server/0234-Restore-vanilla-default-mob-spawn-range-and-water-an.patch
diff --git a/patches/server/0236-Slime-Pathfinder-Events.patch b/patches/server/0235-Slime-Pathfinder-Events.patch
index 80b0cd1b08..80b0cd1b08 100644
--- a/patches/server/0236-Slime-Pathfinder-Events.patch
+++ b/patches/server/0235-Slime-Pathfinder-Events.patch
diff --git a/patches/server/0237-Configurable-speed-for-water-flowing-over-lava.patch b/patches/server/0236-Configurable-speed-for-water-flowing-over-lava.patch
index 1ae5655967..1ae5655967 100644
--- a/patches/server/0237-Configurable-speed-for-water-flowing-over-lava.patch
+++ b/patches/server/0236-Configurable-speed-for-water-flowing-over-lava.patch
diff --git a/patches/server/0238-Optimize-CraftBlockData-Creation.patch b/patches/server/0237-Optimize-CraftBlockData-Creation.patch
index 363405cffd..24ea11022c 100644
--- a/patches/server/0238-Optimize-CraftBlockData-Creation.patch
+++ b/patches/server/0237-Optimize-CraftBlockData-Creation.patch
@@ -26,7 +26,7 @@ index b6d3f9f9520e410526cfeabcdeb9720dbe30e4bf..6f60622f2dad5f82fb24505612e7e3a3
private boolean calculateSolid() {
if (((Block) this.owner).properties.forceSolidOn) {
diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
-index 09b95423e66da487f48ee594ba682a4c92e347b5..85ee8a3d6db6610104f8a10d77d7cad5dc9b667e 100644
+index 85ea3d059efed939c56b612f3c8e2064a28c39e6..fce3fec5e1ff164b0596fdd6b3d7b5b0277253ef 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
@@ -570,7 +570,17 @@ public class CraftBlockData implements BlockData {
diff --git a/patches/server/0239-Optimize-MappedRegistry.patch b/patches/server/0238-Optimize-MappedRegistry.patch
index cb661e87c8..cb661e87c8 100644
--- a/patches/server/0239-Optimize-MappedRegistry.patch
+++ b/patches/server/0238-Optimize-MappedRegistry.patch
diff --git a/patches/server/0240-Add-PhantomPreSpawnEvent.patch b/patches/server/0239-Add-PhantomPreSpawnEvent.patch
index b8f3ee434f..b8f3ee434f 100644
--- a/patches/server/0240-Add-PhantomPreSpawnEvent.patch
+++ b/patches/server/0239-Add-PhantomPreSpawnEvent.patch
diff --git a/patches/server/0241-Add-More-Creeper-API.patch b/patches/server/0240-Add-More-Creeper-API.patch
index 042306c22c..042306c22c 100644
--- a/patches/server/0241-Add-More-Creeper-API.patch
+++ b/patches/server/0240-Add-More-Creeper-API.patch
diff --git a/patches/server/0242-Inventory-removeItemAnySlot.patch b/patches/server/0241-Inventory-removeItemAnySlot.patch
index 1316343a0a..1316343a0a 100644
--- a/patches/server/0242-Inventory-removeItemAnySlot.patch
+++ b/patches/server/0241-Inventory-removeItemAnySlot.patch
diff --git a/patches/server/0243-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/patches/server/0242-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch
index b249c98d2a..5588062e09 100644
--- a/patches/server/0243-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch
+++ b/patches/server/0242-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 845e16bec244a59a89d790363ddd5fe1d7bfdbf7..e0cb72d826168f3c22c5be4c2c8e6d760edafb97 100644
+index 3fe84fa65961dff58a416f7262c8b8ce218a3b49..358fe6e35ab7555bbd6ae075bcec5249e09dede1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -400,7 +400,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -406,7 +406,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean loadChunk(int x, int z, boolean generate) {
org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot
diff --git a/patches/server/0244-Add-ray-tracing-methods-to-LivingEntity.patch b/patches/server/0243-Add-ray-tracing-methods-to-LivingEntity.patch
index a8fc76396c..7cb609e3e7 100644
--- a/patches/server/0244-Add-ray-tracing-methods-to-LivingEntity.patch
+++ b/patches/server/0243-Add-ray-tracing-methods-to-LivingEntity.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add ray tracing methods to LivingEntity
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index b58a13e33a0b98bbbdd3283fc3b90cde11ecd37f..9e0555b1e98bba6a9305c3996c69347e47d73204 100644
+index 2900326a87d21c8a92edb303ed42fd11ea7f3010..b9d202cb06672f0791792ac676761c404ffb02bc 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3828,6 +3828,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3841,6 +3841,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
// Paper start - Make shield blocking delay configurable
@@ -29,10 +29,10 @@ index b58a13e33a0b98bbbdd3283fc3b90cde11ecd37f..9e0555b1e98bba6a9305c3996c69347e
public int getShieldBlockingDelay() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index a4af5db4d2d45429a46830e4af0ba45c8c5008be..7ac9515c0cca4e6a1197a42d5ff1dff04d183bd5 100644
+index 8ac3beab73904db7362caa3054994b214c997cf7..1510b4d8fc08f4455b38ad4edb6bdf91ad317c96 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -200,6 +200,33 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -201,6 +201,33 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
return blocks.get(0);
}
diff --git a/patches/server/0245-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0244-Expose-attack-cooldown-methods-for-Player.patch
index fca7875ee1..2b4d1222f5 100644
--- a/patches/server/0245-Expose-attack-cooldown-methods-for-Player.patch
+++ b/patches/server/0244-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 047be06ad290e6e066689fe3b95902a3459304b3..b98f26b6958cb3f874a4c0d85e2c10ec517cbbff 100644
+index ddf089d73a05792d99a96bb449717d82755f5cd9..27d29187b5471fa9d1588b7e8e35539be8a861a0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2846,6 +2846,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2897,6 +2897,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.adventure$pointers;
}
diff --git a/patches/server/0246-Improve-death-events.patch b/patches/server/0245-Improve-death-events.patch
index c73e594c2b..076aeeb785 100644
--- a/patches/server/0246-Improve-death-events.patch
+++ b/patches/server/0245-Improve-death-events.patch
@@ -19,7 +19,7 @@ public net.minecraft.world.entity.LivingEntity getDeathSound()Lnet/minecraft/sou
public net.minecraft.world.entity.LivingEntity getSoundVolume()F
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 33108a55c1cc305d44238d0862755af874f19395..1042b19c906e40d4a4e9ef76d69228149e84e3c5 100644
+index 38a3b264ba72631c27203a178ac0bbdd36e10a10..80cedd5221d3c0dc475c631113e8782507067cb0 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -248,6 +248,10 @@ public class ServerPlayer extends Player {
@@ -80,10 +80,10 @@ index 33108a55c1cc305d44238d0862755af874f19395..1042b19c906e40d4a4e9ef76d6922814
}
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 9e0555b1e98bba6a9305c3996c69347e47d73204..bd70046b4fef307b6b8b626a65f0b4a366ab7158 100644
+index b9d202cb06672f0791792ac676761c404ffb02bc..78f601ff13b160c0661ba0b60365403f9eb7fffb 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -258,6 +258,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -259,6 +259,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public Set<UUID> collidableExemptions = new HashSet<>();
public boolean bukkitPickUpLoot;
public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper
@@ -91,7 +91,7 @@ index 9e0555b1e98bba6a9305c3996c69347e47d73204..bd70046b4fef307b6b8b626a65f0b4a3
@Override
public float getBukkitYaw() {
-@@ -1521,13 +1522,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1522,13 +1523,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (this.isDeadOrDying()) {
if (!this.checkTotemDeathProtection(source)) {
@@ -109,7 +109,7 @@ index 9e0555b1e98bba6a9305c3996c69347e47d73204..bd70046b4fef307b6b8b626a65f0b4a3
}
} else if (flag1) {
this.playHurtSound(source);
-@@ -1679,6 +1679,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1680,6 +1680,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
Entity entity = damageSource.getEntity();
LivingEntity entityliving = this.getKillCredit();
@@ -117,7 +117,7 @@ index 9e0555b1e98bba6a9305c3996c69347e47d73204..bd70046b4fef307b6b8b626a65f0b4a3
if (this.deathScore >= 0 && entityliving != null) {
entityliving.awardKillScore(this, this.deathScore, damageSource);
}
-@@ -1690,24 +1691,59 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1691,24 +1692,59 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (!this.level().isClientSide && this.hasCustomName()) {
if (org.spigotmc.SpigotConfig.logNamedDeaths) LivingEntity.LOGGER.info("Named entity {} died: {}", this, this.getCombatTracker().getDeathMessage().getString()); // Spigot
}
@@ -182,7 +182,7 @@ index 9e0555b1e98bba6a9305c3996c69347e47d73204..bd70046b4fef307b6b8b626a65f0b4a3
}
}
-@@ -1715,7 +1751,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1716,7 +1752,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (!this.level().isClientSide) {
boolean flag = false;
@@ -191,7 +191,7 @@ index 9e0555b1e98bba6a9305c3996c69347e47d73204..bd70046b4fef307b6b8b626a65f0b4a3
if (this.level().getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) {
BlockPos blockposition = this.blockPosition();
BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState();
-@@ -1744,7 +1780,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1745,7 +1781,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
}
@@ -204,7 +204,7 @@ index 9e0555b1e98bba6a9305c3996c69347e47d73204..bd70046b4fef307b6b8b626a65f0b4a3
Entity entity = source.getEntity();
int i;
-@@ -1759,18 +1799,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1760,18 +1800,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.dropEquipment(); // CraftBukkit - from below
if (this.shouldDropLoot() && this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
this.dropFromLootTable(source, flag);
@@ -234,7 +234,7 @@ index 9e0555b1e98bba6a9305c3996c69347e47d73204..bd70046b4fef307b6b8b626a65f0b4a3
// CraftBukkit start
public int getExpReward() {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
-index 4ae0f36276592e37aeb5f881b713efa76d086f8e..236b10b86cdf6e0a723d8c9f199dde9cc983198e 100644
+index bb051d73a048b0a8ce245914f3564e39702b8452..645fb2ec7d969068eb10d59d43a512c74cca5a58 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1057,6 +1057,12 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -435,10 +435,10 @@ index ecce8036e58a9ed1408e110e75980bf77c18779a..ddd512e1d7608ec051fb5adf6ec2c6bb
this.gameEvent(GameEvent.ENTITY_DIE);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index b98f26b6958cb3f874a4c0d85e2c10ec517cbbff..adcba9111415a20a4a55bb182be84c9f6d3755d7 100644
+index 27d29187b5471fa9d1588b7e8e35539be8a861a0..8cda792c1700bbc511e364e28fd7ee6893fe8db2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2383,7 +2383,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2434,7 +2434,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void sendHealthUpdate() {
FoodData foodData = this.getHandle().getFoodData();
@@ -455,7 +455,7 @@ index b98f26b6958cb3f874a4c0d85e2c10ec517cbbff..adcba9111415a20a4a55bb182be84c9f
public void injectScaledMaxHealth(Collection<AttributeInstance> collection, boolean force) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 3ee2b011689b9d2df03947c1e04e3042b8e8c853..131fa4d389c3ddad31651f298ccd807847462f38 100644
+index 9d95dba058dd26db42d9e32b90399a78211bcd79..a08d1250cd5a5cc70e3796ac56a0cfaee6fe2b83 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -890,9 +890,16 @@ public class CraftEventFactory {
diff --git a/patches/server/0247-Allow-chests-to-be-placed-with-NBT-data.patch b/patches/server/0246-Allow-chests-to-be-placed-with-NBT-data.patch
index 13419c1636..ecee8a86b0 100644
--- a/patches/server/0247-Allow-chests-to-be-placed-with-NBT-data.patch
+++ b/patches/server/0246-Allow-chests-to-be-placed-with-NBT-data.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow chests to be placed with NBT data
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index 7f85121b6830ebf480c5ca7b42d3c835911de836..9b9504ca32d8cc7c037e0a96f2d8aa03d5c5495d 100644
+index 9d34a7cd8361fd65d30537d4498c8e2a03d93bb1..0a3fec9b82a4d744f9046aebe30f80bb6e56c500 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -407,6 +407,7 @@ public final class ItemStack {
+@@ -409,6 +409,7 @@ public final class ItemStack {
enuminteractionresult = InteractionResult.FAIL; // cancel placement
// PAIL: Remove this when MC-99075 fixed
placeEvent.getPlayer().updateInventory();
diff --git a/patches/server/0248-Mob-Pathfinding-API.patch b/patches/server/0247-Mob-Pathfinding-API.patch
index ec6e875e5d..ec6e875e5d 100644
--- a/patches/server/0248-Mob-Pathfinding-API.patch
+++ b/patches/server/0247-Mob-Pathfinding-API.patch
diff --git a/patches/server/0249-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch b/patches/server/0248-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
index 61c1bd0e6e..61c1bd0e6e 100644
--- a/patches/server/0249-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
+++ b/patches/server/0248-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
diff --git a/patches/server/0250-Prevent-various-interactions-from-causing-chunk-load.patch b/patches/server/0249-Prevent-various-interactions-from-causing-chunk-load.patch
index 5fad22ce92..5fad22ce92 100644
--- a/patches/server/0250-Prevent-various-interactions-from-causing-chunk-load.patch
+++ b/patches/server/0249-Prevent-various-interactions-from-causing-chunk-load.patch
diff --git a/patches/server/0251-Prevent-mob-spawning-from-loading-generating-chunks.patch b/patches/server/0250-Prevent-mob-spawning-from-loading-generating-chunks.patch
index 5933a5395e..406112a4c1 100644
--- a/patches/server/0251-Prevent-mob-spawning-from-loading-generating-chunks.patch
+++ b/patches/server/0250-Prevent-mob-spawning-from-loading-generating-chunks.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Prevent mob spawning from loading/generating chunks
also prevents if out of world border bounds
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
-index 286592be7aeb183d1a9ee439c250f2acf932f0bf..aec4897a647206da20666f4d54cdc5d1b516bfc2 100644
+index 352d230b365c512a4b9831265d3a57825f80fbfd..d5ada3301429e7fec0d157d7a33d4937e0f82fbb 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -170,9 +170,9 @@ public final class NaturalSpawner {
diff --git a/patches/server/0252-Implement-furnace-cook-speed-multiplier-API.patch b/patches/server/0251-Implement-furnace-cook-speed-multiplier-API.patch
index b3fe37e706..b3fe37e706 100644
--- a/patches/server/0252-Implement-furnace-cook-speed-multiplier-API.patch
+++ b/patches/server/0251-Implement-furnace-cook-speed-multiplier-API.patch
diff --git a/patches/server/0253-Honor-EntityAgeable.ageLock.patch b/patches/server/0252-Honor-EntityAgeable.ageLock.patch
index 6a5ceecb1f..6a5ceecb1f 100644
--- a/patches/server/0253-Honor-EntityAgeable.ageLock.patch
+++ b/patches/server/0252-Honor-EntityAgeable.ageLock.patch
diff --git a/patches/server/0254-Configurable-connection-throttle-kick-message.patch b/patches/server/0253-Configurable-connection-throttle-kick-message.patch
index d14ef13eaa..d14ef13eaa 100644
--- a/patches/server/0254-Configurable-connection-throttle-kick-message.patch
+++ b/patches/server/0253-Configurable-connection-throttle-kick-message.patch
diff --git a/patches/server/0255-Prevent-chunk-loading-from-Fluid-Flowing.patch b/patches/server/0254-Prevent-chunk-loading-from-Fluid-Flowing.patch
index a809dac397..a809dac397 100644
--- a/patches/server/0255-Prevent-chunk-loading-from-Fluid-Flowing.patch
+++ b/patches/server/0254-Prevent-chunk-loading-from-Fluid-Flowing.patch
diff --git a/patches/server/0256-Hook-into-CB-plugin-rewrites.patch b/patches/server/0255-Hook-into-CB-plugin-rewrites.patch
index b10040abad..b10040abad 100644
--- a/patches/server/0256-Hook-into-CB-plugin-rewrites.patch
+++ b/patches/server/0255-Hook-into-CB-plugin-rewrites.patch
diff --git a/patches/server/0257-PreSpawnerSpawnEvent.patch b/patches/server/0256-PreSpawnerSpawnEvent.patch
index 669bde79e7..669bde79e7 100644
--- a/patches/server/0257-PreSpawnerSpawnEvent.patch
+++ b/patches/server/0256-PreSpawnerSpawnEvent.patch
diff --git a/patches/server/0258-Add-LivingEntity-getTargetEntity.patch b/patches/server/0257-Add-LivingEntity-getTargetEntity.patch
index fa447f577d..fb454512de 100644
--- a/patches/server/0258-Add-LivingEntity-getTargetEntity.patch
+++ b/patches/server/0257-Add-LivingEntity-getTargetEntity.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add LivingEntity#getTargetEntity
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index bd70046b4fef307b6b8b626a65f0b4a366ab7158..1f89fe5ee232089df6b63277d6e2938da840f5c0 100644
+index 78f601ff13b160c0661ba0b60365403f9eb7fffb..792473529c8afbabe2e501ab223eacaac08fcb96 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -115,6 +115,7 @@ import net.minecraft.world.level.storage.loot.LootTable;
@@ -16,7 +16,7 @@ index bd70046b4fef307b6b8b626a65f0b4a366ab7158..1f89fe5ee232089df6b63277d6e2938d
import net.minecraft.world.phys.HitResult;
import net.minecraft.world.phys.Vec3;
import net.minecraft.world.scores.PlayerTeam;
-@@ -3890,6 +3891,38 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3903,6 +3904,38 @@ public abstract class LivingEntity extends Entity implements Attackable {
return this.level().clip(raytrace);
}
@@ -56,7 +56,7 @@ index bd70046b4fef307b6b8b626a65f0b4a366ab7158..1f89fe5ee232089df6b63277d6e2938d
public int getShieldBlockingDelay() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 7ac9515c0cca4e6a1197a42d5ff1dff04d183bd5..fc7b54892af62e8b6e1cc93f2937e05bbfd01c8c 100644
+index 1510b4d8fc08f4455b38ad4edb6bdf91ad317c96..ea9a6446ed2dbddedbc615df93c9856a0a1f1a2e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1,5 +1,6 @@
@@ -66,7 +66,7 @@ index 7ac9515c0cca4e6a1197a42d5ff1dff04d183bd5..fc7b54892af62e8b6e1cc93f2937e05b
import com.google.common.base.Preconditions;
import com.google.common.collect.Sets;
import java.util.ArrayList;
-@@ -225,6 +226,39 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -226,6 +227,39 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
}
return null;
}
diff --git a/patches/server/0259-Add-sun-related-API.patch b/patches/server/0258-Add-sun-related-API.patch
index 31139b29c1..9725c39278 100644
--- a/patches/server/0259-Add-sun-related-API.patch
+++ b/patches/server/0258-Add-sun-related-API.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Add sun related API
public net.minecraft.world.entity.Mob isSunBurnTick()Z
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index e0cb72d826168f3c22c5be4c2c8e6d760edafb97..400dbd72c576590ccdbab9c52a3960acb457102f 100644
+index 358fe6e35ab7555bbd6ae075bcec5249e09dede1..0cded703702e7271eec909e470fbfded17eb791f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -705,6 +705,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -711,6 +711,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
}
diff --git a/patches/server/0260-Catch-JsonParseException-in-entity-and-block-entity-.patch b/patches/server/0259-Catch-JsonParseException-in-entity-and-block-entity-.patch
index 8439bb0bac..8439bb0bac 100644
--- a/patches/server/0260-Catch-JsonParseException-in-entity-and-block-entity-.patch
+++ b/patches/server/0259-Catch-JsonParseException-in-entity-and-block-entity-.patch
diff --git a/patches/server/0261-Turtle-API.patch b/patches/server/0260-Turtle-API.patch
index cfcc79e8a8..c72425f93a 100644
--- a/patches/server/0261-Turtle-API.patch
+++ b/patches/server/0260-Turtle-API.patch
@@ -12,10 +12,10 @@ public net.minecraft.world.entity.animal.Turtle isTravelling()Z
public net.minecraft.world.entity.animal.Turtle setTravelling(Z)V
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
-index 0dab0da65788720e56a568918de458ab7195ef5c..6bbcdd34fb89ea5774e825de8f9a588552716fc2 100644
+index 11322066522a3268063bad7267ef4dd4f06d983e..cfc0cee09dfd522409bb5853fc96528bd0137475 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
-@@ -491,14 +491,17 @@ public class Turtle extends Animal {
+@@ -489,14 +489,17 @@ public class Turtle extends Animal {
if (!this.turtle.isInWater() && this.isReachedTarget()) {
if (this.turtle.layEggCounter < 1) {
@@ -36,7 +36,7 @@ index 0dab0da65788720e56a568918de458ab7195ef5c..6bbcdd34fb89ea5774e825de8f9a5885
world.setBlock(blockposition1, iblockdata, 3);
world.gameEvent(GameEvent.BLOCK_PLACE, blockposition1, GameEvent.Context.of(this.turtle, iblockdata));
-@@ -568,7 +571,7 @@ public class Turtle extends Animal {
+@@ -566,7 +569,7 @@ public class Turtle extends Animal {
@Override
public boolean canUse() {
diff --git a/patches/server/0262-Call-player-spectator-target-events-and-improve-impl.patch b/patches/server/0261-Call-player-spectator-target-events-and-improve-impl.patch
index f9512688bf..4dccbd3f63 100644
--- a/patches/server/0262-Call-player-spectator-target-events-and-improve-impl.patch
+++ b/patches/server/0261-Call-player-spectator-target-events-and-improve-impl.patch
@@ -19,7 +19,7 @@ spectate the target entity.
Co-authored-by: Spottedleaf <[email protected]>
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 1042b19c906e40d4a4e9ef76d69228149e84e3c5..8432081cb287dbdbc7e89572e91fa634437b9809 100644
+index 80cedd5221d3c0dc475c631113e8782507067cb0..3a991a6ef6a8c3150bdc557219424cf13f1dc0cc 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2041,6 +2041,21 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0263-Add-more-Witch-API.patch b/patches/server/0262-Add-more-Witch-API.patch
index 2bfa611724..2bfa611724 100644
--- a/patches/server/0263-Add-more-Witch-API.patch
+++ b/patches/server/0262-Add-more-Witch-API.patch
diff --git a/patches/server/0264-Check-Drowned-for-Villager-Aggression-Config.patch b/patches/server/0263-Check-Drowned-for-Villager-Aggression-Config.patch
index 4f39e06ff4..4f39e06ff4 100644
--- a/patches/server/0264-Check-Drowned-for-Villager-Aggression-Config.patch
+++ b/patches/server/0263-Check-Drowned-for-Villager-Aggression-Config.patch
diff --git a/patches/server/0265-Add-option-to-prevent-players-from-moving-into-unloa.patch b/patches/server/0264-Add-option-to-prevent-players-from-moving-into-unloa.patch
index 6edb55ba5a..403e73e6ee 100644
--- a/patches/server/0265-Add-option-to-prevent-players-from-moving-into-unloa.patch
+++ b/patches/server/0264-Add-option-to-prevent-players-from-moving-into-unloa.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add option to prevent players from moving into unloaded
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 4787d49964ddb93558faa271ad27f5bbc17742f2..0c5ddfc6c12aaab10369ff96fcac1152965befcf 100644
+index acf350e18b9e4de77b43a01afe40a72ef040d92e..c827a2b9a64bba61ffdc8ee5ee35460b332a8556 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -474,9 +474,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0266-Reset-players-airTicks-on-respawn.patch b/patches/server/0265-Reset-players-airTicks-on-respawn.patch
index c4670e370f..d2e0da64ac 100644
--- a/patches/server/0266-Reset-players-airTicks-on-respawn.patch
+++ b/patches/server/0265-Reset-players-airTicks-on-respawn.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Reset players airTicks on respawn
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 8432081cb287dbdbc7e89572e91fa634437b9809..c201325314b27c7658d6c16ddc7311afa79ccb4e 100644
+index 3a991a6ef6a8c3150bdc557219424cf13f1dc0cc..0627d51d41d492e07b230e9c398158d656493848 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2516,6 +2516,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0267-Don-t-sleep-after-profile-lookups-if-not-needed.patch b/patches/server/0266-Don-t-sleep-after-profile-lookups-if-not-needed.patch
index d871ee76b6..d871ee76b6 100644
--- a/patches/server/0267-Don-t-sleep-after-profile-lookups-if-not-needed.patch
+++ b/patches/server/0266-Don-t-sleep-after-profile-lookups-if-not-needed.patch
diff --git a/patches/server/0268-Improve-Server-Thread-Pool-and-Thread-Priorities.patch b/patches/server/0267-Improve-Server-Thread-Pool-and-Thread-Priorities.patch
index a69c32f792..c37045a97f 100644
--- a/patches/server/0268-Improve-Server-Thread-Pool-and-Thread-Priorities.patch
+++ b/patches/server/0267-Improve-Server-Thread-Pool-and-Thread-Priorities.patch
@@ -92,7 +92,7 @@ index aa52b271bd556a29f774fde375b713d0d187521b..765e4bc00a0526aab6e263dae7233f63
return executorService;
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index e1d8eae931f6eb7ddfca1d6dadcb28fec08ccede..be757de5b307bd8233c20f907f5d5d112761c362 100644
+index 0b704d5d39263b66f7846a9c4a116ac4d96383cf..114f40c63c617f4df9e6c9bf2d50707e289f2f20 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -312,6 +312,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0269-Optimize-World-Time-Updates.patch b/patches/server/0268-Optimize-World-Time-Updates.patch
index 46bbe6ded4..1587037e1a 100644
--- a/patches/server/0269-Optimize-World-Time-Updates.patch
+++ b/patches/server/0268-Optimize-World-Time-Updates.patch
@@ -8,7 +8,7 @@ the updates per world, so that we can re-use the same packet
object for every player unless they have per-player time enabled.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index be757de5b307bd8233c20f907f5d5d112761c362..fe0fde11e6d6bbe77a739c582a936c378b81a79c 100644
+index 114f40c63c617f4df9e6c9bf2d50707e289f2f20..2950d4b158f7ac2658b84315045a27b89ba27fc3 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1478,12 +1478,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0270-Restore-custom-InventoryHolder-support.patch b/patches/server/0269-Restore-custom-InventoryHolder-support.patch
index b7d1cce23e..b7d1cce23e 100644
--- a/patches/server/0270-Restore-custom-InventoryHolder-support.patch
+++ b/patches/server/0269-Restore-custom-InventoryHolder-support.patch
diff --git a/patches/server/0271-Fix-SpongeAbsortEvent-handling.patch b/patches/server/0270-Fix-SpongeAbsortEvent-handling.patch
index 24104896d1..24104896d1 100644
--- a/patches/server/0271-Fix-SpongeAbsortEvent-handling.patch
+++ b/patches/server/0270-Fix-SpongeAbsortEvent-handling.patch
diff --git a/patches/server/0272-Don-t-allow-digging-into-unloaded-chunks.patch b/patches/server/0271-Don-t-allow-digging-into-unloaded-chunks.patch
index 48c08aa4bd..166c217651 100644
--- a/patches/server/0272-Don-t-allow-digging-into-unloaded-chunks.patch
+++ b/patches/server/0271-Don-t-allow-digging-into-unloaded-chunks.patch
@@ -59,7 +59,7 @@ index a8d33286832786031ac57e6ce27d5181e1a3d9b1..e8b12b27e5ec74afb940f575e5ce78e5
this.level.destroyBlockProgress(this.player.getId(), pos, -1);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 0c5ddfc6c12aaab10369ff96fcac1152965befcf..7a63be0cfda49395c19d563bd298bf48888fd84c 100644
+index c827a2b9a64bba61ffdc8ee5ee35460b332a8556..f64157a1fc3d629b9ef3c3d7b8fcf8f2cd960fe0 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1590,6 +1590,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0273-Make-the-default-permission-message-configurable.patch b/patches/server/0272-Make-the-default-permission-message-configurable.patch
index 1631a9ec38..0f8d646305 100644
--- a/patches/server/0273-Make-the-default-permission-message-configurable.patch
+++ b/patches/server/0272-Make-the-default-permission-message-configurable.patch
@@ -18,10 +18,10 @@ index 6d06b772ffb9d47d6a717462a4b2b494544e80ae..69ffd6ea2ce7c6d4f211c6081fcea79a
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index b942d5efdde98c3367833fc1863ee196a1920d3b..41c9c8957e81c492891fda79f68262ba402dddee 100644
+index abdff07588cb06f8ec4f3f2172f7dce92fa8a979..43c69ec522a2c91d47b5cea05aaf86f979c5fcb2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2803,6 +2803,16 @@ public final class CraftServer implements Server {
+@@ -2815,6 +2815,16 @@ public final class CraftServer implements Server {
return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions;
}
diff --git a/patches/server/0274-Handle-Large-Packets-disconnecting-client.patch b/patches/server/0273-Handle-Large-Packets-disconnecting-client.patch
index f5fce50aca..f5fce50aca 100644
--- a/patches/server/0274-Handle-Large-Packets-disconnecting-client.patch
+++ b/patches/server/0273-Handle-Large-Packets-disconnecting-client.patch
diff --git a/patches/server/0275-force-entity-dismount-during-teleportation.patch b/patches/server/0274-force-entity-dismount-during-teleportation.patch
index e2199d7f7e..ff8e4534d9 100644
--- a/patches/server/0275-force-entity-dismount-during-teleportation.patch
+++ b/patches/server/0274-force-entity-dismount-during-teleportation.patch
@@ -20,10 +20,10 @@ this is going to be the best soultion all around.
Improvements/suggestions welcome!
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 227df91e28d11cad778b5190432c6eb5fb0312e5..5baf85f179c096a9e2be170d7def110d02952dae 100644
+index c8c781aac68beb72e9efd671fcbb3fecc53d686d..4f37305c032255a33d641da66333ae7cf2fdf668 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2553,11 +2553,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2557,11 +2557,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public void removeVehicle() {
@@ -41,7 +41,7 @@ index 227df91e28d11cad778b5190432c6eb5fb0312e5..5baf85f179c096a9e2be170d7def110d
}
}
-@@ -2588,7 +2593,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2592,7 +2597,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
}
@@ -53,7 +53,7 @@ index 227df91e28d11cad778b5190432c6eb5fb0312e5..5baf85f179c096a9e2be170d7def110d
if (entity.getVehicle() == this) {
throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)");
} else {
-@@ -2598,7 +2606,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2602,7 +2610,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
if (this.getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) {
VehicleExitEvent event = new VehicleExitEvent(
(Vehicle) this.getBukkitEntity(),
@@ -62,7 +62,7 @@ index 227df91e28d11cad778b5190432c6eb5fb0312e5..5baf85f179c096a9e2be170d7def110d
);
// Suppress during worldgen
if (this.valid) {
-@@ -2611,7 +2619,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2615,7 +2623,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
}
@@ -72,10 +72,10 @@ index 227df91e28d11cad778b5190432c6eb5fb0312e5..5baf85f179c096a9e2be170d7def110d
if (this.valid) {
Bukkit.getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 966db97da239e3712d382d18c2a0c6c111b60ab2..98a26f97749d883f4ca04da27199f499211f0f33 100644
+index 792473529c8afbabe2e501ab223eacaac08fcb96..7fb9880caa964df65402153b87a953200b930e24 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3471,9 +3471,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3484,9 +3484,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
@Override
public void stopRiding() {
@@ -93,10 +93,10 @@ index 966db97da239e3712d382d18c2a0c6c111b60ab2..98a26f97749d883f4ca04da27199f499
this.dismountVehicle(entity);
}
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index fb4cc32f2840098a13981ec4328e7eb6fe4f714b..80fba3abe6f971da951cf5b613ac54364d641a81 100644
+index c794fa6290be9904f3e97e74be9959f243c00f58..6ab6f520f2ccb60646660cb2990c5b91a0e91909 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -1139,7 +1139,13 @@ public abstract class Player extends LivingEntity {
+@@ -1140,7 +1140,13 @@ public abstract class Player extends LivingEntity {
@Override
public void removeVehicle() {
diff --git a/patches/server/0276-Add-more-Zombie-API.patch b/patches/server/0275-Add-more-Zombie-API.patch
index 99141e5971..99141e5971 100644
--- a/patches/server/0276-Add-more-Zombie-API.patch
+++ b/patches/server/0275-Add-more-Zombie-API.patch
diff --git a/patches/server/0277-Book-Size-Limits.patch b/patches/server/0276-Book-Size-Limits.patch
index d43a591560..bc6794b68a 100644
--- a/patches/server/0277-Book-Size-Limits.patch
+++ b/patches/server/0276-Book-Size-Limits.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Book Size Limits
Puts some limits on the size of books.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 7a63be0cfda49395c19d563bd298bf48888fd84c..2a49c02ad4baccc1fe3b0b69da0e584b7efec3ee 100644
+index f64157a1fc3d629b9ef3c3d7b8fcf8f2cd960fe0..aa4178c00391ca00f2ca148a914eacb161b1860e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1024,6 +1024,45 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0278-Add-PlayerConnectionCloseEvent.patch b/patches/server/0277-Add-PlayerConnectionCloseEvent.patch
index 4b002cb923..4b002cb923 100644
--- a/patches/server/0278-Add-PlayerConnectionCloseEvent.patch
+++ b/patches/server/0277-Add-PlayerConnectionCloseEvent.patch
diff --git a/patches/server/0279-Replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0278-Replace-OfflinePlayer-getLastPlayed.patch
index 2acfb65bcc..3b0afeb2ba 100644
--- a/patches/server/0279-Replace-OfflinePlayer-getLastPlayed.patch
+++ b/patches/server/0278-Replace-OfflinePlayer-getLastPlayed.patch
@@ -16,7 +16,7 @@ intent to remove) and replace it with two new methods, clearly named and
documented as to their purpose.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index c201325314b27c7658d6c16ddc7311afa79ccb4e..f21d6a14fa7f7ea1581ba02bc3ca06e589281a58 100644
+index 0627d51d41d492e07b230e9c398158d656493848..f500440ba1bcd36af3b3bc6470c108ec3f546cc4 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -248,6 +248,7 @@ public class ServerPlayer extends Player {
@@ -106,10 +106,10 @@ index 34925d6448e0ef1d5bb4b24359f732b67aaa4230..0c1b5f625a351905e082b2c2a63bfd73
public Location getLastDeathLocation() {
if (this.getData().contains("LastDeathLocation", 10)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index adcba9111415a20a4a55bb182be84c9f6d3755d7..95eb6060eb5661fa88bfdbd1c4d8bbcd78c2d983 100644
+index 8cda792c1700bbc511e364e28fd7ee6893fe8db2..f309b16670d1814b7c4a1f8464e60af512b86da3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -191,6 +191,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -197,6 +197,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private BorderChangeListener clientWorldBorderListener = this.createWorldBorderListener();
public org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; // Paper - more resource pack API
private static final boolean DISABLE_CHANNEL_LIMIT = System.getProperty("paper.disableChannelLimit") != null; // Paper - add a flag to disable the channel limit
@@ -117,7 +117,7 @@ index adcba9111415a20a4a55bb182be84c9f6d3755d7..95eb6060eb5661fa88bfdbd1c4d8bbcd
public CraftPlayer(CraftServer server, ServerPlayer entity) {
super(server, entity);
-@@ -1926,6 +1927,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1956,6 +1957,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.firstPlayed = firstPlayed;
}
@@ -136,7 +136,7 @@ index adcba9111415a20a4a55bb182be84c9f6d3755d7..95eb6060eb5661fa88bfdbd1c4d8bbcd
public void readExtraData(CompoundTag nbttagcompound) {
this.hasPlayedBefore = true;
if (nbttagcompound.contains("bukkit")) {
-@@ -1948,6 +1961,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1978,6 +1991,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setExtraData(CompoundTag nbttagcompound) {
@@ -145,7 +145,7 @@ index adcba9111415a20a4a55bb182be84c9f6d3755d7..95eb6060eb5661fa88bfdbd1c4d8bbcd
if (!nbttagcompound.contains("bukkit")) {
nbttagcompound.put("bukkit", new CompoundTag());
}
-@@ -1962,6 +1977,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1992,6 +2007,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
data.putLong("firstPlayed", this.getFirstPlayed());
data.putLong("lastPlayed", System.currentTimeMillis());
data.putString("lastKnownName", handle.getScoreboardName());
diff --git a/patches/server/0280-Workaround-for-vehicle-tracking-issue-on-disconnect.patch b/patches/server/0279-Workaround-for-vehicle-tracking-issue-on-disconnect.patch
index 634426aafc..47dac04a5a 100644
--- a/patches/server/0280-Workaround-for-vehicle-tracking-issue-on-disconnect.patch
+++ b/patches/server/0279-Workaround-for-vehicle-tracking-issue-on-disconnect.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Workaround for vehicle tracking issue on disconnect
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index f21d6a14fa7f7ea1581ba02bc3ca06e589281a58..6c68797a5a0b8453dde5aa8f1a875a032c1c56e3 100644
+index f500440ba1bcd36af3b3bc6470c108ec3f546cc4..390e36f3557040f2ddc2c9158410a535cc178aa3 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1705,6 +1705,13 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0281-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch b/patches/server/0280-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch
index e08566577d..a0f7ab0755 100644
--- a/patches/server/0281-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch
+++ b/patches/server/0280-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch
@@ -8,10 +8,10 @@ We just add a check to ensure that the CraftPlayer's handle
is a ServerPlayer
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 24b08196d160feaa7b4409151fcd98cece19892e..1c8e4e3c53acc1c3043cb015cbe504f4cfb7a35c 100644
+index f309b16670d1814b7c4a1f8464e60af512b86da3..c5ea6d424c8009c8afd791e58a75174291696d05 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -205,8 +205,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -211,8 +211,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void remove() {
diff --git a/patches/server/0282-BlockDestroyEvent.patch b/patches/server/0281-BlockDestroyEvent.patch
index 0842612a62..0842612a62 100644
--- a/patches/server/0282-BlockDestroyEvent.patch
+++ b/patches/server/0281-BlockDestroyEvent.patch
diff --git a/patches/server/0283-Async-command-map-building.patch b/patches/server/0282-Async-command-map-building.patch
index 7fc7c5d6a9..16d1e494fc 100644
--- a/patches/server/0283-Async-command-map-building.patch
+++ b/patches/server/0282-Async-command-map-building.patch
@@ -53,7 +53,7 @@ index 15a5059994371da4850adcf726034a715b80efba..af7cb518a32a4d550eae833fdd5bb17f
event.getPlayer().getServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index fe0fde11e6d6bbe77a739c582a936c378b81a79c..e5ef4cba08031f0e35f127fa661b071d7872e7db 100644
+index 2950d4b158f7ac2658b84315045a27b89ba27fc3..0edd0181d7379e648155231689f1715076edcd1e 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -916,6 +916,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0284-Brigadier-Mojang-API.patch b/patches/server/0283-Brigadier-Mojang-API.patch
index 3d9b5b23cc..c66a3d0252 100644
--- a/patches/server/0284-Brigadier-Mojang-API.patch
+++ b/patches/server/0283-Brigadier-Mojang-API.patch
@@ -131,7 +131,7 @@ index af7cb518a32a4d550eae833fdd5bb17fd4058717..40ff3090fb17fb0f01a9b52639fb783e
if (commandnode2.canUse(source)) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 2a49c02ad4baccc1fe3b0b69da0e584b7efec3ee..eb62f5f1a0dc0f7cd49d54af7f4899e94afc95ee 100644
+index aa4178c00391ca00f2ca148a914eacb161b1860e..7c5b550845035bf896358b7aad2101ab0b48b3fe 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -746,7 +746,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0285-Improve-exact-choice-recipe-ingredients.patch b/patches/server/0284-Improve-exact-choice-recipe-ingredients.patch
index 7a176c6924..7a176c6924 100644
--- a/patches/server/0285-Improve-exact-choice-recipe-ingredients.patch
+++ b/patches/server/0284-Improve-exact-choice-recipe-ingredients.patch
diff --git a/patches/server/0286-Limit-Client-Sign-length-more.patch b/patches/server/0285-Limit-Client-Sign-length-more.patch
index 8132f66a3b..b9e1d4e503 100644
--- a/patches/server/0286-Limit-Client-Sign-length-more.patch
+++ b/patches/server/0285-Limit-Client-Sign-length-more.patch
@@ -22,7 +22,7 @@ it only impacts data sent from the client.
Set -DPaper.maxSignLength=XX to change limit or -1 to disable
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index eb62f5f1a0dc0f7cd49d54af7f4899e94afc95ee..79c7bce31d9c4e05afcb5cdbf06c4f6113d78ca3 100644
+index 7c5b550845035bf896358b7aad2101ab0b48b3fe..89da9267c4c1a884e5483c423ccc68ed1d79259b 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -290,6 +290,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0287-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch b/patches/server/0286-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch
index a9417173e8..a9417173e8 100644
--- a/patches/server/0287-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch
+++ b/patches/server/0286-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch
diff --git a/patches/server/0288-Entity-getEntitySpawnReason.patch b/patches/server/0287-Entity-getEntitySpawnReason.patch
index a1b3546571..b07fe3361e 100644
--- a/patches/server/0288-Entity-getEntitySpawnReason.patch
+++ b/patches/server/0287-Entity-getEntitySpawnReason.patch
@@ -59,7 +59,7 @@ index c137899597bf94b75b1ff80fae910db72f791bb8..6555d1e199f49c693270fb7068bc4c49
});
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 5baf85f179c096a9e2be170d7def110d02952dae..c601bd02a75e10af7ad7040b3a4d974c585bbaaf 100644
+index 4f37305c032255a33d641da66333ae7cf2fdf668..07613c1a337e4aa82daa83157f44056d90fc5c24 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -237,6 +237,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -70,7 +70,7 @@ index 5baf85f179c096a9e2be170d7def110d02952dae..c601bd02a75e10af7ad7040b3a4d974c
public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData; // Paper
private CraftEntity bukkitEntity;
-@@ -2307,6 +2308,26 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2311,6 +2312,26 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
spawnedViaMobSpawner = nbt.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status
diff --git a/patches/server/0289-Fire-event-on-GS4-query.patch b/patches/server/0288-Fire-event-on-GS4-query.patch
index 70ee09cecb..70ee09cecb 100644
--- a/patches/server/0289-Fire-event-on-GS4-query.patch
+++ b/patches/server/0288-Fire-event-on-GS4-query.patch
diff --git a/patches/server/0290-Add-PlayerPostRespawnEvent.patch b/patches/server/0289-Add-PlayerPostRespawnEvent.patch
index a7e32e98f6..a7e32e98f6 100644
--- a/patches/server/0290-Add-PlayerPostRespawnEvent.patch
+++ b/patches/server/0289-Add-PlayerPostRespawnEvent.patch
diff --git a/patches/server/0291-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch b/patches/server/0290-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch
index 6af7f0c025..6af7f0c025 100644
--- a/patches/server/0291-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch
+++ b/patches/server/0290-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch
diff --git a/patches/server/0292-Server-Tick-Events.patch b/patches/server/0291-Server-Tick-Events.patch
index 97aeee8265..51ca906ea2 100644
--- a/patches/server/0292-Server-Tick-Events.patch
+++ b/patches/server/0291-Server-Tick-Events.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Server Tick Events
Fires event at start and end of a server tick
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index e5ef4cba08031f0e35f127fa661b071d7872e7db..1f23b277d5c1be48a3cfe7b6c9248a0b2bd95e4b 100644
+index 0edd0181d7379e648155231689f1715076edcd1e..ddbe9061b518711ed4bb2e30a90817293fd7fb7d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1357,6 +1357,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0293-PlayerDeathEvent-getItemsToKeep.patch b/patches/server/0292-PlayerDeathEvent-getItemsToKeep.patch
index e974e64665..1baab7db6d 100644
--- a/patches/server/0293-PlayerDeathEvent-getItemsToKeep.patch
+++ b/patches/server/0292-PlayerDeathEvent-getItemsToKeep.patch
@@ -11,7 +11,7 @@ Example Usage: https://gist.github.com/aikar/5bb202de6057a051a950ce1f29feb0b4
public net.minecraft.world.entity.player.Inventory compartments
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 6c68797a5a0b8453dde5aa8f1a875a032c1c56e3..a003df2d8d6be620d4ccfe34dd6a8a1fc9225daf 100644
+index 390e36f3557040f2ddc2c9158410a535cc178aa3..71372fad81d34bb0a4035d3a69d656db3b45d9ce 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -813,6 +813,46 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0294-Optimize-Captured-BlockEntity-Lookup.patch b/patches/server/0293-Optimize-Captured-BlockEntity-Lookup.patch
index f736f333bf..f736f333bf 100644
--- a/patches/server/0294-Optimize-Captured-BlockEntity-Lookup.patch
+++ b/patches/server/0293-Optimize-Captured-BlockEntity-Lookup.patch
diff --git a/patches/server/0295-Add-Heightmap-API.patch b/patches/server/0294-Add-Heightmap-API.patch
index e011e0d19e..80731d3922 100644
--- a/patches/server/0295-Add-Heightmap-API.patch
+++ b/patches/server/0294-Add-Heightmap-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Heightmap API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 400dbd72c576590ccdbab9c52a3960acb457102f..44b65087ec6f0cf9e29c4f4de94ddf7b6a7a7836 100644
+index 0cded703702e7271eec909e470fbfded17eb791f..83530c6823710e387f453898fc0d81392cd2fcd8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -222,6 +222,29 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -228,6 +228,29 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return CraftBlock.at(this.world, new BlockPos(x, y, z));
}
diff --git a/patches/server/0296-Mob-Spawner-API-Enhancements.patch b/patches/server/0295-Mob-Spawner-API-Enhancements.patch
index 252fb07567..252fb07567 100644
--- a/patches/server/0296-Mob-Spawner-API-Enhancements.patch
+++ b/patches/server/0295-Mob-Spawner-API-Enhancements.patch
diff --git a/patches/server/0297-Fix-CB-call-to-changed-postToMainThread-method.patch b/patches/server/0296-Fix-CB-call-to-changed-postToMainThread-method.patch
index 1571598444..1571598444 100644
--- a/patches/server/0297-Fix-CB-call-to-changed-postToMainThread-method.patch
+++ b/patches/server/0296-Fix-CB-call-to-changed-postToMainThread-method.patch
diff --git a/patches/server/0298-Fix-sounds-when-item-frames-are-modified-MC-123450.patch b/patches/server/0297-Fix-sounds-when-item-frames-are-modified-MC-123450.patch
index a91800e4b3..a91800e4b3 100644
--- a/patches/server/0298-Fix-sounds-when-item-frames-are-modified-MC-123450.patch
+++ b/patches/server/0297-Fix-sounds-when-item-frames-are-modified-MC-123450.patch
diff --git a/patches/server/0299-Implement-CraftBlockSoundGroup.patch b/patches/server/0298-Implement-CraftBlockSoundGroup.patch
index 9bf16806b3..9bf16806b3 100644
--- a/patches/server/0299-Implement-CraftBlockSoundGroup.patch
+++ b/patches/server/0298-Implement-CraftBlockSoundGroup.patch
diff --git a/patches/server/0300-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/patches/server/0299-Configurable-Keep-Spawn-Loaded-range-per-world.patch
index 8236a6ff1c..1bd19d7c9f 100644
--- a/patches/server/0300-Configurable-Keep-Spawn-Loaded-range-per-world.patch
+++ b/patches/server/0299-Configurable-Keep-Spawn-Loaded-range-per-world.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Keep Spawn Loaded range per world
This lets you disable it for some worlds and lower it for others.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 1f23b277d5c1be48a3cfe7b6c9248a0b2bd95e4b..cecf238af5fd695baa623d7d09323a60b41512a5 100644
+index ddbe9061b518711ed4bb2e30a90817293fd7fb7d..7263a7f8b01c6afdaf67cfd6cc67f6a45c0aee08 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -768,30 +768,33 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -190,10 +190,10 @@ index 4d2348df25410a0b5364eec066880326d6667dad..3754cda7e7731935893359d84f3ae061
this.maxCount = i * i;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index be8b7d0fdcd0687b8ac742585cd09ca38241a0ea..6ab78bead1fd4e7c02c597b23824f5e4f80132c9 100644
+index 83530c6823710e387f453898fc0d81392cd2fcd8..6bb9d76f8c5f3dc683caecfbb7c7c2ca41cba659 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1378,15 +1378,21 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1391,15 +1391,21 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setKeepSpawnInMemory(boolean keepLoaded) {
diff --git a/patches/server/0301-Expose-the-internal-current-tick.patch b/patches/server/0300-Expose-the-internal-current-tick.patch
index 2ddd0c9da4..21d86ae357 100644
--- a/patches/server/0301-Expose-the-internal-current-tick.patch
+++ b/patches/server/0300-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 41c9c8957e81c492891fda79f68262ba402dddee..7e765fcdf4cb302c8eae2b4b6a86adfc038505ca 100644
+index 43c69ec522a2c91d47b5cea05aaf86f979c5fcb2..fd038c105d12c76c9e2645ad146e77b4a9cc1079 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2849,5 +2849,10 @@ public final class CraftServer implements Server {
+@@ -2861,5 +2861,10 @@ public final class CraftServer implements Server {
profile.getProperties().putAll(((CraftPlayer) player).getHandle().getGameProfile().getProperties());
return new com.destroystokyo.paper.profile.CraftPlayerProfile(profile);
}
diff --git a/patches/server/0302-Show-blockstate-location-if-we-failed-to-read-it.patch b/patches/server/0301-Show-blockstate-location-if-we-failed-to-read-it.patch
index e2812d19fd..e2812d19fd 100644
--- a/patches/server/0302-Show-blockstate-location-if-we-failed-to-read-it.patch
+++ b/patches/server/0301-Show-blockstate-location-if-we-failed-to-read-it.patch
diff --git a/patches/server/0303-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch b/patches/server/0302-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch
index 4ba6c07c18..a310ad9f1a 100644
--- a/patches/server/0303-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch
+++ b/patches/server/0302-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch
@@ -17,7 +17,7 @@ This should fully solve all of the issues around it so that only natural
influences natural spawns.
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
-index aec4897a647206da20666f4d54cdc5d1b516bfc2..4ad3a4403f497f4b437209a9e63445f0d29b09f1 100644
+index d5ada3301429e7fec0d157d7a33d4937e0f82fbb..5247782edc426107fb4b3ade5d92f148c0b6e681 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -88,6 +88,13 @@ public final class NaturalSpawner {
diff --git a/patches/server/0304-Configurable-projectile-relative-velocity.patch b/patches/server/0303-Configurable-projectile-relative-velocity.patch
index 5c75a20f54..5c75a20f54 100644
--- a/patches/server/0304-Configurable-projectile-relative-velocity.patch
+++ b/patches/server/0303-Configurable-projectile-relative-velocity.patch
diff --git a/patches/server/0305-offset-item-frame-ticking.patch b/patches/server/0304-offset-item-frame-ticking.patch
index 36a404e8ff..36a404e8ff 100644
--- a/patches/server/0305-offset-item-frame-ticking.patch
+++ b/patches/server/0304-offset-item-frame-ticking.patch
diff --git a/patches/server/0306-Prevent-consuming-the-wrong-itemstack.patch b/patches/server/0305-Prevent-consuming-the-wrong-itemstack.patch
index 26f30425d2..c1bcfd2f72 100644
--- a/patches/server/0306-Prevent-consuming-the-wrong-itemstack.patch
+++ b/patches/server/0305-Prevent-consuming-the-wrong-itemstack.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Prevent consuming the wrong itemstack
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 98a26f97749d883f4ca04da27199f499211f0f33..e06aa636bf4e18ca2810e0626f427839cd2bce88 100644
+index 7fb9880caa964df65402153b87a953200b930e24..a2b13486bdcd4d50631053c0611ad86d628b7f1f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3709,9 +3709,14 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3722,9 +3722,14 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
public void startUsingItem(InteractionHand hand) {
@@ -24,7 +24,7 @@ index 98a26f97749d883f4ca04da27199f499211f0f33..e06aa636bf4e18ca2810e0626f427839
this.useItem = itemstack;
this.useItemRemaining = itemstack.getUseDuration();
if (!this.level().isClientSide) {
-@@ -3791,6 +3796,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3804,6 +3809,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.releaseUsingItem();
} else {
if (!this.useItem.isEmpty() && this.isUsingItem()) {
@@ -32,7 +32,7 @@ index 98a26f97749d883f4ca04da27199f499211f0f33..e06aa636bf4e18ca2810e0626f427839
this.triggerItemUseEffects(this.useItem, 16);
// CraftBukkit start - fire PlayerItemConsumeEvent
ItemStack itemstack;
-@@ -3825,8 +3831,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3838,8 +3844,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.stopUsingItem();
diff --git a/patches/server/0307-Dont-send-unnecessary-sign-update.patch b/patches/server/0306-Dont-send-unnecessary-sign-update.patch
index 6d4799456e..6d4799456e 100644
--- a/patches/server/0307-Dont-send-unnecessary-sign-update.patch
+++ b/patches/server/0306-Dont-send-unnecessary-sign-update.patch
diff --git a/patches/server/0308-Add-option-to-disable-pillager-patrols.patch b/patches/server/0307-Add-option-to-disable-pillager-patrols.patch
index e648d66623..e648d66623 100644
--- a/patches/server/0308-Add-option-to-disable-pillager-patrols.patch
+++ b/patches/server/0307-Add-option-to-disable-pillager-patrols.patch
diff --git a/patches/server/0309-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch b/patches/server/0308-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch
index 983b04c068..983b04c068 100644
--- a/patches/server/0309-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch
+++ b/patches/server/0308-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch
diff --git a/patches/server/0310-MC-145656-Fix-Follow-Range-Initial-Target.patch b/patches/server/0309-MC-145656-Fix-Follow-Range-Initial-Target.patch
index 20a9321020..20a9321020 100644
--- a/patches/server/0310-MC-145656-Fix-Follow-Range-Initial-Target.patch
+++ b/patches/server/0309-MC-145656-Fix-Follow-Range-Initial-Target.patch
diff --git a/patches/server/0311-Duplicate-UUID-Resolve-Option.patch b/patches/server/0310-Duplicate-UUID-Resolve-Option.patch
index 657d186095..e2ec1d638a 100644
--- a/patches/server/0311-Duplicate-UUID-Resolve-Option.patch
+++ b/patches/server/0310-Duplicate-UUID-Resolve-Option.patch
@@ -33,7 +33,7 @@ But for those who are ok with leaving this inconsistent behavior, you may use WA
It is recommended you regenerate the entities, as these were legit entities, and deserve your love.
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index 1a80f48a425a81af6acd917f67d33a80746f46c3..4357c2800aaceb2d6a9d3c5246faf796d7732f42 100644
+index 9f8ee9d9b5fec9ca9c5e8462ed1aef742fa628ac..1b102f4c800dc6aa4e977c8ae8c9aada5d94e194 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -880,6 +880,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
diff --git a/patches/server/0312-PlayerDeathEvent-shouldDropExperience.patch b/patches/server/0311-PlayerDeathEvent-shouldDropExperience.patch
index f11ba0a3ab..8ce26f265a 100644
--- a/patches/server/0312-PlayerDeathEvent-shouldDropExperience.patch
+++ b/patches/server/0311-PlayerDeathEvent-shouldDropExperience.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] PlayerDeathEvent#shouldDropExperience
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index a003df2d8d6be620d4ccfe34dd6a8a1fc9225daf..d4d66bd96912592de499ef7e626f13de71714c93 100644
+index 71372fad81d34bb0a4035d3a69d656db3b45d9ce..8678efd1b0ad2e6dbf49ed47d0dc959027762b40 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -934,7 +934,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0313-Prevent-bees-loading-chunks-checking-hive-position.patch b/patches/server/0312-Prevent-bees-loading-chunks-checking-hive-position.patch
index b0582f28fa..b0582f28fa 100644
--- a/patches/server/0313-Prevent-bees-loading-chunks-checking-hive-position.patch
+++ b/patches/server/0312-Prevent-bees-loading-chunks-checking-hive-position.patch
diff --git a/patches/server/0314-Don-t-load-Chunks-from-Hoppers-and-other-things.patch b/patches/server/0313-Don-t-load-Chunks-from-Hoppers-and-other-things.patch
index dcdab50579..dcdab50579 100644
--- a/patches/server/0314-Don-t-load-Chunks-from-Hoppers-and-other-things.patch
+++ b/patches/server/0313-Don-t-load-Chunks-from-Hoppers-and-other-things.patch
diff --git a/patches/server/0315-Optimise-EntityGetter-getPlayerByUUID.patch b/patches/server/0314-Optimise-EntityGetter-getPlayerByUUID.patch
index 2f5e7ce829..3066fc8b68 100644
--- a/patches/server/0315-Optimise-EntityGetter-getPlayerByUUID.patch
+++ b/patches/server/0314-Optimise-EntityGetter-getPlayerByUUID.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Optimise EntityGetter#getPlayerByUUID
Use the PlayerList map instead of iterating over all players
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index bd41daf86f2a825a55ca685f4ea43a3df108b64a..989cd53db579408f89c3425d808e0a611194e896 100644
+index 514b3af4f8ac04744ae44cad7c01086a3f821d5f..3f70bab49d58ec36f6153a7dae577d22c90d2918 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -324,6 +324,15 @@ public class ServerLevel extends Level implements WorldGenLevel {
diff --git a/patches/server/0316-Fix-items-not-falling-correctly.patch b/patches/server/0315-Fix-items-not-falling-correctly.patch
index dc83e6fd0b..dc83e6fd0b 100644
--- a/patches/server/0316-Fix-items-not-falling-correctly.patch
+++ b/patches/server/0315-Fix-items-not-falling-correctly.patch
diff --git a/patches/server/0317-Optimize-call-to-getFluid-for-explosions.patch b/patches/server/0316-Optimize-call-to-getFluid-for-explosions.patch
index b552963246..6afa3465ac 100644
--- a/patches/server/0317-Optimize-call-to-getFluid-for-explosions.patch
+++ b/patches/server/0316-Optimize-call-to-getFluid-for-explosions.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Optimize call to getFluid for explosions
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
-index 219f3abc6d3280077b53cfff97db7e724133f5a1..653036ca797ed4e87f0cc15898d55ede2ed96206 100644
+index 00cfa26783ce0772c75166266ead258a415097bc..b03b4d366cae39081a7b70524e8615c986d76362 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -191,7 +191,7 @@ public class Explosion {
diff --git a/patches/server/0318-Fix-last-firework-in-stack-not-having-effects-when-d.patch b/patches/server/0317-Fix-last-firework-in-stack-not-having-effects-when-d.patch
index 9aec8e51d9..9aec8e51d9 100644
--- a/patches/server/0318-Fix-last-firework-in-stack-not-having-effects-when-d.patch
+++ b/patches/server/0317-Fix-last-firework-in-stack-not-having-effects-when-d.patch
diff --git a/patches/server/0319-Guard-against-serializing-mismatching-chunk-coordina.patch b/patches/server/0318-Guard-against-serializing-mismatching-chunk-coordina.patch
index 4ecb84bc71..4a4b6f7faf 100644
--- a/patches/server/0319-Guard-against-serializing-mismatching-chunk-coordina.patch
+++ b/patches/server/0318-Guard-against-serializing-mismatching-chunk-coordina.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Guard against serializing mismatching chunk coordinate
Should help if something dumb happens
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
-index cc1d7626a82881c4410d65c6a33dadae7ab07172..5ef782ef14a9a880cb3db433bbee2d4a70d33718 100644
+index ba7a816bd9dd4aec79e2560f0968374dbb28442c..cbc8e95c8f890f0c0eb717d4d2ae3f427dc260d8 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
@@ -86,8 +86,20 @@ public class ChunkSerializer {
diff --git a/patches/server/0320-Alternative-item-despawn-rate.patch b/patches/server/0319-Alternative-item-despawn-rate.patch
index ea7f7848df..ea7f7848df 100644
--- a/patches/server/0320-Alternative-item-despawn-rate.patch
+++ b/patches/server/0319-Alternative-item-despawn-rate.patch
diff --git a/patches/server/0321-Tracking-Range-Improvements.patch b/patches/server/0320-Tracking-Range-Improvements.patch
index 63b16cfc50..6370a7e08a 100644
--- a/patches/server/0321-Tracking-Range-Improvements.patch
+++ b/patches/server/0320-Tracking-Range-Improvements.patch
@@ -8,7 +8,7 @@ Sets tracking range of watermobs to animals instead of misc and simplifies code
Also ignores Enderdragon, defaulting it to Mojang's setting
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index bc481cf547504140a921ec20d7c21d2931b1e7ab..51cbdaead57a527bac5eeb7bc130f31667fcf450 100644
+index 1b102f4c800dc6aa4e977c8ae8c9aada5d94e194..eff31fdd159dc7844bd3be3b769625a5704c2f17 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1761,6 +1761,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
diff --git a/patches/server/0322-Fix-items-vanishing-through-end-portal.patch b/patches/server/0321-Fix-items-vanishing-through-end-portal.patch
index ba6886e945..5c6d4febc3 100644
--- a/patches/server/0322-Fix-items-vanishing-through-end-portal.patch
+++ b/patches/server/0321-Fix-items-vanishing-through-end-portal.patch
@@ -13,10 +13,10 @@ Quickly loading the exact world spawn chunk before searching the
heightmap resolves the issue without having to load all spawn chunks.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index c601bd02a75e10af7ad7040b3a4d974c585bbaaf..2aea992adeae1d51f224e76d104b031f46447a5d 100644
+index 07613c1a337e4aa82daa83157f44056d90fc5c24..ee095e846697e316f5cb1506ee6f14519cbf51b0 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3344,6 +3344,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -3347,6 +3347,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
if (flag1) {
blockposition1 = ServerLevel.END_SPAWN_POINT;
} else {
diff --git a/patches/server/0323-Bees-get-gravity-in-void.-Fixes-MC-167279.patch b/patches/server/0322-Bees-get-gravity-in-void.-Fixes-MC-167279.patch
index 7959db9a16..7959db9a16 100644
--- a/patches/server/0323-Bees-get-gravity-in-void.-Fixes-MC-167279.patch
+++ b/patches/server/0322-Bees-get-gravity-in-void.-Fixes-MC-167279.patch
diff --git a/patches/server/0324-Improve-Block-breakNaturally-API.patch b/patches/server/0323-Improve-Block-breakNaturally-API.patch
index 90192e4785..90192e4785 100644
--- a/patches/server/0324-Improve-Block-breakNaturally-API.patch
+++ b/patches/server/0323-Improve-Block-breakNaturally-API.patch
diff --git a/patches/server/0325-Optimise-getChunkAt-calls-for-loaded-chunks.patch b/patches/server/0324-Optimise-getChunkAt-calls-for-loaded-chunks.patch
index bb08aebe5a..bb08aebe5a 100644
--- a/patches/server/0325-Optimise-getChunkAt-calls-for-loaded-chunks.patch
+++ b/patches/server/0324-Optimise-getChunkAt-calls-for-loaded-chunks.patch
diff --git a/patches/server/0326-Add-debug-for-sync-chunk-loads.patch b/patches/server/0325-Add-debug-for-sync-chunk-loads.patch
index b3e2d87143..b3e2d87143 100644
--- a/patches/server/0326-Add-debug-for-sync-chunk-loads.patch
+++ b/patches/server/0325-Add-debug-for-sync-chunk-loads.patch
diff --git a/patches/server/0327-Improve-java-version-check.patch b/patches/server/0326-Improve-java-version-check.patch
index e856678f3c..e856678f3c 100644
--- a/patches/server/0327-Improve-java-version-check.patch
+++ b/patches/server/0326-Improve-java-version-check.patch
diff --git a/patches/server/0328-Add-ThrownEggHatchEvent.patch b/patches/server/0327-Add-ThrownEggHatchEvent.patch
index ff26a49628..ff26a49628 100644
--- a/patches/server/0328-Add-ThrownEggHatchEvent.patch
+++ b/patches/server/0327-Add-ThrownEggHatchEvent.patch
diff --git a/patches/server/0329-Entity-Jump-API.patch b/patches/server/0328-Entity-Jump-API.patch
index 9b166d8d57..ffc89eac23 100644
--- a/patches/server/0329-Entity-Jump-API.patch
+++ b/patches/server/0328-Entity-Jump-API.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Entity Jump API
public net.minecraft.world.entity.LivingEntity jumping
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index e06aa636bf4e18ca2810e0626f427839cd2bce88..bc51c6d8b39907d89a4f65cd7a8266df1fceab8c 100644
+index a2b13486bdcd4d50631053c0611ad86d628b7f1f..c68eba06077c6f6894f2cc2947f51d8d1c86ef94 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3283,8 +3283,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3296,8 +3296,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
} else if (this.isInLava() && (!this.onGround() || d3 > d4)) {
this.jumpInLiquid(FluidTags.LAVA);
} else if ((this.onGround() || flag && d3 <= d4) && this.noJumpDelay == 0) {
@@ -50,10 +50,10 @@ index aba20a4352d8983b01ab5d329187588f68d3e405..aac60e85cd6dba7d87f4a1663c2c6295
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index dbfeeacbb503aad5897c92c902d16fdbea7b793f..d5135ac97b2d4af7391a58799497c649cfcf8041 100644
+index ea9a6446ed2dbddedbc615df93c9856a0a1f1a2e..fd18531ff94daa6dc2994a69e1e647078a5a664c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -922,5 +922,19 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -935,5 +935,19 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
public org.bukkit.inventory.EquipmentSlot getHandRaised() {
return getHandle().getUsedItemHand() == net.minecraft.world.InteractionHand.MAIN_HAND ? org.bukkit.inventory.EquipmentSlot.HAND : org.bukkit.inventory.EquipmentSlot.OFF_HAND;
}
diff --git a/patches/server/0330-Add-option-to-nerf-pigmen-from-nether-portals.patch b/patches/server/0329-Add-option-to-nerf-pigmen-from-nether-portals.patch
index 42b9ca56c6..14213f70e5 100644
--- a/patches/server/0330-Add-option-to-nerf-pigmen-from-nether-portals.patch
+++ b/patches/server/0329-Add-option-to-nerf-pigmen-from-nether-portals.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to nerf pigmen from nether portals
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 2aea992adeae1d51f224e76d104b031f46447a5d..99f9e96509800e2246e729400a1ac6de522d456a 100644
+index ee095e846697e316f5cb1506ee6f14519cbf51b0..fa0f57779251ea785dfa4fe299c1505e46aa1446 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -396,6 +396,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -16,7 +16,7 @@ index 2aea992adeae1d51f224e76d104b031f46447a5d..99f9e96509800e2246e729400a1ac6de
public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one
// Paper start - Entity origin API
@javax.annotation.Nullable
-@@ -2166,6 +2167,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2170,6 +2171,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
if (spawnedViaMobSpawner) {
nbttagcompound.putBoolean("Paper.FromMobSpawner", true);
}
@@ -26,7 +26,7 @@ index 2aea992adeae1d51f224e76d104b031f46447a5d..99f9e96509800e2246e729400a1ac6de
// Paper end
return nbttagcompound;
} catch (Throwable throwable) {
-@@ -2308,6 +2312,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2312,6 +2316,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
spawnedViaMobSpawner = nbt.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status
diff --git a/patches/server/0331-Make-the-GUI-graph-fancier.patch b/patches/server/0330-Make-the-GUI-graph-fancier.patch
index a997709470..a997709470 100644
--- a/patches/server/0331-Make-the-GUI-graph-fancier.patch
+++ b/patches/server/0330-Make-the-GUI-graph-fancier.patch
diff --git a/patches/server/0332-add-hand-to-BlockMultiPlaceEvent.patch b/patches/server/0331-add-hand-to-BlockMultiPlaceEvent.patch
index e9fd65e7c7..c787ae5d9c 100644
--- a/patches/server/0332-add-hand-to-BlockMultiPlaceEvent.patch
+++ b/patches/server/0331-add-hand-to-BlockMultiPlaceEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] add hand to BlockMultiPlaceEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 3bd92edf2f4e7a63a07bd2bbae002f99484a9069..7e7427b9b5d44f1a5205011fa427f084bd34165c 100644
+index a08d1250cd5a5cc70e3796ac56a0cfaee6fe2b83..2b342f81ae8bfefe2a240351f28fcafc40609a75 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -400,13 +400,18 @@ public class CraftEventFactory {
diff --git a/patches/server/0333-Validate-tripwire-hook-placement-before-update.patch b/patches/server/0332-Validate-tripwire-hook-placement-before-update.patch
index 67e04f717c..67e04f717c 100644
--- a/patches/server/0333-Validate-tripwire-hook-placement-before-update.patch
+++ b/patches/server/0332-Validate-tripwire-hook-placement-before-update.patch
diff --git a/patches/server/0334-Add-option-to-allow-iron-golems-to-spawn-in-air.patch b/patches/server/0333-Add-option-to-allow-iron-golems-to-spawn-in-air.patch
index a422731e0f..a422731e0f 100644
--- a/patches/server/0334-Add-option-to-allow-iron-golems-to-spawn-in-air.patch
+++ b/patches/server/0333-Add-option-to-allow-iron-golems-to-spawn-in-air.patch
diff --git a/patches/server/0335-Configurable-chance-of-villager-zombie-infection.patch b/patches/server/0334-Configurable-chance-of-villager-zombie-infection.patch
index 66e2a4f6d4..66e2a4f6d4 100644
--- a/patches/server/0335-Configurable-chance-of-villager-zombie-infection.patch
+++ b/patches/server/0334-Configurable-chance-of-villager-zombie-infection.patch
diff --git a/patches/server/0336-Optimise-Chunk-getFluid.patch b/patches/server/0335-Optimise-Chunk-getFluid.patch
index 58ba0e4e5d..58ba0e4e5d 100644
--- a/patches/server/0336-Optimise-Chunk-getFluid.patch
+++ b/patches/server/0335-Optimise-Chunk-getFluid.patch
diff --git a/patches/server/0337-Set-spigots-verbose-world-setting-to-false-by-def.patch b/patches/server/0336-Set-spigots-verbose-world-setting-to-false-by-def.patch
index f00c33db91..f00c33db91 100644
--- a/patches/server/0337-Set-spigots-verbose-world-setting-to-false-by-def.patch
+++ b/patches/server/0336-Set-spigots-verbose-world-setting-to-false-by-def.patch
diff --git a/patches/server/0338-Add-tick-times-API-and-mspt-command.patch b/patches/server/0337-Add-tick-times-API-and-mspt-command.patch
index aeda000865..a38e26cb73 100644
--- a/patches/server/0338-Add-tick-times-API-and-mspt-command.patch
+++ b/patches/server/0337-Add-tick-times-API-and-mspt-command.patch
@@ -125,7 +125,7 @@ index 72f2e81b9905a0d57ed8e2a88578f62d5235c456..7b58b2d6297800c2dcdbf7539e5ab8e7
public static void registerCommands(final MinecraftServer server) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index cecf238af5fd695baa623d7d09323a60b41512a5..698601fc2c6e5d19a990bd3dcf0bc52e4c6efaea 100644
+index 7263a7f8b01c6afdaf67cfd6cc67f6a45c0aee08..e5ecca5ae9e37e4d4d6d2adfd5f487a869ab775d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -252,6 +252,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -184,10 +184,10 @@ index cecf238af5fd695baa623d7d09323a60b41512a5..698601fc2c6e5d19a990bd3dcf0bc52e
+ // Paper end - Add tick times API and /mspt command
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index b26199cdd8a09cef6e873fd8ffccaec97f6bc7c4..d4231c9c22d3014702d856cb3b329ba3c4c6d0ce 100644
+index fd038c105d12c76c9e2645ad146e77b4a9cc1079..58cf5568b97e907d840099198f3c62b9d780bd0c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2617,6 +2617,16 @@ public final class CraftServer implements Server {
+@@ -2629,6 +2629,16 @@ public final class CraftServer implements Server {
return CraftMagicNumbers.INSTANCE;
}
diff --git a/patches/server/0339-Expose-MinecraftServer-isRunning.patch b/patches/server/0338-Expose-MinecraftServer-isRunning.patch
index cef293bc57..0c1272197e 100644
--- a/patches/server/0339-Expose-MinecraftServer-isRunning.patch
+++ b/patches/server/0338-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 04788b844ddd7f33216f05642850edbe58021697..8d65ed46f3ab22b18bf7d54368d744d9084dad1b 100644
+index 58cf5568b97e907d840099198f3c62b9d780bd0c..ae424a5cbf8868aea9e11ffd565665c50aeb780e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2864,5 +2864,10 @@ public final class CraftServer implements Server {
+@@ -2876,5 +2876,10 @@ public final class CraftServer implements Server {
public int getCurrentTick() {
return net.minecraft.server.MinecraftServer.currentTick;
}
diff --git a/patches/server/0340-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/server/0339-Add-Raw-Byte-ItemStack-Serialization.patch
index d4d1597749..59a539cd14 100644
--- a/patches/server/0340-Add-Raw-Byte-ItemStack-Serialization.patch
+++ b/patches/server/0339-Add-Raw-Byte-ItemStack-Serialization.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add Raw Byte ItemStack Serialization
Serializes using NBT which is safer for server data migrations than bukkits format.
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index e31ead0d99203a018757cb2e765b5d28dd373eef..41fb303191783ad9e531331dc8468f95139432b9 100644
+index d11773ed44936f8836f2f8e582d5e9573af5b439..ef4b15e0ae11a54ec49e40f1d694dae58ae95e03 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -458,6 +458,53 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -473,6 +473,53 @@ public final class CraftMagicNumbers implements UnsafeValues {
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
return new com.destroystokyo.paper.PaperVersionFetcher();
}
diff --git a/patches/server/0341-Pillager-patrol-spawn-settings-and-per-player-option.patch b/patches/server/0340-Pillager-patrol-spawn-settings-and-per-player-option.patch
index 08c93f3fec..bcdbf37892 100644
--- a/patches/server/0341-Pillager-patrol-spawn-settings-and-per-player-option.patch
+++ b/patches/server/0340-Pillager-patrol-spawn-settings-and-per-player-option.patch
@@ -10,7 +10,7 @@ When not per player it will use the Vanilla mechanic of one delay per
world and the world age for the start day.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index d4d66bd96912592de499ef7e626f13de71714c93..b7111a76bac5f8d1bfa69a99b7c6bebf053c59bf 100644
+index 8678efd1b0ad2e6dbf49ed47d0dc959027762b40..7649367da5ff97815b710f4902b793a0f6b0e6fa 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -249,6 +249,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0342-Remote-Connections-shouldn-t-hold-up-shutdown.patch b/patches/server/0341-Remote-Connections-shouldn-t-hold-up-shutdown.patch
index 5a220197f7..6eb90f4536 100644
--- a/patches/server/0342-Remote-Connections-shouldn-t-hold-up-shutdown.patch
+++ b/patches/server/0341-Remote-Connections-shouldn-t-hold-up-shutdown.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Remote Connections shouldn't hold up shutdown
Bugs in the connection logic appears to leave stale connections even, preventing shutdown
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index 47b12535d2cb146155044cc20b14bb5a432f83d5..567e642232cc698995def33d7cbe1f679ea7a871 100644
+index 78775feb965d6eb98a1ff655ae44b9f0399ef9aa..28fe088d97bd5fbfcc29dcc7d2a657d54578b2be 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -390,11 +390,11 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
diff --git a/patches/server/0343-Do-not-allow-bees-to-load-chunks-for-beehives.patch b/patches/server/0342-Do-not-allow-bees-to-load-chunks-for-beehives.patch
index 9c629a712d..9c629a712d 100644
--- a/patches/server/0343-Do-not-allow-bees-to-load-chunks-for-beehives.patch
+++ b/patches/server/0342-Do-not-allow-bees-to-load-chunks-for-beehives.patch
diff --git a/patches/server/0344-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch b/patches/server/0343-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch
index 64a0e8c90d..a0fdf0378d 100644
--- a/patches/server/0344-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch
+++ b/patches/server/0343-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch
@@ -7,7 +7,7 @@ Suspected case would be around the technique used in .stopRiding
Stack will identify any causer of this and warn instead of crashing.
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index 5be7788ad5c9fb8158c70b7e5eb11b82e0fbeafe..1543bdec9bfa48bba65d03b04a0986698aa00bba 100644
+index eff31fdd159dc7844bd3be3b769625a5704c2f17..2c954f8a91b9f50ce69eda475b22d4159b87d277 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1452,6 +1452,13 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
diff --git a/patches/server/0345-Don-t-tick-dead-players.patch b/patches/server/0344-Don-t-tick-dead-players.patch
index fb1381bc76..7338d09f93 100644
--- a/patches/server/0345-Don-t-tick-dead-players.patch
+++ b/patches/server/0344-Don-t-tick-dead-players.patch
@@ -7,7 +7,7 @@ Causes sync chunk loads and who knows what all else.
This is safe because Spectators are skipped in unloaded chunks too in vanilla.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index b7111a76bac5f8d1bfa69a99b7c6bebf053c59bf..2cfe7e0e48ee8dcfb4bbcb2a8f6454d01d31d817 100644
+index 7649367da5ff97815b710f4902b793a0f6b0e6fa..e695b5ee0b9ce5dad81a7f894ef1e7fd868f11eb 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -684,7 +684,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0346-Dead-Player-s-shouldn-t-be-able-to-move.patch b/patches/server/0345-Dead-Player-s-shouldn-t-be-able-to-move.patch
index 2bebf672b4..8f01e2761d 100644
--- a/patches/server/0346-Dead-Player-s-shouldn-t-be-able-to-move.patch
+++ b/patches/server/0345-Dead-Player-s-shouldn-t-be-able-to-move.patch
@@ -7,10 +7,10 @@ This fixes a lot of game state issues where packets were delayed for processing
due to 1.15's new queue but processed while dead.
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index 80fba3abe6f971da951cf5b613ac54364d641a81..bae09577905084f3e3d845b9cd3eaea9f46899d1 100644
+index 6ab6f520f2ccb60646660cb2990c5b91a0e91909..d00d6cf28212ed72f49953a198caa447aefc138c 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -1151,7 +1151,7 @@ public abstract class Player extends LivingEntity {
+@@ -1152,7 +1152,7 @@ public abstract class Player extends LivingEntity {
@Override
protected boolean isImmobile() {
diff --git a/patches/server/0347-Don-t-move-existing-players-to-world-spawn.patch b/patches/server/0346-Don-t-move-existing-players-to-world-spawn.patch
index 144c65f282..6d3a5af0c4 100644
--- a/patches/server/0347-Don-t-move-existing-players-to-world-spawn.patch
+++ b/patches/server/0346-Don-t-move-existing-players-to-world-spawn.patch
@@ -13,7 +13,7 @@ By skipping this, we avoid potential for a large spike on server start.
public net.minecraft.server.level.ServerPlayer fudgeSpawnLocation(Lnet/minecraft/server/level/ServerLevel;)V
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 2cfe7e0e48ee8dcfb4bbcb2a8f6454d01d31d817..07b5a783ed9fec073f232f00c41f9e051f243efe 100644
+index e695b5ee0b9ce5dad81a7f894ef1e7fd868f11eb..b6698a65d778cea6b7dc9b8ebfceec2425c732b7 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -337,7 +337,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0348-Optimize-Pathfinding.patch b/patches/server/0347-Optimize-Pathfinding.patch
index 0bd6e09507..0bd6e09507 100644
--- a/patches/server/0348-Optimize-Pathfinding.patch
+++ b/patches/server/0347-Optimize-Pathfinding.patch
diff --git a/patches/server/0349-Reduce-Either-Optional-allocation.patch b/patches/server/0348-Reduce-Either-Optional-allocation.patch
index cafe54198d..cafe54198d 100644
--- a/patches/server/0349-Reduce-Either-Optional-allocation.patch
+++ b/patches/server/0348-Reduce-Either-Optional-allocation.patch
diff --git a/patches/server/0350-Reduce-memory-footprint-of-CompoundTag.patch b/patches/server/0349-Reduce-memory-footprint-of-CompoundTag.patch
index c714de8792..c714de8792 100644
--- a/patches/server/0350-Reduce-memory-footprint-of-CompoundTag.patch
+++ b/patches/server/0349-Reduce-memory-footprint-of-CompoundTag.patch
diff --git a/patches/server/0351-Prevent-opening-inventories-when-frozen.patch b/patches/server/0350-Prevent-opening-inventories-when-frozen.patch
index 036d805389..b05b324748 100644
--- a/patches/server/0351-Prevent-opening-inventories-when-frozen.patch
+++ b/patches/server/0350-Prevent-opening-inventories-when-frozen.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Prevent opening inventories when frozen
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 07b5a783ed9fec073f232f00c41f9e051f243efe..f6d266c5b279a22dee273cda109866b627e706da 100644
+index b6698a65d778cea6b7dc9b8ebfceec2425c732b7..347747282c77f5d1dde907b99cc2c8029675dc34 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -653,7 +653,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0352-Don-t-run-entity-collision-code-if-not-needed.patch b/patches/server/0351-Don-t-run-entity-collision-code-if-not-needed.patch
index 6b4ad7f099..9f5acbc6c1 100644
--- a/patches/server/0352-Don-t-run-entity-collision-code-if-not-needed.patch
+++ b/patches/server/0351-Don-t-run-entity-collision-code-if-not-needed.patch
@@ -12,10 +12,10 @@ The entity's current team collision rule causes them to NEVER collide.
Co-authored-by: Owen1212055 <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index bc51c6d8b39907d89a4f65cd7a8266df1fceab8c..1d75c7d7232dedaf6451c5a1e5bf224174d21041 100644
+index c68eba06077c6f6894f2cc2947f51d8d1c86ef94..6112571e2e0bc9fe66d68fd095d395168c817822 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3398,10 +3398,24 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3411,10 +3411,24 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (this.level().isClientSide()) {
this.level().getEntities(EntityTypeTest.forClass(net.minecraft.world.entity.player.Player.class), this.getBoundingBox(), EntitySelector.pushableBy(this)).forEach(this::doPush);
} else {
diff --git a/patches/server/0353-Implement-Player-Client-Options-API.patch b/patches/server/0352-Implement-Player-Client-Options-API.patch
index e86b98caa5..2a651ebbc3 100644
--- a/patches/server/0353-Implement-Player-Client-Options-API.patch
+++ b/patches/server/0352-Implement-Player-Client-Options-API.patch
@@ -136,10 +136,10 @@ index 347747282c77f5d1dde907b99cc2c8029675dc34..eb0a0a9faacf3c7d879b435b637a9c82
this.adventure$locale = java.util.Objects.requireNonNullElse(net.kyori.adventure.translation.Translator.parseLocale(this.language), java.util.Locale.US); // Paper
this.requestedViewDistance = clientOptions.viewDistance();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 473017107d80aa1467cd2f9400e8d48e39fab7e2..dcea3f827a79de3581adff51f34220a1d656e8e9 100644
+index c5ea6d424c8009c8afd791e58a75174291696d05..d6bddec130167af3d72555535045568ee941bb88 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -567,6 +567,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -573,6 +573,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
connection.disconnect(message == null ? net.kyori.adventure.text.Component.empty() : message);
}
}
diff --git a/patches/server/0354-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch b/patches/server/0353-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch
index 3f7dfaad06..7fee0acf0f 100644
--- a/patches/server/0354-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch
+++ b/patches/server/0353-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch
@@ -7,7 +7,7 @@ Subject: [PATCH] Don't crash if player is attempted to be removed from
I suspect it deals with teleporting as it uses players current x/y/z
diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java
-index 0bd05d7a8f2a388c28ddcf3f07db5b0648dddeea..1a9e6ed379c5fccfd82f4718c7fd2794978f63b4 100644
+index 76005b3c48bfa323a77781c20c63708eeaa66b2b..4e1618462840a1378dbe6492696c97544815edf2 100644
--- a/src/main/java/net/minecraft/server/level/DistanceManager.java
+++ b/src/main/java/net/minecraft/server/level/DistanceManager.java
@@ -285,8 +285,8 @@ public abstract class DistanceManager {
diff --git a/patches/server/0355-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch b/patches/server/0354-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch
index 05099c700e..a42a520a66 100644
--- a/patches/server/0355-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch
+++ b/patches/server/0354-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch
@@ -31,7 +31,7 @@ delays anymore.
public net.minecraft.server.level.ChunkMap addEntity(Lnet/minecraft/world/entity/Entity;)V
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index 1543bdec9bfa48bba65d03b04a0986698aa00bba..7f61b2945e5174f89936041c334d4cb2e5cdb130 100644
+index 2c954f8a91b9f50ce69eda475b22d4159b87d277..5ef08156aa2e93e42eed586a4014c6208ddb20c1 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1459,6 +1459,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -43,7 +43,7 @@ index 1543bdec9bfa48bba65d03b04a0986698aa00bba..7f61b2945e5174f89936041c334d4cb2
EntityType<?> entitytypes = entity.getType();
int i = entitytypes.clientTrackingRange() * 16;
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 6e3a791c4623ee904c3348ad7be5ede4b1657a12..e3413273076b697d560c927ea0e12f34722a79c1 100644
+index eb0a0a9faacf3c7d879b435b637a9c8203319aa6..e5653695a3fbcd260ce44ca37291406a1033a3fa 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -267,6 +267,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0356-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch b/patches/server/0355-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch
index 872f63a323..b8cdeec362 100644
--- a/patches/server/0356-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch
+++ b/patches/server/0355-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch
@@ -87,10 +87,10 @@ index 16d43da0144eb3f77f639568a82e3c9d1bb7e260..54aba3118157f72491cb8c3d5fb5c637
}
// Paper end - Entity#getEntitySpawnReason
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 99f9e96509800e2246e729400a1ac6de522d456a..5bb40d4031ad7539dd98a1f4bf9bc7e3a2c6d978 100644
+index fa0f57779251ea785dfa4fe299c1505e46aa1446..828ffad0902d28c0dc86995f5f7270c54cd9d32c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2269,27 +2269,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2273,27 +2273,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
// CraftBukkit end
diff --git a/patches/server/0357-Add-PlayerAttackEntityCooldownResetEvent.patch b/patches/server/0356-Add-PlayerAttackEntityCooldownResetEvent.patch
index d4b6bd254a..98ecc333d3 100644
--- a/patches/server/0357-Add-PlayerAttackEntityCooldownResetEvent.patch
+++ b/patches/server/0356-Add-PlayerAttackEntityCooldownResetEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerAttackEntityCooldownResetEvent
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 1d75c7d7232dedaf6451c5a1e5bf224174d21041..72ce49ead51a846013c887b39b80abb7d141cb0f 100644
+index 6112571e2e0bc9fe66d68fd095d395168c817822..8fff7d4c98e198bba0b4076807adc67476fcaf4b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -2190,7 +2190,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2203,7 +2203,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
EntityDamageEvent event = CraftEventFactory.handleLivingEntityDamageEvent(this, damagesource, originalDamage, hardHatModifier, blockingModifier, armorModifier, resistanceModifier, magicModifier, absorptionModifier, hardHat, blocking, armor, resistance, magic, absorption);
if (damagesource.getEntity() instanceof net.minecraft.world.entity.player.Player) {
diff --git a/patches/server/0358-Don-t-fire-BlockFade-on-worldgen-threads.patch b/patches/server/0357-Don-t-fire-BlockFade-on-worldgen-threads.patch
index 19015797ec..e5fdaf2d8f 100644
--- a/patches/server/0358-Don-t-fire-BlockFade-on-worldgen-threads.patch
+++ b/patches/server/0357-Don-t-fire-BlockFade-on-worldgen-threads.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Don't fire BlockFade on worldgen threads
diff --git a/src/main/java/net/minecraft/world/level/block/FireBlock.java b/src/main/java/net/minecraft/world/level/block/FireBlock.java
-index c214a8a72c3fa27eaadc458b10a610e0de7937ec..5e5d0e5b41b5ed90a5f0109b231d468bbc566ae7 100644
+index da9cd2da60186b94f3b8a259c13b20f20e50fccb..65b2873ca8032a64a4968b7587637644df1aeca5 100644
--- a/src/main/java/net/minecraft/world/level/block/FireBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/FireBlock.java
@@ -108,6 +108,7 @@ public class FireBlock extends BaseFireBlock {
diff --git a/patches/server/0359-Add-phantom-creative-and-insomniac-controls.patch b/patches/server/0358-Add-phantom-creative-and-insomniac-controls.patch
index 83892b75c4..83892b75c4 100644
--- a/patches/server/0359-Add-phantom-creative-and-insomniac-controls.patch
+++ b/patches/server/0358-Add-phantom-creative-and-insomniac-controls.patch
diff --git a/patches/server/0360-Fix-item-duplication-and-teleport-issues.patch b/patches/server/0359-Fix-item-duplication-and-teleport-issues.patch
index f54692897c..9929b92856 100644
--- a/patches/server/0360-Fix-item-duplication-and-teleport-issues.patch
+++ b/patches/server/0359-Fix-item-duplication-and-teleport-issues.patch
@@ -16,10 +16,10 @@ So even if something NEW comes up, it would be impossible to drop the
same item twice because the source was destroyed.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 5bb40d4031ad7539dd98a1f4bf9bc7e3a2c6d978..47094050283625e3b494f5ab6955a2f9c736388d 100644
+index 828ffad0902d28c0dc86995f5f7270c54cd9d32c..7fc411c91b722d1f3494ef8eb37eeed7bbf10475 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2399,11 +2399,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2403,11 +2403,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
} else {
// CraftBukkit start - Capture drops for death event
if (this instanceof net.minecraft.world.entity.LivingEntity && !((net.minecraft.world.entity.LivingEntity) this).forceDrops) {
@@ -34,7 +34,7 @@ index 5bb40d4031ad7539dd98a1f4bf9bc7e3a2c6d978..47094050283625e3b494f5ab6955a2f9
entityitem.setDefaultPickUpDelay();
// CraftBukkit start
-@@ -3203,6 +3204,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -3206,6 +3207,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@Nullable
public Entity teleportTo(ServerLevel worldserver, Vec3 location) {
// CraftBukkit end
@@ -47,7 +47,7 @@ index 5bb40d4031ad7539dd98a1f4bf9bc7e3a2c6d978..47094050283625e3b494f5ab6955a2f9
if (this.level() instanceof ServerLevel && !this.isRemoved()) {
this.level().getProfiler().push("changeDimension");
// CraftBukkit start
-@@ -3229,6 +3236,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -3232,6 +3239,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
// CraftBukkit end
this.level().getProfiler().popPush("reloading");
@@ -59,7 +59,7 @@ index 5bb40d4031ad7539dd98a1f4bf9bc7e3a2c6d978..47094050283625e3b494f5ab6955a2f9
Entity entity = this.getType().create(worldserver);
if (entity != null) {
-@@ -3246,10 +3258,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -3249,10 +3261,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
// CraftBukkit start - Forward the CraftEntity to the new entity
this.getBukkitEntity().setHandle(entity);
entity.bukkitEntity = this.getBukkitEntity();
@@ -70,7 +70,7 @@ index 5bb40d4031ad7539dd98a1f4bf9bc7e3a2c6d978..47094050283625e3b494f5ab6955a2f9
// CraftBukkit end
}
-@@ -3368,7 +3376,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -3371,7 +3379,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public boolean canChangeDimensions() {
@@ -80,10 +80,10 @@ index 5bb40d4031ad7539dd98a1f4bf9bc7e3a2c6d978..47094050283625e3b494f5ab6955a2f9
public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 72ce49ead51a846013c887b39b80abb7d141cb0f..b7bf58ddbc02989777c5c8dd58f6dd34acf57507 100644
+index 8fff7d4c98e198bba0b4076807adc67476fcaf4b..035faf890c02ebd5bdbb430dc473e7a1bc7b9fd1 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -1705,9 +1705,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1706,9 +1706,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
// Paper start
org.bukkit.event.entity.EntityDeathEvent deathEvent = this.dropAllDeathLoot(damageSource);
if (deathEvent == null || !deathEvent.isCancelled()) {
@@ -96,7 +96,7 @@ index 72ce49ead51a846013c887b39b80abb7d141cb0f..b7bf58ddbc02989777c5c8dd58f6dd34
// Paper start - clear equipment if event is not cancelled
if (this instanceof Mob) {
for (EquipmentSlot slot : this.clearedEquipmentSlots) {
-@@ -1808,8 +1808,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1809,8 +1809,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.dropCustomDeathLoot(source, i, flag);
this.clearEquipmentSlots = prev; // Paper
}
@@ -135,7 +135,7 @@ index ddd512e1d7608ec051fb5adf6ec2c6bbb93f5a9d..4e3cf19b83410f3bcacd953a600bf0be
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 7e7427b9b5d44f1a5205011fa427f084bd34165c..77e1ff2725e015b76f6919f3f51d5d56a1e484a0 100644
+index 2b342f81ae8bfefe2a240351f28fcafc40609a75..c9fbc54d7ba10da4f4c376e029b64fb0249171a3 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -893,6 +893,11 @@ public class CraftEventFactory {
diff --git a/patches/server/0361-Villager-Restocks-API.patch b/patches/server/0360-Villager-Restocks-API.patch
index 75b7928672..75b7928672 100644
--- a/patches/server/0361-Villager-Restocks-API.patch
+++ b/patches/server/0360-Villager-Restocks-API.patch
diff --git a/patches/server/0362-Validate-PickItem-Packet-and-kick-for-invalid.patch b/patches/server/0361-Validate-PickItem-Packet-and-kick-for-invalid.patch
index 9d54c62606..daa5857791 100644
--- a/patches/server/0362-Validate-PickItem-Packet-and-kick-for-invalid.patch
+++ b/patches/server/0361-Validate-PickItem-Packet-and-kick-for-invalid.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Validate PickItem Packet and kick for invalid
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 79c7bce31d9c4e05afcb5cdbf06c4f6113d78ca3..36eb268d4aa4a8e7acb4498d27f2f7b75a519e2b 100644
+index 89da9267c4c1a884e5483c423ccc68ed1d79259b..83cd7c4157b49f2cc86a44f5040f33585ced4270 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -867,7 +867,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0363-Expose-game-version.patch b/patches/server/0362-Expose-game-version.patch
index 1c3104600c..3cbf0b5c30 100644
--- a/patches/server/0363-Expose-game-version.patch
+++ b/patches/server/0362-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 69e25f23322704d054bef119f3581eee08cff55f..32833942d0383671a03463d07ed6e40171db53c6 100644
+index ae424a5cbf8868aea9e11ffd565665c50aeb780e..356f737e4b224ed7d9692dcaf2a91617058e23ed 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 {
+@@ -579,6 +579,13 @@ public final class CraftServer implements Server {
return this.bukkitVersion;
}
diff --git a/patches/server/0364-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch b/patches/server/0363-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch
index 7501e408f6..7501e408f6 100644
--- a/patches/server/0364-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch
+++ b/patches/server/0363-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch
diff --git a/patches/server/0365-misc-debugging-dumps.patch b/patches/server/0364-misc-debugging-dumps.patch
index ae8fbfc251..5495434652 100644
--- a/patches/server/0365-misc-debugging-dumps.patch
+++ b/patches/server/0364-misc-debugging-dumps.patch
@@ -42,7 +42,7 @@ index 40ff3090fb17fb0f01a9b52639fb783ea57ce6b6..d39743d9626eb01c942194387dafb110
StackTraceElement[] astacktraceelement = exception.getStackTrace();
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 698601fc2c6e5d19a990bd3dcf0bc52e4c6efaea..4170f834c63807440c9bcda76cdcf93807de0eb1 100644
+index e5ecca5ae9e37e4d4d6d2adfd5f487a869ab775d..390bc01c19d5fed7ed455ddf9823697469e0d7fe 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -904,6 +904,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -87,10 +87,10 @@ index 04a728a16bb629adbae1cd8586764a6dbc22b5dc..d130f843975236018df4fa2ccc3ca6aa
this.connection.disconnect(ServerConfigurationPacketListenerImpl.DISCONNECT_REASON_INVALID_DATA);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 3371c9282eb23377371db1dc42b4b80fe6ade7da..967627073ce7f7670cdfea4c54434e17b7648664 100644
+index 356f737e4b224ed7d9692dcaf2a91617058e23ed..0a6b283aee63adb09cf1466fb18406f941466cd0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1006,6 +1006,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/0366-Prevent-teleporting-dead-entities.patch b/patches/server/0365-Prevent-teleporting-dead-entities.patch
index 67228f41f0..e1b8ad63b4 100644
--- a/patches/server/0366-Prevent-teleporting-dead-entities.patch
+++ b/patches/server/0365-Prevent-teleporting-dead-entities.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Prevent teleporting dead entities
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 36eb268d4aa4a8e7acb4498d27f2f7b75a519e2b..2e239328e31318e873973f86422d7aa469ee61e1 100644
+index 83cd7c4157b49f2cc86a44f5040f33585ced4270..874a1998b6aaff9f4c7818481298ad51e1adc525 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1545,6 +1545,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0367-Deobfuscate-stacktraces-in-log-messages-crash-report.patch b/patches/server/0366-Deobfuscate-stacktraces-in-log-messages-crash-report.patch
index 29fda00c16..8a44558d31 100644
--- a/patches/server/0367-Deobfuscate-stacktraces-in-log-messages-crash-report.patch
+++ b/patches/server/0366-Deobfuscate-stacktraces-in-log-messages-crash-report.patch
@@ -545,7 +545,7 @@ index 61f05f34ca33837c643f2915e753ec3935a38314..85b8be8ffac0fb40e9cae0528271ed41
throw new SkipPacketException(var13);
}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index 567e642232cc698995def33d7cbe1f679ea7a871..f269441cce34a0b5fb4da4764caeb22ff27cfb00 100644
+index 28fe088d97bd5fbfcc29dcc7d2a657d54578b2be..c41c53ee3b1a8b5c2c41fc9846f557eeb4d10f9b 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -194,6 +194,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
diff --git a/patches/server/0368-Implement-Mob-Goal-API.patch b/patches/server/0367-Implement-Mob-Goal-API.patch
index 296c7977a6..267fb77955 100644
--- a/patches/server/0368-Implement-Mob-Goal-API.patch
+++ b/patches/server/0367-Implement-Mob-Goal-API.patch
@@ -768,10 +768,10 @@ index 6667ecc4b7eded4e20a415cef1e1b1179e6710b8..16f9a98b8a939e5ca7e2dc04f87134a7
LOOK,
JUMP,
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index a40c30be9923da16f84f11e6678f1d380ad5bc69..9c27232b680e42c08a37347ed84669686a0cb2d1 100644
+index 0a6b283aee63adb09cf1466fb18406f941466cd0..12b76fd9d3d5e8dcca31d7e82f6956e13447ff64 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2877,5 +2877,11 @@ public final class CraftServer implements Server {
+@@ -2889,5 +2889,11 @@ public final class CraftServer implements Server {
public boolean isStopping() {
return net.minecraft.server.MinecraftServer.getServer().hasStopped();
}
diff --git a/patches/server/0369-Add-villager-reputation-API.patch b/patches/server/0368-Add-villager-reputation-API.patch
index 04891189ff..04891189ff 100644
--- a/patches/server/0369-Add-villager-reputation-API.patch
+++ b/patches/server/0368-Add-villager-reputation-API.patch
diff --git a/patches/server/0370-Option-for-maximum-exp-value-when-merging-orbs.patch b/patches/server/0369-Option-for-maximum-exp-value-when-merging-orbs.patch
index de7f3bafaa..92d8c7cf17 100644
--- a/patches/server/0370-Option-for-maximum-exp-value-when-merging-orbs.patch
+++ b/patches/server/0369-Option-for-maximum-exp-value-when-merging-orbs.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Option for maximum exp value when merging orbs
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 77e1ff2725e015b76f6919f3f51d5d56a1e484a0..93213cbd9682505d679661d4fc506ae4b9c67eec 100644
+index c9fbc54d7ba10da4f4c376e029b64fb0249171a3..fdfefa9cba2feb1d27676a6003780382b8f99cb4 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -702,16 +702,30 @@ public class CraftEventFactory {
diff --git a/patches/server/0371-ExperienceOrbMergeEvent.patch b/patches/server/0370-ExperienceOrbMergeEvent.patch
index 49e9d240ea..790fbce8a6 100644
--- a/patches/server/0371-ExperienceOrbMergeEvent.patch
+++ b/patches/server/0370-ExperienceOrbMergeEvent.patch
@@ -9,7 +9,7 @@ Plugins can cancel this if they want to ensure experience orbs do not lose impor
metadata such as spawn reason, or conditionally move data from source to target.
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 93213cbd9682505d679661d4fc506ae4b9c67eec..64236f5f126998157bb7bbae40ed0cd1550281e5 100644
+index fdfefa9cba2feb1d27676a6003780382b8f99cb4..2fbcd11ff457c9569bf011f94ed9658c7a85b743 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -711,7 +711,7 @@ public class CraftEventFactory {
diff --git a/patches/server/0372-Fix-PotionEffect-ignores-icon-flag.patch b/patches/server/0371-Fix-PotionEffect-ignores-icon-flag.patch
index 59291a76d6..7f8b5c39dd 100644
--- a/patches/server/0372-Fix-PotionEffect-ignores-icon-flag.patch
+++ b/patches/server/0371-Fix-PotionEffect-ignores-icon-flag.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Fix PotionEffect ignores icon flag
Co-authored-by: Tamion <[email protected]>
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index d5135ac97b2d4af7391a58799497c649cfcf8041..c15db60f4a198c0fe754c3579ff93870e968e639 100644
+index fd18531ff94daa6dc2994a69e1e647078a5a664c..9a9d119e76fca75a9e531f4bbd204ab8eb9a1263 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -455,7 +455,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -468,7 +468,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@Override
public boolean addPotionEffect(PotionEffect effect, boolean force) {
@@ -18,7 +18,7 @@ index d5135ac97b2d4af7391a58799497c649cfcf8041..c15db60f4a198c0fe754c3579ff93870
return true;
}
-@@ -476,7 +476,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -489,7 +489,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@Override
public PotionEffect getPotionEffect(PotionEffectType type) {
MobEffectInstance handle = this.getHandle().getEffect(CraftPotionEffectType.bukkitToMinecraft(type));
@@ -27,7 +27,7 @@ index d5135ac97b2d4af7391a58799497c649cfcf8041..c15db60f4a198c0fe754c3579ff93870
}
@Override
-@@ -488,7 +488,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -501,7 +501,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
public Collection<PotionEffect> getActivePotionEffects() {
List<PotionEffect> effects = new ArrayList<PotionEffect>();
for (MobEffectInstance handle : this.getHandle().activeEffects.values()) {
diff --git a/patches/server/0373-Potential-bed-API.patch b/patches/server/0372-Potential-bed-API.patch
index 80f1d44702..80f1d44702 100644
--- a/patches/server/0373-Potential-bed-API.patch
+++ b/patches/server/0372-Potential-bed-API.patch
diff --git a/patches/server/0374-Wait-for-Async-Tasks-during-shutdown.patch b/patches/server/0373-Wait-for-Async-Tasks-during-shutdown.patch
index 90df74f85d..bf00f6de7d 100644
--- a/patches/server/0374-Wait-for-Async-Tasks-during-shutdown.patch
+++ b/patches/server/0373-Wait-for-Async-Tasks-during-shutdown.patch
@@ -10,7 +10,7 @@ Adds a 5 second grace period for any async tasks to finish and warns
if any are still running after that delay just as reload does.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 4170f834c63807440c9bcda76cdcf93807de0eb1..1913eb3eb6a1ddc2d96240cbc50d4cf7325ebd3b 100644
+index 390bc01c19d5fed7ed455ddf9823697469e0d7fe..f786bf10a42fa4e9f610416959c60c52729c277b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -931,6 +931,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -22,10 +22,10 @@ index 4170f834c63807440c9bcda76cdcf93807de0eb1..1913eb3eb6a1ddc2d96240cbc50d4cf7
// CraftBukkit end
this.getConnection().stop();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index c8147b9481f79806ec64941169f2ef552c165baa..045066f5ba6dd69259664c5bf9eafae41b708892 100644
+index 12b76fd9d3d5e8dcca31d7e82f6956e13447ff64..a5c84867708385ae78951872410914835ab3e7e5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1016,6 +1016,31 @@ public final class CraftServer implements Server {
+@@ -1028,6 +1028,31 @@ public final class CraftServer implements Server {
org.spigotmc.WatchdogThread.hasStarted = true; // Paper - Disable watchdog early timeout on reload
}
diff --git a/patches/server/0375-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch b/patches/server/0374-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch
index d47ba47011..d47ba47011 100644
--- a/patches/server/0375-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch
+++ b/patches/server/0374-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch
diff --git a/patches/server/0376-Ensure-safe-gateway-teleport.patch b/patches/server/0375-Ensure-safe-gateway-teleport.patch
index f0c0928d23..f0c0928d23 100644
--- a/patches/server/0376-Ensure-safe-gateway-teleport.patch
+++ b/patches/server/0375-Ensure-safe-gateway-teleport.patch
diff --git a/patches/server/0377-Add-option-for-console-having-all-permissions.patch b/patches/server/0376-Add-option-for-console-having-all-permissions.patch
index ace91d22dd..ace91d22dd 100644
--- a/patches/server/0377-Add-option-for-console-having-all-permissions.patch
+++ b/patches/server/0376-Add-option-for-console-having-all-permissions.patch
diff --git a/patches/server/0378-Fix-villager-trading-demand-MC-163962.patch b/patches/server/0377-Fix-villager-trading-demand-MC-163962.patch
index 5396bba5ab..5396bba5ab 100644
--- a/patches/server/0378-Fix-villager-trading-demand-MC-163962.patch
+++ b/patches/server/0377-Fix-villager-trading-demand-MC-163962.patch
diff --git a/patches/server/0379-Maps-shouldn-t-load-chunks.patch b/patches/server/0378-Maps-shouldn-t-load-chunks.patch
index 4c561b2a04..4c561b2a04 100644
--- a/patches/server/0379-Maps-shouldn-t-load-chunks.patch
+++ b/patches/server/0378-Maps-shouldn-t-load-chunks.patch
diff --git a/patches/server/0380-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch b/patches/server/0379-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch
index ff8699f85d..ff8699f85d 100644
--- a/patches/server/0380-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch
+++ b/patches/server/0379-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch
diff --git a/patches/server/0381-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch b/patches/server/0380-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch
index 4175cae3b0..4175cae3b0 100644
--- a/patches/server/0381-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch
+++ b/patches/server/0380-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch
diff --git a/patches/server/0382-Fix-piston-physics-inconsistency-MC-188840.patch b/patches/server/0381-Fix-piston-physics-inconsistency-MC-188840.patch
index d5379f5106..d5379f5106 100644
--- a/patches/server/0382-Fix-piston-physics-inconsistency-MC-188840.patch
+++ b/patches/server/0381-Fix-piston-physics-inconsistency-MC-188840.patch
diff --git a/patches/server/0383-Fix-sand-duping.patch b/patches/server/0382-Fix-sand-duping.patch
index 5e5e88e51f..955e201da1 100644
--- a/patches/server/0383-Fix-sand-duping.patch
+++ b/patches/server/0382-Fix-sand-duping.patch
@@ -7,7 +7,7 @@ If the falling block dies during teleportation (entity#move), then we need
to detect that by placing a check after the move.
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
-index 1b9dfc32ce13dc9ec2fab60750dc1184dbddc5bd..2452c7f0a3ed1faf9b90351bea3389382c677d05 100644
+index e2f90b822f25bf100eaba0cf4518849f788ee2fa..67875e854d66b62c36fcca455f02f5abf3ebfdb3 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -131,6 +131,11 @@ public class FallingBlockEntity extends Entity {
diff --git a/patches/server/0384-Fix-missing-chunks-due-to-integer-overflow.patch b/patches/server/0383-Fix-missing-chunks-due-to-integer-overflow.patch
index 979e1e474e..979e1e474e 100644
--- a/patches/server/0384-Fix-missing-chunks-due-to-integer-overflow.patch
+++ b/patches/server/0383-Fix-missing-chunks-due-to-integer-overflow.patch
diff --git a/patches/server/0385-Prevent-position-desync-causing-tp-exploit.patch b/patches/server/0384-Prevent-position-desync-causing-tp-exploit.patch
index 9ce0b93c5a..60bf017cb9 100644
--- a/patches/server/0385-Prevent-position-desync-causing-tp-exploit.patch
+++ b/patches/server/0384-Prevent-position-desync-causing-tp-exploit.patch
@@ -13,7 +13,7 @@ behaviour, we need to move all of this dangerous logic outside
of the move call and into an appropriate place in the tick method.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 2e239328e31318e873973f86422d7aa469ee61e1..41c7156c03da9660ce9d0bfb6e06350e200e8aed 100644
+index 874a1998b6aaff9f4c7818481298ad51e1adc525..67470ad0c09ae94e5fab775a28cdefdf1241c5fa 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1366,6 +1366,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0386-Inventory-getHolder-method-without-block-snapshot.patch b/patches/server/0385-Inventory-getHolder-method-without-block-snapshot.patch
index b30d42bf56..b30d42bf56 100644
--- a/patches/server/0386-Inventory-getHolder-method-without-block-snapshot.patch
+++ b/patches/server/0385-Inventory-getHolder-method-without-block-snapshot.patch
diff --git a/patches/server/0387-Improve-Arrow-API.patch b/patches/server/0386-Improve-Arrow-API.patch
index cbf5d4d815..cbf5d4d815 100644
--- a/patches/server/0387-Improve-Arrow-API.patch
+++ b/patches/server/0386-Improve-Arrow-API.patch
diff --git a/patches/server/0388-Add-PlayerRecipeBookClickEvent.patch b/patches/server/0387-Add-PlayerRecipeBookClickEvent.patch
index 4862a88a63..d3bf03c1b3 100644
--- a/patches/server/0388-Add-PlayerRecipeBookClickEvent.patch
+++ b/patches/server/0387-Add-PlayerRecipeBookClickEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerRecipeBookClickEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 41c7156c03da9660ce9d0bfb6e06350e200e8aed..66727b650e31ceb587657e112a1b0e7be5d47608 100644
+index 67470ad0c09ae94e5fab775a28cdefdf1241c5fa..98826ba4ab062e029359968c221ba320b2d2daeb 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2962,16 +2962,40 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0389-Hide-sync-chunk-writes-behind-flag.patch b/patches/server/0388-Hide-sync-chunk-writes-behind-flag.patch
index cf5c2534f0..cf5c2534f0 100644
--- a/patches/server/0389-Hide-sync-chunk-writes-behind-flag.patch
+++ b/patches/server/0388-Hide-sync-chunk-writes-behind-flag.patch
diff --git a/patches/server/0390-Add-permission-for-command-blocks.patch b/patches/server/0389-Add-permission-for-command-blocks.patch
index 134762ebfa..6948cb2f18 100644
--- a/patches/server/0390-Add-permission-for-command-blocks.patch
+++ b/patches/server/0389-Add-permission-for-command-blocks.patch
@@ -18,7 +18,7 @@ index e8b12b27e5ec74afb940f575e5ce78e5905d55f4..c3eb4b6372eed0b7eb636f495ce494b6
return false;
} else if (this.player.blockActionRestricted(this.level, pos, this.gameModeForPlayer)) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 66727b650e31ceb587657e112a1b0e7be5d47608..7ab30b8831b561374b7764148c4e5ed7451bafab 100644
+index 98826ba4ab062e029359968c221ba320b2d2daeb..e9a3edbb66c79664f35150f052b6ff3534d0904c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -778,7 +778,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0391-Ensure-Entity-position-and-AABB-are-never-invalid.patch b/patches/server/0390-Ensure-Entity-position-and-AABB-are-never-invalid.patch
index c74d2ed12e..3c79f53265 100644
--- a/patches/server/0391-Ensure-Entity-position-and-AABB-are-never-invalid.patch
+++ b/patches/server/0390-Ensure-Entity-position-and-AABB-are-never-invalid.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Ensure Entity position and AABB are never invalid
Co-authored-by: Spottedleaf <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 47094050283625e3b494f5ab6955a2f9c736388d..70380d5807cac6dec19ebe581d685b1e32d8830b 100644
+index 7fc411c91b722d1f3494ef8eb37eeed7bbf10475..5528fc04283c4578a6c9b47e9ddcc63d6a77e76a 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -639,8 +639,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -20,7 +20,7 @@ index 47094050283625e3b494f5ab6955a2f9c736388d..70380d5807cac6dec19ebe581d685b1e
}
protected AABB makeBoundingBox() {
-@@ -4130,7 +4130,29 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -4133,7 +4133,29 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return this.getZ((2.0D * this.random.nextDouble() - 1.0D) * widthScale);
}
@@ -50,7 +50,7 @@ index 47094050283625e3b494f5ab6955a2f9c736388d..70380d5807cac6dec19ebe581d685b1e
if (this.position.x != x || this.position.y != y || this.position.z != z) {
this.position = new Vec3(x, y, z);
int i = Mth.floor(x);
-@@ -4148,6 +4170,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -4151,6 +4173,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.levelCallback.onMove();
}
diff --git a/patches/server/0392-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0391-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
index 9482b89bc0..78ad4f527d 100644
--- a/patches/server/0392-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
+++ b/patches/server/0391-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
@@ -63,7 +63,7 @@ index 997a96a21440ae72696d68f8031ece4ba487d3ef..3d8584929cee000ae7df10c5bd94f358
return Component.translatable("commands.difficulty.success", difficulty.getDisplayName());
}, true);
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index f269441cce34a0b5fb4da4764caeb22ff27cfb00..317f9048be060778104c8ac3494599c2141b7aac 100644
+index c41c53ee3b1a8b5c2c41fc9846f557eeb4d10f9b..ebea8a827aad108dd6d4222e8dfd251d2cea657a 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -325,7 +325,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -76,7 +76,7 @@ index f269441cce34a0b5fb4da4764caeb22ff27cfb00..317f9048be060778104c8ac3494599c2
@Override
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index e3413273076b697d560c927ea0e12f34722a79c1..ab92c2c0ff5ebb395670c23fe0e3a8122b215874 100644
+index e5653695a3fbcd260ce44ca37291406a1033a3fa..966b86a2b26a32aad2656d1f2beb6daf5b81b3b1 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1161,7 +1161,7 @@ public class ServerPlayer extends Player {
@@ -89,7 +89,7 @@ index e3413273076b697d560c927ea0e12f34722a79c1..ab92c2c0ff5ebb395670c23fe0e3a812
playerlist.sendPlayerPermissionLevel(this);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 7ab30b8831b561374b7764148c4e5ed7451bafab..5487f04a6061d007c38bfad66e9b8251b5b0353b 100644
+index e9a3edbb66c79664f35150f052b6ff3534d0904c..18c7189725cc7c2d4438ea711fd72b752d0db0e0 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3165,7 +3165,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -102,10 +102,10 @@ index 7ab30b8831b561374b7764148c4e5ed7451bafab..5487f04a6061d007c38bfad66e9b8251
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index e7d73f2b56680bcbdd8b4e06547a518ec8145549..04a3b84f3dab7d8eff16a19b1c3cd0a70ba450c5 100644
+index a5c84867708385ae78951872410914835ab3e7e5..edbf53c69bf788c2ac3b7d1be258e37cb801a5f6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -955,8 +955,8 @@ public final class CraftServer implements Server {
+@@ -967,8 +967,8 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot
this.console.paperConfigurations.reloadConfigs(this.console);
for (ServerLevel world : this.console.getAllLevels()) {
@@ -117,10 +117,10 @@ index e7d73f2b56680bcbdd8b4e06547a518ec8145549..04a3b84f3dab7d8eff16a19b1c3cd0a7
for (SpawnCategory spawnCategory : SpawnCategory.values()) {
if (CraftSpawnCategory.isValidForLimits(spawnCategory)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 6ab78bead1fd4e7c02c597b23824f5e4f80132c9..c44cfa0dd5794976c74211467ac0b7022cce17e9 100644
+index 6bb9d76f8c5f3dc683caecfbb7c7c2ca41cba659..aac25db85143ba09e96ef0775786732958f42ffb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1121,7 +1121,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1134,7 +1134,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setDifficulty(Difficulty difficulty) {
diff --git a/patches/server/0393-Paper-dumpitem-command.patch b/patches/server/0392-Paper-dumpitem-command.patch
index 23f5287194..23f5287194 100644
--- a/patches/server/0393-Paper-dumpitem-command.patch
+++ b/patches/server/0392-Paper-dumpitem-command.patch
diff --git a/patches/server/0394-Improve-Legacy-Component-serialization-size.patch b/patches/server/0393-Improve-Legacy-Component-serialization-size.patch
index 00450d094b..00450d094b 100644
--- a/patches/server/0394-Improve-Legacy-Component-serialization-size.patch
+++ b/patches/server/0393-Improve-Legacy-Component-serialization-size.patch
diff --git a/patches/server/0395-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/patches/server/0394-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
index 8a3e2169f4..45d64256b9 100644
--- a/patches/server/0395-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
+++ b/patches/server/0394-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 7803075383cdde77444991e72f49ed67627f95ed..936928dda8b09386ef936cec9da65eb76b1ccf1d 100644
+index edbf53c69bf788c2ac3b7d1be258e37cb801a5f6..c05fd6a179e8d142b3f5a8977ae7afab8c609a4e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -377,7 +377,7 @@ public final class CraftServer implements Server {
+@@ -379,7 +379,7 @@ public final class CraftServer implements Server {
this.overrideSpawnLimits();
console.autosavePeriod = this.configuration.getInt("ticks-per.autosave");
this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose"));
@@ -34,7 +34,7 @@ index 7803075383cdde77444991e72f49ed67627f95ed..936928dda8b09386ef936cec9da65eb7
this.minimumAPI = this.configuration.getString("settings.minimum-api");
this.loadIcon();
-@@ -935,7 +935,7 @@ public final class CraftServer implements Server {
+@@ -947,7 +947,7 @@ public final class CraftServer implements Server {
this.console.setMotd(config.motd);
this.overrideSpawnLimits();
this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose"));
@@ -44,10 +44,10 @@ index 7803075383cdde77444991e72f49ed67627f95ed..936928dda8b09386ef936cec9da65eb7
this.printSaveWarning = false;
this.console.autosavePeriod = this.configuration.getInt("ticks-per.autosave");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index c44cfa0dd5794976c74211467ac0b7022cce17e9..6070409175b106ba6920adf4fa860215cd6f3087 100644
+index aac25db85143ba09e96ef0775786732958f42ffb..af782882479910f13b54081df2443387135874e0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -282,7 +282,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -288,7 +288,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public Chunk getChunkAt(int x, int z) {
@@ -62,7 +62,7 @@ index c44cfa0dd5794976c74211467ac0b7022cce17e9..6070409175b106ba6920adf4fa860215
return new CraftChunk(chunk);
}
-@@ -296,6 +302,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -302,6 +308,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return new CraftChunk(this.getHandle(), x, z);
}
@@ -75,7 +75,7 @@ index c44cfa0dd5794976c74211467ac0b7022cce17e9..6070409175b106ba6920adf4fa860215
@Override
public Chunk getChunkAt(Block block) {
Preconditions.checkArgument(block != null, "null block");
-@@ -347,7 +359,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -353,7 +365,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public boolean unloadChunkRequest(int x, int z) {
org.spigotmc.AsyncCatcher.catchOp("chunk unload"); // Spigot
if (this.isChunkLoaded(x, z)) {
@@ -84,7 +84,7 @@ index c44cfa0dd5794976c74211467ac0b7022cce17e9..6070409175b106ba6920adf4fa860215
}
return true;
-@@ -432,7 +444,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -438,7 +450,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
if (chunk instanceof net.minecraft.world.level.chunk.LevelChunk) {
@@ -93,7 +93,7 @@ index c44cfa0dd5794976c74211467ac0b7022cce17e9..6070409175b106ba6920adf4fa860215
return true;
}
-@@ -2184,6 +2196,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2221,6 +2233,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
io.papermc.paper.chunk.system.ChunkSystem.scheduleChunkLoad(this.getHandle(), x, z, gen, ChunkStatus.FULL, true, priority, (c) -> {
net.minecraft.server.MinecraftServer.getServer().scheduleOnMain(() -> {
net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk)c;
diff --git a/patches/server/0396-Add-BlockStateMeta-clearBlockState.patch b/patches/server/0395-Add-BlockStateMeta-clearBlockState.patch
index 86efcbf634..86efcbf634 100644
--- a/patches/server/0396-Add-BlockStateMeta-clearBlockState.patch
+++ b/patches/server/0395-Add-BlockStateMeta-clearBlockState.patch
diff --git a/patches/server/0397-Support-old-UUID-format-for-NBT.patch b/patches/server/0396-Support-old-UUID-format-for-NBT.patch
index 590d6d62e6..590d6d62e6 100644
--- a/patches/server/0397-Support-old-UUID-format-for-NBT.patch
+++ b/patches/server/0396-Support-old-UUID-format-for-NBT.patch
diff --git a/patches/server/0398-Convert-legacy-attributes-in-Item-Meta.patch b/patches/server/0397-Convert-legacy-attributes-in-Item-Meta.patch
index e639bfc5c6..73fa3e1bc2 100644
--- a/patches/server/0398-Convert-legacy-attributes-in-Item-Meta.patch
+++ b/patches/server/0397-Convert-legacy-attributes-in-Item-Meta.patch
@@ -30,7 +30,7 @@ index d4dba8c733c7560e5108b8d239b52e593f8debec..ea48f1119a940056c37d1d203437bfbf
public CraftAttributeMap(AttributeMap handle) {
this.handle = handle;
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index ed50a1e492643842a094fc90fb52cbec4e8f5f3d..f9f57f4ab75776dbaa4dc39d30e32b2c778b1955 100644
+index 629fa76e6c7c2ede36ab855bb3a7a65dfd601449..a3713c5ab624b8d54ddcd69ae7587346ebbaed69 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -485,7 +485,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/0399-Do-not-accept-invalid-client-settings.patch b/patches/server/0398-Do-not-accept-invalid-client-settings.patch
index 340f0e9657..47657e138e 100644
--- a/patches/server/0399-Do-not-accept-invalid-client-settings.patch
+++ b/patches/server/0398-Do-not-accept-invalid-client-settings.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Do not accept invalid client settings
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 5487f04a6061d007c38bfad66e9b8251b5b0353b..540c33baacc57f5ec46b2f373d1cca2857463ecd 100644
+index 18c7189725cc7c2d4438ea711fd72b752d0db0e0..22d6c914ffbe591d3de19b89a0e87d1042bf1772 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3157,6 +3157,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0400-Improve-fix-EntityTargetLivingEntityEvent.patch b/patches/server/0399-Improve-fix-EntityTargetLivingEntityEvent.patch
index 513faeb27d..513faeb27d 100644
--- a/patches/server/0400-Improve-fix-EntityTargetLivingEntityEvent.patch
+++ b/patches/server/0399-Improve-fix-EntityTargetLivingEntityEvent.patch
diff --git a/patches/server/0401-Add-entity-liquid-API.patch b/patches/server/0400-Add-entity-liquid-API.patch
index 3d2fc104d1..3d2fc104d1 100644
--- a/patches/server/0401-Add-entity-liquid-API.patch
+++ b/patches/server/0400-Add-entity-liquid-API.patch
diff --git a/patches/server/0402-Update-itemstack-legacy-name-and-lore.patch b/patches/server/0401-Update-itemstack-legacy-name-and-lore.patch
index 18dbfa4f6e..49a60bd241 100644
--- a/patches/server/0402-Update-itemstack-legacy-name-and-lore.patch
+++ b/patches/server/0401-Update-itemstack-legacy-name-and-lore.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Update itemstack legacy name and lore
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index 9b9504ca32d8cc7c037e0a96f2d8aa03d5c5495d..556d8d395df3660ec7923c6814bc281c5fce442f 100644
+index 0a3fec9b82a4d744f9046aebe30f80bb6e56c500..4a6e128c62c890c34b62f826d586ae6a424e7f01 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -195,6 +195,44 @@ public final class ItemStack {
+@@ -196,6 +196,44 @@ public final class ItemStack {
list.sort((java.util.Comparator<? super net.minecraft.nbt.Tag>) enchantSorter); // Paper
} catch (Exception ignored) {}
}
@@ -53,7 +53,7 @@ index 9b9504ca32d8cc7c037e0a96f2d8aa03d5c5495d..556d8d395df3660ec7923c6814bc281c
// Paper end
public ItemStack(ItemLike item) {
-@@ -244,6 +282,7 @@ public final class ItemStack {
+@@ -245,6 +283,7 @@ public final class ItemStack {
if (nbttagcompound.contains("tag", 10)) {
this.tag = nbttagcompound.getCompound("tag").copy();
this.processEnchantOrder(this.tag); // Paper
diff --git a/patches/server/0403-Add-PrepareResultEvent.patch b/patches/server/0402-Add-PrepareResultEvent.patch
index cb127c83aa..4a6f392905 100644
--- a/patches/server/0403-Add-PrepareResultEvent.patch
+++ b/patches/server/0402-Add-PrepareResultEvent.patch
@@ -94,10 +94,10 @@ index 9c2fe69ced7a46bbd8b0fbe10fa67d0a39b0f375..e40d9dbdbe5359c38af6d764d01c9be4
private void setupRecipeList(Container input, ItemStack stack) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 4dddda15446857caa628d01c496aa1398b436894..58a1c1f48655b7403379bcd46945f4b16f73d790 100644
+index 2fbcd11ff457c9569bf011f94ed9658c7a85b743..5a7946d3877eece469f21ee512342847101b2f67 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1715,6 +1715,12 @@ public class CraftEventFactory {
+@@ -1646,6 +1646,12 @@ public class CraftEventFactory {
}
public static PrepareAnvilEvent callPrepareAnvilEvent(InventoryView view, ItemStack item) {
@@ -110,7 +110,7 @@ index 4dddda15446857caa628d01c496aa1398b436894..58a1c1f48655b7403379bcd46945f4b1
PrepareAnvilEvent event = new PrepareAnvilEvent(view, CraftItemStack.asCraftMirror(item).clone());
event.getView().getPlayer().getServer().getPluginManager().callEvent(event);
event.getInventory().setItem(2, event.getResult());
-@@ -1722,6 +1728,12 @@ public class CraftEventFactory {
+@@ -1653,6 +1659,12 @@ public class CraftEventFactory {
}
public static PrepareGrindstoneEvent callPrepareGrindstoneEvent(InventoryView view, ItemStack item) {
@@ -123,7 +123,7 @@ index 4dddda15446857caa628d01c496aa1398b436894..58a1c1f48655b7403379bcd46945f4b1
PrepareGrindstoneEvent event = new PrepareGrindstoneEvent(view, CraftItemStack.asCraftMirror(item).clone());
event.getView().getPlayer().getServer().getPluginManager().callEvent(event);
event.getInventory().setItem(2, event.getResult());
-@@ -1729,12 +1741,39 @@ public class CraftEventFactory {
+@@ -1660,12 +1672,39 @@ public class CraftEventFactory {
}
public static PrepareSmithingEvent callPrepareSmithingEvent(InventoryView view, ItemStack item) {
diff --git a/patches/server/0404-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch b/patches/server/0403-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch
index d46fd307e0..08e42c9d20 100644
--- a/patches/server/0404-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch
+++ b/patches/server/0403-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Don't check chunk for portal on world gen entity add
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index b7bf58ddbc02989777c5c8dd58f6dd34acf57507..115dbe71ff1e9996e8307a389569303a320101f4 100644
+index 035faf890c02ebd5bdbb430dc473e7a1bc7b9fd1..0e009d34a17b7fbebb8bd815cef9df191cd906a5 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3510,7 +3510,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3523,7 +3523,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
Entity entity = this.getVehicle();
super.stopRiding(suppressCancellation); // Paper - Force entity dismount during teleportation
diff --git a/patches/server/0405-Fix-arrows-never-despawning-MC-125757.patch b/patches/server/0404-Fix-arrows-never-despawning-MC-125757.patch
index f18ca77619..f18ca77619 100644
--- a/patches/server/0405-Fix-arrows-never-despawning-MC-125757.patch
+++ b/patches/server/0404-Fix-arrows-never-despawning-MC-125757.patch
diff --git a/patches/server/0406-Thread-Safe-Vanilla-Command-permission-checking.patch b/patches/server/0405-Thread-Safe-Vanilla-Command-permission-checking.patch
index d3ee9cbba1..d3ee9cbba1 100644
--- a/patches/server/0406-Thread-Safe-Vanilla-Command-permission-checking.patch
+++ b/patches/server/0405-Thread-Safe-Vanilla-Command-permission-checking.patch
diff --git a/patches/server/0407-Fix-SPIGOT-5989.patch b/patches/server/0406-Fix-SPIGOT-5989.patch
index f71f29884f..f71f29884f 100644
--- a/patches/server/0407-Fix-SPIGOT-5989.patch
+++ b/patches/server/0406-Fix-SPIGOT-5989.patch
diff --git a/patches/server/0408-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch b/patches/server/0407-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch
index 2e36f96bd3..2e36f96bd3 100644
--- a/patches/server/0408-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch
+++ b/patches/server/0407-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch
diff --git a/patches/server/0409-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch b/patches/server/0408-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch
index 5bf7411f05..5bf7411f05 100644
--- a/patches/server/0409-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch
+++ b/patches/server/0408-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch
diff --git a/patches/server/0410-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch b/patches/server/0409-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch
index f1039e4bf0..f1039e4bf0 100644
--- a/patches/server/0410-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch
+++ b/patches/server/0409-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch
diff --git a/patches/server/0411-Optimize-NetworkManager-Exception-Handling.patch b/patches/server/0410-Optimize-NetworkManager-Exception-Handling.patch
index d1999714a1..d1999714a1 100644
--- a/patches/server/0411-Optimize-NetworkManager-Exception-Handling.patch
+++ b/patches/server/0410-Optimize-NetworkManager-Exception-Handling.patch
diff --git a/patches/server/0412-Fix-some-rails-connecting-improperly.patch b/patches/server/0411-Fix-some-rails-connecting-improperly.patch
index 85d4d5d18d..85d4d5d18d 100644
--- a/patches/server/0412-Fix-some-rails-connecting-improperly.patch
+++ b/patches/server/0411-Fix-some-rails-connecting-improperly.patch
diff --git a/patches/server/0413-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch b/patches/server/0412-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch
index 75cd32bb83..75cd32bb83 100644
--- a/patches/server/0413-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch
+++ b/patches/server/0412-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch
diff --git a/patches/server/0414-Brand-support.patch b/patches/server/0413-Brand-support.patch
index e6b4bbb729..5c4d8ed97e 100644
--- a/patches/server/0414-Brand-support.patch
+++ b/patches/server/0413-Brand-support.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Brand support
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index ab92c2c0ff5ebb395670c23fe0e3a8122b215874..dc41eb243510fdb1de9ca3a0a8cb871af5272876 100644
+index 966b86a2b26a32aad2656d1f2beb6daf5b81b3b1..587cce4d3878bc5cba5f4f4e58eacce2f656e242 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -273,6 +273,7 @@ public class ServerPlayer extends Player {
@@ -57,10 +57,10 @@ index e69043316372d98b122ed3788fda79cdd36849e8..6597e6e9987ddb5906909c22704fdfb6
} catch (Exception ex) {
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index dcea3f827a79de3581adff51f34220a1d656e8e9..8a289cd0876a8c063a2b5f75ce8eb41f4be98acf 100644
+index d6bddec130167af3d72555535045568ee941bb88..6e9fc623f5a56753e2c78c3ff63c6f4de7cbcccb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3005,6 +3005,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3056,6 +3056,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper end
};
diff --git a/patches/server/0415-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/server/0414-Add-playPickupItemAnimation-to-LivingEntity.patch
index 2a27938ebb..56a928d96f 100644
--- a/patches/server/0415-Add-playPickupItemAnimation-to-LivingEntity.patch
+++ b/patches/server/0414-Add-playPickupItemAnimation-to-LivingEntity.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add playPickupItemAnimation to LivingEntity
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index c15db60f4a198c0fe754c3579ff93870e968e639..2550546b200f331ef83b20bf5e119a003cadacba 100644
+index 9a9d119e76fca75a9e531f4bbd204ab8eb9a1263..bf581842476b8f554987b452c291a55a1dfc92c5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -936,5 +936,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -949,5 +949,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
((Mob) getHandle()).getJumpControl().jump();
}
}
diff --git a/patches/server/0416-Don-t-require-FACING-data.patch b/patches/server/0415-Don-t-require-FACING-data.patch
index 98d0ef923f..98d0ef923f 100644
--- a/patches/server/0416-Don-t-require-FACING-data.patch
+++ b/patches/server/0415-Don-t-require-FACING-data.patch
diff --git a/patches/server/0417-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0416-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch
index 682fbc2465..066bed27a2 100644
--- a/patches/server/0417-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch
+++ b/patches/server/0416-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch
@@ -21,10 +21,10 @@ index d2da284aa7284c5205e656c48262061980893be6..aa2f23c4f7d25d0f92ff025bb1840aff
// if this keepSpawnInMemory is false a plugin has already removed our tickets, do not re-add
this.removeTicketsForSpawn(this.paperConfig().spawn.keepSpawnLoadedRange * 16, prevSpawn);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 6070409175b106ba6920adf4fa860215cd6f3087..89119833db9660377d4d4cd7d69c7a16f23f8c12 100644
+index af782882479910f13b54081df2443387135874e0..dbe1e59572ca0f98783db456bdab6ee4e79f7689 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -262,12 +262,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -268,12 +268,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean setSpawnLocation(int x, int y, int z, float angle) {
try {
diff --git a/patches/server/0418-Add-moon-phase-API.patch b/patches/server/0417-Add-moon-phase-API.patch
index a3c7110453..a3c7110453 100644
--- a/patches/server/0418-Add-moon-phase-API.patch
+++ b/patches/server/0417-Add-moon-phase-API.patch
diff --git a/patches/server/0419-Do-not-let-the-server-load-chunks-from-newer-version.patch b/patches/server/0418-Do-not-let-the-server-load-chunks-from-newer-version.patch
index 1c14f5e794..6f37b0bcc0 100644
--- a/patches/server/0419-Do-not-let-the-server-load-chunks-from-newer-version.patch
+++ b/patches/server/0418-Do-not-let-the-server-load-chunks-from-newer-version.patch
@@ -9,7 +9,7 @@ the game, immediately stop the server to prevent data corruption.
You can override this functionality at your own peril.
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
-index 5ef782ef14a9a880cb3db433bbee2d4a70d33718..29aaedbe70901fdd98f15f2ca5ba382106091d1a 100644
+index cbc8e95c8f890f0c0eb717d4d2ae3f427dc260d8..3b046dc106b96b7ca2b148d605e8b7c97453d033 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
@@ -84,6 +84,10 @@ public class ChunkSerializer {
diff --git a/patches/server/0420-Prevent-headless-pistons-from-being-created.patch b/patches/server/0419-Prevent-headless-pistons-from-being-created.patch
index 856b2719cc..c4ae7a0fb8 100644
--- a/patches/server/0420-Prevent-headless-pistons-from-being-created.patch
+++ b/patches/server/0419-Prevent-headless-pistons-from-being-created.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Prevent headless pistons from being created
Prevent headless pistons from being created by explosions or tree/mushroom growth.
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
-index 653036ca797ed4e87f0cc15898d55ede2ed96206..c7075aaf417b1dc9eab4a19b72fac50d2a44286b 100644
+index b03b4d366cae39081a7b70524e8615c986d76362..cd939ab6958e8eb632056d32f68e2fcae7735d64 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -205,6 +205,15 @@ public class Explosion {
diff --git a/patches/server/0421-Add-BellRingEvent.patch b/patches/server/0420-Add-BellRingEvent.patch
index 6fe7f72b65..b242567509 100644
--- a/patches/server/0421-Add-BellRingEvent.patch
+++ b/patches/server/0420-Add-BellRingEvent.patch
@@ -7,7 +7,7 @@ Add a new event, BellRingEvent, to trigger whenever a player rings a
village bell. Passes along the bell block and the player who rang it.
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 8ac093866aec59b4e031b953d4c3c3af66733812..915f49bbfca87682a3ae497dfcd335268f974efe 100644
+index 5a7946d3877eece469f21ee512342847101b2f67..42702b6196ad816bf1bd5df189cc99c58562da24 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -366,10 +366,11 @@ public class CraftEventFactory {
diff --git a/patches/server/0422-Add-zombie-targets-turtle-egg-config.patch b/patches/server/0421-Add-zombie-targets-turtle-egg-config.patch
index 240bf5e662..240bf5e662 100644
--- a/patches/server/0422-Add-zombie-targets-turtle-egg-config.patch
+++ b/patches/server/0421-Add-zombie-targets-turtle-egg-config.patch
diff --git a/patches/server/0423-Buffer-joins-to-world.patch b/patches/server/0422-Buffer-joins-to-world.patch
index 04aef85833..35f2604677 100644
--- a/patches/server/0423-Buffer-joins-to-world.patch
+++ b/patches/server/0422-Buffer-joins-to-world.patch
@@ -8,7 +8,7 @@ the world per tick, this attempts to reduce the impact that join floods
has on the server
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
-index dc9f8625e15c49ea64d2b7d9515d36d5ef834820..777681a58417684a35a875c869ab22e50bb27da5 100644
+index 44e62675a2d612a8d727d9ce6db5fb85d1a0bcc8..1113380f6f142d2faf36191aae158c747bed5bb9 100644
--- a/src/main/java/net/minecraft/network/Connection.java
+++ b/src/main/java/net/minecraft/network/Connection.java
@@ -415,14 +415,29 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
diff --git a/patches/server/0424-Fix-hex-colors-not-working-in-some-kick-messages.patch b/patches/server/0423-Fix-hex-colors-not-working-in-some-kick-messages.patch
index 57e0372840..c003ab2626 100644
--- a/patches/server/0424-Fix-hex-colors-not-working-in-some-kick-messages.patch
+++ b/patches/server/0423-Fix-hex-colors-not-working-in-some-kick-messages.patch
@@ -29,7 +29,7 @@ index 08a7461a92ae84cac69e4bb57a099d1f35ff1c1a..9b611fc277baf99a5d24b30a11f0efa7
this.connection.disconnect(ichatmutablecomponent);
} else {
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
-index ba0bdd685c49c02bcb1b6d840ddceb9049565d34..d4658328eeecb1c9e3e25eec14dea07e9e2a8b74 100644
+index f4ed58b03876c35f8964a8a1b8ce89961b9ee6d3..a7da99ac31bbcb8b6f1814a2d5509c7067aafb08 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -99,7 +99,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
diff --git a/patches/server/0425-PortalCreateEvent-needs-to-know-its-entity.patch b/patches/server/0424-PortalCreateEvent-needs-to-know-its-entity.patch
index c6107581a4..910ff0e5d2 100644
--- a/patches/server/0425-PortalCreateEvent-needs-to-know-its-entity.patch
+++ b/patches/server/0424-PortalCreateEvent-needs-to-know-its-entity.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] PortalCreateEvent needs to know its entity
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index 556d8d395df3660ec7923c6814bc281c5fce442f..b4f2b75960674e81c8189dc908523c56ae2e5079 100644
+index 4a6e128c62c890c34b62f826d586ae6a424e7f01..9d2d305a5e66b9f3d94f6464736f5bb40adae591 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -478,7 +478,7 @@ public final class ItemStack {
+@@ -480,7 +480,7 @@ public final class ItemStack {
net.minecraft.world.level.block.state.BlockState block = world.getBlockState(newblockposition);
if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically
diff --git a/patches/server/0426-Add-more-Evoker-API.patch b/patches/server/0425-Add-more-Evoker-API.patch
index f44eceff55..f44eceff55 100644
--- a/patches/server/0426-Add-more-Evoker-API.patch
+++ b/patches/server/0425-Add-more-Evoker-API.patch
diff --git a/patches/server/0427-Add-methods-to-get-translation-keys.patch b/patches/server/0426-Add-methods-to-get-translation-keys.patch
index d602369647..d602369647 100644
--- a/patches/server/0427-Add-methods-to-get-translation-keys.patch
+++ b/patches/server/0426-Add-methods-to-get-translation-keys.patch
diff --git a/patches/server/0428-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/server/0427-Create-HoverEvent-from-ItemStack-Entity.patch
index 9e6e476351..9e6e476351 100644
--- a/patches/server/0428-Create-HoverEvent-from-ItemStack-Entity.patch
+++ b/patches/server/0427-Create-HoverEvent-from-ItemStack-Entity.patch
diff --git a/patches/server/0429-Cache-block-data-strings.patch b/patches/server/0428-Cache-block-data-strings.patch
index b814a2a2e4..92b4d334d6 100644
--- a/patches/server/0429-Cache-block-data-strings.patch
+++ b/patches/server/0428-Cache-block-data-strings.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Cache block data strings
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 9d41c8e93aa97a78da26bef5cfbed8412d4e1451..dde00d50b28928e35e1f95ef3f0eb46828e9d4bc 100644
+index 21176d6e57ae9e975b1e7de14b3364365cc1012d..47ad733022e5d17d839209e4163e8508e57b43c8 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2068,6 +2068,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -17,7 +17,7 @@ index 9d41c8e93aa97a78da26bef5cfbed8412d4e1451..dde00d50b28928e35e1f95ef3f0eb468
if (this.isSameThread()) {
diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
-index 85ee8a3d6db6610104f8a10d77d7cad5dc9b667e..d95f56356a8d1fc82f548d93038bd81c57f46f9e 100644
+index fce3fec5e1ff164b0596fdd6b3d7b5b0277253ef..587396f5ed01939cd3ddce10fecf86ba80eb9c73 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
@@ -154,7 +154,7 @@ public class CraftBlockData implements BlockData {
diff --git a/patches/server/0430-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0429-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
index 1481a759dc..26f5e20693 100644
--- a/patches/server/0430-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
+++ b/patches/server/0429-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
@@ -9,7 +9,7 @@ as this is how Vanilla teleports entities.
Cancel any pending motion when teleported.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 540c33baacc57f5ec46b2f373d1cca2857463ecd..e87ffaed1be9e849ea98bde8622a0a0a4645c435 100644
+index 22d6c914ffbe591d3de19b89a0e87d1042bf1772..4e37b9a495babec58f60b59db0e034d5e033b198 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -656,7 +656,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -31,7 +31,7 @@ index 540c33baacc57f5ec46b2f373d1cca2857463ecd..e87ffaed1be9e849ea98bde8622a0a0a
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 70380d5807cac6dec19ebe581d685b1e32d8830b..9946f04c7e5877f094293c4c0976aeecf5c83c56 100644
+index 2811177ed3f1f58c63820ddf6ec382f9c806ecd8..0d1afa04c234837f3bc2b50b62e4171ce653cdb2 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -161,6 +161,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -42,7 +42,7 @@ index 70380d5807cac6dec19ebe581d685b1e32d8830b..9946f04c7e5877f094293c4c0976aeec
static boolean isLevelAtLeast(CompoundTag tag, int level) {
return tag.contains("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level;
}
-@@ -1773,6 +1774,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -1772,6 +1773,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public void moveTo(double x, double y, double z, float yaw, float pitch) {
diff --git a/patches/server/0431-Add-additional-open-container-api-to-HumanEntity.patch b/patches/server/0430-Add-additional-open-container-api-to-HumanEntity.patch
index 857657780a..857657780a 100644
--- a/patches/server/0431-Add-additional-open-container-api-to-HumanEntity.patch
+++ b/patches/server/0430-Add-additional-open-container-api-to-HumanEntity.patch
diff --git a/patches/server/0432-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch b/patches/server/0431-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch
index 572dc995c0..572dc995c0 100644
--- a/patches/server/0432-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch
+++ b/patches/server/0431-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch
diff --git a/patches/server/0433-Extend-block-drop-capture-to-capture-all-items-added.patch b/patches/server/0432-Extend-block-drop-capture-to-capture-all-items-added.patch
index 771fb682ab..f7a5dbb2e8 100644
--- a/patches/server/0433-Extend-block-drop-capture-to-capture-all-items-added.patch
+++ b/patches/server/0432-Extend-block-drop-capture-to-capture-all-items-added.patch
@@ -23,7 +23,7 @@ index aa2f23c4f7d25d0f92ff025bb1840aff1b053fa3..a668e204946943bcc963ad41ea302911
if (spawnReason != null && !CraftEventFactory.doEntityAddEventCalling(this, entity, spawnReason)) {
return false;
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
-index 6721b086ec4e8efe29b75a0e08dc15015e180c09..f66ce9ae705b0fbe17a1bb437bad6808ff47ed92 100644
+index c3eb4b6372eed0b7eb636f495ce494b676767b6e..a03d1a85019afdc42de2b8449fc38384c4dac51e 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -429,10 +429,12 @@ public class ServerPlayerGameMode {
diff --git a/patches/server/0434-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0433-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
index 15d6357897..4c2ebf298d 100644
--- a/patches/server/0434-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
+++ b/patches/server/0433-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 9946f04c7e5877f094293c4c0976aeecf5c83c56..5dce8180a7ddfdd5fd32509010bdbaa66788a7c2 100644
+index 8dc1bb56bc3d82d7b3dd7b3a495c5bd5740f49ad..d9b5e3ea1defabff373a4f90e41effc086e75bab 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -4384,4 +4384,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -4387,4 +4387,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
void accept(Entity entity, double x, double y, double z);
}
@@ -21,10 +21,10 @@ index 9946f04c7e5877f094293c4c0976aeecf5c83c56..5dce8180a7ddfdd5fd32509010bdbaa6
+ // Paper end - Expose entity id counter
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 41fb303191783ad9e531331dc8468f95139432b9..fc6dee1d9eb47025e26fcc20eb15a36bfe090d9d 100644
+index ef4b15e0ae11a54ec49e40f1d694dae58ae95e03..2bc3d9c02256269845d140764b7b1b201e38b569 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -505,6 +505,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -520,6 +520,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
Preconditions.checkArgument(dataVersion <= getDataVersion(), "Newer version! Server downgrades are not supported!");
return compound;
}
diff --git a/patches/server/0435-Lazily-track-plugin-scoreboards-by-default.patch b/patches/server/0434-Lazily-track-plugin-scoreboards-by-default.patch
index 28ae9df043..28ae9df043 100644
--- a/patches/server/0435-Lazily-track-plugin-scoreboards-by-default.patch
+++ b/patches/server/0434-Lazily-track-plugin-scoreboards-by-default.patch
diff --git a/patches/server/0436-Entity-isTicking.patch b/patches/server/0435-Entity-isTicking.patch
index 0dd291d2b5..0ce0d8633a 100644
--- a/patches/server/0436-Entity-isTicking.patch
+++ b/patches/server/0435-Entity-isTicking.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity#isTicking
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 5dce8180a7ddfdd5fd32509010bdbaa66788a7c2..f4f5175c3c8c12d390470b7f44ad9d2ca39ff1fc 100644
+index d9b5e3ea1defabff373a4f90e41effc086e75bab..7c436b2a6d9b516469088a6d67f07b6b621f5201 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -4389,5 +4389,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -4392,5 +4392,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public static int nextEntityId() {
return ENTITY_COUNTER.incrementAndGet();
}
diff --git a/patches/server/0437-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch b/patches/server/0436-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch
index fd15b22600..ad63085c7a 100644
--- a/patches/server/0437-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch
+++ b/patches/server/0436-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Fix deop kicking non-whitelisted player when white list is
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index dde00d50b28928e35e1f95ef3f0eb46828e9d4bc..d1bd7ccd6e36497849837072c8f1326336409b42 100644
+index 47ad733022e5d17d839209e4163e8508e57b43c8..c2892af4e98d6a436a43fea950726cc1ca60ebda 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2151,13 +2151,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0438-Fix-Concurrency-issue-in-ShufflingList.patch b/patches/server/0437-Fix-Concurrency-issue-in-ShufflingList.patch
index 36f5a879a8..36f5a879a8 100644
--- a/patches/server/0438-Fix-Concurrency-issue-in-ShufflingList.patch
+++ b/patches/server/0437-Fix-Concurrency-issue-in-ShufflingList.patch
diff --git a/patches/server/0439-Reset-Ender-Crystals-on-Dragon-Spawn.patch b/patches/server/0438-Reset-Ender-Crystals-on-Dragon-Spawn.patch
index 150b197347..b93dbed55c 100644
--- a/patches/server/0439-Reset-Ender-Crystals-on-Dragon-Spawn.patch
+++ b/patches/server/0438-Reset-Ender-Crystals-on-Dragon-Spawn.patch
@@ -11,7 +11,7 @@ This ensures the crystals/pillars are in expected state when the dragon spawns.
See #3522
diff --git a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
-index d6b6c83a6d660107956a28c16fde2260583722aa..43f9635cfb3b1f57774ec0e33e0909d08a01db91 100644
+index cad7a1b28c9d7a3e67dbf0865cbf232ebd39a8d9..3953bbfdaf3e93468108d194c215e6242e14f067 100644
--- a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
+++ b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
@@ -472,6 +472,7 @@ public class EndDragonFight {
diff --git a/patches/server/0440-Fix-for-large-move-vectors-crashing-server.patch b/patches/server/0439-Fix-for-large-move-vectors-crashing-server.patch
index 3335427256..5b7b0e19db 100644
--- a/patches/server/0440-Fix-for-large-move-vectors-crashing-server.patch
+++ b/patches/server/0439-Fix-for-large-move-vectors-crashing-server.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Fix for large move vectors crashing server
Check movement distance also based on current position.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index e87ffaed1be9e849ea98bde8622a0a0a4645c435..43e94e1dcf3e4c6c45cba2c7d75ac938938514b2 100644
+index 4e37b9a495babec58f60b59db0e034d5e033b198..5e605b9bdb76ca0c9529e7351432578855cc7fa2 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -472,9 +472,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0441-Optimise-getType-calls.patch b/patches/server/0440-Optimise-getType-calls.patch
index 3ae56f539f..6dd01d7860 100644
--- a/patches/server/0441-Optimise-getType-calls.patch
+++ b/patches/server/0440-Optimise-getType-calls.patch
@@ -66,7 +66,7 @@ index 8e5279abccdd074d565f246420b2b12b81189b67..928a301627134b49915b0ceaeabb7dc3
public void setFlag(int flag) {
diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
-index d95f56356a8d1fc82f548d93038bd81c57f46f9e..a9a69191895ba2f66b133c162d1b31b1dfc73101 100644
+index 587396f5ed01939cd3ddce10fecf86ba80eb9c73..01a1479711b7f7bb87db275a1edfab5a95464cca 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
@@ -61,7 +61,7 @@ public class CraftBlockData implements BlockData {
diff --git a/patches/server/0442-Villager-resetOffers.patch b/patches/server/0441-Villager-resetOffers.patch
index 6068c580b9..6068c580b9 100644
--- a/patches/server/0442-Villager-resetOffers.patch
+++ b/patches/server/0441-Villager-resetOffers.patch
diff --git a/patches/server/0443-Retain-block-place-order-when-capturing-blockstates.patch b/patches/server/0442-Retain-block-place-order-when-capturing-blockstates.patch
index db9341df0c..db9341df0c 100644
--- a/patches/server/0443-Retain-block-place-order-when-capturing-blockstates.patch
+++ b/patches/server/0442-Retain-block-place-order-when-capturing-blockstates.patch
diff --git a/patches/server/0444-Reduce-blockpos-allocation-from-pathfinding.patch b/patches/server/0443-Reduce-blockpos-allocation-from-pathfinding.patch
index 8d14eb1a05..8d14eb1a05 100644
--- a/patches/server/0444-Reduce-blockpos-allocation-from-pathfinding.patch
+++ b/patches/server/0443-Reduce-blockpos-allocation-from-pathfinding.patch
diff --git a/patches/server/0445-Fix-item-locations-dropped-from-campfires.patch b/patches/server/0444-Fix-item-locations-dropped-from-campfires.patch
index d96bf626d4..d96bf626d4 100644
--- a/patches/server/0445-Fix-item-locations-dropped-from-campfires.patch
+++ b/patches/server/0444-Fix-item-locations-dropped-from-campfires.patch
diff --git a/patches/server/0446-Fix-bell-block-entity-memory-leak.patch b/patches/server/0445-Fix-bell-block-entity-memory-leak.patch
index 91b7136c9d..91b7136c9d 100644
--- a/patches/server/0446-Fix-bell-block-entity-memory-leak.patch
+++ b/patches/server/0445-Fix-bell-block-entity-memory-leak.patch
diff --git a/patches/server/0447-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch b/patches/server/0446-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch
index b254322735..b254322735 100644
--- a/patches/server/0447-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch
+++ b/patches/server/0446-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch
diff --git a/patches/server/0448-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0447-Add-getOfflinePlayerIfCached-String.patch
index 4818495f98..d72a0cdabe 100644
--- a/patches/server/0448-Add-getOfflinePlayerIfCached-String.patch
+++ b/patches/server/0447-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 936928dda8b09386ef936cec9da65eb76b1ccf1d..811c0f36bc314ca79e062fa149c6d19fc2734087 100644
+index c05fd6a179e8d142b3f5a8977ae7afab8c609a4e..c353f7a3a9ad0099ef7330dde988d1a174a0e327 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1909,6 +1909,28 @@ public final class CraftServer implements Server {
+@@ -1921,6 +1921,28 @@ public final class CraftServer implements Server {
return result;
}
diff --git a/patches/server/0449-Add-ignore-discounts-API.patch b/patches/server/0448-Add-ignore-discounts-API.patch
index 2cf4261e19..2cf4261e19 100644
--- a/patches/server/0449-Add-ignore-discounts-API.patch
+++ b/patches/server/0448-Add-ignore-discounts-API.patch
diff --git a/patches/server/0450-Toggle-for-removing-existing-dragon.patch b/patches/server/0449-Toggle-for-removing-existing-dragon.patch
index 3ee5c38ad8..7f400cb1aa 100644
--- a/patches/server/0450-Toggle-for-removing-existing-dragon.patch
+++ b/patches/server/0449-Toggle-for-removing-existing-dragon.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Toggle for removing existing dragon
diff --git a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
-index 43f9635cfb3b1f57774ec0e33e0909d08a01db91..65fb65a9a6037b007c3659f1d1a32ef31097824a 100644
+index 3953bbfdaf3e93468108d194c215e6242e14f067..46f286a68d04aced44acbb97041a74e2668c13d8 100644
--- a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
+++ b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
@@ -209,7 +209,7 @@ public class EndDragonFight {
diff --git a/patches/server/0451-Fix-client-lag-on-advancement-loading.patch b/patches/server/0450-Fix-client-lag-on-advancement-loading.patch
index a7c34bcee8..4882b3fd23 100644
--- a/patches/server/0451-Fix-client-lag-on-advancement-loading.patch
+++ b/patches/server/0450-Fix-client-lag-on-advancement-loading.patch
@@ -15,10 +15,10 @@ manually reload the advancement data for all players, which
normally takes place as a part of the datapack reloading.
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 88deea72f7456c178f54f6a245c84a64ffab6926..f48702923beb6d99b23dfa2466396bf4d4e8fbc8 100644
+index 2bc3d9c02256269845d140764b7b1b201e38b569..14d094d9af9b76277859901db908b8a36b24986b 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -329,7 +329,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -334,7 +334,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
Bukkit.getLogger().log(Level.SEVERE, "Error saving advancement " + key, ex);
}
diff --git a/patches/server/0452-Item-no-age-no-player-pickup.patch b/patches/server/0451-Item-no-age-no-player-pickup.patch
index 1fffbaf558..1fffbaf558 100644
--- a/patches/server/0452-Item-no-age-no-player-pickup.patch
+++ b/patches/server/0451-Item-no-age-no-player-pickup.patch
diff --git a/patches/server/0453-Beacon-API-custom-effect-ranges.patch b/patches/server/0452-Beacon-API-custom-effect-ranges.patch
index 4a1999c4d4..88e2a56086 100644
--- a/patches/server/0453-Beacon-API-custom-effect-ranges.patch
+++ b/patches/server/0452-Beacon-API-custom-effect-ranges.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Beacon API - custom effect ranges
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
-index f3b9a692417dbfc67b939a753c29ad1c159e274b..80bd394920902cd67ef22bf9a14db64800a3ab97 100644
+index a1097950766ad31393340b423ea3f98a1f555368..49f25826aea528d9da085b9e65cb4c85cd78c415 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
@@ -82,6 +82,26 @@ public class BeaconBlockEntity extends BlockEntity implements MenuProvider, Name
diff --git a/patches/server/0454-Add-API-for-quit-reason.patch b/patches/server/0453-Add-API-for-quit-reason.patch
index 8986435ffb..d179e40552 100644
--- a/patches/server/0454-Add-API-for-quit-reason.patch
+++ b/patches/server/0453-Add-API-for-quit-reason.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add API for quit reason
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
-index 777681a58417684a35a875c869ab22e50bb27da5..1e495daf53a53260e1a3b1c86365edb9abad1e80 100644
+index 1113380f6f142d2faf36191aae158c747bed5bb9..ddc84de84c8a503a01e40c42fe83558af7159f8f 100644
--- a/src/main/java/net/minecraft/network/Connection.java
+++ b/src/main/java/net/minecraft/network/Connection.java
@@ -179,12 +179,15 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
@@ -25,7 +25,7 @@ index 777681a58417684a35a875c869ab22e50bb27da5..1e495daf53a53260e1a3b1c86365edb9
Connection.LOGGER.debug("Failed to sent packet", throwable);
if (this.getSending() == PacketFlow.CLIENTBOUND) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index dc41eb243510fdb1de9ca3a0a8cb871af5272876..effafbcd8400cc40956d9cf36757e83f7f803038 100644
+index 587cce4d3878bc5cba5f4f4e58eacce2f656e242..6e62c5037a69468e7b4c8115a6623d48538de307 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -274,6 +274,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0455-Add-Wandering-Trader-spawn-rate-config-options.patch b/patches/server/0454-Add-Wandering-Trader-spawn-rate-config-options.patch
index e14e51ab48..e14e51ab48 100644
--- a/patches/server/0455-Add-Wandering-Trader-spawn-rate-config-options.patch
+++ b/patches/server/0454-Add-Wandering-Trader-spawn-rate-config-options.patch
diff --git a/patches/server/0456-Expose-world-spawn-angle.patch b/patches/server/0455-Expose-world-spawn-angle.patch
index dcaa00771f..dcaa00771f 100644
--- a/patches/server/0456-Expose-world-spawn-angle.patch
+++ b/patches/server/0455-Expose-world-spawn-angle.patch
diff --git a/patches/server/0457-Add-Destroy-Speed-API.patch b/patches/server/0456-Add-Destroy-Speed-API.patch
index 3b44bc9efc..3b44bc9efc 100644
--- a/patches/server/0457-Add-Destroy-Speed-API.patch
+++ b/patches/server/0456-Add-Destroy-Speed-API.patch
diff --git a/patches/server/0458-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0457-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
index 5219e4f219..80a1eb67cb 100644
--- a/patches/server/0458-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
+++ b/patches/server/0457-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 8a289cd0876a8c063a2b5f75ce8eb41f4be98acf..45288a75ddbbf0bb03bacce7a88c59e740914dbe 100644
+index 6e9fc623f5a56753e2c78c3ff63c6f4de7cbcccb..ec4ebbdde676806c4b2348408a8004dd66cbc44b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2568,7 +2568,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2619,7 +2619,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (data != null) {
Preconditions.checkArgument(particle.getDataType().isInstance(data), "data (%s) should be %s", data.getClass(), particle.getDataType());
}
diff --git a/patches/server/0459-Add-LivingEntity-clearActiveItem.patch b/patches/server/0458-Add-LivingEntity-clearActiveItem.patch
index 8cd8b28d52..642aedd9b6 100644
--- a/patches/server/0459-Add-LivingEntity-clearActiveItem.patch
+++ b/patches/server/0458-Add-LivingEntity-clearActiveItem.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add LivingEntity#clearActiveItem
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 2550546b200f331ef83b20bf5e119a003cadacba..88b1887c0d4d01ecedb1b622ee718993b4d92579 100644
+index bf581842476b8f554987b452c291a55a1dfc92c5..e71f71988790af1a09f65d73dd081490002b821c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -903,6 +903,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -916,6 +916,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
return getHandle().getUseItem().asBukkitMirror();
}
diff --git a/patches/server/0460-Add-PlayerItemCooldownEvent.patch b/patches/server/0459-Add-PlayerItemCooldownEvent.patch
index 4b90903dd2..4b90903dd2 100644
--- a/patches/server/0460-Add-PlayerItemCooldownEvent.patch
+++ b/patches/server/0459-Add-PlayerItemCooldownEvent.patch
diff --git a/patches/server/0461-Significantly-improve-performance-of-the-end-generat.patch b/patches/server/0460-Significantly-improve-performance-of-the-end-generat.patch
index dc7812a211..dc7812a211 100644
--- a/patches/server/0461-Significantly-improve-performance-of-the-end-generat.patch
+++ b/patches/server/0460-Significantly-improve-performance-of-the-end-generat.patch
diff --git a/patches/server/0462-More-lightning-API.patch b/patches/server/0461-More-lightning-API.patch
index 967871902a..967871902a 100644
--- a/patches/server/0462-More-lightning-API.patch
+++ b/patches/server/0461-More-lightning-API.patch
diff --git a/patches/server/0463-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0462-Climbing-should-not-bypass-cramming-gamerule.patch
index ad99ead472..851360dd1b 100644
--- a/patches/server/0463-Climbing-should-not-bypass-cramming-gamerule.patch
+++ b/patches/server/0462-Climbing-should-not-bypass-cramming-gamerule.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index f4f5175c3c8c12d390470b7f44ad9d2ca39ff1fc..55395837df277eac393949aa7447d69e57c5d756 100644
+index 7c436b2a6d9b516469088a6d67f07b6b621f5201..863cca1cb36fd8cd147fe8526b2ebd5294e16236 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -1966,6 +1966,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -1970,6 +1970,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public boolean isPushable() {
@@ -44,10 +44,10 @@ index ee4495b67c46cf1282cdd6ad15b224b0b7b10bfb..e382a29b441b656f35bc24cb90f95cb4
} else if (entity.level().isClientSide && (!(entity1 instanceof Player) || !((Player) entity1).isLocalPlayer())) {
return false;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 115dbe71ff1e9996e8307a389569303a320101f4..95ee76c0e96318866a7b21355c9617c2ca79776e 100644
+index 0e009d34a17b7fbebb8bd815cef9df191cd906a5..ec47dc4cb19e742b033f98706b52619483a8bec0 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3426,7 +3426,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3439,7 +3439,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
return;
}
// Paper end - don't run getEntities if we're not going to use its result
@@ -56,7 +56,7 @@ index 115dbe71ff1e9996e8307a389569303a320101f4..95ee76c0e96318866a7b21355c9617c2
if (!list.isEmpty()) {
// Paper - don't run getEntities if we're not going to use its result; moved up
-@@ -3616,9 +3616,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3629,9 +3629,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
return !this.isRemoved() && this.collides; // CraftBukkit
}
diff --git a/patches/server/0464-Add-missing-default-perms-for-commands.patch b/patches/server/0463-Add-missing-default-perms-for-commands.patch
index c2cc3ce8cc..c2cc3ce8cc 100644
--- a/patches/server/0464-Add-missing-default-perms-for-commands.patch
+++ b/patches/server/0463-Add-missing-default-perms-for-commands.patch
diff --git a/patches/server/0465-Add-PlayerShearBlockEvent.patch b/patches/server/0464-Add-PlayerShearBlockEvent.patch
index 140bb100a4..140bb100a4 100644
--- a/patches/server/0465-Add-PlayerShearBlockEvent.patch
+++ b/patches/server/0464-Add-PlayerShearBlockEvent.patch
diff --git a/patches/server/0466-Limit-recipe-packets.patch b/patches/server/0465-Limit-recipe-packets.patch
index 09ebc50be5..1ff22e4f88 100644
--- a/patches/server/0466-Limit-recipe-packets.patch
+++ b/patches/server/0465-Limit-recipe-packets.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Limit recipe packets
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 43e94e1dcf3e4c6c45cba2c7d75ac938938514b2..8b8a8d6d6473c14f9e0621bee82fb861de1d209f 100644
+index 5e605b9bdb76ca0c9529e7351432578855cc7fa2..87ff69ffbd1e8fa3e88ce2561b56958c23040a10 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -257,6 +257,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0467-Fix-CraftSound-backwards-compatibility.patch b/patches/server/0466-Fix-CraftSound-backwards-compatibility.patch
index 9ca7f86992..9ca7f86992 100644
--- a/patches/server/0467-Fix-CraftSound-backwards-compatibility.patch
+++ b/patches/server/0466-Fix-CraftSound-backwards-compatibility.patch
diff --git a/patches/server/0468-Player-Chunk-Load-Unload-Events.patch b/patches/server/0467-Player-Chunk-Load-Unload-Events.patch
index 241610bb61..241610bb61 100644
--- a/patches/server/0468-Player-Chunk-Load-Unload-Events.patch
+++ b/patches/server/0467-Player-Chunk-Load-Unload-Events.patch
diff --git a/patches/server/0469-Optimize-Dynamic-get-Missing-Keys.patch b/patches/server/0468-Optimize-Dynamic-get-Missing-Keys.patch
index e58939559a..e58939559a 100644
--- a/patches/server/0469-Optimize-Dynamic-get-Missing-Keys.patch
+++ b/patches/server/0468-Optimize-Dynamic-get-Missing-Keys.patch
diff --git a/patches/server/0470-Expose-LivingEntity-hurt-direction.patch b/patches/server/0469-Expose-LivingEntity-hurt-direction.patch
index 2b3ccc9d7c..1cb5f9dcf7 100644
--- a/patches/server/0470-Expose-LivingEntity-hurt-direction.patch
+++ b/patches/server/0469-Expose-LivingEntity-hurt-direction.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose LivingEntity hurt direction
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index bae09577905084f3e3d845b9cd3eaea9f46899d1..10caa677309c5a8191830c98597468079e784459 100644
+index d00d6cf28212ed72f49953a198caa447aefc138c..203f36776f41c46172b77a195d3702dd6af7409e 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -178,7 +178,7 @@ public abstract class Player extends LivingEntity {
+@@ -179,7 +179,7 @@ public abstract class Player extends LivingEntity {
private Optional<GlobalPos> lastDeathLocation;
@Nullable
public FishingHook fishing;
@@ -36,10 +36,10 @@ index 93644aefd2e6c97eca2735812b2b7b4bd039cfb5..40f848d117c1a4f4fc2f11861c5f1420
public int getSleepTicks() {
return this.getHandle().sleepCounter;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 88b1887c0d4d01ecedb1b622ee718993b4d92579..30934acb059016a996b2c3b2f635e606d4e8a526 100644
+index e71f71988790af1a09f65d73dd081490002b821c..06f25a9453bcc8f304cc83b599f8a54112a6ed01 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -948,5 +948,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -961,5 +961,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
public void playPickupItemAnimation(org.bukkit.entity.Item item, int quantity) {
getHandle().take(((CraftItem) item).getHandle(), quantity);
}
diff --git a/patches/server/0471-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/server/0470-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
index 4531ba2a86..28d1b8ccb1 100644
--- a/patches/server/0471-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
+++ b/patches/server/0470-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add OBSTRUCTED reason to BedEnterResult
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 915f49bbfca87682a3ae497dfcd335268f974efe..23fb49657e07c99e10d238420ecb177ca515a2af 100644
+index 42702b6196ad816bf1bd5df189cc99c58562da24..40d6e655a09888ee95eb136cb8a6f919a1f74aa6 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -301,6 +301,10 @@ public class CraftEventFactory {
diff --git a/patches/server/0472-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch b/patches/server/0471-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch
index 50044a8342..50044a8342 100644
--- a/patches/server/0472-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch
+++ b/patches/server/0471-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch
diff --git a/patches/server/0473-Add-TargetHitEvent.patch b/patches/server/0472-Add-TargetHitEvent.patch
index f623f8091b..f623f8091b 100644
--- a/patches/server/0473-Add-TargetHitEvent.patch
+++ b/patches/server/0472-Add-TargetHitEvent.patch
diff --git a/patches/server/0474-MC-4-Fix-item-position-desync.patch b/patches/server/0473-MC-4-Fix-item-position-desync.patch
index 244dd4bf2c..f4df6d1b58 100644
--- a/patches/server/0474-MC-4-Fix-item-position-desync.patch
+++ b/patches/server/0473-MC-4-Fix-item-position-desync.patch
@@ -28,10 +28,10 @@ index 05ac41e136da43284fb24a6b698ebd36318278fb..3c4ac79c094dc2fff7de94150a34b7bf
public Vec3 decode(long x, long y, long z) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 55395837df277eac393949aa7447d69e57c5d756..da5dcea43fdbc0ad0acb1130d363cc8cbea16dfa 100644
+index 863cca1cb36fd8cd147fe8526b2ebd5294e16236..7b4ddf822a8948a233d831946df97cc84692ba65 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -4167,6 +4167,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -4170,6 +4170,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return;
}
// Paper end - Block invalid positions and bounding box
diff --git a/patches/server/0475-Additional-Block-Material-API.patch b/patches/server/0474-Additional-Block-Material-API.patch
index 81728edf48..81728edf48 100644
--- a/patches/server/0475-Additional-Block-Material-API.patch
+++ b/patches/server/0474-Additional-Block-Material-API.patch
diff --git a/patches/server/0476-Fix-harming-potion-dupe.patch b/patches/server/0475-Fix-harming-potion-dupe.patch
index d7fda01e2c..d7fda01e2c 100644
--- a/patches/server/0476-Fix-harming-potion-dupe.patch
+++ b/patches/server/0475-Fix-harming-potion-dupe.patch
diff --git a/patches/server/0477-API-to-get-Material-from-Boats-and-Minecarts.patch b/patches/server/0476-API-to-get-Material-from-Boats-and-Minecarts.patch
index 9bcb17ad14..9bcb17ad14 100644
--- a/patches/server/0477-API-to-get-Material-from-Boats-and-Minecarts.patch
+++ b/patches/server/0476-API-to-get-Material-from-Boats-and-Minecarts.patch
diff --git a/patches/server/0478-Cache-burn-durations.patch b/patches/server/0477-Cache-burn-durations.patch
index 32d702d124..32d702d124 100644
--- a/patches/server/0478-Cache-burn-durations.patch
+++ b/patches/server/0477-Cache-burn-durations.patch
diff --git a/patches/server/0479-Allow-disabling-mob-spawner-spawn-egg-transformation.patch b/patches/server/0478-Allow-disabling-mob-spawner-spawn-egg-transformation.patch
index 40171ab920..40171ab920 100644
--- a/patches/server/0479-Allow-disabling-mob-spawner-spawn-egg-transformation.patch
+++ b/patches/server/0478-Allow-disabling-mob-spawner-spawn-egg-transformation.patch
diff --git a/patches/server/0480-Fix-Not-a-string-Map-Conversion-spam.patch b/patches/server/0479-Fix-Not-a-string-Map-Conversion-spam.patch
index e434023f48..e434023f48 100644
--- a/patches/server/0480-Fix-Not-a-string-Map-Conversion-spam.patch
+++ b/patches/server/0479-Fix-Not-a-string-Map-Conversion-spam.patch
diff --git a/patches/server/0481-Add-PlayerFlowerPotManipulateEvent.patch b/patches/server/0480-Add-PlayerFlowerPotManipulateEvent.patch
index bad384da72..bad384da72 100644
--- a/patches/server/0481-Add-PlayerFlowerPotManipulateEvent.patch
+++ b/patches/server/0480-Add-PlayerFlowerPotManipulateEvent.patch
diff --git a/patches/server/0482-Fix-interact-event-not-being-called-sometimes.patch b/patches/server/0481-Fix-interact-event-not-being-called-sometimes.patch
index f7f89fa24d..26bc4885cd 100644
--- a/patches/server/0482-Fix-interact-event-not-being-called-sometimes.patch
+++ b/patches/server/0481-Fix-interact-event-not-being-called-sometimes.patch
@@ -11,7 +11,7 @@ Subject: [PATCH] Fix interact event not being called sometimes
Co-authored-by: Moulberry <[email protected]>
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 8b8a8d6d6473c14f9e0621bee82fb861de1d209f..d4b9f2b82527852c8fde8299801d54c9ba76371a 100644
+index 87ff69ffbd1e8fa3e88ce2561b56958c23040a10..730b30ee33f0fb2a98454080045608ff538c8c04 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1760,7 +1760,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0483-Zombie-API-breaking-doors.patch b/patches/server/0482-Zombie-API-breaking-doors.patch
index 50bb6965cf..50bb6965cf 100644
--- a/patches/server/0483-Zombie-API-breaking-doors.patch
+++ b/patches/server/0482-Zombie-API-breaking-doors.patch
diff --git a/patches/server/0484-Fix-nerfed-slime-when-splitting.patch b/patches/server/0483-Fix-nerfed-slime-when-splitting.patch
index d6cfcc1ead..d6cfcc1ead 100644
--- a/patches/server/0484-Fix-nerfed-slime-when-splitting.patch
+++ b/patches/server/0483-Fix-nerfed-slime-when-splitting.patch
diff --git a/patches/server/0485-Add-EntityLoadCrossbowEvent.patch b/patches/server/0484-Add-EntityLoadCrossbowEvent.patch
index ae4000c9dc..ae4000c9dc 100644
--- a/patches/server/0485-Add-EntityLoadCrossbowEvent.patch
+++ b/patches/server/0484-Add-EntityLoadCrossbowEvent.patch
diff --git a/patches/server/0486-Add-WorldGameRuleChangeEvent.patch b/patches/server/0485-Add-WorldGameRuleChangeEvent.patch
index f24bdcc6de..634bd091ff 100644
--- a/patches/server/0486-Add-WorldGameRuleChangeEvent.patch
+++ b/patches/server/0485-Add-WorldGameRuleChangeEvent.patch
@@ -18,10 +18,10 @@ index c8c358531dbc167e249bac2af246c5e34fbdd4df..10c1790226e25da3b9b599c9a40de57d
return Component.translatable("commands.gamerule.set", key.getId(), t0.toString());
}, true);
diff --git a/src/main/java/net/minecraft/world/level/GameRules.java b/src/main/java/net/minecraft/world/level/GameRules.java
-index 334001cb749600c973c82391e1c11f0e40bd2dfb..f3cdf1fa7731eb7bb1cb89aa6a37204d81257cb0 100644
+index ba825ff3df79903aefe1a4cb14efab9a302397d7..ac7a5410b01a6741e3b548d153f37ea1d8c1a4cb 100644
--- a/src/main/java/net/minecraft/world/level/GameRules.java
+++ b/src/main/java/net/minecraft/world/level/GameRules.java
-@@ -285,10 +285,10 @@ public class GameRules {
+@@ -286,10 +286,10 @@ public class GameRules {
this.type = type;
}
@@ -32,10 +32,10 @@ index 334001cb749600c973c82391e1c11f0e40bd2dfb..f3cdf1fa7731eb7bb1cb89aa6a37204d
- this.updateFromArgument(context, name);
+ public void setFromArgument(CommandContext<CommandSourceStack> context, String name, GameRules.Key<T> gameRuleKey) { // Paper - Add WorldGameRuleChangeEvent
+ this.updateFromArgument(context, name, gameRuleKey); // Paper - Add WorldGameRuleChangeEvent
- this.onChanged(((CommandSourceStack) context.getSource()).getServer());
+ this.onChanged(((CommandSourceStack) context.getSource()).getLevel()); // CraftBukkit - per-world
}
-@@ -346,8 +346,11 @@ public class GameRules {
+@@ -347,8 +347,11 @@ public class GameRules {
}
@Override
@@ -49,7 +49,7 @@ index 334001cb749600c973c82391e1c11f0e40bd2dfb..f3cdf1fa7731eb7bb1cb89aa6a37204d
}
public boolean get() {
-@@ -411,8 +414,11 @@ public class GameRules {
+@@ -412,8 +415,11 @@ public class GameRules {
}
@Override
@@ -64,10 +64,10 @@ index 334001cb749600c973c82391e1c11f0e40bd2dfb..f3cdf1fa7731eb7bb1cb89aa6a37204d
public int get() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 46a168a3e0db80c1584931c13eedeab420aa76c6..75387d9507add359e7b35527c6a69b6a96cdff5c 100644
+index dbe1e59572ca0f98783db456bdab6ee4e79f7689..9d44a2ce6da1b6338e5a1aaa9238483b64c9a34f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1851,8 +1851,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1864,8 +1864,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
if (!this.isGameRule(rule)) return false;
@@ -79,10 +79,10 @@ index 46a168a3e0db80c1584931c13eedeab420aa76c6..75387d9507add359e7b35527c6a69b6a
GameRules.Value<?> handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule));
- handle.deserialize(value);
+ handle.deserialize(event.getValue()); // Paper - Add WorldGameRuleChangeEvent
- handle.onChanged(this.getHandle().getServer());
+ handle.onChanged(this.getHandle());
return true;
}
-@@ -1888,8 +1893,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1901,8 +1906,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
if (!this.isGameRule(rule.getName())) return false;
@@ -93,6 +93,6 @@ index 46a168a3e0db80c1584931c13eedeab420aa76c6..75387d9507add359e7b35527c6a69b6a
GameRules.Value<?> handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule.getName()));
- handle.deserialize(newValue.toString());
+ handle.deserialize(event.getValue()); // Paper - Add WorldGameRuleChangeEvent
- handle.onChanged(this.getHandle().getServer());
+ handle.onChanged(this.getHandle());
return true;
}
diff --git a/patches/server/0487-Add-ServerResourcesReloadedEvent.patch b/patches/server/0486-Add-ServerResourcesReloadedEvent.patch
index db864afdea..b01f7c1460 100644
--- a/patches/server/0487-Add-ServerResourcesReloadedEvent.patch
+++ b/patches/server/0486-Add-ServerResourcesReloadedEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add ServerResourcesReloadedEvent
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index d1bd7ccd6e36497849837072c8f1326336409b42..4fd56dc6f1a9dc15b639d6aeba29e678354ee7f8 100644
+index c2892af4e98d6a436a43fea950726cc1ca60ebda..06b7816bafa3ac1093b796ca6e7bb3462df8bfec 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2036,7 +2036,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0488-Add-world-settings-for-mobs-picking-up-loot.patch b/patches/server/0487-Add-world-settings-for-mobs-picking-up-loot.patch
index 4c4ee0656d..4c4ee0656d 100644
--- a/patches/server/0488-Add-world-settings-for-mobs-picking-up-loot.patch
+++ b/patches/server/0487-Add-world-settings-for-mobs-picking-up-loot.patch
diff --git a/patches/server/0489-Add-BlockFailedDispenseEvent.patch b/patches/server/0488-Add-BlockFailedDispenseEvent.patch
index df46dd7acf..4b6e082326 100644
--- a/patches/server/0489-Add-BlockFailedDispenseEvent.patch
+++ b/patches/server/0488-Add-BlockFailedDispenseEvent.patch
@@ -32,10 +32,10 @@ index 913ed110d8402d377152753325901eb7f3ac82d6..1d13f8a1009d6eda351c697052d499d5
} else {
ItemStack itemstack = tileentitydispenser.getItem(i);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index cddd081d451f38e90d8b49a16abb0c95d498defe..6a95328293e3600b7a560074a0e6083db9cd3e1f 100644
+index 40d6e655a09888ee95eb136cb8a6f919a1f74aa6..29473d4bd174e8d2e6ee9ecf348edb41af5f6ea3 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -2072,4 +2072,12 @@ public class CraftEventFactory {
+@@ -2017,4 +2017,12 @@ public class CraftEventFactory {
return org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(event.getPotion());
}
// Paper end - WitchReadyPotionEvent
diff --git a/patches/server/0490-Add-PlayerLecternPageChangeEvent.patch b/patches/server/0489-Add-PlayerLecternPageChangeEvent.patch
index 2e62d2becf..2e62d2becf 100644
--- a/patches/server/0490-Add-PlayerLecternPageChangeEvent.patch
+++ b/patches/server/0489-Add-PlayerLecternPageChangeEvent.patch
diff --git a/patches/server/0491-Add-PlayerLoomPatternSelectEvent.patch b/patches/server/0490-Add-PlayerLoomPatternSelectEvent.patch
index 382268afcd..382268afcd 100644
--- a/patches/server/0491-Add-PlayerLoomPatternSelectEvent.patch
+++ b/patches/server/0490-Add-PlayerLoomPatternSelectEvent.patch
diff --git a/patches/server/0492-Configurable-door-breaking-difficulty.patch b/patches/server/0491-Configurable-door-breaking-difficulty.patch
index c0ec74016c..c0ec74016c 100644
--- a/patches/server/0492-Configurable-door-breaking-difficulty.patch
+++ b/patches/server/0491-Configurable-door-breaking-difficulty.patch
diff --git a/patches/server/0493-Empty-commands-shall-not-be-dispatched.patch b/patches/server/0492-Empty-commands-shall-not-be-dispatched.patch
index 7a48e3018e..7a48e3018e 100644
--- a/patches/server/0493-Empty-commands-shall-not-be-dispatched.patch
+++ b/patches/server/0492-Empty-commands-shall-not-be-dispatched.patch
diff --git a/patches/server/0494-Remove-stale-POIs.patch b/patches/server/0493-Remove-stale-POIs.patch
index 1579631de9..1579631de9 100644
--- a/patches/server/0494-Remove-stale-POIs.patch
+++ b/patches/server/0493-Remove-stale-POIs.patch
diff --git a/patches/server/0495-Fix-villager-boat-exploit.patch b/patches/server/0494-Fix-villager-boat-exploit.patch
index 68b28966e8..68b28966e8 100644
--- a/patches/server/0495-Fix-villager-boat-exploit.patch
+++ b/patches/server/0494-Fix-villager-boat-exploit.patch
diff --git a/patches/server/0496-Add-sendOpLevel-API.patch b/patches/server/0495-Add-sendOpLevel-API.patch
index 9c3630f10e..c311c2ba8a 100644
--- a/patches/server/0496-Add-sendOpLevel-API.patch
+++ b/patches/server/0495-Add-sendOpLevel-API.patch
@@ -32,10 +32,10 @@ index e629a560ae2163ea45ede727b97a301e8fa6f1e8..f336b52a529c3c0ddccb36ace8b441fb
public boolean isWhiteListed(GameProfile profile) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index eccc82f4c8eeb3a2b6ae2abbd1a38d447a2bfda8..537590236e9a0ac2946953ebbebe0044e17ccc72 100644
+index ec4ebbdde676806c4b2348408a8004dd66cbc44b..a9f30ba8d6d6e3d488f46b0bd79bf77b660c1b82 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -591,6 +591,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -597,6 +597,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
diff --git a/patches/server/0497-TODO-Registry-Modification-API.patch b/patches/server/0496-TODO-Registry-Modification-API.patch
index 5a7f3ae78d..b47ca6aff7 100644
--- a/patches/server/0497-TODO-Registry-Modification-API.patch
+++ b/patches/server/0496-TODO-Registry-Modification-API.patch
@@ -5,12 +5,12 @@ Subject: [PATCH] TODO Registry Modification API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-index 72c2bc09ce6eefc63c3bab5a8f183e48316d0196..b84e984e53834ef338afd7b61a656eb82a14349a 100644
+index 826c45f35c80ae4bf536fbe3b48354e3626fe2e1..110987de809339b4ce14eaf377782ebf3460164a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-@@ -114,6 +114,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
- if (bukkitClass == TrimPattern.class) {
- return new CraftRegistry<>(TrimPattern.class, registryHolder.registryOrThrow(Registries.TRIM_PATTERN), CraftTrimPattern::new);
+@@ -119,6 +119,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+ if (bukkitClass == DamageType.class) {
+ return new CraftRegistry<>(DamageType.class, registryHolder.registryOrThrow(Registries.DAMAGE_TYPE), CraftDamageType::new);
}
+ // TODO registry modification API
diff --git a/patches/server/0498-Add-StructuresLocateEvent.patch b/patches/server/0497-Add-StructuresLocateEvent.patch
index 34dd0f2443..5f8804f44d 100644
--- a/patches/server/0498-Add-StructuresLocateEvent.patch
+++ b/patches/server/0497-Add-StructuresLocateEvent.patch
@@ -76,11 +76,11 @@ index 3e57142dd9cb23d43857d5a4cb30962e4b696b74..a6d5b3fa7e3437e0aec54eec4079e9f3
Map<StructurePlacement, Set<Holder<Structure>>> map = new Object2ObjectArrayMap();
Iterator iterator = structures.iterator();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-index b84e984e53834ef338afd7b61a656eb82a14349a..13270b2197c594dc03d089aea46aa410dd9efd13 100644
+index 110987de809339b4ce14eaf377782ebf3460164a..b12b99253543445475b73a1d3d7c6364856b49e8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-@@ -115,6 +115,11 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
- return new CraftRegistry<>(TrimPattern.class, registryHolder.registryOrThrow(Registries.TRIM_PATTERN), CraftTrimPattern::new);
+@@ -120,6 +120,11 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+ return new CraftRegistry<>(DamageType.class, registryHolder.registryOrThrow(Registries.DAMAGE_TYPE), CraftDamageType::new);
}
// TODO registry modification API
+ // Paper start - remove this after a while along with all ConfiguredStructure stuff
diff --git a/patches/server/0499-Collision-option-for-requiring-a-player-participant.patch b/patches/server/0498-Collision-option-for-requiring-a-player-participant.patch
index b0c31542c1..befdb58361 100644
--- a/patches/server/0499-Collision-option-for-requiring-a-player-participant.patch
+++ b/patches/server/0498-Collision-option-for-requiring-a-player-participant.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Collision option for requiring a player participant
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index da5dcea43fdbc0ad0acb1130d363cc8cbea16dfa..4fd7cd7b2dba4047f36a52c510f12d61f281a95f 100644
+index 5443895e76c9822a5bdfb20d0364c9492cb8f58c..54283c4534f485a50a0cb5c34518dca5013c894f 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -1836,6 +1836,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -1835,6 +1835,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public void push(Entity entity) {
if (!this.isPassengerOfSameVehicle(entity)) {
if (!entity.noPhysics && !this.noPhysics) {
diff --git a/patches/server/0500-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch b/patches/server/0499-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch
index 345522a05d..345522a05d 100644
--- a/patches/server/0500-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch
+++ b/patches/server/0499-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch
diff --git a/patches/server/0501-Return-chat-component-with-empty-text-instead-of-thr.patch b/patches/server/0500-Return-chat-component-with-empty-text-instead-of-thr.patch
index ba3a6a7f92..ba3a6a7f92 100644
--- a/patches/server/0501-Return-chat-component-with-empty-text-instead-of-thr.patch
+++ b/patches/server/0500-Return-chat-component-with-empty-text-instead-of-thr.patch
diff --git a/patches/server/0502-Make-schedule-command-per-world.patch b/patches/server/0501-Make-schedule-command-per-world.patch
index f1854ba4c9..f1854ba4c9 100644
--- a/patches/server/0502-Make-schedule-command-per-world.patch
+++ b/patches/server/0501-Make-schedule-command-per-world.patch
diff --git a/patches/server/0503-Configurable-max-leash-distance.patch b/patches/server/0502-Configurable-max-leash-distance.patch
index 99a4a50ca9..99a4a50ca9 100644
--- a/patches/server/0503-Configurable-max-leash-distance.patch
+++ b/patches/server/0502-Configurable-max-leash-distance.patch
diff --git a/patches/server/0504-Add-BlockPreDispenseEvent.patch b/patches/server/0503-Add-BlockPreDispenseEvent.patch
index 3a245d3a03..98d1f8bb39 100644
--- a/patches/server/0504-Add-BlockPreDispenseEvent.patch
+++ b/patches/server/0503-Add-BlockPreDispenseEvent.patch
@@ -29,10 +29,10 @@ index 1d13f8a1009d6eda351c697052d499d594a6aaa8..9a8a0fb958e8ec782111507bae957f85
} else {
// CraftBukkit start - Fire event when pushing items into other inventories
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 6a95328293e3600b7a560074a0e6083db9cd3e1f..456c1df6b5956b521e8f379b9020ed53f66a365b 100644
+index 29473d4bd174e8d2e6ee9ecf348edb41af5f6ea3..b3f20ea2a334856200004ed72d709853396fa024 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -2079,5 +2079,11 @@ public class CraftEventFactory {
+@@ -2024,5 +2024,11 @@ public class CraftEventFactory {
io.papermc.paper.event.block.BlockFailedDispenseEvent event = new io.papermc.paper.event.block.BlockFailedDispenseEvent(block);
return event.callEvent();
}
diff --git a/patches/server/0505-Add-PlayerChangeBeaconEffectEvent.patch b/patches/server/0504-Add-PlayerChangeBeaconEffectEvent.patch
index 0187e55e0c..0187e55e0c 100644
--- a/patches/server/0505-Add-PlayerChangeBeaconEffectEvent.patch
+++ b/patches/server/0504-Add-PlayerChangeBeaconEffectEvent.patch
diff --git a/patches/server/0506-Add-toggle-for-always-placing-the-dragon-egg.patch b/patches/server/0505-Add-toggle-for-always-placing-the-dragon-egg.patch
index b5bb0c6268..25361d7e14 100644
--- a/patches/server/0506-Add-toggle-for-always-placing-the-dragon-egg.patch
+++ b/patches/server/0505-Add-toggle-for-always-placing-the-dragon-egg.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add toggle for always placing the dragon egg
diff --git a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
-index 65fb65a9a6037b007c3659f1d1a32ef31097824a..87a8a888536203070bcecc0f477e92e666df2c2a 100644
+index 46f286a68d04aced44acbb97041a74e2668c13d8..957af0553d4b794a1b26a6591dcc0165b0509c6a 100644
--- a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
+++ b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
@@ -407,7 +407,7 @@ public class EndDragonFight {
diff --git a/patches/server/0507-Add-PlayerStonecutterRecipeSelectEvent.patch b/patches/server/0506-Add-PlayerStonecutterRecipeSelectEvent.patch
index 6aad83c0bc..6aad83c0bc 100644
--- a/patches/server/0507-Add-PlayerStonecutterRecipeSelectEvent.patch
+++ b/patches/server/0506-Add-PlayerStonecutterRecipeSelectEvent.patch
diff --git a/patches/server/0508-Expand-EntityUnleashEvent.patch b/patches/server/0507-Expand-EntityUnleashEvent.patch
index fa402496d9..6f5459abac 100644
--- a/patches/server/0508-Expand-EntityUnleashEvent.patch
+++ b/patches/server/0507-Expand-EntityUnleashEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Expand EntityUnleashEvent
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
-index 236b10b86cdf6e0a723d8c9f199dde9cc983198e..a05914c6d86ad898d03641b6e8a44f7a1f1161dd 100644
+index 645fb2ec7d969068eb10d59d43a512c74cca5a58..8b239769a3a7ce6f85d472ddb2ff7ea7de0ce5c0 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1299,12 +1299,15 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -122,10 +122,10 @@ index 16784fcc853e23689a854e7dc6c03ed8182a164e..006aba8bbb34a0d45ef626a1d299e819
flag1 = true;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 456c1df6b5956b521e8f379b9020ed53f66a365b..7763486f60057ae88649c2692908b4d1cfdac6ab 100644
+index b3f20ea2a334856200004ed72d709853396fa024..75b0a6327d8fbf82ac816eae4fdf4f922a0f3113 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1637,8 +1637,10 @@ public class CraftEventFactory {
+@@ -1568,8 +1568,10 @@ public class CraftEventFactory {
Bukkit.getPluginManager().callEvent(new PlayerRecipeBookSettingsChangeEvent(player.getBukkitEntity(), bukkitType, open, filter));
}
diff --git a/patches/server/0509-Reset-shield-blocking-on-dimension-change.patch b/patches/server/0508-Reset-shield-blocking-on-dimension-change.patch
index 4d81ca2b6d..b59a53ac0f 100644
--- a/patches/server/0509-Reset-shield-blocking-on-dimension-change.patch
+++ b/patches/server/0508-Reset-shield-blocking-on-dimension-change.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Reset shield blocking on dimension change
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index effafbcd8400cc40956d9cf36757e83f7f803038..5a26a7d6e052c0533f73b1930da6c801f23cb521 100644
+index 6e62c5037a69468e7b4c8115a6623d48538de307..8c65b05e66372cf3c92f823d72e94c18fe77622b 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1198,6 +1198,11 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0510-Add-DragonEggFormEvent.patch b/patches/server/0509-Add-DragonEggFormEvent.patch
index c55507f8cd..f90545d9df 100644
--- a/patches/server/0510-Add-DragonEggFormEvent.patch
+++ b/patches/server/0509-Add-DragonEggFormEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add DragonEggFormEvent
diff --git a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
-index 87a8a888536203070bcecc0f477e92e666df2c2a..5b14d63e7c354cd51d67ddc045cc86a0f7b36811 100644
+index 957af0553d4b794a1b26a6591dcc0165b0509c6a..1d5edcad4c5bfe48711cfce7c46a9c4606196ae3 100644
--- a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
+++ b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
@@ -407,8 +407,22 @@ public class EndDragonFight {
diff --git a/patches/server/0511-Add-EntityMoveEvent.patch b/patches/server/0510-Add-EntityMoveEvent.patch
index d6955d442c..567b6fa9e2 100644
--- a/patches/server/0511-Add-EntityMoveEvent.patch
+++ b/patches/server/0510-Add-EntityMoveEvent.patch
@@ -29,10 +29,10 @@ index b93976abbc98c1beffe4b464735c9b5a71cb45a4..f75722633789155af38184982ce6459a
public LevelChunk getChunkIfLoaded(int x, int z) {
return this.chunkSource.getChunk(x, z, false);
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 6150f5c17ba80cb7acd5b114d9dec79e6008e89a..fced5d9a6d60bd673f44c0754725831b8510b95a 100644
+index ec47dc4cb19e742b033f98706b52619483a8bec0..2dddf7a6f3bab4acf0c9d02a35a0cedb27154dea 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3361,6 +3361,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3374,6 +3374,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.pushEntities();
this.level().getProfiler().pop();
diff --git a/patches/server/0512-added-option-to-disable-pathfinding-updates-on-block.patch b/patches/server/0511-added-option-to-disable-pathfinding-updates-on-block.patch
index c155d17a87..c155d17a87 100644
--- a/patches/server/0512-added-option-to-disable-pathfinding-updates-on-block.patch
+++ b/patches/server/0511-added-option-to-disable-pathfinding-updates-on-block.patch
diff --git a/patches/server/0513-Inline-shift-direction-fields.patch b/patches/server/0512-Inline-shift-direction-fields.patch
index 4f26750f0e..4f26750f0e 100644
--- a/patches/server/0513-Inline-shift-direction-fields.patch
+++ b/patches/server/0512-Inline-shift-direction-fields.patch
diff --git a/patches/server/0514-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/server/0513-Allow-adding-items-to-BlockDropItemEvent.patch
index 4f2a76f711..ac583d715b 100644
--- a/patches/server/0514-Allow-adding-items-to-BlockDropItemEvent.patch
+++ b/patches/server/0513-Allow-adding-items-to-BlockDropItemEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow adding items to BlockDropItemEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 54b0e6e6c21c02bd6a2a702f6b6416d573f62f9c..166035d8f708b94a9563c3802418ab6200071bc6 100644
+index 75b0a6327d8fbf82ac816eae4fdf4f922a0f3113..5112da69c528be09c2b5d5bcac70fce0fb0054a1 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -450,13 +450,30 @@ public class CraftEventFactory {
diff --git a/patches/server/0515-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/server/0514-Add-getMainThreadExecutor-to-BukkitScheduler.patch
index 57d54a0434..57d54a0434 100644
--- a/patches/server/0515-Add-getMainThreadExecutor-to-BukkitScheduler.patch
+++ b/patches/server/0514-Add-getMainThreadExecutor-to-BukkitScheduler.patch
diff --git a/patches/server/0516-living-entity-allow-attribute-registration.patch b/patches/server/0515-living-entity-allow-attribute-registration.patch
index 9d1df1faf3..cc5fbf104d 100644
--- a/patches/server/0516-living-entity-allow-attribute-registration.patch
+++ b/patches/server/0515-living-entity-allow-attribute-registration.patch
@@ -38,10 +38,10 @@ index ea48f1119a940056c37d1d203437bfbfdf13663b..8a678df56fcf30535957e111d81ad07b
+ // Paper end - living entity allow attribute registration
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 30934acb059016a996b2c3b2f635e606d4e8a526..7d8d503b46b1380e4b8a52d76fc5cc55759de80b 100644
+index 06f25a9453bcc8f304cc83b599f8a54112a6ed01..72d9a9696c95374bed29e2e453c7750d0cf06170 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -726,6 +726,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -739,6 +739,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
return this.getHandle().craftAttributes.getAttribute(attribute);
}
diff --git a/patches/server/0517-fix-dead-slime-setSize-invincibility.patch b/patches/server/0516-fix-dead-slime-setSize-invincibility.patch
index 494e56127e..494e56127e 100644
--- a/patches/server/0517-fix-dead-slime-setSize-invincibility.patch
+++ b/patches/server/0516-fix-dead-slime-setSize-invincibility.patch
diff --git a/patches/server/0518-Merchant-getRecipes-should-return-an-immutable-list.patch b/patches/server/0517-Merchant-getRecipes-should-return-an-immutable-list.patch
index cbb0cdc052..cbb0cdc052 100644
--- a/patches/server/0518-Merchant-getRecipes-should-return-an-immutable-list.patch
+++ b/patches/server/0517-Merchant-getRecipes-should-return-an-immutable-list.patch
diff --git a/patches/server/0519-Expose-Tracked-Players.patch b/patches/server/0518-Expose-Tracked-Players.patch
index 075b73c5c5..075b73c5c5 100644
--- a/patches/server/0519-Expose-Tracked-Players.patch
+++ b/patches/server/0518-Expose-Tracked-Players.patch
diff --git a/patches/server/0520-Improve-ServerGUI.patch b/patches/server/0519-Improve-ServerGUI.patch
index ea0b4bbc77..ea0b4bbc77 100644
--- a/patches/server/0520-Improve-ServerGUI.patch
+++ b/patches/server/0519-Improve-ServerGUI.patch
diff --git a/patches/server/0521-fix-converting-txt-to-json-file.patch b/patches/server/0520-fix-converting-txt-to-json-file.patch
index f4fc2d6541..6b167b94ba 100644
--- a/patches/server/0521-fix-converting-txt-to-json-file.patch
+++ b/patches/server/0520-fix-converting-txt-to-json-file.patch
@@ -21,7 +21,7 @@ index a20d47f54f12dfc0a5f76dd969238e34c958b618..1c9cf5e1c4ee05724ffcdbd77a19bca1
this.saveUserBanList();
this.loadIpBanList();
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index 317f9048be060778104c8ac3494599c2141b7aac..413f2ab9b6df22f083df684a8a2e7e97a7a312a1 100644
+index ebea8a827aad108dd6d4222e8dfd251d2cea657a..2a0d3212edeee828b9fe04c153ee05ea5b0875ec 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -199,6 +199,12 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -48,7 +48,7 @@ index 317f9048be060778104c8ac3494599c2141b7aac..413f2ab9b6df22f083df684a8a2e7e97
if (!OldUsersConverter.serverReadyAfterUserconversion(this)) {
return false;
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 065a189566d1eea08b1013ce64d1f2282d0c2dc3..fde0b21f3e3349cf55ed6e9c200cf0b63dcb11a9 100644
+index f336b52a529c3c0ddccb36ace8b441fba61b99dd..41c682c24b2f984e6cd0cc63eed5acc09f00d649 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -176,6 +176,7 @@ public abstract class PlayerList {
diff --git a/patches/server/0522-Add-worldborder-events.patch b/patches/server/0521-Add-worldborder-events.patch
index f39382cd63..f39382cd63 100644
--- a/patches/server/0522-Add-worldborder-events.patch
+++ b/patches/server/0521-Add-worldborder-events.patch
diff --git a/patches/server/0523-Add-PlayerNameEntityEvent.patch b/patches/server/0522-Add-PlayerNameEntityEvent.patch
index eec1c1a2eb..eec1c1a2eb 100644
--- a/patches/server/0523-Add-PlayerNameEntityEvent.patch
+++ b/patches/server/0522-Add-PlayerNameEntityEvent.patch
diff --git a/patches/server/0524-Prevent-grindstones-from-overstacking-items.patch b/patches/server/0523-Prevent-grindstones-from-overstacking-items.patch
index d98bb3f1c4..d98bb3f1c4 100644
--- a/patches/server/0524-Prevent-grindstones-from-overstacking-items.patch
+++ b/patches/server/0523-Prevent-grindstones-from-overstacking-items.patch
diff --git a/patches/server/0525-Add-recipe-to-cook-events.patch b/patches/server/0524-Add-recipe-to-cook-events.patch
index 75eb9efb8b..75eb9efb8b 100644
--- a/patches/server/0525-Add-recipe-to-cook-events.patch
+++ b/patches/server/0524-Add-recipe-to-cook-events.patch
diff --git a/patches/server/0526-Add-Block-isValidTool.patch b/patches/server/0525-Add-Block-isValidTool.patch
index 5f36fb047c..5f36fb047c 100644
--- a/patches/server/0526-Add-Block-isValidTool.patch
+++ b/patches/server/0525-Add-Block-isValidTool.patch
diff --git a/patches/server/0527-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0526-Allow-using-signs-inside-spawn-protection.patch
index 77ada4cbb9..a749fc47e7 100644
--- a/patches/server/0527-Allow-using-signs-inside-spawn-protection.patch
+++ b/patches/server/0526-Allow-using-signs-inside-spawn-protection.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow using signs inside spawn protection
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index d4b9f2b82527852c8fde8299801d54c9ba76371a..c2e663082bbb956aabdcdb6372964f3e85541494 100644
+index 730b30ee33f0fb2a98454080045608ff538c8c04..437c642f0df201528eb2fcd49ae21b67db13df86 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1752,7 +1752,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0528-Expand-world-key-API.patch b/patches/server/0527-Expand-world-key-API.patch
index de0d6bde9f..aff4443614 100644
--- a/patches/server/0528-Expand-world-key-API.patch
+++ b/patches/server/0527-Expand-world-key-API.patch
@@ -20,10 +20,10 @@ index 0fb214ddd919b568da64541fd9b531c65caa5fad..9cd267f53505658d1c75187b662c4d9f
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index f027e405e4c80a66110d351961612faa8828bdb0..cf508b4ddd21d006b88eac6588a0f56eb20c5ec7 100644
+index c353f7a3a9ad0099ef7330dde988d1a174a0e327..b453673f7bab09a1b10898a7d1f85d133e63ac72 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1137,9 +1137,15 @@ public final class CraftServer implements Server {
+@@ -1149,9 +1149,15 @@ public final class CraftServer implements Server {
File folder = new File(this.getWorldContainer(), name);
World world = this.getWorld(name);
@@ -41,7 +41,7 @@ index f027e405e4c80a66110d351961612faa8828bdb0..cf508b4ddd21d006b88eac6588a0f56e
if (folder.exists()) {
Preconditions.checkArgument(folder.isDirectory(), "File (%s) exists and isn't a folder", name);
-@@ -1263,7 +1269,7 @@ public final class CraftServer implements Server {
+@@ -1275,7 +1281,7 @@ public final class CraftServer implements Server {
} else if (name.equals(levelName + "_the_end")) {
worldKey = net.minecraft.world.level.Level.END;
} else {
@@ -50,7 +50,7 @@ index f027e405e4c80a66110d351961612faa8828bdb0..cf508b4ddd21d006b88eac6588a0f56e
}
ServerLevel internal = (ServerLevel) new ServerLevel(this.console, this.console.executor, worldSession, worlddata, worldKey, worlddimension, this.getServer().progressListenerFactory.create(11),
-@@ -1356,6 +1362,15 @@ public final class CraftServer implements Server {
+@@ -1368,6 +1374,15 @@ public final class CraftServer implements Server {
return null;
}
@@ -67,10 +67,10 @@ index f027e405e4c80a66110d351961612faa8828bdb0..cf508b4ddd21d006b88eac6588a0f56e
// Check if a World already exists with the UID.
if (this.getWorld(world.getUID()) != null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 67c8e62c22f11ea4524e4229d2b89695313bf5d2..e0118a0c780cb60eb8545cb9c61f37c0986752b0 100644
+index 14d094d9af9b76277859901db908b8a36b24986b..4d695428cf838d2f5661fdeaaa58b82de693d64e 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -516,6 +516,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -531,6 +531,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
public int nextEntityId() {
return net.minecraft.world.entity.Entity.nextEntityId();
}
diff --git a/patches/server/0529-Add-fast-alternative-constructor-for-Rotations.patch b/patches/server/0528-Add-fast-alternative-constructor-for-Rotations.patch
index 9b38f8f90d..9b38f8f90d 100644
--- a/patches/server/0529-Add-fast-alternative-constructor-for-Rotations.patch
+++ b/patches/server/0528-Add-fast-alternative-constructor-for-Rotations.patch
diff --git a/patches/server/0530-Item-Rarity-API.patch b/patches/server/0529-Item-Rarity-API.patch
index 47ad27274a..d0d483075a 100644
--- a/patches/server/0530-Item-Rarity-API.patch
+++ b/patches/server/0529-Item-Rarity-API.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Item Rarity API
public net.minecraft.world.item.Item rarity
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index e0118a0c780cb60eb8545cb9c61f37c0986752b0..841e5887c455fafd826965e4f84180750f303eaa 100644
+index 4d695428cf838d2f5661fdeaaa58b82de693d64e..b928b3550bc74fd91c6762bc025a0bf6c766541b 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -521,6 +521,20 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -536,6 +536,20 @@ public final class CraftMagicNumbers implements UnsafeValues {
public String getMainLevelName() {
return ((net.minecraft.server.dedicated.DedicatedServer) net.minecraft.server.MinecraftServer.getServer()).getProperties().levelName;
}
diff --git a/patches/server/0531-Drop-carried-item-when-player-has-disconnected.patch b/patches/server/0530-Drop-carried-item-when-player-has-disconnected.patch
index f8a056ade3..f8a056ade3 100644
--- a/patches/server/0531-Drop-carried-item-when-player-has-disconnected.patch
+++ b/patches/server/0530-Drop-carried-item-when-player-has-disconnected.patch
diff --git a/patches/server/0532-forced-whitelist-use-configurable-kick-message.patch b/patches/server/0531-forced-whitelist-use-configurable-kick-message.patch
index da6064c246..48f96930a9 100644
--- a/patches/server/0532-forced-whitelist-use-configurable-kick-message.patch
+++ b/patches/server/0531-forced-whitelist-use-configurable-kick-message.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] forced whitelist: use configurable kick message
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 37c4245a30ee6a5f786364aa46dee832396ba4fd..b3b78ad64c5cd9bde4756c5e619d0188ec8f2608 100644
+index 3f061e1135bac08e6ea1530407ff2667904339a5..773e4850956a7ffcd78cc241a598fd13bcfe1d20 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2167,7 +2167,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0533-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0532-Don-t-ignore-result-of-PlayerEditBookEvent.patch
index 96dde46b77..29c6375a71 100644
--- a/patches/server/0533-Don-t-ignore-result-of-PlayerEditBookEvent.patch
+++ b/patches/server/0532-Don-t-ignore-result-of-PlayerEditBookEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Don't ignore result of PlayerEditBookEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index c2e663082bbb956aabdcdb6372964f3e85541494..f0551a35583e05e3e0437eda6e78f9672d00648f 100644
+index 437c642f0df201528eb2fcd49ae21b67db13df86..b1a0711dbedaaf79aac49b8c594d47e997c2613d 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1187,7 +1187,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0534-Expose-protocol-version.patch b/patches/server/0533-Expose-protocol-version.patch
index 789c4e233c..e81a519f77 100644
--- a/patches/server/0534-Expose-protocol-version.patch
+++ b/patches/server/0533-Expose-protocol-version.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose protocol version
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 841e5887c455fafd826965e4f84180750f303eaa..584ea52824c17b3008204df2480a2bf9f14acb82 100644
+index b928b3550bc74fd91c6762bc025a0bf6c766541b..44b0acb82f10a35bc0c42fdb6fd685aadc76d789 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -535,6 +535,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -550,6 +550,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
public io.papermc.paper.inventory.ItemRarity getItemStackRarity(org.bukkit.inventory.ItemStack itemStack) {
return io.papermc.paper.inventory.ItemRarity.values()[getItem(itemStack.getType()).getRarity(CraftItemStack.asNMSCopy(itemStack)).ordinal()];
}
diff --git a/patches/server/0535-Enhance-console-tab-completions-for-brigadier-comman.patch b/patches/server/0534-Enhance-console-tab-completions-for-brigadier-comman.patch
index e0aec17a3c..c1c74a8470 100644
--- a/patches/server/0535-Enhance-console-tab-completions-for-brigadier-comman.patch
+++ b/patches/server/0534-Enhance-console-tab-completions-for-brigadier-comman.patch
@@ -208,7 +208,7 @@ index 0000000000000000000000000000000000000000..dd9d77d7c7f1a5a130a1f4c15e5b1e68
+ public void setErrorIndex(final int errorIndex) {}
+}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index 413f2ab9b6df22f083df684a8a2e7e97a7a312a1..46b581e1f930eda3671a283ad89ed1c2094e2cd6 100644
+index 2a0d3212edeee828b9fe04c153ee05ea5b0875ec..dd13627f140ab93901a32901eeb51488421ae91f 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -173,7 +173,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
diff --git a/patches/server/0536-Fix-PlayerItemConsumeEvent-cancelling-properly.patch b/patches/server/0535-Fix-PlayerItemConsumeEvent-cancelling-properly.patch
index 0eee744cf6..5acc31dd36 100644
--- a/patches/server/0536-Fix-PlayerItemConsumeEvent-cancelling-properly.patch
+++ b/patches/server/0535-Fix-PlayerItemConsumeEvent-cancelling-properly.patch
@@ -9,10 +9,10 @@ till their item is switched.
This patch clears the active item when the event is cancelled
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index bcd1a608796065eb705363bdc246151b68553c0e..297fb36316df04903bd083af523c6b35c284ac7b 100644
+index 2dddf7a6f3bab4acf0c9d02a35a0cedb27154dea..89842b86b419117a92f79b7bfb57a4aa4351f9f8 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3859,6 +3859,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3872,6 +3872,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.level().getCraftServer().getPluginManager().callEvent(event);
if (event.isCancelled()) {
diff --git a/patches/server/0537-Add-bypass-host-check.patch b/patches/server/0536-Add-bypass-host-check.patch
index b53ee2c2d8..b53ee2c2d8 100644
--- a/patches/server/0537-Add-bypass-host-check.patch
+++ b/patches/server/0536-Add-bypass-host-check.patch
diff --git a/patches/server/0538-Set-area-affect-cloud-rotation.patch b/patches/server/0537-Set-area-affect-cloud-rotation.patch
index 1904854b96..1904854b96 100644
--- a/patches/server/0538-Set-area-affect-cloud-rotation.patch
+++ b/patches/server/0537-Set-area-affect-cloud-rotation.patch
diff --git a/patches/server/0539-add-isDeeplySleeping-to-HumanEntity.patch b/patches/server/0538-add-isDeeplySleeping-to-HumanEntity.patch
index 61a0d0fb11..61a0d0fb11 100644
--- a/patches/server/0539-add-isDeeplySleeping-to-HumanEntity.patch
+++ b/patches/server/0538-add-isDeeplySleeping-to-HumanEntity.patch
diff --git a/patches/server/0540-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/server/0539-add-consumeFuel-to-FurnaceBurnEvent.patch
index bfdd2e8c45..bfdd2e8c45 100644
--- a/patches/server/0540-add-consumeFuel-to-FurnaceBurnEvent.patch
+++ b/patches/server/0539-add-consumeFuel-to-FurnaceBurnEvent.patch
diff --git a/patches/server/0541-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/server/0540-add-get-set-drop-chance-to-EntityEquipment.patch
index fd7cafa884..fd7cafa884 100644
--- a/patches/server/0541-add-get-set-drop-chance-to-EntityEquipment.patch
+++ b/patches/server/0540-add-get-set-drop-chance-to-EntityEquipment.patch
diff --git a/patches/server/0542-fix-PigZombieAngerEvent-cancellation.patch b/patches/server/0541-fix-PigZombieAngerEvent-cancellation.patch
index 8b29ccdead..8b29ccdead 100644
--- a/patches/server/0542-fix-PigZombieAngerEvent-cancellation.patch
+++ b/patches/server/0541-fix-PigZombieAngerEvent-cancellation.patch
diff --git a/patches/server/0543-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0542-fix-PlayerItemHeldEvent-firing-twice.patch
index 0fbae7a4ae..2d2a115414 100644
--- a/patches/server/0543-fix-PlayerItemHeldEvent-firing-twice.patch
+++ b/patches/server/0542-fix-PlayerItemHeldEvent-firing-twice.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] fix PlayerItemHeldEvent firing twice
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index f0551a35583e05e3e0437eda6e78f9672d00648f..c460baee67b23bd00dba149518d8afdb33743e3a 100644
+index b1a0711dbedaaf79aac49b8c594d47e997c2613d..8fcb3361c510cb1ef0b6405d0077c82ba155d586 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1921,6 +1921,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0544-Add-PlayerDeepSleepEvent.patch b/patches/server/0543-Add-PlayerDeepSleepEvent.patch
index fe75f0e3c2..7dfa56bff7 100644
--- a/patches/server/0544-Add-PlayerDeepSleepEvent.patch
+++ b/patches/server/0543-Add-PlayerDeepSleepEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerDeepSleepEvent
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index 10caa677309c5a8191830c98597468079e784459..f47874dc9270d177aa7c39266e36713d0c934640 100644
+index 203f36776f41c46172b77a195d3702dd6af7409e..e765b6f1163edb363ddebe0c83ca733a061ff103 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -246,6 +246,13 @@ public abstract class Player extends LivingEntity {
+@@ -247,6 +247,13 @@ public abstract class Player extends LivingEntity {
if (this.isSleeping()) {
++this.sleepCounter;
diff --git a/patches/server/0545-More-World-API.patch b/patches/server/0544-More-World-API.patch
index e1ff14e424..7f887ba98d 100644
--- a/patches/server/0545-More-World-API.patch
+++ b/patches/server/0544-More-World-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] More World API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 75387d9507add359e7b35527c6a69b6a96cdff5c..6724d0b4e857a9671eac89445ceb70c070b29929 100644
+index 9d44a2ce6da1b6338e5a1aaa9238483b64c9a34f..c90cbf4681e1c57fcec553b01d99a26316f896e5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -2097,6 +2097,53 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2110,6 +2110,53 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return new CraftStructureSearchResult(CraftStructure.minecraftToBukkit(found.getSecond().value()), CraftLocation.toBukkit(found.getFirst(), this));
}
diff --git a/patches/server/0546-Add-PlayerBedFailEnterEvent.patch b/patches/server/0545-Add-PlayerBedFailEnterEvent.patch
index 945dacae7c..945dacae7c 100644
--- a/patches/server/0546-Add-PlayerBedFailEnterEvent.patch
+++ b/patches/server/0545-Add-PlayerBedFailEnterEvent.patch
diff --git a/patches/server/0547-Implement-methods-to-convert-between-Component-and-B.patch b/patches/server/0546-Implement-methods-to-convert-between-Component-and-B.patch
index 74bdc39e9b..ebc86dc755 100644
--- a/patches/server/0547-Implement-methods-to-convert-between-Component-and-B.patch
+++ b/patches/server/0546-Implement-methods-to-convert-between-Component-and-B.patch
@@ -42,7 +42,7 @@ index 0000000000000000000000000000000000000000..dd6012b6a097575b2d1471be5069ecce
+ }
+}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index 46b581e1f930eda3671a283ad89ed1c2094e2cd6..959ce2efe156c8ff2e3d1b57cde27f4da548c3ef 100644
+index dd13627f140ab93901a32901eeb51488421ae91f..a78b14b828526549e1309e94c271667043129a87 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -210,6 +210,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
diff --git a/patches/server/0548-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch b/patches/server/0547-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch
index 967badf8e0..03b096e682 100644
--- a/patches/server/0548-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch
+++ b/patches/server/0547-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Expand PlayerRespawnEvent, fix passed parameter issues
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index c460baee67b23bd00dba149518d8afdb33743e3a..189b16f5c7bad3540671019136ed0ef8dfaacf74 100644
+index 8fcb3361c510cb1ef0b6405d0077c82ba155d586..2004712adede7e3307785389dd7aa4ba5465110f 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2628,7 +2628,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0549-Introduce-beacon-activation-deactivation-events.patch b/patches/server/0548-Introduce-beacon-activation-deactivation-events.patch
index e4a4750e9e..f793b533a2 100644
--- a/patches/server/0549-Introduce-beacon-activation-deactivation-events.patch
+++ b/patches/server/0548-Introduce-beacon-activation-deactivation-events.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Introduce beacon activation/deactivation events
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
-index 80bd394920902cd67ef22bf9a14db64800a3ab97..2ceadc753eb99a08881f1292de789528f4a3de85 100644
+index 49f25826aea528d9da085b9e65cb4c85cd78c415..61a618f09af475407a78343eecb4352052b1df1e 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
@@ -221,6 +221,15 @@ public class BeaconBlockEntity extends BlockEntity implements MenuProvider, Name
diff --git a/patches/server/0550-Add-Channel-initialization-listeners.patch b/patches/server/0549-Add-Channel-initialization-listeners.patch
index d3df58efe1..51eee16dd9 100644
--- a/patches/server/0550-Add-Channel-initialization-listeners.patch
+++ b/patches/server/0549-Add-Channel-initialization-listeners.patch
@@ -122,7 +122,7 @@ index 0000000000000000000000000000000000000000..0d7e7db9e37ef0183c32b217bd944fb4
+ COMPRESSION_DISABLED
+}
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
-index 1e495daf53a53260e1a3b1c86365edb9abad1e80..c7e4d38f67a196b6334e0cc2b9ce9bd96fdc5b0a 100644
+index ddc84de84c8a503a01e40c42fe83558af7159f8f..37b16918451859c22f92bcbcbce05c16b8beff75 100644
--- a/src/main/java/net/minecraft/network/Connection.java
+++ b/src/main/java/net/minecraft/network/Connection.java
@@ -633,6 +633,7 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
diff --git a/patches/server/0551-Send-empty-commands-if-tab-completion-is-disabled.patch b/patches/server/0550-Send-empty-commands-if-tab-completion-is-disabled.patch
index f385186300..f385186300 100644
--- a/patches/server/0551-Send-empty-commands-if-tab-completion-is-disabled.patch
+++ b/patches/server/0550-Send-empty-commands-if-tab-completion-is-disabled.patch
diff --git a/patches/server/0552-Add-more-WanderingTrader-API.patch b/patches/server/0551-Add-more-WanderingTrader-API.patch
index 9e049337bc..9e049337bc 100644
--- a/patches/server/0552-Add-more-WanderingTrader-API.patch
+++ b/patches/server/0551-Add-more-WanderingTrader-API.patch
diff --git a/patches/server/0553-Add-EntityBlockStorage-clearEntities.patch b/patches/server/0552-Add-EntityBlockStorage-clearEntities.patch
index 35a0f1cab5..35a0f1cab5 100644
--- a/patches/server/0553-Add-EntityBlockStorage-clearEntities.patch
+++ b/patches/server/0552-Add-EntityBlockStorage-clearEntities.patch
diff --git a/patches/server/0554-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/server/0553-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
index 4a803357b6..4a803357b6 100644
--- a/patches/server/0554-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
+++ b/patches/server/0553-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
diff --git a/patches/server/0555-Add-HiddenPotionEffect-API.patch b/patches/server/0554-Add-HiddenPotionEffect-API.patch
index 5f9960d071..5f9960d071 100644
--- a/patches/server/0555-Add-HiddenPotionEffect-API.patch
+++ b/patches/server/0554-Add-HiddenPotionEffect-API.patch
diff --git a/patches/server/0556-Inventory-close.patch b/patches/server/0555-Inventory-close.patch
index 9ca8b717ab..9ca8b717ab 100644
--- a/patches/server/0556-Inventory-close.patch
+++ b/patches/server/0555-Inventory-close.patch
diff --git a/patches/server/0557-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/server/0556-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
index 1d2850637b..1d2850637b 100644
--- a/patches/server/0557-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
+++ b/patches/server/0556-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
diff --git a/patches/server/0558-Add-basic-Datapack-API.patch b/patches/server/0557-Add-basic-Datapack-API.patch
index 3716abc0b2..93aebb5a94 100644
--- a/patches/server/0558-Add-basic-Datapack-API.patch
+++ b/patches/server/0557-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 4c84e41e12ab81e374a6ba831e078bd538d7afbc..50a79cefb97a33bc59d7c706a45bbdb0e739147c 100644
+index b453673f7bab09a1b10898a7d1f85d133e63ac72..236e73eed6caac7f98236ca418185a143f78c5fa 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -301,6 +301,7 @@ public final class CraftServer implements Server {
+@@ -303,6 +303,7 @@ public final class CraftServer implements Server {
public boolean ignoreVanillaPermissions = false;
private final List<CraftPlayer> playerView;
public int reloadCount;
@@ -103,7 +103,7 @@ index 4c84e41e12ab81e374a6ba831e078bd538d7afbc..50a79cefb97a33bc59d7c706a45bbdb0
public static Exception excessiveVelEx; // Paper - Velocity warnings
static {
-@@ -385,6 +386,7 @@ public final class CraftServer implements Server {
+@@ -387,6 +388,7 @@ public final class CraftServer implements Server {
if (this.configuration.getBoolean("settings.use-map-color-cache")) {
MapPalette.setMapColorCache(new CraftMapColorCache(this.logger));
}
@@ -111,7 +111,7 @@ index 4c84e41e12ab81e374a6ba831e078bd538d7afbc..50a79cefb97a33bc59d7c706a45bbdb0
}
public boolean getCommandBlockOverride(String command) {
-@@ -2945,5 +2947,11 @@ public final class CraftServer implements Server {
+@@ -2957,5 +2959,11 @@ public final class CraftServer implements Server {
public com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() {
return mobGoals;
}
diff --git a/patches/server/0559-Add-environment-variable-to-disable-server-gui.patch b/patches/server/0558-Add-environment-variable-to-disable-server-gui.patch
index 5cb0f04643..5cb0f04643 100644
--- a/patches/server/0559-Add-environment-variable-to-disable-server-gui.patch
+++ b/patches/server/0558-Add-environment-variable-to-disable-server-gui.patch
diff --git a/patches/server/0560-Expand-PlayerGameModeChangeEvent.patch b/patches/server/0559-Expand-PlayerGameModeChangeEvent.patch
index cfd1e1cd26..0b100fa9e9 100644
--- a/patches/server/0560-Expand-PlayerGameModeChangeEvent.patch
+++ b/patches/server/0559-Expand-PlayerGameModeChangeEvent.patch
@@ -45,7 +45,7 @@ index aee8618e27b893b72931e925724dd683d2e6d2aa..f7c9127346261d83413ca03a1cdaa849
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 5a26a7d6e052c0533f73b1930da6c801f23cb521..895c2cd385622fcc426e9e920ff35109f444b569 100644
+index 8c65b05e66372cf3c92f823d72e94c18fe77622b..a09ef51e94a0bf9f51bf358e7cf77dd5d272aab2 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1940,8 +1940,16 @@ public class ServerPlayer extends Player {
@@ -131,7 +131,7 @@ index a03d1a85019afdc42de2b8449fc38384c4dac51e..4fe571915b247ec612b2376dce57991e
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 189b16f5c7bad3540671019136ed0ef8dfaacf74..813538573b24cc0fd30c6b67c138449809c36404 100644
+index 2004712adede7e3307785389dd7aa4ba5465110f..c54a1c2bf8719791047eb9ccc6cbe26c7541f125 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2637,7 +2637,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -140,14 +140,14 @@ index 189b16f5c7bad3540671019136ed0ef8dfaacf74..813538573b24cc0fd30c6b67c1384498
if (this.server.isHardcore()) {
- this.player.setGameMode(GameType.SPECTATOR);
+ this.player.setGameMode(GameType.SPECTATOR, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.HARDCORE_DEATH, null); // Paper - Expand PlayerGameModeChangeEvent
- ((GameRules.BooleanValue) this.player.level().getGameRules().getRule(GameRules.RULE_SPECTATORSGENERATECHUNKS)).set(false, this.server);
+ ((GameRules.BooleanValue) this.player.level().getGameRules().getRule(GameRules.RULE_SPECTATORSGENERATECHUNKS)).set(false, this.player.serverLevel()); // CraftBukkit - per-world
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index deff963f73b5317be6f82945c01e45f337675103..9356752eae2499654f26fb60490490adbc1010c9 100644
+index a9f30ba8d6d6e3d488f46b0bd79bf77b660c1b82..fa5bf1ef9cb4df06eabce00ccdd86a408ddaef8f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1532,7 +1532,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1562,7 +1562,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
Preconditions.checkArgument(mode != null, "GameMode cannot be null");
if (this.getHandle().connection == null) return;
diff --git a/patches/server/0561-ItemStack-repair-check-API.patch b/patches/server/0560-ItemStack-repair-check-API.patch
index b4a6192069..daefbc2d1d 100644
--- a/patches/server/0561-ItemStack-repair-check-API.patch
+++ b/patches/server/0560-ItemStack-repair-check-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack repair check API
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 584ea52824c17b3008204df2480a2bf9f14acb82..b0f365fe009be57cdf64983d9975c6bd873a33b5 100644
+index 44b0acb82f10a35bc0c42fdb6fd685aadc76d789..6eca86a2ab7145f4c60abb90cd46b4098ad8fb56 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -536,6 +536,14 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -551,6 +551,14 @@ public final class CraftMagicNumbers implements UnsafeValues {
return io.papermc.paper.inventory.ItemRarity.values()[getItem(itemStack.getType()).getRarity(CraftItemStack.asNMSCopy(itemStack)).ordinal()];
}
diff --git a/patches/server/0562-More-Enchantment-API.patch b/patches/server/0561-More-Enchantment-API.patch
index 9b5fad2bb5..70329e2627 100644
--- a/patches/server/0562-More-Enchantment-API.patch
+++ b/patches/server/0561-More-Enchantment-API.patch
@@ -78,10 +78,10 @@ index 7aa4035a4df1ddcc71065034eafd569ca59be810..5b7579395e61684592758f408d61cffe
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 7d8d503b46b1380e4b8a52d76fc5cc55759de80b..1474177f66a1428406bec2c55cd995a172f27dcf 100644
+index 72d9a9696c95374bed29e2e453c7750d0cf06170..40fbd911943abd6f6cc7910b5179c196bb3fe8f8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -965,5 +965,21 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -978,5 +978,21 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
public void setHurtDirection(float hurtDirection) {
throw new UnsupportedOperationException("Cannot set the hurt direction on a non player");
}
diff --git a/patches/server/0563-Move-range-check-for-block-placing-up.patch b/patches/server/0562-Move-range-check-for-block-placing-up.patch
index a8136afa9f..6ef0f8fe85 100644
--- a/patches/server/0563-Move-range-check-for-block-placing-up.patch
+++ b/patches/server/0562-Move-range-check-for-block-placing-up.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Move range check for block placing up
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 813538573b24cc0fd30c6b67c138449809c36404..13e817da70328e4fc13327255afc88cfc848e5d2 100644
+index c54a1c2bf8719791047eb9ccc6cbe26c7541f125..60acd12ab02a2a3c1fd788af2695b6a699646986 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1738,6 +1738,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0564-Add-Mob-lookAt-API.patch b/patches/server/0563-Add-Mob-lookAt-API.patch
index ddfa31827a..ddfa31827a 100644
--- a/patches/server/0564-Add-Mob-lookAt-API.patch
+++ b/patches/server/0563-Add-Mob-lookAt-API.patch
diff --git a/patches/server/0565-Correctly-check-if-bucket-dispenses-will-succeed-for.patch b/patches/server/0564-Correctly-check-if-bucket-dispenses-will-succeed-for.patch
index 5ca75e86a3..5ca75e86a3 100644
--- a/patches/server/0565-Correctly-check-if-bucket-dispenses-will-succeed-for.patch
+++ b/patches/server/0564-Correctly-check-if-bucket-dispenses-will-succeed-for.patch
diff --git a/patches/server/0566-Add-Unix-domain-socket-support.patch b/patches/server/0565-Add-Unix-domain-socket-support.patch
index 7be6e655aa..27de36be4c 100644
--- a/patches/server/0566-Add-Unix-domain-socket-support.patch
+++ b/patches/server/0565-Add-Unix-domain-socket-support.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add Unix domain socket support
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index 959ce2efe156c8ff2e3d1b57cde27f4da548c3ef..212ce0957d623776a11779c4a476c76bc7c1c0bd 100644
+index a78b14b828526549e1309e94c271667043129a87..6b4c9ef02931491dd048646ead494892f06504c5 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -219,6 +219,20 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -87,7 +87,7 @@ index 25ddfe8e5da65e4ac70be2820ba139e7f3852c0c..87abd6274f9da9367094bad0c28acfa4
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 13e817da70328e4fc13327255afc88cfc848e5d2..4824c5f0f4c0e165e3622aac23e501f56e09fc73 100644
+index 60acd12ab02a2a3c1fd788af2695b6a699646986..bd212b89412c099216828ab5653ae3b9e1ec5665 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2471,6 +2471,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0567-Add-EntityInsideBlockEvent.patch b/patches/server/0566-Add-EntityInsideBlockEvent.patch
index addc980ab1..a63f8ecbfe 100644
--- a/patches/server/0567-Add-EntityInsideBlockEvent.patch
+++ b/patches/server/0566-Add-EntityInsideBlockEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add EntityInsideBlockEvent
diff --git a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java
-index 91400c16b8bd8953265bf37ec1cd34ac95133e32..118403953629b405b9db78de1bf684b31289c499 100644
+index 839469c1249829b42e752e5a1b613550c3f65bba..ceb5f9867f714b3b6a4602c787574dfa83c006f6 100644
--- a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java
@@ -124,6 +124,7 @@ public abstract class BaseFireBlock extends Block {
@@ -65,7 +65,7 @@ index 3356f327c9adae6c2f3354b4417f3954012c945a..0118c4ef4f5ed0e724b379b5a563e2b6
this.checkPressed(state, world, pos);
}
diff --git a/src/main/java/net/minecraft/world/level/block/CactusBlock.java b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
-index 43ecbeaced4d50910a59b24934908ff40d894770..c5a0cefc6b7e19d8a277dbc59e54f465a994a858 100644
+index 0e8c337dde0cfa2ac289c79904ecd2affc86d70a..ba4aaf850af36a84517c70581e141157c4f15b99 100644
--- a/src/main/java/net/minecraft/world/level/block/CactusBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
@@ -121,6 +121,7 @@ public class CactusBlock extends Block {
@@ -73,21 +73,21 @@ index 43ecbeaced4d50910a59b24934908ff40d894770..c5a0cefc6b7e19d8a277dbc59e54f465
@Override
public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) {
+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent
- CraftEventFactory.blockDamage = world.getWorld().getBlockAt(pos.getX(), pos.getY(), pos.getZ()); // CraftBukkit
- entity.hurt(world.damageSources().cactus(), 1.0F);
- CraftEventFactory.blockDamage = null; // CraftBukkit
+ entity.hurt(world.damageSources().cactus().directBlock(world, pos), 1.0F); // CraftBukkit
+ }
+
diff --git a/src/main/java/net/minecraft/world/level/block/CampfireBlock.java b/src/main/java/net/minecraft/world/level/block/CampfireBlock.java
-index cbabee578a6fd62234d0aa350d911c6c7d02e0b2..20dbfeb68ac33ee8ba8214edcca0d7f7ce1be58e 100644
+index a139cf0c584719e8e360ea83bdc107dfe3c577ea..9c7ee02d3aa3c33b45db4dc5c079495a69d60b15 100644
--- a/src/main/java/net/minecraft/world/level/block/CampfireBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CampfireBlock.java
-@@ -108,6 +108,7 @@ public class CampfireBlock extends BaseEntityBlock implements SimpleWaterloggedB
+@@ -105,6 +105,7 @@ public class CampfireBlock extends BaseEntityBlock implements SimpleWaterloggedB
@Override
public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) {
+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent
if ((Boolean) state.getValue(CampfireBlock.LIT) && entity instanceof LivingEntity && !EnchantmentHelper.hasFrostWalker((LivingEntity) entity)) {
- org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = CraftBlock.at(world, pos); // CraftBukkit
- entity.hurt(world.damageSources().inFire(), (float) this.fireDamage);
+ entity.hurt(world.damageSources().inFire().directBlock(world, pos), (float) this.fireDamage); // CraftBukkit
+ }
diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java
index a7809bb2a468c7ad7ef7ba795afd93dd2a63cadc..aa029bee9839497e48ff639e286a024280150362 100644
--- a/src/main/java/net/minecraft/world/level/block/CropBlock.java
@@ -221,10 +221,10 @@ index b38658b84e821435ba5a3fc7218b72406da00e47..0dfcac8cfcbb09fe04486bff60119f79
entity.makeStuckInBlock(state, new Vec3(0.8999999761581421D, 1.5D, 0.8999999761581421D));
if (world.isClientSide) {
diff --git a/src/main/java/net/minecraft/world/level/block/SweetBerryBushBlock.java b/src/main/java/net/minecraft/world/level/block/SweetBerryBushBlock.java
-index c733b9dc26370322e404b56ac3feb3417948cb90..6c1ed9d37adb97b47f0288a5986b805ee0e13842 100644
+index 53d39c5557bd1a68f39aaf7950f42cc1aadc3337..62ed86114c1a6e724ccfea119a331356d0a22600 100644
--- a/src/main/java/net/minecraft/world/level/block/SweetBerryBushBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/SweetBerryBushBlock.java
-@@ -84,6 +84,7 @@ public class SweetBerryBushBlock extends BushBlock implements BonemealableBlock
+@@ -83,6 +83,7 @@ public class SweetBerryBushBlock extends BushBlock implements BonemealableBlock
@Override
public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) {
diff --git a/patches/server/0568-Attributes-API-for-item-defaults.patch b/patches/server/0567-Attributes-API-for-item-defaults.patch
index 395e09608d..65265cb696 100644
--- a/patches/server/0568-Attributes-API-for-item-defaults.patch
+++ b/patches/server/0567-Attributes-API-for-item-defaults.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Attributes API for item defaults
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index b0f365fe009be57cdf64983d9975c6bd873a33b5..fd35c5102aa4e14f5eb707884be64120c2b13276 100644
+index 6eca86a2ab7145f4c60abb90cd46b4098ad8fb56..b89171cb89e3d38f3260ead8549cccde904db7c4 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -544,6 +544,19 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -559,6 +559,19 @@ public final class CraftMagicNumbers implements UnsafeValues {
return CraftMagicNumbers.getItem(itemToBeRepaired.getType()).isValidRepairItem(CraftItemStack.asNMSCopy(itemToBeRepaired), CraftItemStack.asNMSCopy(repairMaterial));
}
diff --git a/patches/server/0569-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0568-Add-cause-to-Weather-ThunderChangeEvents.patch
index eb81834be8..04bbf4641a 100644
--- a/patches/server/0569-Add-cause-to-Weather-ThunderChangeEvents.patch
+++ b/patches/server/0568-Add-cause-to-Weather-ThunderChangeEvents.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add cause to Weather/ThunderChangeEvents
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 379be7cd3ce1808cf0cf50e50ac7e8de8c8f652c..da2a8f57b733b84106ed0818f4402d9c9d854481 100644
+index bc7177bc0699e64933399a1ed0e66fee0663636d..3f0745a9bfba35c0b133aa4bf2312e1b5eb640aa 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -434,8 +434,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -95,10 +95,10 @@ index f5ac36fa54f3d3b39de103c95abb9ca3adfe8dda..59ba982dc96ce47e47399514e8f74d2b
if (weather.isCancelled()) {
return;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 6724d0b4e857a9671eac89445ceb70c070b29929..c70599006c16ea342ad1b50915cda13673431e79 100644
+index c90cbf4681e1c57fcec553b01d99a26316f896e5..05b9e7011d1c127052b73a464fc86331e2a4774a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1164,7 +1164,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1177,7 +1177,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setStorm(boolean hasStorm) {
@@ -107,7 +107,7 @@ index 6724d0b4e857a9671eac89445ceb70c070b29929..c70599006c16ea342ad1b50915cda136
this.setWeatherDuration(0); // Reset weather duration (legacy behaviour)
this.setClearWeatherDuration(0); // Reset clear weather duration (reset "/weather clear" commands)
}
-@@ -1186,7 +1186,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1199,7 +1199,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setThundering(boolean thundering) {
diff --git a/patches/server/0570-More-Lidded-Block-API.patch b/patches/server/0569-More-Lidded-Block-API.patch
index d36768f000..d36768f000 100644
--- a/patches/server/0570-More-Lidded-Block-API.patch
+++ b/patches/server/0569-More-Lidded-Block-API.patch
diff --git a/patches/server/0571-Limit-item-frame-cursors-on-maps.patch b/patches/server/0570-Limit-item-frame-cursors-on-maps.patch
index 8b38d8900a..8b38d8900a 100644
--- a/patches/server/0571-Limit-item-frame-cursors-on-maps.patch
+++ b/patches/server/0570-Limit-item-frame-cursors-on-maps.patch
diff --git a/patches/server/0572-Add-PlayerKickEvent-causes.patch b/patches/server/0571-Add-PlayerKickEvent-causes.patch
index b4470c2ecf..e394713f3c 100644
--- a/patches/server/0572-Add-PlayerKickEvent-causes.patch
+++ b/patches/server/0571-Add-PlayerKickEvent-causes.patch
@@ -209,7 +209,7 @@ index 6bb846d3ee2fb54ab3ffa116607f2a83e538460e..a65a1466dab52fca75cda16a4b22fef0
if (this.cserver.getServer().isRunning()) {
this.cserver.getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 4824c5f0f4c0e165e3622aac23e501f56e09fc73..1dcc0852bcaf44efaa9ff1e63560ddb9968a494a 100644
+index bd212b89412c099216828ab5653ae3b9e1ec5665..28a0570988f93b21f530a6cca87efa429f83079d 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -341,7 +341,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -491,10 +491,10 @@ index 6724d0a1af13e97bc1d3bd94fd43fef742a0deab..20ba0a0c9eae28658888a77dd2170f62
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 9356752eae2499654f26fb60490490adbc1010c9..8b54fe6ee1c07a70f9823f1a2a13887620a6dfda 100644
+index fa5bf1ef9cb4df06eabce00ccdd86a408ddaef8f..5ff0081fa3cdd34698b4d995a0845709bb5b397f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -549,7 +549,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -555,7 +555,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
org.spigotmc.AsyncCatcher.catchOp("player kick"); // Spigot
if (this.getHandle().connection == null) return;
@@ -503,7 +503,7 @@ index 9356752eae2499654f26fb60490490adbc1010c9..8b54fe6ee1c07a70f9823f1a2a138876
}
// Paper start
-@@ -561,10 +561,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -567,10 +567,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void kick(final net.kyori.adventure.text.Component message) {
@@ -520,7 +520,7 @@ index 9356752eae2499654f26fb60490490adbc1010c9..8b54fe6ee1c07a70f9823f1a2a138876
}
}
-@@ -623,7 +628,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -629,7 +634,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper start - Improve chat handling
if (ServerGamePacketListenerImpl.isChatMessageIllegal(msg)) {
diff --git a/patches/server/0573-Add-PufferFishStateChangeEvent.patch b/patches/server/0572-Add-PufferFishStateChangeEvent.patch
index 091a042a02..091a042a02 100644
--- a/patches/server/0573-Add-PufferFishStateChangeEvent.patch
+++ b/patches/server/0572-Add-PufferFishStateChangeEvent.patch
diff --git a/patches/server/0574-Fix-PlayerBucketEmptyEvent-result-itemstack.patch b/patches/server/0573-Fix-PlayerBucketEmptyEvent-result-itemstack.patch
index 8ac91b4842..8ac91b4842 100644
--- a/patches/server/0574-Fix-PlayerBucketEmptyEvent-result-itemstack.patch
+++ b/patches/server/0573-Fix-PlayerBucketEmptyEvent-result-itemstack.patch
diff --git a/patches/server/0575-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch b/patches/server/0574-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch
index 4a44dd7ad0..12b8b851c3 100644
--- a/patches/server/0575-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch
+++ b/patches/server/0574-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch
@@ -14,7 +14,7 @@ contention situations.
And this is extremely a low contention situation.
diff --git a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
-index 1219200cd915d6239a32a2bd09d325cd8fa9b346..dfae0918079425df92d958b04275be8ae60d4b60 100644
+index b8fb6d1d85e07f5165bfaf7d80807e069b595851..dd62e257e16974a6d556a7f5e2d113a2cbc08981 100644
--- a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
+++ b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java
@@ -32,14 +32,14 @@ public class PalettedContainer<T> implements PaletteResize<T>, PalettedContainer
diff --git a/patches/server/0576-Add-option-to-fix-items-merging-through-walls.patch b/patches/server/0575-Add-option-to-fix-items-merging-through-walls.patch
index abc3aaaa57..abc3aaaa57 100644
--- a/patches/server/0576-Add-option-to-fix-items-merging-through-walls.patch
+++ b/patches/server/0575-Add-option-to-fix-items-merging-through-walls.patch
diff --git a/patches/server/0577-Add-BellRevealRaiderEvent.patch b/patches/server/0576-Add-BellRevealRaiderEvent.patch
index 58719e8164..58719e8164 100644
--- a/patches/server/0577-Add-BellRevealRaiderEvent.patch
+++ b/patches/server/0576-Add-BellRevealRaiderEvent.patch
diff --git a/patches/server/0578-Fix-invulnerable-end-crystals.patch b/patches/server/0577-Fix-invulnerable-end-crystals.patch
index 8d9e818ef4..8d9e818ef4 100644
--- a/patches/server/0578-Fix-invulnerable-end-crystals.patch
+++ b/patches/server/0577-Fix-invulnerable-end-crystals.patch
diff --git a/patches/server/0579-Add-ElderGuardianAppearanceEvent.patch b/patches/server/0578-Add-ElderGuardianAppearanceEvent.patch
index bd92518e4b..bd92518e4b 100644
--- a/patches/server/0579-Add-ElderGuardianAppearanceEvent.patch
+++ b/patches/server/0578-Add-ElderGuardianAppearanceEvent.patch
diff --git a/patches/server/0580-Fix-dangerous-end-portal-logic.patch b/patches/server/0579-Fix-dangerous-end-portal-logic.patch
index ed189860b8..cde0c19f0c 100644
--- a/patches/server/0580-Fix-dangerous-end-portal-logic.patch
+++ b/patches/server/0579-Fix-dangerous-end-portal-logic.patch
@@ -11,7 +11,7 @@ Move the tick logic into the post tick, where portaling was
designed to happen in the first place.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 4fd7cd7b2dba4047f36a52c510f12d61f281a95f..50ebb94f4403bdf532af423d5204364d538667ee 100644
+index 7a0ad3e2600517d1472fd31d0f1b2e04c5e2d804..e4ba2914184072835e4447511b70a94f1ebc9eea 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -420,6 +420,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -51,7 +51,7 @@ index 4fd7cd7b2dba4047f36a52c510f12d61f281a95f..50ebb94f4403bdf532af423d5204364d
public float getBukkitYaw() {
return this.yRot;
}
-@@ -2778,6 +2808,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2782,6 +2812,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
this.processPortalCooldown();
diff --git a/patches/server/0581-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch b/patches/server/0580-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch
index 53a98e7fb8..53a98e7fb8 100644
--- a/patches/server/0581-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch
+++ b/patches/server/0580-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch
diff --git a/patches/server/0582-Make-item-validations-configurable.patch b/patches/server/0581-Make-item-validations-configurable.patch
index 111d700507..3bbdbee6ea 100644
--- a/patches/server/0582-Make-item-validations-configurable.patch
+++ b/patches/server/0581-Make-item-validations-configurable.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Make item validations configurable
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
-index 5e01357208fe52c1d270c68cb19029ea0f4057bb..6d85237b21650edf1d2dc71abaf0edbe7a8aef6b 100644
+index e0d4798e244add64cbe43201604ad9d57701515f..c5d1ba7a1be3f102edcdfdc05fc50b30ef1f775b 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
-@@ -88,11 +88,11 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta {
+@@ -89,11 +89,11 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta {
super(tag);
if (tag.contains(CraftMetaBook.BOOK_TITLE.NBT)) {
@@ -22,7 +22,7 @@ index 5e01357208fe52c1d270c68cb19029ea0f4057bb..6d85237b21650edf1d2dc71abaf0edbe
}
if (tag.contains(CraftMetaBook.RESOLVED.NBT)) {
-@@ -120,7 +120,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta {
+@@ -121,7 +121,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta {
} else {
page = this.validatePage(page);
}
@@ -32,7 +32,7 @@ index 5e01357208fe52c1d270c68cb19029ea0f4057bb..6d85237b21650edf1d2dc71abaf0edbe
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index f9f57f4ab75776dbaa4dc39d30e32b2c778b1955..d42f4640a53221ffa7a479bce681374527cb3a0c 100644
+index a3713c5ab624b8d54ddcd69ae7587346ebbaed69..6c797f35a10e8491718f38eb08f31b1e6182a8d1 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -362,7 +362,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/0583-Line-Of-Sight-Changes.patch b/patches/server/0582-Line-Of-Sight-Changes.patch
index dff2ccc4dd..89f7b37eeb 100644
--- a/patches/server/0583-Line-Of-Sight-Changes.patch
+++ b/patches/server/0582-Line-Of-Sight-Changes.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Line Of Sight Changes
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 297fb36316df04903bd083af523c6b35c284ac7b..cedd1f8063504cc58b2735a8d53a3c39a605bf5f 100644
+index 89842b86b419117a92f79b7bfb57a4aa4351f9f8..78befbf1e5f506c9dfd703c3e796742fe17d13d7 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3606,7 +3606,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3619,7 +3619,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
Vec3 vec3d = new Vec3(this.getX(), this.getEyeY(), this.getZ());
Vec3 vec3d1 = new Vec3(entity.getX(), entity.getEyeY(), entity.getZ());
@@ -45,10 +45,10 @@ index 9cd267f53505658d1c75187b662c4d9f68cd6bae..5f4958d28b6d79fe9e589e4794d9a7e8
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 1474177f66a1428406bec2c55cd995a172f27dcf..55bb8e5e8e09e35320094389bf68d204d21e4f9e 100644
+index 40fbd911943abd6f6cc7910b5179c196bb3fe8f8..cc3de2a961f474afee982cb94813bc48649d352a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -599,6 +599,23 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -612,6 +612,23 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
return this.getHandle().hasLineOfSight(((CraftEntity) other).getHandle());
}
diff --git a/patches/server/0584-add-per-world-spawn-limits.patch b/patches/server/0583-add-per-world-spawn-limits.patch
index b5e0294a7c..5433a49ee8 100644
--- a/patches/server/0584-add-per-world-spawn-limits.patch
+++ b/patches/server/0583-add-per-world-spawn-limits.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] add per world spawn limits
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index c70599006c16ea342ad1b50915cda13673431e79..eb915b7e07666ef1cad55dc32882ecc962ab2ae3 100644
+index 05b9e7011d1c127052b73a464fc86331e2a4774a..fce62b18da2d6ee8d10688107ca3179abfa3781b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -215,6 +215,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -221,6 +221,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
this.biomeProvider = biomeProvider;
this.environment = env;
diff --git a/patches/server/0585-Fix-potions-splash-events.patch b/patches/server/0584-Fix-potions-splash-events.patch
index fbea3d41b3..c3914e23c4 100644
--- a/patches/server/0585-Fix-potions-splash-events.patch
+++ b/patches/server/0584-Fix-potions-splash-events.patch
@@ -154,7 +154,7 @@ index b87077c47a0131c5f4ca085b6b32e657043a9e1a..77235314f4ccc28255b98f2bb52f553f
public boolean isLingering() {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 64d27612d21d44950ba12be69aa6bfa339fef39c..833011c1f1746e000adc72ab092295fd4fab2ab8 100644
+index 5112da69c528be09c2b5d5bcac70fce0fb0054a1..e57bafa1d071a2fefe44a150bc5754e76d78cdd9 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -874,6 +874,32 @@ public class CraftEventFactory {
diff --git a/patches/server/0586-Add-more-LimitedRegion-API.patch b/patches/server/0585-Add-more-LimitedRegion-API.patch
index ff692d5181..ff692d5181 100644
--- a/patches/server/0586-Add-more-LimitedRegion-API.patch
+++ b/patches/server/0585-Add-more-LimitedRegion-API.patch
diff --git a/patches/server/0587-Fix-PlayerDropItemEvent-using-wrong-item.patch b/patches/server/0586-Fix-PlayerDropItemEvent-using-wrong-item.patch
index cc481ca1f4..612146273a 100644
--- a/patches/server/0587-Fix-PlayerDropItemEvent-using-wrong-item.patch
+++ b/patches/server/0586-Fix-PlayerDropItemEvent-using-wrong-item.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix PlayerDropItemEvent using wrong item
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 895c2cd385622fcc426e9e920ff35109f444b569..12d3809792384643e550b34e59c58d49869ec05d 100644
+index a09ef51e94a0bf9f51bf358e7cf77dd5d272aab2..d0369b9db86dc3436e6a016f138f2ffe91da6ed4 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2342,7 +2342,7 @@ public class ServerPlayer extends Player {
@@ -18,10 +18,10 @@ index 895c2cd385622fcc426e9e920ff35109f444b569..12d3809792384643e550b34e59c58d49
this.awardStat(Stats.DROP);
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index f47874dc9270d177aa7c39266e36713d0c934640..00477c81dc3f5d8289b08881b119b699552e5722 100644
+index e765b6f1163edb363ddebe0c83ca733a061ff103..bc205c48460f6b90fbdc83f979f7bf029c1e0f9d 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -725,6 +725,11 @@ public abstract class Player extends LivingEntity {
+@@ -726,6 +726,11 @@ public abstract class Player extends LivingEntity {
}
double d0 = this.getEyeY() - 0.30000001192092896D;
diff --git a/patches/server/0588-Missing-Entity-API.patch b/patches/server/0587-Missing-Entity-API.patch
index d3d7dc9346..7dacfb50ba 100644
--- a/patches/server/0588-Missing-Entity-API.patch
+++ b/patches/server/0587-Missing-Entity-API.patch
@@ -138,19 +138,6 @@ index 07ecc038a1000581335b8d18c094298f2f3b100f..91ea960ba223bae42655c581b9b6c098
this.setFlag(2, nearTarget);
}
-diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
-index 52cc265f1663d648b6bfd03f2ac3e191b1c16d44..e42b0b19019ef74733fd19b08f882cccff920142 100644
---- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
-+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
-@@ -55,7 +55,7 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
- private static final int MUTATE_CHANCE = 1024;
- private static final String TAG_STEW_EFFECTS = "stew_effects";
- @Nullable
-- private List<SuspiciousEffectHolder.EffectEntry> stewEffects;
-+ public List<SuspiciousEffectHolder.EffectEntry> stewEffects; // Paper - private -> public (AT does not seem to work for this field)
- @Nullable
- private UUID lastLightningBoltUUID;
-
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
index 71a08510a928d4570822282bb31f14013ec3834a..4aeab90e778629c355189dfe79c39c4b21f5f5ac 100644
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
@@ -748,10 +735,10 @@ index 2cec61a1bb050c1ef81c5fc3d0afafe9ff29d459..97fa4e1e70203194bd939618b2fad926
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 55bb8e5e8e09e35320094389bf68d204d21e4f9e..ed4ccda0063b4cf52fe6a4ded42c17aca396e6ff 100644
+index cc3de2a961f474afee982cb94813bc48649d352a..8eb4b6c2752d68b866eab64263ede1d449ee2458 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -900,6 +900,22 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -913,6 +913,22 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
this.getHandle().persistentInvisibility = invisible;
this.getHandle().setSharedFlag(5, invisible);
}
@@ -862,10 +849,10 @@ index fc83dde12957e575a4f1d4bee73c320bab95606f..ae430c36ed433e337dd92f197f1717fb
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMushroomCow.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMushroomCow.java
-index 77cede9c565a3bc404878c9a4028cadc90f6c010..c20f470bec5292dde7fbdbf3a6562ae12117521d 100644
+index cc69f471c623c65251ccf7015499d8dbdb70ffad..a41a85ad89a177759c97d661a89b8b5dc419db1b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMushroomCow.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMushroomCow.java
-@@ -27,6 +27,43 @@ public class CraftMushroomCow extends CraftCow implements MushroomCow {
+@@ -89,6 +89,43 @@ public class CraftMushroomCow extends CraftCow implements MushroomCow {
this.getHandle().setVariant(net.minecraft.world.entity.animal.MushroomCow.MushroomType.values()[variant.ordinal()]);
}
diff --git a/patches/server/0589-Ensure-disconnect-for-book-edit-is-called-on-main.patch b/patches/server/0588-Ensure-disconnect-for-book-edit-is-called-on-main.patch
index 8ed00ac7e8..f09bb60682 100644
--- a/patches/server/0589-Ensure-disconnect-for-book-edit-is-called-on-main.patch
+++ b/patches/server/0588-Ensure-disconnect-for-book-edit-is-called-on-main.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Ensure disconnect for book edit is called on main
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 1dcc0852bcaf44efaa9ff1e63560ddb9968a494a..a01af1e82d3a68da1016b440181c298c2f86fa06 100644
+index 28a0570988f93b21f530a6cca87efa429f83079d..6f4c8b6ac6f56d183796deaa0d3b5a23241e8348 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1096,7 +1096,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0590-Fix-return-value-of-Block-applyBoneMeal-always-being.patch b/patches/server/0589-Fix-return-value-of-Block-applyBoneMeal-always-being.patch
index a5c4eefb9a..a5c4eefb9a 100644
--- a/patches/server/0590-Fix-return-value-of-Block-applyBoneMeal-always-being.patch
+++ b/patches/server/0589-Fix-return-value-of-Block-applyBoneMeal-always-being.patch
diff --git a/patches/server/0591-Use-getChunkIfLoadedImmediately-in-places.patch b/patches/server/0590-Use-getChunkIfLoadedImmediately-in-places.patch
index 66dda54d6e..66dda54d6e 100644
--- a/patches/server/0591-Use-getChunkIfLoadedImmediately-in-places.patch
+++ b/patches/server/0590-Use-getChunkIfLoadedImmediately-in-places.patch
diff --git a/patches/server/0592-Fix-commands-from-signs-not-firing-command-events.patch b/patches/server/0591-Fix-commands-from-signs-not-firing-command-events.patch
index 67851c6f82..67851c6f82 100644
--- a/patches/server/0592-Fix-commands-from-signs-not-firing-command-events.patch
+++ b/patches/server/0591-Fix-commands-from-signs-not-firing-command-events.patch
diff --git a/patches/server/0593-Add-PlayerArmSwingEvent.patch b/patches/server/0592-Add-PlayerArmSwingEvent.patch
index 99a1f5af8a..a2db1e148c 100644
--- a/patches/server/0593-Add-PlayerArmSwingEvent.patch
+++ b/patches/server/0592-Add-PlayerArmSwingEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerArmSwingEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index a01af1e82d3a68da1016b440181c298c2f86fa06..e56506562976b305568f15a554204919f6e34ad8 100644
+index 6f4c8b6ac6f56d183796deaa0d3b5a23241e8348..c0f29e612a69b33bd79d05c472fe72529a6fd14b 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2328,7 +2328,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0594-Fix-kick-event-leave-message-not-being-sent.patch b/patches/server/0593-Fix-kick-event-leave-message-not-being-sent.patch
index a1233e3e59..58972f4e99 100644
--- a/patches/server/0594-Fix-kick-event-leave-message-not-being-sent.patch
+++ b/patches/server/0593-Fix-kick-event-leave-message-not-being-sent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix kick event leave message not being sent
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 12d3809792384643e550b34e59c58d49869ec05d..33829587797f9bb6efccb0e5237b2aab020f837e 100644
+index d0369b9db86dc3436e6a016f138f2ffe91da6ed4..7fab0411fb7d322bf5f201e44b747d8a00638d5d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -268,7 +268,6 @@ public class ServerPlayer extends Player {
@@ -50,7 +50,7 @@ index a65a1466dab52fca75cda16a4b22fef03b6207a0..0306771b8f90dcdd77f151c19c6c2d75
MinecraftServer minecraftserver = this.server;
Connection networkmanager = this.connection;
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index e56506562976b305568f15a554204919f6e34ad8..de4dc29d9cbdb739465f5df815b1e939a2bffee1 100644
+index c0f29e612a69b33bd79d05c472fe72529a6fd14b..8b6f37463e35162d4b228b732a0283d57dc2f1b9 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1882,6 +1882,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0595-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/0594-Add-config-for-mobs-immune-to-default-effects.patch
index 3e37529925..7eb0b594c2 100644
--- a/patches/server/0595-Add-config-for-mobs-immune-to-default-effects.patch
+++ b/patches/server/0594-Add-config-for-mobs-immune-to-default-effects.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add config for mobs immune to default effects
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index aab173a8c36f8f03cfad84a69b9a34bd19369649..8dcebc2b6e8baf4ed5f269a1b9cec9e5cd754047 100644
+index 78befbf1e5f506c9dfd703c3e796742fe17d13d7..fadbb788bff1dc1c643ffbb28774d20ba6d55ce5 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -1163,7 +1163,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1164,7 +1164,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (this.getMobType() == MobType.UNDEAD) {
MobEffect mobeffectlist = effect.getEffect();
diff --git a/patches/server/0596-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0595-Don-t-apply-cramming-damage-to-players.patch
index b85c69d7d7..0882572dff 100644
--- a/patches/server/0596-Don-t-apply-cramming-damage-to-players.patch
+++ b/patches/server/0595-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/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 33829587797f9bb6efccb0e5237b2aab020f837e..974874a6e72b65f956ebb5605547e5d1be74d2e8 100644
+index 7fab0411fb7d322bf5f201e44b747d8a00638d5d..751216261df86402c23d3f0d73944ae51e849caa 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -95,6 +95,7 @@ import net.minecraft.util.Mth;
diff --git a/patches/server/0597-Rate-options-and-timings-for-sensors-and-behaviors.patch b/patches/server/0596-Rate-options-and-timings-for-sensors-and-behaviors.patch
index b90b81a68f..b90b81a68f 100644
--- a/patches/server/0597-Rate-options-and-timings-for-sensors-and-behaviors.patch
+++ b/patches/server/0596-Rate-options-and-timings-for-sensors-and-behaviors.patch
diff --git a/patches/server/0598-Add-missing-forceDrop-toggles.patch b/patches/server/0597-Add-missing-forceDrop-toggles.patch
index 4df953f191..4df953f191 100644
--- a/patches/server/0598-Add-missing-forceDrop-toggles.patch
+++ b/patches/server/0597-Add-missing-forceDrop-toggles.patch
diff --git a/patches/server/0599-Stinger-API.patch b/patches/server/0598-Stinger-API.patch
index 499d7d5c10..a1a70741b4 100644
--- a/patches/server/0599-Stinger-API.patch
+++ b/patches/server/0598-Stinger-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Stinger API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 5effef8e6a360b4d6910be9f4b7a5363d38675ed..33d5e64fa76ef789a51197e5ec3b5ebbcb82b8c5 100644
+index 8eb4b6c2752d68b866eab64263ede1d449ee2458..f288efe62c7280189359bba749a2dc3ec3f6ef49 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -337,6 +337,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -338,6 +338,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
}
// Paper end
}
@@ -20,7 +20,7 @@ index 5effef8e6a360b4d6910be9f4b7a5363d38675ed..33d5e64fa76ef789a51197e5ec3b5ebb
// Paper start - Add methods for working with arrows stuck in living entities
@Override
-@@ -351,6 +356,34 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -352,6 +357,34 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
}
// Paper end - Add methods for working with arrows stuck in living entities
@@ -54,4 +54,4 @@ index 5effef8e6a360b4d6910be9f4b7a5363d38675ed..33d5e64fa76ef789a51197e5ec3b5ebb
+
@Override
public void damage(double amount) {
- this.damage(amount, null);
+ this.damage(amount, this.getHandle().damageSources().generic());
diff --git a/patches/server/0600-Fix-incosistency-issue-with-empty-map-items-in-CB.patch b/patches/server/0599-Fix-incosistency-issue-with-empty-map-items-in-CB.patch
index 926fba2c7f..926fba2c7f 100644
--- a/patches/server/0600-Fix-incosistency-issue-with-empty-map-items-in-CB.patch
+++ b/patches/server/0599-Fix-incosistency-issue-with-empty-map-items-in-CB.patch
diff --git a/patches/server/0601-Add-System.out-err-catcher.patch b/patches/server/0600-Add-System.out-err-catcher.patch
index 56f9ba7be5..c9b1688452 100644
--- a/patches/server/0601-Add-System.out-err-catcher.patch
+++ b/patches/server/0600-Add-System.out-err-catcher.patch
@@ -105,10 +105,10 @@ index 0000000000000000000000000000000000000000..a8e813ca89b033f061e695288b3383bd
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 5bf8d8de30f69e2eed92400bc75c36231a4631fe..3c29d2a8ccac5ca50d3df41262e9e767daf7035b 100644
+index 236e73eed6caac7f98236ca418185a143f78c5fa..51337b1b2e74a67ad54c5d594004b649cb6af4ed 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -303,6 +303,7 @@ public final class CraftServer implements Server {
+@@ -305,6 +305,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/0602-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/server/0601-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
index e3b686c58c..e3b686c58c 100644
--- a/patches/server/0602-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
+++ b/patches/server/0601-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
diff --git a/patches/server/0603-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0602-Prevent-AFK-kick-while-watching-end-credits.patch
index 7cd213831e..0abb2b65fd 100644
--- a/patches/server/0603-Prevent-AFK-kick-while-watching-end-credits.patch
+++ b/patches/server/0602-Prevent-AFK-kick-while-watching-end-credits.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Prevent AFK kick while watching end credits
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index a28141f7a4b59d98e1eb9fbd8c431fa3eedaf53e..5689d048b74e7608119f2e5db0022ba9b6180e5b 100644
+index 8b6f37463e35162d4b228b732a0283d57dc2f1b9..0fef0dda0586b70dc140406b55dba1d5e23c3c97 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -389,7 +389,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0604-Allow-skipping-writing-of-comments-to-server.propert.patch b/patches/server/0603-Allow-skipping-writing-of-comments-to-server.propert.patch
index 5edf383235..5edf383235 100644
--- a/patches/server/0604-Allow-skipping-writing-of-comments-to-server.propert.patch
+++ b/patches/server/0603-Allow-skipping-writing-of-comments-to-server.propert.patch
diff --git a/patches/server/0605-Add-PlayerSetSpawnEvent.patch b/patches/server/0604-Add-PlayerSetSpawnEvent.patch
index af0338e82f..ca1c60c115 100644
--- a/patches/server/0605-Add-PlayerSetSpawnEvent.patch
+++ b/patches/server/0604-Add-PlayerSetSpawnEvent.patch
@@ -49,7 +49,7 @@ index a2d0699e8427b2262a2396495111125eccafbb66..15db9368227dbc29d07d74e85bd126b3
}
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 974874a6e72b65f956ebb5605547e5d1be74d2e8..5fff2d791b924e402a1b861c3cff8989c19d5e3b 100644
+index 751216261df86402c23d3f0d73944ae51e849caa..fb86824192f1fc850a55905757c65cafec1edb6a 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1307,7 +1307,7 @@ public class ServerPlayer extends Player {
@@ -154,7 +154,7 @@ index 974874a6e72b65f956ebb5605547e5d1be74d2e8..5fff2d791b924e402a1b861c3cff8989
public SectionPos getLastSectionPos() {
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 9e9d4b5cc32beef41aa6d3b0ad8dbbd158b1f148..3df033f99ccc5b803eca2fe6d4f1e60399c4bee1 100644
+index 569d1f1682b9c785701fbb04683fea880504c94c..75e3d7f81e21caaffd79d095022c4196507a9059 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -870,7 +870,7 @@ public abstract class PlayerList {
@@ -187,10 +187,10 @@ index ecaa7f0b2bf795f16187f11fa27f6d5d435ccbfe..acd5ec218b8d4c096f44ae2eec1379ee
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 8b54fe6ee1c07a70f9823f1a2a13887620a6dfda..ff85623db8fc9cbf9b056eec9774ddcd3106c194 100644
+index 5ff0081fa3cdd34698b4d995a0845709bb5b397f..8b89f46aad11628a50d9f6c65caf52a558b9ee18 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1291,9 +1291,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1321,9 +1321,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setRespawnLocation(Location location, boolean override) {
if (location == null) {
diff --git a/patches/server/0606-Make-hoppers-respect-inventory-max-stack-size.patch b/patches/server/0605-Make-hoppers-respect-inventory-max-stack-size.patch
index f29d30a2c5..f29d30a2c5 100644
--- a/patches/server/0606-Make-hoppers-respect-inventory-max-stack-size.patch
+++ b/patches/server/0605-Make-hoppers-respect-inventory-max-stack-size.patch
diff --git a/patches/server/0607-Optimize-entity-tracker-passenger-checks.patch b/patches/server/0606-Optimize-entity-tracker-passenger-checks.patch
index 0908da4471..0908da4471 100644
--- a/patches/server/0607-Optimize-entity-tracker-passenger-checks.patch
+++ b/patches/server/0606-Optimize-entity-tracker-passenger-checks.patch
diff --git a/patches/server/0608-Config-option-for-Piglins-guarding-chests.patch b/patches/server/0607-Config-option-for-Piglins-guarding-chests.patch
index d32081e6b2..d32081e6b2 100644
--- a/patches/server/0608-Config-option-for-Piglins-guarding-chests.patch
+++ b/patches/server/0607-Config-option-for-Piglins-guarding-chests.patch
diff --git a/patches/server/0609-Add-EntityDamageItemEvent.patch b/patches/server/0608-Add-EntityDamageItemEvent.patch
index 66964564a3..99df36aea0 100644
--- a/patches/server/0609-Add-EntityDamageItemEvent.patch
+++ b/patches/server/0608-Add-EntityDamageItemEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityDamageItemEvent
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index b4f2b75960674e81c8189dc908523c56ae2e5079..4624fc8eb4a5e71d7874d25ca0a25975f65a6919 100644
+index 9d2d305a5e66b9f3d94f6464736f5bb40adae591..d5ee83e6538fbd067388272fa9895e17859be642 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -622,7 +622,7 @@ public final class ItemStack {
+@@ -624,7 +624,7 @@ public final class ItemStack {
return this.getItem().getMaxDamage();
}
@@ -17,7 +17,7 @@ index b4f2b75960674e81c8189dc908523c56ae2e5079..4624fc8eb4a5e71d7874d25ca0a25975
if (!this.isDamageableItem()) {
return false;
} else {
-@@ -640,8 +640,8 @@ public final class ItemStack {
+@@ -642,8 +642,8 @@ public final class ItemStack {
amount -= k;
// CraftBukkit start
@@ -28,7 +28,7 @@ index b4f2b75960674e81c8189dc908523c56ae2e5079..4624fc8eb4a5e71d7874d25ca0a25975
event.getPlayer().getServer().getPluginManager().callEvent(event);
if (amount != event.getDamage() || event.isCancelled()) {
-@@ -652,6 +652,14 @@ public final class ItemStack {
+@@ -654,6 +654,14 @@ public final class ItemStack {
}
amount = event.getDamage();
@@ -43,7 +43,7 @@ index b4f2b75960674e81c8189dc908523c56ae2e5079..4624fc8eb4a5e71d7874d25ca0a25975
}
// CraftBukkit end
if (amount <= 0) {
-@@ -659,8 +667,8 @@ public final class ItemStack {
+@@ -661,8 +669,8 @@ public final class ItemStack {
}
}
@@ -54,7 +54,7 @@ index b4f2b75960674e81c8189dc908523c56ae2e5079..4624fc8eb4a5e71d7874d25ca0a25975
}
j = this.getDamageValue() + amount;
-@@ -672,7 +680,7 @@ public final class ItemStack {
+@@ -674,7 +682,7 @@ public final class ItemStack {
public <T extends LivingEntity> void hurtAndBreak(int amount, T entity, Consumer<T> breakCallback) {
if (!entity.level().isClientSide && (!(entity instanceof net.minecraft.world.entity.player.Player) || !((net.minecraft.world.entity.player.Player) entity).getAbilities().instabuild)) {
if (this.isDamageableItem()) {
diff --git a/patches/server/0610-Optimize-indirect-passenger-iteration.patch b/patches/server/0609-Optimize-indirect-passenger-iteration.patch
index 787e9411e7..27bb816c05 100644
--- a/patches/server/0610-Optimize-indirect-passenger-iteration.patch
+++ b/patches/server/0609-Optimize-indirect-passenger-iteration.patch
@@ -5,10 +5,10 @@ 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 50ebb94f4403bdf532af423d5204364d538667ee..fb085b7c72896bc6e5223eb2d87d1e6b435114dc 100644
+index e4ba2914184072835e4447511b70a94f1ebc9eea..2d3d27840dc8435381c415dfe34325499e5638c3 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3823,20 +3823,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -3826,20 +3826,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
private Stream<Entity> getIndirectPassengersStream() {
@@ -43,7 +43,7 @@ index 50ebb94f4403bdf532af423d5204364d538667ee..fb085b7c72896bc6e5223eb2d87d1e6b
return () -> {
return this.getIndirectPassengersStream().iterator();
};
-@@ -3849,6 +3863,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -3852,6 +3866,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public boolean hasExactlyOnePlayerPassenger() {
diff --git a/patches/server/0611-Configurable-item-frame-map-cursor-update-interval.patch b/patches/server/0610-Configurable-item-frame-map-cursor-update-interval.patch
index 382372348e..382372348e 100644
--- a/patches/server/0611-Configurable-item-frame-map-cursor-update-interval.patch
+++ b/patches/server/0610-Configurable-item-frame-map-cursor-update-interval.patch
diff --git a/patches/server/0612-Clear-bucket-NBT-after-dispense.patch b/patches/server/0611-Clear-bucket-NBT-after-dispense.patch
index 24eb614ec7..24eb614ec7 100644
--- a/patches/server/0612-Clear-bucket-NBT-after-dispense.patch
+++ b/patches/server/0611-Clear-bucket-NBT-after-dispense.patch
diff --git a/patches/server/0613-Change-EnderEye-target-without-changing-other-things.patch b/patches/server/0612-Change-EnderEye-target-without-changing-other-things.patch
index 4974686f9c..4974686f9c 100644
--- a/patches/server/0613-Change-EnderEye-target-without-changing-other-things.patch
+++ b/patches/server/0612-Change-EnderEye-target-without-changing-other-things.patch
diff --git a/patches/server/0614-Add-BlockBreakBlockEvent.patch b/patches/server/0613-Add-BlockBreakBlockEvent.patch
index d621301d17..d621301d17 100644
--- a/patches/server/0614-Add-BlockBreakBlockEvent.patch
+++ b/patches/server/0613-Add-BlockBreakBlockEvent.patch
diff --git a/patches/server/0615-Option-to-prevent-NBT-copy-in-smithing-recipes.patch b/patches/server/0614-Option-to-prevent-NBT-copy-in-smithing-recipes.patch
index 32a2c26212..32a2c26212 100644
--- a/patches/server/0615-Option-to-prevent-NBT-copy-in-smithing-recipes.patch
+++ b/patches/server/0614-Option-to-prevent-NBT-copy-in-smithing-recipes.patch
diff --git a/patches/server/0616-More-CommandBlock-API.patch b/patches/server/0615-More-CommandBlock-API.patch
index 65a5093980..65a5093980 100644
--- a/patches/server/0616-More-CommandBlock-API.patch
+++ b/patches/server/0615-More-CommandBlock-API.patch
diff --git a/patches/server/0617-Add-missing-team-sidebar-display-slots.patch b/patches/server/0616-Add-missing-team-sidebar-display-slots.patch
index 2a080ce725..2a080ce725 100644
--- a/patches/server/0617-Add-missing-team-sidebar-display-slots.patch
+++ b/patches/server/0616-Add-missing-team-sidebar-display-slots.patch
diff --git a/patches/server/0618-Add-back-EntityPortalExitEvent.patch b/patches/server/0617-Add-back-EntityPortalExitEvent.patch
index 0460615abd..2228e9d709 100644
--- a/patches/server/0618-Add-back-EntityPortalExitEvent.patch
+++ b/patches/server/0617-Add-back-EntityPortalExitEvent.patch
@@ -5,10 +5,10 @@ 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 fb085b7c72896bc6e5223eb2d87d1e6b435114dc..207c97bf5ad773ca80151284796432a055095631 100644
+index 2d3d27840dc8435381c415dfe34325499e5638c3..7295dfa7010297e019aba979bda9ff133d05a3c1 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3272,6 +3272,28 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -3275,6 +3275,28 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
} else {
// CraftBukkit start
worldserver = shapedetectorshape.world;
@@ -37,7 +37,7 @@ index fb085b7c72896bc6e5223eb2d87d1e6b435114dc..207c97bf5ad773ca80151284796432a0
if (worldserver == this.level) {
// SPIGOT-6782: Just move the entity if a plugin changed the world to the one the entity is already in
this.moveTo(shapedetectorshape.pos.x, shapedetectorshape.pos.y, shapedetectorshape.pos.z, shapedetectorshape.yRot, shapedetectorshape.xRot);
-@@ -3291,8 +3313,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -3294,8 +3316,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
if (entity != null) {
entity.restoreFrom(this);
diff --git a/patches/server/0619-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0618-Add-methods-to-find-targets-for-lightning-strikes.patch
index f442052cf5..bd7a6b51d2 100644
--- a/patches/server/0619-Add-methods-to-find-targets-for-lightning-strikes.patch
+++ b/patches/server/0618-Add-methods-to-find-targets-for-lightning-strikes.patch
@@ -7,7 +7,7 @@ Subject: [PATCH] Add methods to find targets for lightning strikes
public net.minecraft.server.level.ServerLevel findLightningRod(Lnet/minecraft/core/BlockPos;)Ljava/util/Optional;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 0a7f98900cf45fdb11e64c2ed7139fcad940f0d5..dd3e5ee62da7b37b51e07796f6a1188e207d49e2 100644
+index af51a014156ade4d9c1b874a4c57a6de8849aea1..c83f2be16953b5cc009ddef81fd082295f3b2f71 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -757,6 +757,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -31,10 +31,10 @@ index 0a7f98900cf45fdb11e64c2ed7139fcad940f0d5..dd3e5ee62da7b37b51e07796f6a1188e
blockposition1 = blockposition1.above(2);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index eb915b7e07666ef1cad55dc32882ecc962ab2ae3..938b3147040a43601f425b056dc4a83ccf2564be 100644
+index fce62b18da2d6ee8d10688107ca3179abfa3781b..ca68faef4232859e833adfd86a0ce13f7c2ad00e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -661,6 +661,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -667,6 +667,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return (LightningStrike) lightning.getBukkitEntity();
}
diff --git a/patches/server/0620-Get-entity-default-attributes.patch b/patches/server/0619-Get-entity-default-attributes.patch
index 3fffa91394..a157e222b1 100644
--- a/patches/server/0620-Get-entity-default-attributes.patch
+++ b/patches/server/0619-Get-entity-default-attributes.patch
@@ -81,10 +81,10 @@ index 0000000000000000000000000000000000000000..68044b8439c302114240d0ae4da93ab3
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index fd35c5102aa4e14f5eb707884be64120c2b13276..c9be954c94adbc982e2ef9d406be4290e75bc892 100644
+index b89171cb89e3d38f3260ead8549cccde904db7c4..efa904eac6e3c2995f5a03fca44340d083e73b77 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -561,6 +561,18 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -576,6 +576,18 @@ public final class CraftMagicNumbers implements UnsafeValues {
public int getProtocolVersion() {
return net.minecraft.SharedConstants.getCurrentVersion().getProtocolVersion();
}
diff --git a/patches/server/0621-Left-handed-API.patch b/patches/server/0620-Left-handed-API.patch
index d59098ccdf..d59098ccdf 100644
--- a/patches/server/0621-Left-handed-API.patch
+++ b/patches/server/0620-Left-handed-API.patch
diff --git a/patches/server/0622-Add-more-advancement-API.patch b/patches/server/0621-Add-more-advancement-API.patch
index 98836b6fe4..98836b6fe4 100644
--- a/patches/server/0622-Add-more-advancement-API.patch
+++ b/patches/server/0621-Add-more-advancement-API.patch
diff --git a/patches/server/0623-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0622-Add-ItemFactory-getSpawnEgg-API.patch
index c1c7ed6a2c..c1c7ed6a2c 100644
--- a/patches/server/0623-Add-ItemFactory-getSpawnEgg-API.patch
+++ b/patches/server/0622-Add-ItemFactory-getSpawnEgg-API.patch
diff --git a/patches/server/0624-Add-critical-damage-API.patch b/patches/server/0623-Add-critical-damage-API.patch
index cc3685c6ae..55b032eb41 100644
--- a/patches/server/0624-Add-critical-damage-API.patch
+++ b/patches/server/0623-Add-critical-damage-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add critical damage API
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
-index df8c88bfa749e02f633350446101dcce05db7ac1..ed1277fad60992344b94f8a939febaca3edd9702 100644
+index e055106c50944c9a23bc59fe23f58a62c5deb7e4..8187feffe52efa5c887f1910e581a37c6e439401 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
-@@ -191,4 +191,18 @@ public class DamageSource {
+@@ -234,4 +234,18 @@ public class DamageSource {
public Holder<DamageType> typeHolder() {
return this.type;
}
@@ -28,10 +28,10 @@ index df8c88bfa749e02f633350446101dcce05db7ac1..ed1277fad60992344b94f8a939febaca
+ // Paper end - add critical damage API
}
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index 00477c81dc3f5d8289b08881b119b699552e5722..89c1928b1bf6f3a291794c5582b5e1efb4b74327 100644
+index bc205c48460f6b90fbdc83f979f7bf029c1e0f9d..e4cb4a12c8623d19ccceccaceeca528edf3848e4 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -1255,7 +1255,7 @@ public abstract class Player extends LivingEntity {
+@@ -1256,7 +1256,7 @@ public abstract class Player extends LivingEntity {
flag1 = true;
}
@@ -40,7 +40,7 @@ index 00477c81dc3f5d8289b08881b119b699552e5722..89c1928b1bf6f3a291794c5582b5e1ef
flag2 = flag2 && !this.level().paperConfig().entities.behavior.disablePlayerCrits; // Paper - Toggleable player crits
flag2 = flag2 && !this.isSprinting();
-@@ -1295,7 +1295,7 @@ public abstract class Player extends LivingEntity {
+@@ -1296,7 +1296,7 @@ public abstract class Player extends LivingEntity {
}
Vec3 vec3d = target.getDeltaMovement();
@@ -49,13 +49,13 @@ index 00477c81dc3f5d8289b08881b119b699552e5722..89c1928b1bf6f3a291794c5582b5e1ef
if (flag5) {
if (i > 0) {
-@@ -1323,7 +1323,7 @@ public abstract class Player extends LivingEntity {
+@@ -1324,7 +1324,7 @@ public abstract class Player extends LivingEntity {
if (entityliving != this && entityliving != target && !this.isAlliedTo((Entity) entityliving) && (!(entityliving instanceof ArmorStand) || !((ArmorStand) entityliving).isMarker()) && this.distanceToSqr((Entity) entityliving) < 9.0D) {
// CraftBukkit start - Only apply knockback if the damage hits
- if (entityliving.hurt(this.damageSources().playerAttack(this).sweep(), f4)) {
+ if (entityliving.hurt(this.damageSources().playerAttack(this).sweep().critical(flag2), f4)) { // Paper - add critical damage API
- entityliving.knockback(0.4000000059604645D, (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this); // Paper - Add EntityKnockbackByEntityEvent and EntityPushedByEntityAttackEvent
+ entityliving.knockback(0.4000000059604645D, (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this, EntityKnockbackEvent.KnockbackCause.SWEEP_ATTACK); // CraftBukkit
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
@@ -71,64 +71,41 @@ index 0e1d4bd6f70e439b33eca57bf06e9e090825f58a..5f75e54cde19614461dd8375ded1d6b3
int k = entity.getRemainingFireTicks();
boolean flag1 = entity.getType().is(EntityTypeTags.DEFLECTS_ARROWS);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 833011c1f1746e000adc72ab092295fd4fab2ab8..bc5966ced62aeeed784077517658d7f28550c449 100644
+index e57bafa1d071a2fefe44a150bc5754e76d78cdd9..cbac5fa3864e7b2298f75a44f6ef3f0000c9e765 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1069,7 +1069,7 @@ public class CraftEventFactory {
- } else {
- damageCause = DamageCause.ENTITY_EXPLOSION;
- }
-- event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions);
-+ event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions, source.isCritical()); // Paper - add critical damage API
+@@ -1061,7 +1061,7 @@ public class CraftEventFactory {
+ return CraftEventFactory.callEntityDamageEvent(source.getDirectBlock(), entity, DamageCause.BLOCK_EXPLOSION, bukkitDamageSource, modifiers, modifierFunctions, cancelled);
}
- event.setCancelled(cancelled);
+ DamageCause damageCause = (damager.getBukkitEntity() instanceof org.bukkit.entity.TNTPrimed) ? DamageCause.BLOCK_EXPLOSION : DamageCause.ENTITY_EXPLOSION;
+- return CraftEventFactory.callEntityDamageEvent(damager, entity, damageCause, bukkitDamageSource, modifiers, modifierFunctions, cancelled);
++ return CraftEventFactory.callEntityDamageEvent(damager, entity, damageCause, bukkitDamageSource, modifiers, modifierFunctions, cancelled, source.isCritical()); // Paper - add critical damage API
+ } else if (damager != null || source.getDirectEntity() != null) {
+ DamageCause cause = (source.isSweep()) ? DamageCause.ENTITY_SWEEP_ATTACK : DamageCause.ENTITY_ATTACK;
-@@ -1101,7 +1101,7 @@ public class CraftEventFactory {
- cause = DamageCause.SONIC_BOOM;
+@@ -1091,7 +1091,7 @@ public class CraftEventFactory {
+ cause = DamageCause.MAGIC;
}
-- return CraftEventFactory.callEntityDamageEvent(damager, entity, cause, modifiers, modifierFunctions, cancelled);
-+ return CraftEventFactory.callEntityDamageEvent(damager, entity, cause, modifiers, modifierFunctions, cancelled, source.isCritical()); // Paper - add critical damage API
+- return CraftEventFactory.callEntityDamageEvent(damager, entity, cause, bukkitDamageSource, modifiers, modifierFunctions, cancelled);
++ return CraftEventFactory.callEntityDamageEvent(damager, entity, cause, bukkitDamageSource, modifiers, modifierFunctions, cancelled, source.isCritical()); // Paper - add critical damage API
} else if (source.is(DamageTypes.FELL_OUT_OF_WORLD)) {
- EntityDamageEvent event = new EntityDamageByBlockEvent(null, entity.getBukkitEntity(), DamageCause.VOID, modifiers, modifierFunctions);
- event.setCancelled(cancelled);
-@@ -1171,7 +1171,7 @@ public class CraftEventFactory {
- } else {
- throw new IllegalStateException(String.format("Unhandled damage of %s by %s from %s", entity, damager.getHandle(), source.getMsgId()));
- }
-- EntityDamageEvent event = new EntityDamageByEntityEvent(damager, entity.getBukkitEntity(), cause, modifiers, modifierFunctions);
-+ EntityDamageEvent event = new EntityDamageByEntityEvent(damager, entity.getBukkitEntity(), cause, modifiers, modifierFunctions, source.isCritical()); // Paper - add critical damage API
- event.setCancelled(cancelled);
- CraftEventFactory.callEvent(event);
- if (!event.isCancelled()) {
-@@ -1220,20 +1220,28 @@ public class CraftEventFactory {
- }
-
- if (cause != null) {
-- return CraftEventFactory.callEntityDamageEvent(null, entity, cause, modifiers, modifierFunctions, cancelled);
-+ return CraftEventFactory.callEntityDamageEvent(null, entity, cause, modifiers, modifierFunctions, cancelled, source.isCritical()); // Paper - add critical damage API
+ return CraftEventFactory.callEntityDamageEvent(source.getDirectBlock(), entity, DamageCause.VOID, bukkitDamageSource, modifiers, modifierFunctions, cancelled);
+ } else if (source.is(DamageTypes.LAVA)) {
+@@ -1149,13 +1149,13 @@ public class CraftEventFactory {
+ cause = DamageCause.CUSTOM;
}
- throw new IllegalStateException(String.format("Unhandled damage of %s from %s", entity, source.getMsgId()));
+- return CraftEventFactory.callEntityDamageEvent((Entity) null, entity, cause, bukkitDamageSource, modifiers, modifierFunctions, cancelled);
++ return CraftEventFactory.callEntityDamageEvent((Entity) null, entity, cause, bukkitDamageSource, modifiers, modifierFunctions, cancelled, source.isCritical()); // Paper - add critical damage API
}
-+ @Deprecated // Paper - Add critical damage API
- private static EntityDamageEvent callEntityDamageEvent(Entity damager, Entity damagee, DamageCause cause, Map<DamageModifier, Double> modifiers, Map<DamageModifier, Function<? super Double, Double>> modifierFunctions) {
- return CraftEventFactory.callEntityDamageEvent(damager, damagee, cause, modifiers, modifierFunctions, false);
- }
-
-+ // Paper start - Add critical damage API
-+ @Deprecated
- private static EntityDamageEvent callEntityDamageEvent(Entity damager, Entity damagee, DamageCause cause, Map<DamageModifier, Double> modifiers, Map<DamageModifier, Function<? super Double, Double>> modifierFunctions, boolean cancelled) {
-+ return CraftEventFactory.callEntityDamageEvent(damager, damagee, cause, modifiers, modifierFunctions, cancelled, false);
-+ }
-+
-+ private static EntityDamageEvent callEntityDamageEvent(Entity damager, Entity damagee, DamageCause cause, Map<DamageModifier, Double> modifiers, Map<DamageModifier, Function<? super Double, Double>> modifierFunctions, boolean cancelled, boolean critical) {
-+ // Paper end
+- private static EntityDamageEvent callEntityDamageEvent(Entity damager, Entity damagee, DamageCause cause, org.bukkit.damage.DamageSource bukkitDamageSource, Map<DamageModifier, Double> modifiers, Map<DamageModifier, Function<? super Double, Double>> modifierFunctions, boolean cancelled) {
++ private static EntityDamageEvent callEntityDamageEvent(Entity damager, Entity damagee, DamageCause cause, org.bukkit.damage.DamageSource bukkitDamageSource, Map<DamageModifier, Double> modifiers, Map<DamageModifier, Function<? super Double, Double>> modifierFunctions, boolean cancelled, boolean critical) { // Paper - add critical damage API
EntityDamageEvent event;
if (damager != null) {
-- event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions);
-+ event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions, critical); // Paper - add critical damage API
+- event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions);
++ event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions, critical);
} else {
- event = new EntityDamageEvent(damagee.getBukkitEntity(), cause, modifiers, modifierFunctions);
+ event = new EntityDamageEvent(damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions);
}
diff --git a/patches/server/0625-Fix-issues-with-mob-conversion.patch b/patches/server/0624-Fix-issues-with-mob-conversion.patch
index 657dd4ec5d..657dd4ec5d 100644
--- a/patches/server/0625-Fix-issues-with-mob-conversion.patch
+++ b/patches/server/0624-Fix-issues-with-mob-conversion.patch
diff --git a/patches/server/0626-Add-isCollidable-methods-to-various-places.patch b/patches/server/0625-Add-isCollidable-methods-to-various-places.patch
index fa5484bbdc..ce6e50fe3c 100644
--- a/patches/server/0626-Add-isCollidable-methods-to-various-places.patch
+++ b/patches/server/0625-Add-isCollidable-methods-to-various-places.patch
@@ -39,10 +39,10 @@ index 928a301627134b49915b0ceaeabb7dc350605dc2..08716e757b2e100f7bc47a046f02db66
+ // 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 c9be954c94adbc982e2ef9d406be4290e75bc892..35bc0c3bfda51e3eec2ee1fc68d207ddba4239ef 100644
+index efa904eac6e3c2995f5a03fca44340d083e73b77..609b103cb9af3b0554bf1116306874fe98c8534c 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -573,6 +573,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -588,6 +588,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
var supplier = net.minecraft.world.entity.ai.attributes.DefaultAttributes.getSupplier((net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.LivingEntity>) net.minecraft.core.registries.BuiltInRegistries.ENTITY_TYPE.get(CraftNamespacedKey.toMinecraft(bukkitEntityKey)));
return new io.papermc.paper.attribute.UnmodifiableAttributeMap(supplier);
}
diff --git a/patches/server/0627-Goat-ram-API.patch b/patches/server/0626-Goat-ram-API.patch
index 04a1b6c686..04a1b6c686 100644
--- a/patches/server/0627-Goat-ram-API.patch
+++ b/patches/server/0626-Goat-ram-API.patch
diff --git a/patches/server/0628-Add-API-for-resetting-a-single-score.patch b/patches/server/0627-Add-API-for-resetting-a-single-score.patch
index b9dd1c2be3..b9dd1c2be3 100644
--- a/patches/server/0628-Add-API-for-resetting-a-single-score.patch
+++ b/patches/server/0627-Add-API-for-resetting-a-single-score.patch
diff --git a/patches/server/0629-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0628-Add-Raw-Byte-Entity-Serialization.patch
index 77fee154d0..ca05abcafd 100644
--- a/patches/server/0629-Add-Raw-Byte-Entity-Serialization.patch
+++ b/patches/server/0628-Add-Raw-Byte-Entity-Serialization.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Add Raw Byte Entity Serialization
public net.minecraft.world.entity.Entity setLevel(Lnet/minecraft/world/level/Level;)V
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 8825afb72b3d85840a15b02dbd3d914de06a62a8..c19cc2af8bf0d2f5a778cdd05560340fad6847e1 100644
+index 7295dfa7010297e019aba979bda9ff133d05a3c1..0d68d8016a033ae2745e27d6a39d9b529bb2f675 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2061,6 +2061,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2065,6 +2065,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
}
@@ -47,10 +47,10 @@ index a6492b6a9f66d8bcda8928fadf0a5920ff7f0dab..71845027ba1b755ead76cf75d011547d
// 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 35bc0c3bfda51e3eec2ee1fc68d207ddba4239ef..34c19a422de27cd6aa08159186a0180215c0837d 100644
+index 609b103cb9af3b0554bf1116306874fe98c8534c..3f582c5653e13875cce4ef8ecd279d8a3d2b2dc2 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -484,6 +484,32 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -499,6 +499,32 @@ public final class CraftMagicNumbers implements UnsafeValues {
return CraftItemStack.asCraftMirror(net.minecraft.world.item.ItemStack.of(compound));
}
diff --git a/patches/server/0630-Vanilla-command-permission-fixes.patch b/patches/server/0629-Vanilla-command-permission-fixes.patch
index 25c28237d6..25c28237d6 100644
--- a/patches/server/0630-Vanilla-command-permission-fixes.patch
+++ b/patches/server/0629-Vanilla-command-permission-fixes.patch
diff --git a/patches/server/0631-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0630-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
index f2c8fc9b33..d33cd40a43 100644
--- a/patches/server/0631-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
+++ b/patches/server/0630-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
@@ -28,7 +28,7 @@ index c83f2be16953b5cc009ddef81fd082295f3b2f71..f2015ffc83696b7ab6a552d4bb6fec1d
}
// Spigot End
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 5fff2d791b924e402a1b861c3cff8989c19d5e3b..b04b31e599c4954d4d4176f9d99f29bf0c1fadd7 100644
+index fb86824192f1fc850a55905757c65cafec1edb6a..48edd0bf7a6f24aaf582a96ee7cb4c29c9e3598a 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1581,6 +1581,18 @@ public class ServerPlayer extends Player {
@@ -51,10 +51,10 @@ index 5fff2d791b924e402a1b861c3cff8989c19d5e3b..b04b31e599c4954d4d4176f9d99f29bf
@Override
public void doCloseContainer() {
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index 89c1928b1bf6f3a291794c5582b5e1efb4b74327..865b5a43d108e87dc93d1d678371efaacb65507a 100644
+index e4cb4a12c8623d19ccceccaceeca528edf3848e4..1a2083e5887dc8ba0ad908cc961dd090cbc165f5 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -508,6 +508,11 @@ public abstract class Player extends LivingEntity {
+@@ -509,6 +509,11 @@ public abstract class Player extends LivingEntity {
this.containerMenu = this.inventoryMenu;
}
// Paper end - Inventory close reason
diff --git a/patches/server/0632-Fix-GameProfileCache-concurrency.patch b/patches/server/0631-Fix-GameProfileCache-concurrency.patch
index 9c0776cd51..9c0776cd51 100644
--- a/patches/server/0632-Fix-GameProfileCache-concurrency.patch
+++ b/patches/server/0631-Fix-GameProfileCache-concurrency.patch
diff --git a/patches/server/0633-Improve-and-expand-AsyncCatcher.patch b/patches/server/0632-Improve-and-expand-AsyncCatcher.patch
index e9e03b906d..b488b6b593 100644
--- a/patches/server/0633-Improve-and-expand-AsyncCatcher.patch
+++ b/patches/server/0632-Improve-and-expand-AsyncCatcher.patch
@@ -17,7 +17,7 @@ Async catch modifications to critical entity state
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 935cb7d0529134115fdda73f1bcaf538b7dc7c94..4ab3f9321f37956420549e63ce65b955ca9c3b94 100644
+index 0fef0dda0586b70dc140406b55dba1d5e23c3c97..b0df4c822ad01f1ed0f8b858e4ca012a823c7f47 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1570,6 +1570,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -29,10 +29,10 @@ index 935cb7d0529134115fdda73f1bcaf538b7dc7c94..4ab3f9321f37956420549e63ce65b955
if (player.isRemoved()) {
LOGGER.info("Attempt to teleport removed player {} restricted", player.getScoreboardName());
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 8dcebc2b6e8baf4ed5f269a1b9cec9e5cd754047..f1ac4256878bd5737ded1f7d3e8b51416887f545 100644
+index fadbb788bff1dc1c643ffbb28774d20ba6d55ce5..16d8cc391f384bee57550f507484d60f344de76e 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -1117,7 +1117,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1118,7 +1118,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
public boolean addEffect(MobEffectInstance mobeffect, @Nullable Entity entity, EntityPotionEffectEvent.Cause cause) {
@@ -166,10 +166,10 @@ index bbbf6dd8e566ecdca8794e3b03765fe7e426a2bd..66ab901956ca394c251c420338643d39
PersistentEntitySectionManager.LOGGER.warn("Entity {} wasn't found in section {} (destroying due to {})", new Object[]{this.entity, SectionPos.of(this.currentSectionKey), reason});
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 8a37dd71f1551ce27c1a729eab2a11c465b684e3..b58788161b758eee5fbaee3280c8551116e82566 100644
+index ca68faef4232859e833adfd86a0ce13f7c2ad00e..df57157317fc6c84f69751fd8a120761837429af 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1724,6 +1724,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1737,6 +1737,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void playSound(Location loc, Sound sound, org.bukkit.SoundCategory category, float volume, float pitch, long seed) {
@@ -177,7 +177,7 @@ index 8a37dd71f1551ce27c1a729eab2a11c465b684e3..b58788161b758eee5fbaee3280c85511
if (loc == null || sound == null || category == null) return;
double x = loc.getX();
-@@ -1735,6 +1736,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1748,6 +1749,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void playSound(Location loc, String sound, org.bukkit.SoundCategory category, float volume, float pitch, long seed) {
@@ -185,7 +185,7 @@ index 8a37dd71f1551ce27c1a729eab2a11c465b684e3..b58788161b758eee5fbaee3280c85511
if (loc == null || sound == null || category == null) return;
double x = loc.getX();
-@@ -1767,6 +1769,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1780,6 +1782,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void playSound(Entity entity, Sound sound, org.bukkit.SoundCategory category, float volume, float pitch, long seed) {
@@ -193,7 +193,7 @@ index 8a37dd71f1551ce27c1a729eab2a11c465b684e3..b58788161b758eee5fbaee3280c85511
if (!(entity instanceof CraftEntity craftEntity) || entity.getWorld() != this || sound == null || category == null) return;
ClientboundSoundEntityPacket packet = new ClientboundSoundEntityPacket(CraftSound.bukkitToMinecraftHolder(sound), net.minecraft.sounds.SoundSource.valueOf(category.name()), craftEntity.getHandle(), volume, pitch, seed);
-@@ -1778,6 +1781,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1791,6 +1794,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void playSound(Entity entity, String sound, org.bukkit.SoundCategory category, float volume, float pitch, long seed) {
@@ -202,10 +202,10 @@ index 8a37dd71f1551ce27c1a729eab2a11c465b684e3..b58788161b758eee5fbaee3280c85511
ClientboundSoundEntityPacket packet = new ClientboundSoundEntityPacket(Holder.direct(SoundEvent.createVariableRangeEvent(new ResourceLocation(sound))), net.minecraft.sounds.SoundSource.valueOf(category.name()), craftEntity.getHandle(), volume, pitch, seed);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 1df7c8c94e3ed371a4cda5d72a3ceade59e454cc..cf0151ea68738783a5e8c2e49a001b3a41d0c91a 100644
+index f288efe62c7280189359bba749a2dc3ec3f6ef49..60230ddeec41485e1e1b83614a6256d9ae2cb242 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -488,6 +488,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -501,6 +501,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@Override
public boolean addPotionEffect(PotionEffect effect, boolean force) {
diff --git a/patches/server/0634-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0633-Add-paper-mobcaps-and-paper-playermobcaps.patch
index d90f1f9ab8..5de3695498 100644
--- a/patches/server/0634-Add-paper-mobcaps-and-paper-playermobcaps.patch
+++ b/patches/server/0633-Add-paper-mobcaps-and-paper-playermobcaps.patch
@@ -257,7 +257,7 @@ index 0000000000000000000000000000000000000000..d3b39d88a72ca25057fd8574d32f28db
+ }
+}
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
-index 4ad3a4403f497f4b437209a9e63445f0d29b09f1..28ec1cc4dec6d12627761a58d635fd51dbc398b3 100644
+index 5247782edc426107fb4b3ade5d92f148c0b6e681..c44c10e15564af6ba0f6d60a1b5f38c6e874a43a 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -157,6 +157,16 @@ public final class NaturalSpawner {
@@ -278,10 +278,10 @@ index 4ad3a4403f497f4b437209a9e63445f0d29b09f1..28ec1cc4dec6d12627761a58d635fd51
BlockPos blockposition = NaturalSpawner.getRandomPosWithin(world, chunk);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 3c29d2a8ccac5ca50d3df41262e9e767daf7035b..20b2fd911c2d8bc530c533e883f334b5b329fa9b 100644
+index 51337b1b2e74a67ad54c5d594004b649cb6af4ed..dc37989ab5e0971a144a8248152169b4fd868067 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2274,6 +2274,11 @@ public final class CraftServer implements Server {
+@@ -2286,6 +2286,11 @@ public final class CraftServer implements Server {
@Override
public int getSpawnLimit(SpawnCategory spawnCategory) {
@@ -294,10 +294,10 @@ index 3c29d2a8ccac5ca50d3df41262e9e767daf7035b..20b2fd911c2d8bc530c533e883f334b5
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index b58788161b758eee5fbaee3280c8551116e82566..b3e17c14152204e9ccbe70ee8dfab4b20583d2d6 100644
+index df57157317fc6c84f69751fd8a120761837429af..df74b47477553bdee0b5faaf40835b94c41316dd 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1682,9 +1682,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1695,9 +1695,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Preconditions.checkArgument(spawnCategory != null, "SpawnCategory cannot be null");
Preconditions.checkArgument(CraftSpawnCategory.isValidForLimits(spawnCategory), "SpawnCategory.%s are not supported", spawnCategory);
diff --git a/patches/server/0635-Sanitize-ResourceLocation-error-logging.patch b/patches/server/0634-Sanitize-ResourceLocation-error-logging.patch
index 1359f8648a..1359f8648a 100644
--- a/patches/server/0635-Sanitize-ResourceLocation-error-logging.patch
+++ b/patches/server/0634-Sanitize-ResourceLocation-error-logging.patch
diff --git a/patches/server/0636-Manually-inline-methods-in-BlockPosition.patch b/patches/server/0635-Manually-inline-methods-in-BlockPosition.patch
index e97ce21f71..e97ce21f71 100644
--- a/patches/server/0636-Manually-inline-methods-in-BlockPosition.patch
+++ b/patches/server/0635-Manually-inline-methods-in-BlockPosition.patch
diff --git a/patches/server/0637-Name-craft-scheduler-threads-according-to-the-plugin.patch b/patches/server/0636-Name-craft-scheduler-threads-according-to-the-plugin.patch
index 30f250f235..30f250f235 100644
--- a/patches/server/0637-Name-craft-scheduler-threads-according-to-the-plugin.patch
+++ b/patches/server/0636-Name-craft-scheduler-threads-according-to-the-plugin.patch
diff --git a/patches/server/0638-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch b/patches/server/0637-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
index 4e0e3eb2b1..4e0e3eb2b1 100644
--- a/patches/server/0638-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
+++ b/patches/server/0637-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
diff --git a/patches/server/0639-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch b/patches/server/0638-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
index c878df9041..538ac56665 100644
--- a/patches/server/0639-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
+++ b/patches/server/0638-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
@@ -8,7 +8,7 @@ Lighting is purged on update anyways, so let's not add more
into the conversion process
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkStorage.java
-index ab6b4491d4278b3839b7363d9890bd12a757e4cc..eebaf98bc0fa4696af59b2a79563beb73501a554 100644
+index eaf978d15618b80d23c443acbd42db926d570d01..6743dca44e6552ad39aca757a24f3c4df400d83d 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkStorage.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkStorage.java
@@ -44,6 +44,7 @@ public class ChunkStorage implements AutoCloseable {
diff --git a/patches/server/0640-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch b/patches/server/0639-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch
index 0ab3e48f48..0ab3e48f48 100644
--- a/patches/server/0640-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch
+++ b/patches/server/0639-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch
diff --git a/patches/server/0641-Time-scoreboard-search.patch b/patches/server/0640-Time-scoreboard-search.patch
index 8d15084758..8d15084758 100644
--- a/patches/server/0641-Time-scoreboard-search.patch
+++ b/patches/server/0640-Time-scoreboard-search.patch
diff --git a/patches/server/0642-Oprimise-map-impl-for-tracked-players.patch b/patches/server/0641-Oprimise-map-impl-for-tracked-players.patch
index c74b649a5c..274e6f709e 100644
--- a/patches/server/0642-Oprimise-map-impl-for-tracked-players.patch
+++ b/patches/server/0641-Oprimise-map-impl-for-tracked-players.patch
@@ -7,7 +7,7 @@ Reference2BooleanOpenHashMap is going to have
better lookups than HashMap.
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index 7f61b2945e5174f89936041c334d4cb2e5cdb130..7c13ef020ac183253465d691adebb0e40f24ee8a 100644
+index 5ef08156aa2e93e42eed586a4014c6208ddb20c1..63e7f41eaed3f22c1bc0191790ff0ad313dc4ffd 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1677,7 +1677,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
diff --git a/patches/server/0643-Add-missing-InventoryType.patch b/patches/server/0642-Add-missing-InventoryType.patch
index a49bdf073d..a49bdf073d 100644
--- a/patches/server/0643-Add-missing-InventoryType.patch
+++ b/patches/server/0642-Add-missing-InventoryType.patch
diff --git a/patches/server/0644-Optimise-BlockSoil-nearby-water-lookup.patch b/patches/server/0643-Optimise-BlockSoil-nearby-water-lookup.patch
index b192406016..b192406016 100644
--- a/patches/server/0644-Optimise-BlockSoil-nearby-water-lookup.patch
+++ b/patches/server/0643-Optimise-BlockSoil-nearby-water-lookup.patch
diff --git a/patches/server/0645-Fix-merchant-inventory-not-closing-on-entity-removal.patch b/patches/server/0644-Fix-merchant-inventory-not-closing-on-entity-removal.patch
index e4c9eb4f84..e4c9eb4f84 100644
--- a/patches/server/0645-Fix-merchant-inventory-not-closing-on-entity-removal.patch
+++ b/patches/server/0644-Fix-merchant-inventory-not-closing-on-entity-removal.patch
diff --git a/patches/server/0647-Check-requirement-before-suggesting-root-nodes.patch b/patches/server/0645-Check-requirement-before-suggesting-root-nodes.patch
index fce5e326f9..fce5e326f9 100644
--- a/patches/server/0647-Check-requirement-before-suggesting-root-nodes.patch
+++ b/patches/server/0645-Check-requirement-before-suggesting-root-nodes.patch
diff --git a/patches/server/0648-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0646-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
index 0a1bfe0a24..e21f5ec679 100644
--- a/patches/server/0648-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
+++ b/patches/server/0646-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Don't respond to ServerboundCommandSuggestionPacket when
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 4ab3f9321f37956420549e63ce65b955ca9c3b94..fe83e4b592e13bf325e76d051df6901f22221484 100644
+index b0df4c822ad01f1ed0f8b858e4ca012a823c7f47..bf790227e9716a9f678bea1914430c1c65027468 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -725,6 +725,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0646-Use-correct-max-stack-size-in-crafter.patch b/patches/server/0646-Use-correct-max-stack-size-in-crafter.patch
deleted file mode 100644
index 0ee54e0bc8..0000000000
--- a/patches/server/0646-Use-correct-max-stack-size-in-crafter.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Jake Potrebic <[email protected]>
-Date: Tue, 19 Dec 2023 13:52:21 -0800
-Subject: [PATCH] Use correct max stack size in crafter
-
-
-diff --git a/src/main/java/net/minecraft/world/level/block/entity/CrafterBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/CrafterBlockEntity.java
-index c832aad3312ecd4d8027e4f78c12f640dec56bf9..0801e09d41223c65eee37256c5cfb3c6dce1e44e 100644
---- a/src/main/java/net/minecraft/world/level/block/entity/CrafterBlockEntity.java
-+++ b/src/main/java/net/minecraft/world/level/block/entity/CrafterBlockEntity.java
-@@ -40,7 +40,7 @@ public class CrafterBlockEntity extends RandomizableContainerBlockEntity impleme
- protected final ContainerData containerData;
- // CraftBukkit start - add fields and methods
- public List<HumanEntity> transaction = new java.util.ArrayList<>();
-- private int maxStack = 1;
-+ private int maxStack = CraftingContainer.LARGE_MAX_STACK_SIZE; // Paper - use correct stack size
-
- @Override
- public List<ItemStack> getContents() {
diff --git a/patches/server/0649-Add-packet-limiter-config.patch b/patches/server/0647-Add-packet-limiter-config.patch
index 38146c8342..dd045eca75 100644
--- a/patches/server/0649-Add-packet-limiter-config.patch
+++ b/patches/server/0647-Add-packet-limiter-config.patch
@@ -24,7 +24,7 @@ and an action can be defined: DROP or KICK
If interval or rate are less-than 0, the limit is ignored
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
-index c7e4d38f67a196b6334e0cc2b9ce9bd96fdc5b0a..e6a8f36fa07561b69b9d869022234182bdd62da0 100644
+index 37b16918451859c22f92bcbcbce05c16b8beff75..22a7f17180b76b6c3548d3b54ae8218a469401a8 100644
--- a/src/main/java/net/minecraft/network/Connection.java
+++ b/src/main/java/net/minecraft/network/Connection.java
@@ -128,6 +128,22 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
diff --git a/patches/server/0650-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch b/patches/server/0648-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
index 341421e59d..341421e59d 100644
--- a/patches/server/0650-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
+++ b/patches/server/0648-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
diff --git a/patches/server/0651-Ensure-valid-vehicle-status.patch b/patches/server/0649-Ensure-valid-vehicle-status.patch
index ed5c4e0c78..24e12fde1c 100644
--- a/patches/server/0651-Ensure-valid-vehicle-status.patch
+++ b/patches/server/0649-Ensure-valid-vehicle-status.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Ensure valid vehicle status
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index b04b31e599c4954d4d4176f9d99f29bf0c1fadd7..e418778297b89edd3cdf4ce9917dcb4d4d130023 100644
+index 48edd0bf7a6f24aaf582a96ee7cb4c29c9e3598a..be8c6c48287b73693ead9ae22071f2b4af7eed32 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -527,7 +527,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0652-Prevent-softlocked-end-exit-portal-generation.patch b/patches/server/0650-Prevent-softlocked-end-exit-portal-generation.patch
index 6c29d86324..6a1c04bc8a 100644
--- a/patches/server/0652-Prevent-softlocked-end-exit-portal-generation.patch
+++ b/patches/server/0650-Prevent-softlocked-end-exit-portal-generation.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Prevent softlocked end exit portal generation
diff --git a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
-index 5b14d63e7c354cd51d67ddc045cc86a0f7b36811..2d74efff30c93ba664cf8dbf20e47dcdbd767d3f 100644
+index 1d5edcad4c5bfe48711cfce7c46a9c4606196ae3..59f6c3109b34719a7ed487ada5a8ce33ec458e87 100644
--- a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
+++ b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
@@ -466,6 +466,11 @@ public class EndDragonFight {
diff --git a/patches/server/0653-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch b/patches/server/0651-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
index b766f53247..b766f53247 100644
--- a/patches/server/0653-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
+++ b/patches/server/0651-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
diff --git a/patches/server/0654-Don-t-log-debug-logging-being-disabled.patch b/patches/server/0652-Don-t-log-debug-logging-being-disabled.patch
index 8daedd938d..8daedd938d 100644
--- a/patches/server/0654-Don-t-log-debug-logging-being-disabled.patch
+++ b/patches/server/0652-Don-t-log-debug-logging-being-disabled.patch
diff --git a/patches/server/0655-fix-various-menus-with-empty-level-accesses.patch b/patches/server/0653-fix-various-menus-with-empty-level-accesses.patch
index efe5d1ddce..efe5d1ddce 100644
--- a/patches/server/0655-fix-various-menus-with-empty-level-accesses.patch
+++ b/patches/server/0653-fix-various-menus-with-empty-level-accesses.patch
diff --git a/patches/server/0656-Preserve-overstacked-loot.patch b/patches/server/0654-Preserve-overstacked-loot.patch
index 004c7c6f77..004c7c6f77 100644
--- a/patches/server/0656-Preserve-overstacked-loot.patch
+++ b/patches/server/0654-Preserve-overstacked-loot.patch
diff --git a/patches/server/0657-Update-head-rotation-in-missing-places.patch b/patches/server/0655-Update-head-rotation-in-missing-places.patch
index ac63ef1129..26bfd657fe 100644
--- a/patches/server/0657-Update-head-rotation-in-missing-places.patch
+++ b/patches/server/0655-Update-head-rotation-in-missing-places.patch
@@ -8,10 +8,10 @@ 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 c19cc2af8bf0d2f5a778cdd05560340fad6847e1..48b1648b749f884d29abe8d48865860791eda9dc 100644
+index ac09bfed823524b3b11b8ad622198a62c70f7e69..3916da425bc0a2043070823f940c3a2bd6f3faf1 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -1778,6 +1778,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -1777,6 +1777,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.setXRot(Mth.clamp(pitch, -90.0F, 90.0F) % 360.0F);
this.yRotO = this.getYRot();
this.xRotO = this.getXRot();
@@ -19,7 +19,7 @@ index c19cc2af8bf0d2f5a778cdd05560340fad6847e1..48b1648b749f884d29abe8d488658607
}
public void absMoveTo(double x, double y, double z) {
-@@ -1816,6 +1817,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -1815,6 +1816,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.setXRot(pitch);
this.setOldPosAndRot();
this.reapplyPosition();
diff --git a/patches/server/0658-prevent-unintended-light-block-manipulation.patch b/patches/server/0656-prevent-unintended-light-block-manipulation.patch
index 90c181a20a..90c181a20a 100644
--- a/patches/server/0658-prevent-unintended-light-block-manipulation.patch
+++ b/patches/server/0656-prevent-unintended-light-block-manipulation.patch
diff --git a/patches/server/0659-Fix-CraftCriteria-defaults-map.patch b/patches/server/0657-Fix-CraftCriteria-defaults-map.patch
index 3e79bd7fb7..3e79bd7fb7 100644
--- a/patches/server/0659-Fix-CraftCriteria-defaults-map.patch
+++ b/patches/server/0657-Fix-CraftCriteria-defaults-map.patch
diff --git a/patches/server/0660-Fix-upstreams-block-state-factories.patch b/patches/server/0658-Fix-upstreams-block-state-factories.patch
index cd44e53b99..cd44e53b99 100644
--- a/patches/server/0660-Fix-upstreams-block-state-factories.patch
+++ b/patches/server/0658-Fix-upstreams-block-state-factories.patch
diff --git a/patches/server/0661-Configurable-feature-seeds.patch b/patches/server/0659-Configurable-feature-seeds.patch
index 0cfc074f8f..0cfc074f8f 100644
--- a/patches/server/0661-Configurable-feature-seeds.patch
+++ b/patches/server/0659-Configurable-feature-seeds.patch
diff --git a/patches/server/0662-Add-root-admin-user-detection.patch b/patches/server/0660-Add-root-admin-user-detection.patch
index 5bb88a6088..74f125cf61 100644
--- a/patches/server/0662-Add-root-admin-user-detection.patch
+++ b/patches/server/0660-Add-root-admin-user-detection.patch
@@ -57,7 +57,7 @@ index 0000000000000000000000000000000000000000..6bd0afddbcc461149dfe9a5c7a86fff6
+ }
+}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index 212ce0957d623776a11779c4a476c76bc7c1c0bd..c39b19bee3aca093a2087e19875a50ff21cf1ab3 100644
+index 6b4c9ef02931491dd048646ead494892f06504c5..608d860b940dee870a3df3d52efaed5e9eab17cf 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -179,6 +179,16 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
diff --git a/patches/server/0663-Always-allow-item-changing-in-Fireball.patch b/patches/server/0661-Always-allow-item-changing-in-Fireball.patch
index f8453901a9..f8453901a9 100644
--- a/patches/server/0663-Always-allow-item-changing-in-Fireball.patch
+++ b/patches/server/0661-Always-allow-item-changing-in-Fireball.patch
diff --git a/patches/server/0664-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0662-don-t-attempt-to-teleport-dead-entities.patch
index 77871ece3d..a06cf03b5f 100644
--- a/patches/server/0664-don-t-attempt-to-teleport-dead-entities.patch
+++ b/patches/server/0662-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 48b1648b749f884d29abe8d48865860791eda9dc..021d3803ffbf4fb0a6de92c13406c5316e09c4c1 100644
+index 3916da425bc0a2043070823f940c3a2bd6f3faf1..9f3ae962b800021faad0ae9ce064b364002a2135 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -705,7 +705,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
diff --git a/patches/server/0665-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0663-Prevent-excessive-velocity-through-repeated-crits.patch
index cc55e32c58..0379cedd91 100644
--- a/patches/server/0665-Prevent-excessive-velocity-through-repeated-crits.patch
+++ b/patches/server/0663-Prevent-excessive-velocity-through-repeated-crits.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Prevent excessive velocity through repeated crits
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 61c8d108122e27f063d677e1d3130a4d3eeecb94..24a7ded2966b5431bae938b4ac903683fa2a3da7 100644
+index 16d8cc391f384bee57550f507484d60f344de76e..291cfb86f85eb617d1156f64ea72e6143b94a4b2 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -2676,13 +2676,26 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2689,13 +2689,26 @@ public abstract class LivingEntity extends Entity implements Attackable {
return this.hasEffect(MobEffects.JUMP) ? 0.1F * ((float) this.getEffect(MobEffects.JUMP).getAmplifier() + 1.0F) : 0.0F;
}
diff --git a/patches/server/0666-Remove-client-side-code-using-deprecated-for-removal.patch b/patches/server/0664-Remove-client-side-code-using-deprecated-for-removal.patch
index 2ed18ebaeb..2ed18ebaeb 100644
--- a/patches/server/0666-Remove-client-side-code-using-deprecated-for-removal.patch
+++ b/patches/server/0664-Remove-client-side-code-using-deprecated-for-removal.patch
diff --git a/patches/server/0667-Fix-removing-recipes-from-RecipeIterator.patch b/patches/server/0665-Fix-removing-recipes-from-RecipeIterator.patch
index fb78c572eb..fb78c572eb 100644
--- a/patches/server/0667-Fix-removing-recipes-from-RecipeIterator.patch
+++ b/patches/server/0665-Fix-removing-recipes-from-RecipeIterator.patch
diff --git a/patches/server/0668-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0666-Prevent-sending-oversized-item-data-in-equipment-and.patch
index 4afd14619c..7cd3ceec2b 100644
--- a/patches/server/0668-Prevent-sending-oversized-item-data-in-equipment-and.patch
+++ b/patches/server/0666-Prevent-sending-oversized-item-data-in-equipment-and.patch
@@ -18,7 +18,7 @@ index f9e15908143f4453c2a5817b412e8a13554553f0..06498788c169133bd563c5a87192b718
@Override
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
-index 75b722ebc6c1fc6a45a0d3a3e57b5f131f2cf815..0a86e72e50d4aab7d19f588c3f11d7465c6fe817 100644
+index a83b4d9b61230ecf5f776269cab228cf49c5f546..86f6e5bad325dd3d817b643388b196121624b8c7 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -335,7 +335,10 @@ public class ServerEntity {
@@ -34,10 +34,10 @@ index 75b722ebc6c1fc6a45a0d3a3e57b5f131f2cf815..0a86e72e50d4aab7d19f588c3f11d746
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 24a7ded2966b5431bae938b4ac903683fa2a3da7..d43ac664cae11d2f7d0c6965a57234430086f8ca 100644
+index 291cfb86f85eb617d1156f64ea72e6143b94a4b2..fa11c0b3125ac74538848018fe6d8c88b78bfb2e 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3187,7 +3187,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3200,7 +3200,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
equipmentChanges.forEach((enumitemslot, itemstack) -> {
ItemStack itemstack1 = itemstack.copy();
@@ -49,7 +49,7 @@ index 24a7ded2966b5431bae938b4ac903683fa2a3da7..d43ac664cae11d2f7d0c6965a5723443
switch (enumitemslot.getType()) {
case HAND:
this.setLastHandItem(enumitemslot, itemstack1);
-@@ -3200,6 +3203,34 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3213,6 +3216,34 @@ public abstract class LivingEntity extends Entity implements Attackable {
((ServerLevel) this.level()).getChunkSource().broadcast(this, new ClientboundSetEquipmentPacket(this.getId(), list));
}
diff --git a/patches/server/0669-Hide-unnecessary-itemmeta-from-clients.patch b/patches/server/0667-Hide-unnecessary-itemmeta-from-clients.patch
index 31a1c523e9..daa573e1f0 100644
--- a/patches/server/0669-Hide-unnecessary-itemmeta-from-clients.patch
+++ b/patches/server/0667-Hide-unnecessary-itemmeta-from-clients.patch
@@ -18,7 +18,7 @@ index 86f6e5bad325dd3d817b643388b196121624b8c7..062225ac8b5fbc44290352d78b215640
}
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index fe83e4b592e13bf325e76d051df6901f22221484..b07fbf0121c6f147ff6f59d13c2d976db9cedad1 100644
+index bf790227e9716a9f678bea1914430c1c65027468..1fb3e89d6f7f9d048f083e80b1259480d4e67ef9 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2561,8 +2561,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -33,10 +33,10 @@ index fe83e4b592e13bf325e76d051df6901f22221484..b07fbf0121c6f147ff6f59d13c2d976d
}
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 8623d6a59445ab1cc0a04ca87ee7b3e3567e1ddc..37f35a576c4bdf22daf6f47b412d9147980762b0 100644
+index fa11c0b3125ac74538848018fe6d8c88b78bfb2e..4e781939e7c980d095a4b0fdd11736ec48b4ecfa 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3189,7 +3189,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3202,7 +3202,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
// Paper start - prevent oversized data
ItemStack toSend = sanitizeItemStack(itemstack1, true);
@@ -45,7 +45,7 @@ index 8623d6a59445ab1cc0a04ca87ee7b3e3567e1ddc..37f35a576c4bdf22daf6f47b412d9147
// Paper end - prevent oversized data
switch (enumitemslot.getType()) {
case HAND:
-@@ -3203,6 +3203,77 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3216,6 +3216,77 @@ public abstract class LivingEntity extends Entity implements Attackable {
((ServerLevel) this.level()).getChunkSource().broadcast(this, new ClientboundSetEquipmentPacket(this.getId(), list));
}
diff --git a/patches/server/0670-Fix-Spigot-growth-modifiers.patch b/patches/server/0668-Fix-Spigot-growth-modifiers.patch
index 92cddad5f1..92cddad5f1 100644
--- a/patches/server/0670-Fix-Spigot-growth-modifiers.patch
+++ b/patches/server/0668-Fix-Spigot-growth-modifiers.patch
diff --git a/patches/server/0671-Prevent-ContainerOpenersCounter-openCount-from-going.patch b/patches/server/0669-Prevent-ContainerOpenersCounter-openCount-from-going.patch
index 9dbace63bd..9dbace63bd 100644
--- a/patches/server/0671-Prevent-ContainerOpenersCounter-openCount-from-going.patch
+++ b/patches/server/0669-Prevent-ContainerOpenersCounter-openCount-from-going.patch
diff --git a/patches/server/0672-Add-PlayerItemFrameChangeEvent.patch b/patches/server/0670-Add-PlayerItemFrameChangeEvent.patch
index e46cc3be4c..e46cc3be4c 100644
--- a/patches/server/0672-Add-PlayerItemFrameChangeEvent.patch
+++ b/patches/server/0670-Add-PlayerItemFrameChangeEvent.patch
diff --git a/patches/server/0673-Optimize-HashMapPalette.patch b/patches/server/0671-Optimize-HashMapPalette.patch
index a8cf001da1..a8cf001da1 100644
--- a/patches/server/0673-Optimize-HashMapPalette.patch
+++ b/patches/server/0671-Optimize-HashMapPalette.patch
diff --git a/patches/server/0674-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0672-Allow-delegation-to-vanilla-chunk-gen.patch
index 59db41b993..7c8b0a2c4a 100644
--- a/patches/server/0674-Allow-delegation-to-vanilla-chunk-gen.patch
+++ b/patches/server/0672-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 20b2fd911c2d8bc530c533e883f334b5b329fa9b..7a5fd6fb4ddcf1ba555725f1bb956333a0450d7c 100644
+index dc37989ab5e0971a144a8248152169b4fd868067..c366992f3e48f9a3a69ba48491d678ba73e81d61 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2454,6 +2454,88 @@ public final class CraftServer implements Server {
+@@ -2466,6 +2466,88 @@ public final class CraftServer implements Server {
return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(Registries.BIOME));
}
diff --git a/patches/server/0675-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch b/patches/server/0673-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
index 6a39da753c..f451e896f8 100644
--- a/patches/server/0675-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
+++ b/patches/server/0673-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Fix ChunkSnapshot#isSectionEmpty(int) and optimize
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
-index e38643853220cabeac6c30912a9ae4bc1c018d5f..1eff5e4800ad3b628a42113fb3ba67458e56a40d 100644
+index bfde7573acb6d84accfd3f7fee877bbfb3b0852f..260ca4a9c170567b27488466f802c91212997f91 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
-@@ -335,13 +335,17 @@ public class CraftChunk implements Chunk {
+@@ -337,13 +337,17 @@ public class CraftChunk implements Chunk {
PalettedContainerRO<Holder<net.minecraft.world.level.biome.Biome>>[] biome = (includeBiome || includeBiomeTempRain) ? new PalettedContainer[cs.length] : null;
Registry<net.minecraft.world.level.biome.Biome> iregistry = this.worldServer.registryAccess().registryOrThrow(Registries.BIOME);
@@ -31,7 +31,7 @@ index e38643853220cabeac6c30912a9ae4bc1c018d5f..1eff5e4800ad3b628a42113fb3ba6745
LevelLightEngine lightengine = this.worldServer.getLightEngine();
DataLayer skyLightArray = lightengine.getLayerListener(LightLayer.SKY).getDataLayerData(SectionPos.of(this.x, chunk.getSectionYFromSectionIndex(i), this.z)); // SPIGOT-7498: Convert section index
-@@ -360,8 +364,7 @@ public class CraftChunk implements Chunk {
+@@ -362,8 +366,7 @@ public class CraftChunk implements Chunk {
}
if (biome != null) {
diff --git a/patches/server/0676-Add-more-Campfire-API.patch b/patches/server/0674-Add-more-Campfire-API.patch
index 1133eb93bf..1133eb93bf 100644
--- a/patches/server/0676-Add-more-Campfire-API.patch
+++ b/patches/server/0674-Add-more-Campfire-API.patch
diff --git a/patches/server/0677-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch b/patches/server/0675-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
index 4d74f60751..4d74f60751 100644
--- a/patches/server/0677-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
+++ b/patches/server/0675-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
diff --git a/patches/server/0678-Forward-CraftEntity-in-teleport-command.patch b/patches/server/0676-Forward-CraftEntity-in-teleport-command.patch
index bc1ee77e66..2319e020df 100644
--- a/patches/server/0678-Forward-CraftEntity-in-teleport-command.patch
+++ b/patches/server/0676-Forward-CraftEntity-in-teleport-command.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Forward CraftEntity in teleport command
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 021d3803ffbf4fb0a6de92c13406c5316e09c4c1..f946e0194197febaf8a13ac1f26999ec70456e0b 100644
+index 885cef0698c7578bfd8bf7698c69a8e0006b0f8b..e4b9431f15de834b8616f4797fa1748bbd65b233 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3244,6 +3244,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -3247,6 +3247,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public void restoreFrom(Entity original) {
@@ -22,7 +22,7 @@ index 021d3803ffbf4fb0a6de92c13406c5316e09c4c1..f946e0194197febaf8a13ac1f26999ec
CompoundTag nbttagcompound = original.saveWithoutId(new CompoundTag());
nbttagcompound.remove("Dimension");
-@@ -3334,10 +3341,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -3337,10 +3344,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
}
// CraftBukkit end
diff --git a/patches/server/0679-Improve-scoreboard-entries.patch b/patches/server/0677-Improve-scoreboard-entries.patch
index 8acac86ce3..8acac86ce3 100644
--- a/patches/server/0679-Improve-scoreboard-entries.patch
+++ b/patches/server/0677-Improve-scoreboard-entries.patch
diff --git a/patches/server/0680-Entity-powdered-snow-API.patch b/patches/server/0678-Entity-powdered-snow-API.patch
index 817eaf068a..817eaf068a 100644
--- a/patches/server/0680-Entity-powdered-snow-API.patch
+++ b/patches/server/0678-Entity-powdered-snow-API.patch
diff --git a/patches/server/0681-Add-API-for-item-entity-health.patch b/patches/server/0679-Add-API-for-item-entity-health.patch
index c7354d7143..c7354d7143 100644
--- a/patches/server/0681-Add-API-for-item-entity-health.patch
+++ b/patches/server/0679-Add-API-for-item-entity-health.patch
diff --git a/patches/server/0682-Configurable-max-block-light-for-monster-spawning.patch b/patches/server/0680-Configurable-max-block-light-for-monster-spawning.patch
index deae03d87c..deae03d87c 100644
--- a/patches/server/0682-Configurable-max-block-light-for-monster-spawning.patch
+++ b/patches/server/0680-Configurable-max-block-light-for-monster-spawning.patch
diff --git a/patches/server/0683-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch b/patches/server/0681-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
index 00fea74b71..00fea74b71 100644
--- a/patches/server/0683-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
+++ b/patches/server/0681-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
diff --git a/patches/server/0684-Load-effect-amplifiers-greater-than-127-correctly.patch b/patches/server/0682-Load-effect-amplifiers-greater-than-127-correctly.patch
index 3e88533e6f..3e88533e6f 100644
--- a/patches/server/0684-Load-effect-amplifiers-greater-than-127-correctly.patch
+++ b/patches/server/0682-Load-effect-amplifiers-greater-than-127-correctly.patch
diff --git a/patches/server/0685-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/server/0683-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
index d7ccde8439..d7ccde8439 100644
--- a/patches/server/0685-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
+++ b/patches/server/0683-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
diff --git a/patches/server/0686-Fix-bees-aging-inside-hives.patch b/patches/server/0684-Fix-bees-aging-inside-hives.patch
index 528be5b54a..528be5b54a 100644
--- a/patches/server/0686-Fix-bees-aging-inside-hives.patch
+++ b/patches/server/0684-Fix-bees-aging-inside-hives.patch
diff --git a/patches/server/0687-Bucketable-API.patch b/patches/server/0685-Bucketable-API.patch
index 274ccde059..274ccde059 100644
--- a/patches/server/0687-Bucketable-API.patch
+++ b/patches/server/0685-Bucketable-API.patch
diff --git a/patches/server/0688-Validate-usernames.patch b/patches/server/0686-Validate-usernames.patch
index 0b5be768a2..4ed9d0f86f 100644
--- a/patches/server/0688-Validate-usernames.patch
+++ b/patches/server/0686-Validate-usernames.patch
@@ -39,10 +39,10 @@ index 75e3d7f81e21caaffd79d095022c4196507a9059..584b1627cf18e6aee9338ade0f94d983
}
}
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index 865b5a43d108e87dc93d1d678371efaacb65507a..addbfbf1cae0a9c38ee1daabdb74e9af324f3a94 100644
+index 1a2083e5887dc8ba0ad908cc961dd090cbc165f5..8ca4f45f1db35a08a335142aa888e98e63cec348 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -2332,9 +2332,23 @@ public abstract class Player extends LivingEntity {
+@@ -2333,9 +2333,23 @@ public abstract class Player extends LivingEntity {
}
public static boolean isValidUsername(String name) {
diff --git a/patches/server/0689-Make-water-animal-spawn-height-configurable.patch b/patches/server/0687-Make-water-animal-spawn-height-configurable.patch
index e523ed36f4..e523ed36f4 100644
--- a/patches/server/0689-Make-water-animal-spawn-height-configurable.patch
+++ b/patches/server/0687-Make-water-animal-spawn-height-configurable.patch
diff --git a/patches/server/0690-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0688-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
index c7af2ee421..2d40d8b668 100644
--- a/patches/server/0690-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
+++ b/patches/server/0688-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Expose vanilla BiomeProvider from WorldInfo
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 2535f33e1ee5f1bac3247231138966fe070615cd..1df847164796c0992e677e0db45a9be223c8dc4a 100644
+index 7ee46b9f98794d1fec0a8feea71fd495f9199dd0..d19f2ca702ffa32c616ec821219079e2b784a460 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -597,7 +597,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -18,10 +18,10 @@ index 2535f33e1ee5f1bac3247231138966fe070615cd..1df847164796c0992e677e0db45a9be2
biomeProvider = gen.getDefaultBiomeProvider(worldInfo);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index d8f4a433d5072e849eb883eb8e54831325c4c5ef..dd62f8ccca6a6c08876af1595bc274c9151055b8 100644
+index c366992f3e48f9a3a69ba48491d678ba73e81d61..b3e1f987d31ef5a8f90bc366e248de86e93b9634 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1260,7 +1260,7 @@ public final class CraftServer implements Server {
+@@ -1272,7 +1272,7 @@ public final class CraftServer implements Server {
List<CustomSpawner> list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata));
LevelStem worlddimension = iregistry.get(actualDimension);
@@ -31,10 +31,10 @@ index d8f4a433d5072e849eb883eb8e54831325c4c5ef..dd62f8ccca6a6c08876af1595bc274c9
biomeProvider = generator.getDefaultBiomeProvider(worldInfo);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index b3e17c14152204e9ccbe70ee8dfab4b20583d2d6..391f546e44080293fd94ff240d7809e3f471bb14 100644
+index df74b47477553bdee0b5faaf40835b94c41316dd..c787fbcef295f2108a6f843524c00cdea4660f27 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -205,6 +205,29 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -211,6 +211,29 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public int getPlayerCount() {
return world.players().size();
}
diff --git a/patches/server/0691-Add-config-option-for-worlds-affected-by-time-cmd.patch b/patches/server/0689-Add-config-option-for-worlds-affected-by-time-cmd.patch
index 156eacada9..156eacada9 100644
--- a/patches/server/0691-Add-config-option-for-worlds-affected-by-time-cmd.patch
+++ b/patches/server/0689-Add-config-option-for-worlds-affected-by-time-cmd.patch
diff --git a/patches/server/0692-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch b/patches/server/0690-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch
index be0eedab93..be0eedab93 100644
--- a/patches/server/0692-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch
+++ b/patches/server/0690-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch
diff --git a/patches/server/0693-Multiple-Entries-with-Scoreboards.patch b/patches/server/0691-Multiple-Entries-with-Scoreboards.patch
index 9bfd7660c6..9bfd7660c6 100644
--- a/patches/server/0693-Multiple-Entries-with-Scoreboards.patch
+++ b/patches/server/0691-Multiple-Entries-with-Scoreboards.patch
diff --git a/patches/server/0694-Reset-placed-block-on-exception.patch b/patches/server/0692-Reset-placed-block-on-exception.patch
index b6bf08780c..b6bf08780c 100644
--- a/patches/server/0694-Reset-placed-block-on-exception.patch
+++ b/patches/server/0692-Reset-placed-block-on-exception.patch
diff --git a/patches/server/0695-Add-configurable-height-for-slime-spawn.patch b/patches/server/0693-Add-configurable-height-for-slime-spawn.patch
index 01507f355e..01507f355e 100644
--- a/patches/server/0695-Add-configurable-height-for-slime-spawn.patch
+++ b/patches/server/0693-Add-configurable-height-for-slime-spawn.patch
diff --git a/patches/server/0696-Fix-xp-reward-for-baby-zombies.patch b/patches/server/0694-Fix-xp-reward-for-baby-zombies.patch
index f3c6e8841b..f3c6e8841b 100644
--- a/patches/server/0696-Fix-xp-reward-for-baby-zombies.patch
+++ b/patches/server/0694-Fix-xp-reward-for-baby-zombies.patch
diff --git a/patches/server/0697-Multi-Block-Change-API-Implementation.patch b/patches/server/0695-Multi-Block-Change-API-Implementation.patch
index be7d800878..13e338d236 100644
--- a/patches/server/0697-Multi-Block-Change-API-Implementation.patch
+++ b/patches/server/0695-Multi-Block-Change-API-Implementation.patch
@@ -24,10 +24,10 @@ index f96d61bdeb556665d6e6e5023f9d77fd82204e89..ccdc2345465313991f065e1176b58fb7
public void write(FriendlyByteBuf buf) {
buf.writeLong(this.sectionPos.asLong());
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 85dd644ca86895e91ba639ba4974a05290e4e061..1fe839581edc496826885937ab0e10ec0a056212 100644
+index 8b89f46aad11628a50d9f6c65caf52a558b9ee18..87b241a8b78b6fe0144e0d318e04da69a3101bc7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -844,6 +844,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -850,6 +850,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(packet);
}
diff --git a/patches/server/0698-Fix-NotePlayEvent.patch b/patches/server/0696-Fix-NotePlayEvent.patch
index 85437cdf17..85437cdf17 100644
--- a/patches/server/0698-Fix-NotePlayEvent.patch
+++ b/patches/server/0696-Fix-NotePlayEvent.patch
diff --git a/patches/server/0699-Freeze-Tick-Lock-API.patch b/patches/server/0697-Freeze-Tick-Lock-API.patch
index c665c14b51..7baa8a0bcf 100644
--- a/patches/server/0699-Freeze-Tick-Lock-API.patch
+++ b/patches/server/0697-Freeze-Tick-Lock-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Freeze Tick Lock API
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index f946e0194197febaf8a13ac1f26999ec70456e0b..b0c97b12d316463af8c581f5f15c5c5e567eb403 100644
+index e4b9431f15de834b8616f4797fa1748bbd65b233..1a51c0ed22f892a233ce82fe53e72056685c9eba 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -404,6 +404,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -25,7 +25,7 @@ index f946e0194197febaf8a13ac1f26999ec70456e0b..b0c97b12d316463af8c581f5f15c5c5e
this.setTicksFrozen(0);
this.level().levelEvent((Player) null, 1009, this.blockPosition, 1);
}
-@@ -2226,6 +2227,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2230,6 +2231,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
if (fromNetherPortal) {
nbttagcompound.putBoolean("Paper.FromNetherPortal", true);
}
@@ -35,7 +35,7 @@ index f946e0194197febaf8a13ac1f26999ec70456e0b..b0c97b12d316463af8c581f5f15c5c5e
// Paper end
return nbttagcompound;
} catch (Throwable throwable) {
-@@ -2370,6 +2374,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2374,6 +2378,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
if (spawnReason == null) {
spawnReason = org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.DEFAULT;
}
@@ -46,10 +46,10 @@ index f946e0194197febaf8a13ac1f26999ec70456e0b..b0c97b12d316463af8c581f5f15c5c5e
} catch (Throwable throwable) {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 45ad7703da01bc2bac56bb9447925a9b2bb9ea81..fbbddf856a0fbb0b88bdbf00fed79ebeb9f85a33 100644
+index 4e781939e7c980d095a4b0fdd11736ec48b4ecfa..5adfa199835f8ee6b4db16c1bf262bb43324e654 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3451,7 +3451,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3464,7 +3464,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.level().getProfiler().pop();
this.level().getProfiler().push("freezing");
diff --git a/patches/server/0700-More-PotionEffectType-API.patch b/patches/server/0698-More-PotionEffectType-API.patch
index e23c6e0c5f..e23c6e0c5f 100644
--- a/patches/server/0700-More-PotionEffectType-API.patch
+++ b/patches/server/0698-More-PotionEffectType-API.patch
diff --git a/patches/server/0701-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch b/patches/server/0699-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
index 1b86e32b63..1b86e32b63 100644
--- a/patches/server/0701-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
+++ b/patches/server/0699-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
diff --git a/patches/server/0702-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0700-API-for-creating-command-sender-which-forwards-feedb.patch
index dddb5edd47..cceecc25ea 100644
--- a/patches/server/0702-API-for-creating-command-sender-which-forwards-feedb.patch
+++ b/patches/server/0700-API-for-creating-command-sender-which-forwards-feedb.patch
@@ -122,10 +122,10 @@ index 0000000000000000000000000000000000000000..e3a5f1ec376319bdfda87fa27ae217bf
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 5161f6d2fdd7cbf30b52089ecfda56b3d480ecda..e9d6f40de8ce89bc6541dcb3cd847b208ee67a85 100644
+index b3e1f987d31ef5a8f90bc366e248de86e93b9634..76b9f6c0c754be69c1369aa3c13f7ca1f56e9e13 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2105,6 +2105,13 @@ public final class CraftServer implements Server {
+@@ -2117,6 +2117,13 @@ public final class CraftServer implements Server {
return this.console.console;
}
diff --git a/patches/server/0703-Add-missing-structure-set-seed-configs.patch b/patches/server/0701-Add-missing-structure-set-seed-configs.patch
index b6627026af..b6627026af 100644
--- a/patches/server/0703-Add-missing-structure-set-seed-configs.patch
+++ b/patches/server/0701-Add-missing-structure-set-seed-configs.patch
diff --git a/patches/server/0704-Implement-regenerateChunk.patch b/patches/server/0702-Implement-regenerateChunk.patch
index 20bcc8001b..b65be58c1e 100644
--- a/patches/server/0704-Implement-regenerateChunk.patch
+++ b/patches/server/0702-Implement-regenerateChunk.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Implement regenerateChunk
Co-authored-by: Jason Penilla <[email protected]>
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 391f546e44080293fd94ff240d7809e3f471bb14..ef942e75ed1aefbc9175f99113cdfeada58e8a50 100644
+index c787fbcef295f2108a6f843524c00cdea4660f27..7bb43181e4de4cf3a3944aea88c45e54e476433c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -144,6 +144,7 @@ import org.jetbrains.annotations.NotNull;
+@@ -150,6 +150,7 @@ import org.jetbrains.annotations.Nullable;
public class CraftWorld extends CraftRegionAccessor implements World {
public static final int CUSTOM_DIMENSION_OFFSET = 10;
private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry();
@@ -17,7 +17,7 @@ index 391f546e44080293fd94ff240d7809e3f471bb14..ef942e75ed1aefbc9175f99113cdfead
private final ServerLevel world;
private WorldBorder worldBorder;
-@@ -414,27 +415,68 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -420,27 +421,68 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean regenerateChunk(int x, int z) {
org.spigotmc.AsyncCatcher.catchOp("chunk regenerate"); // Spigot
diff --git a/patches/server/0705-Fix-cancelled-powdered-snow-bucket-placement.patch b/patches/server/0703-Fix-cancelled-powdered-snow-bucket-placement.patch
index 872f00bd93..80c4ffe9f2 100644
--- a/patches/server/0705-Fix-cancelled-powdered-snow-bucket-placement.patch
+++ b/patches/server/0703-Fix-cancelled-powdered-snow-bucket-placement.patch
@@ -8,10 +8,10 @@ snow bucket didn't revert grass that became snowy because of the
placement.
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index 4624fc8eb4a5e71d7874d25ca0a25975f65a6919..750ffb60c6136fe9e1d56e402578e2a9978d2703 100644
+index d5ee83e6538fbd067388272fa9895e17859be642..a8f1953da3a5684079fb0cdb88cb3caf72d43646 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -379,7 +379,7 @@ public final class ItemStack {
+@@ -380,7 +380,7 @@ public final class ItemStack {
int oldCount = this.getCount();
ServerLevel world = (ServerLevel) context.getLevel();
@@ -20,7 +20,7 @@ index 4624fc8eb4a5e71d7874d25ca0a25975f65a6919..750ffb60c6136fe9e1d56e402578e2a9
world.captureBlockStates = true;
// special case bonemeal
if (item == Items.BONE_MEAL) {
-@@ -438,7 +438,7 @@ public final class ItemStack {
+@@ -440,7 +440,7 @@ public final class ItemStack {
world.capturedBlockStates.clear();
if (blocks.size() > 1) {
placeEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callBlockMultiPlaceEvent(world, entityhuman, enumhand, blocks, blockposition.getX(), blockposition.getY(), blockposition.getZ());
diff --git a/patches/server/0706-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/server/0704-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
index d90b3e8034..971d368008 100644
--- a/patches/server/0706-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
+++ b/patches/server/0704-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add missing Validate calls to CraftServer#getSpawnLimit
Copies appropriate checks from CraftWorld#getSpawnLimit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index e9d6f40de8ce89bc6541dcb3cd847b208ee67a85..4e64f5b74a26c16325b9778a4646f87936c994a4 100644
+index 76b9f6c0c754be69c1369aa3c13f7ca1f56e9e13..a64109dfa8f33812c243ad50c673a5ef043559c0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2282,6 +2282,8 @@ public final class CraftServer implements Server {
+@@ -2294,6 +2294,8 @@ public final class CraftServer implements Server {
@Override
public int getSpawnLimit(SpawnCategory spawnCategory) {
// Paper start - Add mobcaps commands
diff --git a/patches/server/0707-Add-GameEvent-tags.patch b/patches/server/0705-Add-GameEvent-tags.patch
index f32da43d70..0a4355d93a 100644
--- a/patches/server/0707-Add-GameEvent-tags.patch
+++ b/patches/server/0705-Add-GameEvent-tags.patch
@@ -46,10 +46,10 @@ index 0000000000000000000000000000000000000000..e7d9fd2702a1ce96596580fff8f5ee4f
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 4e64f5b74a26c16325b9778a4646f87936c994a4..9cfc4422aa772889db06a3bb450d18c7aa0b4dcb 100644
+index a64109dfa8f33812c243ad50c673a5ef043559c0..ddf3ce680bc8c69647a89ee46fd1547e566a61b8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2703,6 +2703,15 @@ public final class CraftServer implements Server {
+@@ -2715,6 +2715,15 @@ public final class CraftServer implements Server {
return (org.bukkit.Tag<T>) new CraftEntityTag(BuiltInRegistries.ENTITY_TYPE, entityTagKey);
}
}
@@ -65,7 +65,7 @@ index 4e64f5b74a26c16325b9778a4646f87936c994a4..9cfc4422aa772889db06a3bb450d18c7
default -> throw new IllegalArgumentException();
}
-@@ -2735,6 +2744,13 @@ public final class CraftServer implements Server {
+@@ -2747,6 +2756,13 @@ public final class CraftServer implements Server {
net.minecraft.core.Registry<EntityType<?>> entityTags = BuiltInRegistries.ENTITY_TYPE;
return entityTags.getTags().map(pair -> (org.bukkit.Tag<T>) new CraftEntityTag(entityTags, pair.getFirst())).collect(ImmutableList.toImmutableList());
}
diff --git a/patches/server/0708-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch b/patches/server/0706-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
index f4cd07d2d7..06c9d9f99a 100644
--- a/patches/server/0708-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
+++ b/patches/server/0706-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
@@ -9,7 +9,7 @@ This might result in chunks loading far slower in the nether,
for example.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 1df847164796c0992e677e0db45a9be223c8dc4a..6a321f5d8dd8278d01e154f64a1685403255978c 100644
+index d19f2ca702ffa32c616ec821219079e2b784a460..1c1d111eba7b625bd36b95fbec83d8c5f8272b97 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1296,6 +1296,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0709-Furnace-RecipesUsed-API.patch b/patches/server/0707-Furnace-RecipesUsed-API.patch
index 075cd97b56..075cd97b56 100644
--- a/patches/server/0709-Furnace-RecipesUsed-API.patch
+++ b/patches/server/0707-Furnace-RecipesUsed-API.patch
diff --git a/patches/server/0710-Configurable-sculk-sensor-listener-range.patch b/patches/server/0708-Configurable-sculk-sensor-listener-range.patch
index f4bdef4317..f4bdef4317 100644
--- a/patches/server/0710-Configurable-sculk-sensor-listener-range.patch
+++ b/patches/server/0708-Configurable-sculk-sensor-listener-range.patch
diff --git a/patches/server/0711-Add-missing-block-data-mins-and-maxes.patch b/patches/server/0709-Add-missing-block-data-mins-and-maxes.patch
index defc7411be..defc7411be 100644
--- a/patches/server/0711-Add-missing-block-data-mins-and-maxes.patch
+++ b/patches/server/0709-Add-missing-block-data-mins-and-maxes.patch
diff --git a/patches/server/0712-Option-to-have-default-CustomSpawners-in-custom-worl.patch b/patches/server/0710-Option-to-have-default-CustomSpawners-in-custom-worl.patch
index 07a86c6066..903a710120 100644
--- a/patches/server/0712-Option-to-have-default-CustomSpawners-in-custom-worl.patch
+++ b/patches/server/0710-Option-to-have-default-CustomSpawners-in-custom-worl.patch
@@ -10,7 +10,7 @@ just looking at the LevelStem key, look at the DimensionType key which
is one level below that. Defaults to off to keep vanilla behavior.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 6a321f5d8dd8278d01e154f64a1685403255978c..0190a51f4b63bb98dda55b6acbea002fc91d3bbe 100644
+index 1c1d111eba7b625bd36b95fbec83d8c5f8272b97..239b1616ddd4cb64a0565d0f8f3bef7bbaaf23c9 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -617,7 +617,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0713-Put-world-into-worldlist-before-initing-the-world.patch b/patches/server/0711-Put-world-into-worldlist-before-initing-the-world.patch
index 299eb0a886..998c2caea6 100644
--- a/patches/server/0713-Put-world-into-worldlist-before-initing-the-world.patch
+++ b/patches/server/0711-Put-world-into-worldlist-before-initing-the-world.patch
@@ -7,7 +7,7 @@ Some parts of legacy conversion will need the overworld
to get the legacy structure data storage
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 0190a51f4b63bb98dda55b6acbea002fc91d3bbe..831594402c2c7d6aa72b303fb73fde62160c95e3 100644
+index 239b1616ddd4cb64a0565d0f8f3bef7bbaaf23c9..39735cce3c32d9905130dca2d7e34aff144364ef 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -629,9 +629,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -23,10 +23,10 @@ index 0190a51f4b63bb98dda55b6acbea002fc91d3bbe..831594402c2c7d6aa72b303fb73fde62
if (worlddata.getCustomBossEvents() != null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index bc2dc3d7b316360beb522a9d8e00ffdad5745d46..b578f3666291bf0ec9b9620e6212d39c33399a9e 100644
+index ddf3ce680bc8c69647a89ee46fd1547e566a61b8..f629991fa998d4dab89ed5c3d26b1b7a4f85b5cb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1283,10 +1283,11 @@ public final class CraftServer implements Server {
+@@ -1295,10 +1295,11 @@ public final class CraftServer implements Server {
return null;
}
diff --git a/patches/server/0714-Fix-Entity-Position-Desync.patch b/patches/server/0712-Fix-Entity-Position-Desync.patch
index b46e0b1041..1fe60a4f46 100644
--- a/patches/server/0714-Fix-Entity-Position-Desync.patch
+++ b/patches/server/0712-Fix-Entity-Position-Desync.patch
@@ -9,7 +9,7 @@ This excludes hanging entities, as this fix caused problematic behavior due to t
position field.
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
-index c881d6ea6acbcbd1414a0b7d6b5a26076244e34e..b52f86e23a35f8727d827155ebb20f847108d673 100644
+index 062225ac8b5fbc44290352d78b215640691f3c23..3608257fabec6ad7edb056def8a6f36c50b4871e 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -171,7 +171,7 @@ public class ServerEntity {
diff --git a/patches/server/0715-Custom-Potion-Mixes.patch b/patches/server/0713-Custom-Potion-Mixes.patch
index 4468cf31b7..edb4c6d4f4 100644
--- a/patches/server/0715-Custom-Potion-Mixes.patch
+++ b/patches/server/0713-Custom-Potion-Mixes.patch
@@ -32,7 +32,7 @@ index 0000000000000000000000000000000000000000..7ea357ac2f3a93db4ebdf24b5072be7d
+ }
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index d81fa8c7049bb6284865f249cc808caac7d5f65e..011d688fc0be45a8d1f65ebedcc5291bb109def2 100644
+index 39735cce3c32d9905130dca2d7e34aff144364ef..8080eee9babe02660724eee756700a4d5e69014f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2081,6 +2081,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -159,7 +159,7 @@ index 25e909b90293855321b8f05ab3488bad8c064853..0bba74bd22d66881fc6851797d29c144
addContainer(Items.POTION);
addContainer(Items.SPLASH_POTION);
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java
-index 424406d2692856cfd82b6f3b7b6228fa3bd20c2f..bc01481ac5990ad1cfd1def5a16dd0ed2f9de8c9 100644
+index b31d7053abf1d2432b4887dab2bd8f8cc5308554..9bb542ce3a8c52e1688bb1f66fc916dd23a5fd10 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java
@@ -341,7 +341,7 @@ public class BrewingStandBlockEntity extends BaseContainerBlockEntity implements
@@ -172,10 +172,10 @@ index 424406d2692856cfd82b6f3b7b6228fa3bd20c2f..bc01481ac5990ad1cfd1def5a16dd0ed
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index ab5e98c3b7c7b3d5b2108be87e6465cc7a6f3d2c..2bc4cfb1abd8a82228d1958fde2fd92e10c199b1 100644
+index f629991fa998d4dab89ed5c3d26b1b7a4f85b5cb..d8bec75e7f5c034051839818f51cdae71863608c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -304,6 +304,7 @@ public final class CraftServer implements Server {
+@@ -306,6 +306,7 @@ public final class CraftServer implements Server {
private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper
public static Exception excessiveVelEx; // Paper - Velocity warnings
private final io.papermc.paper.logging.SysoutCatcher sysoutCatcher = new io.papermc.paper.logging.SysoutCatcher(); // Paper
@@ -183,7 +183,7 @@ index ab5e98c3b7c7b3d5b2108be87e6465cc7a6f3d2c..2bc4cfb1abd8a82228d1958fde2fd92e
static {
ConfigurationSerialization.registerClass(CraftOfflinePlayer.class);
-@@ -330,7 +331,7 @@ public final class CraftServer implements Server {
+@@ -332,7 +333,7 @@ public final class CraftServer implements Server {
CraftRegistry.setMinecraftRegistry(console.registryAccess());
@@ -192,7 +192,7 @@ index ab5e98c3b7c7b3d5b2108be87e6465cc7a6f3d2c..2bc4cfb1abd8a82228d1958fde2fd92e
// Ugly hack :(
if (!Main.useConsole) {
-@@ -3067,5 +3068,10 @@ public final class CraftServer implements Server {
+@@ -3079,5 +3080,10 @@ public final class CraftServer implements Server {
return datapackManager;
}
diff --git a/patches/server/0716-Force-close-world-loading-screen.patch b/patches/server/0714-Force-close-world-loading-screen.patch
index 0ab0559a4f..848ad8fa5b 100644
--- a/patches/server/0716-Force-close-world-loading-screen.patch
+++ b/patches/server/0714-Force-close-world-loading-screen.patch
@@ -10,7 +10,7 @@ so we do not need that. The client only needs the chunk it is currently in to
be loaded to close the loading screen, so we just send an empty one.
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index f66f7e8070cbe7628a6e4ae69418fb863f684fae..a75e343a03627f1155361c98a45ed8fb66b0c4ec 100644
+index 584b1627cf18e6aee9338ade0f94d983e2dda412..0c77457e1b9360ef578b4a781bb2ec1fb7b582db 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -398,6 +398,16 @@ public abstract class PlayerList {
diff --git a/patches/server/0717-Fix-falling-block-spawn-methods.patch b/patches/server/0715-Fix-falling-block-spawn-methods.patch
index a05c6e641f..5181c49b28 100644
--- a/patches/server/0717-Fix-falling-block-spawn-methods.patch
+++ b/patches/server/0715-Fix-falling-block-spawn-methods.patch
@@ -11,10 +11,10 @@ Restores the API behavior from previous versions of the server
public net.minecraft.world.entity.item.FallingBlockEntity <init>(Lnet/minecraft/world/level/Level;DDDLnet/minecraft/world/level/block/state/BlockState;)V
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index ef942e75ed1aefbc9175f99113cdfeada58e8a50..5e2a1a4bd047b6eb1581ce6e6d9b0f78be64c448 100644
+index 7bb43181e4de4cf3a3944aea88c45e54e476433c..97ebf2e2e08469cacc66c4f38bd2edfc2107fe6a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1381,7 +1381,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1394,7 +1394,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Preconditions.checkArgument(material != null, "Material cannot be null");
Preconditions.checkArgument(material.isBlock(), "Material.%s must be a block", material);
@@ -28,7 +28,7 @@ index ef942e75ed1aefbc9175f99113cdfeada58e8a50..5e2a1a4bd047b6eb1581ce6e6d9b0f78
return (FallingBlock) entity.getBukkitEntity();
}
-@@ -1390,7 +1395,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1403,7 +1408,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Preconditions.checkArgument(location != null, "Location cannot be null");
Preconditions.checkArgument(data != null, "BlockData cannot be null");
diff --git a/patches/server/0718-Expose-furnace-minecart-push-values.patch b/patches/server/0716-Expose-furnace-minecart-push-values.patch
index 6245e14b4e..6245e14b4e 100644
--- a/patches/server/0718-Expose-furnace-minecart-push-values.patch
+++ b/patches/server/0716-Expose-furnace-minecart-push-values.patch
diff --git a/patches/server/0719-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch b/patches/server/0717-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
index 8e50aa42cd..8e50aa42cd 100644
--- a/patches/server/0719-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
+++ b/patches/server/0717-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
diff --git a/patches/server/0720-More-Projectile-API.patch b/patches/server/0718-More-Projectile-API.patch
index e2ba7b8b13..222fc0e15d 100644
--- a/patches/server/0720-More-Projectile-API.patch
+++ b/patches/server/0718-More-Projectile-API.patch
@@ -509,7 +509,7 @@ index 20f9735c7cb76024e15dbdca7684f5c560876175..8a6af0db8e0aa0cffbf19584be747076
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index bc5966ced62aeeed784077517658d7f28550c449..1514eb294a2e191abb3afe7374c24b351a202c04 100644
+index cbac5fa3864e7b2298f75a44f6ef3f0000c9e765..a30626e25272769caf06caa69d32e2d3f9211710 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -831,19 +831,19 @@ public class CraftEventFactory {
diff --git a/patches/server/0721-Fix-swamp-hut-cat-generation-deadlock.patch b/patches/server/0719-Fix-swamp-hut-cat-generation-deadlock.patch
index bac78b77ff..bac78b77ff 100644
--- a/patches/server/0721-Fix-swamp-hut-cat-generation-deadlock.patch
+++ b/patches/server/0719-Fix-swamp-hut-cat-generation-deadlock.patch
diff --git a/patches/server/0722-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0720-Don-t-allow-vehicle-movement-from-players-while-tele.patch
index 3d79f799dd..8d3a98a368 100644
--- a/patches/server/0722-Don-t-allow-vehicle-movement-from-players-while-tele.patch
+++ b/patches/server/0720-Don-t-allow-vehicle-movement-from-players-while-tele.patch
@@ -7,7 +7,7 @@ Bring the vehicle move packet behavior in line with the
regular player move packet.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 737bf4600b1565684a78d973e785b881d7ddd4ea..469b98f56124583fc9be37cfdac13edb89894814 100644
+index 1fb3e89d6f7f9d048f083e80b1259480d4e67ef9..cd79aa53ec49c80ee3ddf79b7161637e66b688fd 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -464,6 +464,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0723-Implement-getComputedBiome-API.patch b/patches/server/0721-Implement-getComputedBiome-API.patch
index 610d889706..610d889706 100644
--- a/patches/server/0723-Implement-getComputedBiome-API.patch
+++ b/patches/server/0721-Implement-getComputedBiome-API.patch
diff --git a/patches/server/0724-Make-some-itemstacks-nonnull.patch b/patches/server/0722-Make-some-itemstacks-nonnull.patch
index 4679d4a859..4679d4a859 100644
--- a/patches/server/0724-Make-some-itemstacks-nonnull.patch
+++ b/patches/server/0722-Make-some-itemstacks-nonnull.patch
diff --git a/patches/server/0725-Implement-enchantWithLevels-API.patch b/patches/server/0723-Implement-enchantWithLevels-API.patch
index ed80635228..ed80635228 100644
--- a/patches/server/0725-Implement-enchantWithLevels-API.patch
+++ b/patches/server/0723-Implement-enchantWithLevels-API.patch
diff --git a/patches/server/0726-Fix-saving-in-unloadWorld.patch b/patches/server/0724-Fix-saving-in-unloadWorld.patch
index 5ab088fe94..a844d1cd8e 100644
--- a/patches/server/0726-Fix-saving-in-unloadWorld.patch
+++ b/patches/server/0724-Fix-saving-in-unloadWorld.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Fix saving in unloadWorld
Change savingDisabled to false to ensure ServerLevel's saving logic gets called when unloadWorld is called with save = true
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index a2eb5ca693d0239e9cf43f6bda78d9fd9e653e98..001afa881d8c84bfdb7329037d877bd88430b11b 100644
+index d8bec75e7f5c034051839818f51cdae71863608c..713d36b8bcb3f39f7f0cff61532199416970bcf4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1331,7 +1331,7 @@ public final class CraftServer implements Server {
+@@ -1343,7 +1343,7 @@ public final class CraftServer implements Server {
try {
if (save) {
diff --git a/patches/server/0727-Buffer-OOB-setBlock-calls.patch b/patches/server/0725-Buffer-OOB-setBlock-calls.patch
index ae47164389..ae47164389 100644
--- a/patches/server/0727-Buffer-OOB-setBlock-calls.patch
+++ b/patches/server/0725-Buffer-OOB-setBlock-calls.patch
diff --git a/patches/server/0728-Add-TameableDeathMessageEvent.patch b/patches/server/0726-Add-TameableDeathMessageEvent.patch
index 58ea5cd5d1..58ea5cd5d1 100644
--- a/patches/server/0728-Add-TameableDeathMessageEvent.patch
+++ b/patches/server/0726-Add-TameableDeathMessageEvent.patch
diff --git a/patches/server/0729-Fix-new-block-data-for-EntityChangeBlockEvent.patch b/patches/server/0727-Fix-new-block-data-for-EntityChangeBlockEvent.patch
index 92bc2d010f..ad1116447d 100644
--- a/patches/server/0729-Fix-new-block-data-for-EntityChangeBlockEvent.patch
+++ b/patches/server/0727-Fix-new-block-data-for-EntityChangeBlockEvent.patch
@@ -131,7 +131,7 @@ index 6f452605e9dc9ebd9980eae9fdeea34417a37a88..2c60a3765d22909e73b660492410ab84
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java
-index aa523ba36c975e6ac92544ee14d7904f35789bec..efe2095063fd402ed645d711611d85bc3753a5b8 100644
+index 5f316b09fb914ccb0782efe521ad85727f5dd02f..f191b0e303a97b5406133454374ff9448aee1a5a 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java
@@ -306,7 +306,7 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie
@@ -157,20 +157,20 @@ index 87c66bf8fee56e77b25498d9b2524fe2b6fd6549..0ab1bbd7c8dc8e45f754434357898d8f
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java b/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
-index bf0e05be3db1952b311e3eb9ab4881b12ee9dfd7..e59f9b83606da83f15924477ea2a2c4b74e7d892 100644
+index 998e43e8dc6bd6b741bdcb77d2b75df8ab2feefc..d0e679745a794228bf62a9aa59422776760f3867 100644
--- a/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
-@@ -137,7 +137,7 @@ public class PointedDripstoneBlock extends Block implements Fallable, SimpleWate
+@@ -133,7 +133,7 @@ public class PointedDripstoneBlock extends Block implements Fallable, SimpleWate
if (projectile.mayInteract(world, blockposition) && projectile.mayBreak(world) && projectile instanceof ThrownTrident && projectile.getDeltaMovement().length() > 0.6D) {
// CraftBukkit start
-- if (!CraftEventFactory.callEntityChangeBlockEvent(projectile, blockposition, Blocks.AIR.defaultBlockState())) {
-+ if (!CraftEventFactory.callEntityChangeBlockEvent(projectile, blockposition, state.getFluidState().createLegacyBlock())) { // Paper - fix wrong block state
+- if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(projectile, blockposition, Blocks.AIR.defaultBlockState())) {
++ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(projectile, blockposition, state.getFluidState().createLegacyBlock())) { // Paper - fix wrong block state
return;
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/level/block/TntBlock.java b/src/main/java/net/minecraft/world/level/block/TntBlock.java
-index ab53b42eec6eb57b373487e50066967042d6eb40..f8cff1f2825a8e428d8a99d0b1b58606a74a918a 100644
+index 4edd2e7bb62df65d6da8c8a623cf03e7e947bf75..5fa5e8c838720eb1491aea73d462f4bc7d779956 100644
--- a/src/main/java/net/minecraft/world/level/block/TntBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/TntBlock.java
@@ -163,7 +163,7 @@ public class TntBlock extends Block {
@@ -196,10 +196,10 @@ index 61abbcfe97e3d3e3da5ee658672549d14594ad17..05e14322e519d1399e87beb532e1cc4a
}
// CraftBukkit end
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index fb39bae1a76739cdb1da2b73173c1eb3ce3cd16b..2af7ba566697681f71e5b733591709bc28dfc8ce 100644
+index a30626e25272769caf06caa69d32e2d3f9211710..489576ddb53766e8aa463772e9260ee996ce974a 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1436,11 +1436,11 @@ public class CraftEventFactory {
+@@ -1359,11 +1359,11 @@ public class CraftEventFactory {
return event;
}
diff --git a/patches/server/0730-fix-player-loottables-running-when-mob-loot-gamerule.patch b/patches/server/0728-fix-player-loottables-running-when-mob-loot-gamerule.patch
index 0eb3cafa24..185fdf4437 100644
--- a/patches/server/0730-fix-player-loottables-running-when-mob-loot-gamerule.patch
+++ b/patches/server/0728-fix-player-loottables-running-when-mob-loot-gamerule.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] fix player loottables running when mob loot gamerule is false
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index e418778297b89edd3cdf4ce9917dcb4d4d130023..6d1093972ffcee52c9f94c97c4f842b66726647c 100644
+index be8c6c48287b73693ead9ae22071f2b4af7eed32..0db3f5b06b6c93882761450ea77ba4ee09869c61 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -875,12 +875,14 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0731-Ensure-entity-passenger-world-matches-ridden-entity.patch b/patches/server/0729-Ensure-entity-passenger-world-matches-ridden-entity.patch
index 00ce9a1099..1996d367ed 100644
--- a/patches/server/0731-Ensure-entity-passenger-world-matches-ridden-entity.patch
+++ b/patches/server/0729-Ensure-entity-passenger-world-matches-ridden-entity.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Ensure entity passenger world matches ridden entity
Bad plugins doing this would cause some obvious problems...
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index b0c97b12d316463af8c581f5f15c5c5e567eb403..b580bb939f3c128ed68e02f2c75764aed49427c6 100644
+index 1a51c0ed22f892a233ce82fe53e72056685c9eba..c678e9b313bf1cb4a0849ca993fa006ebf182f3d 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2560,7 +2560,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2564,7 +2564,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public boolean startRiding(Entity entity, boolean force) {
diff --git a/patches/server/0732-cache-resource-keys.patch b/patches/server/0730-cache-resource-keys.patch
index d444813b7a..d444813b7a 100644
--- a/patches/server/0732-cache-resource-keys.patch
+++ b/patches/server/0730-cache-resource-keys.patch
diff --git a/patches/server/0733-Allow-changing-the-EnderDragon-podium.patch b/patches/server/0731-Allow-changing-the-EnderDragon-podium.patch
index 68a8615204..301eb8f9fe 100644
--- a/patches/server/0733-Allow-changing-the-EnderDragon-podium.patch
+++ b/patches/server/0731-Allow-changing-the-EnderDragon-podium.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow changing the EnderDragon podium
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
-index 290d97437e9c593816b4f4c4e738c268be616dc0..955d0ddb69c29de723b85c65f42b0274813aadac 100644
+index 623a4cc921442dbba4f80df3be06762b4b1289ae..d0de3ef6c78785a047ecdf2412df082d53fb985b 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -103,6 +103,10 @@ public class EnderDragon extends Mob implements Enemy {
diff --git a/patches/server/0734-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch b/patches/server/0732-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
index aa5772fe8a..aa5772fe8a 100644
--- a/patches/server/0734-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
+++ b/patches/server/0732-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
diff --git a/patches/server/0736-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0733-Prevent-tile-entity-copies-loading-chunks.patch
index 6df0fd17cc..a24fd47f06 100644
--- a/patches/server/0736-Prevent-tile-entity-copies-loading-chunks.patch
+++ b/patches/server/0733-Prevent-tile-entity-copies-loading-chunks.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Prevent tile entity copies loading chunks
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 0017de198711446f82edecf6ac6afe064f315bd9..a62f10f672fb74b250de39ce3b8b3cd867d73869 100644
+index cd79aa53ec49c80ee3ddf79b7161637e66b688fd..819894dabc8e28a499a6ab5420299e14ab072ff8 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3107,7 +3107,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0737-Use-username-instead-of-display-name-in-PlayerList-g.patch b/patches/server/0734-Use-username-instead-of-display-name-in-PlayerList-g.patch
index 149673f045..a5282aa96a 100644
--- a/patches/server/0737-Use-username-instead-of-display-name-in-PlayerList-g.patch
+++ b/patches/server/0734-Use-username-instead-of-display-name-in-PlayerList-g.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Use username instead of display name in
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 4b8062c04df707de93046c19633048d674d809b6..b40ad88b42dd8fcbf6138cd4f1933360cce0ad28 100644
+index 0c77457e1b9360ef578b4a781bb2ec1fb7b582db..a8a57819993f3657d6525a98527ec47631174bed 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1434,7 +1434,7 @@ public abstract class PlayerList {
diff --git a/patches/server/0739-Expand-PlayerItemDamageEvent.patch b/patches/server/0735-Expand-PlayerItemDamageEvent.patch
index a549b4189c..bb173a36a5 100644
--- a/patches/server/0739-Expand-PlayerItemDamageEvent.patch
+++ b/patches/server/0735-Expand-PlayerItemDamageEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expand PlayerItemDamageEvent
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index 750ffb60c6136fe9e1d56e402578e2a9978d2703..23fec59b51c99c1f0ac19ffd6c84ffa8fc3caaac 100644
+index a8f1953da3a5684079fb0cdb88cb3caf72d43646..59c4550b4cb8b0317f5256efc9376265f4583b60 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -638,10 +638,11 @@ public final class ItemStack {
+@@ -640,10 +640,11 @@ public final class ItemStack {
}
}
diff --git a/patches/server/0735-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch b/patches/server/0735-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch
deleted file mode 100644
index dfa3c3ac08..0000000000
--- a/patches/server/0735-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Jason Penilla <[email protected]>
-Date: Tue, 12 Apr 2022 16:36:15 -0700
-Subject: [PATCH] Fix StructureGrowEvent species for RED_MUSHROOM
-
-
-diff --git a/src/main/java/net/minecraft/world/level/block/MushroomBlock.java b/src/main/java/net/minecraft/world/level/block/MushroomBlock.java
-index c04629ba46e9018967b98ca4438b4f21e7dafb52..5889cb1cdb64875f0d7a7c681808b45cdc661d8e 100644
---- a/src/main/java/net/minecraft/world/level/block/MushroomBlock.java
-+++ b/src/main/java/net/minecraft/world/level/block/MushroomBlock.java
-@@ -104,7 +104,7 @@ public class MushroomBlock extends BushBlock implements BonemealableBlock {
- return false;
- } else {
- world.removeBlock(pos, false);
-- SaplingBlock.treeType = (this == Blocks.BROWN_MUSHROOM) ? TreeType.BROWN_MUSHROOM : TreeType.BROWN_MUSHROOM; // CraftBukkit
-+ SaplingBlock.treeType = (this == Blocks.BROWN_MUSHROOM) ? TreeType.BROWN_MUSHROOM : TreeType.RED_MUSHROOM; // CraftBukkit // Paper
- if (((ConfiguredFeature) ((Holder) optional.get()).value()).place(world, world.getChunkSource().getGenerator(), random, pos)) {
- return true;
- } else {
diff --git a/patches/server/0740-WorldCreator-keepSpawnLoaded.patch b/patches/server/0736-WorldCreator-keepSpawnLoaded.patch
index 6ce0b724a1..97cbe705e8 100644
--- a/patches/server/0740-WorldCreator-keepSpawnLoaded.patch
+++ b/patches/server/0736-WorldCreator-keepSpawnLoaded.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] WorldCreator#keepSpawnLoaded
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 001afa881d8c84bfdb7329037d877bd88430b11b..62cecfbc3bf8f52078e18273d7c1ca940cff4105 100644
+index 713d36b8bcb3f39f7f0cff61532199416970bcf4..f3b461baac5a5de61f6b1c00251961bd25eb4773 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1278,7 +1278,7 @@ public final class CraftServer implements Server {
+@@ -1290,7 +1290,7 @@ public final class CraftServer implements Server {
ServerLevel internal = (ServerLevel) new ServerLevel(this.console, this.console.executor, worldSession, worlddata, worldKey, worlddimension, this.getServer().progressListenerFactory.create(11),
worlddata.isDebugWorld(), j, creator.environment() == Environment.NORMAL ? list : ImmutableList.of(), true, this.console.overworld().getRandomSequences(), creator.environment(), generator, biomeProvider);
@@ -17,7 +17,7 @@ index 001afa881d8c84bfdb7329037d877bd88430b11b..62cecfbc3bf8f52078e18273d7c1ca94
if (!(this.worlds.containsKey(name.toLowerCase(java.util.Locale.ENGLISH)))) {
return null;
-@@ -1290,6 +1290,7 @@ public final class CraftServer implements Server {
+@@ -1302,6 +1302,7 @@ public final class CraftServer implements Server {
internal.setSpawnSettings(true, true);
// Paper - Put world into worldlist before initing the world; move up
diff --git a/patches/server/0741-Fix-CME-in-CraftPersistentDataTypeRegistry.patch b/patches/server/0737-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
index feadff040a..feadff040a 100644
--- a/patches/server/0741-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
+++ b/patches/server/0737-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
diff --git a/patches/server/0738-Pass-ServerLevel-for-gamerule-callbacks.patch b/patches/server/0738-Pass-ServerLevel-for-gamerule-callbacks.patch
deleted file mode 100644
index 546e668462..0000000000
--- a/patches/server/0738-Pass-ServerLevel-for-gamerule-callbacks.patch
+++ /dev/null
@@ -1,190 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Owen1212055 <[email protected]>
-Date: Sun, 27 Mar 2022 13:51:09 -0400
-Subject: [PATCH] Pass ServerLevel for gamerule callbacks
-
-
-diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index c39b19bee3aca093a2087e19875a50ff21cf1ab3..8d7d5cadbd65833d46dce71609e938290c81f772 100644
---- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-@@ -304,7 +304,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
-
- DedicatedServer.LOGGER.info("Done ({})! For help, type \"help\"", s);
- if (dedicatedserverproperties.announcePlayerAchievements != null) {
-- ((GameRules.BooleanValue) this.getGameRules().getRule(GameRules.RULE_ANNOUNCE_ADVANCEMENTS)).set(dedicatedserverproperties.announcePlayerAchievements, this);
-+ ((GameRules.BooleanValue) this.getGameRules().getRule(GameRules.RULE_ANNOUNCE_ADVANCEMENTS)).set(dedicatedserverproperties.announcePlayerAchievements, null); // Paper - Pass ServerLevel for gamerule callbacks
- }
-
- if (dedicatedserverproperties.enableQuery) {
-diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index a62f10f672fb74b250de39ce3b8b3cd867d73869..e06d09ba19df5b7bf2b5179a07c39e2197cc0863 100644
---- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2671,7 +2671,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
- this.player = this.server.getPlayerList().respawn(this.player, false, RespawnReason.DEATH);
- if (this.server.isHardcore()) {
- this.player.setGameMode(GameType.SPECTATOR, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.HARDCORE_DEATH, null); // Paper - Expand PlayerGameModeChangeEvent
-- ((GameRules.BooleanValue) this.player.level().getGameRules().getRule(GameRules.RULE_SPECTATORSGENERATECHUNKS)).set(false, this.server);
-+ ((GameRules.BooleanValue) this.player.level().getGameRules().getRule(GameRules.RULE_SPECTATORSGENERATECHUNKS)).set(false, this.player.serverLevel()); // Paper - Pass ServerLevel for gamerule callbacks
- }
- }
- break;
-diff --git a/src/main/java/net/minecraft/world/level/GameRules.java b/src/main/java/net/minecraft/world/level/GameRules.java
-index f3cdf1fa7731eb7bb1cb89aa6a37204d81257cb0..0112ef51815c4fab38b95d5e917d335eeaaa21cd 100644
---- a/src/main/java/net/minecraft/world/level/GameRules.java
-+++ b/src/main/java/net/minecraft/world/level/GameRules.java
-@@ -52,7 +52,7 @@ public class GameRules {
- public static final GameRules.Key<GameRules.BooleanValue> RULE_SENDCOMMANDFEEDBACK = GameRules.register("sendCommandFeedback", GameRules.Category.CHAT, GameRules.BooleanValue.create(true));
- public static final GameRules.Key<GameRules.BooleanValue> RULE_REDUCEDDEBUGINFO = GameRules.register("reducedDebugInfo", GameRules.Category.MISC, GameRules.BooleanValue.create(false, (minecraftserver, gamerules_gameruleboolean) -> {
- int i = gamerules_gameruleboolean.get() ? 22 : 23;
-- Iterator iterator = minecraftserver.getPlayerList().getPlayers().iterator();
-+ Iterator iterator = minecraftserver.players().iterator(); // Paper - Pass ServerLevel for gamerule callbacks
-
- while (iterator.hasNext()) {
- ServerPlayer entityplayer = (ServerPlayer) iterator.next();
-@@ -67,7 +67,7 @@ public class GameRules {
- public static final GameRules.Key<GameRules.IntegerValue> RULE_MAX_ENTITY_CRAMMING = GameRules.register("maxEntityCramming", GameRules.Category.MOBS, GameRules.IntegerValue.create(24));
- public static final GameRules.Key<GameRules.BooleanValue> RULE_WEATHER_CYCLE = GameRules.register("doWeatherCycle", GameRules.Category.UPDATES, GameRules.BooleanValue.create(true));
- public static final GameRules.Key<GameRules.BooleanValue> RULE_LIMITED_CRAFTING = GameRules.register("doLimitedCrafting", GameRules.Category.PLAYER, GameRules.BooleanValue.create(false, (minecraftserver, gamerules_gameruleboolean) -> {
-- Iterator iterator = minecraftserver.getPlayerList().getPlayers().iterator();
-+ Iterator iterator = minecraftserver.players().iterator(); // Paper - Pass ServerLevel for gamerule callbacks
-
- while (iterator.hasNext()) {
- ServerPlayer entityplayer = (ServerPlayer) iterator.next();
-@@ -83,7 +83,7 @@ public class GameRules {
- public static final GameRules.Key<GameRules.BooleanValue> RULE_DISABLE_RAIDS = GameRules.register("disableRaids", GameRules.Category.MOBS, GameRules.BooleanValue.create(false));
- public static final GameRules.Key<GameRules.BooleanValue> RULE_DOINSOMNIA = GameRules.register("doInsomnia", GameRules.Category.SPAWNING, GameRules.BooleanValue.create(true));
- public static final GameRules.Key<GameRules.BooleanValue> RULE_DO_IMMEDIATE_RESPAWN = GameRules.register("doImmediateRespawn", GameRules.Category.PLAYER, GameRules.BooleanValue.create(false, (minecraftserver, gamerules_gameruleboolean) -> {
-- Iterator iterator = minecraftserver.getPlayerList().getPlayers().iterator();
-+ Iterator iterator = minecraftserver.players().iterator(); // Paper - Pass ServerLevel for gamerule callbacks
-
- while (iterator.hasNext()) {
- ServerPlayer entityplayer = (ServerPlayer) iterator.next();
-@@ -180,13 +180,13 @@ public class GameRules {
- ((GameRules.Type<T>) type).callVisitor(consumer, (GameRules.Key<T>) key); // CraftBukkit - decompile error
- }
-
-- public void assignFrom(GameRules rules, @Nullable MinecraftServer server) {
-+ public void assignFrom(GameRules rules, @Nullable net.minecraft.server.level.ServerLevel server) { // Paper - Pass ServerLevel for gamerule callbacks
- rules.rules.keySet().forEach((gamerules_gamerulekey) -> {
- this.assignCap(gamerules_gamerulekey, rules, server);
- });
- }
-
-- private <T extends GameRules.Value<T>> void assignCap(GameRules.Key<T> key, GameRules rules, @Nullable MinecraftServer server) {
-+ private <T extends GameRules.Value<T>> void assignCap(GameRules.Key<T> key, GameRules rules, @Nullable net.minecraft.server.level.ServerLevel server) { // Paper - Pass ServerLevel for gamerule callbacks
- T t0 = rules.getRule(key);
-
- this.getRule(key).setFrom(t0, server);
-@@ -254,10 +254,10 @@ public class GameRules {
-
- private final Supplier<ArgumentType<?>> argument;
- private final Function<GameRules.Type<T>, T> constructor;
-- final BiConsumer<MinecraftServer, T> callback;
-+ final BiConsumer<net.minecraft.server.level.ServerLevel, T> callback; // Paper - Pass ServerLevel for gamerule callbacks
- private final GameRules.VisitorCaller<T> visitorCaller;
-
-- Type(Supplier<ArgumentType<?>> argumentType, Function<GameRules.Type<T>, T> ruleFactory, BiConsumer<MinecraftServer, T> changeCallback, GameRules.VisitorCaller<T> ruleAcceptor) {
-+ Type(Supplier<ArgumentType<?>> argumentType, Function<GameRules.Type<T>, T> ruleFactory, BiConsumer<net.minecraft.server.level.ServerLevel, T> changeCallback, GameRules.VisitorCaller<T> ruleAcceptor) { // Paper - Pass ServerLevel for gamerule callbacks
- this.argument = argumentType;
- this.constructor = ruleFactory;
- this.callback = changeCallback;
-@@ -289,10 +289,10 @@ public class GameRules {
-
- public void setFromArgument(CommandContext<CommandSourceStack> context, String name, GameRules.Key<T> gameRuleKey) { // Paper - Add WorldGameRuleChangeEvent
- this.updateFromArgument(context, name, gameRuleKey); // Paper - Add WorldGameRuleChangeEvent
-- this.onChanged(((CommandSourceStack) context.getSource()).getServer());
-+ this.onChanged(((CommandSourceStack) context.getSource()).getLevel()); // Paper - Pass ServerLevel for gamerule callbacks
- }
-
-- public void onChanged(@Nullable MinecraftServer server) {
-+ public void onChanged(@Nullable net.minecraft.server.level.ServerLevel server) { // Paper - Pass ServerLevel for gamerule callbacks
- if (server != null) {
- this.type.callback.accept(server, this.getSelf());
- }
-@@ -313,7 +313,7 @@ public class GameRules {
-
- protected abstract T copy();
-
-- public abstract void setFrom(T rule, @Nullable MinecraftServer server);
-+ public abstract void setFrom(T rule, @Nullable net.minecraft.server.level.ServerLevel level); // Paper - Pass ServerLevel for gamerule callbacks
- }
-
- public interface GameRuleTypeVisitor {
-@@ -329,7 +329,7 @@ public class GameRules {
-
- private boolean value;
-
-- static GameRules.Type<GameRules.BooleanValue> create(boolean initialValue, BiConsumer<MinecraftServer, GameRules.BooleanValue> changeCallback) {
-+ static GameRules.Type<GameRules.BooleanValue> create(boolean initialValue, BiConsumer<net.minecraft.server.level.ServerLevel, GameRules.BooleanValue> changeCallback) { // Paper - Pass ServerLevel for gamerule callbacks
- return new GameRules.Type<>(BoolArgumentType::bool, (gamerules_gameruledefinition) -> {
- return new GameRules.BooleanValue(gamerules_gameruledefinition, initialValue);
- }, changeCallback, GameRules.GameRuleTypeVisitor::visitBoolean);
-@@ -357,7 +357,7 @@ public class GameRules {
- return this.value;
- }
-
-- public void set(boolean value, @Nullable MinecraftServer server) {
-+ public void set(boolean value, @Nullable net.minecraft.server.level.ServerLevel server) { // Paper - Pass ServerLevel for gamerule callbacks
- this.value = value;
- this.onChanged(server);
- }
-@@ -387,7 +387,7 @@ public class GameRules {
- return new GameRules.BooleanValue(this.type, this.value);
- }
-
-- public void setFrom(GameRules.BooleanValue rule, @Nullable MinecraftServer server) {
-+ public void setFrom(GameRules.BooleanValue rule, @Nullable net.minecraft.server.level.ServerLevel server) { // Paper - Pass ServerLevel for gamerule callbacks
- this.value = rule.value;
- this.onChanged(server);
- }
-@@ -397,7 +397,7 @@ public class GameRules {
-
- private int value;
-
-- private static GameRules.Type<GameRules.IntegerValue> create(int initialValue, BiConsumer<MinecraftServer, GameRules.IntegerValue> changeCallback) {
-+ private static GameRules.Type<GameRules.IntegerValue> create(int initialValue, BiConsumer<net.minecraft.server.level.ServerLevel, GameRules.IntegerValue> changeCallback) { // Paper - Pass ServerLevel for gamerule callbacks
- return new GameRules.Type<>(IntegerArgumentType::integer, (gamerules_gameruledefinition) -> {
- return new GameRules.IntegerValue(gamerules_gameruledefinition, initialValue);
- }, changeCallback, GameRules.GameRuleTypeVisitor::visitInteger);
-@@ -425,7 +425,7 @@ public class GameRules {
- return this.value;
- }
-
-- public void set(int value, @Nullable MinecraftServer server) {
-+ public void set(int value, @Nullable net.minecraft.server.level.ServerLevel server) { // Paper - Pass ServerLevel for gamerule callbacks
- this.value = value;
- this.onChanged(server);
- }
-@@ -476,7 +476,7 @@ public class GameRules {
- return new GameRules.IntegerValue(this.type, this.value);
- }
-
-- public void setFrom(GameRules.IntegerValue rule, @Nullable MinecraftServer server) {
-+ public void setFrom(GameRules.IntegerValue rule, @Nullable net.minecraft.server.level.ServerLevel server) { // Paper - Pass ServerLevel for gamerule callbacks
- this.value = rule.value;
- this.onChanged(server);
- }
-diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 5e2a1a4bd047b6eb1581ce6e6d9b0f78be64c448..12013237e7b00f47d2a8660fd09ee3d52fdf084c 100644
---- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1966,7 +1966,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
- // Paper end - Add WorldGameRuleChangeEvent
- GameRules.Value<?> handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule));
- handle.deserialize(event.getValue()); // Paper - Add WorldGameRuleChangeEvent
-- handle.onChanged(this.getHandle().getServer());
-+ handle.onChanged(this.getHandle()); // Paper - Pass ServerLevel for gamerule callbacks
- return true;
- }
-
-@@ -2007,7 +2007,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
- // Paper end - Add WorldGameRuleChangeEvent
- GameRules.Value<?> handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule.getName()));
- handle.deserialize(event.getValue()); // Paper - Add WorldGameRuleChangeEvent
-- handle.onChanged(this.getHandle().getServer());
-+ handle.onChanged(this.getHandle()); // Paper - Pass ServerLevel for gamerule callbacks
- return true;
- }
-
diff --git a/patches/server/0742-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch b/patches/server/0738-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
index 88ff6e1546..9606b571be 100644
--- a/patches/server/0742-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
+++ b/patches/server/0738-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Trigger bee_nest_destroyed trigger in the correct place
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
-index 37513cf5714afda6c552219c2eca8134c054d2bb..be25ea71cb3a3bd324935754604c9f7473a88d0a 100644
+index 4fe571915b247ec612b2376dce57991e441f63c2..8f4c9b99b638cfce8cc7c55f6369f62e757f4e48 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -421,12 +421,16 @@ public class ServerPlayerGameMode {
@@ -40,7 +40,7 @@ index 37513cf5714afda6c552219c2eca8134c054d2bb..be25ea71cb3a3bd324935754604c9f74
return true;
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java b/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java
-index 65d3311cfa251b0d3246413d0714acff7d31e844..a0ab721a01faccf216259c46e6d6f638426732c2 100644
+index 27f1c1ac12251f1438ee8bf14f4afb5fe601138f..799e44ae5a7c3d6994653d43d455c39f3e30b012 100644
--- a/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java
@@ -95,7 +95,7 @@ public class BeehiveBlock extends BaseEntityBlock {
diff --git a/patches/server/0743-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/server/0739-Add-EntityDyeEvent-and-CollarColorable-interface.patch
index 758be4b481..758be4b481 100644
--- a/patches/server/0743-Add-EntityDyeEvent-and-CollarColorable-interface.patch
+++ b/patches/server/0739-Add-EntityDyeEvent-and-CollarColorable-interface.patch
diff --git a/patches/server/0744-Fire-CauldronLevelChange-on-initial-fill.patch b/patches/server/0740-Fire-CauldronLevelChange-on-initial-fill.patch
index 0ad967e4e4..0ad967e4e4 100644
--- a/patches/server/0744-Fire-CauldronLevelChange-on-initial-fill.patch
+++ b/patches/server/0740-Fire-CauldronLevelChange-on-initial-fill.patch
diff --git a/patches/server/0745-fix-powder-snow-cauldrons-not-turning-to-water.patch b/patches/server/0741-fix-powder-snow-cauldrons-not-turning-to-water.patch
index 1d388d0504..1d388d0504 100644
--- a/patches/server/0745-fix-powder-snow-cauldrons-not-turning-to-water.patch
+++ b/patches/server/0741-fix-powder-snow-cauldrons-not-turning-to-water.patch
diff --git a/patches/server/0746-Add-PlayerStopUsingItemEvent.patch b/patches/server/0742-Add-PlayerStopUsingItemEvent.patch
index dda50b3846..93eab4e15b 100644
--- a/patches/server/0746-Add-PlayerStopUsingItemEvent.patch
+++ b/patches/server/0742-Add-PlayerStopUsingItemEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerStopUsingItemEvent
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index fbbddf856a0fbb0b88bdbf00fed79ebeb9f85a33..f5bed73a079e022eeb3b05e4c49532044852fd22 100644
+index 5adfa199835f8ee6b4db16c1bf262bb43324e654..e3b19c6e51596b854b6d2acbc67f6fb109d62a92 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -4024,6 +4024,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4037,6 +4037,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public void releaseUsingItem() {
if (!this.useItem.isEmpty()) {
diff --git a/patches/server/0747-Don-t-tick-markers.patch b/patches/server/0743-Don-t-tick-markers.patch
index ae96fa4757..ae96fa4757 100644
--- a/patches/server/0747-Don-t-tick-markers.patch
+++ b/patches/server/0743-Don-t-tick-markers.patch
diff --git a/patches/server/0748-Expand-FallingBlock-API.patch b/patches/server/0744-Expand-FallingBlock-API.patch
index 16de3bcc75..b70e252822 100644
--- a/patches/server/0748-Expand-FallingBlock-API.patch
+++ b/patches/server/0744-Expand-FallingBlock-API.patch
@@ -13,7 +13,7 @@ public net.minecraft.world.entity.item.FallingBlockEntity blockState
Co-authored-by: Lukas Planz <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
-index 2452c7f0a3ed1faf9b90351bea3389382c677d05..9daf8aa557d9f4fdbcc138a47892ea5a061dd877 100644
+index 67875e854d66b62c36fcca455f02f5abf3ebfdb3..05b77bf1af82397c542fde19b54ee545448ce12e 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -66,6 +66,7 @@ public class FallingBlockEntity extends Entity {
@@ -33,7 +33,7 @@ index 2452c7f0a3ed1faf9b90351bea3389382c677d05..9daf8aa557d9f4fdbcc138a47892ea5a
if (this.dropItem && this.level().getGameRules().getBoolean(GameRules.RULE_DOENTITYDROPS)) {
this.spawnAtLocation((ItemLike) block);
}
-@@ -326,6 +327,7 @@ public class FallingBlockEntity extends Entity {
+@@ -324,6 +325,7 @@ public class FallingBlockEntity extends Entity {
}
nbt.putBoolean("CancelDrop", this.cancelDrop);
@@ -41,7 +41,7 @@ index 2452c7f0a3ed1faf9b90351bea3389382c677d05..9daf8aa557d9f4fdbcc138a47892ea5a
}
@Override
-@@ -353,6 +355,11 @@ public class FallingBlockEntity extends Entity {
+@@ -351,6 +353,11 @@ public class FallingBlockEntity extends Entity {
this.blockState = Blocks.SAND.defaultBlockState();
}
diff --git a/patches/server/0749-Add-support-for-Proxy-Protocol.patch b/patches/server/0745-Add-support-for-Proxy-Protocol.patch
index 1580298fa5..1580298fa5 100644
--- a/patches/server/0749-Add-support-for-Proxy-Protocol.patch
+++ b/patches/server/0745-Add-support-for-Proxy-Protocol.patch
diff --git a/patches/server/0750-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0746-Fix-OfflinePlayer-getBedSpawnLocation.patch
index e67e0fc286..e67e0fc286 100644
--- a/patches/server/0750-Fix-OfflinePlayer-getBedSpawnLocation.patch
+++ b/patches/server/0746-Fix-OfflinePlayer-getBedSpawnLocation.patch
diff --git a/patches/server/0751-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch b/patches/server/0747-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
index ef7517367b..ef7517367b 100644
--- a/patches/server/0751-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
+++ b/patches/server/0747-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
diff --git a/patches/server/0752-properly-read-and-store-sus-effect-duration.patch b/patches/server/0748-properly-read-and-store-sus-effect-duration.patch
index 20754fe9a1..94589408f4 100644
--- a/patches/server/0752-properly-read-and-store-sus-effect-duration.patch
+++ b/patches/server/0748-properly-read-and-store-sus-effect-duration.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] properly read and store sus effect duration
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSuspiciousStew.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSuspiciousStew.java
-index df1df2ad759622b5b1355fae322cbc0333c932fb..adb804f6f81f35ceeb1dc36157c70267136a1e81 100644
+index e13146b71552ab3f9ae867110650fe3977563dfb..2c3b9f76067088efdc2250cdb5070df86e2dc0f5 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSuspiciousStew.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSuspiciousStew.java
@@ -49,7 +49,14 @@ public class CraftMetaSuspiciousStew extends CraftMetaItem implements Suspicious
diff --git a/patches/server/0753-Sanitize-sent-BlockEntity-NBT.patch b/patches/server/0749-Sanitize-sent-BlockEntity-NBT.patch
index f607c4b19b..f607c4b19b 100644
--- a/patches/server/0753-Sanitize-sent-BlockEntity-NBT.patch
+++ b/patches/server/0749-Sanitize-sent-BlockEntity-NBT.patch
diff --git a/patches/server/0754-Disable-component-selector-resolving-in-books-by-def.patch b/patches/server/0750-Disable-component-selector-resolving-in-books-by-def.patch
index 33fd8e47d0..33fd8e47d0 100644
--- a/patches/server/0754-Disable-component-selector-resolving-in-books-by-def.patch
+++ b/patches/server/0750-Disable-component-selector-resolving-in-books-by-def.patch
diff --git a/patches/server/0755-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0751-Prevent-entity-loading-causing-async-lookups.patch
index c3dc616854..5a3cc46ff7 100644
--- a/patches/server/0755-Prevent-entity-loading-causing-async-lookups.patch
+++ b/patches/server/0751-Prevent-entity-loading-causing-async-lookups.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Prevent entity loading causing async lookups
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index b580bb939f3c128ed68e02f2c75764aed49427c6..467f269107f314ebc3af1c4a1852f239906c0ba4 100644
+index 5d70e5fe31d0f1f18351d63e060973adc9a49f46..291c65d9b1af48c677360a9da1bd10c1fedbb686 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -714,6 +714,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
diff --git a/patches/server/0756-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0752-Throw-exception-on-world-create-while-being-ticked.patch
index 2b8a3df3d0..34fcf49e25 100644
--- a/patches/server/0756-Throw-exception-on-world-create-while-being-ticked.patch
+++ b/patches/server/0752-Throw-exception-on-world-create-while-being-ticked.patch
@@ -45,10 +45,10 @@ index 8080eee9babe02660724eee756700a4d5e69014f..ab1f4e62b2ffed99b47ae23cae172f20
this.profiler.popPush("connection");
MinecraftTimings.connectionTimer.startTiming(); // Spigot // Paper
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 3b39b48d5fbf1515ae91d745501e0c8e28a4f9d6..d01b3bb932fbaf8f3568acf878110aa8b5b69d62 100644
+index f3b461baac5a5de61f6b1c00251961bd25eb4773..562953515e21adc1cffadfe3ffb803c2d5059df0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -874,6 +874,11 @@ public final class CraftServer implements Server {
+@@ -886,6 +886,11 @@ public final class CraftServer implements Server {
return new ArrayList<World>(this.worlds.values());
}
@@ -60,7 +60,7 @@ index 3b39b48d5fbf1515ae91d745501e0c8e28a4f9d6..d01b3bb932fbaf8f3568acf878110aa8
public DedicatedPlayerList getHandle() {
return this.playerList;
}
-@@ -1133,6 +1138,7 @@ public final class CraftServer implements Server {
+@@ -1145,6 +1150,7 @@ public final class CraftServer implements Server {
@Override
public World createWorld(WorldCreator creator) {
Preconditions.checkState(this.console.getAllLevels().iterator().hasNext(), "Cannot create additional worlds on STARTUP");
@@ -68,7 +68,7 @@ index 3b39b48d5fbf1515ae91d745501e0c8e28a4f9d6..d01b3bb932fbaf8f3568acf878110aa8
Preconditions.checkArgument(creator != null, "WorldCreator cannot be null");
String name = creator.name();
-@@ -1305,6 +1311,7 @@ public final class CraftServer implements Server {
+@@ -1317,6 +1323,7 @@ public final class CraftServer implements Server {
@Override
public boolean unloadWorld(World world, boolean save) {
diff --git a/patches/server/0757-Dont-resent-entity-on-art-update.patch b/patches/server/0753-Dont-resent-entity-on-art-update.patch
index 38d1a4ca58..38d1a4ca58 100644
--- a/patches/server/0757-Dont-resent-entity-on-art-update.patch
+++ b/patches/server/0753-Dont-resent-entity-on-art-update.patch
diff --git a/patches/server/0758-Add-WardenAngerChangeEvent.patch b/patches/server/0754-Add-WardenAngerChangeEvent.patch
index 9344bd47cf..9344bd47cf 100644
--- a/patches/server/0758-Add-WardenAngerChangeEvent.patch
+++ b/patches/server/0754-Add-WardenAngerChangeEvent.patch
diff --git a/patches/server/0759-Add-option-for-strict-advancement-dimension-checks.patch b/patches/server/0755-Add-option-for-strict-advancement-dimension-checks.patch
index c99f644dd8..3dd4e6d490 100644
--- a/patches/server/0759-Add-option-for-strict-advancement-dimension-checks.patch
+++ b/patches/server/0755-Add-option-for-strict-advancement-dimension-checks.patch
@@ -24,7 +24,7 @@ index 5f9cb2c7a2874e423087d04d3360af0364692b5c..428e0afef2cac9f2a19d8cfe8f2504dd
} else {
BlockPos blockPos = BlockPos.containing(x, y, z);
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 6d1093972ffcee52c9f94c97c4f842b66726647c..efd95132301f50cd159339444e48cd4988accb1b 100644
+index 0db3f5b06b6c93882761450ea77ba4ee09869c61..bc95420dcf5d23d028e5df6595899a8712550be8 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1272,6 +1272,12 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0760-Add-missing-important-BlockStateListPopulator-method.patch b/patches/server/0756-Add-missing-important-BlockStateListPopulator-method.patch
index 5db34c9fe3..5db34c9fe3 100644
--- a/patches/server/0760-Add-missing-important-BlockStateListPopulator-method.patch
+++ b/patches/server/0756-Add-missing-important-BlockStateListPopulator-method.patch
diff --git a/patches/server/0761-Nameable-Banner-API.patch b/patches/server/0757-Nameable-Banner-API.patch
index 351d3597e0..351d3597e0 100644
--- a/patches/server/0761-Nameable-Banner-API.patch
+++ b/patches/server/0757-Nameable-Banner-API.patch
diff --git a/patches/server/0762-Don-t-broadcast-messages-to-command-blocks.patch b/patches/server/0758-Don-t-broadcast-messages-to-command-blocks.patch
index 2e33539ca8..fa6488648d 100644
--- a/patches/server/0762-Don-t-broadcast-messages-to-command-blocks.patch
+++ b/patches/server/0758-Don-t-broadcast-messages-to-command-blocks.patch
@@ -20,10 +20,10 @@ index c56f5173fda6b38c2dcaea196217f2f5a7d7c641..524b0f1086c01888fe0b76e180c40915
Date date = new Date();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 3261c8715aee966d6e7234e60074ad59a841294f..4c343b5b811b87b2c4f40efaaf376368ce73fcdb 100644
+index 562953515e21adc1cffadfe3ffb803c2d5059df0..e849e706660bf0b0ef1748dfee3ba75e5aff9863 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1868,7 +1868,7 @@ public final class CraftServer implements Server {
+@@ -1880,7 +1880,7 @@ public final class CraftServer implements Server {
// Paper end
Set<CommandSender> recipients = new HashSet<>();
for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) {
diff --git a/patches/server/0763-Prevent-empty-items-from-being-added-to-world.patch b/patches/server/0759-Prevent-empty-items-from-being-added-to-world.patch
index a3cccb274c..a3cccb274c 100644
--- a/patches/server/0763-Prevent-empty-items-from-being-added-to-world.patch
+++ b/patches/server/0759-Prevent-empty-items-from-being-added-to-world.patch
diff --git a/patches/server/0764-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch b/patches/server/0760-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
index 5816232b91..5816232b91 100644
--- a/patches/server/0764-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
+++ b/patches/server/0760-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
diff --git a/patches/server/0765-Add-Player-getFishHook.patch b/patches/server/0761-Add-Player-getFishHook.patch
index d539d68f07..d539d68f07 100644
--- a/patches/server/0765-Add-Player-getFishHook.patch
+++ b/patches/server/0761-Add-Player-getFishHook.patch
diff --git a/patches/server/0766-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch b/patches/server/0762-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
index 8b8d15552f..8b8d15552f 100644
--- a/patches/server/0766-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
+++ b/patches/server/0762-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
diff --git a/patches/server/0767-Add-various-missing-EntityDropItemEvent-calls.patch b/patches/server/0763-Add-various-missing-EntityDropItemEvent-calls.patch
index 68f6361dc9..957be8bd05 100644
--- a/patches/server/0767-Add-various-missing-EntityDropItemEvent-calls.patch
+++ b/patches/server/0763-Add-various-missing-EntityDropItemEvent-calls.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add various missing EntityDropItemEvent calls
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 467f269107f314ebc3af1c4a1852f239906c0ba4..efc7287ce869d8bb6833d075738d3bfab47d3909 100644
+index 824c2f05791e793a1420f9baf743288a05d03cf1..ef1afa30b2fe56fc2f3d9c94c6d673d4c132ef92 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2471,6 +2471,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2475,6 +2475,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
stack.setCount(0); // Paper - destroy this item - if this ever leaks due to game bugs, ensure it doesn't dupe
entityitem.setDefaultPickUpDelay();
@@ -37,7 +37,7 @@ index fb5e200499a1a73fd40c8b7c81185f48381f49e4..178e1e75fcd0e60a1dd2729a894df08c
}
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
-index 6124209f50300eeaab45b66c2f1a5b2944119450..94bb69a7f5795e0fbee171433632b5c3bca3b902 100644
+index 950e4b476a03fb5c26351a3b4d1578975a0b0ea8..fa0a7e18fed41653b1625cfb12a78d9ee502f2be 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -509,14 +509,14 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
diff --git a/patches/server/0768-Fix-Bee-flower-NPE.patch b/patches/server/0764-Fix-Bee-flower-NPE.patch
index 21a3d68e76..21a3d68e76 100644
--- a/patches/server/0768-Fix-Bee-flower-NPE.patch
+++ b/patches/server/0764-Fix-Bee-flower-NPE.patch
diff --git a/patches/server/0769-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch b/patches/server/0765-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
index ccaed9e8fa..2d342dd0a1 100644
--- a/patches/server/0769-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
+++ b/patches/server/0765-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix Spigot Config not using commands.spam-exclusions
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index e06d09ba19df5b7bf2b5179a07c39e2197cc0863..141645f5ab844bd18d04e7d36beddcfa402dc8e9 100644
+index 819894dabc8e28a499a6ab5420299e14ab072ff8..2f566e05dc100cde49d36e3392a86c7e20b32473 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2299,7 +2299,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0770-More-Teleport-API.patch b/patches/server/0766-More-Teleport-API.patch
index 1641436dbf..1474f1fb9e 100644
--- a/patches/server/0770-More-Teleport-API.patch
+++ b/patches/server/0766-More-Teleport-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] More Teleport API
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 141645f5ab844bd18d04e7d36beddcfa402dc8e9..229c472bbd8c99086e0b63dbb4c1777e145d5130 100644
+index 2f566e05dc100cde49d36e3392a86c7e20b32473..7a3293e1a911de494ac32b946d8f709a52d98cbe 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1558,11 +1558,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -72,10 +72,10 @@ index b7df71633527dce2e4f954caee249e3b31b82226..ee1dc74b2f48bf8d684562de895ab631
// Let the server handle cross world teleports
if (location.getWorld() != null && !location.getWorld().equals(this.getWorld())) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 1551924d052087b8a5dc9e5342fd0fbc8022b405..71337c5163b53fc4728380c24e926bccd736538c 100644
+index 87b241a8b78b6fe0144e0d318e04da69a3101bc7..0e5076529693f1b9f971600909ae353e021f0671 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1165,13 +1165,101 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1195,13 +1195,101 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setRotation(float yaw, float pitch) {
@@ -178,7 +178,7 @@ index 1551924d052087b8a5dc9e5342fd0fbc8022b405..71337c5163b53fc4728380c24e926bcc
location.checkFinite();
ServerPlayer entity = this.getHandle();
-@@ -1184,7 +1272,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1214,7 +1302,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return false;
}
@@ -187,7 +187,7 @@ index 1551924d052087b8a5dc9e5342fd0fbc8022b405..71337c5163b53fc4728380c24e926bcc
return false;
}
-@@ -1193,7 +1281,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1223,7 +1311,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// To = Players new Location if Teleport is Successful
Location to = location;
// Create & Call the Teleport Event.
@@ -196,7 +196,7 @@ index 1551924d052087b8a5dc9e5342fd0fbc8022b405..71337c5163b53fc4728380c24e926bcc
this.server.getPluginManager().callEvent(event);
// Return False to inform the Plugin that the Teleport was unsuccessful/cancelled.
-@@ -1202,7 +1290,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1232,7 +1320,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// If this player is riding another entity, we must dismount before teleporting.
@@ -205,7 +205,7 @@ index 1551924d052087b8a5dc9e5342fd0fbc8022b405..71337c5163b53fc4728380c24e926bcc
// SPIGOT-5509: Wakeup, similar to riding
if (this.isSleeping()) {
-@@ -1218,13 +1306,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1248,13 +1336,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
ServerLevel toWorld = ((CraftWorld) to.getWorld()).getHandle();
// Close any foreign inventory
diff --git a/patches/server/0771-Add-EntityPortalReadyEvent.patch b/patches/server/0767-Add-EntityPortalReadyEvent.patch
index 3ce3a5c8bf..176fcf1940 100644
--- a/patches/server/0771-Add-EntityPortalReadyEvent.patch
+++ b/patches/server/0767-Add-EntityPortalReadyEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityPortalReadyEvent
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index efc7287ce869d8bb6833d075738d3bfab47d3909..e6739e436f709fd24315932ad6386ed6534721c2 100644
+index ef1afa30b2fe56fc2f3d9c94c6d673d4c132ef92..7d600e90ad8c7a020988a18e2926872180fb4a1e 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2812,6 +2812,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2816,6 +2816,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit
this.level().getProfiler().push("portal");
this.portalTime = i;
@@ -22,7 +22,7 @@ index efc7287ce869d8bb6833d075738d3bfab47d3909..e6739e436f709fd24315932ad6386ed6
this.setPortalCooldown();
// CraftBukkit start
if (this instanceof ServerPlayer) {
-@@ -2819,6 +2826,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2823,6 +2830,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
} else {
this.changeDimension(worldserver1);
}
diff --git a/patches/server/0772-Don-t-use-level-random-in-entity-constructors.patch b/patches/server/0768-Don-t-use-level-random-in-entity-constructors.patch
index b8da0480ac..b8da0480ac 100644
--- a/patches/server/0772-Don-t-use-level-random-in-entity-constructors.patch
+++ b/patches/server/0768-Don-t-use-level-random-in-entity-constructors.patch
diff --git a/patches/server/0773-Send-block-entities-after-destroy-prediction.patch b/patches/server/0769-Send-block-entities-after-destroy-prediction.patch
index a6b883a2d6..5acf3fa9d7 100644
--- a/patches/server/0773-Send-block-entities-after-destroy-prediction.patch
+++ b/patches/server/0769-Send-block-entities-after-destroy-prediction.patch
@@ -57,7 +57,7 @@ index 8f4c9b99b638cfce8cc7c55f6369f62e757f4e48..f3389dc345d8b6e5389ae37848d9b268
}
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 229c472bbd8c99086e0b63dbb4c1777e145d5130..17c059020eae2c125971b4f6ffe90db46fb85cd2 100644
+index 7a3293e1a911de494ac32b946d8f709a52d98cbe..1eae23b70659b729aaec9d1b5b4dedbefb30a29f 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1704,8 +1704,28 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0774-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/server/0770-Warn-on-plugins-accessing-faraway-chunks.patch
index 6df9b3dc94..81ca2e88f6 100644
--- a/patches/server/0774-Warn-on-plugins-accessing-faraway-chunks.patch
+++ b/patches/server/0770-Warn-on-plugins-accessing-faraway-chunks.patch
@@ -18,10 +18,10 @@ index c49ff35c92874273233ec53ed63aaff9c79edcd0..76deb93a1a1d3f93498176f32ef291e1
private static boolean isOutsideSpawnableHeight(int y) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 12013237e7b00f47d2a8660fd09ee3d52fdf084c..caca37e0febbfaa2012820c8a6f0e6adbaf2451b 100644
+index 97ebf2e2e08469cacc66c4f38bd2edfc2107fe6a..54cdb4b6a97250c1e15e2fce355e3699c9189948 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -312,9 +312,24 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -318,9 +318,24 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public boolean setSpawnLocation(int x, int y, int z) {
return this.setSpawnLocation(x, y, z, 0.0F);
}
@@ -46,7 +46,7 @@ index 12013237e7b00f47d2a8660fd09ee3d52fdf084c..caca37e0febbfaa2012820c8a6f0e6ad
// Paper start - add ticket to hold chunk for a little while longer if plugin accesses it
net.minecraft.world.level.chunk.LevelChunk chunk = this.world.getChunkSource().getChunkAtIfLoadedImmediately(x, z);
if (chunk == null) {
-@@ -415,6 +430,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -421,6 +436,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean regenerateChunk(int x, int z) {
org.spigotmc.AsyncCatcher.catchOp("chunk regenerate"); // Spigot
@@ -54,7 +54,7 @@ index 12013237e7b00f47d2a8660fd09ee3d52fdf084c..caca37e0febbfaa2012820c8a6f0e6ad
// Paper start - implement regenerateChunk method
final ServerLevel serverLevel = this.world;
final net.minecraft.server.level.ServerChunkCache serverChunkCache = serverLevel.getChunkSource();
-@@ -509,6 +525,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -515,6 +531,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean loadChunk(int x, int z, boolean generate) {
org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot
@@ -62,7 +62,7 @@ index 12013237e7b00f47d2a8660fd09ee3d52fdf084c..caca37e0febbfaa2012820c8a6f0e6ad
ChunkAccess chunk = this.world.getChunkSource().getChunk(x, z, generate || isChunkGenerated(x, z) ? ChunkStatus.FULL : ChunkStatus.EMPTY, true); // Paper
// If generate = false, but the chunk already exists, we will get this back.
-@@ -541,6 +558,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -547,6 +564,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean addPluginChunkTicket(int x, int z, Plugin plugin) {
@@ -70,7 +70,7 @@ index 12013237e7b00f47d2a8660fd09ee3d52fdf084c..caca37e0febbfaa2012820c8a6f0e6ad
Preconditions.checkArgument(plugin != null, "null plugin");
Preconditions.checkArgument(plugin.isEnabled(), "plugin is not enabled");
-@@ -622,6 +640,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -628,6 +646,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setChunkForceLoaded(int x, int z, boolean forced) {
@@ -78,7 +78,7 @@ index 12013237e7b00f47d2a8660fd09ee3d52fdf084c..caca37e0febbfaa2012820c8a6f0e6ad
this.getHandle().setChunkForced(x, z, forced);
}
-@@ -934,6 +953,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -947,6 +966,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public int getHighestBlockYAt(int x, int z, org.bukkit.HeightMap heightMap) {
@@ -86,7 +86,7 @@ index 12013237e7b00f47d2a8660fd09ee3d52fdf084c..caca37e0febbfaa2012820c8a6f0e6ad
// Transient load for this tick
return this.world.getChunk(x >> 4, z >> 4).getHeight(CraftHeightMap.toNMS(heightMap), x, z);
}
-@@ -2343,6 +2363,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2380,6 +2400,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
// Spigot end
// Paper start
public java.util.concurrent.CompletableFuture<Chunk> getChunkAtAsync(int x, int z, boolean gen, boolean urgent) {
diff --git a/patches/server/0775-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0771-Custom-Chat-Completion-Suggestions-API.patch
index 58069f3875..fa918c4450 100644
--- a/patches/server/0775-Custom-Chat-Completion-Suggestions-API.patch
+++ b/patches/server/0771-Custom-Chat-Completion-Suggestions-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Custom Chat Completion Suggestions API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 451ef858cfc4504efe52f30d449d632b92569bd9..93fb3ec75009ccbeba796146ffb6236cba2d8bd5 100644
+index 0e5076529693f1b9f971600909ae353e021f0671..d866ad7fd91c64fd0fe6680a417678e3ef5ca41d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -605,6 +605,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -611,6 +611,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end - Add sendOpLevel API
diff --git a/patches/server/0776-Add-and-fix-missing-BlockFadeEvents.patch b/patches/server/0772-Add-and-fix-missing-BlockFadeEvents.patch
index 2813257f0f..2813257f0f 100644
--- a/patches/server/0776-Add-and-fix-missing-BlockFadeEvents.patch
+++ b/patches/server/0772-Add-and-fix-missing-BlockFadeEvents.patch
diff --git a/patches/server/0777-Collision-API.patch b/patches/server/0773-Collision-API.patch
index 2ec1b80fcd..2ec1b80fcd 100644
--- a/patches/server/0777-Collision-API.patch
+++ b/patches/server/0773-Collision-API.patch
diff --git a/patches/server/0778-Fix-suggest-command-message-for-brigadier-syntax-exc.patch b/patches/server/0774-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
index 8645146d61..8645146d61 100644
--- a/patches/server/0778-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
+++ b/patches/server/0774-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
diff --git a/patches/server/0779-Block-Ticking-API.patch b/patches/server/0775-Block-Ticking-API.patch
index 9afbc4d4b1..9afbc4d4b1 100644
--- a/patches/server/0779-Block-Ticking-API.patch
+++ b/patches/server/0775-Block-Ticking-API.patch
diff --git a/patches/server/0780-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0776-Add-Velocity-IP-Forwarding-Support.patch
index 844fc51f4e..64983350da 100644
--- a/patches/server/0780-Add-Velocity-IP-Forwarding-Support.patch
+++ b/patches/server/0776-Add-Velocity-IP-Forwarding-Support.patch
@@ -106,7 +106,7 @@ index 0000000000000000000000000000000000000000..3c31ff3330c2e925e205c0c9ff4f0b83
+ }
+}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index 8d7d5cadbd65833d46dce71609e938290c81f772..c666bcd29d39ee7bca05edac348b7fa0325e80ab 100644
+index 608d860b940dee870a3df3d52efaed5e9eab17cf..5675931fe3ea896027a510944fc484f41f5ef555 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -274,13 +274,20 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -134,7 +134,7 @@ index 8d7d5cadbd65833d46dce71609e938290c81f772..c666bcd29d39ee7bca05edac348b7fa0
DedicatedServer.LOGGER.warn("While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.");
}
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
-index ebda34825bbd10145a81d54c345e31c2a4fb5de4..42ae62bdbe11fdfbacebf621d64e7c4985bbd1c7 100644
+index fb582acfe9e5cb68314ee39e1d54a550d6700e76..b8d8f14c30786321949901ca5184c43bee716355 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -64,6 +64,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
@@ -228,10 +228,10 @@ index ebda34825bbd10145a81d54c345e31c2a4fb5de4..42ae62bdbe11fdfbacebf621d64e7c49
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 4c343b5b811b87b2c4f40efaaf376368ce73fcdb..f5bd1a68502be87e03923934b25fb3e982762be7 100644
+index e849e706660bf0b0ef1748dfee3ba75e5aff9863..10450a2bb6973a647fb6969d3c142e7a6a1011a4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -803,7 +803,7 @@ public final class CraftServer implements Server {
+@@ -815,7 +815,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/0781-Add-NamespacedKey-biome-methods.patch b/patches/server/0777-Add-NamespacedKey-biome-methods.patch
index 1656e9d9f2..bf854146f4 100644
--- a/patches/server/0781-Add-NamespacedKey-biome-methods.patch
+++ b/patches/server/0777-Add-NamespacedKey-biome-methods.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add NamespacedKey biome methods
Co-authored-by: Thonk <[email protected]>
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 34c19a422de27cd6aa08159186a0180215c0837d..3bf1c2a5273879a64e81bcd8c107e7bc82cf679c 100644
+index 3f582c5653e13875cce4ef8ecd279d8a3d2b2dc2..5f93c5a6e1c381898c50332099cc98063a108b4e 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -605,6 +605,19 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -620,6 +620,19 @@ public final class CraftMagicNumbers implements UnsafeValues {
Preconditions.checkArgument(material.isBlock(), material + " is not a block");
return getBlock(material).hasCollision;
}
diff --git a/patches/server/0782-Fix-plugin-loggers-on-server-shutdown.patch b/patches/server/0778-Fix-plugin-loggers-on-server-shutdown.patch
index 68314fc167..f27e838474 100644
--- a/patches/server/0782-Fix-plugin-loggers-on-server-shutdown.patch
+++ b/patches/server/0778-Fix-plugin-loggers-on-server-shutdown.patch
@@ -37,7 +37,7 @@ index 0000000000000000000000000000000000000000..c1d3bac79bb8b4796c013ff4472f75dc
+ }
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 6e7e8aa26a60d774d51148bc8dca5e5c901f81e7..aaf49ff8339e360461dedfe940449b4bf9be1b66 100644
+index ab1f4e62b2ffed99b47ae23cae172f20ed586b27..97dbe5a44d2791c6dee830654c3935f4ac54aad4 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1223,6 +1223,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0783-Stop-large-look-changes-from-crashing-the-server.patch b/patches/server/0779-Stop-large-look-changes-from-crashing-the-server.patch
index bbac4cc96e..296ff2a092 100644
--- a/patches/server/0783-Stop-large-look-changes-from-crashing-the-server.patch
+++ b/patches/server/0779-Stop-large-look-changes-from-crashing-the-server.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Stop large look changes from crashing the server
Co-authored-by: Jaren Knodel <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index f5bed73a079e022eeb3b05e4c49532044852fd22..39d9f33e49cc8099e0f6dc9822e6d471b46d6e28 100644
+index e3b19c6e51596b854b6d2acbc67f6fb109d62a92..a33c5870874674c29bf5e50ea58357965d24e54a 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3055,37 +3055,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3068,37 +3068,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.level().getProfiler().pop();
this.level().getProfiler().push("rangeChecks");
diff --git a/patches/server/0784-Fire-EntityChangeBlockEvent-in-more-places.patch b/patches/server/0780-Fire-EntityChangeBlockEvent-in-more-places.patch
index 168322884a..b829dfe198 100644
--- a/patches/server/0784-Fire-EntityChangeBlockEvent-in-more-places.patch
+++ b/patches/server/0780-Fire-EntityChangeBlockEvent-in-more-places.patch
@@ -301,7 +301,7 @@ index 6cccdd1d19488275ff3fe90838cf1c31e844d517..413b307acaad5823b9e06f49fa2faf56
generatoraccess.setBlock(blockposition, iblockdata1, 3);
generatoraccess.gameEvent(GameEvent.BLOCK_CHANGE, blockposition, GameEvent.Context.of(entity, iblockdata1));
diff --git a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java
-index 32594b4ebe8ab4c820e588573f5e01b08c57984f..a5e34c25e00e7f770bcb6e15ed0bbfe8f369a68a 100644
+index 67c9009b735429e887e706baf50a6023d572a46c..7956002e2d4d583c27e277562312d27ea6871557 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java
@@ -120,7 +120,7 @@ public class DummyGeneratorAccess implements WorldGenLevel {
diff --git a/patches/server/0785-Missing-eating-regain-reason.patch b/patches/server/0781-Missing-eating-regain-reason.patch
index cbd8900d95..ae0d770acd 100644
--- a/patches/server/0785-Missing-eating-regain-reason.patch
+++ b/patches/server/0781-Missing-eating-regain-reason.patch
@@ -18,7 +18,7 @@ index 1d0c424be2b67cad0f8bca85070a9c46a6b283da..f760ce7d9df79ef58f8963de3e901cba
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
-index 3aa98f7c282cb4884589cb83b1546b924e66f096..570b39592e7e3a24828c233ec2a2f113b9ef5868 100644
+index 869f60e9407ed1c5bee536ef91a21f4d11f8f964..16a5e1247a160a7ae3eba2bab9fde42dff5d62c6 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -384,7 +384,7 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl
diff --git a/patches/server/0786-Missing-effect-cause.patch b/patches/server/0782-Missing-effect-cause.patch
index 6710474f4b..6710474f4b 100644
--- a/patches/server/0786-Missing-effect-cause.patch
+++ b/patches/server/0782-Missing-effect-cause.patch
diff --git a/patches/server/0787-Added-byte-array-serialization-deserialization-for-P.patch b/patches/server/0783-Added-byte-array-serialization-deserialization-for-P.patch
index f2a4d437f0..f2a4d437f0 100644
--- a/patches/server/0787-Added-byte-array-serialization-deserialization-for-P.patch
+++ b/patches/server/0783-Added-byte-array-serialization-deserialization-for-P.patch
diff --git a/patches/server/0788-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/server/0784-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
index 01a5e6880c..d7fcd122ed 100644
--- a/patches/server/0788-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
+++ b/patches/server/0784-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add a consumer parameter to ProjectileSource#launchProjectile
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index cf0151ea68738783a5e8c2e49a001b3a41d0c91a..b7aee6c64ffc74924a1b211e097a15e8b27f18f7 100644
+index 60230ddeec41485e1e1b83614a6256d9ae2cb242..1aa4f09d93f36f523923281a6fb17dc184dbed86 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -533,8 +533,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -546,8 +546,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
}
@Override
@@ -25,7 +25,7 @@ index cf0151ea68738783a5e8c2e49a001b3a41d0c91a..b7aee6c64ffc74924a1b211e097a15e8
Preconditions.checkState(!this.getHandle().generation, "Cannot launch projectile during world generation");
net.minecraft.world.level.Level world = ((CraftWorld) this.getWorld()).getHandle();
-@@ -621,6 +628,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -634,6 +641,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
if (velocity != null) {
((T) launch.getBukkitEntity()).setVelocity(velocity);
}
diff --git a/patches/server/0789-Call-BlockPhysicsEvent-more-often.patch b/patches/server/0785-Call-BlockPhysicsEvent-more-often.patch
index 3fda4c8065..3fda4c8065 100644
--- a/patches/server/0789-Call-BlockPhysicsEvent-more-often.patch
+++ b/patches/server/0785-Call-BlockPhysicsEvent-more-often.patch
diff --git a/patches/server/0790-Configurable-chat-thread-limit.patch b/patches/server/0786-Configurable-chat-thread-limit.patch
index 8f0a8571fd..9296a47439 100644
--- a/patches/server/0790-Configurable-chat-thread-limit.patch
+++ b/patches/server/0786-Configurable-chat-thread-limit.patch
@@ -22,7 +22,7 @@ is actually processed, this is honestly really just exposed for the misnomers or
who just wanna ensure that this won't grow over a specific size if chat gets stupidly active
diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
-index 73a34b4e378e6012a01c8ac8b092248298be6648..0f4d5e44d3f4fb2498b555bdafe5263810ed0c77 100644
+index 57e6e857c84234bf0c137058ae35e6fb0e9b124f..ffd52f6871161cd1f2d23040ed4493434a29b834 100644
--- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
+++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
@@ -283,7 +283,18 @@ public class GlobalConfiguration extends ConfigurationPart {
diff --git a/patches/server/0791-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch b/patches/server/0787-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
index ffb644e841..ffb644e841 100644
--- a/patches/server/0791-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
+++ b/patches/server/0787-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
diff --git a/patches/server/0792-fix-Jigsaw-block-kicking-user.patch b/patches/server/0788-fix-Jigsaw-block-kicking-user.patch
index 3c04241bd6..3c04241bd6 100644
--- a/patches/server/0792-fix-Jigsaw-block-kicking-user.patch
+++ b/patches/server/0788-fix-Jigsaw-block-kicking-user.patch
diff --git a/patches/server/0793-use-BlockFormEvent-for-mud-converting-into-clay.patch b/patches/server/0789-use-BlockFormEvent-for-mud-converting-into-clay.patch
index 5d836bf948..3344be8e00 100644
--- a/patches/server/0793-use-BlockFormEvent-for-mud-converting-into-clay.patch
+++ b/patches/server/0789-use-BlockFormEvent-for-mud-converting-into-clay.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] use BlockFormEvent for mud converting into clay
diff --git a/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java b/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
-index e59f9b83606da83f15924477ea2a2c4b74e7d892..e310abaca79615caaa75d92183a57242734266a3 100644
+index 998e43e8dc6bd6b741bdcb77d2b75df8ab2feefc..06a9dd14c7f7954bf9327427de76965be8fe30f4 100644
--- a/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
-@@ -220,10 +220,13 @@ public class PointedDripstoneBlock extends Block implements Fallable, SimpleWate
+@@ -214,10 +214,13 @@ public class PointedDripstoneBlock extends Block implements Fallable, SimpleWate
if (((PointedDripstoneBlock.FluidInfo) optional.get()).sourceState.is(Blocks.MUD) && fluidtype == Fluids.WATER) {
BlockState iblockdata1 = Blocks.CLAY.defaultBlockState();
diff --git a/patches/server/0794-Add-getDrops-to-BlockState.patch b/patches/server/0790-Add-getDrops-to-BlockState.patch
index 93f48ad578..93f48ad578 100644
--- a/patches/server/0794-Add-getDrops-to-BlockState.patch
+++ b/patches/server/0790-Add-getDrops-to-BlockState.patch
diff --git a/patches/server/0795-Fix-a-bunch-of-vanilla-bugs.patch b/patches/server/0791-Fix-a-bunch-of-vanilla-bugs.patch
index 6f0017dc20..abd36984a1 100644
--- a/patches/server/0795-Fix-a-bunch-of-vanilla-bugs.patch
+++ b/patches/server/0791-Fix-a-bunch-of-vanilla-bugs.patch
@@ -139,7 +139,7 @@ index de822b99df2de08371f3a7a29bf8f3275650887c..62feb9e2f8e0072bb180c65b49462814
if (!list.isEmpty()) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index efd95132301f50cd159339444e48cd4988accb1b..2fd04f7d39c4d06aa85133a3f53caa6d741d35ae 100644
+index bc95420dcf5d23d028e5df6595899a8712550be8..84792f21cbb727bdb8f72b3574b39c4dad631612 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -419,14 +419,14 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0796-Remove-unnecessary-onTrackingStart-during-navigation.patch b/patches/server/0792-Remove-unnecessary-onTrackingStart-during-navigation.patch
index 66236863d1..66236863d1 100644
--- a/patches/server/0796-Remove-unnecessary-onTrackingStart-during-navigation.patch
+++ b/patches/server/0792-Remove-unnecessary-onTrackingStart-during-navigation.patch
diff --git a/patches/server/0797-Fix-custom-piglin-loved-items.patch b/patches/server/0793-Fix-custom-piglin-loved-items.patch
index 59a92c2464..59a92c2464 100644
--- a/patches/server/0797-Fix-custom-piglin-loved-items.patch
+++ b/patches/server/0793-Fix-custom-piglin-loved-items.patch
diff --git a/patches/server/0798-EntityPickupItemEvent-fixes.patch b/patches/server/0794-EntityPickupItemEvent-fixes.patch
index 91ccd6c8ad..91ccd6c8ad 100644
--- a/patches/server/0798-EntityPickupItemEvent-fixes.patch
+++ b/patches/server/0794-EntityPickupItemEvent-fixes.patch
diff --git a/patches/server/0799-Correctly-handle-interactions-with-items-on-cooldown.patch b/patches/server/0795-Correctly-handle-interactions-with-items-on-cooldown.patch
index 472a9fe2d4..ca32db1eca 100644
--- a/patches/server/0799-Correctly-handle-interactions-with-items-on-cooldown.patch
+++ b/patches/server/0795-Correctly-handle-interactions-with-items-on-cooldown.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Correctly handle interactions with items on cooldown
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
-index da8a60fbbba3866780615e65d6e242774a965bc6..88b71210d0845e8a4a2cd424ba238c4b5e27933b 100644
+index 5d1b8bae981dc538ee1fe4fb993e44f227168233..3621770701c6fb1da75c69a41297684493380e37 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -514,6 +514,7 @@ public class ServerPlayerGameMode {
@@ -30,7 +30,7 @@ index da8a60fbbba3866780615e65d6e242774a965bc6..88b71210d0845e8a4a2cd424ba238c4b
this.interactResult = event.useItemInHand() == Event.Result.DENY;
this.interactPosition = blockposition.immutable();
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 531eeb68bc0623b3c71e67789603ab7946e05818..a1860e21fd53b801ffd651cd27f5a8f9fcd02ee0 100644
+index 489576ddb53766e8aa463772e9260ee996ce974a..46445366327eb7868ff844bfa2299a3f261aef42 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -544,6 +544,12 @@ public class CraftEventFactory {
diff --git a/patches/server/0800-Add-PlayerInventorySlotChangeEvent.patch b/patches/server/0796-Add-PlayerInventorySlotChangeEvent.patch
index 41ff90bb29..7c9e04e6e8 100644
--- a/patches/server/0800-Add-PlayerInventorySlotChangeEvent.patch
+++ b/patches/server/0796-Add-PlayerInventorySlotChangeEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerInventorySlotChangeEvent
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 2fd04f7d39c4d06aa85133a3f53caa6d741d35ae..89ee8c6f2c7201a7b55b3428a6225334fe316224 100644
+index 84792f21cbb727bdb8f72b3574b39c4dad631612..ecdeaa3f5a793895c3a4584ae7e4594b21087167 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -330,6 +330,25 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0801-Elder-Guardian-appearance-API.patch b/patches/server/0797-Elder-Guardian-appearance-API.patch
index 37522eeb4b..302f3da2c2 100644
--- a/patches/server/0801-Elder-Guardian-appearance-API.patch
+++ b/patches/server/0797-Elder-Guardian-appearance-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Elder Guardian appearance API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 10d82f0e0c2c514e971d9cf95848a79ff8b7082d..432790b46ad5edcf504a3aab603597585c82913c 100644
+index d866ad7fd91c64fd0fe6680a417678e3ef5ca41d..6ea05945e26e517563ed359a5216739dd49c7631 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3164,6 +3164,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3215,6 +3215,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
diff --git a/patches/server/0802-Allow-changing-bed-s-occupied-property.patch b/patches/server/0798-Allow-changing-bed-s-occupied-property.patch
index f1d50caf78..f1d50caf78 100644
--- a/patches/server/0802-Allow-changing-bed-s-occupied-property.patch
+++ b/patches/server/0798-Allow-changing-bed-s-occupied-property.patch
diff --git a/patches/server/0803-Add-entity-knockback-API.patch b/patches/server/0799-Add-entity-knockback-API.patch
index 07893eac96..484391c1da 100644
--- a/patches/server/0803-Add-entity-knockback-API.patch
+++ b/patches/server/0799-Add-entity-knockback-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add entity knockback API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index b7aee6c64ffc74924a1b211e097a15e8b27f18f7..6f22f12d37c647c65020bb547ffca95465675e31 100644
+index 1aa4f09d93f36f523923281a6fb17dc184dbed86..908b72e1d85dc3d6992e1aa3018ac4d4c88f6fcf 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -1060,5 +1060,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -1073,5 +1073,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
}
throw new IllegalArgumentException(entityCategory + " is an unrecognized entity category");
}
diff --git a/patches/server/0804-Detect-headless-JREs.patch b/patches/server/0800-Detect-headless-JREs.patch
index baddcbc26a..98f0b6a330 100644
--- a/patches/server/0804-Detect-headless-JREs.patch
+++ b/patches/server/0800-Detect-headless-JREs.patch
@@ -27,7 +27,7 @@ index 6bd0afddbcc461149dfe9a5c7a86fff6ea13a5f1..148d233f4f5278ff39eacdaa0f4f0e7d
+ }
}
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
-index 1cad3585ca122a465572b16d4ecbb7231e87c7de..15464ef7779d62f1dba5edeabcb91c6e677e676f 100644
+index 7a5e70c99716273d04f4cd28d80a38f6f6b3868e..aa19a24b10cc6f4f79bb9ad65f92f60735ac5387 100644
--- a/src/main/java/net/minecraft/server/Main.java
+++ b/src/main/java/net/minecraft/server/Main.java
@@ -175,6 +175,18 @@ public class Main {
diff --git a/patches/server/0805-fix-entity-vehicle-collision-event-not-called.patch b/patches/server/0801-fix-entity-vehicle-collision-event-not-called.patch
index 9fe5a7cf02..9fe5a7cf02 100644
--- a/patches/server/0805-fix-entity-vehicle-collision-event-not-called.patch
+++ b/patches/server/0801-fix-entity-vehicle-collision-event-not-called.patch
diff --git a/patches/server/0806-Add-EntityToggleSitEvent.patch b/patches/server/0802-Add-EntityToggleSitEvent.patch
index 71b347d012..49a9b74fe4 100644
--- a/patches/server/0806-Add-EntityToggleSitEvent.patch
+++ b/patches/server/0802-Add-EntityToggleSitEvent.patch
@@ -31,7 +31,7 @@ index 4d893c445af2b6dc74d5ad731b69eb5a488817b4..e4550d3ac8d93e0dd9a54e41fbbbef2e
if (inSittingPose) {
this.entityData.set(DATA_FLAGS_ID, (byte)(b | 1));
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
-index 94bb69a7f5795e0fbee171433632b5c3bca3b902..287e52dc844c2a64dac74dad117b775f46631157 100644
+index fa0a7e18fed41653b1625cfb12a78d9ee502f2be..12b49510deb0494c4a70b63679f8818960f2af06 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -433,7 +433,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
@@ -69,7 +69,7 @@ index 11694f103ebc522c2ad6eb6d494d39cc31ea3107..f783fe169141d33e8569ec7f5d71985b
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
-index 570b39592e7e3a24828c233ec2a2f113b9ef5868..e89f454fe178483a7db381591a4a345ac24db2b8 100644
+index 16a5e1247a160a7ae3eba2bab9fde42dff5d62c6..2382f4f044e346fbc0e25de8fb2be30f3630c722 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -556,7 +556,7 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl
diff --git a/patches/server/0807-Add-fire-tick-delay-option.patch b/patches/server/0803-Add-fire-tick-delay-option.patch
index b38e866fe5..b38e866fe5 100644
--- a/patches/server/0807-Add-fire-tick-delay-option.patch
+++ b/patches/server/0803-Add-fire-tick-delay-option.patch
diff --git a/patches/server/0808-Add-Moving-Piston-API.patch b/patches/server/0804-Add-Moving-Piston-API.patch
index b0b64257f1..b0b64257f1 100644
--- a/patches/server/0808-Add-Moving-Piston-API.patch
+++ b/patches/server/0804-Add-Moving-Piston-API.patch
diff --git a/patches/server/0809-Ignore-impossible-spawn-tick.patch b/patches/server/0805-Ignore-impossible-spawn-tick.patch
index c123aa8370..116d0fd7f6 100644
--- a/patches/server/0809-Ignore-impossible-spawn-tick.patch
+++ b/patches/server/0805-Ignore-impossible-spawn-tick.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Ignore impossible spawn tick
diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java
-index 7fdf026bdeb85d149e24aa013181a848ece4c55e..f936f4664584f19bc6720c664035747721ea8231 100644
+index 41d2793e69bd664456b5e3c5891b03bdcb31d103..65c3e91ac4541c0150057dc9f012eb1ee566516e 100644
--- a/src/main/java/net/minecraft/world/level/BaseSpawner.java
+++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java
@@ -82,6 +82,7 @@ public abstract class BaseSpawner {
diff --git a/patches/server/0810-Track-projectile-source-for-fireworks-from-dispenser.patch b/patches/server/0806-Track-projectile-source-for-fireworks-from-dispenser.patch
index b78dda85fc..b78dda85fc 100644
--- a/patches/server/0810-Track-projectile-source-for-fireworks-from-dispenser.patch
+++ b/patches/server/0806-Track-projectile-source-for-fireworks-from-dispenser.patch
diff --git a/patches/server/0811-Fix-EntityArgument-suggestion-permissions-to-align-w.patch b/patches/server/0807-Fix-EntityArgument-suggestion-permissions-to-align-w.patch
index 8a2c14c67d..8a2c14c67d 100644
--- a/patches/server/0811-Fix-EntityArgument-suggestion-permissions-to-align-w.patch
+++ b/patches/server/0807-Fix-EntityArgument-suggestion-permissions-to-align-w.patch
diff --git a/patches/server/0812-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch b/patches/server/0808-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
index b576f955d9..17e437d82c 100644
--- a/patches/server/0812-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
+++ b/patches/server/0808-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Fix EntityCombustEvent cancellation cant fully prevent
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index e6739e436f709fd24315932ad6386ed6534721c2..79ceab8d5328df63ec20eb68b30c98fc38bdf51c 100644
+index 7d600e90ad8c7a020988a18e2926872180fb4a1e..11e24044753be205af988474c59b4c8418a02f77 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3091,6 +3091,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -3095,6 +3095,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
pluginManager.callEvent(entityCombustEvent);
if (!entityCombustEvent.isCancelled()) {
this.setSecondsOnFire(entityCombustEvent.getDuration(), false);
@@ -21,7 +21,7 @@ index e6739e436f709fd24315932ad6386ed6534721c2..79ceab8d5328df63ec20eb68b30c98fc
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java
-index 118403953629b405b9db78de1bf684b31289c499..e9ec8a8969651ea6760bf01c622c66efa7f6e7e5 100644
+index ceb5f9867f714b3b6a4602c787574dfa83c006f6..bd7cb2ddcac5cdc1d61899d12fc3383fd00598b1 100644
--- a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java
@@ -134,6 +134,10 @@ public abstract class BaseFireBlock extends Block {
diff --git a/patches/server/0813-Add-PrePlayerAttackEntityEvent.patch b/patches/server/0809-Add-PrePlayerAttackEntityEvent.patch
index 8c00ecdafc..2ad09d3605 100644
--- a/patches/server/0813-Add-PrePlayerAttackEntityEvent.patch
+++ b/patches/server/0809-Add-PrePlayerAttackEntityEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add PrePlayerAttackEntityEvent
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index addbfbf1cae0a9c38ee1daabdb74e9af324f3a94..a7690e89bb6ed07512fc8a110f541183b7df0a63 100644
+index 8ca4f45f1db35a08a335142aa888e98e63cec348..b3a91d7ad2095485006ef1ee7f07c474269ae455 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -1232,8 +1232,17 @@ public abstract class Player extends LivingEntity {
+@@ -1233,8 +1233,17 @@ public abstract class Player extends LivingEntity {
}
public void attack(Entity target) {
diff --git a/patches/server/0814-ensure-reset-EnderDragon-boss-event-name.patch b/patches/server/0810-ensure-reset-EnderDragon-boss-event-name.patch
index 56b3405307..18d504b2fd 100644
--- a/patches/server/0814-ensure-reset-EnderDragon-boss-event-name.patch
+++ b/patches/server/0810-ensure-reset-EnderDragon-boss-event-name.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] ensure reset EnderDragon boss event name
Fix MC-257487
diff --git a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
-index 2d74efff30c93ba664cf8dbf20e47dcdbd767d3f..e2e2c9f168ae4651f8fa484f6f2a17ba25f99207 100644
+index 59f6c3109b34719a7ed487ada5a8ce33ec458e87..b9b773d7dba559afe00b085ded3f020ea6b97c12 100644
--- a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
+++ b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
@@ -73,6 +73,7 @@ public class EndDragonFight {
diff --git a/patches/server/0815-fix-MC-252817-green-map-markers-do-not-disappear.patch b/patches/server/0811-fix-MC-252817-green-map-markers-do-not-disappear.patch
index 6f61c88362..6f61c88362 100644
--- a/patches/server/0815-fix-MC-252817-green-map-markers-do-not-disappear.patch
+++ b/patches/server/0811-fix-MC-252817-green-map-markers-do-not-disappear.patch
diff --git a/patches/server/0816-Add-Player-Warden-Warning-API.patch b/patches/server/0812-Add-Player-Warden-Warning-API.patch
index d0aa5b1c00..e6584699bb 100644
--- a/patches/server/0816-Add-Player-Warden-Warning-API.patch
+++ b/patches/server/0812-Add-Player-Warden-Warning-API.patch
@@ -10,10 +10,10 @@ public net.minecraft.world.entity.monster.warden.WardenSpawnTracker cooldownTick
public net.minecraft.world.entity.monster.warden.WardenSpawnTracker increaseWarningLevel()V
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 432790b46ad5edcf504a3aab603597585c82913c..be5b8e12a7a15b97a34ddd9f50b8780a74faffbf 100644
+index 6ea05945e26e517563ed359a5216739dd49c7631..ca71160491f11bc805a6cb1ad432a6ba4c756931 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3169,6 +3169,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3220,6 +3220,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void showElderGuardian(boolean silent) {
if (getHandle().connection != null) getHandle().connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.GUARDIAN_ELDER_EFFECT, silent ? 0F : 1F));
}
diff --git a/patches/server/0817-More-vanilla-friendly-methods-to-update-trades.patch b/patches/server/0813-More-vanilla-friendly-methods-to-update-trades.patch
index 559443224d..559443224d 100644
--- a/patches/server/0817-More-vanilla-friendly-methods-to-update-trades.patch
+++ b/patches/server/0813-More-vanilla-friendly-methods-to-update-trades.patch
diff --git a/patches/server/0818-Add-paper-dumplisteners-command.patch b/patches/server/0814-Add-paper-dumplisteners-command.patch
index ba293d1dad..ba293d1dad 100644
--- a/patches/server/0818-Add-paper-dumplisteners-command.patch
+++ b/patches/server/0814-Add-paper-dumplisteners-command.patch
diff --git a/patches/server/0819-check-global-player-list-where-appropriate.patch b/patches/server/0815-check-global-player-list-where-appropriate.patch
index 0045fbf607..53e80e9c9e 100644
--- a/patches/server/0819-check-global-player-list-where-appropriate.patch
+++ b/patches/server/0815-check-global-player-list-where-appropriate.patch
@@ -24,10 +24,10 @@ index e7ed2d1160d412790b23550f9ae967179b7a61f4..711712f144d7b0e26d1248f53bf7ac39
+ // Paper end - check global player list where appropriate
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 39d9f33e49cc8099e0f6dc9822e6d471b46d6e28..5cc93ed8e082324c12ba55e7d388a8cdc7f67f1a 100644
+index a33c5870874674c29bf5e50ea58357965d24e54a..38fdb9555edcaf9608c315e24382b4f94370e154 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3677,7 +3677,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3690,7 +3690,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
public void onItemPickup(ItemEntity item) {
diff --git a/patches/server/0820-Fix-async-entity-add-due-to-fungus-trees.patch b/patches/server/0816-Fix-async-entity-add-due-to-fungus-trees.patch
index 2486d05f04..2486d05f04 100644
--- a/patches/server/0820-Fix-async-entity-add-due-to-fungus-trees.patch
+++ b/patches/server/0816-Fix-async-entity-add-due-to-fungus-trees.patch
diff --git a/patches/server/0821-ItemStack-damage-API.patch b/patches/server/0817-ItemStack-damage-API.patch
index 05fdb9a49e..6f851f92db 100644
--- a/patches/server/0821-ItemStack-damage-API.patch
+++ b/patches/server/0817-ItemStack-damage-API.patch
@@ -11,10 +11,10 @@ the logic associated with damaging them
public net.minecraft.world.entity.LivingEntity entityEventForEquipmentBreak(Lnet/minecraft/world/entity/EquipmentSlot;)B
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 6f22f12d37c647c65020bb547ffca95465675e31..3777d6db6cb5099e9b1454a436262c89312fb442 100644
+index 908b72e1d85dc3d6992e1aa3018ac4d4c88f6fcf..77b32e520f80289a44d75ed0cde0b8bc3b3cecc3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -1061,6 +1061,53 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -1074,6 +1074,53 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
throw new IllegalArgumentException(entityCategory + " is an unrecognized entity category");
}
diff --git a/patches/server/0822-Friction-API.patch b/patches/server/0818-Friction-API.patch
index 4df25cbd65..0435b57554 100644
--- a/patches/server/0822-Friction-API.patch
+++ b/patches/server/0818-Friction-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Friction API
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 2e989789139ede20c808d7b024ce95d6c585b5d8..d6f12c3e995ff1b1d77538fd77402225c29b1c51 100644
+index 38fdb9555edcaf9608c315e24382b4f94370e154..bcaa8c21fc09bc4cc3fd4c9bb827ef0750c12aef 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -260,6 +260,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -261,6 +261,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public boolean bukkitPickUpLoot;
public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper
public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event
@@ -16,7 +16,7 @@ index 2e989789139ede20c808d7b024ce95d6c585b5d8..d6f12c3e995ff1b1d77538fd77402225
@Override
public float getBukkitYaw() {
-@@ -715,7 +716,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -716,7 +717,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
public boolean shouldDiscardFriction() {
@@ -25,7 +25,7 @@ index 2e989789139ede20c808d7b024ce95d6c585b5d8..d6f12c3e995ff1b1d77538fd77402225
}
public void setDiscardFriction(boolean noDrag) {
-@@ -759,6 +760,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -760,6 +761,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
@Override
public void addAdditionalSaveData(CompoundTag nbt) {
@@ -37,7 +37,7 @@ index 2e989789139ede20c808d7b024ce95d6c585b5d8..d6f12c3e995ff1b1d77538fd77402225
nbt.putFloat("Health", this.getHealth());
nbt.putShort("HurtTime", (short) this.hurtTime);
nbt.putInt("HurtByTimestamp", this.lastHurtByMobTimestamp);
-@@ -802,6 +808,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -803,6 +809,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.internalSetAbsorptionAmount(absorptionAmount);
// Paper end - Check for NaN
@@ -133,10 +133,10 @@ index cbfd4cf1d7d32757cf124d1aaa4b83d8a155868f..832def3c518be8d6d81e71f6022566e6
public int getHealth() {
return this.getHandle().health;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 3777d6db6cb5099e9b1454a436262c89312fb442..330f0f79e9f12c5faf2aa9898047304ae281c10b 100644
+index 77b32e520f80289a44d75ed0cde0b8bc3b3cecc3..bee23867ae7fdc62ee93277ae1959d6a7df7f5b6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -1108,6 +1108,18 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -1121,6 +1121,18 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
});
}
diff --git a/patches/server/0823-Ability-to-control-player-s-insomnia-and-phantoms.patch b/patches/server/0819-Ability-to-control-player-s-insomnia-and-phantoms.patch
index a5a831fc6e..a5a831fc6e 100644
--- a/patches/server/0823-Ability-to-control-player-s-insomnia-and-phantoms.patch
+++ b/patches/server/0819-Ability-to-control-player-s-insomnia-and-phantoms.patch
diff --git a/patches/server/0824-Fix-player-kick-on-shutdown.patch b/patches/server/0820-Fix-player-kick-on-shutdown.patch
index 0c36dc9398..0c36dc9398 100644
--- a/patches/server/0824-Fix-player-kick-on-shutdown.patch
+++ b/patches/server/0820-Fix-player-kick-on-shutdown.patch
diff --git a/patches/server/0825-Sync-offhand-slot-in-menus.patch b/patches/server/0821-Sync-offhand-slot-in-menus.patch
index f2e498a992..19c9999a04 100644
--- a/patches/server/0825-Sync-offhand-slot-in-menus.patch
+++ b/patches/server/0821-Sync-offhand-slot-in-menus.patch
@@ -8,7 +8,7 @@ offhand slot isn't sent. This is not correct because you *can* put stuff into th
by pressing the offhand swap item
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 89ee8c6f2c7201a7b55b3428a6225334fe316224..c4d49ddee5f6585e0455cc364f895b00b10226bf 100644
+index ecdeaa3f5a793895c3a4584ae7e4594b21087167..d4930c40f03c5f331847bf52736c563a688d7daf 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -299,6 +299,13 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0826-Player-Entity-Tracking-Events.patch b/patches/server/0822-Player-Entity-Tracking-Events.patch
index 8239b8c439..1eae0e930b 100644
--- a/patches/server/0826-Player-Entity-Tracking-Events.patch
+++ b/patches/server/0822-Player-Entity-Tracking-Events.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Player Entity Tracking Events
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index d1ce32936f3b581a4e60582b4f5a433db49d380a..c56136c785e9239df5f8782fae67edb6e52917f4 100644
+index 7c5c9efe4d6037c4c5444d108d76af241144d6b5..601693243c11b06fe0bae0040bf79d95696cdb21 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1749,7 +1749,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -21,10 +21,10 @@ index d1ce32936f3b581a4e60582b4f5a433db49d380a..c56136c785e9239df5f8782fae67edb6
} else if (this.seenBy.remove(player.connection)) {
this.serverEntity.removePairing(player);
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index e3bea8fe8b04f47c5432f957f6364fedcead6e3f..b7263260ab1c0a17d05959bb0d30deeb8e645199 100644
+index 11e24044753be205af988474c59b4c8418a02f77..425e53aaf09618f6e44b9d34ed3412a8f180ac39 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3818,7 +3818,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -3821,7 +3821,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public void startSeenByPlayer(ServerPlayer player) {}
diff --git a/patches/server/0827-Limit-pet-look-distance.patch b/patches/server/0823-Limit-pet-look-distance.patch
index 915187e43e..915187e43e 100644
--- a/patches/server/0827-Limit-pet-look-distance.patch
+++ b/patches/server/0823-Limit-pet-look-distance.patch
diff --git a/patches/server/0828-Fixes-and-additions-to-the-SpawnReason-API.patch b/patches/server/0824-Fixes-and-additions-to-the-SpawnReason-API.patch
index 4169921a24..251043d71f 100644
--- a/patches/server/0828-Fixes-and-additions-to-the-SpawnReason-API.patch
+++ b/patches/server/0824-Fixes-and-additions-to-the-SpawnReason-API.patch
@@ -8,7 +8,7 @@ Fixes some wrong reasons, and adds missing spawn reasons for entities.
Co-authored-by: Doc <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
-index bd4ae65070eb4b98dae0529b5985f80093bf8185..dcdc982b22b7fc836e6ad423a75c75c1d33eb7d8 100644
+index 035af9ccf679a562203a4a2c4f2b38098c57b492..557df259ae54defb43e475e10fc4732854e64f77 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -353,7 +353,7 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
diff --git a/patches/server/0829-fix-Instruments.patch b/patches/server/0825-fix-Instruments.patch
index a69fc68670..0795f113cc 100644
--- a/patches/server/0829-fix-Instruments.patch
+++ b/patches/server/0825-fix-Instruments.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] fix Instruments
properly handle Player#playNote
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 5823c8d3e9c2fa15ad0f062b1a5fe0286b64c712..3f8f928b61ff48e403d7a391343e62fbedf5826d 100644
+index ca71160491f11bc805a6cb1ad432a6ba4c756931..fee318e42bac5f06825352c16f9f03168d8ce271 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -682,7 +682,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -688,7 +688,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
Sound instrumentSound = instrument.getSound();
if (instrumentSound == null) return;
diff --git a/patches/server/0830-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch b/patches/server/0826-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
index 0394a26686..0394a26686 100644
--- a/patches/server/0830-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
+++ b/patches/server/0826-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
diff --git a/patches/server/0831-Fix-inconsistencies-in-dispense-events-regarding-sta.patch b/patches/server/0827-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
index afdba86d79..afdba86d79 100644
--- a/patches/server/0831-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
+++ b/patches/server/0827-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
diff --git a/patches/server/0832-Add-BlockLockCheckEvent.patch b/patches/server/0828-Add-BlockLockCheckEvent.patch
index 7ae4135105..3ac83356d3 100644
--- a/patches/server/0832-Add-BlockLockCheckEvent.patch
+++ b/patches/server/0828-Add-BlockLockCheckEvent.patch
@@ -56,7 +56,7 @@ index fce3a45d09a93ca68a3d49f2e666afa4c860d042..b8b4d74076fa5ed6eb3b2045384db77e
@Nullable
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
-index ae9c69176168e53f6270a0bc02240d190630d015..dbcac8b787e9a18193723b5311fe882060397dc6 100644
+index 247f24c7fadc203ee0f6a6f85122c91ab4c82f80..eff48e43a35a752bd33de2b55a0ad04332109ce0 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
@@ -470,7 +470,7 @@ public class BeaconBlockEntity extends BlockEntity implements MenuProvider, Name
diff --git a/patches/server/0833-Add-Sneaking-API-for-Entities.patch b/patches/server/0829-Add-Sneaking-API-for-Entities.patch
index ec3c098b6e..ec3c098b6e 100644
--- a/patches/server/0833-Add-Sneaking-API-for-Entities.patch
+++ b/patches/server/0829-Add-Sneaking-API-for-Entities.patch
diff --git a/patches/server/0834-Improve-logging-and-errors.patch b/patches/server/0830-Improve-logging-and-errors.patch
index 142ab3d7fe..04779e43c2 100644
--- a/patches/server/0834-Improve-logging-and-errors.patch
+++ b/patches/server/0830-Improve-logging-and-errors.patch
@@ -40,7 +40,7 @@ index 536f0c496ce36ca3248fc6eeac9bbd77214a36f9..31718823250a1490b783f426fff65bf5
while (iterator.hasNext()) {
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index c666bcd29d39ee7bca05edac348b7fa0325e80ab..0c2145c66369a950567ddfbf157067ca7cb4dd11 100644
+index 5675931fe3ea896027a510944fc484f41f5ef555..1b38d267daa7902bcb7d2a71d28b3f39da722ad1 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -265,6 +265,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -52,7 +52,7 @@ index c666bcd29d39ee7bca05edac348b7fa0325e80ab..0c2145c66369a950567ddfbf157067ca
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 17c059020eae2c125971b4f6ffe90db46fb85cd2..6e1f1bd674e02426f42d013e2b0995d45e37ace0 100644
+index 1eae23b70659b729aaec9d1b5b4dedbefb30a29f..a72af814b81ba3ca82476da47d68ae344bb2b63c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3305,7 +3305,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0835-Improve-PortalEvents.patch b/patches/server/0831-Improve-PortalEvents.patch
index 7c24354836..958eba1398 100644
--- a/patches/server/0835-Improve-PortalEvents.patch
+++ b/patches/server/0831-Improve-PortalEvents.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Improve PortalEvents
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index bbf4c314776df09659ba4504b2d0cb90ae4e34d9..57d08daa6ca215b604a3f80db17b78f4bd4f822b 100644
+index 425e53aaf09618f6e44b9d34ed3412a8f180ac39..61abb57036199e8d4580cc4e368cdacd9dba58fd 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3476,7 +3476,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -3479,7 +3479,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
Location enter = bukkitEntity.getLocation();
Location exit = CraftLocation.toBukkit(exitPosition, exitWorldServer.getWorld());
diff --git a/patches/server/0836-Add-config-option-for-spider-worldborder-climbing.patch b/patches/server/0832-Add-config-option-for-spider-worldborder-climbing.patch
index c4325b822a..c4325b822a 100644
--- a/patches/server/0836-Add-config-option-for-spider-worldborder-climbing.patch
+++ b/patches/server/0832-Add-config-option-for-spider-worldborder-climbing.patch
diff --git a/patches/server/0837-Add-missing-SpigotConfig-logCommands-check.patch b/patches/server/0833-Add-missing-SpigotConfig-logCommands-check.patch
index ea5a11a633..c7b08d7fbe 100644
--- a/patches/server/0837-Add-missing-SpigotConfig-logCommands-check.patch
+++ b/patches/server/0833-Add-missing-SpigotConfig-logCommands-check.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add missing SpigotConfig logCommands check
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 6e1f1bd674e02426f42d013e2b0995d45e37ace0..853e4f393c2198d6bc263e546a9fa871f4996d05 100644
+index a72af814b81ba3ca82476da47d68ae344bb2b63c..6b215d271a884bf60bbda5abc46657ddafdca1dc 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2060,7 +2060,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0838-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch b/patches/server/0834-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
index 581ad00ec1..581ad00ec1 100644
--- a/patches/server/0838-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
+++ b/patches/server/0834-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
diff --git a/patches/server/0839-Flying-Fall-Damage.patch b/patches/server/0835-Flying-Fall-Damage.patch
index bb0c1d9542..0637a31240 100644
--- a/patches/server/0839-Flying-Fall-Damage.patch
+++ b/patches/server/0835-Flying-Fall-Damage.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Flying Fall Damage
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index a7690e89bb6ed07512fc8a110f541183b7df0a63..eb6a4518d3919cacc3b7a83870c0f0e87eba3f6e 100644
+index b3a91d7ad2095485006ef1ee7f07c474269ae455..f32708ed934bbbf2416e32fdddc7bb4329958cf6 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -180,6 +180,7 @@ public abstract class Player extends LivingEntity {
+@@ -181,6 +181,7 @@ public abstract class Player extends LivingEntity {
public FishingHook fishing;
public float hurtDir; // Paper - protected -> public
public boolean affectsSpawning = true; // Paper - Affects Spawning API
@@ -16,7 +16,7 @@ index a7690e89bb6ed07512fc8a110f541183b7df0a63..eb6a4518d3919cacc3b7a83870c0f0e8
// CraftBukkit start
public boolean fauxSleeping;
-@@ -1671,7 +1672,7 @@ public abstract class Player extends LivingEntity {
+@@ -1672,7 +1673,7 @@ public abstract class Player extends LivingEntity {
@Override
public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) {
@@ -26,10 +26,10 @@ index a7690e89bb6ed07512fc8a110f541183b7df0a63..eb6a4518d3919cacc3b7a83870c0f0e8
} else {
if (fallDistance >= 2.0F) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index b2990c187d0689eece9e43c7895d8055e8d61586..6748c7f7ccd242dfa782687114bafde051b51cc9 100644
+index fee318e42bac5f06825352c16f9f03168d8ce271..4f62bd701e2645ef37bcfda851723c6b51f5f3d5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2447,6 +2447,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2498,6 +2498,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().onUpdateAbilities();
}
diff --git a/patches/server/0840-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch b/patches/server/0836-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch
index b74b89d5b2..5b9b2afea9 100644
--- a/patches/server/0840-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch
+++ b/patches/server/0836-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch
@@ -6,22 +6,22 @@ Subject: [PATCH] Add exploded block state to BlockExplodeEvent and
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
-index ed1277fad60992344b94f8a939febaca3edd9702..fc6903b20a6e084729306fc960a6fc80e094f76c 100644
+index 8187feffe52efa5c887f1910e581a37c6e439401..fe9b45bfc3d000956f6de5594bf5732fa0e6bb08 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
-@@ -52,6 +52,7 @@ public class DamageSource {
- return this;
- }
- // CraftBukkit end
-+ public @Nullable org.bukkit.block.BlockState explodedBlockState; // Paper - add exploded state
-
- public String toString() {
- return "DamageSource (" + this.type().msgId() + ")";
+@@ -20,6 +20,7 @@ public class DamageSource {
+ private final Entity directEntity;
+ @Nullable
+ private final Vec3 damageSourcePosition;
++ public org.bukkit.block.BlockState explodedBlockState; // Paper - add exploded state
+ // CraftBukkit start
+ @Nullable
+ private org.bukkit.block.Block directBlock; // The block that caused the damage. damageSourcePosition is not used for all block damages
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSources.java b/src/main/java/net/minecraft/world/damagesource/DamageSources.java
-index 8bde8c581796ed11809b80b9a30a33df86116745..f339475185645f7be30963e4f980ce81a6f7e536 100644
+index 8c0653012192144cd11c802d1ad9bf7e42e94f59..a47473c9875c70c52b9a61e0156e55961f34c694 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSources.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSources.java
-@@ -247,8 +247,17 @@ public class DamageSources {
+@@ -257,8 +257,17 @@ public class DamageSources {
return this.source(DamageTypes.SONIC_BOOM, attacker);
}
@@ -41,10 +41,10 @@ index 8bde8c581796ed11809b80b9a30a33df86116745..f339475185645f7be30963e4f980ce81
public DamageSource outOfBorder() {
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
-index c7075aaf417b1dc9eab4a19b72fac50d2a44286b..34159798e6617ce13b3ac8aae07d24d9bca6ee36 100644
+index cd939ab6958e8eb632056d32f68e2fcae7735d64..32775780df3e6f34961119f10c81462c0f729045 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
-@@ -367,7 +367,7 @@ public class Explosion {
+@@ -373,7 +373,7 @@ public class Explosion {
bukkitBlocks = event.blockList();
this.yield = event.getYield();
} else {
@@ -130,15 +130,31 @@ index f81c0d07a5efc92942d8ab5c50a8260db033307d..8afc396c162d928902a9d9beb9f039b0
// See BlockStateFactory#createBlockState(World, BlockPosition, IBlockData, TileEntity)
private static CraftBlockState getBlockState(World world, BlockPos blockPosition, net.minecraft.world.level.block.state.BlockState blockData, BlockEntity tileEntity) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index a1860e21fd53b801ffd651cd27f5a8f9fcd02ee0..52444c7c83e60e5fe40c485c13a59cca9ce5ee20 100644
+index 46445366327eb7868ff844bfa2299a3f261aef42..ee717d1f4cc30e17d7449a52379d6f4a54ec738b 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1071,7 +1071,7 @@ public class CraftEventFactory {
- CraftEventFactory.entityDamage = null;
- EntityDamageEvent event;
+@@ -1069,7 +1069,7 @@ public class CraftEventFactory {
+ Entity damager = source.getCausingEntity();
+ if (source.is(DamageTypeTags.IS_EXPLOSION)) {
if (damager == null) {
-- event = new EntityDamageByBlockEvent(null, entity.getBukkitEntity(), DamageCause.BLOCK_EXPLOSION, modifiers, modifierFunctions);
-+ event = new EntityDamageByBlockEvent(null, entity.getBukkitEntity(), DamageCause.BLOCK_EXPLOSION, modifiers, modifierFunctions, source.explodedBlockState); // Paper - add exploded state
- } else if (entity instanceof EnderDragon && /*PAIL FIXME ((EntityEnderDragon) entity).target == damager*/ false) {
- event = new EntityDamageEvent(entity.getBukkitEntity(), DamageCause.ENTITY_EXPLOSION, modifiers, modifierFunctions);
- } else {
+- return CraftEventFactory.callEntityDamageEvent(source.getDirectBlock(), entity, DamageCause.BLOCK_EXPLOSION, bukkitDamageSource, modifiers, modifierFunctions, cancelled);
++ return CraftEventFactory.callEntityDamageEvent(source.getDirectBlock(), entity, DamageCause.BLOCK_EXPLOSION, bukkitDamageSource, modifiers, modifierFunctions, cancelled, source.explodedBlockState);
+ }
+ DamageCause damageCause = (damager.getBukkitEntity() instanceof org.bukkit.entity.TNTPrimed) ? DamageCause.BLOCK_EXPLOSION : DamageCause.ENTITY_EXPLOSION;
+ return CraftEventFactory.callEntityDamageEvent(damager, entity, damageCause, bukkitDamageSource, modifiers, modifierFunctions, cancelled, source.isCritical()); // Paper - add critical damage API
+@@ -1173,8 +1173,13 @@ public class CraftEventFactory {
+ return CraftEventFactory.callEntityDamageEvent(event, damagee, cancelled);
+ }
+
+- private static EntityDamageEvent callEntityDamageEvent(Block damager, Entity damagee, DamageCause cause, org.bukkit.damage.DamageSource bukkitDamageSource, Map<DamageModifier, Double> modifiers, Map<DamageModifier, Function<? super Double, Double>> modifierFunctions, boolean cancelled) {
+- EntityDamageByBlockEvent event = new EntityDamageByBlockEvent(damager, damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions);
++ // Paper start
++ private static EntityDamageEvent callEntityDamageEvent(Block damager, Entity damagee, DamageCause cause, org.bukkit.damage.DamageSource bukkitDamageSource, Map<DamageModifier, Double> modifiers, Map<DamageModifier, Function<? super Double, Double>> modifierFunctions, boolean cancelled) { // Paper
++ return callEntityDamageEvent(damager, damagee, cause, bukkitDamageSource, modifiers, modifierFunctions, cancelled, null);
++ }
++ private static EntityDamageEvent callEntityDamageEvent(Block damager, Entity damagee, DamageCause cause, org.bukkit.damage.DamageSource bukkitDamageSource, Map<DamageModifier, Double> modifiers, Map<DamageModifier, Function<? super Double, Double>> modifierFunctions, boolean cancelled, @Nullable org.bukkit.block.BlockState explodedBlockState) {
++ EntityDamageByBlockEvent event = new EntityDamageByBlockEvent(damager, damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions, explodedBlockState);
++ // Paper end
+ return CraftEventFactory.callEntityDamageEvent(event, damagee, cancelled);
+ }
+
diff --git a/patches/server/0841-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/server/0837-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
index c2637e2f18..3352d79d45 100644
--- a/patches/server/0841-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
+++ b/patches/server/0837-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Expose pre-collision moving velocity to
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 57d08daa6ca215b604a3f80db17b78f4bd4f822b..ecef6daf948550a9bf9b30413466b5f3d70ba6b2 100644
+index 5b89426cdca61ecc99f53b64d1e088e043effcfd..576cef82f7ea57642430897de2e5212cae234701 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -945,6 +945,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -944,6 +944,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public void move(MoverType movementType, Vec3 movement) {
@@ -17,7 +17,7 @@ index 57d08daa6ca215b604a3f80db17b78f4bd4f822b..ecef6daf948550a9bf9b30413466b5f3
if (this.noPhysics) {
this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
} else {
-@@ -1029,7 +1030,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -1028,7 +1029,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
if (!bl.getType().isAir()) {
diff --git a/patches/server/0842-config-for-disabling-entity-tag-tags.patch b/patches/server/0838-config-for-disabling-entity-tag-tags.patch
index 822a325fe5..822a325fe5 100644
--- a/patches/server/0842-config-for-disabling-entity-tag-tags.patch
+++ b/patches/server/0838-config-for-disabling-entity-tag-tags.patch
diff --git a/patches/server/0843-Use-single-player-info-update-packet-on-join.patch b/patches/server/0839-Use-single-player-info-update-packet-on-join.patch
index 72ccc71112..44156f411a 100644
--- a/patches/server/0843-Use-single-player-info-update-packet-on-join.patch
+++ b/patches/server/0839-Use-single-player-info-update-packet-on-join.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Use single player info update packet on join
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 853e4f393c2198d6bc263e546a9fa871f4996d05..ada6ba862fee7dc474d57141947f18610f6c5974 100644
+index 6b215d271a884bf60bbda5abc46657ddafdca1dc..006c1fa70bd38a3db9844a77f3f5d22b0d083ddf 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3335,7 +3335,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0844-Correctly-shrink-items-during-EntityResurrectEvent.patch b/patches/server/0840-Correctly-shrink-items-during-EntityResurrectEvent.patch
index 2e56758940..984dd39b35 100644
--- a/patches/server/0844-Correctly-shrink-items-during-EntityResurrectEvent.patch
+++ b/patches/server/0840-Correctly-shrink-items-during-EntityResurrectEvent.patch
@@ -22,10 +22,10 @@ This patch corrects this behaviour by only shrinking the item if a totem
of undying was found and the event was called uncancelled.
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index d6f12c3e995ff1b1d77538fd77402225c29b1c51..0bb241158cde5c3af1b28065a39c2455ef82eefe 100644
+index bcaa8c21fc09bc4cc3fd4c9bb827ef0750c12aef..e0071236139ab70ba28794f3c7e44640f8d60a2a 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -1609,7 +1609,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1610,7 +1610,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.level().getCraftServer().getPluginManager().callEvent(event);
if (!event.isCancelled()) {
diff --git a/patches/server/0845-Win-Screen-API.patch b/patches/server/0841-Win-Screen-API.patch
index 1a5412d4c0..0cc81b1cb8 100644
--- a/patches/server/0845-Win-Screen-API.patch
+++ b/patches/server/0841-Win-Screen-API.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Win Screen API
public net.minecraft.server.level.ServerPlayer seenCredits
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index c9616b31b074c82eb06d9254ae65a0a85260d480..66176fc39f5e6a06b1a5e92627747fbbad87c6d0 100644
+index 4f62bd701e2645ef37bcfda851723c6b51f5f3d5..04e5be79348733f5a6a8b1968b6887379fa65027 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1184,6 +1184,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1214,6 +1214,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(packet);
}
diff --git a/patches/server/0846-Remove-CraftItemStack-setAmount-null-assignment.patch b/patches/server/0842-Remove-CraftItemStack-setAmount-null-assignment.patch
index 4dff637cb9..8d4f6df398 100644
--- a/patches/server/0846-Remove-CraftItemStack-setAmount-null-assignment.patch
+++ b/patches/server/0842-Remove-CraftItemStack-setAmount-null-assignment.patch
@@ -16,7 +16,7 @@ with less than zero amounts, so this code doesn't create
a problem with operations on the vanilla ItemStack.
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
-index a4d522a19f1a1288baa2688d5beb62c91a5fb3a3..749bf6a897b053197988112551192abe6af2f186 100644
+index 6725c0824b986885c8aade846f6e159986ffbe59..312e756843f62371048a4d8de9deb024bd9846a7 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
@@ -157,7 +157,7 @@ public final class CraftItemStack extends ItemStack {
diff --git a/patches/server/0847-Fix-force-opening-enchantment-tables.patch b/patches/server/0843-Fix-force-opening-enchantment-tables.patch
index 70439d1f0f..70439d1f0f 100644
--- a/patches/server/0847-Fix-force-opening-enchantment-tables.patch
+++ b/patches/server/0843-Fix-force-opening-enchantment-tables.patch
diff --git a/patches/server/0848-Add-Entity-Body-Yaw-API.patch b/patches/server/0844-Add-Entity-Body-Yaw-API.patch
index 132de41648..9f3794076e 100644
--- a/patches/server/0848-Add-Entity-Body-Yaw-API.patch
+++ b/patches/server/0844-Add-Entity-Body-Yaw-API.patch
@@ -41,10 +41,10 @@ index 55a9c4eb0fe1b912e5ff6c9bb81b46674f71868a..e043a43ebda1df7b78c1368ce33a3648
// Paper start - Collision API
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 330f0f79e9f12c5faf2aa9898047304ae281c10b..11a52a11891f5dca5f2a6b2e77b6a090f4a69726 100644
+index bee23867ae7fdc62ee93277ae1959d6a7df7f5b6..4abfe34ee595fef3e1253090410c6309d3459a84 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -1100,6 +1100,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -1113,6 +1113,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
this.damageItemStack0(this.getHandle().getItemBySlot(nmsSlot), amount, nmsSlot);
}
diff --git a/patches/server/0849-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch b/patches/server/0845-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
index efaf1a6e90..efaf1a6e90 100644
--- a/patches/server/0849-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
+++ b/patches/server/0845-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
diff --git a/patches/server/0850-Update-the-flag-when-a-captured-block-state-is-outda.patch b/patches/server/0846-Update-the-flag-when-a-captured-block-state-is-outda.patch
index d580c7b237..d580c7b237 100644
--- a/patches/server/0850-Update-the-flag-when-a-captured-block-state-is-outda.patch
+++ b/patches/server/0846-Update-the-flag-when-a-captured-block-state-is-outda.patch
diff --git a/patches/server/0851-Add-EntityFertilizeEggEvent.patch b/patches/server/0847-Add-EntityFertilizeEggEvent.patch
index 0e6deec6ad..c076927ac1 100644
--- a/patches/server/0851-Add-EntityFertilizeEggEvent.patch
+++ b/patches/server/0847-Add-EntityFertilizeEggEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityFertilizeEggEvent
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
-index 6bbcdd34fb89ea5774e825de8f9a588552716fc2..379990c0ea9d10fd3c627ffff2198cb554780eb0 100644
+index cfc0cee09dfd522409bb5853fc96528bd0137475..6a98f66b7701e8af389ca9a1e9eb230a6100c838 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
-@@ -445,6 +445,10 @@ public class Turtle extends Animal {
+@@ -443,6 +443,10 @@ public class Turtle extends Animal {
if (entityplayer == null && this.partner.getLoveCause() != null) {
entityplayer = this.partner.getLoveCause();
}
@@ -19,7 +19,7 @@ index 6bbcdd34fb89ea5774e825de8f9a588552716fc2..379990c0ea9d10fd3c627ffff2198cb5
if (entityplayer != null) {
entityplayer.awardStat(Stats.ANIMALS_BRED);
-@@ -459,7 +463,7 @@ public class Turtle extends Animal {
+@@ -457,7 +461,7 @@ public class Turtle extends Animal {
RandomSource randomsource = this.animal.getRandom();
if (this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
@@ -69,10 +69,10 @@ index 0e85e3ab58d848b119212fa7d2eb4f92d3efe29b..0a5b953bd8c0c7f181da4090b950e9e6
this.playSound(SoundEvents.SNIFFER_EGG_PLOP, 1.0F, (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 0.5F);
} // Paper - Call EntityDropItemEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index adad1dd09d190d8b7dfcf5a469d2514b043ee357..06263beb88b6f201d8aef12c28a8d91e148f94e5 100644
+index ee717d1f4cc30e17d7449a52379d6f4a54ec738b..e1d19207ba70e1ecc85af2ca4cfd6ed8c4d4a9e7 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -2150,4 +2150,28 @@ public class CraftEventFactory {
+@@ -2092,4 +2092,28 @@ public class CraftEventFactory {
return event.callEvent();
}
// Paper end
diff --git a/patches/server/0852-Fix-HumanEntity-drop-not-updating-the-client-inv.patch b/patches/server/0848-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
index 39cf518fa6..39cf518fa6 100644
--- a/patches/server/0852-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
+++ b/patches/server/0848-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
diff --git a/patches/server/0853-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/server/0849-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
index a1fa4eea77..a1fa4eea77 100644
--- a/patches/server/0853-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
+++ b/patches/server/0849-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
diff --git a/patches/server/0854-Correctly-handle-ArmorStand-invisibility.patch b/patches/server/0850-Correctly-handle-ArmorStand-invisibility.patch
index ea22d29006..ea22d29006 100644
--- a/patches/server/0854-Correctly-handle-ArmorStand-invisibility.patch
+++ b/patches/server/0850-Correctly-handle-ArmorStand-invisibility.patch
diff --git a/patches/server/0855-Fix-advancement-triggers-for-entity-damage.patch b/patches/server/0851-Fix-advancement-triggers-for-entity-damage.patch
index cb8de1cc65..6407d2f947 100644
--- a/patches/server/0855-Fix-advancement-triggers-for-entity-damage.patch
+++ b/patches/server/0851-Fix-advancement-triggers-for-entity-damage.patch
@@ -23,10 +23,10 @@ index f054d67a637b204de604fadc0d321f5c9816d808..fc5f1e1b445f0a55a35a31d58a90920a
return !this.getResponse();
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index b6a8530074c898392879405e8ae774ce15c05776..f6592d997a4cfd9d3ca86cd955e3de0a49743bfa 100644
+index e0071236139ab70ba28794f3c7e44640f8d60a2a..549bb5caa38e08196fddbd4e4255b499c784a9c2 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -2301,7 +2301,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2314,7 +2314,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
// Duplicate triggers if blocking
if (event.getDamage(DamageModifier.BLOCKING) < 0) {
if (this instanceof ServerPlayer) {
@@ -35,7 +35,7 @@ index b6a8530074c898392879405e8ae774ce15c05776..f6592d997a4cfd9d3ca86cd955e3de0a
f2 = (float) -event.getDamage(DamageModifier.BLOCKING);
if (f2 > 0.0F && f2 < 3.4028235E37F) {
((ServerPlayer) this).awardStat(Stats.DAMAGE_BLOCKED_BY_SHIELD, Math.round(originalDamage * 10.0F));
-@@ -2309,7 +2309,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2322,7 +2322,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
if (damagesource.getEntity() instanceof ServerPlayer) {
diff --git a/patches/server/0856-Fix-text-display-error-on-spawn.patch b/patches/server/0852-Fix-text-display-error-on-spawn.patch
index 7074ea7170..7074ea7170 100644
--- a/patches/server/0856-Fix-text-display-error-on-spawn.patch
+++ b/patches/server/0852-Fix-text-display-error-on-spawn.patch
diff --git a/patches/server/0857-Fix-inventories-returning-null-Locations.patch b/patches/server/0853-Fix-inventories-returning-null-Locations.patch
index 9cf8fcb0e6..763bde3953 100644
--- a/patches/server/0857-Fix-inventories-returning-null-Locations.patch
+++ b/patches/server/0853-Fix-inventories-returning-null-Locations.patch
@@ -30,7 +30,7 @@ index d5eeb2fcb119b815213aeffb3811d4a843502e50..ff1aba1e69cfde633fd01724f1a8d0af
}
diff --git a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java
-index de919d72e6e3ef160c7d22ca6a4e9f79a1fe493e..86199457586dc4d4f0d8ccaac812e8340aaac957 100644
+index 9599a5f96601030bf7f7cbd3392861d626959f9d..2813a87a01d0704a3de210cd005073f953d538f8 100644
--- a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java
@@ -51,6 +51,12 @@ public class BeaconMenu extends AbstractContainerMenu {
diff --git a/patches/server/0858-Add-Shearable-API.patch b/patches/server/0854-Add-Shearable-API.patch
index 0cd904ff9d..8ab6feec02 100644
--- a/patches/server/0858-Add-Shearable-API.patch
+++ b/patches/server/0854-Add-Shearable-API.patch
@@ -32,12 +32,12 @@ index 0000000000000000000000000000000000000000..bcf254e3c81cf1e401bddc850fb24ad2
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMushroomCow.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMushroomCow.java
-index c20f470bec5292dde7fbdbf3a6562ae12117521d..e5df527d3f0b82327bcd4cb66c12baa439b4cec6 100644
+index a41a85ad89a177759c97d661a89b8b5dc419db1b..1d78ae1db211a452a42fb4a7bef4cca4b7c71a1f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMushroomCow.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMushroomCow.java
-@@ -5,7 +5,7 @@ import org.bukkit.craftbukkit.CraftServer;
- import org.bukkit.entity.MushroomCow;
- import org.bukkit.entity.MushroomCow.Variant;
+@@ -14,7 +14,7 @@ import org.bukkit.entity.MushroomCow;
+ import org.bukkit.potion.PotionEffect;
+ import org.bukkit.potion.PotionEffectType;
-public class CraftMushroomCow extends CraftCow implements MushroomCow {
+public class CraftMushroomCow extends CraftCow implements MushroomCow, io.papermc.paper.entity.PaperShearable { // Paper
diff --git a/patches/server/0859-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/server/0855-Fix-SpawnEggMeta-get-setSpawnedType.patch
index 682696f502..682696f502 100644
--- a/patches/server/0859-Fix-SpawnEggMeta-get-setSpawnedType.patch
+++ b/patches/server/0855-Fix-SpawnEggMeta-get-setSpawnedType.patch
diff --git a/patches/server/0861-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch b/patches/server/0856-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
index 576441539c..576441539c 100644
--- a/patches/server/0861-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
+++ b/patches/server/0856-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
diff --git a/patches/server/0862-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0857-Treat-sequence-violations-like-they-should-be.patch
index f48fe55b71..360f303ea0 100644
--- a/patches/server/0862-Treat-sequence-violations-like-they-should-be.patch
+++ b/patches/server/0857-Treat-sequence-violations-like-they-should-be.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Treat sequence violations like they should be
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index ada6ba862fee7dc474d57141947f18610f6c5974..10c17dacef22caa4616e0f93e4004ca4e63b9af0 100644
+index 006c1fa70bd38a3db9844a77f3f5d22b0d083ddf..2e12d2f22485644bc2fc3d5235cfd3bc755f6c72 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1964,6 +1964,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0863-remove-duplicate-animate-packet-for-records.patch b/patches/server/0858-remove-duplicate-animate-packet-for-records.patch
index 9254f5b8cf..9254f5b8cf 100644
--- a/patches/server/0863-remove-duplicate-animate-packet-for-records.patch
+++ b/patches/server/0858-remove-duplicate-animate-packet-for-records.patch
diff --git a/patches/server/0864-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0859-Prevent-causing-expired-keys-from-impacting-new-join.patch
index d1779637bf..00bb9c643b 100644
--- a/patches/server/0864-Prevent-causing-expired-keys-from-impacting-new-join.patch
+++ b/patches/server/0859-Prevent-causing-expired-keys-from-impacting-new-join.patch
@@ -24,7 +24,7 @@ index 0e54e8faa48751a651b953bec72543a94edf74bc..d43106eb89b14667e85cd6e8fa047d64
UPDATE_GAME_MODE((serialized, buf) -> {
serialized.gameMode = GameType.byId(buf.readVarInt());
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 10c17dacef22caa4616e0f93e4004ca4e63b9af0..0bc974ff4124ff6bfc355a6dac362574a649c476 100644
+index 2e12d2f22485644bc2fc3d5235cfd3bc755f6c72..d8dd44d0f247ab05bc8323548bdec0f67ab641bc 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -286,6 +286,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0860-Fix-beehives-generating-from-using-bonemeal.patch b/patches/server/0860-Fix-beehives-generating-from-using-bonemeal.patch
deleted file mode 100644
index 51f5e5014e..0000000000
--- a/patches/server/0860-Fix-beehives-generating-from-using-bonemeal.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Jake Potrebic <[email protected]>
-Date: Sun, 26 Mar 2023 18:07:56 -0700
-Subject: [PATCH] Fix beehives generating from using bonemeal
-
-
-diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index 23fec59b51c99c1f0ac19ffd6c84ffa8fc3caaac..0e9d515381a673e683b63a12c1a9e79a5eedd80b 100644
---- a/src/main/java/net/minecraft/world/item/ItemStack.java
-+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -422,6 +422,7 @@ public final class ItemStack {
- }
- for (CraftBlockState blockstate : blocks) {
- world.setBlock(blockstate.getPosition(),blockstate.getHandle(), blockstate.getFlag()); // SPIGOT-7248 - manual update to avoid physics where appropriate
-+ if (blockstate instanceof org.bukkit.craftbukkit.block.CapturedBlockState capturedBlockState) capturedBlockState.checkTreeBlockHack(); // Paper - Fix beehives generating from using bonemeal
- }
- entityhuman.awardStat(Stats.ITEM_USED.get(item)); // SPIGOT-7236 - award stat
- }
-diff --git a/src/main/java/org/bukkit/craftbukkit/block/CapturedBlockState.java b/src/main/java/org/bukkit/craftbukkit/block/CapturedBlockState.java
-index 2aab5ba9e90f09e6d679ee0d0d5d5e52c44b677f..c17c8b2bff32bfd101675d73f8ab81b35a9e1c15 100644
---- a/src/main/java/org/bukkit/craftbukkit/block/CapturedBlockState.java
-+++ b/src/main/java/org/bukkit/craftbukkit/block/CapturedBlockState.java
-@@ -31,6 +31,12 @@ public final class CapturedBlockState extends CraftBlockState {
- public boolean update(boolean force, boolean applyPhysics) {
- boolean result = super.update(force, applyPhysics);
-
-+ // Paper start - Fix beehives generating from using bonemeal
-+ this.checkTreeBlockHack();
-+ return result;
-+ }
-+ public void checkTreeBlockHack() {
-+ // Paper end - Fix beehives generating from using bonemeal
- // SPIGOT-5537: Horrible hack to manually add bees given World.captureTreeGeneration does not support tiles
- if (this.treeBlock && this.getType() == Material.BEE_NEST) {
- WorldGenLevel generatoraccessseed = this.world.getHandle();
-@@ -53,7 +59,7 @@ public final class CapturedBlockState extends CraftBlockState {
- // End copied block
- }
-
-- return result;
-+ // Paper - Fix beehives generating from using bonemeal
- }
-
- @Override
diff --git a/patches/server/0865-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch b/patches/server/0860-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
index 88a92e8a06..88a92e8a06 100644
--- a/patches/server/0865-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
+++ b/patches/server/0860-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
diff --git a/patches/server/0866-Use-array-for-gamerule-storage.patch b/patches/server/0861-Use-array-for-gamerule-storage.patch
index 1629a3b7cf..1a7c2006a5 100644
--- a/patches/server/0866-Use-array-for-gamerule-storage.patch
+++ b/patches/server/0861-Use-array-for-gamerule-storage.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Use array for gamerule storage
diff --git a/src/main/java/net/minecraft/world/level/GameRules.java b/src/main/java/net/minecraft/world/level/GameRules.java
-index 0112ef51815c4fab38b95d5e917d335eeaaa21cd..c246981987017a2f86c5d632929356855e2b5714 100644
+index ac7a5410b01a6741e3b548d153f37ea1d8c1a4cb..4a340bd1f1859e43bb58e68aee4018fdb4ca7a5a 100644
--- a/src/main/java/net/minecraft/world/level/GameRules.java
+++ b/src/main/java/net/minecraft/world/level/GameRules.java
-@@ -114,6 +114,7 @@ public class GameRules {
+@@ -115,6 +115,7 @@ public class GameRules {
public static final GameRules.Key<GameRules.BooleanValue> RULE_DO_VINES_SPREAD = GameRules.register("doVinesSpread", GameRules.Category.UPDATES, GameRules.BooleanValue.create(true));
public static final GameRules.Key<GameRules.BooleanValue> RULE_ENDER_PEARLS_VANISH_ON_DEATH = GameRules.register("enderPearlsVanishOnDeath", GameRules.Category.PLAYER, GameRules.BooleanValue.create(true));
private final Map<GameRules.Key<?>, GameRules.Value<?>> rules;
@@ -16,7 +16,7 @@ index 0112ef51815c4fab38b95d5e917d335eeaaa21cd..c246981987017a2f86c5d63292935685
private static <T extends GameRules.Value<T>> GameRules.Key<T> register(String name, GameRules.Category category, GameRules.Type<T> type) {
GameRules.Key<T> gamerules_gamerulekey = new GameRules.Key<>(name, category);
-@@ -132,17 +133,30 @@ public class GameRules {
+@@ -133,17 +134,30 @@ public class GameRules {
}
public GameRules() {
@@ -50,7 +50,7 @@ index 0112ef51815c4fab38b95d5e917d335eeaaa21cd..c246981987017a2f86c5d63292935685
}
public CompoundTag createTag() {
-@@ -201,6 +215,10 @@ public class GameRules {
+@@ -202,6 +216,10 @@ public class GameRules {
}
public static final class Key<T extends GameRules.Value<T>> {
diff --git a/patches/server/0867-Fix-a-couple-of-upstream-bed-issues.patch b/patches/server/0862-Fix-a-couple-of-upstream-bed-issues.patch
index 5e51d9930e..6740daf4d1 100644
--- a/patches/server/0867-Fix-a-couple-of-upstream-bed-issues.patch
+++ b/patches/server/0862-Fix-a-couple-of-upstream-bed-issues.patch
@@ -10,7 +10,7 @@ but then replaced it with a bed, you could respawn
at the bed in that world.
diff --git a/src/main/java/net/minecraft/world/level/block/BedBlock.java b/src/main/java/net/minecraft/world/level/block/BedBlock.java
-index c6322da14262b8cc2a37ffef5149d008b74bd5e5..8677dc684bd2e0bb3cf5f77b659ce02b79627e76 100644
+index c14cddd42c61512c312231b1e93ccc6efbde620c..38fcde81d797dc46409f5a9ed426fe296d79bdfa 100644
--- a/src/main/java/net/minecraft/world/level/block/BedBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/BedBlock.java
@@ -109,6 +109,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock
diff --git a/patches/server/0868-Fix-demo-flag-not-enabling-demo-mode.patch b/patches/server/0863-Fix-demo-flag-not-enabling-demo-mode.patch
index 65ea83a2c1..65ea83a2c1 100644
--- a/patches/server/0868-Fix-demo-flag-not-enabling-demo-mode.patch
+++ b/patches/server/0863-Fix-demo-flag-not-enabling-demo-mode.patch
diff --git a/patches/server/0869-Add-Mob-Experience-reward-API.patch b/patches/server/0864-Add-Mob-Experience-reward-API.patch
index 874d481524..874d481524 100644
--- a/patches/server/0869-Add-Mob-Experience-reward-API.patch
+++ b/patches/server/0864-Add-Mob-Experience-reward-API.patch
diff --git a/patches/server/0870-Break-redstone-on-top-of-trap-doors-early.patch b/patches/server/0865-Break-redstone-on-top-of-trap-doors-early.patch
index fd04a38431..fd04a38431 100644
--- a/patches/server/0870-Break-redstone-on-top-of-trap-doors-early.patch
+++ b/patches/server/0865-Break-redstone-on-top-of-trap-doors-early.patch
diff --git a/patches/server/0872-Avoid-Lazy-Initialization-for-Enum-Fields.patch b/patches/server/0866-Avoid-Lazy-Initialization-for-Enum-Fields.patch
index 346c3fd86c..346c3fd86c 100644
--- a/patches/server/0872-Avoid-Lazy-Initialization-for-Enum-Fields.patch
+++ b/patches/server/0866-Avoid-Lazy-Initialization-for-Enum-Fields.patch
diff --git a/patches/server/0873-More-accurate-isInOpenWater-impl.patch b/patches/server/0867-More-accurate-isInOpenWater-impl.patch
index ca26fd9045..ca26fd9045 100644
--- a/patches/server/0873-More-accurate-isInOpenWater-impl.patch
+++ b/patches/server/0867-More-accurate-isInOpenWater-impl.patch
diff --git a/patches/server/0874-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch b/patches/server/0868-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch
index 01fcd2b852..01fcd2b852 100644
--- a/patches/server/0874-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch
+++ b/patches/server/0868-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch
diff --git a/patches/server/0875-Expand-PlayerItemMendEvent.patch b/patches/server/0869-Expand-PlayerItemMendEvent.patch
index 6e8c66232a..e603155464 100644
--- a/patches/server/0875-Expand-PlayerItemMendEvent.patch
+++ b/patches/server/0869-Expand-PlayerItemMendEvent.patch
@@ -33,10 +33,10 @@ index 36d5d1736bf826f3abc756277de431c94cabb744..e814b2ef2577f032d6760de2f798d4fe
return k > 0 ? this.repairPlayerItems(player, k) : 0;
} else {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 561703f56637046bc274c378a63c03f684b5b787..5190613932bc1084d617f49e1517a9942e3765fc 100644
+index 04e5be79348733f5a6a8b1968b6887379fa65027..c7e0aa94a8c1f821f723f323b69bacfd2d2d8aa3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1727,11 +1727,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1757,11 +1757,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
orb.setPosRaw(handle.getX(), handle.getY(), handle.getZ());
int i = Math.min(orb.xpToDurability(amount), itemstack.getDamageValue());
@@ -51,10 +51,10 @@ index 561703f56637046bc274c378a63c03f684b5b787..5190613932bc1084d617f49e1517a994
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 734f68cee62a31513bdfefa5c7074ac38b3c1622..1325f680ce03b6ffae04f5c519b789fdd10ed8a3 100644
+index e1d19207ba70e1ecc85af2ca4cfd6ed8c4d4a9e7..7934eea4ede9db90ad2a45a2a5ac64b264b2f91a 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1347,10 +1347,10 @@ public class CraftEventFactory {
+@@ -1270,10 +1270,10 @@ public class CraftEventFactory {
return event;
}
diff --git a/patches/server/0876-Refresh-ProjectileSource-for-projectiles.patch b/patches/server/0870-Refresh-ProjectileSource-for-projectiles.patch
index dae5f4e3f7..b8d815849b 100644
--- a/patches/server/0876-Refresh-ProjectileSource-for-projectiles.patch
+++ b/patches/server/0870-Refresh-ProjectileSource-for-projectiles.patch
@@ -14,7 +14,7 @@ clearing the owner.
Co-authored-by: Warrior <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 287450e58076e63f9686a1ad2c1148c24a5c7252..1ce9f436fee9722fc7367447333db8e13230c156 100644
+index 576cef82f7ea57642430897de2e5212cae234701..0bc310f8edb886c84aa71a7502e297127647cbe5 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -383,6 +383,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
diff --git a/patches/server/0877-Add-transient-modifier-API.patch b/patches/server/0871-Add-transient-modifier-API.patch
index 8144e5dc44..8144e5dc44 100644
--- a/patches/server/0877-Add-transient-modifier-API.patch
+++ b/patches/server/0871-Add-transient-modifier-API.patch
diff --git a/patches/server/0871-Fix-DamageCause-for-Falling-Blocks.patch b/patches/server/0871-Fix-DamageCause-for-Falling-Blocks.patch
deleted file mode 100644
index 1edf21d719..0000000000
--- a/patches/server/0871-Fix-DamageCause-for-Falling-Blocks.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Doc <[email protected]>
-Date: Mon, 1 May 2023 13:34:57 -0400
-Subject: [PATCH] Fix DamageCause for Falling Blocks
-
-
-diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 0e640dc081228484a4568f2c5fed71610ac1c6c6..734f68cee62a31513bdfefa5c7074ac38b3c1622 100644
---- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1111,6 +1111,11 @@ public class CraftEventFactory {
- } else if (source.is(DamageTypes.SONIC_BOOM)) {
- cause = DamageCause.SONIC_BOOM;
- }
-+ // Paper start - fix falling block handling
-+ else if (source.is(DamageTypes.FALLING_STALACTITE) || source.is(DamageTypes.FALLING_BLOCK) || source.is(DamageTypes.FALLING_ANVIL)) {
-+ cause = DamageCause.FALLING_BLOCK;
-+ }
-+ // Paper end - fix falling block handling
-
- return CraftEventFactory.callEntityDamageEvent(damager, entity, cause, modifiers, modifierFunctions, cancelled, source.isCritical()); // Paper - add critical damage API
- } else if (source.is(DamageTypes.FELL_OUT_OF_WORLD)) {
diff --git a/patches/server/0878-Fix-block-place-logic.patch b/patches/server/0872-Fix-block-place-logic.patch
index 63d644e31e..d94615de79 100644
--- a/patches/server/0878-Fix-block-place-logic.patch
+++ b/patches/server/0872-Fix-block-place-logic.patch
@@ -22,10 +22,10 @@ index 1ac739c92031e80c35e1af4417e6358346079580..8c54b92b65b3d379e14a11370b09d453
if ((entityhuman == null || !entityhuman.getAbilities().instabuild) && itemstack != ItemStack.EMPTY) { // CraftBukkit
itemstack.shrink(1);
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index 0e9d515381a673e683b63a12c1a9e79a5eedd80b..096eb30dcfdd62b1d946891f7480e9d9c4dbb71d 100644
+index 59c4550b4cb8b0317f5256efc9376265f4583b60..964d6af9eb9752b9e08f712c80b67bd9410d1554 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -493,13 +493,7 @@ public final class ItemStack {
+@@ -494,13 +494,7 @@ public final class ItemStack {
if (tileentity instanceof JukeboxBlockEntity) {
JukeboxBlockEntity tileentityjukebox = (JukeboxBlockEntity) tileentity;
diff --git a/patches/server/0879-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch b/patches/server/0873-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
index 3b104d8aa3..288b2c3711 100644
--- a/patches/server/0879-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
+++ b/patches/server/0873-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix spigot sound playing for BlockItem ItemStacks
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index 096eb30dcfdd62b1d946891f7480e9d9c4dbb71d..ecea96202f81e4955c0af554da070984e6e416ff 100644
+index 964d6af9eb9752b9e08f712c80b67bd9410d1554..30cf71507c45432b2b5ac636aff852acf662ce60 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -544,7 +544,11 @@ public final class ItemStack {
+@@ -545,7 +545,11 @@ public final class ItemStack {
// SPIGOT-1288 - play sound stripped from ItemBlock
if (this.item instanceof BlockItem) {
diff --git a/patches/server/0880-Call-BlockGrowEvent-for-missing-blocks.patch b/patches/server/0874-Call-BlockGrowEvent-for-missing-blocks.patch
index 9054b42b6b..9054b42b6b 100644
--- a/patches/server/0880-Call-BlockGrowEvent-for-missing-blocks.patch
+++ b/patches/server/0874-Call-BlockGrowEvent-for-missing-blocks.patch
diff --git a/patches/server/0881-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch b/patches/server/0875-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
index f487b964ca..954f7480a5 100644
--- a/patches/server/0881-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
+++ b/patches/server/0875-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Don't enforce icanhasbukkit default if alias block exists
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index f5bd1a68502be87e03923934b25fb3e982762be7..b66b01a743353e3b829f65bc619b39cc62d5f4fe 100644
+index 10450a2bb6973a647fb6969d3c142e7a6a1011a4..56a6b3921c74bdeb27f8736302503bee1f731065 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -352,7 +352,11 @@ public final class CraftServer implements Server {
+@@ -354,7 +354,11 @@ public final class CraftServer implements Server {
}
this.commandsConfiguration = YamlConfiguration.loadConfiguration(this.getCommandsConfigFile());
this.commandsConfiguration.options().copyDefaults(true);
diff --git a/patches/server/0882-fix-MapLike-spam-for-missing-key-selector.patch b/patches/server/0876-fix-MapLike-spam-for-missing-key-selector.patch
index 2fee78531f..2fee78531f 100644
--- a/patches/server/0882-fix-MapLike-spam-for-missing-key-selector.patch
+++ b/patches/server/0876-fix-MapLike-spam-for-missing-key-selector.patch
diff --git a/patches/server/0883-Fix-sniffer-removeExploredLocation.patch b/patches/server/0877-Fix-sniffer-removeExploredLocation.patch
index e8b1703090..e8b1703090 100644
--- a/patches/server/0883-Fix-sniffer-removeExploredLocation.patch
+++ b/patches/server/0877-Fix-sniffer-removeExploredLocation.patch
diff --git a/patches/server/0884-Add-method-to-remove-all-active-potion-effects.patch b/patches/server/0878-Add-method-to-remove-all-active-potion-effects.patch
index ba93cfbecb..73565fe49a 100644
--- a/patches/server/0884-Add-method-to-remove-all-active-potion-effects.patch
+++ b/patches/server/0878-Add-method-to-remove-all-active-potion-effects.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add method to remove all active potion effects
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 11a52a11891f5dca5f2a6b2e77b6a090f4a69726..12c0581076585dfe97903463c6ec0cbcdeba2806 100644
+index 4abfe34ee595fef3e1253090410c6309d3459a84..f1e4dfd203d455ec089cd2b5679c4083400dbc7f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -527,6 +527,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -540,6 +540,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
return effects;
}
diff --git a/patches/server/0885-Fix-incorrect-crafting-result-amount-for-fireworks.patch b/patches/server/0879-Fix-incorrect-crafting-result-amount-for-fireworks.patch
index cfcf15909a..cfcf15909a 100644
--- a/patches/server/0885-Fix-incorrect-crafting-result-amount-for-fireworks.patch
+++ b/patches/server/0879-Fix-incorrect-crafting-result-amount-for-fireworks.patch
diff --git a/patches/server/0886-Add-event-for-player-editing-sign.patch b/patches/server/0880-Add-event-for-player-editing-sign.patch
index 9e38aba9d8..5e205901e5 100644
--- a/patches/server/0886-Add-event-for-player-editing-sign.patch
+++ b/patches/server/0880-Add-event-for-player-editing-sign.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add event for player editing sign
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index ecea96202f81e4955c0af554da070984e6e416ff..e14d928e8bf484c61f2687621623942a27f30db1 100644
+index 30cf71507c45432b2b5ac636aff852acf662ce60..5a86b2c205250ddcd833a15accb27ca4a580eadd 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -523,7 +523,7 @@ public final class ItemStack {
+@@ -524,7 +524,7 @@ public final class ItemStack {
try {
if (world.getBlockEntity(SignItem.openSign) instanceof SignBlockEntity tileentitysign) {
if (world.getBlockState(SignItem.openSign).getBlock() instanceof SignBlock blocksign) {
diff --git a/patches/server/0887-Only-tick-item-frames-if-players-can-see-it.patch b/patches/server/0881-Only-tick-item-frames-if-players-can-see-it.patch
index 80407ae8c8..decd7a346e 100644
--- a/patches/server/0887-Only-tick-item-frames-if-players-can-see-it.patch
+++ b/patches/server/0881-Only-tick-item-frames-if-players-can-see-it.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Only tick item frames if players can see it
In the event that an item frame cannot be seen by any players, ticking the item frame every tick is unnecessary. This can be a very hot section of the entity tracker when lots of item frames are present on a server, so this reduces the logic which speeds it up.
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
-index b52f86e23a35f8727d827155ebb20f847108d673..72e7c44946ef02fcb744f2a4d265706e21b33c10 100644
+index 3608257fabec6ad7edb056def8a6f36c50b4871e..1f0931bdd4d82c05d7b5f8b8e5c2cc6d23905c73 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -111,7 +111,7 @@ public class ServerEntity {
diff --git a/patches/server/0888-Fix-cmd-permission-levels-for-command-blocks.patch b/patches/server/0882-Fix-cmd-permission-levels-for-command-blocks.patch
index 8bc99edf2c..8bc99edf2c 100644
--- a/patches/server/0888-Fix-cmd-permission-levels-for-command-blocks.patch
+++ b/patches/server/0882-Fix-cmd-permission-levels-for-command-blocks.patch
diff --git a/patches/server/0889-Add-option-to-disable-block-updates.patch b/patches/server/0883-Add-option-to-disable-block-updates.patch
index 5550b0c010..5550b0c010 100644
--- a/patches/server/0889-Add-option-to-disable-block-updates.patch
+++ b/patches/server/0883-Add-option-to-disable-block-updates.patch
diff --git a/patches/server/0890-Call-missing-BlockDispenseEvent.patch b/patches/server/0884-Call-missing-BlockDispenseEvent.patch
index 9cf9fecebf..d63492c387 100644
--- a/patches/server/0890-Call-missing-BlockDispenseEvent.patch
+++ b/patches/server/0884-Call-missing-BlockDispenseEvent.patch
@@ -50,10 +50,10 @@ index b83af374a33a66a6ceeca119b961eea883bba41c..175b965c92b8b8be9c671e1ee478afa9
for (int k = 0; k < 5; ++k) {
worldserver.sendParticles(ParticleTypes.SPLASH, (double) blockposition.getX() + worldserver.random.nextDouble(), (double) (blockposition.getY() + 1), (double) blockposition.getZ() + worldserver.random.nextDouble(), 1, 0.0D, 0.0D, 0.0D, 1.0D);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index bcd734bf14b911682afa367a87a4fd1b042dcd0d..8ba2d84c7daae945e6a2174a740090f4f8a9413c 100644
+index 7934eea4ede9db90ad2a45a2a5ac64b264b2f91a..c2beeff8f84de23981624890c2a88cf510f4cbab 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -2156,6 +2156,32 @@ public class CraftEventFactory {
+@@ -2093,6 +2093,32 @@ public class CraftEventFactory {
}
// Paper end
diff --git a/patches/server/0891-Don-t-load-chunks-for-supporting-block-checks.patch b/patches/server/0885-Don-t-load-chunks-for-supporting-block-checks.patch
index a59e753d0b..d03e7a3c1e 100644
--- a/patches/server/0891-Don-t-load-chunks-for-supporting-block-checks.patch
+++ b/patches/server/0885-Don-t-load-chunks-for-supporting-block-checks.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Don't load chunks for supporting block checks
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 18a1229f3be364df56bb99cb6de61c80dfe99390..fb934b069312ce27c8ebaf3d3645b2c2475bd87f 100644
+index 0bc310f8edb886c84aa71a7502e297127647cbe5..4aeedd106ccf56e3088f7991f792dec7c4bd357a 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -1188,7 +1188,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -1187,7 +1187,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
protected BlockPos getOnPos(float offset) {
diff --git a/patches/server/0892-Optimize-player-lookups-for-beacons.patch b/patches/server/0886-Optimize-player-lookups-for-beacons.patch
index 4bc0ad23be..3b3d11c547 100644
--- a/patches/server/0892-Optimize-player-lookups-for-beacons.patch
+++ b/patches/server/0886-Optimize-player-lookups-for-beacons.patch
@@ -7,7 +7,7 @@ For larger ranges, it's better to iterate over the player list
than the entity slices.
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
-index dbcac8b787e9a18193723b5311fe882060397dc6..bfcf9e0c342f255d285b1ef7f88d71efed653ecd 100644
+index eff48e43a35a752bd33de2b55a0ad04332109ce0..4b81b0180dfc96fc6a88646838a886ca5b5d301b 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
@@ -329,7 +329,22 @@ public class BeaconBlockEntity extends BlockEntity implements MenuProvider, Name
diff --git a/patches/server/0893-Add-Sign-getInteractableSideFor.patch b/patches/server/0887-Add-Sign-getInteractableSideFor.patch
index a295746b04..df4e37608b 100644
--- a/patches/server/0893-Add-Sign-getInteractableSideFor.patch
+++ b/patches/server/0887-Add-Sign-getInteractableSideFor.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add Sign#getInteractableSideFor
diff --git a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
-index c79a80428961b0941d4f6ed31d641cbf0e6a7203..979a8f472f866130a3abb10f535df757eaa50c20 100644
+index f3cea7a8de334419b4a2f6dc64ef0e20fd715e75..927c7ea03560be0c86884cec70ee8e408e66cb07 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
@@ -66,13 +66,18 @@ public class SignBlockEntity extends BlockEntity implements CommandSource { // C
diff --git a/patches/server/0894-Array-backed-synched-entity-data.patch b/patches/server/0888-Array-backed-synched-entity-data.patch
index 2345458940..2345458940 100644
--- a/patches/server/0894-Array-backed-synched-entity-data.patch
+++ b/patches/server/0888-Array-backed-synched-entity-data.patch
diff --git a/patches/server/0895-fix-item-meta-for-tadpole-buckets.patch b/patches/server/0889-fix-item-meta-for-tadpole-buckets.patch
index 7dc82282e5..7dc82282e5 100644
--- a/patches/server/0895-fix-item-meta-for-tadpole-buckets.patch
+++ b/patches/server/0889-fix-item-meta-for-tadpole-buckets.patch
diff --git a/patches/server/0896-Fix-BanList-API.patch b/patches/server/0890-Fix-BanList-API.patch
index 2e62214e5c..8d1fcf4c1a 100644
--- a/patches/server/0896-Fix-BanList-API.patch
+++ b/patches/server/0890-Fix-BanList-API.patch
@@ -208,10 +208,10 @@ index 172202accf4448a933fcf1ff820316c7910dd7f7..50ee7656580d386db473c054f5c5ec57
return null;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 5190613932bc1084d617f49e1517a9942e3765fc..cd477ae33aa98a629ebb5bd9c39912185df09cbc 100644
+index c7e0aa94a8c1f821f723f323b69bacfd2d2d8aa3..0f32750ec4bc85033c6da8a21f4ad3150112ece6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1625,23 +1625,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1655,23 +1655,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
@Override
@@ -240,7 +240,7 @@ index 5190613932bc1084d617f49e1517a9942e3765fc..cd477ae33aa98a629ebb5bd9c3991218
if (kickPlayer) {
this.kickPlayer(reason);
}
-@@ -1649,12 +1649,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1679,12 +1679,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
@Override
diff --git a/patches/server/0897-Determine-lava-and-water-fluid-explosion-resistance-.patch b/patches/server/0891-Determine-lava-and-water-fluid-explosion-resistance-.patch
index bea2e1c86f..bea2e1c86f 100644
--- a/patches/server/0897-Determine-lava-and-water-fluid-explosion-resistance-.patch
+++ b/patches/server/0891-Determine-lava-and-water-fluid-explosion-resistance-.patch
diff --git a/patches/server/0898-Fix-possible-NPE-on-painting-creation.patch b/patches/server/0892-Fix-possible-NPE-on-painting-creation.patch
index a503b8ac40..a503b8ac40 100644
--- a/patches/server/0898-Fix-possible-NPE-on-painting-creation.patch
+++ b/patches/server/0892-Fix-possible-NPE-on-painting-creation.patch
diff --git a/patches/server/0899-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch b/patches/server/0893-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
index 9214a4ff32..9214a4ff32 100644
--- a/patches/server/0899-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
+++ b/patches/server/0893-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
diff --git a/patches/server/0900-ExperienceOrb-should-call-EntitySpawnEvent.patch b/patches/server/0894-ExperienceOrb-should-call-EntitySpawnEvent.patch
index 29e949790c..22d04086a3 100644
--- a/patches/server/0900-ExperienceOrb-should-call-EntitySpawnEvent.patch
+++ b/patches/server/0894-ExperienceOrb-should-call-EntitySpawnEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] ExperienceOrb should call EntitySpawnEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 11f38ba85aa7410642ac541ce84f8efd65590bc1..470558446908581188b007410082cfcee3f16f4d 100644
+index c2beeff8f84de23981624890c2a88cf510f4cbab..62f1552d86dc38d709f9e53f643a6d8ab38bd2d2 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -734,7 +734,8 @@ public class CraftEventFactory {
diff --git a/patches/server/0901-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch b/patches/server/0895-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
index 96b4aa8c41..96b4aa8c41 100644
--- a/patches/server/0901-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
+++ b/patches/server/0895-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
diff --git a/patches/server/0902-Add-whitelist-events.patch b/patches/server/0896-Add-whitelist-events.patch
index 44cddb390d..44cddb390d 100644
--- a/patches/server/0902-Add-whitelist-events.patch
+++ b/patches/server/0896-Add-whitelist-events.patch
diff --git a/patches/server/0903-Implement-PlayerFailMoveEvent.patch b/patches/server/0897-Implement-PlayerFailMoveEvent.patch
index 3f87c43562..f9731edc82 100644
--- a/patches/server/0903-Implement-PlayerFailMoveEvent.patch
+++ b/patches/server/0897-Implement-PlayerFailMoveEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Implement PlayerFailMoveEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 0bc974ff4124ff6bfc355a6dac362574a649c476..e19c05504151885ca18496b50dcf6091d94078c0 100644
+index d8dd44d0f247ab05bc8323548bdec0f67ab641bc..3141681dc21f7a61fcc77bbf65975072b07c8970 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1279,8 +1279,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0904-Folia-scheduler-and-owned-region-API.patch b/patches/server/0898-Folia-scheduler-and-owned-region-API.patch
index a981b4c7de..ef48c0c8df 100644
--- a/patches/server/0904-Folia-scheduler-and-owned-region-API.patch
+++ b/patches/server/0898-Folia-scheduler-and-owned-region-API.patch
@@ -1185,7 +1185,7 @@ index 2eeb216002c1c91879780225335225552744524b..74b3f459c898dc9f5c4411a38c9018fb
this.players.remove(entityplayer);
this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 417e64d587b516df94abee5893a6dc9e8917eeca..e2f6401249470af599b8b1371105fc01a58b0091 100644
+index 11833b3c755e6ad6d802264ada02e80eb5545143..742ba42e60f9fdb0a78df681732af2be4ce5bdc3 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -246,11 +246,23 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -1213,7 +1213,7 @@ index 417e64d587b516df94abee5893a6dc9e8917eeca..e2f6401249470af599b8b1371105fc01
@Override
public CommandSender getBukkitSender(CommandSourceStack wrapper) {
return this.getBukkitEntity();
-@@ -4421,6 +4433,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -4424,6 +4436,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@Override
public final void setRemoved(Entity.RemovalReason reason) {
@@ -1221,7 +1221,7 @@ index 417e64d587b516df94abee5893a6dc9e8917eeca..e2f6401249470af599b8b1371105fc01
if (this.removalReason == null) {
this.removalReason = reason;
}
-@@ -4431,12 +4444,28 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -4434,12 +4447,28 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.getPassengers().forEach(Entity::stopRiding);
this.levelCallback.onRemove(reason);
@@ -1251,10 +1251,10 @@ index 417e64d587b516df94abee5893a6dc9e8917eeca..e2f6401249470af599b8b1371105fc01
public void setLevelCallback(EntityInLevelCallback changeListener) {
this.levelCallback = changeListener;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index c026db3758b7fd9c57a1badd4c1a9c2b34c8712d..248292bdb26cb2f08a41692ed7e9262ca6d6dd13 100644
+index 56a6b3921c74bdeb27f8736302503bee1f731065..b5140b37d2161d89c6c5d6465949e96f5472057a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -306,6 +306,76 @@ public final class CraftServer implements Server {
+@@ -308,6 +308,76 @@ public final class CraftServer implements Server {
private final io.papermc.paper.logging.SysoutCatcher sysoutCatcher = new io.papermc.paper.logging.SysoutCatcher(); // Paper
private final CraftPotionBrewer potionBrewer = new CraftPotionBrewer(); // Paper - Custom Potion Mixes
diff --git a/patches/server/0905-Only-erase-allay-memory-on-non-item-targets.patch b/patches/server/0899-Only-erase-allay-memory-on-non-item-targets.patch
index 4afac36fc3..4afac36fc3 100644
--- a/patches/server/0905-Only-erase-allay-memory-on-non-item-targets.patch
+++ b/patches/server/0899-Only-erase-allay-memory-on-non-item-targets.patch
diff --git a/patches/server/0906-API-for-updating-recipes-on-clients.patch b/patches/server/0900-API-for-updating-recipes-on-clients.patch
index d169b01846..dd62659d86 100644
--- a/patches/server/0906-API-for-updating-recipes-on-clients.patch
+++ b/patches/server/0900-API-for-updating-recipes-on-clients.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] API for updating recipes on clients
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 56d8767a19b03b5e70c6a5a5cd747a59abf062ee..fd32811f00a2c82dcb6efb9d78ffee0240d5de0b 100644
+index 74b3f459c898dc9f5c4411a38c9018fb4866f0b1..090e76b7e13e1c7e4346188679e64cca3b665d48 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1530,6 +1530,13 @@ public abstract class PlayerList {
@@ -39,10 +39,10 @@ index 56d8767a19b03b5e70c6a5a5cd747a59abf062ee..fd32811f00a2c82dcb6efb9d78ffee02
Iterator iterator1 = this.players.iterator();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index cc8e826c72ca954030c5b42f6704a6e95cb88c31..5ca1878e7c64ff1c270a3b90c456662cc2361f26 100644
+index b5140b37d2161d89c6c5d6465949e96f5472057a..458bf151cb733e023b897a2acff2ab3a10fe0949 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1129,6 +1129,18 @@ public final class CraftServer implements Server {
+@@ -1141,6 +1141,18 @@ public final class CraftServer implements Server {
ReloadCommand.reload(this.console);
}
@@ -61,7 +61,7 @@ index cc8e826c72ca954030c5b42f6704a6e95cb88c31..5ca1878e7c64ff1c270a3b90c456662c
private void loadIcon() {
this.icon = new CraftIconCache(null);
try {
-@@ -1504,6 +1516,13 @@ public final class CraftServer implements Server {
+@@ -1516,6 +1528,13 @@ public final class CraftServer implements Server {
@Override
public boolean addRecipe(Recipe recipe) {
@@ -75,7 +75,7 @@ index cc8e826c72ca954030c5b42f6704a6e95cb88c31..5ca1878e7c64ff1c270a3b90c456662c
CraftRecipe toAdd;
if (recipe instanceof CraftRecipe) {
toAdd = (CraftRecipe) recipe;
-@@ -1533,6 +1552,11 @@ public final class CraftServer implements Server {
+@@ -1545,6 +1564,11 @@ public final class CraftServer implements Server {
}
}
toAdd.addToCraftingManager();
@@ -87,7 +87,7 @@ index cc8e826c72ca954030c5b42f6704a6e95cb88c31..5ca1878e7c64ff1c270a3b90c456662c
return true;
}
-@@ -1713,10 +1737,23 @@ public final class CraftServer implements Server {
+@@ -1725,10 +1749,23 @@ public final class CraftServer implements Server {
@Override
public boolean removeRecipe(NamespacedKey recipeKey) {
diff --git a/patches/server/0907-Fix-rotation-when-spawning-display-entities.patch b/patches/server/0901-Fix-rotation-when-spawning-display-entities.patch
index afe854d47e..afe854d47e 100644
--- a/patches/server/0907-Fix-rotation-when-spawning-display-entities.patch
+++ b/patches/server/0901-Fix-rotation-when-spawning-display-entities.patch
diff --git a/patches/server/0908-Only-capture-actual-tree-growth.patch b/patches/server/0902-Only-capture-actual-tree-growth.patch
index 9670be275b..9255870831 100644
--- a/patches/server/0908-Only-capture-actual-tree-growth.patch
+++ b/patches/server/0902-Only-capture-actual-tree-growth.patch
@@ -17,17 +17,17 @@ index 175b965c92b8b8be9c671e1ee478afa9a2f7bf82..1fb809486ee56efd3d0ef3fa02503ba9
}
}
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index e14d928e8bf484c61f2687621623942a27f30db1..0fd5decb0790423aba80a7c1e55ce39aff6761b4 100644
+index 5a86b2c205250ddcd833a15accb27ca4a580eadd..9b4e20d4bfba2de08084f1d69cb2ebfff7455c14 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -422,6 +422,7 @@ public final class ItemStack {
- }
+@@ -424,6 +424,7 @@ public final class ItemStack {
for (CraftBlockState blockstate : blocks) {
- world.setBlock(blockstate.getPosition(),blockstate.getHandle(), blockstate.getFlag()); // SPIGOT-7248 - manual update to avoid physics where appropriate
+ // SPIGOT-7572 - Move fix for SPIGOT-7248 to CapturedBlockState, to allow bees in bee nest
+ CapturedBlockState.setBlockState(blockstate);
+ world.checkCapturedTreeStateForObserverNotify(blockposition, blockstate); // Paper - notify observers even if grow failed
- if (blockstate instanceof org.bukkit.craftbukkit.block.CapturedBlockState capturedBlockState) capturedBlockState.checkTreeBlockHack(); // Paper - Fix beehives generating from using bonemeal
}
entityhuman.awardStat(Stats.ITEM_USED.get(item)); // SPIGOT-7236 - award stat
+ }
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index b942e9f163fa342c58b74d1cd6ffe6bdbe4f691a..cd19005d3f239a27a4ce764588c8df0b229035bf 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
@@ -48,13 +48,13 @@ index b942e9f163fa342c58b74d1cd6ffe6bdbe4f691a..cd19005d3f239a27a4ce764588c8df0b
+ // Paper end - notify observers even if grow failed
}
diff --git a/src/main/java/net/minecraft/world/level/block/SaplingBlock.java b/src/main/java/net/minecraft/world/level/block/SaplingBlock.java
-index 7e6ee9c1ccef3eaa6b2edc39e414bd186426aee5..836c86104ed4f0d375330c9123af5d502efefa4d 100644
+index 83e6e3286d04c39d6d7ba496251aec962621f72e..3ff0d08e4964aae82d8e51d3b8bf9aa002096f81 100644
--- a/src/main/java/net/minecraft/world/level/block/SaplingBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/SaplingBlock.java
-@@ -85,6 +85,7 @@ public class SaplingBlock extends BushBlock implements BonemealableBlock {
+@@ -86,6 +86,7 @@ public class SaplingBlock extends BushBlock implements BonemealableBlock {
if (event == null || !event.isCancelled()) {
for (BlockState blockstate : blocks) {
- blockstate.update(true);
+ CapturedBlockState.setBlockState(blockstate);
+ world.checkCapturedTreeStateForObserverNotify(pos, (org.bukkit.craftbukkit.block.CraftBlockState) blockstate); // Paper - notify observers even if grow failed
}
}
diff --git a/patches/server/0909-Use-correct-source-for-mushroom-block-spread-event.patch b/patches/server/0903-Use-correct-source-for-mushroom-block-spread-event.patch
index b1a7bde7b7..ef72acd36e 100644
--- a/patches/server/0909-Use-correct-source-for-mushroom-block-spread-event.patch
+++ b/patches/server/0903-Use-correct-source-for-mushroom-block-spread-event.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Use correct source for mushroom block spread event
diff --git a/src/main/java/net/minecraft/world/level/block/MushroomBlock.java b/src/main/java/net/minecraft/world/level/block/MushroomBlock.java
-index 5889cb1cdb64875f0d7a7c681808b45cdc661d8e..96f9ca2439a617b5f90b826d4fc99c857301b1c2 100644
+index 1448386e71a1f7c81b48788ac42b49d6dff29912..1f27ae8abd5891a0b8057b454f2210b088b4e95a 100644
--- a/src/main/java/net/minecraft/world/level/block/MushroomBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/MushroomBlock.java
@@ -68,6 +68,7 @@ public class MushroomBlock extends BushBlock implements BonemealableBlock {
diff --git a/patches/server/0910-Respect-randomizeData-on-more-entities-when-spawning.patch b/patches/server/0904-Respect-randomizeData-on-more-entities-when-spawning.patch
index 0b50ce9b7b..0b50ce9b7b 100644
--- a/patches/server/0910-Respect-randomizeData-on-more-entities-when-spawning.patch
+++ b/patches/server/0904-Respect-randomizeData-on-more-entities-when-spawning.patch
diff --git a/patches/server/0911-Use-correct-seed-on-api-world-load.patch b/patches/server/0905-Use-correct-seed-on-api-world-load.patch
index 0b5ac6f5b9..a39775a339 100644
--- a/patches/server/0911-Use-correct-seed-on-api-world-load.patch
+++ b/patches/server/0905-Use-correct-seed-on-api-world-load.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Use correct seed on api world load
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 5ca1878e7c64ff1c270a3b90c456662cc2361f26..11be490bd3c92143cd608aafe94e4e18027ddaea 100644
+index 458bf151cb733e023b897a2acff2ab3a10fe0949..33d5454b95011395e0868b4e6a338a2db4b5c398 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1349,7 +1349,7 @@ public final class CraftServer implements Server {
+@@ -1361,7 +1361,7 @@ public final class CraftServer implements Server {
net.minecraft.server.Main.forceUpgrade(worldSession, DataFixers.getDataFixer(), this.console.options.has("eraseCache"), () -> true, iregistry);
}
diff --git a/patches/server/0912-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch b/patches/server/0906-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
index 6701e32f16..6701e32f16 100644
--- a/patches/server/0912-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
+++ b/patches/server/0906-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
diff --git a/patches/server/0913-Cache-map-ids-on-item-frames.patch b/patches/server/0907-Cache-map-ids-on-item-frames.patch
index b8a8eeda73..a65e4d7021 100644
--- a/patches/server/0913-Cache-map-ids-on-item-frames.patch
+++ b/patches/server/0907-Cache-map-ids-on-item-frames.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Cache map ids on item frames
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
-index 72e7c44946ef02fcb744f2a4d265706e21b33c10..dc6d2ebbce9ccda5aa4a80dadcc34d48b67b9368 100644
+index 1f0931bdd4d82c05d7b5f8b8e5c2cc6d23905c73..da45984c9b2d3a55256efddde94580505f692655 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -118,7 +118,7 @@ public class ServerEntity {
diff --git a/patches/server/0914-Fix-custom-statistic-criteria-creation.patch b/patches/server/0908-Fix-custom-statistic-criteria-creation.patch
index 65ade03da5..a8aba99c9f 100644
--- a/patches/server/0914-Fix-custom-statistic-criteria-creation.patch
+++ b/patches/server/0908-Fix-custom-statistic-criteria-creation.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix custom statistic criteria creation
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 3bf1c2a5273879a64e81bcd8c107e7bc82cf679c..187854e8c560234710763f8e92c1a026550ba60d 100644
+index 5f93c5a6e1c381898c50332099cc98063a108b4e..fab7dc81f774889300ed0affaef71cbda36517df 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -618,6 +618,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -633,6 +633,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
net.minecraft.core.Holder<net.minecraft.world.level.biome.Biome> biomeBase = cra.getHandle().registryAccess().registryOrThrow(net.minecraft.core.registries.Registries.BIOME).getHolderOrThrow(net.minecraft.resources.ResourceKey.create(net.minecraft.core.registries.Registries.BIOME, org.bukkit.craftbukkit.util.CraftNamespacedKey.toMinecraft(biomeKey)));
cra.setBiome(x, y, z, biomeBase);
}
diff --git a/patches/server/0915-Bandaid-fix-for-Effect.patch b/patches/server/0909-Bandaid-fix-for-Effect.patch
index 323cc5986c..f8dd13a38f 100644
--- a/patches/server/0915-Bandaid-fix-for-Effect.patch
+++ b/patches/server/0909-Bandaid-fix-for-Effect.patch
@@ -60,10 +60,10 @@ index a4519762175c68256b1f303daca8b9408ac182bb..457e9093adb99d31ffc7f061d8c858f9
case COMPOSTER_FILL_ATTEMPT:
datavalue = ((Boolean) data) ? 1 : 0;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index caca37e0febbfaa2012820c8a6f0e6adbaf2451b..467aacb5ce61ac79d8294067fd681b081c195fbe 100644
+index 54cdb4b6a97250c1e15e2fce355e3699c9189948..457d5cdb510a11a069ac7f54a8ed95a74527bff3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1358,7 +1358,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1371,7 +1371,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public <T> void playEffect(Location loc, Effect effect, T data, int radius) {
if (data != null) {
Preconditions.checkArgument(effect.getData() != null, "Effect.%s does not have a valid Data", effect);
@@ -73,10 +73,10 @@ index caca37e0febbfaa2012820c8a6f0e6adbaf2451b..467aacb5ce61ac79d8294067fd681b08
// Special case: the axis is optional for ELECTRIC_SPARK
Preconditions.checkArgument(effect.getData() == null || effect == Effect.ELECTRIC_SPARK, "Wrong kind of data for the %s effect", effect);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 63b7118d23959ad75565271cc2b8a1143cd550e1..d06bce05edf6026be2af9583cddea70739a72032 100644
+index 0f32750ec4bc85033c6da8a21f4ad3150112ece6..59dd4f06d33a0bb8e747857ee81f6465b7ed78b1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -831,7 +831,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -837,7 +837,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
Preconditions.checkArgument(effect != null, "Effect cannot be null");
if (data != null) {
Preconditions.checkArgument(effect.getData() != null, "Effect.%s does not have a valid Data", effect);
diff --git a/patches/server/0916-SculkCatalyst-bloom-API.patch b/patches/server/0910-SculkCatalyst-bloom-API.patch
index 77742addde..77742addde 100644
--- a/patches/server/0916-SculkCatalyst-bloom-API.patch
+++ b/patches/server/0910-SculkCatalyst-bloom-API.patch
diff --git a/patches/server/0917-API-for-an-entity-s-scoreboard-name.patch b/patches/server/0911-API-for-an-entity-s-scoreboard-name.patch
index cda86cf476..cda86cf476 100644
--- a/patches/server/0917-API-for-an-entity-s-scoreboard-name.patch
+++ b/patches/server/0911-API-for-an-entity-s-scoreboard-name.patch
diff --git a/patches/server/0918-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/server/0912-Deprecate-and-replace-methods-with-old-StructureType.patch
index 25f7929557..ff4c42a8ca 100644
--- a/patches/server/0918-Deprecate-and-replace-methods-with-old-StructureType.patch
+++ b/patches/server/0912-Deprecate-and-replace-methods-with-old-StructureType.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Deprecate and replace methods with old StructureType
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 11be490bd3c92143cd608aafe94e4e18027ddaea..b23cc5371cb8fc2cfaba70c73cd9d4b0accb3283 100644
+index 33d5454b95011395e0868b4e6a338a2db4b5c398..92369eb350fd795a4e99731d7ceda4f8b890791e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1946,6 +1946,11 @@ public final class CraftServer implements Server {
+@@ -1958,6 +1958,11 @@ public final class CraftServer implements Server {
ServerLevel worldServer = ((CraftWorld) world).getHandle();
Location structureLocation = world.locateNearestStructure(location, structureType, radius, findUnexplored);
@@ -20,7 +20,7 @@ index 11be490bd3c92143cd608aafe94e4e18027ddaea..b23cc5371cb8fc2cfaba70c73cd9d4b0
BlockPos structurePosition = CraftLocation.toBlockPosition(structureLocation);
// Create map with trackPlayer = true, unlimitedTracking = true
-@@ -1956,6 +1961,31 @@ public final class CraftServer implements Server {
+@@ -1968,6 +1973,31 @@ public final class CraftServer implements Server {
return CraftItemStack.asBukkitCopy(stack);
}
diff --git a/patches/server/0919-Don-t-tab-complete-namespaced-commands-if-send-names.patch b/patches/server/0913-Don-t-tab-complete-namespaced-commands-if-send-names.patch
index be6481a9bd..73b317b26d 100644
--- a/patches/server/0919-Don-t-tab-complete-namespaced-commands-if-send-names.patch
+++ b/patches/server/0913-Don-t-tab-complete-namespaced-commands-if-send-names.patch
@@ -11,7 +11,7 @@ This patch prevents server from sending namespaced commands when player
requests tab-complete only commands.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index e19c05504151885ca18496b50dcf6091d94078c0..10965bdd67dd1357d47f12cd96c204372aefd2d9 100644
+index 3141681dc21f7a61fcc77bbf65975072b07c8970..5092aed16ad9ed049624030a6c26a8013e92ae56 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -792,6 +792,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0920-Properly-handle-BlockBreakEvent-isDropItems.patch b/patches/server/0914-Properly-handle-BlockBreakEvent-isDropItems.patch
index 025a223021..025a223021 100644
--- a/patches/server/0920-Properly-handle-BlockBreakEvent-isDropItems.patch
+++ b/patches/server/0914-Properly-handle-BlockBreakEvent-isDropItems.patch
diff --git a/patches/server/0921-Fire-entity-death-event-for-ender-dragon.patch b/patches/server/0915-Fire-entity-death-event-for-ender-dragon.patch
index f33d5fe7de..f33d5fe7de 100644
--- a/patches/server/0921-Fire-entity-death-event-for-ender-dragon.patch
+++ b/patches/server/0915-Fire-entity-death-event-for-ender-dragon.patch
diff --git a/patches/server/0922-Configurable-entity-tracking-range-by-Y-coordinate.patch b/patches/server/0916-Configurable-entity-tracking-range-by-Y-coordinate.patch
index 2279776ee8..2856a1f09c 100644
--- a/patches/server/0922-Configurable-entity-tracking-range-by-Y-coordinate.patch
+++ b/patches/server/0916-Configurable-entity-tracking-range-by-Y-coordinate.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Configurable entity tracking range by Y coordinate
Options to configure entity tracking by Y coordinate, also for each entity category.
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index c56136c785e9239df5f8782fae67edb6e52917f4..aaca1b2394641a74bbe1309f150507a49b8e1459 100644
+index 601693243c11b06fe0bae0040bf79d95696cdb21..4793871db838aba8b0370ada299406d3fb904c14 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1741,6 +1741,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
diff --git a/patches/server/0923-Add-Listing-API-for-Player.patch b/patches/server/0917-Add-Listing-API-for-Player.patch
index 92d73c686c..93b847a66a 100644
--- a/patches/server/0923-Add-Listing-API-for-Player.patch
+++ b/patches/server/0917-Add-Listing-API-for-Player.patch
@@ -74,7 +74,7 @@ index d43106eb89b14667e85cd6e8fa047d64f2e8ec87..56eddd28429cf42c02d88b8bf79f8b61
static class EntryBuilder {
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index fd32811f00a2c82dcb6efb9d78ffee0240d5de0b..b07b19876ba9edb25b89503a8c6e5a5897eb326c 100644
+index 090e76b7e13e1c7e4346188679e64cca3b665d48..16ef96f0b2f68556b89c9d732d0e1a407f083fdc 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -356,14 +356,22 @@ public abstract class PlayerList {
@@ -111,10 +111,10 @@ index fd32811f00a2c82dcb6efb9d78ffee0240d5de0b..b07b19876ba9edb25b89503a8c6e5a58
// Paper end - Use single player info update packet on join
player.sentListPacket = true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 059c7a71812bf65124d7422e85f25f09eca1ea9e..de5d0b29d9b4631e7197520de7eb99ac6d9c8165 100644
+index 59dd4f06d33a0bb8e747857ee81f6465b7ed78b1..a8bdeb0c5045344983efe083aa3214be00c07cf1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -182,6 +182,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -188,6 +188,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private final ConversationTracker conversationTracker = new ConversationTracker();
private final Set<String> channels = new HashSet<String>();
private final Map<UUID, Set<WeakReference<Plugin>>> invertedVisibilityEntities = new HashMap<>();
@@ -122,7 +122,7 @@ index 059c7a71812bf65124d7422e85f25f09eca1ea9e..de5d0b29d9b4631e7197520de7eb99ac
private static final WeakHashMap<Plugin, WeakReference<Plugin>> pluginWeakReferences = new WeakHashMap<>();
private int hash = 0;
private double health = 20;
-@@ -1965,7 +1966,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1995,7 +1996,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
otherPlayer.setUUID(uuidOverride);
}
// Paper end
@@ -131,7 +131,7 @@ index 059c7a71812bf65124d7422e85f25f09eca1ea9e..de5d0b29d9b4631e7197520de7eb99ac
if (original != null) otherPlayer.setUUID(original); // Paper - uuid override
}
-@@ -2072,6 +2073,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2102,6 +2103,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return (entity != null) ? this.canSee(entity) : false; // If we can't find it, we can't see it
}
diff --git a/patches/server/0924-Configurable-Region-Compression-Format.patch b/patches/server/0918-Configurable-Region-Compression-Format.patch
index 25a1d4bb16..25a1d4bb16 100644
--- a/patches/server/0924-Configurable-Region-Compression-Format.patch
+++ b/patches/server/0918-Configurable-Region-Compression-Format.patch
diff --git a/patches/server/0925-Add-BlockFace-to-BlockDamageEvent.patch b/patches/server/0919-Add-BlockFace-to-BlockDamageEvent.patch
index 9fc000d2c8..81b837c30e 100644
--- a/patches/server/0925-Add-BlockFace-to-BlockDamageEvent.patch
+++ b/patches/server/0919-Add-BlockFace-to-BlockDamageEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add BlockFace to BlockDamageEvent
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
-index e9b41b818c867d26fe9d3fa6e4d55fb432083d62..c9594f82c31cd750cdfb26619b1094a865058faf 100644
+index 4747b05619f37009a5a236678aceec6cfc1c0b79..d0ca98c3f9ea5c8cb1053da6b17e9a90c86b3ae7 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -253,7 +253,7 @@ public class ServerPlayerGameMode {
@@ -18,7 +18,7 @@ index e9b41b818c867d26fe9d3fa6e4d55fb432083d62..c9594f82c31cd750cdfb26619b1094a8
if (blockEvent.isCancelled()) {
// Let the client know the block still exists
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 470558446908581188b007410082cfcee3f16f4d..e420a558994129b2907d7e75152a558a01dc7b2e 100644
+index 62f1552d86dc38d709f9e53f643a6d8ab38bd2d2..7d2d9b1069b1b76d0aa4cc6077b94350a331bb19 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -649,13 +649,13 @@ public class CraftEventFactory {
diff --git a/patches/server/0926-Fix-NPE-on-Boat-getStatus.patch b/patches/server/0920-Fix-NPE-on-Boat-getStatus.patch
index 70323a4352..70323a4352 100644
--- a/patches/server/0926-Fix-NPE-on-Boat-getStatus.patch
+++ b/patches/server/0920-Fix-NPE-on-Boat-getStatus.patch
diff --git a/patches/server/0927-Expand-Pose-API.patch b/patches/server/0921-Expand-Pose-API.patch
index cbabe03580..9adc4311d8 100644
--- a/patches/server/0927-Expand-Pose-API.patch
+++ b/patches/server/0921-Expand-Pose-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Expand Pose API
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index ecdf98872f2f9b9b067be80701f20775b45e4aad..0e299073086cc06324794ca8b6e74674a70cc77a 100644
+index 777448a112951e4772adde27d4066d392235e44c..effd39457989f34823e4fa7bc038c47d04714317 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -418,6 +418,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
diff --git a/patches/server/0928-More-DragonBattle-API.patch b/patches/server/0922-More-DragonBattle-API.patch
index 991159cfb6..991159cfb6 100644
--- a/patches/server/0928-More-DragonBattle-API.patch
+++ b/patches/server/0922-More-DragonBattle-API.patch
diff --git a/patches/server/0929-Deep-clone-unhandled-nbt-tags.patch b/patches/server/0923-Deep-clone-unhandled-nbt-tags.patch
index 5ecebf9875..5ecebf9875 100644
--- a/patches/server/0929-Deep-clone-unhandled-nbt-tags.patch
+++ b/patches/server/0923-Deep-clone-unhandled-nbt-tags.patch
diff --git a/patches/server/0930-Add-PlayerPickItemEvent.patch b/patches/server/0924-Add-PlayerPickItemEvent.patch
index 64e15e8e6d..79578e9ee6 100644
--- a/patches/server/0930-Add-PlayerPickItemEvent.patch
+++ b/patches/server/0924-Add-PlayerPickItemEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerPickItemEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 10965bdd67dd1357d47f12cd96c204372aefd2d9..27c2eed2aed6e0a2868501e553a5fbfc0307bb0c 100644
+index 5092aed16ad9ed049624030a6c26a8013e92ae56..9d24b63c9a8a22cafac570421333f6edfd4fd5c6 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -907,8 +907,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0931-Allow-trident-custom-damage.patch b/patches/server/0925-Allow-trident-custom-damage.patch
index 6e500d2b28..6e500d2b28 100644
--- a/patches/server/0931-Allow-trident-custom-damage.patch
+++ b/patches/server/0925-Allow-trident-custom-damage.patch
diff --git a/patches/server/0932-Expose-hand-in-BlockCanBuildEvent.patch b/patches/server/0926-Expose-hand-in-BlockCanBuildEvent.patch
index ab17992d38..ab17992d38 100644
--- a/patches/server/0932-Expose-hand-in-BlockCanBuildEvent.patch
+++ b/patches/server/0926-Expose-hand-in-BlockCanBuildEvent.patch
diff --git a/patches/server/0933-Optimize-nearest-structure-border-iteration.patch b/patches/server/0927-Optimize-nearest-structure-border-iteration.patch
index 2fedf79601..e073d7a1df 100644
--- a/patches/server/0933-Optimize-nearest-structure-border-iteration.patch
+++ b/patches/server/0927-Optimize-nearest-structure-border-iteration.patch
@@ -14,7 +14,7 @@ ensure that the returned found structure (which may for example be a buried
treasure that will be marked on a treasure map) is the same as in vanilla.
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
-index aa2a014f5451e780219415fffcb64a6e7cdf9b87..b8b78494449c0cd638f9706a803dc54e184d981f 100644
+index f767c822a8e86ce689d40d12c4ef2db3829a97cc..b26a4eb4951e87f891b59028d98b8ffba8e103a8 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
@@ -260,12 +260,15 @@ public abstract class ChunkGenerator {
diff --git a/patches/server/0934-Implement-OfflinePlayer-isConnected.patch b/patches/server/0928-Implement-OfflinePlayer-isConnected.patch
index 4b99a3257e..eecbaca15f 100644
--- a/patches/server/0934-Implement-OfflinePlayer-isConnected.patch
+++ b/patches/server/0928-Implement-OfflinePlayer-isConnected.patch
@@ -23,10 +23,10 @@ index 96408d505ce80799868ff84554a3b0b25adabb22..4a875bce9563f3b9351ebecde9b0eb12
public String getName() {
Player player = this.getPlayer();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index de5d0b29d9b4631e7197520de7eb99ac6d9c8165..3d061f6dd550e395ec572ecdbd80b8d2d36a4453 100644
+index a8bdeb0c5045344983efe083aa3214be00c07cf1..1e36d9ef87507d1a771c605ec51c0f66d2cec089 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -237,6 +237,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -243,6 +243,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.server.getPlayer(this.getUniqueId()) != null;
}
diff --git a/patches/server/0935-Fix-inventory-desync.patch b/patches/server/0929-Fix-inventory-desync.patch
index 4345fa9aa5..4345fa9aa5 100644
--- a/patches/server/0935-Fix-inventory-desync.patch
+++ b/patches/server/0929-Fix-inventory-desync.patch
diff --git a/patches/server/0936-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/server/0930-Add-titleOverride-to-InventoryOpenEvent.patch
index 54eed0251c..18021d7c5a 100644
--- a/patches/server/0936-Add-titleOverride-to-InventoryOpenEvent.patch
+++ b/patches/server/0930-Add-titleOverride-to-InventoryOpenEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add titleOverride to InventoryOpenEvent
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index c4d49ddee5f6585e0455cc364f895b00b10226bf..6147ffdcb83a9d013a05facd75453d6500064fe7 100644
+index d4930c40f03c5f331847bf52736c563a688d7daf..7272dc058c575efee5ac2643ce41b7d12e346e89 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1523,12 +1523,17 @@ public class ServerPlayer extends Player {
@@ -79,10 +79,10 @@ index 94c2ea713e0614de570458f6b9c418a3d67d14b5..acbb64010cd59668aa1bcb52ff122078
if (!player.isImmobile()) player.connection.send(new ClientboundOpenScreenPacket(container.containerId, windowType, io.papermc.paper.adventure.PaperAdventure.asVanilla(adventure$title))); // Paper - Prevent opening inventories when frozen
player.containerMenu = container;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index e420a558994129b2907d7e75152a558a01dc7b2e..c74e6c6cd92d618cde3733200bcc23279c0df679 100644
+index 7d2d9b1069b1b76d0aa4cc6077b94350a331bb19..0937d70b575b12bdfc0f643648088fa4cf13c230 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1464,10 +1464,21 @@ public class CraftEventFactory {
+@@ -1387,10 +1387,21 @@ public class CraftEventFactory {
}
public static AbstractContainerMenu callInventoryOpenEvent(ServerPlayer player, AbstractContainerMenu container) {
@@ -105,7 +105,7 @@ index e420a558994129b2907d7e75152a558a01dc7b2e..c74e6c6cd92d618cde3733200bcc2327
if (player.containerMenu != player.inventoryMenu) { // fire INVENTORY_CLOSE if one already open
player.connection.handleContainerClose(new ServerboundContainerClosePacket(player.containerMenu.containerId), InventoryCloseEvent.Reason.OPEN_NEW); // Paper - Inventory close reason
}
-@@ -1482,10 +1493,10 @@ public class CraftEventFactory {
+@@ -1405,10 +1416,10 @@ public class CraftEventFactory {
if (event.isCancelled()) {
container.transferTo(player.containerMenu, craftPlayer);
diff --git a/patches/server/0937-Configure-sniffer-egg-hatch-time.patch b/patches/server/0931-Configure-sniffer-egg-hatch-time.patch
index b42c26e59c..b42c26e59c 100644
--- a/patches/server/0937-Configure-sniffer-egg-hatch-time.patch
+++ b/patches/server/0931-Configure-sniffer-egg-hatch-time.patch
diff --git a/patches/server/0938-Do-crystal-portal-proximity-check-before-entity-look.patch b/patches/server/0932-Do-crystal-portal-proximity-check-before-entity-look.patch
index 5d4a0ea4eb..f71552dee5 100644
--- a/patches/server/0938-Do-crystal-portal-proximity-check-before-entity-look.patch
+++ b/patches/server/0932-Do-crystal-portal-proximity-check-before-entity-look.patch
@@ -34,7 +34,7 @@ index ca1edc083847b47bb450b291723aca778a5912dc..e1696f6b77df4c8fceaece64701d4db7
}
diff --git a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
-index 2d9a7a91eb14c4f4f82d6ee491fbc628d91fb07d..4d2ec3b14ed3b6c527745111950bbdf111129c41 100644
+index adbe8ca78716114a3bc03136f02c631f30aff977..7e9c502a7bcda445333adc250a3106f33d38c128 100644
--- a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
+++ b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
@@ -558,6 +558,12 @@ public class EndDragonFight {
diff --git a/patches/server/0939-Skip-POI-finding-if-stuck-in-vehicle.patch b/patches/server/0933-Skip-POI-finding-if-stuck-in-vehicle.patch
index e0235836a4..e0235836a4 100644
--- a/patches/server/0939-Skip-POI-finding-if-stuck-in-vehicle.patch
+++ b/patches/server/0933-Skip-POI-finding-if-stuck-in-vehicle.patch
diff --git a/patches/server/0940-Add-slot-sanity-checks-in-container-clicks.patch b/patches/server/0934-Add-slot-sanity-checks-in-container-clicks.patch
index 3e7b7c8b9b..9faa2b4707 100644
--- a/patches/server/0940-Add-slot-sanity-checks-in-container-clicks.patch
+++ b/patches/server/0934-Add-slot-sanity-checks-in-container-clicks.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add slot sanity checks in container clicks
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 27c2eed2aed6e0a2868501e553a5fbfc0307bb0c..9e8b37f446a382204bc9ad61efed913f70a99b90 100644
+index 9d24b63c9a8a22cafac570421333f6edfd4fd5c6..f59b49a7e9884def9bc9f30dbd4c72dac2915c76 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2888,6 +2888,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0941-Call-BlockRedstoneEvents-for-lecterns.patch b/patches/server/0935-Call-BlockRedstoneEvents-for-lecterns.patch
index c5d3495f31..c5d3495f31 100644
--- a/patches/server/0941-Call-BlockRedstoneEvents-for-lecterns.patch
+++ b/patches/server/0935-Call-BlockRedstoneEvents-for-lecterns.patch
diff --git a/patches/server/0942-Allow-proper-checking-of-empty-item-stacks.patch b/patches/server/0936-Allow-proper-checking-of-empty-item-stacks.patch
index 11c616703a..eefdaefa4b 100644
--- a/patches/server/0942-Allow-proper-checking-of-empty-item-stacks.patch
+++ b/patches/server/0936-Allow-proper-checking-of-empty-item-stacks.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow proper checking of empty item stacks
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
-index d1604c52784c1bf94e797ca1f5d8146c19314c11..414a67096478ca57be54bd2ce565e7d50c8dd100 100644
+index a2e605bc1418dc0b5570566a6e348df03c9aee4c..e1f9a603e7adf3468faa9bb6d93dd3339327b47e 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
@@ -33,12 +33,19 @@ public final class CraftItemStack extends ItemStack {
diff --git a/patches/server/0943-Fix-silent-equipment-change-for-mobs.patch b/patches/server/0937-Fix-silent-equipment-change-for-mobs.patch
index f0c25febe7..515b91f30c 100644
--- a/patches/server/0943-Fix-silent-equipment-change-for-mobs.patch
+++ b/patches/server/0937-Fix-silent-equipment-change-for-mobs.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix silent equipment change for mobs
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
-index 8cc40521146d02bbfafbb113dda8183840814c96..433d8eccdd225651af8c88babfdb94d19ce546d8 100644
+index 8b239769a3a7ce6f85d472ddb2ff7ea7de0ce5c0..1721504912c9e5744f09c17d059315ee357afeb4 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1046,13 +1046,20 @@ public abstract class Mob extends LivingEntity implements Targeting {
diff --git a/patches/server/0944-Fix-spigot-s-Forced-Stats.patch b/patches/server/0938-Fix-spigot-s-Forced-Stats.patch
index a138a58b79..a138a58b79 100644
--- a/patches/server/0944-Fix-spigot-s-Forced-Stats.patch
+++ b/patches/server/0938-Fix-spigot-s-Forced-Stats.patch
diff --git a/patches/server/0945-Add-missing-InventoryHolders-to-inventories.patch b/patches/server/0939-Add-missing-InventoryHolders-to-inventories.patch
index c189f4b7d2..e6954fc31c 100644
--- a/patches/server/0945-Add-missing-InventoryHolders-to-inventories.patch
+++ b/patches/server/0939-Add-missing-InventoryHolders-to-inventories.patch
@@ -77,7 +77,7 @@ index 75f836f07c66dbf71017ef0b7697851353d0f2e1..eef0d3c59f0ce6e89033a5e228d31b63
+ // Paper end - Add missing InventoryHolders
}
diff --git a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java
-index 86199457586dc4d4f0d8ccaac812e8340aaac957..ae2dc7fc4df54f9ed8e78ff1347f9782eccc9d4b 100644
+index 2813a87a01d0704a3de210cd005073f953d538f8..88842f31836df70717fdf7f77f39a2ad8bb45326 100644
--- a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java
@@ -41,7 +41,7 @@ public class BeaconMenu extends AbstractContainerMenu {
@@ -206,7 +206,7 @@ index eb36a69b8da492aec9609cc9ef80d7d68ff9af03..62e1b7096fa659778b737b3d520389e7
public void setChanged() {
super.setChanged();
diff --git a/src/main/java/net/minecraft/world/inventory/LoomMenu.java b/src/main/java/net/minecraft/world/inventory/LoomMenu.java
-index b8440f2cd7ca46c243407ae1ba8f8c7adab4ecd4..e51dabca7b81adee35246e429dcb8f42ae0bf22c 100644
+index e8c755dc71d9818f025eb25224122b19c5f9e15b..c1c9cfd3f77b2dbbc39741d629c7dfb24a48d4f6 100644
--- a/src/main/java/net/minecraft/world/inventory/LoomMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/LoomMenu.java
@@ -73,7 +73,7 @@ public class LoomMenu extends AbstractContainerMenu {
@@ -261,7 +261,7 @@ index d4592218d761eb38402e3d95c642e80a708cb333..4c4266a85c38e41e6c7e6144a68624f4
public ResultContainer() {
this.itemStacks = NonNullList.withSize(1, ItemStack.EMPTY);
diff --git a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java
-index 4924993fab57bcf72a5d75cc2f7e6bed4f9f511c..6ba59a60b85c04127abd7df37a647fa71745327a 100644
+index 1a5d8debc053b24e5856de916f1d248b36f645ba..eade15820dd9db38b6af2a5c4314acfb14ca03e9 100644
--- a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java
@@ -68,7 +68,7 @@ public class StonecutterMenu extends AbstractContainerMenu {
diff --git a/patches/server/0946-Do-not-read-tile-entities-in-chunks-that-are-positio.patch b/patches/server/0940-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
index 0dabb11567..a5090d6c00 100644
--- a/patches/server/0946-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
+++ b/patches/server/0940-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
@@ -10,7 +10,7 @@ which would cause a crash on Folia but would appear to function
fine on Paper.
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
-index 29aaedbe70901fdd98f15f2ca5ba382106091d1a..f594b5c60c723ef70e51ab30b45b90f89d6972d6 100644
+index 3b046dc106b96b7ca2b148d605e8b7c97453d033..85de64c1e75e1323f8425fc53e525c215ff417ce 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
@@ -307,6 +307,13 @@ public class ChunkSerializer {
diff --git a/patches/server/0947-Add-missing-logs-for-log-ips-config-option.patch b/patches/server/0941-Add-missing-logs-for-log-ips-config-option.patch
index 2898d66615..2898d66615 100644
--- a/patches/server/0947-Add-missing-logs-for-log-ips-config-option.patch
+++ b/patches/server/0941-Add-missing-logs-for-log-ips-config-option.patch
diff --git a/patches/server/0948-Remove-Spigot-Bug-Fix-for-MC-109346.patch b/patches/server/0942-Remove-Spigot-Bug-Fix-for-MC-109346.patch
index 485f7359e3..8cd300599d 100644
--- a/patches/server/0948-Remove-Spigot-Bug-Fix-for-MC-109346.patch
+++ b/patches/server/0942-Remove-Spigot-Bug-Fix-for-MC-109346.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Remove Spigot Bug Fix for MC-109346
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
-index dc6d2ebbce9ccda5aa4a80dadcc34d48b67b9368..8cd52a6172fc7bdd5dc980329fed1d765e3750f2 100644
+index da45984c9b2d3a55256efddde94580505f692655..c2a4fde17673a2bc3133aa0c68608c3da75d5cc5 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -348,12 +348,6 @@ public class ServerEntity {
diff --git a/patches/server/0949-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch b/patches/server/0943-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
index e2c7a15a63..e2c7a15a63 100644
--- a/patches/server/0949-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
+++ b/patches/server/0943-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
diff --git a/patches/server/0950-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch b/patches/server/0944-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
index 7ccf4c0f03..7ccf4c0f03 100644
--- a/patches/server/0950-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
+++ b/patches/server/0944-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
diff --git a/patches/server/0951-Fix-team-sidebar-objectives-not-being-cleared.patch b/patches/server/0945-Fix-team-sidebar-objectives-not-being-cleared.patch
index 88a39d0b20..88a39d0b20 100644
--- a/patches/server/0951-Fix-team-sidebar-objectives-not-being-cleared.patch
+++ b/patches/server/0945-Fix-team-sidebar-objectives-not-being-cleared.patch
diff --git a/patches/server/0952-Fix-missing-map-initialize-event-call.patch b/patches/server/0946-Fix-missing-map-initialize-event-call.patch
index 261c9631e8..261c9631e8 100644
--- a/patches/server/0952-Fix-missing-map-initialize-event-call.patch
+++ b/patches/server/0946-Fix-missing-map-initialize-event-call.patch
diff --git a/patches/server/0953-Update-entity-data-when-attaching-firework-to-entity.patch b/patches/server/0947-Update-entity-data-when-attaching-firework-to-entity.patch
index 8cbc0f974a..8cbc0f974a 100644
--- a/patches/server/0953-Update-entity-data-when-attaching-firework-to-entity.patch
+++ b/patches/server/0947-Update-entity-data-when-attaching-firework-to-entity.patch
diff --git a/patches/server/0954-Use-correct-variable-for-initializing-CraftLootTable.patch b/patches/server/0948-Use-correct-variable-for-initializing-CraftLootTable.patch
index ab46cdf78a..ab46cdf78a 100644
--- a/patches/server/0954-Use-correct-variable-for-initializing-CraftLootTable.patch
+++ b/patches/server/0948-Use-correct-variable-for-initializing-CraftLootTable.patch
diff --git a/patches/server/0955-Make-setVelocity-method-of-Fireballs-change-the-trav.patch b/patches/server/0949-Make-setVelocity-method-of-Fireballs-change-the-trav.patch
index 3af04ed113..3af04ed113 100644
--- a/patches/server/0955-Make-setVelocity-method-of-Fireballs-change-the-trav.patch
+++ b/patches/server/0949-Make-setVelocity-method-of-Fireballs-change-the-trav.patch
diff --git a/patches/server/0956-Fix-UnsafeValues-loadAdvancement.patch b/patches/server/0950-Fix-UnsafeValues-loadAdvancement.patch
index e1da894c6c..0de7a22d6d 100644
--- a/patches/server/0956-Fix-UnsafeValues-loadAdvancement.patch
+++ b/patches/server/0950-Fix-UnsafeValues-loadAdvancement.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix UnsafeValues#loadAdvancement
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 187854e8c560234710763f8e92c1a026550ba60d..b9183a9a657c2cd320fca0f15db0dae6827546f1 100644
+index fab7dc81f774889300ed0affaef71cbda36517df..6372f3a4fdf6e37ef785749ec40c3bd67b003b28 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -316,7 +316,27 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -321,7 +321,27 @@ public final class CraftMagicNumbers implements UnsafeValues {
JsonElement jsonelement = ServerAdvancementManager.GSON.fromJson(advancement, JsonElement.class);
net.minecraft.advancements.Advancement nms = Util.getOrThrow(net.minecraft.advancements.Advancement.CODEC.parse(JsonOps.INSTANCE, jsonelement), JsonParseException::new);
if (nms != null) {
diff --git a/patches/server/0957-Add-player-idle-duration-API.patch b/patches/server/0951-Add-player-idle-duration-API.patch
index 6cf66e53bb..992aafd757 100644
--- a/patches/server/0957-Add-player-idle-duration-API.patch
+++ b/patches/server/0951-Add-player-idle-duration-API.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add player idle duration API
Implements API for getting and resetting a player's idle duration.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 3d061f6dd550e395ec572ecdbd80b8d2d36a4453..f983f5dfb0bc5a4aee3971c13d2b84f12519edec 100644
+index 1e36d9ef87507d1a771c605ec51c0f66d2cec089..6130e66bcacec92c067c423470f41865a64452d7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3286,6 +3286,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3337,6 +3337,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
diff --git a/patches/server/0958-Don-t-check-if-we-can-see-non-visible-entities.patch b/patches/server/0952-Don-t-check-if-we-can-see-non-visible-entities.patch
index a360d2d0e0..a360d2d0e0 100644
--- a/patches/server/0958-Don-t-check-if-we-can-see-non-visible-entities.patch
+++ b/patches/server/0952-Don-t-check-if-we-can-see-non-visible-entities.patch
diff --git a/patches/server/0959-Fix-NPE-in-SculkBloomEvent-world-access.patch b/patches/server/0953-Fix-NPE-in-SculkBloomEvent-world-access.patch
index b66e61a522..b66e61a522 100644
--- a/patches/server/0959-Fix-NPE-in-SculkBloomEvent-world-access.patch
+++ b/patches/server/0953-Fix-NPE-in-SculkBloomEvent-world-access.patch
diff --git a/patches/server/0960-Allow-null-itemstack-for-Player-sendEquipmentChange.patch b/patches/server/0954-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
index 95b8d87e3e..e01df45b17 100644
--- a/patches/server/0960-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
+++ b/patches/server/0954-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow null itemstack for Player#sendEquipmentChange
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index f983f5dfb0bc5a4aee3971c13d2b84f12519edec..cd58b5e338ece695cddab37b5bcce730b04dc63d 100644
+index 6130e66bcacec92c067c423470f41865a64452d7..b88c71c4a1d4eb5c24d143a0d8ddff507df690f7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1041,7 +1041,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1047,7 +1047,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void sendEquipmentChange(LivingEntity entity, EquipmentSlot slot, ItemStack item) {
diff --git a/patches/server/0961-Optimize-VarInts.patch b/patches/server/0955-Optimize-VarInts.patch
index 19e7fc574a..19e7fc574a 100644
--- a/patches/server/0961-Optimize-VarInts.patch
+++ b/patches/server/0955-Optimize-VarInts.patch
diff --git a/patches/server/0962-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/server/0956-Add-API-to-get-the-collision-shape-of-a-block-before.patch
index 9794102b95..9794102b95 100644
--- a/patches/server/0962-Add-API-to-get-the-collision-shape-of-a-block-before.patch
+++ b/patches/server/0956-Add-API-to-get-the-collision-shape-of-a-block-before.patch
diff --git a/patches/server/0963-Add-predicate-for-blocks-when-raytracing.patch b/patches/server/0957-Add-predicate-for-blocks-when-raytracing.patch
index 8488f5abd8..2a30c191f6 100644
--- a/patches/server/0963-Add-predicate-for-blocks-when-raytracing.patch
+++ b/patches/server/0957-Add-predicate-for-blocks-when-raytracing.patch
@@ -47,10 +47,10 @@ index c978f3b2d42f512e982f289e76c2422e41b7eec6..bb8e962e63c7a2d931f9bd7f7c002aa3
Vec3 vec3d = raytrace1.getFrom().subtract(raytrace1.getTo());
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 467aacb5ce61ac79d8294067fd681b081c195fbe..3a941be852a2dd5114ca9673597e84e3813d6ee2 100644
+index 457d5cdb510a11a069ac7f54a8ed95a74527bff3..be4fc09f9e30cb4bb5aaad49c23a19fd84f029bc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1092,9 +1092,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1105,9 +1105,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public RayTraceResult rayTraceEntities(Location start, Vector direction, double maxDistance, double raySize, Predicate<? super Entity> filter) {
@@ -68,7 +68,7 @@ index 467aacb5ce61ac79d8294067fd681b081c195fbe..3a941be852a2dd5114ca9673597e84e3
Preconditions.checkArgument(direction != null, "Vector direction cannot be null");
direction.checkFinite();
-@@ -1144,9 +1150,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1157,9 +1163,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public RayTraceResult rayTraceBlocks(Location start, Vector direction, double maxDistance, FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks) {
@@ -87,7 +87,7 @@ index 467aacb5ce61ac79d8294067fd681b081c195fbe..3a941be852a2dd5114ca9673597e84e3
Preconditions.checkArgument(direction != null, "Vector direction cannot be null");
direction.checkFinite();
-@@ -1159,16 +1172,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1172,16 +1185,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
Vector dir = direction.clone().normalize().multiply(maxDistance);
diff --git a/patches/server/0964-Broadcast-take-item-packets-with-collector-as-source.patch b/patches/server/0958-Broadcast-take-item-packets-with-collector-as-source.patch
index b80d8e811d..bc32e3307d 100644
--- a/patches/server/0964-Broadcast-take-item-packets-with-collector-as-source.patch
+++ b/patches/server/0958-Broadcast-take-item-packets-with-collector-as-source.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Broadcast take item packets with collector as source
This fixes players (which can't view the collector) seeing item pickups with themselves as the target.
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index f6592d997a4cfd9d3ca86cd955e3de0a49743bfa..f6eda18a0bcc398538c76bf4ca7c2a611523aa5d 100644
+index 549bb5caa38e08196fddbd4e4255b499c784a9c2..294c4950ebe63a5d0f74907692010c9c99cf82da 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3703,7 +3703,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3716,7 +3716,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public void take(Entity item, int count) {
if (!item.isRemoved() && !this.level().isClientSide && (item instanceof ItemEntity || item instanceof AbstractArrow || item instanceof ExperienceOrb)) {
diff --git a/patches/server/0965-Expand-LingeringPotion-API.patch b/patches/server/0959-Expand-LingeringPotion-API.patch
index 6036e51ec0..59154f7803 100644
--- a/patches/server/0965-Expand-LingeringPotion-API.patch
+++ b/patches/server/0959-Expand-LingeringPotion-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Expand LingeringPotion API
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java
-index aaed936c7b6a6ebcd69c8c51f5c92c3b1c51ec27..8bfe0e87c6db0fc89dd64a7ed2a0b4f5cb90b207 100644
+index f191b0e303a97b5406133454374ff9448aee1a5a..0c5bac5d955b1e380103c9b51635010212c6526e 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java
@@ -288,7 +288,7 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie
diff --git a/patches/server/0966-Add-MaterialTagsTest.patch b/patches/server/0960-Add-MaterialTagsTest.patch
index 34233ba1ca..34233ba1ca 100644
--- a/patches/server/0966-Add-MaterialTagsTest.patch
+++ b/patches/server/0960-Add-MaterialTagsTest.patch
diff --git a/patches/server/0967-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch b/patches/server/0961-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
index beed351bbb..4a02216b2f 100644
--- a/patches/server/0967-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
+++ b/patches/server/0961-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
@@ -45,10 +45,10 @@ index 0db0d67f9ac15372becc1166c37f7f0aede4a4da..a9e70484b01fc082ea25d43d1d428334
BlockState iblockdata = BaseFireBlock.getState(this.level(), blockposition);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 3a941be852a2dd5114ca9673597e84e3813d6ee2..da5f8dc6b4fce78f5f6278396d58474a5cc13f12 100644
+index be4fc09f9e30cb4bb5aaad49c23a19fd84f029bc..263d60cb498f601b1381124127c084efe424409e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -740,7 +740,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -746,7 +746,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
LightningBolt lightning = EntityType.LIGHTNING_BOLT.create(this.world);
lightning.moveTo(loc.getX(), loc.getY(), loc.getZ());
diff --git a/patches/server/0968-Add-hand-to-fish-event-for-all-player-interactions.patch b/patches/server/0962-Add-hand-to-fish-event-for-all-player-interactions.patch
index 92577eb2a1..59919994a5 100644
--- a/patches/server/0968-Add-hand-to-fish-event-for-all-player-interactions.patch
+++ b/patches/server/0962-Add-hand-to-fish-event-for-all-player-interactions.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add hand to fish event for all player interactions
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
-index f3694d432e280cace281eda95d8c2d4dd5d6930a..2378850b5d9e93ad0a52976de65ef35e29703a2c 100644
+index b6ebae97dc863ba1748e9b32555f940077846be8..90a5f6bd729148f2adc745273536e48d704fcd1e 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
@@ -474,7 +474,15 @@ public class FishingHook extends Projectile {
diff --git a/patches/server/0969-Fix-several-issues-with-EntityBreedEvent.patch b/patches/server/0963-Fix-several-issues-with-EntityBreedEvent.patch
index 27e4615bf0..eafe12a1bb 100644
--- a/patches/server/0969-Fix-several-issues-with-EntityBreedEvent.patch
+++ b/patches/server/0963-Fix-several-issues-with-EntityBreedEvent.patch
@@ -69,7 +69,7 @@ index f783fe169141d33e8569ec7f5d71985b74bdbcb6..be554dbaa9900207753e4f67f0ba4023
if (this.level().isClientSide || this.isSitting() || this.isInWater()) {
return InteractionResult.PASS;
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
-index e89f454fe178483a7db381591a4a345ac24db2b8..f693d4d6a6a3c3d31c2d85ceb5b5b01366c970a1 100644
+index 2382f4f044e346fbc0e25de8fb2be30f3630c722..cb48eb0a856338e6012dd66bff47692ee1dfd958 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -389,7 +389,7 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl
diff --git a/patches/server/0970-Add-UUID-attribute-modifier-API.patch b/patches/server/0964-Add-UUID-attribute-modifier-API.patch
index 37efcab4b6..37efcab4b6 100644
--- a/patches/server/0970-Add-UUID-attribute-modifier-API.patch
+++ b/patches/server/0964-Add-UUID-attribute-modifier-API.patch
diff --git a/patches/server/0971-Fix-missing-event-call-for-entity-teleport-API.patch b/patches/server/0965-Fix-missing-event-call-for-entity-teleport-API.patch
index 0fec63f418..0fec63f418 100644
--- a/patches/server/0971-Fix-missing-event-call-for-entity-teleport-API.patch
+++ b/patches/server/0965-Fix-missing-event-call-for-entity-teleport-API.patch
diff --git a/patches/server/0972-Lazily-create-LootContext-for-criterions.patch b/patches/server/0966-Lazily-create-LootContext-for-criterions.patch
index 293dfbd694..293dfbd694 100644
--- a/patches/server/0972-Lazily-create-LootContext-for-criterions.patch
+++ b/patches/server/0966-Lazily-create-LootContext-for-criterions.patch
diff --git a/patches/server/0973-Don-t-fire-sync-events-during-worldgen.patch b/patches/server/0967-Don-t-fire-sync-events-during-worldgen.patch
index 302a19d2ba..fa62a6db65 100644
--- a/patches/server/0973-Don-t-fire-sync-events-during-worldgen.patch
+++ b/patches/server/0967-Don-t-fire-sync-events-during-worldgen.patch
@@ -31,7 +31,7 @@ index 0e7811ae2a8731ae7475aabd2322e56ab364bc32..b5d6a7eaa24d9968e159d77a4295be00
if (entity.valid) {
MinecraftServer.LOGGER.error("Attempted Double World add on {}", entity, new Throwable());
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index ce6bbf5b56925c501804bff4626da8b7b2c8ff63..9e1d0e46e94cc72705af5e1d01de6bb7bea40107 100644
+index effd39457989f34823e4fa7bc038c47d04714317..c153912929e7b505ffebb91ccda2f9175347b089 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -624,7 +624,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -68,10 +68,10 @@ index 656c68b37bc25d6b77f295f9efe0a81dd20b69c1..8ba573bb4099ee5b27b61f333e72d794
}, () -> {
EntityType.LOGGER.warn("Skipping Entity with id {}", nbt.getString("id"));
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 5a47bffc059df227352a497881ebf1364a6c0019..1d1fe8e8c23fc177960fb78d2e38ea9846fc3938 100644
+index 294c4950ebe63a5d0f74907692010c9c99cf82da..fe95119a8d26887f4e9cd1b9cd1299515835e958 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -1133,6 +1133,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1134,6 +1134,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
public boolean addEffect(MobEffectInstance mobeffect, @Nullable Entity entity, EntityPotionEffectEvent.Cause cause) {
@@ -83,7 +83,7 @@ index 5a47bffc059df227352a497881ebf1364a6c0019..1d1fe8e8c23fc177960fb78d2e38ea98
// org.spigotmc.AsyncCatcher.catchOp("effect add"); // Spigot // Paper - move to API
if (this.isTickingEffects) {
this.effectsToProcess.add(new ProcessableEffect(mobeffect, cause));
-@@ -1152,10 +1157,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1153,10 +1158,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
override = new MobEffectInstance(mobeffect1).update(mobeffect);
}
@@ -97,7 +97,7 @@ index 5a47bffc059df227352a497881ebf1364a6c0019..1d1fe8e8c23fc177960fb78d2e38ea98
// CraftBukkit end
if (mobeffect1 == null) {
-@@ -1163,7 +1171,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1164,7 +1172,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.onEffectAdded(mobeffect, entity);
flag = true;
// CraftBukkit start
diff --git a/patches/server/0974-Add-Structure-check-API.patch b/patches/server/0968-Add-Structure-check-API.patch
index 2a2c03ae57..b291fdf604 100644
--- a/patches/server/0974-Add-Structure-check-API.patch
+++ b/patches/server/0968-Add-Structure-check-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Structure check API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index da5f8dc6b4fce78f5f6278396d58474a5cc13f12..4ae206af89a413edb09319fd4bce2a94c575c617 100644
+index 263d60cb498f601b1381124127c084efe424409e..18dbaf5d73898756086b94d06d08f8384224709a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -230,6 +230,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -236,6 +236,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
};
}
// Paper end
diff --git a/patches/server/0975-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch b/patches/server/0969-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
index bd1de406e5..bd1de406e5 100644
--- a/patches/server/0975-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
+++ b/patches/server/0969-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
diff --git a/patches/server/0976-Restore-vanilla-entity-drops-behavior.patch b/patches/server/0970-Restore-vanilla-entity-drops-behavior.patch
index b66f728642..92b596f523 100644
--- a/patches/server/0976-Restore-vanilla-entity-drops-behavior.patch
+++ b/patches/server/0970-Restore-vanilla-entity-drops-behavior.patch
@@ -9,7 +9,7 @@ on dropping the item instead of generalizing it for all dropped
items like CB does.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 6147ffdcb83a9d013a05facd75453d6500064fe7..ecf463139bb6567103d81ae26cfff53d843cbd26 100644
+index 7272dc058c575efee5ac2643ce41b7d12e346e89..ae5a2136a0e266d4c35190f5d33552994c842786 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -891,22 +891,20 @@ public class ServerPlayer extends Player {
@@ -50,10 +50,10 @@ index 6147ffdcb83a9d013a05facd75453d6500064fe7..ecf463139bb6567103d81ae26cfff53d
if (entityitem == null) {
return null;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 9e1d0e46e94cc72705af5e1d01de6bb7bea40107..86013d6eda6708b38c2013a242ced07eea7a3f01 100644
+index f49a1e0ff2c81e9a714458e8c4d3e7220522f813..8c42792ea5cb0fe5d1da7467875efda9be9040e1 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2476,6 +2476,25 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2480,6 +2480,25 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@Nullable
public ItemEntity spawnAtLocation(ItemStack stack, float yOffset) {
@@ -79,7 +79,7 @@ index 9e1d0e46e94cc72705af5e1d01de6bb7bea40107..86013d6eda6708b38c2013a242ced07e
if (stack.isEmpty()) {
return null;
} else if (this.level().isClientSide) {
-@@ -2483,14 +2502,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2487,14 +2506,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
} else {
// CraftBukkit start - Capture drops for death event
if (this instanceof net.minecraft.world.entity.LivingEntity && !((net.minecraft.world.entity.LivingEntity) this).forceDrops) {
@@ -104,10 +104,10 @@ index 9e1d0e46e94cc72705af5e1d01de6bb7bea40107..86013d6eda6708b38c2013a242ced07e
return this.spawnAtLocation(entityitem);
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 1d1fe8e8c23fc177960fb78d2e38ea9846fc3938..1b1bb94138c0f5ce197ec4cab251cdc9991c8fc7 100644
+index fe95119a8d26887f4e9cd1b9cd1299515835e958..728136663685882c6fd2d94900a27368c7c340f1 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -253,7 +253,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -254,7 +254,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
// CraftBukkit start
public int expToDrop;
public boolean forceDrops;
@@ -165,7 +165,7 @@ index e3412f9dd86dddd241bea8f6dcaeed77a7e67f08..6dfcc296ff7e59ecbebc5446973fabc9
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 7c5b6ab17439c6dc958a910c683114b6397f3379..5519ef3b82b5a04536bb2ffb7ce1ba460a2df8d6 100644
+index 0937d70b575b12bdfc0f643648088fa4cf13c230..1a7c002d1a84a52d91d4753ef4d78a8688f6d6ad 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -963,17 +963,23 @@ public class CraftEventFactory {
diff --git a/patches/server/0977-Dont-resend-blocks-on-interactions.patch b/patches/server/0971-Dont-resend-blocks-on-interactions.patch
index d79a6f92ea..8a8a5bb4ed 100644
--- a/patches/server/0977-Dont-resend-blocks-on-interactions.patch
+++ b/patches/server/0971-Dont-resend-blocks-on-interactions.patch
@@ -149,10 +149,10 @@ index 4b9e726e6ac255e743479d5c2e0cdb98464399a4..6371f326fc86cfc53e39bf8ed13b646f
return false;
}
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index 0fd5decb0790423aba80a7c1e55ce39aff6761b4..2470acc82292bedd930be404a2e1d1f8fad700e1 100644
+index 9b4e20d4bfba2de08084f1d69cb2ebfff7455c14..06dc04a1fbb91a5a20d662aeee168b6a319551d0 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -457,10 +457,12 @@ public final class ItemStack {
+@@ -458,10 +458,12 @@ public final class ItemStack {
world.preventPoiUpdated = false;
// Brute force all possible updates
diff --git a/patches/server/0978-add-more-scoreboard-API.patch b/patches/server/0972-add-more-scoreboard-API.patch
index 3365b53a36..3365b53a36 100644
--- a/patches/server/0978-add-more-scoreboard-API.patch
+++ b/patches/server/0972-add-more-scoreboard-API.patch
diff --git a/patches/server/0979-Improve-Registry.patch b/patches/server/0973-Improve-Registry.patch
index 58247ca580..b3e7a17ff6 100644
--- a/patches/server/0979-Improve-Registry.patch
+++ b/patches/server/0973-Improve-Registry.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Improve Registry
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-index 13270b2197c594dc03d089aea46aa410dd9efd13..493d054cdda04bc08ab610a09c2a1d0290ae046c 100644
+index b12b99253543445475b73a1d3d7c6364856b49e8..4fc02698a9312496e7f9bce1c64f317374d2a42f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-@@ -126,6 +126,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+@@ -131,6 +131,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
private final Class<? super B> bukkitClass;
private final Map<NamespacedKey, B> cache = new HashMap<>();
@@ -16,7 +16,7 @@ index 13270b2197c594dc03d089aea46aa410dd9efd13..493d054cdda04bc08ab610a09c2a1d02
private final net.minecraft.core.Registry<M> minecraftRegistry;
private final BiFunction<NamespacedKey, M, B> minecraftToBukkit;
private boolean init;
-@@ -170,6 +171,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+@@ -175,6 +176,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
}
this.cache.put(namespacedKey, bukkit);
@@ -24,7 +24,7 @@ index 13270b2197c594dc03d089aea46aa410dd9efd13..493d054cdda04bc08ab610a09c2a1d02
return bukkit;
}
-@@ -192,4 +194,11 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+@@ -197,4 +199,11 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
return this.minecraftToBukkit.apply(namespacedKey, minecraft);
}
diff --git a/patches/server/0980-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch b/patches/server/0974-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
index aa658a4835..bf344a8f6b 100644
--- a/patches/server/0980-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
+++ b/patches/server/0974-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
@@ -26,10 +26,10 @@ index 3fec07b250a8f145e30c8c41888e47d2a3c902e1..2ddd033e1c3a2e5c8950b93c83849192
x = to.getX();
y = to.getY();
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index d3d958b58934bcb513ffef474a9de58c61e654a2..976b9981d6022eab6b124dd279eac82364644585 100644
+index 728136663685882c6fd2d94900a27368c7c340f1..4591011a142f33f0c0ff84a2765cededde0e0c57 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -4180,7 +4180,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4193,7 +4193,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (!(this instanceof ServerPlayer)) {
EntityTeleportEvent teleport = new EntityTeleportEvent(this.getBukkitEntity(), new Location(this.level().getWorld(), d3, d4, d5), new Location(this.level().getWorld(), d0, d6, d2));
this.level().getCraftServer().getPluginManager().callEvent(teleport);
diff --git a/patches/server/0981-Add-experience-points-API.patch b/patches/server/0975-Add-experience-points-API.patch
index 6eb501d9c4..5179a0626b 100644
--- a/patches/server/0981-Add-experience-points-API.patch
+++ b/patches/server/0975-Add-experience-points-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add experience points API
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index eb6a4518d3919cacc3b7a83870c0f0e87eba3f6e..d8ef2466e235b8121dd04bde0800ed2dbf8e370c 100644
+index f32708ed934bbbf2416e32fdddc7bb4329958cf6..2a280a54bdd7e4b7f26e0b2d2da0d9d3fd432583 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -1825,7 +1825,7 @@ public abstract class Player extends LivingEntity {
+@@ -1826,7 +1826,7 @@ public abstract class Player extends LivingEntity {
}
public int getXpNeededForNextLevel() {
@@ -18,10 +18,10 @@ index eb6a4518d3919cacc3b7a83870c0f0e87eba3f6e..d8ef2466e235b8121dd04bde0800ed2d
// Paper start - send while respecting visibility
private static void sendSoundEffect(Player fromEntity, double x, double y, double z, SoundEvent soundEffect, SoundSource soundCategory, float volume, float pitch) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index cd58b5e338ece695cddab37b5bcce730b04dc63d..a85f7f56bdabe246ce47ab83f4000bd779cf5c3b 100644
+index b88c71c4a1d4eb5c24d143a0d8ddff507df690f7..205dfed388db7d022e4fd8b3f89485735d3320a8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1794,6 +1794,49 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1824,6 +1824,49 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
Preconditions.checkArgument(exp >= 0, "Total experience points must not be negative (%s)", exp);
this.getHandle().totalExperience = exp;
}
diff --git a/patches/server/0982-Add-drops-to-shear-events.patch b/patches/server/0976-Add-drops-to-shear-events.patch
index 5f0cfb9709..88b61dc3d0 100644
--- a/patches/server/0982-Add-drops-to-shear-events.patch
+++ b/patches/server/0976-Add-drops-to-shear-events.patch
@@ -44,7 +44,7 @@ index 5e8cc5cfac8888628c6d513148f41be09ca65a2c..2ee48ac3b665db2b02bcb1a30ec972d4
+ // Paper end - custom shear drops
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
-index e42b0b19019ef74733fd19b08f882cccff920142..7a82ba6e29fde33841c049e8520300aa66608f34 100644
+index 6f70d3a5a561e88a8e03d2165c71766ed09fcd41..e1f174ff0f791b20be7d6ad8e4a172d1e0c81e33 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -122,11 +122,18 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
@@ -175,7 +175,7 @@ index 55afa58f3df53ce548c7484d8fff62c903f9dc07..1d80678f7e8f658e43616f0baf723f09
if (entityitem != null) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
-index 8adcfc8f6772a32b5915e4a07100e8eb735f907a..b5d6857eaf2bed14adcb5f5e80d91b44eb8b0dcc 100644
+index 54c01fdaf507a30196fb8f38888a570f9e393559..9eab1170cb123d3b60a02314702516704f959ab7 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -153,11 +153,18 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -233,10 +233,10 @@ index 8adcfc8f6772a32b5915e4a07100e8eb735f907a..b5d6857eaf2bed14adcb5f5e80d91b44
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 5519ef3b82b5a04536bb2ffb7ce1ba460a2df8d6..9389249662f4c7a8656c60671152cc6969cad96c 100644
+index 1a7c002d1a84a52d91d4753ef4d78a8688f6d6ad..347bd2482c89e06716121bd7d05941203bab2a8b 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -1744,20 +1744,20 @@ public class CraftEventFactory {
+@@ -1667,20 +1667,20 @@ public class CraftEventFactory {
return event;
}
diff --git a/patches/server/0983-Add-PlayerShieldDisableEvent.patch b/patches/server/0977-Add-PlayerShieldDisableEvent.patch
index f01564c4b9..559e3c5bc7 100644
--- a/patches/server/0983-Add-PlayerShieldDisableEvent.patch
+++ b/patches/server/0977-Add-PlayerShieldDisableEvent.patch
@@ -16,7 +16,7 @@ sideeffects, meaning the disable event cannot share a handlerlist with
the cooldown event
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
-index a1ccd300791ccb3f1ef47b771e4fe33542039fea..7c5d7856a7982f0b3cad21f2cb8dde8569d2ec28 100644
+index 1721504912c9e5744f09c17d059315ee357afeb4..9ecabac9e95bb0b550260770fcc713ad82070d0b 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1697,7 +1697,11 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -33,10 +33,10 @@ index a1ccd300791ccb3f1ef47b771e4fe33542039fea..7c5d7856a7982f0b3cad21f2cb8dde85
}
}
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index d8ef2466e235b8121dd04bde0800ed2dbf8e370c..4f2d4ed485ce0d5f82f562281c40dc6a660e554b 100644
+index 2a280a54bdd7e4b7f26e0b2d2da0d9d3fd432583..ade64d3af069abdb5c94895fe699ac5eee603a6e 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -971,7 +971,7 @@ public abstract class Player extends LivingEntity {
+@@ -972,7 +972,7 @@ public abstract class Player extends LivingEntity {
protected void blockUsingShield(LivingEntity attacker) {
super.blockUsingShield(attacker);
if (attacker.canDisableShield()) {
@@ -45,7 +45,7 @@ index d8ef2466e235b8121dd04bde0800ed2dbf8e370c..4f2d4ed485ce0d5f82f562281c40dc6a
}
}
-@@ -1454,7 +1454,14 @@ public abstract class Player extends LivingEntity {
+@@ -1455,7 +1455,14 @@ public abstract class Player extends LivingEntity {
this.attack(target);
}
@@ -60,7 +60,7 @@ index d8ef2466e235b8121dd04bde0800ed2dbf8e370c..4f2d4ed485ce0d5f82f562281c40dc6a
float f = 0.25F + (float) EnchantmentHelper.getBlockEfficiency(this) * 0.05F;
if (sprinting) {
-@@ -1462,7 +1469,16 @@ public abstract class Player extends LivingEntity {
+@@ -1463,7 +1470,16 @@ public abstract class Player extends LivingEntity {
}
if (this.random.nextFloat() < f) {
diff --git a/patches/server/0984-Validate-ResourceLocation-in-NBT-reading.patch b/patches/server/0978-Validate-ResourceLocation-in-NBT-reading.patch
index 28c0b0a4c9..2f94b7ad03 100644
--- a/patches/server/0984-Validate-ResourceLocation-in-NBT-reading.patch
+++ b/patches/server/0978-Validate-ResourceLocation-in-NBT-reading.patch
@@ -53,10 +53,10 @@ index 8ba573bb4099ee5b27b61f333e72d794c48d5f29..69bdf3f2ee731e59e8d454816a9ca72c
@Nullable
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index b4568e0dcb33aa516c1bcd7338e7f9220ac71ff6..a55985205cbd5d318a15552816ce44560d323559 100644
+index 4591011a142f33f0c0ff84a2765cededde0e0c57..c0bfce7266bbdfe0c5a753367032eb333f56c182 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -870,12 +870,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -871,12 +871,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (nbt.contains("SleepingX", 99) && nbt.contains("SleepingY", 99) && nbt.contains("SleepingZ", 99)) {
BlockPos blockposition = new BlockPos(nbt.getInt("SleepingX"), nbt.getInt("SleepingY"), nbt.getInt("SleepingZ"));
@@ -72,7 +72,7 @@ index b4568e0dcb33aa516c1bcd7338e7f9220ac71ff6..a55985205cbd5d318a15552816ce4456
if (nbt.contains("Brain", 10)) {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
-index 026654c4d3a910f0dbfed5475f23137086618242..1881deb9d8ffc884ba23843936615181f4220623 100644
+index 9ecabac9e95bb0b550260770fcc713ad82070d0b..fd093e5bc79a44e02f57bacd8273dc87342f5709 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -607,7 +607,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
diff --git a/patches/server/0985-Properly-handle-experience-dropping-on-block-break.patch b/patches/server/0979-Properly-handle-experience-dropping-on-block-break.patch
index ec81670c91..ec81670c91 100644
--- a/patches/server/0985-Properly-handle-experience-dropping-on-block-break.patch
+++ b/patches/server/0979-Properly-handle-experience-dropping-on-block-break.patch
diff --git a/patches/server/0986-Fixup-NamespacedKey-handling.patch b/patches/server/0980-Fixup-NamespacedKey-handling.patch
index 14ddcf111d..14ddcf111d 100644
--- a/patches/server/0986-Fixup-NamespacedKey-handling.patch
+++ b/patches/server/0980-Fixup-NamespacedKey-handling.patch
diff --git a/patches/server/0987-Expose-LootTable-of-DecoratedPot.patch b/patches/server/0981-Expose-LootTable-of-DecoratedPot.patch
index 6d5e2738de..6d5e2738de 100644
--- a/patches/server/0987-Expose-LootTable-of-DecoratedPot.patch
+++ b/patches/server/0981-Expose-LootTable-of-DecoratedPot.patch
diff --git a/patches/server/0988-Reduce-allocation-of-Vec3D-by-entity-tracker.patch b/patches/server/0982-Reduce-allocation-of-Vec3D-by-entity-tracker.patch
index d64cc30c77..d64cc30c77 100644
--- a/patches/server/0988-Reduce-allocation-of-Vec3D-by-entity-tracker.patch
+++ b/patches/server/0982-Reduce-allocation-of-Vec3D-by-entity-tracker.patch
diff --git a/patches/server/0989-Rewrite-dataconverter-system.patch b/patches/server/0983-Rewrite-dataconverter-system.patch
index ef1dfaa9bd..0d62473208 100644
--- a/patches/server/0989-Rewrite-dataconverter-system.patch
+++ b/patches/server/0983-Rewrite-dataconverter-system.patch
@@ -24939,10 +24939,10 @@ index 49d39980054bce470ddaceeb6ab7fab83bf8dc54..63e187c65cb855031f286aad0d25ac46
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index b9183a9a657c2cd320fca0f15db0dae6827546f1..4e1390b9244aeb745ffd3fd1257bc74248722515 100644
+index 6372f3a4fdf6e37ef785749ec40c3bd67b003b28..1562e9832df8bf3f81fb37983a303da5bd9ceee6 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -500,8 +500,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -515,8 +515,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
CompoundTag compound = deserializeNbtFromBytes(data);
final int dataVersion = compound.getInt("DataVersion");
@@ -24952,7 +24952,7 @@ index b9183a9a657c2cd320fca0f15db0dae6827546f1..4e1390b9244aeb745ffd3fd1257bc742
}
@Override
-@@ -521,7 +520,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -536,7 +535,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
CompoundTag compound = deserializeNbtFromBytes(data);
int dataVersion = compound.getInt("DataVersion");
diff --git a/patches/server/0990-Starlight.patch b/patches/server/0984-Starlight.patch
index f3a5d03f69..0604569c85 100644
--- a/patches/server/0990-Starlight.patch
+++ b/patches/server/0984-Starlight.patch
@@ -5195,7 +5195,7 @@ index 38ec21faaa16df5485a81a581506700a5ab0a440..7da1ed9640211b0e064162dcdb000053
}
}
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
-index f594b5c60c723ef70e51ab30b45b90f89d6972d6..7e416ad09959a08931c207f62d97af4ee868c039 100644
+index 85de64c1e75e1323f8425fc53e525c215ff417ce..c6115477cc94bf47a5f459418a232412b7c358ba 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
@@ -88,6 +88,14 @@ public class ChunkSerializer {
@@ -5403,10 +5403,10 @@ index f594b5c60c723ef70e51ab30b45b90f89d6972d6..7e416ad09959a08931c207f62d97af4e
return nbt != null ? ChunkStatus.byName(nbt.getString("Status")).getChunkType() : ChunkStatus.ChunkType.PROTOCHUNK;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 4ae206af89a413edb09319fd4bce2a94c575c617..5cc2deb8f170452c7049743068bf281f67687db9 100644
+index 18dbaf5d73898756086b94d06d08f8384224709a..6379f26776e2e267b84fe8f8392b53d7d89eb5ad 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -490,12 +490,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -496,12 +496,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
}
diff --git a/patches/server/0991-Rewrite-chunk-system.patch b/patches/server/0985-Rewrite-chunk-system.patch
index 0b54a341b4..a14343ab34 100644
--- a/patches/server/0991-Rewrite-chunk-system.patch
+++ b/patches/server/0985-Rewrite-chunk-system.patch
@@ -15676,7 +15676,7 @@ index 48da5bdabcf38afbbd1509eca56d5c761622409f..48e3b0f065b370f780f8a6145fba9f3f
public boolean isDebugging() {
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index 0c2145c66369a950567ddfbf157067ca7cb4dd11..bcb1505c020c1a6c2bcb9508cf198f4b11ca984e 100644
+index 1b38d267daa7902bcb7d2a71d28b3f39da722ad1..27546cdf3a4d6954e7b5639ec18fcf554be4d092 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -452,7 +452,34 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -19374,7 +19374,7 @@ index 640db9f71608310a64e09f1e3e677c01e6ccd98a..f2a7cb6ebed7a4b4019a09af2a025f62
if (flag1) {
++this.converted;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 86013d6eda6708b38c2013a242ced07eea7a3f01..43d6ed4ab09227ca23cbd51df9a42a5a3b909396 100644
+index 8c42792ea5cb0fe5d1da7467875efda9be9040e1..bfc3242952fd425ab4f7cd42b21228baa6f75c87 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -479,6 +479,58 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -19436,7 +19436,7 @@ index 86013d6eda6708b38c2013a242ced07eea7a3f01..43d6ed4ab09227ca23cbd51df9a42a5a
public Entity(EntityType<?> type, Level world) {
this.id = Entity.ENTITY_COUNTER.incrementAndGet();
this.passengers = ImmutableList.of();
-@@ -2560,11 +2612,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2564,11 +2616,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return InteractionResult.PASS;
}
@@ -19450,7 +19450,7 @@ index 86013d6eda6708b38c2013a242ced07eea7a3f01..43d6ed4ab09227ca23cbd51df9a42a5a
return false;
}
-@@ -3990,6 +4042,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -3993,6 +4045,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}).count();
}
@@ -19464,7 +19464,7 @@ index 86013d6eda6708b38c2013a242ced07eea7a3f01..43d6ed4ab09227ca23cbd51df9a42a5a
public boolean hasExactlyOnePlayerPassenger() {
if (this.passengers.isEmpty()) { return false; } // Paper - Optimize indirect passenger iteration
return this.countPlayerPassengers() == 1;
-@@ -4342,6 +4401,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -4345,6 +4404,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return;
}
// Paper end - Block invalid positions and bounding box
@@ -19477,7 +19477,7 @@ index 86013d6eda6708b38c2013a242ced07eea7a3f01..43d6ed4ab09227ca23cbd51df9a42a5a
// Paper start - Fix MC-4
if (this instanceof ItemEntity) {
if (io.papermc.paper.configuration.GlobalConfiguration.get().misc.fixEntityPositionDesync) {
-@@ -4465,6 +4530,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -4468,6 +4533,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@Override
public final void setRemoved(Entity.RemovalReason reason) {
@@ -19491,7 +19491,7 @@ index 86013d6eda6708b38c2013a242ced07eea7a3f01..43d6ed4ab09227ca23cbd51df9a42a5a
final boolean alreadyRemoved = this.removalReason != null; // Paper - Folia schedulers
if (this.removalReason == null) {
this.removalReason = reason;
-@@ -4474,7 +4546,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -4477,7 +4549,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.stopRiding();
}
@@ -19500,7 +19500,7 @@ index 86013d6eda6708b38c2013a242ced07eea7a3f01..43d6ed4ab09227ca23cbd51df9a42a5a
this.levelCallback.onRemove(reason);
// Paper start - Folia schedulers
if (!(this instanceof ServerPlayer) && reason != RemovalReason.CHANGED_DIMENSION && !alreadyRemoved) {
-@@ -4505,7 +4577,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -4508,7 +4580,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@Override
public boolean shouldBeSaved() {
@@ -20228,7 +20228,7 @@ index 73e682bb3ef3b2e450ec8c594b5365c7a340615e..6a5756bd333d9b221e7770842e5114d2
public void setFullStatus(Supplier<FullChunkStatus> levelTypeProvider) {
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
-index 7e416ad09959a08931c207f62d97af4ee868c039..5d50f1bcba507975b8942529104c0ccd5e08c252 100644
+index c6115477cc94bf47a5f459418a232412b7c358ba..e67ebc8517a1afb0c7fe23f19a781942dded3241 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
@@ -110,6 +110,17 @@ public class ChunkSerializer {
@@ -21323,10 +21323,10 @@ index 9f6c2e5b5d9e8d714a47c770e255d06c0ef7c190..ac807277a6b26d140ea9873d17c7aa4f
for(SavedTick<T> savedTick : this.pendingTicks) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
-index 1eff5e4800ad3b628a42113fb3ba67458e56a40d..d4e0ef75dd12709a0dcf9193821c30b8943e6c36 100644
+index 260ca4a9c170567b27488466f802c91212997f91..e47b00912fc76e9639f9c51d96e6d39da3c963e3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
-@@ -113,7 +113,7 @@ public class CraftChunk implements Chunk {
+@@ -115,7 +115,7 @@ public class CraftChunk implements Chunk {
@Override
public boolean isEntitiesLoaded() {
@@ -21335,7 +21335,7 @@ index 1eff5e4800ad3b628a42113fb3ba67458e56a40d..d4e0ef75dd12709a0dcf9193821c30b8
}
@Override
-@@ -122,51 +122,7 @@ public class CraftChunk implements Chunk {
+@@ -124,51 +124,7 @@ public class CraftChunk implements Chunk {
this.getWorld().getChunkAt(this.x, this.z); // Transient load for this tick
}
@@ -21389,10 +21389,10 @@ index 1eff5e4800ad3b628a42113fb3ba67458e56a40d..d4e0ef75dd12709a0dcf9193821c30b8
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index f401aa456e1b03230cdd5d2e109909f7b43f3774..3ea2cee19e6fe1b94e39ef535102d41ec2c0bdad 100644
+index 92369eb350fd795a4e99731d7ceda4f8b890791e..a76f966d72b749f1706363d33caa351b54e9fa14 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1384,7 +1384,6 @@ public final class CraftServer implements Server {
+@@ -1396,7 +1396,6 @@ public final class CraftServer implements Server {
internal.keepSpawnInMemory = creator.keepSpawnLoaded().toBooleanOrElse(internal.getWorld().getKeepSpawnInMemory()); // Paper
this.getServer().prepareLevels(internal.getChunkSource().chunkMap.progressListener, internal);
@@ -21400,7 +21400,7 @@ index f401aa456e1b03230cdd5d2e109909f7b43f3774..3ea2cee19e6fe1b94e39ef535102d41e
this.pluginManager.callEvent(new WorldLoadEvent(internal.getWorld()));
return internal.getWorld();
-@@ -1429,7 +1428,7 @@ public final class CraftServer implements Server {
+@@ -1441,7 +1440,7 @@ public final class CraftServer implements Server {
}
handle.getChunkSource().close(save);
@@ -21409,7 +21409,7 @@ index f401aa456e1b03230cdd5d2e109909f7b43f3774..3ea2cee19e6fe1b94e39ef535102d41e
handle.convertable.close();
} catch (Exception ex) {
this.getLogger().log(Level.SEVERE, null, ex);
-@@ -2444,7 +2443,7 @@ public final class CraftServer implements Server {
+@@ -2456,7 +2455,7 @@ public final class CraftServer implements Server {
@Override
public boolean isPrimaryThread() {
@@ -21419,10 +21419,10 @@ index f401aa456e1b03230cdd5d2e109909f7b43f3774..3ea2cee19e6fe1b94e39ef535102d41e
// Paper start - Adventure
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 5cc2deb8f170452c7049743068bf281f67687db9..84ec87b889d0d450293310e18c34aef505a8147b 100644
+index 6379f26776e2e267b84fe8f8392b53d7d89eb5ad..726aa0461bbf380989a5b51dbfdfdda259b8632b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -501,10 +501,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -507,10 +507,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
ChunkHolder playerChunk = this.world.getChunkSource().chunkMap.getVisibleChunkIfPresent(ChunkPos.asLong(x, z));
if (playerChunk == null) return false;
@@ -21440,7 +21440,7 @@ index 5cc2deb8f170452c7049743068bf281f67687db9..84ec87b889d0d450293310e18c34aef5
ClientboundLevelChunkWithLightPacket refreshPacket = new ClientboundLevelChunkWithLightPacket(chunk, this.world.getLightEngine(), null, null);
for (ServerPlayer player : playersInRange) {
-@@ -512,8 +516,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -518,8 +522,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
player.connection.send(refreshPacket);
}
@@ -21450,7 +21450,7 @@ index 5cc2deb8f170452c7049743068bf281f67687db9..84ec87b889d0d450293310e18c34aef5
return true;
}
-@@ -592,20 +595,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -598,20 +601,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public Collection<Plugin> getPluginChunkTickets(int x, int z) {
DistanceManager chunkDistanceManager = this.world.getChunkSource().chunkMap.distanceManager;
@@ -21472,7 +21472,7 @@ index 5cc2deb8f170452c7049743068bf281f67687db9..84ec87b889d0d450293310e18c34aef5
}
@Override
-@@ -613,7 +603,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -619,7 +609,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Map<Plugin, ImmutableList.Builder<Chunk>> ret = new HashMap<>();
DistanceManager chunkDistanceManager = this.world.getChunkSource().chunkMap.distanceManager;
@@ -21481,7 +21481,7 @@ index 5cc2deb8f170452c7049743068bf281f67687db9..84ec87b889d0d450293310e18c34aef5
long chunkKey = chunkTickets.getLongKey();
SortedArraySet<Ticket<?>> tickets = chunkTickets.getValue();
-@@ -1275,12 +1265,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1288,12 +1278,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public int getViewDistance() {
@@ -21496,7 +21496,7 @@ index 5cc2deb8f170452c7049743068bf281f67687db9..84ec87b889d0d450293310e18c34aef5
}
public BlockMetadataStore getBlockMetadata() {
-@@ -2422,17 +2412,20 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2459,17 +2449,20 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setSimulationDistance(final int simulationDistance) {
@@ -21521,10 +21521,10 @@ index 5cc2deb8f170452c7049743068bf281f67687db9..84ec87b889d0d450293310e18c34aef5
// Paper start - implement pointers
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index a85f7f56bdabe246ce47ab83f4000bd779cf5c3b..39b25c2478eadd373383a3445a7f27ea30d18550 100644
+index 205dfed388db7d022e4fd8b3f89485735d3320a8..206520f6f20b2e48b1eefdd4edb26510b88e4c92 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3349,31 +3349,31 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3400,31 +3400,31 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public int getViewDistance() {
diff --git a/patches/server/0992-incremental-chunk-and-player-saving.patch b/patches/server/0986-incremental-chunk-and-player-saving.patch
index 5a4618b85d..8fe25f56ce 100644
--- a/patches/server/0992-incremental-chunk-and-player-saving.patch
+++ b/patches/server/0986-incremental-chunk-and-player-saving.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] incremental chunk and player saving
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 365b11eb92e76cda975a5989a556abcf4c8fdaa4..0b1de9a1b7ae9ed7a938b8f3482d82a106644b7a 100644
+index 48e3b0f065b370f780f8a6145fba9f3f7976badb..79de3c639795cfc0bd86f842446e2bb3ab71d23a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -908,7 +908,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -118,7 +118,7 @@ index dff2dfbe9cc04894d42181c6691e27ad061beb40..09a9452705cc8d4133940c081583d6d3
// Paper start - rewrite chunk system - add close param
this.save(progressListener, flush, savingDisabled, false);
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 36aa6fa15e12da2caec671895d5e627da0e9ff95..e03d2d3d35470cb3971606c66da382672eef1f82 100644
+index 5657f1ecbadda96a79978f918393c0c9a58dca83..910c5087406837033e580ec2a23f5d30d807b723 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -191,6 +191,7 @@ import org.bukkit.inventory.MainHand;
@@ -130,7 +130,7 @@ index 36aa6fa15e12da2caec671895d5e627da0e9ff95..e03d2d3d35470cb3971606c66da38267
private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_Y = 10;
private static final int FLY_STAT_RECORDING_SPEED = 25;
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 39ebcbac5b735582717dd98c84f065614f361805..34bd7e81f9480c97afd69c11eca216b03e6a5a1f 100644
+index d2e65c105c38c71a6b1739b95547772511a36345..23443444ae0c52392bd9cdd758057437d99e376a 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -576,6 +576,7 @@ public abstract class PlayerList {
diff --git a/patches/server/0993-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch b/patches/server/0987-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
index c41b836fad..c41b836fad 100644
--- a/patches/server/0993-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
+++ b/patches/server/0987-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
diff --git a/patches/server/0994-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/patches/server/0988-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
index 262508bd29..4575405a7d 100644
--- a/patches/server/0994-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
+++ b/patches/server/0988-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
@@ -25,10 +25,10 @@ index 09a9452705cc8d4133940c081583d6d38d226f71..5f3502b148588a76079c1d9f55e4203f
}
}
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
-index 4f2d4ed485ce0d5f82f562281c40dc6a660e554b..df8d6f3eb675354ce0d180fc56886ce12788d6ae 100644
+index ade64d3af069abdb5c94895fe699ac5eee603a6e..5ca1f834f311a87323ced2578535e66efa14e47f 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
-@@ -788,6 +788,14 @@ public abstract class Player extends LivingEntity {
+@@ -789,6 +789,14 @@ public abstract class Player extends LivingEntity {
return null;
}
// CraftBukkit end
diff --git a/patches/server/0995-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch b/patches/server/0989-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch
index 6cb17eca10..477ac26b8f 100644
--- a/patches/server/0995-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch
+++ b/patches/server/0989-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch
@@ -26,10 +26,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index a55985205cbd5d318a15552816ce44560d323559..2b77cc316a8ca5bf75b4aa7f5e881d920bef094c 100644
+index c0bfce7266bbdfe0c5a753367032eb333f56c182..b64d6cd9899ab91895faeb090c5afadbbc90f09e 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3725,7 +3725,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3738,7 +3738,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
Vec3 vec3d1 = new Vec3(entity.getX(), entity.getEyeY(), entity.getZ());
// Paper - diff on change - used in CraftLivingEntity#hasLineOfSight(Location) and CraftWorld#lineOfSightExists
diff --git a/patches/server/0996-Optimize-Network-Manager-and-add-advanced-packet-sup.patch b/patches/server/0990-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
index 4c83d00b56..6ab7cbf215 100644
--- a/patches/server/0996-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
+++ b/patches/server/0990-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
@@ -28,7 +28,7 @@ and then catch exceptions and close if they fire.
Part of this commit was authored by: Spottedleaf, sandtechnology
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
-index e6a8f36fa07561b69b9d869022234182bdd62da0..a0434b92615c10a319eb4528808a83d01df2c516 100644
+index 22a7f17180b76b6c3548d3b54ae8218a469401a8..7f2aa5e17fe675f3404d67b1794d2ca68b188eb9 100644
--- a/src/main/java/net/minecraft/network/Connection.java
+++ b/src/main/java/net/minecraft/network/Connection.java
@@ -84,7 +84,7 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
diff --git a/patches/server/0997-Allow-Saving-of-Oversized-Chunks.patch b/patches/server/0991-Allow-Saving-of-Oversized-Chunks.patch
index f6a81ca166..f6a81ca166 100644
--- a/patches/server/0997-Allow-Saving-of-Oversized-Chunks.patch
+++ b/patches/server/0991-Allow-Saving-of-Oversized-Chunks.patch
diff --git a/patches/server/0998-Fix-World-isChunkGenerated-calls.patch b/patches/server/0992-Fix-World-isChunkGenerated-calls.patch
index dd397e8f64..1cec6fc43b 100644
--- a/patches/server/0998-Fix-World-isChunkGenerated-calls.patch
+++ b/patches/server/0992-Fix-World-isChunkGenerated-calls.patch
@@ -153,10 +153,10 @@ index f27cf743bbc379520263909541d653dd38d1be58..0db8ee3b640e6d1268e9c1cccda85459
// Paper start - don't write garbage data to disk if writing serialization fails
dataoutputstream.close(); // Only write if successful
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 84ec87b889d0d450293310e18c34aef505a8147b..d1cff7794313fd29717e9d7818ccf00e340f08a9 100644
+index 726aa0461bbf380989a5b51dbfdfdda259b8632b..49d8fd363391d085067253504c146c6fcf297d8f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -376,9 +376,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -382,9 +382,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean isChunkGenerated(int x, int z) {
@@ -182,7 +182,7 @@ index 84ec87b889d0d450293310e18c34aef505a8147b..d1cff7794313fd29717e9d7818ccf00e
throw new RuntimeException(ex);
}
}
-@@ -530,20 +544,48 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -536,20 +550,48 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public boolean loadChunk(int x, int z, boolean generate) {
org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot
warnUnsafeChunk("loading a faraway chunk", x, z); // Paper
diff --git a/patches/server/0999-Flat-bedrock-generator-settings.patch b/patches/server/0993-Flat-bedrock-generator-settings.patch
index 7e54f34f22..7e54f34f22 100644
--- a/patches/server/0999-Flat-bedrock-generator-settings.patch
+++ b/patches/server/0993-Flat-bedrock-generator-settings.patch
diff --git a/patches/server/1000-Entity-Activation-Range-2.0.patch b/patches/server/0994-Entity-Activation-Range-2.0.patch
index f92f377c42..0e1d181c8b 100644
--- a/patches/server/1000-Entity-Activation-Range-2.0.patch
+++ b/patches/server/0994-Entity-Activation-Range-2.0.patch
@@ -111,7 +111,7 @@ index 5f3502b148588a76079c1d9f55e4203f6de56406..4357d45305cdf82659fcc0df9fa42b1a
} else {
passenger.stopRiding();
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 43d6ed4ab09227ca23cbd51df9a42a5a3b909396..9ac9b5f9461e02d3d280125bb9b66c5c53ab35d7 100644
+index 8d30abbfd805eaffc28dba9c8cc50bc6087027be..fc5be14cade9f9b6bf67e4b66d33290eeb20ff59 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -411,6 +411,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -123,7 +123,7 @@ index 43d6ed4ab09227ca23cbd51df9a42a5a3b909396..9ac9b5f9461e02d3d280125bb9b66c5c
public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one
// Paper start - Entity origin API
@javax.annotation.Nullable
-@@ -1022,6 +1024,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -1021,6 +1023,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
} else {
this.wasOnFire = this.isOnFire();
if (movementType == MoverType.PISTON) {
@@ -132,7 +132,7 @@ index 43d6ed4ab09227ca23cbd51df9a42a5a3b909396..9ac9b5f9461e02d3d280125bb9b66c5c
movement = this.limitPistonMovement(movement);
if (movement.equals(Vec3.ZERO)) {
return;
-@@ -1034,6 +1038,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -1033,6 +1037,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.stuckSpeedMultiplier = Vec3.ZERO;
this.setDeltaMovement(Vec3.ZERO);
}
@@ -147,7 +147,7 @@ index 43d6ed4ab09227ca23cbd51df9a42a5a3b909396..9ac9b5f9461e02d3d280125bb9b66c5c
movement = this.maybeBackOffFromEdge(movement, movementType);
Vec3 vec3d1 = this.collide(movement);
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
-index 1881deb9d8ffc884ba23843936615181f4220623..24629412d2b4acaa81788ce70412b03387cc777c 100644
+index fd093e5bc79a44e02f57bacd8273dc87342f5709..fa0b78139fecc0245e168ebeb4172ea2531a3fec 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -221,6 +221,19 @@ public abstract class Mob extends LivingEntity implements Targeting {
diff --git a/patches/server/1001-Optional-per-player-mob-spawns.patch b/patches/server/0995-Optional-per-player-mob-spawns.patch
index e09c3a2962..7347555f67 100644
--- a/patches/server/1001-Optional-per-player-mob-spawns.patch
+++ b/patches/server/0995-Optional-per-player-mob-spawns.patch
@@ -64,7 +64,7 @@ index 20cdfd2bbd5dc71fd37ccedaf3a8d06b45553c9b..059ab637adf1be576fa1fff36a91b6c5
this.lastSpawnState = spawnercreature_d;
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index e03d2d3d35470cb3971606c66da382672eef1f82..4bfc12a50a262f49c0262b06b39faa8116b3807f 100644
+index 910c5087406837033e580ec2a23f5d30d807b723..651aceca9030e1f6060af9fc9f8d349dc0451728 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -256,6 +256,10 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/1002-Anti-Xray.patch b/patches/server/0996-Anti-Xray.patch
index f2e62d3779..c1bbc40a81 100644
--- a/patches/server/1002-Anti-Xray.patch
+++ b/patches/server/0996-Anti-Xray.patch
@@ -1504,7 +1504,7 @@ index 9a2bf744abd8916d492e901be889223591bac3fd..1dd415c96d17eff8e7555c33d3c52e57
int getSerializedSize();
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
-index 5d50f1bcba507975b8942529104c0ccd5e08c252..1ee35c828ea637e2954158060e1ad98f2649cedd 100644
+index e67ebc8517a1afb0c7fe23f19a781942dded3241..539b36bde9cba3a44184eba36df9aa4c345a5b84 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
@@ -71,7 +71,7 @@ import org.slf4j.Logger;
@@ -1558,10 +1558,10 @@ index 5d50f1bcba507975b8942529104c0ccd5e08c252..1ee35c828ea637e2954158060e1ad98f
// CraftBukkit end
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
-index d4e0ef75dd12709a0dcf9193821c30b8943e6c36..fd702027e62eb38d51fb7c46ef268e9bb94e1e92 100644
+index e47b00912fc76e9639f9c51d96e6d39da3c963e3..105f925fb1a78879d2eb618f0c672c8b9a759dd9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
-@@ -53,7 +53,7 @@ public class CraftChunk implements Chunk {
+@@ -55,7 +55,7 @@ public class CraftChunk implements Chunk {
private final ServerLevel worldServer;
private final int x;
private final int z;
@@ -1571,10 +1571,10 @@ index d4e0ef75dd12709a0dcf9193821c30b8943e6c36..fd702027e62eb38d51fb7c46ef268e9b
private static final byte[] EMPTY_LIGHT = new byte[2048];
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 3ea2cee19e6fe1b94e39ef535102d41ec2c0bdad..b8f05300a17d415505deb8da4a923357220ae1bd 100644
+index a76f966d72b749f1706363d33caa351b54e9fa14..c9137151f0d2978adb432c40da68689465d2325d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2610,7 +2610,7 @@ public final class CraftServer implements Server {
+@@ -2622,7 +2622,7 @@ public final class CraftServer implements Server {
public ChunkGenerator.ChunkData createChunkData(World world) {
Preconditions.checkArgument(world != null, "World cannot be null");
ServerLevel handle = ((CraftWorld) world).getHandle();
@@ -1584,10 +1584,10 @@ index 3ea2cee19e6fe1b94e39ef535102d41ec2c0bdad..b8f05300a17d415505deb8da4a923357
// Paper start - Allow delegation to vanilla chunk gen
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index d1cff7794313fd29717e9d7818ccf00e340f08a9..a139601888b88e8580bdb9c2469386a94abae975 100644
+index 49d8fd363391d085067253504c146c6fcf297d8f..bfb178c69026e9759e9afaebb9da141b62d1f144 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -524,11 +524,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -530,11 +530,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
List<ServerPlayer> playersInRange = playerChunk.playerProvider.getPlayers(playerChunk.getPos(), false);
if (playersInRange.isEmpty()) return true; // Paper - rewrite player chunk loader
diff --git a/patches/server/1003-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch b/patches/server/0997-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
index c4b823d114..0997fb9da2 100644
--- a/patches/server/1003-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
+++ b/patches/server/0997-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
@@ -60,7 +60,7 @@ index 059ab637adf1be576fa1fff36a91b6c5f1b5f035..5afbb5b307cc67d86dd916dc8f7521d5
spawnercreature_d = NaturalSpawner.createState(naturalSpawnChunkCount, this.level.getAllEntities(), this::getFullChunk, null, true);
} else {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 4bfc12a50a262f49c0262b06b39faa8116b3807f..803ed79940af00b49aec4b1414ddfacb57ff4f3f 100644
+index 651aceca9030e1f6060af9fc9f8d349dc0451728..acc9858e0cf10cb2aae0554037096411a208bd05 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -260,6 +260,7 @@ public class ServerPlayer extends Player {
@@ -72,7 +72,7 @@ index 4bfc12a50a262f49c0262b06b39faa8116b3807f..803ed79940af00b49aec4b1414ddfacb
// CraftBukkit start
public String displayName;
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
-index da9f091e1c2dd8b025e806f53a4708b623ee4cd8..17e9f3a30e287faf210e08dc7eb177a70f049f43 100644
+index 14f4ceb6c0be34d23b24c1695f966145c3aaee96..da7489986848316fed029b71d1bc4e1248c9c9a8 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -277,6 +277,11 @@ public final class NaturalSpawner {
diff --git a/patches/server/1004-Optimize-Collision-to-not-load-chunks.patch b/patches/server/0998-Optimize-Collision-to-not-load-chunks.patch
index 88daae9ea4..3d403ed298 100644
--- a/patches/server/1004-Optimize-Collision-to-not-load-chunks.patch
+++ b/patches/server/0998-Optimize-Collision-to-not-load-chunks.patch
@@ -14,7 +14,7 @@ movement will load only the chunk the player enters anyways and avoids loading
massive amounts of surrounding chunks due to large AABB lookups.
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index eae6121a2f3fb33146b0a625cc82c8bce8efc91b..b71d7714fbaa7d4493ccddf877c9668f25b104bf 100644
+index 10f2222c95362c41cab693410d0e7bb9746f3e4d..d5908d63b6dd23279951f0691d55c660b3a788a8 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -934,6 +934,7 @@ public abstract class PlayerList {
@@ -26,7 +26,7 @@ index eae6121a2f3fb33146b0a625cc82c8bce8efc91b..b71d7714fbaa7d4493ccddf877c9668f
// CraftBukkit end
entityplayer1.setPos(entityplayer1.getX(), entityplayer1.getY() + 1.0D, entityplayer1.getZ());
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 95a590f4a379c1905e700036042b9bde1c0f3264..0fc522f27afb8a0ded061392d011ff67294b16b3 100644
+index fc5be14cade9f9b6bf67e4b66d33290eeb20ff59..79f6cb643ca97617e25b96c73695393aed8daa6e 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -241,6 +241,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
diff --git a/patches/server/1005-Optimize-GoalSelector-Goal.Flag-Set-operations.patch b/patches/server/0999-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
index 8e879a28af..8e879a28af 100644
--- a/patches/server/1005-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
+++ b/patches/server/0999-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
diff --git a/patches/server/1006-Entity-load-save-limit-per-chunk.patch b/patches/server/1000-Entity-load-save-limit-per-chunk.patch
index 69f16dddbf..69f16dddbf 100644
--- a/patches/server/1006-Entity-load-save-limit-per-chunk.patch
+++ b/patches/server/1000-Entity-load-save-limit-per-chunk.patch
diff --git a/patches/server/1007-Fix-and-optimise-world-force-upgrading.patch b/patches/server/1001-Fix-and-optimise-world-force-upgrading.patch
index b9881782d6..e42149db91 100644
--- a/patches/server/1007-Fix-and-optimise-world-force-upgrading.patch
+++ b/patches/server/1001-Fix-and-optimise-world-force-upgrading.patch
@@ -352,10 +352,10 @@ index 0db8ee3b640e6d1268e9c1cccda85459bd447105..42d37bee3a459adcd46408596ccf93ab
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 b8f05300a17d415505deb8da4a923357220ae1bd..4df3b94c8126f00188f5e125757411a0359728fa 100644
+index c9137151f0d2978adb432c40da68689465d2325d..ab7bc27e870227e6746b77a7b5e109e2cf198b5f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1345,9 +1345,7 @@ public final class CraftServer implements Server {
+@@ -1357,9 +1357,7 @@ public final class CraftServer implements Server {
worlddata.checkName(name);
worlddata.setModdedInfo(this.console.getServerModName(), this.console.getModdedStatus().shouldReportAsModified());
@@ -366,7 +366,7 @@ index b8f05300a17d415505deb8da4a923357220ae1bd..4df3b94c8126f00188f5e125757411a0
long j = BiomeManager.obfuscateSeed(worlddata.worldGenOptions().seed()); // Paper - use world seed
List<CustomSpawner> list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata));
-@@ -1358,6 +1356,13 @@ public final class CraftServer implements Server {
+@@ -1370,6 +1368,13 @@ public final class CraftServer implements Server {
biomeProvider = generator.getDefaultBiomeProvider(worldInfo);
}
diff --git a/patches/server/1008-Improved-Watchdog-Support.patch b/patches/server/1002-Improved-Watchdog-Support.patch
index d1aa051eba..0f1593abce 100644
--- a/patches/server/1008-Improved-Watchdog-Support.patch
+++ b/patches/server/1002-Improved-Watchdog-Support.patch
@@ -234,7 +234,7 @@ index 1dfafbe508b4e4598339f412e5fb9d92717b5d26..97826afb097851f5736a64ae154d4214
this.functionManager.replaceLibrary(this.resources.managers.getFunctionLibrary());
this.structureTemplateManager.onResourceManagerReload(this.resources.resourceManager);
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index bcb1505c020c1a6c2bcb9508cf198f4b11ca984e..2ecf79086e9e8069f43120e9146e98962a75eca8 100644
+index 27546cdf3a4d6954e7b5639ec18fcf554be4d092..68d268b6fff126e8645b6deec3fb549ea2286b77 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -310,7 +310,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -244,7 +244,7 @@ index bcb1505c020c1a6c2bcb9508cf198f4b11ca984e..2ecf79086e9e8069f43120e9146e9896
- DedicatedServer.LOGGER.info("Done ({})! For help, type \"help\"", s);
+ //DedicatedServer.LOGGER.info("Done ({})! For help, type \"help\"", s); // Paper moved to after init
if (dedicatedserverproperties.announcePlayerAchievements != null) {
- ((GameRules.BooleanValue) this.getGameRules().getRule(GameRules.RULE_ANNOUNCE_ADVANCEMENTS)).set(dedicatedserverproperties.announcePlayerAchievements, null); // Paper - Pass ServerLevel for gamerule callbacks
+ ((GameRules.BooleanValue) this.getGameRules().getRule(GameRules.RULE_ANNOUNCE_ADVANCEMENTS)).set(dedicatedserverproperties.announcePlayerAchievements, this.overworld()); // CraftBukkit - per-world
}
@@ -438,7 +438,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
// this.remoteStatusListener.stop(); // Paper - don't wait for remote connections
diff --git a/patches/server/1009-Optimize-Voxel-Shape-Merging.patch b/patches/server/1003-Optimize-Voxel-Shape-Merging.patch
index 2c47963e34..2c47963e34 100644
--- a/patches/server/1009-Optimize-Voxel-Shape-Merging.patch
+++ b/patches/server/1003-Optimize-Voxel-Shape-Merging.patch
diff --git a/patches/server/1010-Write-SavedData-IO-async.patch b/patches/server/1004-Write-SavedData-IO-async.patch
index d7f6d3dea7..d7f6d3dea7 100644
--- a/patches/server/1010-Write-SavedData-IO-async.patch
+++ b/patches/server/1004-Write-SavedData-IO-async.patch
diff --git a/patches/server/1011-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch b/patches/server/1005-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch
index 47097c6ff4..03bc5f00bb 100644
--- a/patches/server/1011-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch
+++ b/patches/server/1005-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch
@@ -13,7 +13,7 @@ A config is provided if you rather let players use these exploits, and let
them destroy the worlds End Portals and get on top of the nether easy.
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
-index 34159798e6617ce13b3ac8aae07d24d9bca6ee36..f54219d2b973136ad00a0f03cbd99f6b82ecee65 100644
+index 32775780df3e6f34961119f10c81462c0f729045..6894366ebedc461e1e6703317d83f91fb8d4f09b 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -191,6 +191,7 @@ public class Explosion {
diff --git a/patches/server/1012-Use-distance-map-to-optimise-entity-tracker.patch b/patches/server/1006-Use-distance-map-to-optimise-entity-tracker.patch
index 891a4e5d21..4ec227e737 100644
--- a/patches/server/1012-Use-distance-map-to-optimise-entity-tracker.patch
+++ b/patches/server/1006-Use-distance-map-to-optimise-entity-tracker.patch
@@ -236,7 +236,7 @@ index 9037ba5197eed9d8e616fb65369f6b1a5ea9562c..7e5a8789e06a5ea1d2657ea8ee5c0460
return object instanceof ChunkMap.TrackedEntity ? ((ChunkMap.TrackedEntity) object).entity.getId() == this.entity.getId() : false;
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 0fc522f27afb8a0ded061392d011ff67294b16b3..c206adff916594ec573459d193cc7f3eda4b4957 100644
+index 79f6cb643ca97617e25b96c73695393aed8daa6e..c259b21f0f84974bb9ef13fa459890717c950d0b 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -56,6 +56,7 @@ import net.minecraft.network.syncher.EntityDataSerializers;
diff --git a/patches/server/1013-Optimize-Bit-Operations-by-inlining.patch b/patches/server/1007-Optimize-Bit-Operations-by-inlining.patch
index 269787b9ed..269787b9ed 100644
--- a/patches/server/1013-Optimize-Bit-Operations-by-inlining.patch
+++ b/patches/server/1007-Optimize-Bit-Operations-by-inlining.patch
diff --git a/patches/server/1014-Remove-streams-from-hot-code.patch b/patches/server/1008-Remove-streams-from-hot-code.patch
index 75a38173c7..75a38173c7 100644
--- a/patches/server/1014-Remove-streams-from-hot-code.patch
+++ b/patches/server/1008-Remove-streams-from-hot-code.patch
diff --git a/patches/server/1015-Eigencraft-redstone-implementation.patch b/patches/server/1009-Eigencraft-redstone-implementation.patch
index 1c66b34a01..1c66b34a01 100644
--- a/patches/server/1015-Eigencraft-redstone-implementation.patch
+++ b/patches/server/1009-Eigencraft-redstone-implementation.patch
diff --git a/patches/server/1016-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/1010-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
index 30e9a24146..30e9a24146 100644
--- a/patches/server/1016-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
+++ b/patches/server/1010-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
diff --git a/patches/server/1017-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch b/patches/server/1011-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch
index 14c24b80b2..14c24b80b2 100644
--- a/patches/server/1017-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch
+++ b/patches/server/1011-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch
diff --git a/patches/server/1018-Improve-boat-collision-performance.patch b/patches/server/1012-Improve-boat-collision-performance.patch
index 4f4144d005..cf6af1a4d2 100644
--- a/patches/server/1018-Improve-boat-collision-performance.patch
+++ b/patches/server/1012-Improve-boat-collision-performance.patch
@@ -17,10 +17,10 @@ index edf937591abf62416bd692e40b7b7a6badbe877d..b40864e41e1506884fdefefbf3cf4833
};
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 2b77cc316a8ca5bf75b4aa7f5e881d920bef094c..7d9890670b47a51839784914b0b96a994c1c6ace 100644
+index b64d6cd9899ab91895faeb090c5afadbbc90f09e..9f7cb7a2780836c4ce5a6971e9f6004a91509490 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -1437,7 +1437,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1438,7 +1438,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (!source.is(DamageTypeTags.IS_PROJECTILE)) {
Entity entity = source.getDirectEntity();
@@ -29,7 +29,7 @@ index 2b77cc316a8ca5bf75b4aa7f5e881d920bef094c..7d9890670b47a51839784914b0b96a99
LivingEntity entityliving = (LivingEntity) entity;
this.blockUsingShield(entityliving);
-@@ -1531,11 +1531,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1532,11 +1532,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
if (entity1 != null && !source.is(DamageTypeTags.NO_KNOCKBACK)) {
@@ -44,7 +44,7 @@ index 2b77cc316a8ca5bf75b4aa7f5e881d920bef094c..7d9890670b47a51839784914b0b96a99
d0 = (Math.random() - Math.random()) * 0.01D;
}
-@@ -2266,7 +2267,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2279,7 +2280,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.hurtCurrentlyUsedShield((float) -event.getDamage(DamageModifier.BLOCKING));
Entity entity = damagesource.getDirectEntity();
diff --git a/patches/server/1019-Optimise-general-POI-access.patch b/patches/server/1013-Optimise-general-POI-access.patch
index 9be40e9753..9be40e9753 100644
--- a/patches/server/1019-Optimise-general-POI-access.patch
+++ b/patches/server/1013-Optimise-general-POI-access.patch
diff --git a/patches/server/1020-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/1014-Custom-table-implementation-for-blockstate-state-loo.patch
index 52bdb3212c..52bdb3212c 100644
--- a/patches/server/1020-Custom-table-implementation-for-blockstate-state-loo.patch
+++ b/patches/server/1014-Custom-table-implementation-for-blockstate-state-loo.patch
diff --git a/patches/server/1021-Execute-chunk-tasks-mid-tick.patch b/patches/server/1015-Execute-chunk-tasks-mid-tick.patch
index 5d56a6faba..5d56a6faba 100644
--- a/patches/server/1021-Execute-chunk-tasks-mid-tick.patch
+++ b/patches/server/1015-Execute-chunk-tasks-mid-tick.patch
diff --git a/patches/server/1022-Optimise-random-block-ticking.patch b/patches/server/1016-Optimise-random-block-ticking.patch
index f97afe35f8..65d5fd3202 100644
--- a/patches/server/1022-Optimise-random-block-ticking.patch
+++ b/patches/server/1016-Optimise-random-block-ticking.patch
@@ -311,7 +311,7 @@ index b7a3f15dc1ed9e9322a86921052984c7cbd3262a..f8de91393564b3691c17339ac9196cc0
public void getAll(IntConsumer action) {
for(int i = 0; i < this.size; ++i) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
-index 379990c0ea9d10fd3c627ffff2198cb554780eb0..d595f1590619b24d460fc2c10a5412844f62cba0 100644
+index 6a98f66b7701e8af389ca9a1e9eb230a6100c838..dbdb6c432448b151fa4421f14235f8bad23dc720 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -87,7 +87,7 @@ public class Turtle extends Animal {
diff --git a/patches/server/1023-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/1017-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
index 66b1297d83..b294b05766 100644
--- a/patches/server/1023-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
+++ b/patches/server/1017-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
@@ -10,7 +10,7 @@ hoping that at least then we don't swap chunks, and maybe recover
them all.
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
-index 1ee35c828ea637e2954158060e1ad98f2649cedd..afc583d5726a572f606469bba3aaba4600827992 100644
+index 539b36bde9cba3a44184eba36df9aa4c345a5b84..d53c4f3d47a8728d56fbd9b5e12be51885560d52 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java
@@ -70,6 +70,18 @@ import net.minecraft.world.ticks.ProtoChunkTicks;
diff --git a/patches/server/1024-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/1018-Use-Velocity-compression-and-cipher-natives.patch
index 8f8f34ad27..ed8b42ddf6 100644
--- a/patches/server/1024-Use-Velocity-compression-and-cipher-natives.patch
+++ b/patches/server/1018-Use-Velocity-compression-and-cipher-natives.patch
@@ -264,7 +264,7 @@ index 859af8c845bae9781a62fa4acae56c6e2d449e10..f67f59f287d9a5cdd685b6b56ed1daf3
return this.threshold;
}
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
-index a0434b92615c10a319eb4528808a83d01df2c516..3a4d03a936bbbbb54cb3d63b57ad9c3490f98c83 100644
+index 7f2aa5e17fe675f3404d67b1794d2ca68b188eb9..fff375fd50fa1a804636a92ded1ae55cff42977d 100644
--- a/src/main/java/net/minecraft/network/Connection.java
+++ b/src/main/java/net/minecraft/network/Connection.java
@@ -734,11 +734,28 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
@@ -337,7 +337,7 @@ index a4a29a7ea0035ecf4c61ee8547a9eb24acb667d0..586521a2cbb1d4dcfb912029f65e4363
protected void initChannel(Channel channel) {
Connection.setInitialProtocolAttributes(channel);
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
-index 42ae62bdbe11fdfbacebf621d64e7c4985bbd1c7..f92d240e2984b0b49d09662ff33f5c524605ed47 100644
+index b8d8f14c30786321949901ca5184c43bee716355..c5fa9f4d28f9a7f64a50a902ee5e631bfc00119c 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -235,12 +235,14 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
diff --git a/patches/server/1025-Detail-more-information-in-watchdog-dumps.patch b/patches/server/1019-Detail-more-information-in-watchdog-dumps.patch
index 36f45a25f6..a132619b90 100644
--- a/patches/server/1025-Detail-more-information-in-watchdog-dumps.patch
+++ b/patches/server/1019-Detail-more-information-in-watchdog-dumps.patch
@@ -7,7 +7,7 @@ Subject: [PATCH] Detail more information in watchdog dumps
- Dump player name, player uuid, position, and world for packet handling
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
-index 3a4d03a936bbbbb54cb3d63b57ad9c3490f98c83..b189aeb8646b5385c7cca0c4babfcb071a642220 100644
+index fff375fd50fa1a804636a92ded1ae55cff42977d..4716f8bd8a64d4f20f0d5957c1e7fabf63020f43 100644
--- a/src/main/java/net/minecraft/network/Connection.java
+++ b/src/main/java/net/minecraft/network/Connection.java
@@ -586,7 +586,13 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
@@ -122,10 +122,10 @@ index bac2e7c8178696859ff2d38f1e095d86557fc306..5eaf8585df1f885f4a08fdd06ff4bb73
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 c206adff916594ec573459d193cc7f3eda4b4957..a6685b3f845aa08bf14fda63d66ce98e51e67678 100644
+index dea94b8987d77bcb4c2415ed2fa14b2847f11e09..ecf53d27a924cccb7d773cea3ce0f68a41ff52f5 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -1051,8 +1051,43 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -1050,8 +1050,43 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return this.onGround;
}
@@ -169,7 +169,7 @@ index c206adff916594ec573459d193cc7f3eda4b4957..a6685b3f845aa08bf14fda63d66ce98e
if (this.noPhysics) {
this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
} else {
-@@ -1222,6 +1257,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -1221,6 +1256,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.level().getProfiler().pop();
}
}
@@ -183,7 +183,7 @@ index c206adff916594ec573459d193cc7f3eda4b4957..a6685b3f845aa08bf14fda63d66ce98e
}
private boolean isStateClimbable(BlockState state) {
-@@ -4360,7 +4402,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -4363,7 +4405,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public void setDeltaMovement(Vec3 velocity) {
@@ -193,7 +193,7 @@ index c206adff916594ec573459d193cc7f3eda4b4957..a6685b3f845aa08bf14fda63d66ce98e
}
public void addDeltaMovement(Vec3 velocity) {
-@@ -4463,7 +4507,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -4466,7 +4510,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
// Paper end - Fix MC-4
if (this.position.x != x || this.position.y != y || this.position.z != z) {
diff --git a/patches/server/1026-Collision-optimisations.patch b/patches/server/1020-Collision-optimisations.patch
index 8731ad016d..a849d42f7b 100644
--- a/patches/server/1026-Collision-optimisations.patch
+++ b/patches/server/1020-Collision-optimisations.patch
@@ -2179,7 +2179,7 @@ index 073c717bb676b9e99aada00c349fb7eee91df1e7..2a9fc1f1dfc0c5894c1e74dad5a79ae9
private Direction(int id, int idOpposite, int idHorizontal, String name, Direction.AxisDirection direction, Direction.Axis axis, Vec3i vector) {
this.data3d = id;
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 803ed79940af00b49aec4b1414ddfacb57ff4f3f..569dbd5a1479b41b2604aacd351bf6d33054de29 100644
+index acc9858e0cf10cb2aae0554037096411a208bd05..c99d2f2d64b73179e4e27b63030e26a07953041b 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -496,7 +496,7 @@ public class ServerPlayer extends Player {
@@ -2214,10 +2214,10 @@ index cb81990877f918a5305478b5e8ac7dde6a78f238..4816897a82c569717bf7ea139a55ab3f
entityplayer1.setPos(entityplayer1.getX(), entityplayer1.getY() + 1.0D, entityplayer1.getZ());
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index bea396af243ad6c8649832587d9c443afe84bb92..9ee1e3da1cb16291ff3e37829e25227a6b97a177 100644
+index ecf53d27a924cccb7d773cea3ce0f68a41ff52f5..906eded9a2ab61737a30cfe89292a71237ce4eb7 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -1238,9 +1238,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -1237,9 +1237,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
float f = this.getBlockSpeedFactor();
this.setDeltaMovement(this.getDeltaMovement().multiply((double) f, 1.0D, (double) f));
@@ -2265,7 +2265,7 @@ index bea396af243ad6c8649832587d9c443afe84bb92..9ee1e3da1cb16291ff3e37829e25227a
if (this.remainingFireTicks <= 0) {
this.setRemainingFireTicks(-this.getFireImmuneTicks());
}
-@@ -1420,32 +1455,82 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -1419,32 +1454,82 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
private Vec3 collide(Vec3 movement) {
@@ -2364,7 +2364,7 @@ index bea396af243ad6c8649832587d9c443afe84bb92..9ee1e3da1cb16291ff3e37829e25227a
}
public static Vec3 collideBoundingBox(@Nullable Entity entity, Vec3 movement, AABB entityBoundingBox, Level world, List<VoxelShape> collisions) {
-@@ -2687,11 +2772,70 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
+@@ -2691,11 +2776,70 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
float f = this.dimensions.width * 0.8F;
AABB axisalignedbb = AABB.ofSize(this.getEyePosition(), (double) f, 1.0E-6D, (double) f);
diff --git a/patches/server/1027-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/1021-Optimise-collision-checking-in-player-move-packet-ha.patch
index a795c6dc3b..165a84935b 100644
--- a/patches/server/1027-Optimise-collision-checking-in-player-move-packet-ha.patch
+++ b/patches/server/1021-Optimise-collision-checking-in-player-move-packet-ha.patch
@@ -8,7 +8,7 @@ Move collision logic to just the hasNewCollision call instead of getCubes + hasN
CHECK ME
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 9e8b37f446a382204bc9ad61efed913f70a99b90..9a080c64f0478081a3ef5ae601978063ec3756da 100644
+index f59b49a7e9884def9bc9f30dbd4c72dac2915c76..9a3d38365754cf40d8a18aabd1ad1cf27c576599 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -552,7 +552,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/1028-Fix-tripwire-state-inconsistency.patch b/patches/server/1022-Fix-tripwire-state-inconsistency.patch
index bce767ae73..bce767ae73 100644
--- a/patches/server/1028-Fix-tripwire-state-inconsistency.patch
+++ b/patches/server/1022-Fix-tripwire-state-inconsistency.patch
diff --git a/patches/server/1029-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/1023-Fix-entity-type-tags-suggestions-in-selectors.patch
index 83872a3693..83872a3693 100644
--- a/patches/server/1029-Fix-entity-type-tags-suggestions-in-selectors.patch
+++ b/patches/server/1023-Fix-entity-type-tags-suggestions-in-selectors.patch
diff --git a/patches/server/1030-Add-Alternate-Current-redstone-implementation.patch b/patches/server/1024-Add-Alternate-Current-redstone-implementation.patch
index 5d73e1dae4..5d73e1dae4 100644
--- a/patches/server/1030-Add-Alternate-Current-redstone-implementation.patch
+++ b/patches/server/1024-Add-Alternate-Current-redstone-implementation.patch
diff --git a/patches/server/1031-optimize-dirt-and-snow-spreading.patch b/patches/server/1025-optimize-dirt-and-snow-spreading.patch
index 223dbd9a3e..223dbd9a3e 100644
--- a/patches/server/1031-optimize-dirt-and-snow-spreading.patch
+++ b/patches/server/1025-optimize-dirt-and-snow-spreading.patch
diff --git a/patches/server/1032-Properly-resend-entities.patch b/patches/server/1026-Properly-resend-entities.patch
index f8a035f112..24ae108e3c 100644
--- a/patches/server/1032-Properly-resend-entities.patch
+++ b/patches/server/1026-Properly-resend-entities.patch
@@ -116,7 +116,7 @@ index 692a01b52a71e26887ee42cbd5fd64b0a81bfc99..ef3048a4748113538a0ee0af5b526b2c
return enuminteractionresult;
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 9a080c64f0478081a3ef5ae601978063ec3756da..9285346c99a15f133e985f217c4d8f75e8f2726f 100644
+index 9a3d38365754cf40d8a18aabd1ad1cf27c576599..2f9c62f2c4c4356a896f7004b77f12a595f9c6dc 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1990,6 +1990,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -150,10 +150,10 @@ index 4816897a82c569717bf7ea139a55ab3fd931a63e..91feb12732564c90656da487664dbc12
this.sendLevelInfo(player, worldserver1);
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 7d9890670b47a51839784914b0b96a994c1c6ace..1ce4cf3b601cc3b002c1453cc105c1278264cc31 100644
+index 9f7cb7a2780836c4ce5a6971e9f6004a91509490..578141c88eccaf1c8fd830d8166176f9dab8ed04 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3823,6 +3823,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3836,6 +3836,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
return ((Byte) this.entityData.get(LivingEntity.DATA_LIVING_ENTITY_FLAGS) & 2) > 0 ? InteractionHand.OFF_HAND : InteractionHand.MAIN_HAND;
}
diff --git a/patches/server/1033-Optimize-Hoppers.patch b/patches/server/1027-Optimize-Hoppers.patch
index 369c4bee43..74069c3d7c 100644
--- a/patches/server/1033-Optimize-Hoppers.patch
+++ b/patches/server/1027-Optimize-Hoppers.patch
@@ -62,10 +62,10 @@ index d2526c39c91dd62ad676f04afc45332d774528d1..f12bf36a247a47b8d831536a4fefd2a2
this.profiler.push(() -> {
return worldserver + " " + worldserver.dimension().location();
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
-index 2470acc82292bedd930be404a2e1d1f8fad700e1..ed27a963223bfe18310ad5adabf461b5e307ef9c 100644
+index 06dc04a1fbb91a5a20d662aeee168b6a319551d0..1ad126d992d95062a3db08374db7a927f23a0cac 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
-@@ -751,10 +751,16 @@ public final class ItemStack {
+@@ -752,10 +752,16 @@ public final class ItemStack {
}
public ItemStack copy() {
diff --git a/patches/server/1034-Improve-performance-of-mass-crafts.patch b/patches/server/1028-Improve-performance-of-mass-crafts.patch
index 640d0204e2..640d0204e2 100644
--- a/patches/server/1034-Improve-performance-of-mass-crafts.patch
+++ b/patches/server/1028-Improve-performance-of-mass-crafts.patch
diff --git a/patches/server/1035-Actually-optimise-explosions.patch b/patches/server/1029-Actually-optimise-explosions.patch
index da42c9e195..3f44b4ce78 100644
--- a/patches/server/1035-Actually-optimise-explosions.patch
+++ b/patches/server/1029-Actually-optimise-explosions.patch
@@ -34,7 +34,7 @@ The results indicate that this logic is 5 times faster than Vanilla
and 2.3 times faster than Lithium.
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
-index f54219d2b973136ad00a0f03cbd99f6b82ecee65..28ef910885dbd48965fba6f08cec412697b1b7f0 100644
+index 6894366ebedc461e1e6703317d83f91fb8d4f09b..f0fbde839a527481314f54a1aefa0fc317ba2221 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -111,6 +111,271 @@ public class Explosion {
@@ -445,7 +445,7 @@ index f54219d2b973136ad00a0f03cbd99f6b82ecee65..28ef910885dbd48965fba6f08cec4126
while (iterator.hasNext()) {
Entity entity = (Entity) iterator.next();
-@@ -275,11 +591,11 @@ public class Explosion {
+@@ -274,11 +590,11 @@ public class Explosion {
for (EnderDragonPart entityComplexPart : ((EnderDragon) entity).subEntities) {
// Calculate damage separately for each EntityComplexPart
if (list.contains(entityComplexPart)) {
@@ -458,8 +458,8 @@ index f54219d2b973136ad00a0f03cbd99f6b82ecee65..28ef910885dbd48965fba6f08cec4126
+ entity.hurt(this.damageSource, this.damageCalculator.getEntityDamageAmount(this, entity, getSeenFraction(vec3d, entity, blockCache, blockPos))); // Paper - actually optimise explosions
}
- CraftEventFactory.entityDamage = null;
-@@ -289,7 +605,7 @@ public class Explosion {
+ if (entity.lastDamageCancelled) { // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Skip entity if damage event was cancelled
+@@ -287,7 +603,7 @@ public class Explosion {
// CraftBukkit end
}
@@ -468,7 +468,7 @@ index f54219d2b973136ad00a0f03cbd99f6b82ecee65..28ef910885dbd48965fba6f08cec4126
double d13;
if (entity instanceof LivingEntity) {
-@@ -318,6 +634,9 @@ public class Explosion {
+@@ -324,6 +640,9 @@ public class Explosion {
}
}
@@ -478,7 +478,7 @@ index f54219d2b973136ad00a0f03cbd99f6b82ecee65..28ef910885dbd48965fba6f08cec4126
}
public void finalizeExplosion(boolean particles) {
-@@ -531,14 +850,14 @@ public class Explosion {
+@@ -537,14 +856,14 @@ public class Explosion {
private BlockInteraction() {}
}
// Paper start - Optimize explosions
diff --git a/patches/server/1036-Optimise-chunk-tick-iteration.patch b/patches/server/1030-Optimise-chunk-tick-iteration.patch
index 9aeb33c382..600f4520b4 100644
--- a/patches/server/1036-Optimise-chunk-tick-iteration.patch
+++ b/patches/server/1030-Optimise-chunk-tick-iteration.patch
@@ -365,7 +365,7 @@ index 2b33a3d8fdb86024acb2a3ee9d0a4a7dd4989c98..366c0c9b45a819f7f94ebe3e49b8ab7f
gameprofilerfiller.pop();
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 569dbd5a1479b41b2604aacd351bf6d33054de29..0dba30c41affafe7b1d585b515925043b37712fa 100644
+index c99d2f2d64b73179e4e27b63030e26a07953041b..58591bf2f63b9c5e97d9ce4188dff3366968a178 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -325,6 +325,9 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/1037-Lag-compensation-ticks.patch b/patches/server/1031-Lag-compensation-ticks.patch
index 98c9f61cae..80f5630720 100644
--- a/patches/server/1037-Lag-compensation-ticks.patch
+++ b/patches/server/1031-Lag-compensation-ticks.patch
@@ -63,10 +63,10 @@ index ef3048a4748113538a0ee0af5b526b2cd51d5c29..a7b217ddbcbf92513bd38101fdfca207
if (this.hasDelayedDestroy) {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 1ce4cf3b601cc3b002c1453cc105c1278264cc31..6523795e715e5d472739e9bc6433143115c3de8f 100644
+index 578141c88eccaf1c8fd830d8166176f9dab8ed04..902c0e7f2a167845f46adef4578bc71ca8cabfe8 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3828,6 +3828,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3841,6 +3841,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.getEntityData().resendPossiblyDesyncedDataValues(java.util.List.of(DATA_LIVING_ENTITY_FLAGS), serverPlayer);
}
// Paper end - Properly cancel usable items
@@ -77,7 +77,7 @@ index 1ce4cf3b601cc3b002c1453cc105c1278264cc31..6523795e715e5d472739e9bc64331431
private void updatingUsingItem() {
if (this.isUsingItem()) {
if (ItemStack.isSameItem(this.getItemInHand(this.getUsedItemHand()), this.useItem)) {
-@@ -3846,7 +3850,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3859,7 +3863,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.triggerItemUseEffects(stack, 5);
}
@@ -91,7 +91,7 @@ index 1ce4cf3b601cc3b002c1453cc105c1278264cc31..6523795e715e5d472739e9bc64331431
this.completeUsingItem();
}
-@@ -3894,7 +3903,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3907,7 +3916,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (!itemstack.isEmpty() && !this.isUsingItem() || forceUpdate) { // Paper - Prevent consuming the wrong itemstack
this.useItem = itemstack;
@@ -103,7 +103,7 @@ index 1ce4cf3b601cc3b002c1453cc105c1278264cc31..6523795e715e5d472739e9bc64331431
if (!this.level().isClientSide) {
this.setLivingEntityFlag(1, true);
this.setLivingEntityFlag(2, hand == InteractionHand.OFF_HAND);
-@@ -3919,7 +3931,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3932,7 +3944,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
} else if (!this.isUsingItem() && !this.useItem.isEmpty()) {
this.useItem = ItemStack.EMPTY;
@@ -115,7 +115,7 @@ index 1ce4cf3b601cc3b002c1453cc105c1278264cc31..6523795e715e5d472739e9bc64331431
}
}
-@@ -4054,7 +4069,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4067,7 +4082,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.useItem = ItemStack.EMPTY;
diff --git a/patches/server/1038-Optimise-nearby-player-retrieval.patch b/patches/server/1032-Optimise-nearby-player-retrieval.patch
index c6ab594786..c6ab594786 100644
--- a/patches/server/1038-Optimise-nearby-player-retrieval.patch
+++ b/patches/server/1032-Optimise-nearby-player-retrieval.patch
diff --git a/patches/server/1039-Distance-manager-tick-timings.patch b/patches/server/1033-Distance-manager-tick-timings.patch
index f946d92596..f946d92596 100644
--- a/patches/server/1039-Distance-manager-tick-timings.patch
+++ b/patches/server/1033-Distance-manager-tick-timings.patch
diff --git a/patches/server/1040-Handle-Oversized-block-entities-in-chunks.patch b/patches/server/1034-Handle-Oversized-block-entities-in-chunks.patch
index 1bdb933b52..1bdb933b52 100644
--- a/patches/server/1040-Handle-Oversized-block-entities-in-chunks.patch
+++ b/patches/server/1034-Handle-Oversized-block-entities-in-chunks.patch
diff --git a/patches/server/1041-Send-full-pos-packets-for-hard-colliding-entities.patch b/patches/server/1035-Send-full-pos-packets-for-hard-colliding-entities.patch
index 45738a19b2..45738a19b2 100644
--- a/patches/server/1041-Send-full-pos-packets-for-hard-colliding-entities.patch
+++ b/patches/server/1035-Send-full-pos-packets-for-hard-colliding-entities.patch
diff --git a/patches/server/1042-Add-ShulkerDuplicateEvent.patch b/patches/server/1036-Add-ShulkerDuplicateEvent.patch
index 91ff8b7326..91ff8b7326 100644
--- a/patches/server/1042-Add-ShulkerDuplicateEvent.patch
+++ b/patches/server/1036-Add-ShulkerDuplicateEvent.patch
diff --git a/patches/server/1043-Add-api-for-spawn-egg-texture-colors.patch b/patches/server/1037-Add-api-for-spawn-egg-texture-colors.patch
index 58fb31c714..fcb89ff9a8 100644
--- a/patches/server/1043-Add-api-for-spawn-egg-texture-colors.patch
+++ b/patches/server/1037-Add-api-for-spawn-egg-texture-colors.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add api for spawn egg texture colors
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 4e1390b9244aeb745ffd3fd1257bc74248722515..ca5312febcdd467889ad725c0263367bc5fe69f6 100644
+index 1562e9832df8bf3f81fb37983a303da5bd9ceee6..37da4477a04c3675bf6b7210bb107289e6ba6f88 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -645,6 +645,15 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -660,6 +660,15 @@ public final class CraftMagicNumbers implements UnsafeValues {
}
// Paper end
diff --git a/patches/server/1044-Disable-memory-reserve-allocating.patch b/patches/server/1038-Disable-memory-reserve-allocating.patch
index bd18c240f0..bd18c240f0 100644
--- a/patches/server/1044-Disable-memory-reserve-allocating.patch
+++ b/patches/server/1038-Disable-memory-reserve-allocating.patch
diff --git a/patches/server/1045-Improve-tag-parser-handling.patch b/patches/server/1039-Improve-tag-parser-handling.patch
index cbb6f2ead2..2dabc48078 100644
--- a/patches/server/1045-Improve-tag-parser-handling.patch
+++ b/patches/server/1039-Improve-tag-parser-handling.patch
@@ -104,7 +104,7 @@ index a5e438a834826161c52ca9db57d234d9ff80a591..4766994cce060564370b0d24836a7da8
@Override
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 9285346c99a15f133e985f217c4d8f75e8f2726f..a7e40f72a3b56916620a7f089410ec3a6db0cffc 100644
+index 2f9c62f2c4c4356a896f7004b77f12a595f9c6dc..6d943b5c38932de5fc3abb28618bf518c36edb47 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -777,6 +777,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/1046-Add-Lifecycle-Event-system.patch b/patches/server/1040-Add-Lifecycle-Event-system.patch
index cd457d61d5..bf79acac9c 100644
--- a/patches/server/1046-Add-Lifecycle-Event-system.patch
+++ b/patches/server/1040-Add-Lifecycle-Event-system.patch
@@ -707,10 +707,10 @@ index 2e96308696e131f3f013469a395e5ddda2c5d529..65a66e484c1c39c5f41d97db52f31c67
} catch (Throwable e) {
LOGGER.error("Failed to run bootstrapper for %s. This plugin will not be loaded.".formatted(provider.getSource()), e);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 4df3b94c8126f00188f5e125757411a0359728fa..14d3986ae6ec721f07dc82b37d62d3bea484ad15 100644
+index ab7bc27e870227e6746b77a7b5e109e2cf198b5f..9f7ed337463cc9bb370a5541d9de5cd8f9c1a78a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1005,6 +1005,11 @@ public final class CraftServer implements Server {
+@@ -1017,6 +1017,11 @@ public final class CraftServer implements Server {
@Override
public void reload() {
@@ -739,10 +739,10 @@ index d96399e9bf1a58db5a4a22e58abb99e7660e0694..66bdac50130f523f9dc4379b103b7a46
+ // Paper end - lifecycle events
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index ca5312febcdd467889ad725c0263367bc5fe69f6..f276c5163d29d56cf4ed081d8e75cbcfd28d892f 100644
+index 37da4477a04c3675bf6b7210bb107289e6ba6f88..31d9764b2f6a52088ab7c8f7c0ec41cc7a86846d 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -654,6 +654,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -669,6 +669,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
}
// Paper end - spawn egg color visibility
diff --git a/patches/server/1047-Conduit-API.patch b/patches/server/1041-Conduit-API.patch
index 820c5e29f3..9df9ff716b 100644
--- a/patches/server/1047-Conduit-API.patch
+++ b/patches/server/1041-Conduit-API.patch
@@ -8,10 +8,10 @@ public net.minecraft.world.level.block.entity.ConduitBlockEntity effectBlocks
public net.minecraft.world.level.block.entity.ConduitBlockEntity destroyTarget
diff --git a/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java
-index 1f493708b01ede8d54f9eb8243695fe70e7af3a1..58f2619fab37a1e2d2093ca89f66f3a8bb47d192 100644
+index 761d009cdeea28b6fd593c5bf1e4dcfa45f3fc27..37e0b762b86e74f607a4541ecb7b24ad7a591d0e 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java
-@@ -191,7 +191,7 @@ public class ConduitBlockEntity extends BlockEntity {
+@@ -187,7 +187,7 @@ public class ConduitBlockEntity extends BlockEntity {
private static void applyEffects(Level world, BlockPos pos, List<BlockPos> activatingBlocks) {
int i = activatingBlocks.size();
diff --git a/patches/server/1048-ItemStack-Tooltip-API.patch b/patches/server/1042-ItemStack-Tooltip-API.patch
index 0f761e26a7..5d03327e9d 100644
--- a/patches/server/1048-ItemStack-Tooltip-API.patch
+++ b/patches/server/1042-ItemStack-Tooltip-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack Tooltip API
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index f276c5163d29d56cf4ed081d8e75cbcfd28d892f..8036ed91714d638eb2a8e8c2bea4bf62bc18cb57 100644
+index 31d9764b2f6a52088ab7c8f7c0ec41cc7a86846d..1324f05de8106032ce290e928cf106fb4f450517 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -644,6 +644,18 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -659,6 +659,18 @@ public final class CraftMagicNumbers implements UnsafeValues {
return org.bukkit.craftbukkit.CraftStatistic.getNMSStatistic(statistic).getName();
}
// Paper end
diff --git a/patches/server/1049-Fix-possible-StackOverflowError-for-some-dispenses.patch b/patches/server/1043-Fix-possible-StackOverflowError-for-some-dispenses.patch
index c9638c6967..c9638c6967 100644
--- a/patches/server/1049-Fix-possible-StackOverflowError-for-some-dispenses.patch
+++ b/patches/server/1043-Fix-possible-StackOverflowError-for-some-dispenses.patch
diff --git a/patches/server/1050-Properly-track-the-changed-item-from-dispense-events.patch b/patches/server/1044-Properly-track-the-changed-item-from-dispense-events.patch
index f01bec2a48..f01bec2a48 100644
--- a/patches/server/1050-Properly-track-the-changed-item-from-dispense-events.patch
+++ b/patches/server/1044-Properly-track-the-changed-item-from-dispense-events.patch
diff --git a/patches/server/1051-Add-getChunkSnapshot-includeLightData-parameter.patch b/patches/server/1045-Add-getChunkSnapshot-includeLightData-parameter.patch
index e11721d136..bb830096ec 100644
--- a/patches/server/1051-Add-getChunkSnapshot-includeLightData-parameter.patch
+++ b/patches/server/1045-Add-getChunkSnapshot-includeLightData-parameter.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add getChunkSnapshot includeLightData parameter
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
-index fd702027e62eb38d51fb7c46ef268e9bb94e1e92..21d4f3686d5fb7799b4a19b9f6b1941b527e52cc 100644
+index 105f925fb1a78879d2eb618f0c672c8b9a759dd9..dca5f25cf331b5550e9be491b4e8a3466531e021 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
-@@ -281,12 +281,21 @@ public class CraftChunk implements Chunk {
+@@ -283,12 +283,21 @@ public class CraftChunk implements Chunk {
@Override
public ChunkSnapshot getChunkSnapshot(boolean includeMaxBlockY, boolean includeBiome, boolean includeBiomeTempRain) {
@@ -32,7 +32,7 @@ index fd702027e62eb38d51fb7c46ef268e9bb94e1e92..21d4f3686d5fb7799b4a19b9f6b1941b
boolean[] sectionEmpty = new boolean[cs.length];
PalettedContainerRO<Holder<net.minecraft.world.level.biome.Biome>>[] biome = (includeBiome || includeBiomeTempRain) ? new PalettedContainer[cs.length] : null;
-@@ -303,6 +312,7 @@ public class CraftChunk implements Chunk {
+@@ -305,6 +314,7 @@ public class CraftChunk implements Chunk {
}
// Paper end - Fix ChunkSnapshot#isSectionEmpty(int)
@@ -40,7 +40,7 @@ index fd702027e62eb38d51fb7c46ef268e9bb94e1e92..21d4f3686d5fb7799b4a19b9f6b1941b
LevelLightEngine lightengine = this.worldServer.getLightEngine();
DataLayer skyLightArray = lightengine.getLayerListener(LightLayer.SKY).getDataLayerData(SectionPos.of(this.x, chunk.getSectionYFromSectionIndex(i), this.z)); // SPIGOT-7498: Convert section index
if (skyLightArray == null) {
-@@ -318,6 +328,7 @@ public class CraftChunk implements Chunk {
+@@ -320,6 +330,7 @@ public class CraftChunk implements Chunk {
sectionEmitLights[i] = new byte[2048];
System.arraycopy(emitLightArray.getData(), 0, sectionEmitLights[i], 0, 2048);
}
diff --git a/work/Bukkit b/work/Bukkit
-Subproject 1d5228782e11c20c984621d26ea05822e46b3d3
+Subproject a6a9d2a41f83bf0196ab664da0ef748865c805c
diff --git a/work/CraftBukkit b/work/CraftBukkit
-Subproject 292ec79e09e3b90358560dd9e571452c9da7500
+Subproject 38fd4bd5034e9adcc0a3122e43eb8d0273d1bc5