From 9cfc0d5a6031928ce05f9b9a5ff56bf380948204 Mon Sep 17 00:00:00 2001 From: Jason Penilla <11360596+jpenilla@users.noreply.github.com> Date: Tue, 15 Jun 2021 23:46:06 -0700 Subject: [PATCH] Revert "Re-add Chunk Priority/Urgency System (#5829)" This reverts commit 24b7da65eed610c18d1c7a66578b57ca71428a00. Patch was updated incorrectly and needs a closer look. --- ...-Priority-Urgency-System-for-Chunks.patch} | 558 +++++++++++------- .../0040-Use-UserCache-for-player-heads.patch | 4 +- ...-Add-setPlayerProfile-API-for-Skulls.patch | 4 +- ...Remove-some-streams-from-structures.patch} | 0 ...rom-classes-related-villager-gossip.patch} | 0 ...e-NibbleArray-to-use-pooled-buffers.patch} | 0 ...0480-Support-components-in-ItemMeta.patch} | 0 ...rgetLivingEntityEvent-for-1.16-mobs.patch} | 0 ...patch => 0482-Add-entity-liquid-API.patch} | 0 ...date-itemstack-legacy-name-and-lore.patch} | 0 ...wn-player-in-correct-world-on-login.patch} | 2 +- ...atch => 0485-Add-PrepareResultEvent.patch} | 0 ...low-delegation-to-vanilla-chunk-gen.patch} | 0 ...-for-portal-on-world-gen-entity-add.patch} | 0 ...e-NetworkManager-Exception-Handling.patch} | 0 ...ncement-data-player-iteration-to-be.patch} | 0 ...x-arrows-never-despawning-MC-125757.patch} | 0 ...Vanilla-Command-permission-checking.patch} | 0 ...ve-range-check-for-block-placing-up.patch} | 4 +- ...-5989.patch => 0493-Fix-SPIGOT-5989.patch} | 10 +- ...-Bukkit-world-container-is-not-used.patch} | 0 ...5885-Unable-to-disable-advancements.patch} | 0 ...taPlayer-leak-due-from-quitting-ear.patch} | 0 ...eLighting-call-to-World-spigot-stri.patch} | 4 +- ...ix-some-rails-connecting-improperly.patch} | 0 ...h => 0499-Incremental-player-saving.patch} | 6 +- ...Fix-MC-187716-Use-configured-height.patch} | 0 ...stake-in-CB-NBT-int-deserialization.patch} | 0 ...rver-load-chunks-from-newer-version.patch} | 0 ...support.patch => 0503-Brand-support.patch} | 12 +- ...patch => 0504-Add-setMaxPlayers-API.patch} | 2 +- ...PickupItemAnimation-to-LivingEntity.patch} | 0 ...h => 0506-Don-t-require-FACING-data.patch} | 0 ...eEvent-not-firing-for-all-use-cases.patch} | 2 +- ...PI.patch => 0508-Add-moon-phase-API.patch} | 2 +- ...headless-pistons-from-being-created.patch} | 0 ...ent.patch => 0510-Add-BellRingEvent.patch} | 0 ...dd-zombie-targets-turtle-egg-config.patch} | 0 ...patch => 0512-Buffer-joins-to-world.patch} | 0 ...=> 0513-Optimize-redstone-algorithm.patch} | 0 ...s-not-working-in-some-kick-messages.patch} | 0 ...reateEvent-needs-to-know-its-entity.patch} | 0 ...ch => 0516-Fix-CraftTeam-null-check.patch} | 0 ...I.patch => 0517-Add-more-Evoker-API.patch} | 0 ...translation-keys-for-blocks-entitie.patch} | 0 ...te-HoverEvent-from-ItemStack-Entity.patch} | 0 ...ch => 0520-Cache-block-data-strings.patch} | 0 ...rtation-and-cancel-velocity-if-tele.patch} | 4 +- ...l-open-container-api-to-HumanEntity.patch} | 0 ...aFixerUpper-Rewrite-Rules-on-demand.patch} | 0 ...-capture-to-capture-all-items-added.patch} | 0 ...ty-in-invalid-locations-SPIGOT-6086.patch} | 4 +- ...-Counter-to-allow-plugins-to-use-va.patch} | 0 ...track-plugin-scoreboards-by-default.patch} | 0 ...king.patch => 0528-Entity-isTicking.patch} | 0 ...non-whitelisted-player-when-white-l.patch} | 0 ...g-a-passenger-in-CreatureSpawnEvent.patch} | 0 ...x-Concurrency-issue-in-WeightedList.patch} | 0 ...eset-Ender-Crystals-on-Dragon-Spawn.patch} | 0 ...-large-move-vectors-crashing-server.patch} | 2 +- ...atch => 0534-Optimise-getType-calls.patch} | 0 ....patch => 0535-Villager-resetOffers.patch} | 0 ...nig-for-some-hot-IBlockData-methods.patch} | 0 ...ce-order-when-capturing-blockstates.patch} | 0 ...lockpos-allocation-from-pathfinding.patch} | 0 ...em-locations-dropped-from-campfires.patch} | 0 ...tch => 0540-Player-elytra-boost-API.patch} | 2 +- ...41-Fixed-TileEntityBell-memory-leak.patch} | 0 ...ing-up-when-item-stack-is-empty-in-.patch} | 0 ...Add-getOfflinePlayerIfCached-String.patch} | 0 ...ch => 0544-Add-ignore-discounts-API.patch} | 0 ...Toggle-for-removing-existing-dragon.patch} | 0 ...x-client-lag-on-advancement-loading.patch} | 0 ...> 0547-Item-no-age-no-player-pickup.patch} | 0 ...er-Remove-Streams-Optimized-collect.patch} | 0 ...549-Beacon-API-custom-effect-ranges.patch} | 0 ...tch => 0550-Add-API-for-quit-reason.patch} | 8 +- ...h => 0551-Seed-based-feature-search.patch} | 0 ...ng-Trader-spawn-rate-config-options.patch} | 0 ...rove-performance-of-the-end-generat.patch} | 0 ...ch => 0554-Expose-world-spawn-angle.patch} | 6 +- ...patch => 0555-Add-Destroy-Speed-API.patch} | 0 ...-spawnParticle-x-y-z-precision-loss.patch} | 4 +- ...57-Add-LivingEntity-clearActiveItem.patch} | 0 ...=> 0558-Add-PlayerItemCooldownEvent.patch} | 0 ...PI.patch => 0559-More-lightning-API.patch} | 0 ...should-not-bypass-cramming-gamerule.patch} | 0 ...-missing-default-perms-for-commands.patch} | 0 ...h => 0562-Add-PlayerShearBlockEvent.patch} | 0 ...rbose-world-setting-to-false-by-def.patch} | 0 ...ng-zombie-villager-discount-exploit.patch} | 0 ....patch => 0565-Limit-recipe-packets.patch} | 4 +- ...-CraftSound-backwards-compatibility.patch} | 0 ... 0567-MC-4-Fix-item-position-desync.patch} | 0 ...568-Player-Chunk-Load-Unload-Events.patch} | 4 +- ...9-Optimize-Dynamic-get-Missing-Keys.patch} | 0 ...-Expose-LivingEntity-hurt-direction.patch} | 0 ...OBSTRUCTED-reason-to-BedEnterResult.patch} | 0 ...-invalid-ingredient-lists-in-Villag.patch} | 0 ...atch => 0573-added-PlayerTradeEvent.patch} | 0 ...ch => 0574-Implement-TargetHitEvent.patch} | 0 ...575-Additional-Block-Material-API-s.patch} | 0 ...tch => 0576-Fix-harming-potion-dupe.patch} | 0 ...get-Material-from-Boats-and-Minecar.patch} | 0 ....patch => 0578-Cache-burn-durations.patch} | 0 ...ob-spawner-spawn-egg-transformation.patch} | 0 ...ix-Not-a-string-Map-Conversion-spam.patch} | 0 ...ment-PlayerFlowerPotManipulateEvent.patch} | 0 ...event-not-being-called-in-adventure.patch} | 6 +- ...h => 0583-Zombie-API-breaking-doors.patch} | 0 ...584-Fix-nerfed-slime-when-splitting.patch} | 0 ...=> 0585-Add-EntityLoadCrossbowEvent.patch} | 0 ...ch => 0586-Guardian-beam-workaround.patch} | 0 ...0587-Added-WorldGameRuleChangeEvent.patch} | 2 +- ...-Added-ServerResourcesReloadedEvent.patch} | 0 ...d-settings-for-mobs-picking-up-loot.patch} | 0 ...mplemented-BlockFailedDispenseEvent.patch} | 0 ...-Added-PlayerLecternPageChangeEvent.patch} | 0 ...-Added-PlayerLoomPatternSelectEvent.patch} | 0 ...nfigurable-door-breaking-difficulty.patch} | 0 ...ty-commands-shall-not-be-dispatched.patch} | 0 ...I-to-expose-exact-interaction-point.patch} | 0 ...OIs.patch => 0596-Remove-stale-POIs.patch} | 0 ...h => 0597-Fix-villager-boat-exploit.patch} | 2 +- ...I.patch => 0598-Add-sendOpLevel-API.patch} | 6 +- ...ch => 0599-Add-StructureLocateEvent.patch} | 0 ...-for-requiring-a-player-participant.patch} | 0 ...leHitEvent-call-when-fireballs-dead.patch} | 0 ...nent-with-empty-text-instead-of-thr.patch} | 0 ...603-Make-schedule-command-per-world.patch} | 0 ...604-Configurable-max-leash-distance.patch} | 0 ...605-Implement-BlockPreDispenseEvent.patch} | 0 ...h => 0606-Added-Vanilla-Entity-Tags.patch} | 0 ...-API.patch => 0607-added-Wither-API.patch} | 0 ...ng-of-PlayerChangeBeaconEffectEvent.patch} | 0 ...-spam-when-removing-chests-in-water.patch} | 0 ...e-for-always-placing-the-dragon-egg.patch} | 0 ...-PlayerStonecutterRecipeSelectEvent.patch} | 0 ...eash-variable-to-EntityUnleashEvent.patch} | 0 ...e-map-update-when-spawning-disabled.patch} | 4 +- ...shield-blocking-on-dimension-change.patch} | 4 +- ...atch => 0615-add-DragonEggFormEvent.patch} | 0 ...Event.patch => 0616-EntityMoveEvent.patch} | 0 ...isable-pathfinding-updates-on-block.patch} | 0 ... 0618-Inline-shift-direction-fields.patch} | 0 ...-adding-items-to-BlockDropItemEvent.patch} | 0 ...inThreadExecutor-to-BukkitScheduler.patch} | 0 ...entity-allow-attribute-registration.patch} | 0 ...ix-dead-slime-setSize-invincibility.patch} | 0 ...pes-should-return-an-immutable-list.patch} | 0 ....patch => 0624-misc-debugging-dumps.patch} | 0 ...port-for-hex-color-codes-in-console.patch} | 0 ...atch => 0626-Expose-Tracked-Players.patch} | 4 +- ...7-Remove-streams-from-SensorNearest.patch} | 0 ...ix-Wither-hostility-towards-players.patch} | 0 ...er-exception-on-empty-JsonList-file.patch} | 0 ...GUI.patch => 0630-Improve-ServerGUI.patch} | 0 ...ure-plate-EntityInteractEvent-for-i.patch} | 0 ...632-fix-converting-txt-to-json-file.patch} | 2 +- ...atch => 0633-Add-worldborder-events.patch} | 0 ...=> 0634-added-PlayerNameEntityEvent.patch} | 0 ...grindstones-from-overstacking-items.patch} | 0 ...h => 0636-Add-recipe-to-cook-events.patch} | 0 ...patch => 0637-Add-Block-isValidTool.patch} | 0 ...using-signs-inside-spawn-protection.patch} | 4 +- ...ch => 0639-Implement-Keyed-on-World.patch} | 4 +- ...ternative-constructor-for-Rotations.patch} | 0 ...y-API.patch => 0641-Item-Rarity-API.patch} | 0 ...imer-for-Wandering-Traders-spawned-.patch} | 0 ...py-TESign-isEditable-from-snapshots.patch} | 0 ...d-item-when-player-has-disconnected.patch} | 2 +- ...elist-use-configurable-kick-message.patch} | 0 ...gnore-result-of-PlayerEditBookEvent.patch} | 2 +- ...block-falling-causing-client-desync.patch} | 0 ...tch => 0648-Expose-protocol-version.patch} | 0 ...nt-suggestion-tooltips-in-AsyncTabC.patch} | 2 +- ...ab-completions-for-brigadier-comman.patch} | 0 ...temConsumeEvent-cancelling-properly.patch} | 0 ...patch => 0652-Add-bypass-host-check.patch} | 0 ...0653-Set-area-affect-cloud-rotation.patch} | 2 +- ...add-isDeeplySleeping-to-HumanEntity.patch} | 0 ...ting-give-items-on-item-drop-cancel.patch} | 0 ...add-consumeFuel-to-FurnaceBurnEvent.patch} | 0 ...-set-drop-chance-to-EntityEquipment.patch} | 0 ...ix-PigZombieAngerEvent-cancellation.patch} | 0 ...-checkReach-check-for-Shulker-boxes.patch} | 0 ...ix-PlayerItemHeldEvent-firing-twice.patch} | 4 +- ... => 0661-Added-PlayerDeepSleepEvent.patch} | 0 ...ld-API.patch => 0662-More-World-API.patch} | 2 +- ... 0663-Added-PlayerBedFailEnterEvent.patch} | 0 ...-to-convert-between-Component-and-B.patch} | 0 ...n-acting-as-a-bed-respawn-from-the-.patch} | 8 +- ...acon-activation-deactivation-events.patch} | 0 ...-RespawnFlags-to-PlayerRespawnEvent.patch} | 10 +- ...dd-Channel-initialization-listeners.patch} | 0 ...mands-if-tab-completion-is-disabled.patch} | 0 ...> 0670-Add-more-WanderingTrader-API.patch} | 0 ...dd-EntityBlockStorage-clearEntities.patch} | 0 ...ssage-to-PlayerAdvancementDoneEvent.patch} | 0 ...address-to-AsyncPlayerPreLoginEvent.patch} | 0 ...close.patch => 0674-Inventory-close.patch} | 0 ...reateEvent-players-and-end-platform.patch} | 4 +- ...-in-sunlight-API-for-Phantoms-and-S.patch} | 0 ...=> 0677-Fix-CraftPotionBrewer-cache.patch} | 0 ...atch => 0678-Add-basic-Datapack-API.patch} | 0 ...ment-variable-to-disable-server-gui.patch} | 0 ...itions-to-PlayerGameModeChangeEvent.patch} | 16 +- ...fo.patch => 0681-Clear-SyncLoadInfo.patch} | 0 ... => 0682-ItemStack-repair-check-API.patch} | 0 ....patch => 0683-More-Enchantment-API.patch} | 0 ...option-to-load-extra-plugin-jars-no.patch} | 0 ...-and-optimise-world-force-upgrading.patch} | 0 ...PI.patch => 0686-Add-Mob-lookAt-API.patch} | 0 ...0687-Add-Unix-domain-socket-support.patch} | 0 ... => 0688-Add-EntityInsideBlockEvent.patch} | 0 ...89-Attributes-API-for-item-defaults.patch} | 0 ...hantCustom-emit-PlayerPurchaseEvent.patch} | 0 ...ause-to-Weather-ThunderChangeEvents.patch} | 2 +- ...patch => 0692-More-Lidded-Block-API.patch} | 0 ...93-Limit-item-frame-cursors-on-maps.patch} | 0 ...0694-Add-PufferFishStateChangeEvent.patch} | 0 ... => 0695-Add-PlayerKickEvent-causes.patch} | 34 +- ...erBucketEmptyEvent-result-itemstack.patch} | 0 ...tedContainer-instead-of-ReentrantLo.patch} | 0 ...-to-fix-items-merging-through-walls.patch} | 0 ...h => 0699-Add-BellRevealRaiderEvent.patch} | 0 ... 0700-Fix-invulnerable-end-crystals.patch} | 0 ...01-Add-ElderGuardianAppearanceEvent.patch} | 0 ...inventory-on-cancelled-pickup-event.patch} | 0 ...0703-Fix-dangerous-end-portal-logic.patch} | 0 ...-Biome-Mob-Lookups-for-Mob-Spawning.patch} | 0 ...-Make-item-validations-configurable.patch} | 0 ...0706-Add-more-line-of-sight-methods.patch} | 2 +- ... => 0707-add-per-world-spawn-limits.patch} | 2 +- ...plashEvent-for-water-splash-potions.patch} | 0 ...tus-dataconverter-for-pre-1.13-chun.patch} | 0 236 files changed, 470 insertions(+), 308 deletions(-) rename patches/{server/0477-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch => removed/1.17/0486-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch} (70%) rename patches/server/{0478-Remove-some-streams-from-structures.patch => 0477-Remove-some-streams-from-structures.patch} (100%) rename patches/server/{0479-Remove-streams-from-classes-related-villager-gossip.patch => 0478-Remove-streams-from-classes-related-villager-gossip.patch} (100%) rename patches/server/{0480-Optimize-NibbleArray-to-use-pooled-buffers.patch => 0479-Optimize-NibbleArray-to-use-pooled-buffers.patch} (100%) rename patches/server/{0481-Support-components-in-ItemMeta.patch => 0480-Support-components-in-ItemMeta.patch} (100%) rename patches/server/{0482-Improve-EntityTargetLivingEntityEvent-for-1.16-mobs.patch => 0481-Improve-EntityTargetLivingEntityEvent-for-1.16-mobs.patch} (100%) rename patches/server/{0483-Add-entity-liquid-API.patch => 0482-Add-entity-liquid-API.patch} (100%) rename patches/server/{0484-Update-itemstack-legacy-name-and-lore.patch => 0483-Update-itemstack-legacy-name-and-lore.patch} (100%) rename patches/server/{0485-Spawn-player-in-correct-world-on-login.patch => 0484-Spawn-player-in-correct-world-on-login.patch} (94%) rename patches/server/{0486-Add-PrepareResultEvent.patch => 0485-Add-PrepareResultEvent.patch} (100%) rename patches/server/{0487-Allow-delegation-to-vanilla-chunk-gen.patch => 0486-Allow-delegation-to-vanilla-chunk-gen.patch} (100%) rename patches/server/{0488-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch => 0487-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch} (100%) rename patches/server/{0489-Optimize-NetworkManager-Exception-Handling.patch => 0488-Optimize-NetworkManager-Exception-Handling.patch} (100%) rename patches/server/{0490-Optimize-the-advancement-data-player-iteration-to-be.patch => 0489-Optimize-the-advancement-data-player-iteration-to-be.patch} (100%) rename patches/server/{0491-Fix-arrows-never-despawning-MC-125757.patch => 0490-Fix-arrows-never-despawning-MC-125757.patch} (100%) rename patches/server/{0492-Thread-Safe-Vanilla-Command-permission-checking.patch => 0491-Thread-Safe-Vanilla-Command-permission-checking.patch} (100%) rename patches/server/{0493-Move-range-check-for-block-placing-up.patch => 0492-Move-range-check-for-block-placing-up.patch} (94%) rename patches/server/{0494-Fix-SPIGOT-5989.patch => 0493-Fix-SPIGOT-5989.patch} (91%) rename patches/server/{0495-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch => 0494-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch} (100%) rename patches/server/{0496-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch => 0495-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch} (100%) rename patches/server/{0497-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch => 0496-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch} (100%) rename patches/server/{0498-Add-missing-strikeLighting-call-to-World-spigot-stri.patch => 0497-Add-missing-strikeLighting-call-to-World-spigot-stri.patch} (82%) rename patches/server/{0499-Fix-some-rails-connecting-improperly.patch => 0498-Fix-some-rails-connecting-improperly.patch} (100%) rename patches/server/{0500-Incremental-player-saving.patch => 0499-Incremental-player-saving.patch} (96%) rename patches/server/{0501-Fix-MC-187716-Use-configured-height.patch => 0500-Fix-MC-187716-Use-configured-height.patch} (100%) rename patches/server/{0502-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch => 0501-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch} (100%) rename patches/server/{0503-Do-not-let-the-server-load-chunks-from-newer-version.patch => 0502-Do-not-let-the-server-load-chunks-from-newer-version.patch} (100%) rename patches/server/{0504-Brand-support.patch => 0503-Brand-support.patch} (90%) rename patches/server/{0505-Add-setMaxPlayers-API.patch => 0504-Add-setMaxPlayers-API.patch} (94%) rename patches/server/{0506-Add-playPickupItemAnimation-to-LivingEntity.patch => 0505-Add-playPickupItemAnimation-to-LivingEntity.patch} (100%) rename patches/server/{0507-Don-t-require-FACING-data.patch => 0506-Don-t-require-FACING-data.patch} (100%) rename patches/server/{0508-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch => 0507-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch} (96%) rename patches/server/{0509-Add-moon-phase-API.patch => 0508-Add-moon-phase-API.patch} (89%) rename patches/server/{0510-Prevent-headless-pistons-from-being-created.patch => 0509-Prevent-headless-pistons-from-being-created.patch} (100%) rename patches/server/{0511-Add-BellRingEvent.patch => 0510-Add-BellRingEvent.patch} (100%) rename patches/server/{0512-Add-zombie-targets-turtle-egg-config.patch => 0511-Add-zombie-targets-turtle-egg-config.patch} (100%) rename patches/server/{0513-Buffer-joins-to-world.patch => 0512-Buffer-joins-to-world.patch} (100%) rename patches/server/{0514-Optimize-redstone-algorithm.patch => 0513-Optimize-redstone-algorithm.patch} (100%) rename patches/server/{0515-Fix-hex-colors-not-working-in-some-kick-messages.patch => 0514-Fix-hex-colors-not-working-in-some-kick-messages.patch} (100%) rename patches/server/{0516-PortalCreateEvent-needs-to-know-its-entity.patch => 0515-PortalCreateEvent-needs-to-know-its-entity.patch} (100%) rename patches/server/{0517-Fix-CraftTeam-null-check.patch => 0516-Fix-CraftTeam-null-check.patch} (100%) rename patches/server/{0518-Add-more-Evoker-API.patch => 0517-Add-more-Evoker-API.patch} (100%) rename patches/server/{0519-Add-a-way-to-get-translation-keys-for-blocks-entitie.patch => 0518-Add-a-way-to-get-translation-keys-for-blocks-entitie.patch} (100%) rename patches/server/{0520-Create-HoverEvent-from-ItemStack-Entity.patch => 0519-Create-HoverEvent-from-ItemStack-Entity.patch} (100%) rename patches/server/{0521-Cache-block-data-strings.patch => 0520-Cache-block-data-strings.patch} (100%) rename patches/server/{0522-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch => 0521-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch} (97%) rename patches/server/{0523-Add-additional-open-container-api-to-HumanEntity.patch => 0522-Add-additional-open-container-api-to-HumanEntity.patch} (100%) rename patches/server/{0524-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch => 0523-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch} (100%) rename patches/server/{0525-Extend-block-drop-capture-to-capture-all-items-added.patch => 0524-Extend-block-drop-capture-to-capture-all-items-added.patch} (100%) rename patches/server/{0526-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch => 0525-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch} (84%) rename patches/server/{0527-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch => 0526-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch} (100%) rename patches/server/{0528-Lazily-track-plugin-scoreboards-by-default.patch => 0527-Lazily-track-plugin-scoreboards-by-default.patch} (100%) rename patches/server/{0529-Entity-isTicking.patch => 0528-Entity-isTicking.patch} (100%) rename patches/server/{0530-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch => 0529-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch} (100%) rename patches/server/{0531-Fix-CME-on-adding-a-passenger-in-CreatureSpawnEvent.patch => 0530-Fix-CME-on-adding-a-passenger-in-CreatureSpawnEvent.patch} (100%) rename patches/server/{0532-Fix-Concurrency-issue-in-WeightedList.patch => 0531-Fix-Concurrency-issue-in-WeightedList.patch} (100%) rename patches/server/{0533-Reset-Ender-Crystals-on-Dragon-Spawn.patch => 0532-Reset-Ender-Crystals-on-Dragon-Spawn.patch} (100%) rename patches/server/{0534-Fix-for-large-move-vectors-crashing-server.patch => 0533-Fix-for-large-move-vectors-crashing-server.patch} (97%) rename patches/server/{0535-Optimise-getType-calls.patch => 0534-Optimise-getType-calls.patch} (100%) rename patches/server/{0536-Villager-resetOffers.patch => 0535-Villager-resetOffers.patch} (100%) rename patches/server/{0537-Improve-inlinig-for-some-hot-IBlockData-methods.patch => 0536-Improve-inlinig-for-some-hot-IBlockData-methods.patch} (100%) rename patches/server/{0538-Retain-block-place-order-when-capturing-blockstates.patch => 0537-Retain-block-place-order-when-capturing-blockstates.patch} (100%) rename patches/server/{0539-Reduce-blockpos-allocation-from-pathfinding.patch => 0538-Reduce-blockpos-allocation-from-pathfinding.patch} (100%) rename patches/server/{0540-Fix-item-locations-dropped-from-campfires.patch => 0539-Fix-item-locations-dropped-from-campfires.patch} (100%) rename patches/server/{0541-Player-elytra-boost-API.patch => 0540-Player-elytra-boost-API.patch} (94%) rename patches/server/{0542-Fixed-TileEntityBell-memory-leak.patch => 0541-Fixed-TileEntityBell-memory-leak.patch} (100%) rename patches/server/{0543-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch => 0542-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch} (100%) rename patches/server/{0544-Add-getOfflinePlayerIfCached-String.patch => 0543-Add-getOfflinePlayerIfCached-String.patch} (100%) rename patches/server/{0545-Add-ignore-discounts-API.patch => 0544-Add-ignore-discounts-API.patch} (100%) rename patches/server/{0546-Toggle-for-removing-existing-dragon.patch => 0545-Toggle-for-removing-existing-dragon.patch} (100%) rename patches/server/{0547-Fix-client-lag-on-advancement-loading.patch => 0546-Fix-client-lag-on-advancement-loading.patch} (100%) rename patches/server/{0548-Item-no-age-no-player-pickup.patch => 0547-Item-no-age-no-player-pickup.patch} (100%) rename patches/server/{0549-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch => 0548-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch} (100%) rename patches/server/{0550-Beacon-API-custom-effect-ranges.patch => 0549-Beacon-API-custom-effect-ranges.patch} (100%) rename patches/server/{0551-Add-API-for-quit-reason.patch => 0550-Add-API-for-quit-reason.patch} (93%) rename patches/server/{0552-Seed-based-feature-search.patch => 0551-Seed-based-feature-search.patch} (100%) rename patches/server/{0553-Add-Wandering-Trader-spawn-rate-config-options.patch => 0552-Add-Wandering-Trader-spawn-rate-config-options.patch} (100%) rename patches/server/{0554-Significantly-improve-performance-of-the-end-generat.patch => 0553-Significantly-improve-performance-of-the-end-generat.patch} (100%) rename patches/server/{0555-Expose-world-spawn-angle.patch => 0554-Expose-world-spawn-angle.patch} (88%) rename patches/server/{0556-Add-Destroy-Speed-API.patch => 0555-Add-Destroy-Speed-API.patch} (100%) rename patches/server/{0557-Fix-Player-spawnParticle-x-y-z-precision-loss.patch => 0556-Fix-Player-spawnParticle-x-y-z-precision-loss.patch} (89%) rename patches/server/{0558-Add-LivingEntity-clearActiveItem.patch => 0557-Add-LivingEntity-clearActiveItem.patch} (100%) rename patches/server/{0559-Add-PlayerItemCooldownEvent.patch => 0558-Add-PlayerItemCooldownEvent.patch} (100%) rename patches/server/{0560-More-lightning-API.patch => 0559-More-lightning-API.patch} (100%) rename patches/server/{0561-Climbing-should-not-bypass-cramming-gamerule.patch => 0560-Climbing-should-not-bypass-cramming-gamerule.patch} (100%) rename patches/server/{0562-Added-missing-default-perms-for-commands.patch => 0561-Added-missing-default-perms-for-commands.patch} (100%) rename patches/server/{0563-Add-PlayerShearBlockEvent.patch => 0562-Add-PlayerShearBlockEvent.patch} (100%) rename patches/server/{0564-Set-spigots-verbose-world-setting-to-false-by-def.patch => 0563-Set-spigots-verbose-world-setting-to-false-by-def.patch} (100%) rename patches/server/{0565-Fix-curing-zombie-villager-discount-exploit.patch => 0564-Fix-curing-zombie-villager-discount-exploit.patch} (100%) rename patches/server/{0566-Limit-recipe-packets.patch => 0565-Limit-recipe-packets.patch} (95%) rename patches/server/{0567-Fix-CraftSound-backwards-compatibility.patch => 0566-Fix-CraftSound-backwards-compatibility.patch} (100%) rename patches/server/{0568-MC-4-Fix-item-position-desync.patch => 0567-MC-4-Fix-item-position-desync.patch} (100%) rename patches/server/{0569-Player-Chunk-Load-Unload-Events.patch => 0568-Player-Chunk-Load-Unload-Events.patch} (90%) rename patches/server/{0570-Optimize-Dynamic-get-Missing-Keys.patch => 0569-Optimize-Dynamic-get-Missing-Keys.patch} (100%) rename patches/server/{0571-Expose-LivingEntity-hurt-direction.patch => 0570-Expose-LivingEntity-hurt-direction.patch} (100%) rename patches/server/{0572-Add-OBSTRUCTED-reason-to-BedEnterResult.patch => 0571-Add-OBSTRUCTED-reason-to-BedEnterResult.patch} (100%) rename patches/server/{0573-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch => 0572-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch} (100%) rename patches/server/{0574-added-PlayerTradeEvent.patch => 0573-added-PlayerTradeEvent.patch} (100%) rename patches/server/{0575-Implement-TargetHitEvent.patch => 0574-Implement-TargetHitEvent.patch} (100%) rename patches/server/{0576-Additional-Block-Material-API-s.patch => 0575-Additional-Block-Material-API-s.patch} (100%) rename patches/server/{0577-Fix-harming-potion-dupe.patch => 0576-Fix-harming-potion-dupe.patch} (100%) rename patches/server/{0578-Implement-API-to-get-Material-from-Boats-and-Minecar.patch => 0577-Implement-API-to-get-Material-from-Boats-and-Minecar.patch} (100%) rename patches/server/{0579-Cache-burn-durations.patch => 0578-Cache-burn-durations.patch} (100%) rename patches/server/{0580-Allow-disabling-mob-spawner-spawn-egg-transformation.patch => 0579-Allow-disabling-mob-spawner-spawn-egg-transformation.patch} (100%) rename patches/server/{0581-Fix-Not-a-string-Map-Conversion-spam.patch => 0580-Fix-Not-a-string-Map-Conversion-spam.patch} (100%) rename patches/server/{0582-Implement-PlayerFlowerPotManipulateEvent.patch => 0581-Implement-PlayerFlowerPotManipulateEvent.patch} (100%) rename patches/server/{0583-Fix-interact-event-not-being-called-in-adventure.patch => 0582-Fix-interact-event-not-being-called-in-adventure.patch} (90%) rename patches/server/{0584-Zombie-API-breaking-doors.patch => 0583-Zombie-API-breaking-doors.patch} (100%) rename patches/server/{0585-Fix-nerfed-slime-when-splitting.patch => 0584-Fix-nerfed-slime-when-splitting.patch} (100%) rename patches/server/{0586-Add-EntityLoadCrossbowEvent.patch => 0585-Add-EntityLoadCrossbowEvent.patch} (100%) rename patches/server/{0587-Guardian-beam-workaround.patch => 0586-Guardian-beam-workaround.patch} (100%) rename patches/server/{0588-Added-WorldGameRuleChangeEvent.patch => 0587-Added-WorldGameRuleChangeEvent.patch} (98%) rename patches/server/{0589-Added-ServerResourcesReloadedEvent.patch => 0588-Added-ServerResourcesReloadedEvent.patch} (100%) rename patches/server/{0590-Added-world-settings-for-mobs-picking-up-loot.patch => 0589-Added-world-settings-for-mobs-picking-up-loot.patch} (100%) rename patches/server/{0591-Implemented-BlockFailedDispenseEvent.patch => 0590-Implemented-BlockFailedDispenseEvent.patch} (100%) rename patches/server/{0592-Added-PlayerLecternPageChangeEvent.patch => 0591-Added-PlayerLecternPageChangeEvent.patch} (100%) rename patches/server/{0593-Added-PlayerLoomPatternSelectEvent.patch => 0592-Added-PlayerLoomPatternSelectEvent.patch} (100%) rename patches/server/{0594-Configurable-door-breaking-difficulty.patch => 0593-Configurable-door-breaking-difficulty.patch} (100%) rename patches/server/{0595-Empty-commands-shall-not-be-dispatched.patch => 0594-Empty-commands-shall-not-be-dispatched.patch} (100%) rename patches/server/{0596-Implement-API-to-expose-exact-interaction-point.patch => 0595-Implement-API-to-expose-exact-interaction-point.patch} (100%) rename patches/server/{0597-Remove-stale-POIs.patch => 0596-Remove-stale-POIs.patch} (100%) rename patches/server/{0598-Fix-villager-boat-exploit.patch => 0597-Fix-villager-boat-exploit.patch} (93%) rename patches/server/{0599-Add-sendOpLevel-API.patch => 0598-Add-sendOpLevel-API.patch} (91%) rename patches/server/{0600-Add-StructureLocateEvent.patch => 0599-Add-StructureLocateEvent.patch} (100%) rename patches/server/{0601-Collision-option-for-requiring-a-player-participant.patch => 0600-Collision-option-for-requiring-a-player-participant.patch} (100%) rename patches/server/{0602-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch => 0601-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch} (100%) rename patches/server/{0603-Return-chat-component-with-empty-text-instead-of-thr.patch => 0602-Return-chat-component-with-empty-text-instead-of-thr.patch} (100%) rename patches/server/{0604-Make-schedule-command-per-world.patch => 0603-Make-schedule-command-per-world.patch} (100%) rename patches/server/{0605-Configurable-max-leash-distance.patch => 0604-Configurable-max-leash-distance.patch} (100%) rename patches/server/{0606-Implement-BlockPreDispenseEvent.patch => 0605-Implement-BlockPreDispenseEvent.patch} (100%) rename patches/server/{0607-Added-Vanilla-Entity-Tags.patch => 0606-Added-Vanilla-Entity-Tags.patch} (100%) rename patches/server/{0608-added-Wither-API.patch => 0607-added-Wither-API.patch} (100%) rename patches/server/{0609-Added-firing-of-PlayerChangeBeaconEffectEvent.patch => 0608-Added-firing-of-PlayerChangeBeaconEffectEvent.patch} (100%) rename patches/server/{0610-Fix-console-spam-when-removing-chests-in-water.patch => 0609-Fix-console-spam-when-removing-chests-in-water.patch} (100%) rename patches/server/{0611-Add-toggle-for-always-placing-the-dragon-egg.patch => 0610-Add-toggle-for-always-placing-the-dragon-egg.patch} (100%) rename patches/server/{0612-Added-PlayerStonecutterRecipeSelectEvent.patch => 0611-Added-PlayerStonecutterRecipeSelectEvent.patch} (100%) rename patches/server/{0613-Add-dropLeash-variable-to-EntityUnleashEvent.patch => 0612-Add-dropLeash-variable-to-EntityUnleashEvent.patch} (100%) rename patches/server/{0614-Skip-distance-map-update-when-spawning-disabled.patch => 0613-Skip-distance-map-update-when-spawning-disabled.patch} (87%) rename patches/server/{0615-Reset-shield-blocking-on-dimension-change.patch => 0614-Reset-shield-blocking-on-dimension-change.patch} (83%) rename patches/server/{0616-add-DragonEggFormEvent.patch => 0615-add-DragonEggFormEvent.patch} (100%) rename patches/server/{0617-EntityMoveEvent.patch => 0616-EntityMoveEvent.patch} (100%) rename patches/server/{0618-added-option-to-disable-pathfinding-updates-on-block.patch => 0617-added-option-to-disable-pathfinding-updates-on-block.patch} (100%) rename patches/server/{0619-Inline-shift-direction-fields.patch => 0618-Inline-shift-direction-fields.patch} (100%) rename patches/server/{0620-Allow-adding-items-to-BlockDropItemEvent.patch => 0619-Allow-adding-items-to-BlockDropItemEvent.patch} (100%) rename patches/server/{0621-Add-getMainThreadExecutor-to-BukkitScheduler.patch => 0620-Add-getMainThreadExecutor-to-BukkitScheduler.patch} (100%) rename patches/server/{0622-living-entity-allow-attribute-registration.patch => 0621-living-entity-allow-attribute-registration.patch} (100%) rename patches/server/{0623-fix-dead-slime-setSize-invincibility.patch => 0622-fix-dead-slime-setSize-invincibility.patch} (100%) rename patches/server/{0624-Merchant-getRecipes-should-return-an-immutable-list.patch => 0623-Merchant-getRecipes-should-return-an-immutable-list.patch} (100%) rename patches/server/{0625-misc-debugging-dumps.patch => 0624-misc-debugging-dumps.patch} (100%) rename patches/server/{0626-Add-support-for-hex-color-codes-in-console.patch => 0625-Add-support-for-hex-color-codes-in-console.patch} (100%) rename patches/server/{0627-Expose-Tracked-Players.patch => 0626-Expose-Tracked-Players.patch} (87%) rename patches/server/{0628-Remove-streams-from-SensorNearest.patch => 0627-Remove-streams-from-SensorNearest.patch} (100%) rename patches/server/{0629-MC-29274-Fix-Wither-hostility-towards-players.patch => 0628-MC-29274-Fix-Wither-hostility-towards-players.patch} (100%) rename patches/server/{0630-Throw-proper-exception-on-empty-JsonList-file.patch => 0629-Throw-proper-exception-on-empty-JsonList-file.patch} (100%) rename patches/server/{0631-Improve-ServerGUI.patch => 0630-Improve-ServerGUI.patch} (100%) rename patches/server/{0632-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch => 0631-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch} (100%) rename patches/server/{0633-fix-converting-txt-to-json-file.patch => 0632-fix-converting-txt-to-json-file.patch} (97%) rename patches/server/{0634-Add-worldborder-events.patch => 0633-Add-worldborder-events.patch} (100%) rename patches/server/{0635-added-PlayerNameEntityEvent.patch => 0634-added-PlayerNameEntityEvent.patch} (100%) rename patches/server/{0636-Prevent-grindstones-from-overstacking-items.patch => 0635-Prevent-grindstones-from-overstacking-items.patch} (100%) rename patches/server/{0637-Add-recipe-to-cook-events.patch => 0636-Add-recipe-to-cook-events.patch} (100%) rename patches/server/{0638-Add-Block-isValidTool.patch => 0637-Add-Block-isValidTool.patch} (100%) rename patches/server/{0639-Allow-using-signs-inside-spawn-protection.patch => 0638-Allow-using-signs-inside-spawn-protection.patch} (94%) rename patches/server/{0640-Implement-Keyed-on-World.patch => 0639-Implement-Keyed-on-World.patch} (94%) rename patches/server/{0641-Add-fast-alternative-constructor-for-Rotations.patch => 0640-Add-fast-alternative-constructor-for-Rotations.patch} (100%) rename patches/server/{0642-Item-Rarity-API.patch => 0641-Item-Rarity-API.patch} (100%) rename patches/server/{0643-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch => 0642-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch} (100%) rename patches/server/{0644-copy-TESign-isEditable-from-snapshots.patch => 0643-copy-TESign-isEditable-from-snapshots.patch} (100%) rename patches/server/{0645-Drop-carried-item-when-player-has-disconnected.patch => 0644-Drop-carried-item-when-player-has-disconnected.patch} (92%) rename patches/server/{0646-forced-whitelist-use-configurable-kick-message.patch => 0645-forced-whitelist-use-configurable-kick-message.patch} (100%) rename patches/server/{0647-Don-t-ignore-result-of-PlayerEditBookEvent.patch => 0646-Don-t-ignore-result-of-PlayerEditBookEvent.patch} (91%) rename patches/server/{0648-fix-cancelling-block-falling-causing-client-desync.patch => 0647-fix-cancelling-block-falling-causing-client-desync.patch} (100%) rename patches/server/{0649-Expose-protocol-version.patch => 0648-Expose-protocol-version.patch} (100%) rename patches/server/{0650-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch => 0649-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch} (98%) rename patches/server/{0651-Enhance-console-tab-completions-for-brigadier-comman.patch => 0650-Enhance-console-tab-completions-for-brigadier-comman.patch} (100%) rename patches/server/{0652-Fix-PlayerItemConsumeEvent-cancelling-properly.patch => 0651-Fix-PlayerItemConsumeEvent-cancelling-properly.patch} (100%) rename patches/server/{0653-Add-bypass-host-check.patch => 0652-Add-bypass-host-check.patch} (100%) rename patches/server/{0654-Set-area-affect-cloud-rotation.patch => 0653-Set-area-affect-cloud-rotation.patch} (92%) rename patches/server/{0655-add-isDeeplySleeping-to-HumanEntity.patch => 0654-add-isDeeplySleeping-to-HumanEntity.patch} (100%) rename patches/server/{0656-Fix-duplicating-give-items-on-item-drop-cancel.patch => 0655-Fix-duplicating-give-items-on-item-drop-cancel.patch} (100%) rename patches/server/{0657-add-consumeFuel-to-FurnaceBurnEvent.patch => 0656-add-consumeFuel-to-FurnaceBurnEvent.patch} (100%) rename patches/server/{0658-add-get-set-drop-chance-to-EntityEquipment.patch => 0657-add-get-set-drop-chance-to-EntityEquipment.patch} (100%) rename patches/server/{0659-fix-PigZombieAngerEvent-cancellation.patch => 0658-fix-PigZombieAngerEvent-cancellation.patch} (100%) rename patches/server/{0660-Fix-checkReach-check-for-Shulker-boxes.patch => 0659-Fix-checkReach-check-for-Shulker-boxes.patch} (100%) rename patches/server/{0661-fix-PlayerItemHeldEvent-firing-twice.patch => 0660-fix-PlayerItemHeldEvent-firing-twice.patch} (88%) rename patches/server/{0662-Added-PlayerDeepSleepEvent.patch => 0661-Added-PlayerDeepSleepEvent.patch} (100%) rename patches/server/{0663-More-World-API.patch => 0662-More-World-API.patch} (96%) rename patches/server/{0664-Added-PlayerBedFailEnterEvent.patch => 0663-Added-PlayerBedFailEnterEvent.patch} (100%) rename patches/server/{0665-Implement-methods-to-convert-between-Component-and-B.patch => 0664-Implement-methods-to-convert-between-Component-and-B.patch} (100%) rename patches/server/{0666-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch => 0665-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch} (87%) rename patches/server/{0667-Introduce-beacon-activation-deactivation-events.patch => 0666-Introduce-beacon-activation-deactivation-events.patch} (100%) rename patches/server/{0668-add-RespawnFlags-to-PlayerRespawnEvent.patch => 0667-add-RespawnFlags-to-PlayerRespawnEvent.patch} (89%) rename patches/server/{0669-Add-Channel-initialization-listeners.patch => 0668-Add-Channel-initialization-listeners.patch} (100%) rename patches/server/{0670-Send-empty-commands-if-tab-completion-is-disabled.patch => 0669-Send-empty-commands-if-tab-completion-is-disabled.patch} (100%) rename patches/server/{0671-Add-more-WanderingTrader-API.patch => 0670-Add-more-WanderingTrader-API.patch} (100%) rename patches/server/{0672-Add-EntityBlockStorage-clearEntities.patch => 0671-Add-EntityBlockStorage-clearEntities.patch} (100%) rename patches/server/{0673-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch => 0672-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch} (100%) rename patches/server/{0674-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch => 0673-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch} (100%) rename patches/server/{0675-Inventory-close.patch => 0674-Inventory-close.patch} (100%) rename patches/server/{0676-call-PortalCreateEvent-players-and-end-platform.patch => 0675-call-PortalCreateEvent-players-and-end-platform.patch} (94%) rename patches/server/{0677-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch => 0676-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch} (100%) rename patches/server/{0678-Fix-CraftPotionBrewer-cache.patch => 0677-Fix-CraftPotionBrewer-cache.patch} (100%) rename patches/server/{0679-Add-basic-Datapack-API.patch => 0678-Add-basic-Datapack-API.patch} (100%) rename patches/server/{0680-Add-environment-variable-to-disable-server-gui.patch => 0679-Add-environment-variable-to-disable-server-gui.patch} (100%) rename patches/server/{0681-additions-to-PlayerGameModeChangeEvent.patch => 0680-additions-to-PlayerGameModeChangeEvent.patch} (93%) rename patches/server/{0682-Clear-SyncLoadInfo.patch => 0681-Clear-SyncLoadInfo.patch} (100%) rename patches/server/{0683-ItemStack-repair-check-API.patch => 0682-ItemStack-repair-check-API.patch} (100%) rename patches/server/{0684-More-Enchantment-API.patch => 0683-More-Enchantment-API.patch} (100%) rename patches/server/{0685-Add-command-line-option-to-load-extra-plugin-jars-no.patch => 0684-Add-command-line-option-to-load-extra-plugin-jars-no.patch} (100%) rename patches/server/{0686-Fix-and-optimise-world-force-upgrading.patch => 0685-Fix-and-optimise-world-force-upgrading.patch} (100%) rename patches/server/{0687-Add-Mob-lookAt-API.patch => 0686-Add-Mob-lookAt-API.patch} (100%) rename patches/server/{0688-Add-Unix-domain-socket-support.patch => 0687-Add-Unix-domain-socket-support.patch} (100%) rename patches/server/{0689-Add-EntityInsideBlockEvent.patch => 0688-Add-EntityInsideBlockEvent.patch} (100%) rename patches/server/{0690-Attributes-API-for-item-defaults.patch => 0689-Attributes-API-for-item-defaults.patch} (100%) rename patches/server/{0691-Have-CraftMerchantCustom-emit-PlayerPurchaseEvent.patch => 0690-Have-CraftMerchantCustom-emit-PlayerPurchaseEvent.patch} (100%) rename patches/server/{0692-Add-cause-to-Weather-ThunderChangeEvents.patch => 0691-Add-cause-to-Weather-ThunderChangeEvents.patch} (98%) rename patches/server/{0693-More-Lidded-Block-API.patch => 0692-More-Lidded-Block-API.patch} (100%) rename patches/server/{0694-Limit-item-frame-cursors-on-maps.patch => 0693-Limit-item-frame-cursors-on-maps.patch} (100%) rename patches/server/{0695-Add-PufferFishStateChangeEvent.patch => 0694-Add-PufferFishStateChangeEvent.patch} (100%) rename patches/server/{0696-Add-PlayerKickEvent-causes.patch => 0695-Add-PlayerKickEvent-causes.patch} (95%) rename patches/server/{0697-Fix-PlayerBucketEmptyEvent-result-itemstack.patch => 0696-Fix-PlayerBucketEmptyEvent-result-itemstack.patch} (100%) rename patches/server/{0698-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch => 0697-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch} (100%) rename patches/server/{0699-Add-option-to-fix-items-merging-through-walls.patch => 0698-Add-option-to-fix-items-merging-through-walls.patch} (100%) rename patches/server/{0700-Add-BellRevealRaiderEvent.patch => 0699-Add-BellRevealRaiderEvent.patch} (100%) rename patches/server/{0701-Fix-invulnerable-end-crystals.patch => 0700-Fix-invulnerable-end-crystals.patch} (100%) rename patches/server/{0702-Add-ElderGuardianAppearanceEvent.patch => 0701-Add-ElderGuardianAppearanceEvent.patch} (100%) rename patches/server/{0703-Reset-villager-inventory-on-cancelled-pickup-event.patch => 0702-Reset-villager-inventory-on-cancelled-pickup-event.patch} (100%) rename patches/server/{0704-Fix-dangerous-end-portal-logic.patch => 0703-Fix-dangerous-end-portal-logic.patch} (100%) rename patches/server/{0705-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch => 0704-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch} (100%) rename patches/server/{0706-Make-item-validations-configurable.patch => 0705-Make-item-validations-configurable.patch} (100%) rename patches/server/{0707-Add-more-line-of-sight-methods.patch => 0706-Add-more-line-of-sight-methods.patch} (97%) rename patches/server/{0708-add-per-world-spawn-limits.patch => 0707-add-per-world-spawn-limits.patch} (96%) rename patches/server/{0709-Fix-PotionSplashEvent-for-water-splash-potions.patch => 0708-Fix-PotionSplashEvent-for-water-splash-potions.patch} (100%) rename patches/server/{0710-Fix-incorrect-status-dataconverter-for-pre-1.13-chun.patch => 0709-Fix-incorrect-status-dataconverter-for-pre-1.13-chun.patch} (100%) diff --git a/patches/server/0477-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch b/patches/removed/1.17/0486-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch similarity index 70% rename from patches/server/0477-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch rename to patches/removed/1.17/0486-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch index 02b6c277e..2ebcfe75f 100644 --- a/patches/server/0477-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch +++ b/patches/removed/1.17/0486-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch @@ -25,7 +25,7 @@ fast traveling players keep up with their movement. 1.17 update note: very big diff skipping for now, still needs to be updated diff --git a/src/main/java/com/destroystokyo/paper/io/chunk/ChunkTaskManager.java b/src/main/java/com/destroystokyo/paper/io/chunk/ChunkTaskManager.java -index 18ae2e2b339d357fbe0f6f2b18bc14c0dfe4c222..782301661f739192798ca6ef501b184bea990c5a 100644 +index 499aff1f1e1ffc01ba8f9de43ca17899525a306f..97b85587525ddb62af9bfc8785b48727a6135599 100644 --- a/src/main/java/com/destroystokyo/paper/io/chunk/ChunkTaskManager.java +++ b/src/main/java/com/destroystokyo/paper/io/chunk/ChunkTaskManager.java @@ -108,7 +108,7 @@ public final class ChunkTaskManager { @@ -41,7 +41,7 @@ index 18ae2e2b339d357fbe0f6f2b18bc14c0dfe4c222..782301661f739192798ca6ef501b184b PaperFileIOThread.LOGGER.log(Level.ERROR, indentStr + "Chunk Status - " + ((chunk == null) ? "null chunk" : chunk.getStatus().toString())); PaperFileIOThread.LOGGER.log(Level.ERROR, indentStr + "Chunk Ticket Status - " + ChunkHolder.getStatus(chunkHolder.getTicketLevel())); PaperFileIOThread.LOGGER.log(Level.ERROR, indentStr + "Chunk Holder Status - " + ((holderStatus == null) ? "null" : holderStatus.toString())); -+ PaperFileIOThread.LOGGER.log(Level.ERROR, indentStr + "Chunk Holder Priority - " + chunkHolder.getQueueLevel()); ++ PaperFileIOThread.LOGGER.log(Level.ERROR, indentStr + "Chunk Holder Priority - " + chunkHolder.getCurrentPriority()); + + if (!chunkHolder.neighbors.isEmpty()) { + if (indent >= maxDepth) { @@ -51,7 +51,7 @@ index 18ae2e2b339d357fbe0f6f2b18bc14c0dfe4c222..782301661f739192798ca6ef501b184b + PaperFileIOThread.LOGGER.log(Level.ERROR, indentStr + "Chunk Neighbors: "); + for (ChunkHolder neighbor : chunkHolder.neighbors.keySet()) { + ChunkStatus status = neighbor.getChunkHolderStatus(); -+ if (status != null && status.isOrAfter(ChunkHolder.getStatus(neighbor.getTicketLevel()))) { ++ if (status != null && status.isAtLeastStatus(ChunkHolder.getStatus(neighbor.getTicketLevel()))) { + continue; + } + int nx = neighbor.pos.x; @@ -68,43 +68,92 @@ index 18ae2e2b339d357fbe0f6f2b18bc14c0dfe4c222..782301661f739192798ca6ef501b184b } } +diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java +index d18497a33dc53f6b465e659967bf8c98731c46c0..9a5737caf250dd2cc7f244248226f69117b27bad 100644 +--- a/src/main/java/net/minecraft/server/MCUtil.java ++++ b/src/main/java/net/minecraft/server/MCUtil.java +@@ -631,10 +631,10 @@ public final class MCUtil { + + // sorting by coordinate makes the log easier to read + allChunks.sort((ChunkHolder v1, ChunkHolder v2) -> { +- if (v1.location.x != v2.location.x) { +- return Integer.compare(v1.location.x, v2.location.x); ++ if (v1.pos.x != v2.pos.x) { ++ return Integer.compare(v1.pos.x, v2.pos.x); + } +- return Integer.compare(v1.location.z, v2.location.z); ++ return Integer.compare(v1.pos.z, v2.pos.z); + }); + + worldData.addProperty("name", world.getWorld().getName()); +@@ -667,14 +667,15 @@ public final class MCUtil { + for (ChunkHolder playerChunk : allChunks) { + JsonObject chunkData = new JsonObject(); + +- Set> tickets = chunkMapDistance.tickets.get(playerChunk.pos.pair()); ++ Set> tickets = chunkMapDistance.tickets.get(playerChunk.pos.toLong()); + ChunkStatus status = getChunkStatus(playerChunk); + +- chunkData.addProperty("x", playerChunk.location.x); +- chunkData.addProperty("z", playerChunk.location.z); ++ chunkData.addProperty("x", playerChunk.pos.x); ++ chunkData.addProperty("z", playerChunk.pos.z); + chunkData.addProperty("ticket-level", playerChunk.getTicketLevel()); ++ chunkData.addProperty("priority", playerChunk.getCurrentPriority()); + chunkData.addProperty("state", ChunkHolder.getFullChunkStatus(playerChunk.getTicketLevel()).toString()); +- chunkData.addProperty("queued-for-unload", chunkMap.toDrop.contains(playerChunk.pos.pair())); ++ chunkData.addProperty("queued-for-unload", chunkMap.toDrop.contains(playerChunk.pos.toLong())); + chunkData.addProperty("status", status == null ? "unloaded" : status.toString()); + + JsonArray ticketsData = new JsonArray(); diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java -index c1db5cc45dbc7dd24a1ef4dbf88a8efb6c7f2d57..7a87258d1725348fe0c343540f6423885a97a560 100644 +index d907872d80f840b343419f49a6708082da6f921b..ce320672d7602c94dd75ad857435dca6ac3bab56 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java -@@ -1,5 +1,6 @@ +@@ -1,6 +1,7 @@ package net.minecraft.server.level; -+import com.destroystokyo.paper.io.PrioritizedTaskQueue; import com.mojang.datafixers.util.Either; ++import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; // Paper import it.unimi.dsi.fastutil.shorts.ShortArraySet; import it.unimi.dsi.fastutil.shorts.ShortSet; -@@ -60,7 +61,7 @@ public class ChunkHolder { - private final DebugBuffer chunkToSaveHistory; + import java.util.List; +@@ -19,6 +20,7 @@ import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; + import net.minecraft.network.protocol.game.ClientboundBlockUpdatePacket; + import net.minecraft.network.protocol.game.ClientboundLightUpdatePacket; + import net.minecraft.network.protocol.game.ClientboundSectionBlocksUpdatePacket; ++import net.minecraft.server.MCUtil; + import net.minecraft.world.level.ChunkPos; + import net.minecraft.world.level.Level; + import net.minecraft.world.level.LightLayer; +@@ -52,8 +54,8 @@ public class ChunkHolder { + private CompletableFuture chunkToSave; public int oldTicketLevel; private int ticketLevel; - private int queueLevel; -+ volatile int queueLevel; // Paper - make volatile since this is concurrently accessed - public final ChunkPos pos; // Paper - package->public +- final ChunkPos pos; // Paper - private -> package ++ volatile int queueLevel; public final int getCurrentPriority() { return queueLevel; } // Paper - OBFHELPER - make volatile since this is concurrently accessed ++ public final ChunkPos pos; // Paper - private -> public private boolean hasChangedSections; private final ShortSet[] changedBlocksPerSection; -@@ -75,6 +76,7 @@ public class ChunkHolder { + private int blockChangedLightSectionFilter; +@@ -65,6 +67,7 @@ public class ChunkHolder { + private boolean resendLight; - boolean isUpdateQueued = false; // Paper private final ChunkMap chunkMap; // Paper + public ServerLevel getWorld() { return chunkMap.level; } // Paper - // Paper start - no-tick view distance - public final LevelChunk getSendingChunk() { - // it's important that we use getChunkAtIfLoadedImmediately to mirror the chunk sending logic used -@@ -113,7 +115,120 @@ public class ChunkHolder { - // Paper end - optimise isOutsideOfRange + long lastAutoSaveTime; // Paper - incremental autosave long inactiveTimeStart; // Paper - incremental autosave +@@ -92,6 +95,120 @@ public class ChunkHolder { + return null; + } + // Paper end - no-tick view distance + // Paper start - Chunk gen/load priority system + volatile int neighborPriority = -1; + volatile int priorityBoost = 0; + public final java.util.concurrent.ConcurrentHashMap neighbors = new java.util.concurrent.ConcurrentHashMap<>(); -+ public final it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap neighborPriorities = new it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap<>(); ++ public final Long2ObjectOpenHashMap neighborPriorities = new Long2ObjectOpenHashMap<>(); + + private int getDemandedPriority() { + int priority = neighborPriority; // if we have a neighbor priority, use it @@ -131,7 +180,7 @@ index c1db5cc45dbc7dd24a1ef4dbf88a8efb6c7f2d57..7a87258d1725348fe0c343540f642388 + public void onNeighborRequest(ChunkHolder neighbor, ChunkStatus status) { + neighbor.setNeighborPriority(this, getNeighborsPriority()); + this.neighbors.compute(neighbor, (playerChunk, currentWantedStatus) -> { -+ if (currentWantedStatus == null || !currentWantedStatus.isOrAfter(status)) { ++ if (currentWantedStatus == null || !currentWantedStatus.isAtLeastStatus(status)) { + //System.out.println(this + " request " + neighbor + " at " + status + " currently " + currentWantedStatus); + return status; + } else { @@ -144,7 +193,7 @@ index c1db5cc45dbc7dd24a1ef4dbf88a8efb6c7f2d57..7a87258d1725348fe0c343540f642388 + + public void onNeighborDone(ChunkHolder neighbor, ChunkStatus chunkstatus, ChunkAccess chunk) { + this.neighbors.compute(neighbor, (playerChunk, wantedStatus) -> { -+ if (wantedStatus != null && chunkstatus.isOrAfter(wantedStatus)) { ++ if (wantedStatus != null && chunkstatus.isAtLeastStatus(wantedStatus)) { + //System.out.println(this + " neighbor done at " + neighbor + " for status " + chunkstatus + " wanted " + wantedStatus); + neighbor.removeNeighborPriority(this); + return null; @@ -171,7 +220,7 @@ index c1db5cc45dbc7dd24a1ef4dbf88a8efb6c7f2d57..7a87258d1725348fe0c343540f642388 + } + checkPriority(); + } - ++ + private void recalcNeighborPriority() { + neighborPriority = -1; + if (!neighborPriorities.isEmpty()) { @@ -185,15 +234,15 @@ index c1db5cc45dbc7dd24a1ef4dbf88a8efb6c7f2d57..7a87258d1725348fe0c343540f642388 + } + } + private void checkPriority() { -+ if (getQueueLevel() != getDemandedPriority()) this.chunkMap.queueHolderUpdate(this); ++ if (getCurrentPriority() != getDemandedPriority()) this.chunkMap.queueHolderUpdate(this); + } + + public final double getDistance(ServerPlayer player) { + return getDistance(player.getX(), player.getZ()); + } + public final double getDistance(double blockX, double blockZ) { -+ int cx = net.minecraft.server.MCUtil.fastFloor(blockX) >> 4; -+ int cz = net.minecraft.server.MCUtil.fastFloor(blockZ) >> 4; ++ int cx = MCUtil.fastFloor(blockX) >> 4; ++ int cz = MCUtil.fastFloor(blockZ) >> 4; + final double x = pos.x - cx; + final double z = pos.z - cz; + return (x * x) + (z * z); @@ -210,34 +259,41 @@ index c1db5cc45dbc7dd24a1ef4dbf88a8efb6c7f2d57..7a87258d1725348fe0c343540f642388 + ", ticketLevel=" + ticketLevel + "/" + getStatus(this.ticketLevel) + + ", chunkHolderStatus=" + getChunkHolderStatus() + + ", neighborPriority=" + getNeighborsPriority() + -+ ", priority=(" + ticketLevel + " - " + priorityBoost +" vs N " + neighborPriority + ") = " + getDemandedPriority() + " A " + getQueueLevel() + ++ ", priority=(" + ticketLevel + " - " + priorityBoost +" vs N " + neighborPriority + ") = " + getDemandedPriority() + " A " + getCurrentPriority() + + '}'; + } + // Paper end - public ChunkHolder(ChunkPos pos, int level, LevelHeightAccessor world, LevelLightEngine lightingProvider, ChunkHolder.LevelChangeListener levelUpdateListener, ChunkHolder.PlayerProvider playersWatchingChunkProvider) { + + public ChunkHolder(ChunkPos pos, int level, LevelLightEngine lightingProvider, ChunkHolder.LevelChangeListener levelUpdateListener, ChunkHolder.PlayerProvider playersWatchingChunkProvider) { this.futures = new AtomicReferenceArray(ChunkHolder.CHUNK_STATUSES.size()); - this.fullChunkFuture = ChunkHolder.UNLOADED_LEVEL_CHUNK_FUTURE; -@@ -164,7 +279,18 @@ public class ChunkHolder { +@@ -194,6 +311,18 @@ public class ChunkHolder { + } return null; } - // CraftBukkit end -- + public static ChunkStatus getNextStatus(ChunkStatus status) { + if (status == ChunkStatus.FULL) { -+ return status; -+ } -+ return CHUNK_STATUSES.get(status.getIndex() + 1); ++ return status; ++ } ++ return CHUNK_STATUSES.get(status.getStatusIndex() + 1); + } + public CompletableFuture> getStatusFutureUncheckedMain(ChunkStatus chunkstatus) { -+ return ensureMain(getFutureIfPresentUnchecked(chunkstatus)); -+ } ++ return ensureMain(getFutureIfPresentUnchecked(chunkstatus)); ++ } + public CompletableFuture ensureMain(CompletableFuture future) { + return future.thenApplyAsync(r -> r, chunkMap.mainInvokingExecutor); + } - public CompletableFuture> getFutureIfPresentUnchecked(ChunkStatus leastStatus) { - CompletableFuture> completablefuture = (CompletableFuture) this.futures.get(leastStatus.getIndex()); + // Paper end -@@ -488,7 +614,7 @@ public class ChunkHolder { + public CompletableFuture> getFutureIfPresentUnchecked(ChunkStatus leastStatus) { +@@ -440,6 +569,7 @@ public class ChunkHolder { + return this.queueLevel; + } + ++ private void setPriority(int i) { setQueueLevel(i); } // Paper - OBFHELPER + private void setQueueLevel(int level) { + this.queueLevel = level; + } +@@ -458,7 +588,7 @@ public class ChunkHolder { // CraftBukkit start // ChunkUnloadEvent: Called before the chunk is unloaded: isChunkLoaded is still true and chunk can still be modified by plugins. if (playerchunk_state.isOrAfter(ChunkHolder.FullChunkStatus.BORDER) && !playerchunk_state1.isOrAfter(ChunkHolder.FullChunkStatus.BORDER)) { @@ -246,65 +302,58 @@ index c1db5cc45dbc7dd24a1ef4dbf88a8efb6c7f2d57..7a87258d1725348fe0c343540f642388 LevelChunk chunk = (LevelChunk)either.left().orElse(null); if (chunk != null) { chunkStorage.callbackExecutor.execute(() -> { -@@ -553,13 +679,14 @@ public class ChunkHolder { - this.fullChunkFuture = chunkStorage.prepareAccessibleChunk(this); - this.scheduleFullChunkPromotion(chunkStorage, this.fullChunkFuture, executor, ChunkHolder.FullChunkStatus.BORDER); +@@ -523,12 +653,13 @@ public class ChunkHolder { + if (!flag2 && flag3) { // Paper start - cache ticking ready status -- this.fullChunkFuture.thenAccept(either -> { -+ ensureMain(this.fullChunkFuture).thenAccept(either -> { // Paper ensureMain - final Optional left = either.left(); - if (left.isPresent() && ChunkHolder.this.fullChunkCreateCount == expectCreateCount) { + int expectCreateCount = ++this.fullChunkCreateCount; +- this.fullChunkFuture = chunkStorage.unpackTicks(this); this.fullChunkFuture.thenAccept((either) -> { ++ this.fullChunkFuture = chunkStorage.unpackTicks(this); ensureMain(this.fullChunkFuture).thenAccept((either) -> { // Paper - ensure main + if (either.left().isPresent() && ChunkHolder.this.fullChunkCreateCount == expectCreateCount) { // note: Here is a very good place to add callbacks to logic waiting on this. LevelChunk fullChunk = either.left().get(); ChunkHolder.this.isFullChunkReady = true; fullChunk.playerChunk = ChunkHolder.this; -+ this.chunkMap.getDistanceManager().clearPriorityTickets(pos); ++ this.chunkMap.distanceManager.clearPriorityTickets(pos); + + } - }); - this.updateChunkToSave(this.fullChunkFuture, "full"); -@@ -583,11 +710,12 @@ public class ChunkHolder { - this.tickingChunkFuture = chunkStorage.prepareTickingChunk(this); - this.scheduleFullChunkPromotion(chunkStorage, this.tickingChunkFuture, executor, ChunkHolder.FullChunkStatus.TICKING); +@@ -553,7 +684,7 @@ public class ChunkHolder { + + if (!flag4 && flag5) { // Paper start - cache ticking ready status -- this.tickingChunkFuture.thenAccept(either -> { -+ ensureMain(this.tickingChunkFuture).thenAccept(either -> {// Paper - ensureMain - either.ifLeft(chunk -> { +- this.tickingChunkFuture = chunkStorage.postProcess(this); this.tickingChunkFuture.thenAccept((either) -> { ++ this.tickingChunkFuture = chunkStorage.postProcess(this); ensureMain(this.tickingChunkFuture).thenAccept((either) -> { // Paper - ensure main + if (either.left().isPresent()) { // note: Here is a very good place to add callbacks to logic waiting on this. -- ChunkHolder.this.isTickingReady = true; -- -+ LevelChunk fullChunk = either.left().get(); -+ ChunkHolder.this.isFullChunkReady = true; -+ fullChunk.playerChunk = ChunkHolder.this; - // Paper start - rewrite ticklistserver - ChunkHolder.this.chunkMap.level.onChunkSetTicking(ChunkHolder.this.pos.x, ChunkHolder.this.pos.z); - // Paper end - rewrite ticklistserver -@@ -613,7 +741,7 @@ public class ChunkHolder { - this.entityTickingChunkFuture = chunkStorage.prepareEntityTickingChunk(this.pos); - this.scheduleFullChunkPromotion(chunkStorage, this.entityTickingChunkFuture, executor, ChunkHolder.FullChunkStatus.ENTITY_TICKING); + LevelChunk tickingChunk = either.left().get(); +@@ -584,7 +715,7 @@ public class ChunkHolder { + } + // Paper start - cache ticking ready status -- this.entityTickingChunkFuture.thenAccept(either -> { -+ ensureMain(this.entityTickingChunkFuture).thenAccept(either -> {// Paper - ensureMain - either.ifLeft(chunk -> { - ChunkHolder.this.isEntityTickingReady = true; - }); -@@ -632,11 +760,29 @@ public class ChunkHolder { +- this.entityTickingChunkFuture = chunkStorage.getEntityTickingRangeFuture(this.pos); this.entityTickingChunkFuture.thenAccept((either) -> { ++ this.entityTickingChunkFuture = chunkStorage.getEntityTickingRangeFuture(this.pos); ensureMain(this.entityTickingChunkFuture).thenAccept((either) -> { // Paper ensureMain + if (either.left().isPresent()) { + // note: Here is a very good place to add callbacks to logic waiting on this. + LevelChunk entityTickingChunk = either.left().get(); +@@ -604,12 +735,29 @@ public class ChunkHolder { + this.entityTickingChunkFuture = ChunkHolder.UNLOADED_LEVEL_CHUNK_FUTURE; } - this.onLevelChange.onLevelChange(this.pos, this::getQueueLevel, this.ticketLevel, this::setQueueLevel); +- this.onLevelChange.onLevelChange(this.pos, this::getQueueLevel, this.ticketLevel, this::setQueueLevel); + // Paper start - raise IO/load priority if priority changes, use our preferred priority -+ priorityBoost = this.chunkMap.getDistanceManager().getChunkPriority(pos); ++ priorityBoost = chunkMap.distanceManager.getChunkPriority(pos); + int priority = getDemandedPriority(); -+ if (getQueueLevel() > priority) { -+ int ioPriority = PrioritizedTaskQueue.NORMAL_PRIORITY; ++ if (getCurrentPriority() > priority) { ++ int ioPriority = com.destroystokyo.paper.io.PrioritizedTaskQueue.NORMAL_PRIORITY; + if (priority <= 10) { -+ ioPriority = PrioritizedTaskQueue.HIGHEST_PRIORITY; ++ ioPriority = com.destroystokyo.paper.io.PrioritizedTaskQueue.HIGHEST_PRIORITY; + } else if (priority <= 20) { -+ ioPriority = PrioritizedTaskQueue.HIGH_PRIORITY; ++ ioPriority = com.destroystokyo.paper.io.PrioritizedTaskQueue.HIGH_PRIORITY; + } + chunkMap.level.asyncChunkTaskManager.raisePriority(pos.x, pos.z, ioPriority); + } -+ if (getQueueLevel() != priority) { -+ this.onLevelChange.onLevelChange(this.pos, this::getQueueLevel, priority, this::setQueueLevel); // use preferred priority ++ if (getCurrentPriority() != priority) { ++ this.onLevelChange.onLevelChange(this.pos, this::getCurrentPriority, priority, this::setPriority); // use preferred priority + int neighborsPriority = getNeighborsPriority(); + this.neighbors.forEach((neighbor, neighborDesired) -> neighbor.setNeighborPriority(this, neighborsPriority)); + } @@ -314,12 +363,12 @@ index c1db5cc45dbc7dd24a1ef4dbf88a8efb6c7f2d57..7a87258d1725348fe0c343540f642388 // ChunkLoadEvent: Called after the chunk is loaded: isChunkLoaded returns true and chunk is ready to be modified by plugins. if (!playerchunk_state.isOrAfter(ChunkHolder.FullChunkStatus.BORDER) && playerchunk_state1.isOrAfter(ChunkHolder.FullChunkStatus.BORDER)) { - this.getFutureIfPresentUnchecked(ChunkStatus.FULL).thenAccept((either) -> { -+ this.getStatusFutureUncheckedMain(ChunkStatus.FULL).thenAccept((either) -> {// Paper - ensure main ++ this.getStatusFutureUncheckedMain(ChunkStatus.FULL).thenAccept((either) -> { // Paper - ensure main LevelChunk chunk = (LevelChunk)either.left().orElse(null); if (chunk != null) { chunkStorage.callbackExecutor.execute(() -> { -@@ -714,6 +860,7 @@ public class ChunkHolder { - @FunctionalInterface +@@ -691,6 +839,7 @@ public class ChunkHolder { + public interface LevelChangeListener { + default void changePriority(ChunkPos chunkcoordintpair, IntSupplier intsupplier, int i, IntConsumer intconsumer) { onLevelChange(chunkcoordintpair, intsupplier, i, intconsumer); } // Paper - OBFHELPER @@ -327,10 +376,34 @@ index c1db5cc45dbc7dd24a1ef4dbf88a8efb6c7f2d57..7a87258d1725348fe0c343540f642388 } diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 87ad15eaf8823021030e377078e18bbca4ac5e33..1e76f60ee5cbb579de0778170b6c84a4e3389d73 100644 +index 8070acde38c47c364c1d26ec3b7d65da037554a5..7a1f6d1807757a43a7aa471db651404c06720820 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -149,6 +149,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -14,6 +14,7 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectMap; + import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + import it.unimi.dsi.fastutil.longs.Long2ByteMap; + import it.unimi.dsi.fastutil.longs.Long2ByteOpenHashMap; ++import it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap; // Paper + import it.unimi.dsi.fastutil.longs.Long2ObjectLinkedOpenHashMap; + import it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry; + import it.unimi.dsi.fastutil.longs.LongIterator; +@@ -51,6 +52,7 @@ import net.minecraft.CrashReport; + import net.minecraft.CrashReportCategory; + import net.minecraft.ReportedException; + import net.minecraft.Util; ++import net.minecraft.core.BlockPos; + import net.minecraft.core.SectionPos; + import net.minecraft.nbt.CompoundTag; + import net.minecraft.network.protocol.Packet; +@@ -102,6 +104,7 @@ import org.apache.logging.log4j.LogManager; + import org.apache.logging.log4j.Logger; + + import org.bukkit.entity.Player; // CraftBukkit ++import org.spigotmc.AsyncCatcher; + + public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider { + +@@ -139,6 +142,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider public final ServerLevel level; private final ThreadedLevelLightEngine lightEngine; private final BlockableEventLoop mainThreadExecutor; @@ -338,24 +411,24 @@ index 87ad15eaf8823021030e377078e18bbca4ac5e33..1e76f60ee5cbb579de0778170b6c84a4 public final ChunkGenerator generator; private final Supplier overworldDataStorage; public final Supplier getWorldPersistentDataSupplier() { return this.overworldDataStorage; } // Paper - OBFHELPER private final PoiManager poiManager; -@@ -187,6 +188,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -176,6 +180,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @Override public void execute(Runnable runnable) { -+ org.spigotmc.AsyncCatcher.catchOp("Callback Executor execute"); // Paper - if (this.queue == null) { - this.queue = new java.util.ArrayDeque<>(); ++ AsyncCatcher.catchOp("Callback Executor execute"); + if (queued == null) { + queued = new java.util.ArrayDeque<>(); } -@@ -195,6 +197,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -184,6 +189,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @Override public void run() { -+ org.spigotmc.AsyncCatcher.catchOp("Callback Executor run"); // Paper - if (this.queue == null) { ++ AsyncCatcher.catchOp("Callback Executor run"); + if (queued == null) { return; } -@@ -351,6 +354,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider - this.level = world; +@@ -338,6 +344,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider + this.level = worldserver; this.generator = chunkGenerator; this.mainThreadExecutor = mainThreadExecutor; + // Paper start @@ -367,10 +440,10 @@ index 87ad15eaf8823021030e377078e18bbca4ac5e33..1e76f60ee5cbb579de0778170b6c84a4 + } + }; + // Paper end - ProcessorMailbox threadedmailbox = ProcessorMailbox.create(executor, "worldgen"); + ProcessorMailbox threadedmailbox = ProcessorMailbox.create(workerExecutor, "worldgen"); - Objects.requireNonNull(mainThreadExecutor); -@@ -446,6 +458,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider + mainThreadExecutor.getClass(); +@@ -432,6 +447,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider this.playerViewDistanceTickMap = new com.destroystokyo.paper.util.misc.PlayerAreaMap(this.pooledLinkedPlayerHashSets, (ServerPlayer player, int rangeX, int rangeZ, int currPosX, int currPosZ, int prevPosX, int prevPosZ, com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet newState) -> { @@ -378,7 +451,7 @@ index 87ad15eaf8823021030e377078e18bbca4ac5e33..1e76f60ee5cbb579de0778170b6c84a4 if (newState.size() != 1) { return; } -@@ -464,7 +477,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -450,7 +466,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } ChunkPos chunkPos = new ChunkPos(rangeX, rangeZ); ChunkMap.this.level.getChunkSource().removeTicketAtLevel(TicketType.PLAYER, chunkPos, 31, chunkPos); // entity ticking level, TODO check on update @@ -391,7 +464,7 @@ index 87ad15eaf8823021030e377078e18bbca4ac5e33..1e76f60ee5cbb579de0778170b6c84a4 this.playerViewDistanceNoTickMap = new com.destroystokyo.paper.util.misc.PlayerAreaMap(this.pooledLinkedPlayerHashSets); this.playerViewDistanceBroadcastMap = new com.destroystokyo.paper.util.misc.PlayerAreaMap(this.pooledLinkedPlayerHashSets, (ServerPlayer player, int rangeX, int rangeZ, int currPosX, int currPosZ, int prevPosX, int prevPosZ, -@@ -481,8 +498,116 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -467,6 +487,115 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider }); // Paper end - no-tick view distance } @@ -413,13 +486,12 @@ index 87ad15eaf8823021030e377078e18bbca4ac5e33..1e76f60ee5cbb579de0778170b6c84a4 + mainThreadExecutor.execute(runnable); + } + } - - // Paper start ++ + private boolean isUnloading(ChunkHolder playerchunk) { + return playerchunk == null || toDrop.contains(playerchunk.pos.toLong()); + } + -+ private void updateChunkPriorityMap(it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap map, long chunk, int level) { ++ private void updateChunkPriorityMap(Long2IntOpenHashMap map, long chunk, int level) { + int prev = map.getOrDefault(chunk, -1); + if (level > prev) { + map.put(chunk, level); @@ -432,10 +504,10 @@ index 87ad15eaf8823021030e377078e18bbca4ac5e33..1e76f60ee5cbb579de0778170b6c84a4 + return; + } + player.lastHighPriorityChecked = currentTick; -+ it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap priorities = new it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap(); ++ Long2IntOpenHashMap priorities = new Long2IntOpenHashMap(); + + int viewDistance = getEffectiveNoTickViewDistance(); -+ net.minecraft.core.BlockPos.MutableBlockPos pos = new net.minecraft.core.BlockPos.MutableBlockPos(); ++ BlockPos.MutableBlockPos pos = new BlockPos.MutableBlockPos(); + + // Prioritize circular near + double playerChunkX = Mth.floor(player.getX()) >> 4; @@ -505,10 +577,10 @@ index 87ad15eaf8823021030e377078e18bbca4ac5e33..1e76f60ee5cbb579de0778170b6c84a4 + return chunk != null && (chunk.isFullChunkReady()); + } + // Paper end + public void updatePlayerMobTypeMap(Entity entity) { if (!this.level.paperConfig.perPlayerMobSpawns) { - return; -@@ -640,6 +765,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -596,6 +725,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider List>> list = Lists.newArrayList(); int j = centerChunk.x; int k = centerChunk.z; @@ -516,7 +588,7 @@ index 87ad15eaf8823021030e377078e18bbca4ac5e33..1e76f60ee5cbb579de0778170b6c84a4 for (int l = -margin; l <= margin; ++l) { for (int i1 = -margin; i1 <= margin; ++i1) { -@@ -658,6 +784,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -614,6 +744,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider ChunkStatus chunkstatus = (ChunkStatus) distanceToStatus.apply(j1); CompletableFuture> completablefuture = playerchunk.getOrScheduleFuture(chunkstatus, this); @@ -531,12 +603,12 @@ index 87ad15eaf8823021030e377078e18bbca4ac5e33..1e76f60ee5cbb579de0778170b6c84a4 list.add(completablefuture); } -@@ -1104,14 +1238,22 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1081,14 +1219,22 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider }; CompletableFuture chunkSaveFuture = this.level.asyncChunkTaskManager.getChunkSaveFuture(pos.x, pos.z); + ChunkHolder playerChunk = getUpdatingChunkIfPresent(pos.toLong()); -+ int chunkPriority = playerChunk != null ? playerChunk.getQueueLevel() : 33; ++ int chunkPriority = playerChunk != null ? playerChunk.getCurrentPriority() : 33; + int priority = com.destroystokyo.paper.io.PrioritizedTaskQueue.NORMAL_PRIORITY; + + if (chunkPriority <= 10) { @@ -559,36 +631,64 @@ index 87ad15eaf8823021030e377078e18bbca4ac5e33..1e76f60ee5cbb579de0778170b6c84a4 return ret; // Paper end } -@@ -1243,7 +1385,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1233,7 +1379,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider long i = playerchunk.getPos().toLong(); - Objects.requireNonNull(playerchunk); + playerchunk.getClass(); - mailbox.tell(ChunkTaskPriorityQueueSorter.message(runnable, i, playerchunk::getTicketLevel)); + mailbox.tell(ChunkTaskPriorityQueueSorter.message(runnable, i, () -> 1)); // Paper - final loads are always urgent! }); } diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java -index d94241bcca4f2fd5e464a860bd356af504dc68b7..864c78ae0f0b3b50b8ea22b709c1f16bea0ecfea 100644 +index c9b4025f6c3d1be7bca2ff7337dd86e37d21b53e..e41f388e8350010a471410436adf15a906f07e97 100644 --- a/src/main/java/net/minecraft/server/level/DistanceManager.java +++ b/src/main/java/net/minecraft/server/level/DistanceManager.java -@@ -98,6 +98,7 @@ public abstract class DistanceManager { +@@ -21,7 +21,10 @@ import java.util.Set; + import java.util.concurrent.CompletableFuture; + import java.util.concurrent.Executor; + import javax.annotation.Nullable; ++import net.minecraft.core.BlockPos; + import net.minecraft.core.SectionPos; ++import net.minecraft.server.MCUtil; ++import net.minecraft.server.MinecraftServer; + import net.minecraft.util.SortedArraySet; + import net.minecraft.util.thread.ProcessorHandle; + import net.minecraft.world.level.ChunkPos; +@@ -29,6 +32,7 @@ import net.minecraft.world.level.chunk.ChunkStatus; + import net.minecraft.world.level.chunk.LevelChunk; + import org.apache.logging.log4j.LogManager; + import org.apache.logging.log4j.Logger; ++import org.spigotmc.AsyncCatcher; // Paper + + public abstract class DistanceManager { + +@@ -52,7 +56,7 @@ public abstract class DistanceManager { + private final ChunkTaskPriorityQueueSorter ticketThrottler; + private final ProcessorHandle> ticketThrottlerInput; + private final ProcessorHandle ticketThrottlerReleaser; +- private final LongSet ticketsToRelease = new LongOpenHashSet(); ++ private final LongSet ticketsToRelease = new LongOpenHashSet(); public final LongSet getOnPlayerTicketAddQueue() { return ticketsToRelease; } // Paper - OBFHELPER + private final Executor mainThreadExecutor; + private long ticketTickCounter; + +@@ -90,6 +94,7 @@ public abstract class DistanceManager { } private static int getTicketLevelAt(SortedArraySet> arraysetsorted) { -+ org.spigotmc.AsyncCatcher.catchOp("ChunkMapDistance::getLowestTicketLevel"); // Paper ++ AsyncCatcher.catchOp("ChunkMapDistance::getLowestTicketLevel"); // Paper return !arraysetsorted.isEmpty() ? ((Ticket) arraysetsorted.first()).getTicketLevel() : ChunkMap.MAX_CHUNK_DISTANCE + 1; } -@@ -111,6 +112,7 @@ public abstract class DistanceManager { +@@ -103,6 +108,7 @@ public abstract class DistanceManager { - public boolean runAllUpdates(ChunkMap playerchunkmap) { + public boolean runAllUpdates(ChunkMap chunkStorage) { //this.f.a(); // Paper - no longer used -+ org.spigotmc.AsyncCatcher.catchOp("DistanceManagerTick"); // Paper ++ AsyncCatcher.catchOp("DistanceManagerTick"); // Paper this.playerTicketManager.runAllUpdates(); int i = Integer.MAX_VALUE - this.ticketTracker.runDistanceUpdates(Integer.MAX_VALUE); boolean flag = i != 0; -@@ -121,11 +123,13 @@ public abstract class DistanceManager { +@@ -113,11 +119,13 @@ public abstract class DistanceManager { // Paper start if (!this.pendingChunkUpdates.isEmpty()) { @@ -596,44 +696,44 @@ index d94241bcca4f2fd5e464a860bd356af504dc68b7..864c78ae0f0b3b50b8ea22b709c1f16b while(!this.pendingChunkUpdates.isEmpty()) { ChunkHolder remove = this.pendingChunkUpdates.remove(); remove.isUpdateQueued = false; - remove.updateFutures(playerchunkmap, this.mainThreadExecutor); + remove.updateFutures(chunkStorage); } + } finally { this.pollingPendingChunkUpdates = false; } // Paper end return true; } else { -@@ -161,8 +165,10 @@ public abstract class DistanceManager { +@@ -153,8 +161,10 @@ public abstract class DistanceManager { return flag; } } + boolean pollingPendingChunkUpdates = false; // Paper - boolean addTicket(long i, Ticket ticket) { // CraftBukkit - void -> boolean -+ org.spigotmc.AsyncCatcher.catchOp("ChunkMapDistance::addTicket"); // Paper + private boolean addTicket(long i, Ticket ticket) { // CraftBukkit - void -> boolean ++ AsyncCatcher.catchOp("ChunkMapDistance::addTicket"); // Paper SortedArraySet> arraysetsorted = this.getTickets(i); - int j = DistanceManager.getTicketLevelAt(arraysetsorted); + int j = getTicketLevelAt(arraysetsorted); Ticket ticket1 = (Ticket) arraysetsorted.addOrGet(ticket); // CraftBukkit - decompile error -@@ -176,7 +182,9 @@ public abstract class DistanceManager { +@@ -168,7 +178,9 @@ public abstract class DistanceManager { } - boolean removeTicket(long i, Ticket ticket) { // CraftBukkit - void -> boolean -+ org.spigotmc.AsyncCatcher.catchOp("ChunkMapDistance::removeTicket"); // Paper + private boolean removeTicket(long i, Ticket ticket) { // CraftBukkit - void -> boolean ++ AsyncCatcher.catchOp("ChunkMapDistance::removeTicket"); // Paper SortedArraySet> arraysetsorted = this.getTickets(i); + int oldLevel = getTicketLevelAt(arraysetsorted); // Paper boolean removed = false; // CraftBukkit if (arraysetsorted.remove(ticket)) { -@@ -208,7 +216,8 @@ public abstract class DistanceManager { +@@ -179,7 +191,8 @@ public abstract class DistanceManager { this.tickets.remove(i); } -- this.ticketTracker.update(i, DistanceManager.getTicketLevelAt(arraysetsorted), false); +- this.ticketTracker.update(i, getTicketLevelAt(arraysetsorted), false); + int newLevel = getTicketLevelAt(arraysetsorted); // Paper + if (newLevel > oldLevel) this.ticketTracker.update(i, newLevel, false); // Paper return removed; // CraftBukkit } -@@ -217,6 +226,135 @@ public abstract class DistanceManager { +@@ -188,6 +201,135 @@ public abstract class DistanceManager { this.addTicketAtLevel(type, pos, level, argument); } @@ -653,7 +753,7 @@ index d94241bcca4f2fd5e464a860bd356af504dc68b7..864c78ae0f0b3b50b8ea22b709c1f16b + delayDistanceManagerTick = true; + priority = Math.min(URGENT_PRIORITY - 1, Math.max(1, priority)); + int finalPriority = priority; -+ net.minecraft.server.MCUtil.getSpiralOutChunks(center.getWorldPosition(), radius).forEach(coords -> { ++ MCUtil.getSpiralOutChunks(center.asPosition(), radius).forEach(coords -> { + addPriorityTicket(coords, TicketType.PRIORITY, finalPriority); + }); + delayDistanceManagerTick = false; @@ -662,7 +762,7 @@ index d94241bcca4f2fd5e464a860bd356af504dc68b7..864c78ae0f0b3b50b8ea22b709c1f16b + + public void clearAreaPriorityTickets(ChunkPos center, int radius) { + delayDistanceManagerTick = true; -+ net.minecraft.server.MCUtil.getSpiralOutChunks(center.getWorldPosition(), radius).forEach(coords -> { ++ MCUtil.getSpiralOutChunks(center.asPosition(), radius).forEach(coords -> { + this.removeTicket(coords.toLong(), new Ticket(TicketType.PRIORITY, PRIORITY_TICKET_LEVEL, coords)); + }); + delayDistanceManagerTick = false; @@ -684,14 +784,14 @@ index d94241bcca4f2fd5e464a860bd356af504dc68b7..864c78ae0f0b3b50b8ea22b709c1f16b + } + + private boolean addPriorityTicket(ChunkPos coords, TicketType ticketType, int priority) { -+ org.spigotmc.AsyncCatcher.catchOp("ChunkMapDistance::addPriorityTicket"); ++ AsyncCatcher.catchOp("ChunkMapDistance::addPriorityTicket"); + long pair = coords.toLong(); + ChunkHolder chunk = chunkMap.getUpdatingChunkIfPresent(pair); + boolean needsTicket = chunkMap.playerViewDistanceNoTickMap.getObjectsInRange(pair) != null && !hasPlayerTicket(coords, 33); + + if (needsTicket) { + Ticket ticket = new Ticket<>(TicketType.PLAYER, 33, coords); -+ ticketsToRelease.add(pair); ++ getOnPlayerTicketAddQueue().add(pair); + addTicket(pair, ticket); + } + if ((chunk != null && chunk.isFullChunkReady())) { @@ -738,7 +838,7 @@ index d94241bcca4f2fd5e464a860bd356af504dc68b7..864c78ae0f0b3b50b8ea22b709c1f16b + } + + public int getChunkPriority(ChunkPos coords) { -+ org.spigotmc.AsyncCatcher.catchOp("ChunkMapDistance::getChunkPriority"); ++ AsyncCatcher.catchOp("ChunkMapDistance::getChunkPriority"); + SortedArraySet> tickets = this.tickets.get(coords.toLong()); + if (tickets == null) { + return 0; @@ -757,29 +857,38 @@ index d94241bcca4f2fd5e464a860bd356af504dc68b7..864c78ae0f0b3b50b8ea22b709c1f16b + } + + public void clearPriorityTickets(ChunkPos coords) { -+ org.spigotmc.AsyncCatcher.catchOp("ChunkMapDistance::clearPriority"); ++ AsyncCatcher.catchOp("ChunkMapDistance::clearPriority"); + this.removeTicket(coords.toLong(), new Ticket(TicketType.PRIORITY, PRIORITY_TICKET_LEVEL, coords)); + } + + public void clearUrgent(ChunkPos coords) { -+ org.spigotmc.AsyncCatcher.catchOp("ChunkMapDistance::clearUrgent"); ++ AsyncCatcher.catchOp("ChunkMapDistance::clearUrgent"); + this.removeTicket(coords.toLong(), new Ticket(TicketType.URGENT, PRIORITY_TICKET_LEVEL, coords)); + } + // Paper end public boolean addTicketAtLevel(TicketType ticketType, ChunkPos chunkcoordintpair, int level, T identifier) { return this.addTicket(chunkcoordintpair.toLong(), new Ticket<>(ticketType, level, identifier)); // CraftBukkit end -@@ -516,41 +654,68 @@ public abstract class DistanceManager { +@@ -358,7 +500,7 @@ public abstract class DistanceManager { + + class PlayerTicketTracker extends DistanceManager.FixedPlayerDistanceChunkTracker { + +- private int viewDistance = 0; ++ private int viewDistance = 0; private int getViewDistance() { return viewDistance; } private void setViewDistance(int value) { this.viewDistance = value; } // Paper - OBFHELPER + private final Long2IntMap queueLevels = Long2IntMaps.synchronize(new Long2IntOpenHashMap()); + private final LongSet toUpdate = new LongOpenHashSet(); + +@@ -374,41 +516,68 @@ public abstract class DistanceManager { public void updateViewDistance(int watchDistance) { ObjectIterator objectiterator = this.chunks.long2ByteEntrySet().iterator(); + // Paper start - set the view distance before scheduling chunk loads/unloads -+ int lastViewDistance = viewDistance; -+ this.viewDistance = watchDistance; ++ int lastViewDistance = getViewDistance(); ++ setViewDistance(watchDistance); + // Paper end while (objectiterator.hasNext()) { - it.unimi.dsi.fastutil.longs.Long2ByteMap.Entry it_unimi_dsi_fastutil_longs_long2bytemap_entry = (it.unimi.dsi.fastutil.longs.Long2ByteMap.Entry) objectiterator.next(); + Long2ByteMap.Entry it_unimi_dsi_fastutil_longs_long2bytemap_entry = (Long2ByteMap.Entry) objectiterator.next(); // Paper - decompile fix byte b0 = it_unimi_dsi_fastutil_longs_long2bytemap_entry.getByteValue(); long j = it_unimi_dsi_fastutil_longs_long2bytemap_entry.getLongKey(); @@ -799,7 +908,7 @@ index d94241bcca4f2fd5e464a860bd356af504dc68b7..864c78ae0f0b3b50b8ea22b709c1f16b if (withinViewDistance) { - DistanceManager.this.ticketThrottlerInput.tell(ChunkTaskPriorityQueueSorter.message(() -> { -+ scheduleChunkLoad(pos, net.minecraft.server.MinecraftServer.currentTick, distance, (priority) -> { // Paper - smarter ticket delay based on frustum and distance ++ scheduleChunkLoad(pos, MinecraftServer.currentTick, distance, (priority) -> { // Paper - smarter ticket delay based on frustum and distance + // Paper start - recheck its still valid if not cancel + if (!isChunkInRange(pos)) { + DistanceManager.this.ticketThrottlerReleaser.tell(ChunkTaskPriorityQueueSorter.release(() -> { @@ -846,16 +955,16 @@ index d94241bcca4f2fd5e464a860bd356af504dc68b7..864c78ae0f0b3b50b8ea22b709c1f16b }); }, pos, true)); } -@@ -558,6 +723,101 @@ public abstract class DistanceManager { +@@ -416,6 +585,101 @@ public abstract class DistanceManager { } + // Paper start - smart scheduling of player tickets + private boolean isChunkInRange(long i) { -+ return this.haveTicketFor(this.getLevel(i)); ++ return this.isLoadedChunkLevel(this.getChunkLevel(i)); + } + public void scheduleChunkLoad(long i, long startTick, int initialDistance, java.util.function.Consumer task) { -+ long elapsed = net.minecraft.server.MinecraftServer.currentTick - startTick; ++ long elapsed = MinecraftServer.currentTick - startTick; + ChunkPos chunkPos = new ChunkPos(i); + ChunkHolder updatingChunk = chunkMap.getUpdatingChunkIfPresent(i); + if ((updatingChunk != null && updatingChunk.isFullChunkReady()) || !isChunkInRange(i) || getChunkPriority(chunkPos) > 0) { // Copied from above @@ -873,10 +982,10 @@ index d94241bcca4f2fd5e464a860bd356af504dc68b7..864c78ae0f0b3b50b8ea22b709c1f16b + } else if (players != null) { + Object[] backingSet = players.getBackingSet(); + -+ net.minecraft.core.BlockPos blockPos = chunkPos.getWorldPosition(); ++ BlockPos blockPos = chunkPos.asPosition(); + + boolean isFront = false; -+ net.minecraft.core.BlockPos.MutableBlockPos pos = new net.minecraft.core.BlockPos.MutableBlockPos(); ++ BlockPos.MutableBlockPos pos = new BlockPos.MutableBlockPos(); + for (int index = 0, len = backingSet.length; index < len; ++index) { + if (!(backingSet[index] instanceof ServerPlayer)) { + continue; @@ -885,16 +994,16 @@ index d94241bcca4f2fd5e464a860bd356af504dc68b7..864c78ae0f0b3b50b8ea22b709c1f16b + + ChunkPos pointInFront = player.getChunkInFront(5); + pos.setValues(pointInFront.x << 4, 0, pointInFront.z << 4); -+ double frontDist = net.minecraft.server.MCUtil.distanceSq(pos, blockPos); ++ double frontDist = MCUtil.distanceSq(pos, blockPos); + + pos.setValues(player.getX(), 0, player.getZ()); -+ double center = net.minecraft.server.MCUtil.distanceSq(pos, blockPos); ++ double center = MCUtil.distanceSq(pos, blockPos); + + double dist = Math.min(frontDist, center); + if (!isFront) { + ChunkPos pointInBack = player.getChunkInFront(-7); + pos.setValues(pointInBack.x << 4, 0, pointInBack.z << 4); -+ double backDist = net.minecraft.server.MCUtil.distanceSq(pos, blockPos); ++ double backDist = MCUtil.distanceSq(pos, blockPos); + if (frontDist < backDist) { + isFront = true; + } @@ -927,7 +1036,7 @@ index d94241bcca4f2fd5e464a860bd356af504dc68b7..864c78ae0f0b3b50b8ea22b709c1f16b + long pair = ChunkPos.asLong(chunkPos.x + x, chunkPos.z + z); + ChunkHolder neighbor = chunkMap.getUpdatingChunkIfPresent(pair); + ChunkStatus current = neighbor != null ? neighbor.getChunkHolderStatus() : null; -+ if (current != null && current.isOrAfter(ChunkStatus.LIGHT)) { ++ if (current != null && current.isAtLeastStatus(ChunkStatus.LIGHT)) { + hasAnyNeighbor = true; + } + } @@ -940,7 +1049,7 @@ index d94241bcca4f2fd5e464a860bd356af504dc68b7..864c78ae0f0b3b50b8ea22b709c1f16b + task.accept((int) minDist); + } else { + int taskDelay = (int) Math.min(delay, minDist >= 10 ? 40 : (minDist < 6 ? 5 : 20)); -+ net.minecraft.server.MCUtil.scheduleTask(taskDelay, () -> scheduleChunkLoad(i, startTick, initialDistance, task), "Player Ticket Delayer"); ++ MCUtil.scheduleTask(taskDelay, () -> scheduleChunkLoad(i, startTick, initialDistance, task), "Player Ticket Delayer"); + } + } + // Paper end @@ -948,11 +1057,27 @@ index d94241bcca4f2fd5e464a860bd356af504dc68b7..864c78ae0f0b3b50b8ea22b709c1f16b @Override public void runAllUpdates() { super.runAllUpdates(); +@@ -447,6 +711,7 @@ public abstract class DistanceManager { + + } + ++ private boolean isLoadedChunkLevel(int i) { return haveTicketFor(i); } // Paper - OBFHELPER + private boolean haveTicketFor(int distance) { + return distance <= this.viewDistance - 2; + } +@@ -463,6 +728,7 @@ public abstract class DistanceManager { + this.chunks.defaultReturnValue((byte) (i + 2)); + } + ++ protected final int getChunkLevel(long i) { return getLevel(i); } // Paper - OBFHELPER + @Override + protected int getLevel(long id) { + return this.chunks.get(id); diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 094c07c3208b0c05f918b7ee19f1d5b9ceeece47..275d9bdd884ca4ac7e57fc042d044eb49485191a 100644 +index 52c2e81f2e2bcd74d4e9aac3ecb5ab618e289abd..f36badcafbad7fb4537ffdf54d9e266ae3d72459 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -446,6 +446,26 @@ public class ServerChunkCache extends ChunkSource { +@@ -467,6 +467,26 @@ public class ServerChunkCache extends ChunkSource { public void removeTicketAtLevel(TicketType ticketType, ChunkPos chunkPos, int ticketLevel, T identifier) { this.distanceManager.removeTicketAtLevel(ticketType, chunkPos, ticketLevel, identifier); } @@ -976,11 +1101,11 @@ index 094c07c3208b0c05f918b7ee19f1d5b9ceeece47..275d9bdd884ca4ac7e57fc042d044eb4 + public void clearPriorityTickets(ChunkPos coords) { + this.distanceManager.clearPriorityTickets(coords); + } - // Paper end - async chunk io + // Paper end @Nullable -@@ -486,6 +506,8 @@ public class ServerChunkCache extends ChunkSource { - Objects.requireNonNull(completablefuture); +@@ -505,6 +525,8 @@ public class ServerChunkCache extends ChunkSource { + if (!completablefuture.isDone()) { // Paper // Paper start - async chunk io/loading + ChunkPos pair = new ChunkPos(x1, z1); @@ -988,8 +1113,8 @@ index 094c07c3208b0c05f918b7ee19f1d5b9ceeece47..275d9bdd884ca4ac7e57fc042d044eb4 this.level.asyncChunkTaskManager.raisePriority(x1, z1, com.destroystokyo.paper.io.PrioritizedTaskQueue.HIGHEST_PRIORITY); com.destroystokyo.paper.io.chunk.ChunkTaskManager.pushChunkWait(this.level, x1, z1); // Paper end -@@ -494,6 +516,8 @@ public class ServerChunkCache extends ChunkSource { - chunkproviderserver_a.managedBlock(completablefuture::isDone); +@@ -513,6 +535,8 @@ public class ServerChunkCache extends ChunkSource { + this.mainThreadProcessor.managedBlock(completablefuture::isDone); com.destroystokyo.paper.io.chunk.ChunkTaskManager.popChunkWait(); // Paper - async chunk debug this.level.timings.syncChunkLoad.stopTiming(); // Paper + this.distanceManager.clearPriorityTickets(pair); // Paper @@ -997,7 +1122,7 @@ index 094c07c3208b0c05f918b7ee19f1d5b9ceeece47..275d9bdd884ca4ac7e57fc042d044eb4 } // Paper ichunkaccess = (ChunkAccess) ((Either) completablefuture.join()).map((ichunkaccess1) -> { return ichunkaccess1; -@@ -567,10 +591,12 @@ public class ServerChunkCache extends ChunkSource { +@@ -565,10 +589,12 @@ public class ServerChunkCache extends ChunkSource { if (flag && !currentlyUnloading) { // CraftBukkit end this.distanceManager.addTicket(TicketType.UNKNOWN, chunkcoordintpair, l, chunkcoordintpair); @@ -1010,7 +1135,7 @@ index 094c07c3208b0c05f918b7ee19f1d5b9ceeece47..275d9bdd884ca4ac7e57fc042d044eb4 this.runDistanceManagerUpdates(); playerchunk = this.getVisibleChunkIfPresent(k); gameprofilerfiller.pop(); -@@ -579,8 +605,13 @@ public class ServerChunkCache extends ChunkSource { +@@ -577,8 +603,13 @@ public class ServerChunkCache extends ChunkSource { } } } @@ -1026,19 +1151,27 @@ index 094c07c3208b0c05f918b7ee19f1d5b9ceeece47..275d9bdd884ca4ac7e57fc042d044eb4 } private boolean chunkAbsent(@Nullable ChunkHolder holder, int maxLevel) { -@@ -632,6 +663,7 @@ public class ServerChunkCache extends ChunkSource { +@@ -630,6 +661,7 @@ public class ServerChunkCache extends ChunkSource { } - public boolean runDistanceManagerUpdates() { + public boolean runDistanceManagerUpdates() { // Paper - private -> public + if (distanceManager.delayDistanceManagerTick) return false; // Paper boolean flag = this.distanceManager.runAllUpdates(this.chunkMap); boolean flag1 = this.chunkMap.promoteChunkMap(); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index d59e707f28a5f04545208ad33d122fc433b85933..8cbfcbc795c920420bd1906576dfc766910e9e62 100644 +index 8e4cef60b760be385df81a74834d026f856a78c5..c5717f45a0110492aad41f21cc06fb8cbeb1f791 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -183,6 +183,12 @@ public class ServerPlayer extends Player { +@@ -73,6 +73,7 @@ import net.minecraft.network.protocol.game.ClientboundUpdateMobEffectPacket; + import net.minecraft.network.protocol.game.ServerboundClientInformationPacket; + import net.minecraft.resources.ResourceKey; + import net.minecraft.resources.ResourceLocation; ++import net.minecraft.server.MCUtil; + import net.minecraft.server.MinecraftServer; + import net.minecraft.server.PlayerAdvancements; + import net.minecraft.server.network.ServerGamePacketListenerImpl; +@@ -185,6 +186,12 @@ public class ServerPlayer extends Player implements ContainerListener { private int lastRecordedArmor = Integer.MIN_VALUE; private int lastRecordedLevel = Integer.MIN_VALUE; private int lastRecordedExperience = Integer.MIN_VALUE; @@ -1051,20 +1184,20 @@ index d59e707f28a5f04545208ad33d122fc433b85933..8cbfcbc795c920420bd1906576dfc766 private float lastSentHealth = -1.0E8F; private int lastSentFood = -99999999; private boolean lastFoodSaturationZero = true; -@@ -324,6 +330,21 @@ public class ServerPlayer extends Player { +@@ -272,6 +279,21 @@ public class ServerPlayer extends Player implements ContainerListener { this.maxHealthCache = this.getMaxHealth(); this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper } + // Paper start + public BlockPos getPointInFront(double inFront) { -+ double rads = Math.toRadians(net.minecraft.server.MCUtil.normalizeYaw(this.getYRot()+90)); // MC rotates yaw 90 for some odd reason ++ double rads = Math.toRadians(MCUtil.normalizeYaw(this.yRot+90)); // MC rotates yaw 90 for some odd reason + final double x = getX() + inFront * Math.cos(rads); + final double z = getZ() + inFront * Math.sin(rads); + return new BlockPos(x, getY(), z); + } + + public ChunkPos getChunkInFront(double inFront) { -+ double rads = Math.toRadians(net.minecraft.server.MCUtil.normalizeYaw(this.getYRot()+90)); // MC rotates yaw 90 for some odd reason ++ double rads = Math.toRadians(MCUtil.normalizeYaw(this.yRot+90)); // MC rotates yaw 90 for some odd reason + final double x = getX() + (inFront * 16) * Math.cos(rads); + final double z = getZ() + (inFront * 16) * Math.sin(rads); + return new ChunkPos(Mth.floor(x) >> 4, Mth.floor(z) >> 4); @@ -1073,27 +1206,27 @@ index d59e707f28a5f04545208ad33d122fc433b85933..8cbfcbc795c920420bd1906576dfc766 // Yes, this doesn't match Vanilla, but it's the best we can do for now. // If this is an issue, PRs are welcome -@@ -645,6 +666,7 @@ public class ServerPlayer extends Player { - if (valid && !this.isSpectator() || !this.touchingUnloadedChunk()) { // Paper - don't tick dead players that are not in the world currently (pending respawn) +@@ -619,6 +641,7 @@ public class ServerPlayer extends Player implements ContainerListener { + if (valid && !this.isSpectator() || this.level.hasChunkAt(this.blockPosition())) { // Paper - don't tick dead players that are not in the world currently (pending respawn) super.tick(); } + if (valid && isAlive() && connection != null) ((ServerLevel)level).getChunkSource().chunkMap.checkHighPriorityChunks(this); // Paper - for (int i = 0; i < this.getInventory().getContainerSize(); ++i) { - ItemStack itemstack = this.getInventory().getItem(i); + for (int i = 0; i < this.inventory.getContainerSize(); ++i) { + ItemStack itemstack = this.inventory.getItem(i); diff --git a/src/main/java/net/minecraft/server/level/Ticket.java b/src/main/java/net/minecraft/server/level/Ticket.java -index a7aa7a9038d4812a9d1e4e72c4dbbbe10df15820..5c03bae6d34aae4752438650414460102a043a4b 100644 +index c6b5f32153b63ac92df9c4b31b8de168481f79f2..c0bfe136ccb9ad4fc0f8ccdd703254205213ec8e 100644 --- a/src/main/java/net/minecraft/server/level/Ticket.java +++ b/src/main/java/net/minecraft/server/level/Ticket.java @@ -8,6 +8,7 @@ public final class Ticket implements Comparable> { + private final int ticketLevel; public final T key; public final T getObjectReason() { return this.key; } // Paper - OBFHELPER private long createdTick; public final long getCreationTick() { return this.createdTick; } // Paper - OBFHELPER - public long delayUnloadBy; // Paper + public int priority = 0; // Paper protected Ticket(TicketType type, int level, T argument) { this.type = type; -@@ -57,6 +58,7 @@ public final class Ticket implements Comparable> { +@@ -56,6 +57,7 @@ public final class Ticket implements Comparable> { return this.ticketLevel; } @@ -1102,66 +1235,78 @@ index a7aa7a9038d4812a9d1e4e72c4dbbbe10df15820..5c03bae6d34aae475243865041446010 this.createdTick = tickCreated; } diff --git a/src/main/java/net/minecraft/server/level/TicketType.java b/src/main/java/net/minecraft/server/level/TicketType.java -index 8770fe0db46b01e8b608637df4f1a669a3f4cdde..3c1698ba0d3bc412ab957777d9b5211dbc555208 100644 +index 583587457790df826a8a3239a4bd1d0f1dcab1da..2444f6f676db543509b14e8c882491dc3f41b264 100644 --- a/src/main/java/net/minecraft/server/level/TicketType.java +++ b/src/main/java/net/minecraft/server/level/TicketType.java -@@ -9,6 +9,8 @@ import net.minecraft.world.level.ChunkPos; - public class TicketType { +@@ -28,6 +28,8 @@ public class TicketType { + public static final TicketType PLUGIN_TICKET = create("plugin_ticket", (plugin1, plugin2) -> plugin1.getClass().getName().compareTo(plugin2.getClass().getName())); // CraftBukkit public static final TicketType FUTURE_AWAIT = create("future_await", Long::compareTo); // Paper public static final TicketType ASYNC_LOAD = create("async_load", Long::compareTo); // Paper + public static final TicketType PRIORITY = create("priority", Comparator.comparingLong(ChunkPos::toLong), 300); // Paper + public static final TicketType URGENT = create("urgent", Comparator.comparingLong(ChunkPos::toLong), 300); // Paper - private final String name; - private final Comparator comparator; + public static TicketType create(String name, Comparator comparator) { + return new TicketType<>(name, comparator, 0L); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index fecb2a6b8674ca110d6af539396873e9dcdc0edb..6476d2a478b85116061a13f7ef2a5fec2ade4a04 100644 +index 3f416479e23c60ec5b4b779cce9ab62c74865ac8..0625bc7ffd07b66b27176fe62ae3061aa7c67df2 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1566,6 +1566,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1528,6 +1528,7 @@ public class ServerGamePacketListenerImpl implements ServerGamePacketListener { this.awaitingTeleportTime = this.tickCount; this.player.absMoveTo(d0, d1, d2, f, f1); + this.player.forceCheckHighPriority(); // Paper - this.player.connection.send(new ClientboundPlayerPositionPacket(d0 - d3, d1 - d4, d2 - d5, f - f2, f1 - f3, set, this.awaitingTeleport, flag)); + this.player.connection.send(new ClientboundPlayerPositionPacket(d0 - d3, d1 - d4, d2 - d5, f - f2, f1 - f3, set, this.awaitingTeleport)); } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 7eb3088d47ff78198e01a3a12b0ce6abe9d6ca6b..9c13479d2a508728c10803dee719ed7ad097e019 100644 +index 8e00747c1a717836d12a43aa48d667bf801167b0..168895dab31a0d5356eb96f2642399a1c99fccab 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -272,8 +272,8 @@ public abstract class PlayerList { - net.minecraft.server.level.ChunkMap playerChunkMap = worldserver1.getChunkSource().chunkMap; - net.minecraft.server.level.DistanceManager distanceManager = playerChunkMap.distanceManager; - distanceManager.addTicketAtLevel(net.minecraft.server.level.TicketType.LOGIN, pos, 31, pos.toLong()); +@@ -271,8 +271,8 @@ public abstract class PlayerList { + final ChunkPos pos = new ChunkPos(chunkX, chunkZ); + ChunkMap playerChunkMap = worldserver1.getChunkSource().chunkMap; + playerChunkMap.getChunkDistanceManager().addTicketAtLevel(TicketType.LOGIN, pos, 31, pos.toLong()); - worldserver1.getChunkSource().runDistanceManagerUpdates(); - worldserver1.getChunkSource().getChunkAtAsynchronously(chunkX, chunkZ, true, true).thenApply(chunk -> { + worldserver1.getChunkSource().markAreaHighPriority(pos, 28, 3); + worldserver1.getChunkSource().getChunkAtAsynchronously(chunkX, chunkZ, true, false).thenApply(chunk -> { - net.minecraft.server.level.ChunkHolder updatingChunk = playerChunkMap.getUpdatingChunkIfPresent(pos.toLong()); + ChunkHolder updatingChunk = playerChunkMap.getUpdatingChunkIfPresent(pos.toLong()); if (updatingChunk != null) { return updatingChunk.getEntityTickingFuture(); -@@ -686,6 +686,7 @@ public abstract class PlayerList { +@@ -692,6 +692,7 @@ public abstract class PlayerList { SocketAddress socketaddress = loginlistener.connection.getRemoteAddress(); - ServerPlayer entity = new ServerPlayer(this.server, this.server.getLevel(Level.OVERWORLD), gameprofile); + ServerPlayer entity = new ServerPlayer(this.server, this.server.getLevel(Level.OVERWORLD), gameprofile, new ServerPlayerGameMode(this.server.getLevel(Level.OVERWORLD))); + entity.isRealPlayer = true; // Paper Player player = entity.getBukkitEntity(); PlayerLoginEvent event = new PlayerLoginEvent(player, hostname, ((java.net.InetSocketAddress) socketaddress).getAddress(), ((java.net.InetSocketAddress) loginlistener.connection.getRawAddress()).getAddress()); -@@ -874,6 +875,7 @@ public abstract class PlayerList { +@@ -898,6 +899,7 @@ public abstract class PlayerList { // CraftBukkit end - worldserver1.getChunkSource().addRegionTicket(net.minecraft.server.level.TicketType.POST_TELEPORT, new net.minecraft.world.level.ChunkPos(location.getBlockX() >> 4, location.getBlockZ() >> 4), 1, entityplayer.getId()); // Paper + worldserver1.getChunkSource().addRegionTicket(TicketType.POST_TELEPORT, new ChunkPos(location.getBlockX() >> 4, location.getBlockZ() >> 4), 1, entityplayer.getId()); // Paper + entityplayer1.forceCheckHighPriority(); // Player - while (avoidSuffocation && !worldserver1.noCollision(entityplayer1) && entityplayer1.getY() < (double) worldserver1.getMaxBuildHeight()) { + while (avoidSuffocation && !worldserver1.noCollision(entityplayer1) && entityplayer1.getY() < 256.0D) { entityplayer1.setPos(entityplayer1.getX(), entityplayer1.getY() + 1.0D, entityplayer1.getZ()); } +diff --git a/src/main/java/net/minecraft/world/level/ChunkPos.java b/src/main/java/net/minecraft/world/level/ChunkPos.java +index 7ccf830146c252cff8e22553d293e02d4b53dad8..4a5f318adf5bc2ca1c3fab5d173a99cddd77ab85 100644 +--- a/src/main/java/net/minecraft/world/level/ChunkPos.java ++++ b/src/main/java/net/minecraft/world/level/ChunkPos.java +@@ -104,6 +104,7 @@ public class ChunkPos { + return "[" + this.x + ", " + this.z + "]"; + } + ++ public final BlockPos asPosition() { return getWorldPosition(); } // Paper - OBFHELPER + public BlockPos getWorldPosition() { + return new BlockPos(this.getMinBlockX(), 0, this.getMinBlockZ()); + } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index f72471ac82907a0d5112598b3289689495285944..29b2f5d3e6fd4859fbe94ad1cd5c355be7f9d4f3 100644 +index 4fc44390f432ef13c9952aa22bbb29bc8bf47975..7261e22a71d219efe0949a08c5d3f10747759469 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2558,6 +2558,10 @@ public class CraftWorld implements World { +@@ -2523,6 +2523,10 @@ public class CraftWorld implements World { return future; } @@ -1171,22 +1316,39 @@ index f72471ac82907a0d5112598b3289689495285944..29b2f5d3e6fd4859fbe94ad1cd5c355b + } return this.world.getChunkSource().getChunkAtAsynchronously(x, z, gen, urgent).thenComposeAsync((either) -> { net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk) either.left().orElse(null); - if (chunk != null) addTicket(x, z); // Paper + return CompletableFuture.completedFuture(chunk == null ? null : chunk.getBukkitChunk()); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5bab49aa7f4a99dc6387fcf57bc39b16f912e6ab..0ff8a2d898b2fce5a7234841bb10cd5be050e326 100644 +index eb366396820c9b6731469df4198e0884a431a77c..610eabd2e93f9efccee810c3b5a314bc3cc649d8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -889,6 +889,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -60,6 +60,7 @@ import net.minecraft.server.level.ServerLevel; + import net.minecraft.server.level.ServerPlayer; + import net.minecraft.server.network.ServerGamePacketListenerImpl; + import net.minecraft.server.players.UserWhiteListEntry; ++import net.minecraft.util.Mth; + import net.minecraft.world.entity.Entity; + import net.minecraft.world.entity.ExperienceOrb; + import net.minecraft.world.entity.LivingEntity; +@@ -69,6 +70,7 @@ import net.minecraft.world.entity.ai.attributes.Attributes; + import net.minecraft.world.inventory.AbstractContainerMenu; + import net.minecraft.world.item.enchantment.EnchantmentHelper; + import net.minecraft.world.item.enchantment.Enchantments; ++import net.minecraft.world.level.ChunkPos; + import net.minecraft.world.level.GameType; + import net.minecraft.world.level.biome.BiomeManager; + import net.minecraft.world.level.block.entity.SignBlockEntity; +@@ -848,6 +850,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { throw new UnsupportedOperationException("Cannot set rotation of players. Consider teleporting instead."); } + // Paper start + @Override + public java.util.concurrent.CompletableFuture teleportAsync(Location loc, @javax.annotation.Nonnull PlayerTeleportEvent.TeleportCause cause) { -+ ((CraftWorld)loc.getWorld()).getHandle().getChunkSource().markAreaHighPriority(new net.minecraft.world.level.ChunkPos(net.minecraft.util.Mth.floor(loc.getX()) >> 4, net.minecraft.util.Mth.floor(loc.getZ()) >> 4), 28, 3); // Paper - load area high priority ++ ((CraftWorld)loc.getWorld()).getHandle().getChunkSource().markAreaHighPriority(new ChunkPos(Mth.floor(loc.getX()) >> 4, Mth.floor(loc.getZ()) >> 4), 28, 3); // Paper - load area high priority + return super.teleportAsync(loc, cause); + } + // Paper end ++ @Override public boolean teleport(Location location, PlayerTeleportEvent.TeleportCause cause) { Preconditions.checkArgument(location != null, "location"); diff --git a/patches/server/0040-Use-UserCache-for-player-heads.patch b/patches/server/0040-Use-UserCache-for-player-heads.patch index e13ca0bfd..3be79b349 100644 --- a/patches/server/0040-Use-UserCache-for-player-heads.patch +++ b/patches/server/0040-Use-UserCache-for-player-heads.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Use UserCache for player heads diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index 6432f668f72c0543283b5a1439d01da81ff5b981..9405812b8c308d70de1e26ba55500301b24ecc3c 100644 +index 354dcb1ddf74f39e367d50a8b8e2beeb9b2f9d02..b19d50bbe6c944ff66230ac013178bd036a438c8 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -@@ -168,7 +168,13 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -166,7 +166,13 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { if (name == null) { this.setProfile(null); } else { diff --git a/patches/server/0175-Add-setPlayerProfile-API-for-Skulls.patch b/patches/server/0175-Add-setPlayerProfile-API-for-Skulls.patch index 04752f751..8c638a6d9 100644 --- a/patches/server/0175-Add-setPlayerProfile-API-for-Skulls.patch +++ b/patches/server/0175-Add-setPlayerProfile-API-for-Skulls.patch @@ -40,7 +40,7 @@ index 1879ae835c437883f76330d6e2707460273d02db..df0ba7ed56fc635a4aa30934d1990043 public BlockFace getRotation() { BlockData blockData = getBlockData(); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index 490df0dcfd0e1e0ab05943410493522f86444ef8..7cacc61fed0c610845c67894d1cc68e44f5e46fe 100644 +index 5e345224e698bd80133dc194385c033369a60a33..33994a050826d10d69f375f65ecce2b56116cca0 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java @@ -4,10 +4,8 @@ import com.google.common.collect.ImmutableMap.Builder; @@ -68,7 +68,7 @@ index 490df0dcfd0e1e0ab05943410493522f86444ef8..7cacc61fed0c610845c67894d1cc68e4 @DelegateDeserialization(SerializableMeta.class) class CraftMetaSkull extends CraftMetaItem implements SkullMeta { -@@ -151,6 +154,19 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -149,6 +152,19 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { return this.hasOwner() ? this.profile.getName() : null; } diff --git a/patches/server/0478-Remove-some-streams-from-structures.patch b/patches/server/0477-Remove-some-streams-from-structures.patch similarity index 100% rename from patches/server/0478-Remove-some-streams-from-structures.patch rename to patches/server/0477-Remove-some-streams-from-structures.patch diff --git a/patches/server/0479-Remove-streams-from-classes-related-villager-gossip.patch b/patches/server/0478-Remove-streams-from-classes-related-villager-gossip.patch similarity index 100% rename from patches/server/0479-Remove-streams-from-classes-related-villager-gossip.patch rename to patches/server/0478-Remove-streams-from-classes-related-villager-gossip.patch diff --git a/patches/server/0480-Optimize-NibbleArray-to-use-pooled-buffers.patch b/patches/server/0479-Optimize-NibbleArray-to-use-pooled-buffers.patch similarity index 100% rename from patches/server/0480-Optimize-NibbleArray-to-use-pooled-buffers.patch rename to patches/server/0479-Optimize-NibbleArray-to-use-pooled-buffers.patch diff --git a/patches/server/0481-Support-components-in-ItemMeta.patch b/patches/server/0480-Support-components-in-ItemMeta.patch similarity index 100% rename from patches/server/0481-Support-components-in-ItemMeta.patch rename to patches/server/0480-Support-components-in-ItemMeta.patch diff --git a/patches/server/0482-Improve-EntityTargetLivingEntityEvent-for-1.16-mobs.patch b/patches/server/0481-Improve-EntityTargetLivingEntityEvent-for-1.16-mobs.patch similarity index 100% rename from patches/server/0482-Improve-EntityTargetLivingEntityEvent-for-1.16-mobs.patch rename to patches/server/0481-Improve-EntityTargetLivingEntityEvent-for-1.16-mobs.patch diff --git a/patches/server/0483-Add-entity-liquid-API.patch b/patches/server/0482-Add-entity-liquid-API.patch similarity index 100% rename from patches/server/0483-Add-entity-liquid-API.patch rename to patches/server/0482-Add-entity-liquid-API.patch diff --git a/patches/server/0484-Update-itemstack-legacy-name-and-lore.patch b/patches/server/0483-Update-itemstack-legacy-name-and-lore.patch similarity index 100% rename from patches/server/0484-Update-itemstack-legacy-name-and-lore.patch rename to patches/server/0483-Update-itemstack-legacy-name-and-lore.patch diff --git a/patches/server/0485-Spawn-player-in-correct-world-on-login.patch b/patches/server/0484-Spawn-player-in-correct-world-on-login.patch similarity index 94% rename from patches/server/0485-Spawn-player-in-correct-world-on-login.patch rename to patches/server/0484-Spawn-player-in-correct-world-on-login.patch index dbde21b12..2de440c5a 100644 --- a/patches/server/0485-Spawn-player-in-correct-world-on-login.patch +++ b/patches/server/0484-Spawn-player-in-correct-world-on-login.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Spawn player in correct world on login diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 9c13479d2a508728c10803dee719ed7ad097e019..56b33bcd93cd4e8b448271edee497b7c3c9b246a 100644 +index 7eb3088d47ff78198e01a3a12b0ce6abe9d6ca6b..66735bbc2528c5812c9df14ef7cd91cb69d903b2 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -193,7 +193,18 @@ public abstract class PlayerList { diff --git a/patches/server/0486-Add-PrepareResultEvent.patch b/patches/server/0485-Add-PrepareResultEvent.patch similarity index 100% rename from patches/server/0486-Add-PrepareResultEvent.patch rename to patches/server/0485-Add-PrepareResultEvent.patch diff --git a/patches/server/0487-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0486-Allow-delegation-to-vanilla-chunk-gen.patch similarity index 100% rename from patches/server/0487-Allow-delegation-to-vanilla-chunk-gen.patch rename to patches/server/0486-Allow-delegation-to-vanilla-chunk-gen.patch diff --git a/patches/server/0488-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch b/patches/server/0487-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch similarity index 100% rename from patches/server/0488-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch rename to patches/server/0487-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch diff --git a/patches/server/0489-Optimize-NetworkManager-Exception-Handling.patch b/patches/server/0488-Optimize-NetworkManager-Exception-Handling.patch similarity index 100% rename from patches/server/0489-Optimize-NetworkManager-Exception-Handling.patch rename to patches/server/0488-Optimize-NetworkManager-Exception-Handling.patch diff --git a/patches/server/0490-Optimize-the-advancement-data-player-iteration-to-be.patch b/patches/server/0489-Optimize-the-advancement-data-player-iteration-to-be.patch similarity index 100% rename from patches/server/0490-Optimize-the-advancement-data-player-iteration-to-be.patch rename to patches/server/0489-Optimize-the-advancement-data-player-iteration-to-be.patch diff --git a/patches/server/0491-Fix-arrows-never-despawning-MC-125757.patch b/patches/server/0490-Fix-arrows-never-despawning-MC-125757.patch similarity index 100% rename from patches/server/0491-Fix-arrows-never-despawning-MC-125757.patch rename to patches/server/0490-Fix-arrows-never-despawning-MC-125757.patch diff --git a/patches/server/0492-Thread-Safe-Vanilla-Command-permission-checking.patch b/patches/server/0491-Thread-Safe-Vanilla-Command-permission-checking.patch similarity index 100% rename from patches/server/0492-Thread-Safe-Vanilla-Command-permission-checking.patch rename to patches/server/0491-Thread-Safe-Vanilla-Command-permission-checking.patch diff --git a/patches/server/0493-Move-range-check-for-block-placing-up.patch b/patches/server/0492-Move-range-check-for-block-placing-up.patch similarity index 94% rename from patches/server/0493-Move-range-check-for-block-placing-up.patch rename to patches/server/0492-Move-range-check-for-block-placing-up.patch index 38e707701..31ad88805 100644 --- a/patches/server/0493-Move-range-check-for-block-placing-up.patch +++ b/patches/server/0492-Move-range-check-for-block-placing-up.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Move range check for block placing up diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6476d2a478b85116061a13f7ef2a5fec2ade4a04..003cd8a304420671d487c9e55622d9578aa75b3a 100644 +index fecb2a6b8674ca110d6af539396873e9dcdc0edb..74cdbe26b1453a3a54cff4a4698f58eba5a9cdf2 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1694,17 +1694,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1693,17 +1693,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser BlockPos blockposition = movingobjectpositionblock.getBlockPos(); Direction enumdirection = movingobjectpositionblock.getDirection(); diff --git a/patches/server/0494-Fix-SPIGOT-5989.patch b/patches/server/0493-Fix-SPIGOT-5989.patch similarity index 91% rename from patches/server/0494-Fix-SPIGOT-5989.patch rename to patches/server/0493-Fix-SPIGOT-5989.patch index 22c038b59..a31cd6ebb 100644 --- a/patches/server/0494-Fix-SPIGOT-5989.patch +++ b/patches/server/0493-Fix-SPIGOT-5989.patch @@ -10,7 +10,7 @@ This fixes that by checking if the modified spawn location is still at a respawn anchor. diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 56b33bcd93cd4e8b448271edee497b7c3c9b246a..0528099611eca136722507cacbd8ba6a668778b8 100644 +index 66735bbc2528c5812c9df14ef7cd91cb69d903b2..9c594c0f142ca10b7c1df50faf45ccb3f7468ba9 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -77,6 +77,7 @@ import net.minecraft.world.level.GameRules; @@ -21,7 +21,7 @@ index 56b33bcd93cd4e8b448271edee497b7c3c9b246a..0528099611eca136722507cacbd8ba6a import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.border.BorderChangeListener; import net.minecraft.world.level.border.WorldBorder; -@@ -822,6 +823,7 @@ public abstract class PlayerList { +@@ -821,6 +822,7 @@ public abstract class PlayerList { // Paper start boolean isBedSpawn = false; boolean isRespawn = false; @@ -29,7 +29,7 @@ index 56b33bcd93cd4e8b448271edee497b7c3c9b246a..0528099611eca136722507cacbd8ba6a // Paper end // CraftBukkit start - fire PlayerRespawnEvent -@@ -832,7 +834,7 @@ public abstract class PlayerList { +@@ -831,7 +833,7 @@ public abstract class PlayerList { Optional optional; if (blockposition != null) { @@ -38,7 +38,7 @@ index 56b33bcd93cd4e8b448271edee497b7c3c9b246a..0528099611eca136722507cacbd8ba6a } else { optional = Optional.empty(); } -@@ -875,7 +877,12 @@ public abstract class PlayerList { +@@ -874,7 +876,12 @@ public abstract class PlayerList { } // Spigot End @@ -52,7 +52,7 @@ index 56b33bcd93cd4e8b448271edee497b7c3c9b246a..0528099611eca136722507cacbd8ba6a if (!flag) entityplayer.reset(); // SPIGOT-4785 isRespawn = true; // Paper } else { -@@ -913,8 +920,12 @@ public abstract class PlayerList { +@@ -911,8 +918,12 @@ public abstract class PlayerList { } // entityplayer1.syncInventory(); entityplayer1.setHealth(entityplayer1.getHealth()); diff --git a/patches/server/0495-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch b/patches/server/0494-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch similarity index 100% rename from patches/server/0495-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch rename to patches/server/0494-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch diff --git a/patches/server/0496-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch b/patches/server/0495-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch similarity index 100% rename from patches/server/0496-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch rename to patches/server/0495-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch diff --git a/patches/server/0497-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch b/patches/server/0496-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch similarity index 100% rename from patches/server/0497-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch rename to patches/server/0496-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch diff --git a/patches/server/0498-Add-missing-strikeLighting-call-to-World-spigot-stri.patch b/patches/server/0497-Add-missing-strikeLighting-call-to-World-spigot-stri.patch similarity index 82% rename from patches/server/0498-Add-missing-strikeLighting-call-to-World-spigot-stri.patch rename to patches/server/0497-Add-missing-strikeLighting-call-to-World-spigot-stri.patch index b1f6784ef..9449b0ade 100644 --- a/patches/server/0498-Add-missing-strikeLighting-call-to-World-spigot-stri.patch +++ b/patches/server/0497-Add-missing-strikeLighting-call-to-World-spigot-stri.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add missing strikeLighting call to diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 29b2f5d3e6fd4859fbe94ad1cd5c355be7f9d4f3..babe877022156adc224643c3d487793bfa43d5ff 100644 +index f72471ac82907a0d5112598b3289689495285944..d79a711d4080ad8acb2c240870be9d99a0b84cea 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2627,6 +2627,7 @@ public class CraftWorld implements World { +@@ -2623,6 +2623,7 @@ public class CraftWorld implements World { lightning.moveTo( loc.getX(), loc.getY(), loc.getZ() ); lightning.visualOnly = true; lightning.isSilent = isSilent; diff --git a/patches/server/0499-Fix-some-rails-connecting-improperly.patch b/patches/server/0498-Fix-some-rails-connecting-improperly.patch similarity index 100% rename from patches/server/0499-Fix-some-rails-connecting-improperly.patch rename to patches/server/0498-Fix-some-rails-connecting-improperly.patch diff --git a/patches/server/0500-Incremental-player-saving.patch b/patches/server/0499-Incremental-player-saving.patch similarity index 96% rename from patches/server/0500-Incremental-player-saving.patch rename to patches/server/0499-Incremental-player-saving.patch index 7edc7644c..d288885d6 100644 --- a/patches/server/0500-Incremental-player-saving.patch +++ b/patches/server/0499-Incremental-player-saving.patch @@ -55,7 +55,7 @@ index 1feda8b44364c748497174944b26abc4f058f354..1889de77a5e3d9371005b6bd451e2c0e } // Paper start for (ServerLevel level : this.getAllLevels()) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 8cbfcbc795c920420bd1906576dfc766910e9e62..76bfe9ce15b76be95397b9cb0c27dd125b8bc423 100644 +index d59e707f28a5f04545208ad33d122fc433b85933..b299b8da09a304cdc52ddb725873a53045835b4a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -169,6 +169,7 @@ public class ServerPlayer extends Player { @@ -67,7 +67,7 @@ index 8cbfcbc795c920420bd1906576dfc766910e9e62..76bfe9ce15b76be95397b9cb0c27dd12 private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_Y = 10; public ServerGamePacketListenerImpl connection; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 0528099611eca136722507cacbd8ba6a668778b8..554da65376a1513af64fee6a958ceaa63c88b552 100644 +index 9c594c0f142ca10b7c1df50faf45ccb3f7468ba9..8c62367888af566dd9be4bb5cd301c26e0248e46 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -561,6 +561,7 @@ public abstract class PlayerList { @@ -78,7 +78,7 @@ index 0528099611eca136722507cacbd8ba6a668778b8..554da65376a1513af64fee6a958ceaa6 this.playerIo.save(player); ServerStatsCounter serverstatisticmanager = (ServerStatsCounter) player.getStats(); // CraftBukkit -@@ -1200,10 +1201,21 @@ public abstract class PlayerList { +@@ -1198,10 +1199,21 @@ public abstract class PlayerList { } public void saveAll() { diff --git a/patches/server/0501-Fix-MC-187716-Use-configured-height.patch b/patches/server/0500-Fix-MC-187716-Use-configured-height.patch similarity index 100% rename from patches/server/0501-Fix-MC-187716-Use-configured-height.patch rename to patches/server/0500-Fix-MC-187716-Use-configured-height.patch diff --git a/patches/server/0502-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch b/patches/server/0501-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch similarity index 100% rename from patches/server/0502-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch rename to patches/server/0501-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch diff --git a/patches/server/0503-Do-not-let-the-server-load-chunks-from-newer-version.patch b/patches/server/0502-Do-not-let-the-server-load-chunks-from-newer-version.patch similarity index 100% rename from patches/server/0503-Do-not-let-the-server-load-chunks-from-newer-version.patch rename to patches/server/0502-Do-not-let-the-server-load-chunks-from-newer-version.patch diff --git a/patches/server/0504-Brand-support.patch b/patches/server/0503-Brand-support.patch similarity index 90% rename from patches/server/0504-Brand-support.patch rename to patches/server/0503-Brand-support.patch index ea8b2ead1..ba59775a0 100644 --- a/patches/server/0504-Brand-support.patch +++ b/patches/server/0503-Brand-support.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Brand support diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 003cd8a304420671d487c9e55622d9578aa75b3a..6caae980ab043b8d48479e0849e1e297a78eb97a 100644 +index 74cdbe26b1453a3a54cff4a4698f58eba5a9cdf2..ffc64bd05428f147c03e242d9f9a134cd560c452 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -4,6 +4,7 @@ import com.google.common.collect.Lists; @@ -33,7 +33,7 @@ index 003cd8a304420671d487c9e55622d9578aa75b3a..6caae980ab043b8d48479e0849e1e297 public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player) { this.server = server; this.connection = connection; -@@ -3001,6 +3005,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3000,6 +3004,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser private static final ResourceLocation CUSTOM_REGISTER = new ResourceLocation("register"); private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister"); @@ -42,7 +42,7 @@ index 003cd8a304420671d487c9e55622d9578aa75b3a..6caae980ab043b8d48479e0849e1e297 @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); -@@ -3028,6 +3034,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3027,6 +3033,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser try { byte[] data = new byte[packet.data.readableBytes()]; packet.data.readBytes(data); @@ -58,7 +58,7 @@ index 003cd8a304420671d487c9e55622d9578aa75b3a..6caae980ab043b8d48479e0849e1e297 this.cserver.getMessenger().dispatchIncomingMessage(this.player.getBukkitEntity(), packet.identifier.toString(), data); } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); -@@ -3037,6 +3052,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3036,6 +3051,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } @@ -72,10 +72,10 @@ index 003cd8a304420671d487c9e55622d9578aa75b3a..6caae980ab043b8d48479e0849e1e297 return (!this.player.joining && !this.connection.isConnected()) || this.processedDisconnect; // Paper } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 0ff8a2d898b2fce5a7234841bb10cd5be050e326..737a7cfafe3125e6e9647fccffaf765531153979 100644 +index 5bab49aa7f4a99dc6387fcf57bc39b16f912e6ab..e4475535dadc39bc15b46d2c5b1f548dc8f8332c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2397,6 +2397,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2390,6 +2390,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end }; diff --git a/patches/server/0505-Add-setMaxPlayers-API.patch b/patches/server/0504-Add-setMaxPlayers-API.patch similarity index 94% rename from patches/server/0505-Add-setMaxPlayers-API.patch rename to patches/server/0504-Add-setMaxPlayers-API.patch index f7d28abb3..32f175e26 100644 --- a/patches/server/0505-Add-setMaxPlayers-API.patch +++ b/patches/server/0504-Add-setMaxPlayers-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add #setMaxPlayers API diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 554da65376a1513af64fee6a958ceaa63c88b552..c61a4e8e03996487ed3f7f39187d96a866191a41 100644 +index 8c62367888af566dd9be4bb5cd301c26e0248e46..2f73f1f770e5e1fa422bec9c27e5bd10e86b7538 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -142,7 +142,7 @@ public abstract class PlayerList { diff --git a/patches/server/0506-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/server/0505-Add-playPickupItemAnimation-to-LivingEntity.patch similarity index 100% rename from patches/server/0506-Add-playPickupItemAnimation-to-LivingEntity.patch rename to patches/server/0505-Add-playPickupItemAnimation-to-LivingEntity.patch diff --git a/patches/server/0507-Don-t-require-FACING-data.patch b/patches/server/0506-Don-t-require-FACING-data.patch similarity index 100% rename from patches/server/0507-Don-t-require-FACING-data.patch rename to patches/server/0506-Don-t-require-FACING-data.patch diff --git a/patches/server/0508-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0507-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch similarity index 96% rename from patches/server/0508-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch rename to patches/server/0507-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch index 5be1afd62..bfbcc9b27 100644 --- a/patches/server/0508-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch +++ b/patches/server/0507-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch @@ -24,7 +24,7 @@ index 225823ef8bb4171f770f90f083689850aa6a171e..8221b271aa18252b9883fbaf3982b467 // if this keepSpawnInMemory is false a plugin has already removed our tickets, do not re-add this.removeTicketsForSpawn(this.paperConfig.keepLoadedRange, prevSpawn); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index babe877022156adc224643c3d487793bfa43d5ff..b24395160c1ea84ed44a1db07b4f024a540ca80b 100644 +index d79a711d4080ad8acb2c240870be9d99a0b84cea..4ca674fac0e1ed354a0c49284c21ca2b117dd852 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -386,11 +386,13 @@ public class CraftWorld implements World { diff --git a/patches/server/0509-Add-moon-phase-API.patch b/patches/server/0508-Add-moon-phase-API.patch similarity index 89% rename from patches/server/0509-Add-moon-phase-API.patch rename to patches/server/0508-Add-moon-phase-API.patch index 884806ab1..e6c06c4be 100644 --- a/patches/server/0509-Add-moon-phase-API.patch +++ b/patches/server/0508-Add-moon-phase-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add moon phase API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index b24395160c1ea84ed44a1db07b4f024a540ca80b..b373e72237cc33a628648de515b163d8ce2980fb 100644 +index 4ca674fac0e1ed354a0c49284c21ca2b117dd852..d0b2de0f0a37554eb812aa8c7c20f1067807dc40 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -325,6 +325,11 @@ public class CraftWorld implements World { diff --git a/patches/server/0510-Prevent-headless-pistons-from-being-created.patch b/patches/server/0509-Prevent-headless-pistons-from-being-created.patch similarity index 100% rename from patches/server/0510-Prevent-headless-pistons-from-being-created.patch rename to patches/server/0509-Prevent-headless-pistons-from-being-created.patch diff --git a/patches/server/0511-Add-BellRingEvent.patch b/patches/server/0510-Add-BellRingEvent.patch similarity index 100% rename from patches/server/0511-Add-BellRingEvent.patch rename to patches/server/0510-Add-BellRingEvent.patch diff --git a/patches/server/0512-Add-zombie-targets-turtle-egg-config.patch b/patches/server/0511-Add-zombie-targets-turtle-egg-config.patch similarity index 100% rename from patches/server/0512-Add-zombie-targets-turtle-egg-config.patch rename to patches/server/0511-Add-zombie-targets-turtle-egg-config.patch diff --git a/patches/server/0513-Buffer-joins-to-world.patch b/patches/server/0512-Buffer-joins-to-world.patch similarity index 100% rename from patches/server/0513-Buffer-joins-to-world.patch rename to patches/server/0512-Buffer-joins-to-world.patch diff --git a/patches/server/0514-Optimize-redstone-algorithm.patch b/patches/server/0513-Optimize-redstone-algorithm.patch similarity index 100% rename from patches/server/0514-Optimize-redstone-algorithm.patch rename to patches/server/0513-Optimize-redstone-algorithm.patch diff --git a/patches/server/0515-Fix-hex-colors-not-working-in-some-kick-messages.patch b/patches/server/0514-Fix-hex-colors-not-working-in-some-kick-messages.patch similarity index 100% rename from patches/server/0515-Fix-hex-colors-not-working-in-some-kick-messages.patch rename to patches/server/0514-Fix-hex-colors-not-working-in-some-kick-messages.patch diff --git a/patches/server/0516-PortalCreateEvent-needs-to-know-its-entity.patch b/patches/server/0515-PortalCreateEvent-needs-to-know-its-entity.patch similarity index 100% rename from patches/server/0516-PortalCreateEvent-needs-to-know-its-entity.patch rename to patches/server/0515-PortalCreateEvent-needs-to-know-its-entity.patch diff --git a/patches/server/0517-Fix-CraftTeam-null-check.patch b/patches/server/0516-Fix-CraftTeam-null-check.patch similarity index 100% rename from patches/server/0517-Fix-CraftTeam-null-check.patch rename to patches/server/0516-Fix-CraftTeam-null-check.patch diff --git a/patches/server/0518-Add-more-Evoker-API.patch b/patches/server/0517-Add-more-Evoker-API.patch similarity index 100% rename from patches/server/0518-Add-more-Evoker-API.patch rename to patches/server/0517-Add-more-Evoker-API.patch diff --git a/patches/server/0519-Add-a-way-to-get-translation-keys-for-blocks-entitie.patch b/patches/server/0518-Add-a-way-to-get-translation-keys-for-blocks-entitie.patch similarity index 100% rename from patches/server/0519-Add-a-way-to-get-translation-keys-for-blocks-entitie.patch rename to patches/server/0518-Add-a-way-to-get-translation-keys-for-blocks-entitie.patch diff --git a/patches/server/0520-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/server/0519-Create-HoverEvent-from-ItemStack-Entity.patch similarity index 100% rename from patches/server/0520-Create-HoverEvent-from-ItemStack-Entity.patch rename to patches/server/0519-Create-HoverEvent-from-ItemStack-Entity.patch diff --git a/patches/server/0521-Cache-block-data-strings.patch b/patches/server/0520-Cache-block-data-strings.patch similarity index 100% rename from patches/server/0521-Cache-block-data-strings.patch rename to patches/server/0520-Cache-block-data-strings.patch diff --git a/patches/server/0522-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0521-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch similarity index 97% rename from patches/server/0522-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch rename to patches/server/0521-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch index dedafd733..fbf2f596c 100644 --- a/patches/server/0522-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch +++ b/patches/server/0521-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch @@ -9,7 +9,7 @@ as this is how Vanilla teleports entities. Cancel any pending motion when teleported. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6caae980ab043b8d48479e0849e1e297a78eb97a..b5b5f36cbdaac7791426ed721ff7db523edbda95 100644 +index ffc64bd05428f147c03e242d9f9a134cd560c452..93fc13fa6f631f779227262fb9aeebe40d451a25 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -682,7 +682,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -27,9 +27,9 @@ index 6caae980ab043b8d48479e0849e1e297a78eb97a..b5b5f36cbdaac7791426ed721ff7db52 this.awaitingTeleportTime = this.tickCount; - this.player.absMoveTo(d0, d1, d2, f, f1); + this.player.moveTo(d0, d1, d2, f, f1); // Paper - use proper setPositionRotation for teleportation - this.player.forceCheckHighPriority(); // Paper this.player.connection.send(new ClientboundPlayerPositionPacket(d0 - d3, d1 - d4, d2 - d5, f - f2, f1 - f3, set, this.awaitingTeleport, flag)); } + diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java index 6ae4da8ccff3627b37c4b0c0b65d23a37513fecc..1e7e1a85195b62ccb379db020fe87bf150cab6ba 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/patches/server/0523-Add-additional-open-container-api-to-HumanEntity.patch b/patches/server/0522-Add-additional-open-container-api-to-HumanEntity.patch similarity index 100% rename from patches/server/0523-Add-additional-open-container-api-to-HumanEntity.patch rename to patches/server/0522-Add-additional-open-container-api-to-HumanEntity.patch diff --git a/patches/server/0524-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch b/patches/server/0523-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch similarity index 100% rename from patches/server/0524-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch rename to patches/server/0523-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch diff --git a/patches/server/0525-Extend-block-drop-capture-to-capture-all-items-added.patch b/patches/server/0524-Extend-block-drop-capture-to-capture-all-items-added.patch similarity index 100% rename from patches/server/0525-Extend-block-drop-capture-to-capture-all-items-added.patch rename to patches/server/0524-Extend-block-drop-capture-to-capture-all-items-added.patch diff --git a/patches/server/0526-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch b/patches/server/0525-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch similarity index 84% rename from patches/server/0526-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch rename to patches/server/0525-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch index f71c5b364..9104dab8c 100644 --- a/patches/server/0526-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch +++ b/patches/server/0525-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't mark dirty in invalid locations (SPIGOT-6086) diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java -index 7a87258d1725348fe0c343540f6423885a97a560..5d9ab1f5d866f945be0d048537f697cebaa04eda 100644 +index c1db5cc45dbc7dd24a1ef4dbf88a8efb6c7f2d57..f811aa3710b33b55c984088bbd1f8fe688c84bc1 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java -@@ -372,6 +372,7 @@ public class ChunkHolder { +@@ -246,6 +246,7 @@ public class ChunkHolder { } public void blockChanged(BlockPos pos) { diff --git a/patches/server/0527-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0526-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch similarity index 100% rename from patches/server/0527-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch rename to patches/server/0526-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch diff --git a/patches/server/0528-Lazily-track-plugin-scoreboards-by-default.patch b/patches/server/0527-Lazily-track-plugin-scoreboards-by-default.patch similarity index 100% rename from patches/server/0528-Lazily-track-plugin-scoreboards-by-default.patch rename to patches/server/0527-Lazily-track-plugin-scoreboards-by-default.patch diff --git a/patches/server/0529-Entity-isTicking.patch b/patches/server/0528-Entity-isTicking.patch similarity index 100% rename from patches/server/0529-Entity-isTicking.patch rename to patches/server/0528-Entity-isTicking.patch diff --git a/patches/server/0530-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch b/patches/server/0529-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch similarity index 100% rename from patches/server/0530-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch rename to patches/server/0529-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch diff --git a/patches/server/0531-Fix-CME-on-adding-a-passenger-in-CreatureSpawnEvent.patch b/patches/server/0530-Fix-CME-on-adding-a-passenger-in-CreatureSpawnEvent.patch similarity index 100% rename from patches/server/0531-Fix-CME-on-adding-a-passenger-in-CreatureSpawnEvent.patch rename to patches/server/0530-Fix-CME-on-adding-a-passenger-in-CreatureSpawnEvent.patch diff --git a/patches/server/0532-Fix-Concurrency-issue-in-WeightedList.patch b/patches/server/0531-Fix-Concurrency-issue-in-WeightedList.patch similarity index 100% rename from patches/server/0532-Fix-Concurrency-issue-in-WeightedList.patch rename to patches/server/0531-Fix-Concurrency-issue-in-WeightedList.patch diff --git a/patches/server/0533-Reset-Ender-Crystals-on-Dragon-Spawn.patch b/patches/server/0532-Reset-Ender-Crystals-on-Dragon-Spawn.patch similarity index 100% rename from patches/server/0533-Reset-Ender-Crystals-on-Dragon-Spawn.patch rename to patches/server/0532-Reset-Ender-Crystals-on-Dragon-Spawn.patch diff --git a/patches/server/0534-Fix-for-large-move-vectors-crashing-server.patch b/patches/server/0533-Fix-for-large-move-vectors-crashing-server.patch similarity index 97% rename from patches/server/0534-Fix-for-large-move-vectors-crashing-server.patch rename to patches/server/0533-Fix-for-large-move-vectors-crashing-server.patch index 4eff17681..18319e2a0 100644 --- a/patches/server/0534-Fix-for-large-move-vectors-crashing-server.patch +++ b/patches/server/0533-Fix-for-large-move-vectors-crashing-server.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix for large move vectors crashing server Check movement distance also based on current position. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b5b5f36cbdaac7791426ed721ff7db523edbda95..36dccc209afb838cd3dbdfd26893cf5481d6653f 100644 +index 93fc13fa6f631f779227262fb9aeebe40d451a25..f3b7a9203bca8246789b293f0d043a4f253ce57f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -507,19 +507,24 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0535-Optimise-getType-calls.patch b/patches/server/0534-Optimise-getType-calls.patch similarity index 100% rename from patches/server/0535-Optimise-getType-calls.patch rename to patches/server/0534-Optimise-getType-calls.patch diff --git a/patches/server/0536-Villager-resetOffers.patch b/patches/server/0535-Villager-resetOffers.patch similarity index 100% rename from patches/server/0536-Villager-resetOffers.patch rename to patches/server/0535-Villager-resetOffers.patch diff --git a/patches/server/0537-Improve-inlinig-for-some-hot-IBlockData-methods.patch b/patches/server/0536-Improve-inlinig-for-some-hot-IBlockData-methods.patch similarity index 100% rename from patches/server/0537-Improve-inlinig-for-some-hot-IBlockData-methods.patch rename to patches/server/0536-Improve-inlinig-for-some-hot-IBlockData-methods.patch diff --git a/patches/server/0538-Retain-block-place-order-when-capturing-blockstates.patch b/patches/server/0537-Retain-block-place-order-when-capturing-blockstates.patch similarity index 100% rename from patches/server/0538-Retain-block-place-order-when-capturing-blockstates.patch rename to patches/server/0537-Retain-block-place-order-when-capturing-blockstates.patch diff --git a/patches/server/0539-Reduce-blockpos-allocation-from-pathfinding.patch b/patches/server/0538-Reduce-blockpos-allocation-from-pathfinding.patch similarity index 100% rename from patches/server/0539-Reduce-blockpos-allocation-from-pathfinding.patch rename to patches/server/0538-Reduce-blockpos-allocation-from-pathfinding.patch diff --git a/patches/server/0540-Fix-item-locations-dropped-from-campfires.patch b/patches/server/0539-Fix-item-locations-dropped-from-campfires.patch similarity index 100% rename from patches/server/0540-Fix-item-locations-dropped-from-campfires.patch rename to patches/server/0539-Fix-item-locations-dropped-from-campfires.patch diff --git a/patches/server/0541-Player-elytra-boost-API.patch b/patches/server/0540-Player-elytra-boost-API.patch similarity index 94% rename from patches/server/0541-Player-elytra-boost-API.patch rename to patches/server/0540-Player-elytra-boost-API.patch index 1bba9b7e3..366704d57 100644 --- a/patches/server/0541-Player-elytra-boost-API.patch +++ b/patches/server/0540-Player-elytra-boost-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Player elytra boost API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 737a7cfafe3125e6e9647fccffaf765531153979..7b810dac74831aa7faac5520c5b72689140c9398 100644 +index e4475535dadc39bc15b46d2c5b1f548dc8f8332c..b04fef0c559241295443659d08df366fc56c00e6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -538,6 +538,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0542-Fixed-TileEntityBell-memory-leak.patch b/patches/server/0541-Fixed-TileEntityBell-memory-leak.patch similarity index 100% rename from patches/server/0542-Fixed-TileEntityBell-memory-leak.patch rename to patches/server/0541-Fixed-TileEntityBell-memory-leak.patch diff --git a/patches/server/0543-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch b/patches/server/0542-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch similarity index 100% rename from patches/server/0543-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch rename to patches/server/0542-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch diff --git a/patches/server/0544-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0543-Add-getOfflinePlayerIfCached-String.patch similarity index 100% rename from patches/server/0544-Add-getOfflinePlayerIfCached-String.patch rename to patches/server/0543-Add-getOfflinePlayerIfCached-String.patch diff --git a/patches/server/0545-Add-ignore-discounts-API.patch b/patches/server/0544-Add-ignore-discounts-API.patch similarity index 100% rename from patches/server/0545-Add-ignore-discounts-API.patch rename to patches/server/0544-Add-ignore-discounts-API.patch diff --git a/patches/server/0546-Toggle-for-removing-existing-dragon.patch b/patches/server/0545-Toggle-for-removing-existing-dragon.patch similarity index 100% rename from patches/server/0546-Toggle-for-removing-existing-dragon.patch rename to patches/server/0545-Toggle-for-removing-existing-dragon.patch diff --git a/patches/server/0547-Fix-client-lag-on-advancement-loading.patch b/patches/server/0546-Fix-client-lag-on-advancement-loading.patch similarity index 100% rename from patches/server/0547-Fix-client-lag-on-advancement-loading.patch rename to patches/server/0546-Fix-client-lag-on-advancement-loading.patch diff --git a/patches/server/0548-Item-no-age-no-player-pickup.patch b/patches/server/0547-Item-no-age-no-player-pickup.patch similarity index 100% rename from patches/server/0548-Item-no-age-no-player-pickup.patch rename to patches/server/0547-Item-no-age-no-player-pickup.patch diff --git a/patches/server/0549-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/0548-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch similarity index 100% rename from patches/server/0549-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch rename to patches/server/0548-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch diff --git a/patches/server/0550-Beacon-API-custom-effect-ranges.patch b/patches/server/0549-Beacon-API-custom-effect-ranges.patch similarity index 100% rename from patches/server/0550-Beacon-API-custom-effect-ranges.patch rename to patches/server/0549-Beacon-API-custom-effect-ranges.patch diff --git a/patches/server/0551-Add-API-for-quit-reason.patch b/patches/server/0550-Add-API-for-quit-reason.patch similarity index 93% rename from patches/server/0551-Add-API-for-quit-reason.patch rename to patches/server/0550-Add-API-for-quit-reason.patch index 0c5ff2552..70c449560 100644 --- a/patches/server/0551-Add-API-for-quit-reason.patch +++ b/patches/server/0550-Add-API-for-quit-reason.patch @@ -25,10 +25,10 @@ index d32b96a5f51d745869cfc40c01c54de58e1eb843..759e563d1ed13249fada8a8eab6b6a10 Connection.LOGGER.debug("Failed to sent packet", throwable); ConnectionProtocol enumprotocol = this.getCurrentProtocol(); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 76bfe9ce15b76be95397b9cb0c27dd125b8bc423..1caf0b803892c3f0604361835282749d15b66d20 100644 +index b299b8da09a304cdc52ddb725873a53045835b4a..dcde52c720334ee647569afa91e50278f919956a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -254,6 +254,7 @@ public class ServerPlayer extends Player { +@@ -248,6 +248,7 @@ public class ServerPlayer extends Player { public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper boolean needsChunkCenterUpdate; // Paper - no-tick view distance @@ -37,7 +37,7 @@ index 76bfe9ce15b76be95397b9cb0c27dd125b8bc423..1caf0b803892c3f0604361835282749d public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 36dccc209afb838cd3dbdfd26893cf5481d6653f..c49d9eb34883342e685c5363a4d33bf4519b2b3b 100644 +index f3b7a9203bca8246789b293f0d043a4f253ce57f..52a23465cbb76a164bf2163045d09bdee249002d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -444,6 +444,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -49,7 +49,7 @@ index 36dccc209afb838cd3dbdfd26893cf5481d6653f..c49d9eb34883342e685c5363a4d33bf4 this.connection.disconnect(ichatbasecomponent); }); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index c61a4e8e03996487ed3f7f39187d96a866191a41..1c61fd2c2c5cf5344f8c6dc14ae01353810de9eb 100644 +index 2f73f1f770e5e1fa422bec9c27e5bd10e86b7538..fe548b8625a123798f8d966cb3bffd899971cb34 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -588,7 +588,7 @@ public abstract class PlayerList { diff --git a/patches/server/0552-Seed-based-feature-search.patch b/patches/server/0551-Seed-based-feature-search.patch similarity index 100% rename from patches/server/0552-Seed-based-feature-search.patch rename to patches/server/0551-Seed-based-feature-search.patch diff --git a/patches/server/0553-Add-Wandering-Trader-spawn-rate-config-options.patch b/patches/server/0552-Add-Wandering-Trader-spawn-rate-config-options.patch similarity index 100% rename from patches/server/0553-Add-Wandering-Trader-spawn-rate-config-options.patch rename to patches/server/0552-Add-Wandering-Trader-spawn-rate-config-options.patch diff --git a/patches/server/0554-Significantly-improve-performance-of-the-end-generat.patch b/patches/server/0553-Significantly-improve-performance-of-the-end-generat.patch similarity index 100% rename from patches/server/0554-Significantly-improve-performance-of-the-end-generat.patch rename to patches/server/0553-Significantly-improve-performance-of-the-end-generat.patch diff --git a/patches/server/0555-Expose-world-spawn-angle.patch b/patches/server/0554-Expose-world-spawn-angle.patch similarity index 88% rename from patches/server/0555-Expose-world-spawn-angle.patch rename to patches/server/0554-Expose-world-spawn-angle.patch index 38e827eec..419b67848 100644 --- a/patches/server/0555-Expose-world-spawn-angle.patch +++ b/patches/server/0554-Expose-world-spawn-angle.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose world spawn angle diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 1c61fd2c2c5cf5344f8c6dc14ae01353810de9eb..720fa2b74d3f9257a32e4bd5d21050626d136668 100644 +index fe548b8625a123798f8d966cb3bffd899971cb34..ce6d9b460f0f55fc6d5544d5c8d2b78e5fcc3937 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -866,7 +866,7 @@ public abstract class PlayerList { +@@ -865,7 +865,7 @@ public abstract class PlayerList { if (location == null) { worldserver1 = this.server.getLevel(Level.OVERWORLD); blockposition = entityplayer1.getSpawnPoint(worldserver1); @@ -18,7 +18,7 @@ index 1c61fd2c2c5cf5344f8c6dc14ae01353810de9eb..720fa2b74d3f9257a32e4bd5d2105062 Player respawnPlayer = this.cserver.getPlayer(entityplayer1); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index b373e72237cc33a628648de515b163d8ce2980fb..8257e5a648eebf8ac9fa1a15656643a448cf07b6 100644 +index d0b2de0f0a37554eb812aa8c7c20f1067807dc40..ed8c8b7ff07a58dfaf7bbb1e630a1e68cc0c29f3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -377,7 +377,7 @@ public class CraftWorld implements World { diff --git a/patches/server/0556-Add-Destroy-Speed-API.patch b/patches/server/0555-Add-Destroy-Speed-API.patch similarity index 100% rename from patches/server/0556-Add-Destroy-Speed-API.patch rename to patches/server/0555-Add-Destroy-Speed-API.patch diff --git a/patches/server/0557-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0556-Fix-Player-spawnParticle-x-y-z-precision-loss.patch similarity index 89% rename from patches/server/0557-Fix-Player-spawnParticle-x-y-z-precision-loss.patch rename to patches/server/0556-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index 2e5dc40be..adb4393d4 100644 --- a/patches/server/0557-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0556-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 7b810dac74831aa7faac5520c5b72689140c9398..2acd3895d696d8473a4ca75c9b08da379c0bfab0 100644 +index b04fef0c559241295443659d08df366fc56c00e6..049bfec8e8e078f335d34a96707320bf48f336c2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2058,7 +2058,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2051,7 +2051,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (data != null && !particle.getDataType().isInstance(data)) { throw new IllegalArgumentException("data should be " + particle.getDataType() + " got " + data.getClass()); } diff --git a/patches/server/0558-Add-LivingEntity-clearActiveItem.patch b/patches/server/0557-Add-LivingEntity-clearActiveItem.patch similarity index 100% rename from patches/server/0558-Add-LivingEntity-clearActiveItem.patch rename to patches/server/0557-Add-LivingEntity-clearActiveItem.patch diff --git a/patches/server/0559-Add-PlayerItemCooldownEvent.patch b/patches/server/0558-Add-PlayerItemCooldownEvent.patch similarity index 100% rename from patches/server/0559-Add-PlayerItemCooldownEvent.patch rename to patches/server/0558-Add-PlayerItemCooldownEvent.patch diff --git a/patches/server/0560-More-lightning-API.patch b/patches/server/0559-More-lightning-API.patch similarity index 100% rename from patches/server/0560-More-lightning-API.patch rename to patches/server/0559-More-lightning-API.patch diff --git a/patches/server/0561-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0560-Climbing-should-not-bypass-cramming-gamerule.patch similarity index 100% rename from patches/server/0561-Climbing-should-not-bypass-cramming-gamerule.patch rename to patches/server/0560-Climbing-should-not-bypass-cramming-gamerule.patch diff --git a/patches/server/0562-Added-missing-default-perms-for-commands.patch b/patches/server/0561-Added-missing-default-perms-for-commands.patch similarity index 100% rename from patches/server/0562-Added-missing-default-perms-for-commands.patch rename to patches/server/0561-Added-missing-default-perms-for-commands.patch diff --git a/patches/server/0563-Add-PlayerShearBlockEvent.patch b/patches/server/0562-Add-PlayerShearBlockEvent.patch similarity index 100% rename from patches/server/0563-Add-PlayerShearBlockEvent.patch rename to patches/server/0562-Add-PlayerShearBlockEvent.patch diff --git a/patches/server/0564-Set-spigots-verbose-world-setting-to-false-by-def.patch b/patches/server/0563-Set-spigots-verbose-world-setting-to-false-by-def.patch similarity index 100% rename from patches/server/0564-Set-spigots-verbose-world-setting-to-false-by-def.patch rename to patches/server/0563-Set-spigots-verbose-world-setting-to-false-by-def.patch diff --git a/patches/server/0565-Fix-curing-zombie-villager-discount-exploit.patch b/patches/server/0564-Fix-curing-zombie-villager-discount-exploit.patch similarity index 100% rename from patches/server/0565-Fix-curing-zombie-villager-discount-exploit.patch rename to patches/server/0564-Fix-curing-zombie-villager-discount-exploit.patch diff --git a/patches/server/0566-Limit-recipe-packets.patch b/patches/server/0565-Limit-recipe-packets.patch similarity index 95% rename from patches/server/0566-Limit-recipe-packets.patch rename to patches/server/0565-Limit-recipe-packets.patch index a0203e607..2843cd99c 100644 --- a/patches/server/0566-Limit-recipe-packets.patch +++ b/patches/server/0565-Limit-recipe-packets.patch @@ -23,7 +23,7 @@ index 7d50aded88f5b7dfebaea1aebc86231f7b5c4e25..652d87fc5d566dba8018c81676329f0e public static boolean velocityOnlineMode; public static byte[] velocitySecretKey; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c49d9eb34883342e685c5363a4d33bf4519b2b3b..4d4b0c1fd4021367f16a292e6059de7f61a8ca8a 100644 +index 52a23465cbb76a164bf2163045d09bdee249002d..c4734bcb26558a6524d4463aff28c4d2776ba22d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -232,6 +232,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -42,7 +42,7 @@ index c49d9eb34883342e685c5363a4d33bf4519b2b3b..4d4b0c1fd4021367f16a292e6059de7f /* Use thread-safe field access instead if (this.chatSpamTickCount > 0) { --this.chatSpamTickCount; -@@ -2795,6 +2797,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2794,6 +2796,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @Override public void handlePlaceRecipe(ServerboundPlaceRecipePacket packet) { diff --git a/patches/server/0567-Fix-CraftSound-backwards-compatibility.patch b/patches/server/0566-Fix-CraftSound-backwards-compatibility.patch similarity index 100% rename from patches/server/0567-Fix-CraftSound-backwards-compatibility.patch rename to patches/server/0566-Fix-CraftSound-backwards-compatibility.patch diff --git a/patches/server/0568-MC-4-Fix-item-position-desync.patch b/patches/server/0567-MC-4-Fix-item-position-desync.patch similarity index 100% rename from patches/server/0568-MC-4-Fix-item-position-desync.patch rename to patches/server/0567-MC-4-Fix-item-position-desync.patch diff --git a/patches/server/0569-Player-Chunk-Load-Unload-Events.patch b/patches/server/0568-Player-Chunk-Load-Unload-Events.patch similarity index 90% rename from patches/server/0569-Player-Chunk-Load-Unload-Events.patch rename to patches/server/0568-Player-Chunk-Load-Unload-Events.patch index 8850a111f..863c2c767 100644 --- a/patches/server/0569-Player-Chunk-Load-Unload-Events.patch +++ b/patches/server/0568-Player-Chunk-Load-Unload-Events.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player Chunk Load/Unload Events diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 1caf0b803892c3f0604361835282749d15b66d20..3a917f0b5b616952fa6c30f492f4420083963679 100644 +index dcde52c720334ee647569afa91e50278f919956a..f916b1450fb0c46f6675ff8d1973d95814c980e3 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2087,11 +2087,21 @@ public class ServerPlayer extends Player { +@@ -2065,11 +2065,21 @@ public class ServerPlayer extends Player { public void trackChunk(ChunkPos chunkcoordintpair, Packet packet, Packet packet1) { this.connection.send(packet1); this.connection.send(packet); diff --git a/patches/server/0570-Optimize-Dynamic-get-Missing-Keys.patch b/patches/server/0569-Optimize-Dynamic-get-Missing-Keys.patch similarity index 100% rename from patches/server/0570-Optimize-Dynamic-get-Missing-Keys.patch rename to patches/server/0569-Optimize-Dynamic-get-Missing-Keys.patch diff --git a/patches/server/0571-Expose-LivingEntity-hurt-direction.patch b/patches/server/0570-Expose-LivingEntity-hurt-direction.patch similarity index 100% rename from patches/server/0571-Expose-LivingEntity-hurt-direction.patch rename to patches/server/0570-Expose-LivingEntity-hurt-direction.patch diff --git a/patches/server/0572-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/server/0571-Add-OBSTRUCTED-reason-to-BedEnterResult.patch similarity index 100% rename from patches/server/0572-Add-OBSTRUCTED-reason-to-BedEnterResult.patch rename to patches/server/0571-Add-OBSTRUCTED-reason-to-BedEnterResult.patch diff --git a/patches/server/0573-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch b/patches/server/0572-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch similarity index 100% rename from patches/server/0573-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch rename to patches/server/0572-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch diff --git a/patches/server/0574-added-PlayerTradeEvent.patch b/patches/server/0573-added-PlayerTradeEvent.patch similarity index 100% rename from patches/server/0574-added-PlayerTradeEvent.patch rename to patches/server/0573-added-PlayerTradeEvent.patch diff --git a/patches/server/0575-Implement-TargetHitEvent.patch b/patches/server/0574-Implement-TargetHitEvent.patch similarity index 100% rename from patches/server/0575-Implement-TargetHitEvent.patch rename to patches/server/0574-Implement-TargetHitEvent.patch diff --git a/patches/server/0576-Additional-Block-Material-API-s.patch b/patches/server/0575-Additional-Block-Material-API-s.patch similarity index 100% rename from patches/server/0576-Additional-Block-Material-API-s.patch rename to patches/server/0575-Additional-Block-Material-API-s.patch diff --git a/patches/server/0577-Fix-harming-potion-dupe.patch b/patches/server/0576-Fix-harming-potion-dupe.patch similarity index 100% rename from patches/server/0577-Fix-harming-potion-dupe.patch rename to patches/server/0576-Fix-harming-potion-dupe.patch diff --git a/patches/server/0578-Implement-API-to-get-Material-from-Boats-and-Minecar.patch b/patches/server/0577-Implement-API-to-get-Material-from-Boats-and-Minecar.patch similarity index 100% rename from patches/server/0578-Implement-API-to-get-Material-from-Boats-and-Minecar.patch rename to patches/server/0577-Implement-API-to-get-Material-from-Boats-and-Minecar.patch diff --git a/patches/server/0579-Cache-burn-durations.patch b/patches/server/0578-Cache-burn-durations.patch similarity index 100% rename from patches/server/0579-Cache-burn-durations.patch rename to patches/server/0578-Cache-burn-durations.patch diff --git a/patches/server/0580-Allow-disabling-mob-spawner-spawn-egg-transformation.patch b/patches/server/0579-Allow-disabling-mob-spawner-spawn-egg-transformation.patch similarity index 100% rename from patches/server/0580-Allow-disabling-mob-spawner-spawn-egg-transformation.patch rename to patches/server/0579-Allow-disabling-mob-spawner-spawn-egg-transformation.patch diff --git a/patches/server/0581-Fix-Not-a-string-Map-Conversion-spam.patch b/patches/server/0580-Fix-Not-a-string-Map-Conversion-spam.patch similarity index 100% rename from patches/server/0581-Fix-Not-a-string-Map-Conversion-spam.patch rename to patches/server/0580-Fix-Not-a-string-Map-Conversion-spam.patch diff --git a/patches/server/0582-Implement-PlayerFlowerPotManipulateEvent.patch b/patches/server/0581-Implement-PlayerFlowerPotManipulateEvent.patch similarity index 100% rename from patches/server/0582-Implement-PlayerFlowerPotManipulateEvent.patch rename to patches/server/0581-Implement-PlayerFlowerPotManipulateEvent.patch diff --git a/patches/server/0583-Fix-interact-event-not-being-called-in-adventure.patch b/patches/server/0582-Fix-interact-event-not-being-called-in-adventure.patch similarity index 90% rename from patches/server/0583-Fix-interact-event-not-being-called-in-adventure.patch rename to patches/server/0582-Fix-interact-event-not-being-called-in-adventure.patch index f93d83580..6b62719ee 100644 --- a/patches/server/0583-Fix-interact-event-not-being-called-in-adventure.patch +++ b/patches/server/0582-Fix-interact-event-not-being-called-in-adventure.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix interact event not being called in adventure Call PlayerInteractEvent when left-clicking on a block in adventure mode diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4d4b0c1fd4021367f16a292e6059de7f61a8ca8a..703c5de24d2be2462cffe597f3a05d766075b128 100644 +index c4734bcb26558a6524d4463aff28c4d2776ba22d..f6f8b7e18a5ebee5a5599b0cb314eab6bef0fbc3 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1734,7 +1734,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1733,7 +1733,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser MutableComponent ichatmutablecomponent = (new TranslatableComponent("build.tooHigh", new Object[]{i - 1})).withStyle(ChatFormatting.RED); this.player.sendMessage((Component) ichatmutablecomponent, ChatType.GAME_INFO, Util.NIL_UUID); @@ -18,7 +18,7 @@ index 4d4b0c1fd4021367f16a292e6059de7f61a8ca8a..703c5de24d2be2462cffe597f3a05d76 this.player.swing(enumhand, true); } } -@@ -2206,7 +2206,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2205,7 +2205,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser Vec3 vec3d1 = vec3d.add((double) f7 * d3, (double) f6 * d3, (double) f8 * d3); HitResult movingobjectposition = this.player.level.clip(new ClipContext(vec3d, vec3d1, ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, this.player)); diff --git a/patches/server/0584-Zombie-API-breaking-doors.patch b/patches/server/0583-Zombie-API-breaking-doors.patch similarity index 100% rename from patches/server/0584-Zombie-API-breaking-doors.patch rename to patches/server/0583-Zombie-API-breaking-doors.patch diff --git a/patches/server/0585-Fix-nerfed-slime-when-splitting.patch b/patches/server/0584-Fix-nerfed-slime-when-splitting.patch similarity index 100% rename from patches/server/0585-Fix-nerfed-slime-when-splitting.patch rename to patches/server/0584-Fix-nerfed-slime-when-splitting.patch diff --git a/patches/server/0586-Add-EntityLoadCrossbowEvent.patch b/patches/server/0585-Add-EntityLoadCrossbowEvent.patch similarity index 100% rename from patches/server/0586-Add-EntityLoadCrossbowEvent.patch rename to patches/server/0585-Add-EntityLoadCrossbowEvent.patch diff --git a/patches/server/0587-Guardian-beam-workaround.patch b/patches/server/0586-Guardian-beam-workaround.patch similarity index 100% rename from patches/server/0587-Guardian-beam-workaround.patch rename to patches/server/0586-Guardian-beam-workaround.patch diff --git a/patches/server/0588-Added-WorldGameRuleChangeEvent.patch b/patches/server/0587-Added-WorldGameRuleChangeEvent.patch similarity index 98% rename from patches/server/0588-Added-WorldGameRuleChangeEvent.patch rename to patches/server/0587-Added-WorldGameRuleChangeEvent.patch index 5b055df69..ba4487104 100644 --- a/patches/server/0588-Added-WorldGameRuleChangeEvent.patch +++ b/patches/server/0587-Added-WorldGameRuleChangeEvent.patch @@ -64,7 +64,7 @@ index 888d812118c15c212284687ae5842a94f5715d52..e7ca5d6fb8922e7e8065864f736b0605 public int get() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 8257e5a648eebf8ac9fa1a15656643a448cf07b6..c36a9eedaa587d513a3be78054d15f4ad96d4d7c 100644 +index ed8c8b7ff07a58dfaf7bbb1e630a1e68cc0c29f3..fd01fc9708a62df9483c88ffeec6a0304f3708ca 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -2363,8 +2363,13 @@ public class CraftWorld implements World { diff --git a/patches/server/0589-Added-ServerResourcesReloadedEvent.patch b/patches/server/0588-Added-ServerResourcesReloadedEvent.patch similarity index 100% rename from patches/server/0589-Added-ServerResourcesReloadedEvent.patch rename to patches/server/0588-Added-ServerResourcesReloadedEvent.patch diff --git a/patches/server/0590-Added-world-settings-for-mobs-picking-up-loot.patch b/patches/server/0589-Added-world-settings-for-mobs-picking-up-loot.patch similarity index 100% rename from patches/server/0590-Added-world-settings-for-mobs-picking-up-loot.patch rename to patches/server/0589-Added-world-settings-for-mobs-picking-up-loot.patch diff --git a/patches/server/0591-Implemented-BlockFailedDispenseEvent.patch b/patches/server/0590-Implemented-BlockFailedDispenseEvent.patch similarity index 100% rename from patches/server/0591-Implemented-BlockFailedDispenseEvent.patch rename to patches/server/0590-Implemented-BlockFailedDispenseEvent.patch diff --git a/patches/server/0592-Added-PlayerLecternPageChangeEvent.patch b/patches/server/0591-Added-PlayerLecternPageChangeEvent.patch similarity index 100% rename from patches/server/0592-Added-PlayerLecternPageChangeEvent.patch rename to patches/server/0591-Added-PlayerLecternPageChangeEvent.patch diff --git a/patches/server/0593-Added-PlayerLoomPatternSelectEvent.patch b/patches/server/0592-Added-PlayerLoomPatternSelectEvent.patch similarity index 100% rename from patches/server/0593-Added-PlayerLoomPatternSelectEvent.patch rename to patches/server/0592-Added-PlayerLoomPatternSelectEvent.patch diff --git a/patches/server/0594-Configurable-door-breaking-difficulty.patch b/patches/server/0593-Configurable-door-breaking-difficulty.patch similarity index 100% rename from patches/server/0594-Configurable-door-breaking-difficulty.patch rename to patches/server/0593-Configurable-door-breaking-difficulty.patch diff --git a/patches/server/0595-Empty-commands-shall-not-be-dispatched.patch b/patches/server/0594-Empty-commands-shall-not-be-dispatched.patch similarity index 100% rename from patches/server/0595-Empty-commands-shall-not-be-dispatched.patch rename to patches/server/0594-Empty-commands-shall-not-be-dispatched.patch diff --git a/patches/server/0596-Implement-API-to-expose-exact-interaction-point.patch b/patches/server/0595-Implement-API-to-expose-exact-interaction-point.patch similarity index 100% rename from patches/server/0596-Implement-API-to-expose-exact-interaction-point.patch rename to patches/server/0595-Implement-API-to-expose-exact-interaction-point.patch diff --git a/patches/server/0597-Remove-stale-POIs.patch b/patches/server/0596-Remove-stale-POIs.patch similarity index 100% rename from patches/server/0597-Remove-stale-POIs.patch rename to patches/server/0596-Remove-stale-POIs.patch diff --git a/patches/server/0598-Fix-villager-boat-exploit.patch b/patches/server/0597-Fix-villager-boat-exploit.patch similarity index 93% rename from patches/server/0598-Fix-villager-boat-exploit.patch rename to patches/server/0597-Fix-villager-boat-exploit.patch index 5eec001ad..edc990c63 100644 --- a/patches/server/0598-Fix-villager-boat-exploit.patch +++ b/patches/server/0597-Fix-villager-boat-exploit.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix villager boat exploit diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 720fa2b74d3f9257a32e4bd5d21050626d136668..bbb2b5d96b35328e0b6041145a3d8234fd43dd03 100644 +index ce6d9b460f0f55fc6d5544d5c8d2b78e5fcc3937..9a37a962b141e9faecc9f6f4906a9d727d20c20a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -613,6 +613,15 @@ public abstract class PlayerList { diff --git a/patches/server/0599-Add-sendOpLevel-API.patch b/patches/server/0598-Add-sendOpLevel-API.patch similarity index 91% rename from patches/server/0599-Add-sendOpLevel-API.patch rename to patches/server/0598-Add-sendOpLevel-API.patch index ce14acb28..3059f7c30 100644 --- a/patches/server/0599-Add-sendOpLevel-API.patch +++ b/patches/server/0598-Add-sendOpLevel-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add sendOpLevel API diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index bbb2b5d96b35328e0b6041145a3d8234fd43dd03..213bfc7637b649a8e578d9a122fc4fce3c9fe9ea 100644 +index 9a37a962b141e9faecc9f6f4906a9d727d20c20a..d01712cad42c078a726d6f757a4d8f0e3f186274 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1115,22 +1115,29 @@ public abstract class PlayerList { +@@ -1113,22 +1113,29 @@ public abstract class PlayerList { } private void sendPlayerPermissionLevel(ServerPlayer player, int permissionLevel) { @@ -46,7 +46,7 @@ index bbb2b5d96b35328e0b6041145a3d8234fd43dd03..213bfc7637b649a8e578d9a122fc4fce // Paper start diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2acd3895d696d8473a4ca75c9b08da379c0bfab0..dd0293ebf6ba95469189e6c0f7f038ad98cd3d01 100644 +index 049bfec8e8e078f335d34a96707320bf48f336c2..8d48f45d695b15eb136bc7609315f5dc88104e7c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -552,6 +552,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0600-Add-StructureLocateEvent.patch b/patches/server/0599-Add-StructureLocateEvent.patch similarity index 100% rename from patches/server/0600-Add-StructureLocateEvent.patch rename to patches/server/0599-Add-StructureLocateEvent.patch diff --git a/patches/server/0601-Collision-option-for-requiring-a-player-participant.patch b/patches/server/0600-Collision-option-for-requiring-a-player-participant.patch similarity index 100% rename from patches/server/0601-Collision-option-for-requiring-a-player-participant.patch rename to patches/server/0600-Collision-option-for-requiring-a-player-participant.patch diff --git a/patches/server/0602-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch b/patches/server/0601-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch similarity index 100% rename from patches/server/0602-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch rename to patches/server/0601-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch diff --git a/patches/server/0603-Return-chat-component-with-empty-text-instead-of-thr.patch b/patches/server/0602-Return-chat-component-with-empty-text-instead-of-thr.patch similarity index 100% rename from patches/server/0603-Return-chat-component-with-empty-text-instead-of-thr.patch rename to patches/server/0602-Return-chat-component-with-empty-text-instead-of-thr.patch diff --git a/patches/server/0604-Make-schedule-command-per-world.patch b/patches/server/0603-Make-schedule-command-per-world.patch similarity index 100% rename from patches/server/0604-Make-schedule-command-per-world.patch rename to patches/server/0603-Make-schedule-command-per-world.patch diff --git a/patches/server/0605-Configurable-max-leash-distance.patch b/patches/server/0604-Configurable-max-leash-distance.patch similarity index 100% rename from patches/server/0605-Configurable-max-leash-distance.patch rename to patches/server/0604-Configurable-max-leash-distance.patch diff --git a/patches/server/0606-Implement-BlockPreDispenseEvent.patch b/patches/server/0605-Implement-BlockPreDispenseEvent.patch similarity index 100% rename from patches/server/0606-Implement-BlockPreDispenseEvent.patch rename to patches/server/0605-Implement-BlockPreDispenseEvent.patch diff --git a/patches/server/0607-Added-Vanilla-Entity-Tags.patch b/patches/server/0606-Added-Vanilla-Entity-Tags.patch similarity index 100% rename from patches/server/0607-Added-Vanilla-Entity-Tags.patch rename to patches/server/0606-Added-Vanilla-Entity-Tags.patch diff --git a/patches/server/0608-added-Wither-API.patch b/patches/server/0607-added-Wither-API.patch similarity index 100% rename from patches/server/0608-added-Wither-API.patch rename to patches/server/0607-added-Wither-API.patch diff --git a/patches/server/0609-Added-firing-of-PlayerChangeBeaconEffectEvent.patch b/patches/server/0608-Added-firing-of-PlayerChangeBeaconEffectEvent.patch similarity index 100% rename from patches/server/0609-Added-firing-of-PlayerChangeBeaconEffectEvent.patch rename to patches/server/0608-Added-firing-of-PlayerChangeBeaconEffectEvent.patch diff --git a/patches/server/0610-Fix-console-spam-when-removing-chests-in-water.patch b/patches/server/0609-Fix-console-spam-when-removing-chests-in-water.patch similarity index 100% rename from patches/server/0610-Fix-console-spam-when-removing-chests-in-water.patch rename to patches/server/0609-Fix-console-spam-when-removing-chests-in-water.patch diff --git a/patches/server/0611-Add-toggle-for-always-placing-the-dragon-egg.patch b/patches/server/0610-Add-toggle-for-always-placing-the-dragon-egg.patch similarity index 100% rename from patches/server/0611-Add-toggle-for-always-placing-the-dragon-egg.patch rename to patches/server/0610-Add-toggle-for-always-placing-the-dragon-egg.patch diff --git a/patches/server/0612-Added-PlayerStonecutterRecipeSelectEvent.patch b/patches/server/0611-Added-PlayerStonecutterRecipeSelectEvent.patch similarity index 100% rename from patches/server/0612-Added-PlayerStonecutterRecipeSelectEvent.patch rename to patches/server/0611-Added-PlayerStonecutterRecipeSelectEvent.patch diff --git a/patches/server/0613-Add-dropLeash-variable-to-EntityUnleashEvent.patch b/patches/server/0612-Add-dropLeash-variable-to-EntityUnleashEvent.patch similarity index 100% rename from patches/server/0613-Add-dropLeash-variable-to-EntityUnleashEvent.patch rename to patches/server/0612-Add-dropLeash-variable-to-EntityUnleashEvent.patch diff --git a/patches/server/0614-Skip-distance-map-update-when-spawning-disabled.patch b/patches/server/0613-Skip-distance-map-update-when-spawning-disabled.patch similarity index 87% rename from patches/server/0614-Skip-distance-map-update-when-spawning-disabled.patch rename to patches/server/0613-Skip-distance-map-update-when-spawning-disabled.patch index d2d3b95a7..55cd4d654 100644 --- a/patches/server/0614-Skip-distance-map-update-when-spawning-disabled.patch +++ b/patches/server/0613-Skip-distance-map-update-when-spawning-disabled.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Skip distance map update when spawning disabled. diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 275d9bdd884ca4ac7e57fc042d044eb49485191a..ef14a262f74865484c6ba409d29e8f5db71d76ae 100644 +index 094c07c3208b0c05f918b7ee19f1d5b9ceeece47..40f0af6a3c27927c2a2bde00e94e24000a4d54f7 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -811,7 +811,7 @@ public class ServerChunkCache extends ChunkSource { +@@ -779,7 +779,7 @@ public class ServerChunkCache extends ChunkSource { int l = this.distanceManager.getNaturalSpawnChunkCount(); // Paper start - per player mob spawning NaturalSpawner.SpawnState spawnercreature_d; // moved down diff --git a/patches/server/0615-Reset-shield-blocking-on-dimension-change.patch b/patches/server/0614-Reset-shield-blocking-on-dimension-change.patch similarity index 83% rename from patches/server/0615-Reset-shield-blocking-on-dimension-change.patch rename to patches/server/0614-Reset-shield-blocking-on-dimension-change.patch index 019470a23..a294b0525 100644 --- a/patches/server/0615-Reset-shield-blocking-on-dimension-change.patch +++ b/patches/server/0614-Reset-shield-blocking-on-dimension-change.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reset shield blocking on dimension change diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 3a917f0b5b616952fa6c30f492f4420083963679..3d56324f65ceb7fd361244eb770792af54e5e320 100644 +index f916b1450fb0c46f6675ff8d1973d95814c980e3..c17637e5796fda8632c2fe399dbcd63fafa4133e 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1139,6 +1139,11 @@ public class ServerPlayer extends Player { +@@ -1117,6 +1117,11 @@ public class ServerPlayer extends Player { this.level.getCraftServer().getPluginManager().callEvent(changeEvent); // CraftBukkit end } diff --git a/patches/server/0616-add-DragonEggFormEvent.patch b/patches/server/0615-add-DragonEggFormEvent.patch similarity index 100% rename from patches/server/0616-add-DragonEggFormEvent.patch rename to patches/server/0615-add-DragonEggFormEvent.patch diff --git a/patches/server/0617-EntityMoveEvent.patch b/patches/server/0616-EntityMoveEvent.patch similarity index 100% rename from patches/server/0617-EntityMoveEvent.patch rename to patches/server/0616-EntityMoveEvent.patch diff --git a/patches/server/0618-added-option-to-disable-pathfinding-updates-on-block.patch b/patches/server/0617-added-option-to-disable-pathfinding-updates-on-block.patch similarity index 100% rename from patches/server/0618-added-option-to-disable-pathfinding-updates-on-block.patch rename to patches/server/0617-added-option-to-disable-pathfinding-updates-on-block.patch diff --git a/patches/server/0619-Inline-shift-direction-fields.patch b/patches/server/0618-Inline-shift-direction-fields.patch similarity index 100% rename from patches/server/0619-Inline-shift-direction-fields.patch rename to patches/server/0618-Inline-shift-direction-fields.patch diff --git a/patches/server/0620-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/server/0619-Allow-adding-items-to-BlockDropItemEvent.patch similarity index 100% rename from patches/server/0620-Allow-adding-items-to-BlockDropItemEvent.patch rename to patches/server/0619-Allow-adding-items-to-BlockDropItemEvent.patch diff --git a/patches/server/0621-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/server/0620-Add-getMainThreadExecutor-to-BukkitScheduler.patch similarity index 100% rename from patches/server/0621-Add-getMainThreadExecutor-to-BukkitScheduler.patch rename to patches/server/0620-Add-getMainThreadExecutor-to-BukkitScheduler.patch diff --git a/patches/server/0622-living-entity-allow-attribute-registration.patch b/patches/server/0621-living-entity-allow-attribute-registration.patch similarity index 100% rename from patches/server/0622-living-entity-allow-attribute-registration.patch rename to patches/server/0621-living-entity-allow-attribute-registration.patch diff --git a/patches/server/0623-fix-dead-slime-setSize-invincibility.patch b/patches/server/0622-fix-dead-slime-setSize-invincibility.patch similarity index 100% rename from patches/server/0623-fix-dead-slime-setSize-invincibility.patch rename to patches/server/0622-fix-dead-slime-setSize-invincibility.patch diff --git a/patches/server/0624-Merchant-getRecipes-should-return-an-immutable-list.patch b/patches/server/0623-Merchant-getRecipes-should-return-an-immutable-list.patch similarity index 100% rename from patches/server/0624-Merchant-getRecipes-should-return-an-immutable-list.patch rename to patches/server/0623-Merchant-getRecipes-should-return-an-immutable-list.patch diff --git a/patches/server/0625-misc-debugging-dumps.patch b/patches/server/0624-misc-debugging-dumps.patch similarity index 100% rename from patches/server/0625-misc-debugging-dumps.patch rename to patches/server/0624-misc-debugging-dumps.patch diff --git a/patches/server/0626-Add-support-for-hex-color-codes-in-console.patch b/patches/server/0625-Add-support-for-hex-color-codes-in-console.patch similarity index 100% rename from patches/server/0626-Add-support-for-hex-color-codes-in-console.patch rename to patches/server/0625-Add-support-for-hex-color-codes-in-console.patch diff --git a/patches/server/0627-Expose-Tracked-Players.patch b/patches/server/0626-Expose-Tracked-Players.patch similarity index 87% rename from patches/server/0627-Expose-Tracked-Players.patch rename to patches/server/0626-Expose-Tracked-Players.patch index 2a9de9eba..61565810c 100644 --- a/patches/server/0627-Expose-Tracked-Players.patch +++ b/patches/server/0626-Expose-Tracked-Players.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose Tracked Players diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index dd0293ebf6ba95469189e6c0f7f038ad98cd3d01..2314b1ab177fdc5dcbf96a998d9b1d0a86e10037 100644 +index 8d48f45d695b15eb136bc7609315f5dc88104e7c..5e12cfce9d61221651c88a8323a4f099adcf3fa2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2316,6 +2316,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2309,6 +2309,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/server/0628-Remove-streams-from-SensorNearest.patch b/patches/server/0627-Remove-streams-from-SensorNearest.patch similarity index 100% rename from patches/server/0628-Remove-streams-from-SensorNearest.patch rename to patches/server/0627-Remove-streams-from-SensorNearest.patch diff --git a/patches/server/0629-MC-29274-Fix-Wither-hostility-towards-players.patch b/patches/server/0628-MC-29274-Fix-Wither-hostility-towards-players.patch similarity index 100% rename from patches/server/0629-MC-29274-Fix-Wither-hostility-towards-players.patch rename to patches/server/0628-MC-29274-Fix-Wither-hostility-towards-players.patch diff --git a/patches/server/0630-Throw-proper-exception-on-empty-JsonList-file.patch b/patches/server/0629-Throw-proper-exception-on-empty-JsonList-file.patch similarity index 100% rename from patches/server/0630-Throw-proper-exception-on-empty-JsonList-file.patch rename to patches/server/0629-Throw-proper-exception-on-empty-JsonList-file.patch diff --git a/patches/server/0631-Improve-ServerGUI.patch b/patches/server/0630-Improve-ServerGUI.patch similarity index 100% rename from patches/server/0631-Improve-ServerGUI.patch rename to patches/server/0630-Improve-ServerGUI.patch diff --git a/patches/server/0632-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch b/patches/server/0631-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch similarity index 100% rename from patches/server/0632-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch rename to patches/server/0631-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch diff --git a/patches/server/0633-fix-converting-txt-to-json-file.patch b/patches/server/0632-fix-converting-txt-to-json-file.patch similarity index 97% rename from patches/server/0633-fix-converting-txt-to-json-file.patch rename to patches/server/0632-fix-converting-txt-to-json-file.patch index 2d0213dc1..7321e15a0 100644 --- a/patches/server/0633-fix-converting-txt-to-json-file.patch +++ b/patches/server/0632-fix-converting-txt-to-json-file.patch @@ -48,7 +48,7 @@ index a5c1114f9b323e8a49c84d0e68461e473bbcd690..eadacfa8449336c024f6154f46bb514d if (!OldUsersConverter.serverReadyAfterUserconversion(this)) { return false; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 213bfc7637b649a8e578d9a122fc4fce3c9fe9ea..12a10d6586b0b1d95e2b1a229f922286753f066c 100644 +index d01712cad42c078a726d6f757a4d8f0e3f186274..67b6c205e96d039fc80d11fa5c3b612464a0b53d 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -171,6 +171,7 @@ public abstract class PlayerList { diff --git a/patches/server/0634-Add-worldborder-events.patch b/patches/server/0633-Add-worldborder-events.patch similarity index 100% rename from patches/server/0634-Add-worldborder-events.patch rename to patches/server/0633-Add-worldborder-events.patch diff --git a/patches/server/0635-added-PlayerNameEntityEvent.patch b/patches/server/0634-added-PlayerNameEntityEvent.patch similarity index 100% rename from patches/server/0635-added-PlayerNameEntityEvent.patch rename to patches/server/0634-added-PlayerNameEntityEvent.patch diff --git a/patches/server/0636-Prevent-grindstones-from-overstacking-items.patch b/patches/server/0635-Prevent-grindstones-from-overstacking-items.patch similarity index 100% rename from patches/server/0636-Prevent-grindstones-from-overstacking-items.patch rename to patches/server/0635-Prevent-grindstones-from-overstacking-items.patch diff --git a/patches/server/0637-Add-recipe-to-cook-events.patch b/patches/server/0636-Add-recipe-to-cook-events.patch similarity index 100% rename from patches/server/0637-Add-recipe-to-cook-events.patch rename to patches/server/0636-Add-recipe-to-cook-events.patch diff --git a/patches/server/0638-Add-Block-isValidTool.patch b/patches/server/0637-Add-Block-isValidTool.patch similarity index 100% rename from patches/server/0638-Add-Block-isValidTool.patch rename to patches/server/0637-Add-Block-isValidTool.patch diff --git a/patches/server/0639-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0638-Allow-using-signs-inside-spawn-protection.patch similarity index 94% rename from patches/server/0639-Allow-using-signs-inside-spawn-protection.patch rename to patches/server/0638-Allow-using-signs-inside-spawn-protection.patch index 28ed779cd..d944dd477 100644 --- a/patches/server/0639-Allow-using-signs-inside-spawn-protection.patch +++ b/patches/server/0638-Allow-using-signs-inside-spawn-protection.patch @@ -20,10 +20,10 @@ index 9bca4dec4372d1ef0eae545b484cc9e94bd8efb8..b89ff2b404d0ffd5d0602f82576c0dc6 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 703c5de24d2be2462cffe597f3a05d766075b128..f6cd3c60f1d07b48ce953b1e2eb71121b3790730 100644 +index f6f8b7e18a5ebee5a5599b0cb314eab6bef0fbc3..71cdf7cec0f490df2868e3b9cb3d81f424e1d80f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1723,7 +1723,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1722,7 +1722,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser int i = this.player.level.getMaxBuildHeight(); if (blockposition.getY() < i) { diff --git a/patches/server/0640-Implement-Keyed-on-World.patch b/patches/server/0639-Implement-Keyed-on-World.patch similarity index 94% rename from patches/server/0640-Implement-Keyed-on-World.patch rename to patches/server/0639-Implement-Keyed-on-World.patch index 7df0d16a3..7a6d5affe 100644 --- a/patches/server/0640-Implement-Keyed-on-World.patch +++ b/patches/server/0639-Implement-Keyed-on-World.patch @@ -34,10 +34,10 @@ index 989b6b91dc046e20332f0cef35105b290fdb2e43..fb18b1f0bbc5b87f6895086f6d6a7495 // Check if a World already exists with the UID. if (this.getWorld(world.getUID()) != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index c36a9eedaa587d513a3be78054d15f4ad96d4d7c..c67cd478da70b4a6f97eed6e964d74dc57e07e71 100644 +index fd01fc9708a62df9483c88ffeec6a0304f3708ca..7519154bbd42245bddc6653349aba294890462a3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2584,6 +2584,11 @@ public class CraftWorld implements World { +@@ -2580,6 +2580,11 @@ public class CraftWorld implements World { return java.util.concurrent.CompletableFuture.completedFuture(chunk == null ? null : chunk.getBukkitChunk()); }, net.minecraft.server.MinecraftServer.getServer()); } diff --git a/patches/server/0641-Add-fast-alternative-constructor-for-Rotations.patch b/patches/server/0640-Add-fast-alternative-constructor-for-Rotations.patch similarity index 100% rename from patches/server/0641-Add-fast-alternative-constructor-for-Rotations.patch rename to patches/server/0640-Add-fast-alternative-constructor-for-Rotations.patch diff --git a/patches/server/0642-Item-Rarity-API.patch b/patches/server/0641-Item-Rarity-API.patch similarity index 100% rename from patches/server/0642-Item-Rarity-API.patch rename to patches/server/0641-Item-Rarity-API.patch diff --git a/patches/server/0643-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch b/patches/server/0642-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch similarity index 100% rename from patches/server/0643-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch rename to patches/server/0642-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch diff --git a/patches/server/0644-copy-TESign-isEditable-from-snapshots.patch b/patches/server/0643-copy-TESign-isEditable-from-snapshots.patch similarity index 100% rename from patches/server/0644-copy-TESign-isEditable-from-snapshots.patch rename to patches/server/0643-copy-TESign-isEditable-from-snapshots.patch diff --git a/patches/server/0645-Drop-carried-item-when-player-has-disconnected.patch b/patches/server/0644-Drop-carried-item-when-player-has-disconnected.patch similarity index 92% rename from patches/server/0645-Drop-carried-item-when-player-has-disconnected.patch rename to patches/server/0644-Drop-carried-item-when-player-has-disconnected.patch index e74bd6d32..edf1b5814 100644 --- a/patches/server/0645-Drop-carried-item-when-player-has-disconnected.patch +++ b/patches/server/0644-Drop-carried-item-when-player-has-disconnected.patch @@ -7,7 +7,7 @@ Fixes disappearance of held items, when a player gets disconnected and PlayerDro Closes #5036 diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 12a10d6586b0b1d95e2b1a229f922286753f066c..b744653a7508ba2aea859709e7ea3c58fbb586cf 100644 +index 67b6c205e96d039fc80d11fa5c3b612464a0b53d..dbee3e05cd7d5439ed0605187fa67688a398e629 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -606,6 +606,14 @@ public abstract class PlayerList { diff --git a/patches/server/0646-forced-whitelist-use-configurable-kick-message.patch b/patches/server/0645-forced-whitelist-use-configurable-kick-message.patch similarity index 100% rename from patches/server/0646-forced-whitelist-use-configurable-kick-message.patch rename to patches/server/0645-forced-whitelist-use-configurable-kick-message.patch diff --git a/patches/server/0647-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0646-Don-t-ignore-result-of-PlayerEditBookEvent.patch similarity index 91% rename from patches/server/0647-Don-t-ignore-result-of-PlayerEditBookEvent.patch rename to patches/server/0646-Don-t-ignore-result-of-PlayerEditBookEvent.patch index c4ee13479..30e456e22 100644 --- a/patches/server/0647-Don-t-ignore-result-of-PlayerEditBookEvent.patch +++ b/patches/server/0646-Don-t-ignore-result-of-PlayerEditBookEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't ignore result of PlayerEditBookEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f6cd3c60f1d07b48ce953b1e2eb71121b3790730..435669e88d5b366531cef42df835e4d6e243f3c8 100644 +index 71cdf7cec0f490df2868e3b9cb3d81f424e1d80f..bb77f12a305a69e456d11f51a6048058cac05f22 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1191,7 +1191,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0648-fix-cancelling-block-falling-causing-client-desync.patch b/patches/server/0647-fix-cancelling-block-falling-causing-client-desync.patch similarity index 100% rename from patches/server/0648-fix-cancelling-block-falling-causing-client-desync.patch rename to patches/server/0647-fix-cancelling-block-falling-causing-client-desync.patch diff --git a/patches/server/0649-Expose-protocol-version.patch b/patches/server/0648-Expose-protocol-version.patch similarity index 100% rename from patches/server/0649-Expose-protocol-version.patch rename to patches/server/0648-Expose-protocol-version.patch diff --git a/patches/server/0650-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch b/patches/server/0649-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch similarity index 98% rename from patches/server/0650-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch rename to patches/server/0649-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch index 8c460a53c..254450c27 100644 --- a/patches/server/0650-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch +++ b/patches/server/0649-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Allow for Component suggestion tooltips in diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 435669e88d5b366531cef42df835e4d6e243f3c8..1f7ac37a1640d5fa4c93929e21bf8b84af136eea 100644 +index bb77f12a305a69e456d11f51a6048058cac05f22..f5dbbbb7a302a78d1f729acac2f7d09b19469faa 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -758,12 +758,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0651-Enhance-console-tab-completions-for-brigadier-comman.patch b/patches/server/0650-Enhance-console-tab-completions-for-brigadier-comman.patch similarity index 100% rename from patches/server/0651-Enhance-console-tab-completions-for-brigadier-comman.patch rename to patches/server/0650-Enhance-console-tab-completions-for-brigadier-comman.patch diff --git a/patches/server/0652-Fix-PlayerItemConsumeEvent-cancelling-properly.patch b/patches/server/0651-Fix-PlayerItemConsumeEvent-cancelling-properly.patch similarity index 100% rename from patches/server/0652-Fix-PlayerItemConsumeEvent-cancelling-properly.patch rename to patches/server/0651-Fix-PlayerItemConsumeEvent-cancelling-properly.patch diff --git a/patches/server/0653-Add-bypass-host-check.patch b/patches/server/0652-Add-bypass-host-check.patch similarity index 100% rename from patches/server/0653-Add-bypass-host-check.patch rename to patches/server/0652-Add-bypass-host-check.patch diff --git a/patches/server/0654-Set-area-affect-cloud-rotation.patch b/patches/server/0653-Set-area-affect-cloud-rotation.patch similarity index 92% rename from patches/server/0654-Set-area-affect-cloud-rotation.patch rename to patches/server/0653-Set-area-affect-cloud-rotation.patch index 855fa9405..e4efb41b8 100644 --- a/patches/server/0654-Set-area-affect-cloud-rotation.patch +++ b/patches/server/0653-Set-area-affect-cloud-rotation.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Set area affect cloud rotation diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index c67cd478da70b4a6f97eed6e964d74dc57e07e71..4f07a3385930b2f18dc642261a9d5ebe036ec932 100644 +index 7519154bbd42245bddc6653349aba294890462a3..3e6975ba325b49f6dcfc9766a406616168df4ce4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1974,6 +1974,7 @@ public class CraftWorld implements World { diff --git a/patches/server/0655-add-isDeeplySleeping-to-HumanEntity.patch b/patches/server/0654-add-isDeeplySleeping-to-HumanEntity.patch similarity index 100% rename from patches/server/0655-add-isDeeplySleeping-to-HumanEntity.patch rename to patches/server/0654-add-isDeeplySleeping-to-HumanEntity.patch diff --git a/patches/server/0656-Fix-duplicating-give-items-on-item-drop-cancel.patch b/patches/server/0655-Fix-duplicating-give-items-on-item-drop-cancel.patch similarity index 100% rename from patches/server/0656-Fix-duplicating-give-items-on-item-drop-cancel.patch rename to patches/server/0655-Fix-duplicating-give-items-on-item-drop-cancel.patch diff --git a/patches/server/0657-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/server/0656-add-consumeFuel-to-FurnaceBurnEvent.patch similarity index 100% rename from patches/server/0657-add-consumeFuel-to-FurnaceBurnEvent.patch rename to patches/server/0656-add-consumeFuel-to-FurnaceBurnEvent.patch diff --git a/patches/server/0658-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/server/0657-add-get-set-drop-chance-to-EntityEquipment.patch similarity index 100% rename from patches/server/0658-add-get-set-drop-chance-to-EntityEquipment.patch rename to patches/server/0657-add-get-set-drop-chance-to-EntityEquipment.patch diff --git a/patches/server/0659-fix-PigZombieAngerEvent-cancellation.patch b/patches/server/0658-fix-PigZombieAngerEvent-cancellation.patch similarity index 100% rename from patches/server/0659-fix-PigZombieAngerEvent-cancellation.patch rename to patches/server/0658-fix-PigZombieAngerEvent-cancellation.patch diff --git a/patches/server/0660-Fix-checkReach-check-for-Shulker-boxes.patch b/patches/server/0659-Fix-checkReach-check-for-Shulker-boxes.patch similarity index 100% rename from patches/server/0660-Fix-checkReach-check-for-Shulker-boxes.patch rename to patches/server/0659-Fix-checkReach-check-for-Shulker-boxes.patch diff --git a/patches/server/0661-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0660-fix-PlayerItemHeldEvent-firing-twice.patch similarity index 88% rename from patches/server/0661-fix-PlayerItemHeldEvent-firing-twice.patch rename to patches/server/0660-fix-PlayerItemHeldEvent-firing-twice.patch index 5070149b9..4f16f55a5 100644 --- a/patches/server/0661-fix-PlayerItemHeldEvent-firing-twice.patch +++ b/patches/server/0660-fix-PlayerItemHeldEvent-firing-twice.patch @@ -5,10 +5,10 @@ Subject: [PATCH] fix PlayerItemHeldEvent firing twice diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 1f7ac37a1640d5fa4c93929e21bf8b84af136eea..924a2e7fbc9afbda52dda50ddf68fd408462246e 100644 +index f5dbbbb7a302a78d1f729acac2f7d09b19469faa..1fe63bc4e596b22d1f539a1ea541a6e096c0a6af 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1927,6 +1927,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1926,6 +1926,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (this.player.isImmobile()) return; // CraftBukkit if (packet.getSlot() >= 0 && packet.getSlot() < Inventory.getSelectionSize()) { diff --git a/patches/server/0662-Added-PlayerDeepSleepEvent.patch b/patches/server/0661-Added-PlayerDeepSleepEvent.patch similarity index 100% rename from patches/server/0662-Added-PlayerDeepSleepEvent.patch rename to patches/server/0661-Added-PlayerDeepSleepEvent.patch diff --git a/patches/server/0663-More-World-API.patch b/patches/server/0662-More-World-API.patch similarity index 96% rename from patches/server/0663-More-World-API.patch rename to patches/server/0662-More-World-API.patch index 98c56ec73..37091fe24 100644 --- a/patches/server/0663-More-World-API.patch +++ b/patches/server/0662-More-World-API.patch @@ -5,7 +5,7 @@ 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 4f07a3385930b2f18dc642261a9d5ebe036ec932..8a9d367cfcf49f80f05633d16a7019798fc808ec 100644 +index 3e6975ba325b49f6dcfc9766a406616168df4ce4..17d25f5f0d82d9c6b13408caccdce1986971f6f6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -2533,6 +2533,75 @@ public class CraftWorld implements World { diff --git a/patches/server/0664-Added-PlayerBedFailEnterEvent.patch b/patches/server/0663-Added-PlayerBedFailEnterEvent.patch similarity index 100% rename from patches/server/0664-Added-PlayerBedFailEnterEvent.patch rename to patches/server/0663-Added-PlayerBedFailEnterEvent.patch diff --git a/patches/server/0665-Implement-methods-to-convert-between-Component-and-B.patch b/patches/server/0664-Implement-methods-to-convert-between-Component-and-B.patch similarity index 100% rename from patches/server/0665-Implement-methods-to-convert-between-Component-and-B.patch rename to patches/server/0664-Implement-methods-to-convert-between-Component-and-B.patch diff --git a/patches/server/0666-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch b/patches/server/0665-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch similarity index 87% rename from patches/server/0666-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch rename to patches/server/0665-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch index 3d432bc5f..0b46f9087 100644 --- a/patches/server/0666-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch +++ b/patches/server/0665-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix anchor respawn acting as a bed respawn from the end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index b744653a7508ba2aea859709e7ea3c58fbb586cf..508fdb0b07bc4e45c630a2c4b731ffdaa3a5711a 100644 +index dbee3e05cd7d5439ed0605187fa67688a398e629..8d52041f8afa065516289cdbf41c373a2529e7f2 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -841,6 +841,7 @@ public abstract class PlayerList { +@@ -840,6 +840,7 @@ public abstract class PlayerList { // Paper start boolean isBedSpawn = false; @@ -17,7 +17,7 @@ index b744653a7508ba2aea859709e7ea3c58fbb586cf..508fdb0b07bc4e45c630a2c4b731ffda boolean isRespawn = false; boolean isLocAltered = false; // Paper - Fix SPIGOT-5989 // Paper end -@@ -861,6 +862,7 @@ public abstract class PlayerList { +@@ -860,6 +861,7 @@ public abstract class PlayerList { if (optional.isPresent()) { BlockState iblockdata = worldserver1.getBlockState(blockposition); boolean flag3 = iblockdata.is(Blocks.RESPAWN_ANCHOR); @@ -25,7 +25,7 @@ index b744653a7508ba2aea859709e7ea3c58fbb586cf..508fdb0b07bc4e45c630a2c4b731ffda Vec3 vec3d = (Vec3) optional.get(); float f1; -@@ -888,7 +890,7 @@ public abstract class PlayerList { +@@ -887,7 +889,7 @@ public abstract class PlayerList { } Player respawnPlayer = this.cserver.getPlayer(entityplayer1); diff --git a/patches/server/0667-Introduce-beacon-activation-deactivation-events.patch b/patches/server/0666-Introduce-beacon-activation-deactivation-events.patch similarity index 100% rename from patches/server/0667-Introduce-beacon-activation-deactivation-events.patch rename to patches/server/0666-Introduce-beacon-activation-deactivation-events.patch diff --git a/patches/server/0668-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/server/0667-add-RespawnFlags-to-PlayerRespawnEvent.patch similarity index 89% rename from patches/server/0668-add-RespawnFlags-to-PlayerRespawnEvent.patch rename to patches/server/0667-add-RespawnFlags-to-PlayerRespawnEvent.patch index 4b38ce86d..b5f22c993 100644 --- a/patches/server/0668-add-RespawnFlags-to-PlayerRespawnEvent.patch +++ b/patches/server/0667-add-RespawnFlags-to-PlayerRespawnEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] add RespawnFlags to PlayerRespawnEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 924a2e7fbc9afbda52dda50ddf68fd408462246e..0b2cb820b912ddb6366f7ffb79c71047d03f2001 100644 +index 1fe63bc4e596b22d1f539a1ea541a6e096c0a6af..b8a924d11c146c42ffbc71b584e6438834c59f70 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2461,7 +2461,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2460,7 +2460,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser case PERFORM_RESPAWN: if (this.player.wonGame) { this.player.wonGame = false; @@ -18,10 +18,10 @@ index 924a2e7fbc9afbda52dda50ddf68fd408462246e..0b2cb820b912ddb6366f7ffb79c71047 } else { if (this.player.getHealth() > 0.0F) { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 508fdb0b07bc4e45c630a2c4b731ffdaa3a5711a..34de9e2b0e52eb7a7e993678fd54ac1b883be4aa 100644 +index 8d52041f8afa065516289cdbf41c373a2529e7f2..22df6afd5f915665d26488e80f730112c9800a91 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -800,6 +800,12 @@ public abstract class PlayerList { +@@ -799,6 +799,12 @@ public abstract class PlayerList { } public ServerPlayer moveToWorld(ServerPlayer entityplayer, ServerLevel worldserver, boolean flag, Location location, boolean avoidSuffocation) { @@ -34,7 +34,7 @@ index 508fdb0b07bc4e45c630a2c4b731ffdaa3a5711a..34de9e2b0e52eb7a7e993678fd54ac1b entityplayer.stopRiding(); // CraftBukkit this.players.remove(entityplayer); this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot -@@ -890,7 +896,7 @@ public abstract class PlayerList { +@@ -889,7 +895,7 @@ public abstract class PlayerList { } Player respawnPlayer = this.cserver.getPlayer(entityplayer1); diff --git a/patches/server/0669-Add-Channel-initialization-listeners.patch b/patches/server/0668-Add-Channel-initialization-listeners.patch similarity index 100% rename from patches/server/0669-Add-Channel-initialization-listeners.patch rename to patches/server/0668-Add-Channel-initialization-listeners.patch diff --git a/patches/server/0670-Send-empty-commands-if-tab-completion-is-disabled.patch b/patches/server/0669-Send-empty-commands-if-tab-completion-is-disabled.patch similarity index 100% rename from patches/server/0670-Send-empty-commands-if-tab-completion-is-disabled.patch rename to patches/server/0669-Send-empty-commands-if-tab-completion-is-disabled.patch diff --git a/patches/server/0671-Add-more-WanderingTrader-API.patch b/patches/server/0670-Add-more-WanderingTrader-API.patch similarity index 100% rename from patches/server/0671-Add-more-WanderingTrader-API.patch rename to patches/server/0670-Add-more-WanderingTrader-API.patch diff --git a/patches/server/0672-Add-EntityBlockStorage-clearEntities.patch b/patches/server/0671-Add-EntityBlockStorage-clearEntities.patch similarity index 100% rename from patches/server/0672-Add-EntityBlockStorage-clearEntities.patch rename to patches/server/0671-Add-EntityBlockStorage-clearEntities.patch diff --git a/patches/server/0673-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/server/0672-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch similarity index 100% rename from patches/server/0673-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch rename to patches/server/0672-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch diff --git a/patches/server/0674-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch b/patches/server/0673-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch similarity index 100% rename from patches/server/0674-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch rename to patches/server/0673-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch diff --git a/patches/server/0675-Inventory-close.patch b/patches/server/0674-Inventory-close.patch similarity index 100% rename from patches/server/0675-Inventory-close.patch rename to patches/server/0674-Inventory-close.patch diff --git a/patches/server/0676-call-PortalCreateEvent-players-and-end-platform.patch b/patches/server/0675-call-PortalCreateEvent-players-and-end-platform.patch similarity index 94% rename from patches/server/0676-call-PortalCreateEvent-players-and-end-platform.patch rename to patches/server/0675-call-PortalCreateEvent-players-and-end-platform.patch index d6f12c46a..38f91a6f8 100644 --- a/patches/server/0676-call-PortalCreateEvent-players-and-end-platform.patch +++ b/patches/server/0675-call-PortalCreateEvent-players-and-end-platform.patch @@ -17,10 +17,10 @@ index 8f0cf4297015f3cbe709e2eb82280cac72489925..22ea0da3836b61bb018ae974d2b8c754 return this.set(this.getX() + dx, this.getY() + dy, this.getZ() + dz); } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 3d56324f65ceb7fd361244eb770792af54e5e320..a5bf54d6ad99d2cd860e9a8dc87a5dcfac5c18ac 100644 +index c17637e5796fda8632c2fe399dbcd63fafa4133e..23be74285d0756b5020130289c43140c1cdaa90a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1166,15 +1166,21 @@ public class ServerPlayer extends Player { +@@ -1144,15 +1144,21 @@ public class ServerPlayer extends Player { private void createEndPlatform(ServerLevel world, BlockPos centerPos) { BlockPos.MutableBlockPos blockposition_mutableblockposition = centerPos.mutable(); diff --git a/patches/server/0677-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/server/0676-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch similarity index 100% rename from patches/server/0677-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch rename to patches/server/0676-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch diff --git a/patches/server/0678-Fix-CraftPotionBrewer-cache.patch b/patches/server/0677-Fix-CraftPotionBrewer-cache.patch similarity index 100% rename from patches/server/0678-Fix-CraftPotionBrewer-cache.patch rename to patches/server/0677-Fix-CraftPotionBrewer-cache.patch diff --git a/patches/server/0679-Add-basic-Datapack-API.patch b/patches/server/0678-Add-basic-Datapack-API.patch similarity index 100% rename from patches/server/0679-Add-basic-Datapack-API.patch rename to patches/server/0678-Add-basic-Datapack-API.patch diff --git a/patches/server/0680-Add-environment-variable-to-disable-server-gui.patch b/patches/server/0679-Add-environment-variable-to-disable-server-gui.patch similarity index 100% rename from patches/server/0680-Add-environment-variable-to-disable-server-gui.patch rename to patches/server/0679-Add-environment-variable-to-disable-server-gui.patch diff --git a/patches/server/0681-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0680-additions-to-PlayerGameModeChangeEvent.patch similarity index 93% rename from patches/server/0681-additions-to-PlayerGameModeChangeEvent.patch rename to patches/server/0680-additions-to-PlayerGameModeChangeEvent.patch index 5e4be2664..d168da32c 100644 --- a/patches/server/0681-additions-to-PlayerGameModeChangeEvent.patch +++ b/patches/server/0680-additions-to-PlayerGameModeChangeEvent.patch @@ -45,10 +45,10 @@ index d75f78d2e3fb1376e8f6a8668c98a04a693c99e1..79f6089b934124c3309c6bee2e48b36b } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a5bf54d6ad99d2cd860e9a8dc87a5dcfac5c18ac..53f6a45a505725c81ab15bd2daa1c61b024f1d68 100644 +index 23be74285d0756b5020130289c43140c1cdaa90a..f170a80e9461945a0f745fe62590d84b34804864 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1783,8 +1783,15 @@ public class ServerPlayer extends Player { +@@ -1761,8 +1761,15 @@ public class ServerPlayer extends Player { } public boolean setGameMode(GameType gameMode) { @@ -66,7 +66,7 @@ index a5bf54d6ad99d2cd860e9a8dc87a5dcfac5c18ac..53f6a45a505725c81ab15bd2daa1c61b } else { this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, (float) gameMode.getId())); if (gameMode == GameType.SPECTATOR) { -@@ -1796,7 +1803,7 @@ public class ServerPlayer extends Player { +@@ -1774,7 +1781,7 @@ public class ServerPlayer extends Player { this.onUpdateAbilities(); this.updateEffectVisibility(); @@ -75,7 +75,7 @@ index a5bf54d6ad99d2cd860e9a8dc87a5dcfac5c18ac..53f6a45a505725c81ab15bd2daa1c61b } } -@@ -2178,6 +2185,14 @@ public class ServerPlayer extends Player { +@@ -2156,6 +2163,14 @@ public class ServerPlayer extends Player { } public void loadGameTypes(@Nullable CompoundTag nbt) { @@ -123,10 +123,10 @@ index b096384cdc7596166e010e06272534b8001693c9..4b756c0a4b607faa03b00ab81761335b } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0b2cb820b912ddb6366f7ffb79c71047d03f2001..52294f5cfce86faf301c835bf1a9c2a5f4f5d721 100644 +index b8a924d11c146c42ffbc71b584e6438834c59f70..ace86fbfe5fff1ae5a6de2582ee1bcf962386dfb 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2470,7 +2470,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2469,7 +2469,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.player = this.server.getPlayerList().respawn(this.player, false); if (this.server.isHardcore()) { @@ -136,10 +136,10 @@ index 0b2cb820b912ddb6366f7ffb79c71047d03f2001..52294f5cfce86faf301c835bf1a9c2a5 } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2314b1ab177fdc5dcbf96a998d9b1d0a86e10037..23bbb36a8035fe29046d51cf18b958d5cad7ea68 100644 +index 5e12cfce9d61221651c88a8323a4f099adcf3fa2..2f93e06eb9d115424cf50be0ce2eb0391f00533a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1246,7 +1246,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1239,7 +1239,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { throw new IllegalArgumentException("Mode cannot be null"); } diff --git a/patches/server/0682-Clear-SyncLoadInfo.patch b/patches/server/0681-Clear-SyncLoadInfo.patch similarity index 100% rename from patches/server/0682-Clear-SyncLoadInfo.patch rename to patches/server/0681-Clear-SyncLoadInfo.patch diff --git a/patches/server/0683-ItemStack-repair-check-API.patch b/patches/server/0682-ItemStack-repair-check-API.patch similarity index 100% rename from patches/server/0683-ItemStack-repair-check-API.patch rename to patches/server/0682-ItemStack-repair-check-API.patch diff --git a/patches/server/0684-More-Enchantment-API.patch b/patches/server/0683-More-Enchantment-API.patch similarity index 100% rename from patches/server/0684-More-Enchantment-API.patch rename to patches/server/0683-More-Enchantment-API.patch diff --git a/patches/server/0685-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/server/0684-Add-command-line-option-to-load-extra-plugin-jars-no.patch similarity index 100% rename from patches/server/0685-Add-command-line-option-to-load-extra-plugin-jars-no.patch rename to patches/server/0684-Add-command-line-option-to-load-extra-plugin-jars-no.patch diff --git a/patches/server/0686-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0685-Fix-and-optimise-world-force-upgrading.patch similarity index 100% rename from patches/server/0686-Fix-and-optimise-world-force-upgrading.patch rename to patches/server/0685-Fix-and-optimise-world-force-upgrading.patch diff --git a/patches/server/0687-Add-Mob-lookAt-API.patch b/patches/server/0686-Add-Mob-lookAt-API.patch similarity index 100% rename from patches/server/0687-Add-Mob-lookAt-API.patch rename to patches/server/0686-Add-Mob-lookAt-API.patch diff --git a/patches/server/0688-Add-Unix-domain-socket-support.patch b/patches/server/0687-Add-Unix-domain-socket-support.patch similarity index 100% rename from patches/server/0688-Add-Unix-domain-socket-support.patch rename to patches/server/0687-Add-Unix-domain-socket-support.patch diff --git a/patches/server/0689-Add-EntityInsideBlockEvent.patch b/patches/server/0688-Add-EntityInsideBlockEvent.patch similarity index 100% rename from patches/server/0689-Add-EntityInsideBlockEvent.patch rename to patches/server/0688-Add-EntityInsideBlockEvent.patch diff --git a/patches/server/0690-Attributes-API-for-item-defaults.patch b/patches/server/0689-Attributes-API-for-item-defaults.patch similarity index 100% rename from patches/server/0690-Attributes-API-for-item-defaults.patch rename to patches/server/0689-Attributes-API-for-item-defaults.patch diff --git a/patches/server/0691-Have-CraftMerchantCustom-emit-PlayerPurchaseEvent.patch b/patches/server/0690-Have-CraftMerchantCustom-emit-PlayerPurchaseEvent.patch similarity index 100% rename from patches/server/0691-Have-CraftMerchantCustom-emit-PlayerPurchaseEvent.patch rename to patches/server/0690-Have-CraftMerchantCustom-emit-PlayerPurchaseEvent.patch diff --git a/patches/server/0692-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0691-Add-cause-to-Weather-ThunderChangeEvents.patch similarity index 98% rename from patches/server/0692-Add-cause-to-Weather-ThunderChangeEvents.patch rename to patches/server/0691-Add-cause-to-Weather-ThunderChangeEvents.patch index 5e76428a7..eb7784d3b 100644 --- a/patches/server/0692-Add-cause-to-Weather-ThunderChangeEvents.patch +++ b/patches/server/0691-Add-cause-to-Weather-ThunderChangeEvents.patch @@ -104,7 +104,7 @@ index cd840dc4a8ca432868fb3e9c912ea928e5303e0d..4d0af984490b556a9911c3b8fdca1e16 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 8a9d367cfcf49f80f05633d16a7019798fc808ec..fb90250f1b61c34a0a88bf50bc5b5bae09de9f0e 100644 +index 17d25f5f0d82d9c6b13408caccdce1986971f6f6..e09bf29cff4097b4319db6715662a6bc6a362598 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1456,7 +1456,7 @@ public class CraftWorld implements World { diff --git a/patches/server/0693-More-Lidded-Block-API.patch b/patches/server/0692-More-Lidded-Block-API.patch similarity index 100% rename from patches/server/0693-More-Lidded-Block-API.patch rename to patches/server/0692-More-Lidded-Block-API.patch diff --git a/patches/server/0694-Limit-item-frame-cursors-on-maps.patch b/patches/server/0693-Limit-item-frame-cursors-on-maps.patch similarity index 100% rename from patches/server/0694-Limit-item-frame-cursors-on-maps.patch rename to patches/server/0693-Limit-item-frame-cursors-on-maps.patch diff --git a/patches/server/0695-Add-PufferFishStateChangeEvent.patch b/patches/server/0694-Add-PufferFishStateChangeEvent.patch similarity index 100% rename from patches/server/0695-Add-PufferFishStateChangeEvent.patch rename to patches/server/0694-Add-PufferFishStateChangeEvent.patch diff --git a/patches/server/0696-Add-PlayerKickEvent-causes.patch b/patches/server/0695-Add-PlayerKickEvent-causes.patch similarity index 95% rename from patches/server/0696-Add-PlayerKickEvent-causes.patch rename to patches/server/0695-Add-PlayerKickEvent-causes.patch index 4386a9c9c..3c655073b 100644 --- a/patches/server/0696-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0695-Add-PlayerKickEvent-causes.patch @@ -57,7 +57,7 @@ index 708ac03d5a849bf09c49547306e4a8c5a5ef8d91..5a8df368a4a25839cd4ac9be6972da2e } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 52294f5cfce86faf301c835bf1a9c2a5f4f5d721..40d0dac02bb1922483d68f3cdd09a228f66d09f6 100644 +index ace86fbfe5fff1ae5a6de2582ee1bcf962386dfb..3e5970979d6db8e07fc44a4c0bd2d2fd74115573 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -321,7 +321,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -209,7 +209,7 @@ index 52294f5cfce86faf301c835bf1a9c2a5f4f5d721..40d0dac02bb1922483d68f3cdd09a228 } else { ServerLevel worldserver = this.player.getLevel(); -@@ -1641,7 +1649,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1640,7 +1648,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.dropCount++; if (this.dropCount >= 20) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " dropped their items too quickly!"); @@ -218,7 +218,7 @@ index 52294f5cfce86faf301c835bf1a9c2a5f4f5d721..40d0dac02bb1922483d68f3cdd09a228 return; } } -@@ -1839,7 +1847,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1838,7 +1846,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (packet.getAction() == ServerboundResourcePackPacket.Action.DECLINED && this.server.isResourcePackRequired()) { ServerGamePacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack rejection", this.player.getName()); @@ -227,7 +227,7 @@ index 52294f5cfce86faf301c835bf1a9c2a5f4f5d721..40d0dac02bb1922483d68f3cdd09a228 } // Paper start PlayerResourcePackStatusEvent.Status packStatus = PlayerResourcePackStatusEvent.Status.values()[packet.action.ordinal()]; -@@ -1944,7 +1952,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1943,7 +1951,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.player.resetLastActionTime(); } else { ServerGamePacketListenerImpl.LOGGER.warn("{} tried to set an invalid carried item", this.player.getName().getString()); @@ -236,7 +236,7 @@ index 52294f5cfce86faf301c835bf1a9c2a5f4f5d721..40d0dac02bb1922483d68f3cdd09a228 } } -@@ -1960,7 +1968,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1959,7 +1967,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser for (int i = 0; i < s.length(); ++i) { if (!SharedConstants.isAllowedChatCharacter(s.charAt(i))) { @@ -245,7 +245,7 @@ index 52294f5cfce86faf301c835bf1a9c2a5f4f5d721..40d0dac02bb1922483d68f3cdd09a228 return; } } -@@ -2033,7 +2041,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2032,7 +2040,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser Waitable waitable = new Waitable() { @Override protected Object evaluate() { @@ -254,7 +254,7 @@ index 52294f5cfce86faf301c835bf1a9c2a5f4f5d721..40d0dac02bb1922483d68f3cdd09a228 return null; } }; -@@ -2048,7 +2056,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2047,7 +2055,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser throw new RuntimeException(e); } } else { @@ -263,7 +263,7 @@ index 52294f5cfce86faf301c835bf1a9c2a5f4f5d721..40d0dac02bb1922483d68f3cdd09a228 } // CraftBukkit end } -@@ -2321,7 +2329,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2320,7 +2328,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser // Spigot Start if ( entity == this.player && !this.player.isSpectator() ) { @@ -272,7 +272,7 @@ index 52294f5cfce86faf301c835bf1a9c2a5f4f5d721..40d0dac02bb1922483d68f3cdd09a228 return; } // Spigot End -@@ -2412,7 +2420,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2411,7 +2419,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } // CraftBukkit end } else { @@ -281,7 +281,7 @@ index 52294f5cfce86faf301c835bf1a9c2a5f4f5d721..40d0dac02bb1922483d68f3cdd09a228 ServerGamePacketListenerImpl.LOGGER.warn("Player {} tried to attack an invalid entity", ServerGamePacketListenerImpl.this.player.getName().getString()); } } -@@ -2806,7 +2814,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2805,7 +2813,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser // Paper start if (!org.bukkit.Bukkit.isPrimaryThread()) { if (recipeSpamPackets.addAndGet(com.destroystokyo.paper.PaperConfig.autoRecipeIncrement) > com.destroystokyo.paper.PaperConfig.autoRecipeLimit) { @@ -290,7 +290,7 @@ index 52294f5cfce86faf301c835bf1a9c2a5f4f5d721..40d0dac02bb1922483d68f3cdd09a228 return; } } -@@ -2999,7 +3007,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2998,7 +3006,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } else if (!this.isSingleplayerOwner()) { // Paper start - This needs to be handled on the main thread for plugins server.submit(() -> { @@ -299,7 +299,7 @@ index 52294f5cfce86faf301c835bf1a9c2a5f4f5d721..40d0dac02bb1922483d68f3cdd09a228 }); // Paper end } -@@ -3045,7 +3053,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3044,7 +3052,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t register custom payload", ex); @@ -308,7 +308,7 @@ index 52294f5cfce86faf301c835bf1a9c2a5f4f5d721..40d0dac02bb1922483d68f3cdd09a228 } } else if (packet.identifier.equals(CUSTOM_UNREGISTER)) { try { -@@ -3055,7 +3063,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3054,7 +3062,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex); @@ -317,7 +317,7 @@ index 52294f5cfce86faf301c835bf1a9c2a5f4f5d721..40d0dac02bb1922483d68f3cdd09a228 } } else { try { -@@ -3073,7 +3081,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3072,7 +3080,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.cserver.getMessenger().dispatchIncomingMessage(this.player.getBukkitEntity(), packet.identifier.toString(), data); } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); @@ -327,7 +327,7 @@ index 52294f5cfce86faf301c835bf1a9c2a5f4f5d721..40d0dac02bb1922483d68f3cdd09a228 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 34de9e2b0e52eb7a7e993678fd54ac1b883be4aa..bc3fe18dd32da2d381b9546aae675a475c073696 100644 +index 22df6afd5f915665d26488e80f730112c9800a91..2e355f5c7f28dacc5474cce6c5907dad21e788fb 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -708,7 +708,7 @@ public abstract class PlayerList { @@ -339,7 +339,7 @@ index 34de9e2b0e52eb7a7e993678fd54ac1b883be4aa..bc3fe18dd32da2d381b9546aae675a47 } // Instead of kicking then returning, we need to store the kick reason -@@ -1360,8 +1360,8 @@ public abstract class PlayerList { +@@ -1358,8 +1358,8 @@ public abstract class PlayerList { // Paper end // CraftBukkit start - disconnect safely for (ServerPlayer player : this.players) { @@ -351,7 +351,7 @@ index 34de9e2b0e52eb7a7e993678fd54ac1b883be4aa..bc3fe18dd32da2d381b9546aae675a47 // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 23bbb36a8035fe29046d51cf18b958d5cad7ea68..4b5711af1416634df0fe11d49d10535adf6ad140 100644 +index 2f93e06eb9d115424cf50be0ce2eb0391f00533a..c82a43f295e11a2f7f475ad1037e66dab145f57e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -498,16 +498,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0697-Fix-PlayerBucketEmptyEvent-result-itemstack.patch b/patches/server/0696-Fix-PlayerBucketEmptyEvent-result-itemstack.patch similarity index 100% rename from patches/server/0697-Fix-PlayerBucketEmptyEvent-result-itemstack.patch rename to patches/server/0696-Fix-PlayerBucketEmptyEvent-result-itemstack.patch diff --git a/patches/server/0698-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch b/patches/server/0697-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch similarity index 100% rename from patches/server/0698-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch rename to patches/server/0697-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch diff --git a/patches/server/0699-Add-option-to-fix-items-merging-through-walls.patch b/patches/server/0698-Add-option-to-fix-items-merging-through-walls.patch similarity index 100% rename from patches/server/0699-Add-option-to-fix-items-merging-through-walls.patch rename to patches/server/0698-Add-option-to-fix-items-merging-through-walls.patch diff --git a/patches/server/0700-Add-BellRevealRaiderEvent.patch b/patches/server/0699-Add-BellRevealRaiderEvent.patch similarity index 100% rename from patches/server/0700-Add-BellRevealRaiderEvent.patch rename to patches/server/0699-Add-BellRevealRaiderEvent.patch diff --git a/patches/server/0701-Fix-invulnerable-end-crystals.patch b/patches/server/0700-Fix-invulnerable-end-crystals.patch similarity index 100% rename from patches/server/0701-Fix-invulnerable-end-crystals.patch rename to patches/server/0700-Fix-invulnerable-end-crystals.patch diff --git a/patches/server/0702-Add-ElderGuardianAppearanceEvent.patch b/patches/server/0701-Add-ElderGuardianAppearanceEvent.patch similarity index 100% rename from patches/server/0702-Add-ElderGuardianAppearanceEvent.patch rename to patches/server/0701-Add-ElderGuardianAppearanceEvent.patch diff --git a/patches/server/0703-Reset-villager-inventory-on-cancelled-pickup-event.patch b/patches/server/0702-Reset-villager-inventory-on-cancelled-pickup-event.patch similarity index 100% rename from patches/server/0703-Reset-villager-inventory-on-cancelled-pickup-event.patch rename to patches/server/0702-Reset-villager-inventory-on-cancelled-pickup-event.patch diff --git a/patches/server/0704-Fix-dangerous-end-portal-logic.patch b/patches/server/0703-Fix-dangerous-end-portal-logic.patch similarity index 100% rename from patches/server/0704-Fix-dangerous-end-portal-logic.patch rename to patches/server/0703-Fix-dangerous-end-portal-logic.patch diff --git a/patches/server/0705-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch b/patches/server/0704-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch similarity index 100% rename from patches/server/0705-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch rename to patches/server/0704-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch diff --git a/patches/server/0706-Make-item-validations-configurable.patch b/patches/server/0705-Make-item-validations-configurable.patch similarity index 100% rename from patches/server/0706-Make-item-validations-configurable.patch rename to patches/server/0705-Make-item-validations-configurable.patch diff --git a/patches/server/0707-Add-more-line-of-sight-methods.patch b/patches/server/0706-Add-more-line-of-sight-methods.patch similarity index 97% rename from patches/server/0707-Add-more-line-of-sight-methods.patch rename to patches/server/0706-Add-more-line-of-sight-methods.patch index cebb48de5..5e7f7db5d 100644 --- a/patches/server/0707-Add-more-line-of-sight-methods.patch +++ b/patches/server/0706-Add-more-line-of-sight-methods.patch @@ -17,7 +17,7 @@ index cceba2e3dd2570962efd20d0cbbf238ccc726702..46bf9aaa8406228e74f007e153afc9bc } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index fb90250f1b61c34a0a88bf50bc5b5bae09de9f0e..88635209d1c6598dc62804ad01e9ebbf039435f9 100644 +index e09bf29cff4097b4319db6715662a6bc6a362598..ca87875470f11284912e9f8b6a3cb6ba6d818300 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -330,6 +330,18 @@ public class CraftWorld implements World { diff --git a/patches/server/0708-add-per-world-spawn-limits.patch b/patches/server/0707-add-per-world-spawn-limits.patch similarity index 96% rename from patches/server/0708-add-per-world-spawn-limits.patch rename to patches/server/0707-add-per-world-spawn-limits.patch index 9e722ac6a..f4633b9d9 100644 --- a/patches/server/0708-add-per-world-spawn-limits.patch +++ b/patches/server/0707-add-per-world-spawn-limits.patch @@ -30,7 +30,7 @@ index 735cc42daf997ab5cb1e194510414d12c4460083..ba4724c1ab30c135137510fa14978044 private void lightQueueSize() { lightQueueSize = getInt("light-queue-size", lightQueueSize); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 88635209d1c6598dc62804ad01e9ebbf039435f9..f2428723ac4a30f57baa0d31aba75a1a95547aa6 100644 +index ca87875470f11284912e9f8b6a3cb6ba6d818300..7b433047d6201e44bff6ee6d3579b10be90116a4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -351,6 +351,13 @@ public class CraftWorld implements World { diff --git a/patches/server/0709-Fix-PotionSplashEvent-for-water-splash-potions.patch b/patches/server/0708-Fix-PotionSplashEvent-for-water-splash-potions.patch similarity index 100% rename from patches/server/0709-Fix-PotionSplashEvent-for-water-splash-potions.patch rename to patches/server/0708-Fix-PotionSplashEvent-for-water-splash-potions.patch diff --git a/patches/server/0710-Fix-incorrect-status-dataconverter-for-pre-1.13-chun.patch b/patches/server/0709-Fix-incorrect-status-dataconverter-for-pre-1.13-chun.patch similarity index 100% rename from patches/server/0710-Fix-incorrect-status-dataconverter-for-pre-1.13-chun.patch rename to patches/server/0709-Fix-incorrect-status-dataconverter-for-pre-1.13-chun.patch