From 011df7dc84c35487479159d3fab987b77dbf2966 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke <jahnke.nassim@gmail.com> Date: Thu, 25 Nov 2021 09:54:06 +0100 Subject: [PATCH] More more more more more more more more more more more more more more more more work --- patches/server/0006-MC-Utils.patch | 55 ++- .../server/0330-ChunkMapDistance-CME.patch | 8 +- ...layer-is-attempted-to-be-removed-fro.patch | 4 +- ...-Priority-Urgency-System-for-Chunks.patch} | 398 +++--------------- ...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} | 2 +- ...-5989.patch => 0472-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 ...stake-in-CB-NBT-int-deserialization.patch} | 0 ...rver-load-chunks-from-newer-version.patch} | 0 ...support.patch => 0480-Brand-support.patch} | 6 +- ...patch => 0481-Add-setMaxPlayers-API.patch} | 2 +- ...PickupItemAnimation-to-LivingEntity.patch} | 0 ...h => 0483-Don-t-require-FACING-data.patch} | 0 ...eEvent-not-firing-for-all-use-cases.patch} | 2 +- ...PI.patch => 0485-Add-moon-phase-API.patch} | 2 +- ...headless-pistons-from-being-created.patch} | 0 ...ent.patch => 0487-Add-BellRingEvent.patch} | 0 ...dd-zombie-targets-turtle-egg-config.patch} | 0 ...patch => 0489-Buffer-joins-to-world.patch} | 0 ...=> 0490-Optimize-redstone-algorithm.patch} | 0 ...s-not-working-in-some-kick-messages.patch} | 0 ...reateEvent-needs-to-know-its-entity.patch} | 0 ...ch => 0493-Fix-CraftTeam-null-check.patch} | 0 ...I.patch => 0494-Add-more-Evoker-API.patch} | 0 ...Add-methods-to-get-translation-keys.patch} | 2 +- ...te-HoverEvent-from-ItemStack-Entity.patch} | 0 ...ch => 0497-Cache-block-data-strings.patch} | 0 ...rtation-and-cancel-velocity-if-tele.patch} | 13 +- ...l-open-container-api-to-HumanEntity.patch} | 0 ...aFixerUpper-Rewrite-Rules-on-demand.patch} | 0 ...-capture-to-capture-all-items-added.patch} | 2 +- ...ty-in-invalid-locations-SPIGOT-6086.patch} | 4 +- ...-Counter-to-allow-plugins-to-use-va.patch} | 2 +- ...track-plugin-scoreboards-by-default.patch} | 0 ...king.patch => 0505-Entity-isTicking.patch} | 2 +- ...non-whitelisted-player-when-white-l.patch} | 0 ...x-Concurrency-issue-in-WeightedList.patch} | 2 +- ...eset-Ender-Crystals-on-Dragon-Spawn.patch} | 0 ...-large-move-vectors-crashing-server.patch} | 0 ...atch => 0510-Optimise-getType-calls.patch} | 0 ....patch => 0511-Villager-resetOffers.patch} | 0 ...nig-for-some-hot-IBlockData-methods.patch} | 0 ...ce-order-when-capturing-blockstates.patch} | 2 +- ...lockpos-allocation-from-pathfinding.patch} | 2 +- ...em-locations-dropped-from-campfires.patch} | 0 ...tch => 0516-Player-elytra-boost-API.patch} | 2 +- ...17-Fixed-TileEntityBell-memory-leak.patch} | 0 ...ing-up-when-item-stack-is-empty-in-.patch} | 0 ...Add-getOfflinePlayerIfCached-String.patch} | 0 ...ch => 0520-Add-ignore-discounts-API.patch} | 0 ...Toggle-for-removing-existing-dragon.patch} | 0 ...x-client-lag-on-advancement-loading.patch} | 2 +- ...> 0523-Item-no-age-no-player-pickup.patch} | 0 ...er-Remove-Streams-Optimized-collect.patch} | 0 ...525-Beacon-API-custom-effect-ranges.patch} | 0 ...tch => 0526-Add-API-for-quit-reason.patch} | 8 +- ...ng-Trader-spawn-rate-config-options.patch} | 0 ...rove-performance-of-the-end-generat.patch} | 0 ...ch => 0529-Expose-world-spawn-angle.patch} | 6 +- ...patch => 0530-Add-Destroy-Speed-API.patch} | 0 ...-spawnParticle-x-y-z-precision-loss.patch} | 4 +- ...32-Add-LivingEntity-clearActiveItem.patch} | 0 ...=> 0533-Add-PlayerItemCooldownEvent.patch} | 0 ...PI.patch => 0534-More-lightning-API.patch} | 0 ...should-not-bypass-cramming-gamerule.patch} | 2 +- ...-missing-default-perms-for-commands.patch} | 0 ...h => 0537-Add-PlayerShearBlockEvent.patch} | 0 ...ng-zombie-villager-discount-exploit.patch} | 0 ....patch => 0539-Limit-recipe-packets.patch} | 0 ...-CraftSound-backwards-compatibility.patch} | 0 ... 0541-MC-4-Fix-item-position-desync.patch} | 2 +- ...542-Player-Chunk-Load-Unload-Events.patch} | 4 +- ...3-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 ...rTradeEvent-and-PlayerPurchaseEvent.patch} | 0 ...ch => 0548-Implement-TargetHitEvent.patch} | 0 ...549-Additional-Block-Material-API-s.patch} | 0 ...tch => 0550-Fix-harming-potion-dupe.patch} | 0 ...get-Material-from-Boats-and-Minecar.patch} | 0 ....patch => 0552-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} | 0 ...h => 0557-Zombie-API-breaking-doors.patch} | 0 ...558-Fix-nerfed-slime-when-splitting.patch} | 0 ...=> 0559-Add-EntityLoadCrossbowEvent.patch} | 0 ...ch => 0560-Guardian-beam-workaround.patch} | 0 ...0561-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 => 0570-Remove-stale-POIs.patch} | 0 ...h => 0571-Fix-villager-boat-exploit.patch} | 4 +- ...I.patch => 0572-Add-sendOpLevel-API.patch} | 8 +- ...ch => 0573-Add-StructureLocateEvent.patch} | 2 +- ...-for-requiring-a-player-participant.patch} | 2 +- ...leHitEvent-call-when-fireballs-dead.patch} | 0 ...nent-with-empty-text-instead-of-thr.patch} | 0 ...577-Make-schedule-command-per-world.patch} | 0 ...578-Configurable-max-leash-distance.patch} | 0 ...579-Implement-BlockPreDispenseEvent.patch} | 0 ...-API.patch => 0580-added-Wither-API.patch} | 0 ...ng-of-PlayerChangeBeaconEffectEvent.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 => 0587-add-DragonEggFormEvent.patch} | 0 ...Event.patch => 0588-EntityMoveEvent.patch} | 6 +- ...isable-pathfinding-updates-on-block.patch} | 2 +- ... 0590-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 ...port-for-hex-color-codes-in-console.patch} | 0 ...atch => 0597-Expose-Tracked-Players.patch} | 0 ...8-Remove-streams-from-SensorNearest.patch} | 0 ...er-exception-on-empty-JsonList-file.patch} | 0 ...GUI.patch => 0600-Improve-ServerGUI.patch} | 0 ...ure-plate-EntityInteractEvent-for-i.patch} | 0 ...602-fix-converting-txt-to-json-file.patch} | 4 +- ...atch => 0603-Add-worldborder-events.patch} | 0 ...=> 0604-added-PlayerNameEntityEvent.patch} | 0 ...grindstones-from-overstacking-items.patch} | 0 ...h => 0606-Add-recipe-to-cook-events.patch} | 0 ...patch => 0607-Add-Block-isValidTool.patch} | 0 ...using-signs-inside-spawn-protection.patch} | 0 ...ch => 0609-Implement-Keyed-on-World.patch} | 4 +- ...ternative-constructor-for-Rotations.patch} | 0 ...y-API.patch => 0611-Item-Rarity-API.patch} | 2 +- ...imer-for-Wandering-Traders-spawned-.patch} | 0 ...py-TESign-isEditable-from-snapshots.patch} | 0 ...d-item-when-player-has-disconnected.patch} | 4 +- ...elist-use-configurable-kick-message.patch} | 0 ...gnore-result-of-PlayerEditBookEvent.patch} | 0 ...17-Entity-load-save-limit-per-chunk.patch} | 0 ...block-falling-causing-client-desync.patch} | 0 ...tch => 0619-Expose-protocol-version.patch} | 2 +- ...nt-suggestion-tooltips-in-AsyncTabC.patch} | 0 ...ab-completions-for-brigadier-comman.patch} | 0 ...temConsumeEvent-cancelling-properly.patch} | 0 ...patch => 0623-Add-bypass-host-check.patch} | 0 ...0624-Set-area-affect-cloud-rotation.patch} | 0 ...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} | 0 ... => 0632-Added-PlayerDeepSleepEvent.patch} | 0 ...ld-API.patch => 0633-More-World-API.patch} | 2 +- ... 0634-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} | 6 +- ...dd-Channel-initialization-listeners.patch} | 0 ...mands-if-tab-completion-is-disabled.patch} | 0 ...> 0641-Add-more-WanderingTrader-API.patch} | 0 ...dd-EntityBlockStorage-clearEntities.patch} | 0 ...ssage-to-PlayerAdvancementDoneEvent.patch} | 0 ...address-to-AsyncPlayerPreLoginEvent.patch} | 0 ...close.patch => 0645-Inventory-close.patch} | 0 ...reateEvent-players-and-end-platform.patch} | 4 +- ...-in-sunlight-API-for-Phantoms-and-S.patch} | 2 +- ...=> 0648-Fix-CraftPotionBrewer-cache.patch} | 0 ...atch => 0649-Add-basic-Datapack-API.patch} | 0 ...ment-variable-to-disable-server-gui.patch} | 0 ...itions-to-PlayerGameModeChangeEvent.patch} | 12 +- ... => 0652-ItemStack-repair-check-API.patch} | 2 +- ....patch => 0653-More-Enchantment-API.patch} | 0 ...-and-optimise-world-force-upgrading.patch} | 4 +- ...PI.patch => 0655-Add-Mob-lookAt-API.patch} | 0 ...0656-Add-Unix-domain-socket-support.patch} | 0 ... => 0657-Add-EntityInsideBlockEvent.patch} | 0 ...58-Attributes-API-for-item-defaults.patch} | 2 +- ...ause-to-Weather-ThunderChangeEvents.patch} | 4 +- ...patch => 0660-More-Lidded-Block-API.patch} | 0 ...61-Limit-item-frame-cursors-on-maps.patch} | 0 ... => 0662-Add-PlayerKickEvent-causes.patch} | 8 +- ...0663-Add-PufferFishStateChangeEvent.patch} | 0 ...erBucketEmptyEvent-result-itemstack.patch} | 0 ...tedContainer-instead-of-ReentrantLo.patch} | 0 ...-to-fix-items-merging-through-walls.patch} | 0 ...h => 0667-Add-BellRevealRaiderEvent.patch} | 0 ... 0668-Fix-invulnerable-end-crystals.patch} | 0 ...69-Add-ElderGuardianAppearanceEvent.patch} | 0 ...0670-Fix-dangerous-end-portal-logic.patch} | 2 +- ...-Biome-Mob-Lookups-for-Mob-Spawning.patch} | 0 ...-Make-item-validations-configurable.patch} | 0 ...patch => 0673-Line-Of-Sight-Changes.patch} | 2 +- ... => 0674-add-per-world-spawn-limits.patch} | 2 +- ...plashEvent-for-water-splash-potions.patch} | 0 ... => 0676-Add-more-LimitedRegion-API.patch} | 0 ...layerDropItemEvent-using-wrong-item.patch} | 4 +- ...=> 0678-Missing-Entity-Behavior-API.patch} | 0 ...ect-for-book-edit-is-called-on-main.patch} | 0 ...of-Block-applyBoneMeal-always-being.patch} | 0 ...tChunkIfLoadedImmediately-in-places.patch} | 0 ...rom-signs-not-firing-command-events.patch} | 0 ...ch => 0683-Adds-PlayerArmSwingEvent.patch} | 0 ...-event-leave-message-not-being-sent.patch} | 6 +- ...-for-mobs-immune-to-default-effects.patch} | 0 ...correct-message-for-outdated-client.patch} | 0 ...chantOffer-BuyB-Only-AssertionError.patch} | 0 ...-t-apply-cramming-damage-to-players.patch} | 4 +- ...d-timings-for-sensors-and-behaviors.patch} | 0 ...-bunch-of-missing-forceDrop-toggles.patch} | 0 ...inger-API.patch => 0691-Stinger-API.patch} | 0 ...cy-issue-with-empty-map-items-in-CB.patch} | 0 ... => 0693-Add-System.out-err-catcher.patch} | 0 ... => 0694-Fix-test-not-bootstrapping.patch} | 0 ...-to-contain-the-source-jars-in-stac.patch} | 0 ...-Improve-boat-collision-performance.patch} | 0 ...AFK-kick-while-watching-end-credits.patch} | 0 ...iting-of-comments-to-server.propert.patch} | 0 ...tch => 0699-Add-PlayerSetSpawnEvent.patch} | 14 +- ...rs-respect-inventory-max-stack-size.patch} | 0 ...ize-entity-tracker-passenger-checks.patch} | 0 ...-option-for-Piglins-guarding-chests.patch} | 0 ...=> 0703-Added-EntityDamageItemEvent.patch} | 0 ...timize-indirect-passenger-iteration.patch} | 2 +- ...osition-losing-precision-millions-o.patch} | 0 ...em-frame-map-cursor-update-interval.patch} | 0 ...Make-EntityUnleashEvent-cancellable.patch} | 0 ...708-Clear-bucket-NBT-after-dispense.patch} | 0 ...-dispatch-thread-to-be-a-daemon-thr.patch} | 0 ...ct-despawn-rate-in-item-merge-check.patch} | 0 ...stonRetractEvent-to-fix-duplication.patch} | 0 ...arget-without-changing-other-things.patch} | 0 ...ch => 0713-Add-BlockBreakBlockEvent.patch} | 0 ...revent-NBT-copy-in-smithing-recipes.patch} | 0 ...patch => 0715-More-CommandBlock-API.patch} | 0 ...-missing-team-sidebar-display-slots.patch} | 0 ...0717-Add-back-EntityPortalExitEvent.patch} | 2 +- ...-find-targets-for-lightning-strikes.patch} | 2 +- ... 0719-Get-entity-default-attributes.patch} | 0 ...d-API.patch => 0720-Left-handed-API.patch} | 0 ...=> 0721-Add-advancement-display-API.patch} | 0 ...2-Add-ItemFactory-getMonsterEgg-API.patch} | 0 ...tch => 0723-Add-critical-damage-API.patch} | 0 ...0724-Fix-issues-with-mob-conversion.patch} | 0 ...ollidable-methods-to-various-places.patch} | 0 ...-ram-API.patch => 0726-Goat-ram-API.patch} | 0 ...dd-API-for-resetting-a-single-score.patch} | 0 ...8-Add-Raw-Byte-Entity-Serialization.patch} | 2 +- ...29-Vanilla-command-permission-fixes.patch} | 0 ...-Make-CallbackExecutor-strict-again.patch} | 4 +- ...server-to-unload-chunks-at-request-.patch} | 4 +- ...logic-for-inventories-on-chunk-unlo.patch} | 4 +- ...e-recursion-for-chunkholder-updates.patch} | 7 +- ...ocking-from-state-access-in-UserCac.patch} | 0 ...hunks-refusing-to-unload-at-low-TPS.patch} | 4 +- ...et-level-changes-while-unloading-pl.patch} | 16 +- ...et-level-changes-when-updating-chun.patch} | 6 +- ...profile-lookups-to-worldgen-threads.patch} | 0 ...g-when-the-async-catcher-is-tripped.patch} | 0 ...tize-ResourceLocation-error-logging.patch} | 0 ...=> 0741-Optimise-general-POI-access.patch} | 0 ...rolled-flushing-for-network-manager.patch} | 0 ...tch => 0743-Add-more-async-catchers.patch} | 0 ...te-entity-bounding-box-lookup-calls.patch} | 2 +- ...> 0745-Execute-chunk-tasks-mid-tick.patch} | 0 ... => 0746-Do-not-copy-visible-chunks.patch} | 28 +- ...ulate-regionfile-header-if-it-is-co.patch} | 0 ...ementation-for-blockstate-state-loo.patch} | 0 ...-more-information-in-watchdog-dumps.patch} | 2 +- ...lly-inline-methods-in-BlockPosition.patch} | 0 ... 0751-Distance-manager-tick-timings.patch} | 8 +- ...ler-threads-according-to-the-plugin.patch} | 0 ...-getChunkAt-has-inlined-logic-for-l.patch} | 0 ...h => 0754-Add-packet-limiter-config.patch} | 0 ... 0755-Lag-compensate-block-breaking.patch} | 0 ...Stem-registry-when-loading-default-.patch} | 0 ...our-chunk-data-off-disk-when-conver.patch} | 0 ...sh-calls-for-entity-tracker-packets.patch} | 4 +- ...-lookup-fluid-state-when-raytracing.patch} | 0 ...atch => 0760-Time-scoreboard-search.patch} | 0 ...packets-for-hard-colliding-entities.patch} | 0 ...2-Do-not-run-raytrace-logic-for-AIR.patch} | 0 ...rimise-map-impl-for-tracked-players.patch} | 4 +- ...imise-BlockSoil-nearby-water-lookup.patch} | 0 ...ition-of-entities-to-entity-ticklis.patch} | 0 ... 0766-Optimise-random-block-ticking.patch} | 0 ...7-Optimise-non-flush-packet-sending.patch} | 0 ...0768-Optimise-nearby-player-lookups.patch} | 12 +- ...=> 0769-Optimise-WorldServer-notify.patch} | 6 +- ...0770-Remove-streams-for-villager-AI.patch} | 0 ...> 0771-Rewrite-dataconverter-system.patch} | 0 ...city-compression-and-cipher-natives.patch} | 0 ...hread-worker-count-for-low-core-cou.patch} | 0 ...tity-loads-in-CraftChunk-getEntitie.patch} | 0 ...ifications-to-critical-entity-state.patch} | 0 ...ix-Bukkit-NamespacedKey-shenanigans.patch} | 0 ...ntory-not-closing-on-entity-removal.patch} | 0 ...rement-before-suggesting-root-nodes.patch} | 0 ...ServerboundCommandSuggestionPacket-.patch} | 0 ...nColor-on-tropical-fish-bucket-meta.patch} | 0 ...=> 0781-Ensure-valid-vehicle-status.patch} | 4 +- ...ftlocked-end-exit-portal-generation.patch} | 0 ...r-causing-a-crash-when-trying-to-ge.patch} | 0 ...-t-log-debug-logging-being-disabled.patch} | 0 ...axolotls-from-buckets-as-persistent.patch} | 0 ...ous-menus-with-empty-level-accesses.patch} | 0 ...-O-threads-with-chunk-data-while-fl.patch} | 6 +- ...h => 0788-Preserve-overstacked-loot.patch} | 0 ...ate-head-rotation-in-missing-places.patch} | 2 +- ...unintended-light-block-manipulation.patch} | 0 ...piglins-and-hoglins-towards-mob-cap.patch} | 0 ...0792-Fix-CraftCriteria-defaults-map.patch} | 0 ...Fix-upstreams-block-state-factories.patch} | 0 ...ion-for-logging-player-ip-addresses.patch} | 6 +- ...pper-didnt-account-for-entity-sende.patch} | 0 ... 0796-Add-root-admin-user-detection.patch} | 0 ...ays-allow-item-changing-in-Fireball.patch} | 0 ...t-attempt-to-teleport-dead-entities.patch} | 2 +- ...l-onRemove-logic-for-breakNaturally.patch} | 0 ...pare-event-not-working-with-zero-xp.patch} | 0 338 files changed, 287 insertions(+), 544 deletions(-) rename patches/{removed/1.18/0465-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch => server/0466-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch} (77%) rename patches/server/{0466-Optimize-NetworkManager-Exception-Handling.patch => 0467-Optimize-NetworkManager-Exception-Handling.patch} (100%) rename patches/server/{0467-Optimize-the-advancement-data-player-iteration-to-be.patch => 0468-Optimize-the-advancement-data-player-iteration-to-be.patch} (100%) rename patches/server/{0468-Fix-arrows-never-despawning-MC-125757.patch => 0469-Fix-arrows-never-despawning-MC-125757.patch} (100%) rename patches/server/{0469-Thread-Safe-Vanilla-Command-permission-checking.patch => 0470-Thread-Safe-Vanilla-Command-permission-checking.patch} (100%) rename patches/server/{0470-Move-range-check-for-block-placing-up.patch => 0471-Move-range-check-for-block-placing-up.patch} (97%) rename patches/server/{0471-Fix-SPIGOT-5989.patch => 0472-Fix-SPIGOT-5989.patch} (91%) rename patches/server/{0472-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch => 0473-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch} (100%) rename patches/server/{0473-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch => 0474-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch} (100%) rename patches/server/{0474-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch => 0475-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch} (100%) rename patches/server/{0475-Add-missing-strikeLighting-call-to-World-spigot-stri.patch => 0476-Add-missing-strikeLighting-call-to-World-spigot-stri.patch} (83%) rename patches/server/{0476-Fix-some-rails-connecting-improperly.patch => 0477-Fix-some-rails-connecting-improperly.patch} (100%) rename patches/server/{0477-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch => 0478-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch} (100%) rename patches/server/{0478-Do-not-let-the-server-load-chunks-from-newer-version.patch => 0479-Do-not-let-the-server-load-chunks-from-newer-version.patch} (100%) rename patches/server/{0479-Brand-support.patch => 0480-Brand-support.patch} (94%) rename patches/server/{0480-Add-setMaxPlayers-API.patch => 0481-Add-setMaxPlayers-API.patch} (94%) rename patches/server/{0481-Add-playPickupItemAnimation-to-LivingEntity.patch => 0482-Add-playPickupItemAnimation-to-LivingEntity.patch} (100%) rename patches/server/{0482-Don-t-require-FACING-data.patch => 0483-Don-t-require-FACING-data.patch} (100%) rename patches/server/{0483-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch => 0484-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch} (96%) rename patches/server/{0484-Add-moon-phase-API.patch => 0485-Add-moon-phase-API.patch} (89%) rename patches/server/{0485-Prevent-headless-pistons-from-being-created.patch => 0486-Prevent-headless-pistons-from-being-created.patch} (100%) rename patches/server/{0486-Add-BellRingEvent.patch => 0487-Add-BellRingEvent.patch} (100%) rename patches/server/{0487-Add-zombie-targets-turtle-egg-config.patch => 0488-Add-zombie-targets-turtle-egg-config.patch} (100%) rename patches/server/{0488-Buffer-joins-to-world.patch => 0489-Buffer-joins-to-world.patch} (100%) rename patches/server/{0489-Optimize-redstone-algorithm.patch => 0490-Optimize-redstone-algorithm.patch} (100%) rename patches/server/{0490-Fix-hex-colors-not-working-in-some-kick-messages.patch => 0491-Fix-hex-colors-not-working-in-some-kick-messages.patch} (100%) rename patches/server/{0491-PortalCreateEvent-needs-to-know-its-entity.patch => 0492-PortalCreateEvent-needs-to-know-its-entity.patch} (100%) rename patches/server/{0492-Fix-CraftTeam-null-check.patch => 0493-Fix-CraftTeam-null-check.patch} (100%) rename patches/server/{0493-Add-more-Evoker-API.patch => 0494-Add-more-Evoker-API.patch} (100%) rename patches/server/{0494-Add-methods-to-get-translation-keys.patch => 0495-Add-methods-to-get-translation-keys.patch} (98%) rename patches/server/{0495-Create-HoverEvent-from-ItemStack-Entity.patch => 0496-Create-HoverEvent-from-ItemStack-Entity.patch} (100%) rename patches/server/{0496-Cache-block-data-strings.patch => 0497-Cache-block-data-strings.patch} (100%) rename patches/server/{0497-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch => 0498-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch} (87%) rename patches/server/{0498-Add-additional-open-container-api-to-HumanEntity.patch => 0499-Add-additional-open-container-api-to-HumanEntity.patch} (100%) rename patches/server/{0499-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch => 0500-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch} (100%) rename patches/server/{0500-Extend-block-drop-capture-to-capture-all-items-added.patch => 0501-Extend-block-drop-capture-to-capture-all-items-added.patch} (96%) rename patches/server/{0501-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch => 0502-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch} (84%) rename patches/server/{0502-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch => 0503-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch} (94%) rename patches/server/{0503-Lazily-track-plugin-scoreboards-by-default.patch => 0504-Lazily-track-plugin-scoreboards-by-default.patch} (100%) rename patches/server/{0504-Entity-isTicking.patch => 0505-Entity-isTicking.patch} (95%) rename patches/server/{0505-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch => 0506-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch} (100%) rename patches/server/{0506-Fix-Concurrency-issue-in-WeightedList.patch => 0507-Fix-Concurrency-issue-in-WeightedList.patch} (97%) rename patches/server/{0507-Reset-Ender-Crystals-on-Dragon-Spawn.patch => 0508-Reset-Ender-Crystals-on-Dragon-Spawn.patch} (100%) rename patches/server/{0508-Fix-for-large-move-vectors-crashing-server.patch => 0509-Fix-for-large-move-vectors-crashing-server.patch} (100%) rename patches/server/{0509-Optimise-getType-calls.patch => 0510-Optimise-getType-calls.patch} (100%) rename patches/server/{0510-Villager-resetOffers.patch => 0511-Villager-resetOffers.patch} (100%) rename patches/server/{0511-Improve-inlinig-for-some-hot-IBlockData-methods.patch => 0512-Improve-inlinig-for-some-hot-IBlockData-methods.patch} (100%) rename patches/server/{0512-Retain-block-place-order-when-capturing-blockstates.patch => 0513-Retain-block-place-order-when-capturing-blockstates.patch} (93%) rename patches/server/{0513-Reduce-blockpos-allocation-from-pathfinding.patch => 0514-Reduce-blockpos-allocation-from-pathfinding.patch} (94%) rename patches/server/{0514-Fix-item-locations-dropped-from-campfires.patch => 0515-Fix-item-locations-dropped-from-campfires.patch} (100%) rename patches/server/{0515-Player-elytra-boost-API.patch => 0516-Player-elytra-boost-API.patch} (94%) rename patches/server/{0516-Fixed-TileEntityBell-memory-leak.patch => 0517-Fixed-TileEntityBell-memory-leak.patch} (100%) rename patches/server/{0517-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch => 0518-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch} (100%) rename patches/server/{0518-Add-getOfflinePlayerIfCached-String.patch => 0519-Add-getOfflinePlayerIfCached-String.patch} (100%) rename patches/server/{0519-Add-ignore-discounts-API.patch => 0520-Add-ignore-discounts-API.patch} (100%) rename patches/server/{0520-Toggle-for-removing-existing-dragon.patch => 0521-Toggle-for-removing-existing-dragon.patch} (100%) rename patches/server/{0521-Fix-client-lag-on-advancement-loading.patch => 0522-Fix-client-lag-on-advancement-loading.patch} (95%) rename patches/server/{0522-Item-no-age-no-player-pickup.patch => 0523-Item-no-age-no-player-pickup.patch} (100%) rename patches/server/{0523-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch => 0524-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch} (100%) rename patches/server/{0524-Beacon-API-custom-effect-ranges.patch => 0525-Beacon-API-custom-effect-ranges.patch} (100%) rename patches/server/{0525-Add-API-for-quit-reason.patch => 0526-Add-API-for-quit-reason.patch} (94%) rename patches/server/{0526-Add-Wandering-Trader-spawn-rate-config-options.patch => 0527-Add-Wandering-Trader-spawn-rate-config-options.patch} (100%) rename patches/server/{0527-Significantly-improve-performance-of-the-end-generat.patch => 0528-Significantly-improve-performance-of-the-end-generat.patch} (100%) rename patches/server/{0528-Expose-world-spawn-angle.patch => 0529-Expose-world-spawn-angle.patch} (88%) rename patches/server/{0529-Add-Destroy-Speed-API.patch => 0530-Add-Destroy-Speed-API.patch} (100%) rename patches/server/{0530-Fix-Player-spawnParticle-x-y-z-precision-loss.patch => 0531-Fix-Player-spawnParticle-x-y-z-precision-loss.patch} (89%) rename patches/server/{0531-Add-LivingEntity-clearActiveItem.patch => 0532-Add-LivingEntity-clearActiveItem.patch} (100%) rename patches/server/{0532-Add-PlayerItemCooldownEvent.patch => 0533-Add-PlayerItemCooldownEvent.patch} (100%) rename patches/server/{0533-More-lightning-API.patch => 0534-More-lightning-API.patch} (100%) rename patches/server/{0534-Climbing-should-not-bypass-cramming-gamerule.patch => 0535-Climbing-should-not-bypass-cramming-gamerule.patch} (98%) rename patches/server/{0535-Added-missing-default-perms-for-commands.patch => 0536-Added-missing-default-perms-for-commands.patch} (100%) rename patches/server/{0536-Add-PlayerShearBlockEvent.patch => 0537-Add-PlayerShearBlockEvent.patch} (100%) rename patches/server/{0537-Fix-curing-zombie-villager-discount-exploit.patch => 0538-Fix-curing-zombie-villager-discount-exploit.patch} (100%) rename patches/server/{0538-Limit-recipe-packets.patch => 0539-Limit-recipe-packets.patch} (100%) rename patches/server/{0539-Fix-CraftSound-backwards-compatibility.patch => 0540-Fix-CraftSound-backwards-compatibility.patch} (100%) rename patches/server/{0540-MC-4-Fix-item-position-desync.patch => 0541-MC-4-Fix-item-position-desync.patch} (97%) rename patches/server/{0541-Player-Chunk-Load-Unload-Events.patch => 0542-Player-Chunk-Load-Unload-Events.patch} (90%) rename patches/server/{0542-Optimize-Dynamic-get-Missing-Keys.patch => 0543-Optimize-Dynamic-get-Missing-Keys.patch} (100%) rename patches/server/{0543-Expose-LivingEntity-hurt-direction.patch => 0544-Expose-LivingEntity-hurt-direction.patch} (100%) rename patches/server/{0544-Add-OBSTRUCTED-reason-to-BedEnterResult.patch => 0545-Add-OBSTRUCTED-reason-to-BedEnterResult.patch} (100%) rename patches/server/{0545-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch => 0546-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch} (100%) rename patches/server/{0546-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch => 0547-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch} (100%) rename patches/server/{0547-Implement-TargetHitEvent.patch => 0548-Implement-TargetHitEvent.patch} (100%) rename patches/server/{0548-Additional-Block-Material-API-s.patch => 0549-Additional-Block-Material-API-s.patch} (100%) rename patches/server/{0549-Fix-harming-potion-dupe.patch => 0550-Fix-harming-potion-dupe.patch} (100%) rename patches/server/{0550-Implement-API-to-get-Material-from-Boats-and-Minecar.patch => 0551-Implement-API-to-get-Material-from-Boats-and-Minecar.patch} (100%) rename patches/server/{0551-Cache-burn-durations.patch => 0552-Cache-burn-durations.patch} (100%) rename patches/server/{0552-Allow-disabling-mob-spawner-spawn-egg-transformation.patch => 0553-Allow-disabling-mob-spawner-spawn-egg-transformation.patch} (100%) rename patches/server/{0553-Fix-Not-a-string-Map-Conversion-spam.patch => 0554-Fix-Not-a-string-Map-Conversion-spam.patch} (100%) rename patches/server/{0554-Implement-PlayerFlowerPotManipulateEvent.patch => 0555-Implement-PlayerFlowerPotManipulateEvent.patch} (100%) rename patches/server/{0555-Fix-interact-event-not-being-called-in-adventure.patch => 0556-Fix-interact-event-not-being-called-in-adventure.patch} (100%) rename patches/server/{0556-Zombie-API-breaking-doors.patch => 0557-Zombie-API-breaking-doors.patch} (100%) rename patches/server/{0557-Fix-nerfed-slime-when-splitting.patch => 0558-Fix-nerfed-slime-when-splitting.patch} (100%) rename patches/server/{0558-Add-EntityLoadCrossbowEvent.patch => 0559-Add-EntityLoadCrossbowEvent.patch} (100%) rename patches/server/{0559-Guardian-beam-workaround.patch => 0560-Guardian-beam-workaround.patch} (100%) rename patches/server/{0560-Added-WorldGameRuleChangeEvent.patch => 0561-Added-WorldGameRuleChangeEvent.patch} (98%) rename patches/server/{0561-Added-ServerResourcesReloadedEvent.patch => 0562-Added-ServerResourcesReloadedEvent.patch} (100%) rename patches/server/{0562-Added-world-settings-for-mobs-picking-up-loot.patch => 0563-Added-world-settings-for-mobs-picking-up-loot.patch} (100%) rename patches/server/{0563-Implemented-BlockFailedDispenseEvent.patch => 0564-Implemented-BlockFailedDispenseEvent.patch} (100%) rename patches/server/{0564-Added-PlayerLecternPageChangeEvent.patch => 0565-Added-PlayerLecternPageChangeEvent.patch} (100%) rename patches/server/{0565-Added-PlayerLoomPatternSelectEvent.patch => 0566-Added-PlayerLoomPatternSelectEvent.patch} (100%) rename patches/server/{0566-Configurable-door-breaking-difficulty.patch => 0567-Configurable-door-breaking-difficulty.patch} (100%) rename patches/server/{0567-Empty-commands-shall-not-be-dispatched.patch => 0568-Empty-commands-shall-not-be-dispatched.patch} (100%) rename patches/server/{0568-Implement-API-to-expose-exact-interaction-point.patch => 0569-Implement-API-to-expose-exact-interaction-point.patch} (100%) rename patches/server/{0569-Remove-stale-POIs.patch => 0570-Remove-stale-POIs.patch} (100%) rename patches/server/{0570-Fix-villager-boat-exploit.patch => 0571-Fix-villager-boat-exploit.patch} (88%) rename patches/server/{0571-Add-sendOpLevel-API.patch => 0572-Add-sendOpLevel-API.patch} (86%) rename patches/server/{0572-Add-StructureLocateEvent.patch => 0573-Add-StructureLocateEvent.patch} (95%) rename patches/server/{0573-Collision-option-for-requiring-a-player-participant.patch => 0574-Collision-option-for-requiring-a-player-participant.patch} (97%) rename patches/server/{0574-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch => 0575-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch} (100%) rename patches/server/{0575-Return-chat-component-with-empty-text-instead-of-thr.patch => 0576-Return-chat-component-with-empty-text-instead-of-thr.patch} (100%) rename patches/server/{0576-Make-schedule-command-per-world.patch => 0577-Make-schedule-command-per-world.patch} (100%) rename patches/server/{0577-Configurable-max-leash-distance.patch => 0578-Configurable-max-leash-distance.patch} (100%) rename patches/server/{0578-Implement-BlockPreDispenseEvent.patch => 0579-Implement-BlockPreDispenseEvent.patch} (100%) rename patches/server/{0579-added-Wither-API.patch => 0580-added-Wither-API.patch} (100%) rename patches/server/{0580-Added-firing-of-PlayerChangeBeaconEffectEvent.patch => 0581-Added-firing-of-PlayerChangeBeaconEffectEvent.patch} (100%) rename patches/server/{0581-Add-toggle-for-always-placing-the-dragon-egg.patch => 0582-Add-toggle-for-always-placing-the-dragon-egg.patch} (100%) rename patches/server/{0582-Added-PlayerStonecutterRecipeSelectEvent.patch => 0583-Added-PlayerStonecutterRecipeSelectEvent.patch} (100%) rename patches/server/{0583-Add-dropLeash-variable-to-EntityUnleashEvent.patch => 0584-Add-dropLeash-variable-to-EntityUnleashEvent.patch} (100%) rename patches/server/{0584-Skip-distance-map-update-when-spawning-disabled.patch => 0585-Skip-distance-map-update-when-spawning-disabled.patch} (87%) rename patches/server/{0585-Reset-shield-blocking-on-dimension-change.patch => 0586-Reset-shield-blocking-on-dimension-change.patch} (83%) rename patches/server/{0586-add-DragonEggFormEvent.patch => 0587-add-DragonEggFormEvent.patch} (100%) rename patches/server/{0587-EntityMoveEvent.patch => 0588-EntityMoveEvent.patch} (92%) rename patches/server/{0588-added-option-to-disable-pathfinding-updates-on-block.patch => 0589-added-option-to-disable-pathfinding-updates-on-block.patch} (95%) rename patches/server/{0589-Inline-shift-direction-fields.patch => 0590-Inline-shift-direction-fields.patch} (100%) rename patches/server/{0590-Allow-adding-items-to-BlockDropItemEvent.patch => 0591-Allow-adding-items-to-BlockDropItemEvent.patch} (100%) rename patches/server/{0591-Add-getMainThreadExecutor-to-BukkitScheduler.patch => 0592-Add-getMainThreadExecutor-to-BukkitScheduler.patch} (100%) rename patches/server/{0592-living-entity-allow-attribute-registration.patch => 0593-living-entity-allow-attribute-registration.patch} (100%) rename patches/server/{0593-fix-dead-slime-setSize-invincibility.patch => 0594-fix-dead-slime-setSize-invincibility.patch} (100%) rename patches/server/{0594-Merchant-getRecipes-should-return-an-immutable-list.patch => 0595-Merchant-getRecipes-should-return-an-immutable-list.patch} (100%) rename patches/server/{0595-Add-support-for-hex-color-codes-in-console.patch => 0596-Add-support-for-hex-color-codes-in-console.patch} (100%) rename patches/server/{0596-Expose-Tracked-Players.patch => 0597-Expose-Tracked-Players.patch} (100%) rename patches/server/{0597-Remove-streams-from-SensorNearest.patch => 0598-Remove-streams-from-SensorNearest.patch} (100%) rename patches/server/{0598-Throw-proper-exception-on-empty-JsonList-file.patch => 0599-Throw-proper-exception-on-empty-JsonList-file.patch} (100%) rename patches/server/{0599-Improve-ServerGUI.patch => 0600-Improve-ServerGUI.patch} (100%) rename patches/server/{0600-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch => 0601-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch} (100%) rename patches/server/{0601-fix-converting-txt-to-json-file.patch => 0602-fix-converting-txt-to-json-file.patch} (94%) rename patches/server/{0602-Add-worldborder-events.patch => 0603-Add-worldborder-events.patch} (100%) rename patches/server/{0603-added-PlayerNameEntityEvent.patch => 0604-added-PlayerNameEntityEvent.patch} (100%) rename patches/server/{0604-Prevent-grindstones-from-overstacking-items.patch => 0605-Prevent-grindstones-from-overstacking-items.patch} (100%) rename patches/server/{0605-Add-recipe-to-cook-events.patch => 0606-Add-recipe-to-cook-events.patch} (100%) rename patches/server/{0606-Add-Block-isValidTool.patch => 0607-Add-Block-isValidTool.patch} (100%) rename patches/server/{0607-Allow-using-signs-inside-spawn-protection.patch => 0608-Allow-using-signs-inside-spawn-protection.patch} (100%) rename patches/server/{0608-Implement-Keyed-on-World.patch => 0609-Implement-Keyed-on-World.patch} (94%) rename patches/server/{0609-Add-fast-alternative-constructor-for-Rotations.patch => 0610-Add-fast-alternative-constructor-for-Rotations.patch} (100%) rename patches/server/{0610-Item-Rarity-API.patch => 0611-Item-Rarity-API.patch} (96%) rename patches/server/{0611-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch => 0612-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch} (100%) rename patches/server/{0612-copy-TESign-isEditable-from-snapshots.patch => 0613-copy-TESign-isEditable-from-snapshots.patch} (100%) rename patches/server/{0613-Drop-carried-item-when-player-has-disconnected.patch => 0614-Drop-carried-item-when-player-has-disconnected.patch} (88%) rename patches/server/{0614-forced-whitelist-use-configurable-kick-message.patch => 0615-forced-whitelist-use-configurable-kick-message.patch} (100%) rename patches/server/{0615-Don-t-ignore-result-of-PlayerEditBookEvent.patch => 0616-Don-t-ignore-result-of-PlayerEditBookEvent.patch} (100%) rename patches/server/{0616-Entity-load-save-limit-per-chunk.patch => 0617-Entity-load-save-limit-per-chunk.patch} (100%) rename patches/server/{0617-fix-cancelling-block-falling-causing-client-desync.patch => 0618-fix-cancelling-block-falling-causing-client-desync.patch} (100%) rename patches/server/{0618-Expose-protocol-version.patch => 0619-Expose-protocol-version.patch} (91%) rename patches/server/{0619-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch => 0620-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch} (100%) rename patches/server/{0620-Enhance-console-tab-completions-for-brigadier-comman.patch => 0621-Enhance-console-tab-completions-for-brigadier-comman.patch} (100%) rename patches/server/{0621-Fix-PlayerItemConsumeEvent-cancelling-properly.patch => 0622-Fix-PlayerItemConsumeEvent-cancelling-properly.patch} (100%) rename patches/server/{0622-Add-bypass-host-check.patch => 0623-Add-bypass-host-check.patch} (100%) rename patches/server/{0623-Set-area-affect-cloud-rotation.patch => 0624-Set-area-affect-cloud-rotation.patch} (100%) rename patches/server/{0624-add-isDeeplySleeping-to-HumanEntity.patch => 0625-add-isDeeplySleeping-to-HumanEntity.patch} (100%) rename patches/server/{0625-Fix-duplicating-give-items-on-item-drop-cancel.patch => 0626-Fix-duplicating-give-items-on-item-drop-cancel.patch} (100%) rename patches/server/{0626-add-consumeFuel-to-FurnaceBurnEvent.patch => 0627-add-consumeFuel-to-FurnaceBurnEvent.patch} (100%) rename patches/server/{0627-add-get-set-drop-chance-to-EntityEquipment.patch => 0628-add-get-set-drop-chance-to-EntityEquipment.patch} (100%) rename patches/server/{0628-fix-PigZombieAngerEvent-cancellation.patch => 0629-fix-PigZombieAngerEvent-cancellation.patch} (100%) rename patches/server/{0629-Fix-checkReach-check-for-Shulker-boxes.patch => 0630-Fix-checkReach-check-for-Shulker-boxes.patch} (100%) rename patches/server/{0630-fix-PlayerItemHeldEvent-firing-twice.patch => 0631-fix-PlayerItemHeldEvent-firing-twice.patch} (100%) rename patches/server/{0631-Added-PlayerDeepSleepEvent.patch => 0632-Added-PlayerDeepSleepEvent.patch} (100%) rename patches/server/{0632-More-World-API.patch => 0633-More-World-API.patch} (97%) rename patches/server/{0633-Added-PlayerBedFailEnterEvent.patch => 0634-Added-PlayerBedFailEnterEvent.patch} (100%) rename patches/server/{0634-Implement-methods-to-convert-between-Component-and-B.patch => 0635-Implement-methods-to-convert-between-Component-and-B.patch} (100%) rename patches/server/{0635-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch => 0636-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch} (86%) rename patches/server/{0636-Introduce-beacon-activation-deactivation-events.patch => 0637-Introduce-beacon-activation-deactivation-events.patch} (100%) rename patches/server/{0637-add-RespawnFlags-to-PlayerRespawnEvent.patch => 0638-add-RespawnFlags-to-PlayerRespawnEvent.patch} (94%) rename patches/server/{0638-Add-Channel-initialization-listeners.patch => 0639-Add-Channel-initialization-listeners.patch} (100%) rename patches/server/{0639-Send-empty-commands-if-tab-completion-is-disabled.patch => 0640-Send-empty-commands-if-tab-completion-is-disabled.patch} (100%) rename patches/server/{0640-Add-more-WanderingTrader-API.patch => 0641-Add-more-WanderingTrader-API.patch} (100%) rename patches/server/{0641-Add-EntityBlockStorage-clearEntities.patch => 0642-Add-EntityBlockStorage-clearEntities.patch} (100%) rename patches/server/{0642-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch => 0643-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch} (100%) rename patches/server/{0643-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch => 0644-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch} (100%) rename patches/server/{0644-Inventory-close.patch => 0645-Inventory-close.patch} (100%) rename patches/server/{0645-call-PortalCreateEvent-players-and-end-platform.patch => 0646-call-PortalCreateEvent-players-and-end-platform.patch} (91%) rename patches/server/{0646-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch => 0647-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch} (98%) rename patches/server/{0647-Fix-CraftPotionBrewer-cache.patch => 0648-Fix-CraftPotionBrewer-cache.patch} (100%) rename patches/server/{0648-Add-basic-Datapack-API.patch => 0649-Add-basic-Datapack-API.patch} (100%) rename patches/server/{0649-Add-environment-variable-to-disable-server-gui.patch => 0650-Add-environment-variable-to-disable-server-gui.patch} (100%) rename patches/server/{0650-additions-to-PlayerGameModeChangeEvent.patch => 0651-additions-to-PlayerGameModeChangeEvent.patch} (95%) rename patches/server/{0651-ItemStack-repair-check-API.patch => 0652-ItemStack-repair-check-API.patch} (97%) rename patches/server/{0652-More-Enchantment-API.patch => 0653-More-Enchantment-API.patch} (100%) rename patches/server/{0653-Fix-and-optimise-world-force-upgrading.patch => 0654-Fix-and-optimise-world-force-upgrading.patch} (99%) rename patches/server/{0654-Add-Mob-lookAt-API.patch => 0655-Add-Mob-lookAt-API.patch} (100%) rename patches/server/{0655-Add-Unix-domain-socket-support.patch => 0656-Add-Unix-domain-socket-support.patch} (100%) rename patches/server/{0656-Add-EntityInsideBlockEvent.patch => 0657-Add-EntityInsideBlockEvent.patch} (100%) rename patches/server/{0657-Attributes-API-for-item-defaults.patch => 0658-Attributes-API-for-item-defaults.patch} (97%) rename patches/server/{0658-Add-cause-to-Weather-ThunderChangeEvents.patch => 0659-Add-cause-to-Weather-ThunderChangeEvents.patch} (97%) rename patches/server/{0659-More-Lidded-Block-API.patch => 0660-More-Lidded-Block-API.patch} (100%) rename patches/server/{0660-Limit-item-frame-cursors-on-maps.patch => 0661-Limit-item-frame-cursors-on-maps.patch} (100%) rename patches/server/{0661-Add-PlayerKickEvent-causes.patch => 0662-Add-PlayerKickEvent-causes.patch} (98%) rename patches/server/{0662-Add-PufferFishStateChangeEvent.patch => 0663-Add-PufferFishStateChangeEvent.patch} (100%) rename patches/server/{0663-Fix-PlayerBucketEmptyEvent-result-itemstack.patch => 0664-Fix-PlayerBucketEmptyEvent-result-itemstack.patch} (100%) rename patches/server/{0664-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch => 0665-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch} (100%) rename patches/server/{0665-Add-option-to-fix-items-merging-through-walls.patch => 0666-Add-option-to-fix-items-merging-through-walls.patch} (100%) rename patches/server/{0666-Add-BellRevealRaiderEvent.patch => 0667-Add-BellRevealRaiderEvent.patch} (100%) rename patches/server/{0667-Fix-invulnerable-end-crystals.patch => 0668-Fix-invulnerable-end-crystals.patch} (100%) rename patches/server/{0668-Add-ElderGuardianAppearanceEvent.patch => 0669-Add-ElderGuardianAppearanceEvent.patch} (100%) rename patches/server/{0669-Fix-dangerous-end-portal-logic.patch => 0670-Fix-dangerous-end-portal-logic.patch} (97%) rename patches/server/{0670-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch => 0671-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch} (100%) rename patches/server/{0671-Make-item-validations-configurable.patch => 0672-Make-item-validations-configurable.patch} (100%) rename patches/server/{0672-Line-Of-Sight-Changes.patch => 0673-Line-Of-Sight-Changes.patch} (97%) rename patches/server/{0673-add-per-world-spawn-limits.patch => 0674-add-per-world-spawn-limits.patch} (97%) rename patches/server/{0674-Fix-PotionSplashEvent-for-water-splash-potions.patch => 0675-Fix-PotionSplashEvent-for-water-splash-potions.patch} (100%) rename patches/server/{0675-Add-more-LimitedRegion-API.patch => 0676-Add-more-LimitedRegion-API.patch} (100%) rename patches/server/{0676-Fix-PlayerDropItemEvent-using-wrong-item.patch => 0677-Fix-PlayerDropItemEvent-using-wrong-item.patch} (91%) rename patches/server/{0677-Missing-Entity-Behavior-API.patch => 0678-Missing-Entity-Behavior-API.patch} (100%) rename patches/server/{0678-Ensure-disconnect-for-book-edit-is-called-on-main.patch => 0679-Ensure-disconnect-for-book-edit-is-called-on-main.patch} (100%) rename patches/server/{0679-Fix-return-value-of-Block-applyBoneMeal-always-being.patch => 0680-Fix-return-value-of-Block-applyBoneMeal-always-being.patch} (100%) rename patches/server/{0680-Use-getChunkIfLoadedImmediately-in-places.patch => 0681-Use-getChunkIfLoadedImmediately-in-places.patch} (100%) rename patches/server/{0681-Fix-commands-from-signs-not-firing-command-events.patch => 0682-Fix-commands-from-signs-not-firing-command-events.patch} (100%) rename patches/server/{0682-Adds-PlayerArmSwingEvent.patch => 0683-Adds-PlayerArmSwingEvent.patch} (100%) rename patches/server/{0683-Fixes-kick-event-leave-message-not-being-sent.patch => 0684-Fixes-kick-event-leave-message-not-being-sent.patch} (95%) rename patches/server/{0684-Add-config-for-mobs-immune-to-default-effects.patch => 0685-Add-config-for-mobs-immune-to-default-effects.patch} (100%) rename patches/server/{0685-Fix-incorrect-message-for-outdated-client.patch => 0686-Fix-incorrect-message-for-outdated-client.patch} (100%) rename patches/server/{0686-Fix-MerchantOffer-BuyB-Only-AssertionError.patch => 0687-Fix-MerchantOffer-BuyB-Only-AssertionError.patch} (100%) rename patches/server/{0687-Don-t-apply-cramming-damage-to-players.patch => 0688-Don-t-apply-cramming-damage-to-players.patch} (93%) rename patches/server/{0688-Rate-options-and-timings-for-sensors-and-behaviors.patch => 0689-Rate-options-and-timings-for-sensors-and-behaviors.patch} (100%) rename patches/server/{0689-Add-a-bunch-of-missing-forceDrop-toggles.patch => 0690-Add-a-bunch-of-missing-forceDrop-toggles.patch} (100%) rename patches/server/{0690-Stinger-API.patch => 0691-Stinger-API.patch} (100%) rename patches/server/{0691-Fix-incosistency-issue-with-empty-map-items-in-CB.patch => 0692-Fix-incosistency-issue-with-empty-map-items-in-CB.patch} (100%) rename patches/server/{0692-Add-System.out-err-catcher.patch => 0693-Add-System.out-err-catcher.patch} (100%) rename patches/server/{0693-Fix-test-not-bootstrapping.patch => 0694-Fix-test-not-bootstrapping.patch} (100%) rename patches/server/{0694-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch => 0695-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch} (100%) rename patches/server/{0695-Improve-boat-collision-performance.patch => 0696-Improve-boat-collision-performance.patch} (100%) rename patches/server/{0696-Prevent-AFK-kick-while-watching-end-credits.patch => 0697-Prevent-AFK-kick-while-watching-end-credits.patch} (100%) rename patches/server/{0697-Allow-skipping-writing-of-comments-to-server.propert.patch => 0698-Allow-skipping-writing-of-comments-to-server.propert.patch} (100%) rename patches/server/{0698-Add-PlayerSetSpawnEvent.patch => 0699-Add-PlayerSetSpawnEvent.patch} (93%) rename patches/server/{0699-Make-hoppers-respect-inventory-max-stack-size.patch => 0700-Make-hoppers-respect-inventory-max-stack-size.patch} (100%) rename patches/server/{0700-Optimize-entity-tracker-passenger-checks.patch => 0701-Optimize-entity-tracker-passenger-checks.patch} (100%) rename patches/server/{0701-Config-option-for-Piglins-guarding-chests.patch => 0702-Config-option-for-Piglins-guarding-chests.patch} (100%) rename patches/server/{0702-Added-EntityDamageItemEvent.patch => 0703-Added-EntityDamageItemEvent.patch} (100%) rename patches/server/{0703-Optimize-indirect-passenger-iteration.patch => 0704-Optimize-indirect-passenger-iteration.patch} (95%) rename patches/server/{0704-Fix-block-drops-position-losing-precision-millions-o.patch => 0705-Fix-block-drops-position-losing-precision-millions-o.patch} (100%) rename patches/server/{0705-Configurable-item-frame-map-cursor-update-interval.patch => 0706-Configurable-item-frame-map-cursor-update-interval.patch} (100%) rename patches/server/{0706-Make-EntityUnleashEvent-cancellable.patch => 0707-Make-EntityUnleashEvent-cancellable.patch} (100%) rename patches/server/{0707-Clear-bucket-NBT-after-dispense.patch => 0708-Clear-bucket-NBT-after-dispense.patch} (100%) rename patches/server/{0708-Set-AsyncAppender-dispatch-thread-to-be-a-daemon-thr.patch => 0709-Set-AsyncAppender-dispatch-thread-to-be-a-daemon-thr.patch} (100%) rename patches/server/{0709-Respect-despawn-rate-in-item-merge-check.patch => 0710-Respect-despawn-rate-in-item-merge-check.patch} (100%) rename patches/server/{0710-Move-BlockPistonRetractEvent-to-fix-duplication.patch => 0711-Move-BlockPistonRetractEvent-to-fix-duplication.patch} (100%) rename patches/server/{0711-Change-EnderEye-target-without-changing-other-things.patch => 0712-Change-EnderEye-target-without-changing-other-things.patch} (100%) rename patches/server/{0712-Add-BlockBreakBlockEvent.patch => 0713-Add-BlockBreakBlockEvent.patch} (100%) rename patches/server/{0713-Option-to-prevent-NBT-copy-in-smithing-recipes.patch => 0714-Option-to-prevent-NBT-copy-in-smithing-recipes.patch} (100%) rename patches/server/{0714-More-CommandBlock-API.patch => 0715-More-CommandBlock-API.patch} (100%) rename patches/server/{0715-Add-missing-team-sidebar-display-slots.patch => 0716-Add-missing-team-sidebar-display-slots.patch} (100%) rename patches/server/{0716-Add-back-EntityPortalExitEvent.patch => 0717-Add-back-EntityPortalExitEvent.patch} (96%) rename patches/server/{0717-Add-methods-to-find-targets-for-lightning-strikes.patch => 0718-Add-methods-to-find-targets-for-lightning-strikes.patch} (96%) rename patches/server/{0718-Get-entity-default-attributes.patch => 0719-Get-entity-default-attributes.patch} (100%) rename patches/server/{0719-Left-handed-API.patch => 0720-Left-handed-API.patch} (100%) rename patches/server/{0720-Add-advancement-display-API.patch => 0721-Add-advancement-display-API.patch} (100%) rename patches/server/{0721-Add-ItemFactory-getMonsterEgg-API.patch => 0722-Add-ItemFactory-getMonsterEgg-API.patch} (100%) rename patches/server/{0722-Add-critical-damage-API.patch => 0723-Add-critical-damage-API.patch} (100%) rename patches/server/{0723-Fix-issues-with-mob-conversion.patch => 0724-Fix-issues-with-mob-conversion.patch} (100%) rename patches/server/{0724-Add-isCollidable-methods-to-various-places.patch => 0725-Add-isCollidable-methods-to-various-places.patch} (100%) rename patches/server/{0725-Goat-ram-API.patch => 0726-Goat-ram-API.patch} (100%) rename patches/server/{0726-Add-API-for-resetting-a-single-score.patch => 0727-Add-API-for-resetting-a-single-score.patch} (100%) rename patches/server/{0727-Add-Raw-Byte-Entity-Serialization.patch => 0728-Add-Raw-Byte-Entity-Serialization.patch} (97%) rename patches/server/{0728-Vanilla-command-permission-fixes.patch => 0729-Vanilla-command-permission-fixes.patch} (100%) rename patches/server/{0729-Make-CallbackExecutor-strict-again.patch => 0730-Make-CallbackExecutor-strict-again.patch} (93%) rename patches/server/{0730-Do-not-allow-the-server-to-unload-chunks-at-request-.patch => 0731-Do-not-allow-the-server-to-unload-chunks-at-request-.patch} (87%) rename patches/server/{0731-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch => 0732-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch} (96%) rename patches/server/{0732-Correctly-handle-recursion-for-chunkholder-updates.patch => 0733-Correctly-handle-recursion-for-chunkholder-updates.patch} (85%) rename patches/server/{0733-Separate-lookup-locking-from-state-access-in-UserCac.patch => 0734-Separate-lookup-locking-from-state-access-in-UserCac.patch} (100%) rename patches/server/{0734-Fix-chunks-refusing-to-unload-at-low-TPS.patch => 0735-Fix-chunks-refusing-to-unload-at-low-TPS.patch} (88%) rename patches/server/{0735-Do-not-allow-ticket-level-changes-while-unloading-pl.patch => 0736-Do-not-allow-ticket-level-changes-while-unloading-pl.patch} (86%) rename patches/server/{0736-Do-not-allow-ticket-level-changes-when-updating-chun.patch => 0737-Do-not-allow-ticket-level-changes-when-updating-chun.patch} (91%) rename patches/server/{0737-Do-not-submit-profile-lookups-to-worldgen-threads.patch => 0738-Do-not-submit-profile-lookups-to-worldgen-threads.patch} (100%) rename patches/server/{0738-Log-when-the-async-catcher-is-tripped.patch => 0739-Log-when-the-async-catcher-is-tripped.patch} (100%) rename patches/server/{0739-Sanitize-ResourceLocation-error-logging.patch => 0740-Sanitize-ResourceLocation-error-logging.patch} (100%) rename patches/server/{0740-Optimise-general-POI-access.patch => 0741-Optimise-general-POI-access.patch} (100%) rename patches/server/{0741-Allow-controlled-flushing-for-network-manager.patch => 0742-Allow-controlled-flushing-for-network-manager.patch} (100%) rename patches/server/{0742-Add-more-async-catchers.patch => 0743-Add-more-async-catchers.patch} (100%) rename patches/server/{0743-Rewrite-entity-bounding-box-lookup-calls.patch => 0744-Rewrite-entity-bounding-box-lookup-calls.patch} (99%) rename patches/server/{0744-Execute-chunk-tasks-mid-tick.patch => 0745-Execute-chunk-tasks-mid-tick.patch} (100%) rename patches/server/{0745-Do-not-copy-visible-chunks.patch => 0746-Do-not-copy-visible-chunks.patch} (92%) rename patches/server/{0746-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch => 0747-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch} (100%) rename patches/server/{0747-Custom-table-implementation-for-blockstate-state-loo.patch => 0748-Custom-table-implementation-for-blockstate-state-loo.patch} (100%) rename patches/server/{0748-Detail-more-information-in-watchdog-dumps.patch => 0749-Detail-more-information-in-watchdog-dumps.patch} (99%) rename patches/server/{0749-Manually-inline-methods-in-BlockPosition.patch => 0750-Manually-inline-methods-in-BlockPosition.patch} (100%) rename patches/server/{0750-Distance-manager-tick-timings.patch => 0751-Distance-manager-tick-timings.patch} (87%) rename patches/server/{0751-Name-craft-scheduler-threads-according-to-the-plugin.patch => 0752-Name-craft-scheduler-threads-according-to-the-plugin.patch} (100%) rename patches/server/{0752-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch => 0753-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch} (100%) rename patches/server/{0753-Add-packet-limiter-config.patch => 0754-Add-packet-limiter-config.patch} (100%) rename patches/server/{0754-Lag-compensate-block-breaking.patch => 0755-Lag-compensate-block-breaking.patch} (100%) rename patches/server/{0755-Use-correct-LevelStem-registry-when-loading-default-.patch => 0756-Use-correct-LevelStem-registry-when-loading-default-.patch} (100%) rename patches/server/{0756-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch => 0757-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch} (100%) rename patches/server/{0757-Consolidate-flush-calls-for-entity-tracker-packets.patch => 0758-Consolidate-flush-calls-for-entity-tracker-packets.patch} (93%) rename patches/server/{0758-Don-t-lookup-fluid-state-when-raytracing.patch => 0759-Don-t-lookup-fluid-state-when-raytracing.patch} (100%) rename patches/server/{0759-Time-scoreboard-search.patch => 0760-Time-scoreboard-search.patch} (100%) rename patches/server/{0760-Send-full-pos-packets-for-hard-colliding-entities.patch => 0761-Send-full-pos-packets-for-hard-colliding-entities.patch} (100%) rename patches/server/{0761-Do-not-run-raytrace-logic-for-AIR.patch => 0762-Do-not-run-raytrace-logic-for-AIR.patch} (100%) rename patches/server/{0762-Oprimise-map-impl-for-tracked-players.patch => 0763-Oprimise-map-impl-for-tracked-players.patch} (89%) rename patches/server/{0763-Optimise-BlockSoil-nearby-water-lookup.patch => 0764-Optimise-BlockSoil-nearby-water-lookup.patch} (100%) rename patches/server/{0764-Allow-removal-addition-of-entities-to-entity-ticklis.patch => 0765-Allow-removal-addition-of-entities-to-entity-ticklis.patch} (100%) rename patches/server/{0765-Optimise-random-block-ticking.patch => 0766-Optimise-random-block-ticking.patch} (100%) rename patches/server/{0766-Optimise-non-flush-packet-sending.patch => 0767-Optimise-non-flush-packet-sending.patch} (100%) rename patches/server/{0767-Optimise-nearby-player-lookups.patch => 0768-Optimise-nearby-player-lookups.patch} (98%) rename patches/server/{0768-Optimise-WorldServer-notify.patch => 0769-Optimise-WorldServer-notify.patch} (98%) rename patches/server/{0769-Remove-streams-for-villager-AI.patch => 0770-Remove-streams-for-villager-AI.patch} (100%) rename patches/server/{0770-Rewrite-dataconverter-system.patch => 0771-Rewrite-dataconverter-system.patch} (100%) rename patches/server/{0771-Use-Velocity-compression-and-cipher-natives.patch => 0772-Use-Velocity-compression-and-cipher-natives.patch} (100%) rename patches/server/{0772-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch => 0773-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch} (100%) rename patches/server/{0773-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch => 0774-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch} (100%) rename patches/server/{0774-Async-catch-modifications-to-critical-entity-state.patch => 0775-Async-catch-modifications-to-critical-entity-state.patch} (100%) rename patches/server/{0775-Fix-Bukkit-NamespacedKey-shenanigans.patch => 0776-Fix-Bukkit-NamespacedKey-shenanigans.patch} (100%) rename patches/server/{0776-Fix-merchant-inventory-not-closing-on-entity-removal.patch => 0777-Fix-merchant-inventory-not-closing-on-entity-removal.patch} (100%) rename patches/server/{0777-Check-requirement-before-suggesting-root-nodes.patch => 0778-Check-requirement-before-suggesting-root-nodes.patch} (100%) rename patches/server/{0778-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch => 0779-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch} (100%) rename patches/server/{0779-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch => 0780-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch} (100%) rename patches/server/{0780-Ensure-valid-vehicle-status.patch => 0781-Ensure-valid-vehicle-status.patch} (84%) rename patches/server/{0781-Prevent-softlocked-end-exit-portal-generation.patch => 0782-Prevent-softlocked-end-exit-portal-generation.patch} (100%) rename patches/server/{0782-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch => 0783-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch} (100%) rename patches/server/{0783-Don-t-log-debug-logging-being-disabled.patch => 0784-Don-t-log-debug-logging-being-disabled.patch} (100%) rename patches/server/{0784-Mark-fish-and-axolotls-from-buckets-as-persistent.patch => 0785-Mark-fish-and-axolotls-from-buckets-as-persistent.patch} (100%) rename patches/server/{0785-fix-various-menus-with-empty-level-accesses.patch => 0786-fix-various-menus-with-empty-level-accesses.patch} (100%) rename patches/server/{0786-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch => 0787-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch} (90%) rename patches/server/{0787-Preserve-overstacked-loot.patch => 0788-Preserve-overstacked-loot.patch} (100%) rename patches/server/{0788-Update-head-rotation-in-missing-places.patch => 0789-Update-head-rotation-in-missing-places.patch} (93%) rename patches/server/{0789-prevent-unintended-light-block-manipulation.patch => 0790-prevent-unintended-light-block-manipulation.patch} (100%) rename patches/server/{0790-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch => 0791-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch} (100%) rename patches/server/{0791-Fix-CraftCriteria-defaults-map.patch => 0792-Fix-CraftCriteria-defaults-map.patch} (100%) rename patches/server/{0792-Fix-upstreams-block-state-factories.patch => 0793-Fix-upstreams-block-state-factories.patch} (100%) rename patches/server/{0793-Add-config-option-for-logging-player-ip-addresses.patch => 0794-Add-config-option-for-logging-player-ip-addresses.patch} (97%) rename patches/server/{0794-VanillaCommandWrapper-didnt-account-for-entity-sende.patch => 0795-VanillaCommandWrapper-didnt-account-for-entity-sende.patch} (100%) rename patches/server/{0795-Add-root-admin-user-detection.patch => 0796-Add-root-admin-user-detection.patch} (100%) rename patches/server/{0796-Always-allow-item-changing-in-Fireball.patch => 0797-Always-allow-item-changing-in-Fireball.patch} (100%) rename patches/server/{0797-don-t-attempt-to-teleport-dead-entities.patch => 0798-don-t-attempt-to-teleport-dead-entities.patch} (91%) rename patches/server/{0798-Call-onRemove-logic-for-breakNaturally.patch => 0799-Call-onRemove-logic-for-breakNaturally.patch} (100%) rename patches/server/{0799-Fix-anvil-prepare-event-not-working-with-zero-xp.patch => 0800-Fix-anvil-prepare-event-not-working-with-zero-xp.patch} (100%) diff --git a/patches/server/0006-MC-Utils.patch b/patches/server/0006-MC-Utils.patch index 39170d6c83..5929fe8d6b 100644 --- a/patches/server/0006-MC-Utils.patch +++ b/patches/server/0006-MC-Utils.patch @@ -5067,7 +5067,7 @@ index 18f1bfed979e756a62ff8f5ee434d8270ab987d4..2361a92630d2639d602bc1434b061ad9 } catch (Throwable throwable) { // Spigot Start diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java -index d2fbb6e28db27b3207879be3027bb74410a53900..303125c4d0f8f235703975eab5eccb9aa045ccf8 100644 +index d2fbb6e28db27b3207879be3027bb74410a53900..faa0f1c72693977b65b3deb0f689756fbc83f568 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java @@ -49,9 +49,9 @@ public class ChunkHolder { @@ -5286,8 +5286,27 @@ index d2fbb6e28db27b3207879be3027bb74410a53900..303125c4d0f8f235703975eab5eccb9a } if (!playerchunk_state1.isOrAfter(playerchunk_state)) { +@@ -563,4 +642,18 @@ public class ChunkHolder { + } + }; + } ++ ++ // Paper start ++ public final boolean isEntityTickingReady() { ++ return this.isEntityTickingReady; ++ } ++ ++ public final boolean isTickingReady() { ++ return this.isTickingReady; ++ } ++ ++ public final boolean isFullChunkReady() { ++ return this.isFullChunkReady; ++ } ++ // Paper end + } diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index f41f0e6aa12c89b7a8dd95a7c43510bae2d58525..85c177bdf9ab329b7ff30294fd8d45b6690d6b71 100644 +index f41f0e6aa12c89b7a8dd95a7c43510bae2d58525..3c43b9e510ec1df43a54cde475490c49e57ca1b8 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -58,6 +58,7 @@ import net.minecraft.network.protocol.game.ClientboundSetChunkCacheCenterPacket; @@ -5446,6 +5465,38 @@ index f41f0e6aa12c89b7a8dd95a7c43510bae2d58525..85c177bdf9ab329b7ff30294fd8d45b6 } @Override +@@ -1414,7 +1496,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider + public class ChunkDistanceManager extends DistanceManager { + + protected ChunkDistanceManager(Executor workerExecutor, Executor mainThreadExecutor) { +- super(workerExecutor, mainThreadExecutor); ++ super(workerExecutor, mainThreadExecutor, ChunkMap.this); + } + + @Override +diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java +index ef87c37633cee4ab438f1991144188ade1c4e65f..19d3802becd353e130b785f8286e595e08dc5c5f 100644 +--- a/src/main/java/net/minecraft/server/level/DistanceManager.java ++++ b/src/main/java/net/minecraft/server/level/DistanceManager.java +@@ -59,8 +59,9 @@ public abstract class DistanceManager { + final Executor mainThreadExecutor; + private long ticketTickCounter; + private int simulationDistance = 10; ++ private final ChunkMap chunkMap; // Paper + +- protected DistanceManager(Executor workerExecutor, Executor mainThreadExecutor) { ++ protected DistanceManager(Executor workerExecutor, Executor mainThreadExecutor, ChunkMap chunkMap) { + Objects.requireNonNull(mainThreadExecutor); + ProcessorHandle<Runnable> mailbox = ProcessorHandle.of("player ticket throttler", mainThreadExecutor::execute); + ChunkTaskPriorityQueueSorter chunktaskqueuesorter = new ChunkTaskPriorityQueueSorter(ImmutableList.of(mailbox), workerExecutor, 4); +@@ -69,6 +70,7 @@ public abstract class DistanceManager { + this.ticketThrottlerInput = chunktaskqueuesorter.getProcessor(mailbox, true); + this.ticketThrottlerReleaser = chunktaskqueuesorter.getReleaseProcessor(mailbox); + this.mainThreadExecutor = mainThreadExecutor; ++ this.chunkMap = chunkMap; // Paper + } + + protected void purgeStaleTickets() { diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java index bdc774e3fbb949290fbc94c4b0cbc8f2c09f5bd8..8509bf94f64c6b761ee38e39278d12fcedeeff75 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java diff --git a/patches/server/0330-ChunkMapDistance-CME.patch b/patches/server/0330-ChunkMapDistance-CME.patch index 2c5ede3247..b2a567d003 100644 --- a/patches/server/0330-ChunkMapDistance-CME.patch +++ b/patches/server/0330-ChunkMapDistance-CME.patch @@ -5,7 +5,7 @@ Subject: [PATCH] ChunkMapDistance CME diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java -index 5b999da8c5ad430f9157276857165596d1208f64..26a787864058dccc0365680b0259ddf0dad22b58 100644 +index 60f6d74b6da4c35f937e171a70a9e78406154f4b..51175994b37e966af8983df1f15a0fc5a638a0b5 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java @@ -70,6 +70,7 @@ public class ChunkHolder { @@ -17,7 +17,7 @@ index 5b999da8c5ad430f9157276857165596d1208f64..26a787864058dccc0365680b0259ddf0 public ChunkHolder(ChunkPos pos, int level, LevelHeightAccessor world, LevelLightEngine lightingProvider, ChunkHolder.LevelChangeListener levelUpdateListener, ChunkHolder.PlayerProvider playersWatchingChunkProvider) { diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java -index ef87c37633cee4ab438f1991144188ade1c4e65f..975f1aab48f04a9f3cae04141b3fb65247f0ffaf 100644 +index 19d3802becd353e130b785f8286e595e08dc5c5f..f0dac1f596911eb2109192ef16a619f8ae71d1f7 100644 --- a/src/main/java/net/minecraft/server/level/DistanceManager.java +++ b/src/main/java/net/minecraft/server/level/DistanceManager.java @@ -51,7 +51,16 @@ public abstract class DistanceManager { @@ -38,7 +38,7 @@ index ef87c37633cee4ab438f1991144188ade1c4e65f..975f1aab48f04a9f3cae04141b3fb652 final ChunkTaskPriorityQueueSorter ticketThrottler; final ProcessorHandle<ChunkTaskPriorityQueueSorter.Message<Runnable>> ticketThrottlerInput; final ProcessorHandle<ChunkTaskPriorityQueueSorter.Release> ticketThrottlerReleaser; -@@ -124,26 +133,14 @@ public abstract class DistanceManager { +@@ -126,26 +135,14 @@ public abstract class DistanceManager { ; } @@ -73,7 +73,7 @@ index ef87c37633cee4ab438f1991144188ade1c4e65f..975f1aab48f04a9f3cae04141b3fb652 return true; } else { if (!this.ticketsToRelease.isEmpty()) { -@@ -432,7 +429,7 @@ public abstract class DistanceManager { +@@ -434,7 +431,7 @@ public abstract class DistanceManager { if (k != level) { playerchunk = DistanceManager.this.updateChunkScheduling(id, level, playerchunk, k); if (playerchunk != null) { diff --git a/patches/server/0401-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch b/patches/server/0401-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch index d450c95f78..cd2777bf53 100644 --- a/patches/server/0401-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch +++ b/patches/server/0401-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Don't crash if player is attempted to be removed from I suspect it deals with teleporting as it uses players current x/y/z diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java -index 975f1aab48f04a9f3cae04141b3fb65247f0ffaf..1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c 100644 +index f0dac1f596911eb2109192ef16a619f8ae71d1f7..8868ffcda194e8c2300181a2cdda9337dbde6284 100644 --- a/src/main/java/net/minecraft/server/level/DistanceManager.java +++ b/src/main/java/net/minecraft/server/level/DistanceManager.java -@@ -281,8 +281,8 @@ public abstract class DistanceManager { +@@ -283,8 +283,8 @@ public abstract class DistanceManager { ObjectSet<ServerPlayer> objectset = (ObjectSet) this.playersPerChunk.get(i); if (objectset == null) return; // CraftBukkit - SPIGOT-6208 diff --git a/patches/removed/1.18/0465-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch b/patches/server/0466-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch similarity index 77% rename from patches/removed/1.18/0465-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch rename to patches/server/0466-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch index 8e5de74595..32bf2d4d01 100644 --- a/patches/removed/1.18/0465-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch +++ b/patches/server/0466-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch @@ -80,7 +80,7 @@ index 2fe519d4059fac06781c30e140895b604e13104f..35949e9c15eb998aa89842d34d0999cd chunkData.addProperty("queued-for-unload", chunkMap.toDrop.contains(playerChunk.pos.longKey)); chunkData.addProperty("status", status == null ? "unloaded" : status.toString()); diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java -index 26a787864058dccc0365680b0259ddf0dad22b58..d03aeed657fc7e427d847e0b8e2d58c59e6851fa 100644 +index 51175994b37e966af8983df1f15a0fc5a638a0b5..675c13c629e77ba50ecdad8cae43cc6b8aee5eaa 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java @@ -57,7 +57,7 @@ public class ChunkHolder { @@ -223,11 +223,11 @@ index 26a787864058dccc0365680b0259ddf0dad22b58..d03aeed657fc7e427d847e0b8e2d58c5 }); } }).exceptionally((throwable) -> { -@@ -643,4 +696,134 @@ public class ChunkHolder { - } +@@ -644,7 +697,134 @@ public class ChunkHolder { }; } -+ + +- // Paper start + // Paper start - Chunk gen/load priority system + volatile int neighborPriority = -1; + volatile int priorityBoost = 0; @@ -356,13 +356,14 @@ index 26a787864058dccc0365680b0259ddf0dad22b58..d03aeed657fc7e427d847e0b8e2d58c5 + ", priority=(" + ticketLevel + " - " + priorityBoost +" vs N " + neighborPriority + ") = " + getDemandedPriority() + " A " + queueLevel + + '}'; + } -+ // Paper end - } + public final boolean isEntityTickingReady() { + return this.isEntityTickingReady; + } diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b0625a01b810 100644 +index 7f4b68199b0cd8adb09ef09539b43e62885e19c5..896bca9ac8017ace5bc95d4ab1c2f96a63bd921b 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -124,6 +124,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -125,6 +125,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider public final ServerLevel level; private final ThreadedLevelLightEngine lightEngine; private final BlockableEventLoop<Runnable> mainThreadExecutor; @@ -370,7 +371,7 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 public ChunkGenerator generator; public final Supplier<DimensionDataStorage> overworldDataStorage; private final PoiManager poiManager; -@@ -241,6 +242,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -242,6 +243,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider this.level = world; this.generator = chunkGenerator; this.mainThreadExecutor = mainThreadExecutor; @@ -386,7 +387,7 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 ProcessorMailbox<Runnable> threadedmailbox = ProcessorMailbox.create(executor, "worldgen"); Objects.requireNonNull(mainThreadExecutor); -@@ -281,6 +291,116 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -282,6 +292,37 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider }); } @@ -419,91 +420,12 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 + map.put(chunk, level); + } + } -+ -+ public void checkHighPriorityChunks(ServerPlayer player) { -+ int currentTick = MinecraftServer.currentTick; -+ if (currentTick - player.lastHighPriorityChecked < 20 || !player.isRealPlayer) { // weed out fake players -+ return; -+ } -+ player.lastHighPriorityChecked = currentTick; -+ it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap priorities = new it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap(); -+ -+ int viewDistance = getEffectiveNoTickViewDistance(); -+ net.minecraft.core.BlockPos.MutableBlockPos pos = new net.minecraft.core.BlockPos.MutableBlockPos(); -+ -+ // Prioritize circular near -+ double playerChunkX = Mth.floor(player.getX()) >> 4; -+ double playerChunkZ = Mth.floor(player.getZ()) >> 4; -+ pos.set(player.getX(), 0, player.getZ()); -+ double twoThirdModifier = 2D / 3D; -+ MCUtil.getSpiralOutChunks(pos, Math.min(6, viewDistance)).forEach(coord -> { -+ if (shouldSkipPrioritization(coord)) return; -+ -+ double dist = MCUtil.distance(playerChunkX, 0, playerChunkZ, coord.x, 0, coord.z); -+ // Prioritize immediate -+ if (dist <= 4) { -+ updateChunkPriorityMap(priorities, coord.toLong(), (int) (27 - dist)); -+ return; -+ } -+ -+ // Prioritize nearby chunks -+ updateChunkPriorityMap(priorities, coord.toLong(), (int) (20 - dist * twoThirdModifier)); -+ }); -+ -+ // Prioritize Frustum near 3 -+ ChunkPos front3 = player.getChunkInFront(3); -+ pos.set(front3.x << 4, 0, front3.z << 4); -+ MCUtil.getSpiralOutChunks(pos, Math.min(5, viewDistance)).forEach(coord -> { -+ if (shouldSkipPrioritization(coord)) return; -+ -+ double dist = MCUtil.distance(playerChunkX, 0, playerChunkZ, coord.x, 0, coord.z); -+ updateChunkPriorityMap(priorities, coord.toLong(), (int) (25 - dist * twoThirdModifier)); -+ }); -+ -+ // Prioritize Frustum near 5 -+ if (viewDistance > 4) { -+ ChunkPos front5 = player.getChunkInFront(5); -+ pos.set(front5.x << 4, 0, front5.z << 4); -+ MCUtil.getSpiralOutChunks(pos, 4).forEach(coord -> { -+ if (shouldSkipPrioritization(coord)) return; -+ -+ double dist = MCUtil.distance(playerChunkX, 0, playerChunkZ, coord.x, 0, coord.z); -+ updateChunkPriorityMap(priorities, coord.toLong(), (int) (25 - dist * twoThirdModifier)); -+ }); -+ } -+ -+ // Prioritize Frustum far 7 -+ if (viewDistance > 6) { -+ ChunkPos front7 = player.getChunkInFront(7); -+ pos.set(front7.x << 4, 0, front7.z << 4); -+ MCUtil.getSpiralOutChunks(pos, 3).forEach(coord -> { -+ if (shouldSkipPrioritization(coord)) { -+ return; -+ } -+ double dist = MCUtil.distance(playerChunkX, 0, playerChunkZ, coord.x, 0, coord.z); -+ updateChunkPriorityMap(priorities, coord.toLong(), (int) (25 - dist * twoThirdModifier)); -+ }); -+ } -+ -+ if (priorities.isEmpty()) return; -+ distanceManager.delayDistanceManagerTick = true; -+ priorities.long2IntEntrySet().fastForEach(entry -> distanceManager.markHighPriority(new ChunkPos(entry.getLongKey()), entry.getIntValue())); -+ distanceManager.delayDistanceManagerTick = false; -+ level.getChunkSource().runDistanceManagerUpdates(); -+ -+ } -+ -+ private boolean shouldSkipPrioritization(ChunkPos coord) { -+ if (playerViewDistanceNoTickMap.getObjectsInRange(coord.toLong()) == null) return true; -+ ChunkHolder chunk = getUpdatingChunkIfPresent(coord.toLong()); -+ return chunk != null && (chunk.isFullChunkReady()); -+ } + // Paper end + // Paper start public void updatePlayerMobTypeMap(Entity entity) { if (!this.level.paperConfig.perPlayerMobSpawns) { -@@ -422,6 +542,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -423,6 +464,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider List<CompletableFuture<Either<ChunkAccess, ChunkHolder.ChunkLoadingFailure>>> list = Lists.newArrayList(); int j = centerChunk.x; int k = centerChunk.z; @@ -511,7 +433,7 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 for (int l = -margin; l <= margin; ++l) { for (int i1 = -margin; i1 <= margin; ++i1) { -@@ -440,6 +561,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -441,6 +483,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider ChunkStatus chunkstatus = (ChunkStatus) distanceToStatus.apply(j1); CompletableFuture<Either<ChunkAccess, ChunkHolder.ChunkLoadingFailure>> completablefuture = playerchunk.getOrScheduleFuture(chunkstatus, this); @@ -526,7 +448,7 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 list.add(completablefuture); } -@@ -710,11 +839,19 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -712,11 +762,19 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider if (requiredStatus == ChunkStatus.EMPTY) { return this.scheduleChunkLoad(chunkcoordintpair); } else { @@ -547,7 +469,7 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 if (optional.isPresent() && ((ChunkAccess) optional.get()).getStatus().isOrAfter(requiredStatus)) { CompletableFuture<Either<ChunkAccess, ChunkHolder.ChunkLoadingFailure>> completablefuture = requiredStatus.load(this.level, this.structureManager, this.lightEngine, (ichunkaccess) -> { -@@ -726,6 +863,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -728,6 +786,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } else { return this.scheduleChunkGeneration(holder, requiredStatus); } @@ -555,7 +477,7 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 } } -@@ -782,14 +920,24 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -784,14 +843,24 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider }; CompletableFuture<CompoundTag> chunkSaveFuture = this.level.asyncChunkTaskManager.getChunkSaveFuture(pos.x, pos.z); @@ -585,7 +507,7 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 return ret; // Paper end } -@@ -838,7 +986,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -843,7 +912,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider this.releaseLightTicket(chunkcoordintpair); return CompletableFuture.completedFuture(Either.right(playerchunk_failure)); }); @@ -597,7 +519,7 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 } protected void releaseLightTicket(ChunkPos pos) { -@@ -922,7 +1073,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -927,7 +999,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider long i = chunkHolder.getPos().toLong(); Objects.requireNonNull(chunkHolder); @@ -607,10 +529,10 @@ index 2e127a2eb9b00eabe1f5c9c966e405e280c38756..2964b9c6bcc4de9e0ce7644e15f0b062 } diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java -index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bbf469c4e9 100644 +index 8868ffcda194e8c2300181a2cdda9337dbde6284..4ec7fc8081c2c3d2e2d2cfcce336e5b0a35aabda 100644 --- a/src/main/java/net/minecraft/server/level/DistanceManager.java +++ b/src/main/java/net/minecraft/server/level/DistanceManager.java -@@ -111,6 +111,7 @@ public abstract class DistanceManager { +@@ -113,6 +113,7 @@ public abstract class DistanceManager { } private static int getTicketLevelAt(SortedArraySet<Ticket<?>> tickets) { @@ -618,7 +540,7 @@ index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bb return !tickets.isEmpty() ? ((Ticket) tickets.first()).getTicketLevel() : ChunkMap.MAX_CHUNK_DISTANCE + 1; } -@@ -125,6 +126,7 @@ public abstract class DistanceManager { +@@ -127,6 +128,7 @@ public abstract class DistanceManager { public boolean runAllUpdates(ChunkMap chunkStorage) { this.naturalSpawnChunkCounter.runAllUpdates(); this.tickingTicketsTracker.runAllUpdates(); @@ -626,7 +548,7 @@ index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bb this.playerTicketManager.runAllUpdates(); int i = Integer.MAX_VALUE - this.ticketTracker.runDistanceUpdates(Integer.MAX_VALUE); boolean flag = i != 0; -@@ -135,11 +137,13 @@ public abstract class DistanceManager { +@@ -137,11 +139,13 @@ public abstract class DistanceManager { // Paper start if (!this.pendingChunkUpdates.isEmpty()) { @@ -640,7 +562,7 @@ index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bb // Paper end return true; } else { -@@ -175,8 +179,10 @@ public abstract class DistanceManager { +@@ -177,8 +181,10 @@ public abstract class DistanceManager { return flag; } } @@ -651,7 +573,7 @@ index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bb SortedArraySet<Ticket<?>> arraysetsorted = this.getTickets(i); int j = DistanceManager.getTicketLevelAt(arraysetsorted); Ticket<?> ticket1 = (Ticket) arraysetsorted.addOrGet(ticket); -@@ -190,7 +196,9 @@ public abstract class DistanceManager { +@@ -192,7 +198,9 @@ public abstract class DistanceManager { } boolean removeTicket(long i, Ticket<?> ticket) { // CraftBukkit - void -> boolean @@ -661,7 +583,7 @@ index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bb boolean removed = false; // CraftBukkit if (arraysetsorted.remove(ticket)) { -@@ -201,7 +209,12 @@ public abstract class DistanceManager { +@@ -203,7 +211,12 @@ public abstract class DistanceManager { this.tickets.remove(i); } @@ -675,7 +597,7 @@ index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bb return removed; // CraftBukkit } -@@ -249,6 +262,136 @@ public abstract class DistanceManager { +@@ -251,6 +264,112 @@ public abstract class DistanceManager { }); } @@ -711,36 +633,12 @@ index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bb + chunkMap.level.getChunkSource().runDistanceManagerUpdates(); + } + -+ private boolean hasPlayerTicket(ChunkPos coords, int level) { -+ SortedArraySet<Ticket<?>> tickets = this.tickets.get(coords.toLong()); -+ if (tickets == null || tickets.isEmpty()) { -+ return false; -+ } -+ for (Ticket<?> ticket : tickets) { -+ if (ticket.getType() == TicketType.PLAYER && ticket.getTicketLevel() == level) { -+ return true; -+ } -+ } -+ -+ return false; -+ } -+ + private boolean addPriorityTicket(ChunkPos coords, TicketType<ChunkPos> ticketType, int priority) { + org.spigotmc.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); -+ this.ticketsToRelease.add(pair); -+ addTicket(pair, ticket); -+ } + if ((chunk != null && chunk.isFullChunkReady())) { -+ if (needsTicket) { -+ chunkMap.level.getChunkSource().runDistanceManagerUpdates(); -+ } -+ return needsTicket; ++ return false; + } + + boolean success; @@ -812,187 +710,11 @@ index 1a6c75a33c6dfec63eabef0b8a0a5d8812aeeb4c..7f1fc9ab112903ed0f29b82baeba89bb protected void updateChunkForced(ChunkPos pos, boolean forced) { Ticket<ChunkPos> ticket = new Ticket<>(TicketType.FORCED, 31, pos); long i = pos.toLong(); -@@ -536,41 +679,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 = this.viewDistance; -+ this.viewDistance = 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(); - byte b0 = it_unimi_dsi_fastutil_longs_long2bytemap_entry.getByteValue(); - long j = it_unimi_dsi_fastutil_longs_long2bytemap_entry.getLongKey(); - -- this.onLevelChange(j, b0, this.haveTicketFor(b0), b0 <= watchDistance - 2); -+ this.onLevelChange(j, b0, b0 <= lastViewDistance - 2, this.haveTicketFor(b0)); // Paper - } - -- this.viewDistance = watchDistance; -+ // this.viewDistance = watchDistance; // Paper - view distance is now set further up - } - - private void onLevelChange(long pos, int distance, boolean oldWithinViewDistance, boolean withinViewDistance) { - if (oldWithinViewDistance != withinViewDistance) { -- Ticket<?> ticket = new Ticket<>(TicketType.PLAYER, DistanceManager.PLAYER_TICKET_LEVEL, new ChunkPos(pos)); -+ ChunkPos coords = new ChunkPos(pos); // Paper - reuse variable -+ Ticket<?> ticket = new Ticket<>(TicketType.PLAYER, DistanceManager.PLAYER_TICKET_LEVEL, coords); // Paper - reuse variable - - if (withinViewDistance) { -+ scheduleChunkLoad(pos, net.minecraft.server.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(() -> { -+ DistanceManager.this.mainThreadExecutor.execute(() -> { -+ DistanceManager.this.removeTicket(pos, ticket); -+ DistanceManager.this.clearPriorityTickets(coords); -+ }); -+ }, pos, false)); -+ return; -+ } -+ // abort early if we got a ticket already -+ if (hasPlayerTicket(coords, 33)) return; -+ // skip player ticket throttle for near chunks -+ if (priority <= 3) { -+ DistanceManager.this.addTicket(pos, ticket); -+ DistanceManager.this.ticketsToRelease.add(pos); -+ return; -+ } -+ // Paper end - DistanceManager.this.ticketThrottlerInput.tell(ChunkTaskPriorityQueueSorter.message(() -> { - DistanceManager.this.mainThreadExecutor.execute(() -> { -- if (this.haveTicketFor(this.getLevel(pos))) { -+ if (isChunkInRange(pos)) { if (!hasPlayerTicket(coords, 33)) { // Paper - high priority might of already added it - DistanceManager.this.addTicket(pos, ticket); - DistanceManager.this.ticketsToRelease.add(pos); -- } else { -+ }} else { // Paper - DistanceManager.this.ticketThrottlerReleaser.tell(ChunkTaskPriorityQueueSorter.release(() -> { - }, pos, false)); - } - - }); - }, pos, () -> { -- return distance; -+ return Math.min(ChunkMap.MAX_CHUNK_DISTANCE, priority); // Paper - Chunk priority - })); -+ }); // Paper - } else { - DistanceManager.this.ticketThrottlerReleaser.tell(ChunkTaskPriorityQueueSorter.release(() -> { - DistanceManager.this.mainThreadExecutor.execute(() -> { - DistanceManager.this.removeTicket(pos, ticket); -+ DistanceManager.this.clearPriorityTickets(coords); // Paper - Chunk priority - }); - }, pos, true)); - } -@@ -612,5 +782,100 @@ public abstract class DistanceManager { - private boolean haveTicketFor(int distance) { - return distance <= this.viewDistance - 2; - } -+ -+ // Paper start - smart scheduling of player tickets -+ private boolean isChunkInRange(long i) { -+ return this.haveTicketFor(this.getLevel(i)); -+ } -+ public void scheduleChunkLoad(long i, long startTick, int initialDistance, java.util.function.Consumer<Integer> task) { -+ long elapsed = net.minecraft.server.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 -+ // no longer needed -+ task.accept(1); -+ return; -+ } -+ -+ int desireDelay = 0; -+ double minDist = Double.MAX_VALUE; -+ com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> players = chunkMap.playerViewDistanceNoTickMap.getObjectsInRange(i); -+ if (elapsed == 0 && initialDistance <= 4) { -+ // Aim for no delay on initial 6 chunk radius tickets save on performance of the below code to only > 6 -+ minDist = initialDistance; -+ } else if (players != null) { -+ Object[] backingSet = players.getBackingSet(); -+ -+ net.minecraft.core.BlockPos blockPos = chunkPos.getWorldPosition(); -+ -+ boolean isFront = false; -+ net.minecraft.core.BlockPos.MutableBlockPos pos = new net.minecraft.core.BlockPos.MutableBlockPos(); -+ for (int index = 0, len = backingSet.length; index < len; ++index) { -+ if (!(backingSet[index] instanceof ServerPlayer)) { -+ continue; -+ } -+ ServerPlayer player = (ServerPlayer) backingSet[index]; -+ -+ ChunkPos pointInFront = player.getChunkInFront(5); -+ pos.set(pointInFront.x << 4, 0, pointInFront.z << 4); -+ double frontDist = net.minecraft.server.MCUtil.distanceSq(pos, blockPos); -+ -+ pos.set(player.getX(), 0, player.getZ()); -+ double center = net.minecraft.server.MCUtil.distanceSq(pos, blockPos); -+ -+ double dist = Math.min(frontDist, center); -+ if (!isFront) { -+ ChunkPos pointInBack = player.getChunkInFront(-7); -+ pos.set(pointInBack.x << 4, 0, pointInBack.z << 4); -+ double backDist = net.minecraft.server.MCUtil.distanceSq(pos, blockPos); -+ if (frontDist < backDist) { -+ isFront = true; -+ } -+ } -+ if (dist < minDist) { -+ minDist = dist; -+ } -+ } -+ if (minDist == Double.MAX_VALUE) { -+ minDist = 15; -+ } else { -+ minDist = Math.sqrt(minDist) / 16; -+ } -+ if (minDist > 4) { -+ int desiredTimeDelayMax = isFront ? -+ (minDist < 10 ? 7 : 15) : // Front -+ (minDist < 10 ? 15 : 45); // Back -+ desireDelay += (desiredTimeDelayMax * 20) * (minDist / 32); -+ } -+ } else { -+ minDist = initialDistance; -+ desireDelay = 1; -+ } -+ long delay = desireDelay - elapsed; -+ if (delay <= 0 && minDist > 4 && minDist < Double.MAX_VALUE) { -+ boolean hasAnyNeighbor = false; -+ for (int x = -1; x <= 1; x++) { -+ for (int z = -1; z <= 1; z++) { -+ if (x == 0 && z == 0) continue; -+ 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)) { -+ hasAnyNeighbor = true; -+ } -+ } -+ } -+ if (!hasAnyNeighbor) { -+ delay += 20; -+ } -+ } -+ if (delay <= 0) { -+ 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"); -+ } -+ } -+ // Paper end - } - } diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index d56eb5071ed3ae2b9d5636cafb3aca9b2cd71d15..1e7dce9d6d665c5c72cc929084ad3bfa3c790ca5 100644 +index a66d9d6df1fc0ad68f51ea96d4e1a2d725c73b05..add33f9f0c568bbae2eb32a1b87fa8c20aaf1415 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -599,6 +599,26 @@ public class ServerChunkCache extends ChunkSource { +@@ -601,6 +601,26 @@ public class ServerChunkCache extends ChunkSource { return CompletableFuture.completedFuture(either); }, this.mainThreadProcessor); } @@ -1019,7 +741,7 @@ index d56eb5071ed3ae2b9d5636cafb3aca9b2cd71d15..1e7dce9d6d665c5c72cc929084ad3bfa // Paper end - async chunk io @Nullable -@@ -639,6 +659,8 @@ public class ServerChunkCache extends ChunkSource { +@@ -641,6 +661,8 @@ public class ServerChunkCache extends ChunkSource { Objects.requireNonNull(completablefuture); if (!completablefuture.isDone()) { // Paper // Paper start - async chunk io/loading @@ -1028,7 +750,7 @@ index d56eb5071ed3ae2b9d5636cafb3aca9b2cd71d15..1e7dce9d6d665c5c72cc929084ad3bfa 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 -@@ -647,6 +669,8 @@ public class ServerChunkCache extends ChunkSource { +@@ -649,6 +671,8 @@ public class ServerChunkCache extends ChunkSource { chunkproviderserver_b.managedBlock(completablefuture::isDone); com.destroystokyo.paper.io.chunk.ChunkTaskManager.popChunkWait(); // Paper - async chunk debug this.level.timings.syncChunkLoad.stopTiming(); // Paper @@ -1037,7 +759,7 @@ index d56eb5071ed3ae2b9d5636cafb3aca9b2cd71d15..1e7dce9d6d665c5c72cc929084ad3bfa } // Paper ichunkaccess = (ChunkAccess) ((Either) completablefuture.join()).map((ichunkaccess1) -> { return ichunkaccess1; -@@ -720,10 +744,12 @@ public class ServerChunkCache extends ChunkSource { +@@ -722,10 +746,12 @@ public class ServerChunkCache extends ChunkSource { if (create && !currentlyUnloading) { // CraftBukkit end this.distanceManager.addTicket(TicketType.UNKNOWN, chunkcoordintpair, l, chunkcoordintpair); @@ -1050,7 +772,7 @@ index d56eb5071ed3ae2b9d5636cafb3aca9b2cd71d15..1e7dce9d6d665c5c72cc929084ad3bfa this.runDistanceManagerUpdates(); playerchunk = this.getVisibleChunkIfPresent(k); gameprofilerfiller.pop(); -@@ -733,7 +759,13 @@ public class ServerChunkCache extends ChunkSource { +@@ -735,7 +761,13 @@ public class ServerChunkCache extends ChunkSource { } } @@ -1065,7 +787,7 @@ index d56eb5071ed3ae2b9d5636cafb3aca9b2cd71d15..1e7dce9d6d665c5c72cc929084ad3bfa } private boolean chunkAbsent(@Nullable ChunkHolder holder, int maxLevel) { -@@ -785,6 +817,7 @@ public class ServerChunkCache extends ChunkSource { +@@ -787,6 +819,7 @@ public class ServerChunkCache extends ChunkSource { } public boolean runDistanceManagerUpdates() { @@ -1074,25 +796,18 @@ index d56eb5071ed3ae2b9d5636cafb3aca9b2cd71d15..1e7dce9d6d665c5c72cc929084ad3bfa 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 beebb7a0e6b8b1fa4e7d2f9fdf1962357cc2ebc3..3e31260a3206ffe16db2e3cbc925261f78851598 100644 +index beebb7a0e6b8b1fa4e7d2f9fdf1962357cc2ebc3..42d0e3bce81b1f0ea6cb65191a87fed4054cadb4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -185,6 +185,14 @@ public class ServerPlayer extends Player { +@@ -185,6 +185,7 @@ public class ServerPlayer extends Player { private int lastRecordedArmor = Integer.MIN_VALUE; private int lastRecordedLevel = Integer.MIN_VALUE; private int lastRecordedExperience = Integer.MIN_VALUE; -+ // Paper start - Chunk priority -+ public long lastHighPriorityChecked; -+ public void forceCheckHighPriority() { -+ lastHighPriorityChecked = -1; -+ getLevel().getChunkSource().chunkMap.checkHighPriorityChunks(this); -+ } -+ public boolean isRealPlayer; -+ // Paper end ++ public boolean isRealPlayer; // Paper - chunk priority private float lastSentHealth = -1.0E8F; private int lastSentFood = -99999999; private boolean lastFoodSaturationZero = true; -@@ -327,6 +335,21 @@ public class ServerPlayer extends Player { +@@ -327,6 +328,21 @@ public class ServerPlayer extends Player { this.maxHealthCache = this.getMaxHealth(); this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper } @@ -1114,16 +829,8 @@ index beebb7a0e6b8b1fa4e7d2f9fdf1962357cc2ebc3..3e31260a3206ffe16db2e3cbc925261f // Yes, this doesn't match Vanilla, but it's the best we can do for now. // If this is an issue, PRs are welcome -@@ -649,6 +672,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) - super.tick(); - } -+ if (valid && isAlive() && connection != null) ((ServerLevel)level).getChunkSource().chunkMap.checkHighPriorityChunks(this); // Paper - Chunk priority - - for (int i = 0; i < this.getInventory().getContainerSize(); ++i) { - ItemStack itemstack = this.getInventory().getItem(i); diff --git a/src/main/java/net/minecraft/server/level/ThreadedLevelLightEngine.java b/src/main/java/net/minecraft/server/level/ThreadedLevelLightEngine.java -index 55ac6421e43a488ebb5b070babdd1071ad3950a6..bc2ac01fb4617aa6abfd6db31980d56b53a660b5 100644 +index c0ef95f83f2d13025bedd4bcc7e177cee66b5470..fec2a2a9f958492eefbbffcaf8179a2fac5a4d99 100644 --- a/src/main/java/net/minecraft/server/level/ThreadedLevelLightEngine.java +++ b/src/main/java/net/minecraft/server/level/ThreadedLevelLightEngine.java @@ -1,6 +1,7 @@ @@ -1421,19 +1128,20 @@ index 78fbb4c3e52e900956ae0811aaf934c81ee5ea48..23d13600d6925f6746dfde08e17ba578 private final String name; private final Comparator<T> comparator; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0bcafeb8008bd2556bcdc556b17d00ff936d7aa9..935bdd3ece5b684cbaa14ef3211239fe9722ad2f 100644 +index 0bcafeb8008bd2556bcdc556b17d00ff936d7aa9..f9733ec478fe5aa0fa678a5f4482ab6e7045c033 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1551,6 +1551,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1550,7 +1550,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser + // CraftBukkit end this.awaitingTeleportTime = this.tickCount; - this.player.absMoveTo(d0, d1, d2, f, f1); -+ this.player.forceCheckHighPriority(); // Paper +- this.player.absMoveTo(d0, d1, d2, f, f1); ++ this.player.moveTo(d0, d1, d2, f, f1); // Paper - use proper setPositionRotation for teleportation 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/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 0ac5ba6bc7b582d1ab02a90c9418c9b899175d93..8dd698a9b0cc7b6143996c90197ebc2d4fc9951d 100644 +index 4710c9d12feb12b75c497373c172ce0d4f4ab96e..338e89a2951f6f79d4dd7abf0b378b6e2ddf1f58 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -175,6 +175,7 @@ public abstract class PlayerList { @@ -1455,16 +1163,8 @@ index 0ac5ba6bc7b582d1ab02a90c9418c9b899175d93..8dd698a9b0cc7b6143996c90197ebc2d net.minecraft.server.level.ChunkHolder updatingChunk = playerChunkMap.getUpdatingChunkIfPresent(pos.toLong()); if (updatingChunk != null) { return updatingChunk.getEntityTickingChunkFuture(); -@@ -892,6 +893,7 @@ public abstract class PlayerList { - entityplayer1.forceSetPositionRotation(location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch()); - // CraftBukkit end - -+ entityplayer1.forceCheckHighPriority(); // Player - Chunk priority - while (avoidSuffocation && !worldserver1.noCollision(entityplayer1) && entityplayer1.getY() < (double) worldserver1.getMaxBuildHeight()) { - entityplayer1.setPos(entityplayer1.getX(), entityplayer1.getY() + 1.0D, entityplayer1.getZ()); - } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 91e034f54deb2aa084527aaa001e48ddcc2e9cd1..b8db2dad1ccd1afce01fd770650fe5f0afc40bce 100644 +index b61f728c83e006197fdb158e83d04b5498133cc3..a6e732274018cf4864a0a3e3258bf0381f3a0c79 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -222,7 +222,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @@ -1477,7 +1177,7 @@ index 91e034f54deb2aa084527aaa001e48ddcc2e9cd1..b8db2dad1ccd1afce01fd770650fe5f0 public float yRotO; public float xRotO; diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index c76e46afa685fbaa5c83aff4ef72b5fe32bc6d10..ccd12f130d32c95b191073bfd59e60223394c30b 100644 +index b92da719a5d35a60a2e13ccb0f55c41b242f9b50..875977f11678b34465abac30463675f57cf9fc4e 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -137,7 +137,7 @@ public class LevelChunk extends ChunkAccess { @@ -1489,7 +1189,7 @@ index c76e46afa685fbaa5c83aff4ef72b5fe32bc6d10..ccd12f130d32c95b191073bfd59e6022 private long neighbourChunksLoadedBitset; private final LevelChunk[] loadedNeighbourChunks = new LevelChunk[(NEIGHBOUR_CACHE_RADIUS * 2 + 1) * (NEIGHBOUR_CACHE_RADIUS * 2 + 1)]; -@@ -674,6 +674,7 @@ public class LevelChunk extends ChunkAccess { +@@ -675,6 +675,7 @@ public class LevelChunk extends ChunkAccess { // CraftBukkit start public void loadCallback() { @@ -1497,7 +1197,7 @@ index c76e46afa685fbaa5c83aff4ef72b5fe32bc6d10..ccd12f130d32c95b191073bfd59e6022 // Paper start - neighbour cache int chunkX = this.chunkPos.x; int chunkZ = this.chunkPos.z; -@@ -728,6 +729,7 @@ public class LevelChunk extends ChunkAccess { +@@ -729,6 +730,7 @@ public class LevelChunk extends ChunkAccess { } public void unloadCallback() { diff --git a/patches/server/0466-Optimize-NetworkManager-Exception-Handling.patch b/patches/server/0467-Optimize-NetworkManager-Exception-Handling.patch similarity index 100% rename from patches/server/0466-Optimize-NetworkManager-Exception-Handling.patch rename to patches/server/0467-Optimize-NetworkManager-Exception-Handling.patch diff --git a/patches/server/0467-Optimize-the-advancement-data-player-iteration-to-be.patch b/patches/server/0468-Optimize-the-advancement-data-player-iteration-to-be.patch similarity index 100% rename from patches/server/0467-Optimize-the-advancement-data-player-iteration-to-be.patch rename to patches/server/0468-Optimize-the-advancement-data-player-iteration-to-be.patch diff --git a/patches/server/0468-Fix-arrows-never-despawning-MC-125757.patch b/patches/server/0469-Fix-arrows-never-despawning-MC-125757.patch similarity index 100% rename from patches/server/0468-Fix-arrows-never-despawning-MC-125757.patch rename to patches/server/0469-Fix-arrows-never-despawning-MC-125757.patch diff --git a/patches/server/0469-Thread-Safe-Vanilla-Command-permission-checking.patch b/patches/server/0470-Thread-Safe-Vanilla-Command-permission-checking.patch similarity index 100% rename from patches/server/0469-Thread-Safe-Vanilla-Command-permission-checking.patch rename to patches/server/0470-Thread-Safe-Vanilla-Command-permission-checking.patch diff --git a/patches/server/0470-Move-range-check-for-block-placing-up.patch b/patches/server/0471-Move-range-check-for-block-placing-up.patch similarity index 97% rename from patches/server/0470-Move-range-check-for-block-placing-up.patch rename to patches/server/0471-Move-range-check-for-block-placing-up.patch index f7c7d2dd76..e8ef2a7ab7 100644 --- a/patches/server/0470-Move-range-check-for-block-placing-up.patch +++ b/patches/server/0471-Move-range-check-for-block-placing-up.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Move range check for block placing up diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0bcafeb8008bd2556bcdc556b17d00ff936d7aa9..26bd27d3dd6e99488fd0a77257866b1eb1b191b8 100644 +index f9733ec478fe5aa0fa678a5f4482ab6e7045c033..851bbe0bab26f39f19aa85cb2779fb06c77f7e46 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1666,6 +1666,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0471-Fix-SPIGOT-5989.patch b/patches/server/0472-Fix-SPIGOT-5989.patch similarity index 91% rename from patches/server/0471-Fix-SPIGOT-5989.patch rename to patches/server/0472-Fix-SPIGOT-5989.patch index e1b03213b1..14228d6834 100644 --- a/patches/server/0471-Fix-SPIGOT-5989.patch +++ b/patches/server/0472-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 4710c9d12feb12b75c497373c172ce0d4f4ab96e..724c503da333ac4dd8ed865ba48cac9dcb1a0da8 100644 +index 338e89a2951f6f79d4dd7abf0b378b6e2ddf1f58..2320731041fdef4eb29888a55e11126fb345d9ea 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -78,6 +78,7 @@ import net.minecraft.world.level.GameRules; @@ -21,7 +21,7 @@ index 4710c9d12feb12b75c497373c172ce0d4f4ab96e..724c503da333ac4dd8ed865ba48cac9d import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.border.BorderChangeListener; import net.minecraft.world.level.border.WorldBorder; -@@ -828,6 +829,7 @@ public abstract class PlayerList { +@@ -829,6 +830,7 @@ public abstract class PlayerList { // Paper start boolean isBedSpawn = false; boolean isRespawn = false; @@ -29,7 +29,7 @@ index 4710c9d12feb12b75c497373c172ce0d4f4ab96e..724c503da333ac4dd8ed865ba48cac9d // Paper end // CraftBukkit start - fire PlayerRespawnEvent -@@ -838,7 +840,7 @@ public abstract class PlayerList { +@@ -839,7 +841,7 @@ public abstract class PlayerList { Optional optional; if (blockposition != null) { @@ -38,7 +38,7 @@ index 4710c9d12feb12b75c497373c172ce0d4f4ab96e..724c503da333ac4dd8ed865ba48cac9d } else { optional = Optional.empty(); } -@@ -882,7 +884,12 @@ public abstract class PlayerList { +@@ -883,7 +885,12 @@ public abstract class PlayerList { } // Spigot End @@ -52,7 +52,7 @@ index 4710c9d12feb12b75c497373c172ce0d4f4ab96e..724c503da333ac4dd8ed865ba48cac9d if (!flag) entityplayer.reset(); // SPIGOT-4785 isRespawn = true; // Paper } else { -@@ -920,8 +927,12 @@ public abstract class PlayerList { +@@ -921,8 +928,12 @@ public abstract class PlayerList { } // entityplayer1.initInventoryMenu(); entityplayer1.setHealth(entityplayer1.getHealth()); diff --git a/patches/server/0472-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch b/patches/server/0473-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch similarity index 100% rename from patches/server/0472-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch rename to patches/server/0473-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch diff --git a/patches/server/0473-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch b/patches/server/0474-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch similarity index 100% rename from patches/server/0473-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch rename to patches/server/0474-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch diff --git a/patches/server/0474-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch b/patches/server/0475-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch similarity index 100% rename from patches/server/0474-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch rename to patches/server/0475-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch diff --git a/patches/server/0475-Add-missing-strikeLighting-call-to-World-spigot-stri.patch b/patches/server/0476-Add-missing-strikeLighting-call-to-World-spigot-stri.patch similarity index 83% rename from patches/server/0475-Add-missing-strikeLighting-call-to-World-spigot-stri.patch rename to patches/server/0476-Add-missing-strikeLighting-call-to-World-spigot-stri.patch index a4268d290a..88219897ac 100644 --- a/patches/server/0475-Add-missing-strikeLighting-call-to-World-spigot-stri.patch +++ b/patches/server/0476-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 3bc98586792960f50ca25929f1d91fc60a8577ce..5bf060d5b4a22d0fea0c70513d9b0914614e5bbb 100644 +index ea4e897e04de9474abec5f6d0819bff4471b51ee..3ed68022c06a6b0d9b1d98fcdf64c2c4ba42480e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1994,6 +1994,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2000,6 +2000,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { lightning.moveTo( loc.getX(), loc.getY(), loc.getZ() ); lightning.visualOnly = true; lightning.isSilent = isSilent; diff --git a/patches/server/0476-Fix-some-rails-connecting-improperly.patch b/patches/server/0477-Fix-some-rails-connecting-improperly.patch similarity index 100% rename from patches/server/0476-Fix-some-rails-connecting-improperly.patch rename to patches/server/0477-Fix-some-rails-connecting-improperly.patch diff --git a/patches/server/0477-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch b/patches/server/0478-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch similarity index 100% rename from patches/server/0477-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch rename to patches/server/0478-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch diff --git a/patches/server/0478-Do-not-let-the-server-load-chunks-from-newer-version.patch b/patches/server/0479-Do-not-let-the-server-load-chunks-from-newer-version.patch similarity index 100% rename from patches/server/0478-Do-not-let-the-server-load-chunks-from-newer-version.patch rename to patches/server/0479-Do-not-let-the-server-load-chunks-from-newer-version.patch diff --git a/patches/server/0479-Brand-support.patch b/patches/server/0480-Brand-support.patch similarity index 94% rename from patches/server/0479-Brand-support.patch rename to patches/server/0480-Brand-support.patch index c2ccf08dea..2b5a621828 100644 --- a/patches/server/0479-Brand-support.patch +++ b/patches/server/0480-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 26bd27d3dd6e99488fd0a77257866b1eb1b191b8..c5fc4a2470093202f38472df84355ba0404645c5 100644 +index 851bbe0bab26f39f19aa85cb2779fb06c77f7e46..77c98907372faa4b9dc0cfb11ceed82e03d7b6eb 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; @@ -72,10 +72,10 @@ index 26bd27d3dd6e99488fd0a77257866b1eb1b191b8..c5fc4a2470093202f38472df84355ba0 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 ac535aef823ebe286847dafb8b0678de5d3128a1..465961e0e21fe15c366a492a1de94c6da7bbc51c 100644 +index e8f487d8338f1ef0b68150c30dcab5f9b3140e7d..d99000543d880c3d9904e84059cf9ecf89fb8ac8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2482,6 +2482,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2492,6 +2492,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end }; diff --git a/patches/server/0480-Add-setMaxPlayers-API.patch b/patches/server/0481-Add-setMaxPlayers-API.patch similarity index 94% rename from patches/server/0480-Add-setMaxPlayers-API.patch rename to patches/server/0481-Add-setMaxPlayers-API.patch index aec64524fd..d06bf0fdf3 100644 --- a/patches/server/0480-Add-setMaxPlayers-API.patch +++ b/patches/server/0481-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 724c503da333ac4dd8ed865ba48cac9dcb1a0da8..b797b41c55d4a96fecd50b4bd0cde47b0a2b29a7 100644 +index 2320731041fdef4eb29888a55e11126fb345d9ea..310bed27c04ef812aa8607c9dca789db13341d25 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -144,7 +144,7 @@ public abstract class PlayerList { diff --git a/patches/server/0481-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/server/0482-Add-playPickupItemAnimation-to-LivingEntity.patch similarity index 100% rename from patches/server/0481-Add-playPickupItemAnimation-to-LivingEntity.patch rename to patches/server/0482-Add-playPickupItemAnimation-to-LivingEntity.patch diff --git a/patches/server/0482-Don-t-require-FACING-data.patch b/patches/server/0483-Don-t-require-FACING-data.patch similarity index 100% rename from patches/server/0482-Don-t-require-FACING-data.patch rename to patches/server/0483-Don-t-require-FACING-data.patch diff --git a/patches/server/0483-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0484-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch similarity index 96% rename from patches/server/0483-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch rename to patches/server/0484-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch index 78ce2bb7a2..6274515c9b 100644 --- a/patches/server/0483-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch +++ b/patches/server/0484-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch @@ -17,7 +17,7 @@ index cda574e825164587bd126029d5b556c049c18015..01b4bd2176b751f895e39002f105a171 // 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 5bf060d5b4a22d0fea0c70513d9b0914614e5bbb..9e155f0a76014e84106d9e322016d36a2254f62a 100644 +index 3ed68022c06a6b0d9b1d98fcdf64c2c4ba42480e..85b688ee046c160f689495d97e2c48bef4ad6cdb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -245,11 +245,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0484-Add-moon-phase-API.patch b/patches/server/0485-Add-moon-phase-API.patch similarity index 89% rename from patches/server/0484-Add-moon-phase-API.patch rename to patches/server/0485-Add-moon-phase-API.patch index 14d949e83c..1d31d3db9a 100644 --- a/patches/server/0484-Add-moon-phase-API.patch +++ b/patches/server/0485-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 9e155f0a76014e84106d9e322016d36a2254f62a..1f12da32b5bc10f77a5b8f4a9b32cbb89d7f2968 100644 +index 85b688ee046c160f689495d97e2c48bef4ad6cdb..b2efce98e8d6f5297646e4f270bc2d5cc7e182f0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -183,6 +183,11 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0485-Prevent-headless-pistons-from-being-created.patch b/patches/server/0486-Prevent-headless-pistons-from-being-created.patch similarity index 100% rename from patches/server/0485-Prevent-headless-pistons-from-being-created.patch rename to patches/server/0486-Prevent-headless-pistons-from-being-created.patch diff --git a/patches/server/0486-Add-BellRingEvent.patch b/patches/server/0487-Add-BellRingEvent.patch similarity index 100% rename from patches/server/0486-Add-BellRingEvent.patch rename to patches/server/0487-Add-BellRingEvent.patch diff --git a/patches/server/0487-Add-zombie-targets-turtle-egg-config.patch b/patches/server/0488-Add-zombie-targets-turtle-egg-config.patch similarity index 100% rename from patches/server/0487-Add-zombie-targets-turtle-egg-config.patch rename to patches/server/0488-Add-zombie-targets-turtle-egg-config.patch diff --git a/patches/server/0488-Buffer-joins-to-world.patch b/patches/server/0489-Buffer-joins-to-world.patch similarity index 100% rename from patches/server/0488-Buffer-joins-to-world.patch rename to patches/server/0489-Buffer-joins-to-world.patch diff --git a/patches/server/0489-Optimize-redstone-algorithm.patch b/patches/server/0490-Optimize-redstone-algorithm.patch similarity index 100% rename from patches/server/0489-Optimize-redstone-algorithm.patch rename to patches/server/0490-Optimize-redstone-algorithm.patch diff --git a/patches/server/0490-Fix-hex-colors-not-working-in-some-kick-messages.patch b/patches/server/0491-Fix-hex-colors-not-working-in-some-kick-messages.patch similarity index 100% rename from patches/server/0490-Fix-hex-colors-not-working-in-some-kick-messages.patch rename to patches/server/0491-Fix-hex-colors-not-working-in-some-kick-messages.patch diff --git a/patches/server/0491-PortalCreateEvent-needs-to-know-its-entity.patch b/patches/server/0492-PortalCreateEvent-needs-to-know-its-entity.patch similarity index 100% rename from patches/server/0491-PortalCreateEvent-needs-to-know-its-entity.patch rename to patches/server/0492-PortalCreateEvent-needs-to-know-its-entity.patch diff --git a/patches/server/0492-Fix-CraftTeam-null-check.patch b/patches/server/0493-Fix-CraftTeam-null-check.patch similarity index 100% rename from patches/server/0492-Fix-CraftTeam-null-check.patch rename to patches/server/0493-Fix-CraftTeam-null-check.patch diff --git a/patches/server/0493-Add-more-Evoker-API.patch b/patches/server/0494-Add-more-Evoker-API.patch similarity index 100% rename from patches/server/0493-Add-more-Evoker-API.patch rename to patches/server/0494-Add-more-Evoker-API.patch diff --git a/patches/server/0494-Add-methods-to-get-translation-keys.patch b/patches/server/0495-Add-methods-to-get-translation-keys.patch similarity index 98% rename from patches/server/0494-Add-methods-to-get-translation-keys.patch rename to patches/server/0495-Add-methods-to-get-translation-keys.patch index a74edd8d2e..fe6531e508 100644 --- a/patches/server/0494-Add-methods-to-get-translation-keys.patch +++ b/patches/server/0495-Add-methods-to-get-translation-keys.patch @@ -42,7 +42,7 @@ index eb99e0c2462a2d1ab4508a5c3f1580b6e31d7465..c536eceef3365a7b726cd970df345ba1 public net.minecraft.world.item.enchantment.Enchantment getHandle() { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 0bb3290f3ff23d7f653ce87943d7c6d156770926..b3afb10f96e0662714ff89244132a6df8bbd3769 100644 +index a849724a9fb642bcd4de3c6438937adc882c610e..1380df5f70f9284b47b9e6426672d82df384b2c0 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -442,6 +442,30 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0495-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/server/0496-Create-HoverEvent-from-ItemStack-Entity.patch similarity index 100% rename from patches/server/0495-Create-HoverEvent-from-ItemStack-Entity.patch rename to patches/server/0496-Create-HoverEvent-from-ItemStack-Entity.patch diff --git a/patches/server/0496-Cache-block-data-strings.patch b/patches/server/0497-Cache-block-data-strings.patch similarity index 100% rename from patches/server/0496-Cache-block-data-strings.patch rename to patches/server/0497-Cache-block-data-strings.patch diff --git a/patches/server/0497-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0498-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch similarity index 87% rename from patches/server/0497-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch rename to patches/server/0498-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch index 39864e687f..4c8f952d4d 100644 --- a/patches/server/0497-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch +++ b/patches/server/0498-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 c5fc4a2470093202f38472df84355ba0404645c5..2074760beee6fdc2e94bb0f5dcfbae7b5813e8c9 100644 +index 77c98907372faa4b9dc0cfb11ceed82e03d7b6eb..2074760beee6fdc2e94bb0f5dcfbae7b5813e8c9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -680,7 +680,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -21,17 +21,8 @@ index c5fc4a2470093202f38472df84355ba0404645c5..2074760beee6fdc2e94bb0f5dcfbae7b this.lastGoodX = this.awaitingPositionFromClient.x; this.lastGoodY = this.awaitingPositionFromClient.y; this.lastGoodZ = this.awaitingPositionFromClient.z; -@@ -1554,7 +1554,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser - // CraftBukkit end - - 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.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 b61f728c83e006197fdb158e83d04b5498133cc3..a7dfb3e53b3618b7071ee9840906debade1c5f83 100644 +index a6e732274018cf4864a0a3e3258bf0381f3a0c79..dc34a9140811858ac6fc6d03b7c63aac81e67ab9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -150,6 +150,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0498-Add-additional-open-container-api-to-HumanEntity.patch b/patches/server/0499-Add-additional-open-container-api-to-HumanEntity.patch similarity index 100% rename from patches/server/0498-Add-additional-open-container-api-to-HumanEntity.patch rename to patches/server/0499-Add-additional-open-container-api-to-HumanEntity.patch diff --git a/patches/server/0499-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch b/patches/server/0500-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch similarity index 100% rename from patches/server/0499-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch rename to patches/server/0500-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch diff --git a/patches/server/0500-Extend-block-drop-capture-to-capture-all-items-added.patch b/patches/server/0501-Extend-block-drop-capture-to-capture-all-items-added.patch similarity index 96% rename from patches/server/0500-Extend-block-drop-capture-to-capture-all-items-added.patch rename to patches/server/0501-Extend-block-drop-capture-to-capture-all-items-added.patch index 1f124fb3b3..351e53142d 100644 --- a/patches/server/0500-Extend-block-drop-capture-to-capture-all-items-added.patch +++ b/patches/server/0501-Extend-block-drop-capture-to-capture-all-items-added.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Extend block drop capture to capture all items added to the diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index f9daa7183e29d203e73b242c285d10cda44aab11..bc57099ffc447a713b92896a1348728702ef51b2 100644 +index 01b4bd2176b751f895e39002f105a171a32d65af..5c236b0330b298bcae61112409a4a6c7f51d0530 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1226,6 +1226,13 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/0501-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch b/patches/server/0502-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch similarity index 84% rename from patches/server/0501-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch rename to patches/server/0502-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch index 192ec5831d..f9dd2a6967 100644 --- a/patches/server/0501-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch +++ b/patches/server/0502-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 26a787864058dccc0365680b0259ddf0dad22b58..292a26a2e13d97e4796bfe00c4d5789f94e67cc1 100644 +index d03aeed657fc7e427d847e0b8e2d58c59e6851fa..3d38a5cd7db0436b4d3fe6b3476025b30d5186dc 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java -@@ -206,6 +206,7 @@ public class ChunkHolder { +@@ -207,6 +207,7 @@ public class ChunkHolder { } public void blockChanged(BlockPos pos) { diff --git a/patches/server/0502-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0503-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch similarity index 94% rename from patches/server/0502-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch rename to patches/server/0503-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index e59c48e559..5cf36c4670 100644 --- a/patches/server/0502-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/server/0503-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a7dfb3e53b3618b7071ee9840906debade1c5f83..b5d3032ce9f711ff2843b2c22ad2b4aa2c147504 100644 +index dc34a9140811858ac6fc6d03b7c63aac81e67ab9..f8c268fc2986eb5de7b4ffed39cbde0eb1c2ca5d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3927,4 +3927,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0503-Lazily-track-plugin-scoreboards-by-default.patch b/patches/server/0504-Lazily-track-plugin-scoreboards-by-default.patch similarity index 100% rename from patches/server/0503-Lazily-track-plugin-scoreboards-by-default.patch rename to patches/server/0504-Lazily-track-plugin-scoreboards-by-default.patch diff --git a/patches/server/0504-Entity-isTicking.patch b/patches/server/0505-Entity-isTicking.patch similarity index 95% rename from patches/server/0504-Entity-isTicking.patch rename to patches/server/0505-Entity-isTicking.patch index e05036d875..76d39361aa 100644 --- a/patches/server/0504-Entity-isTicking.patch +++ b/patches/server/0505-Entity-isTicking.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entity#isTicking diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b5d3032ce9f711ff2843b2c22ad2b4aa2c147504..a6ca13b92b81f5fe7a8d9d65476b0e032a8a029b 100644 +index f8c268fc2986eb5de7b4ffed39cbde0eb1c2ca5d..8e3c69e53af1e79da5fd96d722fe08e49923113f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -52,6 +52,7 @@ import net.minecraft.network.syncher.SynchedEntityData; diff --git a/patches/server/0505-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch b/patches/server/0506-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch similarity index 100% rename from patches/server/0505-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch rename to patches/server/0506-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch diff --git a/patches/server/0506-Fix-Concurrency-issue-in-WeightedList.patch b/patches/server/0507-Fix-Concurrency-issue-in-WeightedList.patch similarity index 97% rename from patches/server/0506-Fix-Concurrency-issue-in-WeightedList.patch rename to patches/server/0507-Fix-Concurrency-issue-in-WeightedList.patch index 8a6302fb84..4f6d7689d1 100644 --- a/patches/server/0506-Fix-Concurrency-issue-in-WeightedList.patch +++ b/patches/server/0507-Fix-Concurrency-issue-in-WeightedList.patch @@ -7,7 +7,7 @@ if multiple threads from worldgen sort at same time, it will crash. So make a copy of the list for sorting purposes. diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/GateBehavior.java b/src/main/java/net/minecraft/world/entity/ai/behavior/GateBehavior.java -index 893c37cc7e33f4baa98131afca45a258600ddc75..09998d160a6d79fdb5a5041a5d572649a1532e6a 100644 +index c1f22c5e17418f91736237af1495a8a9910a61d5..e644bdd3a6f7c09a44149da03587b796674fa568 100644 --- a/src/main/java/net/minecraft/world/entity/ai/behavior/GateBehavior.java +++ b/src/main/java/net/minecraft/world/entity/ai/behavior/GateBehavior.java @@ -16,7 +16,7 @@ public class GateBehavior<E extends LivingEntity> extends Behavior<E> { diff --git a/patches/server/0507-Reset-Ender-Crystals-on-Dragon-Spawn.patch b/patches/server/0508-Reset-Ender-Crystals-on-Dragon-Spawn.patch similarity index 100% rename from patches/server/0507-Reset-Ender-Crystals-on-Dragon-Spawn.patch rename to patches/server/0508-Reset-Ender-Crystals-on-Dragon-Spawn.patch diff --git a/patches/server/0508-Fix-for-large-move-vectors-crashing-server.patch b/patches/server/0509-Fix-for-large-move-vectors-crashing-server.patch similarity index 100% rename from patches/server/0508-Fix-for-large-move-vectors-crashing-server.patch rename to patches/server/0509-Fix-for-large-move-vectors-crashing-server.patch diff --git a/patches/server/0509-Optimise-getType-calls.patch b/patches/server/0510-Optimise-getType-calls.patch similarity index 100% rename from patches/server/0509-Optimise-getType-calls.patch rename to patches/server/0510-Optimise-getType-calls.patch diff --git a/patches/server/0510-Villager-resetOffers.patch b/patches/server/0511-Villager-resetOffers.patch similarity index 100% rename from patches/server/0510-Villager-resetOffers.patch rename to patches/server/0511-Villager-resetOffers.patch diff --git a/patches/server/0511-Improve-inlinig-for-some-hot-IBlockData-methods.patch b/patches/server/0512-Improve-inlinig-for-some-hot-IBlockData-methods.patch similarity index 100% rename from patches/server/0511-Improve-inlinig-for-some-hot-IBlockData-methods.patch rename to patches/server/0512-Improve-inlinig-for-some-hot-IBlockData-methods.patch diff --git a/patches/server/0512-Retain-block-place-order-when-capturing-blockstates.patch b/patches/server/0513-Retain-block-place-order-when-capturing-blockstates.patch similarity index 93% rename from patches/server/0512-Retain-block-place-order-when-capturing-blockstates.patch rename to patches/server/0513-Retain-block-place-order-when-capturing-blockstates.patch index 3b82a22694..5ee9bbec33 100644 --- a/patches/server/0512-Retain-block-place-order-when-capturing-blockstates.patch +++ b/patches/server/0513-Retain-block-place-order-when-capturing-blockstates.patch @@ -10,7 +10,7 @@ In general, look at making this logic more robust (i.e properly handling cases where a captured entry is overriden) - but for now this will do. diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 4f97f11c248cbb06dbd604da0e88d9570e641af7..c68cb2ee352325d3f0ef98827df04b0c7bf1b293 100644 +index 0bcb14f1377d603c93c471ce206d2e38d0278b60..5ca6254d104fbd407a98daf732dd6ac119914ee3 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -149,7 +149,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0513-Reduce-blockpos-allocation-from-pathfinding.patch b/patches/server/0514-Reduce-blockpos-allocation-from-pathfinding.patch similarity index 94% rename from patches/server/0513-Reduce-blockpos-allocation-from-pathfinding.patch rename to patches/server/0514-Reduce-blockpos-allocation-from-pathfinding.patch index 9b026b7259..9e0f352b59 100644 --- a/patches/server/0513-Reduce-blockpos-allocation-from-pathfinding.patch +++ b/patches/server/0514-Reduce-blockpos-allocation-from-pathfinding.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Reduce blockpos allocation from pathfinding diff --git a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java -index c33fda773ec071d27e924461a30a2938db35c231..46d3640b6556a104889f1d57e61d60b5094c28f2 100644 +index 16b3b4a168e37f0b4c8d6c41a4e3a4095f26115e..5e28c09d782166be6d0fbc6778ef9f6c4d7af409 100644 --- a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java +++ b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java @@ -471,7 +471,7 @@ public class WalkNodeEvaluator extends NodeEvaluator { diff --git a/patches/server/0514-Fix-item-locations-dropped-from-campfires.patch b/patches/server/0515-Fix-item-locations-dropped-from-campfires.patch similarity index 100% rename from patches/server/0514-Fix-item-locations-dropped-from-campfires.patch rename to patches/server/0515-Fix-item-locations-dropped-from-campfires.patch diff --git a/patches/server/0515-Player-elytra-boost-API.patch b/patches/server/0516-Player-elytra-boost-API.patch similarity index 94% rename from patches/server/0515-Player-elytra-boost-API.patch rename to patches/server/0516-Player-elytra-boost-API.patch index d5334002c4..5078f4db60 100644 --- a/patches/server/0515-Player-elytra-boost-API.patch +++ b/patches/server/0516-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 465961e0e21fe15c366a492a1de94c6da7bbc51c..bb3e706aae719c8cff904425c09cc3b0f82534f1 100644 +index d99000543d880c3d9904e84059cf9ecf89fb8ac8..26fe2e651d7432591bd5ef910e6db06ba214fd4f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -562,6 +562,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0516-Fixed-TileEntityBell-memory-leak.patch b/patches/server/0517-Fixed-TileEntityBell-memory-leak.patch similarity index 100% rename from patches/server/0516-Fixed-TileEntityBell-memory-leak.patch rename to patches/server/0517-Fixed-TileEntityBell-memory-leak.patch diff --git a/patches/server/0517-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch b/patches/server/0518-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch similarity index 100% rename from patches/server/0517-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch rename to patches/server/0518-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch diff --git a/patches/server/0518-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0519-Add-getOfflinePlayerIfCached-String.patch similarity index 100% rename from patches/server/0518-Add-getOfflinePlayerIfCached-String.patch rename to patches/server/0519-Add-getOfflinePlayerIfCached-String.patch diff --git a/patches/server/0519-Add-ignore-discounts-API.patch b/patches/server/0520-Add-ignore-discounts-API.patch similarity index 100% rename from patches/server/0519-Add-ignore-discounts-API.patch rename to patches/server/0520-Add-ignore-discounts-API.patch diff --git a/patches/server/0520-Toggle-for-removing-existing-dragon.patch b/patches/server/0521-Toggle-for-removing-existing-dragon.patch similarity index 100% rename from patches/server/0520-Toggle-for-removing-existing-dragon.patch rename to patches/server/0521-Toggle-for-removing-existing-dragon.patch diff --git a/patches/server/0521-Fix-client-lag-on-advancement-loading.patch b/patches/server/0522-Fix-client-lag-on-advancement-loading.patch similarity index 95% rename from patches/server/0521-Fix-client-lag-on-advancement-loading.patch rename to patches/server/0522-Fix-client-lag-on-advancement-loading.patch index 9ae9e35657..4abc66ce71 100644 --- a/patches/server/0521-Fix-client-lag-on-advancement-loading.patch +++ b/patches/server/0522-Fix-client-lag-on-advancement-loading.patch @@ -15,7 +15,7 @@ manually reload the advancement data for all players, which normally takes place as a part of the datapack reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index e28bb9f0f27d2d7347f48891256ac8225e1e1459..29d079927ac5f48f14e6f41a32b03174cc622dda 100644 +index 33b85d2cd6be32d70a9621c02666e297fc78ff97..463cabee7f4f40f2f8d4f4502296d1abfff18229 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -323,7 +323,13 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0522-Item-no-age-no-player-pickup.patch b/patches/server/0523-Item-no-age-no-player-pickup.patch similarity index 100% rename from patches/server/0522-Item-no-age-no-player-pickup.patch rename to patches/server/0523-Item-no-age-no-player-pickup.patch diff --git a/patches/server/0523-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/0524-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch similarity index 100% rename from patches/server/0523-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch rename to patches/server/0524-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch diff --git a/patches/server/0524-Beacon-API-custom-effect-ranges.patch b/patches/server/0525-Beacon-API-custom-effect-ranges.patch similarity index 100% rename from patches/server/0524-Beacon-API-custom-effect-ranges.patch rename to patches/server/0525-Beacon-API-custom-effect-ranges.patch diff --git a/patches/server/0525-Add-API-for-quit-reason.patch b/patches/server/0526-Add-API-for-quit-reason.patch similarity index 94% rename from patches/server/0525-Add-API-for-quit-reason.patch rename to patches/server/0526-Add-API-for-quit-reason.patch index a50d4fd29b..3c598188f6 100644 --- a/patches/server/0525-Add-API-for-quit-reason.patch +++ b/patches/server/0526-Add-API-for-quit-reason.patch @@ -25,10 +25,10 @@ index d30bc3f1da336b421d9a42070184e07169dd14e4..a6eadf71957b37e2acc5d09f0ce4ee96 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 beebb7a0e6b8b1fa4e7d2f9fdf1962357cc2ebc3..207c566603671685f7d0abbb11274d2027568a05 100644 +index 42d0e3bce81b1f0ea6cb65191a87fed4054cadb4..8932fb6ab89e4de71661c0eec8397350ea4ce6f6 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 { +@@ -255,6 +255,7 @@ public class ServerPlayer extends Player { public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper @@ -49,10 +49,10 @@ index 2dd47eab63cf9322a5844e748709e220272a8cfe..c0a685cfe62aeda3583763ecc1e4fa12 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 b797b41c55d4a96fecd50b4bd0cde47b0a2b29a7..d637f092f6e615bedf8fb206e172302052547566 100644 +index 310bed27c04ef812aa8607c9dca789db13341d25..6aaa5174bb0eff3216667b4c8d3912d02e1c66e2 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -594,7 +594,7 @@ public abstract class PlayerList { +@@ -595,7 +595,7 @@ public abstract class PlayerList { entityplayer.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.DISCONNECT); // Paper } diff --git a/patches/server/0526-Add-Wandering-Trader-spawn-rate-config-options.patch b/patches/server/0527-Add-Wandering-Trader-spawn-rate-config-options.patch similarity index 100% rename from patches/server/0526-Add-Wandering-Trader-spawn-rate-config-options.patch rename to patches/server/0527-Add-Wandering-Trader-spawn-rate-config-options.patch diff --git a/patches/server/0527-Significantly-improve-performance-of-the-end-generat.patch b/patches/server/0528-Significantly-improve-performance-of-the-end-generat.patch similarity index 100% rename from patches/server/0527-Significantly-improve-performance-of-the-end-generat.patch rename to patches/server/0528-Significantly-improve-performance-of-the-end-generat.patch diff --git a/patches/server/0528-Expose-world-spawn-angle.patch b/patches/server/0529-Expose-world-spawn-angle.patch similarity index 88% rename from patches/server/0528-Expose-world-spawn-angle.patch rename to patches/server/0529-Expose-world-spawn-angle.patch index d51dbea4a1..60424105f6 100644 --- a/patches/server/0528-Expose-world-spawn-angle.patch +++ b/patches/server/0529-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 d637f092f6e615bedf8fb206e172302052547566..d0c90c15a068a17dcafd5df9962e84ef27e021b5 100644 +index 6aaa5174bb0eff3216667b4c8d3912d02e1c66e2..388e02966660b42d812a89ad290a4b94b450b5fe 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -872,7 +872,7 @@ public abstract class PlayerList { +@@ -873,7 +873,7 @@ public abstract class PlayerList { if (location == null) { worldserver1 = this.server.getLevel(Level.OVERWORLD); blockposition = entityplayer1.getSpawnPoint(worldserver1); @@ -18,7 +18,7 @@ index d637f092f6e615bedf8fb206e172302052547566..d0c90c15a068a17dcafd5df9962e84ef Player respawnPlayer = entityplayer1.getBukkitEntity(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 1f12da32b5bc10f77a5b8f4a9b32cbb89d7f2968..48557c6fdf9ffcce52713fc47ccf0ac9a9f73d0d 100644 +index b2efce98e8d6f5297646e4f270bc2d5cc7e182f0..4e6d24ce3e14ad56b2e926d6b4aea36f882f5bf3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -236,7 +236,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0529-Add-Destroy-Speed-API.patch b/patches/server/0530-Add-Destroy-Speed-API.patch similarity index 100% rename from patches/server/0529-Add-Destroy-Speed-API.patch rename to patches/server/0530-Add-Destroy-Speed-API.patch diff --git a/patches/server/0530-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0531-Fix-Player-spawnParticle-x-y-z-precision-loss.patch similarity index 89% rename from patches/server/0530-Fix-Player-spawnParticle-x-y-z-precision-loss.patch rename to patches/server/0531-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index 03d9cdbfc7..291319052a 100644 --- a/patches/server/0530-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0531-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 bb3e706aae719c8cff904425c09cc3b0f82534f1..f4a94bc00a8318af810c3c859decbf88decfa98d 100644 +index 26fe2e651d7432591bd5ef910e6db06ba214fd4f..f4e5e1029eefd4a951b8e8ab291a2b94e4c96936 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2069,7 +2069,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2079,7 +2079,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/0531-Add-LivingEntity-clearActiveItem.patch b/patches/server/0532-Add-LivingEntity-clearActiveItem.patch similarity index 100% rename from patches/server/0531-Add-LivingEntity-clearActiveItem.patch rename to patches/server/0532-Add-LivingEntity-clearActiveItem.patch diff --git a/patches/server/0532-Add-PlayerItemCooldownEvent.patch b/patches/server/0533-Add-PlayerItemCooldownEvent.patch similarity index 100% rename from patches/server/0532-Add-PlayerItemCooldownEvent.patch rename to patches/server/0533-Add-PlayerItemCooldownEvent.patch diff --git a/patches/server/0533-More-lightning-API.patch b/patches/server/0534-More-lightning-API.patch similarity index 100% rename from patches/server/0533-More-lightning-API.patch rename to patches/server/0534-More-lightning-API.patch diff --git a/patches/server/0534-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0535-Climbing-should-not-bypass-cramming-gamerule.patch similarity index 98% rename from patches/server/0534-Climbing-should-not-bypass-cramming-gamerule.patch rename to patches/server/0535-Climbing-should-not-bypass-cramming-gamerule.patch index 3b767d04a4..3156cd4168 100644 --- a/patches/server/0534-Climbing-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0535-Climbing-should-not-bypass-cramming-gamerule.patch @@ -21,7 +21,7 @@ index 5c22b8993385c1e6c72fe1fbd5f14c76253eec74..0759b9dbd37ca640b7fe410e0ecb6519 private void keepLoadedRange() { keepLoadedRange = (short) (getInt("keep-spawn-loaded-range", Math.min(spigotConfig.viewDistance, 10)) * 16); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a6ca13b92b81f5fe7a8d9d65476b0e032a8a029b..e12eb951d52d4bfa30e1d25139444d7663d3b946 100644 +index 8e3c69e53af1e79da5fd96d722fe08e49923113f..3a3f756ad620763ac63490e76200635b88df24df 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1698,6 +1698,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0535-Added-missing-default-perms-for-commands.patch b/patches/server/0536-Added-missing-default-perms-for-commands.patch similarity index 100% rename from patches/server/0535-Added-missing-default-perms-for-commands.patch rename to patches/server/0536-Added-missing-default-perms-for-commands.patch diff --git a/patches/server/0536-Add-PlayerShearBlockEvent.patch b/patches/server/0537-Add-PlayerShearBlockEvent.patch similarity index 100% rename from patches/server/0536-Add-PlayerShearBlockEvent.patch rename to patches/server/0537-Add-PlayerShearBlockEvent.patch diff --git a/patches/server/0537-Fix-curing-zombie-villager-discount-exploit.patch b/patches/server/0538-Fix-curing-zombie-villager-discount-exploit.patch similarity index 100% rename from patches/server/0537-Fix-curing-zombie-villager-discount-exploit.patch rename to patches/server/0538-Fix-curing-zombie-villager-discount-exploit.patch diff --git a/patches/server/0538-Limit-recipe-packets.patch b/patches/server/0539-Limit-recipe-packets.patch similarity index 100% rename from patches/server/0538-Limit-recipe-packets.patch rename to patches/server/0539-Limit-recipe-packets.patch diff --git a/patches/server/0539-Fix-CraftSound-backwards-compatibility.patch b/patches/server/0540-Fix-CraftSound-backwards-compatibility.patch similarity index 100% rename from patches/server/0539-Fix-CraftSound-backwards-compatibility.patch rename to patches/server/0540-Fix-CraftSound-backwards-compatibility.patch diff --git a/patches/server/0540-MC-4-Fix-item-position-desync.patch b/patches/server/0541-MC-4-Fix-item-position-desync.patch similarity index 97% rename from patches/server/0540-MC-4-Fix-item-position-desync.patch rename to patches/server/0541-MC-4-Fix-item-position-desync.patch index 5cd5c2de45..d8ce6d2d2a 100644 --- a/patches/server/0540-MC-4-Fix-item-position-desync.patch +++ b/patches/server/0541-MC-4-Fix-item-position-desync.patch @@ -43,7 +43,7 @@ index b30c08bfb8c55161543a4ef09f2e462e0a1fe4ae..ec93f5300cc7d423ec0d292f0f8443f9 public Vec3 updateEntityPosition(Vec3 orig) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index e12eb951d52d4bfa30e1d25139444d7663d3b946..b3ba775d4c4674dc8cd85145cacf9ca93737fe04 100644 +index 3a3f756ad620763ac63490e76200635b88df24df..4fb76a37e73f8186341629a77ad0bbf12bec133d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3746,6 +3746,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0541-Player-Chunk-Load-Unload-Events.patch b/patches/server/0542-Player-Chunk-Load-Unload-Events.patch similarity index 90% rename from patches/server/0541-Player-Chunk-Load-Unload-Events.patch rename to patches/server/0542-Player-Chunk-Load-Unload-Events.patch index 6def485799..a5d6b0bd8a 100644 --- a/patches/server/0541-Player-Chunk-Load-Unload-Events.patch +++ b/patches/server/0542-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 207c566603671685f7d0abbb11274d2027568a05..6166d1ce68742fbcb365c59cd44a611addbe2f8c 100644 +index 8932fb6ab89e4de71661c0eec8397350ea4ce6f6..820e634abadca014baf11387865118e834859f7a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2091,11 +2091,21 @@ public class ServerPlayer extends Player { +@@ -2107,11 +2107,21 @@ public class ServerPlayer extends Player { public void trackChunk(ChunkPos chunkPos, Packet<?> chunkDataPacket) { this.connection.send(chunkDataPacket); diff --git a/patches/server/0542-Optimize-Dynamic-get-Missing-Keys.patch b/patches/server/0543-Optimize-Dynamic-get-Missing-Keys.patch similarity index 100% rename from patches/server/0542-Optimize-Dynamic-get-Missing-Keys.patch rename to patches/server/0543-Optimize-Dynamic-get-Missing-Keys.patch diff --git a/patches/server/0543-Expose-LivingEntity-hurt-direction.patch b/patches/server/0544-Expose-LivingEntity-hurt-direction.patch similarity index 100% rename from patches/server/0543-Expose-LivingEntity-hurt-direction.patch rename to patches/server/0544-Expose-LivingEntity-hurt-direction.patch diff --git a/patches/server/0544-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/server/0545-Add-OBSTRUCTED-reason-to-BedEnterResult.patch similarity index 100% rename from patches/server/0544-Add-OBSTRUCTED-reason-to-BedEnterResult.patch rename to patches/server/0545-Add-OBSTRUCTED-reason-to-BedEnterResult.patch diff --git a/patches/server/0545-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch b/patches/server/0546-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch similarity index 100% rename from patches/server/0545-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch rename to patches/server/0546-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch diff --git a/patches/server/0546-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch b/patches/server/0547-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch similarity index 100% rename from patches/server/0546-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch rename to patches/server/0547-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch diff --git a/patches/server/0547-Implement-TargetHitEvent.patch b/patches/server/0548-Implement-TargetHitEvent.patch similarity index 100% rename from patches/server/0547-Implement-TargetHitEvent.patch rename to patches/server/0548-Implement-TargetHitEvent.patch diff --git a/patches/server/0548-Additional-Block-Material-API-s.patch b/patches/server/0549-Additional-Block-Material-API-s.patch similarity index 100% rename from patches/server/0548-Additional-Block-Material-API-s.patch rename to patches/server/0549-Additional-Block-Material-API-s.patch diff --git a/patches/server/0549-Fix-harming-potion-dupe.patch b/patches/server/0550-Fix-harming-potion-dupe.patch similarity index 100% rename from patches/server/0549-Fix-harming-potion-dupe.patch rename to patches/server/0550-Fix-harming-potion-dupe.patch diff --git a/patches/server/0550-Implement-API-to-get-Material-from-Boats-and-Minecar.patch b/patches/server/0551-Implement-API-to-get-Material-from-Boats-and-Minecar.patch similarity index 100% rename from patches/server/0550-Implement-API-to-get-Material-from-Boats-and-Minecar.patch rename to patches/server/0551-Implement-API-to-get-Material-from-Boats-and-Minecar.patch diff --git a/patches/server/0551-Cache-burn-durations.patch b/patches/server/0552-Cache-burn-durations.patch similarity index 100% rename from patches/server/0551-Cache-burn-durations.patch rename to patches/server/0552-Cache-burn-durations.patch diff --git a/patches/server/0552-Allow-disabling-mob-spawner-spawn-egg-transformation.patch b/patches/server/0553-Allow-disabling-mob-spawner-spawn-egg-transformation.patch similarity index 100% rename from patches/server/0552-Allow-disabling-mob-spawner-spawn-egg-transformation.patch rename to patches/server/0553-Allow-disabling-mob-spawner-spawn-egg-transformation.patch diff --git a/patches/server/0553-Fix-Not-a-string-Map-Conversion-spam.patch b/patches/server/0554-Fix-Not-a-string-Map-Conversion-spam.patch similarity index 100% rename from patches/server/0553-Fix-Not-a-string-Map-Conversion-spam.patch rename to patches/server/0554-Fix-Not-a-string-Map-Conversion-spam.patch diff --git a/patches/server/0554-Implement-PlayerFlowerPotManipulateEvent.patch b/patches/server/0555-Implement-PlayerFlowerPotManipulateEvent.patch similarity index 100% rename from patches/server/0554-Implement-PlayerFlowerPotManipulateEvent.patch rename to patches/server/0555-Implement-PlayerFlowerPotManipulateEvent.patch diff --git a/patches/server/0555-Fix-interact-event-not-being-called-in-adventure.patch b/patches/server/0556-Fix-interact-event-not-being-called-in-adventure.patch similarity index 100% rename from patches/server/0555-Fix-interact-event-not-being-called-in-adventure.patch rename to patches/server/0556-Fix-interact-event-not-being-called-in-adventure.patch diff --git a/patches/server/0556-Zombie-API-breaking-doors.patch b/patches/server/0557-Zombie-API-breaking-doors.patch similarity index 100% rename from patches/server/0556-Zombie-API-breaking-doors.patch rename to patches/server/0557-Zombie-API-breaking-doors.patch diff --git a/patches/server/0557-Fix-nerfed-slime-when-splitting.patch b/patches/server/0558-Fix-nerfed-slime-when-splitting.patch similarity index 100% rename from patches/server/0557-Fix-nerfed-slime-when-splitting.patch rename to patches/server/0558-Fix-nerfed-slime-when-splitting.patch diff --git a/patches/server/0558-Add-EntityLoadCrossbowEvent.patch b/patches/server/0559-Add-EntityLoadCrossbowEvent.patch similarity index 100% rename from patches/server/0558-Add-EntityLoadCrossbowEvent.patch rename to patches/server/0559-Add-EntityLoadCrossbowEvent.patch diff --git a/patches/server/0559-Guardian-beam-workaround.patch b/patches/server/0560-Guardian-beam-workaround.patch similarity index 100% rename from patches/server/0559-Guardian-beam-workaround.patch rename to patches/server/0560-Guardian-beam-workaround.patch diff --git a/patches/server/0560-Added-WorldGameRuleChangeEvent.patch b/patches/server/0561-Added-WorldGameRuleChangeEvent.patch similarity index 98% rename from patches/server/0560-Added-WorldGameRuleChangeEvent.patch rename to patches/server/0561-Added-WorldGameRuleChangeEvent.patch index 800a25dbbb..025ce4d5ee 100644 --- a/patches/server/0560-Added-WorldGameRuleChangeEvent.patch +++ b/patches/server/0561-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 48557c6fdf9ffcce52713fc47ccf0ac9a9f73d0d..6835fc0fa6aba42edb5b78bcbe46fdc20af5f288 100644 +index 4e6d24ce3e14ad56b2e926d6b4aea36f882f5bf3..77bbac3a5d98083589a54d03964d14be2d15df95 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1733,8 +1733,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0561-Added-ServerResourcesReloadedEvent.patch b/patches/server/0562-Added-ServerResourcesReloadedEvent.patch similarity index 100% rename from patches/server/0561-Added-ServerResourcesReloadedEvent.patch rename to patches/server/0562-Added-ServerResourcesReloadedEvent.patch diff --git a/patches/server/0562-Added-world-settings-for-mobs-picking-up-loot.patch b/patches/server/0563-Added-world-settings-for-mobs-picking-up-loot.patch similarity index 100% rename from patches/server/0562-Added-world-settings-for-mobs-picking-up-loot.patch rename to patches/server/0563-Added-world-settings-for-mobs-picking-up-loot.patch diff --git a/patches/server/0563-Implemented-BlockFailedDispenseEvent.patch b/patches/server/0564-Implemented-BlockFailedDispenseEvent.patch similarity index 100% rename from patches/server/0563-Implemented-BlockFailedDispenseEvent.patch rename to patches/server/0564-Implemented-BlockFailedDispenseEvent.patch diff --git a/patches/server/0564-Added-PlayerLecternPageChangeEvent.patch b/patches/server/0565-Added-PlayerLecternPageChangeEvent.patch similarity index 100% rename from patches/server/0564-Added-PlayerLecternPageChangeEvent.patch rename to patches/server/0565-Added-PlayerLecternPageChangeEvent.patch diff --git a/patches/server/0565-Added-PlayerLoomPatternSelectEvent.patch b/patches/server/0566-Added-PlayerLoomPatternSelectEvent.patch similarity index 100% rename from patches/server/0565-Added-PlayerLoomPatternSelectEvent.patch rename to patches/server/0566-Added-PlayerLoomPatternSelectEvent.patch diff --git a/patches/server/0566-Configurable-door-breaking-difficulty.patch b/patches/server/0567-Configurable-door-breaking-difficulty.patch similarity index 100% rename from patches/server/0566-Configurable-door-breaking-difficulty.patch rename to patches/server/0567-Configurable-door-breaking-difficulty.patch diff --git a/patches/server/0567-Empty-commands-shall-not-be-dispatched.patch b/patches/server/0568-Empty-commands-shall-not-be-dispatched.patch similarity index 100% rename from patches/server/0567-Empty-commands-shall-not-be-dispatched.patch rename to patches/server/0568-Empty-commands-shall-not-be-dispatched.patch diff --git a/patches/server/0568-Implement-API-to-expose-exact-interaction-point.patch b/patches/server/0569-Implement-API-to-expose-exact-interaction-point.patch similarity index 100% rename from patches/server/0568-Implement-API-to-expose-exact-interaction-point.patch rename to patches/server/0569-Implement-API-to-expose-exact-interaction-point.patch diff --git a/patches/server/0569-Remove-stale-POIs.patch b/patches/server/0570-Remove-stale-POIs.patch similarity index 100% rename from patches/server/0569-Remove-stale-POIs.patch rename to patches/server/0570-Remove-stale-POIs.patch diff --git a/patches/server/0570-Fix-villager-boat-exploit.patch b/patches/server/0571-Fix-villager-boat-exploit.patch similarity index 88% rename from patches/server/0570-Fix-villager-boat-exploit.patch rename to patches/server/0571-Fix-villager-boat-exploit.patch index c453000b71..687f9dbb75 100644 --- a/patches/server/0570-Fix-villager-boat-exploit.patch +++ b/patches/server/0571-Fix-villager-boat-exploit.patch @@ -5,10 +5,10 @@ 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 d0c90c15a068a17dcafd5df9962e84ef27e021b5..f3b29cfe6e07fda6aeb36e5f13711e562524c8b1 100644 +index 388e02966660b42d812a89ad290a4b94b450b5fe..eb622110d0d4f5a87dda91835d4fba339cc5f770 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -619,6 +619,14 @@ public abstract class PlayerList { +@@ -620,6 +620,14 @@ public abstract class PlayerList { PlayerList.LOGGER.debug("Removing player mount"); entityplayer.stopRiding(); entity.getPassengersAndSelf().forEach((entity1) -> { diff --git a/patches/server/0571-Add-sendOpLevel-API.patch b/patches/server/0572-Add-sendOpLevel-API.patch similarity index 86% rename from patches/server/0571-Add-sendOpLevel-API.patch rename to patches/server/0572-Add-sendOpLevel-API.patch index 2831aee156..1c76718146 100644 --- a/patches/server/0571-Add-sendOpLevel-API.patch +++ b/patches/server/0572-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 f3b29cfe6e07fda6aeb36e5f13711e562524c8b1..7057f7aa02b819e32f2067d3c1c7c0eefb082fce 100644 +index eb622110d0d4f5a87dda91835d4fba339cc5f770..1bafdc0e64c06632ce78eea83abd167f9fd0cc1f 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1117,6 +1117,11 @@ public abstract class PlayerList { +@@ -1118,6 +1118,11 @@ public abstract class PlayerList { } private void sendPlayerPermissionLevel(ServerPlayer player, int permissionLevel) { @@ -20,7 +20,7 @@ index f3b29cfe6e07fda6aeb36e5f13711e562524c8b1..7057f7aa02b819e32f2067d3c1c7c0ee if (player.connection != null) { byte b0; -@@ -1131,8 +1136,10 @@ public abstract class PlayerList { +@@ -1132,8 +1137,10 @@ public abstract class PlayerList { player.connection.send(new ClientboundEntityEventPacket(player, b0)); } @@ -32,7 +32,7 @@ index f3b29cfe6e07fda6aeb36e5f13711e562524c8b1..7057f7aa02b819e32f2067d3c1c7c0ee // 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 f4a94bc00a8318af810c3c859decbf88decfa98d..87ed5271d623f239c94d18464458469c8e789bba 100644 +index f4e5e1029eefd4a951b8e8ab291a2b94e4c96936..890a7ad0b18358d87b5dd746784e0025b30d08f6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -576,6 +576,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0572-Add-StructureLocateEvent.patch b/patches/server/0573-Add-StructureLocateEvent.patch similarity index 95% rename from patches/server/0572-Add-StructureLocateEvent.patch rename to patches/server/0573-Add-StructureLocateEvent.patch index ba28d11887..61178fc4a9 100644 --- a/patches/server/0572-Add-StructureLocateEvent.patch +++ b/patches/server/0573-Add-StructureLocateEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add StructureLocateEvent diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java -index 583b87b20490fd7254f5e966af3b6a627f53a7cb..13e789b3b7ea3be73ec73bb5357cb603da8d5e0d 100644 +index 408624c5fcc5277dfb13d76c67746228d5bf24dc..e2b7da265e9616ac47e6be72cc6e6d2c75cfec44 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java @@ -183,6 +183,20 @@ public abstract class ChunkGenerator implements BiomeManager.NoiseBiomeSource { diff --git a/patches/server/0573-Collision-option-for-requiring-a-player-participant.patch b/patches/server/0574-Collision-option-for-requiring-a-player-participant.patch similarity index 97% rename from patches/server/0573-Collision-option-for-requiring-a-player-participant.patch rename to patches/server/0574-Collision-option-for-requiring-a-player-participant.patch index 729ab5d3d0..51b74e2d72 100644 --- a/patches/server/0573-Collision-option-for-requiring-a-player-participant.patch +++ b/patches/server/0574-Collision-option-for-requiring-a-player-participant.patch @@ -28,7 +28,7 @@ index 4d723f5327a64cd8257bab502ae59a35b4a35cc1..e8f5ad4925b4d02bf79f9f56d0dac3f0 public int wanderingTraderSpawnDayTicks = 24000; public int wanderingTraderSpawnChanceFailureIncrement = 25; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b3ba775d4c4674dc8cd85145cacf9ca93737fe04..392b2745821077d4d3a99872a8b4d50da305c97c 100644 +index 4fb76a37e73f8186341629a77ad0bbf12bec133d..c8ae1d96b22cd01127169cc7b39a31caaff406a9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1581,6 +1581,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0574-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch b/patches/server/0575-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch similarity index 100% rename from patches/server/0574-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch rename to patches/server/0575-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch diff --git a/patches/server/0575-Return-chat-component-with-empty-text-instead-of-thr.patch b/patches/server/0576-Return-chat-component-with-empty-text-instead-of-thr.patch similarity index 100% rename from patches/server/0575-Return-chat-component-with-empty-text-instead-of-thr.patch rename to patches/server/0576-Return-chat-component-with-empty-text-instead-of-thr.patch diff --git a/patches/server/0576-Make-schedule-command-per-world.patch b/patches/server/0577-Make-schedule-command-per-world.patch similarity index 100% rename from patches/server/0576-Make-schedule-command-per-world.patch rename to patches/server/0577-Make-schedule-command-per-world.patch diff --git a/patches/server/0577-Configurable-max-leash-distance.patch b/patches/server/0578-Configurable-max-leash-distance.patch similarity index 100% rename from patches/server/0577-Configurable-max-leash-distance.patch rename to patches/server/0578-Configurable-max-leash-distance.patch diff --git a/patches/server/0578-Implement-BlockPreDispenseEvent.patch b/patches/server/0579-Implement-BlockPreDispenseEvent.patch similarity index 100% rename from patches/server/0578-Implement-BlockPreDispenseEvent.patch rename to patches/server/0579-Implement-BlockPreDispenseEvent.patch diff --git a/patches/server/0579-added-Wither-API.patch b/patches/server/0580-added-Wither-API.patch similarity index 100% rename from patches/server/0579-added-Wither-API.patch rename to patches/server/0580-added-Wither-API.patch diff --git a/patches/server/0580-Added-firing-of-PlayerChangeBeaconEffectEvent.patch b/patches/server/0581-Added-firing-of-PlayerChangeBeaconEffectEvent.patch similarity index 100% rename from patches/server/0580-Added-firing-of-PlayerChangeBeaconEffectEvent.patch rename to patches/server/0581-Added-firing-of-PlayerChangeBeaconEffectEvent.patch diff --git a/patches/server/0581-Add-toggle-for-always-placing-the-dragon-egg.patch b/patches/server/0582-Add-toggle-for-always-placing-the-dragon-egg.patch similarity index 100% rename from patches/server/0581-Add-toggle-for-always-placing-the-dragon-egg.patch rename to patches/server/0582-Add-toggle-for-always-placing-the-dragon-egg.patch diff --git a/patches/server/0582-Added-PlayerStonecutterRecipeSelectEvent.patch b/patches/server/0583-Added-PlayerStonecutterRecipeSelectEvent.patch similarity index 100% rename from patches/server/0582-Added-PlayerStonecutterRecipeSelectEvent.patch rename to patches/server/0583-Added-PlayerStonecutterRecipeSelectEvent.patch diff --git a/patches/server/0583-Add-dropLeash-variable-to-EntityUnleashEvent.patch b/patches/server/0584-Add-dropLeash-variable-to-EntityUnleashEvent.patch similarity index 100% rename from patches/server/0583-Add-dropLeash-variable-to-EntityUnleashEvent.patch rename to patches/server/0584-Add-dropLeash-variable-to-EntityUnleashEvent.patch diff --git a/patches/server/0584-Skip-distance-map-update-when-spawning-disabled.patch b/patches/server/0585-Skip-distance-map-update-when-spawning-disabled.patch similarity index 87% rename from patches/server/0584-Skip-distance-map-update-when-spawning-disabled.patch rename to patches/server/0585-Skip-distance-map-update-when-spawning-disabled.patch index 4811e70599..5009b17585 100644 --- a/patches/server/0584-Skip-distance-map-update-when-spawning-disabled.patch +++ b/patches/server/0585-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 a66d9d6df1fc0ad68f51ea96d4e1a2d725c73b05..f716fea06702f21f1aaf0aefcc5b3ea170d2013d 100644 +index add33f9f0c568bbae2eb32a1b87fa8c20aaf1415..b8090bbd6e38772a937d31b4523b27e88e6d0727 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -893,7 +893,7 @@ public class ServerChunkCache extends ChunkSource { +@@ -926,7 +926,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/0585-Reset-shield-blocking-on-dimension-change.patch b/patches/server/0586-Reset-shield-blocking-on-dimension-change.patch similarity index 83% rename from patches/server/0585-Reset-shield-blocking-on-dimension-change.patch rename to patches/server/0586-Reset-shield-blocking-on-dimension-change.patch index c390cc8d73..f49f87d1a9 100644 --- a/patches/server/0585-Reset-shield-blocking-on-dimension-change.patch +++ b/patches/server/0586-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 6166d1ce68742fbcb365c59cd44a611addbe2f8c..f8805dad18a5b9fa37b4f2c214acb17d59167f9d 100644 +index 820e634abadca014baf11387865118e834859f7a..d7bcab2d3830ccd807b0d021d71db2e2fae0c6d0 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1151,6 +1151,11 @@ public class ServerPlayer extends Player { +@@ -1167,6 +1167,11 @@ public class ServerPlayer extends Player { this.level.getCraftServer().getPluginManager().callEvent(changeEvent); // CraftBukkit end } diff --git a/patches/server/0586-add-DragonEggFormEvent.patch b/patches/server/0587-add-DragonEggFormEvent.patch similarity index 100% rename from patches/server/0586-add-DragonEggFormEvent.patch rename to patches/server/0587-add-DragonEggFormEvent.patch diff --git a/patches/server/0587-EntityMoveEvent.patch b/patches/server/0588-EntityMoveEvent.patch similarity index 92% rename from patches/server/0587-EntityMoveEvent.patch rename to patches/server/0588-EntityMoveEvent.patch index 9e4a847a3f..ff244de79b 100644 --- a/patches/server/0587-EntityMoveEvent.patch +++ b/patches/server/0588-EntityMoveEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] EntityMoveEvent diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ad1e731900973deebdc363f34c4cf72058e4363d..6694e0d6d7d8d60f54ea1a2d2dcb5a8894b5b4b9 100644 +index 36e59108d8939ea0c4dfbe5a24ff72b42a7f7216..07b04d6fec9bd7615129ba6bd4fd465cb4bc1e84 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1489,6 +1489,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -17,7 +17,7 @@ index ad1e731900973deebdc363f34c4cf72058e4363d..6694e0d6d7d8d60f54ea1a2d2dcb5a88 this.profiler.push(() -> { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 24ff621292d04d241f432e3a43e9dca92a35be55..bc9bb3f9ea041283a5fa1000f1043db5160f04ba 100644 +index aecd2e432be6c9843fd6b96131392fe4c0c28767..cc644dc53f23ac300270dd513c277e7db3bf1898 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -205,6 +205,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -29,7 +29,7 @@ index 24ff621292d04d241f432e3a43e9dca92a35be55..bc9bb3f9ea041283a5fa1000f1043db5 return new Throwable(entity + " Added to world at " + new java.util.Date()); } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index de90fc7af633576a33b0d35715c3cb68bb9f5b21..fbd33490d7e1394c0989ca20fb36f0033a9e1c26 100644 +index 81df34945237ccb78fc4e2c97f78ccfeaa947637..455fd68005262da367b6200713adf0266bdb08b6 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3222,6 +3222,20 @@ public abstract class LivingEntity extends Entity { diff --git a/patches/server/0588-added-option-to-disable-pathfinding-updates-on-block.patch b/patches/server/0589-added-option-to-disable-pathfinding-updates-on-block.patch similarity index 95% rename from patches/server/0588-added-option-to-disable-pathfinding-updates-on-block.patch rename to patches/server/0589-added-option-to-disable-pathfinding-updates-on-block.patch index d859f5f3c2..7cdc8c89d7 100644 --- a/patches/server/0588-added-option-to-disable-pathfinding-updates-on-block.patch +++ b/patches/server/0589-added-option-to-disable-pathfinding-updates-on-block.patch @@ -21,7 +21,7 @@ index 1eaea3659dbd99767a045e0f66143bebb604c047..3c5dd72a4c98703602c41f2a04f1c793 public boolean phantomOnlyAttackInsomniacs = true; private void phantomSettings() { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index bc9bb3f9ea041283a5fa1000f1043db5160f04ba..d09a9886a6fa8a7e180ab0c1c4a5b437b621f236 100644 +index cc644dc53f23ac300270dd513c277e7db3bf1898..e72a6417409a272692fe351cda088b7477dda4af 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1360,6 +1360,7 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/0589-Inline-shift-direction-fields.patch b/patches/server/0590-Inline-shift-direction-fields.patch similarity index 100% rename from patches/server/0589-Inline-shift-direction-fields.patch rename to patches/server/0590-Inline-shift-direction-fields.patch diff --git a/patches/server/0590-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/server/0591-Allow-adding-items-to-BlockDropItemEvent.patch similarity index 100% rename from patches/server/0590-Allow-adding-items-to-BlockDropItemEvent.patch rename to patches/server/0591-Allow-adding-items-to-BlockDropItemEvent.patch diff --git a/patches/server/0591-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/server/0592-Add-getMainThreadExecutor-to-BukkitScheduler.patch similarity index 100% rename from patches/server/0591-Add-getMainThreadExecutor-to-BukkitScheduler.patch rename to patches/server/0592-Add-getMainThreadExecutor-to-BukkitScheduler.patch diff --git a/patches/server/0592-living-entity-allow-attribute-registration.patch b/patches/server/0593-living-entity-allow-attribute-registration.patch similarity index 100% rename from patches/server/0592-living-entity-allow-attribute-registration.patch rename to patches/server/0593-living-entity-allow-attribute-registration.patch diff --git a/patches/server/0593-fix-dead-slime-setSize-invincibility.patch b/patches/server/0594-fix-dead-slime-setSize-invincibility.patch similarity index 100% rename from patches/server/0593-fix-dead-slime-setSize-invincibility.patch rename to patches/server/0594-fix-dead-slime-setSize-invincibility.patch diff --git a/patches/server/0594-Merchant-getRecipes-should-return-an-immutable-list.patch b/patches/server/0595-Merchant-getRecipes-should-return-an-immutable-list.patch similarity index 100% rename from patches/server/0594-Merchant-getRecipes-should-return-an-immutable-list.patch rename to patches/server/0595-Merchant-getRecipes-should-return-an-immutable-list.patch diff --git a/patches/server/0595-Add-support-for-hex-color-codes-in-console.patch b/patches/server/0596-Add-support-for-hex-color-codes-in-console.patch similarity index 100% rename from patches/server/0595-Add-support-for-hex-color-codes-in-console.patch rename to patches/server/0596-Add-support-for-hex-color-codes-in-console.patch diff --git a/patches/server/0596-Expose-Tracked-Players.patch b/patches/server/0597-Expose-Tracked-Players.patch similarity index 100% rename from patches/server/0596-Expose-Tracked-Players.patch rename to patches/server/0597-Expose-Tracked-Players.patch diff --git a/patches/server/0597-Remove-streams-from-SensorNearest.patch b/patches/server/0598-Remove-streams-from-SensorNearest.patch similarity index 100% rename from patches/server/0597-Remove-streams-from-SensorNearest.patch rename to patches/server/0598-Remove-streams-from-SensorNearest.patch diff --git a/patches/server/0598-Throw-proper-exception-on-empty-JsonList-file.patch b/patches/server/0599-Throw-proper-exception-on-empty-JsonList-file.patch similarity index 100% rename from patches/server/0598-Throw-proper-exception-on-empty-JsonList-file.patch rename to patches/server/0599-Throw-proper-exception-on-empty-JsonList-file.patch diff --git a/patches/server/0599-Improve-ServerGUI.patch b/patches/server/0600-Improve-ServerGUI.patch similarity index 100% rename from patches/server/0599-Improve-ServerGUI.patch rename to patches/server/0600-Improve-ServerGUI.patch diff --git a/patches/server/0600-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch b/patches/server/0601-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch similarity index 100% rename from patches/server/0600-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch rename to patches/server/0601-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch diff --git a/patches/server/0601-fix-converting-txt-to-json-file.patch b/patches/server/0602-fix-converting-txt-to-json-file.patch similarity index 94% rename from patches/server/0601-fix-converting-txt-to-json-file.patch rename to patches/server/0602-fix-converting-txt-to-json-file.patch index ad7fb68f81..4402faf5e9 100644 --- a/patches/server/0601-fix-converting-txt-to-json-file.patch +++ b/patches/server/0602-fix-converting-txt-to-json-file.patch @@ -48,7 +48,7 @@ index e968b880e435b8753314d85b919a0abc4f35be25..02d7b16f81ebf9f902a36d4f31802b20 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 7057f7aa02b819e32f2067d3c1c7c0eefb082fce..8784748564021eecf0e2553925d234c789fc9c5a 100644 +index 1bafdc0e64c06632ce78eea83abd167f9fd0cc1f..effcca445789a55fffca8f9019c910f1cb1ac207 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -174,6 +174,7 @@ public abstract class PlayerList { @@ -58,4 +58,4 @@ index 7057f7aa02b819e32f2067d3c1c7c0eefb082fce..8784748564021eecf0e2553925d234c7 + abstract public void loadAndSaveFiles(); // Paper - moved from DedicatedPlayerList constructor public void placeNewPlayer(Connection connection, ServerPlayer player) { - ServerPlayer prev = pendingPlayers.put(player.getUUID(), player);// Paper + player.isRealPlayer = true; // Paper - Chunk priority diff --git a/patches/server/0602-Add-worldborder-events.patch b/patches/server/0603-Add-worldborder-events.patch similarity index 100% rename from patches/server/0602-Add-worldborder-events.patch rename to patches/server/0603-Add-worldborder-events.patch diff --git a/patches/server/0603-added-PlayerNameEntityEvent.patch b/patches/server/0604-added-PlayerNameEntityEvent.patch similarity index 100% rename from patches/server/0603-added-PlayerNameEntityEvent.patch rename to patches/server/0604-added-PlayerNameEntityEvent.patch diff --git a/patches/server/0604-Prevent-grindstones-from-overstacking-items.patch b/patches/server/0605-Prevent-grindstones-from-overstacking-items.patch similarity index 100% rename from patches/server/0604-Prevent-grindstones-from-overstacking-items.patch rename to patches/server/0605-Prevent-grindstones-from-overstacking-items.patch diff --git a/patches/server/0605-Add-recipe-to-cook-events.patch b/patches/server/0606-Add-recipe-to-cook-events.patch similarity index 100% rename from patches/server/0605-Add-recipe-to-cook-events.patch rename to patches/server/0606-Add-recipe-to-cook-events.patch diff --git a/patches/server/0606-Add-Block-isValidTool.patch b/patches/server/0607-Add-Block-isValidTool.patch similarity index 100% rename from patches/server/0606-Add-Block-isValidTool.patch rename to patches/server/0607-Add-Block-isValidTool.patch diff --git a/patches/server/0607-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0608-Allow-using-signs-inside-spawn-protection.patch similarity index 100% rename from patches/server/0607-Allow-using-signs-inside-spawn-protection.patch rename to patches/server/0608-Allow-using-signs-inside-spawn-protection.patch diff --git a/patches/server/0608-Implement-Keyed-on-World.patch b/patches/server/0609-Implement-Keyed-on-World.patch similarity index 94% rename from patches/server/0608-Implement-Keyed-on-World.patch rename to patches/server/0609-Implement-Keyed-on-World.patch index 1176ab978c..3fdd148209 100644 --- a/patches/server/0608-Implement-Keyed-on-World.patch +++ b/patches/server/0609-Implement-Keyed-on-World.patch @@ -34,10 +34,10 @@ index 5c8dc52d012117ebf9721fb26d3c0e9d84a751f4..9d77ecf330d93b3c2925d097b753c887 // 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 6835fc0fa6aba42edb5b78bcbe46fdc20af5f288..69f6675e3a1e979687d956576719c46003ea3b0e 100644 +index 77bbac3a5d98083589a54d03964d14be2d15df95..6f09c88f04fd182f0e321f47b7b8c2e9332d2877 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1950,6 +1950,11 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1956,6 +1956,11 @@ public class CraftWorld extends CraftRegionAccessor implements World { return java.util.concurrent.CompletableFuture.completedFuture(chunk == null ? null : chunk.getBukkitChunk()); }, net.minecraft.server.MinecraftServer.getServer()); } diff --git a/patches/server/0609-Add-fast-alternative-constructor-for-Rotations.patch b/patches/server/0610-Add-fast-alternative-constructor-for-Rotations.patch similarity index 100% rename from patches/server/0609-Add-fast-alternative-constructor-for-Rotations.patch rename to patches/server/0610-Add-fast-alternative-constructor-for-Rotations.patch diff --git a/patches/server/0610-Item-Rarity-API.patch b/patches/server/0611-Item-Rarity-API.patch similarity index 96% rename from patches/server/0610-Item-Rarity-API.patch rename to patches/server/0611-Item-Rarity-API.patch index 123c9ca9bc..a87f26bb6e 100644 --- a/patches/server/0610-Item-Rarity-API.patch +++ b/patches/server/0611-Item-Rarity-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Item Rarity API diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 29d079927ac5f48f14e6f41a32b03174cc622dda..191d5bee5651e5b8e60547f819836370ce6124bc 100644 +index 463cabee7f4f40f2f8d4f4502296d1abfff18229..6ef091d64a2b7a61fabc7c325c90754f4b500bff 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -476,6 +476,20 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0611-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch b/patches/server/0612-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch similarity index 100% rename from patches/server/0611-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch rename to patches/server/0612-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch diff --git a/patches/server/0612-copy-TESign-isEditable-from-snapshots.patch b/patches/server/0613-copy-TESign-isEditable-from-snapshots.patch similarity index 100% rename from patches/server/0612-copy-TESign-isEditable-from-snapshots.patch rename to patches/server/0613-copy-TESign-isEditable-from-snapshots.patch diff --git a/patches/server/0613-Drop-carried-item-when-player-has-disconnected.patch b/patches/server/0614-Drop-carried-item-when-player-has-disconnected.patch similarity index 88% rename from patches/server/0613-Drop-carried-item-when-player-has-disconnected.patch rename to patches/server/0614-Drop-carried-item-when-player-has-disconnected.patch index d62117e667..8015cee5ed 100644 --- a/patches/server/0613-Drop-carried-item-when-player-has-disconnected.patch +++ b/patches/server/0614-Drop-carried-item-when-player-has-disconnected.patch @@ -7,10 +7,10 @@ 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 8784748564021eecf0e2553925d234c789fc9c5a..4b8a6ed8b336cd2f03a0dc3a5a3214823504bb34 100644 +index effcca445789a55fffca8f9019c910f1cb1ac207..ada17f16131be10670223615a36dca3fee6bfb73 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -612,6 +612,14 @@ public abstract class PlayerList { +@@ -613,6 +613,14 @@ public abstract class PlayerList { } // Paper end diff --git a/patches/server/0614-forced-whitelist-use-configurable-kick-message.patch b/patches/server/0615-forced-whitelist-use-configurable-kick-message.patch similarity index 100% rename from patches/server/0614-forced-whitelist-use-configurable-kick-message.patch rename to patches/server/0615-forced-whitelist-use-configurable-kick-message.patch diff --git a/patches/server/0615-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0616-Don-t-ignore-result-of-PlayerEditBookEvent.patch similarity index 100% rename from patches/server/0615-Don-t-ignore-result-of-PlayerEditBookEvent.patch rename to patches/server/0616-Don-t-ignore-result-of-PlayerEditBookEvent.patch diff --git a/patches/server/0616-Entity-load-save-limit-per-chunk.patch b/patches/server/0617-Entity-load-save-limit-per-chunk.patch similarity index 100% rename from patches/server/0616-Entity-load-save-limit-per-chunk.patch rename to patches/server/0617-Entity-load-save-limit-per-chunk.patch diff --git a/patches/server/0617-fix-cancelling-block-falling-causing-client-desync.patch b/patches/server/0618-fix-cancelling-block-falling-causing-client-desync.patch similarity index 100% rename from patches/server/0617-fix-cancelling-block-falling-causing-client-desync.patch rename to patches/server/0618-fix-cancelling-block-falling-causing-client-desync.patch diff --git a/patches/server/0618-Expose-protocol-version.patch b/patches/server/0619-Expose-protocol-version.patch similarity index 91% rename from patches/server/0618-Expose-protocol-version.patch rename to patches/server/0619-Expose-protocol-version.patch index 343fe771e8..84f610e670 100644 --- a/patches/server/0618-Expose-protocol-version.patch +++ b/patches/server/0619-Expose-protocol-version.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expose protocol version diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 191d5bee5651e5b8e60547f819836370ce6124bc..e567e9ccd6017e3c95e868efb78388030ee0f676 100644 +index 6ef091d64a2b7a61fabc7c325c90754f4b500bff..80dc84864755bf46b9be46d69cd23f588628f9bd 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -490,6 +490,11 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0619-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch b/patches/server/0620-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch similarity index 100% rename from patches/server/0619-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch rename to patches/server/0620-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch diff --git a/patches/server/0620-Enhance-console-tab-completions-for-brigadier-comman.patch b/patches/server/0621-Enhance-console-tab-completions-for-brigadier-comman.patch similarity index 100% rename from patches/server/0620-Enhance-console-tab-completions-for-brigadier-comman.patch rename to patches/server/0621-Enhance-console-tab-completions-for-brigadier-comman.patch diff --git a/patches/server/0621-Fix-PlayerItemConsumeEvent-cancelling-properly.patch b/patches/server/0622-Fix-PlayerItemConsumeEvent-cancelling-properly.patch similarity index 100% rename from patches/server/0621-Fix-PlayerItemConsumeEvent-cancelling-properly.patch rename to patches/server/0622-Fix-PlayerItemConsumeEvent-cancelling-properly.patch diff --git a/patches/server/0622-Add-bypass-host-check.patch b/patches/server/0623-Add-bypass-host-check.patch similarity index 100% rename from patches/server/0622-Add-bypass-host-check.patch rename to patches/server/0623-Add-bypass-host-check.patch diff --git a/patches/server/0623-Set-area-affect-cloud-rotation.patch b/patches/server/0624-Set-area-affect-cloud-rotation.patch similarity index 100% rename from patches/server/0623-Set-area-affect-cloud-rotation.patch rename to patches/server/0624-Set-area-affect-cloud-rotation.patch diff --git a/patches/server/0624-add-isDeeplySleeping-to-HumanEntity.patch b/patches/server/0625-add-isDeeplySleeping-to-HumanEntity.patch similarity index 100% rename from patches/server/0624-add-isDeeplySleeping-to-HumanEntity.patch rename to patches/server/0625-add-isDeeplySleeping-to-HumanEntity.patch diff --git a/patches/server/0625-Fix-duplicating-give-items-on-item-drop-cancel.patch b/patches/server/0626-Fix-duplicating-give-items-on-item-drop-cancel.patch similarity index 100% rename from patches/server/0625-Fix-duplicating-give-items-on-item-drop-cancel.patch rename to patches/server/0626-Fix-duplicating-give-items-on-item-drop-cancel.patch diff --git a/patches/server/0626-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/server/0627-add-consumeFuel-to-FurnaceBurnEvent.patch similarity index 100% rename from patches/server/0626-add-consumeFuel-to-FurnaceBurnEvent.patch rename to patches/server/0627-add-consumeFuel-to-FurnaceBurnEvent.patch diff --git a/patches/server/0627-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/server/0628-add-get-set-drop-chance-to-EntityEquipment.patch similarity index 100% rename from patches/server/0627-add-get-set-drop-chance-to-EntityEquipment.patch rename to patches/server/0628-add-get-set-drop-chance-to-EntityEquipment.patch diff --git a/patches/server/0628-fix-PigZombieAngerEvent-cancellation.patch b/patches/server/0629-fix-PigZombieAngerEvent-cancellation.patch similarity index 100% rename from patches/server/0628-fix-PigZombieAngerEvent-cancellation.patch rename to patches/server/0629-fix-PigZombieAngerEvent-cancellation.patch diff --git a/patches/server/0629-Fix-checkReach-check-for-Shulker-boxes.patch b/patches/server/0630-Fix-checkReach-check-for-Shulker-boxes.patch similarity index 100% rename from patches/server/0629-Fix-checkReach-check-for-Shulker-boxes.patch rename to patches/server/0630-Fix-checkReach-check-for-Shulker-boxes.patch diff --git a/patches/server/0630-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0631-fix-PlayerItemHeldEvent-firing-twice.patch similarity index 100% rename from patches/server/0630-fix-PlayerItemHeldEvent-firing-twice.patch rename to patches/server/0631-fix-PlayerItemHeldEvent-firing-twice.patch diff --git a/patches/server/0631-Added-PlayerDeepSleepEvent.patch b/patches/server/0632-Added-PlayerDeepSleepEvent.patch similarity index 100% rename from patches/server/0631-Added-PlayerDeepSleepEvent.patch rename to patches/server/0632-Added-PlayerDeepSleepEvent.patch diff --git a/patches/server/0632-More-World-API.patch b/patches/server/0633-More-World-API.patch similarity index 97% rename from patches/server/0632-More-World-API.patch rename to patches/server/0633-More-World-API.patch index f18a07935e..d7ad6f7b3f 100644 --- a/patches/server/0632-More-World-API.patch +++ b/patches/server/0633-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 69f6675e3a1e979687d956576719c46003ea3b0e..35b3e76cde3449b805435e6af8e8a296fee905d7 100644 +index 6f09c88f04fd182f0e321f47b7b8c2e9332d2877..9a4f4cca21f9715628de5fd43030e50c5cf28cac 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1902,6 +1902,65 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0633-Added-PlayerBedFailEnterEvent.patch b/patches/server/0634-Added-PlayerBedFailEnterEvent.patch similarity index 100% rename from patches/server/0633-Added-PlayerBedFailEnterEvent.patch rename to patches/server/0634-Added-PlayerBedFailEnterEvent.patch diff --git a/patches/server/0634-Implement-methods-to-convert-between-Component-and-B.patch b/patches/server/0635-Implement-methods-to-convert-between-Component-and-B.patch similarity index 100% rename from patches/server/0634-Implement-methods-to-convert-between-Component-and-B.patch rename to patches/server/0635-Implement-methods-to-convert-between-Component-and-B.patch diff --git a/patches/server/0635-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch b/patches/server/0636-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch similarity index 86% rename from patches/server/0635-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch rename to patches/server/0636-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch index 098dbff6d9..5b8ac91c08 100644 --- a/patches/server/0635-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch +++ b/patches/server/0636-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 4b8a6ed8b336cd2f03a0dc3a5a3214823504bb34..e6deeeb1456e79f91d2ea73b34e4770d32b05d3b 100644 +index ada17f16131be10670223615a36dca3fee6bfb73..a0b75c776e5830c00bb861f76b2cde4692b13933 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -845,6 +845,7 @@ public abstract class PlayerList { +@@ -846,6 +846,7 @@ public abstract class PlayerList { // Paper start boolean isBedSpawn = false; @@ -17,7 +17,7 @@ index 4b8a6ed8b336cd2f03a0dc3a5a3214823504bb34..e6deeeb1456e79f91d2ea73b34e4770d boolean isRespawn = false; boolean isLocAltered = false; // Paper - Fix SPIGOT-5989 // Paper end -@@ -865,6 +866,7 @@ public abstract class PlayerList { +@@ -866,6 +867,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 4b8a6ed8b336cd2f03a0dc3a5a3214823504bb34..e6deeeb1456e79f91d2ea73b34e4770d Vec3 vec3d = (Vec3) optional.get(); float f1; -@@ -893,7 +895,7 @@ public abstract class PlayerList { +@@ -894,7 +896,7 @@ public abstract class PlayerList { } Player respawnPlayer = entityplayer1.getBukkitEntity(); diff --git a/patches/server/0636-Introduce-beacon-activation-deactivation-events.patch b/patches/server/0637-Introduce-beacon-activation-deactivation-events.patch similarity index 100% rename from patches/server/0636-Introduce-beacon-activation-deactivation-events.patch rename to patches/server/0637-Introduce-beacon-activation-deactivation-events.patch diff --git a/patches/server/0637-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/server/0638-add-RespawnFlags-to-PlayerRespawnEvent.patch similarity index 94% rename from patches/server/0637-add-RespawnFlags-to-PlayerRespawnEvent.patch rename to patches/server/0638-add-RespawnFlags-to-PlayerRespawnEvent.patch index e1c5194a04..8311775a03 100644 --- a/patches/server/0637-add-RespawnFlags-to-PlayerRespawnEvent.patch +++ b/patches/server/0638-add-RespawnFlags-to-PlayerRespawnEvent.patch @@ -18,10 +18,10 @@ index eb811f9fcaf84edce3b59fc5f53cd72ffaf1506c..9daad376b7c837ac5dcda5f54d520e2a } 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 e6deeeb1456e79f91d2ea73b34e4770d32b05d3b..bc2f8dd01039d855a174358825d2fdc8d0f0f526 100644 +index a0b75c776e5830c00bb861f76b2cde4692b13933..84505eccbd58746e9410846562698d7b3bfbcc34 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -804,6 +804,12 @@ public abstract class PlayerList { +@@ -805,6 +805,12 @@ public abstract class PlayerList { } public ServerPlayer respawn(ServerPlayer entityplayer, ServerLevel worldserver, boolean flag, Location location, boolean avoidSuffocation) { @@ -34,7 +34,7 @@ index e6deeeb1456e79f91d2ea73b34e4770d32b05d3b..bc2f8dd01039d855a174358825d2fdc8 entityplayer.stopRiding(); // CraftBukkit this.players.remove(entityplayer); this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot -@@ -895,7 +901,7 @@ public abstract class PlayerList { +@@ -896,7 +902,7 @@ public abstract class PlayerList { } Player respawnPlayer = entityplayer1.getBukkitEntity(); diff --git a/patches/server/0638-Add-Channel-initialization-listeners.patch b/patches/server/0639-Add-Channel-initialization-listeners.patch similarity index 100% rename from patches/server/0638-Add-Channel-initialization-listeners.patch rename to patches/server/0639-Add-Channel-initialization-listeners.patch diff --git a/patches/server/0639-Send-empty-commands-if-tab-completion-is-disabled.patch b/patches/server/0640-Send-empty-commands-if-tab-completion-is-disabled.patch similarity index 100% rename from patches/server/0639-Send-empty-commands-if-tab-completion-is-disabled.patch rename to patches/server/0640-Send-empty-commands-if-tab-completion-is-disabled.patch diff --git a/patches/server/0640-Add-more-WanderingTrader-API.patch b/patches/server/0641-Add-more-WanderingTrader-API.patch similarity index 100% rename from patches/server/0640-Add-more-WanderingTrader-API.patch rename to patches/server/0641-Add-more-WanderingTrader-API.patch diff --git a/patches/server/0641-Add-EntityBlockStorage-clearEntities.patch b/patches/server/0642-Add-EntityBlockStorage-clearEntities.patch similarity index 100% rename from patches/server/0641-Add-EntityBlockStorage-clearEntities.patch rename to patches/server/0642-Add-EntityBlockStorage-clearEntities.patch diff --git a/patches/server/0642-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/server/0643-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch similarity index 100% rename from patches/server/0642-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch rename to patches/server/0643-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch diff --git a/patches/server/0643-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch b/patches/server/0644-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch similarity index 100% rename from patches/server/0643-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch rename to patches/server/0644-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch diff --git a/patches/server/0644-Inventory-close.patch b/patches/server/0645-Inventory-close.patch similarity index 100% rename from patches/server/0644-Inventory-close.patch rename to patches/server/0645-Inventory-close.patch diff --git a/patches/server/0645-call-PortalCreateEvent-players-and-end-platform.patch b/patches/server/0646-call-PortalCreateEvent-players-and-end-platform.patch similarity index 91% rename from patches/server/0645-call-PortalCreateEvent-players-and-end-platform.patch rename to patches/server/0646-call-PortalCreateEvent-players-and-end-platform.patch index 2e3a348184..3b93eb8fb0 100644 --- a/patches/server/0645-call-PortalCreateEvent-players-and-end-platform.patch +++ b/patches/server/0646-call-PortalCreateEvent-players-and-end-platform.patch @@ -5,10 +5,10 @@ Subject: [PATCH] call PortalCreateEvent players and end platform diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index f8805dad18a5b9fa37b4f2c214acb17d59167f9d..3650036d18d66194fad37610e8a4de7a2eac97d7 100644 +index d7bcab2d3830ccd807b0d021d71db2e2fae0c6d0..8141c7b4102195ce7d11011a51228f8715c94ac1 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1178,15 +1178,21 @@ public class ServerPlayer extends Player { +@@ -1194,15 +1194,21 @@ public class ServerPlayer extends Player { private void createEndPlatform(ServerLevel world, BlockPos centerPos) { BlockPos.MutableBlockPos blockposition_mutableblockposition = centerPos.mutable(); diff --git a/patches/server/0646-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/server/0647-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch similarity index 98% rename from patches/server/0646-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch rename to patches/server/0647-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch index e0d213b1e4..73dba9db51 100644 --- a/patches/server/0646-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch +++ b/patches/server/0647-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch @@ -48,7 +48,7 @@ index ecf12ed5014202181e78af051e4a9ca88a275794..e23fe546291e670f89447398507d08a0 @Override public void setItemSlot(EquipmentSlot slot, ItemStack stack) { diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java -index 7344301e1cdeccd95375b77f6955edb508362a7b..4442db77e1a0b517aab3a7dc74a4aaac5afc32e0 100644 +index 573107f1281e68c7ba00d4dea8fac02f2d18504d..5c35b73c13c3826be9705e05154076810a78d147 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java @@ -144,7 +144,7 @@ public class Phantom extends FlyingMob implements Enemy { diff --git a/patches/server/0647-Fix-CraftPotionBrewer-cache.patch b/patches/server/0648-Fix-CraftPotionBrewer-cache.patch similarity index 100% rename from patches/server/0647-Fix-CraftPotionBrewer-cache.patch rename to patches/server/0648-Fix-CraftPotionBrewer-cache.patch diff --git a/patches/server/0648-Add-basic-Datapack-API.patch b/patches/server/0649-Add-basic-Datapack-API.patch similarity index 100% rename from patches/server/0648-Add-basic-Datapack-API.patch rename to patches/server/0649-Add-basic-Datapack-API.patch diff --git a/patches/server/0649-Add-environment-variable-to-disable-server-gui.patch b/patches/server/0650-Add-environment-variable-to-disable-server-gui.patch similarity index 100% rename from patches/server/0649-Add-environment-variable-to-disable-server-gui.patch rename to patches/server/0650-Add-environment-variable-to-disable-server-gui.patch diff --git a/patches/server/0650-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0651-additions-to-PlayerGameModeChangeEvent.patch similarity index 95% rename from patches/server/0650-additions-to-PlayerGameModeChangeEvent.patch rename to patches/server/0651-additions-to-PlayerGameModeChangeEvent.patch index 566ec15647..8d00694c0f 100644 --- a/patches/server/0650-additions-to-PlayerGameModeChangeEvent.patch +++ b/patches/server/0651-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 3650036d18d66194fad37610e8a4de7a2eac97d7..aec3fd5bd9103af17eb476d5411b84d76f72bfe4 100644 +index 8141c7b4102195ce7d11011a51228f8715c94ac1..0407973474ce463a4dae91dd518e67d38def94bb 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1787,8 +1787,15 @@ public class ServerPlayer extends Player { +@@ -1803,8 +1803,15 @@ public class ServerPlayer extends Player { } public boolean setGameMode(GameType gameMode) { @@ -66,7 +66,7 @@ index 3650036d18d66194fad37610e8a4de7a2eac97d7..aec3fd5bd9103af17eb476d5411b84d7 } else { this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, (float) gameMode.getId())); if (gameMode == GameType.SPECTATOR) { -@@ -1800,7 +1807,7 @@ public class ServerPlayer extends Player { +@@ -1816,7 +1823,7 @@ public class ServerPlayer extends Player { this.onUpdateAbilities(); this.updateEffectVisibility(); @@ -75,7 +75,7 @@ index 3650036d18d66194fad37610e8a4de7a2eac97d7..aec3fd5bd9103af17eb476d5411b84d7 } } -@@ -2182,6 +2189,16 @@ public class ServerPlayer extends Player { +@@ -2198,6 +2205,16 @@ public class ServerPlayer extends Player { } public void loadGameTypes(@Nullable CompoundTag nbt) { @@ -139,10 +139,10 @@ index 9daad376b7c837ac5dcda5f54d520e2adfda0481..311df240858d4416306a795d893bdf7d } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 87ed5271d623f239c94d18464458469c8e789bba..4c1430a6499dd44bb07c9d13de511d365a93db58 100644 +index 890a7ad0b18358d87b5dd746784e0025b30d08f6..faf75252015d3852578c4ff047082a269f728592 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1257,7 +1257,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1267,7 +1267,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { throw new IllegalArgumentException("Mode cannot be null"); } diff --git a/patches/server/0651-ItemStack-repair-check-API.patch b/patches/server/0652-ItemStack-repair-check-API.patch similarity index 97% rename from patches/server/0651-ItemStack-repair-check-API.patch rename to patches/server/0652-ItemStack-repair-check-API.patch index 324c24c531..3fa1f719a3 100644 --- a/patches/server/0651-ItemStack-repair-check-API.patch +++ b/patches/server/0652-ItemStack-repair-check-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] ItemStack repair check API diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index e567e9ccd6017e3c95e868efb78388030ee0f676..5e6941963f12a7f11603884a1b0bf844ea3a3514 100644 +index 80dc84864755bf46b9be46d69cd23f588628f9bd..e3f55036f44a92adb268880a458518bcccca34be 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -491,6 +491,14 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0652-More-Enchantment-API.patch b/patches/server/0653-More-Enchantment-API.patch similarity index 100% rename from patches/server/0652-More-Enchantment-API.patch rename to patches/server/0653-More-Enchantment-API.patch diff --git a/patches/server/0653-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0654-Fix-and-optimise-world-force-upgrading.patch similarity index 99% rename from patches/server/0653-Fix-and-optimise-world-force-upgrading.patch rename to patches/server/0654-Fix-and-optimise-world-force-upgrading.patch index 08eb0ecaa3..4bd6506b3a 100644 --- a/patches/server/0653-Fix-and-optimise-world-force-upgrading.patch +++ b/patches/server/0654-Fix-and-optimise-world-force-upgrading.patch @@ -274,7 +274,7 @@ index f685ab3cc6e4fd76e8dec3d2d3627a13715cda44..36a1d58dd238c835ce3cc9c2376a86a0 Main.LOGGER.info("Forcing world upgrade! {}", session.getLevelId()); // CraftBukkit WorldUpgrader worldupgrader = new WorldUpgrader(session, dataFixer, generatorOptions, eraseCache); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 478eb61a9e5aab8b004e75c264eca9ca79e51fbb..d93e6d987e013bce37d511ac6c5b2481d86b9235 100644 +index 877863aace3df7f50c6ad054023445bf09b1cef3..0562f00a4d3fc2c6d317f1a112e54e23046fda54 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -556,11 +556,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -306,7 +306,7 @@ index 478eb61a9e5aab8b004e75c264eca9ca79e51fbb..d93e6d987e013bce37d511ac6c5b2481 if (dimensionKey == LevelStem.OVERWORLD) { diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index c68cb2ee352325d3f0ef98827df04b0c7bf1b293..b4d750dcb1df5852fa4a6c7b7ca8037bc06607fb 100644 +index 5ca6254d104fbd407a98daf732dd6ac119914ee3..4def51a0b2a133cf1fb2358974db2533aae0a807 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -176,6 +176,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0654-Add-Mob-lookAt-API.patch b/patches/server/0655-Add-Mob-lookAt-API.patch similarity index 100% rename from patches/server/0654-Add-Mob-lookAt-API.patch rename to patches/server/0655-Add-Mob-lookAt-API.patch diff --git a/patches/server/0655-Add-Unix-domain-socket-support.patch b/patches/server/0656-Add-Unix-domain-socket-support.patch similarity index 100% rename from patches/server/0655-Add-Unix-domain-socket-support.patch rename to patches/server/0656-Add-Unix-domain-socket-support.patch diff --git a/patches/server/0656-Add-EntityInsideBlockEvent.patch b/patches/server/0657-Add-EntityInsideBlockEvent.patch similarity index 100% rename from patches/server/0656-Add-EntityInsideBlockEvent.patch rename to patches/server/0657-Add-EntityInsideBlockEvent.patch diff --git a/patches/server/0657-Attributes-API-for-item-defaults.patch b/patches/server/0658-Attributes-API-for-item-defaults.patch similarity index 97% rename from patches/server/0657-Attributes-API-for-item-defaults.patch rename to patches/server/0658-Attributes-API-for-item-defaults.patch index 5195922a85..e86445ca53 100644 --- a/patches/server/0657-Attributes-API-for-item-defaults.patch +++ b/patches/server/0658-Attributes-API-for-item-defaults.patch @@ -20,7 +20,7 @@ index 7e3826b271b2db3b48e6e21ac2e66911bf8993aa..393a19335c52b6e63d37aacdfbeff93e + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 5e6941963f12a7f11603884a1b0bf844ea3a3514..5996e8b3eea10aabdd2374356016207a44a77f72 100644 +index e3f55036f44a92adb268880a458518bcccca34be..e748601705a01e3b79a6f2b336307b21060abf7d 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -499,6 +499,19 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0658-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0659-Add-cause-to-Weather-ThunderChangeEvents.patch similarity index 97% rename from patches/server/0658-Add-cause-to-Weather-ThunderChangeEvents.patch rename to patches/server/0659-Add-cause-to-Weather-ThunderChangeEvents.patch index 79dcb325a0..f4bf22c052 100644 --- a/patches/server/0658-Add-cause-to-Weather-ThunderChangeEvents.patch +++ b/patches/server/0659-Add-cause-to-Weather-ThunderChangeEvents.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add cause to Weather/ThunderChangeEvents diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index d09a9886a6fa8a7e180ab0c1c4a5b437b621f236..ddfd7eaf71f870037989024ae37322d25a221499 100644 +index e72a6417409a272692fe351cda088b7477dda4af..095a1850fbc0f86ed73d9e321b09e059715dd1e0 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -468,8 +468,8 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -95,7 +95,7 @@ index d88003a29d382d8952964257601f93c5fe95fa8b..30cd6dc004ef1d1518c9a10304ea2a20 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 35b3e76cde3449b805435e6af8e8a296fee905d7..ddaf83de1392c631e7c7a8aa13a8a2e02d2ec04d 100644 +index 9a4f4cca21f9715628de5fd43030e50c5cf28cac..a7fc7da224edcbbf21dcc8cecc879cf0a41daf36 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1170,7 +1170,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0659-More-Lidded-Block-API.patch b/patches/server/0660-More-Lidded-Block-API.patch similarity index 100% rename from patches/server/0659-More-Lidded-Block-API.patch rename to patches/server/0660-More-Lidded-Block-API.patch diff --git a/patches/server/0660-Limit-item-frame-cursors-on-maps.patch b/patches/server/0661-Limit-item-frame-cursors-on-maps.patch similarity index 100% rename from patches/server/0660-Limit-item-frame-cursors-on-maps.patch rename to patches/server/0661-Limit-item-frame-cursors-on-maps.patch diff --git a/patches/server/0661-Add-PlayerKickEvent-causes.patch b/patches/server/0662-Add-PlayerKickEvent-causes.patch similarity index 98% rename from patches/server/0661-Add-PlayerKickEvent-causes.patch rename to patches/server/0662-Add-PlayerKickEvent-causes.patch index 5a40448ba7..ed8ea66de7 100644 --- a/patches/server/0661-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0662-Add-PlayerKickEvent-causes.patch @@ -318,10 +318,10 @@ index 311df240858d4416306a795d893bdf7da403e90b..85e24920e774e84f9fa63a4fb088c07c } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index bc2f8dd01039d855a174358825d2fdc8d0f0f526..de8a14e86b337954fd0f730c1096758e1db409aa 100644 +index 84505eccbd58746e9410846562698d7b3bfbcc34..e84dfb907142a0cafbb211383ee04701496105aa 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -713,7 +713,7 @@ public abstract class PlayerList { +@@ -714,7 +714,7 @@ public abstract class PlayerList { while (iterator.hasNext()) { entityplayer = (ServerPlayer) iterator.next(); this.save(entityplayer); // CraftBukkit - Force the player's inventory to be saved @@ -330,7 +330,7 @@ index bc2f8dd01039d855a174358825d2fdc8d0f0f526..de8a14e86b337954fd0f730c1096758e } // Instead of kicking then returning, we need to store the kick reason -@@ -1332,8 +1332,8 @@ public abstract class PlayerList { +@@ -1333,8 +1333,8 @@ public abstract class PlayerList { // Paper end // CraftBukkit start - disconnect safely for (ServerPlayer player : this.players) { @@ -342,7 +342,7 @@ index bc2f8dd01039d855a174358825d2fdc8d0f0f526..de8a14e86b337954fd0f730c1096758e // 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 4c1430a6499dd44bb07c9d13de511d365a93db58..b5df4beaefe68b13e402b6f71d67ca5ddd47c6f4 100644 +index faf75252015d3852578c4ff047082a269f728592..c43e12f1f4e940fac2a070fd45f3f91f862c35ba 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -502,16 +502,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0662-Add-PufferFishStateChangeEvent.patch b/patches/server/0663-Add-PufferFishStateChangeEvent.patch similarity index 100% rename from patches/server/0662-Add-PufferFishStateChangeEvent.patch rename to patches/server/0663-Add-PufferFishStateChangeEvent.patch diff --git a/patches/server/0663-Fix-PlayerBucketEmptyEvent-result-itemstack.patch b/patches/server/0664-Fix-PlayerBucketEmptyEvent-result-itemstack.patch similarity index 100% rename from patches/server/0663-Fix-PlayerBucketEmptyEvent-result-itemstack.patch rename to patches/server/0664-Fix-PlayerBucketEmptyEvent-result-itemstack.patch diff --git a/patches/server/0664-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch b/patches/server/0665-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch similarity index 100% rename from patches/server/0664-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch rename to patches/server/0665-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch diff --git a/patches/server/0665-Add-option-to-fix-items-merging-through-walls.patch b/patches/server/0666-Add-option-to-fix-items-merging-through-walls.patch similarity index 100% rename from patches/server/0665-Add-option-to-fix-items-merging-through-walls.patch rename to patches/server/0666-Add-option-to-fix-items-merging-through-walls.patch diff --git a/patches/server/0666-Add-BellRevealRaiderEvent.patch b/patches/server/0667-Add-BellRevealRaiderEvent.patch similarity index 100% rename from patches/server/0666-Add-BellRevealRaiderEvent.patch rename to patches/server/0667-Add-BellRevealRaiderEvent.patch diff --git a/patches/server/0667-Fix-invulnerable-end-crystals.patch b/patches/server/0668-Fix-invulnerable-end-crystals.patch similarity index 100% rename from patches/server/0667-Fix-invulnerable-end-crystals.patch rename to patches/server/0668-Fix-invulnerable-end-crystals.patch diff --git a/patches/server/0668-Add-ElderGuardianAppearanceEvent.patch b/patches/server/0669-Add-ElderGuardianAppearanceEvent.patch similarity index 100% rename from patches/server/0668-Add-ElderGuardianAppearanceEvent.patch rename to patches/server/0669-Add-ElderGuardianAppearanceEvent.patch diff --git a/patches/server/0669-Fix-dangerous-end-portal-logic.patch b/patches/server/0670-Fix-dangerous-end-portal-logic.patch similarity index 97% rename from patches/server/0669-Fix-dangerous-end-portal-logic.patch rename to patches/server/0670-Fix-dangerous-end-portal-logic.patch index 74d996a9cf..0930996aac 100644 --- a/patches/server/0669-Fix-dangerous-end-portal-logic.patch +++ b/patches/server/0670-Fix-dangerous-end-portal-logic.patch @@ -11,7 +11,7 @@ Move the tick logic into the post tick, where portaling was designed to happen in the first place. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 392b2745821077d4d3a99872a8b4d50da305c97c..9abbde2f0e8076c9986bc805abd2e71ba4a0af04 100644 +index c8ae1d96b22cd01127169cc7b39a31caaff406a9..1028f116eca1f2139b977f5a90ea6ab61171b81f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -355,6 +355,37 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0670-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch b/patches/server/0671-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch similarity index 100% rename from patches/server/0670-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch rename to patches/server/0671-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch diff --git a/patches/server/0671-Make-item-validations-configurable.patch b/patches/server/0672-Make-item-validations-configurable.patch similarity index 100% rename from patches/server/0671-Make-item-validations-configurable.patch rename to patches/server/0672-Make-item-validations-configurable.patch diff --git a/patches/server/0672-Line-Of-Sight-Changes.patch b/patches/server/0673-Line-Of-Sight-Changes.patch similarity index 97% rename from patches/server/0672-Line-Of-Sight-Changes.patch rename to patches/server/0673-Line-Of-Sight-Changes.patch index 7357abaae6..9d6b6160b4 100644 --- a/patches/server/0672-Line-Of-Sight-Changes.patch +++ b/patches/server/0673-Line-Of-Sight-Changes.patch @@ -19,7 +19,7 @@ index 7fb05333ffb052373af613f52bafd0684c39c1af..4c0c2bc9fae878304eab1c18b5ef0cae } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index ddaf83de1392c631e7c7a8aa13a8a2e02d2ec04d..67fccf65437d791d4008542b250301b2c1f45da8 100644 +index a7fc7da224edcbbf21dcc8cecc879cf0a41daf36..8947ecf8136b457265fee897f6d1a3da1ff5ac17 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -188,6 +188,18 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0673-add-per-world-spawn-limits.patch b/patches/server/0674-add-per-world-spawn-limits.patch similarity index 97% rename from patches/server/0673-add-per-world-spawn-limits.patch rename to patches/server/0674-add-per-world-spawn-limits.patch index aa5d55fe04..6ae56cba2f 100644 --- a/patches/server/0673-add-per-world-spawn-limits.patch +++ b/patches/server/0674-add-per-world-spawn-limits.patch @@ -52,7 +52,7 @@ index a121c3bd970b65783bf7482e022ca3c170309d66..bdecc8ea27253150d0b5c57fe7a01815 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 67fccf65437d791d4008542b250301b2c1f45da8..7ebd935c7c43fb9ed50d5c8e9e5bb8e28080338b 100644 +index 8947ecf8136b457265fee897f6d1a3da1ff5ac17..28516df29bfb3d51980e2ace74fa72bfc2151056 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -210,6 +210,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0674-Fix-PotionSplashEvent-for-water-splash-potions.patch b/patches/server/0675-Fix-PotionSplashEvent-for-water-splash-potions.patch similarity index 100% rename from patches/server/0674-Fix-PotionSplashEvent-for-water-splash-potions.patch rename to patches/server/0675-Fix-PotionSplashEvent-for-water-splash-potions.patch diff --git a/patches/server/0675-Add-more-LimitedRegion-API.patch b/patches/server/0676-Add-more-LimitedRegion-API.patch similarity index 100% rename from patches/server/0675-Add-more-LimitedRegion-API.patch rename to patches/server/0676-Add-more-LimitedRegion-API.patch diff --git a/patches/server/0676-Fix-PlayerDropItemEvent-using-wrong-item.patch b/patches/server/0677-Fix-PlayerDropItemEvent-using-wrong-item.patch similarity index 91% rename from patches/server/0676-Fix-PlayerDropItemEvent-using-wrong-item.patch rename to patches/server/0677-Fix-PlayerDropItemEvent-using-wrong-item.patch index 83820ce261..606991e8a6 100644 --- a/patches/server/0676-Fix-PlayerDropItemEvent-using-wrong-item.patch +++ b/patches/server/0677-Fix-PlayerDropItemEvent-using-wrong-item.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix PlayerDropItemEvent using wrong item diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index aec3fd5bd9103af17eb476d5411b84d76f72bfe4..d3984faa2566e61eeb6c77b327f3ea951c8c8179 100644 +index 0407973474ce463a4dae91dd518e67d38def94bb..254c02b88bf0025d0c4af44aa95cf29c6303345c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2158,7 +2158,7 @@ public class ServerPlayer extends Player { +@@ -2174,7 +2174,7 @@ public class ServerPlayer extends Player { if (retainOwnership) { if (!itemstack1.isEmpty()) { diff --git a/patches/server/0677-Missing-Entity-Behavior-API.patch b/patches/server/0678-Missing-Entity-Behavior-API.patch similarity index 100% rename from patches/server/0677-Missing-Entity-Behavior-API.patch rename to patches/server/0678-Missing-Entity-Behavior-API.patch diff --git a/patches/server/0678-Ensure-disconnect-for-book-edit-is-called-on-main.patch b/patches/server/0679-Ensure-disconnect-for-book-edit-is-called-on-main.patch similarity index 100% rename from patches/server/0678-Ensure-disconnect-for-book-edit-is-called-on-main.patch rename to patches/server/0679-Ensure-disconnect-for-book-edit-is-called-on-main.patch diff --git a/patches/server/0679-Fix-return-value-of-Block-applyBoneMeal-always-being.patch b/patches/server/0680-Fix-return-value-of-Block-applyBoneMeal-always-being.patch similarity index 100% rename from patches/server/0679-Fix-return-value-of-Block-applyBoneMeal-always-being.patch rename to patches/server/0680-Fix-return-value-of-Block-applyBoneMeal-always-being.patch diff --git a/patches/server/0680-Use-getChunkIfLoadedImmediately-in-places.patch b/patches/server/0681-Use-getChunkIfLoadedImmediately-in-places.patch similarity index 100% rename from patches/server/0680-Use-getChunkIfLoadedImmediately-in-places.patch rename to patches/server/0681-Use-getChunkIfLoadedImmediately-in-places.patch diff --git a/patches/server/0681-Fix-commands-from-signs-not-firing-command-events.patch b/patches/server/0682-Fix-commands-from-signs-not-firing-command-events.patch similarity index 100% rename from patches/server/0681-Fix-commands-from-signs-not-firing-command-events.patch rename to patches/server/0682-Fix-commands-from-signs-not-firing-command-events.patch diff --git a/patches/server/0682-Adds-PlayerArmSwingEvent.patch b/patches/server/0683-Adds-PlayerArmSwingEvent.patch similarity index 100% rename from patches/server/0682-Adds-PlayerArmSwingEvent.patch rename to patches/server/0683-Adds-PlayerArmSwingEvent.patch diff --git a/patches/server/0683-Fixes-kick-event-leave-message-not-being-sent.patch b/patches/server/0684-Fixes-kick-event-leave-message-not-being-sent.patch similarity index 95% rename from patches/server/0683-Fixes-kick-event-leave-message-not-being-sent.patch rename to patches/server/0684-Fixes-kick-event-leave-message-not-being-sent.patch index d279cb6ca6..3f18d2d569 100644 --- a/patches/server/0683-Fixes-kick-event-leave-message-not-being-sent.patch +++ b/patches/server/0684-Fixes-kick-event-leave-message-not-being-sent.patch @@ -39,10 +39,10 @@ index d66c9c09ae3874dd53ef298f94a0e5c6177f2b35..43cd0b67f31d0340893672c9bf5a0046 this.server.getPlayerList().broadcastMessage(PaperAdventure.asVanilla(quitMessage), ChatType.SYSTEM, Util.NIL_UUID); // Paper end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index de8a14e86b337954fd0f730c1096758e1db409aa..963d40bf7cf7c12a22472f3a5b7080daf1c90e7b 100644 +index e84dfb907142a0cafbb211383ee04701496105aa..b1913ab35a21a63be72bfd8b7e2586846a62ffb6 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -585,6 +585,11 @@ public abstract class PlayerList { +@@ -586,6 +586,11 @@ public abstract class PlayerList { } public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer) { // Paper - return Component @@ -54,7 +54,7 @@ index de8a14e86b337954fd0f730c1096758e1db409aa..963d40bf7cf7c12a22472f3a5b7080da ServerLevel worldserver = entityplayer.getLevel(); entityplayer.awardStat(Stats.LEAVE_GAME); -@@ -595,7 +600,7 @@ public abstract class PlayerList { +@@ -596,7 +601,7 @@ public abstract class PlayerList { entityplayer.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.DISCONNECT); // Paper } diff --git a/patches/server/0684-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/0685-Add-config-for-mobs-immune-to-default-effects.patch similarity index 100% rename from patches/server/0684-Add-config-for-mobs-immune-to-default-effects.patch rename to patches/server/0685-Add-config-for-mobs-immune-to-default-effects.patch diff --git a/patches/server/0685-Fix-incorrect-message-for-outdated-client.patch b/patches/server/0686-Fix-incorrect-message-for-outdated-client.patch similarity index 100% rename from patches/server/0685-Fix-incorrect-message-for-outdated-client.patch rename to patches/server/0686-Fix-incorrect-message-for-outdated-client.patch diff --git a/patches/server/0686-Fix-MerchantOffer-BuyB-Only-AssertionError.patch b/patches/server/0687-Fix-MerchantOffer-BuyB-Only-AssertionError.patch similarity index 100% rename from patches/server/0686-Fix-MerchantOffer-BuyB-Only-AssertionError.patch rename to patches/server/0687-Fix-MerchantOffer-BuyB-Only-AssertionError.patch diff --git a/patches/server/0687-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0688-Don-t-apply-cramming-damage-to-players.patch similarity index 93% rename from patches/server/0687-Don-t-apply-cramming-damage-to-players.patch rename to patches/server/0688-Don-t-apply-cramming-damage-to-players.patch index b92ab3221d..65e6beca11 100644 --- a/patches/server/0687-Don-t-apply-cramming-damage-to-players.patch +++ b/patches/server/0688-Don-t-apply-cramming-damage-to-players.patch @@ -25,10 +25,10 @@ index c58b18cd75eca14ce61d59c6beffa34337917ddd..f21bd06d7f0531e8ae0412377757a147 + } } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index d3984faa2566e61eeb6c77b327f3ea951c8c8179..fbd1baca8455e1971f36370c2e90661202d8371f 100644 +index 254c02b88bf0025d0c4af44aa95cf29c6303345c..73e7df6e847a4efd4557b676f96c6af54840ea73 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1417,7 +1417,7 @@ public class ServerPlayer extends Player { +@@ -1433,7 +1433,7 @@ public class ServerPlayer extends Player { @Override public boolean isInvulnerableTo(DamageSource damageSource) { diff --git a/patches/server/0688-Rate-options-and-timings-for-sensors-and-behaviors.patch b/patches/server/0689-Rate-options-and-timings-for-sensors-and-behaviors.patch similarity index 100% rename from patches/server/0688-Rate-options-and-timings-for-sensors-and-behaviors.patch rename to patches/server/0689-Rate-options-and-timings-for-sensors-and-behaviors.patch diff --git a/patches/server/0689-Add-a-bunch-of-missing-forceDrop-toggles.patch b/patches/server/0690-Add-a-bunch-of-missing-forceDrop-toggles.patch similarity index 100% rename from patches/server/0689-Add-a-bunch-of-missing-forceDrop-toggles.patch rename to patches/server/0690-Add-a-bunch-of-missing-forceDrop-toggles.patch diff --git a/patches/server/0690-Stinger-API.patch b/patches/server/0691-Stinger-API.patch similarity index 100% rename from patches/server/0690-Stinger-API.patch rename to patches/server/0691-Stinger-API.patch diff --git a/patches/server/0691-Fix-incosistency-issue-with-empty-map-items-in-CB.patch b/patches/server/0692-Fix-incosistency-issue-with-empty-map-items-in-CB.patch similarity index 100% rename from patches/server/0691-Fix-incosistency-issue-with-empty-map-items-in-CB.patch rename to patches/server/0692-Fix-incosistency-issue-with-empty-map-items-in-CB.patch diff --git a/patches/server/0692-Add-System.out-err-catcher.patch b/patches/server/0693-Add-System.out-err-catcher.patch similarity index 100% rename from patches/server/0692-Add-System.out-err-catcher.patch rename to patches/server/0693-Add-System.out-err-catcher.patch diff --git a/patches/server/0693-Fix-test-not-bootstrapping.patch b/patches/server/0694-Fix-test-not-bootstrapping.patch similarity index 100% rename from patches/server/0693-Fix-test-not-bootstrapping.patch rename to patches/server/0694-Fix-test-not-bootstrapping.patch diff --git a/patches/server/0694-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/server/0695-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch similarity index 100% rename from patches/server/0694-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch rename to patches/server/0695-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch diff --git a/patches/server/0695-Improve-boat-collision-performance.patch b/patches/server/0696-Improve-boat-collision-performance.patch similarity index 100% rename from patches/server/0695-Improve-boat-collision-performance.patch rename to patches/server/0696-Improve-boat-collision-performance.patch diff --git a/patches/server/0696-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0697-Prevent-AFK-kick-while-watching-end-credits.patch similarity index 100% rename from patches/server/0696-Prevent-AFK-kick-while-watching-end-credits.patch rename to patches/server/0697-Prevent-AFK-kick-while-watching-end-credits.patch diff --git a/patches/server/0697-Allow-skipping-writing-of-comments-to-server.propert.patch b/patches/server/0698-Allow-skipping-writing-of-comments-to-server.propert.patch similarity index 100% rename from patches/server/0697-Allow-skipping-writing-of-comments-to-server.propert.patch rename to patches/server/0698-Allow-skipping-writing-of-comments-to-server.propert.patch diff --git a/patches/server/0698-Add-PlayerSetSpawnEvent.patch b/patches/server/0699-Add-PlayerSetSpawnEvent.patch similarity index 93% rename from patches/server/0698-Add-PlayerSetSpawnEvent.patch rename to patches/server/0699-Add-PlayerSetSpawnEvent.patch index 937f0a2229..80548a1f37 100644 --- a/patches/server/0698-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0699-Add-PlayerSetSpawnEvent.patch @@ -18,10 +18,10 @@ index e95f2222814e104bf9194a96385737dffe2cb2b5..249ab7357aa19d87179fa4c3ae89d9d3 String string = resourceKey.location().toString(); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index fbd1baca8455e1971f36370c2e90661202d8371f..a6ec320bdca4a1c6e23461cd10a6f7bed681f243 100644 +index 73e7df6e847a4efd4557b676f96c6af54840ea73..8c0eefb3829e3d32122efb5231c5dd1ddc302efc 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1258,7 +1258,7 @@ public class ServerPlayer extends Player { +@@ -1274,7 +1274,7 @@ public class ServerPlayer extends Player { } else if (this.bedBlocked(blockposition, enumdirection)) { return Either.left(Player.BedSleepingProblem.OBSTRUCTED); } else { @@ -30,7 +30,7 @@ index fbd1baca8455e1971f36370c2e90661202d8371f..a6ec320bdca4a1c6e23461cd10a6f7be if (this.level.isDay()) { return Either.left(Player.BedSleepingProblem.NOT_POSSIBLE_NOW); } else { -@@ -2086,12 +2086,33 @@ public class ServerPlayer extends Player { +@@ -2102,12 +2102,33 @@ public class ServerPlayer extends Player { return this.respawnForced; } @@ -67,10 +67,10 @@ index fbd1baca8455e1971f36370c2e90661202d8371f..a6ec320bdca4a1c6e23461cd10a6f7be this.respawnPosition = pos; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 963d40bf7cf7c12a22472f3a5b7080daf1c90e7b..dca3b995c02507e5df299abe60f518480ce56d21 100644 +index b1913ab35a21a63be72bfd8b7e2586846a62ffb6..898a81a23755f9ab1d1df34a422ef61010fe009f 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -889,7 +889,7 @@ public abstract class PlayerList { +@@ -890,7 +890,7 @@ public abstract class PlayerList { f1 = (float) Mth.wrapDegrees(Mth.atan2(vec3d1.z, vec3d1.x) * 57.2957763671875D - 90.0D); } @@ -93,10 +93,10 @@ index d620f559cdd1bd0e161a99123ef6c6f64e3302df..07e893f1859abe3c2a765694c21309d6 return InteractionResult.SUCCESS; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b5df4beaefe68b13e402b6f71d67ca5ddd47c6f4..9b136a877ff07262b1694c6cad43da756602384e 100644 +index c43e12f1f4e940fac2a070fd45f3f91f862c35ba..bc529afc8aff97b620209332aa2a4c8111075d62 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1077,9 +1077,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1087,9 +1087,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setBedSpawnLocation(Location location, boolean override) { if (location == null) { diff --git a/patches/server/0699-Make-hoppers-respect-inventory-max-stack-size.patch b/patches/server/0700-Make-hoppers-respect-inventory-max-stack-size.patch similarity index 100% rename from patches/server/0699-Make-hoppers-respect-inventory-max-stack-size.patch rename to patches/server/0700-Make-hoppers-respect-inventory-max-stack-size.patch diff --git a/patches/server/0700-Optimize-entity-tracker-passenger-checks.patch b/patches/server/0701-Optimize-entity-tracker-passenger-checks.patch similarity index 100% rename from patches/server/0700-Optimize-entity-tracker-passenger-checks.patch rename to patches/server/0701-Optimize-entity-tracker-passenger-checks.patch diff --git a/patches/server/0701-Config-option-for-Piglins-guarding-chests.patch b/patches/server/0702-Config-option-for-Piglins-guarding-chests.patch similarity index 100% rename from patches/server/0701-Config-option-for-Piglins-guarding-chests.patch rename to patches/server/0702-Config-option-for-Piglins-guarding-chests.patch diff --git a/patches/server/0702-Added-EntityDamageItemEvent.patch b/patches/server/0703-Added-EntityDamageItemEvent.patch similarity index 100% rename from patches/server/0702-Added-EntityDamageItemEvent.patch rename to patches/server/0703-Added-EntityDamageItemEvent.patch diff --git a/patches/server/0703-Optimize-indirect-passenger-iteration.patch b/patches/server/0704-Optimize-indirect-passenger-iteration.patch similarity index 95% rename from patches/server/0703-Optimize-indirect-passenger-iteration.patch rename to patches/server/0704-Optimize-indirect-passenger-iteration.patch index 9664f84313..787c857b43 100644 --- a/patches/server/0703-Optimize-indirect-passenger-iteration.patch +++ b/patches/server/0704-Optimize-indirect-passenger-iteration.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Optimize indirect passenger iteration diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9abbde2f0e8076c9986bc805abd2e71ba4a0af04..aeae0eb6260fa88c55eb8add7e5df3198fe3d465 100644 +index 1028f116eca1f2139b977f5a90ea6ab61171b81f..db7016ce7c0067bd4849298a9fc0797894e6a498 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3458,26 +3458,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0704-Fix-block-drops-position-losing-precision-millions-o.patch b/patches/server/0705-Fix-block-drops-position-losing-precision-millions-o.patch similarity index 100% rename from patches/server/0704-Fix-block-drops-position-losing-precision-millions-o.patch rename to patches/server/0705-Fix-block-drops-position-losing-precision-millions-o.patch diff --git a/patches/server/0705-Configurable-item-frame-map-cursor-update-interval.patch b/patches/server/0706-Configurable-item-frame-map-cursor-update-interval.patch similarity index 100% rename from patches/server/0705-Configurable-item-frame-map-cursor-update-interval.patch rename to patches/server/0706-Configurable-item-frame-map-cursor-update-interval.patch diff --git a/patches/server/0706-Make-EntityUnleashEvent-cancellable.patch b/patches/server/0707-Make-EntityUnleashEvent-cancellable.patch similarity index 100% rename from patches/server/0706-Make-EntityUnleashEvent-cancellable.patch rename to patches/server/0707-Make-EntityUnleashEvent-cancellable.patch diff --git a/patches/server/0707-Clear-bucket-NBT-after-dispense.patch b/patches/server/0708-Clear-bucket-NBT-after-dispense.patch similarity index 100% rename from patches/server/0707-Clear-bucket-NBT-after-dispense.patch rename to patches/server/0708-Clear-bucket-NBT-after-dispense.patch diff --git a/patches/server/0708-Set-AsyncAppender-dispatch-thread-to-be-a-daemon-thr.patch b/patches/server/0709-Set-AsyncAppender-dispatch-thread-to-be-a-daemon-thr.patch similarity index 100% rename from patches/server/0708-Set-AsyncAppender-dispatch-thread-to-be-a-daemon-thr.patch rename to patches/server/0709-Set-AsyncAppender-dispatch-thread-to-be-a-daemon-thr.patch diff --git a/patches/server/0709-Respect-despawn-rate-in-item-merge-check.patch b/patches/server/0710-Respect-despawn-rate-in-item-merge-check.patch similarity index 100% rename from patches/server/0709-Respect-despawn-rate-in-item-merge-check.patch rename to patches/server/0710-Respect-despawn-rate-in-item-merge-check.patch diff --git a/patches/server/0710-Move-BlockPistonRetractEvent-to-fix-duplication.patch b/patches/server/0711-Move-BlockPistonRetractEvent-to-fix-duplication.patch similarity index 100% rename from patches/server/0710-Move-BlockPistonRetractEvent-to-fix-duplication.patch rename to patches/server/0711-Move-BlockPistonRetractEvent-to-fix-duplication.patch diff --git a/patches/server/0711-Change-EnderEye-target-without-changing-other-things.patch b/patches/server/0712-Change-EnderEye-target-without-changing-other-things.patch similarity index 100% rename from patches/server/0711-Change-EnderEye-target-without-changing-other-things.patch rename to patches/server/0712-Change-EnderEye-target-without-changing-other-things.patch diff --git a/patches/server/0712-Add-BlockBreakBlockEvent.patch b/patches/server/0713-Add-BlockBreakBlockEvent.patch similarity index 100% rename from patches/server/0712-Add-BlockBreakBlockEvent.patch rename to patches/server/0713-Add-BlockBreakBlockEvent.patch diff --git a/patches/server/0713-Option-to-prevent-NBT-copy-in-smithing-recipes.patch b/patches/server/0714-Option-to-prevent-NBT-copy-in-smithing-recipes.patch similarity index 100% rename from patches/server/0713-Option-to-prevent-NBT-copy-in-smithing-recipes.patch rename to patches/server/0714-Option-to-prevent-NBT-copy-in-smithing-recipes.patch diff --git a/patches/server/0714-More-CommandBlock-API.patch b/patches/server/0715-More-CommandBlock-API.patch similarity index 100% rename from patches/server/0714-More-CommandBlock-API.patch rename to patches/server/0715-More-CommandBlock-API.patch diff --git a/patches/server/0715-Add-missing-team-sidebar-display-slots.patch b/patches/server/0716-Add-missing-team-sidebar-display-slots.patch similarity index 100% rename from patches/server/0715-Add-missing-team-sidebar-display-slots.patch rename to patches/server/0716-Add-missing-team-sidebar-display-slots.patch diff --git a/patches/server/0716-Add-back-EntityPortalExitEvent.patch b/patches/server/0717-Add-back-EntityPortalExitEvent.patch similarity index 96% rename from patches/server/0716-Add-back-EntityPortalExitEvent.patch rename to patches/server/0717-Add-back-EntityPortalExitEvent.patch index 30b0877a58..e4647969f9 100644 --- a/patches/server/0716-Add-back-EntityPortalExitEvent.patch +++ b/patches/server/0717-Add-back-EntityPortalExitEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add back EntityPortalExitEvent diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index aeae0eb6260fa88c55eb8add7e5df3198fe3d465..dcfc726ab96dccc05848219e824ad7612dbfbdab 100644 +index db7016ce7c0067bd4849298a9fc0797894e6a498..e11926aa43c532aeee8c530e04b916491c126c06 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2970,6 +2970,25 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0717-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0718-Add-methods-to-find-targets-for-lightning-strikes.patch similarity index 96% rename from patches/server/0717-Add-methods-to-find-targets-for-lightning-strikes.patch rename to patches/server/0718-Add-methods-to-find-targets-for-lightning-strikes.patch index 45a7b5f040..f8134af399 100644 --- a/patches/server/0717-Add-methods-to-find-targets-for-lightning-strikes.patch +++ b/patches/server/0718-Add-methods-to-find-targets-for-lightning-strikes.patch @@ -29,7 +29,7 @@ index 27f03389f905e8e051eb4148016de7868c385819..b8e7f70f4ee1b28635537e04f7bd0d0c blockposition1 = blockposition1.above(2); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 7ebd935c7c43fb9ed50d5c8e9e5bb8e28080338b..69a4572c0eb4019491e099cf75049728a9aa4f99 100644 +index 28516df29bfb3d51980e2ace74fa72bfc2151056..25ab3a26a46b592f0953047ecafed4733f037cd1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -690,6 +690,23 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0718-Get-entity-default-attributes.patch b/patches/server/0719-Get-entity-default-attributes.patch similarity index 100% rename from patches/server/0718-Get-entity-default-attributes.patch rename to patches/server/0719-Get-entity-default-attributes.patch diff --git a/patches/server/0719-Left-handed-API.patch b/patches/server/0720-Left-handed-API.patch similarity index 100% rename from patches/server/0719-Left-handed-API.patch rename to patches/server/0720-Left-handed-API.patch diff --git a/patches/server/0720-Add-advancement-display-API.patch b/patches/server/0721-Add-advancement-display-API.patch similarity index 100% rename from patches/server/0720-Add-advancement-display-API.patch rename to patches/server/0721-Add-advancement-display-API.patch diff --git a/patches/server/0721-Add-ItemFactory-getMonsterEgg-API.patch b/patches/server/0722-Add-ItemFactory-getMonsterEgg-API.patch similarity index 100% rename from patches/server/0721-Add-ItemFactory-getMonsterEgg-API.patch rename to patches/server/0722-Add-ItemFactory-getMonsterEgg-API.patch diff --git a/patches/server/0722-Add-critical-damage-API.patch b/patches/server/0723-Add-critical-damage-API.patch similarity index 100% rename from patches/server/0722-Add-critical-damage-API.patch rename to patches/server/0723-Add-critical-damage-API.patch diff --git a/patches/server/0723-Fix-issues-with-mob-conversion.patch b/patches/server/0724-Fix-issues-with-mob-conversion.patch similarity index 100% rename from patches/server/0723-Fix-issues-with-mob-conversion.patch rename to patches/server/0724-Fix-issues-with-mob-conversion.patch diff --git a/patches/server/0724-Add-isCollidable-methods-to-various-places.patch b/patches/server/0725-Add-isCollidable-methods-to-various-places.patch similarity index 100% rename from patches/server/0724-Add-isCollidable-methods-to-various-places.patch rename to patches/server/0725-Add-isCollidable-methods-to-various-places.patch diff --git a/patches/server/0725-Goat-ram-API.patch b/patches/server/0726-Goat-ram-API.patch similarity index 100% rename from patches/server/0725-Goat-ram-API.patch rename to patches/server/0726-Goat-ram-API.patch diff --git a/patches/server/0726-Add-API-for-resetting-a-single-score.patch b/patches/server/0727-Add-API-for-resetting-a-single-score.patch similarity index 100% rename from patches/server/0726-Add-API-for-resetting-a-single-score.patch rename to patches/server/0727-Add-API-for-resetting-a-single-score.patch diff --git a/patches/server/0727-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0728-Add-Raw-Byte-Entity-Serialization.patch similarity index 97% rename from patches/server/0727-Add-Raw-Byte-Entity-Serialization.patch rename to patches/server/0728-Add-Raw-Byte-Entity-Serialization.patch index 4d71c51137..cd07ac0577 100644 --- a/patches/server/0727-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/server/0728-Add-Raw-Byte-Entity-Serialization.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Raw Byte Entity Serialization diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index dcfc726ab96dccc05848219e824ad7612dbfbdab..7713f26d4a97df94c27694d28881d298e4c54147 100644 +index e11926aa43c532aeee8c530e04b916491c126c06..4a763c6321abed6955a8adfb6dfd4f9f4593bc2f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1788,6 +1788,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0728-Vanilla-command-permission-fixes.patch b/patches/server/0729-Vanilla-command-permission-fixes.patch similarity index 100% rename from patches/server/0728-Vanilla-command-permission-fixes.patch rename to patches/server/0729-Vanilla-command-permission-fixes.patch diff --git a/patches/server/0729-Make-CallbackExecutor-strict-again.patch b/patches/server/0730-Make-CallbackExecutor-strict-again.patch similarity index 93% rename from patches/server/0729-Make-CallbackExecutor-strict-again.patch rename to patches/server/0730-Make-CallbackExecutor-strict-again.patch index 3f318e65f0..aaf497413a 100644 --- a/patches/server/0729-Make-CallbackExecutor-strict-again.patch +++ b/patches/server/0730-Make-CallbackExecutor-strict-again.patch @@ -10,10 +10,10 @@ schedules. Effectively, use the callback executor as a tool of finding issues rather than hiding these issues. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index e8b68702d7f720ba9d2985984547d0dda9541d41..db4d506852b92fc84fe052358599153fbd013d2a 100644 +index a9a8bf399871f88ef71a803c60e29ea082030d87..241568886a146501c1f49d7997660fbadb2d1e4b 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -156,17 +156,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -157,17 +157,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider public final CallbackExecutor callbackExecutor = new CallbackExecutor(); public static final class CallbackExecutor implements java.util.concurrent.Executor, Runnable { diff --git a/patches/server/0730-Do-not-allow-the-server-to-unload-chunks-at-request-.patch b/patches/server/0731-Do-not-allow-the-server-to-unload-chunks-at-request-.patch similarity index 87% rename from patches/server/0730-Do-not-allow-the-server-to-unload-chunks-at-request-.patch rename to patches/server/0731-Do-not-allow-the-server-to-unload-chunks-at-request-.patch index e3da8f5c80..48ed131af1 100644 --- a/patches/server/0730-Do-not-allow-the-server-to-unload-chunks-at-request-.patch +++ b/patches/server/0731-Do-not-allow-the-server-to-unload-chunks-at-request-.patch @@ -10,10 +10,10 @@ to be unloaded will simply be unloaded next tick, rather than immediately. diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index f716fea06702f21f1aaf0aefcc5b3ea170d2013d..3c95e322a2ecf4fc212e168c4aa475d2e4e7ce69 100644 +index b8090bbd6e38772a937d31b4523b27e88e6d0727..d5fad1d1b586ce9d405f986b34a8a935f9d3490a 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -842,6 +842,7 @@ public class ServerChunkCache extends ChunkSource { +@@ -875,6 +875,7 @@ public class ServerChunkCache extends ChunkSource { // CraftBukkit start - modelled on below public void purgeUnload() { diff --git a/patches/server/0731-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0732-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch similarity index 96% rename from patches/server/0731-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch rename to patches/server/0732-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch index 467b595689..09bf2797db 100644 --- a/patches/server/0731-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch +++ b/patches/server/0732-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch @@ -28,10 +28,10 @@ index b8e7f70f4ee1b28635537e04f7bd0d0cd6afb4b3..82ae5094025c7d86ba6fdbf4334b2575 } // Spigot End diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a6ec320bdca4a1c6e23461cd10a6f7bed681f243..67b482f6cafc55b6b262f23c2b56e4d8c6d089c2 100644 +index 8c0eefb3829e3d32122efb5231c5dd1ddc302efc..03400c55ff5929e88161f1915a2df140b3830dff 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1559,6 +1559,18 @@ public class ServerPlayer extends Player { +@@ -1575,6 +1575,18 @@ public class ServerPlayer extends Player { this.connection.send(new ClientboundContainerClosePacket(this.containerMenu.containerId)); this.doCloseContainer(); } diff --git a/patches/server/0732-Correctly-handle-recursion-for-chunkholder-updates.patch b/patches/server/0733-Correctly-handle-recursion-for-chunkholder-updates.patch similarity index 85% rename from patches/server/0732-Correctly-handle-recursion-for-chunkholder-updates.patch rename to patches/server/0733-Correctly-handle-recursion-for-chunkholder-updates.patch index 740838bf67..576a603a7b 100644 --- a/patches/server/0732-Correctly-handle-recursion-for-chunkholder-updates.patch +++ b/patches/server/0733-Correctly-handle-recursion-for-chunkholder-updates.patch @@ -8,20 +8,21 @@ cause a recursive call which would handle the increase but then the caller would think the chunk would be unloaded. diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java -index 292a26a2e13d97e4796bfe00c4d5789f94e67cc1..be8e63fb3e5c65157ea4ed9c0e3910aaba8c3d45 100644 +index 3d38a5cd7db0436b4d3fe6b3476025b30d5186dc..bad5b629b0c15432a723db0c2275a5abdeda3ea0 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java -@@ -400,7 +400,9 @@ public class ChunkHolder { +@@ -406,8 +406,10 @@ public class ChunkHolder { playerchunkmap.onFullChunkStatusChange(this.pos, playerchunk_state); } + protected long updateCount; // Paper - correctly handle recursion protected void updateFutures(ChunkMap chunkStorage, Executor executor) { + io.papermc.paper.util.TickThread.ensureTickThread("Async ticket level update"); // Paper + long updateCount = ++this.updateCount; // Paper - correctly handle recursion ChunkStatus chunkstatus = ChunkHolder.getStatus(this.oldTicketLevel); ChunkStatus chunkstatus1 = ChunkHolder.getStatus(this.ticketLevel); boolean flag = this.oldTicketLevel <= ChunkMap.MAX_CHUNK_DISTANCE; -@@ -429,6 +431,12 @@ public class ChunkHolder { +@@ -449,6 +451,12 @@ public class ChunkHolder { // Run callback right away if the future was already done chunkStorage.callbackExecutor.run(); diff --git a/patches/server/0733-Separate-lookup-locking-from-state-access-in-UserCac.patch b/patches/server/0734-Separate-lookup-locking-from-state-access-in-UserCac.patch similarity index 100% rename from patches/server/0733-Separate-lookup-locking-from-state-access-in-UserCac.patch rename to patches/server/0734-Separate-lookup-locking-from-state-access-in-UserCac.patch diff --git a/patches/server/0734-Fix-chunks-refusing-to-unload-at-low-TPS.patch b/patches/server/0735-Fix-chunks-refusing-to-unload-at-low-TPS.patch similarity index 88% rename from patches/server/0734-Fix-chunks-refusing-to-unload-at-low-TPS.patch rename to patches/server/0735-Fix-chunks-refusing-to-unload-at-low-TPS.patch index 80300fef85..ab53062719 100644 --- a/patches/server/0734-Fix-chunks-refusing-to-unload-at-low-TPS.patch +++ b/patches/server/0735-Fix-chunks-refusing-to-unload-at-low-TPS.patch @@ -10,10 +10,10 @@ chunk future to complete. We can simply schedule to the immediate executor to get this effect, rather than the main mailbox. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index db4d506852b92fc84fe052358599153fbd013d2a..6463bd3a796661a9077837ce01822a7ca69f89e2 100644 +index 241568886a146501c1f49d7997660fbadb2d1e4b..8ca03064b9a1fb66f8b77a121124176707b9b1b9 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -1018,9 +1018,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1090,9 +1090,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider return chunk; }); diff --git a/patches/server/0735-Do-not-allow-ticket-level-changes-while-unloading-pl.patch b/patches/server/0736-Do-not-allow-ticket-level-changes-while-unloading-pl.patch similarity index 86% rename from patches/server/0735-Do-not-allow-ticket-level-changes-while-unloading-pl.patch rename to patches/server/0736-Do-not-allow-ticket-level-changes-while-unloading-pl.patch index 04c3a8b030..d692c0e55e 100644 --- a/patches/server/0735-Do-not-allow-ticket-level-changes-while-unloading-pl.patch +++ b/patches/server/0736-Do-not-allow-ticket-level-changes-while-unloading-pl.patch @@ -8,10 +8,10 @@ Sync loading the chunk at this stage would cause it to load older data, as well as screwing our region state. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 6463bd3a796661a9077837ce01822a7ca69f89e2..0a3aa9808c7308917b990b8aee3740ada23a4b24 100644 +index 8ca03064b9a1fb66f8b77a121124176707b9b1b9..32b101b85cce51e35905357a3f80b46f340add1a 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -235,6 +235,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -236,6 +236,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } // Paper end @@ -19,7 +19,7 @@ index 6463bd3a796661a9077837ce01822a7ca69f89e2..0a3aa9808c7308917b990b8aee3740ad public ChunkMap(ServerLevel world, LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, StructureManager structureManager, Executor executor, BlockableEventLoop<Runnable> mainThreadExecutor, LightChunkGetter chunkProvider, ChunkGenerator chunkGenerator, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier<DimensionDataStorage> persistentStateManagerFactory, int viewDistance, boolean dsync) { super(session.getDimensionPath(world.dimension()).resolve("region"), dataFixer, dsync); this.visibleChunkMap = this.updatingChunkMap.clone(); -@@ -499,6 +500,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -549,6 +550,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @Nullable ChunkHolder updateChunkScheduling(long pos, int level, @Nullable ChunkHolder holder, int k) { @@ -27,7 +27,7 @@ index 6463bd3a796661a9077837ce01822a7ca69f89e2..0a3aa9808c7308917b990b8aee3740ad if (k > ChunkMap.MAX_CHUNK_DISTANCE && level > ChunkMap.MAX_CHUNK_DISTANCE) { return holder; } else { -@@ -658,6 +660,12 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -708,6 +710,12 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider if (completablefuture1 != completablefuture) { this.scheduleUnload(pos, holder); } else { @@ -40,7 +40,7 @@ index 6463bd3a796661a9077837ce01822a7ca69f89e2..0a3aa9808c7308917b990b8aee3740ad // Paper start boolean removed; if ((removed = this.pendingUnloads.remove(pos, holder)) && ichunkaccess != null) { -@@ -693,6 +701,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -743,6 +751,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider this.regionManagers.get(index).removeChunk(holder.pos.x, holder.pos.z); } } // Paper end @@ -49,13 +49,13 @@ index 6463bd3a796661a9077837ce01822a7ca69f89e2..0a3aa9808c7308917b990b8aee3740ad } }; diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 3c95e322a2ecf4fc212e168c4aa475d2e4e7ce69..7908e35a5842beb422edfed624561caffe08e6ef 100644 +index d5fad1d1b586ce9d405f986b34a8a935f9d3490a..fd419bf8780e148fb8235f3c11cfde36eb621f5e 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -787,6 +787,7 @@ public class ServerChunkCache extends ChunkSource { - } +@@ -820,6 +820,7 @@ public class ServerChunkCache extends ChunkSource { public boolean runDistanceManagerUpdates() { + if (distanceManager.delayDistanceManagerTick) return false; // Paper - Chunk priority + if (this.chunkMap.unloadingPlayerChunk) { net.minecraft.server.MinecraftServer.LOGGER.fatal("Cannot tick distance manager while unloading playerchunks", new Throwable()); throw new IllegalStateException("Cannot tick distance manager while unloading playerchunks"); } // Paper boolean flag = this.distanceManager.runAllUpdates(this.chunkMap); boolean flag1 = this.chunkMap.promoteChunkMap(); diff --git a/patches/server/0736-Do-not-allow-ticket-level-changes-when-updating-chun.patch b/patches/server/0737-Do-not-allow-ticket-level-changes-when-updating-chun.patch similarity index 91% rename from patches/server/0736-Do-not-allow-ticket-level-changes-when-updating-chun.patch rename to patches/server/0737-Do-not-allow-ticket-level-changes-when-updating-chun.patch index ab866270de..66d4b5f21b 100644 --- a/patches/server/0736-Do-not-allow-ticket-level-changes-when-updating-chun.patch +++ b/patches/server/0737-Do-not-allow-ticket-level-changes-when-updating-chun.patch @@ -8,10 +8,10 @@ This WILL cause state corruption if it happens. So, don't allow it. diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java -index be8e63fb3e5c65157ea4ed9c0e3910aaba8c3d45..7418245d5d08706ca2a1378e769abfb0de1076ed 100644 +index bad5b629b0c15432a723db0c2275a5abdeda3ea0..663fe2ddad1a65862c6bd4fe15f047e270bcd3ba 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java -@@ -385,7 +385,13 @@ public class ChunkHolder { +@@ -386,7 +386,13 @@ public class ChunkHolder { CompletableFuture<Void> completablefuture1 = new CompletableFuture(); completablefuture1.thenRunAsync(() -> { @@ -25,7 +25,7 @@ index be8e63fb3e5c65157ea4ed9c0e3910aaba8c3d45..7418245d5d08706ca2a1378e769abfb0 }, executor); this.pendingFullStateConfirmation = completablefuture1; completablefuture.thenAccept((either) -> { -@@ -397,7 +403,12 @@ public class ChunkHolder { +@@ -403,7 +409,12 @@ public class ChunkHolder { private void demoteFullChunk(ChunkMap playerchunkmap, ChunkHolder.FullChunkStatus playerchunk_state) { this.pendingFullStateConfirmation.cancel(false); diff --git a/patches/server/0737-Do-not-submit-profile-lookups-to-worldgen-threads.patch b/patches/server/0738-Do-not-submit-profile-lookups-to-worldgen-threads.patch similarity index 100% rename from patches/server/0737-Do-not-submit-profile-lookups-to-worldgen-threads.patch rename to patches/server/0738-Do-not-submit-profile-lookups-to-worldgen-threads.patch diff --git a/patches/server/0738-Log-when-the-async-catcher-is-tripped.patch b/patches/server/0739-Log-when-the-async-catcher-is-tripped.patch similarity index 100% rename from patches/server/0738-Log-when-the-async-catcher-is-tripped.patch rename to patches/server/0739-Log-when-the-async-catcher-is-tripped.patch diff --git a/patches/server/0739-Sanitize-ResourceLocation-error-logging.patch b/patches/server/0740-Sanitize-ResourceLocation-error-logging.patch similarity index 100% rename from patches/server/0739-Sanitize-ResourceLocation-error-logging.patch rename to patches/server/0740-Sanitize-ResourceLocation-error-logging.patch diff --git a/patches/server/0740-Optimise-general-POI-access.patch b/patches/server/0741-Optimise-general-POI-access.patch similarity index 100% rename from patches/server/0740-Optimise-general-POI-access.patch rename to patches/server/0741-Optimise-general-POI-access.patch diff --git a/patches/server/0741-Allow-controlled-flushing-for-network-manager.patch b/patches/server/0742-Allow-controlled-flushing-for-network-manager.patch similarity index 100% rename from patches/server/0741-Allow-controlled-flushing-for-network-manager.patch rename to patches/server/0742-Allow-controlled-flushing-for-network-manager.patch diff --git a/patches/server/0742-Add-more-async-catchers.patch b/patches/server/0743-Add-more-async-catchers.patch similarity index 100% rename from patches/server/0742-Add-more-async-catchers.patch rename to patches/server/0743-Add-more-async-catchers.patch diff --git a/patches/server/0743-Rewrite-entity-bounding-box-lookup-calls.patch b/patches/server/0744-Rewrite-entity-bounding-box-lookup-calls.patch similarity index 99% rename from patches/server/0743-Rewrite-entity-bounding-box-lookup-calls.patch rename to patches/server/0744-Rewrite-entity-bounding-box-lookup-calls.patch index 2d7fa25573..98fc42cb05 100644 --- a/patches/server/0743-Rewrite-entity-bounding-box-lookup-calls.patch +++ b/patches/server/0744-Rewrite-entity-bounding-box-lookup-calls.patch @@ -953,7 +953,7 @@ index 5d189257f494eb12b5fd98b12da6dd09ca14f972..913b56361dece6c699ed7fad7e580d40 + // Paper end } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 7713f26d4a97df94c27694d28881d298e4c54147..3110f8cbf65ba0fefbf78f90915ee358694d20ca 100644 +index 4a763c6321abed6955a8adfb6dfd4f9f4593bc2f..3acb5defa7cb1290820425016599ddbbe885d5ed 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -386,6 +386,56 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0744-Execute-chunk-tasks-mid-tick.patch b/patches/server/0745-Execute-chunk-tasks-mid-tick.patch similarity index 100% rename from patches/server/0744-Execute-chunk-tasks-mid-tick.patch rename to patches/server/0745-Execute-chunk-tasks-mid-tick.patch diff --git a/patches/server/0745-Do-not-copy-visible-chunks.patch b/patches/server/0746-Do-not-copy-visible-chunks.patch similarity index 92% rename from patches/server/0745-Do-not-copy-visible-chunks.patch rename to patches/server/0746-Do-not-copy-visible-chunks.patch index 2135208f67..37327a78f2 100644 --- a/patches/server/0745-Do-not-copy-visible-chunks.patch +++ b/patches/server/0746-Do-not-copy-visible-chunks.patch @@ -22,7 +22,7 @@ index f436ab35798c9b6e6cb2eb60d2c02cbf9b742e69..85beb460aa59313cf2ace2d6a6bf2493 continue; } diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index 2fe519d4059fac06781c30e140895b604e13104f..7082c61b2dbe524c334efa56a73b24565b996b42 100644 +index 35949e9c15eb998aa89842d34d0999cd973590e0..15f0c85ba9f4f9666e94e67dde43eb2e945ecfbf 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -619,7 +619,7 @@ public final class MCUtil { @@ -35,7 +35,7 @@ index 2fe519d4059fac06781c30e140895b604e13104f..7082c61b2dbe524c334efa56a73b2456 List<ChunkHolder> allChunks = new ArrayList<>(visibleChunks.values()); List<ServerPlayer> players = world.players; diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d688ca0d756 100644 +index 32b101b85cce51e35905357a3f80b46f340add1a..7bf89ff76809e1d85b4656c8d9964400ab2c181f 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -117,9 +117,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -52,7 +52,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 private final Long2ObjectLinkedOpenHashMap<ChunkHolder> pendingUnloads; public final LongSet entitiesInLevel; public final ServerLevel level; -@@ -238,7 +240,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -239,7 +241,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider boolean unloadingPlayerChunk = false; // Paper - do not allow ticket level changes while unloading chunks public ChunkMap(ServerLevel world, LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, StructureManager structureManager, Executor executor, BlockableEventLoop<Runnable> mainThreadExecutor, LightChunkGetter chunkProvider, ChunkGenerator chunkGenerator, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier<DimensionDataStorage> persistentStateManagerFactory, int viewDistance, boolean dsync) { super(session.getDimensionPath(world.dimension()).resolve("region"), dataFixer, dsync); @@ -61,7 +61,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 this.pendingUnloads = new Long2ObjectLinkedOpenHashMap(); this.entitiesInLevel = new LongOpenHashSet(); this.toDrop = new LongOpenHashSet(); -@@ -382,12 +384,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -423,12 +425,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @Nullable public ChunkHolder getUpdatingChunkIfPresent(long pos) { @@ -81,7 +81,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 } protected IntSupplier getChunkQueueLevel(long pos) { -@@ -529,7 +536,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -579,7 +586,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider // Paper end } @@ -90,7 +90,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 this.modified = true; } -@@ -551,7 +558,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -601,7 +608,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider protected void saveAllChunks(boolean flush) { if (flush) { @@ -99,7 +99,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 MutableBoolean mutableboolean = new MutableBoolean(); do { -@@ -582,7 +589,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -632,7 +639,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider //this.flushWorker(); // Paper - nuke IOWorker this.level.asyncChunkTaskManager.flush(); // Paper - flush to preserve behavior compat with pre-async behaviour } else { @@ -108,7 +108,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 } } -@@ -616,7 +623,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -666,7 +673,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider while (longiterator.hasNext()) { // Spigot long j = longiterator.nextLong(); longiterator.remove(); // Spigot @@ -117,7 +117,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 if (playerchunk != null) { this.pendingUnloads.put(j, playerchunk); -@@ -642,7 +649,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -692,7 +699,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } int l = 0; @@ -126,7 +126,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 while (l < 20 && shouldKeepTicking.getAsBoolean() && objectiterator.hasNext()) { if (this.saveChunkIfNeeded((ChunkHolder) objectiterator.next())) { -@@ -720,7 +727,12 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -770,7 +777,12 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider if (!this.modified) { return false; } else { @@ -140,7 +140,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 this.modified = false; return true; } -@@ -1174,7 +1186,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1246,7 +1258,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider this.viewDistance = j; this.distanceManager.updatePlayerTickets(this.viewDistance); @@ -149,7 +149,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 while (objectiterator.hasNext()) { ChunkHolder playerchunk = (ChunkHolder) objectiterator.next(); -@@ -1216,7 +1228,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1288,7 +1300,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } public int size() { @@ -158,7 +158,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 } public DistanceManager getDistanceManager() { -@@ -1224,13 +1236,13 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1296,13 +1308,13 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } protected Iterable<ChunkHolder> getChunks() { @@ -175,7 +175,7 @@ index 0a3aa9808c7308917b990b8aee3740ada23a4b24..b244713d4a5bc6eb3d9536a56fdc9d68 while (objectbidirectionaliterator.hasNext()) { Entry<ChunkHolder> entry = (Entry) objectbidirectionaliterator.next(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 69a4572c0eb4019491e099cf75049728a9aa4f99..a4188556cc6e657d9b288f2a410c716ca7b100db 100644 +index 25ab3a26a46b592f0953047ecafed4733f037cd1..9c3a728b42fb18bb39377cf34e59add2c4cce73c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -149,7 +149,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0746-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/0747-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch similarity index 100% rename from patches/server/0746-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch rename to patches/server/0747-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch diff --git a/patches/server/0747-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/0748-Custom-table-implementation-for-blockstate-state-loo.patch similarity index 100% rename from patches/server/0747-Custom-table-implementation-for-blockstate-state-loo.patch rename to patches/server/0748-Custom-table-implementation-for-blockstate-state-loo.patch diff --git a/patches/server/0748-Detail-more-information-in-watchdog-dumps.patch b/patches/server/0749-Detail-more-information-in-watchdog-dumps.patch similarity index 99% rename from patches/server/0748-Detail-more-information-in-watchdog-dumps.patch rename to patches/server/0749-Detail-more-information-in-watchdog-dumps.patch index 5a422cba90..c20c1b8877 100644 --- a/patches/server/0748-Detail-more-information-in-watchdog-dumps.patch +++ b/patches/server/0749-Detail-more-information-in-watchdog-dumps.patch @@ -123,7 +123,7 @@ index 5d4f20a31ad99b4e808bb9a7aaa2153666af493f..928ac2d5b93b93aa7494374f4f344655 private void tickPassenger(Entity vehicle, Entity passenger) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 3110f8cbf65ba0fefbf78f90915ee358694d20ca..96794dcb87c3606e9d112d4159be8be31ad4329e 100644 +index 3acb5defa7cb1290820425016599ddbbe885d5ed..cb89d7973dabd42fb8c19d71bdb5917a363d545c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -860,7 +860,42 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0749-Manually-inline-methods-in-BlockPosition.patch b/patches/server/0750-Manually-inline-methods-in-BlockPosition.patch similarity index 100% rename from patches/server/0749-Manually-inline-methods-in-BlockPosition.patch rename to patches/server/0750-Manually-inline-methods-in-BlockPosition.patch diff --git a/patches/server/0750-Distance-manager-tick-timings.patch b/patches/server/0751-Distance-manager-tick-timings.patch similarity index 87% rename from patches/server/0750-Distance-manager-tick-timings.patch rename to patches/server/0751-Distance-manager-tick-timings.patch index 8b5b3e68ec..b154b2fda8 100644 --- a/patches/server/0750-Distance-manager-tick-timings.patch +++ b/patches/server/0751-Distance-manager-tick-timings.patch @@ -19,18 +19,18 @@ index eada966d7f108a6081be7a848f5c1dfcb1eed676..a977f7483f37df473096b2234dc1308b public static final Timing midTickChunkTasks = Timings.ofSafe("Mid Tick Chunk Tasks"); diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 7908e35a5842beb422edfed624561caffe08e6ef..8cad7941263bb1c48884c4fd883200eb2634db5d 100644 +index fd419bf8780e148fb8235f3c11cfde36eb621f5e..4548d53d65887d9646cd021c56882439f2b62778 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -788,6 +788,7 @@ public class ServerChunkCache extends ChunkSource { - +@@ -821,6 +821,7 @@ public class ServerChunkCache extends ChunkSource { public boolean runDistanceManagerUpdates() { + if (distanceManager.delayDistanceManagerTick) return false; // Paper - Chunk priority if (this.chunkMap.unloadingPlayerChunk) { net.minecraft.server.MinecraftServer.LOGGER.fatal("Cannot tick distance manager while unloading playerchunks", new Throwable()); throw new IllegalStateException("Cannot tick distance manager while unloading playerchunks"); } // Paper + co.aikar.timings.MinecraftTimings.distanceManagerTick.startTiming(); try { // Paper - add timings for distance manager boolean flag = this.distanceManager.runAllUpdates(this.chunkMap); boolean flag1 = this.chunkMap.promoteChunkMap(); -@@ -797,6 +798,7 @@ public class ServerChunkCache extends ChunkSource { +@@ -830,6 +831,7 @@ public class ServerChunkCache extends ChunkSource { this.clearCache(); return true; } diff --git a/patches/server/0751-Name-craft-scheduler-threads-according-to-the-plugin.patch b/patches/server/0752-Name-craft-scheduler-threads-according-to-the-plugin.patch similarity index 100% rename from patches/server/0751-Name-craft-scheduler-threads-according-to-the-plugin.patch rename to patches/server/0752-Name-craft-scheduler-threads-according-to-the-plugin.patch diff --git a/patches/server/0752-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch b/patches/server/0753-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch similarity index 100% rename from patches/server/0752-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch rename to patches/server/0753-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch diff --git a/patches/server/0753-Add-packet-limiter-config.patch b/patches/server/0754-Add-packet-limiter-config.patch similarity index 100% rename from patches/server/0753-Add-packet-limiter-config.patch rename to patches/server/0754-Add-packet-limiter-config.patch diff --git a/patches/server/0754-Lag-compensate-block-breaking.patch b/patches/server/0755-Lag-compensate-block-breaking.patch similarity index 100% rename from patches/server/0754-Lag-compensate-block-breaking.patch rename to patches/server/0755-Lag-compensate-block-breaking.patch diff --git a/patches/server/0755-Use-correct-LevelStem-registry-when-loading-default-.patch b/patches/server/0756-Use-correct-LevelStem-registry-when-loading-default-.patch similarity index 100% rename from patches/server/0755-Use-correct-LevelStem-registry-when-loading-default-.patch rename to patches/server/0756-Use-correct-LevelStem-registry-when-loading-default-.patch diff --git a/patches/server/0756-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch b/patches/server/0757-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch similarity index 100% rename from patches/server/0756-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch rename to patches/server/0757-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch diff --git a/patches/server/0757-Consolidate-flush-calls-for-entity-tracker-packets.patch b/patches/server/0758-Consolidate-flush-calls-for-entity-tracker-packets.patch similarity index 93% rename from patches/server/0757-Consolidate-flush-calls-for-entity-tracker-packets.patch rename to patches/server/0758-Consolidate-flush-calls-for-entity-tracker-packets.patch index f4977cc630..2315d82776 100644 --- a/patches/server/0757-Consolidate-flush-calls-for-entity-tracker-packets.patch +++ b/patches/server/0758-Consolidate-flush-calls-for-entity-tracker-packets.patch @@ -22,10 +22,10 @@ With this change I could get all 200 on at 0ms ping. So in general this patch should reduce Netty I/O thread load. diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 8cad7941263bb1c48884c4fd883200eb2634db5d..7c8198009de30229dcce73ae5c0ca60ba7224cef 100644 +index 4548d53d65887d9646cd021c56882439f2b62778..5068903204529864d2748efae3de525d06331305 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -975,7 +975,24 @@ public class ServerChunkCache extends ChunkSource { +@@ -1008,7 +1008,24 @@ public class ServerChunkCache extends ChunkSource { }); gameprofilerfiller.pop(); gameprofilerfiller.pop(); diff --git a/patches/server/0758-Don-t-lookup-fluid-state-when-raytracing.patch b/patches/server/0759-Don-t-lookup-fluid-state-when-raytracing.patch similarity index 100% rename from patches/server/0758-Don-t-lookup-fluid-state-when-raytracing.patch rename to patches/server/0759-Don-t-lookup-fluid-state-when-raytracing.patch diff --git a/patches/server/0759-Time-scoreboard-search.patch b/patches/server/0760-Time-scoreboard-search.patch similarity index 100% rename from patches/server/0759-Time-scoreboard-search.patch rename to patches/server/0760-Time-scoreboard-search.patch diff --git a/patches/server/0760-Send-full-pos-packets-for-hard-colliding-entities.patch b/patches/server/0761-Send-full-pos-packets-for-hard-colliding-entities.patch similarity index 100% rename from patches/server/0760-Send-full-pos-packets-for-hard-colliding-entities.patch rename to patches/server/0761-Send-full-pos-packets-for-hard-colliding-entities.patch diff --git a/patches/server/0761-Do-not-run-raytrace-logic-for-AIR.patch b/patches/server/0762-Do-not-run-raytrace-logic-for-AIR.patch similarity index 100% rename from patches/server/0761-Do-not-run-raytrace-logic-for-AIR.patch rename to patches/server/0762-Do-not-run-raytrace-logic-for-AIR.patch diff --git a/patches/server/0762-Oprimise-map-impl-for-tracked-players.patch b/patches/server/0763-Oprimise-map-impl-for-tracked-players.patch similarity index 89% rename from patches/server/0762-Oprimise-map-impl-for-tracked-players.patch rename to patches/server/0763-Oprimise-map-impl-for-tracked-players.patch index 49845d7d97..a025d72448 100644 --- a/patches/server/0762-Oprimise-map-impl-for-tracked-players.patch +++ b/patches/server/0763-Oprimise-map-impl-for-tracked-players.patch @@ -7,7 +7,7 @@ Reference2BooleanOpenHashMap is going to have better lookups than HashMap. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index b244713d4a5bc6eb3d9536a56fdc9d688ca0d756..925da0baa59f742dbe727c6323cc90b65159f314 100644 +index 7bf89ff76809e1d85b4656c8d9964400ab2c181f..0e2dc7d748125691ec85b4d79a8dc4f6244374d1 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -105,6 +105,7 @@ import org.apache.logging.log4j.LogManager; @@ -18,7 +18,7 @@ index b244713d4a5bc6eb3d9536a56fdc9d688ca0d756..925da0baa59f742dbe727c6323cc90b6 public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider { -@@ -1828,7 +1829,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1900,7 +1901,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider final Entity entity; private final int range; SectionPos lastSectionPos; diff --git a/patches/server/0763-Optimise-BlockSoil-nearby-water-lookup.patch b/patches/server/0764-Optimise-BlockSoil-nearby-water-lookup.patch similarity index 100% rename from patches/server/0763-Optimise-BlockSoil-nearby-water-lookup.patch rename to patches/server/0764-Optimise-BlockSoil-nearby-water-lookup.patch diff --git a/patches/server/0764-Allow-removal-addition-of-entities-to-entity-ticklis.patch b/patches/server/0765-Allow-removal-addition-of-entities-to-entity-ticklis.patch similarity index 100% rename from patches/server/0764-Allow-removal-addition-of-entities-to-entity-ticklis.patch rename to patches/server/0765-Allow-removal-addition-of-entities-to-entity-ticklis.patch diff --git a/patches/server/0765-Optimise-random-block-ticking.patch b/patches/server/0766-Optimise-random-block-ticking.patch similarity index 100% rename from patches/server/0765-Optimise-random-block-ticking.patch rename to patches/server/0766-Optimise-random-block-ticking.patch diff --git a/patches/server/0766-Optimise-non-flush-packet-sending.patch b/patches/server/0767-Optimise-non-flush-packet-sending.patch similarity index 100% rename from patches/server/0766-Optimise-non-flush-packet-sending.patch rename to patches/server/0767-Optimise-non-flush-packet-sending.patch diff --git a/patches/server/0767-Optimise-nearby-player-lookups.patch b/patches/server/0768-Optimise-nearby-player-lookups.patch similarity index 98% rename from patches/server/0767-Optimise-nearby-player-lookups.patch rename to patches/server/0768-Optimise-nearby-player-lookups.patch index 0d6a80476c..4f1e4b9270 100644 --- a/patches/server/0767-Optimise-nearby-player-lookups.patch +++ b/patches/server/0768-Optimise-nearby-player-lookups.patch @@ -9,10 +9,10 @@ since the penalty of a map lookup could outweigh the benefits of searching less players (as it basically did in the outside range patch). diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java -index 7418245d5d08706ca2a1378e769abfb0de1076ed..8a7cc96f563c3fb8807d4a8a3249fc0892710d17 100644 +index 663fe2ddad1a65862c6bd4fe15f047e270bcd3ba..ed3c947d5d951932a8329e196715bd2d403475d4 100644 --- a/src/main/java/net/minecraft/server/level/ChunkHolder.java +++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java -@@ -94,6 +94,12 @@ public class ChunkHolder { +@@ -95,6 +95,12 @@ public class ChunkHolder { this.setTicketLevel(level); this.changedBlocksPerSection = new ShortSet[world.getSectionsCount()]; this.chunkMap = (ChunkMap)playersWatchingChunkProvider; // Paper @@ -26,10 +26,10 @@ index 7418245d5d08706ca2a1378e769abfb0de1076ed..8a7cc96f563c3fb8807d4a8a3249fc08 // CraftBukkit start diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 925da0baa59f742dbe727c6323cc90b65159f314..3b2db473e5eacbcf55ae8786aff5ac71388a98ee 100644 +index 0e2dc7d748125691ec85b4d79a8dc4f6244374d1..dac0cf30f7868c465471f8e41058ff7e55d4786d 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -190,21 +190,36 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -191,21 +191,36 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider final CallbackExecutor chunkLoadConversionCallbackExecutor = new CallbackExecutor(); // Paper // Paper start - distance maps private final com.destroystokyo.paper.util.misc.PooledLinkedHashSets<ServerPlayer> pooledLinkedPlayerHashSets = new com.destroystokyo.paper.util.misc.PooledLinkedHashSets<>(); @@ -66,7 +66,7 @@ index 925da0baa59f742dbe727c6323cc90b65159f314..3b2db473e5eacbcf55ae8786aff5ac71 } // Paper end // Paper start -@@ -280,6 +295,23 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -290,6 +305,23 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider this.regionManagers.add(this.dataRegionManager); // Paper end this.playerMobDistanceMap = this.level.paperConfig.perPlayerMobSpawns ? new com.destroystokyo.paper.util.PlayerMobDistanceMap() : null; // Paper @@ -308,7 +308,7 @@ index 63ba93538d990fdd4c9e8c491bb715adc8d57986..e9a37fc6791366ea421f2766a36dc2e0 private static Boolean isValidSpawnPostitionForType(ServerLevel world, MobCategory group, StructureFeatureManager structureAccessor, ChunkGenerator chunkGenerator, MobSpawnSettings.SpawnerData spawnEntry, BlockPos.MutableBlockPos pos, double squaredDistance) { // Paper diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index b92da719a5d35a60a2e13ccb0f55c41b242f9b50..a9807f9182a4d70e09486612606c7c1d0a6734ac 100644 +index 875977f11678b34465abac30463675f57cf9fc4e..65541807d19cb3e14d86f72bed843b0d2d2d4511 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -231,6 +231,93 @@ public class LevelChunk extends ChunkAccess { diff --git a/patches/server/0768-Optimise-WorldServer-notify.patch b/patches/server/0769-Optimise-WorldServer-notify.patch similarity index 98% rename from patches/server/0768-Optimise-WorldServer-notify.patch rename to patches/server/0769-Optimise-WorldServer-notify.patch index 9e09b42d3b..ad82ff4838 100644 --- a/patches/server/0768-Optimise-WorldServer-notify.patch +++ b/patches/server/0769-Optimise-WorldServer-notify.patch @@ -8,10 +8,10 @@ Instead, only iterate over navigators in the current region that are eligible for repathing. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 3b2db473e5eacbcf55ae8786aff5ac71388a98ee..6fc7c1cf269466362dce91fa2cf525e67bee6c15 100644 +index dac0cf30f7868c465471f8e41058ff7e55d4786d..6b9752e74ebef0be5c3c7a9534602fb6d05d1a29 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -227,15 +227,81 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -228,15 +228,81 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider public final io.papermc.paper.chunk.SingleThreadChunkRegionManager dataRegionManager; public static final class DataRegionData implements io.papermc.paper.chunk.SingleThreadChunkRegionManager.RegionData { @@ -93,7 +93,7 @@ index 3b2db473e5eacbcf55ae8786aff5ac71388a98ee..6fc7c1cf269466362dce91fa2cf525e6 } @Override -@@ -245,6 +311,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -246,6 +312,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider final DataRegionSectionData sectionData = (DataRegionSectionData)section.sectionData; final DataRegionData oldRegionData = oldRegion == null ? null : (DataRegionData)oldRegion.regionData; final DataRegionData newRegionData = (DataRegionData)newRegion.regionData; diff --git a/patches/server/0769-Remove-streams-for-villager-AI.patch b/patches/server/0770-Remove-streams-for-villager-AI.patch similarity index 100% rename from patches/server/0769-Remove-streams-for-villager-AI.patch rename to patches/server/0770-Remove-streams-for-villager-AI.patch diff --git a/patches/server/0770-Rewrite-dataconverter-system.patch b/patches/server/0771-Rewrite-dataconverter-system.patch similarity index 100% rename from patches/server/0770-Rewrite-dataconverter-system.patch rename to patches/server/0771-Rewrite-dataconverter-system.patch diff --git a/patches/server/0771-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/0772-Use-Velocity-compression-and-cipher-natives.patch similarity index 100% rename from patches/server/0771-Use-Velocity-compression-and-cipher-natives.patch rename to patches/server/0772-Use-Velocity-compression-and-cipher-natives.patch diff --git a/patches/server/0772-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch b/patches/server/0773-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch similarity index 100% rename from patches/server/0772-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch rename to patches/server/0773-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch diff --git a/patches/server/0773-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch b/patches/server/0774-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch similarity index 100% rename from patches/server/0773-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch rename to patches/server/0774-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch diff --git a/patches/server/0774-Async-catch-modifications-to-critical-entity-state.patch b/patches/server/0775-Async-catch-modifications-to-critical-entity-state.patch similarity index 100% rename from patches/server/0774-Async-catch-modifications-to-critical-entity-state.patch rename to patches/server/0775-Async-catch-modifications-to-critical-entity-state.patch diff --git a/patches/server/0775-Fix-Bukkit-NamespacedKey-shenanigans.patch b/patches/server/0776-Fix-Bukkit-NamespacedKey-shenanigans.patch similarity index 100% rename from patches/server/0775-Fix-Bukkit-NamespacedKey-shenanigans.patch rename to patches/server/0776-Fix-Bukkit-NamespacedKey-shenanigans.patch diff --git a/patches/server/0776-Fix-merchant-inventory-not-closing-on-entity-removal.patch b/patches/server/0777-Fix-merchant-inventory-not-closing-on-entity-removal.patch similarity index 100% rename from patches/server/0776-Fix-merchant-inventory-not-closing-on-entity-removal.patch rename to patches/server/0777-Fix-merchant-inventory-not-closing-on-entity-removal.patch diff --git a/patches/server/0777-Check-requirement-before-suggesting-root-nodes.patch b/patches/server/0778-Check-requirement-before-suggesting-root-nodes.patch similarity index 100% rename from patches/server/0777-Check-requirement-before-suggesting-root-nodes.patch rename to patches/server/0778-Check-requirement-before-suggesting-root-nodes.patch diff --git a/patches/server/0778-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0779-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch similarity index 100% rename from patches/server/0778-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch rename to patches/server/0779-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch diff --git a/patches/server/0779-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch b/patches/server/0780-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch similarity index 100% rename from patches/server/0779-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch rename to patches/server/0780-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch diff --git a/patches/server/0780-Ensure-valid-vehicle-status.patch b/patches/server/0781-Ensure-valid-vehicle-status.patch similarity index 84% rename from patches/server/0780-Ensure-valid-vehicle-status.patch rename to patches/server/0781-Ensure-valid-vehicle-status.patch index 4c6ebe2cfa..964eaf4b0d 100644 --- a/patches/server/0780-Ensure-valid-vehicle-status.patch +++ b/patches/server/0781-Ensure-valid-vehicle-status.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ensure valid vehicle status diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 67b482f6cafc55b6b262f23c2b56e4d8c6d089c2..510334bc98d2112489fcece46b660000b14ce6a5 100644 +index 03400c55ff5929e88161f1915a2df140b3830dff..7756344556c1c5be0385100212a0155c53f61dc4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -487,7 +487,7 @@ public class ServerPlayer extends Player { +@@ -503,7 +503,7 @@ public class ServerPlayer extends Player { } } diff --git a/patches/server/0781-Prevent-softlocked-end-exit-portal-generation.patch b/patches/server/0782-Prevent-softlocked-end-exit-portal-generation.patch similarity index 100% rename from patches/server/0781-Prevent-softlocked-end-exit-portal-generation.patch rename to patches/server/0782-Prevent-softlocked-end-exit-portal-generation.patch diff --git a/patches/server/0782-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch b/patches/server/0783-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch similarity index 100% rename from patches/server/0782-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch rename to patches/server/0783-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch diff --git a/patches/server/0783-Don-t-log-debug-logging-being-disabled.patch b/patches/server/0784-Don-t-log-debug-logging-being-disabled.patch similarity index 100% rename from patches/server/0783-Don-t-log-debug-logging-being-disabled.patch rename to patches/server/0784-Don-t-log-debug-logging-being-disabled.patch diff --git a/patches/server/0784-Mark-fish-and-axolotls-from-buckets-as-persistent.patch b/patches/server/0785-Mark-fish-and-axolotls-from-buckets-as-persistent.patch similarity index 100% rename from patches/server/0784-Mark-fish-and-axolotls-from-buckets-as-persistent.patch rename to patches/server/0785-Mark-fish-and-axolotls-from-buckets-as-persistent.patch diff --git a/patches/server/0785-fix-various-menus-with-empty-level-accesses.patch b/patches/server/0786-fix-various-menus-with-empty-level-accesses.patch similarity index 100% rename from patches/server/0785-fix-various-menus-with-empty-level-accesses.patch rename to patches/server/0786-fix-various-menus-with-empty-level-accesses.patch diff --git a/patches/server/0786-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch b/patches/server/0787-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch similarity index 90% rename from patches/server/0786-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch rename to patches/server/0787-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch index 736fe8fbff..e12e74adb1 100644 --- a/patches/server/0786-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch +++ b/patches/server/0787-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch @@ -12,10 +12,10 @@ time to save, as flush saving performs a full flush at the end anyways. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 6fc7c1cf269466362dce91fa2cf525e67bee6c15..176065656029a8486f2bfb39bdd4da1e86fbca89 100644 +index 6b9752e74ebef0be5c3c7a9534602fb6d05d1a29..81a9fbf33e486d0a3c337eaadfe330fa79f6fd9d 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -665,6 +665,16 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -715,6 +715,16 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } protected void saveAllChunks(boolean flush) { @@ -32,7 +32,7 @@ index 6fc7c1cf269466362dce91fa2cf525e67bee6c15..176065656029a8486f2bfb39bdd4da1e if (flush) { List<ChunkHolder> list = (List) this.updatingChunks.getVisibleValuesCopy().stream().filter(ChunkHolder::wasAccessibleSinceLastSave).peek(ChunkHolder::refreshAccessibility).collect(Collectors.toList()); // Paper MutableBoolean mutableboolean = new MutableBoolean(); -@@ -687,6 +697,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -737,6 +747,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider }).filter((ichunkaccess) -> { return ichunkaccess instanceof ImposterProtoChunk || ichunkaccess instanceof LevelChunk; }).filter(this::save).forEach((ichunkaccess) -> { diff --git a/patches/server/0787-Preserve-overstacked-loot.patch b/patches/server/0788-Preserve-overstacked-loot.patch similarity index 100% rename from patches/server/0787-Preserve-overstacked-loot.patch rename to patches/server/0788-Preserve-overstacked-loot.patch diff --git a/patches/server/0788-Update-head-rotation-in-missing-places.patch b/patches/server/0789-Update-head-rotation-in-missing-places.patch similarity index 93% rename from patches/server/0788-Update-head-rotation-in-missing-places.patch rename to patches/server/0789-Update-head-rotation-in-missing-places.patch index 84c254198a..055d4a44c2 100644 --- a/patches/server/0788-Update-head-rotation-in-missing-places.patch +++ b/patches/server/0789-Update-head-rotation-in-missing-places.patch @@ -8,7 +8,7 @@ This is because bukkit uses a separate head rotation field for yaw. This issue only applies to players. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 96794dcb87c3606e9d112d4159be8be31ad4329e..9cb875b2904c902f3fb0af5b0dd571c3e02aacbd 100644 +index cb89d7973dabd42fb8c19d71bdb5917a363d545c..cefb5a3fc5778870c8992c65c22e387d147ab5e9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1616,6 +1616,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0789-prevent-unintended-light-block-manipulation.patch b/patches/server/0790-prevent-unintended-light-block-manipulation.patch similarity index 100% rename from patches/server/0789-prevent-unintended-light-block-manipulation.patch rename to patches/server/0790-prevent-unintended-light-block-manipulation.patch diff --git a/patches/server/0790-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch b/patches/server/0791-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch similarity index 100% rename from patches/server/0790-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch rename to patches/server/0791-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch diff --git a/patches/server/0791-Fix-CraftCriteria-defaults-map.patch b/patches/server/0792-Fix-CraftCriteria-defaults-map.patch similarity index 100% rename from patches/server/0791-Fix-CraftCriteria-defaults-map.patch rename to patches/server/0792-Fix-CraftCriteria-defaults-map.patch diff --git a/patches/server/0792-Fix-upstreams-block-state-factories.patch b/patches/server/0793-Fix-upstreams-block-state-factories.patch similarity index 100% rename from patches/server/0792-Fix-upstreams-block-state-factories.patch rename to patches/server/0793-Fix-upstreams-block-state-factories.patch diff --git a/patches/server/0793-Add-config-option-for-logging-player-ip-addresses.patch b/patches/server/0794-Add-config-option-for-logging-player-ip-addresses.patch similarity index 97% rename from patches/server/0793-Add-config-option-for-logging-player-ip-addresses.patch rename to patches/server/0794-Add-config-option-for-logging-player-ip-addresses.patch index 55104ba133..ccb2bf9351 100644 --- a/patches/server/0793-Add-config-option-for-logging-player-ip-addresses.patch +++ b/patches/server/0794-Add-config-option-for-logging-player-ip-addresses.patch @@ -81,10 +81,10 @@ index d2dd8b802ecea7fd2efe5f07fcef65c26e1adfbc..33a29890435d6065a2cc4f8e8bf8209c @Override diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index dca3b995c02507e5df299abe60f518480ce56d21..600005948a3106f2e074be5e816e4b4b82519a11 100644 +index 898a81a23755f9ab1d1df34a422ef61010fe009f..9baebd34b79711a7c8f64e28f17dfa39b4a9eadd 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -236,7 +236,7 @@ public abstract class PlayerList { +@@ -237,7 +237,7 @@ public abstract class PlayerList { String s1 = "local"; if (connection.getRemoteAddress() != null) { @@ -93,7 +93,7 @@ index dca3b995c02507e5df299abe60f518480ce56d21..600005948a3106f2e074be5e816e4b4b } // Spigot start - spawn location event -@@ -299,7 +299,7 @@ public abstract class PlayerList { +@@ -300,7 +300,7 @@ public abstract class PlayerList { playerconnection.playerJoinReady = () -> { postChunkLoadJoin( player, finalWorldserver, connection, playerconnection, diff --git a/patches/server/0794-VanillaCommandWrapper-didnt-account-for-entity-sende.patch b/patches/server/0795-VanillaCommandWrapper-didnt-account-for-entity-sende.patch similarity index 100% rename from patches/server/0794-VanillaCommandWrapper-didnt-account-for-entity-sende.patch rename to patches/server/0795-VanillaCommandWrapper-didnt-account-for-entity-sende.patch diff --git a/patches/server/0795-Add-root-admin-user-detection.patch b/patches/server/0796-Add-root-admin-user-detection.patch similarity index 100% rename from patches/server/0795-Add-root-admin-user-detection.patch rename to patches/server/0796-Add-root-admin-user-detection.patch diff --git a/patches/server/0796-Always-allow-item-changing-in-Fireball.patch b/patches/server/0797-Always-allow-item-changing-in-Fireball.patch similarity index 100% rename from patches/server/0796-Always-allow-item-changing-in-Fireball.patch rename to patches/server/0797-Always-allow-item-changing-in-Fireball.patch diff --git a/patches/server/0797-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0798-don-t-attempt-to-teleport-dead-entities.patch similarity index 91% rename from patches/server/0797-don-t-attempt-to-teleport-dead-entities.patch rename to patches/server/0798-don-t-attempt-to-teleport-dead-entities.patch index 939d4f6bcf..b1f59581d2 100644 --- a/patches/server/0797-don-t-attempt-to-teleport-dead-entities.patch +++ b/patches/server/0798-don-t-attempt-to-teleport-dead-entities.patch @@ -5,7 +5,7 @@ Subject: [PATCH] don't attempt to teleport dead entities diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9cb875b2904c902f3fb0af5b0dd571c3e02aacbd..e8ed9ae272ee203b3e8ad036bd4e45aac14f9a6a 100644 +index cefb5a3fc5778870c8992c65c22e387d147ab5e9..7ab0e73fa156c83c940079c0955a3947f5b93562 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -673,7 +673,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0798-Call-onRemove-logic-for-breakNaturally.patch b/patches/server/0799-Call-onRemove-logic-for-breakNaturally.patch similarity index 100% rename from patches/server/0798-Call-onRemove-logic-for-breakNaturally.patch rename to patches/server/0799-Call-onRemove-logic-for-breakNaturally.patch diff --git a/patches/server/0799-Fix-anvil-prepare-event-not-working-with-zero-xp.patch b/patches/server/0800-Fix-anvil-prepare-event-not-working-with-zero-xp.patch similarity index 100% rename from patches/server/0799-Fix-anvil-prepare-event-not-working-with-zero-xp.patch rename to patches/server/0800-Fix-anvil-prepare-event-not-working-with-zero-xp.patch