aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--patches/api/0006-Adventure.patch39
-rw-r--r--patches/api/0018-Add-view-distance-API.patch16
-rw-r--r--patches/api/0027-Add-methods-for-working-with-arrows-stuck-in-living-.patch6
-rw-r--r--patches/api/0056-Fix-upstream-javadocs.patch10
-rw-r--r--patches/api/0068-LivingEntity-setKiller.patch4
-rw-r--r--patches/api/0101-Expand-World.spawnParticle-API-and-add-Builder.patch4
-rw-r--r--patches/api/0110-Make-shield-blocking-delay-configurable.patch4
-rw-r--r--patches/api/0117-LivingEntity-Hand-Raised-Item-Use-API.patch4
-rw-r--r--patches/api/0144-Add-ray-tracing-methods-to-LivingEntity.patch4
-rw-r--r--patches/api/0156-Add-LivingEntity-getTargetEntity.patch4
-rw-r--r--patches/api/0173-Fix-Spigot-annotation-mistakes.patch25
-rw-r--r--patches/api/0185-Entity-Jump-API.patch4
-rw-r--r--patches/api/0210-Add-playPickupItemAnimation-to-LivingEntity.patch4
-rw-r--r--patches/api/0225-Add-LivingEntity-clearActiveItem.patch4
-rw-r--r--patches/api/0230-Expose-LivingEntity-hurt-direction.patch4
-rw-r--r--patches/api/0272-More-World-API.patch8
-rw-r--r--patches/api/0297-Add-more-line-of-sight-methods.patch4
-rw-r--r--patches/api/0300-Missing-Entity-API.patch4
-rw-r--r--patches/api/0304-Stinger-API.patch4
-rw-r--r--patches/api/0383-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch4
-rw-r--r--patches/api/0384-Add-entity-knockback-API.patch4
-rw-r--r--patches/api/0391-ItemStack-damage-API.patch4
-rw-r--r--patches/api/0393-Friction-API.patch4
-rw-r--r--patches/api/0405-Add-Entity-Body-Yaw-API.patch4
-rw-r--r--patches/api/0415-Add-method-to-remove-all-active-potion-effects.patch4
-rw-r--r--patches/server/0009-MC-Utils.patch58
-rw-r--r--patches/server/0010-Adventure.patch38
-rw-r--r--patches/server/0014-Timings-v2.patch20
-rw-r--r--patches/server/0016-Starlight.patch6
-rw-r--r--patches/server/0018-Rewrite-chunk-system.patch135
-rw-r--r--patches/server/0030-Player-affects-spawning-API.patch4
-rw-r--r--patches/server/0034-Prevent-tile-entity-and-entity-crashes.patch4
-rw-r--r--patches/server/0045-Implement-PlayerLocaleChangeEvent.patch6
-rw-r--r--patches/server/0049-Disable-spigot-tick-limiters.patch4
-rw-r--r--patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch4
-rw-r--r--patches/server/0060-Add-exception-reporting-event.patch4
-rw-r--r--patches/server/0062-Add-methods-for-working-with-arrows-stuck-in-living-.patch6
-rw-r--r--patches/server/0068-Handle-Item-Meta-Inconsistencies.patch8
-rw-r--r--patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch6
-rw-r--r--patches/server/0124-Provide-E-TE-Chunk-count-stat-methods.patch6
-rw-r--r--patches/server/0126-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch6
-rw-r--r--patches/server/0149-LivingEntity-setKiller.patch4
-rw-r--r--patches/server/0162-Fix-MC-117075-TE-Unload-Lag-Spike.patch12
-rw-r--r--patches/server/0168-PlayerNaturallySpawnCreaturesEvent.patch8
-rw-r--r--patches/server/0173-Add-ArmorStand-Item-Meta.patch4
-rw-r--r--patches/server/0191-Expand-World.spawnParticle-API-and-add-Builder.patch6
-rw-r--r--patches/server/0204-Make-shield-blocking-delay-configurable.patch6
-rw-r--r--patches/server/0208-Expand-Explosions-API.patch4
-rw-r--r--patches/server/0209-LivingEntity-Hand-Raised-Item-Use-API.patch4
-rw-r--r--patches/server/0212-Implement-World.getEntity-UUID-API.patch4
-rw-r--r--patches/server/0222-Option-to-prevent-armor-stands-from-doing-entity-loo.patch4
-rw-r--r--patches/server/0233-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch8
-rw-r--r--patches/server/0247-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch4
-rw-r--r--patches/server/0248-Add-ray-tracing-methods-to-LivingEntity.patch6
-rw-r--r--patches/server/0249-Expose-attack-cooldown-methods-for-Player.patch4
-rw-r--r--patches/server/0250-Improve-death-events.patch8
-rw-r--r--patches/server/0253-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch14
-rw-r--r--patches/server/0262-Add-LivingEntity-getTargetEntity.patch6
-rw-r--r--patches/server/0263-Add-sun-related-API.patch4
-rw-r--r--patches/server/0302-Optimize-Captured-TileEntity-Lookup.patch4
-rw-r--r--patches/server/0303-Add-Heightmap-API.patch4
-rw-r--r--patches/server/0308-Configurable-Keep-Spawn-Loaded-range-per-world.patch4
-rw-r--r--patches/server/0311-Fix-World-isChunkGenerated-calls.patch12
-rw-r--r--patches/server/0323-Duplicate-UUID-Resolve-Option.patch6
-rw-r--r--patches/server/0334-Tracking-Range-Improvements.patch4
-rw-r--r--patches/server/0336-implement-optional-per-player-mob-spawns.patch6
-rw-r--r--patches/server/0337-Anti-Xray.patch6
-rw-r--r--patches/server/0344-Entity-Jump-API.patch6
-rw-r--r--patches/server/0359-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch4
-rw-r--r--patches/server/0365-Improved-Watchdog-Support.patch4
-rw-r--r--patches/server/0372-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch4
-rw-r--r--patches/server/0373-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch6
-rw-r--r--patches/server/0391-Fix-PotionEffect-ignores-icon-flag.patch8
-rw-r--r--patches/server/0409-Use-distance-map-to-optimise-entity-tracker.patch20
-rw-r--r--patches/server/0413-Fix-Per-World-Difficulty-Remembering-Difficulty.patch6
-rw-r--r--patches/server/0417-Add-Plugin-Tickets-to-API-Chunk-Methods.patch16
-rw-r--r--patches/server/0423-Support-components-in-ItemMeta.patch8
-rw-r--r--patches/server/0438-Brand-support.patch6
-rw-r--r--patches/server/0439-Add-playPickupItemAnimation-to-LivingEntity.patch4
-rw-r--r--patches/server/0441-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch4
-rw-r--r--patches/server/0449-Fix-hex-colors-not-working-in-some-kick-messages.patch4
-rw-r--r--patches/server/0484-Fix-Player-spawnParticle-x-y-z-precision-loss.patch4
-rw-r--r--patches/server/0485-Add-LivingEntity-clearActiveItem.patch4
-rw-r--r--patches/server/0496-Expose-LivingEntity-hurt-direction.patch4
-rw-r--r--patches/server/0513-Added-WorldGameRuleChangeEvent.patch6
-rw-r--r--patches/server/0525-Add-StructuresLocateEvent.patch4
-rw-r--r--patches/server/0543-living-entity-allow-attribute-registration.patch4
-rw-r--r--patches/server/0573-More-World-API.patch6
-rw-r--r--patches/server/0592-More-Enchantment-API.patch4
-rw-r--r--patches/server/0599-Add-cause-to-Weather-ThunderChangeEvents.patch6
-rw-r--r--patches/server/0613-Line-Of-Sight-Changes.patch6
-rw-r--r--patches/server/0614-add-per-world-spawn-limits.patch4
-rw-r--r--patches/server/0618-Missing-Entity-API.patch4
-rw-r--r--patches/server/0626-Don-t-apply-cramming-damage-to-players.patch (renamed from patches/server/0627-Don-t-apply-cramming-damage-to-players.patch)2
-rw-r--r--patches/server/0626-Fix-incorrect-message-for-outdated-client.patch19
-rw-r--r--patches/server/0627-Rate-options-and-timings-for-sensors-and-behaviors.patch (renamed from patches/server/0628-Rate-options-and-timings-for-sensors-and-behaviors.patch)0
-rw-r--r--patches/server/0628-Add-a-bunch-of-missing-forceDrop-toggles.patch (renamed from patches/server/0629-Add-a-bunch-of-missing-forceDrop-toggles.patch)0
-rw-r--r--patches/server/0629-Stinger-API.patch (renamed from patches/server/0630-Stinger-API.patch)4
-rw-r--r--patches/server/0630-Fix-incosistency-issue-with-empty-map-items-in-CB.patch (renamed from patches/server/0631-Fix-incosistency-issue-with-empty-map-items-in-CB.patch)0
-rw-r--r--patches/server/0631-Add-System.out-err-catcher.patch (renamed from patches/server/0632-Add-System.out-err-catcher.patch)0
-rw-r--r--patches/server/0632-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch (renamed from patches/server/0633-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch)0
-rw-r--r--patches/server/0633-Improve-boat-collision-performance.patch (renamed from patches/server/0634-Improve-boat-collision-performance.patch)2
-rw-r--r--patches/server/0634-Prevent-AFK-kick-while-watching-end-credits.patch (renamed from patches/server/0635-Prevent-AFK-kick-while-watching-end-credits.patch)0
-rw-r--r--patches/server/0635-Allow-skipping-writing-of-comments-to-server.propert.patch (renamed from patches/server/0636-Allow-skipping-writing-of-comments-to-server.propert.patch)2
-rw-r--r--patches/server/0636-Add-PlayerSetSpawnEvent.patch (renamed from patches/server/0637-Add-PlayerSetSpawnEvent.patch)4
-rw-r--r--patches/server/0637-Make-hoppers-respect-inventory-max-stack-size.patch (renamed from patches/server/0638-Make-hoppers-respect-inventory-max-stack-size.patch)0
-rw-r--r--patches/server/0638-Optimize-entity-tracker-passenger-checks.patch (renamed from patches/server/0639-Optimize-entity-tracker-passenger-checks.patch)0
-rw-r--r--patches/server/0639-Config-option-for-Piglins-guarding-chests.patch (renamed from patches/server/0640-Config-option-for-Piglins-guarding-chests.patch)0
-rw-r--r--patches/server/0640-Added-EntityDamageItemEvent.patch (renamed from patches/server/0641-Added-EntityDamageItemEvent.patch)0
-rw-r--r--patches/server/0641-Optimize-indirect-passenger-iteration.patch (renamed from patches/server/0642-Optimize-indirect-passenger-iteration.patch)0
-rw-r--r--patches/server/0642-Configurable-item-frame-map-cursor-update-interval.patch (renamed from patches/server/0643-Configurable-item-frame-map-cursor-update-interval.patch)0
-rw-r--r--patches/server/0643-Make-EntityUnleashEvent-cancellable.patch (renamed from patches/server/0644-Make-EntityUnleashEvent-cancellable.patch)0
-rw-r--r--patches/server/0644-Clear-bucket-NBT-after-dispense.patch (renamed from patches/server/0645-Clear-bucket-NBT-after-dispense.patch)0
-rw-r--r--patches/server/0645-Change-EnderEye-target-without-changing-other-things.patch (renamed from patches/server/0646-Change-EnderEye-target-without-changing-other-things.patch)0
-rw-r--r--patches/server/0646-Add-BlockBreakBlockEvent.patch (renamed from patches/server/0647-Add-BlockBreakBlockEvent.patch)0
-rw-r--r--patches/server/0647-Option-to-prevent-NBT-copy-in-smithing-recipes.patch (renamed from patches/server/0648-Option-to-prevent-NBT-copy-in-smithing-recipes.patch)0
-rw-r--r--patches/server/0648-More-CommandBlock-API.patch (renamed from patches/server/0649-More-CommandBlock-API.patch)0
-rw-r--r--patches/server/0649-Add-missing-team-sidebar-display-slots.patch (renamed from patches/server/0650-Add-missing-team-sidebar-display-slots.patch)0
-rw-r--r--patches/server/0650-Add-back-EntityPortalExitEvent.patch (renamed from patches/server/0651-Add-back-EntityPortalExitEvent.patch)0
-rw-r--r--patches/server/0651-Add-methods-to-find-targets-for-lightning-strikes.patch (renamed from patches/server/0652-Add-methods-to-find-targets-for-lightning-strikes.patch)4
-rw-r--r--patches/server/0652-Get-entity-default-attributes.patch (renamed from patches/server/0653-Get-entity-default-attributes.patch)0
-rw-r--r--patches/server/0653-Left-handed-API.patch (renamed from patches/server/0654-Left-handed-API.patch)0
-rw-r--r--patches/server/0654-Add-more-advancement-API.patch (renamed from patches/server/0655-Add-more-advancement-API.patch)0
-rw-r--r--patches/server/0655-Add-ItemFactory-getSpawnEgg-API.patch (renamed from patches/server/0656-Add-ItemFactory-getSpawnEgg-API.patch)0
-rw-r--r--patches/server/0656-Add-critical-damage-API.patch (renamed from patches/server/0657-Add-critical-damage-API.patch)0
-rw-r--r--patches/server/0657-Fix-issues-with-mob-conversion.patch (renamed from patches/server/0658-Fix-issues-with-mob-conversion.patch)0
-rw-r--r--patches/server/0658-Add-isCollidable-methods-to-various-places.patch (renamed from patches/server/0659-Add-isCollidable-methods-to-various-places.patch)0
-rw-r--r--patches/server/0659-Goat-ram-API.patch (renamed from patches/server/0660-Goat-ram-API.patch)0
-rw-r--r--patches/server/0660-Add-API-for-resetting-a-single-score.patch (renamed from patches/server/0661-Add-API-for-resetting-a-single-score.patch)0
-rw-r--r--patches/server/0661-Add-Raw-Byte-Entity-Serialization.patch (renamed from patches/server/0662-Add-Raw-Byte-Entity-Serialization.patch)2
-rw-r--r--patches/server/0662-Vanilla-command-permission-fixes.patch (renamed from patches/server/0663-Vanilla-command-permission-fixes.patch)0
-rw-r--r--patches/server/0663-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch (renamed from patches/server/0664-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch)2
-rw-r--r--patches/server/0664-Fix-GameProfileCache-concurrency.patch (renamed from patches/server/0665-Fix-GameProfileCache-concurrency.patch)0
-rw-r--r--patches/server/0665-Improve-and-expand-AsyncCatcher.patch (renamed from patches/server/0666-Improve-and-expand-AsyncCatcher.patch)6
-rw-r--r--patches/server/0666-Add-paper-mobcaps-and-paper-playermobcaps.patch (renamed from patches/server/0667-Add-paper-mobcaps-and-paper-playermobcaps.patch)4
-rw-r--r--patches/server/0667-Sanitize-ResourceLocation-error-logging.patch (renamed from patches/server/0668-Sanitize-ResourceLocation-error-logging.patch)0
-rw-r--r--patches/server/0668-Optimise-general-POI-access.patch (renamed from patches/server/0669-Optimise-general-POI-access.patch)0
-rw-r--r--patches/server/0669-Custom-table-implementation-for-blockstate-state-loo.patch (renamed from patches/server/0670-Custom-table-implementation-for-blockstate-state-loo.patch)0
-rw-r--r--patches/server/0670-Manually-inline-methods-in-BlockPosition.patch (renamed from patches/server/0671-Manually-inline-methods-in-BlockPosition.patch)0
-rw-r--r--patches/server/0671-Name-craft-scheduler-threads-according-to-the-plugin.patch (renamed from patches/server/0672-Name-craft-scheduler-threads-according-to-the-plugin.patch)0
-rw-r--r--patches/server/0672-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch (renamed from patches/server/0673-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch)2
-rw-r--r--patches/server/0673-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch (renamed from patches/server/0674-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch)0
-rw-r--r--patches/server/0674-Don-t-lookup-fluid-state-when-raytracing.patch (renamed from patches/server/0675-Don-t-lookup-fluid-state-when-raytracing.patch)0
-rw-r--r--patches/server/0675-Time-scoreboard-search.patch (renamed from patches/server/0676-Time-scoreboard-search.patch)0
-rw-r--r--patches/server/0676-Send-full-pos-packets-for-hard-colliding-entities.patch (renamed from patches/server/0677-Send-full-pos-packets-for-hard-colliding-entities.patch)0
-rw-r--r--patches/server/0677-Do-not-run-raytrace-logic-for-AIR.patch (renamed from patches/server/0678-Do-not-run-raytrace-logic-for-AIR.patch)0
-rw-r--r--patches/server/0678-Execute-chunk-tasks-mid-tick.patch (renamed from patches/server/0679-Execute-chunk-tasks-mid-tick.patch)6
-rw-r--r--patches/server/0679-Oprimise-map-impl-for-tracked-players.patch (renamed from patches/server/0680-Oprimise-map-impl-for-tracked-players.patch)4
-rw-r--r--patches/server/0680-Optimise-BlockSoil-nearby-water-lookup.patch (renamed from patches/server/0681-Optimise-BlockSoil-nearby-water-lookup.patch)0
-rw-r--r--patches/server/0681-Optimise-random-block-ticking.patch (renamed from patches/server/0682-Optimise-random-block-ticking.patch)4
-rw-r--r--patches/server/0682-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch (renamed from patches/server/0683-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch)0
-rw-r--r--patches/server/0683-Use-Velocity-compression-and-cipher-natives.patch (renamed from patches/server/0684-Use-Velocity-compression-and-cipher-natives.patch)0
-rw-r--r--patches/server/0684-Detail-more-information-in-watchdog-dumps.patch (renamed from patches/server/0685-Detail-more-information-in-watchdog-dumps.patch)0
-rw-r--r--patches/server/0685-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch (renamed from patches/server/0686-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch)0
-rw-r--r--patches/server/0686-Fix-Bukkit-NamespacedKey-shenanigans.patch (renamed from patches/server/0687-Fix-Bukkit-NamespacedKey-shenanigans.patch)0
-rw-r--r--patches/server/0687-Distance-manager-tick-timings.patch (renamed from patches/server/0688-Distance-manager-tick-timings.patch)0
-rw-r--r--patches/server/0688-Fix-merchant-inventory-not-closing-on-entity-removal.patch (renamed from patches/server/0689-Fix-merchant-inventory-not-closing-on-entity-removal.patch)0
-rw-r--r--patches/server/0689-Check-requirement-before-suggesting-root-nodes.patch (renamed from patches/server/0690-Check-requirement-before-suggesting-root-nodes.patch)0
-rw-r--r--patches/server/0690-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch (renamed from patches/server/0691-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch)0
-rw-r--r--patches/server/0691-Add-packet-limiter-config.patch (renamed from patches/server/0692-Add-packet-limiter-config.patch)0
-rw-r--r--patches/server/0692-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch (renamed from patches/server/0693-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch)0
-rw-r--r--patches/server/0693-Ensure-valid-vehicle-status.patch (renamed from patches/server/0694-Ensure-valid-vehicle-status.patch)2
-rw-r--r--patches/server/0694-Prevent-softlocked-end-exit-portal-generation.patch (renamed from patches/server/0695-Prevent-softlocked-end-exit-portal-generation.patch)0
-rw-r--r--patches/server/0695-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch (renamed from patches/server/0696-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch)0
-rw-r--r--patches/server/0696-Don-t-log-debug-logging-being-disabled.patch (renamed from patches/server/0697-Don-t-log-debug-logging-being-disabled.patch)0
-rw-r--r--patches/server/0697-fix-various-menus-with-empty-level-accesses.patch (renamed from patches/server/0698-fix-various-menus-with-empty-level-accesses.patch)0
-rw-r--r--patches/server/0698-Preserve-overstacked-loot.patch (renamed from patches/server/0699-Preserve-overstacked-loot.patch)0
-rw-r--r--patches/server/0699-Update-head-rotation-in-missing-places.patch (renamed from patches/server/0700-Update-head-rotation-in-missing-places.patch)0
-rw-r--r--patches/server/0700-prevent-unintended-light-block-manipulation.patch (renamed from patches/server/0701-prevent-unintended-light-block-manipulation.patch)0
-rw-r--r--patches/server/0701-Fix-CraftCriteria-defaults-map.patch (renamed from patches/server/0702-Fix-CraftCriteria-defaults-map.patch)0
-rw-r--r--patches/server/0702-Fix-upstreams-block-state-factories.patch (renamed from patches/server/0703-Fix-upstreams-block-state-factories.patch)0
-rw-r--r--patches/server/0703-Configurable-feature-seeds.patch (renamed from patches/server/0704-Configurable-feature-seeds.patch)2
-rw-r--r--patches/server/0704-Add-root-admin-user-detection.patch (renamed from patches/server/0705-Add-root-admin-user-detection.patch)0
-rw-r--r--patches/server/0705-Always-allow-item-changing-in-Fireball.patch (renamed from patches/server/0706-Always-allow-item-changing-in-Fireball.patch)0
-rw-r--r--patches/server/0706-don-t-attempt-to-teleport-dead-entities.patch (renamed from patches/server/0707-don-t-attempt-to-teleport-dead-entities.patch)0
-rw-r--r--patches/server/0707-Prevent-excessive-velocity-through-repeated-crits.patch (renamed from patches/server/0708-Prevent-excessive-velocity-through-repeated-crits.patch)2
-rw-r--r--patches/server/0708-Remove-client-side-code-using-deprecated-for-removal.patch (renamed from patches/server/0709-Remove-client-side-code-using-deprecated-for-removal.patch)0
-rw-r--r--patches/server/0709-Fix-removing-recipes-from-RecipeIterator.patch (renamed from patches/server/0710-Fix-removing-recipes-from-RecipeIterator.patch)0
-rw-r--r--patches/server/0710-Prevent-sending-oversized-item-data-in-equipment-and.patch (renamed from patches/server/0711-Prevent-sending-oversized-item-data-in-equipment-and.patch)2
-rw-r--r--patches/server/0711-Hide-unnecessary-itemmeta-from-clients.patch (renamed from patches/server/0712-Hide-unnecessary-itemmeta-from-clients.patch)2
-rw-r--r--patches/server/0712-Fix-Spigot-growth-modifiers.patch (renamed from patches/server/0713-Fix-Spigot-growth-modifiers.patch)0
-rw-r--r--patches/server/0713-Prevent-ContainerOpenersCounter-openCount-from-going.patch (renamed from patches/server/0714-Prevent-ContainerOpenersCounter-openCount-from-going.patch)0
-rw-r--r--patches/server/0714-Add-PlayerItemFrameChangeEvent.patch (renamed from patches/server/0715-Add-PlayerItemFrameChangeEvent.patch)0
-rw-r--r--patches/server/0715-Optimize-HashMapPalette.patch (renamed from patches/server/0716-Optimize-HashMapPalette.patch)0
-rw-r--r--patches/server/0716-Allow-delegation-to-vanilla-chunk-gen.patch (renamed from patches/server/0717-Allow-delegation-to-vanilla-chunk-gen.patch)0
-rw-r--r--patches/server/0717-Collision-optimisations.patch (renamed from patches/server/0718-Collision-optimisations.patch)6
-rw-r--r--patches/server/0718-Optimise-collision-checking-in-player-move-packet-ha.patch (renamed from patches/server/0719-Optimise-collision-checking-in-player-move-packet-ha.patch)0
-rw-r--r--patches/server/0719-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch (renamed from patches/server/0720-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch)0
-rw-r--r--patches/server/0720-Add-more-Campfire-API.patch (renamed from patches/server/0721-Add-more-Campfire-API.patch)0
-rw-r--r--patches/server/0721-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch (renamed from patches/server/0722-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch)0
-rw-r--r--patches/server/0722-Fix-tripwire-state-inconsistency.patch (renamed from patches/server/0723-Fix-tripwire-state-inconsistency.patch)0
-rw-r--r--patches/server/0723-Forward-CraftEntity-in-teleport-command.patch (renamed from patches/server/0724-Forward-CraftEntity-in-teleport-command.patch)0
-rw-r--r--patches/server/0724-Improve-scoreboard-entries.patch (renamed from patches/server/0725-Improve-scoreboard-entries.patch)2
-rw-r--r--patches/server/0725-Entity-powdered-snow-API.patch (renamed from patches/server/0726-Entity-powdered-snow-API.patch)2
-rw-r--r--patches/server/0726-Add-API-for-item-entity-health.patch (renamed from patches/server/0727-Add-API-for-item-entity-health.patch)0
-rw-r--r--patches/server/0727-Fix-entity-type-tags-suggestions-in-selectors.patch (renamed from patches/server/0728-Fix-entity-type-tags-suggestions-in-selectors.patch)0
-rw-r--r--patches/server/0728-Configurable-max-block-light-for-monster-spawning.patch (renamed from patches/server/0729-Configurable-max-block-light-for-monster-spawning.patch)0
-rw-r--r--patches/server/0729-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch (renamed from patches/server/0730-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch)0
-rw-r--r--patches/server/0730-Load-effect-amplifiers-greater-than-127-correctly.patch (renamed from patches/server/0731-Load-effect-amplifiers-greater-than-127-correctly.patch)0
-rw-r--r--patches/server/0731-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch (renamed from patches/server/0732-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch)0
-rw-r--r--patches/server/0732-Fix-bees-aging-inside-hives.patch (renamed from patches/server/0733-Fix-bees-aging-inside-hives.patch)0
-rw-r--r--patches/server/0733-Bucketable-API.patch (renamed from patches/server/0734-Bucketable-API.patch)0
-rw-r--r--patches/server/0734-Validate-usernames.patch (renamed from patches/server/0735-Validate-usernames.patch)0
-rw-r--r--patches/server/0735-Make-water-animal-spawn-height-configurable.patch (renamed from patches/server/0736-Make-water-animal-spawn-height-configurable.patch)0
-rw-r--r--patches/server/0736-Expose-vanilla-BiomeProvider-from-WorldInfo.patch (renamed from patches/server/0737-Expose-vanilla-BiomeProvider-from-WorldInfo.patch)4
-rw-r--r--patches/server/0737-Add-config-option-for-worlds-affected-by-time-cmd.patch (renamed from patches/server/0738-Add-config-option-for-worlds-affected-by-time-cmd.patch)0
-rw-r--r--patches/server/0738-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch (renamed from patches/server/0739-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch)0
-rw-r--r--patches/server/0739-Multiple-Entries-with-Scoreboards.patch (renamed from patches/server/0740-Multiple-Entries-with-Scoreboards.patch)0
-rw-r--r--patches/server/0740-Reset-placed-block-on-exception.patch (renamed from patches/server/0741-Reset-placed-block-on-exception.patch)0
-rw-r--r--patches/server/0741-Add-configurable-height-for-slime-spawn.patch (renamed from patches/server/0742-Add-configurable-height-for-slime-spawn.patch)0
-rw-r--r--patches/server/0742-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch (renamed from patches/server/0743-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch)0
-rw-r--r--patches/server/0743-Fix-xp-reward-for-baby-zombies.patch (renamed from patches/server/0744-Fix-xp-reward-for-baby-zombies.patch)0
-rw-r--r--patches/server/0744-Multi-Block-Change-API-Implementation.patch (renamed from patches/server/0745-Multi-Block-Change-API-Implementation.patch)2
-rw-r--r--patches/server/0745-Fix-NotePlayEvent.patch (renamed from patches/server/0746-Fix-NotePlayEvent.patch)0
-rw-r--r--patches/server/0746-Freeze-Tick-Lock-API.patch (renamed from patches/server/0747-Freeze-Tick-Lock-API.patch)4
-rw-r--r--patches/server/0747-Dolphin-API.patch (renamed from patches/server/0748-Dolphin-API.patch)0
-rw-r--r--patches/server/0748-More-PotionEffectType-API.patch (renamed from patches/server/0749-More-PotionEffectType-API.patch)0
-rw-r--r--patches/server/0749-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch (renamed from patches/server/0750-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch)0
-rw-r--r--patches/server/0750-API-for-creating-command-sender-which-forwards-feedb.patch (renamed from patches/server/0751-API-for-creating-command-sender-which-forwards-feedb.patch)16
-rw-r--r--patches/server/0751-Add-missing-structure-set-seed-configs.patch (renamed from patches/server/0752-Add-missing-structure-set-seed-configs.patch)2
-rw-r--r--patches/server/0752-Implement-regenerateChunk.patch (renamed from patches/server/0753-Implement-regenerateChunk.patch)6
-rw-r--r--patches/server/0753-Fix-cancelled-powdered-snow-bucket-placement.patch (renamed from patches/server/0754-Fix-cancelled-powdered-snow-bucket-placement.patch)0
-rw-r--r--patches/server/0754-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch (renamed from patches/server/0755-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch)0
-rw-r--r--patches/server/0755-Add-GameEvent-tags.patch (renamed from patches/server/0756-Add-GameEvent-tags.patch)0
-rw-r--r--patches/server/0756-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch (renamed from patches/server/0757-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch)0
-rw-r--r--patches/server/0757-Furnace-RecipesUsed-API.patch (renamed from patches/server/0758-Furnace-RecipesUsed-API.patch)0
-rw-r--r--patches/server/0758-Configurable-sculk-sensor-listener-range.patch (renamed from patches/server/0759-Configurable-sculk-sensor-listener-range.patch)0
-rw-r--r--patches/server/0759-Add-missing-block-data-mins-and-maxes.patch (renamed from patches/server/0760-Add-missing-block-data-mins-and-maxes.patch)0
-rw-r--r--patches/server/0760-Option-to-have-default-CustomSpawners-in-custom-worl.patch (renamed from patches/server/0761-Option-to-have-default-CustomSpawners-in-custom-worl.patch)0
-rw-r--r--patches/server/0761-Put-world-into-worldlist-before-initing-the-world.patch (renamed from patches/server/0762-Put-world-into-worldlist-before-initing-the-world.patch)0
-rw-r--r--patches/server/0762-Fix-Entity-Position-Desync.patch (renamed from patches/server/0763-Fix-Entity-Position-Desync.patch)0
-rw-r--r--patches/server/0763-Custom-Potion-Mixes.patch (renamed from patches/server/0764-Custom-Potion-Mixes.patch)0
-rw-r--r--patches/server/0764-Force-close-world-loading-screen.patch (renamed from patches/server/0765-Force-close-world-loading-screen.patch)0
-rw-r--r--patches/server/0765-Fix-falling-block-spawn-methods.patch (renamed from patches/server/0766-Fix-falling-block-spawn-methods.patch)8
-rw-r--r--patches/server/0766-Expose-furnace-minecart-push-values.patch (renamed from patches/server/0767-Expose-furnace-minecart-push-values.patch)0
-rw-r--r--patches/server/0767-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch (renamed from patches/server/0768-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch)0
-rw-r--r--patches/server/0768-More-Projectile-API.patch (renamed from patches/server/0769-More-Projectile-API.patch)0
-rw-r--r--patches/server/0769-Fix-swamp-hut-cat-generation-deadlock.patch (renamed from patches/server/0770-Fix-swamp-hut-cat-generation-deadlock.patch)0
-rw-r--r--patches/server/0770-Don-t-allow-vehicle-movement-from-players-while-tele.patch (renamed from patches/server/0771-Don-t-allow-vehicle-movement-from-players-while-tele.patch)0
-rw-r--r--patches/server/0771-Implement-getComputedBiome-API.patch (renamed from patches/server/0772-Implement-getComputedBiome-API.patch)0
-rw-r--r--patches/server/0772-Make-some-itemstacks-nonnull.patch (renamed from patches/server/0773-Make-some-itemstacks-nonnull.patch)0
-rw-r--r--patches/server/0773-Implement-enchantWithLevels-API.patch (renamed from patches/server/0774-Implement-enchantWithLevels-API.patch)0
-rw-r--r--patches/server/0774-Fix-saving-in-unloadWorld.patch (renamed from patches/server/0775-Fix-saving-in-unloadWorld.patch)0
-rw-r--r--patches/server/0775-Buffer-OOB-setBlock-calls.patch (renamed from patches/server/0776-Buffer-OOB-setBlock-calls.patch)0
-rw-r--r--patches/server/0776-Add-TameableDeathMessageEvent.patch (renamed from patches/server/0777-Add-TameableDeathMessageEvent.patch)0
-rw-r--r--patches/server/0777-Fix-new-block-data-for-EntityChangeBlockEvent.patch (renamed from patches/server/0778-Fix-new-block-data-for-EntityChangeBlockEvent.patch)0
-rw-r--r--patches/server/0778-fix-player-loottables-running-when-mob-loot-gamerule.patch (renamed from patches/server/0779-fix-player-loottables-running-when-mob-loot-gamerule.patch)2
-rw-r--r--patches/server/0779-Ensure-entity-passenger-world-matches-ridden-entity.patch (renamed from patches/server/0780-Ensure-entity-passenger-world-matches-ridden-entity.patch)0
-rw-r--r--patches/server/0780-Guard-against-invalid-entity-positions.patch (renamed from patches/server/0781-Guard-against-invalid-entity-positions.patch)0
-rw-r--r--patches/server/0781-cache-resource-keys.patch (renamed from patches/server/0782-cache-resource-keys.patch)0
-rw-r--r--patches/server/0782-Allow-to-change-the-podium-for-the-EnderDragon.patch (renamed from patches/server/0783-Allow-to-change-the-podium-for-the-EnderDragon.patch)0
-rw-r--r--patches/server/0783-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch (renamed from patches/server/0784-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch)0
-rw-r--r--patches/server/0784-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch (renamed from patches/server/0785-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch)0
-rw-r--r--patches/server/0785-Prevent-tile-entity-copies-loading-chunks.patch (renamed from patches/server/0786-Prevent-tile-entity-copies-loading-chunks.patch)0
-rw-r--r--patches/server/0786-Use-username-instead-of-display-name-in-PlayerList-g.patch (renamed from patches/server/0787-Use-username-instead-of-display-name-in-PlayerList-g.patch)0
-rw-r--r--patches/server/0787-Pass-ServerLevel-for-gamerule-callbacks.patch (renamed from patches/server/0788-Pass-ServerLevel-for-gamerule-callbacks.patch)6
-rw-r--r--patches/server/0788-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch (renamed from patches/server/0789-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch)0
-rw-r--r--patches/server/0789-WorldCreator-keepSpawnLoaded.patch (renamed from patches/server/0790-WorldCreator-keepSpawnLoaded.patch)0
-rw-r--r--patches/server/0790-Fix-CME-in-CraftPersistentDataTypeRegistry.patch (renamed from patches/server/0791-Fix-CME-in-CraftPersistentDataTypeRegistry.patch)0
-rw-r--r--patches/server/0791-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch (renamed from patches/server/0792-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch)0
-rw-r--r--patches/server/0792-Add-EntityDyeEvent-and-CollarColorable-interface.patch (renamed from patches/server/0793-Add-EntityDyeEvent-and-CollarColorable-interface.patch)0
-rw-r--r--patches/server/0793-Fire-CauldronLevelChange-on-initial-fill.patch (renamed from patches/server/0794-Fire-CauldronLevelChange-on-initial-fill.patch)0
-rw-r--r--patches/server/0794-fix-powder-snow-cauldrons-not-turning-to-water.patch (renamed from patches/server/0795-fix-powder-snow-cauldrons-not-turning-to-water.patch)0
-rw-r--r--patches/server/0795-Add-PlayerStopUsingItemEvent.patch (renamed from patches/server/0796-Add-PlayerStopUsingItemEvent.patch)2
-rw-r--r--patches/server/0796-Don-t-tick-markers.patch (renamed from patches/server/0797-Don-t-tick-markers.patch)0
-rw-r--r--patches/server/0797-Expand-FallingBlock-API.patch (renamed from patches/server/0798-Expand-FallingBlock-API.patch)0
-rw-r--r--patches/server/0798-Do-not-accept-invalid-client-settings.patch (renamed from patches/server/0799-Do-not-accept-invalid-client-settings.patch)0
-rw-r--r--patches/server/0799-Add-support-for-Proxy-Protocol.patch (renamed from patches/server/0800-Add-support-for-Proxy-Protocol.patch)0
-rw-r--r--patches/server/0800-Fix-OfflinePlayer-getBedSpawnLocation.patch (renamed from patches/server/0801-Fix-OfflinePlayer-getBedSpawnLocation.patch)0
-rw-r--r--patches/server/0801-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch (renamed from patches/server/0802-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch)0
-rw-r--r--patches/server/0802-Sanitize-Sent-BlockEntity-NBT.patch (renamed from patches/server/0803-Sanitize-Sent-BlockEntity-NBT.patch)0
-rw-r--r--patches/server/0803-Disable-component-selector-resolving-in-books-by-def.patch (renamed from patches/server/0804-Disable-component-selector-resolving-in-books-by-def.patch)0
-rw-r--r--patches/server/0804-Prevent-entity-loading-causing-async-lookups.patch (renamed from patches/server/0805-Prevent-entity-loading-causing-async-lookups.patch)0
-rw-r--r--patches/server/0805-Throw-exception-on-world-create-while-being-ticked.patch (renamed from patches/server/0806-Throw-exception-on-world-create-while-being-ticked.patch)0
-rw-r--r--patches/server/0806-Add-Alternate-Current-redstone-implementation.patch (renamed from patches/server/0807-Add-Alternate-Current-redstone-implementation.patch)4
-rw-r--r--patches/server/0807-Dont-resent-entity-on-art-update.patch (renamed from patches/server/0808-Dont-resent-entity-on-art-update.patch)0
-rw-r--r--patches/server/0808-Add-WardenAngerChangeEvent.patch (renamed from patches/server/0809-Add-WardenAngerChangeEvent.patch)0
-rw-r--r--patches/server/0809-Add-option-for-strict-advancement-dimension-checks.patch (renamed from patches/server/0810-Add-option-for-strict-advancement-dimension-checks.patch)2
-rw-r--r--patches/server/0810-Add-missing-important-BlockStateListPopulator-method.patch (renamed from patches/server/0811-Add-missing-important-BlockStateListPopulator-method.patch)0
-rw-r--r--patches/server/0811-Nameable-Banner-API.patch (renamed from patches/server/0812-Nameable-Banner-API.patch)0
-rw-r--r--patches/server/0812-Don-t-broadcast-messages-to-command-blocks.patch (renamed from patches/server/0813-Don-t-broadcast-messages-to-command-blocks.patch)0
-rw-r--r--patches/server/0813-Prevent-empty-items-from-being-added-to-world.patch (renamed from patches/server/0814-Prevent-empty-items-from-being-added-to-world.patch)0
-rw-r--r--patches/server/0814-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch (renamed from patches/server/0815-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch)0
-rw-r--r--patches/server/0815-Add-Player-getFishHook.patch (renamed from patches/server/0816-Add-Player-getFishHook.patch)0
-rw-r--r--patches/server/0816-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch (renamed from patches/server/0817-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch)0
-rw-r--r--patches/server/0817-Add-various-missing-EntityDropItemEvent-calls.patch (renamed from patches/server/0818-Add-various-missing-EntityDropItemEvent-calls.patch)0
-rw-r--r--patches/server/0818-Fix-Bee-flower-NPE.patch (renamed from patches/server/0819-Fix-Bee-flower-NPE.patch)0
-rw-r--r--patches/server/0819-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch (renamed from patches/server/0820-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch)0
-rw-r--r--patches/server/0820-More-Teleport-API.patch (renamed from patches/server/0821-More-Teleport-API.patch)4
-rw-r--r--patches/server/0821-Add-EntityPortalReadyEvent.patch (renamed from patches/server/0822-Add-EntityPortalReadyEvent.patch)0
-rw-r--r--patches/server/0822-Don-t-use-level-random-in-entity-constructors.patch (renamed from patches/server/0823-Don-t-use-level-random-in-entity-constructors.patch)0
-rw-r--r--patches/server/0823-Send-block-entities-after-destroy-prediction.patch (renamed from patches/server/0824-Send-block-entities-after-destroy-prediction.patch)0
-rw-r--r--patches/server/0824-Warn-on-plugins-accessing-faraway-chunks.patch (renamed from patches/server/0825-Warn-on-plugins-accessing-faraway-chunks.patch)18
-rw-r--r--patches/server/0825-Custom-Chat-Completion-Suggestions-API.patch (renamed from patches/server/0826-Custom-Chat-Completion-Suggestions-API.patch)2
-rw-r--r--patches/server/0826-Add-and-fix-missing-BlockFadeEvents.patch (renamed from patches/server/0827-Add-and-fix-missing-BlockFadeEvents.patch)0
-rw-r--r--patches/server/0827-Collision-API.patch (renamed from patches/server/0828-Collision-API.patch)2
-rw-r--r--patches/server/0828-Fix-suggest-command-message-for-brigadier-syntax-exc.patch (renamed from patches/server/0829-Fix-suggest-command-message-for-brigadier-syntax-exc.patch)0
-rw-r--r--patches/server/0829-Block-Ticking-API.patch (renamed from patches/server/0830-Block-Ticking-API.patch)0
-rw-r--r--patches/server/0830-Add-Velocity-IP-Forwarding-Support.patch (renamed from patches/server/0831-Add-Velocity-IP-Forwarding-Support.patch)0
-rw-r--r--patches/server/0831-Add-NamespacedKey-biome-methods.patch (renamed from patches/server/0832-Add-NamespacedKey-biome-methods.patch)0
-rw-r--r--patches/server/0832-Fix-plugin-loggers-on-server-shutdown.patch (renamed from patches/server/0833-Fix-plugin-loggers-on-server-shutdown.patch)0
-rw-r--r--patches/server/0833-Stop-large-look-changes-from-crashing-the-server.patch (renamed from patches/server/0834-Stop-large-look-changes-from-crashing-the-server.patch)2
-rw-r--r--patches/server/0834-Fire-EntityChangeBlockEvent-in-more-places.patch (renamed from patches/server/0835-Fire-EntityChangeBlockEvent-in-more-places.patch)0
-rw-r--r--patches/server/0835-Missing-eating-regain-reason.patch (renamed from patches/server/0836-Missing-eating-regain-reason.patch)0
-rw-r--r--patches/server/0836-Missing-effect-cause.patch (renamed from patches/server/0837-Missing-effect-cause.patch)0
-rw-r--r--patches/server/0837-Added-byte-array-serialization-deserialization-for-P.patch (renamed from patches/server/0838-Added-byte-array-serialization-deserialization-for-P.patch)0
-rw-r--r--patches/server/0838-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch (renamed from patches/server/0839-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch)12
-rw-r--r--patches/server/0839-Call-BlockPhysicsEvent-more-often.patch (renamed from patches/server/0840-Call-BlockPhysicsEvent-more-often.patch)0
-rw-r--r--patches/server/0840-Configurable-chat-thread-limit.patch (renamed from patches/server/0841-Configurable-chat-thread-limit.patch)0
-rw-r--r--patches/server/0841-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch (renamed from patches/server/0842-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch)0
-rw-r--r--patches/server/0842-fix-Jigsaw-block-kicking-user.patch (renamed from patches/server/0843-fix-Jigsaw-block-kicking-user.patch)0
-rw-r--r--patches/server/0843-use-BlockFormEvent-for-mud-converting-into-clay.patch (renamed from patches/server/0844-use-BlockFormEvent-for-mud-converting-into-clay.patch)0
-rw-r--r--patches/server/0844-Add-getDrops-to-BlockState.patch (renamed from patches/server/0845-Add-getDrops-to-BlockState.patch)0
-rw-r--r--patches/server/0845-Fix-a-bunch-of-vanilla-bugs.patch (renamed from patches/server/0846-Fix-a-bunch-of-vanilla-bugs.patch)6
-rw-r--r--patches/server/0846-Remove-unnecessary-onTrackingStart-during-navigation.patch (renamed from patches/server/0847-Remove-unnecessary-onTrackingStart-during-navigation.patch)0
-rw-r--r--patches/server/0847-Fix-custom-piglin-loved-items.patch (renamed from patches/server/0848-Fix-custom-piglin-loved-items.patch)0
-rw-r--r--patches/server/0848-EntityPickupItemEvent-fixes.patch (renamed from patches/server/0849-EntityPickupItemEvent-fixes.patch)0
-rw-r--r--patches/server/0849-Correctly-handle-interactions-with-items-on-cooldown.patch (renamed from patches/server/0850-Correctly-handle-interactions-with-items-on-cooldown.patch)0
-rw-r--r--patches/server/0850-Add-PlayerInventorySlotChangeEvent.patch (renamed from patches/server/0851-Add-PlayerInventorySlotChangeEvent.patch)2
-rw-r--r--patches/server/0851-Elder-Guardian-appearance-API.patch (renamed from patches/server/0852-Elder-Guardian-appearance-API.patch)4
-rw-r--r--patches/server/0852-Allow-changing-bed-s-occupied-property.patch (renamed from patches/server/0853-Allow-changing-bed-s-occupied-property.patch)0
-rw-r--r--patches/server/0853-Add-entity-knockback-API.patch (renamed from patches/server/0854-Add-entity-knockback-API.patch)4
-rw-r--r--patches/server/0854-Detect-headless-JREs.patch (renamed from patches/server/0855-Detect-headless-JREs.patch)0
-rw-r--r--patches/server/0855-fixed-entity-vehicle-collision-event-not-called.patch (renamed from patches/server/0856-fixed-entity-vehicle-collision-event-not-called.patch)0
-rw-r--r--patches/server/0856-optimized-dirt-and-snow-spreading.patch (renamed from patches/server/0857-optimized-dirt-and-snow-spreading.patch)0
-rw-r--r--patches/server/0857-Added-EntityToggleSitEvent.patch (renamed from patches/server/0858-Added-EntityToggleSitEvent.patch)0
-rw-r--r--patches/server/0858-Add-fire-tick-delay-option.patch (renamed from patches/server/0859-Add-fire-tick-delay-option.patch)0
-rw-r--r--patches/server/0859-Add-Moving-Piston-API.patch (renamed from patches/server/0860-Add-Moving-Piston-API.patch)0
-rw-r--r--patches/server/0860-Ignore-impossible-spawn-tick.patch (renamed from patches/server/0861-Ignore-impossible-spawn-tick.patch)0
-rw-r--r--patches/server/0861-Track-projectile-source-for-fireworks-from-dispenser.patch (renamed from patches/server/0862-Track-projectile-source-for-fireworks-from-dispenser.patch)0
-rw-r--r--patches/server/0862-Fix-EntityArgument-suggestion-permissions-to-align-w.patch (renamed from patches/server/0863-Fix-EntityArgument-suggestion-permissions-to-align-w.patch)0
-rw-r--r--patches/server/0863-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch (renamed from patches/server/0864-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch)0
-rw-r--r--patches/server/0864-Prevent-compass-from-loading-chunks.patch (renamed from patches/server/0865-Prevent-compass-from-loading-chunks.patch)0
-rw-r--r--patches/server/0865-Add-PrePlayerAttackEntityEvent.patch (renamed from patches/server/0866-Add-PrePlayerAttackEntityEvent.patch)0
-rw-r--r--patches/server/0866-ensure-reset-EnderDragon-boss-event-name.patch (renamed from patches/server/0867-ensure-reset-EnderDragon-boss-event-name.patch)0
-rw-r--r--patches/server/0867-fix-MC-252817-green-map-markers-do-not-disappear.patch (renamed from patches/server/0868-fix-MC-252817-green-map-markers-do-not-disappear.patch)0
-rw-r--r--patches/server/0868-Add-Player-Warden-Warning-API.patch (renamed from patches/server/0869-Add-Player-Warden-Warning-API.patch)4
-rw-r--r--patches/server/0869-More-vanilla-friendly-methods-to-update-trades.patch (renamed from patches/server/0870-More-vanilla-friendly-methods-to-update-trades.patch)0
-rw-r--r--patches/server/0870-Add-paper-dumplisteners-command.patch (renamed from patches/server/0871-Add-paper-dumplisteners-command.patch)0
-rw-r--r--patches/server/0871-check-global-player-list-where-appropriate.patch (renamed from patches/server/0872-check-global-player-list-where-appropriate.patch)2
-rw-r--r--patches/server/0872-Fix-async-entity-add-due-to-fungus-trees.patch (renamed from patches/server/0873-Fix-async-entity-add-due-to-fungus-trees.patch)0
-rw-r--r--patches/server/0873-ItemStack-damage-API.patch (renamed from patches/server/0874-ItemStack-damage-API.patch)4
-rw-r--r--patches/server/0874-Friction-API.patch (renamed from patches/server/0875-Friction-API.patch)6
-rw-r--r--patches/server/0875-Ability-to-control-player-s-insomnia-and-phantoms.patch (renamed from patches/server/0876-Ability-to-control-player-s-insomnia-and-phantoms.patch)0
-rw-r--r--patches/server/0876-Fix-player-kick-on-shutdown.patch (renamed from patches/server/0877-Fix-player-kick-on-shutdown.patch)0
-rw-r--r--patches/server/0877-Sync-offhand-slot-in-menus.patch (renamed from patches/server/0878-Sync-offhand-slot-in-menus.patch)2
-rw-r--r--patches/server/0878-Player-Entity-Tracking-Events.patch (renamed from patches/server/0879-Player-Entity-Tracking-Events.patch)4
-rw-r--r--patches/server/0879-Limit-pet-look-distance.patch (renamed from patches/server/0880-Limit-pet-look-distance.patch)0
-rw-r--r--patches/server/0880-Properly-resend-entities.patch (renamed from patches/server/0881-Properly-resend-entities.patch)2
-rw-r--r--patches/server/0881-Fixes-and-additions-to-the-SpawnReason-API.patch (renamed from patches/server/0882-Fixes-and-additions-to-the-SpawnReason-API.patch)0
-rw-r--r--patches/server/0882-fix-Instruments.patch (renamed from patches/server/0883-fix-Instruments.patch)2
-rw-r--r--patches/server/0883-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch (renamed from patches/server/0884-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch)0
-rw-r--r--patches/server/0884-Fix-inconsistencies-in-dispense-events-regarding-sta.patch (renamed from patches/server/0885-Fix-inconsistencies-in-dispense-events-regarding-sta.patch)0
-rw-r--r--patches/server/0885-Add-BlockLockCheckEvent.patch (renamed from patches/server/0886-Add-BlockLockCheckEvent.patch)0
-rw-r--r--patches/server/0886-Add-Sneaking-API-for-Entities.patch (renamed from patches/server/0887-Add-Sneaking-API-for-Entities.patch)2
-rw-r--r--patches/server/0887-Improve-logging-and-errors.patch (renamed from patches/server/0888-Improve-logging-and-errors.patch)0
-rw-r--r--patches/server/0888-Improve-PortalEvents.patch (renamed from patches/server/0889-Improve-PortalEvents.patch)0
-rw-r--r--patches/server/0889-Add-config-option-for-spider-worldborder-climbing.patch (renamed from patches/server/0890-Add-config-option-for-spider-worldborder-climbing.patch)0
-rw-r--r--patches/server/0890-Add-missing-SpigotConfig-logCommands-check.patch (renamed from patches/server/0891-Add-missing-SpigotConfig-logCommands-check.patch)0
-rw-r--r--patches/server/0891-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch (renamed from patches/server/0892-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch)0
-rw-r--r--patches/server/0892-Flying-Fall-Damage.patch (renamed from patches/server/0893-Flying-Fall-Damage.patch)2
-rw-r--r--patches/server/0893-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch (renamed from patches/server/0894-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch)0
-rw-r--r--patches/server/0894-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch (renamed from patches/server/0895-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch)0
-rw-r--r--patches/server/0895-config-for-disabling-entity-tag-tags.patch (renamed from patches/server/0896-config-for-disabling-entity-tag-tags.patch)0
-rw-r--r--patches/server/0896-Use-single-player-info-update-packet-on-join.patch (renamed from patches/server/0897-Use-single-player-info-update-packet-on-join.patch)0
-rw-r--r--patches/server/0897-Correctly-shrink-items-during-EntityResurrectEvent.patch (renamed from patches/server/0898-Correctly-shrink-items-during-EntityResurrectEvent.patch)2
-rw-r--r--patches/server/0898-Win-Screen-API.patch (renamed from patches/server/0899-Win-Screen-API.patch)2
-rw-r--r--patches/server/0899-Remove-CraftItemStack-setAmount-null-assignment.patch (renamed from patches/server/0900-Remove-CraftItemStack-setAmount-null-assignment.patch)0
-rw-r--r--patches/server/0900-Fix-force-opening-enchantment-tables.patch (renamed from patches/server/0901-Fix-force-opening-enchantment-tables.patch)0
-rw-r--r--patches/server/0901-Add-Entity-Body-Yaw-API.patch (renamed from patches/server/0902-Add-Entity-Body-Yaw-API.patch)6
-rw-r--r--patches/server/0902-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch (renamed from patches/server/0903-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch)0
-rw-r--r--patches/server/0903-Update-the-flag-when-a-captured-block-state-is-outda.patch (renamed from patches/server/0904-Update-the-flag-when-a-captured-block-state-is-outda.patch)2
-rw-r--r--patches/server/0904-Add-EntityFertilizeEggEvent.patch (renamed from patches/server/0905-Add-EntityFertilizeEggEvent.patch)0
-rw-r--r--patches/server/0905-Fix-HumanEntity-drop-not-updating-the-client-inv.patch (renamed from patches/server/0906-Fix-HumanEntity-drop-not-updating-the-client-inv.patch)0
-rw-r--r--patches/server/0906-Add-CompostItemEvent-and-EntityCompostItemEvent.patch (renamed from patches/server/0907-Add-CompostItemEvent-and-EntityCompostItemEvent.patch)0
-rw-r--r--patches/server/0907-Correctly-handle-ArmorStand-invisibility.patch (renamed from patches/server/0908-Correctly-handle-ArmorStand-invisibility.patch)0
-rw-r--r--patches/server/0908-Fix-advancement-triggers-for-entity-damage.patch (renamed from patches/server/0909-Fix-advancement-triggers-for-entity-damage.patch)2
-rw-r--r--patches/server/0909-Fix-text-display-error-on-spawn.patch (renamed from patches/server/0910-Fix-text-display-error-on-spawn.patch)0
-rw-r--r--patches/server/0910-Fix-certain-inventories-returning-null-Locations.patch (renamed from patches/server/0911-Fix-certain-inventories-returning-null-Locations.patch)0
-rw-r--r--patches/server/0911-Add-Shearable-API.patch (renamed from patches/server/0912-Add-Shearable-API.patch)0
-rw-r--r--patches/server/0912-Fix-SpawnEggMeta-get-setSpawnedType.patch (renamed from patches/server/0913-Fix-SpawnEggMeta-get-setSpawnedType.patch)0
-rw-r--r--patches/server/0913-Optimize-Hoppers.patch (renamed from patches/server/0914-Optimize-Hoppers.patch)0
-rw-r--r--patches/server/0914-Fix-beehives-generating-from-using-bonemeal.patch (renamed from patches/server/0915-Fix-beehives-generating-from-using-bonemeal.patch)0
-rw-r--r--patches/server/0915-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch (renamed from patches/server/0916-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch)0
-rw-r--r--patches/server/0916-Treat-sequence-violations-like-they-should-be.patch (renamed from patches/server/0917-Treat-sequence-violations-like-they-should-be.patch)0
-rw-r--r--patches/server/0917-remove-duplicate-animate-packet-for-records.patch (renamed from patches/server/0918-remove-duplicate-animate-packet-for-records.patch)0
-rw-r--r--patches/server/0918-Prevent-causing-expired-keys-from-impacting-new-join.patch (renamed from patches/server/0919-Prevent-causing-expired-keys-from-impacting-new-join.patch)0
-rw-r--r--patches/server/0919-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch (renamed from patches/server/0920-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch)0
-rw-r--r--patches/server/0920-Use-array-for-gamerule-storage.patch (renamed from patches/server/0921-Use-array-for-gamerule-storage.patch)0
-rw-r--r--patches/server/0921-Fix-a-couple-of-upstream-bed-issues.patch (renamed from patches/server/0922-Fix-a-couple-of-upstream-bed-issues.patch)0
-rw-r--r--patches/server/0922-Fix-demo-flag-not-enabling-demo-mode.patch (renamed from patches/server/0923-Fix-demo-flag-not-enabling-demo-mode.patch)0
-rw-r--r--patches/server/0923-Add-Mob-Experience-reward-API.patch (renamed from patches/server/0924-Add-Mob-Experience-reward-API.patch)0
-rw-r--r--patches/server/0924-Break-redstone-on-top-of-trap-doors-early.patch (renamed from patches/server/0925-Break-redstone-on-top-of-trap-doors-early.patch)0
-rw-r--r--patches/server/0925-Fix-DamageCause-for-Falling-Blocks.patch (renamed from patches/server/0926-Fix-DamageCause-for-Falling-Blocks.patch)0
-rw-r--r--patches/server/0926-Avoid-Lazy-Initialization-for-Enum-Fields.patch (renamed from patches/server/0927-Avoid-Lazy-Initialization-for-Enum-Fields.patch)0
-rw-r--r--patches/server/0927-More-accurate-isInOpenWater-impl.patch (renamed from patches/server/0928-More-accurate-isInOpenWater-impl.patch)0
-rw-r--r--patches/server/0928-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch (renamed from patches/server/0929-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch)0
-rw-r--r--patches/server/0929-Optimise-recalcBlockCounts-for-empty-sections.patch (renamed from patches/server/0930-Optimise-recalcBlockCounts-for-empty-sections.patch)0
-rw-r--r--patches/server/0930-Expand-PlayerItemMendEvent.patch (renamed from patches/server/0931-Expand-PlayerItemMendEvent.patch)2
-rw-r--r--patches/server/0931-Refresh-ProjectileSource-for-projectiles.patch (renamed from patches/server/0932-Refresh-ProjectileSource-for-projectiles.patch)0
-rw-r--r--patches/server/0932-Add-transient-modifier-API.patch (renamed from patches/server/0933-Add-transient-modifier-API.patch)0
-rw-r--r--patches/server/0933-Fix-block-place-logic.patch (renamed from patches/server/0934-Fix-block-place-logic.patch)2
-rw-r--r--patches/server/0934-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch (renamed from patches/server/0935-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch)0
-rw-r--r--patches/server/0935-Ignore-inline-definitions-of-trim-material-pattern.patch (renamed from patches/server/0936-Ignore-inline-definitions-of-trim-material-pattern.patch)0
-rw-r--r--patches/server/0936-Call-BlockGrowEvent-for-missing-blocks.patch (renamed from patches/server/0937-Call-BlockGrowEvent-for-missing-blocks.patch)0
-rw-r--r--patches/server/0937-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch (renamed from patches/server/0938-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch)0
-rw-r--r--patches/server/0938-fix-MapLike-spam-for-missing-key-selector.patch (renamed from patches/server/0939-fix-MapLike-spam-for-missing-key-selector.patch)0
-rw-r--r--patches/server/0939-Fix-sniffer-removeExploredLocation.patch (renamed from patches/server/0940-Fix-sniffer-removeExploredLocation.patch)0
-rw-r--r--patches/server/0940-Add-method-to-remove-all-active-potion-effects.patch (renamed from patches/server/0941-Add-method-to-remove-all-active-potion-effects.patch)4
-rw-r--r--patches/server/0941-Temp-Pre-init-PlayerChunkLoaderData-in-order-to-prep.patch (renamed from patches/server/0942-Temp-Pre-init-PlayerChunkLoaderData-in-order-to-prep.patch)0
-rw-r--r--patches/server/0942-Fix-incorrect-crafting-result-amount-for-fireworks.patch (renamed from patches/server/0943-Fix-incorrect-crafting-result-amount-for-fireworks.patch)0
-rw-r--r--patches/server/0943-Properly-Cancel-Usable-Items.patch (renamed from patches/server/0944-Properly-Cancel-Usable-Items.patch)2
-rw-r--r--patches/server/0944-Add-event-for-player-editing-sign.patch (renamed from patches/server/0945-Add-event-for-player-editing-sign.patch)0
-rw-r--r--patches/server/0945-Only-tick-item-frames-if-players-can-see-it.patch (renamed from patches/server/0946-Only-tick-item-frames-if-players-can-see-it.patch)0
-rw-r--r--patches/server/0946-Improve-command-function-perm-level-checks.patch (renamed from patches/server/0947-Improve-command-function-perm-level-checks.patch)0
-rw-r--r--patches/server/0947-Add-option-to-disable-block-updates.patch (renamed from patches/server/0948-Add-option-to-disable-block-updates.patch)0
-rw-r--r--patches/server/0948-Call-missing-BlockDispenseEvent.patch (renamed from patches/server/0949-Call-missing-BlockDispenseEvent.patch)0
-rw-r--r--patches/server/0949-Don-t-load-chunks-for-supporting-block-checks.patch (renamed from patches/server/0950-Don-t-load-chunks-for-supporting-block-checks.patch)0
-rw-r--r--patches/server/0950-Optimize-player-lookups-for-beacons.patch (renamed from patches/server/0951-Optimize-player-lookups-for-beacons.patch)0
-rw-r--r--patches/server/0951-Add-Sign-getInteractableSideFor.patch (renamed from patches/server/0952-Add-Sign-getInteractableSideFor.patch)0
-rw-r--r--patches/server/0952-Array-backed-synched-entity-data.patch (renamed from patches/server/0953-Array-backed-synched-entity-data.patch)0
-rw-r--r--patches/server/0953-fix-item-meta-for-tadpole-buckets.patch (renamed from patches/server/0954-fix-item-meta-for-tadpole-buckets.patch)0
-rw-r--r--patches/server/0954-Suppress-Item-Meta-Validation-Checks.patch (renamed from patches/server/0955-Suppress-Item-Meta-Validation-Checks.patch)2
-rw-r--r--patches/server/0955-Fix-BanList-API.patch (renamed from patches/server/0956-Fix-BanList-API.patch)2
-rw-r--r--patches/server/0956-Determine-lava-and-water-fluid-explosion-resistance-.patch (renamed from patches/server/0957-Determine-lava-and-water-fluid-explosion-resistance-.patch)0
-rw-r--r--patches/server/0957-Fix-possible-NPE-on-painting-creation.patch (renamed from patches/server/0958-Fix-possible-NPE-on-painting-creation.patch)2
-rw-r--r--patches/server/0958-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch (renamed from patches/server/0959-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch)0
-rw-r--r--patches/server/0959-ExperienceOrb-should-call-EntitySpawnEvent.patch (renamed from patches/server/0960-ExperienceOrb-should-call-EntitySpawnEvent.patch)0
-rw-r--r--patches/server/0960-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch (renamed from patches/server/0961-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch)0
-rw-r--r--patches/server/0961-Add-whitelist-events.patch (renamed from patches/server/0962-Add-whitelist-events.patch)0
-rw-r--r--patches/server/0962-Implement-PlayerFailMoveEvent.patch (renamed from patches/server/0963-Implement-PlayerFailMoveEvent.patch)0
-rw-r--r--patches/server/0963-Folia-scheduler-and-owned-region-API.patch (renamed from patches/server/0964-Folia-scheduler-and-owned-region-API.patch)2
-rw-r--r--patches/server/0964-Only-erase-allay-memory-on-non-item-targets.patch (renamed from patches/server/0965-Only-erase-allay-memory-on-non-item-targets.patch)0
-rw-r--r--patches/server/0965-API-for-updating-recipes-on-clients.patch (renamed from patches/server/0966-API-for-updating-recipes-on-clients.patch)0
-rw-r--r--patches/server/0966-Fix-rotation-when-spawning-display-entities.patch (renamed from patches/server/0967-Fix-rotation-when-spawning-display-entities.patch)2
-rw-r--r--patches/server/0967-Only-capture-actual-tree-growth.patch (renamed from patches/server/0968-Only-capture-actual-tree-growth.patch)4
-rw-r--r--patches/server/0968-Use-correct-source-for-mushroom-block-spread-event.patch (renamed from patches/server/0969-Use-correct-source-for-mushroom-block-spread-event.patch)0
-rw-r--r--patches/server/0969-Respect-randomizeData-on-more-entities-when-spawning.patch (renamed from patches/server/0970-Respect-randomizeData-on-more-entities-when-spawning.patch)4
-rw-r--r--patches/server/0970-Use-correct-seed-on-api-world-load.patch (renamed from patches/server/0971-Use-correct-seed-on-api-world-load.patch)0
-rw-r--r--patches/server/0971-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch (renamed from patches/server/0972-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch)0
-rw-r--r--patches/server/0972-Cache-map-ids-on-item-frames.patch (renamed from patches/server/0973-Cache-map-ids-on-item-frames.patch)0
-rw-r--r--patches/server/0973-Fix-custom-statistic-criteria-creation.patch (renamed from patches/server/0974-Fix-custom-statistic-criteria-creation.patch)0
-rw-r--r--patches/server/0974-Bandaid-fix-for-Effect.patch (renamed from patches/server/0975-Bandaid-fix-for-Effect.patch)6
-rw-r--r--patches/server/0975-SculkCatalyst-bloom-API.patch (renamed from patches/server/0976-SculkCatalyst-bloom-API.patch)0
-rw-r--r--patches/server/0976-API-for-an-entity-s-scoreboard-name.patch (renamed from patches/server/0977-API-for-an-entity-s-scoreboard-name.patch)2
-rw-r--r--patches/server/0977-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch (renamed from patches/server/0978-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch)6
-rw-r--r--patches/server/0978-Deprecate-and-replace-methods-with-old-StructureType.patch (renamed from patches/server/0979-Deprecate-and-replace-methods-with-old-StructureType.patch)0
-rw-r--r--patches/server/0979-Don-t-tab-complete-namespaced-commands-if-send-names.patch (renamed from patches/server/0980-Don-t-tab-complete-namespaced-commands-if-send-names.patch)0
-rw-r--r--patches/server/0980-Properly-handle-BlockBreakEvent-isDropItems.patch (renamed from patches/server/0981-Properly-handle-BlockBreakEvent-isDropItems.patch)0
-rw-r--r--patches/server/0981-Fire-entity-death-event-for-ender-dragon.patch (renamed from patches/server/0982-Fire-entity-death-event-for-ender-dragon.patch)0
-rw-r--r--patches/server/0982-Configurable-entity-tracking-range-by-Y-coordinate.patch (renamed from patches/server/0983-Configurable-entity-tracking-range-by-Y-coordinate.patch)4
-rw-r--r--patches/server/0983-Add-Listing-API-for-Player.patch (renamed from patches/server/0984-Add-Listing-API-for-Player.patch)2
-rw-r--r--patches/server/0984-Configurable-Region-Compression-Format.patch (renamed from patches/server/0985-Configurable-Region-Compression-Format.patch)0
-rw-r--r--patches/server/0985-Expose-clicked-BlockFace-during-BlockDamageEvent.patch (renamed from patches/server/0986-Expose-clicked-BlockFace-during-BlockDamageEvent.patch)0
-rw-r--r--patches/server/0986-Fix-NPE-on-Boat-getStatus.patch (renamed from patches/server/0987-Fix-NPE-on-Boat-getStatus.patch)0
-rw-r--r--patches/server/0987-Expand-Pose-API.patch (renamed from patches/server/0988-Expand-Pose-API.patch)2
-rw-r--r--patches/server/0988-More-DragonBattle-API.patch (renamed from patches/server/0989-More-DragonBattle-API.patch)0
-rw-r--r--patches/server/0989-Deep-clone-unhandled-nbt-tags.patch (renamed from patches/server/0990-Deep-clone-unhandled-nbt-tags.patch)4
-rw-r--r--patches/server/0990-Add-PlayerPickItemEvent.patch (renamed from patches/server/0991-Add-PlayerPickItemEvent.patch)0
-rw-r--r--patches/server/0991-Improve-performance-of-mass-crafts.patch (renamed from patches/server/0992-Improve-performance-of-mass-crafts.patch)0
-rw-r--r--patches/server/0992-Allow-trident-custom-damage.patch (renamed from patches/server/0993-Allow-trident-custom-damage.patch)0
-rw-r--r--patches/server/0993-Expose-hand-during-BlockCanBuildEvent.patch (renamed from patches/server/0994-Expose-hand-during-BlockCanBuildEvent.patch)0
-rw-r--r--patches/server/0994-Optimize-nearest-structure-border-iteration.patch (renamed from patches/server/0995-Optimize-nearest-structure-border-iteration.patch)2
-rw-r--r--patches/server/0995-Implement-OfflinePlayer-isConnected.patch (renamed from patches/server/0996-Implement-OfflinePlayer-isConnected.patch)2
-rw-r--r--patches/server/0996-Fix-inventory-desync.patch (renamed from patches/server/0997-Fix-inventory-desync.patch)0
-rw-r--r--patches/server/0997-Add-titleOverride-to-InventoryOpenEvent.patch (renamed from patches/server/0998-Add-titleOverride-to-InventoryOpenEvent.patch)2
-rw-r--r--patches/server/0998-Configure-sniffer-egg-hatch-time.patch (renamed from patches/server/0999-Configure-sniffer-egg-hatch-time.patch)0
-rw-r--r--patches/server/0999-Do-crystal-portal-proximity-check-before-entity-look.patch (renamed from patches/server/1000-Do-crystal-portal-proximity-check-before-entity-look.patch)0
-rw-r--r--patches/server/1000-Skip-POI-finding-if-stuck-in-vehicle.patch (renamed from patches/server/1001-Skip-POI-finding-if-stuck-in-vehicle.patch)0
-rw-r--r--patches/server/1001-Add-slot-sanity-checks-in-container-clicks.patch (renamed from patches/server/1002-Add-slot-sanity-checks-in-container-clicks.patch)0
-rw-r--r--patches/server/1002-Call-BlockRedstoneEvents-for-lecterns.patch (renamed from patches/server/1003-Call-BlockRedstoneEvents-for-lecterns.patch)0
-rw-r--r--patches/server/1003-Allow-proper-checking-of-empty-item-stacks.patch (renamed from patches/server/1004-Allow-proper-checking-of-empty-item-stacks.patch)0
-rw-r--r--patches/server/1004-Fix-silent-equipment-change-for-mobs.patch (renamed from patches/server/1005-Fix-silent-equipment-change-for-mobs.patch)4
-rw-r--r--patches/server/1005-Fix-spigot-s-Forced-Stats.patch (renamed from patches/server/1006-Fix-spigot-s-Forced-Stats.patch)0
-rw-r--r--patches/server/1006-Add-missing-InventoryHolders-to-inventories.patch (renamed from patches/server/1007-Add-missing-InventoryHolders-to-inventories.patch)0
-rw-r--r--patches/server/1007-Do-not-read-tile-entities-in-chunks-that-are-positio.patch (renamed from patches/server/1008-Do-not-read-tile-entities-in-chunks-that-are-positio.patch)0
-rw-r--r--patches/server/1008-Actually-optimise-explosions.patch (renamed from patches/server/1009-Actually-optimise-explosions.patch)0
-rw-r--r--patches/server/1009-Add-missing-logs-for-log-ips-config-option.patch (renamed from patches/server/1010-Add-missing-logs-for-log-ips-config-option.patch)0
-rw-r--r--patches/server/1010-Remove-Spigot-Bug-Fix-for-MC-109346.patch (renamed from patches/server/1011-Remove-Spigot-Bug-Fix-for-MC-109346.patch)0
-rw-r--r--patches/server/1011-Fix-SuspiciousStewMeta.patch (renamed from patches/server/1012-Fix-SuspiciousStewMeta.patch)0
-rw-r--r--patches/server/1012-Optimise-chunk-tick-iteration.patch (renamed from patches/server/1013-Optimise-chunk-tick-iteration.patch)18
-rw-r--r--patches/server/1013-Lag-compensation-ticks.patch (renamed from patches/server/1014-Lag-compensation-ticks.patch)2
-rw-r--r--patches/server/1014-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch (renamed from patches/server/1015-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch)0
-rw-r--r--patches/server/1015-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch (renamed from patches/server/1016-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch)0
-rw-r--r--patches/server/1016-Fix-team-sidebar-objectives-not-being-cleared.patch (renamed from patches/server/1017-Fix-team-sidebar-objectives-not-being-cleared.patch)0
-rw-r--r--patches/server/1017-Optimise-nearby-player-retrieval.patch (renamed from patches/server/1018-Optimise-nearby-player-retrieval.patch)0
-rw-r--r--patches/server/1018-Remove-streams-for-villager-AI.patch (renamed from patches/server/1019-Remove-streams-for-villager-AI.patch)0
-rw-r--r--patches/server/1019-Fix-missing-map-initialize-event-call.patch (renamed from patches/server/1020-Fix-missing-map-initialize-event-call.patch)0
-rw-r--r--patches/server/1020-Update-entity-data-when-attaching-firework-to-entity.patch (renamed from patches/server/1021-Update-entity-data-when-attaching-firework-to-entity.patch)0
-rw-r--r--patches/server/1021-Use-correct-variable-for-initializing-CraftLootTable.patch (renamed from patches/server/1022-Use-correct-variable-for-initializing-CraftLootTable.patch)0
-rw-r--r--patches/server/1022-Make-setVelocity-method-of-Fireballs-change-the-trav.patch (renamed from patches/server/1023-Make-setVelocity-method-of-Fireballs-change-the-trav.patch)0
-rw-r--r--patches/server/1023-Fix-UnsafeValues-loadAdvancement.patch (renamed from patches/server/1024-Fix-UnsafeValues-loadAdvancement.patch)0
-rw-r--r--patches/server/1024-Add-player-idle-duration-API.patch (renamed from patches/server/1025-Add-player-idle-duration-API.patch)4
-rw-r--r--patches/server/1025-Don-t-check-if-we-can-see-non-visible-entities.patch (renamed from patches/server/1026-Don-t-check-if-we-can-see-non-visible-entities.patch)4
-rw-r--r--patches/server/1026-Fix-NPE-in-SculkBloomEvent-world-access.patch (renamed from patches/server/1027-Fix-NPE-in-SculkBloomEvent-world-access.patch)0
-rw-r--r--patches/server/1027-Allow-null-itemstack-for-Player-sendEquipmentChange.patch (renamed from patches/server/1028-Allow-null-itemstack-for-Player-sendEquipmentChange.patch)2
-rw-r--r--patches/server/1028-Optimize-VarInts.patch (renamed from patches/server/1029-Optimize-VarInts.patch)0
-rw-r--r--patches/server/1029-Add-API-to-get-the-collision-shape-of-a-block-before.patch (renamed from patches/server/1030-Add-API-to-get-the-collision-shape-of-a-block-before.patch)0
-rw-r--r--patches/server/1030-Add-predicate-for-blocks-when-raytracing.patch (renamed from patches/server/1031-Add-predicate-for-blocks-when-raytracing.patch)8
-rw-r--r--patches/server/1031-Broadcast-take-item-packets-with-collector-as-source.patch (renamed from patches/server/1032-Broadcast-take-item-packets-with-collector-as-source.patch)2
-rw-r--r--patches/server/1032-fix-secure-profile-with-proxy-online-mode.patch (renamed from patches/server/1033-fix-secure-profile-with-proxy-online-mode.patch)0
-rw-r--r--patches/server/1033-Expand-LingeringPotion-API.patch (renamed from patches/server/1034-Expand-LingeringPotion-API.patch)0
-rw-r--r--patches/server/1034-Add-MaterialTagsTest.patch (renamed from patches/server/1035-Add-MaterialTagsTest.patch)0
-rw-r--r--patches/server/1035-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch (renamed from patches/server/1036-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch)8
-rw-r--r--patches/server/1036-Add-hand-to-fish-event-for-all-player-interactions.patch (renamed from patches/server/1037-Add-hand-to-fish-event-for-all-player-interactions.patch)0
-rw-r--r--patches/server/1037-Fix-several-issues-with-EntityBreedEvent.patch (renamed from patches/server/1038-Fix-several-issues-with-EntityBreedEvent.patch)0
-rw-r--r--patches/server/1038-Add-UUID-attribute-modifier-API.patch (renamed from patches/server/1039-Add-UUID-attribute-modifier-API.patch)0
-rw-r--r--patches/server/1039-Fix-missing-event-call-for-entity-teleport-API.patch (renamed from patches/server/1040-Fix-missing-event-call-for-entity-teleport-API.patch)2
-rw-r--r--patches/server/1040-Lazily-create-LootContext-for-criterions.patch (renamed from patches/server/1041-Lazily-create-LootContext-for-criterions.patch)0
-rw-r--r--patches/server/1041-Don-t-fire-EntityPotionEffectEvent-during-worldgen.patch (renamed from patches/server/1042-Don-t-fire-EntityPotionEffectEvent-during-worldgen.patch)2
-rw-r--r--patches/server/1042-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch (renamed from patches/server/1043-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch)4
-rw-r--r--patches/server/1043-Restore-vanilla-entity-drops-behavior.patch (renamed from patches/server/1044-Restore-vanilla-entity-drops-behavior.patch)4
-rw-r--r--patches/server/1044-Add-Structure-check-API.patch (renamed from patches/server/1045-Add-Structure-check-API.patch)4
-rw-r--r--patches/server/1045-Dont-resend-blocks-on-interactions.patch (renamed from patches/server/1046-Dont-resend-blocks-on-interactions.patch)0
-rw-r--r--patches/server/1046-Keep-previous-behavior-for-setResourcePack.patch (renamed from patches/server/1047-Keep-previous-behavior-for-setResourcePack.patch)2
-rw-r--r--patches/server/1047-hotfix-spawning-item-xp-in-wrong-spot.patch (renamed from patches/server/1048-hotfix-spawning-item-xp-in-wrong-spot.patch)12
-rw-r--r--patches/server/1048-properly-read-and-store-sus-effect-duration.patch (renamed from patches/server/1049-properly-read-and-store-sus-effect-duration.patch)0
-rw-r--r--patches/server/1049-Use-correct-max-stack-size-in-crafter.patch (renamed from patches/server/1050-Use-correct-max-stack-size-in-crafter.patch)0
-rw-r--r--patches/server/1050-Fix-scoreboard-entries.patch (renamed from patches/server/1051-Fix-scoreboard-entries.patch)0
-rw-r--r--patches/server/1051-add-more-scoreboard-API.patch (renamed from patches/server/1052-add-more-scoreboard-API.patch)0
-rw-r--r--patches/server/1052-Improve-Registry.patch (renamed from patches/server/1053-Improve-Registry.patch)0
m---------work/Bukkit0
m---------work/CraftBukkit0
m---------work/Spigot0
524 files changed, 575 insertions, 619 deletions
diff --git a/patches/api/0006-Adventure.patch b/patches/api/0006-Adventure.patch
index 0e0f2b2ef1..a1e01fd4cc 100644
--- a/patches/api/0006-Adventure.patch
+++ b/patches/api/0006-Adventure.patch
@@ -1512,7 +1512,7 @@ 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 cd000a064732ebaa8802f3d7b7ba9bd7ba101f14..30dc2f85b60877930cab68230d3259ce92c08618 100644
+index 6e7d5545e0f79d81832ccd5c8405a70d8daa256f..d59acc729ad5af515b8ef4c98a3edeb440854820 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;
@@ -3601,27 +3601,27 @@ index 36b436e145a7215682b692a87ab894df25752c1d..c5e8bffef736365881953161ff812c98
return locale;
}
diff --git a/src/main/java/org/bukkit/event/player/PlayerLoginEvent.java b/src/main/java/org/bukkit/event/player/PlayerLoginEvent.java
-index 084ca8cfcb7381bfa4fa6280748cf9b81210a9c1..62fb782baad5c80a3daaa557c0faa674c58a98cf 100644
+index 2bc81b0aa73f7f5b0352121f6bf18fa63acf7a83..eaa0548cf430bf5b58ff84e0a4403c451699db28 100644
--- a/src/main/java/org/bukkit/event/player/PlayerLoginEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerLoginEvent.java
-@@ -17,7 +17,7 @@ public class PlayerLoginEvent extends PlayerEvent {
- private final InetAddress address;
+@@ -18,7 +18,7 @@ public class PlayerLoginEvent extends PlayerEvent {
+ private final InetAddress realAddress;
private final String hostname;
private Result result = Result.ALLOWED;
- private String message = "";
+ private net.kyori.adventure.text.Component message = net.kyori.adventure.text.Component.empty();
- private final InetAddress realAddress; // Spigot
/**
-@@ -53,12 +53,52 @@ public class PlayerLoginEvent extends PlayerEvent {
+ * This constructor defaults message to an empty string, and result to
+@@ -60,13 +60,53 @@ public class PlayerLoginEvent extends PlayerEvent {
* @param result The result status for this event
* @param message The message to be displayed if result denies login
* @param realAddress the actual, unspoofed connecting address
+ * @deprecated in favour of {@link #PlayerLoginEvent(Player, String, InetAddress, Result, net.kyori.adventure.text.Component, InetAddress)}
*/
+ @Deprecated // Paper
- public PlayerLoginEvent(@NotNull final Player player, @NotNull String hostname, @NotNull final InetAddress address, @NotNull final Result result, @NotNull final String message, @NotNull final InetAddress realAddress) { // Spigot
- this(player, hostname, address, realAddress); // Spigot
+ public PlayerLoginEvent(@NotNull final Player player, @NotNull String hostname, @NotNull final InetAddress address, @NotNull final Result result, @NotNull final String message, @NotNull final InetAddress realAddress) {
+ this(player, hostname, address, realAddress);
this.result = result;
+ this.message = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(message); // Paper
+ }
@@ -3638,12 +3638,12 @@ index 084ca8cfcb7381bfa4fa6280748cf9b81210a9c1..62fb782baad5c80a3daaa557c0faa674
+ * @param message The message to be displayed if result denies login
+ * @param realAddress the actual, unspoofed connecting address
+ */
-+ public PlayerLoginEvent(@NotNull final Player player, @NotNull String hostname, @NotNull final InetAddress address, @NotNull final Result result, @NotNull final net.kyori.adventure.text.Component message, @NotNull final InetAddress realAddress) { // Spigot
++ public PlayerLoginEvent(@NotNull final Player player, @NotNull String hostname, @NotNull final InetAddress address, @NotNull final Result result, @NotNull final net.kyori.adventure.text.Component message, @NotNull final InetAddress realAddress) {
+ this(player, hostname, address, realAddress); // Spigot
+ this.result = result;
-+ this.message = message;
-+ }
-+
+ this.message = message;
+ }
+
+ /**
+ * Gets the current kick message that will be used if getResult() !=
+ * Result.ALLOWED
@@ -3660,13 +3660,14 @@ index 084ca8cfcb7381bfa4fa6280748cf9b81210a9c1..62fb782baad5c80a3daaa557c0faa674
+ * @param message New kick message
+ */
+ public void kickMessage(net.kyori.adventure.text.@NotNull Component message) {
- this.message = message;
- }
++ this.message = message;
++ }
+ // Paper end
-
- // Spigot start
++
/**
-@@ -96,19 +136,23 @@ public class PlayerLoginEvent extends PlayerEvent {
+ * Gets the current result of the login, as an enum
+ *
+@@ -91,19 +131,23 @@ public class PlayerLoginEvent extends PlayerEvent {
* Result.ALLOWED
*
* @return Current kick message
@@ -3692,7 +3693,7 @@ index 084ca8cfcb7381bfa4fa6280748cf9b81210a9c1..62fb782baad5c80a3daaa557c0faa674
}
/**
-@@ -127,7 +171,7 @@ public class PlayerLoginEvent extends PlayerEvent {
+@@ -122,7 +166,7 @@ public class PlayerLoginEvent extends PlayerEvent {
*/
public void allow() {
result = Result.ALLOWED;
@@ -3701,7 +3702,7 @@ index 084ca8cfcb7381bfa4fa6280748cf9b81210a9c1..62fb782baad5c80a3daaa557c0faa674
}
/**
-@@ -135,8 +179,21 @@ public class PlayerLoginEvent extends PlayerEvent {
+@@ -130,8 +174,21 @@ public class PlayerLoginEvent extends PlayerEvent {
*
* @param result New result for disallowing the player
* @param message Kick message to display to the user
diff --git a/patches/api/0018-Add-view-distance-API.patch b/patches/api/0018-Add-view-distance-API.patch
index f607def8a0..823558c2f7 100644
--- a/patches/api/0018-Add-view-distance-API.patch
+++ b/patches/api/0018-Add-view-distance-API.patch
@@ -8,12 +8,12 @@ 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 30dc2f85b60877930cab68230d3259ce92c08618..2867faf0acbbbb2e99c5b503f0c6bc83f3bfe80f 100644
+index d59acc729ad5af515b8ef4c98a3edeb440854820..33f0cecdcd28efd721c58ebf1eb664bb5dba3803 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -2745,6 +2745,62 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
- int getSimulationDistance();
- // Spigot end
+@@ -2869,6 +2869,62 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+ @NotNull
+ public Set<FeatureFlag> getFeatureFlags();
+ // Paper start - view distance api
+ /**
@@ -71,11 +71,11 @@ index 30dc2f85b60877930cab68230d3259ce92c08618..2867faf0acbbbb2e99c5b503f0c6bc83
+ void setSendViewDistance(int viewDistance);
+ // Paper end - view distance api
+
- // Spigot start
- public class Spigot {
-
+ /**
+ * Represents various map environment types that a world may be
+ */
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 6cf37df9c12510846b40d37d71577de061d058de..6ed90056c16f8f3c0b844d378147397be94c3b58 100644
+index c03b5f24304d28a5ebabdf6301165cf04dd5176c..15d73986499cc190de925c1024cea6dfdf930065 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2391,6 +2391,78 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
diff --git a/patches/api/0027-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/patches/api/0027-Add-methods-for-working-with-arrows-stuck-in-living-.patch
index 5fda7e4691..54dd0c9e80 100644
--- a/patches/api/0027-Add-methods-for-working-with-arrows-stuck-in-living-.patch
+++ b/patches/api/0027-Add-methods-for-working-with-arrows-stuck-in-living-.patch
@@ -7,10 +7,10 @@ Upstream added methods for this so the original methods
are now deprecated
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index 7c82644de3c438f45476ac02ce2c51c6fdbd543a..390bb294d09389877937ee2c6c3f346e65dfb178 100644
+index 7879082361d0f5ef8a0f15547ed7ce990b41acc0..1fdbfb14eaef0550363c5dd9793f933d8ece16ac 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -215,12 +215,26 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -217,12 +217,26 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
*/
public int getArrowsInBody();
@@ -38,7 +38,7 @@ index 7c82644de3c438f45476ac02ce2c51c6fdbd543a..390bb294d09389877937ee2c6c3f346e
/**
* Returns the living entity's current maximum no damage ticks.
-@@ -722,4 +736,24 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -749,4 +763,24 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
* @return Whether the entity is invisible
*/
public boolean isInvisible();
diff --git a/patches/api/0056-Fix-upstream-javadocs.patch b/patches/api/0056-Fix-upstream-javadocs.patch
index b681a9b972..9059db33a6 100644
--- a/patches/api/0056-Fix-upstream-javadocs.patch
+++ b/patches/api/0056-Fix-upstream-javadocs.patch
@@ -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 f5a398aa5f7a7e6280167fd723f78f4d72e2b1dd..faedd3857023513340b6e9fc67b78c79e3989cbe 100644
+index 61639a865b8b8a845c78dcaf0a866082ef54bf63..f3607ab95f7f725283e8317c426dbc11bcc15cde 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -2659,7 +2659,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2673,7 +2673,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 f5a398aa5f7a7e6280167fd723f78f4d72e2b1dd..faedd3857023513340b6e9fc67b78c79
* temporarily freezing while locating an unexplored structure.
* <p>
* The {@code radius} is not a rigid square radius. Each structure may alter
-@@ -2693,7 +2693,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2707,7 +2707,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 f5a398aa5f7a7e6280167fd723f78f4d72e2b1dd..faedd3857023513340b6e9fc67b78c79
* temporarily freezing while locating an unexplored structure.
* <p>
* The {@code radius} is not a rigid square radius. Each structure may alter
-@@ -2726,7 +2726,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2740,7 +2740,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
@@ -386,7 +386,7 @@ 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 732acee61a0a0c894df1b040dfd1d8a05141b5c4..4fd0ec2d6e520f60d20832325a8d171125ed9eef 100644
+index 27d5503638d13ca2998ce4a4c6589ea62066128e..0c5f57e7530430de22a5eeb861032f04b2bc66c4 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
diff --git a/patches/api/0068-LivingEntity-setKiller.patch b/patches/api/0068-LivingEntity-setKiller.patch
index 632b924756..9131bc0504 100644
--- a/patches/api/0068-LivingEntity-setKiller.patch
+++ b/patches/api/0068-LivingEntity-setKiller.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity#setKiller
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index 390bb294d09389877937ee2c6c3f346e65dfb178..6a9df4ec0eee205bcd37de9c4d04a6c67eb21644 100644
+index 1fdbfb14eaef0550363c5dd9793f933d8ece16ac..f0dd1a3d2d03366de104ba7d07f19fc9a2221925 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -319,6 +319,15 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -321,6 +321,15 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@Nullable
public Player getKiller();
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 0e1ada1a98..4709adf7e9 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 58a15d8fd57d55848b37bfc8fffa101692efce87..93c46d40efd73293d84c7eaadf4e360cc3706e2a 100644
+index 27b6825a04e7857e7924ba32f9cc43e960edd238..89d948229eee47c90d078ffa26b019bfe24a8115 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -2841,7 +2841,57 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2855,7 +2855,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/0110-Make-shield-blocking-delay-configurable.patch b/patches/api/0110-Make-shield-blocking-delay-configurable.patch
index e7fe3e1f17..05583745a6 100644
--- a/patches/api/0110-Make-shield-blocking-delay-configurable.patch
+++ b/patches/api/0110-Make-shield-blocking-delay-configurable.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Make shield blocking delay configurable
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index 6a9df4ec0eee205bcd37de9c4d04a6c67eb21644..b470d86c00be238a430e64d349a247e2740cfeec 100644
+index f0dd1a3d2d03366de104ba7d07f19fc9a2221925..9be2901986b14bc4a66a25fa3be231e2738b3792 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -764,5 +764,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -791,5 +791,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
*/
@Deprecated
void setArrowsStuck(int arrows);
diff --git a/patches/api/0117-LivingEntity-Hand-Raised-Item-Use-API.patch b/patches/api/0117-LivingEntity-Hand-Raised-Item-Use-API.patch
index 7ceb852dcb..3454183313 100644
--- a/patches/api/0117-LivingEntity-Hand-Raised-Item-Use-API.patch
+++ b/patches/api/0117-LivingEntity-Hand-Raised-Item-Use-API.patch
@@ -20,10 +20,10 @@ index b3aa3dc6aa5afbc36cc86741b4cba56f463c2234..9e012c3c0671e5d0e55c243fdb4e1405
public ItemStack getItemInUse();
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index b470d86c00be238a430e64d349a247e2740cfeec..97d0f82041a229e85217a7e575bf003eddc31b70 100644
+index 9be2901986b14bc4a66a25fa3be231e2738b3792..3a2f5ba52c6be8930f7b411476b36afc161834c9 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -778,5 +778,42 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -805,5 +805,42 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
* @param delay Delay in ticks
*/
void setShieldBlockingDelay(int delay);
diff --git a/patches/api/0144-Add-ray-tracing-methods-to-LivingEntity.patch b/patches/api/0144-Add-ray-tracing-methods-to-LivingEntity.patch
index 53018a8cb6..40f75bfea1 100644
--- a/patches/api/0144-Add-ray-tracing-methods-to-LivingEntity.patch
+++ b/patches/api/0144-Add-ray-tracing-methods-to-LivingEntity.patch
@@ -78,10 +78,10 @@ index 0000000000000000000000000000000000000000..c896d172519a8552a132031cb956378d
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index 97d0f82041a229e85217a7e575bf003eddc31b70..8a18f269ee1767d57367160cb0e3513a4e2969fb 100644
+index 3a2f5ba52c6be8930f7b411476b36afc161834c9..b7bf0cc404634693d03c6700dc50c92697951c37 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -83,6 +83,98 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -85,6 +85,98 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@NotNull
public Block getTargetBlock(@Nullable Set<Material> transparent, int maxDistance);
diff --git a/patches/api/0156-Add-LivingEntity-getTargetEntity.patch b/patches/api/0156-Add-LivingEntity-getTargetEntity.patch
index d23917ea2f..d8cc204978 100644
--- a/patches/api/0156-Add-LivingEntity-getTargetEntity.patch
+++ b/patches/api/0156-Add-LivingEntity-getTargetEntity.patch
@@ -51,10 +51,10 @@ index 0000000000000000000000000000000000000000..af8765b213390cf75fe02a6eb68aecf7
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index 8a18f269ee1767d57367160cb0e3513a4e2969fb..79fdb183887cb8153254f6ac84a981a7ffcb561c 100644
+index b7bf0cc404634693d03c6700dc50c92697951c37..47c4096699bc0334eacf10b6403c4a4329797f0e 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -173,6 +173,77 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -175,6 +175,77 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@Deprecated(forRemoval = true)
@Nullable
public com.destroystokyo.paper.block.TargetBlockInfo getTargetBlockInfo(int maxDistance, @NotNull com.destroystokyo.paper.block.TargetBlockInfo.FluidMode fluidMode);
diff --git a/patches/api/0173-Fix-Spigot-annotation-mistakes.patch b/patches/api/0173-Fix-Spigot-annotation-mistakes.patch
index 40738d23c0..b85950c0d4 100644
--- a/patches/api/0173-Fix-Spigot-annotation-mistakes.patch
+++ b/patches/api/0173-Fix-Spigot-annotation-mistakes.patch
@@ -600,7 +600,7 @@ index e455eb21abf121dc6ff10ff8a13dd06f67096a8f..bbc01e7c192ae6689c301670047ff114
return origin;
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 561cfe701d76fa0c85cea4a76affa7e90de82da0..8a200ffe1851b24110c92bb3a9f7ffc39b8c63f2 100644
+index 313602704694c85bbac96b68deab67cd25f9913c..44ed5e72f17f156c9cf270fee31a9b80cf047a75 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
@@ -614,18 +614,15 @@ index 561cfe701d76fa0c85cea4a76affa7e90de82da0..8a200ffe1851b24110c92bb3a9f7ffc3
public boolean refreshChunk(int x, int z);
/**
-@@ -3762,6 +3761,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
- // Paper end - view distance api
+@@ -3704,6 +3703,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+ StructureSearchResult locateNearestStructure(@NotNull Location origin, @NotNull Structure structure, int radius, boolean findUnexplored);
// Spigot start
-+ /**
-+ * @deprecated Unsupported api
-+ */
-+ @Deprecated // Paper
++ @Deprecated(forRemoval = true) // Paper
public class Spigot {
/**
-@@ -3770,8 +3773,12 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -3712,8 +3712,12 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @param loc The location to strike lightning
* @param isSilent Whether this strike makes no sound
* @return The lightning entity.
@@ -638,7 +635,7 @@ index 561cfe701d76fa0c85cea4a76affa7e90de82da0..8a200ffe1851b24110c92bb3a9f7ffc3
public LightningStrike strikeLightning(@NotNull Location loc, boolean isSilent) {
throw new UnsupportedOperationException("Not supported yet.");
}
-@@ -3782,14 +3789,22 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -3724,14 +3728,22 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @param loc The location to strike lightning
* @param isSilent Whether this strike makes no sound
* @return The lightning entity.
@@ -661,7 +658,7 @@ index 561cfe701d76fa0c85cea4a76affa7e90de82da0..8a200ffe1851b24110c92bb3a9f7ffc3
Spigot spigot();
// Spigot end
-@@ -3920,9 +3935,9 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -3918,9 +3930,9 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* Gets the dimension ID of this environment
*
* @return dimension ID
@@ -673,7 +670,7 @@ index 561cfe701d76fa0c85cea4a76affa7e90de82da0..8a200ffe1851b24110c92bb3a9f7ffc3
public int getId() {
return id;
}
-@@ -3932,9 +3947,9 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -3930,9 +3942,9 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
*
* @param id The ID of the environment
* @return The environment
@@ -856,10 +853,10 @@ 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 79fdb183887cb8153254f6ac84a981a7ffcb561c..373b3ad6b3f94655289155914aec8294cd4f2fb2 100644
+index 47c4096699bc0334eacf10b6403c4a4329797f0e..f52ac8b1063806e63f81a2107c4272f05314472b 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -664,7 +664,9 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -666,7 +666,9 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
* This may have unexpected results if the entity is not in water.
*
* @param swimming True if the entity is swimming.
@@ -895,7 +892,7 @@ index 95c79c5fa0c4e30201f887da6467ce5f81c8a255..7f9c4d4b430a3f0276461346ff2621ba
/**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index bfed5759b4f4613e5143da41f5e82a37ab4f10a8..5e7fec90713e580801c1e98bccf4adc5e16b9c71 100644
+index e8d9b33f57b6eeb310662a63dde809ffaa49fcd2..b6ef3c47053747964289b99fc28be2e2452200b6 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1498,11 +1498,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
diff --git a/patches/api/0185-Entity-Jump-API.patch b/patches/api/0185-Entity-Jump-API.patch
index 8b32879e2d..f91e68f713 100644
--- a/patches/api/0185-Entity-Jump-API.patch
+++ b/patches/api/0185-Entity-Jump-API.patch
@@ -57,10 +57,10 @@ index 0000000000000000000000000000000000000000..f0067c2e953d18e1a33536980071ba3f
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index 373b3ad6b3f94655289155914aec8294cd4f2fb2..c18899e276eff043128794f27ca57cadaf41f439 100644
+index f52ac8b1063806e63f81a2107c4272f05314472b..1f1aa4c7499e8ab2fc43b12939021c8c9b683d29 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -980,5 +980,25 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -1007,5 +1007,25 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
*/
@NotNull
org.bukkit.inventory.EquipmentSlot getHandRaised();
diff --git a/patches/api/0210-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/api/0210-Add-playPickupItemAnimation-to-LivingEntity.patch
index 08b1135ece..fcf6596753 100644
--- a/patches/api/0210-Add-playPickupItemAnimation-to-LivingEntity.patch
+++ b/patches/api/0210-Add-playPickupItemAnimation-to-LivingEntity.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add playPickupItemAnimation to LivingEntity
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index c18899e276eff043128794f27ca57cadaf41f439..d53bc45dbec1b399d4df2aa87a2f2c490c4a6788 100644
+index 1f1aa4c7499e8ab2fc43b12939021c8c9b683d29..a8fac70ec7158fd14cd72714fed3b4df2f8d8223 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -1000,5 +1000,28 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -1027,5 +1027,28 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
* @param jumping entity jump state
*/
void setJumping(boolean jumping);
diff --git a/patches/api/0225-Add-LivingEntity-clearActiveItem.patch b/patches/api/0225-Add-LivingEntity-clearActiveItem.patch
index 7bc93949fb..25828d4700 100644
--- a/patches/api/0225-Add-LivingEntity-clearActiveItem.patch
+++ b/patches/api/0225-Add-LivingEntity-clearActiveItem.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add LivingEntity#clearActiveItem
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index d53bc45dbec1b399d4df2aa87a2f2c490c4a6788..b830a5f4ebc4cacebc1e86c571c1dfb0293cc1b0 100644
+index a8fac70ec7158fd14cd72714fed3b4df2f8d8223..92a84d28f06c4a95fe0d5b2a3c1f73f0b07839d5 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -951,6 +951,13 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -978,6 +978,13 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@NotNull
org.bukkit.inventory.ItemStack getActiveItem();
diff --git a/patches/api/0230-Expose-LivingEntity-hurt-direction.patch b/patches/api/0230-Expose-LivingEntity-hurt-direction.patch
index 4af40bdf52..0ac54144f4 100644
--- a/patches/api/0230-Expose-LivingEntity-hurt-direction.patch
+++ b/patches/api/0230-Expose-LivingEntity-hurt-direction.patch
@@ -26,10 +26,10 @@ index 94f2c3167f4ce7f5f2b4ecc067739c64af0a2508..4054d2c836342f0e4bcbd33adb13f50d
* Get the sleep ticks of the player. This value may be capped.
*
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index b830a5f4ebc4cacebc1e86c571c1dfb0293cc1b0..9763cf4720e1278061e3ba139b824147e9540945 100644
+index 92a84d28f06c4a95fe0d5b2a3c1f73f0b07839d5..2d634e03c14d9f6fdc767e7dfe35e8ae0088cee9 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -1030,5 +1030,21 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -1057,5 +1057,21 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
* @param quantity quantity of item
*/
void playPickupItemAnimation(@NotNull Item item, int quantity);
diff --git a/patches/api/0272-More-World-API.patch b/patches/api/0272-More-World-API.patch
index 1c79ad1a4b..3c429371d9 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 dd498e3ba46bd001028f7f9f94e18de42e875ff6..8735a0a359450a6cbea44c1b01c85a4135ba1f86 100644
+index 81b4e5764f68ef38938e645ca8180fc5ce263811..3fecfdebe43e3b543725a43f73465ae9ea030a0c 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -3769,6 +3769,122 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -3783,6 +3783,122 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
StructureSearchResult locateNearestStructure(@NotNull Location origin, @NotNull Structure structure, int radius, boolean findUnexplored);
@@ -129,5 +129,5 @@ index dd498e3ba46bd001028f7f9f94e18de42e875ff6..8735a0a359450a6cbea44c1b01c85a41
+ // Paper end
+
// Spigot start
- /**
- * Returns the view distance used for this world.
+ @Deprecated(forRemoval = true) // Paper
+ public class Spigot {
diff --git a/patches/api/0297-Add-more-line-of-sight-methods.patch b/patches/api/0297-Add-more-line-of-sight-methods.patch
index 987e135331..3265a08048 100644
--- a/patches/api/0297-Add-more-line-of-sight-methods.patch
+++ b/patches/api/0297-Add-more-line-of-sight-methods.patch
@@ -23,10 +23,10 @@ index d8b1fa79dc24138dc71e32c14bda71c1d570ed88..b68367f123f029c3ff47eab6bfabd7a8
// Paper end
}
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index 9763cf4720e1278061e3ba139b824147e9540945..b665b99ca6de3a35c3296a500db1527a8513a711 100644
+index 2d634e03c14d9f6fdc767e7dfe35e8ae0088cee9..ef31d309ec21174aafe54a219440bf8508fd0ac8 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -570,6 +570,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -572,6 +572,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
*/
public boolean hasLineOfSight(@NotNull Entity other);
diff --git a/patches/api/0300-Missing-Entity-API.patch b/patches/api/0300-Missing-Entity-API.patch
index 5a408bea2a..c6f1f30f26 100644
--- a/patches/api/0300-Missing-Entity-API.patch
+++ b/patches/api/0300-Missing-Entity-API.patch
@@ -569,10 +569,10 @@ 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 b665b99ca6de3a35c3296a500db1527a8513a711..56a59bfee3138bfb93cbb85c5d8b86e3aa977b05 100644
+index ef31d309ec21174aafe54a219440bf8508fd0ac8..adf2870ab81b6ff8f595e11b55f043c4fd51281e 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -971,6 +971,57 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -998,6 +998,57 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
void clearActiveItem();
// Paper end
diff --git a/patches/api/0304-Stinger-API.patch b/patches/api/0304-Stinger-API.patch
index 7e540e5ba4..e293eaaad1 100644
--- a/patches/api/0304-Stinger-API.patch
+++ b/patches/api/0304-Stinger-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Stinger API
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index 56a59bfee3138bfb93cbb85c5d8b86e3aa977b05..4c1c87c07735eecc2a1eaef2da77d3fe636adefb 100644
+index adf2870ab81b6ff8f595e11b55f043c4fd51281e..3be060731b9b2df3408e8c5627a3640262cdc4d5 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -399,6 +399,36 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -401,6 +401,36 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
*/
void setArrowsInBody(int count, boolean fireEvent); // Paper
diff --git a/patches/api/0383-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch b/patches/api/0383-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch
index 86203fb4c3..9b15846bae 100644
--- a/patches/api/0383-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch
+++ b/patches/api/0383-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add LivingEntity#swingHand(EquipmentSlot) convenience method
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index 4c1c87c07735eecc2a1eaef2da77d3fe636adefb..ac87b7a28553425dc45af11ac6f5089f5197ce20 100644
+index 3be060731b9b2df3408e8c5627a3640262cdc4d5..f9fe94d2bbfb5cd31ecc706e114be566fef7698a 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -1140,5 +1140,23 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -1167,5 +1167,23 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
*/
@Deprecated
void setHurtDirection(float hurtDirection);
diff --git a/patches/api/0384-Add-entity-knockback-API.patch b/patches/api/0384-Add-entity-knockback-API.patch
index 263f278b1b..85f9522acf 100644
--- a/patches/api/0384-Add-entity-knockback-API.patch
+++ b/patches/api/0384-Add-entity-knockback-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add entity knockback API
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index ac87b7a28553425dc45af11ac6f5089f5197ce20..eced9bfd35aa822b1ba141ea60e603bca5a137f8 100644
+index f9fe94d2bbfb5cd31ecc706e114be566fef7698a..98956d13ac767cca447f53c10f1b1fedafad7fbf 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -1158,5 +1158,17 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -1185,5 +1185,17 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
this.swingOffHand();
}
}
diff --git a/patches/api/0391-ItemStack-damage-API.patch b/patches/api/0391-ItemStack-damage-API.patch
index 3617adca85..5e29a328f8 100644
--- a/patches/api/0391-ItemStack-damage-API.patch
+++ b/patches/api/0391-ItemStack-damage-API.patch
@@ -8,10 +8,10 @@ to simulate damage done to an itemstack and all
the logic associated with damaging them
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index eced9bfd35aa822b1ba141ea60e603bca5a137f8..088f42f294784e14f4478255193f4fd40cba4e53 100644
+index 98956d13ac767cca447f53c10f1b1fedafad7fbf..c0e31ebbb41bd3013fe4a1609dd9af754434736d 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -1170,5 +1170,52 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -1197,5 +1197,52 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
* @param directionZ The relative z position of the knockback source direction
*/
void knockback(double strength, double directionX, double directionZ);
diff --git a/patches/api/0393-Friction-API.patch b/patches/api/0393-Friction-API.patch
index bc522bb0bc..0129149291 100644
--- a/patches/api/0393-Friction-API.patch
+++ b/patches/api/0393-Friction-API.patch
@@ -59,10 +59,10 @@ index d0bef15785493b512ff0f7414c1d58d38fead581..58017fce436cdbda255f7172fbdadb72
/**
* Gets the item stack associated with this item drop.
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index 088f42f294784e14f4478255193f4fd40cba4e53..4682df5d422c24c2d145bd28bc3d0fa8b1cd6ce8 100644
+index c0e31ebbb41bd3013fe4a1609dd9af754434736d..b6df5fd8eda6a30c119b3fa3844e6bb0425e2f39 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable;
+@@ -27,7 +27,7 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a living entity, such as a monster or player
*/
diff --git a/patches/api/0405-Add-Entity-Body-Yaw-API.patch b/patches/api/0405-Add-Entity-Body-Yaw-API.patch
index 668bb93956..2b57ada010 100644
--- a/patches/api/0405-Add-Entity-Body-Yaw-API.patch
+++ b/patches/api/0405-Add-Entity-Body-Yaw-API.patch
@@ -53,10 +53,10 @@ index c9139bb7abc881fddd2d5610d9506cd4fce7eba3..bb1ed1e16bd17161bbf554acc03d1e32
// 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 4682df5d422c24c2d145bd28bc3d0fa8b1cd6ce8..bd5e53372ce860924f5403dca6b0c45878a9e4d2 100644
+index b6df5fd8eda6a30c119b3fa3844e6bb0425e2f39..0b4cd106265c6c675bd27cd66a275a48217a7419 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -1217,5 +1217,21 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -1244,5 +1244,21 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
* @param amount the amount of damage to do
*/
void damageItemStack(org.bukkit.inventory.@NotNull EquipmentSlot slot, int amount);
diff --git a/patches/api/0415-Add-method-to-remove-all-active-potion-effects.patch b/patches/api/0415-Add-method-to-remove-all-active-potion-effects.patch
index 016fec1d59..09aa3084a1 100644
--- a/patches/api/0415-Add-method-to-remove-all-active-potion-effects.patch
+++ b/patches/api/0415-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/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index bd5e53372ce860924f5403dca6b0c45878a9e4d2..a599ed2795ba1baf2cbb465d1c7145580c27e1ea 100644
+index 0b4cd106265c6c675bd27cd66a275a48217a7419..e68c71047b2bc1b456c380db25b3ff376852b4a9 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
-@@ -589,6 +589,15 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
+@@ -591,6 +591,15 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@NotNull
public Collection<PotionEffect> getActivePotionEffects();
diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch
index e98ce154f1..912cf207d3 100644
--- a/patches/server/0009-MC-Utils.patch
+++ b/patches/server/0009-MC-Utils.patch
@@ -6365,10 +6365,10 @@ index 1641bdf8725df778ba91bf5cd22c1ebbb3745058..facfdbb87e89f4db33ce13233c2ba436
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df8040ded627b 100644
+index f083356fe490ecebdc1486784f4833d778b816f4..a4d1136fcd75ecdf2cbd7af591d4acb4dfd248ba 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -167,6 +167,62 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -168,6 +168,62 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
};
// CraftBukkit end
@@ -6431,7 +6431,7 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
public ChunkMap(ServerLevel world, LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, StructureTemplateManager structureTemplateManager, Executor executor, BlockableEventLoop<Runnable> mainThreadExecutor, LightChunkGetter chunkProvider, ChunkGenerator chunkGenerator, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier<DimensionDataStorage> persistentStateManagerFactory, int viewDistance, boolean dsync) {
super(session.getDimensionPath(world.dimension()).resolve("region"), dataFixer, dsync);
this.visibleChunkMap = this.updatingChunkMap.clone();
-@@ -220,7 +276,19 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -221,7 +277,19 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.overworldDataStorage = persistentStateManagerFactory;
this.poiManager = new PoiManager(path.resolve("poi"), dataFixer, dsync, iregistrycustom, world);
this.setServerViewDistance(viewDistance);
@@ -6451,7 +6451,7 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
protected ChunkGenerator generator() {
return this.generator;
-@@ -321,6 +389,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -322,6 +390,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
}
@@ -6467,7 +6467,7 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
private CompletableFuture<Either<List<ChunkAccess>, ChunkHolder.ChunkLoadingFailure>> getChunkRangeFuture(ChunkHolder centerChunk, int margin, IntFunction<ChunkStatus> distanceToStatus) {
if (margin == 0) {
ChunkStatus chunkstatus = (ChunkStatus) distanceToStatus.apply(0);
-@@ -417,9 +494,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -418,9 +495,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
};
stringbuilder.append("Updating:").append(System.lineSeparator());
@@ -6479,7 +6479,7 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
CrashReport crashreport = CrashReport.forThrowable(exception, "Chunk loading");
CrashReportCategory crashreportsystemdetails = crashreport.addCategory("Chunk loading");
-@@ -461,8 +538,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -462,8 +539,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
holder.setTicketLevel(level);
} else {
holder = new ChunkHolder(new ChunkPos(pos), level, this.level, this.lightEngine, this.queueSorter, this);
@@ -6494,7 +6494,7 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
this.updatingChunkMap.put(pos, holder);
this.modified = true;
}
-@@ -484,7 +567,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -485,7 +568,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
protected void saveAllChunks(boolean flush) {
if (flush) {
@@ -6503,7 +6503,7 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
MutableBoolean mutableboolean = new MutableBoolean();
do {
-@@ -513,7 +596,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -514,7 +597,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
});
this.flushWorker();
} else {
@@ -6512,7 +6512,7 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
}
}
-@@ -532,7 +615,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -533,7 +616,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
public boolean hasWork() {
@@ -6521,7 +6521,7 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
}
private void processUnloads(BooleanSupplier shouldKeepTicking) {
-@@ -543,6 +626,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -544,6 +627,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
ChunkHolder playerchunk = (ChunkHolder) this.updatingChunkMap.remove(j);
if (playerchunk != null) {
@@ -6529,7 +6529,7 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
this.pendingUnloads.put(j, playerchunk);
this.modified = true;
++i;
-@@ -560,7 +644,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -561,7 +645,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
int l = 0;
@@ -6538,7 +6538,7 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
while (l < 20 && shouldKeepTicking.getAsBoolean() && objectiterator.hasNext()) {
if (this.saveChunkIfNeeded((ChunkHolder) objectiterator.next())) {
-@@ -578,7 +662,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -579,7 +663,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
if (completablefuture1 != completablefuture) {
this.scheduleUnload(pos, holder);
} else {
@@ -6551,7 +6551,7 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
if (ichunkaccess instanceof LevelChunk) {
((LevelChunk) ichunkaccess).setLoaded(false);
}
-@@ -594,7 +682,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -595,7 +683,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.lightEngine.tryScheduleUpdate();
this.progressListener.onStatusChange(ichunkaccess.getPos(), (ChunkStatus) null);
this.chunkSaveCooldowns.remove(ichunkaccess.getPos().toLong());
@@ -6562,7 +6562,7 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
}
};
-@@ -1037,7 +1127,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1038,7 +1128,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
public int size() {
@@ -6571,7 +6571,7 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
}
public DistanceManager getDistanceManager() {
-@@ -1045,19 +1135,19 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1046,19 +1136,19 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
protected Iterable<ChunkHolder> getChunks() {
@@ -6596,7 +6596,7 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
Optional<ChunkAccess> optional = Optional.ofNullable(playerchunk.getLastAvailable());
Optional<LevelChunk> optional1 = optional.flatMap((ichunkaccess) -> {
return ichunkaccess instanceof LevelChunk ? Optional.of((LevelChunk) ichunkaccess) : Optional.empty();
-@@ -1182,6 +1272,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1183,6 +1273,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
player.setChunkTrackingView(ChunkTrackingView.EMPTY);
this.updateChunkTracking(player);
@@ -6604,7 +6604,7 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
} else {
SectionPos sectionposition = player.getLastSectionPos();
-@@ -1190,6 +1281,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1191,6 +1282,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.distanceManager.removePlayer(sectionposition, player);
}
@@ -6612,7 +6612,7 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
this.applyChunkTrackingView(player, ChunkTrackingView.EMPTY);
}
-@@ -1241,6 +1333,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1242,6 +1334,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.updateChunkTracking(player);
}
@@ -6620,7 +6620,7 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
}
private void updateChunkTracking(ServerPlayer player) {
-@@ -1493,7 +1586,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1494,7 +1587,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
private class ChunkDistanceManager extends DistanceManager {
protected ChunkDistanceManager(Executor workerExecutor, Executor mainThreadExecutor) {
@@ -6630,13 +6630,13 @@ index e80b251ca2cf4e1bad1f914380bf08f8a1471380..770f6a08c613093577172385549df804
@Override
diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java
-index 1bfa33253a154c66dc8b7e476c777b74cda8999f..d8b83c8c89143d78620f812c491a1950e3218eb1 100644
+index 2a805b9e67b7a05dda5f9caa4b63b28c940828d0..42f9f28726bc6ef09ab877ecf663b4caa5003a3a 100644
--- a/src/main/java/net/minecraft/server/level/DistanceManager.java
+++ b/src/main/java/net/minecraft/server/level/DistanceManager.java
@@ -56,8 +56,9 @@ public abstract class DistanceManager {
final Executor mainThreadExecutor;
private long ticketTickCounter;
- private int simulationDistance = 10;
+ public int simulationDistance = 10;
+ private final ChunkMap chunkMap; // Paper
- protected DistanceManager(Executor workerExecutor, Executor mainThreadExecutor) {
@@ -7093,7 +7093,7 @@ index 9cf839be15126444d4d2ffdb7faa637859941d6b..3bd2bddb782d29e647a1f1b362a39d22
public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey<Level> resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List<CustomSpawner> list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) {
// IRegistryCustom.Dimension iregistrycustom_dimension = minecraftserver.registryAccess(); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 11a5b918520043bf047d3610a9e79ecc3a7fab47..c8e016135ad80a892b48a6a338c24cfd757a5f10 100644
+index e89125da8e53cbfaa9ec5c6e56de2f7e8466c99f..a721e9cd0958d7fceed1aba8ae55fefed4e6a887 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -259,6 +259,8 @@ public class ServerPlayer extends Player {
@@ -7204,7 +7204,7 @@ index 06d015dd8b14008f3fe2fae5005a4d41be26346b..d0f1cd32aa71f275c9975d1cedc8895f
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 a2dfb248d73c8031f2f0ae55f5fa20bb95629fd9..c2c3fa92235c365f4e4a8bdffa3295e32ebd8d16 100644
+index 7fda861b1c2fc7246f2df8d199b4e8bbe55bc647..b71b702471599fc8f1de42919ade8ee6a4e6247c 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 {
@@ -7387,7 +7387,7 @@ index 3c707d6674b2594b09503b959a31c1f4ad3981e6..db61b6b0158a9bcc0e1d735e34fe3671
public BlockState getBlockState(BlockPos pos) {
return Blocks.AIR.defaultBlockState();
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 50ea733f42d0f06a62b55e61b0c73995896b0d6a..915c1dfae28ccac02d5ebb97d5cf797c66d2c8e4 100644
+index 81fbc18b0cd9bc443555001947796342be4123b8..9f8f9dea26e55f8785d3702c1e3d83f6f87358bb 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -93,6 +93,7 @@ import org.bukkit.craftbukkit.CraftServer;
@@ -7855,10 +7855,10 @@ index 98836000cbca2a21649cb8f2a466986373405ea1..bbbf6dd8e566ecdca8794e3b03765fe7
return false;
} else {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index c0c0e704f67124b333e54ac72444d6265d1fbafb..c4936130274d5e4512decea691e151dbc2c9ff54 100644
+index e124f481304bf65eb5b110db41005fa0cb69d835..8bc43dde03f461d9f7470c521f47e959d07cde67 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -246,8 +246,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -245,8 +245,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public Chunk[] getLoadedChunks() {
@@ -7869,7 +7869,7 @@ index c0c0e704f67124b333e54ac72444d6265d1fbafb..c4936130274d5e4512decea691e151db
}
@Override
-@@ -322,7 +322,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -321,7 +321,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean refreshChunk(int x, int z) {
@@ -7878,7 +7878,7 @@ index c0c0e704f67124b333e54ac72444d6265d1fbafb..c4936130274d5e4512decea691e151db
if (playerChunk == null) return false;
playerChunk.getTickingChunkFuture().thenAccept(either -> {
-@@ -2030,4 +2030,32 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2027,4 +2027,32 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return this.spigot;
}
// Spigot end
@@ -7912,7 +7912,7 @@ index c0c0e704f67124b333e54ac72444d6265d1fbafb..c4936130274d5e4512decea691e151db
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 0b369866a31efa8bd86a6927e83cfec06fcbedcc..c65f9f63f7eff2c3acb3339a75da58b7b1550682 100644
+index 70165d287156f46b793eb23dd30b601289c0ffb1..758bf988432bb34aad9386e3f4e8bba68891660b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -897,4 +897,37 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch
index 1b9816dd11..978296fb1b 100644
--- a/patches/server/0010-Adventure.patch
+++ b/patches/server/0010-Adventure.patch
@@ -2703,7 +2703,7 @@ index 729849caf3e3cb542d5c4097a568c5fadeff0f6d..1eb0809addfd77303b94bb594701ee7f
public boolean logIPs() {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index c8e016135ad80a892b48a6a338c24cfd757a5f10..b403b7d585f474e2b6029404d19e756a40206f7f 100644
+index a721e9cd0958d7fceed1aba8ae55fefed4e6a887..d53c25ed96cfea839a5ad3531092d63478f6b869 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -162,6 +162,7 @@ import net.minecraft.world.damagesource.CombatTracker;
@@ -3494,10 +3494,10 @@ index 0a39f95c77f0a2015200bb95b17eee9cbe95c416..67e90e18793852baf6dbd1aa41351a69
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index c4936130274d5e4512decea691e151dbc2c9ff54..bb60804a77ecda3c86ccf54e028e634f8d7f141d 100644
+index 8bc43dde03f461d9f7470c521f47e959d07cde67..1ae3d9fc4ed6bba1881079b86b965e2f51bcb5e2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -156,6 +156,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -155,6 +155,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);
@@ -3505,7 +3505,7 @@ index c4936130274d5e4512decea691e151dbc2c9ff54..bb60804a77ecda3c86ccf54e028e634f
private static final Random rand = new Random();
-@@ -1637,6 +1638,39 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1646,6 +1647,39 @@ public class CraftWorld extends CraftRegionAccessor implements World {
entityTracker.broadcastAndSend(packet);
}
}
@@ -3545,7 +3545,7 @@ index c4936130274d5e4512decea691e151dbc2c9ff54..bb60804a77ecda3c86ccf54e028e634f
private static Map<String, GameRules.Key<?>> gamerules;
public static synchronized Map<String, GameRules.Key<?>> getGameRulesNMS() {
-@@ -2057,5 +2091,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2054,5 +2088,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return ret;
}
@@ -3833,10 +3833,10 @@ index d4724c812f8b7322ad59dc0695d01ceb47772dc4..4747d77fd5fd12116ef40d897a08c7ba
return this.signText;
diff --git a/src/main/java/org/bukkit/craftbukkit/command/CraftBlockCommandSender.java b/src/main/java/org/bukkit/craftbukkit/command/CraftBlockCommandSender.java
-index 59771cbfefeba8b582cd16dcf72c4ec177781a54..ab4142dfb23fc3bcf225f487f81bfdce035d8778 100644
+index f2e8b63d787754c0a92441dcc9eb39dffdc1e280..9feae61fe02cbc624581ef0bd4c60af636407367 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/CraftBlockCommandSender.java
+++ b/src/main/java/org/bukkit/craftbukkit/command/CraftBlockCommandSender.java
-@@ -45,6 +45,18 @@ public class CraftBlockCommandSender extends ServerCommandSender implements Bloc
+@@ -61,6 +61,18 @@ public class CraftBlockCommandSender extends ServerCommandSender implements Bloc
return this.block.getTextName();
}
@@ -3854,7 +3854,7 @@ index 59771cbfefeba8b582cd16dcf72c4ec177781a54..ab4142dfb23fc3bcf225f487f81bfdce
+
@Override
public boolean isOp() {
- return true;
+ return CraftBlockCommandSender.SHARED_PERM.isOp();
diff --git a/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java b/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java
index f3cb4102ab223f379f60dac317df7da1fab812a8..324e6d1a4fadd3e557e4ba05f04e6a5891cc54df 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java
@@ -3922,18 +3922,18 @@ index 53d6950ad270ba901de5226b9daecb683248ad05..3e7d14564f11a3ed0b0766444e9d6818
public boolean isPermissionSet(String name) {
return this.getCaller().isPermissionSet(name);
diff --git a/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java b/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java
-index 8107ed0d248ff2a1cf8e556b7610a68f6c197691..eaff8df6c8c12c64e005a68a02e2e35ed88f757c 100644
+index 1e82312c24cb752d63b165926861fc178cd7849b..7f22950ae61436e91a59cd29a345809c42bbe739 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java
+++ b/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java
-@@ -14,6 +14,7 @@ import org.bukkit.plugin.Plugin;
+@@ -13,6 +13,7 @@ import org.bukkit.plugin.Plugin;
+
public abstract class ServerCommandSender implements CommandSender {
- private static PermissibleBase blockPermInst;
private final PermissibleBase perm;
+ private net.kyori.adventure.pointer.Pointers adventure$pointers; // Paper - implement pointers
- public ServerCommandSender() {
- if (this instanceof CraftBlockCommandSender) {
-@@ -134,4 +135,18 @@ public abstract class ServerCommandSender implements CommandSender {
+ protected ServerCommandSender() {
+ this.perm = new PermissibleBase(this);
+@@ -130,4 +131,18 @@ public abstract class ServerCommandSender implements CommandSender {
return this.spigot;
}
// Spigot end
@@ -3970,7 +3970,7 @@ index 6f95a6bf27af151aec38bb2bd6fa657acc1c62e9..b54bd4e85042955448a2e76b379d370e
@Override
public boolean equals(Object other) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index c65f9f63f7eff2c3acb3339a75da58b7b1550682..fa66a1c6c26f8952478edcf6d7d0598d64d9111c 100644
+index 758bf988432bb34aad9386e3f4e8bba68891660b..e269812e6193492afc3f25612edafa1a58325fa3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -66,6 +66,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -4085,7 +4085,7 @@ 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 429bbe15f8b04a57108f311a9cc198ed5c5a45c5..c683afd09f03188638983bbdbe271a7e407a3efe 100644
+index d5e56ed0a1bef50c0c715a7877f43fbc80dcaa44..af299f1e8a090758dea933647a4322f8f57d0aef 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 {
@@ -4329,7 +4329,7 @@ index 429bbe15f8b04a57108f311a9cc198ed5c5a45c5..c683afd09f03188638983bbdbe271a7e
@Override
public void removeResourcePack(UUID id) {
Preconditions.checkArgument(id != null, "Resource pack id cannot be null");
-@@ -2136,6 +2255,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2135,6 +2254,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return (this.getHandle().requestedViewDistance() == 0) ? Bukkit.getViewDistance() : this.getHandle().requestedViewDistance();
}
@@ -4342,7 +4342,7 @@ index 429bbe15f8b04a57108f311a9cc198ed5c5a45c5..c683afd09f03188638983bbdbe271a7e
@Override
public int getPing() {
return this.getHandle().connection.latency();
-@@ -2186,6 +2311,252 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2185,6 +2310,252 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().allowsListing();
}
@@ -5043,7 +5043,7 @@ index cc588fb207062829637adad79129ca91950496cb..8b27ca7606869798486c3afd03e86205
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 8aa5a8404dcbb83f88ef60c74c4aeb339231adc8..9d779d899eaed1122b70a2aa40eb7950d26b45de 100644
+index 1f375990bae26abc744b3f110ecfc371ab3c3145..9e74a28d77c4c91ad46750d924a3e0789683a875 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -750,6 +750,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/0014-Timings-v2.patch b/patches/server/0014-Timings-v2.patch
index 66e5f92692..ab5ad174d4 100644
--- a/patches/server/0014-Timings-v2.patch
+++ b/patches/server/0014-Timings-v2.patch
@@ -974,7 +974,7 @@ index 4b303d8acc663cfd3b86e37f4a3110d5335d07ad..cb95818bfb5f0a9274b4e0f2530000bf
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index 770f6a08c613093577172385549df8040ded627b..c1bb511cc25ca97282ee02d2b207e2940279c190 100644
+index a4d1136fcd75ecdf2cbd7af591d4acb4dfd248ba..17af50aa1ab310a5f0f221e2cd4e9e902c28a092 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1,8 +1,10 @@
@@ -988,7 +988,7 @@ index 770f6a08c613093577172385549df8040ded627b..c1bb511cc25ca97282ee02d2b207e294
import com.google.common.collect.Lists;
import com.google.common.collect.Queues;
import com.google.common.collect.Sets;
-@@ -896,6 +898,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -897,6 +899,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
ChunkStatus chunkstatus = ChunkLevel.generationStatus(chunkHolder.getTicketLevel());
return !chunkstatus.isOrAfter(ChunkStatus.FULL) ? ChunkHolder.UNLOADED_CHUNK : either.mapLeft((ichunkaccess) -> {
@@ -996,7 +996,7 @@ index 770f6a08c613093577172385549df8040ded627b..c1bb511cc25ca97282ee02d2b207e294
ChunkPos chunkcoordintpair = chunkHolder.getPos();
ProtoChunk protochunk = (ProtoChunk) ichunkaccess;
LevelChunk chunk;
-@@ -920,6 +923,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -921,6 +924,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
return chunk;
@@ -1004,7 +1004,7 @@ index 770f6a08c613093577172385549df8040ded627b..c1bb511cc25ca97282ee02d2b207e294
});
}, (runnable) -> {
ProcessorHandle mailbox = this.mainThreadMailbox;
-@@ -1471,6 +1475,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1472,6 +1476,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
List<ServerPlayer> list = Lists.newArrayList();
List<ServerPlayer> list1 = this.level.players();
ObjectIterator objectiterator = this.entityMap.values().iterator();
@@ -1012,7 +1012,7 @@ index 770f6a08c613093577172385549df8040ded627b..c1bb511cc25ca97282ee02d2b207e294
ChunkMap.TrackedEntity playerchunkmap_entitytracker;
-@@ -1495,14 +1500,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1496,14 +1501,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
playerchunkmap_entitytracker.serverEntity.sendChanges();
}
}
@@ -1391,7 +1391,7 @@ 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 c2c3fa92235c365f4e4a8bdffa3295e32ebd8d16..4afd257f30ab063c4805e8a3144f51d643c49db3 100644
+index b71b702471599fc8f1de42919ade8ee6a4e6247c..2e47008a8ff1bb56b752d4eb880173b9edfbc4ad 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;
@@ -1472,7 +1472,7 @@ index c2c3fa92235c365f4e4a8bdffa3295e32ebd8d16..4afd257f30ab063c4805e8a3144f51d6
if (!this.level().isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) {
this.hurt(this.damageSources().drown(), 1.0F);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 915c1dfae28ccac02d5ebb97d5cf797c66d2c8e4..26fe1603b3899f5b69980dc64d46d26d9c944fde 100644
+index 9f8f9dea26e55f8785d3702c1e3d83f6f87358bb..6e3bdcea55490b23066ab90966698e59847cdffa 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -91,7 +91,6 @@ import org.bukkit.Bukkit;
@@ -1501,7 +1501,7 @@ index 915c1dfae28ccac02d5ebb97d5cf797c66d2c8e4..26fe1603b3899f5b69980dc64d46d26d
this.entityLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.entityMaxTickTime);
this.tileLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.tileMaxTickTime);
}
-@@ -725,15 +724,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -718,15 +717,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
this.timings.tileEntityTick.stopTiming(); // Spigot
this.tickingBlockEntities = false;
@@ -1817,10 +1817,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 c683afd09f03188638983bbdbe271a7e407a3efe..ea7eb5019b5332469f8c1b51ccfe97de206bcb0c 100644
+index af299f1e8a090758dea933647a4322f8f57d0aef..cf8a5b3ba642d4829725bc488c074b1b3b142867 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2632,6 +2632,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2631,6 +2631,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));
}
diff --git a/patches/server/0016-Starlight.patch b/patches/server/0016-Starlight.patch
index cf99fc1857..bc4087d8e0 100644
--- a/patches/server/0016-Starlight.patch
+++ b/patches/server/0016-Starlight.patch
@@ -4493,10 +4493,10 @@ index facfdbb87e89f4db33ce13233c2ba4366d35c15b..807a6bb1026dac2c4cd0a50afe06fd62
private final DebugBuffer<ChunkHolder.ChunkSaveDebug> chunkToSaveHistory;
public int oldTicketLevel;
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index c1bb511cc25ca97282ee02d2b207e2940279c190..1fcfff903a9423512f1fc6c997b67597e4e2831d 100644
+index 17af50aa1ab310a5f0f221e2cd4e9e902c28a092..5ae30cd3af88c4f4179a4dc0c94906cfbfb7ff29 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -124,7 +124,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -125,7 +125,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
private final LongSet entitiesInLevel;
public final ServerLevel level;
private final ThreadedLevelLightEngine lightEngine;
@@ -4506,7 +4506,7 @@ index c1bb511cc25ca97282ee02d2b207e2940279c190..1fcfff903a9423512f1fc6c997b67597
private final RandomState randomState;
private final ChunkGeneratorStructureState chunkGeneratorState;
diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java
-index d8b83c8c89143d78620f812c491a1950e3218eb1..f3c9a3dbb6f0e6f825b7477c89ed72ed52845419 100644
+index 42f9f28726bc6ef09ab877ecf663b4caa5003a3a..0bd05d7a8f2a388c28ddcf3f07db5b0648dddeea 100644
--- a/src/main/java/net/minecraft/server/level/DistanceManager.java
+++ b/src/main/java/net/minecraft/server/level/DistanceManager.java
@@ -386,7 +386,7 @@ public abstract class DistanceManager {
diff --git a/patches/server/0018-Rewrite-chunk-system.patch b/patches/server/0018-Rewrite-chunk-system.patch
index 3f90c6b20a..314fd26a31 100644
--- a/patches/server/0018-Rewrite-chunk-system.patch
+++ b/patches/server/0018-Rewrite-chunk-system.patch
@@ -17518,10 +17518,10 @@ index 807a6bb1026dac2c4cd0a50afe06fd62ce23558b..2b998bdbe49bf8211b755e0eb7c1bf13
// Paper end
}
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a287fa0e9 100644
+index 5ae30cd3af88c4f4179a4dc0c94906cfbfb7ff29..5a653dffecd3877c84ac8197e1ef4b7bbc9820ce 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -118,10 +118,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -119,10 +119,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
public static final int MIN_VIEW_DISTANCE = 2;
public static final int MAX_VIEW_DISTANCE = 32;
public static final int FORCED_TICKET_LEVEL = ChunkLevel.byStatus(FullChunkStatus.ENTITY_TICKING);
@@ -17533,7 +17533,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
public final ServerLevel level;
private final ThreadedLevelLightEngine lightEngine;
public final BlockableEventLoop<Runnable> mainThreadExecutor; // Paper - public
-@@ -130,16 +127,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -131,16 +128,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
private final ChunkGeneratorStructureState chunkGeneratorState;
public final Supplier<DimensionDataStorage> overworldDataStorage;
private final PoiManager poiManager;
@@ -17553,9 +17553,9 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
private final String storageName;
private final PlayerMap playerMap;
public final Int2ObjectMap<ChunkMap.TrackedEntity> entityMap;
-@@ -148,26 +143,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -149,27 +144,6 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
private final Queue<Runnable> unloadQueue;
- private int serverViewDistance;
+ public int serverViewDistance;
- // CraftBukkit start - recursion-safe executor for Chunk loadCallback() and unloadCallback()
- public final CallbackExecutor callbackExecutor = new CallbackExecutor();
@@ -17577,11 +17577,11 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
- }
- };
- // CraftBukkit end
-+ // Paper - rewrite chunk system
-
+-
// Paper start - distance maps
private final com.destroystokyo.paper.util.misc.PooledLinkedHashSets<ServerPlayer> pooledLinkedPlayerHashSets = new com.destroystokyo.paper.util.misc.PooledLinkedHashSets<>();
-@@ -177,6 +153,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+
+@@ -178,6 +152,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
int chunkZ = io.papermc.paper.util.MCUtil.getChunkCoordinate(player.getZ());
// Note: players need to be explicitly added to distance maps before they can be updated
this.nearbyPlayers.addPlayer(player);
@@ -17589,7 +17589,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
}
void removePlayerFromDistanceMaps(ServerPlayer player) {
-@@ -184,6 +161,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -185,6 +160,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
int chunkZ = io.papermc.paper.util.MCUtil.getChunkCoordinate(player.getZ());
// Note: players need to be explicitly added to distance maps before they can be updated
this.nearbyPlayers.removePlayer(player);
@@ -17597,7 +17597,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
}
void updateMaps(ServerPlayer player) {
-@@ -191,6 +169,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -192,6 +168,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
int chunkZ = io.papermc.paper.util.MCUtil.getChunkCoordinate(player.getZ());
// Note: players need to be explicitly added to distance maps before they can be updated
this.nearbyPlayers.tickPlayer(player);
@@ -17605,7 +17605,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
}
// Paper end
// Paper start
-@@ -220,17 +199,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -221,17 +198,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
public final ChunkHolder getUnloadingChunkHolder(int chunkX, int chunkZ) {
@@ -17625,7 +17625,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
this.tickingGenerated = new AtomicInteger();
this.playerMap = new PlayerMap();
this.entityMap = new Int2ObjectOpenHashMap();
-@@ -261,19 +237,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -262,19 +236,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.chunkGeneratorState = chunkGenerator.createState(iregistrycustom.lookupOrThrow(Registries.STRUCTURE_SET), this.randomState, j, world.spigotConfig); // Spigot
this.mainThreadExecutor = mainThreadExecutor;
@@ -17650,7 +17650,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
this.distanceManager = new ChunkMap.ChunkDistanceManager(executor, mainThreadExecutor);
this.overworldDataStorage = persistentStateManagerFactory;
this.poiManager = new PoiManager(path.resolve("poi"), dataFixer, dsync, iregistrycustom, world);
-@@ -325,23 +299,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -326,23 +298,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
boolean isChunkTracked(ServerPlayer player, int chunkX, int chunkZ) {
@@ -17680,7 +17680,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
}
protected ThreadedLevelLightEngine getLightEngine() {
-@@ -350,20 +316,22 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -351,20 +315,22 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@Nullable
protected ChunkHolder getUpdatingChunkIfPresent(long pos) {
@@ -17710,7 +17710,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
}
public String getChunkDebugData(ChunkPos chunkPos) {
-@@ -393,92 +361,12 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -394,92 +360,12 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Paper start
public final int getEffectiveViewDistance() {
@@ -17805,7 +17805,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
}
public ReportedException debugFuturesAndCreateReportedException(IllegalStateException exception, String details) {
-@@ -508,263 +396,72 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -509,263 +395,72 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
public CompletableFuture<Either<LevelChunk, ChunkHolder.ChunkLoadingFailure>> prepareEntityTickingChunk(ChunkHolder chunk) {
@@ -18089,7 +18089,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
return nbt.contains("Status", 8);
}
-@@ -800,54 +497,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -801,54 +496,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
private CompletableFuture<Either<ChunkAccess, ChunkHolder.ChunkLoadingFailure>> scheduleChunkGeneration(ChunkHolder holder, ChunkStatus requiredStatus) {
@@ -18145,7 +18145,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
}
protected void releaseLightTicket(ChunkPos pos) {
-@@ -858,7 +508,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -859,7 +507,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}));
}
@@ -18154,7 +18154,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
ChunkStatus chunkstatus1;
if (distance == 0) {
-@@ -870,7 +520,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -871,7 +519,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
return chunkstatus1;
}
@@ -18163,7 +18163,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
if (!nbt.isEmpty()) {
// CraftBukkit start - these are spawned serialized (DefinedStructure) and we don't call an add event below at the moment due to ordering complexities
world.addWorldGenChunkEntities(EntityType.loadEntitiesRecursive(nbt, world).filter((entity) -> {
-@@ -885,111 +535,27 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -886,111 +534,27 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
needsRemoval = true;
}
return !needsRemoval;
@@ -18280,7 +18280,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
}
public int getTickingGenerated() {
-@@ -997,130 +563,52 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -998,130 +562,52 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
private boolean saveChunkIfNeeded(ChunkHolder chunkHolder) {
@@ -18428,7 +18428,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
}
@Nullable
-@@ -1143,30 +631,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1144,30 +630,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
void dumpChunks(Writer writer) throws IOException {
@@ -18460,7 +18460,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
}
private static String printFuture(CompletableFuture<Either<LevelChunk, ChunkHolder.ChunkLoadingFailure>> future) {
-@@ -1185,6 +650,35 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1186,6 +649,35 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
}
@@ -18496,7 +18496,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
private CompletableFuture<Optional<CompoundTag>> readChunk(ChunkPos chunkPos) {
return this.read(chunkPos).thenApplyAsync((optional) -> {
return optional.map((nbttagcompound) -> this.upgradeChunkTag(nbttagcompound, chunkPos)); // CraftBukkit
-@@ -1274,8 +768,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1275,8 +767,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.distanceManager.addPlayer(SectionPos.of((EntityAccess) player), player);
}
@@ -18506,7 +18506,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
this.addPlayerToDistanceMaps(player); // Paper - distance maps
} else {
SectionPos sectionposition = player.getLastSectionPos();
-@@ -1286,7 +779,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1287,7 +778,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
this.removePlayerFromDistanceMaps(player); // Paper - distance maps
@@ -18515,7 +18515,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
}
}
-@@ -1334,73 +827,30 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1335,73 +826,30 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.playerMap.unIgnorePlayer(player);
}
@@ -18599,7 +18599,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
}
public void addEntity(Entity entity) {
-@@ -1464,13 +914,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1465,13 +913,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
protected void tick() {
@@ -18614,7 +18614,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
List<ServerPlayer> list = Lists.newArrayList();
List<ServerPlayer> list1 = this.level.players();
-@@ -1579,16 +1023,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1580,16 +1022,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
public void waitForLightBeforeSending(ChunkPos centerPos, int radius) {
@@ -18632,7 +18632,7 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
}
private class ChunkDistanceManager extends DistanceManager {
-@@ -1599,7 +1034,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1600,7 +1033,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@Override
protected boolean isChunkToRemove(long pos) {
@@ -18642,10 +18642,10 @@ index 1fcfff903a9423512f1fc6c997b67597e4e2831d..e580df88baadfd943756b1e440c7253a
@Nullable
diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java
-index f3c9a3dbb6f0e6f825b7477c89ed72ed52845419..942042863f0105769c15b865d4d98a09a7053a68 100644
+index 0bd05d7a8f2a388c28ddcf3f07db5b0648dddeea..b01006ade4750f60ceba951812bbc6e2ca04bf9c 100644
--- a/src/main/java/net/minecraft/server/level/DistanceManager.java
+++ b/src/main/java/net/minecraft/server/level/DistanceManager.java
-@@ -39,65 +39,28 @@ import org.slf4j.Logger;
+@@ -39,67 +39,29 @@ import org.slf4j.Logger;
public abstract class DistanceManager {
@@ -18672,7 +18672,7 @@ index f3c9a3dbb6f0e6f825b7477c89ed72ed52845419..942042863f0105769c15b865d4d98a09
- final LongSet ticketsToRelease = new LongOpenHashSet();
- final Executor mainThreadExecutor;
- private long ticketTickCounter;
-- private int simulationDistance = 10;
+- public int simulationDistance = 10;
+ // Paper - rewrite chunk system
private final ChunkMap chunkMap; // Paper
@@ -18719,9 +18719,11 @@ index f3c9a3dbb6f0e6f825b7477c89ed72ed52845419..942042863f0105769c15b865d4d98a09
-
+ this.getChunkHolderManager().tick(); // Paper - rewrite chunk system
}
-
+-
private static int getTicketLevelAt(SortedArraySet<Ticket<?>> tickets) {
-@@ -113,108 +76,25 @@ public abstract class DistanceManager {
+ return !tickets.isEmpty() ? ((Ticket) tickets.first()).getTicketLevel() : ChunkLevel.MAX_LEVEL + 1;
+ }
+@@ -113,108 +75,25 @@ public abstract class DistanceManager {
protected abstract ChunkHolder updateChunkScheduling(long pos, int level, @Nullable ChunkHolder holder, int k);
public boolean runAllUpdates(ChunkMap chunkStorage) {
@@ -18837,7 +18839,7 @@ index f3c9a3dbb6f0e6f825b7477c89ed72ed52845419..942042863f0105769c15b865d4d98a09
}
public <T> void addRegionTicket(TicketType<T> type, ChunkPos pos, int radius, T argument) {
-@@ -223,13 +103,7 @@ public abstract class DistanceManager {
+@@ -223,13 +102,7 @@ public abstract class DistanceManager {
}
public <T> boolean addRegionTicketAtDistance(TicketType<T> tickettype, ChunkPos chunkcoordintpair, int i, T t0) {
@@ -18852,7 +18854,7 @@ index f3c9a3dbb6f0e6f825b7477c89ed72ed52845419..942042863f0105769c15b865d4d98a09
}
public <T> void removeRegionTicket(TicketType<T> type, ChunkPos pos, int radius, T argument) {
-@@ -238,31 +112,21 @@ public abstract class DistanceManager {
+@@ -238,31 +111,21 @@ public abstract class DistanceManager {
}
public <T> boolean removeRegionTicketAtDistance(TicketType<T> tickettype, ChunkPos chunkcoordintpair, int i, T t0) {
@@ -18889,7 +18891,7 @@ index f3c9a3dbb6f0e6f825b7477c89ed72ed52845419..942042863f0105769c15b865d4d98a09
}
}
-@@ -271,12 +135,10 @@ public abstract class DistanceManager {
+@@ -271,12 +134,10 @@ public abstract class DistanceManager {
ChunkPos chunkcoordintpair = pos.chunk();
long i = chunkcoordintpair.toLong();
@@ -18905,7 +18907,7 @@ index f3c9a3dbb6f0e6f825b7477c89ed72ed52845419..942042863f0105769c15b865d4d98a09
}
public void removePlayer(SectionPos pos, ServerPlayer player) {
-@@ -289,46 +151,44 @@ public abstract class DistanceManager {
+@@ -289,46 +150,44 @@ public abstract class DistanceManager {
if (objectset.isEmpty()) {
this.playersPerChunk.remove(i);
this.naturalSpawnChunkCounter.update(i, Integer.MAX_VALUE, false);
@@ -18967,7 +18969,7 @@ index f3c9a3dbb6f0e6f825b7477c89ed72ed52845419..942042863f0105769c15b865d4d98a09
}
public int getNaturalSpawnChunkCount() {
-@@ -342,103 +202,28 @@ public abstract class DistanceManager {
+@@ -342,103 +201,28 @@ public abstract class DistanceManager {
}
public String getDebugStatus() {
@@ -18999,8 +19001,7 @@ index f3c9a3dbb6f0e6f825b7477c89ed72ed52845419..942042863f0105769c15b865d4d98a09
- } catch (Throwable throwable1) {
- throwable.addSuppressed(throwable1);
- }
-+ // Paper - rewrite chunk system
-
+-
- throw throwable;
- }
-
@@ -19010,7 +19011,8 @@ index f3c9a3dbb6f0e6f825b7477c89ed72ed52845419..942042863f0105769c15b865d4d98a09
- }
-
- }
--
++ // Paper - rewrite chunk system
+
- @VisibleForTesting
- TickingTracker tickingTracker() {
- return this.tickingTicketsTracker;
@@ -19078,7 +19080,7 @@ index f3c9a3dbb6f0e6f825b7477c89ed72ed52845419..942042863f0105769c15b865d4d98a09
private class ChunkTicketTracker extends ChunkTracker {
private static final int MAX_LEVEL = ChunkLevel.MAX_LEVEL + 1;
-@@ -485,6 +270,7 @@ public abstract class DistanceManager {
+@@ -485,6 +269,7 @@ public abstract class DistanceManager {
return this.runUpdates(distance);
}
}
@@ -19086,7 +19088,7 @@ index f3c9a3dbb6f0e6f825b7477c89ed72ed52845419..942042863f0105769c15b865d4d98a09
private class FixedPlayerDistanceChunkTracker extends ChunkTracker {
-@@ -564,6 +350,7 @@ public abstract class DistanceManager {
+@@ -564,6 +349,7 @@ public abstract class DistanceManager {
}
}
@@ -19094,7 +19096,7 @@ index f3c9a3dbb6f0e6f825b7477c89ed72ed52845419..942042863f0105769c15b865d4d98a09
private class PlayerTicketTracker extends DistanceManager.FixedPlayerDistanceChunkTracker {
private int viewDistance = 0;
-@@ -659,4 +446,5 @@ public abstract class DistanceManager {
+@@ -659,4 +445,5 @@ public abstract class DistanceManager {
return distance <= this.viewDistance;
}
}
@@ -20112,7 +20114,7 @@ index 3851c1026b91b77a02dbb5df1a1eedb212ac2a06..0653b5abc89d0c5a54566e3e518cfd29
return crashreportsystemdetails;
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index b403b7d585f474e2b6029404d19e756a40206f7f..b6939932a4b8800c8751125a4a6d4dcea39110c1 100644
+index d53c25ed96cfea839a5ad3531092d63478f6b869..48c1dd9015f9c9b9e4b8eb202a8f50d72c4e5929 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -265,6 +265,50 @@ public class ServerPlayer extends Player {
@@ -21065,7 +21067,7 @@ index b6a3c75b84d9f768afee33aa0f226207b307c1c0..2ec2b1d9d987c7f31c685aec3d3c87f4
<T extends Entity> List<T> getEntities(EntityTypeTest<Entity, T> filter, AABB box, Predicate<? super T> predicate);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 26fe1603b3899f5b69980dc64d46d26d9c944fde..2922b90241e81245dbd56c53ab2eb661314c04fd 100644
+index 6e3bdcea55490b23066ab90966698e59847cdffa..edf40e3fea58d0978311dd9e2d14e99bc7036593 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -456,6 +456,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -21080,7 +21082,7 @@ index 26fe1603b3899f5b69980dc64d46d26d9c944fde..2922b90241e81245dbd56c53ab2eb661
}
if ((i & 1) != 0) {
-@@ -823,7 +828,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -816,7 +821,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
return this.capturedTileEntities.get(blockposition);
}
// CraftBukkit end
@@ -21089,7 +21091,7 @@ index 26fe1603b3899f5b69980dc64d46d26d9c944fde..2922b90241e81245dbd56c53ab2eb661
}
public void setBlockEntity(BlockEntity blockEntity) {
-@@ -914,26 +919,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -907,26 +912,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) {
this.getProfiler().incrementCounter("getEntities");
List<Entity> list = Lists.newArrayList();
@@ -21117,7 +21119,7 @@ index 26fe1603b3899f5b69980dc64d46d26d9c944fde..2922b90241e81245dbd56c53ab2eb661
return list;
}
-@@ -951,34 +937,23 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -944,34 +930,23 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public <T extends Entity> void getEntities(EntityTypeTest<Entity, T> filter, AABB box, Predicate<? super T> predicate, List<? super T> result, int limit) {
this.getProfiler().incrementCounter("getEntities");
@@ -21168,7 +21170,7 @@ index 26fe1603b3899f5b69980dc64d46d26d9c944fde..2922b90241e81245dbd56c53ab2eb661
}
@Nullable
-@@ -1250,4 +1225,45 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -1243,4 +1218,45 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
private ExplosionInteraction() {}
}
@@ -21235,7 +21237,7 @@ index cc0d20e9f851268fe8403ac516f426ec1d008150..12eaafdbd324fa36b3f46c3b644bc811
@Nullable default ChunkAccess getChunkIfLoadedImmediately(BlockPos pos) { return this.getChunkIfLoadedImmediately(pos.getX() >> 4, pos.getZ() >> 4);}
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 f739a175e26f250c652c73b8985158fe37c2823a..5f4fa76fe3a1a0a4fc11064fcf57bfab20bd9729 100644
+index b2f9429e0d437cf70bf56410e163e957b80ebdf1..e124ae2711bcd4681fe0b41bd266de67bef8344f 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
@@ -114,7 +114,7 @@ public abstract class ChunkGenerator {
@@ -22692,10 +22694,10 @@ index 836a388dbbc1987272aba6604a5b61acabe441b5..cf05dd46b17e69e09b97d955e9c2198e
// Paper start - Adventure
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index bb60804a77ecda3c86ccf54e028e634f8d7f141d..1f160036b433c5d1fb8ed1f94adefccab7a85bc7 100644
+index 1ae3d9fc4ed6bba1881079b86b965e2f51bcb5e2..6ca2e661381f546b424396922c62d9e4698dbf0e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -326,10 +326,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -325,10 +325,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
ChunkHolder playerChunk = this.world.getChunkSource().chunkMap.getVisibleChunkIfPresent(ChunkPos.asLong(x, z));
if (playerChunk == null) return false;
@@ -22713,7 +22715,7 @@ index bb60804a77ecda3c86ccf54e028e634f8d7f141d..1f160036b433c5d1fb8ed1f94adefcca
ClientboundLevelChunkWithLightPacket refreshPacket = new ClientboundLevelChunkWithLightPacket(chunk, this.world.getLightEngine(), null, null);
for (ServerPlayer player : playersInRange) {
-@@ -337,8 +341,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -336,8 +340,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
player.connection.send(refreshPacket);
}
@@ -22723,7 +22725,7 @@ index bb60804a77ecda3c86ccf54e028e634f8d7f141d..1f160036b433c5d1fb8ed1f94adefcca
return true;
}
-@@ -415,20 +418,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -414,20 +417,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public Collection<Plugin> getPluginChunkTickets(int x, int z) {
DistanceManager chunkDistanceManager = this.world.getChunkSource().chunkMap.distanceManager;
@@ -22745,7 +22747,7 @@ index bb60804a77ecda3c86ccf54e028e634f8d7f141d..1f160036b433c5d1fb8ed1f94adefcca
}
@Override
-@@ -436,7 +426,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -435,7 +425,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Map<Plugin, ImmutableList.Builder<Chunk>> ret = new HashMap<>();
DistanceManager chunkDistanceManager = this.world.getChunkSource().chunkMap.distanceManager;
@@ -22754,20 +22756,19 @@ index bb60804a77ecda3c86ccf54e028e634f8d7f141d..1f160036b433c5d1fb8ed1f94adefcca
long chunkKey = chunkTickets.getLongKey();
SortedArraySet<Ticket<?>> tickets = chunkTickets.getValue();
-@@ -2024,14 +2014,53 @@ public class CraftWorld extends CraftRegionAccessor implements World {
- // Spigot start
+@@ -1036,13 +1026,52 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+
@Override
public int getViewDistance() {
-- return this.world.spigotConfig.viewDistance;
+- return this.world.getChunkSource().chunkMap.serverViewDistance;
+ return this.getHandle().playerChunkLoader.getAPIViewDistance(); // Paper - replace player chunk loader
}
@Override
public int getSimulationDistance() {
-- return this.world.spigotConfig.simulationDistance;
+- return this.world.getChunkSource().chunkMap.getDistanceManager().simulationDistance;
+ return this.getHandle().playerChunkLoader.getAPITickDistance(); // Paper - replace player chunk loader
- }
- // Spigot end
++ }
+ // Paper start - view distance api
+ @Override
+ public void setViewDistance(int viewDistance) {
@@ -22805,13 +22806,13 @@ index bb60804a77ecda3c86ccf54e028e634f8d7f141d..1f160036b433c5d1fb8ed1f94adefcca
+ @Override
+ public void setSendViewDistance(int viewDistance) {
+ this.getHandle().chunkSource.chunkMap.setSendViewDistance(viewDistance); // Paper - replace player chunk loader
-+ }
+ }
+ // Paper end - view distance api
- // Spigot start
- private final org.bukkit.World.Spigot spigot = new org.bukkit.World.Spigot()
+ public BlockMetadataStore getBlockMetadata() {
+ return this.blockMetadata;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 2f05361e8c086e07de2ff18bc5136fb9e8d62399..2dbc49b944ce318ec5081e3ec421efa1ff24c615 100644
+index cf8a5b3ba642d4829725bc488c074b1b3b142867..29cefb53474080d5e524ae54e9295dd11aa6546d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -195,6 +195,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0030-Player-affects-spawning-API.patch b/patches/server/0030-Player-affects-spawning-API.patch
index fad17e0d37..9501f491a1 100644
--- a/patches/server/0030-Player-affects-spawning-API.patch
+++ b/patches/server/0030-Player-affects-spawning-API.patch
@@ -137,10 +137,10 @@ index 2ec2b1d9d987c7f31c685aec3d3c87f42758c94b..36d793b492d9776ee36f8285b5bab09e
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 f06ae63a1fb102647d16adc44adf25dc9ff8d03a..c6c4a50bc9d8dbba4c8e5980417e93e190f25d42 100644
+index 29cefb53474080d5e524ae54e9295dd11aa6546d..e1647bc92cc3a7e887cacb8d204ffb120114ff05 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2313,6 +2313,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2312,6 +2312,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().language;
}
diff --git a/patches/server/0034-Prevent-tile-entity-and-entity-crashes.patch b/patches/server/0034-Prevent-tile-entity-and-entity-crashes.patch
index 2caae68b5e..db4ac8359d 100644
--- a/patches/server/0034-Prevent-tile-entity-and-entity-crashes.patch
+++ b/patches/server/0034-Prevent-tile-entity-and-entity-crashes.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Prevent tile entity and entity crashes
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 9369e0346a6b511a332d54577c781c3d2c2b5c86..8bfab45b506aa514956a99354a7dc5009ffa9cbf 100644
+index e4f8318efc90f37aa478122865d0383d39896603..e68e6b5df3606cee5a14a00c5451963191ac2cd8 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -739,11 +739,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -732,11 +732,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
try {
tickConsumer.accept(entity);
} catch (Throwable throwable) {
diff --git a/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch
index 6d84f80c88..6687981a36 100644
--- a/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch
+++ b/patches/server/0045-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 bf89ea0f7506434848cb9c1cbfb3fe6dd2eb3212..686b42a9b4475fe3d530a9b950c1cc8f04717a65 100644
+index ee35514f0bfb0499e8aab7ce702bd2e2ef09d5db..917175e54ac8979659bbfb2c2cf06431f63e01df 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 bf89ea0f7506434848cb9c1cbfb3fe6dd2eb3212..686b42a9b4475fe3d530a9b950c1cc8f
// 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 9f1ab39b333ef51ed41a80d5d513a7c1d30d92f9..e22a75c78faeec35f8fbe310e8c28da5e8a8ec10 100644
+index 7aa9787b96862e427cfd0011bccc0895b0c8f4cd..49d0e2988d2267c4721d8ce37a96eb1d3944ea5a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2311,7 +2311,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2310,7 +2310,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {
diff --git a/patches/server/0049-Disable-spigot-tick-limiters.patch b/patches/server/0049-Disable-spigot-tick-limiters.patch
index 466a034f88..d70dcfc316 100644
--- a/patches/server/0049-Disable-spigot-tick-limiters.patch
+++ b/patches/server/0049-Disable-spigot-tick-limiters.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Disable spigot tick limiters
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index cf081c6d270053b7d9a042b65495fe17f0ee4826..ac169632113c3d2177910723ce920cd9a4f7af66 100644
+index 989425423bb4dab3fe57ab9407bc0676675dada0..8be40065d6f0d53d5a264464fc4be208c7bad3a9 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -705,9 +705,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -18,4 +18,4 @@ index cf081c6d270053b7d9a042b65495fe17f0ee4826..ac169632113c3d2177910723ce920cd9
+ for (tileTickPosition = 0; tileTickPosition < this.blockEntityTickers.size(); tileTickPosition++) { // Paper - Disable tick limiters
this.tileTickPosition = (this.tileTickPosition < this.blockEntityTickers.size()) ? this.tileTickPosition : 0;
TickingBlockEntity tickingblockentity = (TickingBlockEntity) this.blockEntityTickers.get(this.tileTickPosition);
- // Spigot start
+ // Spigot end
diff --git a/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch b/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch
index c7e83e469b..46b700c322 100644
--- a/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch
+++ b/patches/server/0055-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 ffaab4f83e416503206fef34cc69dc14b1295884..f4e70fa2f74d15bdc7669d0ce0b2dc2c824fffb7 100644
+index bad29a542e31a6fe2c75bfd008653ca6aa409df8..5825f942db3b9870631ff093708dee0e930fccc8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -102,7 +102,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -101,7 +101,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@Override
public void setHealth(double health) {
health = (float) health;
diff --git a/patches/server/0060-Add-exception-reporting-event.patch b/patches/server/0060-Add-exception-reporting-event.patch
index 656dbd786d..f70ac64ff5 100644
--- a/patches/server/0060-Add-exception-reporting-event.patch
+++ b/patches/server/0060-Add-exception-reporting-event.patch
@@ -88,7 +88,7 @@ index c6fb4c33d7ea52b88d8fc0d90748cbab7387c565..fed09b886f4fa0006d160e5f2abb00df
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index ac169632113c3d2177910723ce920cd9a4f7af66..5c42b38ab337a3fd4e4b4ac8d0aa2db43540446c 100644
+index 8be40065d6f0d53d5a264464fc4be208c7bad3a9..9a39bf50668340a77bbfd45218c03d9c00a6ce1e 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1,5 +1,10 @@
@@ -102,7 +102,7 @@ index ac169632113c3d2177910723ce920cd9a4f7af66..5c42b38ab337a3fd4e4b4ac8d0aa2db4
import com.google.common.collect.Lists;
import com.mojang.serialization.Codec;
import java.io.IOException;
-@@ -741,6 +746,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -734,6 +739,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
// Paper start - Prevent tile entity and entity crashes
final String msg = String.format("Entity threw exception at %s:%s,%s,%s", entity.level().getWorld().getName(), entity.getX(), entity.getY(), entity.getZ());
MinecraftServer.LOGGER.error(msg, throwable);
diff --git a/patches/server/0062-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/patches/server/0062-Add-methods-for-working-with-arrows-stuck-in-living-.patch
index 81e23560bd..fee4d4dd6e 100644
--- a/patches/server/0062-Add-methods-for-working-with-arrows-stuck-in-living-.patch
+++ b/patches/server/0062-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 f4e70fa2f74d15bdc7669d0ce0b2dc2c824fffb7..a51a3aed4a55e251da04544a4a59059d73b615d8 100644
+index 5825f942db3b9870631ff093708dee0e930fccc8..b93d03c1af8b82c009c3f6007cc30e888f6764e0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -267,9 +267,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -266,9 +266,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
}
@Override
@@ -27,7 +27,7 @@ index f4e70fa2f74d15bdc7669d0ce0b2dc2c824fffb7..a51a3aed4a55e251da04544a4a59059d
}
@Override
-@@ -787,4 +793,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -786,4 +792,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
this.getHandle().persistentInvisibility = invisible;
this.getHandle().setSharedFlag(5, invisible);
}
diff --git a/patches/server/0068-Handle-Item-Meta-Inconsistencies.patch b/patches/server/0068-Handle-Item-Meta-Inconsistencies.patch
index fa53958ae4..38e06d033b 100644
--- a/patches/server/0068-Handle-Item-Meta-Inconsistencies.patch
+++ b/patches/server/0068-Handle-Item-Meta-Inconsistencies.patch
@@ -168,7 +168,7 @@ index 7278ac809eff364e8b838d63a2ec1291493869f8..7dd0c000fa7f363997178ffa6de7d39e
static Map<Enchantment, Integer> getEnchantments(net.minecraft.world.item.ItemStack item) {
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 9d779d899eaed1122b70a2aa40eb7950d26b45de..78762a410ece8bca16382975222d026ad010bca2 100644
+index 9e74a28d77c4c91ad46750d924a3e0789683a875..89dac1d16a90717e6a99d41e8ea04810f78fdee4 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -6,6 +6,7 @@ import com.google.common.collect.ImmutableList;
@@ -216,7 +216,7 @@ index 9d779d899eaed1122b70a2aa40eb7950d26b45de..78762a410ece8bca16382975222d026a
@@ -308,7 +311,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
this.blockData = meta.blockData;
- if (meta.enchantments != null) { // Spigot
+ if (meta.enchantments != null) {
- this.enchantments = new LinkedHashMap<Enchantment, Integer>(meta.enchantments);
+ this.enchantments = new EnchantmentMap(meta.enchantments); // Paper
}
@@ -271,7 +271,7 @@ index 9d779d899eaed1122b70a2aa40eb7950d26b45de..78762a410ece8bca16382975222d026a
}
if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) {
-@@ -1228,7 +1231,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1226,7 +1229,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
clone.customModelData = this.customModelData;
clone.blockData = this.blockData;
if (this.enchantments != null) {
@@ -280,7 +280,7 @@ index 9d779d899eaed1122b70a2aa40eb7950d26b45de..78762a410ece8bca16382975222d026a
}
if (this.hasAttributeModifiers()) {
clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers);
-@@ -1470,4 +1473,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1468,4 +1471,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return CraftMetaItem.HANDLED_TAGS;
}
}
diff --git a/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch
index b83d29972a..6d75ae43ca 100644
--- a/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch
+++ b/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch
@@ -5,7 +5,7 @@ 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 b76ac10fe0d4b860a4b30fae365cf38400afb456..1e2d3040bb3e8b1901fbc933caa5ad3b82d3468c 100644
+index 497cd74cd6efc4ad3679fd1a7489ebd194030835..52c895bf50d722c81ab08c5f53c2bc1212ab5ef3 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 {
@@ -44,10 +44,10 @@ index b76ac10fe0d4b860a4b30fae365cf38400afb456..1e2d3040bb3e8b1901fbc933caa5ad3b
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 5fef370f164e78a336cfe598aee15e277dd6b946..de0102ef932e062eb3d7aba3a0805b6e261e673c 100644
+index babd5dd5a83682d2bc36f988f008e788257b4157..a40d4d486ed674aae6ff319879c2ca2b2e4ce2cb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2233,6 +2233,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2232,6 +2232,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setRealHealth(double health) {
diff --git a/patches/server/0124-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/server/0124-Provide-E-TE-Chunk-count-stat-methods.patch
index 5dba64c536..d88b54d76a 100644
--- a/patches/server/0124-Provide-E-TE-Chunk-count-stat-methods.patch
+++ b/patches/server/0124-Provide-E-TE-Chunk-count-stat-methods.patch
@@ -7,7 +7,7 @@ Provides counts without the ineffeciency of using .getEntities().size()
which creates copy of the collections.
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index e774f7930090e10889f13e8193d15e44a3b7637f..c6e56303ec8ee466a6de7e6bd76c4f6814e8db30 100644
+index 720d1f9efffbc5fc74c31899f103e599aa4d3acf..2afa7c73836ddbad936cb98bde241cb91acc11b2 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -119,7 +119,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -20,10 +20,10 @@ index e774f7930090e10889f13e8193d15e44a3b7637f..c6e56303ec8ee466a6de7e6bd76c4f68
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 1f160036b433c5d1fb8ed1f94adefccab7a85bc7..0d9a491487c098b37331a9b94605993118fae403 100644
+index 0a7774c4b10e6b53a78d0e7f8fdc9dceb4c95a0e..5652d7b30c7c22daef128fa49dc9dda20d2ca96b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -158,6 +158,56 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -157,6 +157,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/0126-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/patches/server/0126-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
index 5cd2e63537..4d403c9440 100644
--- a/patches/server/0126-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
+++ b/patches/server/0126-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
@@ -133,7 +133,7 @@ index 59bad6c92cc421dd05c7315e2ab694a669433ab4..627fcf000f40e1bda025da874c447a99
@Override
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 043c42d303970920f40bd65a90c147192ed6900b..0b6dce5015144cadee3dc856b7e0d152aa66aca3 100644
+index 1cf4bcb7dcba93c93ad27f10a34b23f616ec9b3f..77a4122cf5a11b29b14a7fc4ac6420ccea49af1b 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 {
@@ -324,14 +324,14 @@ index e72ed2ed8664cbc408cbe1e38f1f0acacc3841dd..2f628f36c32752d1bac910e180b90639
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
-index f07cff6e72094c5f7c6248b4f738d3c26ea35160..4e7c37c384116ddb9525994428e1bfac35b4a85e 100644
+index c5547988e8e4ec5f1d090d264e14556f490d4e31..5dde575e1341d05ecd52f4bb810cd1cce7c487a5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
@@ -363,7 +363,7 @@ public final class CraftEntityTypes {
return item;
}));
register(new EntityTypeData<>(EntityType.EXPERIENCE_ORB, ExperienceOrb.class, CraftExperienceOrb::new,
-- spawnData -> new net.minecraft.world.entity.ExperienceOrb(spawnData.minecraftWorld(), spawnData.x(), spawnData.z(), spawnData.z(), 0)
+- spawnData -> new net.minecraft.world.entity.ExperienceOrb(spawnData.minecraftWorld(), spawnData.x(), spawnData.y(), spawnData.z(), 0)
+ spawnData -> new net.minecraft.world.entity.ExperienceOrb(spawnData.minecraftWorld(), spawnData.x(), spawnData.z(), spawnData.z(), 0, org.bukkit.entity.ExperienceOrb.SpawnReason.CUSTOM, null, null) // Paper
));
register(new EntityTypeData<>(EntityType.AREA_EFFECT_CLOUD, AreaEffectCloud.class, CraftAreaEffectCloud::new, spawnData -> new net.minecraft.world.entity.AreaEffectCloud(spawnData.minecraftWorld(), spawnData.x(), spawnData.y(), spawnData.z())));
diff --git a/patches/server/0149-LivingEntity-setKiller.patch b/patches/server/0149-LivingEntity-setKiller.patch
index ecbc4d4730..ca4b80f79c 100644
--- a/patches/server/0149-LivingEntity-setKiller.patch
+++ b/patches/server/0149-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 a51a3aed4a55e251da04544a4a59059d73b615d8..7c0fe4772d171575be820ee66bb7facf1c3465f9 100644
+index b93d03c1af8b82c009c3f6007cc30e888f6764e0..f1195a4dd11370066008aaf6c7c4a8b4d628d822 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -365,6 +365,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -364,6 +364,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
return this.getHandle().lastHurtByPlayer == null ? null : (Player) this.getHandle().lastHurtByPlayer.getBukkitEntity();
}
diff --git a/patches/server/0162-Fix-MC-117075-TE-Unload-Lag-Spike.patch b/patches/server/0162-Fix-MC-117075-TE-Unload-Lag-Spike.patch
index ae8b94d731..434d4cd45d 100644
--- a/patches/server/0162-Fix-MC-117075-TE-Unload-Lag-Spike.patch
+++ b/patches/server/0162-Fix-MC-117075-TE-Unload-Lag-Spike.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix MC-117075: TE Unload Lag Spike
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index c6e56303ec8ee466a6de7e6bd76c4f6814e8db30..2dad35f00a98be534db1da1a38a6865e41a1a94d 100644
+index 2afa7c73836ddbad936cb98bde241cb91acc11b2..69e7a6cd6741c190b8e04de1372c929b42963610 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -816,6 +816,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -17,15 +17,7 @@ index c6e56303ec8ee466a6de7e6bd76c4f6814e8db30..2dad35f00a98be534db1da1a38a6865e
for (tileTickPosition = 0; tileTickPosition < this.blockEntityTickers.size(); tileTickPosition++) { // Paper - Disable tick limiters
this.tileTickPosition = (this.tileTickPosition < this.blockEntityTickers.size()) ? this.tileTickPosition : 0;
TickingBlockEntity tickingblockentity = (TickingBlockEntity) this.blockEntityTickers.get(this.tileTickPosition);
-@@ -823,7 +825,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
- if (tickingblockentity == null) {
- this.getCraftServer().getLogger().severe("Spigot has detected a null entity and has removed it, preventing a crash");
- tilesThisCycle--;
-- this.blockEntityTickers.remove(this.tileTickPosition--);
- continue;
- }
- // Spigot end
-@@ -831,12 +832,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -824,12 +826,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
if (tickingblockentity.isRemoved()) {
// Spigot start
tilesThisCycle--;
diff --git a/patches/server/0168-PlayerNaturallySpawnCreaturesEvent.patch b/patches/server/0168-PlayerNaturallySpawnCreaturesEvent.patch
index 14397a7b9a..e7d4feaefc 100644
--- a/patches/server/0168-PlayerNaturallySpawnCreaturesEvent.patch
+++ b/patches/server/0168-PlayerNaturallySpawnCreaturesEvent.patch
@@ -9,10 +9,10 @@ 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 e580df88baadfd943756b1e440c7253a287fa0e9..ea520b828378c268d05425096c6493ca1c7ad385 100644
+index 5a653dffecd3877c84ac8197e1ef4b7bbc9820ce..c9e3e104cd051a38e367653dc6c4f969665fc250 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -701,7 +701,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -700,7 +700,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
chunkRange = (chunkRange > this.level.spigotConfig.viewDistance) ? (byte) this.level.spigotConfig.viewDistance : chunkRange;
chunkRange = (chunkRange > 8) ? 8 : chunkRange;
@@ -23,7 +23,7 @@ index e580df88baadfd943756b1e440c7253a287fa0e9..ea520b828378c268d05425096c6493ca
// Spigot end
if (!this.distanceManager.hasPlayersNearby(chunkcoordintpair.toLong())) {
return false;
-@@ -716,6 +718,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -715,6 +717,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
entityplayer = (ServerPlayer) iterator.next();
@@ -60,7 +60,7 @@ index 1ad6b62ee53e2ee4a710211dfc750780519004f9..16028723b36c1ca3a3c5d1bf2a7c82d2
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 75d2213aadcbd1d0a49fd4c8cef2d4d51669c73d..1b56d6b05fee0aa430dab666f50c5b886c3910d0 100644
+index d11864c05bd73fac15df454d6042924596639c25..8f826978564a1d144901f1ca2e46c5b083b68945 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/0173-Add-ArmorStand-Item-Meta.patch b/patches/server/0173-Add-ArmorStand-Item-Meta.patch
index 12eb0d514a..d935a8709c 100644
--- a/patches/server/0173-Add-ArmorStand-Item-Meta.patch
+++ b/patches/server/0173-Add-ArmorStand-Item-Meta.patch
@@ -255,10 +255,10 @@ index b77f5832265be5aaf96d95fcac4737919720fa6e..e15723080445b09852512132039ca2cd
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 78762a410ece8bca16382975222d026ad010bca2..be9acd6f975718c1ef254391e8ef9129558c86a3 100644
+index 89dac1d16a90717e6a99d41e8ea04810f78fdee4..27b87d5bdbbbbcc24d4af52df664f51bd5c861ca 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-@@ -1463,6 +1463,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1461,6 +1461,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
CraftMetaCrossbow.CHARGED.NBT,
CraftMetaCrossbow.CHARGED_PROJECTILES.NBT,
CraftMetaSuspiciousStew.EFFECTS.NBT,
diff --git a/patches/server/0191-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/server/0191-Expand-World.spawnParticle-API-and-add-Builder.patch
index dd9fa1ad6a..83fa85538f 100644
--- a/patches/server/0191-Expand-World.spawnParticle-API-and-add-Builder.patch
+++ b/patches/server/0191-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 6d75010bf837a791f5fe04aacb973246410bbd66..0705a1bb63f056a228308d348bc5db87b0bee5a1 100644
+index 418f9ed95179a234a4f7df3ba5813e9642b5f44c..4190c31fae199e6b6481d2b840f15fe68615d720 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1738,12 +1738,17 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -34,10 +34,10 @@ index 6d75010bf837a791f5fe04aacb973246410bbd66..0705a1bb63f056a228308d348bc5db87
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 0d9a491487c098b37331a9b94605993118fae403..9d111f904d20c1694436ecf5dd9c3c7738be2681 100644
+index d139361e0a75eaaeabd36d2d134e90d4253972a1..73202aa2fe5f58ad03973de36422f37168426aa6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1897,13 +1897,20 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1945,13 +1945,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/0204-Make-shield-blocking-delay-configurable.patch b/patches/server/0204-Make-shield-blocking-delay-configurable.patch
index 7fb34d5dcc..50712d73a7 100644
--- a/patches/server/0204-Make-shield-blocking-delay-configurable.patch
+++ b/patches/server/0204-Make-shield-blocking-delay-configurable.patch
@@ -5,7 +5,7 @@ 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 226afea543b581dd1b8ba0f81ff7dab7cce96395..2786b4322d32950153c489941e1aed7c4862e822 100644
+index 39e02e922e67915c23ce4565eba33f656cbe81b6..dff2427e32b92a6deca0df81d0820353c5fc242a 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3808,12 +3808,24 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -35,10 +35,10 @@ index 226afea543b581dd1b8ba0f81ff7dab7cce96395..2786b4322d32950153c489941e1aed7c
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 7c0fe4772d171575be820ee66bb7facf1c3465f9..3805b32d3a4655577b59a0bc4bb6a508faf1e3e1 100644
+index f1195a4dd11370066008aaf6c7c4a8b4d628d822..4ae1f2c25f3012cee5abdb579e6b452a78ba8a1c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -814,5 +814,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -813,5 +813,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
public void setArrowsStuck(final int arrows) {
this.getHandle().setArrowCount(arrows);
}
diff --git a/patches/server/0208-Expand-Explosions-API.patch b/patches/server/0208-Expand-Explosions-API.patch
index 6d57478d8a..e75e2ea2fb 100644
--- a/patches/server/0208-Expand-Explosions-API.patch
+++ b/patches/server/0208-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 9d111f904d20c1694436ecf5dd9c3c7738be2681..025d7c5b96e6c8a13df3d5978a558fe735f1a202 100644
+index 713bfbe76e3f888cd41e71256ec70af78e64121c..b1fe86645fa9e6f4398c8466cb3243154146f29f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -720,6 +720,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -719,6 +719,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/0209-LivingEntity-Hand-Raised-Item-Use-API.patch b/patches/server/0209-LivingEntity-Hand-Raised-Item-Use-API.patch
index 3ceb2c48e7..5fa09f7225 100644
--- a/patches/server/0209-LivingEntity-Hand-Raised-Item-Use-API.patch
+++ b/patches/server/0209-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 3805b32d3a4655577b59a0bc4bb6a508faf1e3e1..5001873aba00da0a1daf0e473593a332f0856cdd 100644
+index 4ae1f2c25f3012cee5abdb579e6b452a78ba8a1c..a4af5db4d2d45429a46830e4af0ba45c8c5008be 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -824,5 +824,30 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -823,5 +823,30 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
public void setShieldBlockingDelay(int delay) {
getHandle().setShieldBlockingDelay(delay);
}
diff --git a/patches/server/0212-Implement-World.getEntity-UUID-API.patch b/patches/server/0212-Implement-World.getEntity-UUID-API.patch
index a0b4225f05..feaa3ef886 100644
--- a/patches/server/0212-Implement-World.getEntity-UUID-API.patch
+++ b/patches/server/0212-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 025d7c5b96e6c8a13df3d5978a558fe735f1a202..e78e3c4ab76c3112dd78417ea413a30f15a96e7f 100644
+index b1fe86645fa9e6f4398c8466cb3243154146f29f..982231fcc788b99798e8361a53d77c4ed1920396 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1049,6 +1049,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1048,6 +1048,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return list;
}
diff --git a/patches/server/0222-Option-to-prevent-armor-stands-from-doing-entity-loo.patch b/patches/server/0222-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
index 13732a28b5..a182766f7f 100644
--- a/patches/server/0222-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
+++ b/patches/server/0222-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
@@ -17,10 +17,10 @@ index d04d0b9cbf91beb57da7e37e72f8e7c98cf6cf4c..aff1b2195d2f187739394886d4c0bdbf
Iterator iterator = list.iterator();
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index eb9da7e3912430921219cd4ebdcc295c0e5162bb..4751f83571688cf1e0aa669accc813942d85c60c 100644
+index dfdbe171509cc4098e8a14bd8bb65a3a2a44354c..fa504824948c42b7feeca50b407f1f07b2b1a73e 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -860,6 +860,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -854,6 +854,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
// Paper end
}
}
diff --git a/patches/server/0233-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/patches/server/0233-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch
index 9879154e81..2b77e88cd8 100644
--- a/patches/server/0233-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch
+++ b/patches/server/0233-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch
@@ -8,10 +8,10 @@ Add -Ddebug.entities=true to your JVM flags to gain more information
1.17: Needs to be reworked for new entity storage system
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index ea520b828378c268d05425096c6493ca1c7ad385..8d3a9f8210bf529484aeaf84ef9a55b54ce8f2af 100644
+index c9e3e104cd051a38e367653dc6c4f969665fc250..45ee0cd242271883412284625230822d9c8a5452 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -879,6 +879,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -878,6 +878,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
} else {
ChunkMap.TrackedEntity playerchunkmap_entitytracker = new ChunkMap.TrackedEntity(entity, i, j, entitytypes.trackDeltas());
@@ -19,7 +19,7 @@ index ea520b828378c268d05425096c6493ca1c7ad385..8d3a9f8210bf529484aeaf84ef9a55b5
this.entityMap.put(entity.getId(), playerchunkmap_entitytracker);
playerchunkmap_entitytracker.updatePlayers(this.level.players());
if (entity instanceof ServerPlayer) {
-@@ -921,7 +922,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -920,7 +921,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
if (playerchunkmap_entitytracker1 != null) {
playerchunkmap_entitytracker1.broadcastRemoved();
}
@@ -85,7 +85,7 @@ index 17cae197f76e02491791c55554bd57592a30aa1d..7be66f8649d6f6cb67e3b42e8f4fe739
if (this.bukkitEntity == null) {
this.bukkitEntity = CraftEntity.getEntity(this.level.getCraftServer(), this);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 4fb29ca40e1caba3f205afc13fb4d7a95fd81ce6..178509c545f2872174af501bdcec3314f703739c 100644
+index ee04acca6e7e9055fe42595efaa41a11c528121a..26e5abfe928abc09e0e0e4574550912778607cbf 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -153,6 +153,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
diff --git a/patches/server/0247-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/patches/server/0247-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch
index 4049d36c7b..3aab1cd47d 100644
--- a/patches/server/0247-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch
+++ b/patches/server/0247-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 e78e3c4ab76c3112dd78417ea413a30f15a96e7f..e886f72df8b5b334299236c26115bbc5f72ce9f1 100644
+index 982231fcc788b99798e8361a53d77c4ed1920396..717718111a98733401669428fb4c39db979114b3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -404,7 +404,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -403,7 +403,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/0248-Add-ray-tracing-methods-to-LivingEntity.patch b/patches/server/0248-Add-ray-tracing-methods-to-LivingEntity.patch
index 596461e355..40d27eb849 100644
--- a/patches/server/0248-Add-ray-tracing-methods-to-LivingEntity.patch
+++ b/patches/server/0248-Add-ray-tracing-methods-to-LivingEntity.patch
@@ -5,7 +5,7 @@ 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 55a939c74dad301e866e0711d6ff8e0379bf73c6..527af65884fd505616204876e22d54f362ce7791 100644
+index f17d6a208477daeb01b66b2894e871f4071cf3e8..486f22469c3cf7ce302c10072da3f96aa3be0ef3 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3829,6 +3829,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -30,10 +30,10 @@ index 55a939c74dad301e866e0711d6ff8e0379bf73c6..527af65884fd505616204876e22d54f3
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 5001873aba00da0a1daf0e473593a332f0856cdd..602516c5e99d033bbf9529748c22a2e774f8425a 100644
+index a4af5db4d2d45429a46830e4af0ba45c8c5008be..7ac9515c0cca4e6a1197a42d5ff1dff04d183bd5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -201,6 +201,33 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -200,6 +200,33 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
return blocks.get(0);
}
diff --git a/patches/server/0249-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0249-Expose-attack-cooldown-methods-for-Player.patch
index 7fd7dd5460..48fa1ed9d8 100644
--- a/patches/server/0249-Expose-attack-cooldown-methods-for-Player.patch
+++ b/patches/server/0249-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 14c489157fee05c5ec8752bf7c0acdd9a277d9ea..a2624085360ca3d315378f3a0f9220a5eb43217a 100644
+index 2134b3f2267e42147cd740ce033888578e63af46..2221bbdf426ccc443f2530fa8857eec5e0013fda 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2874,6 +2874,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2873,6 +2873,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.adventure$pointers;
}
diff --git a/patches/server/0250-Improve-death-events.patch b/patches/server/0250-Improve-death-events.patch
index 3c54985e32..bb3539cb46 100644
--- a/patches/server/0250-Improve-death-events.patch
+++ b/patches/server/0250-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 2584e8eb867dca35e945ec7ab83bc2181d7bde26..7dae09967ae47ae2ef01d1072ad98f125d0b67e9 100644
+index 0100aafc999cadcfa7a904a812355502379c418d..6abd0b8c51138b9a46c0df3a34cfee98016964d3 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 {
@@ -70,7 +70,7 @@ index 2584e8eb867dca35e945ec7ab83bc2181d7bde26..7dae09967ae47ae2ef01d1072ad98f12
}
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 527af65884fd505616204876e22d54f362ce7791..d1b9726228cc0a7bdb1c570603b5d1b8a4d6debe 100644
+index 486f22469c3cf7ce302c10072da3f96aa3be0ef3..4df479842f482a8a6a5979c204b6882cd3603e93 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -259,6 +259,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -392,10 +392,10 @@ index 948ba97e318506dad96e59121297b5bf8340d2e6..810bead2f19de70786027b190137f743
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 a2624085360ca3d315378f3a0f9220a5eb43217a..66330f499cb178b24691cdc8c6601d14242328e3 100644
+index 2221bbdf426ccc443f2530fa8857eec5e0013fda..b3309656bd3d731a2fcbf0e26bfd63354ecc035c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2411,7 +2411,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2410,7 +2410,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void sendHealthUpdate() {
FoodData foodData = this.getHandle().getFoodData();
diff --git a/patches/server/0253-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch b/patches/server/0253-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch
index 5354ba2b0e..9db5e18488 100644
--- a/patches/server/0253-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch
+++ b/patches/server/0253-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Implement an API for CanPlaceOn and CanDestroy NBT values
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index be9acd6f975718c1ef254391e8ef9129558c86a3..e720778ccf009b0038aea72e06d91d5e5e061ecf 100644
+index 27b87d5bdbbbbcc24d4af52df664f51bd5c861ca..e333e2b5f098fb1f6b05c3ae132f6516fc370b97 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -84,6 +84,12 @@ import org.bukkit.persistence.PersistentDataContainer;
@@ -181,7 +181,7 @@ index be9acd6f975718c1ef254391e8ef9129558c86a3..e720778ccf009b0038aea72e06d91d5e
}
// Paper start
-@@ -1182,7 +1290,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1180,7 +1288,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
&& (this.hideFlag == that.hideFlag)
&& (this.isUnbreakable() == that.isUnbreakable())
&& (this.hasDamage() ? that.hasDamage() && this.damage == that.damage : !that.hasDamage())
@@ -194,7 +194,7 @@ index be9acd6f975718c1ef254391e8ef9129558c86a3..e720778ccf009b0038aea72e06d91d5e
}
/**
-@@ -1217,6 +1329,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1215,6 +1327,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
hash = 61 * hash + (this.hasDamage() ? this.damage : 0);
hash = 61 * hash + (this.hasAttributeModifiers() ? this.attributeModifiers.hashCode() : 0);
hash = 61 * hash + this.version;
@@ -205,7 +205,7 @@ index be9acd6f975718c1ef254391e8ef9129558c86a3..e720778ccf009b0038aea72e06d91d5e
return hash;
}
-@@ -1241,6 +1357,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1239,6 +1355,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
clone.unbreakable = this.unbreakable;
clone.damage = this.damage;
clone.version = this.version;
@@ -220,7 +220,7 @@ index be9acd6f975718c1ef254391e8ef9129558c86a3..e720778ccf009b0038aea72e06d91d5e
return clone;
} catch (CloneNotSupportedException e) {
throw new Error(e);
-@@ -1298,6 +1422,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1296,6 +1420,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
builder.put(CraftMetaItem.DAMAGE.BUKKIT, this.damage);
}
@@ -244,7 +244,7 @@ index be9acd6f975718c1ef254391e8ef9129558c86a3..e720778ccf009b0038aea72e06d91d5e
final Map<String, Tag> internalTags = new HashMap<String, Tag>(this.unhandledTags);
this.serializeInternal(internalTags);
if (!internalTags.isEmpty()) {
-@@ -1470,6 +1611,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1468,6 +1609,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
CraftMetaArmorStand.SHOW_ARMS.NBT,
CraftMetaArmorStand.SMALL.NBT,
CraftMetaArmorStand.MARKER.NBT,
@@ -253,7 +253,7 @@ index be9acd6f975718c1ef254391e8ef9129558c86a3..e720778ccf009b0038aea72e06d91d5e
// Paper end
CraftMetaCompass.LODESTONE_DIMENSION.NBT,
CraftMetaCompass.LODESTONE_POS.NBT,
-@@ -1499,4 +1642,146 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1497,4 +1640,146 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
}
// Paper end
diff --git a/patches/server/0262-Add-LivingEntity-getTargetEntity.patch b/patches/server/0262-Add-LivingEntity-getTargetEntity.patch
index 15be1e828b..1935f0091e 100644
--- a/patches/server/0262-Add-LivingEntity-getTargetEntity.patch
+++ b/patches/server/0262-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 d1b9726228cc0a7bdb1c570603b5d1b8a4d6debe..40b8b863c4662d8a6aa228763be167317232b99f 100644
+index 4df479842f482a8a6a5979c204b6882cd3603e93..0085d4727e9bd1c6f451666e6012b8abcd74d129 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -116,6 +116,7 @@ import net.minecraft.world.level.storage.loot.LootTable;
@@ -56,7 +56,7 @@ index d1b9726228cc0a7bdb1c570603b5d1b8a4d6debe..40b8b863c4662d8a6aa228763be16731
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 602516c5e99d033bbf9529748c22a2e774f8425a..0c045752baf7346b53f1feedddfe4285f9bcb12c 100644
+index 7ac9515c0cca4e6a1197a42d5ff1dff04d183bd5..fc7b54892af62e8b6e1cc93f2937e05bbfd01c8c 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 602516c5e99d033bbf9529748c22a2e774f8425a..0c045752baf7346b53f1feedddfe4285
import com.google.common.base.Preconditions;
import com.google.common.collect.Sets;
import java.util.ArrayList;
-@@ -226,6 +227,39 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -225,6 +226,39 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
}
return null;
}
diff --git a/patches/server/0263-Add-sun-related-API.patch b/patches/server/0263-Add-sun-related-API.patch
index 637ba02804..d9ec0a0d43 100644
--- a/patches/server/0263-Add-sun-related-API.patch
+++ b/patches/server/0263-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 e886f72df8b5b334299236c26115bbc5f72ce9f1..c14f73d745ec34f0970b2e5aac9d68fc069fc1d2 100644
+index 717718111a98733401669428fb4c39db979114b3..fbbad4c209618d1e5994cb5609d29f4bc9c9905c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -696,6 +696,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -695,6 +695,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
}
diff --git a/patches/server/0302-Optimize-Captured-TileEntity-Lookup.patch b/patches/server/0302-Optimize-Captured-TileEntity-Lookup.patch
index ce3b4d80db..d79b7937eb 100644
--- a/patches/server/0302-Optimize-Captured-TileEntity-Lookup.patch
+++ b/patches/server/0302-Optimize-Captured-TileEntity-Lookup.patch
@@ -10,10 +10,10 @@ Optimize to check if the captured list even has values in it, and also to
just do a get call since the value can never be null.
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index d315a31f6b489ee88f81eb3d1b358c92e1e1619c..f300b637466b7e591a4d7e19dd7cfefa7f954e6a 100644
+index 041984d629b7ddd2d2a856483fd69a2ab49c804e..8e5726194870f614b1522703f42fb11861bd7b9d 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -1000,9 +1000,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -994,9 +994,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@Nullable
public BlockEntity getBlockEntity(BlockPos blockposition, boolean validate) {
diff --git a/patches/server/0303-Add-Heightmap-API.patch b/patches/server/0303-Add-Heightmap-API.patch
index 97d81f2f2c..b2c4467070 100644
--- a/patches/server/0303-Add-Heightmap-API.patch
+++ b/patches/server/0303-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 c14f73d745ec34f0970b2e5aac9d68fc069fc1d2..ca02281f12b0d914ad76da57aab56b63bb59d1f1 100644
+index fbbad4c209618d1e5994cb5609d29f4bc9c9905c..1b9f52393edcaeafccb290d6a6db9e2407d1a101 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -223,6 +223,29 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -222,6 +222,29 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return CraftBlock.at(this.world, new BlockPos(x, y, z));
}
diff --git a/patches/server/0308-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/patches/server/0308-Configurable-Keep-Spawn-Loaded-range-per-world.patch
index 9cda68fc76..7b2aa675bc 100644
--- a/patches/server/0308-Configurable-Keep-Spawn-Loaded-range-per-world.patch
+++ b/patches/server/0308-Configurable-Keep-Spawn-Loaded-range-per-world.patch
@@ -191,10 +191,10 @@ index 4d2348df25410a0b5364eec066880326d6667dad..286aad3205ef8a9e21a47ef07893844f
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 ca02281f12b0d914ad76da57aab56b63bb59d1f1..9cae07b33e1426c17e118fa8648c245753b316e6 100644
+index d72119d42dda1e7d73de24534dc4a39fecf90f3e..e53cd6a490b0cf6d72e24f73511f948bfd548893 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1359,15 +1359,21 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1407,15 +1407,21 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setKeepSpawnInMemory(boolean keepLoaded) {
diff --git a/patches/server/0311-Fix-World-isChunkGenerated-calls.patch b/patches/server/0311-Fix-World-isChunkGenerated-calls.patch
index d758acc217..fe237d4087 100644
--- a/patches/server/0311-Fix-World-isChunkGenerated-calls.patch
+++ b/patches/server/0311-Fix-World-isChunkGenerated-calls.patch
@@ -8,10 +8,10 @@ This patch also adds a chunk status cache on region files (note that
its only purpose is to cache the status on DISK)
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index 8d3a9f8210bf529484aeaf84ef9a55b54ce8f2af..15e423cdb61547ddffb4497f5c51e101f5dbe8af 100644
+index 45ee0cd242271883412284625230822d9c8a5452..1faa4e0626022f08faa47327b61b6250814e0b82 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -680,9 +680,13 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -679,9 +679,13 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Paper end
private CompletableFuture<Optional<CompoundTag>> readChunk(ChunkPos chunkPos) {
@@ -28,7 +28,7 @@ index 8d3a9f8210bf529484aeaf84ef9a55b54ce8f2af..15e423cdb61547ddffb4497f5c51e101
}
// CraftBukkit start
-@@ -691,6 +695,63 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -690,6 +694,63 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// CraftBukkit end
}
@@ -156,10 +156,10 @@ index 42dc999d820e62c6a222afbd9239cc671fc7de53..b850dba2b0fa5bc762b170ed7083cf89
} catch (Throwable throwable) {
if (dataoutputstream != null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 9cae07b33e1426c17e118fa8648c245753b316e6..4b3d04d891edda8c02470bae189fbf17eb4e8a36 100644
+index 9814ce8c4f12c82f493ffdd6e44ed2fdfb4e893b..f88a88682862c714db04cfabd1eed501f60d7edc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -311,9 +311,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -310,9 +310,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean isChunkGenerated(int x, int z) {
@@ -185,7 +185,7 @@ index 9cae07b33e1426c17e118fa8648c245753b316e6..4b3d04d891edda8c02470bae189fbf17
throw new RuntimeException(ex);
}
}
-@@ -427,20 +441,48 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -426,20 +440,48 @@ 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/0323-Duplicate-UUID-Resolve-Option.patch b/patches/server/0323-Duplicate-UUID-Resolve-Option.patch
index 18cf5ebd5a..6ef03d82cc 100644
--- a/patches/server/0323-Duplicate-UUID-Resolve-Option.patch
+++ b/patches/server/0323-Duplicate-UUID-Resolve-Option.patch
@@ -56,10 +56,10 @@ index cbeaadaecf816070b3a37938c8e683180939afc4..95e5073a68e4dd38b70e8268daf21609
public static void onChunkHolderCreate(final ServerLevel level, final ChunkHolder holder) {
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index 15e423cdb61547ddffb4497f5c51e101f5dbe8af..cfef1d3ca1975c459556f583f0a09c2a888c0792 100644
+index 1faa4e0626022f08faa47327b61b6250814e0b82..1b84c29605fb141ad286f6ae67a726d0a5088d32 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -534,6 +534,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -533,6 +533,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
entity.discard();
needsRemoval = true;
}
@@ -67,7 +67,7 @@ index 15e423cdb61547ddffb4497f5c51e101f5dbe8af..cfef1d3ca1975c459556f583f0a09c2a
return !needsRemoval;
}), position); // Paper - rewrite chunk system
// CraftBukkit end
-@@ -545,6 +546,49 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -544,6 +545,49 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
throw new UnsupportedOperationException(); // Paper - rewrite chunk system
}
diff --git a/patches/server/0334-Tracking-Range-Improvements.patch b/patches/server/0334-Tracking-Range-Improvements.patch
index f743c56a9e..7b3bbb5063 100644
--- a/patches/server/0334-Tracking-Range-Improvements.patch
+++ b/patches/server/0334-Tracking-Range-Improvements.patch
@@ -8,10 +8,10 @@ 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 cfef1d3ca1975c459556f583f0a09c2a888c0792..9b16464c4edf334093c9aa0bd164348197b96455 100644
+index 1b84c29605fb141ad286f6ae67a726d0a5088d32..2130f15d92bab1d4e35a92a681ac34cd9c929ea9 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -1265,6 +1265,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1264,6 +1264,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
while (iterator.hasNext()) {
Entity entity = (Entity) iterator.next();
int j = entity.getType().clientTrackingRange() * 16;
diff --git a/patches/server/0336-implement-optional-per-player-mob-spawns.patch b/patches/server/0336-implement-optional-per-player-mob-spawns.patch
index 729ec88a82..22cb38d2b0 100644
--- a/patches/server/0336-implement-optional-per-player-mob-spawns.patch
+++ b/patches/server/0336-implement-optional-per-player-mob-spawns.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] implement optional per player mob spawns
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index 9b16464c4edf334093c9aa0bd164348197b96455..bd15131b7506e965bcf64be20330731256a1e1f0 100644
+index 2130f15d92bab1d4e35a92a681ac34cd9c929ea9..1f9efff4ddccf2569fdfe42e6cbc92792643d0ea 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -289,6 +289,29 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -288,6 +288,29 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
});
}
@@ -64,7 +64,7 @@ index 16028723b36c1ca3a3c5d1bf2a7c82d2b42a0be4..24d9a2c37db4bbf2585b33d06f5ea57e
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 05c658b988fd970eeba8117d06c5a5d93b8fd75d..ad167cd343ec38f0263e634124036e741246c6b6 100644
+index 5ef970574ab728dcd118c4d567cb61f0f208b2d7..784be702cbde92a9c81f04fde34ff343056b8ee7 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -253,6 +253,10 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0337-Anti-Xray.patch b/patches/server/0337-Anti-Xray.patch
index 07beed1c7d..0ec957804e 100644
--- a/patches/server/0337-Anti-Xray.patch
+++ b/patches/server/0337-Anti-Xray.patch
@@ -1155,7 +1155,7 @@ index 5de5209e04d631bd6a50e28e8d3abebf148252c1..19b3f4fa7678a038bf25efc2a8b46dda
DebugPackets.sendPoiPacketsForChunk(world, chunkPos);
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 2e5b01cc9c438a2bee7eb770e4c266425a9d287f..35fd928c87403d98a80b6c13fa9df83496576c8f 100644
+index 1aaf490303bb76524af771b1a6992be5f2791003..934a0de16e61de967d15b001bda45a97501dc658 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -178,6 +178,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -1571,10 +1571,10 @@ index 83242862a49e39c40dd8467f1d2a0ac74ced8343..64d827c7e7f9cf76f9db900333b987a6
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 4b3d04d891edda8c02470bae189fbf17eb4e8a36..fcf2571a7aa9e93a82171d4a8ae8c11ee7452994 100644
+index 12b78640b89a014af9e35ad03cb4cd217a29bc21..a834b763cf9190bf0effb02fe08b97861d5160cb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -422,11 +422,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -421,11 +421,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/0344-Entity-Jump-API.patch b/patches/server/0344-Entity-Jump-API.patch
index efe7bb3cf8..75e4351f7f 100644
--- a/patches/server/0344-Entity-Jump-API.patch
+++ b/patches/server/0344-Entity-Jump-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Entity Jump API
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index cde3525320bd7f42c0664e2087d54fa75b7bfb70..2d28d9a42e89b7efadd4e798c3da61565221a5bd 100644
+index a3eac4dfe28bc55721d292e2f309b3467a3db140..f9e2d3cba01fcf39bc29dc8b5b5879ddc3add0e5 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 {
@@ -48,10 +48,10 @@ index 344e933311f5cdccb66069d486b111a003639dfe..add3cd866452df727107e94fb2039bdd
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 0c045752baf7346b53f1feedddfe4285f9bcb12c..7aa69e4e5b687b836a11e9f5193edc03e9a1efbd 100644
+index fc7b54892af62e8b6e1cc93f2937e05bbfd01c8c..eed8322f534a9556dbb99c4c32b135dfc3dd8b0f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -910,5 +910,19 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -909,5 +909,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/0359-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch b/patches/server/0359-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch
index e76e1900fb..f5b3749b9a 100644
--- a/patches/server/0359-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch
+++ b/patches/server/0359-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch
@@ -7,10 +7,10 @@ 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 bd15131b7506e965bcf64be20330731256a1e1f0..0e3c89b9d75160d0e8947d042a1568da13d62fcf 100644
+index 1f9efff4ddccf2569fdfe42e6cbc92792643d0ea..876200db872bce89976329c4d6c6fbe9fd155f24 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -994,6 +994,13 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -993,6 +993,13 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
public void addEntity(Entity entity) {
org.spigotmc.AsyncCatcher.catchOp("entity track"); // Spigot
diff --git a/patches/server/0365-Improved-Watchdog-Support.patch b/patches/server/0365-Improved-Watchdog-Support.patch
index 01e925033f..f8b4034708 100644
--- a/patches/server/0365-Improved-Watchdog-Support.patch
+++ b/patches/server/0365-Improved-Watchdog-Support.patch
@@ -296,10 +296,10 @@ index f5829ae484d93b547a5437b85a9621346384a11b..83701fbfaa56a232593ee8f11a3afb89
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 35fd928c87403d98a80b6c13fa9df83496576c8f..179a7708a5f4674b31a87c49ca3d5c4c4dbd4b65 100644
+index 934a0de16e61de967d15b001bda45a97501dc658..4a097c3cf168005e2bae3ae484bc7ebd7a19a2d2 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -915,6 +915,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -909,6 +909,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
try {
tickConsumer.accept(entity);
} catch (Throwable throwable) {
diff --git a/patches/server/0372-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch b/patches/server/0372-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch
index 9c4eda5303..e5cdd1f624 100644
--- a/patches/server/0372-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch
+++ b/patches/server/0372-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch
@@ -7,10 +7,10 @@ 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 942042863f0105769c15b865d4d98a09a7053a68..68550d4497a5f10bf653482f79be77373df53f27 100644
+index b01006ade4750f60ceba951812bbc6e2ca04bf9c..33b0be8eb9bff8068ca7bdeffe34b7f2eaa6dbfb 100644
--- a/src/main/java/net/minecraft/server/level/DistanceManager.java
+++ b/src/main/java/net/minecraft/server/level/DistanceManager.java
-@@ -147,8 +147,8 @@ public abstract class DistanceManager {
+@@ -146,8 +146,8 @@ public abstract class DistanceManager {
ObjectSet<ServerPlayer> objectset = (ObjectSet) this.playersPerChunk.get(i);
if (objectset == null) return; // CraftBukkit - SPIGOT-6208
diff --git a/patches/server/0373-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch b/patches/server/0373-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch
index e3c1343a13..ee3e9190ff 100644
--- a/patches/server/0373-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch
+++ b/patches/server/0373-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch
@@ -31,10 +31,10 @@ 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 0e3c89b9d75160d0e8947d042a1568da13d62fcf..8d12a6da0f0679fd14c2a498f9645bd04b2d8ed7 100644
+index 876200db872bce89976329c4d6c6fbe9fd155f24..2db3236bc9d676c86b0af38bd4bfaf9d3332c250 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -1000,6 +1000,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -999,6 +999,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+ ": " + entity + (this.entityMap.containsKey(entity.getId()) ? " ALREADY CONTAINED (This would have crashed your server)" : ""), new Throwable());
return;
}
@@ -43,7 +43,7 @@ index 0e3c89b9d75160d0e8947d042a1568da13d62fcf..8d12a6da0f0679fd14c2a498f9645bd0
if (!(entity instanceof EnderDragonPart)) {
EntityType<?> entitytypes = entity.getType();
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 352fbab070ccdb683e9a7558292c86cc443c018b..b2e980c1f2e2ec417f75fbd7bdd2188fdb4eba23 100644
+index fa323141f77923fc766bbf2e8587d7e8792b92ec..3dfbd1225b0c1ee6b6fb2e842efdb1a8ff2c26c6 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -271,6 +271,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0391-Fix-PotionEffect-ignores-icon-flag.patch b/patches/server/0391-Fix-PotionEffect-ignores-icon-flag.patch
index 50b1cd2d18..1ca797412e 100644
--- a/patches/server/0391-Fix-PotionEffect-ignores-icon-flag.patch
+++ b/patches/server/0391-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 7aa69e4e5b687b836a11e9f5193edc03e9a1efbd..ac85635bb5ff698712ffe7c48e8aa55d20e0302e 100644
+index eed8322f534a9556dbb99c4c32b135dfc3dd8b0f..6a34b4ed817c3be31d5103f82c427fdcd40d47c0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -443,7 +443,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -442,7 +442,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@Override
public boolean addPotionEffect(PotionEffect effect, boolean force) {
@@ -18,7 +18,7 @@ index 7aa69e4e5b687b836a11e9f5193edc03e9a1efbd..ac85635bb5ff698712ffe7c48e8aa55d
return true;
}
-@@ -464,7 +464,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -463,7 +463,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 7aa69e4e5b687b836a11e9f5193edc03e9a1efbd..ac85635bb5ff698712ffe7c48e8aa55d
}
@Override
-@@ -476,7 +476,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -475,7 +475,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/0409-Use-distance-map-to-optimise-entity-tracker.patch b/patches/server/0409-Use-distance-map-to-optimise-entity-tracker.patch
index b0bbb8a721..8eefd5aa6a 100644
--- a/patches/server/0409-Use-distance-map-to-optimise-entity-tracker.patch
+++ b/patches/server/0409-Use-distance-map-to-optimise-entity-tracker.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Use distance map to optimise entity tracker
Use the distance map to find candidate players for tracking.
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index 8d12a6da0f0679fd14c2a498f9645bd04b2d8ed7..290a231deb203eb46cb91eb23c28d8e9d49b0f34 100644
+index 2db3236bc9d676c86b0af38bd4bfaf9d3332c250..07abd089e5091d292d4542bbe0fbb416a111bf8e 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -147,6 +147,23 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -146,6 +146,23 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Paper start - distance maps
private final com.destroystokyo.paper.util.misc.PooledLinkedHashSets<ServerPlayer> pooledLinkedPlayerHashSets = new com.destroystokyo.paper.util.misc.PooledLinkedHashSets<>();
@@ -33,7 +33,7 @@ index 8d12a6da0f0679fd14c2a498f9645bd04b2d8ed7..290a231deb203eb46cb91eb23c28d8e9
void addPlayerToDistanceMaps(ServerPlayer player) {
int chunkX = io.papermc.paper.util.MCUtil.getChunkCoordinate(player.getX());
-@@ -154,6 +171,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -153,6 +170,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Note: players need to be explicitly added to distance maps before they can be updated
this.nearbyPlayers.addPlayer(player);
this.level.playerChunkLoader.addPlayer(player); // Paper - replace chunk loader
@@ -48,7 +48,7 @@ index 8d12a6da0f0679fd14c2a498f9645bd04b2d8ed7..290a231deb203eb46cb91eb23c28d8e9
}
void removePlayerFromDistanceMaps(ServerPlayer player) {
-@@ -162,6 +187,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -161,6 +186,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Note: players need to be explicitly added to distance maps before they can be updated
this.nearbyPlayers.removePlayer(player);
this.level.playerChunkLoader.removePlayer(player); // Paper - replace chunk loader
@@ -60,7 +60,7 @@ index 8d12a6da0f0679fd14c2a498f9645bd04b2d8ed7..290a231deb203eb46cb91eb23c28d8e9
}
void updateMaps(ServerPlayer player) {
-@@ -170,6 +200,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -169,6 +199,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Note: players need to be explicitly added to distance maps before they can be updated
this.nearbyPlayers.tickPlayer(player);
this.level.playerChunkLoader.updatePlayer(player); // Paper - replace chunk loader
@@ -75,7 +75,7 @@ index 8d12a6da0f0679fd14c2a498f9645bd04b2d8ed7..290a231deb203eb46cb91eb23c28d8e9
}
// Paper end
// Paper start
-@@ -257,6 +295,48 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -256,6 +294,48 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.regionManagers.add(this.dataRegionManager);
this.nearbyPlayers = new io.papermc.paper.util.player.NearbyPlayers(this.level);
// Paper end
@@ -124,7 +124,7 @@ index 8d12a6da0f0679fd14c2a498f9645bd04b2d8ed7..290a231deb203eb46cb91eb23c28d8e9
}
// Paper start
-@@ -930,17 +1010,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -929,17 +1009,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
public void move(ServerPlayer player) {
@@ -143,7 +143,7 @@ index 8d12a6da0f0679fd14c2a498f9645bd04b2d8ed7..290a231deb203eb46cb91eb23c28d8e9
SectionPos sectionposition = player.getLastSectionPos();
SectionPos sectionposition1 = SectionPos.of((EntityAccess) player);
-@@ -1017,7 +1087,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1016,7 +1086,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
entity.tracker = playerchunkmap_entitytracker; // Paper - Fast access to tracker
this.entityMap.put(entity.getId(), playerchunkmap_entitytracker);
@@ -152,7 +152,7 @@ index 8d12a6da0f0679fd14c2a498f9645bd04b2d8ed7..290a231deb203eb46cb91eb23c28d8e9
if (entity instanceof ServerPlayer) {
ServerPlayer entityplayer = (ServerPlayer) entity;
-@@ -1061,9 +1131,37 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1060,9 +1130,37 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
entity.tracker = null; // Paper - We're no longer tracked
}
@@ -192,7 +192,7 @@ index 8d12a6da0f0679fd14c2a498f9645bd04b2d8ed7..290a231deb203eb46cb91eb23c28d8e9
List<ServerPlayer> list = Lists.newArrayList();
List<ServerPlayer> list1 = this.level.players();
ObjectIterator objectiterator = this.entityMap.values().iterator();
-@@ -1213,6 +1311,42 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1212,6 +1310,42 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.lastSectionPos = SectionPos.of((EntityAccess) entity);
}
diff --git a/patches/server/0413-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0413-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
index bb80c18fdf..8b0abf5a24 100644
--- a/patches/server/0413-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
+++ b/patches/server/0413-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
@@ -76,7 +76,7 @@ index 7f5ecea0ee78a534d7c56fa9e3ad2117b5192c0a..ac918da8234553e4d88664b240feddc1
@Override
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index b2e980c1f2e2ec417f75fbd7bdd2188fdb4eba23..898403dad5e9bac4b565e1c75871245fe5cd7908 100644
+index 3dfbd1225b0c1ee6b6fb2e842efdb1a8ff2c26c6..030d6c0d067dacf4f9603bdfb21acca8cafbeff0 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1208,7 +1208,7 @@ public class ServerPlayer extends Player {
@@ -117,10 +117,10 @@ index dfe8d6d8b592a7dc9b1f1d7fb68d0960dbeb387f..1b43d61f3464218bdf5221ffbf87a728
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 fcf2571a7aa9e93a82171d4a8ae8c11ee7452994..b57554333fd90da1f1ebc006cb1d0ebbfca9a499 100644
+index a834b763cf9190bf0effb02fe08b97861d5160cb..5a2f4712417ca48601674d6719590fab5ca336e7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1159,7 +1159,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1158,7 +1158,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setDifficulty(Difficulty difficulty) {
diff --git a/patches/server/0417-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/patches/server/0417-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
index 3fdf6f1d14..110c1ed390 100644
--- a/patches/server/0417-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
+++ b/patches/server/0417-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
@@ -44,10 +44,10 @@ index 1b43d61f3464218bdf5221ffbf87a7280fa8028c..84ff901c4805516bbe438b4ad808e75c
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 b57554333fd90da1f1ebc006cb1d0ebbfca9a499..2d90be2537faf281adc50f856daf3b4e8b842568 100644
+index dac7ea0b6b8c5ded3e17847cedc81805de80cbe7..453e8160c60fd41b06e84211340f762616422479 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -283,7 +283,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -282,7 +282,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public Chunk getChunkAt(int x, int z) {
@@ -62,7 +62,7 @@ index b57554333fd90da1f1ebc006cb1d0ebbfca9a499..2d90be2537faf281adc50f856daf3b4e
return new CraftChunk(chunk);
}
-@@ -297,6 +303,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -296,6 +302,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return new CraftChunk(this.getHandle(), x, z);
}
@@ -75,7 +75,7 @@ index b57554333fd90da1f1ebc006cb1d0ebbfca9a499..2d90be2537faf281adc50f856daf3b4e
@Override
public Chunk getChunkAt(Block block) {
Preconditions.checkArgument(block != null, "null block");
-@@ -362,7 +374,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -361,7 +373,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 b57554333fd90da1f1ebc006cb1d0ebbfca9a499..2d90be2537faf281adc50f856daf3b4e
}
return true;
-@@ -448,9 +460,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -447,9 +459,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot
// Paper start - Optimize this method
ChunkPos chunkPos = new ChunkPos(x, z);
@@ -98,7 +98,7 @@ index b57554333fd90da1f1ebc006cb1d0ebbfca9a499..2d90be2537faf281adc50f856daf3b4e
if (immediate == null) {
immediate = world.getChunkSource().chunkMap.getUnloadingChunk(x, z);
}
-@@ -458,7 +473,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -457,7 +472,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
if (!(immediate instanceof ImposterProtoChunk) && !(immediate instanceof net.minecraft.world.level.chunk.LevelChunk)) {
return false; // not full status
}
@@ -107,7 +107,7 @@ index b57554333fd90da1f1ebc006cb1d0ebbfca9a499..2d90be2537faf281adc50f856daf3b4e
world.getChunk(x, z); // make sure we're at ticket level 32 or lower
return true;
}
-@@ -484,7 +499,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -483,7 +498,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
// we do this so we do not re-read the chunk data on disk
}
@@ -116,7 +116,7 @@ index b57554333fd90da1f1ebc006cb1d0ebbfca9a499..2d90be2537faf281adc50f856daf3b4e
world.getChunkSource().getChunk(x, z, ChunkStatus.FULL, true);
return true;
// Paper end
-@@ -2269,6 +2284,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2266,6 +2281,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/0423-Support-components-in-ItemMeta.patch b/patches/server/0423-Support-components-in-ItemMeta.patch
index d385e9af6e..0a8703c79b 100644
--- a/patches/server/0423-Support-components-in-ItemMeta.patch
+++ b/patches/server/0423-Support-components-in-ItemMeta.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Support components in ItemMeta
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 8548ed80555bc2b80f8fa1a699ab668307122b8e..a93847d69729fade6b81efb41627026ae4aec282 100644
+index 7cd7e275c997bbf0ad7aab87aabc27aa722b915c..b9eca4b39cc265cb2d9b9f20ee6f803bea748c7d 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -878,11 +878,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
@@ -32,7 +32,7 @@ index 8548ed80555bc2b80f8fa1a699ab668307122b8e..a93847d69729fade6b81efb41627026a
@Override
public boolean hasDisplayName() {
return this.displayName != null;
-@@ -1025,6 +1037,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1023,6 +1035,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return this.lore == null ? null : new ArrayList<String>(Lists.transform(this.lore, CraftChatMessage::fromJSONComponent));
}
@@ -47,7 +47,7 @@ index 8548ed80555bc2b80f8fa1a699ab668307122b8e..a93847d69729fade6b81efb41627026a
@Override
public void setLore(List<String> lore) {
if (lore == null || lore.isEmpty()) {
-@@ -1039,6 +1059,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1037,6 +1057,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
}
}
@@ -69,7 +69,7 @@ index 8548ed80555bc2b80f8fa1a699ab668307122b8e..a93847d69729fade6b81efb41627026a
@Override
public boolean hasCustomModelData() {
return this.customModelData != null;
-@@ -1507,6 +1542,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1505,6 +1540,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
}
for (Object object : addFrom) {
diff --git a/patches/server/0438-Brand-support.patch b/patches/server/0438-Brand-support.patch
index dd66ab9904..320fe5ad2f 100644
--- a/patches/server/0438-Brand-support.patch
+++ b/patches/server/0438-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 25c5f23b859961c792b2ec08404171eea1aedba7..478abaffd1a80949b96f1c1774c98134be92e5ac 100644
+index 14126f4f2f0c8d5ae06275fd735178a2c4d3efc0..f73988baef278bf603fc53a8a371514a094d9c37 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -278,6 +278,7 @@ public class ServerPlayer extends Player {
@@ -57,10 +57,10 @@ index 44aa178968c87fa72023a2c0f33c1a8123f3db72..f489b207cd3b62a33723f2e9ed0f4602
} 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 5e7145653fef2f91d5f40f24ea0bcdea428dc80a..ef42716a18b64af36105baae49742b3699cc12a9 100644
+index 8f9072b19a7a8eeede0230e98b2e6dd0240d0244..cce9485ec1d98d3bc38ea37dc8610e2707f7d456 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3033,6 +3033,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3032,6 +3032,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper end
};
diff --git a/patches/server/0439-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/server/0439-Add-playPickupItemAnimation-to-LivingEntity.patch
index 3ff92c8b68..c5cc478a99 100644
--- a/patches/server/0439-Add-playPickupItemAnimation-to-LivingEntity.patch
+++ b/patches/server/0439-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 ac85635bb5ff698712ffe7c48e8aa55d20e0302e..d79f0c81bc7758f91c3f69b084f571af36bfa32f 100644
+index 6a34b4ed817c3be31d5103f82c427fdcd40d47c0..c68a18f50428282cd3641561cdc9690b5d88b125 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -924,5 +924,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -923,5 +923,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
((Mob) getHandle()).getJumpControl().jump();
}
}
diff --git a/patches/server/0441-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0441-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch
index 43a7633250..db95a1991f 100644
--- a/patches/server/0441-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch
+++ b/patches/server/0441-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch
@@ -21,10 +21,10 @@ index 17802108f41c98b77c89922451ee56b5ba2dcde2..0bd086f67f5d1f06f66499ae961c71e7
// 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 2d90be2537faf281adc50f856daf3b4e8b842568..16df867ff996d33dc08831200d172633c9d68612 100644
+index 8c36d0d130eba1ff16c500d8fde62b88430e90ef..5d8d2a9a4267477b6bf9d7209508a26abb0920fe 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -263,12 +263,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -262,12 +262,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/0449-Fix-hex-colors-not-working-in-some-kick-messages.patch b/patches/server/0449-Fix-hex-colors-not-working-in-some-kick-messages.patch
index 176fafac47..e1a897c3f5 100644
--- a/patches/server/0449-Fix-hex-colors-not-working-in-some-kick-messages.patch
+++ b/patches/server/0449-Fix-hex-colors-not-working-in-some-kick-messages.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix hex colors not working in some kick messages
diff --git a/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java
-index e8cf9eafe0908bc9b716d9b6ead97828a43413ec..2ee5c884571228a353120f658f1a2d39373ea4ca 100644
+index 21aafb1ea51769659462d722aa318460b37cbc1c..ea4a7186b707e471d5f3972d21502b7a316e0d55 100644
--- a/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java
@@ -77,12 +77,12 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL
@@ -15,7 +15,7 @@ index e8cf9eafe0908bc9b716d9b6ead97828a43413ec..2ee5c884571228a353120f658f1a2d39
- MutableComponent ichatmutablecomponent;
+ Component ichatmutablecomponent; // Paper - Fix hex colors not working in some kick messages
- if (packet.protocolVersion() < 754) {
+ if (packet.protocolVersion() < SharedConstants.getCurrentVersion().getProtocolVersion()) { // Spigot - SPIGOT-7546: Handle version check correctly for outdated client message
- ichatmutablecomponent = Component.literal( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedClientMessage.replaceAll("'", "''"), SharedConstants.getCurrentVersion().getName() ) ); // Spigot
+ ichatmutablecomponent = org.bukkit.craftbukkit.util.CraftChatMessage.fromString( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedClientMessage.replaceAll("'", "''"), SharedConstants.getCurrentVersion().getName() ) )[0]; // Spigot // Paper - Fix hex colors not working in some kick messages
} else {
diff --git a/patches/server/0484-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0484-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
index e1e29528e6..70a4304c3a 100644
--- a/patches/server/0484-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
+++ b/patches/server/0484-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 ef42716a18b64af36105baae49742b3699cc12a9..e1e6b672b90a8d6b725ec06041f15f2d23fbdaa5 100644
+index cce9485ec1d98d3bc38ea37dc8610e2707f7d456..7b0c0c64f082cbf26ebce766c31835432ede7ad3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2596,7 +2596,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2595,7 +2595,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/0485-Add-LivingEntity-clearActiveItem.patch b/patches/server/0485-Add-LivingEntity-clearActiveItem.patch
index a75cf4d032..b5388aafa4 100644
--- a/patches/server/0485-Add-LivingEntity-clearActiveItem.patch
+++ b/patches/server/0485-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 d79f0c81bc7758f91c3f69b084f571af36bfa32f..6fdf8460dcb396f2c83f1394bc9cfbb3f35cbd48 100644
+index c68a18f50428282cd3641561cdc9690b5d88b125..ac8a148c6d9f0e25ab34d32b840efd42eb8ab46a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -891,6 +891,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -890,6 +890,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
return getHandle().getUseItem().asBukkitMirror();
}
diff --git a/patches/server/0496-Expose-LivingEntity-hurt-direction.patch b/patches/server/0496-Expose-LivingEntity-hurt-direction.patch
index 0bcdac5c1d..43d3dccdaf 100644
--- a/patches/server/0496-Expose-LivingEntity-hurt-direction.patch
+++ b/patches/server/0496-Expose-LivingEntity-hurt-direction.patch
@@ -36,10 +36,10 @@ index 7406094fc58e5df4f5d553bb882c75ba6ef766a9..faaed968a3e771c1db3957e2b42acf6d
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 6fdf8460dcb396f2c83f1394bc9cfbb3f35cbd48..022741182869348e377746bf2a3792a07155abc5 100644
+index ac8a148c6d9f0e25ab34d32b840efd42eb8ab46a..f108af0f9047ce8d0ee402838ecbf7840d55ba54 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -936,5 +936,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -935,5 +935,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/0513-Added-WorldGameRuleChangeEvent.patch b/patches/server/0513-Added-WorldGameRuleChangeEvent.patch
index 551deb10be..dfdde05b9d 100644
--- a/patches/server/0513-Added-WorldGameRuleChangeEvent.patch
+++ b/patches/server/0513-Added-WorldGameRuleChangeEvent.patch
@@ -64,10 +64,10 @@ index 334001cb749600c973c82391e1c11f0e40bd2dfb..2a480026c3bfb06e6556fe5b11d9712c
public int get() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 16df867ff996d33dc08831200d172633c9d68612..cb9db52f7dba755146713be45cb66905e065336f 100644
+index 37726d7bf6e179130e7ce4f28c2a5d9a26d13c09..69dfd085369bdf0c0bd12b4cb6aa043af0159352 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1879,8 +1879,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1927,8 +1927,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
if (!this.isGameRule(rule)) return false;
@@ -82,7 +82,7 @@ index 16df867ff996d33dc08831200d172633c9d68612..cb9db52f7dba755146713be45cb66905
handle.onChanged(this.getHandle().getServer());
return true;
}
-@@ -1916,8 +1921,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1964,8 +1969,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
if (!this.isGameRule(rule.getName())) return false;
diff --git a/patches/server/0525-Add-StructuresLocateEvent.patch b/patches/server/0525-Add-StructuresLocateEvent.patch
index 982ef1e426..1a76378c9c 100644
--- a/patches/server/0525-Add-StructuresLocateEvent.patch
+++ b/patches/server/0525-Add-StructuresLocateEvent.patch
@@ -47,7 +47,7 @@ index 0000000000000000000000000000000000000000..2667067fd13f61e0464ba88ae4e4a707
+ }
+}
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 4da303d7e15496f04f0e27bfb613176bc2a72b76..3c7920721914588a3e7eaf1faff46f7305823416 100644
+index f430589fc2cdda23b099b20ace9818e8a8eb7278..0a21632a3e02690a8edcc17ac25d2551a8964bbe 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
@@ -121,6 +121,24 @@ public abstract class ChunkGenerator {
@@ -57,7 +57,7 @@ index 4da303d7e15496f04f0e27bfb613176bc2a72b76..3c7920721914588a3e7eaf1faff46f73
+ // Paper start - StructuresLocateEvent
+ final org.bukkit.World bukkitWorld = world.getWorld();
+ final org.bukkit.Location origin = io.papermc.paper.util.MCUtil.toLocation(world, center);
-+ final List<org.bukkit.generator.structure.Structure> apiStructures = structures.stream().map(Holder::value).map(nms -> org.bukkit.craftbukkit.generator.structure.CraftStructure.minecraftToBukkit(nms, world.registryAccess())).toList();
++ final List<org.bukkit.generator.structure.Structure> apiStructures = structures.stream().map(Holder::value).map(nms -> org.bukkit.craftbukkit.generator.structure.CraftStructure.minecraftToBukkit(nms)).toList();
+ if (!apiStructures.isEmpty()) {
+ final io.papermc.paper.event.world.StructuresLocateEvent event = new io.papermc.paper.event.world.StructuresLocateEvent(bukkitWorld, origin, apiStructures, radius, skipReferencedStructures);
+ if (!event.callEvent()) {
diff --git a/patches/server/0543-living-entity-allow-attribute-registration.patch b/patches/server/0543-living-entity-allow-attribute-registration.patch
index e08d2f029a..0ef6956771 100644
--- a/patches/server/0543-living-entity-allow-attribute-registration.patch
+++ b/patches/server/0543-living-entity-allow-attribute-registration.patch
@@ -38,10 +38,10 @@ index ea48f1119a940056c37d1d203437bfbfdf13663b..a3f989fd1775adbb84d197c51e22c188
+ // 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 022741182869348e377746bf2a3792a07155abc5..762220f4e8762e8c6ec45cd22cb745fe676543ec 100644
+index f108af0f9047ce8d0ee402838ecbf7840d55ba54..d3f97ba1b03e050b10553ea536bc26a7bfc5b976 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -714,6 +714,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -713,6 +713,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
return this.getHandle().craftAttributes.getAttribute(attribute);
}
diff --git a/patches/server/0573-More-World-API.patch b/patches/server/0573-More-World-API.patch
index e987c8121f..7200ddd8ef 100644
--- a/patches/server/0573-More-World-API.patch
+++ b/patches/server/0573-More-World-API.patch
@@ -5,11 +5,11 @@ 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 cb9db52f7dba755146713be45cb66905e065336f..6252d231e072fcd1fd8ca2eb0b74c66cac9950e9 100644
+index 69dfd085369bdf0c0bd12b4cb6aa043af0159352..52baae96454715658505eba2cf9472aa71c9a1eb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -2125,6 +2125,53 @@ public class CraftWorld extends CraftRegionAccessor implements World {
- return new CraftStructureSearchResult(CraftStructure.minecraftToBukkit(found.getSecond().value(), this.getHandle().registryAccess()), CraftLocation.toBukkit(found.getFirst(), this));
+@@ -2173,6 +2173,53 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+ return new CraftStructureSearchResult(CraftStructure.minecraftToBukkit(found.getSecond().value()), CraftLocation.toBukkit(found.getFirst(), this));
}
+ // Paper start
diff --git a/patches/server/0592-More-Enchantment-API.patch b/patches/server/0592-More-Enchantment-API.patch
index 5544903e53..1524d5b25b 100644
--- a/patches/server/0592-More-Enchantment-API.patch
+++ b/patches/server/0592-More-Enchantment-API.patch
@@ -78,10 +78,10 @@ index 92922e8eef7fa4638a01f3cefc4c46a1451e40e7..4daf2c54c7127e8e091ffc49362f2885
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 762220f4e8762e8c6ec45cd22cb745fe676543ec..85e33cb959eada67f3a4ac93f979bf96fc0fb98d 100644
+index d3f97ba1b03e050b10553ea536bc26a7bfc5b976..2ae8f8e092841f00c28efffc6516b8ec5981675c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -953,5 +953,21 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -952,5 +952,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/0599-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0599-Add-cause-to-Weather-ThunderChangeEvents.patch
index 3c5d0139b6..8547a1f008 100644
--- a/patches/server/0599-Add-cause-to-Weather-ThunderChangeEvents.patch
+++ b/patches/server/0599-Add-cause-to-Weather-ThunderChangeEvents.patch
@@ -95,10 +95,10 @@ index f5ac36fa54f3d3b39de103c95abb9ca3adfe8dda..47266d2b86e7f2022de7ea0c9347b4f5
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 6252d231e072fcd1fd8ca2eb0b74c66cac9950e9..7df7b95bf81fde54bb88554fb7509b4092094bda 100644
+index 52baae96454715658505eba2cf9472aa71c9a1eb..e975c92d5ba2928ba0186d0253deedfa4ec9bb2c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1195,7 +1195,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1243,7 +1243,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setStorm(boolean hasStorm) {
@@ -107,7 +107,7 @@ index 6252d231e072fcd1fd8ca2eb0b74c66cac9950e9..7df7b95bf81fde54bb88554fb7509b40
this.setWeatherDuration(0); // Reset weather duration (legacy behaviour)
this.setClearWeatherDuration(0); // Reset clear weather duration (reset "/weather clear" commands)
}
-@@ -1217,7 +1217,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1265,7 +1265,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setThundering(boolean thundering) {
diff --git a/patches/server/0613-Line-Of-Sight-Changes.patch b/patches/server/0613-Line-Of-Sight-Changes.patch
index de0b4b6069..810215b75d 100644
--- a/patches/server/0613-Line-Of-Sight-Changes.patch
+++ b/patches/server/0613-Line-Of-Sight-Changes.patch
@@ -5,7 +5,7 @@ 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 d6b80be711b11758ef0bb3187dbcb6e597ef35d3..4a11bf06a725a5c1927e24ac4ad066f7631a430a 100644
+index 383c39ac381f9a86693abb7935b5b142b889d7be..ca6e0f27b9d0c5d867909abd89262132bf1aa6bd 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 {
@@ -45,10 +45,10 @@ index 2667822413c329fc004aad826e5890ab4dc5bfeb..eeb1bd05d4407224aefa26b5ae2f2a8d
// 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 85e33cb959eada67f3a4ac93f979bf96fc0fb98d..7857ce7b0404f1f41988d02eead5394946607854 100644
+index 2ae8f8e092841f00c28efffc6516b8ec5981675c..1d94e8276b49de47cdd7570774c7bb13f757d966 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -587,6 +587,23 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -586,6 +586,23 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
return this.getHandle().hasLineOfSight(((CraftEntity) other).getHandle());
}
diff --git a/patches/server/0614-add-per-world-spawn-limits.patch b/patches/server/0614-add-per-world-spawn-limits.patch
index 86c78ef31d..b03a6ab08e 100644
--- a/patches/server/0614-add-per-world-spawn-limits.patch
+++ b/patches/server/0614-add-per-world-spawn-limits.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] add per world spawn limits
Taken from #2982. Credit to Chasewhip8
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 7df7b95bf81fde54bb88554fb7509b4092094bda..a5a6a1a946451e3f3f4f88eccb30eb3e870c58de 100644
+index bc2c56b0a3ea8e9107c3ef798bb058ae1ff41652..6c91471b5459ca45b532934d25c682ddc5b00042 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -216,6 +216,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -215,6 +215,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
this.biomeProvider = biomeProvider;
this.environment = env;
diff --git a/patches/server/0618-Missing-Entity-API.patch b/patches/server/0618-Missing-Entity-API.patch
index 98258b19ac..a54c23730d 100644
--- a/patches/server/0618-Missing-Entity-API.patch
+++ b/patches/server/0618-Missing-Entity-API.patch
@@ -707,10 +707,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 7857ce7b0404f1f41988d02eead5394946607854..524633826140227b7d0efa292cb2378922d9a6e6 100644
+index 1d94e8276b49de47cdd7570774c7bb13f757d966..db846e623bdf8231991d30c88dcf858d66836ca4 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -888,6 +888,22 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -887,6 +887,22 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
this.getHandle().persistentInvisibility = invisible;
this.getHandle().setSharedFlag(5, invisible);
}
diff --git a/patches/server/0627-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0626-Don-t-apply-cramming-damage-to-players.patch
index ef71dafd53..858b7224d3 100644
--- a/patches/server/0627-Don-t-apply-cramming-damage-to-players.patch
+++ b/patches/server/0626-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 ebbf5f835d619c90eae4240dbd2eb665de1e601a..d08111e8107ddffdeff3fc044fc18b915d24433c 100644
+index 83ba8472a5f3dc2c5d804e49310d8d0a2332a709..526daf9b8475db623ed3ae49a7fa3b48304c9bb4 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/0626-Fix-incorrect-message-for-outdated-client.patch b/patches/server/0626-Fix-incorrect-message-for-outdated-client.patch
deleted file mode 100644
index c668a16be5..0000000000
--- a/patches/server/0626-Fix-incorrect-message-for-outdated-client.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: sulu5890 <[email protected]>
-Date: Sun, 11 Jul 2021 19:34:03 -0500
-Subject: [PATCH] Fix incorrect message for outdated client
-
-
-diff --git a/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java
-index 0b3d6b309ea653d44bcfcd6dd418f692e040c87b..c6bcf4a5d5c48e6f73b8e5d3662ec0d7c288c6c8 100644
---- a/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java
-+++ b/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java
-@@ -82,7 +82,7 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL
- if (packet.protocolVersion() != SharedConstants.getCurrentVersion().getProtocolVersion()) {
- Component ichatmutablecomponent; // Paper - Fix hex colors not working in some kick messages
-
-- if (packet.protocolVersion() < 754) {
-+ if (packet.protocolVersion() < SharedConstants.getCurrentVersion().getProtocolVersion()) { // Paper - Fix incorrect message for outdated clients
- ichatmutablecomponent = org.bukkit.craftbukkit.util.CraftChatMessage.fromString( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedClientMessage.replaceAll("'", "''"), SharedConstants.getCurrentVersion().getName() ) )[0]; // Spigot // Paper - Fix hex colors not working in some kick messages
- } else {
- ichatmutablecomponent = org.bukkit.craftbukkit.util.CraftChatMessage.fromString( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedServerMessage.replaceAll("'", "''"), SharedConstants.getCurrentVersion().getName() ) )[0]; // Spigot // Paper - Fix hex colors not working in some kick messages
diff --git a/patches/server/0628-Rate-options-and-timings-for-sensors-and-behaviors.patch b/patches/server/0627-Rate-options-and-timings-for-sensors-and-behaviors.patch
index 5ef4de39f3..5ef4de39f3 100644
--- a/patches/server/0628-Rate-options-and-timings-for-sensors-and-behaviors.patch
+++ b/patches/server/0627-Rate-options-and-timings-for-sensors-and-behaviors.patch
diff --git a/patches/server/0629-Add-a-bunch-of-missing-forceDrop-toggles.patch b/patches/server/0628-Add-a-bunch-of-missing-forceDrop-toggles.patch
index 4a998000b2..4a998000b2 100644
--- a/patches/server/0629-Add-a-bunch-of-missing-forceDrop-toggles.patch
+++ b/patches/server/0628-Add-a-bunch-of-missing-forceDrop-toggles.patch
diff --git a/patches/server/0630-Stinger-API.patch b/patches/server/0629-Stinger-API.patch
index e804ac81fd..a23231bd03 100644
--- a/patches/server/0630-Stinger-API.patch
+++ b/patches/server/0629-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 524633826140227b7d0efa292cb2378922d9a6e6..9e42117e605efbbbbf91f10b385ef76f9cf884b6 100644
+index db846e623bdf8231991d30c88dcf858d66836ca4..bd5e80a04a035f670160a5eef94805ab90372cf6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -338,7 +338,28 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -337,7 +337,28 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
}
// Paper end
}
diff --git a/patches/server/0631-Fix-incosistency-issue-with-empty-map-items-in-CB.patch b/patches/server/0630-Fix-incosistency-issue-with-empty-map-items-in-CB.patch
index d2553b1897..d2553b1897 100644
--- a/patches/server/0631-Fix-incosistency-issue-with-empty-map-items-in-CB.patch
+++ b/patches/server/0630-Fix-incosistency-issue-with-empty-map-items-in-CB.patch
diff --git a/patches/server/0632-Add-System.out-err-catcher.patch b/patches/server/0631-Add-System.out-err-catcher.patch
index 0b6cdc01dc..0b6cdc01dc 100644
--- a/patches/server/0632-Add-System.out-err-catcher.patch
+++ b/patches/server/0631-Add-System.out-err-catcher.patch
diff --git a/patches/server/0633-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/server/0632-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
index f4242ad30e..f4242ad30e 100644
--- a/patches/server/0633-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
+++ b/patches/server/0632-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
diff --git a/patches/server/0634-Improve-boat-collision-performance.patch b/patches/server/0633-Improve-boat-collision-performance.patch
index f201f2e4fd..7ea9341f29 100644
--- a/patches/server/0634-Improve-boat-collision-performance.patch
+++ b/patches/server/0633-Improve-boat-collision-performance.patch
@@ -17,7 +17,7 @@ index 8188febd6f1039a31619b42af23df18afd2e985c..e67a2aa92f9c9bb5a4ba9fc869aa738a
};
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index ddfac0ec3baeff8596bea7e742707aa1fddfc1c2..b0e8a2f4a223cfe3652ad45c26bcf96f21bb7853 100644
+index 0e004d32250fea991c66caead50f2f64dbe0bbf7..b137ce3be71fa92cb196f5725dd7cfc71f93fcf7 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1413,7 +1413,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0635-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0634-Prevent-AFK-kick-while-watching-end-credits.patch
index 5fa1f46e86..5fa1f46e86 100644
--- a/patches/server/0635-Prevent-AFK-kick-while-watching-end-credits.patch
+++ b/patches/server/0634-Prevent-AFK-kick-while-watching-end-credits.patch
diff --git a/patches/server/0636-Allow-skipping-writing-of-comments-to-server.propert.patch b/patches/server/0635-Allow-skipping-writing-of-comments-to-server.propert.patch
index 9fba827e12..591481a8b5 100644
--- a/patches/server/0636-Allow-skipping-writing-of-comments-to-server.propert.patch
+++ b/patches/server/0635-Allow-skipping-writing-of-comments-to-server.propert.patch
@@ -8,7 +8,7 @@ Makes less git noise, as it won't update the date every single time
Use -DPaper.skipServerPropertiesComments=true flag to disable writing it
diff --git a/src/main/java/net/minecraft/server/dedicated/Settings.java b/src/main/java/net/minecraft/server/dedicated/Settings.java
-index ca23639f15107ccd43b874ae38fa37279b827a8f..faca42b2b5b20559f98c300b7011b67165391a0d 100644
+index d9ad5087d152a2233d16743768d9ce885f32071d..15bd96f42fa6add2455e6e6a29deb8e6ff643ca0 100644
--- a/src/main/java/net/minecraft/server/dedicated/Settings.java
+++ b/src/main/java/net/minecraft/server/dedicated/Settings.java
@@ -29,6 +29,7 @@ public abstract class Settings<T extends Settings<T>> {
diff --git a/patches/server/0637-Add-PlayerSetSpawnEvent.patch b/patches/server/0636-Add-PlayerSetSpawnEvent.patch
index ea8881662a..5eb8a9c573 100644
--- a/patches/server/0637-Add-PlayerSetSpawnEvent.patch
+++ b/patches/server/0636-Add-PlayerSetSpawnEvent.patch
@@ -49,7 +49,7 @@ index a2d0699e8427b2262a2396495111125eccafbb66..d797637f61bdf8a424f56fbb48e28b7c
}
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index d08111e8107ddffdeff3fc044fc18b915d24433c..b1be9c5d7346841ea4c0f9b8aec5e7c4d9367dc8 100644
+index 526daf9b8475db623ed3ae49a7fa3b48304c9bb4..bbb394ca3b3b699f2c7d32ad5aff691375b4323e 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1355,7 +1355,7 @@ public class ServerPlayer extends Player {
@@ -187,7 +187,7 @@ index ecaa7f0b2bf795f16187f11fa27f6d5d435ccbfe..c83ffba568f33323b0f8b9a03fa0b7bb
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 2f12019edc3dd578d66f70d0510c16270fa9193d..d8c4f8573498fba43a0db61c6a4363be34ce45e8 100644
+index ab3787d4a6d8d0d5b557264f8eb76ff8b4d33db2..bf5c1e9a7742a327e1d35c3409d6623ae0f8ab48 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1318,9 +1318,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0638-Make-hoppers-respect-inventory-max-stack-size.patch b/patches/server/0637-Make-hoppers-respect-inventory-max-stack-size.patch
index 45531b8594..45531b8594 100644
--- a/patches/server/0638-Make-hoppers-respect-inventory-max-stack-size.patch
+++ b/patches/server/0637-Make-hoppers-respect-inventory-max-stack-size.patch
diff --git a/patches/server/0639-Optimize-entity-tracker-passenger-checks.patch b/patches/server/0638-Optimize-entity-tracker-passenger-checks.patch
index 524e1fabfb..524e1fabfb 100644
--- a/patches/server/0639-Optimize-entity-tracker-passenger-checks.patch
+++ b/patches/server/0638-Optimize-entity-tracker-passenger-checks.patch
diff --git a/patches/server/0640-Config-option-for-Piglins-guarding-chests.patch b/patches/server/0639-Config-option-for-Piglins-guarding-chests.patch
index 63865bec49..63865bec49 100644
--- a/patches/server/0640-Config-option-for-Piglins-guarding-chests.patch
+++ b/patches/server/0639-Config-option-for-Piglins-guarding-chests.patch
diff --git a/patches/server/0641-Added-EntityDamageItemEvent.patch b/patches/server/0640-Added-EntityDamageItemEvent.patch
index ef1aeee736..ef1aeee736 100644
--- a/patches/server/0641-Added-EntityDamageItemEvent.patch
+++ b/patches/server/0640-Added-EntityDamageItemEvent.patch
diff --git a/patches/server/0642-Optimize-indirect-passenger-iteration.patch b/patches/server/0641-Optimize-indirect-passenger-iteration.patch
index 04f5ad2db9..04f5ad2db9 100644
--- a/patches/server/0642-Optimize-indirect-passenger-iteration.patch
+++ b/patches/server/0641-Optimize-indirect-passenger-iteration.patch
diff --git a/patches/server/0643-Configurable-item-frame-map-cursor-update-interval.patch b/patches/server/0642-Configurable-item-frame-map-cursor-update-interval.patch
index a1e4f933cb..a1e4f933cb 100644
--- a/patches/server/0643-Configurable-item-frame-map-cursor-update-interval.patch
+++ b/patches/server/0642-Configurable-item-frame-map-cursor-update-interval.patch
diff --git a/patches/server/0644-Make-EntityUnleashEvent-cancellable.patch b/patches/server/0643-Make-EntityUnleashEvent-cancellable.patch
index 027330d9f9..027330d9f9 100644
--- a/patches/server/0644-Make-EntityUnleashEvent-cancellable.patch
+++ b/patches/server/0643-Make-EntityUnleashEvent-cancellable.patch
diff --git a/patches/server/0645-Clear-bucket-NBT-after-dispense.patch b/patches/server/0644-Clear-bucket-NBT-after-dispense.patch
index e0ba56c333..e0ba56c333 100644
--- a/patches/server/0645-Clear-bucket-NBT-after-dispense.patch
+++ b/patches/server/0644-Clear-bucket-NBT-after-dispense.patch
diff --git a/patches/server/0646-Change-EnderEye-target-without-changing-other-things.patch b/patches/server/0645-Change-EnderEye-target-without-changing-other-things.patch
index 48c5524ab8..48c5524ab8 100644
--- a/patches/server/0646-Change-EnderEye-target-without-changing-other-things.patch
+++ b/patches/server/0645-Change-EnderEye-target-without-changing-other-things.patch
diff --git a/patches/server/0647-Add-BlockBreakBlockEvent.patch b/patches/server/0646-Add-BlockBreakBlockEvent.patch
index bd3d51aa81..bd3d51aa81 100644
--- a/patches/server/0647-Add-BlockBreakBlockEvent.patch
+++ b/patches/server/0646-Add-BlockBreakBlockEvent.patch
diff --git a/patches/server/0648-Option-to-prevent-NBT-copy-in-smithing-recipes.patch b/patches/server/0647-Option-to-prevent-NBT-copy-in-smithing-recipes.patch
index bd57709b19..bd57709b19 100644
--- a/patches/server/0648-Option-to-prevent-NBT-copy-in-smithing-recipes.patch
+++ b/patches/server/0647-Option-to-prevent-NBT-copy-in-smithing-recipes.patch
diff --git a/patches/server/0649-More-CommandBlock-API.patch b/patches/server/0648-More-CommandBlock-API.patch
index 65a5093980..65a5093980 100644
--- a/patches/server/0649-More-CommandBlock-API.patch
+++ b/patches/server/0648-More-CommandBlock-API.patch
diff --git a/patches/server/0650-Add-missing-team-sidebar-display-slots.patch b/patches/server/0649-Add-missing-team-sidebar-display-slots.patch
index 0d7e79e26d..0d7e79e26d 100644
--- a/patches/server/0650-Add-missing-team-sidebar-display-slots.patch
+++ b/patches/server/0649-Add-missing-team-sidebar-display-slots.patch
diff --git a/patches/server/0651-Add-back-EntityPortalExitEvent.patch b/patches/server/0650-Add-back-EntityPortalExitEvent.patch
index 97155b3279..97155b3279 100644
--- a/patches/server/0651-Add-back-EntityPortalExitEvent.patch
+++ b/patches/server/0650-Add-back-EntityPortalExitEvent.patch
diff --git a/patches/server/0652-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0651-Add-methods-to-find-targets-for-lightning-strikes.patch
index 25eb515f25..f3db9c89d3 100644
--- a/patches/server/0652-Add-methods-to-find-targets-for-lightning-strikes.patch
+++ b/patches/server/0651-Add-methods-to-find-targets-for-lightning-strikes.patch
@@ -31,10 +31,10 @@ index 107e2b2a159838301e173323df1747954a52b104..31d6fa97fcd1572fd291870082309469
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 a5a6a1a946451e3f3f4f88eccb30eb3e870c58de..19db9c2447ffc2321e2f8a3b86f561d29b9eb6de 100644
+index 6c91471b5459ca45b532934d25c682ddc5b00042..e58fa390ec085d63a240efc5167289f21bb3cc54 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -702,6 +702,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -701,6 +701,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return (LightningStrike) lightning.getBukkitEntity();
}
diff --git a/patches/server/0653-Get-entity-default-attributes.patch b/patches/server/0652-Get-entity-default-attributes.patch
index 0bd7acf63f..0bd7acf63f 100644
--- a/patches/server/0653-Get-entity-default-attributes.patch
+++ b/patches/server/0652-Get-entity-default-attributes.patch
diff --git a/patches/server/0654-Left-handed-API.patch b/patches/server/0653-Left-handed-API.patch
index 41836756f3..41836756f3 100644
--- a/patches/server/0654-Left-handed-API.patch
+++ b/patches/server/0653-Left-handed-API.patch
diff --git a/patches/server/0655-Add-more-advancement-API.patch b/patches/server/0654-Add-more-advancement-API.patch
index 898749f4af..898749f4af 100644
--- a/patches/server/0655-Add-more-advancement-API.patch
+++ b/patches/server/0654-Add-more-advancement-API.patch
diff --git a/patches/server/0656-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0655-Add-ItemFactory-getSpawnEgg-API.patch
index 0c570a0951..0c570a0951 100644
--- a/patches/server/0656-Add-ItemFactory-getSpawnEgg-API.patch
+++ b/patches/server/0655-Add-ItemFactory-getSpawnEgg-API.patch
diff --git a/patches/server/0657-Add-critical-damage-API.patch b/patches/server/0656-Add-critical-damage-API.patch
index 05210d88e4..05210d88e4 100644
--- a/patches/server/0657-Add-critical-damage-API.patch
+++ b/patches/server/0656-Add-critical-damage-API.patch
diff --git a/patches/server/0658-Fix-issues-with-mob-conversion.patch b/patches/server/0657-Fix-issues-with-mob-conversion.patch
index 237d313b89..237d313b89 100644
--- a/patches/server/0658-Fix-issues-with-mob-conversion.patch
+++ b/patches/server/0657-Fix-issues-with-mob-conversion.patch
diff --git a/patches/server/0659-Add-isCollidable-methods-to-various-places.patch b/patches/server/0658-Add-isCollidable-methods-to-various-places.patch
index f02bfe0a1d..f02bfe0a1d 100644
--- a/patches/server/0659-Add-isCollidable-methods-to-various-places.patch
+++ b/patches/server/0658-Add-isCollidable-methods-to-various-places.patch
diff --git a/patches/server/0660-Goat-ram-API.patch b/patches/server/0659-Goat-ram-API.patch
index 443c58b4ee..443c58b4ee 100644
--- a/patches/server/0660-Goat-ram-API.patch
+++ b/patches/server/0659-Goat-ram-API.patch
diff --git a/patches/server/0661-Add-API-for-resetting-a-single-score.patch b/patches/server/0660-Add-API-for-resetting-a-single-score.patch
index 0fc3bdf5fe..0fc3bdf5fe 100644
--- a/patches/server/0661-Add-API-for-resetting-a-single-score.patch
+++ b/patches/server/0660-Add-API-for-resetting-a-single-score.patch
diff --git a/patches/server/0662-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0661-Add-Raw-Byte-Entity-Serialization.patch
index e53f64ac9c..157a4fccf8 100644
--- a/patches/server/0662-Add-Raw-Byte-Entity-Serialization.patch
+++ b/patches/server/0661-Add-Raw-Byte-Entity-Serialization.patch
@@ -27,7 +27,7 @@ index 6f023b22a1051baaa5310d8c5a1aa6d8b76d8992..65ab99c3f3f1478db6e14d713e82346d
return this.isPassenger() ? false : this.saveAsPassenger(nbt);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index f72c20c8b427c1dee1e58f03a02a6a59e28da0e7..5a498ccfa7832f0819ccf4c4c1d6ec5dbd4f48b3 100644
+index a6492b6a9f66d8bcda8928fadf0a5920ff7f0dab..71845027ba1b755ead76cf75d011547d9910597a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1076,5 +1076,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0663-Vanilla-command-permission-fixes.patch b/patches/server/0662-Vanilla-command-permission-fixes.patch
index b0ff5eb32d..b0ff5eb32d 100644
--- a/patches/server/0663-Vanilla-command-permission-fixes.patch
+++ b/patches/server/0662-Vanilla-command-permission-fixes.patch
diff --git a/patches/server/0664-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0663-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
index 12eed70505..6a2941160c 100644
--- a/patches/server/0664-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
+++ b/patches/server/0663-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
@@ -28,7 +28,7 @@ index 31d6fa97fcd1572fd291870082309469987676c6..e2b22b51a8c6d668eaa6572de16bb7a7
}
// 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 b1be9c5d7346841ea4c0f9b8aec5e7c4d9367dc8..5035609b0a4160c2671ee9939e2d8bbf17749370 100644
+index bbb394ca3b3b699f2c7d32ad5aff691375b4323e..a85b4223ab9eb97662f327f6179af6fc9970ab3c 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1629,6 +1629,18 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0665-Fix-GameProfileCache-concurrency.patch b/patches/server/0664-Fix-GameProfileCache-concurrency.patch
index e95139c0f4..e95139c0f4 100644
--- a/patches/server/0665-Fix-GameProfileCache-concurrency.patch
+++ b/patches/server/0664-Fix-GameProfileCache-concurrency.patch
diff --git a/patches/server/0666-Improve-and-expand-AsyncCatcher.patch b/patches/server/0665-Improve-and-expand-AsyncCatcher.patch
index 9e5aa10814..4c5e53aac1 100644
--- a/patches/server/0666-Improve-and-expand-AsyncCatcher.patch
+++ b/patches/server/0665-Improve-and-expand-AsyncCatcher.patch
@@ -29,7 +29,7 @@ index 179a1a635b174f1a6b2080ceb394928848c2df43..711959d5c2889035f366b5e798c03105
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 b0e8a2f4a223cfe3652ad45c26bcf96f21bb7853..46e3f01c2158ec327a0daa232be1e7fb6d40a90e 100644
+index b137ce3be71fa92cb196f5725dd7cfc71f93fcf7..1f3363da6642673d286cb7704aa61cb910c5d23f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1118,7 +1118,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -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/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 9e42117e605efbbbbf91f10b385ef76f9cf884b6..d8977cc464e477bb679f597bde8b0e6f3f3cfa24 100644
+index bd5e80a04a035f670160a5eef94805ab90372cf6..3e79a73e42875936e373f797dcde6a60a904a880 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -464,6 +464,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -463,6 +463,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@Override
public boolean addPotionEffect(PotionEffect effect, boolean force) {
diff --git a/patches/server/0667-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0666-Add-paper-mobcaps-and-paper-playermobcaps.patch
index db8fb6c458..b0aa5c9060 100644
--- a/patches/server/0667-Add-paper-mobcaps-and-paper-playermobcaps.patch
+++ b/patches/server/0666-Add-paper-mobcaps-and-paper-playermobcaps.patch
@@ -294,10 +294,10 @@ index 21dfa2d10e1c67c968b59eb11132ab1ff46ba2d7..ca605b33c57159add46f6b84c975c25c
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 19db9c2447ffc2321e2f8a3b86f561d29b9eb6de..3a5843b50a5cc5110bf484f9697674e5bfc9699f 100644
+index 04c6d7c60123e6020c78eeb9a4712ead71e64871..ed0f6e460254a439edf15cca5458101b7146d391 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1713,9 +1713,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1761,9 +1761,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/0668-Sanitize-ResourceLocation-error-logging.patch b/patches/server/0667-Sanitize-ResourceLocation-error-logging.patch
index 989716f6fd..989716f6fd 100644
--- a/patches/server/0668-Sanitize-ResourceLocation-error-logging.patch
+++ b/patches/server/0667-Sanitize-ResourceLocation-error-logging.patch
diff --git a/patches/server/0669-Optimise-general-POI-access.patch b/patches/server/0668-Optimise-general-POI-access.patch
index 332786d627..332786d627 100644
--- a/patches/server/0669-Optimise-general-POI-access.patch
+++ b/patches/server/0668-Optimise-general-POI-access.patch
diff --git a/patches/server/0670-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/0669-Custom-table-implementation-for-blockstate-state-loo.patch
index 0023c8bd8c..0023c8bd8c 100644
--- a/patches/server/0670-Custom-table-implementation-for-blockstate-state-loo.patch
+++ b/patches/server/0669-Custom-table-implementation-for-blockstate-state-loo.patch
diff --git a/patches/server/0671-Manually-inline-methods-in-BlockPosition.patch b/patches/server/0670-Manually-inline-methods-in-BlockPosition.patch
index c8b8adfce9..c8b8adfce9 100644
--- a/patches/server/0671-Manually-inline-methods-in-BlockPosition.patch
+++ b/patches/server/0670-Manually-inline-methods-in-BlockPosition.patch
diff --git a/patches/server/0672-Name-craft-scheduler-threads-according-to-the-plugin.patch b/patches/server/0671-Name-craft-scheduler-threads-according-to-the-plugin.patch
index e97fc69558..e97fc69558 100644
--- a/patches/server/0672-Name-craft-scheduler-threads-according-to-the-plugin.patch
+++ b/patches/server/0671-Name-craft-scheduler-threads-according-to-the-plugin.patch
diff --git a/patches/server/0673-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch b/patches/server/0672-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
index b0d144de35..5931189e15 100644
--- a/patches/server/0673-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
+++ b/patches/server/0672-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
@@ -13,7 +13,7 @@ Paper recently reverted this optimisation, so it's been reintroduced
here.
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 031fe212e5bc28ac675f835bec37c1bca3c5351f..db92c938803155ed59a1913d287a352fad351e9d 100644
+index 2b29b1cf3cd8abccd4b7629e56f18eee741522a5..18e26a5fd8843618710403b3fa4818287e90376c 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -458,6 +458,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
diff --git a/patches/server/0674-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch b/patches/server/0673-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
index 5475ff2092..5475ff2092 100644
--- a/patches/server/0674-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
+++ b/patches/server/0673-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
diff --git a/patches/server/0675-Don-t-lookup-fluid-state-when-raytracing.patch b/patches/server/0674-Don-t-lookup-fluid-state-when-raytracing.patch
index d931ef54fa..d931ef54fa 100644
--- a/patches/server/0675-Don-t-lookup-fluid-state-when-raytracing.patch
+++ b/patches/server/0674-Don-t-lookup-fluid-state-when-raytracing.patch
diff --git a/patches/server/0676-Time-scoreboard-search.patch b/patches/server/0675-Time-scoreboard-search.patch
index 8d15084758..8d15084758 100644
--- a/patches/server/0676-Time-scoreboard-search.patch
+++ b/patches/server/0675-Time-scoreboard-search.patch
diff --git a/patches/server/0677-Send-full-pos-packets-for-hard-colliding-entities.patch b/patches/server/0676-Send-full-pos-packets-for-hard-colliding-entities.patch
index f005ae7e71..f005ae7e71 100644
--- a/patches/server/0677-Send-full-pos-packets-for-hard-colliding-entities.patch
+++ b/patches/server/0676-Send-full-pos-packets-for-hard-colliding-entities.patch
diff --git a/patches/server/0678-Do-not-run-raytrace-logic-for-AIR.patch b/patches/server/0677-Do-not-run-raytrace-logic-for-AIR.patch
index 75ece1bf8b..75ece1bf8b 100644
--- a/patches/server/0678-Do-not-run-raytrace-logic-for-AIR.patch
+++ b/patches/server/0677-Do-not-run-raytrace-logic-for-AIR.patch
diff --git a/patches/server/0679-Execute-chunk-tasks-mid-tick.patch b/patches/server/0678-Execute-chunk-tasks-mid-tick.patch
index d73797f2c2..10dee7b12a 100644
--- a/patches/server/0679-Execute-chunk-tasks-mid-tick.patch
+++ b/patches/server/0678-Execute-chunk-tasks-mid-tick.patch
@@ -151,10 +151,10 @@ index e2b22b51a8c6d668eaa6572de16bb7a76351d0d3..716420eb3dea5a9b6d8e72d0bdf388dc
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index db92c938803155ed59a1913d287a352fad351e9d..526ed13d199c0469cc68efb57dad0ccf40317c0c 100644
+index 18e26a5fd8843618710403b3fa4818287e90376c..705f31f54bf7d24aa57700044b65845da532d4eb 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -929,6 +929,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -923,6 +923,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
// Spigot end
} else if (flag && this.shouldTickBlocksAt(tickingblockentity.getPos())) {
tickingblockentity.tick();
@@ -166,7 +166,7 @@ index db92c938803155ed59a1913d287a352fad351e9d..526ed13d199c0469cc68efb57dad0ccf
}
}
this.blockEntityTickers.removeAll(toRemove);
-@@ -943,6 +948,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -937,6 +942,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public <T extends Entity> void guardEntityTick(Consumer<T> tickConsumer, T entity) {
try {
tickConsumer.accept(entity);
diff --git a/patches/server/0680-Oprimise-map-impl-for-tracked-players.patch b/patches/server/0679-Oprimise-map-impl-for-tracked-players.patch
index 42fe98d24e..8c8fcd06e9 100644
--- a/patches/server/0680-Oprimise-map-impl-for-tracked-players.patch
+++ b/patches/server/0679-Oprimise-map-impl-for-tracked-players.patch
@@ -7,10 +7,10 @@ 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 290a231deb203eb46cb91eb23c28d8e9d49b0f34..b71be5e7e18f884cf35cc3a940c87e744e00f811 100644
+index 07abd089e5091d292d4542bbe0fbb416a111bf8e..a0603e567deeede8b4cd2ba57ded44f29239d78d 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -1302,7 +1302,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1301,7 +1301,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
final Entity entity;
private final int range;
SectionPos lastSectionPos;
diff --git a/patches/server/0681-Optimise-BlockSoil-nearby-water-lookup.patch b/patches/server/0680-Optimise-BlockSoil-nearby-water-lookup.patch
index ec0e0d60a8..ec0e0d60a8 100644
--- a/patches/server/0681-Optimise-BlockSoil-nearby-water-lookup.patch
+++ b/patches/server/0680-Optimise-BlockSoil-nearby-water-lookup.patch
diff --git a/patches/server/0682-Optimise-random-block-ticking.patch b/patches/server/0681-Optimise-random-block-ticking.patch
index 309f87c655..4675516661 100644
--- a/patches/server/0682-Optimise-random-block-ticking.patch
+++ b/patches/server/0681-Optimise-random-block-ticking.patch
@@ -324,10 +324,10 @@ index 722e323d2ae3f4ac8aa3197fed79f7d926d5ccfa..f8c1dfc8e121a406955348a1ec00c264
public BlockPos getHomePos() {
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 526ed13d199c0469cc68efb57dad0ccf40317c0c..10ffc49a68fae99cf6d3da92553d703df0f35f1e 100644
+index 705f31f54bf7d24aa57700044b65845da532d4eb..0bf3bfd0a44fe7219e6ed451eb85c25e87a31aac 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -1400,10 +1400,18 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -1394,10 +1394,18 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public abstract RecipeManager getRecipeManager();
public BlockPos getBlockRandomPos(int x, int y, int z, int l) {
diff --git a/patches/server/0683-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/0682-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
index 0a7c36c977..0a7c36c977 100644
--- a/patches/server/0683-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
+++ b/patches/server/0682-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
diff --git a/patches/server/0684-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/0683-Use-Velocity-compression-and-cipher-natives.patch
index d264e5b26a..d264e5b26a 100644
--- a/patches/server/0684-Use-Velocity-compression-and-cipher-natives.patch
+++ b/patches/server/0683-Use-Velocity-compression-and-cipher-natives.patch
diff --git a/patches/server/0685-Detail-more-information-in-watchdog-dumps.patch b/patches/server/0684-Detail-more-information-in-watchdog-dumps.patch
index f97eec2cad..f97eec2cad 100644
--- a/patches/server/0685-Detail-more-information-in-watchdog-dumps.patch
+++ b/patches/server/0684-Detail-more-information-in-watchdog-dumps.patch
diff --git a/patches/server/0686-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch b/patches/server/0685-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch
index e1abb64ae9..e1abb64ae9 100644
--- a/patches/server/0686-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch
+++ b/patches/server/0685-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch
diff --git a/patches/server/0687-Fix-Bukkit-NamespacedKey-shenanigans.patch b/patches/server/0686-Fix-Bukkit-NamespacedKey-shenanigans.patch
index c77b9ae0d6..c77b9ae0d6 100644
--- a/patches/server/0687-Fix-Bukkit-NamespacedKey-shenanigans.patch
+++ b/patches/server/0686-Fix-Bukkit-NamespacedKey-shenanigans.patch
diff --git a/patches/server/0688-Distance-manager-tick-timings.patch b/patches/server/0687-Distance-manager-tick-timings.patch
index 731b2b5f86..731b2b5f86 100644
--- a/patches/server/0688-Distance-manager-tick-timings.patch
+++ b/patches/server/0687-Distance-manager-tick-timings.patch
diff --git a/patches/server/0689-Fix-merchant-inventory-not-closing-on-entity-removal.patch b/patches/server/0688-Fix-merchant-inventory-not-closing-on-entity-removal.patch
index 0542a5f892..0542a5f892 100644
--- a/patches/server/0689-Fix-merchant-inventory-not-closing-on-entity-removal.patch
+++ b/patches/server/0688-Fix-merchant-inventory-not-closing-on-entity-removal.patch
diff --git a/patches/server/0690-Check-requirement-before-suggesting-root-nodes.patch b/patches/server/0689-Check-requirement-before-suggesting-root-nodes.patch
index ae4829b98a..ae4829b98a 100644
--- a/patches/server/0690-Check-requirement-before-suggesting-root-nodes.patch
+++ b/patches/server/0689-Check-requirement-before-suggesting-root-nodes.patch
diff --git a/patches/server/0691-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0690-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
index 7275450e69..7275450e69 100644
--- a/patches/server/0691-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
+++ b/patches/server/0690-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
diff --git a/patches/server/0692-Add-packet-limiter-config.patch b/patches/server/0691-Add-packet-limiter-config.patch
index 25a5f687bc..25a5f687bc 100644
--- a/patches/server/0692-Add-packet-limiter-config.patch
+++ b/patches/server/0691-Add-packet-limiter-config.patch
diff --git a/patches/server/0693-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch b/patches/server/0692-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
index 341421e59d..341421e59d 100644
--- a/patches/server/0693-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
+++ b/patches/server/0692-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
diff --git a/patches/server/0694-Ensure-valid-vehicle-status.patch b/patches/server/0693-Ensure-valid-vehicle-status.patch
index 76665bf095..7faeac013d 100644
--- a/patches/server/0694-Ensure-valid-vehicle-status.patch
+++ b/patches/server/0693-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 5035609b0a4160c2671ee9939e2d8bbf17749370..4d39c57941dcefc2c507f69adea2b042bc78662b 100644
+index a85b4223ab9eb97662f327f6179af6fc9970ab3c..45f2a81cd59434956cc33e489af6032e6ef9947d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -576,7 +576,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0695-Prevent-softlocked-end-exit-portal-generation.patch b/patches/server/0694-Prevent-softlocked-end-exit-portal-generation.patch
index df49391139..df49391139 100644
--- a/patches/server/0695-Prevent-softlocked-end-exit-portal-generation.patch
+++ b/patches/server/0694-Prevent-softlocked-end-exit-portal-generation.patch
diff --git a/patches/server/0696-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch b/patches/server/0695-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
index b415f668ab..b415f668ab 100644
--- a/patches/server/0696-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
+++ b/patches/server/0695-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
diff --git a/patches/server/0697-Don-t-log-debug-logging-being-disabled.patch b/patches/server/0696-Don-t-log-debug-logging-being-disabled.patch
index 2130840734..2130840734 100644
--- a/patches/server/0697-Don-t-log-debug-logging-being-disabled.patch
+++ b/patches/server/0696-Don-t-log-debug-logging-being-disabled.patch
diff --git a/patches/server/0698-fix-various-menus-with-empty-level-accesses.patch b/patches/server/0697-fix-various-menus-with-empty-level-accesses.patch
index 3bda24b9c6..3bda24b9c6 100644
--- a/patches/server/0698-fix-various-menus-with-empty-level-accesses.patch
+++ b/patches/server/0697-fix-various-menus-with-empty-level-accesses.patch
diff --git a/patches/server/0699-Preserve-overstacked-loot.patch b/patches/server/0698-Preserve-overstacked-loot.patch
index 004c7c6f77..004c7c6f77 100644
--- a/patches/server/0699-Preserve-overstacked-loot.patch
+++ b/patches/server/0698-Preserve-overstacked-loot.patch
diff --git a/patches/server/0700-Update-head-rotation-in-missing-places.patch b/patches/server/0699-Update-head-rotation-in-missing-places.patch
index b45a4c13f8..b45a4c13f8 100644
--- a/patches/server/0700-Update-head-rotation-in-missing-places.patch
+++ b/patches/server/0699-Update-head-rotation-in-missing-places.patch
diff --git a/patches/server/0701-prevent-unintended-light-block-manipulation.patch b/patches/server/0700-prevent-unintended-light-block-manipulation.patch
index 6aa3f47843..6aa3f47843 100644
--- a/patches/server/0701-prevent-unintended-light-block-manipulation.patch
+++ b/patches/server/0700-prevent-unintended-light-block-manipulation.patch
diff --git a/patches/server/0702-Fix-CraftCriteria-defaults-map.patch b/patches/server/0701-Fix-CraftCriteria-defaults-map.patch
index 3e79bd7fb7..3e79bd7fb7 100644
--- a/patches/server/0702-Fix-CraftCriteria-defaults-map.patch
+++ b/patches/server/0701-Fix-CraftCriteria-defaults-map.patch
diff --git a/patches/server/0703-Fix-upstreams-block-state-factories.patch b/patches/server/0702-Fix-upstreams-block-state-factories.patch
index 002fba7d2b..002fba7d2b 100644
--- a/patches/server/0703-Fix-upstreams-block-state-factories.patch
+++ b/patches/server/0702-Fix-upstreams-block-state-factories.patch
diff --git a/patches/server/0704-Configurable-feature-seeds.patch b/patches/server/0703-Configurable-feature-seeds.patch
index 2e7ba7f297..2d825c6c84 100644
--- a/patches/server/0704-Configurable-feature-seeds.patch
+++ b/patches/server/0703-Configurable-feature-seeds.patch
@@ -19,7 +19,7 @@ index 1080e1f67afe5574baca0df50cdb1d029a7a586a..a2f71a6d1a9e98133dff6cd0f625da94
}
final Object val = config.get(key);
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 3c7920721914588a3e7eaf1faff46f7305823416..eee2239cd715d01c5adbf1cd79282e115f42cd2e 100644
+index c3bfc69e5b8465d40867d4dbe33dd82755099691..53cf0859988dc5f9ec02be7448da7b5152d2809b 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
@@ -431,7 +431,14 @@ public abstract class ChunkGenerator {
diff --git a/patches/server/0705-Add-root-admin-user-detection.patch b/patches/server/0704-Add-root-admin-user-detection.patch
index 1b3440b012..1b3440b012 100644
--- a/patches/server/0705-Add-root-admin-user-detection.patch
+++ b/patches/server/0704-Add-root-admin-user-detection.patch
diff --git a/patches/server/0706-Always-allow-item-changing-in-Fireball.patch b/patches/server/0705-Always-allow-item-changing-in-Fireball.patch
index f8453901a9..f8453901a9 100644
--- a/patches/server/0706-Always-allow-item-changing-in-Fireball.patch
+++ b/patches/server/0705-Always-allow-item-changing-in-Fireball.patch
diff --git a/patches/server/0707-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0706-don-t-attempt-to-teleport-dead-entities.patch
index e0c851266a..e0c851266a 100644
--- a/patches/server/0707-don-t-attempt-to-teleport-dead-entities.patch
+++ b/patches/server/0706-don-t-attempt-to-teleport-dead-entities.patch
diff --git a/patches/server/0708-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0707-Prevent-excessive-velocity-through-repeated-crits.patch
index 7ddf26373b..0ea16f1cb0 100644
--- a/patches/server/0708-Prevent-excessive-velocity-through-repeated-crits.patch
+++ b/patches/server/0707-Prevent-excessive-velocity-through-repeated-crits.patch
@@ -5,7 +5,7 @@ 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 46e3f01c2158ec327a0daa232be1e7fb6d40a90e..73abe652304b20cc9549c578866c482647b92488 100644
+index 1f3363da6642673d286cb7704aa61cb910c5d23f..ffc999a3a398bc73fffa7a68805baa1da7504750 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2677,13 +2677,26 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0709-Remove-client-side-code-using-deprecated-for-removal.patch b/patches/server/0708-Remove-client-side-code-using-deprecated-for-removal.patch
index 41ae87a8e9..41ae87a8e9 100644
--- a/patches/server/0709-Remove-client-side-code-using-deprecated-for-removal.patch
+++ b/patches/server/0708-Remove-client-side-code-using-deprecated-for-removal.patch
diff --git a/patches/server/0710-Fix-removing-recipes-from-RecipeIterator.patch b/patches/server/0709-Fix-removing-recipes-from-RecipeIterator.patch
index c57379be37..c57379be37 100644
--- a/patches/server/0710-Fix-removing-recipes-from-RecipeIterator.patch
+++ b/patches/server/0709-Fix-removing-recipes-from-RecipeIterator.patch
diff --git a/patches/server/0711-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0710-Prevent-sending-oversized-item-data-in-equipment-and.patch
index 8e246d3397..9258abcc59 100644
--- a/patches/server/0711-Prevent-sending-oversized-item-data-in-equipment-and.patch
+++ b/patches/server/0710-Prevent-sending-oversized-item-data-in-equipment-and.patch
@@ -34,7 +34,7 @@ index e0802f1cb73a80b08482832c2b269ac8485d5c1a..8d2870c780c4c253f6570c7ef73f6e7c
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 73abe652304b20cc9549c578866c482647b92488..f019f53efb1cd84a45f5e99d406a01b00dd0322e 100644
+index ffc999a3a398bc73fffa7a68805baa1da7504750..3de3e938195c79c65b7e11438ca92585aaccf529 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3188,7 +3188,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0712-Hide-unnecessary-itemmeta-from-clients.patch b/patches/server/0711-Hide-unnecessary-itemmeta-from-clients.patch
index 02804541cb..dd8b4b7c62 100644
--- a/patches/server/0712-Hide-unnecessary-itemmeta-from-clients.patch
+++ b/patches/server/0711-Hide-unnecessary-itemmeta-from-clients.patch
@@ -33,7 +33,7 @@ index 2e80848841dcf6f4a693e3dc62af62e2a47cbf8f..0b745f852976611a12834101adccae52
}
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index f019f53efb1cd84a45f5e99d406a01b00dd0322e..f5f612c3114c10bff6cecea2900f3c8f79370fd4 100644
+index 3de3e938195c79c65b7e11438ca92585aaccf529..cf91a4b9d2aab2ed32d7d53e5d3bd97838b7a8a4 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3190,7 +3190,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0713-Fix-Spigot-growth-modifiers.patch b/patches/server/0712-Fix-Spigot-growth-modifiers.patch
index 08d4226379..08d4226379 100644
--- a/patches/server/0713-Fix-Spigot-growth-modifiers.patch
+++ b/patches/server/0712-Fix-Spigot-growth-modifiers.patch
diff --git a/patches/server/0714-Prevent-ContainerOpenersCounter-openCount-from-going.patch b/patches/server/0713-Prevent-ContainerOpenersCounter-openCount-from-going.patch
index 62a65ff130..62a65ff130 100644
--- a/patches/server/0714-Prevent-ContainerOpenersCounter-openCount-from-going.patch
+++ b/patches/server/0713-Prevent-ContainerOpenersCounter-openCount-from-going.patch
diff --git a/patches/server/0715-Add-PlayerItemFrameChangeEvent.patch b/patches/server/0714-Add-PlayerItemFrameChangeEvent.patch
index c1cf489efd..c1cf489efd 100644
--- a/patches/server/0715-Add-PlayerItemFrameChangeEvent.patch
+++ b/patches/server/0714-Add-PlayerItemFrameChangeEvent.patch
diff --git a/patches/server/0716-Optimize-HashMapPalette.patch b/patches/server/0715-Optimize-HashMapPalette.patch
index 9e2b26701e..9e2b26701e 100644
--- a/patches/server/0716-Optimize-HashMapPalette.patch
+++ b/patches/server/0715-Optimize-HashMapPalette.patch
diff --git a/patches/server/0717-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0716-Allow-delegation-to-vanilla-chunk-gen.patch
index c7ea8e3ba4..c7ea8e3ba4 100644
--- a/patches/server/0717-Allow-delegation-to-vanilla-chunk-gen.patch
+++ b/patches/server/0716-Allow-delegation-to-vanilla-chunk-gen.patch
diff --git a/patches/server/0718-Collision-optimisations.patch b/patches/server/0717-Collision-optimisations.patch
index 6b7ab03a59..5b51e21cb9 100644
--- a/patches/server/0718-Collision-optimisations.patch
+++ b/patches/server/0717-Collision-optimisations.patch
@@ -2179,7 +2179,7 @@ index d0a8092bf57a29ab7c00ec0ddf52a9fdb2a33267..392406722b0a040c1d41fdc1154d75d3
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 4d39c57941dcefc2c507f69adea2b042bc78662b..eed929059c7ee445a9ae6dbf778c4e2638311ca0 100644
+index 45f2a81cd59434956cc33e489af6032e6ef9947d..29da0b80aa0a4e6ebf1f0e30c26a6b85f034e8e4 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -469,7 +469,7 @@ public class ServerPlayer extends Player {
@@ -2600,7 +2600,7 @@ index a25497eec004add7408a63b1a0f09e3fa443b324..9f892de55ab03367daed4c30cc44c9dd
// Paper start
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 10ffc49a68fae99cf6d3da92553d703df0f35f1e..78fd63052f1eb5a650befecdad07cbc755658632 100644
+index 0bf3bfd0a44fe7219e6ed451eb85c25e87a31aac..3dfc42dfed0429ea46238ede127b86a0c7756659 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -300,6 +300,10 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -2985,7 +2985,7 @@ index 10ffc49a68fae99cf6d3da92553d703df0f35f1e..78fd63052f1eb5a650befecdad07cbc7
@Override
public boolean isClientSide() {
return this.isClientSide;
-@@ -963,7 +1331,17 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -957,7 +1325,17 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@Override
public boolean noCollision(@Nullable Entity entity, AABB box) {
if (entity instanceof net.minecraft.world.entity.decoration.ArmorStand && !entity.level().paperConfig().entities.armorStands.doCollisionEntityLookups) return false;
diff --git a/patches/server/0719-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/0718-Optimise-collision-checking-in-player-move-packet-ha.patch
index cf16f8b4db..cf16f8b4db 100644
--- a/patches/server/0719-Optimise-collision-checking-in-player-move-packet-ha.patch
+++ b/patches/server/0718-Optimise-collision-checking-in-player-move-packet-ha.patch
diff --git a/patches/server/0720-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch b/patches/server/0719-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
index c92ed9b709..c92ed9b709 100644
--- a/patches/server/0720-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
+++ b/patches/server/0719-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
diff --git a/patches/server/0721-Add-more-Campfire-API.patch b/patches/server/0720-Add-more-Campfire-API.patch
index 61de925634..61de925634 100644
--- a/patches/server/0721-Add-more-Campfire-API.patch
+++ b/patches/server/0720-Add-more-Campfire-API.patch
diff --git a/patches/server/0722-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch b/patches/server/0721-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
index 5c74ea64c9..5c74ea64c9 100644
--- a/patches/server/0722-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
+++ b/patches/server/0721-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
diff --git a/patches/server/0723-Fix-tripwire-state-inconsistency.patch b/patches/server/0722-Fix-tripwire-state-inconsistency.patch
index 4433ab45c4..4433ab45c4 100644
--- a/patches/server/0723-Fix-tripwire-state-inconsistency.patch
+++ b/patches/server/0722-Fix-tripwire-state-inconsistency.patch
diff --git a/patches/server/0724-Forward-CraftEntity-in-teleport-command.patch b/patches/server/0723-Forward-CraftEntity-in-teleport-command.patch
index ee05de0664..ee05de0664 100644
--- a/patches/server/0724-Forward-CraftEntity-in-teleport-command.patch
+++ b/patches/server/0723-Forward-CraftEntity-in-teleport-command.patch
diff --git a/patches/server/0725-Improve-scoreboard-entries.patch b/patches/server/0724-Improve-scoreboard-entries.patch
index 517f4b20ec..6d866ae345 100644
--- a/patches/server/0725-Improve-scoreboard-entries.patch
+++ b/patches/server/0724-Improve-scoreboard-entries.patch
@@ -25,7 +25,7 @@ index da1e4496d78a2c1b258ff8bb316414cb8a662ba2..b36e5574c10e6d70a399e2ac0704fd4f
public void unregister() {
CraftScoreboard scoreboard = this.checkState();
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java
-index fdb30a7e728798c59742b812ef28c5094d6093fc..bd8a5bb2b84daf013750aec9887dcb4b02b382ad 100644
+index fdb30a7e728798c59742b812ef28c5094d6093fc..e7d3637927e92c181ecc2e21a3456918afb30822 100644
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java
@@ -235,6 +235,26 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard {
diff --git a/patches/server/0726-Entity-powdered-snow-API.patch b/patches/server/0725-Entity-powdered-snow-API.patch
index 6901161b4d..817eaf068a 100644
--- a/patches/server/0726-Entity-powdered-snow-API.patch
+++ b/patches/server/0725-Entity-powdered-snow-API.patch
@@ -7,7 +7,7 @@ Subject: [PATCH] Entity powdered snow API
public net.minecraft.world.entity.monster.Skeleton inPowderSnowTime
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 5a498ccfa7832f0819ccf4c4c1d6ec5dbd4f48b3..65cfce005ecad1c6f7823f2e227235e9e22b710d 100644
+index 71845027ba1b755ead76cf75d011547d9910597a..47be73dbb0dd1b6cef0113042be6a80cb6209252 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1086,5 +1086,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0727-Add-API-for-item-entity-health.patch b/patches/server/0726-Add-API-for-item-entity-health.patch
index 902552710c..902552710c 100644
--- a/patches/server/0727-Add-API-for-item-entity-health.patch
+++ b/patches/server/0726-Add-API-for-item-entity-health.patch
diff --git a/patches/server/0728-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/0727-Fix-entity-type-tags-suggestions-in-selectors.patch
index 2064d7103a..2064d7103a 100644
--- a/patches/server/0728-Fix-entity-type-tags-suggestions-in-selectors.patch
+++ b/patches/server/0727-Fix-entity-type-tags-suggestions-in-selectors.patch
diff --git a/patches/server/0729-Configurable-max-block-light-for-monster-spawning.patch b/patches/server/0728-Configurable-max-block-light-for-monster-spawning.patch
index c7f4c136fd..c7f4c136fd 100644
--- a/patches/server/0729-Configurable-max-block-light-for-monster-spawning.patch
+++ b/patches/server/0728-Configurable-max-block-light-for-monster-spawning.patch
diff --git a/patches/server/0730-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch b/patches/server/0729-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
index 8e2d63bd62..8e2d63bd62 100644
--- a/patches/server/0730-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
+++ b/patches/server/0729-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
diff --git a/patches/server/0731-Load-effect-amplifiers-greater-than-127-correctly.patch b/patches/server/0730-Load-effect-amplifiers-greater-than-127-correctly.patch
index b0884e52bd..b0884e52bd 100644
--- a/patches/server/0731-Load-effect-amplifiers-greater-than-127-correctly.patch
+++ b/patches/server/0730-Load-effect-amplifiers-greater-than-127-correctly.patch
diff --git a/patches/server/0732-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/server/0731-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
index d7ccde8439..d7ccde8439 100644
--- a/patches/server/0732-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
+++ b/patches/server/0731-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
diff --git a/patches/server/0733-Fix-bees-aging-inside-hives.patch b/patches/server/0732-Fix-bees-aging-inside-hives.patch
index 6adfc7fc04..6adfc7fc04 100644
--- a/patches/server/0733-Fix-bees-aging-inside-hives.patch
+++ b/patches/server/0732-Fix-bees-aging-inside-hives.patch
diff --git a/patches/server/0734-Bucketable-API.patch b/patches/server/0733-Bucketable-API.patch
index 274ccde059..274ccde059 100644
--- a/patches/server/0734-Bucketable-API.patch
+++ b/patches/server/0733-Bucketable-API.patch
diff --git a/patches/server/0735-Validate-usernames.patch b/patches/server/0734-Validate-usernames.patch
index 39e337ef3e..39e337ef3e 100644
--- a/patches/server/0735-Validate-usernames.patch
+++ b/patches/server/0734-Validate-usernames.patch
diff --git a/patches/server/0736-Make-water-animal-spawn-height-configurable.patch b/patches/server/0735-Make-water-animal-spawn-height-configurable.patch
index 697ffe061e..697ffe061e 100644
--- a/patches/server/0736-Make-water-animal-spawn-height-configurable.patch
+++ b/patches/server/0735-Make-water-animal-spawn-height-configurable.patch
diff --git a/patches/server/0737-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0736-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
index 29119b407d..b08fea5776 100644
--- a/patches/server/0737-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
+++ b/patches/server/0736-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
@@ -31,10 +31,10 @@ index aa7fa1211b88f14ac01a4562f4819151bc23db27..1eeefb6ac8af5928925180a1c5850f8e
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 3a5843b50a5cc5110bf484f9697674e5bfc9699f..fe895166c0526ff30d6941f1bf4d419f30801320 100644
+index dcd5e7cc8bfc5732974bed81256828d011683f5a..1bf088ee3c18830ce613c77453cf471edbbdad82 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -206,6 +206,29 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -205,6 +205,29 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public int getPlayerCount() {
return world.players().size();
}
diff --git a/patches/server/0738-Add-config-option-for-worlds-affected-by-time-cmd.patch b/patches/server/0737-Add-config-option-for-worlds-affected-by-time-cmd.patch
index 156eacada9..156eacada9 100644
--- a/patches/server/0738-Add-config-option-for-worlds-affected-by-time-cmd.patch
+++ b/patches/server/0737-Add-config-option-for-worlds-affected-by-time-cmd.patch
diff --git a/patches/server/0739-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch b/patches/server/0738-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch
index 08a8876b57..08a8876b57 100644
--- a/patches/server/0739-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch
+++ b/patches/server/0738-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch
diff --git a/patches/server/0740-Multiple-Entries-with-Scoreboards.patch b/patches/server/0739-Multiple-Entries-with-Scoreboards.patch
index db517fb063..db517fb063 100644
--- a/patches/server/0740-Multiple-Entries-with-Scoreboards.patch
+++ b/patches/server/0739-Multiple-Entries-with-Scoreboards.patch
diff --git a/patches/server/0741-Reset-placed-block-on-exception.patch b/patches/server/0740-Reset-placed-block-on-exception.patch
index 308089d693..308089d693 100644
--- a/patches/server/0741-Reset-placed-block-on-exception.patch
+++ b/patches/server/0740-Reset-placed-block-on-exception.patch
diff --git a/patches/server/0742-Add-configurable-height-for-slime-spawn.patch b/patches/server/0741-Add-configurable-height-for-slime-spawn.patch
index c105ef61b0..c105ef61b0 100644
--- a/patches/server/0742-Add-configurable-height-for-slime-spawn.patch
+++ b/patches/server/0741-Add-configurable-height-for-slime-spawn.patch
diff --git a/patches/server/0743-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch b/patches/server/0742-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch
index 185664caf6..185664caf6 100644
--- a/patches/server/0743-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch
+++ b/patches/server/0742-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch
diff --git a/patches/server/0744-Fix-xp-reward-for-baby-zombies.patch b/patches/server/0743-Fix-xp-reward-for-baby-zombies.patch
index ed685b8f6b..ed685b8f6b 100644
--- a/patches/server/0744-Fix-xp-reward-for-baby-zombies.patch
+++ b/patches/server/0743-Fix-xp-reward-for-baby-zombies.patch
diff --git a/patches/server/0745-Multi-Block-Change-API-Implementation.patch b/patches/server/0744-Multi-Block-Change-API-Implementation.patch
index 2ae165f1e3..19998142f7 100644
--- a/patches/server/0745-Multi-Block-Change-API-Implementation.patch
+++ b/patches/server/0744-Multi-Block-Change-API-Implementation.patch
@@ -24,7 +24,7 @@ index f96d61bdeb556665d6e6e5023f9d77fd82204e89..e3f355c85eb7cc8c1683e3009502c10a
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 d8c4f8573498fba43a0db61c6a4363be34ce45e8..a0c09dd6561c056d989c12e2c9e126cef310ea0d 100644
+index bf5c1e9a7742a327e1d35c3409d6623ae0f8ab48..29a2e22bda0595e9b4bbd42e6b9a0515c5cc2f1c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -886,6 +886,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0746-Fix-NotePlayEvent.patch b/patches/server/0745-Fix-NotePlayEvent.patch
index 5385ce97b2..5385ce97b2 100644
--- a/patches/server/0746-Fix-NotePlayEvent.patch
+++ b/patches/server/0745-Fix-NotePlayEvent.patch
diff --git a/patches/server/0747-Freeze-Tick-Lock-API.patch b/patches/server/0746-Freeze-Tick-Lock-API.patch
index e437ecdf76..192afb86ce 100644
--- a/patches/server/0747-Freeze-Tick-Lock-API.patch
+++ b/patches/server/0746-Freeze-Tick-Lock-API.patch
@@ -46,7 +46,7 @@ index 72badd1d14107a665f8730c9dc0aba91a1950caf..225ad411a48c156bcd1973f97349db80
} 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 f5f612c3114c10bff6cecea2900f3c8f79370fd4..b8c7f0077118825848bddee8279e252914929d35 100644
+index cf91a4b9d2aab2ed32d7d53e5d3bd97838b7a8a4..e27b19cf56b269c426cb6ddf81513497b70c676f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3452,7 +3452,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -59,7 +59,7 @@ index f5f612c3114c10bff6cecea2900f3c8f79370fd4..b8c7f0077118825848bddee8279e2529
if (this.isInPowderSnow && this.canFreeze()) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 65cfce005ecad1c6f7823f2e227235e9e22b710d..34e9172ef95d3d81a294df41ea7cbeaa175f3753 100644
+index 47be73dbb0dd1b6cef0113042be6a80cb6209252..1879ec9e275194cb83f30ec47930a3814fbe1da3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -320,6 +320,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0748-Dolphin-API.patch b/patches/server/0747-Dolphin-API.patch
index e971f87322..e971f87322 100644
--- a/patches/server/0748-Dolphin-API.patch
+++ b/patches/server/0747-Dolphin-API.patch
diff --git a/patches/server/0749-More-PotionEffectType-API.patch b/patches/server/0748-More-PotionEffectType-API.patch
index 7aa4f2a366..7aa4f2a366 100644
--- a/patches/server/0749-More-PotionEffectType-API.patch
+++ b/patches/server/0748-More-PotionEffectType-API.patch
diff --git a/patches/server/0750-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch b/patches/server/0749-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
index 42598199e1..42598199e1 100644
--- a/patches/server/0750-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
+++ b/patches/server/0749-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
diff --git a/patches/server/0751-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0750-API-for-creating-command-sender-which-forwards-feedb.patch
index ec86c1f1d0..f8673ddef4 100644
--- a/patches/server/0751-API-for-creating-command-sender-which-forwards-feedb.patch
+++ b/patches/server/0750-API-for-creating-command-sender-which-forwards-feedb.patch
@@ -140,26 +140,18 @@ index 1eeefb6ac8af5928925180a1c5850f8e398a44a8..37bacd8e83df278d32282d0000a8de11
return this.entityMetadata;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java b/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java
-index eaff8df6c8c12c64e005a68a02e2e35ed88f757c..1c638a4b1f2c841928d8b2a7ae43e4ebb1f7eac7 100644
+index 7f22950ae61436e91a59cd29a345809c42bbe739..1e3091687735b461d3b6a313ab8761127981d3e8 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java
+++ b/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java
-@@ -13,9 +13,15 @@ import org.bukkit.plugin.Plugin;
+@@ -12,7 +12,7 @@ import org.bukkit.permissions.PermissionAttachmentInfo;
+ import org.bukkit.plugin.Plugin;
public abstract class ServerCommandSender implements CommandSender {
- private static PermissibleBase blockPermInst;
- private final PermissibleBase perm;
+ public final PermissibleBase perm; // Paper
private net.kyori.adventure.pointer.Pointers adventure$pointers; // Paper - implement pointers
-+ // Paper start
-+ public ServerCommandSender(final PermissibleBase permissibleBase) {
-+ this.perm = permissibleBase;
-+ }
-+ // Paper end
-+
- public ServerCommandSender() {
- if (this instanceof CraftBlockCommandSender) {
- if (ServerCommandSender.blockPermInst == null) {
+ protected ServerCommandSender() {
diff --git a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
index f4961a0f360a39124544cbe0adbd94eeeef32ab5..11d7471faf35339b290b5b90c7db595e4813deb7 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
diff --git a/patches/server/0752-Add-missing-structure-set-seed-configs.patch b/patches/server/0751-Add-missing-structure-set-seed-configs.patch
index 4cdc2133d0..51f6e937d8 100644
--- a/patches/server/0752-Add-missing-structure-set-seed-configs.patch
+++ b/patches/server/0751-Add-missing-structure-set-seed-configs.patch
@@ -20,7 +20,7 @@ seeds/salts to the frequency reducer which has a similar effect.
Co-authored-by: William Blake Galbreath <[email protected]>
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 eee2239cd715d01c5adbf1cd79282e115f42cd2e..8bab3fcfc6aa6c0b37621474a69f15e94bda2113 100644
+index 53cf0859988dc5f9ec02be7448da7b5152d2809b..e0a00035b52cb202c5ca6a1d92709407de5d5d79 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
@@ -568,7 +568,7 @@ public abstract class ChunkGenerator {
diff --git a/patches/server/0753-Implement-regenerateChunk.patch b/patches/server/0752-Implement-regenerateChunk.patch
index ca798783da..c9997b3735 100644
--- a/patches/server/0753-Implement-regenerateChunk.patch
+++ b/patches/server/0752-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 fe895166c0526ff30d6941f1bf4d419f30801320..3405c349bb211e11caac131a2ba5c1bb4175b9f8 100644
+index 1bf088ee3c18830ce613c77453cf471edbbdad82..9296b518fce2a66ef3a751947e9d9dcb1b4ab53b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -145,6 +145,7 @@ import org.jetbrains.annotations.NotNull;
+@@ -144,6 +144,7 @@ import org.jetbrains.annotations.NotNull;
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 fe895166c0526ff30d6941f1bf4d419f30801320..3405c349bb211e11caac131a2ba5c1bb
private final ServerLevel world;
private WorldBorder worldBorder;
-@@ -429,27 +430,61 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -428,27 +429,61 @@ 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/0754-Fix-cancelled-powdered-snow-bucket-placement.patch b/patches/server/0753-Fix-cancelled-powdered-snow-bucket-placement.patch
index 72be2c3420..72be2c3420 100644
--- a/patches/server/0754-Fix-cancelled-powdered-snow-bucket-placement.patch
+++ b/patches/server/0753-Fix-cancelled-powdered-snow-bucket-placement.patch
diff --git a/patches/server/0755-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/server/0754-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
index ed53e0ce44..ed53e0ce44 100644
--- a/patches/server/0755-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
+++ b/patches/server/0754-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
diff --git a/patches/server/0756-Add-GameEvent-tags.patch b/patches/server/0755-Add-GameEvent-tags.patch
index a6a1398656..a6a1398656 100644
--- a/patches/server/0756-Add-GameEvent-tags.patch
+++ b/patches/server/0755-Add-GameEvent-tags.patch
diff --git a/patches/server/0757-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch b/patches/server/0756-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
index d4ee6e925e..d4ee6e925e 100644
--- a/patches/server/0757-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
+++ b/patches/server/0756-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
diff --git a/patches/server/0758-Furnace-RecipesUsed-API.patch b/patches/server/0757-Furnace-RecipesUsed-API.patch
index 075cd97b56..075cd97b56 100644
--- a/patches/server/0758-Furnace-RecipesUsed-API.patch
+++ b/patches/server/0757-Furnace-RecipesUsed-API.patch
diff --git a/patches/server/0759-Configurable-sculk-sensor-listener-range.patch b/patches/server/0758-Configurable-sculk-sensor-listener-range.patch
index ff5a549be0..ff5a549be0 100644
--- a/patches/server/0759-Configurable-sculk-sensor-listener-range.patch
+++ b/patches/server/0758-Configurable-sculk-sensor-listener-range.patch
diff --git a/patches/server/0760-Add-missing-block-data-mins-and-maxes.patch b/patches/server/0759-Add-missing-block-data-mins-and-maxes.patch
index defc7411be..defc7411be 100644
--- a/patches/server/0760-Add-missing-block-data-mins-and-maxes.patch
+++ b/patches/server/0759-Add-missing-block-data-mins-and-maxes.patch
diff --git a/patches/server/0761-Option-to-have-default-CustomSpawners-in-custom-worl.patch b/patches/server/0760-Option-to-have-default-CustomSpawners-in-custom-worl.patch
index b584e52ee2..b584e52ee2 100644
--- a/patches/server/0761-Option-to-have-default-CustomSpawners-in-custom-worl.patch
+++ b/patches/server/0760-Option-to-have-default-CustomSpawners-in-custom-worl.patch
diff --git a/patches/server/0762-Put-world-into-worldlist-before-initing-the-world.patch b/patches/server/0761-Put-world-into-worldlist-before-initing-the-world.patch
index 3930cc57c6..3930cc57c6 100644
--- a/patches/server/0762-Put-world-into-worldlist-before-initing-the-world.patch
+++ b/patches/server/0761-Put-world-into-worldlist-before-initing-the-world.patch
diff --git a/patches/server/0763-Fix-Entity-Position-Desync.patch b/patches/server/0762-Fix-Entity-Position-Desync.patch
index 1a885e69f8..1a885e69f8 100644
--- a/patches/server/0763-Fix-Entity-Position-Desync.patch
+++ b/patches/server/0762-Fix-Entity-Position-Desync.patch
diff --git a/patches/server/0764-Custom-Potion-Mixes.patch b/patches/server/0763-Custom-Potion-Mixes.patch
index b860cd65c7..b860cd65c7 100644
--- a/patches/server/0764-Custom-Potion-Mixes.patch
+++ b/patches/server/0763-Custom-Potion-Mixes.patch
diff --git a/patches/server/0765-Force-close-world-loading-screen.patch b/patches/server/0764-Force-close-world-loading-screen.patch
index 0b85261bfe..0b85261bfe 100644
--- a/patches/server/0765-Force-close-world-loading-screen.patch
+++ b/patches/server/0764-Force-close-world-loading-screen.patch
diff --git a/patches/server/0766-Fix-falling-block-spawn-methods.patch b/patches/server/0765-Fix-falling-block-spawn-methods.patch
index 0be6032572..48442f86c8 100644
--- a/patches/server/0766-Fix-falling-block-spawn-methods.patch
+++ b/patches/server/0765-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 3405c349bb211e11caac131a2ba5c1bb4175b9f8..713e7600fb845cf8c4f0880ca10bad5cf04f100b 100644
+index ad3d2130879bfaeccc4a67eaec398cec10d877b9..bbd0bc0e0ccd5e895ba054182024f5480416e849 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1405,7 +1405,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1453,7 +1453,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 3405c349bb211e11caac131a2ba5c1bb4175b9f8..713e7600fb845cf8c4f0880ca10bad5c
return (FallingBlock) entity.getBukkitEntity();
}
-@@ -1414,7 +1419,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1462,7 +1467,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Preconditions.checkArgument(location != null, "Location cannot be null");
Preconditions.checkArgument(data != null, "BlockData cannot be null");
@@ -43,7 +43,7 @@ index 3405c349bb211e11caac131a2ba5c1bb4175b9f8..713e7600fb845cf8c4f0880ca10bad5c
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
-index f06e308adb90e2cfb1fdd8d905547fc4cb159c5c..ee0f33ece945d71d67d11cd9bc825f5ca54333c4 100644
+index 104d68c636870a279cf4451da9c29237d532bdb2..61230477385eda3a806cfccdbb1685bf475a0c6a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
@@ -378,7 +378,7 @@ public final class CraftEntityTypes {
diff --git a/patches/server/0767-Expose-furnace-minecart-push-values.patch b/patches/server/0766-Expose-furnace-minecart-push-values.patch
index 6245e14b4e..6245e14b4e 100644
--- a/patches/server/0767-Expose-furnace-minecart-push-values.patch
+++ b/patches/server/0766-Expose-furnace-minecart-push-values.patch
diff --git a/patches/server/0768-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch b/patches/server/0767-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
index 8826989056..8826989056 100644
--- a/patches/server/0768-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
+++ b/patches/server/0767-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
diff --git a/patches/server/0769-More-Projectile-API.patch b/patches/server/0768-More-Projectile-API.patch
index c2fd22589b..c2fd22589b 100644
--- a/patches/server/0769-More-Projectile-API.patch
+++ b/patches/server/0768-More-Projectile-API.patch
diff --git a/patches/server/0770-Fix-swamp-hut-cat-generation-deadlock.patch b/patches/server/0769-Fix-swamp-hut-cat-generation-deadlock.patch
index b2499e69cc..b2499e69cc 100644
--- a/patches/server/0770-Fix-swamp-hut-cat-generation-deadlock.patch
+++ b/patches/server/0769-Fix-swamp-hut-cat-generation-deadlock.patch
diff --git a/patches/server/0771-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0770-Don-t-allow-vehicle-movement-from-players-while-tele.patch
index 3972197453..3972197453 100644
--- a/patches/server/0771-Don-t-allow-vehicle-movement-from-players-while-tele.patch
+++ b/patches/server/0770-Don-t-allow-vehicle-movement-from-players-while-tele.patch
diff --git a/patches/server/0772-Implement-getComputedBiome-API.patch b/patches/server/0771-Implement-getComputedBiome-API.patch
index 805784f862..805784f862 100644
--- a/patches/server/0772-Implement-getComputedBiome-API.patch
+++ b/patches/server/0771-Implement-getComputedBiome-API.patch
diff --git a/patches/server/0773-Make-some-itemstacks-nonnull.patch b/patches/server/0772-Make-some-itemstacks-nonnull.patch
index 4679d4a859..4679d4a859 100644
--- a/patches/server/0773-Make-some-itemstacks-nonnull.patch
+++ b/patches/server/0772-Make-some-itemstacks-nonnull.patch
diff --git a/patches/server/0774-Implement-enchantWithLevels-API.patch b/patches/server/0773-Implement-enchantWithLevels-API.patch
index b5459454d4..b5459454d4 100644
--- a/patches/server/0774-Implement-enchantWithLevels-API.patch
+++ b/patches/server/0773-Implement-enchantWithLevels-API.patch
diff --git a/patches/server/0775-Fix-saving-in-unloadWorld.patch b/patches/server/0774-Fix-saving-in-unloadWorld.patch
index 79ad012645..79ad012645 100644
--- a/patches/server/0775-Fix-saving-in-unloadWorld.patch
+++ b/patches/server/0774-Fix-saving-in-unloadWorld.patch
diff --git a/patches/server/0776-Buffer-OOB-setBlock-calls.patch b/patches/server/0775-Buffer-OOB-setBlock-calls.patch
index c3098333e9..c3098333e9 100644
--- a/patches/server/0776-Buffer-OOB-setBlock-calls.patch
+++ b/patches/server/0775-Buffer-OOB-setBlock-calls.patch
diff --git a/patches/server/0777-Add-TameableDeathMessageEvent.patch b/patches/server/0776-Add-TameableDeathMessageEvent.patch
index 53da18382c..53da18382c 100644
--- a/patches/server/0777-Add-TameableDeathMessageEvent.patch
+++ b/patches/server/0776-Add-TameableDeathMessageEvent.patch
diff --git a/patches/server/0778-Fix-new-block-data-for-EntityChangeBlockEvent.patch b/patches/server/0777-Fix-new-block-data-for-EntityChangeBlockEvent.patch
index 71a9201798..71a9201798 100644
--- a/patches/server/0778-Fix-new-block-data-for-EntityChangeBlockEvent.patch
+++ b/patches/server/0777-Fix-new-block-data-for-EntityChangeBlockEvent.patch
diff --git a/patches/server/0779-fix-player-loottables-running-when-mob-loot-gamerule.patch b/patches/server/0778-fix-player-loottables-running-when-mob-loot-gamerule.patch
index c157a83ae7..0a634e6230 100644
--- a/patches/server/0779-fix-player-loottables-running-when-mob-loot-gamerule.patch
+++ b/patches/server/0778-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 eed929059c7ee445a9ae6dbf778c4e2638311ca0..b6142c9f4474749be495ca0638e7b45fad327ce1 100644
+index 29da0b80aa0a4e6ebf1f0e30c26a6b85f034e8e4..c9424effb591bbe96e803db9eb39640eec07148b 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -924,12 +924,14 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0780-Ensure-entity-passenger-world-matches-ridden-entity.patch b/patches/server/0779-Ensure-entity-passenger-world-matches-ridden-entity.patch
index e75d82ac37..e75d82ac37 100644
--- a/patches/server/0780-Ensure-entity-passenger-world-matches-ridden-entity.patch
+++ b/patches/server/0779-Ensure-entity-passenger-world-matches-ridden-entity.patch
diff --git a/patches/server/0781-Guard-against-invalid-entity-positions.patch b/patches/server/0780-Guard-against-invalid-entity-positions.patch
index 27f03de786..27f03de786 100644
--- a/patches/server/0781-Guard-against-invalid-entity-positions.patch
+++ b/patches/server/0780-Guard-against-invalid-entity-positions.patch
diff --git a/patches/server/0782-cache-resource-keys.patch b/patches/server/0781-cache-resource-keys.patch
index d444813b7a..d444813b7a 100644
--- a/patches/server/0782-cache-resource-keys.patch
+++ b/patches/server/0781-cache-resource-keys.patch
diff --git a/patches/server/0783-Allow-to-change-the-podium-for-the-EnderDragon.patch b/patches/server/0782-Allow-to-change-the-podium-for-the-EnderDragon.patch
index 44d65a775a..44d65a775a 100644
--- a/patches/server/0783-Allow-to-change-the-podium-for-the-EnderDragon.patch
+++ b/patches/server/0782-Allow-to-change-the-podium-for-the-EnderDragon.patch
diff --git a/patches/server/0784-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch b/patches/server/0783-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
index 57d912648d..57d912648d 100644
--- a/patches/server/0784-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
+++ b/patches/server/0783-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
diff --git a/patches/server/0785-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch b/patches/server/0784-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch
index dfa3c3ac08..dfa3c3ac08 100644
--- a/patches/server/0785-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch
+++ b/patches/server/0784-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch
diff --git a/patches/server/0786-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0785-Prevent-tile-entity-copies-loading-chunks.patch
index cf25ea8b5b..cf25ea8b5b 100644
--- a/patches/server/0786-Prevent-tile-entity-copies-loading-chunks.patch
+++ b/patches/server/0785-Prevent-tile-entity-copies-loading-chunks.patch
diff --git a/patches/server/0787-Use-username-instead-of-display-name-in-PlayerList-g.patch b/patches/server/0786-Use-username-instead-of-display-name-in-PlayerList-g.patch
index f6eb91a04c..f6eb91a04c 100644
--- a/patches/server/0787-Use-username-instead-of-display-name-in-PlayerList-g.patch
+++ b/patches/server/0786-Use-username-instead-of-display-name-in-PlayerList-g.patch
diff --git a/patches/server/0788-Pass-ServerLevel-for-gamerule-callbacks.patch b/patches/server/0787-Pass-ServerLevel-for-gamerule-callbacks.patch
index f9af4b541a..b4b8c0ab77 100644
--- a/patches/server/0788-Pass-ServerLevel-for-gamerule-callbacks.patch
+++ b/patches/server/0787-Pass-ServerLevel-for-gamerule-callbacks.patch
@@ -167,10 +167,10 @@ index 2a480026c3bfb06e6556fe5b11d9712c8e02debe..6c1af24f2f02ef5fe1be135b4071362f
this.onChanged(server);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 713e7600fb845cf8c4f0880ca10bad5cf04f100b..3f4145bef3ef0d0d54914c1f6ebd216622d9a747 100644
+index bbd0bc0e0ccd5e895ba054182024f5480416e849..56a020427757ad4e91f9bffd1e75fe78bcb4d6af 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1983,7 +1983,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2031,7 +2031,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
// Paper end
GameRules.Value<?> handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule));
handle.deserialize(event.getValue()); // Paper
@@ -179,7 +179,7 @@ index 713e7600fb845cf8c4f0880ca10bad5cf04f100b..3f4145bef3ef0d0d54914c1f6ebd2166
return true;
}
-@@ -2024,7 +2024,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2072,7 +2072,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
// Paper end
GameRules.Value<?> handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule.getName()));
handle.deserialize(event.getValue()); // Paper
diff --git a/patches/server/0789-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch b/patches/server/0788-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
index 81c4ab47d1..81c4ab47d1 100644
--- a/patches/server/0789-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
+++ b/patches/server/0788-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
diff --git a/patches/server/0790-WorldCreator-keepSpawnLoaded.patch b/patches/server/0789-WorldCreator-keepSpawnLoaded.patch
index 374c68cec1..374c68cec1 100644
--- a/patches/server/0790-WorldCreator-keepSpawnLoaded.patch
+++ b/patches/server/0789-WorldCreator-keepSpawnLoaded.patch
diff --git a/patches/server/0791-Fix-CME-in-CraftPersistentDataTypeRegistry.patch b/patches/server/0790-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
index 0510692ca9..0510692ca9 100644
--- a/patches/server/0791-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
+++ b/patches/server/0790-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
diff --git a/patches/server/0792-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch b/patches/server/0791-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
index 893840fdd5..893840fdd5 100644
--- a/patches/server/0792-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
+++ b/patches/server/0791-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
diff --git a/patches/server/0793-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/server/0792-Add-EntityDyeEvent-and-CollarColorable-interface.patch
index 76380e425b..76380e425b 100644
--- a/patches/server/0793-Add-EntityDyeEvent-and-CollarColorable-interface.patch
+++ b/patches/server/0792-Add-EntityDyeEvent-and-CollarColorable-interface.patch
diff --git a/patches/server/0794-Fire-CauldronLevelChange-on-initial-fill.patch b/patches/server/0793-Fire-CauldronLevelChange-on-initial-fill.patch
index 2d6f6a9296..2d6f6a9296 100644
--- a/patches/server/0794-Fire-CauldronLevelChange-on-initial-fill.patch
+++ b/patches/server/0793-Fire-CauldronLevelChange-on-initial-fill.patch
diff --git a/patches/server/0795-fix-powder-snow-cauldrons-not-turning-to-water.patch b/patches/server/0794-fix-powder-snow-cauldrons-not-turning-to-water.patch
index 26317d1b0b..26317d1b0b 100644
--- a/patches/server/0795-fix-powder-snow-cauldrons-not-turning-to-water.patch
+++ b/patches/server/0794-fix-powder-snow-cauldrons-not-turning-to-water.patch
diff --git a/patches/server/0796-Add-PlayerStopUsingItemEvent.patch b/patches/server/0795-Add-PlayerStopUsingItemEvent.patch
index 622fc353c2..566a7a01fd 100644
--- a/patches/server/0796-Add-PlayerStopUsingItemEvent.patch
+++ b/patches/server/0795-Add-PlayerStopUsingItemEvent.patch
@@ -5,7 +5,7 @@ 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 b8c7f0077118825848bddee8279e252914929d35..a21de30eef397308e3f4866a16cc588012e16f50 100644
+index e27b19cf56b269c426cb6ddf81513497b70c676f..36ecdf1d0171286893b267b4591d298eefe40587 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -4025,6 +4025,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0797-Don-t-tick-markers.patch b/patches/server/0796-Don-t-tick-markers.patch
index fa030b09e2..fa030b09e2 100644
--- a/patches/server/0797-Don-t-tick-markers.patch
+++ b/patches/server/0796-Don-t-tick-markers.patch
diff --git a/patches/server/0798-Expand-FallingBlock-API.patch b/patches/server/0797-Expand-FallingBlock-API.patch
index 2a31126860..2a31126860 100644
--- a/patches/server/0798-Expand-FallingBlock-API.patch
+++ b/patches/server/0797-Expand-FallingBlock-API.patch
diff --git a/patches/server/0799-Do-not-accept-invalid-client-settings.patch b/patches/server/0798-Do-not-accept-invalid-client-settings.patch
index 61fd24e399..61fd24e399 100644
--- a/patches/server/0799-Do-not-accept-invalid-client-settings.patch
+++ b/patches/server/0798-Do-not-accept-invalid-client-settings.patch
diff --git a/patches/server/0800-Add-support-for-Proxy-Protocol.patch b/patches/server/0799-Add-support-for-Proxy-Protocol.patch
index 11d3dea224..11d3dea224 100644
--- a/patches/server/0800-Add-support-for-Proxy-Protocol.patch
+++ b/patches/server/0799-Add-support-for-Proxy-Protocol.patch
diff --git a/patches/server/0801-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0800-Fix-OfflinePlayer-getBedSpawnLocation.patch
index 7d9e9d920f..7d9e9d920f 100644
--- a/patches/server/0801-Fix-OfflinePlayer-getBedSpawnLocation.patch
+++ b/patches/server/0800-Fix-OfflinePlayer-getBedSpawnLocation.patch
diff --git a/patches/server/0802-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch b/patches/server/0801-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
index 6fdd1fd271..6fdd1fd271 100644
--- a/patches/server/0802-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
+++ b/patches/server/0801-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
diff --git a/patches/server/0803-Sanitize-Sent-BlockEntity-NBT.patch b/patches/server/0802-Sanitize-Sent-BlockEntity-NBT.patch
index b3404362f9..b3404362f9 100644
--- a/patches/server/0803-Sanitize-Sent-BlockEntity-NBT.patch
+++ b/patches/server/0802-Sanitize-Sent-BlockEntity-NBT.patch
diff --git a/patches/server/0804-Disable-component-selector-resolving-in-books-by-def.patch b/patches/server/0803-Disable-component-selector-resolving-in-books-by-def.patch
index 72862c20c5..72862c20c5 100644
--- a/patches/server/0804-Disable-component-selector-resolving-in-books-by-def.patch
+++ b/patches/server/0803-Disable-component-selector-resolving-in-books-by-def.patch
diff --git a/patches/server/0805-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0804-Prevent-entity-loading-causing-async-lookups.patch
index d6ab60fc8e..d6ab60fc8e 100644
--- a/patches/server/0805-Prevent-entity-loading-causing-async-lookups.patch
+++ b/patches/server/0804-Prevent-entity-loading-causing-async-lookups.patch
diff --git a/patches/server/0806-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0805-Throw-exception-on-world-create-while-being-ticked.patch
index 4b8e3640fc..4b8e3640fc 100644
--- a/patches/server/0806-Throw-exception-on-world-create-while-being-ticked.patch
+++ b/patches/server/0805-Throw-exception-on-world-create-while-being-ticked.patch
diff --git a/patches/server/0807-Add-Alternate-Current-redstone-implementation.patch b/patches/server/0806-Add-Alternate-Current-redstone-implementation.patch
index 41f7096da9..0030e30392 100644
--- a/patches/server/0807-Add-Alternate-Current-redstone-implementation.patch
+++ b/patches/server/0806-Add-Alternate-Current-redstone-implementation.patch
@@ -2034,10 +2034,10 @@ index a96aa3568453aa2da8b5cd5b269fc0b3fec13938..4cf7e66dfee34a29894f53d17e7e13c4
EntityCallbacks() {}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 78fd63052f1eb5a650befecdad07cbc755658632..3a5bf6937a98d60be0d0142a15cf12d8de9b687f 100644
+index 3dfc42dfed0429ea46238ede127b86a0c7756659..2e96fadbead617096ef6dd96b37f967da9a30395 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -1876,4 +1876,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -1870,4 +1870,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
return ret;
}
// Paper end
diff --git a/patches/server/0808-Dont-resent-entity-on-art-update.patch b/patches/server/0807-Dont-resent-entity-on-art-update.patch
index 38d1a4ca58..38d1a4ca58 100644
--- a/patches/server/0808-Dont-resent-entity-on-art-update.patch
+++ b/patches/server/0807-Dont-resent-entity-on-art-update.patch
diff --git a/patches/server/0809-Add-WardenAngerChangeEvent.patch b/patches/server/0808-Add-WardenAngerChangeEvent.patch
index 8e13bfe2f5..8e13bfe2f5 100644
--- a/patches/server/0809-Add-WardenAngerChangeEvent.patch
+++ b/patches/server/0808-Add-WardenAngerChangeEvent.patch
diff --git a/patches/server/0810-Add-option-for-strict-advancement-dimension-checks.patch b/patches/server/0809-Add-option-for-strict-advancement-dimension-checks.patch
index 6a46cf623e..841c8aa37d 100644
--- a/patches/server/0810-Add-option-for-strict-advancement-dimension-checks.patch
+++ b/patches/server/0809-Add-option-for-strict-advancement-dimension-checks.patch
@@ -24,7 +24,7 @@ index 5f9cb2c7a2874e423087d04d3360af0364692b5c..f81aa5adf9a499cef6dc45bf3f9de2df
} 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 b6142c9f4474749be495ca0638e7b45fad327ce1..4895f0c507aac0c473ecca951f206a5b2182ad97 100644
+index c9424effb591bbe96e803db9eb39640eec07148b..cd0fc31064ae5ec9a9422a7596372d94a6904186 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1320,6 +1320,12 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0811-Add-missing-important-BlockStateListPopulator-method.patch b/patches/server/0810-Add-missing-important-BlockStateListPopulator-method.patch
index 70241cc9b8..70241cc9b8 100644
--- a/patches/server/0811-Add-missing-important-BlockStateListPopulator-method.patch
+++ b/patches/server/0810-Add-missing-important-BlockStateListPopulator-method.patch
diff --git a/patches/server/0812-Nameable-Banner-API.patch b/patches/server/0811-Nameable-Banner-API.patch
index 351d3597e0..351d3597e0 100644
--- a/patches/server/0812-Nameable-Banner-API.patch
+++ b/patches/server/0811-Nameable-Banner-API.patch
diff --git a/patches/server/0813-Don-t-broadcast-messages-to-command-blocks.patch b/patches/server/0812-Don-t-broadcast-messages-to-command-blocks.patch
index fb129ecb6d..fb129ecb6d 100644
--- a/patches/server/0813-Don-t-broadcast-messages-to-command-blocks.patch
+++ b/patches/server/0812-Don-t-broadcast-messages-to-command-blocks.patch
diff --git a/patches/server/0814-Prevent-empty-items-from-being-added-to-world.patch b/patches/server/0813-Prevent-empty-items-from-being-added-to-world.patch
index 6ac2045202..6ac2045202 100644
--- a/patches/server/0814-Prevent-empty-items-from-being-added-to-world.patch
+++ b/patches/server/0813-Prevent-empty-items-from-being-added-to-world.patch
diff --git a/patches/server/0815-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch b/patches/server/0814-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
index 5816232b91..5816232b91 100644
--- a/patches/server/0815-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
+++ b/patches/server/0814-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
diff --git a/patches/server/0816-Add-Player-getFishHook.patch b/patches/server/0815-Add-Player-getFishHook.patch
index 76aa8357c9..76aa8357c9 100644
--- a/patches/server/0816-Add-Player-getFishHook.patch
+++ b/patches/server/0815-Add-Player-getFishHook.patch
diff --git a/patches/server/0817-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch b/patches/server/0816-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
index 3956916b04..3956916b04 100644
--- a/patches/server/0817-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
+++ b/patches/server/0816-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
diff --git a/patches/server/0818-Add-various-missing-EntityDropItemEvent-calls.patch b/patches/server/0817-Add-various-missing-EntityDropItemEvent-calls.patch
index 2c9631f498..2c9631f498 100644
--- a/patches/server/0818-Add-various-missing-EntityDropItemEvent-calls.patch
+++ b/patches/server/0817-Add-various-missing-EntityDropItemEvent-calls.patch
diff --git a/patches/server/0819-Fix-Bee-flower-NPE.patch b/patches/server/0818-Fix-Bee-flower-NPE.patch
index 7e9696d0ac..7e9696d0ac 100644
--- a/patches/server/0819-Fix-Bee-flower-NPE.patch
+++ b/patches/server/0818-Fix-Bee-flower-NPE.patch
diff --git a/patches/server/0820-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch b/patches/server/0819-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
index 320e5bca68..320e5bca68 100644
--- a/patches/server/0820-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
+++ b/patches/server/0819-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
diff --git a/patches/server/0821-More-Teleport-API.patch b/patches/server/0820-More-Teleport-API.patch
index e9a85d2d73..cd8586fee0 100644
--- a/patches/server/0821-More-Teleport-API.patch
+++ b/patches/server/0820-More-Teleport-API.patch
@@ -29,7 +29,7 @@ index 65bc013e9dc603ef0d64a9340353869f06ce18c2..23522e52cd8da1208004a6982b718c2a
d0 = to.getX();
d1 = to.getY();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 34e9172ef95d3d81a294df41ea7cbeaa175f3753..4f09da9338cb1180f5bfb2048d50392d0b6fb206 100644
+index 1879ec9e275194cb83f30ec47930a3814fbe1da3..027fa02e855e14b1554ddd141d0a937a64ec99e0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -218,15 +218,36 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -72,7 +72,7 @@ index 34e9172ef95d3d81a294df41ea7cbeaa175f3753..4f09da9338cb1180f5bfb2048d50392d
// 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 a0c09dd6561c056d989c12e2c9e126cef310ea0d..eaef5277b15f821aa005ac22fca7b74769026dd7 100644
+index 29a2e22bda0595e9b4bbd42e6b9a0515c5cc2f1c..10e5b244e3a55e4b26b05a7b117a868166abce43 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1207,13 +1207,101 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0822-Add-EntityPortalReadyEvent.patch b/patches/server/0821-Add-EntityPortalReadyEvent.patch
index e82184bd04..e82184bd04 100644
--- a/patches/server/0822-Add-EntityPortalReadyEvent.patch
+++ b/patches/server/0821-Add-EntityPortalReadyEvent.patch
diff --git a/patches/server/0823-Don-t-use-level-random-in-entity-constructors.patch b/patches/server/0822-Don-t-use-level-random-in-entity-constructors.patch
index d895b4283c..d895b4283c 100644
--- a/patches/server/0823-Don-t-use-level-random-in-entity-constructors.patch
+++ b/patches/server/0822-Don-t-use-level-random-in-entity-constructors.patch
diff --git a/patches/server/0824-Send-block-entities-after-destroy-prediction.patch b/patches/server/0823-Send-block-entities-after-destroy-prediction.patch
index 0f2280dba0..0f2280dba0 100644
--- a/patches/server/0824-Send-block-entities-after-destroy-prediction.patch
+++ b/patches/server/0823-Send-block-entities-after-destroy-prediction.patch
diff --git a/patches/server/0825-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/server/0824-Warn-on-plugins-accessing-faraway-chunks.patch
index 68393ca908..9b9a5e7d20 100644
--- a/patches/server/0825-Warn-on-plugins-accessing-faraway-chunks.patch
+++ b/patches/server/0824-Warn-on-plugins-accessing-faraway-chunks.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Warn on plugins accessing faraway chunks
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 3a5bf6937a98d60be0d0142a15cf12d8de9b687f..436c16feb53b3dbf32e86f1960714d3d3ffeffd8 100644
+index 2e96fadbead617096ef6dd96b37f967da9a30395..440e99f24fdbc73fa51d5d3aa8aabfae9fc4deca 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -813,7 +813,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -18,10 +18,10 @@ index 3a5bf6937a98d60be0d0142a15cf12d8de9b687f..436c16feb53b3dbf32e86f1960714d3d
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 3f4145bef3ef0d0d54914c1f6ebd216622d9a747..c77fec78636805a496ecea3e56f26290dbcbffff 100644
+index 56a020427757ad4e91f9bffd1e75fe78bcb4d6af..c96d1956049eecfb395ad75b971c07dcd4c71107 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -313,9 +313,24 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -312,9 +312,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 3f4145bef3ef0d0d54914c1f6ebd216622d9a747..c77fec78636805a496ecea3e56f26290
// 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) {
-@@ -430,6 +445,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -429,6 +444,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 3f4145bef3ef0d0d54914c1f6ebd216622d9a747..c77fec78636805a496ecea3e56f26290
// Paper start - implement regenerateChunk method
final ServerLevel serverLevel = this.world;
final net.minecraft.server.level.ServerChunkCache serverChunkCache = serverLevel.getChunkSource();
-@@ -525,6 +541,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -524,6 +540,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 3f4145bef3ef0d0d54914c1f6ebd216622d9a747..c77fec78636805a496ecea3e56f26290
// Paper start - Optimize this method
ChunkPos chunkPos = new ChunkPos(x, z);
ChunkAccess immediate = world.getChunkSource().getChunkAtIfLoadedImmediately(x, z); // Paper
-@@ -588,6 +605,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -587,6 +604,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean addPluginChunkTicket(int x, int z, Plugin plugin) {
@@ -70,7 +70,7 @@ index 3f4145bef3ef0d0d54914c1f6ebd216622d9a747..c77fec78636805a496ecea3e56f26290
Preconditions.checkArgument(plugin != null, "null plugin");
Preconditions.checkArgument(plugin.isEnabled(), "plugin is not enabled");
-@@ -656,6 +674,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -655,6 +673,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setChunkForceLoaded(int x, int z, boolean forced) {
@@ -78,7 +78,7 @@ index 3f4145bef3ef0d0d54914c1f6ebd216622d9a747..c77fec78636805a496ecea3e56f26290
this.getHandle().setChunkForced(x, z, forced);
}
-@@ -968,6 +987,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -967,6 +986,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 3f4145bef3ef0d0d54914c1f6ebd216622d9a747..c77fec78636805a496ecea3e56f26290
// Transient load for this tick
return this.world.getChunk(x >> 4, z >> 4).getHeight(CraftHeightMap.toNMS(heightMap), x, z);
}
-@@ -2420,6 +2440,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2417,6 +2437,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/0826-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0825-Custom-Chat-Completion-Suggestions-API.patch
index a3b65247a8..afd502bd34 100644
--- a/patches/server/0826-Custom-Chat-Completion-Suggestions-API.patch
+++ b/patches/server/0825-Custom-Chat-Completion-Suggestions-API.patch
@@ -5,7 +5,7 @@ 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 eaef5277b15f821aa005ac22fca7b74769026dd7..adab5ee4eb2b3ff84ed00ec770fcce1939ba9b9a 100644
+index 10e5b244e3a55e4b26b05a7b117a868166abce43..160b25a768969af347917aad00807381a6ba39d1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -647,6 +647,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0827-Add-and-fix-missing-BlockFadeEvents.patch b/patches/server/0826-Add-and-fix-missing-BlockFadeEvents.patch
index 45acbcd56f..45acbcd56f 100644
--- a/patches/server/0827-Add-and-fix-missing-BlockFadeEvents.patch
+++ b/patches/server/0826-Add-and-fix-missing-BlockFadeEvents.patch
diff --git a/patches/server/0828-Collision-API.patch b/patches/server/0827-Collision-API.patch
index c6f415c569..757804a69c 100644
--- a/patches/server/0828-Collision-API.patch
+++ b/patches/server/0827-Collision-API.patch
@@ -22,7 +22,7 @@ index d46ab8b75fe99e03874539956ca6389d3cdd0641..ec11732b5c3285429aa370c7bed80c3e
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 4f09da9338cb1180f5bfb2048d50392d0b6fb206..eddbf38e8628b509c5b56b74732f22f5e97f332b 100644
+index 027fa02e855e14b1554ddd141d0a937a64ec99e0..763462e4cf8abdd654b582150fab09f05e64f990 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1124,4 +1124,19 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0829-Fix-suggest-command-message-for-brigadier-syntax-exc.patch b/patches/server/0828-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
index 391e55a13a..391e55a13a 100644
--- a/patches/server/0829-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
+++ b/patches/server/0828-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
diff --git a/patches/server/0830-Block-Ticking-API.patch b/patches/server/0829-Block-Ticking-API.patch
index 45523d4df5..45523d4df5 100644
--- a/patches/server/0830-Block-Ticking-API.patch
+++ b/patches/server/0829-Block-Ticking-API.patch
diff --git a/patches/server/0831-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0830-Add-Velocity-IP-Forwarding-Support.patch
index c0e8eae7c9..c0e8eae7c9 100644
--- a/patches/server/0831-Add-Velocity-IP-Forwarding-Support.patch
+++ b/patches/server/0830-Add-Velocity-IP-Forwarding-Support.patch
diff --git a/patches/server/0832-Add-NamespacedKey-biome-methods.patch b/patches/server/0831-Add-NamespacedKey-biome-methods.patch
index 897f91ee26..897f91ee26 100644
--- a/patches/server/0832-Add-NamespacedKey-biome-methods.patch
+++ b/patches/server/0831-Add-NamespacedKey-biome-methods.patch
diff --git a/patches/server/0833-Fix-plugin-loggers-on-server-shutdown.patch b/patches/server/0832-Fix-plugin-loggers-on-server-shutdown.patch
index ed3aa5f07b..ed3aa5f07b 100644
--- a/patches/server/0833-Fix-plugin-loggers-on-server-shutdown.patch
+++ b/patches/server/0832-Fix-plugin-loggers-on-server-shutdown.patch
diff --git a/patches/server/0834-Stop-large-look-changes-from-crashing-the-server.patch b/patches/server/0833-Stop-large-look-changes-from-crashing-the-server.patch
index 128f6b1226..8773367ac0 100644
--- a/patches/server/0834-Stop-large-look-changes-from-crashing-the-server.patch
+++ b/patches/server/0833-Stop-large-look-changes-from-crashing-the-server.patch
@@ -6,7 +6,7 @@ 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 a21de30eef397308e3f4866a16cc588012e16f50..ece2f45427462587e28ba770178e13d7037e6668 100644
+index 36ecdf1d0171286893b267b4591d298eefe40587..0d0299482be6c906575626dc352cd13ae8be4569 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3056,37 +3056,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0835-Fire-EntityChangeBlockEvent-in-more-places.patch b/patches/server/0834-Fire-EntityChangeBlockEvent-in-more-places.patch
index 68bb448890..68bb448890 100644
--- a/patches/server/0835-Fire-EntityChangeBlockEvent-in-more-places.patch
+++ b/patches/server/0834-Fire-EntityChangeBlockEvent-in-more-places.patch
diff --git a/patches/server/0836-Missing-eating-regain-reason.patch b/patches/server/0835-Missing-eating-regain-reason.patch
index e04644ebf1..e04644ebf1 100644
--- a/patches/server/0836-Missing-eating-regain-reason.patch
+++ b/patches/server/0835-Missing-eating-regain-reason.patch
diff --git a/patches/server/0837-Missing-effect-cause.patch b/patches/server/0836-Missing-effect-cause.patch
index 2e4ef13ae7..2e4ef13ae7 100644
--- a/patches/server/0837-Missing-effect-cause.patch
+++ b/patches/server/0836-Missing-effect-cause.patch
diff --git a/patches/server/0838-Added-byte-array-serialization-deserialization-for-P.patch b/patches/server/0837-Added-byte-array-serialization-deserialization-for-P.patch
index 03ee249744..03ee249744 100644
--- a/patches/server/0838-Added-byte-array-serialization-deserialization-for-P.patch
+++ b/patches/server/0837-Added-byte-array-serialization-deserialization-for-P.patch
diff --git a/patches/server/0839-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/server/0838-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
index 4f1349e559..747d7487f6 100644
--- a/patches/server/0839-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
+++ b/patches/server/0838-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 d8977cc464e477bb679f597bde8b0e6f3f3cfa24..fc66fb79144c9654f7d38841927b143787395b61 100644
+index 3e79a73e42875936e373f797dcde6a60a904a880..c95534156a9c6a9b612c478e396b8cc5a77f7b08 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -509,8 +509,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -508,8 +508,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
}
@Override
@@ -25,7 +25,7 @@ index d8977cc464e477bb679f597bde8b0e6f3f3cfa24..fc66fb79144c9654f7d38841927b1437
Preconditions.checkState(!this.getHandle().generation, "Cannot launch projectile during world generation");
net.minecraft.world.level.Level world = ((CraftWorld) this.getWorld()).getHandle();
-@@ -597,6 +604,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -596,6 +603,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
if (velocity != null) {
((T) launch.getBukkitEntity()).setVelocity(velocity);
}
@@ -38,10 +38,10 @@ index d8977cc464e477bb679f597bde8b0e6f3f3cfa24..fc66fb79144c9654f7d38841927b1437
world.addFreshEntity(launch);
return (T) launch.getBukkitEntity();
diff --git a/src/main/java/org/bukkit/craftbukkit/projectiles/CraftBlockProjectileSource.java b/src/main/java/org/bukkit/craftbukkit/projectiles/CraftBlockProjectileSource.java
-index d4f6348144f9caa1aa155dfb8484df3524db0770..16f0b3711a6bbff0d4ea1f82bcc8723cbfd932c6 100644
+index faab60e735aca230cb4c0b7db21e6a9a237daf6e..89401fc942c151941790b1152a35357aa51fcdba 100644
--- a/src/main/java/org/bukkit/craftbukkit/projectiles/CraftBlockProjectileSource.java
+++ b/src/main/java/org/bukkit/craftbukkit/projectiles/CraftBlockProjectileSource.java
-@@ -56,6 +56,13 @@ public class CraftBlockProjectileSource implements BlockProjectileSource {
+@@ -55,6 +55,13 @@ public class CraftBlockProjectileSource implements BlockProjectileSource {
@Override
public <T extends Projectile> T launchProjectile(Class<? extends T> projectile, Vector velocity) {
@@ -55,7 +55,7 @@ index d4f6348144f9caa1aa155dfb8484df3524db0770..16f0b3711a6bbff0d4ea1f82bcc8723c
Preconditions.checkArgument(this.getBlock().getType() == Material.DISPENSER, "Block is no longer dispenser");
// Copied from BlockDispenser.dispense()
BlockSource sourceblock = new BlockSource((ServerLevel) this.dispenserBlock.getLevel(), this.dispenserBlock.getBlockPos(), this.dispenserBlock.getBlockState(), this.dispenserBlock);
-@@ -146,6 +153,11 @@ public class CraftBlockProjectileSource implements BlockProjectileSource {
+@@ -145,6 +152,11 @@ public class CraftBlockProjectileSource implements BlockProjectileSource {
if (velocity != null) {
((T) launch.getBukkitEntity()).setVelocity(velocity);
}
diff --git a/patches/server/0840-Call-BlockPhysicsEvent-more-often.patch b/patches/server/0839-Call-BlockPhysicsEvent-more-often.patch
index ea04c3e249..ea04c3e249 100644
--- a/patches/server/0840-Call-BlockPhysicsEvent-more-often.patch
+++ b/patches/server/0839-Call-BlockPhysicsEvent-more-often.patch
diff --git a/patches/server/0841-Configurable-chat-thread-limit.patch b/patches/server/0840-Configurable-chat-thread-limit.patch
index 5e312d3a14..5e312d3a14 100644
--- a/patches/server/0841-Configurable-chat-thread-limit.patch
+++ b/patches/server/0840-Configurable-chat-thread-limit.patch
diff --git a/patches/server/0842-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch b/patches/server/0841-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
index 5601e80875..5601e80875 100644
--- a/patches/server/0842-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
+++ b/patches/server/0841-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
diff --git a/patches/server/0843-fix-Jigsaw-block-kicking-user.patch b/patches/server/0842-fix-Jigsaw-block-kicking-user.patch
index 2972f2f48c..2972f2f48c 100644
--- a/patches/server/0843-fix-Jigsaw-block-kicking-user.patch
+++ b/patches/server/0842-fix-Jigsaw-block-kicking-user.patch
diff --git a/patches/server/0844-use-BlockFormEvent-for-mud-converting-into-clay.patch b/patches/server/0843-use-BlockFormEvent-for-mud-converting-into-clay.patch
index 443d960dbb..443d960dbb 100644
--- a/patches/server/0844-use-BlockFormEvent-for-mud-converting-into-clay.patch
+++ b/patches/server/0843-use-BlockFormEvent-for-mud-converting-into-clay.patch
diff --git a/patches/server/0845-Add-getDrops-to-BlockState.patch b/patches/server/0844-Add-getDrops-to-BlockState.patch
index f1c9e20197..f1c9e20197 100644
--- a/patches/server/0845-Add-getDrops-to-BlockState.patch
+++ b/patches/server/0844-Add-getDrops-to-BlockState.patch
diff --git a/patches/server/0846-Fix-a-bunch-of-vanilla-bugs.patch b/patches/server/0845-Fix-a-bunch-of-vanilla-bugs.patch
index 1650c4b687..9a2ac5e886 100644
--- a/patches/server/0846-Fix-a-bunch-of-vanilla-bugs.patch
+++ b/patches/server/0845-Fix-a-bunch-of-vanilla-bugs.patch
@@ -111,10 +111,10 @@ index 6cd6d69a20e95e344fc18ab67dc300824537a59b..2e2a7c2cf3081187da817479a9da3eb1
}
}
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index b71be5e7e18f884cf35cc3a940c87e744e00f811..81d3d664d4397e528a02e50469622c4ff3ffb804 100644
+index a0603e567deeede8b4cd2ba57ded44f29239d78d..982750fd4f3f474514194df9b76388311c052b29 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -899,7 +899,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -898,7 +898,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
// Paper end
@@ -137,7 +137,7 @@ index 62b2efd9cf00ec79fb937099dd9cbfe9fc58d198..66eecf5155f8f526480511d2b3af1b6f
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 4895f0c507aac0c473ecca951f206a5b2182ad97..c0306e2cca4289fae6ebd4a1b232c235f6fe06cb 100644
+index cd0fc31064ae5ec9a9422a7596372d94a6904186..9327f230d80046ec6a33475c2f9fb3823f887c58 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -468,14 +468,14 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0847-Remove-unnecessary-onTrackingStart-during-navigation.patch b/patches/server/0846-Remove-unnecessary-onTrackingStart-during-navigation.patch
index 9a13680600..9a13680600 100644
--- a/patches/server/0847-Remove-unnecessary-onTrackingStart-during-navigation.patch
+++ b/patches/server/0846-Remove-unnecessary-onTrackingStart-during-navigation.patch
diff --git a/patches/server/0848-Fix-custom-piglin-loved-items.patch b/patches/server/0847-Fix-custom-piglin-loved-items.patch
index 41c934194f..41c934194f 100644
--- a/patches/server/0848-Fix-custom-piglin-loved-items.patch
+++ b/patches/server/0847-Fix-custom-piglin-loved-items.patch
diff --git a/patches/server/0849-EntityPickupItemEvent-fixes.patch b/patches/server/0848-EntityPickupItemEvent-fixes.patch
index ac3383dced..ac3383dced 100644
--- a/patches/server/0849-EntityPickupItemEvent-fixes.patch
+++ b/patches/server/0848-EntityPickupItemEvent-fixes.patch
diff --git a/patches/server/0850-Correctly-handle-interactions-with-items-on-cooldown.patch b/patches/server/0849-Correctly-handle-interactions-with-items-on-cooldown.patch
index a6e2105024..a6e2105024 100644
--- a/patches/server/0850-Correctly-handle-interactions-with-items-on-cooldown.patch
+++ b/patches/server/0849-Correctly-handle-interactions-with-items-on-cooldown.patch
diff --git a/patches/server/0851-Add-PlayerInventorySlotChangeEvent.patch b/patches/server/0850-Add-PlayerInventorySlotChangeEvent.patch
index 97b8e694c5..8e3640e3e8 100644
--- a/patches/server/0851-Add-PlayerInventorySlotChangeEvent.patch
+++ b/patches/server/0850-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 c0306e2cca4289fae6ebd4a1b232c235f6fe06cb..51a7ce409c00f586058d4b7b0e3dba17f3b6900b 100644
+index 9327f230d80046ec6a33475c2f9fb3823f887c58..96dea7b60248e1905640b983d22a8926ab51137f 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -379,6 +379,25 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0852-Elder-Guardian-appearance-API.patch b/patches/server/0851-Elder-Guardian-appearance-API.patch
index 3726dc837a..636d6cf625 100644
--- a/patches/server/0852-Elder-Guardian-appearance-API.patch
+++ b/patches/server/0851-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 f75b05ae8b91e3099d7c306e66cf8e8d4e239697..50280facadd97d1af7a3b7eeb81cd37a6b1d962c 100644
+index 160b25a768969af347917aad00807381a6ba39d1..5e8b33d34da4489d32774c763216e7292e9b3408 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3186,6 +3186,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3185,6 +3185,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
diff --git a/patches/server/0853-Allow-changing-bed-s-occupied-property.patch b/patches/server/0852-Allow-changing-bed-s-occupied-property.patch
index f1d50caf78..f1d50caf78 100644
--- a/patches/server/0853-Allow-changing-bed-s-occupied-property.patch
+++ b/patches/server/0852-Allow-changing-bed-s-occupied-property.patch
diff --git a/patches/server/0854-Add-entity-knockback-API.patch b/patches/server/0853-Add-entity-knockback-API.patch
index 06574e2f11..fbc29ab409 100644
--- a/patches/server/0854-Add-entity-knockback-API.patch
+++ b/patches/server/0853-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 fc66fb79144c9654f7d38841927b143787395b61..3fdab42e24a660b437c2e9a3d49f583c758f0156 100644
+index c95534156a9c6a9b612c478e396b8cc5a77f7b08..4a213c35b031d78c4ce2be181d78f36cb8f16c02 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -1036,5 +1036,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -1035,5 +1035,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
}
throw new IllegalArgumentException(entityCategory + " is an unrecognized entity category");
}
diff --git a/patches/server/0855-Detect-headless-JREs.patch b/patches/server/0854-Detect-headless-JREs.patch
index a686a1859b..a686a1859b 100644
--- a/patches/server/0855-Detect-headless-JREs.patch
+++ b/patches/server/0854-Detect-headless-JREs.patch
diff --git a/patches/server/0856-fixed-entity-vehicle-collision-event-not-called.patch b/patches/server/0855-fixed-entity-vehicle-collision-event-not-called.patch
index 26b177ddcc..26b177ddcc 100644
--- a/patches/server/0856-fixed-entity-vehicle-collision-event-not-called.patch
+++ b/patches/server/0855-fixed-entity-vehicle-collision-event-not-called.patch
diff --git a/patches/server/0857-optimized-dirt-and-snow-spreading.patch b/patches/server/0856-optimized-dirt-and-snow-spreading.patch
index e2c360d692..e2c360d692 100644
--- a/patches/server/0857-optimized-dirt-and-snow-spreading.patch
+++ b/patches/server/0856-optimized-dirt-and-snow-spreading.patch
diff --git a/patches/server/0858-Added-EntityToggleSitEvent.patch b/patches/server/0857-Added-EntityToggleSitEvent.patch
index 69127e6467..69127e6467 100644
--- a/patches/server/0858-Added-EntityToggleSitEvent.patch
+++ b/patches/server/0857-Added-EntityToggleSitEvent.patch
diff --git a/patches/server/0859-Add-fire-tick-delay-option.patch b/patches/server/0858-Add-fire-tick-delay-option.patch
index a18fb56ba7..a18fb56ba7 100644
--- a/patches/server/0859-Add-fire-tick-delay-option.patch
+++ b/patches/server/0858-Add-fire-tick-delay-option.patch
diff --git a/patches/server/0860-Add-Moving-Piston-API.patch b/patches/server/0859-Add-Moving-Piston-API.patch
index b0b64257f1..b0b64257f1 100644
--- a/patches/server/0860-Add-Moving-Piston-API.patch
+++ b/patches/server/0859-Add-Moving-Piston-API.patch
diff --git a/patches/server/0861-Ignore-impossible-spawn-tick.patch b/patches/server/0860-Ignore-impossible-spawn-tick.patch
index fb255aaec0..fb255aaec0 100644
--- a/patches/server/0861-Ignore-impossible-spawn-tick.patch
+++ b/patches/server/0860-Ignore-impossible-spawn-tick.patch
diff --git a/patches/server/0862-Track-projectile-source-for-fireworks-from-dispenser.patch b/patches/server/0861-Track-projectile-source-for-fireworks-from-dispenser.patch
index aa366ccef9..aa366ccef9 100644
--- a/patches/server/0862-Track-projectile-source-for-fireworks-from-dispenser.patch
+++ b/patches/server/0861-Track-projectile-source-for-fireworks-from-dispenser.patch
diff --git a/patches/server/0863-Fix-EntityArgument-suggestion-permissions-to-align-w.patch b/patches/server/0862-Fix-EntityArgument-suggestion-permissions-to-align-w.patch
index a840f9a576..a840f9a576 100644
--- a/patches/server/0863-Fix-EntityArgument-suggestion-permissions-to-align-w.patch
+++ b/patches/server/0862-Fix-EntityArgument-suggestion-permissions-to-align-w.patch
diff --git a/patches/server/0864-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch b/patches/server/0863-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
index fb2e8745e3..fb2e8745e3 100644
--- a/patches/server/0864-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
+++ b/patches/server/0863-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
diff --git a/patches/server/0865-Prevent-compass-from-loading-chunks.patch b/patches/server/0864-Prevent-compass-from-loading-chunks.patch
index fd21636990..fd21636990 100644
--- a/patches/server/0865-Prevent-compass-from-loading-chunks.patch
+++ b/patches/server/0864-Prevent-compass-from-loading-chunks.patch
diff --git a/patches/server/0866-Add-PrePlayerAttackEntityEvent.patch b/patches/server/0865-Add-PrePlayerAttackEntityEvent.patch
index ede93986e1..ede93986e1 100644
--- a/patches/server/0866-Add-PrePlayerAttackEntityEvent.patch
+++ b/patches/server/0865-Add-PrePlayerAttackEntityEvent.patch
diff --git a/patches/server/0867-ensure-reset-EnderDragon-boss-event-name.patch b/patches/server/0866-ensure-reset-EnderDragon-boss-event-name.patch
index 6107fe92f8..6107fe92f8 100644
--- a/patches/server/0867-ensure-reset-EnderDragon-boss-event-name.patch
+++ b/patches/server/0866-ensure-reset-EnderDragon-boss-event-name.patch
diff --git a/patches/server/0868-fix-MC-252817-green-map-markers-do-not-disappear.patch b/patches/server/0867-fix-MC-252817-green-map-markers-do-not-disappear.patch
index 02dc8427c2..02dc8427c2 100644
--- a/patches/server/0868-fix-MC-252817-green-map-markers-do-not-disappear.patch
+++ b/patches/server/0867-fix-MC-252817-green-map-markers-do-not-disappear.patch
diff --git a/patches/server/0869-Add-Player-Warden-Warning-API.patch b/patches/server/0868-Add-Player-Warden-Warning-API.patch
index a6ba2fe39c..520594e716 100644
--- a/patches/server/0869-Add-Player-Warden-Warning-API.patch
+++ b/patches/server/0868-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 50280facadd97d1af7a3b7eeb81cd37a6b1d962c..0317c853ac87f84fa4aaf0f9422ebcc1efa05e19 100644
+index 5e8b33d34da4489d32774c763216e7292e9b3408..fd01db8a45934cedd8d250a197c47a8e9d386fa7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3191,6 +3191,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3190,6 +3190,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/0870-More-vanilla-friendly-methods-to-update-trades.patch b/patches/server/0869-More-vanilla-friendly-methods-to-update-trades.patch
index fef9414a8f..fef9414a8f 100644
--- a/patches/server/0870-More-vanilla-friendly-methods-to-update-trades.patch
+++ b/patches/server/0869-More-vanilla-friendly-methods-to-update-trades.patch
diff --git a/patches/server/0871-Add-paper-dumplisteners-command.patch b/patches/server/0870-Add-paper-dumplisteners-command.patch
index 9669276c0a..9669276c0a 100644
--- a/patches/server/0871-Add-paper-dumplisteners-command.patch
+++ b/patches/server/0870-Add-paper-dumplisteners-command.patch
diff --git a/patches/server/0872-check-global-player-list-where-appropriate.patch b/patches/server/0871-check-global-player-list-where-appropriate.patch
index 16808c9719..321a591aa5 100644
--- a/patches/server/0872-check-global-player-list-where-appropriate.patch
+++ b/patches/server/0871-check-global-player-list-where-appropriate.patch
@@ -24,7 +24,7 @@ index 22dd14b715f91c7771411a5375cf470fc2c940d5..c04ba20ba3f07e96fba1697f17e36c47
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index ece2f45427462587e28ba770178e13d7037e6668..9ea6c0b250c361949a7f2d2c6b5fb2eeac7c650a 100644
+index 0d0299482be6c906575626dc352cd13ae8be4569..944463496a9c2757e8ddb0104c77bbfb40e0d4ca 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3678,7 +3678,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0873-Fix-async-entity-add-due-to-fungus-trees.patch b/patches/server/0872-Fix-async-entity-add-due-to-fungus-trees.patch
index 4fc48254a8..4fc48254a8 100644
--- a/patches/server/0873-Fix-async-entity-add-due-to-fungus-trees.patch
+++ b/patches/server/0872-Fix-async-entity-add-due-to-fungus-trees.patch
diff --git a/patches/server/0874-ItemStack-damage-API.patch b/patches/server/0873-ItemStack-damage-API.patch
index cb9b0f6c2d..3c21227751 100644
--- a/patches/server/0874-ItemStack-damage-API.patch
+++ b/patches/server/0873-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 3fdab42e24a660b437c2e9a3d49f583c758f0156..1af42e8f5161a24e908bf6bf5b29e0163e18082c 100644
+index 4a213c35b031d78c4ce2be181d78f36cb8f16c02..9de132dc39f2af083b2f60d6344b9a9635c1de83 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -1037,6 +1037,53 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -1036,6 +1036,53 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
throw new IllegalArgumentException(entityCategory + " is an unrecognized entity category");
}
diff --git a/patches/server/0875-Friction-API.patch b/patches/server/0874-Friction-API.patch
index 1effce0f64..67e31d0da6 100644
--- a/patches/server/0875-Friction-API.patch
+++ b/patches/server/0874-Friction-API.patch
@@ -5,7 +5,7 @@ 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 9ea6c0b250c361949a7f2d2c6b5fb2eeac7c650a..58fdbdcc5de9f93230669d93778c4c1392e0a4cf 100644
+index 944463496a9c2757e8ddb0104c77bbfb40e0d4ca..a833036642b35e23b6887e0413d214ce0a6a4287 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -261,6 +261,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -132,10 +132,10 @@ index b1bbab951ef9a3d2bd98cc54665ba824263542eb..81498941748d646ebe6495f4a7ce6953
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 1af42e8f5161a24e908bf6bf5b29e0163e18082c..94f65fdc4e5657cc765bf63710621c2d24b7b27b 100644
+index 9de132dc39f2af083b2f60d6344b9a9635c1de83..45ebd9ffc37163e3a11c80c15b41c5aeed2b6983 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -1084,6 +1084,18 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -1083,6 +1083,18 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
});
}
diff --git a/patches/server/0876-Ability-to-control-player-s-insomnia-and-phantoms.patch b/patches/server/0875-Ability-to-control-player-s-insomnia-and-phantoms.patch
index c5ec7d4e2f..c5ec7d4e2f 100644
--- a/patches/server/0876-Ability-to-control-player-s-insomnia-and-phantoms.patch
+++ b/patches/server/0875-Ability-to-control-player-s-insomnia-and-phantoms.patch
diff --git a/patches/server/0877-Fix-player-kick-on-shutdown.patch b/patches/server/0876-Fix-player-kick-on-shutdown.patch
index 236f62d6c1..236f62d6c1 100644
--- a/patches/server/0877-Fix-player-kick-on-shutdown.patch
+++ b/patches/server/0876-Fix-player-kick-on-shutdown.patch
diff --git a/patches/server/0878-Sync-offhand-slot-in-menus.patch b/patches/server/0877-Sync-offhand-slot-in-menus.patch
index 2dc65d0d3e..a6db41e603 100644
--- a/patches/server/0878-Sync-offhand-slot-in-menus.patch
+++ b/patches/server/0877-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 51a7ce409c00f586058d4b7b0e3dba17f3b6900b..cca1f44ba8cefcc0ee3e6dadd175bd67b311b2de 100644
+index 96dea7b60248e1905640b983d22a8926ab51137f..846dd10976c3f4d2220eaabd05b7951de7e9fc1d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -348,6 +348,13 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0879-Player-Entity-Tracking-Events.patch b/patches/server/0878-Player-Entity-Tracking-Events.patch
index 7deeb6f655..ba6dce960b 100644
--- a/patches/server/0879-Player-Entity-Tracking-Events.patch
+++ b/patches/server/0878-Player-Entity-Tracking-Events.patch
@@ -5,10 +5,10 @@ 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 81d3d664d4397e528a02e50469622c4ff3ffb804..c081842b4416d15342cbfc583ef367901dab2b7e 100644
+index 982750fd4f3f474514194df9b76388311c052b29..1e838661ced07b69e50e7ad3935ed0d676570860 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -1410,9 +1410,18 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1409,9 +1409,18 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// CraftBukkit end
if (flag) {
if (this.seenBy.add(player.connection)) {
diff --git a/patches/server/0880-Limit-pet-look-distance.patch b/patches/server/0879-Limit-pet-look-distance.patch
index 6b827724a3..6b827724a3 100644
--- a/patches/server/0880-Limit-pet-look-distance.patch
+++ b/patches/server/0879-Limit-pet-look-distance.patch
diff --git a/patches/server/0881-Properly-resend-entities.patch b/patches/server/0880-Properly-resend-entities.patch
index 585510d991..10f5ce42de 100644
--- a/patches/server/0881-Properly-resend-entities.patch
+++ b/patches/server/0880-Properly-resend-entities.patch
@@ -125,7 +125,7 @@ index 37596c7b65f280be00e8e59ae18bd1aceae21080..eca18540aeb0b0d4098477d73b14c78a
}
entity.playSound(((Bucketable) entity).getPickupSound(), 1.0F, 1.0F);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index eddbf38e8628b509c5b56b74732f22f5e97f332b..674915ea22d6bdbe85c84687a33d27656b4d39fa 100644
+index 763462e4cf8abdd654b582150fab09f05e64f990..7cda23cf7400edcfa1436f6457edd7566cd42323 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -947,7 +947,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0882-Fixes-and-additions-to-the-SpawnReason-API.patch b/patches/server/0881-Fixes-and-additions-to-the-SpawnReason-API.patch
index 4bdb479cd7..4bdb479cd7 100644
--- a/patches/server/0882-Fixes-and-additions-to-the-SpawnReason-API.patch
+++ b/patches/server/0881-Fixes-and-additions-to-the-SpawnReason-API.patch
diff --git a/patches/server/0883-fix-Instruments.patch b/patches/server/0882-fix-Instruments.patch
index 8c3e9f6e56..24591a282a 100644
--- a/patches/server/0883-fix-Instruments.patch
+++ b/patches/server/0882-fix-Instruments.patch
@@ -6,7 +6,7 @@ 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 7caf184a658b1307e342471ab000c2a8b5352e0e..cf0d420747f4004e80553c783e29226cdb848c5a 100644
+index fd01db8a45934cedd8d250a197c47a8e9d386fa7..7f90316c1f56f4829282d388233032bce97abbf5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -724,7 +724,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0884-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch b/patches/server/0883-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
index e454a32d6d..e454a32d6d 100644
--- a/patches/server/0884-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
+++ b/patches/server/0883-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
diff --git a/patches/server/0885-Fix-inconsistencies-in-dispense-events-regarding-sta.patch b/patches/server/0884-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
index 0b3ae447f6..0b3ae447f6 100644
--- a/patches/server/0885-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
+++ b/patches/server/0884-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
diff --git a/patches/server/0886-Add-BlockLockCheckEvent.patch b/patches/server/0885-Add-BlockLockCheckEvent.patch
index 860cae73de..860cae73de 100644
--- a/patches/server/0886-Add-BlockLockCheckEvent.patch
+++ b/patches/server/0885-Add-BlockLockCheckEvent.patch
diff --git a/patches/server/0887-Add-Sneaking-API-for-Entities.patch b/patches/server/0886-Add-Sneaking-API-for-Entities.patch
index 9146d45051..b3ade95727 100644
--- a/patches/server/0887-Add-Sneaking-API-for-Entities.patch
+++ b/patches/server/0886-Add-Sneaking-API-for-Entities.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add Sneaking API for Entities
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 674915ea22d6bdbe85c84687a33d27656b4d39fa..e2d3c81790cbbc514cc4bb045d8565c56fb75e4a 100644
+index 7cda23cf7400edcfa1436f6457edd7566cd42323..75d24e0d9f3c84f436d967415ee469e5969d3368 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -871,6 +871,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0888-Improve-logging-and-errors.patch b/patches/server/0887-Improve-logging-and-errors.patch
index 0f6d3a7501..0f6d3a7501 100644
--- a/patches/server/0888-Improve-logging-and-errors.patch
+++ b/patches/server/0887-Improve-logging-and-errors.patch
diff --git a/patches/server/0889-Improve-PortalEvents.patch b/patches/server/0888-Improve-PortalEvents.patch
index cbe9f06001..cbe9f06001 100644
--- a/patches/server/0889-Improve-PortalEvents.patch
+++ b/patches/server/0888-Improve-PortalEvents.patch
diff --git a/patches/server/0890-Add-config-option-for-spider-worldborder-climbing.patch b/patches/server/0889-Add-config-option-for-spider-worldborder-climbing.patch
index 4ea94b6836..4ea94b6836 100644
--- a/patches/server/0890-Add-config-option-for-spider-worldborder-climbing.patch
+++ b/patches/server/0889-Add-config-option-for-spider-worldborder-climbing.patch
diff --git a/patches/server/0891-Add-missing-SpigotConfig-logCommands-check.patch b/patches/server/0890-Add-missing-SpigotConfig-logCommands-check.patch
index 70205aaf05..70205aaf05 100644
--- a/patches/server/0891-Add-missing-SpigotConfig-logCommands-check.patch
+++ b/patches/server/0890-Add-missing-SpigotConfig-logCommands-check.patch
diff --git a/patches/server/0892-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch b/patches/server/0891-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
index 581ad00ec1..581ad00ec1 100644
--- a/patches/server/0892-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
+++ b/patches/server/0891-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
diff --git a/patches/server/0893-Flying-Fall-Damage.patch b/patches/server/0892-Flying-Fall-Damage.patch
index c889ef3006..bed74ee4f2 100644
--- a/patches/server/0893-Flying-Fall-Damage.patch
+++ b/patches/server/0892-Flying-Fall-Damage.patch
@@ -26,7 +26,7 @@ index 28fa46f29639a6b643b475912133d601028facb2..7f3466340891b4409d1399ebeb2ca865
} 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 e5a34f1bbea22eaefee84252ac32a25a7b0b9712..7b8e637d524d4ae17cbb07d013d9e3645c531384 100644
+index 7f90316c1f56f4829282d388233032bce97abbf5..ca9c49b1fc1c3e90b2b2aa7afa8a4ecb2dcc779d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2468,6 +2468,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0894-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch b/patches/server/0893-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch
index 8186bbed81..8186bbed81 100644
--- a/patches/server/0894-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch
+++ b/patches/server/0893-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch
diff --git a/patches/server/0895-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/server/0894-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
index bd25e0fd3d..bd25e0fd3d 100644
--- a/patches/server/0895-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
+++ b/patches/server/0894-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
diff --git a/patches/server/0896-config-for-disabling-entity-tag-tags.patch b/patches/server/0895-config-for-disabling-entity-tag-tags.patch
index e97b239097..e97b239097 100644
--- a/patches/server/0896-config-for-disabling-entity-tag-tags.patch
+++ b/patches/server/0895-config-for-disabling-entity-tag-tags.patch
diff --git a/patches/server/0897-Use-single-player-info-update-packet-on-join.patch b/patches/server/0896-Use-single-player-info-update-packet-on-join.patch
index 2043f5795b..2043f5795b 100644
--- a/patches/server/0897-Use-single-player-info-update-packet-on-join.patch
+++ b/patches/server/0896-Use-single-player-info-update-packet-on-join.patch
diff --git a/patches/server/0898-Correctly-shrink-items-during-EntityResurrectEvent.patch b/patches/server/0897-Correctly-shrink-items-during-EntityResurrectEvent.patch
index a5fbba3317..0be32d52e9 100644
--- a/patches/server/0898-Correctly-shrink-items-during-EntityResurrectEvent.patch
+++ b/patches/server/0897-Correctly-shrink-items-during-EntityResurrectEvent.patch
@@ -22,7 +22,7 @@ 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 58fdbdcc5de9f93230669d93778c4c1392e0a4cf..840f8dddc693263a08a965f8d3a6ccecaa53bee5 100644
+index a833036642b35e23b6887e0413d214ce0a6a4287..2b034ff26e8d6b28910945dc4e72a8a0d4b82a6f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1610,7 +1610,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0899-Win-Screen-API.patch b/patches/server/0898-Win-Screen-API.patch
index 9648c2550a..e5bba97145 100644
--- a/patches/server/0899-Win-Screen-API.patch
+++ b/patches/server/0898-Win-Screen-API.patch
@@ -7,7 +7,7 @@ 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 de261416f6746f32388f373030f09b867edd2b9a..0359969cd950649031ce5d4120e865507844b4b2 100644
+index ca9c49b1fc1c3e90b2b2aa7afa8a4ecb2dcc779d..3271d5e34df30f4d04c0cae8cfecb2391b5a8cd6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1226,6 +1226,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0900-Remove-CraftItemStack-setAmount-null-assignment.patch b/patches/server/0899-Remove-CraftItemStack-setAmount-null-assignment.patch
index 2cc8370e15..2cc8370e15 100644
--- a/patches/server/0900-Remove-CraftItemStack-setAmount-null-assignment.patch
+++ b/patches/server/0899-Remove-CraftItemStack-setAmount-null-assignment.patch
diff --git a/patches/server/0901-Fix-force-opening-enchantment-tables.patch b/patches/server/0900-Fix-force-opening-enchantment-tables.patch
index b258d63751..b258d63751 100644
--- a/patches/server/0901-Fix-force-opening-enchantment-tables.patch
+++ b/patches/server/0900-Fix-force-opening-enchantment-tables.patch
diff --git a/patches/server/0902-Add-Entity-Body-Yaw-API.patch b/patches/server/0901-Add-Entity-Body-Yaw-API.patch
index da49b27ec3..feebad147c 100644
--- a/patches/server/0902-Add-Entity-Body-Yaw-API.patch
+++ b/patches/server/0901-Add-Entity-Body-Yaw-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add Entity Body Yaw API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index e2d3c81790cbbc514cc4bb045d8565c56fb75e4a..96579becd1d21a4288a6f8fc5980c04cd1934f78 100644
+index 75d24e0d9f3c84f436d967415ee469e5969d3368..e7f967e8f88e6fc5bcfdc033d14bb2b65dda3e67 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1139,6 +1139,31 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -41,10 +41,10 @@ index e2d3c81790cbbc514cc4bb045d8565c56fb75e4a..96579becd1d21a4288a6f8fc5980c04c
// 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 94f65fdc4e5657cc765bf63710621c2d24b7b27b..bd616462bc65063bd19683aa1674072a6f7da94a 100644
+index 45ebd9ffc37163e3a11c80c15b41c5aeed2b6983..33e977f87e06c4f022b913006c20ac53eb28f172 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -1076,6 +1076,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -1075,6 +1075,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
this.damageItemStack0(this.getHandle().getItemBySlot(nmsSlot), amount, nmsSlot);
}
diff --git a/patches/server/0903-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch b/patches/server/0902-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
index efaf1a6e90..efaf1a6e90 100644
--- a/patches/server/0903-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
+++ b/patches/server/0902-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
diff --git a/patches/server/0904-Update-the-flag-when-a-captured-block-state-is-outda.patch b/patches/server/0903-Update-the-flag-when-a-captured-block-state-is-outda.patch
index 10e3a02f03..afe73c4b09 100644
--- a/patches/server/0904-Update-the-flag-when-a-captured-block-state-is-outda.patch
+++ b/patches/server/0903-Update-the-flag-when-a-captured-block-state-is-outda.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Update the flag when a captured block state is outdated
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 436c16feb53b3dbf32e86f1960714d3d3ffeffd8..da037e8e62c1fb51f13c3fe0dd9fc2061209ca8f 100644
+index 440e99f24fdbc73fa51d5d3aa8aabfae9fc4deca..980064ce70dce5c92e2822b8978425d3dd856c52 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -923,6 +923,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
diff --git a/patches/server/0905-Add-EntityFertilizeEggEvent.patch b/patches/server/0904-Add-EntityFertilizeEggEvent.patch
index ac703119d1..ac703119d1 100644
--- a/patches/server/0905-Add-EntityFertilizeEggEvent.patch
+++ b/patches/server/0904-Add-EntityFertilizeEggEvent.patch
diff --git a/patches/server/0906-Fix-HumanEntity-drop-not-updating-the-client-inv.patch b/patches/server/0905-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
index 9e8f8139fb..9e8f8139fb 100644
--- a/patches/server/0906-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
+++ b/patches/server/0905-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
diff --git a/patches/server/0907-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/server/0906-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
index efa34d8b7c..efa34d8b7c 100644
--- a/patches/server/0907-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
+++ b/patches/server/0906-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
diff --git a/patches/server/0908-Correctly-handle-ArmorStand-invisibility.patch b/patches/server/0907-Correctly-handle-ArmorStand-invisibility.patch
index ea22d29006..ea22d29006 100644
--- a/patches/server/0908-Correctly-handle-ArmorStand-invisibility.patch
+++ b/patches/server/0907-Correctly-handle-ArmorStand-invisibility.patch
diff --git a/patches/server/0909-Fix-advancement-triggers-for-entity-damage.patch b/patches/server/0908-Fix-advancement-triggers-for-entity-damage.patch
index a12dbbcc1a..9b5be3df55 100644
--- a/patches/server/0909-Fix-advancement-triggers-for-entity-damage.patch
+++ b/patches/server/0908-Fix-advancement-triggers-for-entity-damage.patch
@@ -23,7 +23,7 @@ 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 840f8dddc693263a08a965f8d3a6ccecaa53bee5..f359f63ac8cf3133b63096dad4e3142c6c4b1cbf 100644
+index 2b034ff26e8d6b28910945dc4e72a8a0d4b82a6f..070d9630af6d8c29de9df3b59ce14c57637ebf6d 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 {
diff --git a/patches/server/0910-Fix-text-display-error-on-spawn.patch b/patches/server/0909-Fix-text-display-error-on-spawn.patch
index 359b41bd67..359b41bd67 100644
--- a/patches/server/0910-Fix-text-display-error-on-spawn.patch
+++ b/patches/server/0909-Fix-text-display-error-on-spawn.patch
diff --git a/patches/server/0911-Fix-certain-inventories-returning-null-Locations.patch b/patches/server/0910-Fix-certain-inventories-returning-null-Locations.patch
index 47b96132fa..47b96132fa 100644
--- a/patches/server/0911-Fix-certain-inventories-returning-null-Locations.patch
+++ b/patches/server/0910-Fix-certain-inventories-returning-null-Locations.patch
diff --git a/patches/server/0912-Add-Shearable-API.patch b/patches/server/0911-Add-Shearable-API.patch
index 0cd904ff9d..0cd904ff9d 100644
--- a/patches/server/0912-Add-Shearable-API.patch
+++ b/patches/server/0911-Add-Shearable-API.patch
diff --git a/patches/server/0913-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/server/0912-Fix-SpawnEggMeta-get-setSpawnedType.patch
index 682696f502..682696f502 100644
--- a/patches/server/0913-Fix-SpawnEggMeta-get-setSpawnedType.patch
+++ b/patches/server/0912-Fix-SpawnEggMeta-get-setSpawnedType.patch
diff --git a/patches/server/0914-Optimize-Hoppers.patch b/patches/server/0913-Optimize-Hoppers.patch
index 096267e230..096267e230 100644
--- a/patches/server/0914-Optimize-Hoppers.patch
+++ b/patches/server/0913-Optimize-Hoppers.patch
diff --git a/patches/server/0915-Fix-beehives-generating-from-using-bonemeal.patch b/patches/server/0914-Fix-beehives-generating-from-using-bonemeal.patch
index 05f26545e4..05f26545e4 100644
--- a/patches/server/0915-Fix-beehives-generating-from-using-bonemeal.patch
+++ b/patches/server/0914-Fix-beehives-generating-from-using-bonemeal.patch
diff --git a/patches/server/0916-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch b/patches/server/0915-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
index 6bd28ec0d8..6bd28ec0d8 100644
--- a/patches/server/0916-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
+++ b/patches/server/0915-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
diff --git a/patches/server/0917-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0916-Treat-sequence-violations-like-they-should-be.patch
index 2fda1635ac..2fda1635ac 100644
--- a/patches/server/0917-Treat-sequence-violations-like-they-should-be.patch
+++ b/patches/server/0916-Treat-sequence-violations-like-they-should-be.patch
diff --git a/patches/server/0918-remove-duplicate-animate-packet-for-records.patch b/patches/server/0917-remove-duplicate-animate-packet-for-records.patch
index 9254f5b8cf..9254f5b8cf 100644
--- a/patches/server/0918-remove-duplicate-animate-packet-for-records.patch
+++ b/patches/server/0917-remove-duplicate-animate-packet-for-records.patch
diff --git a/patches/server/0919-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0918-Prevent-causing-expired-keys-from-impacting-new-join.patch
index cdcb6012dd..cdcb6012dd 100644
--- a/patches/server/0919-Prevent-causing-expired-keys-from-impacting-new-join.patch
+++ b/patches/server/0918-Prevent-causing-expired-keys-from-impacting-new-join.patch
diff --git a/patches/server/0920-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch b/patches/server/0919-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
index fcb9da83f3..fcb9da83f3 100644
--- a/patches/server/0920-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
+++ b/patches/server/0919-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
diff --git a/patches/server/0921-Use-array-for-gamerule-storage.patch b/patches/server/0920-Use-array-for-gamerule-storage.patch
index 6750b6a93a..6750b6a93a 100644
--- a/patches/server/0921-Use-array-for-gamerule-storage.patch
+++ b/patches/server/0920-Use-array-for-gamerule-storage.patch
diff --git a/patches/server/0922-Fix-a-couple-of-upstream-bed-issues.patch b/patches/server/0921-Fix-a-couple-of-upstream-bed-issues.patch
index 6f14d13eb0..6f14d13eb0 100644
--- a/patches/server/0922-Fix-a-couple-of-upstream-bed-issues.patch
+++ b/patches/server/0921-Fix-a-couple-of-upstream-bed-issues.patch
diff --git a/patches/server/0923-Fix-demo-flag-not-enabling-demo-mode.patch b/patches/server/0922-Fix-demo-flag-not-enabling-demo-mode.patch
index 7810e020e8..7810e020e8 100644
--- a/patches/server/0923-Fix-demo-flag-not-enabling-demo-mode.patch
+++ b/patches/server/0922-Fix-demo-flag-not-enabling-demo-mode.patch
diff --git a/patches/server/0924-Add-Mob-Experience-reward-API.patch b/patches/server/0923-Add-Mob-Experience-reward-API.patch
index f8e4f5e754..f8e4f5e754 100644
--- a/patches/server/0924-Add-Mob-Experience-reward-API.patch
+++ b/patches/server/0923-Add-Mob-Experience-reward-API.patch
diff --git a/patches/server/0925-Break-redstone-on-top-of-trap-doors-early.patch b/patches/server/0924-Break-redstone-on-top-of-trap-doors-early.patch
index 905055e24f..905055e24f 100644
--- a/patches/server/0925-Break-redstone-on-top-of-trap-doors-early.patch
+++ b/patches/server/0924-Break-redstone-on-top-of-trap-doors-early.patch
diff --git a/patches/server/0926-Fix-DamageCause-for-Falling-Blocks.patch b/patches/server/0925-Fix-DamageCause-for-Falling-Blocks.patch
index 37456569e2..37456569e2 100644
--- a/patches/server/0926-Fix-DamageCause-for-Falling-Blocks.patch
+++ b/patches/server/0925-Fix-DamageCause-for-Falling-Blocks.patch
diff --git a/patches/server/0927-Avoid-Lazy-Initialization-for-Enum-Fields.patch b/patches/server/0926-Avoid-Lazy-Initialization-for-Enum-Fields.patch
index 809f5d1710..809f5d1710 100644
--- a/patches/server/0927-Avoid-Lazy-Initialization-for-Enum-Fields.patch
+++ b/patches/server/0926-Avoid-Lazy-Initialization-for-Enum-Fields.patch
diff --git a/patches/server/0928-More-accurate-isInOpenWater-impl.patch b/patches/server/0927-More-accurate-isInOpenWater-impl.patch
index ca26fd9045..ca26fd9045 100644
--- a/patches/server/0928-More-accurate-isInOpenWater-impl.patch
+++ b/patches/server/0927-More-accurate-isInOpenWater-impl.patch
diff --git a/patches/server/0929-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch b/patches/server/0928-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch
index 2127f28b00..2127f28b00 100644
--- a/patches/server/0929-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch
+++ b/patches/server/0928-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch
diff --git a/patches/server/0930-Optimise-recalcBlockCounts-for-empty-sections.patch b/patches/server/0929-Optimise-recalcBlockCounts-for-empty-sections.patch
index 0e23a9a123..0e23a9a123 100644
--- a/patches/server/0930-Optimise-recalcBlockCounts-for-empty-sections.patch
+++ b/patches/server/0929-Optimise-recalcBlockCounts-for-empty-sections.patch
diff --git a/patches/server/0931-Expand-PlayerItemMendEvent.patch b/patches/server/0930-Expand-PlayerItemMendEvent.patch
index bea46cc259..46fd07090c 100644
--- a/patches/server/0931-Expand-PlayerItemMendEvent.patch
+++ b/patches/server/0930-Expand-PlayerItemMendEvent.patch
@@ -33,7 +33,7 @@ index cab5636fe6be9ee7f23ffbd5a399d2aeea1cd538..fb74f13ab2a977224e843a468ea8c72d
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 0359969cd950649031ce5d4120e865507844b4b2..77329a16b9208c0cefe22875f3c2b55e051f1744 100644
+index 3271d5e34df30f4d04c0cae8cfecb2391b5a8cd6..1f0b9b2c96efa68ba071e412fe1b3995e9637fb2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1748,11 +1748,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0932-Refresh-ProjectileSource-for-projectiles.patch b/patches/server/0931-Refresh-ProjectileSource-for-projectiles.patch
index bdb6f8747a..bdb6f8747a 100644
--- a/patches/server/0932-Refresh-ProjectileSource-for-projectiles.patch
+++ b/patches/server/0931-Refresh-ProjectileSource-for-projectiles.patch
diff --git a/patches/server/0933-Add-transient-modifier-API.patch b/patches/server/0932-Add-transient-modifier-API.patch
index 8144e5dc44..8144e5dc44 100644
--- a/patches/server/0933-Add-transient-modifier-API.patch
+++ b/patches/server/0932-Add-transient-modifier-API.patch
diff --git a/patches/server/0934-Fix-block-place-logic.patch b/patches/server/0933-Fix-block-place-logic.patch
index 8c7f0376e1..181bc5cfc5 100644
--- a/patches/server/0934-Fix-block-place-logic.patch
+++ b/patches/server/0933-Fix-block-place-logic.patch
@@ -41,7 +41,7 @@ index 0822300eaf771d70f887d91a160115eaa7e3ec89..11173571f3589d4301a2528db96718c0
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index da037e8e62c1fb51f13c3fe0dd9fc2061209ca8f..c77e2d35b95c1d57449f4639f3728d29540d0dc6 100644
+index 980064ce70dce5c92e2822b8978425d3dd856c52..c5eebb8bd05748d22d9cf688e510cca6bca111e1 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1038,17 +1038,18 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
diff --git a/patches/server/0935-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch b/patches/server/0934-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
index 432233fa2b..432233fa2b 100644
--- a/patches/server/0935-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
+++ b/patches/server/0934-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
diff --git a/patches/server/0936-Ignore-inline-definitions-of-trim-material-pattern.patch b/patches/server/0935-Ignore-inline-definitions-of-trim-material-pattern.patch
index 2b71534642..2b71534642 100644
--- a/patches/server/0936-Ignore-inline-definitions-of-trim-material-pattern.patch
+++ b/patches/server/0935-Ignore-inline-definitions-of-trim-material-pattern.patch
diff --git a/patches/server/0937-Call-BlockGrowEvent-for-missing-blocks.patch b/patches/server/0936-Call-BlockGrowEvent-for-missing-blocks.patch
index a3c48d3fff..a3c48d3fff 100644
--- a/patches/server/0937-Call-BlockGrowEvent-for-missing-blocks.patch
+++ b/patches/server/0936-Call-BlockGrowEvent-for-missing-blocks.patch
diff --git a/patches/server/0938-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch b/patches/server/0937-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
index 5108d60fea..5108d60fea 100644
--- a/patches/server/0938-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
+++ b/patches/server/0937-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
diff --git a/patches/server/0939-fix-MapLike-spam-for-missing-key-selector.patch b/patches/server/0938-fix-MapLike-spam-for-missing-key-selector.patch
index 2fee78531f..2fee78531f 100644
--- a/patches/server/0939-fix-MapLike-spam-for-missing-key-selector.patch
+++ b/patches/server/0938-fix-MapLike-spam-for-missing-key-selector.patch
diff --git a/patches/server/0940-Fix-sniffer-removeExploredLocation.patch b/patches/server/0939-Fix-sniffer-removeExploredLocation.patch
index e8b1703090..e8b1703090 100644
--- a/patches/server/0940-Fix-sniffer-removeExploredLocation.patch
+++ b/patches/server/0939-Fix-sniffer-removeExploredLocation.patch
diff --git a/patches/server/0941-Add-method-to-remove-all-active-potion-effects.patch b/patches/server/0940-Add-method-to-remove-all-active-potion-effects.patch
index b8aecb78a0..3152d18aa2 100644
--- a/patches/server/0941-Add-method-to-remove-all-active-potion-effects.patch
+++ b/patches/server/0940-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 bd616462bc65063bd19683aa1674072a6f7da94a..25ffc92c3d6055285a64d9fe36c0054228fe81dd 100644
+index 33e977f87e06c4f022b913006c20ac53eb28f172..1f1ef68a9a449a4a90c284f34a397ab4b6d905f6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-@@ -503,6 +503,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
+@@ -502,6 +502,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
return effects;
}
diff --git a/patches/server/0942-Temp-Pre-init-PlayerChunkLoaderData-in-order-to-prep.patch b/patches/server/0941-Temp-Pre-init-PlayerChunkLoaderData-in-order-to-prep.patch
index 0d77ba1bea..0d77ba1bea 100644
--- a/patches/server/0942-Temp-Pre-init-PlayerChunkLoaderData-in-order-to-prep.patch
+++ b/patches/server/0941-Temp-Pre-init-PlayerChunkLoaderData-in-order-to-prep.patch
diff --git a/patches/server/0943-Fix-incorrect-crafting-result-amount-for-fireworks.patch b/patches/server/0942-Fix-incorrect-crafting-result-amount-for-fireworks.patch
index cfcf15909a..cfcf15909a 100644
--- a/patches/server/0943-Fix-incorrect-crafting-result-amount-for-fireworks.patch
+++ b/patches/server/0942-Fix-incorrect-crafting-result-amount-for-fireworks.patch
diff --git a/patches/server/0944-Properly-Cancel-Usable-Items.patch b/patches/server/0943-Properly-Cancel-Usable-Items.patch
index bf1aac71a2..adb807e5f5 100644
--- a/patches/server/0944-Properly-Cancel-Usable-Items.patch
+++ b/patches/server/0943-Properly-Cancel-Usable-Items.patch
@@ -46,7 +46,7 @@ index 207576cbf4517d43a5159d7543db47782612c8c9..ccd6b734534a9f2b4205ee857ac650b2
return;
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index f359f63ac8cf3133b63096dad4e3142c6c4b1cbf..bed0a01be1703aad8fbfa549d5799e3f84759f32 100644
+index 070d9630af6d8c29de9df3b59ce14c57637ebf6d..3ce5c06a6c154c0b8c9f2aaaa0a2f9d092cc4551 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3813,6 +3813,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0945-Add-event-for-player-editing-sign.patch b/patches/server/0944-Add-event-for-player-editing-sign.patch
index 7013aab028..7013aab028 100644
--- a/patches/server/0945-Add-event-for-player-editing-sign.patch
+++ b/patches/server/0944-Add-event-for-player-editing-sign.patch
diff --git a/patches/server/0946-Only-tick-item-frames-if-players-can-see-it.patch b/patches/server/0945-Only-tick-item-frames-if-players-can-see-it.patch
index b3de8c9a7c..b3de8c9a7c 100644
--- a/patches/server/0946-Only-tick-item-frames-if-players-can-see-it.patch
+++ b/patches/server/0945-Only-tick-item-frames-if-players-can-see-it.patch
diff --git a/patches/server/0947-Improve-command-function-perm-level-checks.patch b/patches/server/0946-Improve-command-function-perm-level-checks.patch
index 3413470663..3413470663 100644
--- a/patches/server/0947-Improve-command-function-perm-level-checks.patch
+++ b/patches/server/0946-Improve-command-function-perm-level-checks.patch
diff --git a/patches/server/0948-Add-option-to-disable-block-updates.patch b/patches/server/0947-Add-option-to-disable-block-updates.patch
index e10753047a..e10753047a 100644
--- a/patches/server/0948-Add-option-to-disable-block-updates.patch
+++ b/patches/server/0947-Add-option-to-disable-block-updates.patch
diff --git a/patches/server/0949-Call-missing-BlockDispenseEvent.patch b/patches/server/0948-Call-missing-BlockDispenseEvent.patch
index 67c9651ff8..67c9651ff8 100644
--- a/patches/server/0949-Call-missing-BlockDispenseEvent.patch
+++ b/patches/server/0948-Call-missing-BlockDispenseEvent.patch
diff --git a/patches/server/0950-Don-t-load-chunks-for-supporting-block-checks.patch b/patches/server/0949-Don-t-load-chunks-for-supporting-block-checks.patch
index 333650ab84..333650ab84 100644
--- a/patches/server/0950-Don-t-load-chunks-for-supporting-block-checks.patch
+++ b/patches/server/0949-Don-t-load-chunks-for-supporting-block-checks.patch
diff --git a/patches/server/0951-Optimize-player-lookups-for-beacons.patch b/patches/server/0950-Optimize-player-lookups-for-beacons.patch
index 5245e38833..5245e38833 100644
--- a/patches/server/0951-Optimize-player-lookups-for-beacons.patch
+++ b/patches/server/0950-Optimize-player-lookups-for-beacons.patch
diff --git a/patches/server/0952-Add-Sign-getInteractableSideFor.patch b/patches/server/0951-Add-Sign-getInteractableSideFor.patch
index d9c5a89205..d9c5a89205 100644
--- a/patches/server/0952-Add-Sign-getInteractableSideFor.patch
+++ b/patches/server/0951-Add-Sign-getInteractableSideFor.patch
diff --git a/patches/server/0953-Array-backed-synched-entity-data.patch b/patches/server/0952-Array-backed-synched-entity-data.patch
index 84bf2095b4..84bf2095b4 100644
--- a/patches/server/0953-Array-backed-synched-entity-data.patch
+++ b/patches/server/0952-Array-backed-synched-entity-data.patch
diff --git a/patches/server/0954-fix-item-meta-for-tadpole-buckets.patch b/patches/server/0953-fix-item-meta-for-tadpole-buckets.patch
index 4d1c012286..4d1c012286 100644
--- a/patches/server/0954-fix-item-meta-for-tadpole-buckets.patch
+++ b/patches/server/0953-fix-item-meta-for-tadpole-buckets.patch
diff --git a/patches/server/0955-Suppress-Item-Meta-Validation-Checks.patch b/patches/server/0954-Suppress-Item-Meta-Validation-Checks.patch
index d45a20db74..f7f76e0b7c 100644
--- a/patches/server/0955-Suppress-Item-Meta-Validation-Checks.patch
+++ b/patches/server/0954-Suppress-Item-Meta-Validation-Checks.patch
@@ -47,7 +47,7 @@ index f393e0844889c967d9e83d9a1e73c134fcb6e33b..f8996ee643a46db301577f6c523f24e9
CraftMetaArmor(Map<String, Object> map) {
super(map);
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index ece1ef7285c1859b4e90aa4f77453827f52521cb..11da7d51ea8f46234f00f3312f21350e157026b4 100644
+index 582ec1782c82a45fe258bd8efe8015958fa1d945..f87b656c49b3524519e1976ae6b7ec80d9cd2423 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -489,7 +489,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/0956-Fix-BanList-API.patch b/patches/server/0955-Fix-BanList-API.patch
index 5662bc24b5..5b9489b71b 100644
--- a/patches/server/0956-Fix-BanList-API.patch
+++ b/patches/server/0955-Fix-BanList-API.patch
@@ -208,7 +208,7 @@ 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 77329a16b9208c0cefe22875f3c2b55e051f1744..370fab81bbcf5091e6ef1eaadcd19629b5e15f15 100644
+index 1f0b9b2c96efa68ba071e412fe1b3995e9637fb2..99966f102518decd5f62b5b58837f93bfdb9390f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1646,23 +1646,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0957-Determine-lava-and-water-fluid-explosion-resistance-.patch b/patches/server/0956-Determine-lava-and-water-fluid-explosion-resistance-.patch
index 05fb1ac2ac..05fb1ac2ac 100644
--- a/patches/server/0957-Determine-lava-and-water-fluid-explosion-resistance-.patch
+++ b/patches/server/0956-Determine-lava-and-water-fluid-explosion-resistance-.patch
diff --git a/patches/server/0958-Fix-possible-NPE-on-painting-creation.patch b/patches/server/0957-Fix-possible-NPE-on-painting-creation.patch
index 21636376d5..fb9d72c762 100644
--- a/patches/server/0958-Fix-possible-NPE-on-painting-creation.patch
+++ b/patches/server/0957-Fix-possible-NPE-on-painting-creation.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix possible NPE on painting creation
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
-index ee0f33ece945d71d67d11cd9bc825f5ca54333c4..be34abf2772f905be43125de4f78c0a6a3d3adf6 100644
+index 61230477385eda3a806cfccdbb1685bf475a0c6a..10d45c36b8ea2c6906a24298ba2b288b48c68d5b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
@@ -318,8 +318,13 @@ public final class CraftEntityTypes {
diff --git a/patches/server/0959-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch b/patches/server/0958-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
index d72ec05289..d72ec05289 100644
--- a/patches/server/0959-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
+++ b/patches/server/0958-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
diff --git a/patches/server/0960-ExperienceOrb-should-call-EntitySpawnEvent.patch b/patches/server/0959-ExperienceOrb-should-call-EntitySpawnEvent.patch
index c02e259652..c02e259652 100644
--- a/patches/server/0960-ExperienceOrb-should-call-EntitySpawnEvent.patch
+++ b/patches/server/0959-ExperienceOrb-should-call-EntitySpawnEvent.patch
diff --git a/patches/server/0961-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch b/patches/server/0960-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
index 392fad1ce8..392fad1ce8 100644
--- a/patches/server/0961-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
+++ b/patches/server/0960-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
diff --git a/patches/server/0962-Add-whitelist-events.patch b/patches/server/0961-Add-whitelist-events.patch
index 42eff5bfe1..42eff5bfe1 100644
--- a/patches/server/0962-Add-whitelist-events.patch
+++ b/patches/server/0961-Add-whitelist-events.patch
diff --git a/patches/server/0963-Implement-PlayerFailMoveEvent.patch b/patches/server/0962-Implement-PlayerFailMoveEvent.patch
index 328c69ac9c..328c69ac9c 100644
--- a/patches/server/0963-Implement-PlayerFailMoveEvent.patch
+++ b/patches/server/0962-Implement-PlayerFailMoveEvent.patch
diff --git a/patches/server/0964-Folia-scheduler-and-owned-region-API.patch b/patches/server/0963-Folia-scheduler-and-owned-region-API.patch
index 874018dfbc..9351ae48f6 100644
--- a/patches/server/0964-Folia-scheduler-and-owned-region-API.patch
+++ b/patches/server/0963-Folia-scheduler-and-owned-region-API.patch
@@ -1305,7 +1305,7 @@ index 940f79b4456e94fd15b3e6eec38e8fa59ab01d14..79e342b5d28f445671191e3bf4d3b7f5
ConfigurationSerialization.registerClass(CraftOfflinePlayer.class);
ConfigurationSerialization.registerClass(CraftPlayerProfile.class);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 96579becd1d21a4288a6f8fc5980c04cd1934f78..c574f4060b58590bf9b917b078678ccd3cce2f0a 100644
+index e7f967e8f88e6fc5bcfdc033d14bb2b65dda3e67..e20aa42c570185566577e6b72547e416ac23240d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -67,6 +67,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0965-Only-erase-allay-memory-on-non-item-targets.patch b/patches/server/0964-Only-erase-allay-memory-on-non-item-targets.patch
index 4afac36fc3..4afac36fc3 100644
--- a/patches/server/0965-Only-erase-allay-memory-on-non-item-targets.patch
+++ b/patches/server/0964-Only-erase-allay-memory-on-non-item-targets.patch
diff --git a/patches/server/0966-API-for-updating-recipes-on-clients.patch b/patches/server/0965-API-for-updating-recipes-on-clients.patch
index 871c312743..871c312743 100644
--- a/patches/server/0966-API-for-updating-recipes-on-clients.patch
+++ b/patches/server/0965-API-for-updating-recipes-on-clients.patch
diff --git a/patches/server/0967-Fix-rotation-when-spawning-display-entities.patch b/patches/server/0966-Fix-rotation-when-spawning-display-entities.patch
index d195a58747..684533b377 100644
--- a/patches/server/0967-Fix-rotation-when-spawning-display-entities.patch
+++ b/patches/server/0966-Fix-rotation-when-spawning-display-entities.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix rotation when spawning display entities
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
-index be34abf2772f905be43125de4f78c0a6a3d3adf6..90b681c153b31dbab33ff26478a6a7d09d6f29e1 100644
+index 10d45c36b8ea2c6906a24298ba2b288b48c68d5b..8504509346c4ac113e4bde0253476dc2e779f880 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
@@ -216,6 +216,7 @@ public final class CraftEntityTypes {
diff --git a/patches/server/0968-Only-capture-actual-tree-growth.patch b/patches/server/0967-Only-capture-actual-tree-growth.patch
index f97b14591b..d542b5b4a2 100644
--- a/patches/server/0968-Only-capture-actual-tree-growth.patch
+++ b/patches/server/0967-Only-capture-actual-tree-growth.patch
@@ -29,10 +29,10 @@ index db523ded8132f2010391c9f909319d0ae042a741..852727221d5cb8bcc14c57664622c13d
}
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 c77e2d35b95c1d57449f4639f3728d29540d0dc6..03967f4168f0544a82958b37fbd437a66bed4d60 100644
+index c5eebb8bd05748d22d9cf688e510cca6bca111e1..36055499436b13a8650c966bafc7dbd52e58c074 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -1888,4 +1888,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -1882,4 +1882,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
return null;
}
// Paper end - optimize redstone (Alternate Current)
diff --git a/patches/server/0969-Use-correct-source-for-mushroom-block-spread-event.patch b/patches/server/0968-Use-correct-source-for-mushroom-block-spread-event.patch
index b5e0bc1a5e..b5e0bc1a5e 100644
--- a/patches/server/0969-Use-correct-source-for-mushroom-block-spread-event.patch
+++ b/patches/server/0968-Use-correct-source-for-mushroom-block-spread-event.patch
diff --git a/patches/server/0970-Respect-randomizeData-on-more-entities-when-spawning.patch b/patches/server/0969-Respect-randomizeData-on-more-entities-when-spawning.patch
index 6232607db4..885a1bea67 100644
--- a/patches/server/0970-Respect-randomizeData-on-more-entities-when-spawning.patch
+++ b/patches/server/0969-Respect-randomizeData-on-more-entities-when-spawning.patch
@@ -9,7 +9,7 @@ Subject: [PATCH] Respect randomizeData on more entities when spawning
* ExperienceOrb
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
-index 90b681c153b31dbab33ff26478a6a7d09d6f29e1..444b770425c55e17aa15d83dcb5bafa669c0b93f 100644
+index 8504509346c4ac113e4bde0253476dc2e779f880..628c40972a644d182b7a1c0c3611b00c120311e0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
@@ -217,6 +217,13 @@ public final class CraftEntityTypes {
@@ -28,7 +28,7 @@ index 90b681c153b31dbab33ff26478a6a7d09d6f29e1..444b770425c55e17aa15d83dcb5bafa6
@@ -365,11 +372,12 @@ public final class CraftEntityTypes {
net.minecraft.world.item.ItemStack itemStack = new net.minecraft.world.item.ItemStack(Items.STONE);
- ItemEntity item = new ItemEntity(spawnData.minecraftWorld(), spawnData.x(), spawnData.z(), spawnData.z(), itemStack);
+ ItemEntity item = new ItemEntity(spawnData.minecraftWorld(), spawnData.x(), spawnData.y(), spawnData.z(), itemStack);
item.setPickUpDelay(10);
+ CLEAR_MOVE_IF_NOT_RANDOMIZED.accept(spawnData, item); // Paper - respect randomizeData
diff --git a/patches/server/0971-Use-correct-seed-on-api-world-load.patch b/patches/server/0970-Use-correct-seed-on-api-world-load.patch
index f290584fb1..f290584fb1 100644
--- a/patches/server/0971-Use-correct-seed-on-api-world-load.patch
+++ b/patches/server/0970-Use-correct-seed-on-api-world-load.patch
diff --git a/patches/server/0972-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch b/patches/server/0971-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
index 84f919c796..84f919c796 100644
--- a/patches/server/0972-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
+++ b/patches/server/0971-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
diff --git a/patches/server/0973-Cache-map-ids-on-item-frames.patch b/patches/server/0972-Cache-map-ids-on-item-frames.patch
index 2c0fbde170..2c0fbde170 100644
--- a/patches/server/0973-Cache-map-ids-on-item-frames.patch
+++ b/patches/server/0972-Cache-map-ids-on-item-frames.patch
diff --git a/patches/server/0974-Fix-custom-statistic-criteria-creation.patch b/patches/server/0973-Fix-custom-statistic-criteria-creation.patch
index 8811d3a725..8811d3a725 100644
--- a/patches/server/0974-Fix-custom-statistic-criteria-creation.patch
+++ b/patches/server/0973-Fix-custom-statistic-criteria-creation.patch
diff --git a/patches/server/0975-Bandaid-fix-for-Effect.patch b/patches/server/0974-Bandaid-fix-for-Effect.patch
index d64ced283e..c87d7aa559 100644
--- a/patches/server/0975-Bandaid-fix-for-Effect.patch
+++ b/patches/server/0974-Bandaid-fix-for-Effect.patch
@@ -60,10 +60,10 @@ index 5a5a8945c786e16ff0df62494ddd1ac85c42b53f..4ce0e1e557a844fb3add866a257a8424
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 c77fec78636805a496ecea3e56f26290dbcbffff..abb14719496971a780650782bdce17c638c7b270 100644
+index c96d1956049eecfb395ad75b971c07dcd4c71107..fdabd0f6a9aba1d5375453d8f7fd5b2922a64de2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1382,7 +1382,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1430,7 +1430,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,7 +73,7 @@ index c77fec78636805a496ecea3e56f26290dbcbffff..abb14719496971a780650782bdce17c6
// 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 370fab81bbcf5091e6ef1eaadcd19629b5e15f15..0b547a5f6101142dabe04ea39abd7b35fde0c58b 100644
+index 99966f102518decd5f62b5b58837f93bfdb9390f..1ed523128383e2f8b9090607af982645133338d5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -873,7 +873,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0976-SculkCatalyst-bloom-API.patch b/patches/server/0975-SculkCatalyst-bloom-API.patch
index 77742addde..77742addde 100644
--- a/patches/server/0976-SculkCatalyst-bloom-API.patch
+++ b/patches/server/0975-SculkCatalyst-bloom-API.patch
diff --git a/patches/server/0977-API-for-an-entity-s-scoreboard-name.patch b/patches/server/0976-API-for-an-entity-s-scoreboard-name.patch
index a1129d549d..77dcdfe01e 100644
--- a/patches/server/0977-API-for-an-entity-s-scoreboard-name.patch
+++ b/patches/server/0976-API-for-an-entity-s-scoreboard-name.patch
@@ -7,7 +7,7 @@ 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/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index c574f4060b58590bf9b917b078678ccd3cce2f0a..7a75402ffe671ed9c0483a864a5e9d306847fc85 100644
+index e20aa42c570185566577e6b72547e416ac23240d..875f6380a03f030a45f63dbb3e1a2a3bbcbb9b6f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1195,4 +1195,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0978-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch b/patches/server/0977-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
index b80693be70..9b074d41ce 100644
--- a/patches/server/0978-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
+++ b/patches/server/0977-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Improve cancelling PreCreatureSpawnEvent with per player mob
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index c081842b4416d15342cbfc583ef367901dab2b7e..4d406ced4a1996b8883574ce0b785dc17370793b 100644
+index 1e838661ced07b69e50e7ad3935ed0d676570860..0120b30a981944ef230bcb4ead26e34e86367088 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -387,8 +387,26 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -386,8 +386,26 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
}
@@ -61,7 +61,7 @@ index 1483007b79e18107e41037c279e048f04f666d1d..5152979bf81345fc365e7b16028c7d97
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 cca1f44ba8cefcc0ee3e6dadd175bd67b311b2de..25772043f3b4483b9f5e32ba9489da52add6941a 100644
+index 846dd10976c3f4d2220eaabd05b7951de7e9fc1d..222d41d9d730d245063bc93c1cd5c40b9163ef38 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 {
diff --git a/patches/server/0979-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/server/0978-Deprecate-and-replace-methods-with-old-StructureType.patch
index 109b9af768..109b9af768 100644
--- a/patches/server/0979-Deprecate-and-replace-methods-with-old-StructureType.patch
+++ b/patches/server/0978-Deprecate-and-replace-methods-with-old-StructureType.patch
diff --git a/patches/server/0980-Don-t-tab-complete-namespaced-commands-if-send-names.patch b/patches/server/0979-Don-t-tab-complete-namespaced-commands-if-send-names.patch
index 1511ed2158..1511ed2158 100644
--- a/patches/server/0980-Don-t-tab-complete-namespaced-commands-if-send-names.patch
+++ b/patches/server/0979-Don-t-tab-complete-namespaced-commands-if-send-names.patch
diff --git a/patches/server/0981-Properly-handle-BlockBreakEvent-isDropItems.patch b/patches/server/0980-Properly-handle-BlockBreakEvent-isDropItems.patch
index 8808e90bd1..8808e90bd1 100644
--- a/patches/server/0981-Properly-handle-BlockBreakEvent-isDropItems.patch
+++ b/patches/server/0980-Properly-handle-BlockBreakEvent-isDropItems.patch
diff --git a/patches/server/0982-Fire-entity-death-event-for-ender-dragon.patch b/patches/server/0981-Fire-entity-death-event-for-ender-dragon.patch
index 5401a9dbc6..5401a9dbc6 100644
--- a/patches/server/0982-Fire-entity-death-event-for-ender-dragon.patch
+++ b/patches/server/0981-Fire-entity-death-event-for-ender-dragon.patch
diff --git a/patches/server/0983-Configurable-entity-tracking-range-by-Y-coordinate.patch b/patches/server/0982-Configurable-entity-tracking-range-by-Y-coordinate.patch
index 74202812a3..804527999c 100644
--- a/patches/server/0983-Configurable-entity-tracking-range-by-Y-coordinate.patch
+++ b/patches/server/0982-Configurable-entity-tracking-range-by-Y-coordinate.patch
@@ -6,10 +6,10 @@ 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 4d406ced4a1996b8883574ce0b785dc17370793b..e3c1015a5538ad74b9f109837df5916e6ce7e711 100644
+index 0120b30a981944ef230bcb4ead26e34e86367088..b6e9893baa13bc2a860922d3a9ced4538b8d0911 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -1420,6 +1420,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1419,6 +1419,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
double d1 = vec3d.x * vec3d.x + vec3d.z * vec3d.z;
double d2 = d0 * d0;
boolean flag = d1 <= d2 && this.entity.broadcastToPlayer(player) && ChunkMap.this.isChunkTracked(player, this.entity.chunkPosition().x, this.entity.chunkPosition().z);
diff --git a/patches/server/0984-Add-Listing-API-for-Player.patch b/patches/server/0983-Add-Listing-API-for-Player.patch
index f4f86d449f..adb57bfc40 100644
--- a/patches/server/0984-Add-Listing-API-for-Player.patch
+++ b/patches/server/0983-Add-Listing-API-for-Player.patch
@@ -113,7 +113,7 @@ index 098bb36a66e022da30302936aba10d296587ac88..a35638a92479b90afa89cf201fc45b49
// Paper end
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 0b547a5f6101142dabe04ea39abd7b35fde0c58b..5ef73e8a968df95456b2a48b37f7e325bdcae5d8 100644
+index 1ed523128383e2f8b9090607af982645133338d5..af4b96c5b6b6cea3edf0eaca22d62288bda05ea4 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 {
diff --git a/patches/server/0985-Configurable-Region-Compression-Format.patch b/patches/server/0984-Configurable-Region-Compression-Format.patch
index 08de696dde..08de696dde 100644
--- a/patches/server/0985-Configurable-Region-Compression-Format.patch
+++ b/patches/server/0984-Configurable-Region-Compression-Format.patch
diff --git a/patches/server/0986-Expose-clicked-BlockFace-during-BlockDamageEvent.patch b/patches/server/0985-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
index a15bf1988b..a15bf1988b 100644
--- a/patches/server/0986-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
+++ b/patches/server/0985-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
diff --git a/patches/server/0987-Fix-NPE-on-Boat-getStatus.patch b/patches/server/0986-Fix-NPE-on-Boat-getStatus.patch
index f2b53faa13..f2b53faa13 100644
--- a/patches/server/0987-Fix-NPE-on-Boat-getStatus.patch
+++ b/patches/server/0986-Fix-NPE-on-Boat-getStatus.patch
diff --git a/patches/server/0988-Expand-Pose-API.patch b/patches/server/0987-Expand-Pose-API.patch
index 9162156dbe..07abf95f55 100644
--- a/patches/server/0988-Expand-Pose-API.patch
+++ b/patches/server/0987-Expand-Pose-API.patch
@@ -25,7 +25,7 @@ index a561da947df33d85a6bb6f61e88a2b5fe57b5c32..1f2e74969f9d459cf3bc123c96309fc0
if (pose == this.getPose()) {
return;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 7a75402ffe671ed9c0483a864a5e9d306847fc85..f4e4599336f8fa75ac200b1415a92ea203422fb7 100644
+index 875f6380a03f030a45f63dbb3e1a2a3bbcbb9b6f..ed49b04d3918e46cd0769838b81cd0fae0d4e43a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -896,6 +896,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0989-More-DragonBattle-API.patch b/patches/server/0988-More-DragonBattle-API.patch
index d14bf53224..d14bf53224 100644
--- a/patches/server/0989-More-DragonBattle-API.patch
+++ b/patches/server/0988-More-DragonBattle-API.patch
diff --git a/patches/server/0990-Deep-clone-unhandled-nbt-tags.patch b/patches/server/0989-Deep-clone-unhandled-nbt-tags.patch
index 8d84a6b272..8028419b5b 100644
--- a/patches/server/0990-Deep-clone-unhandled-nbt-tags.patch
+++ b/patches/server/0989-Deep-clone-unhandled-nbt-tags.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Deep clone unhandled nbt tags
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 11da7d51ea8f46234f00f3312f21350e157026b4..4396043fb5d86978e9dbac6e0efb2ec1e1298b24 100644
+index f87b656c49b3524519e1976ae6b7ec80d9cd2423..c6575325ba341b6feccdcc6f32fd41a7c5c54b7a 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -304,7 +304,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
@@ -30,7 +30,7 @@ index 11da7d51ea8f46234f00f3312f21350e157026b4..4396043fb5d86978e9dbac6e0efb2ec1
this.internalTag = meta.internalTag;
if (this.internalTag != null) {
-@@ -1394,7 +1396,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1392,7 +1394,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
if (this.hasAttributeModifiers()) {
clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers);
}
diff --git a/patches/server/0991-Add-PlayerPickItemEvent.patch b/patches/server/0990-Add-PlayerPickItemEvent.patch
index d3f62c2961..d3f62c2961 100644
--- a/patches/server/0991-Add-PlayerPickItemEvent.patch
+++ b/patches/server/0990-Add-PlayerPickItemEvent.patch
diff --git a/patches/server/0992-Improve-performance-of-mass-crafts.patch b/patches/server/0991-Improve-performance-of-mass-crafts.patch
index 65946d4731..65946d4731 100644
--- a/patches/server/0992-Improve-performance-of-mass-crafts.patch
+++ b/patches/server/0991-Improve-performance-of-mass-crafts.patch
diff --git a/patches/server/0993-Allow-trident-custom-damage.patch b/patches/server/0992-Allow-trident-custom-damage.patch
index 3b1f6db132..3b1f6db132 100644
--- a/patches/server/0993-Allow-trident-custom-damage.patch
+++ b/patches/server/0992-Allow-trident-custom-damage.patch
diff --git a/patches/server/0994-Expose-hand-during-BlockCanBuildEvent.patch b/patches/server/0993-Expose-hand-during-BlockCanBuildEvent.patch
index dc68b12fb2..dc68b12fb2 100644
--- a/patches/server/0994-Expose-hand-during-BlockCanBuildEvent.patch
+++ b/patches/server/0993-Expose-hand-during-BlockCanBuildEvent.patch
diff --git a/patches/server/0995-Optimize-nearest-structure-border-iteration.patch b/patches/server/0994-Optimize-nearest-structure-border-iteration.patch
index 07d0358cbb..611e3ac80a 100644
--- a/patches/server/0995-Optimize-nearest-structure-border-iteration.patch
+++ b/patches/server/0994-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 8bab3fcfc6aa6c0b37621474a69f15e94bda2113..d5c2a608e1b4c8099c96b33d9d758e968350a46d 100644
+index e0a00035b52cb202c5ca6a1d92709407de5d5d79..2238bb007169cfab8e29238a270508356eb90d40 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/0996-Implement-OfflinePlayer-isConnected.patch b/patches/server/0995-Implement-OfflinePlayer-isConnected.patch
index 87520511fd..7c78f8d588 100644
--- a/patches/server/0996-Implement-OfflinePlayer-isConnected.patch
+++ b/patches/server/0995-Implement-OfflinePlayer-isConnected.patch
@@ -23,7 +23,7 @@ index 9daec0782774ab51ea8091cb8ed9d0a106e34cfa..2bbc39c257965ad91ee360cdfcd3538a
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 5ef73e8a968df95456b2a48b37f7e325bdcae5d8..26ef78ea23a9b3abdf3e43aa5e90eec15bf1d78b 100644
+index af4b96c5b6b6cea3edf0eaca22d62288bda05ea4..ff3e42fe78b2ef7d6346d6b46a1fc664e1bf6352 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -279,6 +279,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0997-Fix-inventory-desync.patch b/patches/server/0996-Fix-inventory-desync.patch
index 6da7d78b43..6da7d78b43 100644
--- a/patches/server/0997-Fix-inventory-desync.patch
+++ b/patches/server/0996-Fix-inventory-desync.patch
diff --git a/patches/server/0998-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/server/0997-Add-titleOverride-to-InventoryOpenEvent.patch
index f4fa8c6e37..714ed2f96a 100644
--- a/patches/server/0998-Add-titleOverride-to-InventoryOpenEvent.patch
+++ b/patches/server/0997-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 25772043f3b4483b9f5e32ba9489da52add6941a..695a103f2517f3e888e86e76f3615bd69b00a175 100644
+index 222d41d9d730d245063bc93c1cd5c40b9163ef38..c993553383f3b417884bc161d58a9ab72455a55d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1572,12 +1572,17 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0999-Configure-sniffer-egg-hatch-time.patch b/patches/server/0998-Configure-sniffer-egg-hatch-time.patch
index 4b20794de9..4b20794de9 100644
--- a/patches/server/0999-Configure-sniffer-egg-hatch-time.patch
+++ b/patches/server/0998-Configure-sniffer-egg-hatch-time.patch
diff --git a/patches/server/1000-Do-crystal-portal-proximity-check-before-entity-look.patch b/patches/server/0999-Do-crystal-portal-proximity-check-before-entity-look.patch
index 0244f274f5..0244f274f5 100644
--- a/patches/server/1000-Do-crystal-portal-proximity-check-before-entity-look.patch
+++ b/patches/server/0999-Do-crystal-portal-proximity-check-before-entity-look.patch
diff --git a/patches/server/1001-Skip-POI-finding-if-stuck-in-vehicle.patch b/patches/server/1000-Skip-POI-finding-if-stuck-in-vehicle.patch
index e45ced771d..e45ced771d 100644
--- a/patches/server/1001-Skip-POI-finding-if-stuck-in-vehicle.patch
+++ b/patches/server/1000-Skip-POI-finding-if-stuck-in-vehicle.patch
diff --git a/patches/server/1002-Add-slot-sanity-checks-in-container-clicks.patch b/patches/server/1001-Add-slot-sanity-checks-in-container-clicks.patch
index 6aae76295f..6aae76295f 100644
--- a/patches/server/1002-Add-slot-sanity-checks-in-container-clicks.patch
+++ b/patches/server/1001-Add-slot-sanity-checks-in-container-clicks.patch
diff --git a/patches/server/1003-Call-BlockRedstoneEvents-for-lecterns.patch b/patches/server/1002-Call-BlockRedstoneEvents-for-lecterns.patch
index aebbe3eb31..aebbe3eb31 100644
--- a/patches/server/1003-Call-BlockRedstoneEvents-for-lecterns.patch
+++ b/patches/server/1002-Call-BlockRedstoneEvents-for-lecterns.patch
diff --git a/patches/server/1004-Allow-proper-checking-of-empty-item-stacks.patch b/patches/server/1003-Allow-proper-checking-of-empty-item-stacks.patch
index be37c27f01..be37c27f01 100644
--- a/patches/server/1004-Allow-proper-checking-of-empty-item-stacks.patch
+++ b/patches/server/1003-Allow-proper-checking-of-empty-item-stacks.patch
diff --git a/patches/server/1005-Fix-silent-equipment-change-for-mobs.patch b/patches/server/1004-Fix-silent-equipment-change-for-mobs.patch
index bfc06d052d..de4efa72af 100644
--- a/patches/server/1005-Fix-silent-equipment-change-for-mobs.patch
+++ b/patches/server/1004-Fix-silent-equipment-change-for-mobs.patch
@@ -47,10 +47,10 @@ index 8e9469fec42f7b6a132cf173f6f5a95777a29b3b..b319021b22c5dceba6199ed27814b2dc
this.reassessWeaponGoal();
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 03967f4168f0544a82958b37fbd437a66bed4d60..0b56e5f7f18fc4286992af22d402205b771165a3 100644
+index 36055499436b13a8650c966bafc7dbd52e58c074..f8e519684d02dff0e26734eb89eca54ae1d9b1ee 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -1890,7 +1890,10 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
+@@ -1884,7 +1884,10 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
// Paper end - optimize redstone (Alternate Current)
// Paper start - notify observers even if grow failed
public void checkCapturedTreeStateForObserverNotify(final BlockPos pos, final CraftBlockState craftBlockState) {
diff --git a/patches/server/1006-Fix-spigot-s-Forced-Stats.patch b/patches/server/1005-Fix-spigot-s-Forced-Stats.patch
index 8e012f221e..8e012f221e 100644
--- a/patches/server/1006-Fix-spigot-s-Forced-Stats.patch
+++ b/patches/server/1005-Fix-spigot-s-Forced-Stats.patch
diff --git a/patches/server/1007-Add-missing-InventoryHolders-to-inventories.patch b/patches/server/1006-Add-missing-InventoryHolders-to-inventories.patch
index d633e8c51a..d633e8c51a 100644
--- a/patches/server/1007-Add-missing-InventoryHolders-to-inventories.patch
+++ b/patches/server/1006-Add-missing-InventoryHolders-to-inventories.patch
diff --git a/patches/server/1008-Do-not-read-tile-entities-in-chunks-that-are-positio.patch b/patches/server/1007-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
index 738c4d4886..738c4d4886 100644
--- a/patches/server/1008-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
+++ b/patches/server/1007-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
diff --git a/patches/server/1009-Actually-optimise-explosions.patch b/patches/server/1008-Actually-optimise-explosions.patch
index 879be2c332..879be2c332 100644
--- a/patches/server/1009-Actually-optimise-explosions.patch
+++ b/patches/server/1008-Actually-optimise-explosions.patch
diff --git a/patches/server/1010-Add-missing-logs-for-log-ips-config-option.patch b/patches/server/1009-Add-missing-logs-for-log-ips-config-option.patch
index 604b80916e..604b80916e 100644
--- a/patches/server/1010-Add-missing-logs-for-log-ips-config-option.patch
+++ b/patches/server/1009-Add-missing-logs-for-log-ips-config-option.patch
diff --git a/patches/server/1011-Remove-Spigot-Bug-Fix-for-MC-109346.patch b/patches/server/1010-Remove-Spigot-Bug-Fix-for-MC-109346.patch
index d3ecc69301..d3ecc69301 100644
--- a/patches/server/1011-Remove-Spigot-Bug-Fix-for-MC-109346.patch
+++ b/patches/server/1010-Remove-Spigot-Bug-Fix-for-MC-109346.patch
diff --git a/patches/server/1012-Fix-SuspiciousStewMeta.patch b/patches/server/1011-Fix-SuspiciousStewMeta.patch
index 834deff5db..834deff5db 100644
--- a/patches/server/1012-Fix-SuspiciousStewMeta.patch
+++ b/patches/server/1011-Fix-SuspiciousStewMeta.patch
diff --git a/patches/server/1013-Optimise-chunk-tick-iteration.patch b/patches/server/1012-Optimise-chunk-tick-iteration.patch
index a468949898..6649482170 100644
--- a/patches/server/1013-Optimise-chunk-tick-iteration.patch
+++ b/patches/server/1012-Optimise-chunk-tick-iteration.patch
@@ -108,10 +108,10 @@ index 2b998bdbe49bf8211b755e0eb7c1bf13ac280eab..5afeb59ff25fed2d565407acacffec83
List list;
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index e3c1015a5538ad74b9f109837df5916e6ce7e711..baa8497a18474ed142535749edfca200ef31f93e 100644
+index b6e9893baa13bc2a860922d3a9ced4538b8d0911..69549b501e8a72ce535091f1b20f07a1c000ea45 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -192,6 +192,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -191,6 +191,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.playerEntityTrackerTrackMaps[i].remove(player);
}
// Paper end - use distance map to optimise tracker
@@ -119,7 +119,7 @@ index e3c1015a5538ad74b9f109837df5916e6ce7e711..baa8497a18474ed142535749edfca200
}
void updateMaps(ServerPlayer player) {
-@@ -241,6 +242,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -240,6 +241,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
public final io.papermc.paper.util.player.NearbyPlayers nearbyPlayers;
// Paper end
@@ -130,7 +130,7 @@ index e3c1015a5538ad74b9f109837df5916e6ce7e711..baa8497a18474ed142535749edfca200
public ChunkMap(ServerLevel world, LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, StructureTemplateManager structureTemplateManager, Executor executor, BlockableEventLoop<Runnable> mainThreadExecutor, LightChunkGetter chunkProvider, ChunkGenerator chunkGenerator, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier<DimensionDataStorage> persistentStateManagerFactory, int viewDistance, boolean dsync) {
super(session.getDimensionPath(world.dimension()).resolve("region"), dataFixer, dsync);
-@@ -410,7 +415,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -409,7 +414,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
// Paper end
@@ -140,7 +140,7 @@ index e3c1015a5538ad74b9f109837df5916e6ce7e711..baa8497a18474ed142535749edfca200
double d1 = (double) SectionPos.sectionToBlockCoord(pos.z, 8);
double d2 = d0 - entity.getX();
diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java
-index 68550d4497a5f10bf653482f79be77373df53f27..55f96545d6db95e3e657502a7910d96fded1113e 100644
+index 33b0be8eb9bff8068ca7bdeffe34b7f2eaa6dbfb..328aba4a638f6147eb0c521cc464163ad7bd5840 100644
--- a/src/main/java/net/minecraft/server/level/DistanceManager.java
+++ b/src/main/java/net/minecraft/server/level/DistanceManager.java
@@ -50,7 +50,7 @@ public abstract class DistanceManager {
@@ -152,7 +152,7 @@ index 68550d4497a5f10bf653482f79be77373df53f27..55f96545d6db95e3e657502a7910d96f
// Paper - rewrite chunk system
private final ChunkMap chunkMap; // Paper
-@@ -136,7 +136,7 @@ public abstract class DistanceManager {
+@@ -135,7 +135,7 @@ public abstract class DistanceManager {
long i = chunkcoordintpair.toLong();
// Paper - no longer used
@@ -161,7 +161,7 @@ index 68550d4497a5f10bf653482f79be77373df53f27..55f96545d6db95e3e657502a7910d96f
//this.playerTicketManager.update(i, 0, true); // Paper - no longer used
//this.tickingTicketsTracker.addTicket(TicketType.PLAYER, chunkcoordintpair, this.getPlayerTicketLevel(), chunkcoordintpair); // Paper - no longer used
}
-@@ -150,7 +150,7 @@ public abstract class DistanceManager {
+@@ -149,7 +149,7 @@ public abstract class DistanceManager {
if (objectset != null) objectset.remove(player); // Paper - some state corruption happens here, don't crash, clean up gracefully.
if (objectset == null || objectset.isEmpty()) { // Paper
this.playersPerChunk.remove(i);
@@ -170,7 +170,7 @@ index 68550d4497a5f10bf653482f79be77373df53f27..55f96545d6db95e3e657502a7910d96f
//this.playerTicketManager.update(i, Integer.MAX_VALUE, false); // Paper - no longer used
//this.tickingTicketsTracker.removeTicket(TicketType.PLAYER, chunkcoordintpair, this.getPlayerTicketLevel(), chunkcoordintpair); // Paper - no longer used
}
-@@ -192,13 +192,11 @@ public abstract class DistanceManager {
+@@ -191,13 +191,11 @@ public abstract class DistanceManager {
}
public int getNaturalSpawnChunkCount() {
@@ -365,7 +365,7 @@ index 5152979bf81345fc365e7b16028c7d970d2f5856..44ada45d9bf2d9b48e5de1c3cb1a8559
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 695a103f2517f3e888e86e76f3615bd69b00a175..5fe743567f2e9cf0f9442ddd87453c51af8060e6 100644
+index c993553383f3b417884bc161d58a9ab72455a55d..bcdda70cb55113c37f5f1fbd511dc1ce973361e3 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/1014-Lag-compensation-ticks.patch b/patches/server/1013-Lag-compensation-ticks.patch
index 70f9907730..43d7f9cd21 100644
--- a/patches/server/1014-Lag-compensation-ticks.patch
+++ b/patches/server/1013-Lag-compensation-ticks.patch
@@ -65,7 +65,7 @@ index 899439e0af639e8d9124522b3cb6a10601b17fe2..b214c934b9a537f52cef142c519c2b9b
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 bed0a01be1703aad8fbfa549d5799e3f84759f32..e1eab03233149fd0714785955d21dc80dc664d96 100644
+index 3ce5c06a6c154c0b8c9f2aaaa0a2f9d092cc4551..12d4ab6aa349e3f465cc88a2717243ff5064df02 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3818,6 +3818,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/1015-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch b/patches/server/1014-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
index 352537a5ad..352537a5ad 100644
--- a/patches/server/1015-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
+++ b/patches/server/1014-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
diff --git a/patches/server/1016-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch b/patches/server/1015-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
index 7ccf4c0f03..7ccf4c0f03 100644
--- a/patches/server/1016-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
+++ b/patches/server/1015-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
diff --git a/patches/server/1017-Fix-team-sidebar-objectives-not-being-cleared.patch b/patches/server/1016-Fix-team-sidebar-objectives-not-being-cleared.patch
index 88a39d0b20..88a39d0b20 100644
--- a/patches/server/1017-Fix-team-sidebar-objectives-not-being-cleared.patch
+++ b/patches/server/1016-Fix-team-sidebar-objectives-not-being-cleared.patch
diff --git a/patches/server/1018-Optimise-nearby-player-retrieval.patch b/patches/server/1017-Optimise-nearby-player-retrieval.patch
index 728c9ea672..728c9ea672 100644
--- a/patches/server/1018-Optimise-nearby-player-retrieval.patch
+++ b/patches/server/1017-Optimise-nearby-player-retrieval.patch
diff --git a/patches/server/1019-Remove-streams-for-villager-AI.patch b/patches/server/1018-Remove-streams-for-villager-AI.patch
index a2538da4d0..a2538da4d0 100644
--- a/patches/server/1019-Remove-streams-for-villager-AI.patch
+++ b/patches/server/1018-Remove-streams-for-villager-AI.patch
diff --git a/patches/server/1020-Fix-missing-map-initialize-event-call.patch b/patches/server/1019-Fix-missing-map-initialize-event-call.patch
index cb7ba8687a..cb7ba8687a 100644
--- a/patches/server/1020-Fix-missing-map-initialize-event-call.patch
+++ b/patches/server/1019-Fix-missing-map-initialize-event-call.patch
diff --git a/patches/server/1021-Update-entity-data-when-attaching-firework-to-entity.patch b/patches/server/1020-Update-entity-data-when-attaching-firework-to-entity.patch
index 40c89bc2cc..40c89bc2cc 100644
--- a/patches/server/1021-Update-entity-data-when-attaching-firework-to-entity.patch
+++ b/patches/server/1020-Update-entity-data-when-attaching-firework-to-entity.patch
diff --git a/patches/server/1022-Use-correct-variable-for-initializing-CraftLootTable.patch b/patches/server/1021-Use-correct-variable-for-initializing-CraftLootTable.patch
index fb5878659b..fb5878659b 100644
--- a/patches/server/1022-Use-correct-variable-for-initializing-CraftLootTable.patch
+++ b/patches/server/1021-Use-correct-variable-for-initializing-CraftLootTable.patch
diff --git a/patches/server/1023-Make-setVelocity-method-of-Fireballs-change-the-trav.patch b/patches/server/1022-Make-setVelocity-method-of-Fireballs-change-the-trav.patch
index b36b8cf1f6..b36b8cf1f6 100644
--- a/patches/server/1023-Make-setVelocity-method-of-Fireballs-change-the-trav.patch
+++ b/patches/server/1022-Make-setVelocity-method-of-Fireballs-change-the-trav.patch
diff --git a/patches/server/1024-Fix-UnsafeValues-loadAdvancement.patch b/patches/server/1023-Fix-UnsafeValues-loadAdvancement.patch
index 834c4d579b..834c4d579b 100644
--- a/patches/server/1024-Fix-UnsafeValues-loadAdvancement.patch
+++ b/patches/server/1023-Fix-UnsafeValues-loadAdvancement.patch
diff --git a/patches/server/1025-Add-player-idle-duration-API.patch b/patches/server/1024-Add-player-idle-duration-API.patch
index be48f2e779..d7e14d24d4 100644
--- a/patches/server/1025-Add-player-idle-duration-API.patch
+++ b/patches/server/1024-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 991b00637665b1a07ee93ff728aaed2ed77e917d..48849cb39ac647b77652005335d1261b47e727f4 100644
+index ff3e42fe78b2ef7d6346d6b46a1fc664e1bf6352..d62678f58080d9c0514c9f2cfab7af597c07921a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3308,6 +3308,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3307,6 +3307,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
diff --git a/patches/server/1026-Don-t-check-if-we-can-see-non-visible-entities.patch b/patches/server/1025-Don-t-check-if-we-can-see-non-visible-entities.patch
index 81712ec1a3..e9946933b6 100644
--- a/patches/server/1026-Don-t-check-if-we-can-see-non-visible-entities.patch
+++ b/patches/server/1025-Don-t-check-if-we-can-see-non-visible-entities.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Don't check if we can see non-visible entities
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index baa8497a18474ed142535749edfca200ef31f93e..caa73632aee15583c6b6ed12a668c8f49b794708 100644
+index 69549b501e8a72ce535091f1b20f07a1c000ea45..d9cd497bc1b654030ff1a597f038b6a881df9f6b 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
-@@ -1436,7 +1436,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
+@@ -1435,7 +1435,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Paper end - check Y
// CraftBukkit start - respect vanish API
diff --git a/patches/server/1027-Fix-NPE-in-SculkBloomEvent-world-access.patch b/patches/server/1026-Fix-NPE-in-SculkBloomEvent-world-access.patch
index f4db24ce29..f4db24ce29 100644
--- a/patches/server/1027-Fix-NPE-in-SculkBloomEvent-world-access.patch
+++ b/patches/server/1026-Fix-NPE-in-SculkBloomEvent-world-access.patch
diff --git a/patches/server/1028-Allow-null-itemstack-for-Player-sendEquipmentChange.patch b/patches/server/1027-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
index 33cf3fc362..4b09ae6d52 100644
--- a/patches/server/1028-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
+++ b/patches/server/1027-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
@@ -5,7 +5,7 @@ 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 5ff67321df91bcf66b198ff346630e4d912ae341..d5b5bb52a0d678bfe69be54b2cd25c95c39daf8d 100644
+index d62678f58080d9c0514c9f2cfab7af597c07921a..fe6e1e23b94d35ab5a2ba9c70bbc41820636c7df 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1083,7 +1083,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/1029-Optimize-VarInts.patch b/patches/server/1028-Optimize-VarInts.patch
index 19e7fc574a..19e7fc574a 100644
--- a/patches/server/1029-Optimize-VarInts.patch
+++ b/patches/server/1028-Optimize-VarInts.patch
diff --git a/patches/server/1030-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/server/1029-Add-API-to-get-the-collision-shape-of-a-block-before.patch
index bed6750ecf..bed6750ecf 100644
--- a/patches/server/1030-Add-API-to-get-the-collision-shape-of-a-block-before.patch
+++ b/patches/server/1029-Add-API-to-get-the-collision-shape-of-a-block-before.patch
diff --git a/patches/server/1031-Add-predicate-for-blocks-when-raytracing.patch b/patches/server/1030-Add-predicate-for-blocks-when-raytracing.patch
index e4a2f0de7a..f9640f9d9d 100644
--- a/patches/server/1031-Add-predicate-for-blocks-when-raytracing.patch
+++ b/patches/server/1030-Add-predicate-for-blocks-when-raytracing.patch
@@ -47,10 +47,10 @@ index 799837c172a5f7856c78e6fe2595c575f3058a5e..7205865bbe0f83fb35678bddc0977f92
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 abb14719496971a780650782bdce17c638c7b270..95c0c00075e12f4faa1a86a4161fd22dfc69fdd8 100644
+index bc65aa051a8115bc198268a89a690cc287ec638a..9369e929b92548d4323a74c63c2185f7cab115b7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1126,9 +1126,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1125,9 +1125,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 abb14719496971a780650782bdce17c638c7b270..95c0c00075e12f4faa1a86a4161fd22d
Preconditions.checkArgument(direction != null, "Vector direction cannot be null");
direction.checkFinite();
-@@ -1178,9 +1184,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1177,9 +1183,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 abb14719496971a780650782bdce17c638c7b270..95c0c00075e12f4faa1a86a4161fd22d
Preconditions.checkArgument(direction != null, "Vector direction cannot be null");
direction.checkFinite();
-@@ -1193,16 +1206,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1192,16 +1205,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
Vector dir = direction.clone().normalize().multiply(maxDistance);
diff --git a/patches/server/1032-Broadcast-take-item-packets-with-collector-as-source.patch b/patches/server/1031-Broadcast-take-item-packets-with-collector-as-source.patch
index 812aa7c18f..82e9854d8b 100644
--- a/patches/server/1032-Broadcast-take-item-packets-with-collector-as-source.patch
+++ b/patches/server/1031-Broadcast-take-item-packets-with-collector-as-source.patch
@@ -6,7 +6,7 @@ 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 e1eab03233149fd0714785955d21dc80dc664d96..1580c3a13a7fd84e709e184ad57e7d70d143abd2 100644
+index 12d4ab6aa349e3f465cc88a2717243ff5064df02..7471e5ba8fc0e2d17cdd3d8b580fe7375d58cc73 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 {
diff --git a/patches/server/1033-fix-secure-profile-with-proxy-online-mode.patch b/patches/server/1032-fix-secure-profile-with-proxy-online-mode.patch
index 36016755bf..36016755bf 100644
--- a/patches/server/1033-fix-secure-profile-with-proxy-online-mode.patch
+++ b/patches/server/1032-fix-secure-profile-with-proxy-online-mode.patch
diff --git a/patches/server/1034-Expand-LingeringPotion-API.patch b/patches/server/1033-Expand-LingeringPotion-API.patch
index 9939920a04..9939920a04 100644
--- a/patches/server/1034-Expand-LingeringPotion-API.patch
+++ b/patches/server/1033-Expand-LingeringPotion-API.patch
diff --git a/patches/server/1035-Add-MaterialTagsTest.patch b/patches/server/1034-Add-MaterialTagsTest.patch
index 34233ba1ca..34233ba1ca 100644
--- a/patches/server/1035-Add-MaterialTagsTest.patch
+++ b/patches/server/1034-Add-MaterialTagsTest.patch
diff --git a/patches/server/1036-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch b/patches/server/1035-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
index e03173000f..5c85aa14e3 100644
--- a/patches/server/1036-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
+++ b/patches/server/1035-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
@@ -46,10 +46,10 @@ index 255fb5e922c63130708e4bcab208b4db52a58387..1e76230c078ef07418345b0bc50c574c
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 95c0c00075e12f4faa1a86a4161fd22dfc69fdd8..5de25f3f6944055e9d6c3cae29ad0885a95d5f38 100644
+index c394e12e73680761d22612c5eec4bac9dd8893e3..e652368f56a3e1f90d0162277d025f696c560ed2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -774,7 +774,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -773,7 +773,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
LightningBolt lightning = EntityType.LIGHTNING_BOLT.create(this.world);
lightning.moveTo(loc.getX(), loc.getY(), loc.getZ());
@@ -58,7 +58,7 @@ index 95c0c00075e12f4faa1a86a4161fd22dfc69fdd8..5de25f3f6944055e9d6c3cae29ad0885
this.world.strikeLightning(lightning, LightningStrikeEvent.Cause.CUSTOM);
return (LightningStrike) lightning.getBukkitEntity();
}
-@@ -2436,7 +2436,6 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2433,7 +2433,6 @@ public class CraftWorld extends CraftRegionAccessor implements World {
{
LightningBolt lightning = EntityType.LIGHTNING_BOLT.create( CraftWorld.this.world );
lightning.moveTo( loc.getX(), loc.getY(), loc.getZ() );
@@ -66,7 +66,7 @@ index 95c0c00075e12f4faa1a86a4161fd22dfc69fdd8..5de25f3f6944055e9d6c3cae29ad0885
CraftWorld.this.world.strikeLightning( lightning, LightningStrikeEvent.Cause.CUSTOM );
return (LightningStrike) lightning.getBukkitEntity();
}
-@@ -2446,8 +2445,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2443,8 +2442,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
{
LightningBolt lightning = EntityType.LIGHTNING_BOLT.create( CraftWorld.this.world );
lightning.moveTo( loc.getX(), loc.getY(), loc.getZ() );
diff --git a/patches/server/1037-Add-hand-to-fish-event-for-all-player-interactions.patch b/patches/server/1036-Add-hand-to-fish-event-for-all-player-interactions.patch
index 6fef553fc5..6fef553fc5 100644
--- a/patches/server/1037-Add-hand-to-fish-event-for-all-player-interactions.patch
+++ b/patches/server/1036-Add-hand-to-fish-event-for-all-player-interactions.patch
diff --git a/patches/server/1038-Fix-several-issues-with-EntityBreedEvent.patch b/patches/server/1037-Fix-several-issues-with-EntityBreedEvent.patch
index b2d68ef645..b2d68ef645 100644
--- a/patches/server/1038-Fix-several-issues-with-EntityBreedEvent.patch
+++ b/patches/server/1037-Fix-several-issues-with-EntityBreedEvent.patch
diff --git a/patches/server/1039-Add-UUID-attribute-modifier-API.patch b/patches/server/1038-Add-UUID-attribute-modifier-API.patch
index 37efcab4b6..37efcab4b6 100644
--- a/patches/server/1039-Add-UUID-attribute-modifier-API.patch
+++ b/patches/server/1038-Add-UUID-attribute-modifier-API.patch
diff --git a/patches/server/1040-Fix-missing-event-call-for-entity-teleport-API.patch b/patches/server/1039-Fix-missing-event-call-for-entity-teleport-API.patch
index 5e5c7129ce..d7184c01d0 100644
--- a/patches/server/1040-Fix-missing-event-call-for-entity-teleport-API.patch
+++ b/patches/server/1039-Fix-missing-event-call-for-entity-teleport-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix missing event call for entity teleport API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index f4e4599336f8fa75ac200b1415a92ea203422fb7..1727e932ac6b9ca09b5df96f9547ff125114e15a 100644
+index ed49b04d3918e46cd0769838b81cd0fae0d4e43a..17113544383fb4e6373d8f6151c536fecb00e0be 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -255,6 +255,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/1041-Lazily-create-LootContext-for-criterions.patch b/patches/server/1040-Lazily-create-LootContext-for-criterions.patch
index 64a83b5146..64a83b5146 100644
--- a/patches/server/1041-Lazily-create-LootContext-for-criterions.patch
+++ b/patches/server/1040-Lazily-create-LootContext-for-criterions.patch
diff --git a/patches/server/1042-Don-t-fire-EntityPotionEffectEvent-during-worldgen.patch b/patches/server/1041-Don-t-fire-EntityPotionEffectEvent-during-worldgen.patch
index 8464a15e3a..b8bb022001 100644
--- a/patches/server/1042-Don-t-fire-EntityPotionEffectEvent-during-worldgen.patch
+++ b/patches/server/1041-Don-t-fire-EntityPotionEffectEvent-during-worldgen.patch
@@ -8,7 +8,7 @@ being added with generation to have effects added to them. The event
does not support asynchronous firing.
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 1580c3a13a7fd84e709e184ad57e7d70d143abd2..d01ce95110b42000a67e2697eed3da0e050f144b 100644
+index 7471e5ba8fc0e2d17cdd3d8b580fe7375d58cc73..bc45bd5816b1b62cdd6011f2372702451b83f22b 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 {
diff --git a/patches/server/1043-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch b/patches/server/1042-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
index 380c7008be..2aff6c5523 100644
--- a/patches/server/1043-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
+++ b/patches/server/1042-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix CraftMetaItem#getAttributeModifier duplication check
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 4396043fb5d86978e9dbac6e0efb2ec1e1298b24..2ded472dbf0ed5ad3205e1dc8cbb20e1482a6ff6 100644
+index c6575325ba341b6feccdcc6f32fd41a7c5c54b7a..ec0d2d93cdf212cbdf56a0bf6f453c1b1e93a030 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-@@ -1175,7 +1175,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1173,7 +1173,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
Preconditions.checkNotNull(modifier, "AttributeModifier cannot be null");
this.checkAttributeList();
for (Map.Entry<Attribute, AttributeModifier> entry : this.attributeModifiers.entries()) {
diff --git a/patches/server/1044-Restore-vanilla-entity-drops-behavior.patch b/patches/server/1043-Restore-vanilla-entity-drops-behavior.patch
index 4956df04a8..e3861990ff 100644
--- a/patches/server/1044-Restore-vanilla-entity-drops-behavior.patch
+++ b/patches/server/1043-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 5fe743567f2e9cf0f9442ddd87453c51af8060e6..d1f20a8a3ccea1f074624163eb96da023142a459 100644
+index bcdda70cb55113c37f5f1fbd511dc1ce973361e3..0eb3384df396508c3d26d1e155cd0e6d64251346 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -944,22 +944,20 @@ public class ServerPlayer extends Player {
@@ -104,7 +104,7 @@ index 1f2e74969f9d459cf3bc123c96309fc0a6165ea0..0c46a4aeafd03fbbfd590b0362d41bf2
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 d01ce95110b42000a67e2697eed3da0e050f144b..45b1a182acf6b2aef40b714d31ca125d8f74619a 100644
+index bc45bd5816b1b62cdd6011f2372702451b83f22b..96885946be3b8e129984353f3dfe4330e73ad84a 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -254,7 +254,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/1045-Add-Structure-check-API.patch b/patches/server/1044-Add-Structure-check-API.patch
index 3f4c6ca1fc..fb168d6531 100644
--- a/patches/server/1045-Add-Structure-check-API.patch
+++ b/patches/server/1044-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 5de25f3f6944055e9d6c3cae29ad0885a95d5f38..e1fad381b861471a17529c246bb8a4a9c7646420 100644
+index f74e9c64a02d4c9507f6e89354309712b89ecf19..1632aad58338017a4102df78409feb6694bf479c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -231,6 +231,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -230,6 +230,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
};
}
// Paper end
diff --git a/patches/server/1046-Dont-resend-blocks-on-interactions.patch b/patches/server/1045-Dont-resend-blocks-on-interactions.patch
index 8f8f7102fb..8f8f7102fb 100644
--- a/patches/server/1046-Dont-resend-blocks-on-interactions.patch
+++ b/patches/server/1045-Dont-resend-blocks-on-interactions.patch
diff --git a/patches/server/1047-Keep-previous-behavior-for-setResourcePack.patch b/patches/server/1046-Keep-previous-behavior-for-setResourcePack.patch
index db76f1ce53..7af44baf35 100644
--- a/patches/server/1047-Keep-previous-behavior-for-setResourcePack.patch
+++ b/patches/server/1046-Keep-previous-behavior-for-setResourcePack.patch
@@ -10,7 +10,7 @@ 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 35db598b8dac6de7729a0fdb3602a19c0492f166..c45bcd5102111d4ddc438a85652ecc259c8d3cb5 100644
+index fe6e1e23b94d35ab5a2ba9c70bbc41820636c7df..c54df6e4aed9b7b46a41af4108a8e90d96c1fe1f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2347,8 +2347,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/1048-hotfix-spawning-item-xp-in-wrong-spot.patch b/patches/server/1047-hotfix-spawning-item-xp-in-wrong-spot.patch
index 0979612628..01223d1aa0 100644
--- a/patches/server/1048-hotfix-spawning-item-xp-in-wrong-spot.patch
+++ b/patches/server/1047-hotfix-spawning-item-xp-in-wrong-spot.patch
@@ -5,18 +5,10 @@ Subject: [PATCH] hotfix spawning item/xp in wrong spot
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
-index 444b770425c55e17aa15d83dcb5bafa669c0b93f..1f8ae974b663864f5ee4dfe65d930ae4d9ef2e0a 100644
+index 628c40972a644d182b7a1c0c3611b00c120311e0..21d3b6f2021b2afd88c5ef6b9a375977d1ccadef 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
-@@ -370,14 +370,14 @@ public final class CraftEntityTypes {
- // We use stone instead of empty, to give the plugin developer a visual clue, that the spawn method is working,
- // and that the item stack should probably be changed.
- net.minecraft.world.item.ItemStack itemStack = new net.minecraft.world.item.ItemStack(Items.STONE);
-- ItemEntity item = new ItemEntity(spawnData.minecraftWorld(), spawnData.x(), spawnData.z(), spawnData.z(), itemStack);
-+ ItemEntity item = new ItemEntity(spawnData.minecraftWorld(), spawnData.x(), spawnData.y(), spawnData.z(), itemStack);
- item.setPickUpDelay(10);
- CLEAR_MOVE_IF_NOT_RANDOMIZED.accept(spawnData, item); // Paper - respect randomizeData
-
+@@ -377,7 +377,7 @@ public final class CraftEntityTypes {
return item;
}));
register(new EntityTypeData<>(EntityType.EXPERIENCE_ORB, ExperienceOrb.class, CraftExperienceOrb::new,
diff --git a/patches/server/1049-properly-read-and-store-sus-effect-duration.patch b/patches/server/1048-properly-read-and-store-sus-effect-duration.patch
index c970d92c46..c970d92c46 100644
--- a/patches/server/1049-properly-read-and-store-sus-effect-duration.patch
+++ b/patches/server/1048-properly-read-and-store-sus-effect-duration.patch
diff --git a/patches/server/1050-Use-correct-max-stack-size-in-crafter.patch b/patches/server/1049-Use-correct-max-stack-size-in-crafter.patch
index 0ee54e0bc8..0ee54e0bc8 100644
--- a/patches/server/1050-Use-correct-max-stack-size-in-crafter.patch
+++ b/patches/server/1049-Use-correct-max-stack-size-in-crafter.patch
diff --git a/patches/server/1051-Fix-scoreboard-entries.patch b/patches/server/1050-Fix-scoreboard-entries.patch
index 9af3a73f36..9af3a73f36 100644
--- a/patches/server/1051-Fix-scoreboard-entries.patch
+++ b/patches/server/1050-Fix-scoreboard-entries.patch
diff --git a/patches/server/1052-add-more-scoreboard-API.patch b/patches/server/1051-add-more-scoreboard-API.patch
index bb2c0c4a40..bb2c0c4a40 100644
--- a/patches/server/1052-add-more-scoreboard-API.patch
+++ b/patches/server/1051-add-more-scoreboard-API.patch
diff --git a/patches/server/1053-Improve-Registry.patch b/patches/server/1052-Improve-Registry.patch
index 162949848b..162949848b 100644
--- a/patches/server/1053-Improve-Registry.patch
+++ b/patches/server/1052-Improve-Registry.patch
diff --git a/work/Bukkit b/work/Bukkit
-Subproject f29cb8015897da1bca0c93522c5884c4c9f9360
+Subproject cc9aa21a289b9a7d361c4a8f99b56d5300f40d4
diff --git a/work/CraftBukkit b/work/CraftBukkit
-Subproject b3b43a6ad21c9f7fc2dd0a1e7e94abae0057770
+Subproject bcf56171a63d24b21bea341e8f5b3c5234f077c
diff --git a/work/Spigot b/work/Spigot
-Subproject 06d602e7c3165ebf32f7419cb5873ec82d54ff7
+Subproject ed9ba9a42d6c6aca02c474aed4207b7b4fd6f5d