From d7cc306336b28e3287ff9fcdd6b8cc709468320f Mon Sep 17 00:00:00 2001 From: Jason <11360596+jpenilla@users.noreply.github.com> Date: Thu, 9 Jun 2022 02:37:28 -0700 Subject: [PATCH] Update Optimise general POI access (#7903) --- .../0732-Optimise-general-POI-access.patch} | 149 ++++++++++++------ ...tch => 0733-Add-more-async-catchers.patch} | 0 ...te-entity-bounding-box-lookup-calls.patch} | 4 +- ... 0735-Optimise-chunk-tick-iteration.patch} | 0 ...> 0736-Execute-chunk-tasks-mid-tick.patch} | 0 ... => 0737-Do-not-copy-visible-chunks.patch} | 0 ...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 ... 0742-Distance-manager-tick-timings.patch} | 0 ...ler-threads-according-to-the-plugin.patch} | 0 ...-getChunkAt-has-inlined-logic-for-l.patch} | 2 +- ...h => 0745-Add-packet-limiter-config.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} | 0 ...-lookup-fluid-state-when-raytracing.patch} | 0 ...atch => 0750-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} | 0 ...imise-BlockSoil-nearby-water-lookup.patch} | 0 ...ition-of-entities-to-entity-ticklis.patch} | 0 ... 0756-Optimise-random-block-ticking.patch} | 4 +- ...7-Optimise-non-flush-packet-sending.patch} | 0 ...0758-Optimise-nearby-player-lookups.patch} | 4 +- ...=> 0759-Optimise-WorldServer-notify.patch} | 2 +- ...0760-Remove-streams-for-villager-AI.patch} | 0 ...> 0761-Rewrite-dataconverter-system.patch} | 2 +- ...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} | 2 +- ...rement-before-suggesting-root-nodes.patch} | 0 ...ServerboundCommandSuggestionPacket-.patch} | 0 ...nColor-on-tropical-fish-bucket-meta.patch} | 0 ...=> 0771-Ensure-valid-vehicle-status.patch} | 0 ...ftlocked-end-exit-portal-generation.patch} | 0 ...r-causing-a-crash-when-trying-to-ge.patch} | 0 ...-t-log-debug-logging-being-disabled.patch} | 2 +- ...ous-menus-with-empty-level-accesses.patch} | 0 ...-O-threads-with-chunk-data-while-fl.patch} | 0 ...h => 0777-Preserve-overstacked-loot.patch} | 0 ...ate-head-rotation-in-missing-places.patch} | 0 ...unintended-light-block-manipulation.patch} | 0 ...0780-Fix-CraftCriteria-defaults-map.patch} | 0 ...Fix-upstreams-block-state-factories.patch} | 0 ...ion-for-logging-player-ip-addresses.patch} | 0 ... => 0783-Configurable-feature-seeds.patch} | 0 ...pper-didnt-account-for-entity-sende.patch} | 0 ... 0785-Add-root-admin-user-detection.patch} | 0 ...ays-allow-item-changing-in-Fireball.patch} | 0 ...t-attempt-to-teleport-dead-entities.patch} | 0 ...ive-velocity-through-repeated-crits.patch} | 0 ...e-code-using-deprecated-for-removal.patch} | 0 ...ch => 0790-Rewrite-the-light-engine.patch} | 0 ...ochunk-light-sources-unless-it-is-m.patch} | 0 ...emoving-recipes-from-RecipeIterator.patch} | 0 ...versized-item-data-in-equipment-and.patch} | 0 ...e-unnecessary-itemmeta-from-clients.patch} | 0 ...ier-changing-growth-for-other-crops.patch} | 0 ...OpenersCounter-openCount-from-going.patch} | 0 ...0797-Add-PlayerItemFrameChangeEvent.patch} | 0 ...> 0798-Add-player-health-update-API.patch} | 0 ...tch => 0799-Optimize-HashMapPalette.patch} | 0 ...low-delegation-to-vanilla-chunk-gen.patch} | 0 ...ingle-and-multi-AABB-VoxelShapes-an.patch} | 0 ...n-checking-in-player-move-packet-ha.patch} | 0 ...ch => 0803-Actually-unload-POI-data.patch} | 14 +- ...-isSectionEmpty-int-and-optimize-Pa.patch} | 0 ...te-Log4j.patch => 0805-Update-Log4j.patch} | 0 ...patch => 0806-Add-more-Campfire-API.patch} | 0 ...data-to-disk-if-it-serializes-witho.patch} | 0 ...08-Fix-tripwire-state-inconsistency.patch} | 0 ...uid-logging-on-Block-breakNaturally.patch} | 0 ...ard-CraftEntity-in-teleport-command.patch} | 0 ... => 0811-Improve-scoreboard-entries.patch} | 0 ...ch => 0812-Entity-powdered-snow-API.patch} | 0 ...0813-Add-API-for-item-entity-health.patch} | 0 ...-type-tags-suggestions-in-selectors.patch} | 0 ...ax-block-light-for-monster-spawning.patch} | 0 ...pistons-and-BlockPistonRetractEvent.patch} | 0 ...plifiers-greater-than-127-correctly.patch} | 0 ...-canSmelt-methods-to-FurnaceInvento.patch} | 0 ...=> 0819-Fix-bees-aging-inside-hives.patch} | 0 ...le-API.patch => 0820-Bucketable-API.patch} | 0 ...layer-world-in-endPortalSoundRadius.patch} | 0 ...es.patch => 0822-Validate-usernames.patch} | 0 ...ing-configs-with-more-long-comments.patch} | 0 ...er-animal-spawn-height-configurable.patch} | 0 ...anilla-BiomeProvider-from-WorldInfo.patch} | 0 ...ion-for-worlds-affected-by-time-cmd.patch} | 0 ...load-to-PersistentDataContainer-has.patch} | 0 ...8-Multiple-Entries-with-Scoreboards.patch} | 0 ...829-Reset-placed-block-on-exception.patch} | 0 ...configurable-height-for-slime-spawn.patch} | 0 ...ostname-to-AsyncPlayerPreLoginEvent.patch} | 0 ...0832-Fix-xp-reward-for-baby-zombies.patch} | 0 ...0833-Kick-on-main-for-illegal-chars.patch} | 0 ...lti-Block-Change-API-Implementation.patch} | 0 ...ent.patch => 0835-Fix-NotePlayEvent.patch} | 0 ....patch => 0836-Freeze-Tick-Lock-API.patch} | 0 ...lphin-API.patch => 0837-Dolphin-API.patch} | 0 ...h => 0838-More-PotionEffectType-API.patch} | 0 ...for-StructureTemplate.Pallete-cache.patch} | 0 ...command-sender-which-forwards-feedb.patch} | 0 ...0841-Add-config-for-stronghold-seed.patch} | 0 ...h => 0842-Implement-regenerateChunk.patch} | 0 ...tions-thrown-during-chat-processing.patch} | 0 ...lled-powdered-snow-bucket-placement.patch} | 0 ...ate-calls-to-CraftServer-getSpawnLi.patch} | 0 ...gs.patch => 0846-Add-GameEvent-tags.patch} | 0 ...ks-fairly-for-worlds-while-waiting-.patch} | 0 ...tch => 0848-Furnace-RecipesUsed-API.patch} | 0 ...gurable-sculk-sensor-listener-range.patch} | 0 ...d-missing-block-data-mins-and-maxes.patch} | 0 ...fault-CustomSpawners-in-custom-worl.patch} | 0 ...-worldlist-before-initing-the-world.patch} | 0 ... => 0853-Fix-Entity-Position-Desync.patch} | 0 ...s.patch => 0854-Custom-Potion-Mixes.patch} | 0 ...0855-Fix-Fluid-tags-isTagged-method.patch} | 0 ...56-Fix-World-locateNearestStructure.patch} | 2 +- ...57-Force-close-world-loading-screen.patch} | 0 ...858-Fix-falling-block-spawn-methods.patch} | 0 ...Expose-furnace-minecart-push-values.patch} | 0 ...ojectileHitEvent-for-piercing-arrow.patch} | 0 ... 0861-Fix-save-problems-on-shutdown.patch} | 2 +- ...I.patch => 0862-More-Projectile-API.patch} | 0 ...x-swamp-hut-cat-generation-deadlock.patch} | 0 ...le-movement-from-players-while-tele.patch} | 0 ...0865-Implement-getComputedBiome-API.patch} | 0 ...> 0866-Make-some-itemstacks-nonnull.patch} | 0 ...alid-GameProfiles-on-skull-blocks-i.patch} | 0 ...868-Implement-enchantWithLevels-API.patch} | 0 ...h => 0869-Fix-saving-in-unloadWorld.patch} | 0 ...h => 0870-Buffer-OOB-setBlock-calls.patch} | 0 ... 0871-Add-TameableDeathMessageEvent.patch} | 0 ...a-for-EntityChangeBlockEvent-when-s.patch} | 0 ...bles-running-when-mob-loot-gamerule.patch} | 0 ...ssenger-world-matches-ridden-entity.patch} | 0 ...rd-against-invalid-entity-positions.patch} | 0 ...s.patch => 0876-cache-resource-keys.patch} | 0 ...ange-the-podium-for-the-EnderDragon.patch} | 0 ...erriding-a-block-entity-during-worl.patch} | 0 ...eGrowEvent-species-for-RED_MUSHROOM.patch} | 0 ...t-tile-entity-copies-loading-chunks.patch} | 0 ...ead-of-display-name-in-PlayerList-g.patch} | 0 ...s-not-spawning-outside-slime-chunks.patch} | 0 ...-ServerLevel-for-gamerule-callbacks.patch} | 0 ...ing-amount-to-PlayerItemDamageEvent.patch} | 0 ...> 0885-WorldCreator-keepSpawnLoaded.patch} | 0 ...-NPE-for-BlockDataMeta-getBlockData.patch} | 0 ...destroyed-trigger-in-the-correct-pl.patch} | 0 ...Event-and-CollarColorable-interface.patch} | 0 ...CauldronLevelChange-on-initial-fill.patch} | 0 ...snow-cauldrons-not-turning-to-water.patch} | 0 ...> 0891-Add-PlayerStopUsingItemEvent.patch} | 0 ...92-FallingBlock-auto-expire-setting.patch} | 0 ...rs.patch => 0893-Don-t-tick-markers.patch} | 2 +- ...-not-accept-invalid-client-settings.patch} | 0 ...0895-Add-support-for-Proxy-Protocol.patch} | 2 +- ...x-OfflinePlayer-getBedSpawnLocation.patch} | 0 ...tory-for-smokers-and-blast-furnaces.patch} | 0 ... 0898-Sanitize-Sent-BlockEntity-NBT.patch} | 0 ...ntity-loading-causing-async-lookups.patch} | 0 ...-selector-resolving-in-books-by-def.patch} | 0 ...-on-world-create-while-being-ticked.patch} | 0 ...ate-Current-redstone-implementation.patch} | 4 +- ...03-Dont-resent-entity-on-art-update.patch} | 0 ...patch => 0904-Untrash-chat-handling.patch} | 0 ...atch => 0905-Add-missing-spawn-eggs.patch} | 0 174 files changed, 130 insertions(+), 69 deletions(-) rename patches/{removed/1.19/0731-Optimise-general-POI-access.patch => server/0732-Optimise-general-POI-access.patch} (86%) rename patches/server/{0732-Add-more-async-catchers.patch => 0733-Add-more-async-catchers.patch} (100%) rename patches/server/{0733-Rewrite-entity-bounding-box-lookup-calls.patch => 0734-Rewrite-entity-bounding-box-lookup-calls.patch} (99%) rename patches/server/{0734-Optimise-chunk-tick-iteration.patch => 0735-Optimise-chunk-tick-iteration.patch} (100%) rename patches/server/{0735-Execute-chunk-tasks-mid-tick.patch => 0736-Execute-chunk-tasks-mid-tick.patch} (100%) rename patches/server/{0736-Do-not-copy-visible-chunks.patch => 0737-Do-not-copy-visible-chunks.patch} (100%) rename patches/server/{0737-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch => 0738-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch} (100%) rename patches/server/{0738-Custom-table-implementation-for-blockstate-state-loo.patch => 0739-Custom-table-implementation-for-blockstate-state-loo.patch} (100%) rename patches/server/{0739-Detail-more-information-in-watchdog-dumps.patch => 0740-Detail-more-information-in-watchdog-dumps.patch} (99%) rename patches/server/{0740-Manually-inline-methods-in-BlockPosition.patch => 0741-Manually-inline-methods-in-BlockPosition.patch} (100%) rename patches/server/{0741-Distance-manager-tick-timings.patch => 0742-Distance-manager-tick-timings.patch} (100%) rename patches/server/{0742-Name-craft-scheduler-threads-according-to-the-plugin.patch => 0743-Name-craft-scheduler-threads-according-to-the-plugin.patch} (100%) rename patches/server/{0743-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch => 0744-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch} (94%) rename patches/server/{0744-Add-packet-limiter-config.patch => 0745-Add-packet-limiter-config.patch} (100%) rename patches/server/{0745-Use-correct-LevelStem-registry-when-loading-default-.patch => 0746-Use-correct-LevelStem-registry-when-loading-default-.patch} (100%) rename patches/server/{0746-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch => 0747-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch} (100%) rename patches/server/{0747-Consolidate-flush-calls-for-entity-tracker-packets.patch => 0748-Consolidate-flush-calls-for-entity-tracker-packets.patch} (100%) rename patches/server/{0748-Don-t-lookup-fluid-state-when-raytracing.patch => 0749-Don-t-lookup-fluid-state-when-raytracing.patch} (100%) rename patches/server/{0749-Time-scoreboard-search.patch => 0750-Time-scoreboard-search.patch} (100%) rename patches/server/{0750-Send-full-pos-packets-for-hard-colliding-entities.patch => 0751-Send-full-pos-packets-for-hard-colliding-entities.patch} (100%) rename patches/server/{0751-Do-not-run-raytrace-logic-for-AIR.patch => 0752-Do-not-run-raytrace-logic-for-AIR.patch} (100%) rename patches/server/{0752-Oprimise-map-impl-for-tracked-players.patch => 0753-Oprimise-map-impl-for-tracked-players.patch} (100%) rename patches/server/{0753-Optimise-BlockSoil-nearby-water-lookup.patch => 0754-Optimise-BlockSoil-nearby-water-lookup.patch} (100%) rename patches/server/{0754-Allow-removal-addition-of-entities-to-entity-ticklis.patch => 0755-Allow-removal-addition-of-entities-to-entity-ticklis.patch} (100%) rename patches/server/{0755-Optimise-random-block-ticking.patch => 0756-Optimise-random-block-ticking.patch} (99%) rename patches/server/{0756-Optimise-non-flush-packet-sending.patch => 0757-Optimise-non-flush-packet-sending.patch} (100%) rename patches/server/{0757-Optimise-nearby-player-lookups.patch => 0758-Optimise-nearby-player-lookups.patch} (99%) rename patches/server/{0758-Optimise-WorldServer-notify.patch => 0759-Optimise-WorldServer-notify.patch} (99%) rename patches/server/{0759-Remove-streams-for-villager-AI.patch => 0760-Remove-streams-for-villager-AI.patch} (100%) rename patches/server/{0760-Rewrite-dataconverter-system.patch => 0761-Rewrite-dataconverter-system.patch} (99%) rename patches/server/{0761-Use-Velocity-compression-and-cipher-natives.patch => 0762-Use-Velocity-compression-and-cipher-natives.patch} (100%) rename patches/server/{0762-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch => 0763-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch} (100%) rename patches/server/{0763-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch => 0764-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch} (100%) rename patches/server/{0764-Async-catch-modifications-to-critical-entity-state.patch => 0765-Async-catch-modifications-to-critical-entity-state.patch} (100%) rename patches/server/{0765-Fix-Bukkit-NamespacedKey-shenanigans.patch => 0766-Fix-Bukkit-NamespacedKey-shenanigans.patch} (100%) rename patches/server/{0766-Fix-merchant-inventory-not-closing-on-entity-removal.patch => 0767-Fix-merchant-inventory-not-closing-on-entity-removal.patch} (94%) rename patches/server/{0767-Check-requirement-before-suggesting-root-nodes.patch => 0768-Check-requirement-before-suggesting-root-nodes.patch} (100%) rename patches/server/{0768-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch => 0769-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch} (100%) rename patches/server/{0769-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch => 0770-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch} (100%) rename patches/server/{0770-Ensure-valid-vehicle-status.patch => 0771-Ensure-valid-vehicle-status.patch} (100%) rename patches/server/{0771-Prevent-softlocked-end-exit-portal-generation.patch => 0772-Prevent-softlocked-end-exit-portal-generation.patch} (100%) rename patches/server/{0772-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch => 0773-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch} (100%) rename patches/server/{0773-Don-t-log-debug-logging-being-disabled.patch => 0774-Don-t-log-debug-logging-being-disabled.patch} (88%) rename patches/server/{0774-fix-various-menus-with-empty-level-accesses.patch => 0775-fix-various-menus-with-empty-level-accesses.patch} (100%) rename patches/server/{0775-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch => 0776-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch} (100%) rename patches/server/{0776-Preserve-overstacked-loot.patch => 0777-Preserve-overstacked-loot.patch} (100%) rename patches/server/{0777-Update-head-rotation-in-missing-places.patch => 0778-Update-head-rotation-in-missing-places.patch} (100%) rename patches/server/{0778-prevent-unintended-light-block-manipulation.patch => 0779-prevent-unintended-light-block-manipulation.patch} (100%) rename patches/server/{0779-Fix-CraftCriteria-defaults-map.patch => 0780-Fix-CraftCriteria-defaults-map.patch} (100%) rename patches/server/{0780-Fix-upstreams-block-state-factories.patch => 0781-Fix-upstreams-block-state-factories.patch} (100%) rename patches/server/{0781-Add-config-option-for-logging-player-ip-addresses.patch => 0782-Add-config-option-for-logging-player-ip-addresses.patch} (100%) rename patches/server/{0782-Configurable-feature-seeds.patch => 0783-Configurable-feature-seeds.patch} (100%) rename patches/server/{0783-VanillaCommandWrapper-didnt-account-for-entity-sende.patch => 0784-VanillaCommandWrapper-didnt-account-for-entity-sende.patch} (100%) rename patches/server/{0784-Add-root-admin-user-detection.patch => 0785-Add-root-admin-user-detection.patch} (100%) rename patches/server/{0785-Always-allow-item-changing-in-Fireball.patch => 0786-Always-allow-item-changing-in-Fireball.patch} (100%) rename patches/server/{0786-don-t-attempt-to-teleport-dead-entities.patch => 0787-don-t-attempt-to-teleport-dead-entities.patch} (100%) rename patches/server/{0787-Prevent-excessive-velocity-through-repeated-crits.patch => 0788-Prevent-excessive-velocity-through-repeated-crits.patch} (100%) rename patches/server/{0788-Remove-client-side-code-using-deprecated-for-removal.patch => 0789-Remove-client-side-code-using-deprecated-for-removal.patch} (100%) rename patches/server/{0789-Rewrite-the-light-engine.patch => 0790-Rewrite-the-light-engine.patch} (100%) rename patches/server/{0790-Always-parse-protochunk-light-sources-unless-it-is-m.patch => 0791-Always-parse-protochunk-light-sources-unless-it-is-m.patch} (100%) rename patches/server/{0791-Fix-removing-recipes-from-RecipeIterator.patch => 0792-Fix-removing-recipes-from-RecipeIterator.patch} (100%) rename patches/server/{0792-Prevent-sending-oversized-item-data-in-equipment-and.patch => 0793-Prevent-sending-oversized-item-data-in-equipment-and.patch} (100%) rename patches/server/{0793-Hide-unnecessary-itemmeta-from-clients.patch => 0794-Hide-unnecessary-itemmeta-from-clients.patch} (100%) rename patches/server/{0794-Fix-kelp-modifier-changing-growth-for-other-crops.patch => 0795-Fix-kelp-modifier-changing-growth-for-other-crops.patch} (100%) rename patches/server/{0795-Prevent-ContainerOpenersCounter-openCount-from-going.patch => 0796-Prevent-ContainerOpenersCounter-openCount-from-going.patch} (100%) rename patches/server/{0796-Add-PlayerItemFrameChangeEvent.patch => 0797-Add-PlayerItemFrameChangeEvent.patch} (100%) rename patches/server/{0797-Add-player-health-update-API.patch => 0798-Add-player-health-update-API.patch} (100%) rename patches/server/{0798-Optimize-HashMapPalette.patch => 0799-Optimize-HashMapPalette.patch} (100%) rename patches/server/{0799-Allow-delegation-to-vanilla-chunk-gen.patch => 0800-Allow-delegation-to-vanilla-chunk-gen.patch} (100%) rename patches/server/{0800-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch => 0801-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch} (100%) rename patches/server/{0801-Optimise-collision-checking-in-player-move-packet-ha.patch => 0802-Optimise-collision-checking-in-player-move-packet-ha.patch} (100%) rename patches/server/{0802-Actually-unload-POI-data.patch => 0803-Actually-unload-POI-data.patch} (96%) rename patches/server/{0803-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch => 0804-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch} (100%) rename patches/server/{0804-Update-Log4j.patch => 0805-Update-Log4j.patch} (100%) rename patches/server/{0805-Add-more-Campfire-API.patch => 0806-Add-more-Campfire-API.patch} (100%) rename patches/server/{0806-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch => 0807-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch} (100%) rename patches/server/{0807-Fix-tripwire-state-inconsistency.patch => 0808-Fix-tripwire-state-inconsistency.patch} (100%) rename patches/server/{0808-Fix-fluid-logging-on-Block-breakNaturally.patch => 0809-Fix-fluid-logging-on-Block-breakNaturally.patch} (100%) rename patches/server/{0809-Forward-CraftEntity-in-teleport-command.patch => 0810-Forward-CraftEntity-in-teleport-command.patch} (100%) rename patches/server/{0810-Improve-scoreboard-entries.patch => 0811-Improve-scoreboard-entries.patch} (100%) rename patches/server/{0811-Entity-powdered-snow-API.patch => 0812-Entity-powdered-snow-API.patch} (100%) rename patches/server/{0812-Add-API-for-item-entity-health.patch => 0813-Add-API-for-item-entity-health.patch} (100%) rename patches/server/{0813-Fix-entity-type-tags-suggestions-in-selectors.patch => 0814-Fix-entity-type-tags-suggestions-in-selectors.patch} (100%) rename patches/server/{0814-Configurable-max-block-light-for-monster-spawning.patch => 0815-Configurable-max-block-light-for-monster-spawning.patch} (100%) rename patches/server/{0815-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch => 0816-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch} (100%) rename patches/server/{0816-Load-effect-amplifiers-greater-than-127-correctly.patch => 0817-Load-effect-amplifiers-greater-than-127-correctly.patch} (100%) rename patches/server/{0817-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch => 0818-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch} (100%) rename patches/server/{0818-Fix-bees-aging-inside-hives.patch => 0819-Fix-bees-aging-inside-hives.patch} (100%) rename patches/server/{0819-Bucketable-API.patch => 0820-Bucketable-API.patch} (100%) rename patches/server/{0820-Check-player-world-in-endPortalSoundRadius.patch => 0821-Check-player-world-in-endPortalSoundRadius.patch} (100%) rename patches/server/{0821-Validate-usernames.patch => 0822-Validate-usernames.patch} (100%) rename patches/server/{0822-Fix-saving-configs-with-more-long-comments.patch => 0823-Fix-saving-configs-with-more-long-comments.patch} (100%) rename patches/server/{0823-Make-water-animal-spawn-height-configurable.patch => 0824-Make-water-animal-spawn-height-configurable.patch} (100%) rename patches/server/{0824-Expose-vanilla-BiomeProvider-from-WorldInfo.patch => 0825-Expose-vanilla-BiomeProvider-from-WorldInfo.patch} (100%) rename patches/server/{0825-Add-config-option-for-worlds-affected-by-time-cmd.patch => 0826-Add-config-option-for-worlds-affected-by-time-cmd.patch} (100%) rename patches/server/{0826-Add-new-overload-to-PersistentDataContainer-has.patch => 0827-Add-new-overload-to-PersistentDataContainer-has.patch} (100%) rename patches/server/{0827-Multiple-Entries-with-Scoreboards.patch => 0828-Multiple-Entries-with-Scoreboards.patch} (100%) rename patches/server/{0828-Reset-placed-block-on-exception.patch => 0829-Reset-placed-block-on-exception.patch} (100%) rename patches/server/{0829-Add-configurable-height-for-slime-spawn.patch => 0830-Add-configurable-height-for-slime-spawn.patch} (100%) rename patches/server/{0830-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch => 0831-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch} (100%) rename patches/server/{0831-Fix-xp-reward-for-baby-zombies.patch => 0832-Fix-xp-reward-for-baby-zombies.patch} (100%) rename patches/server/{0832-Kick-on-main-for-illegal-chars.patch => 0833-Kick-on-main-for-illegal-chars.patch} (100%) rename patches/server/{0833-Multi-Block-Change-API-Implementation.patch => 0834-Multi-Block-Change-API-Implementation.patch} (100%) rename patches/server/{0834-Fix-NotePlayEvent.patch => 0835-Fix-NotePlayEvent.patch} (100%) rename patches/server/{0835-Freeze-Tick-Lock-API.patch => 0836-Freeze-Tick-Lock-API.patch} (100%) rename patches/server/{0836-Dolphin-API.patch => 0837-Dolphin-API.patch} (100%) rename patches/server/{0837-More-PotionEffectType-API.patch => 0838-More-PotionEffectType-API.patch} (100%) rename patches/server/{0838-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch => 0839-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch} (100%) rename patches/server/{0839-API-for-creating-command-sender-which-forwards-feedb.patch => 0840-API-for-creating-command-sender-which-forwards-feedb.patch} (100%) rename patches/server/{0840-Add-config-for-stronghold-seed.patch => 0841-Add-config-for-stronghold-seed.patch} (100%) rename patches/server/{0841-Implement-regenerateChunk.patch => 0842-Implement-regenerateChunk.patch} (100%) rename patches/server/{0842-Log-exceptions-thrown-during-chat-processing.patch => 0843-Log-exceptions-thrown-during-chat-processing.patch} (100%) rename patches/server/{0843-Fix-cancelled-powdered-snow-bucket-placement.patch => 0844-Fix-cancelled-powdered-snow-bucket-placement.patch} (100%) rename patches/server/{0844-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch => 0845-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch} (100%) rename patches/server/{0845-Add-GameEvent-tags.patch => 0846-Add-GameEvent-tags.patch} (100%) rename patches/server/{0846-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch => 0847-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch} (100%) rename patches/server/{0847-Furnace-RecipesUsed-API.patch => 0848-Furnace-RecipesUsed-API.patch} (100%) rename patches/server/{0848-Configurable-sculk-sensor-listener-range.patch => 0849-Configurable-sculk-sensor-listener-range.patch} (100%) rename patches/server/{0849-Add-missing-block-data-mins-and-maxes.patch => 0850-Add-missing-block-data-mins-and-maxes.patch} (100%) rename patches/server/{0850-Option-to-have-default-CustomSpawners-in-custom-worl.patch => 0851-Option-to-have-default-CustomSpawners-in-custom-worl.patch} (100%) rename patches/server/{0851-Put-world-into-worldlist-before-initing-the-world.patch => 0852-Put-world-into-worldlist-before-initing-the-world.patch} (100%) rename patches/server/{0852-Fix-Entity-Position-Desync.patch => 0853-Fix-Entity-Position-Desync.patch} (100%) rename patches/server/{0853-Custom-Potion-Mixes.patch => 0854-Custom-Potion-Mixes.patch} (100%) rename patches/server/{0854-Fix-Fluid-tags-isTagged-method.patch => 0855-Fix-Fluid-tags-isTagged-method.patch} (100%) rename patches/server/{0855-Fix-World-locateNearestStructure.patch => 0856-Fix-World-locateNearestStructure.patch} (98%) rename patches/server/{0856-Force-close-world-loading-screen.patch => 0857-Force-close-world-loading-screen.patch} (100%) rename patches/server/{0857-Fix-falling-block-spawn-methods.patch => 0858-Fix-falling-block-spawn-methods.patch} (100%) rename patches/server/{0858-Expose-furnace-minecart-push-values.patch => 0859-Expose-furnace-minecart-push-values.patch} (100%) rename patches/server/{0859-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch => 0860-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch} (100%) rename patches/server/{0860-Fix-save-problems-on-shutdown.patch => 0861-Fix-save-problems-on-shutdown.patch} (97%) rename patches/server/{0861-More-Projectile-API.patch => 0862-More-Projectile-API.patch} (100%) rename patches/server/{0862-Fix-swamp-hut-cat-generation-deadlock.patch => 0863-Fix-swamp-hut-cat-generation-deadlock.patch} (100%) rename patches/server/{0863-Don-t-allow-vehicle-movement-from-players-while-tele.patch => 0864-Don-t-allow-vehicle-movement-from-players-while-tele.patch} (100%) rename patches/server/{0864-Implement-getComputedBiome-API.patch => 0865-Implement-getComputedBiome-API.patch} (100%) rename patches/server/{0865-Make-some-itemstacks-nonnull.patch => 0866-Make-some-itemstacks-nonnull.patch} (100%) rename patches/server/{0866-Add-debug-for-invalid-GameProfiles-on-skull-blocks-i.patch => 0867-Add-debug-for-invalid-GameProfiles-on-skull-blocks-i.patch} (100%) rename patches/server/{0867-Implement-enchantWithLevels-API.patch => 0868-Implement-enchantWithLevels-API.patch} (100%) rename patches/server/{0868-Fix-saving-in-unloadWorld.patch => 0869-Fix-saving-in-unloadWorld.patch} (100%) rename patches/server/{0869-Buffer-OOB-setBlock-calls.patch => 0870-Buffer-OOB-setBlock-calls.patch} (100%) rename patches/server/{0870-Add-TameableDeathMessageEvent.patch => 0871-Add-TameableDeathMessageEvent.patch} (100%) rename patches/server/{0871-Fix-new-block-data-for-EntityChangeBlockEvent-when-s.patch => 0872-Fix-new-block-data-for-EntityChangeBlockEvent-when-s.patch} (100%) rename patches/server/{0872-fix-player-loottables-running-when-mob-loot-gamerule.patch => 0873-fix-player-loottables-running-when-mob-loot-gamerule.patch} (100%) rename patches/server/{0873-Ensure-entity-passenger-world-matches-ridden-entity.patch => 0874-Ensure-entity-passenger-world-matches-ridden-entity.patch} (100%) rename patches/server/{0874-Guard-against-invalid-entity-positions.patch => 0875-Guard-against-invalid-entity-positions.patch} (100%) rename patches/server/{0875-cache-resource-keys.patch => 0876-cache-resource-keys.patch} (100%) rename patches/server/{0876-Allow-to-change-the-podium-for-the-EnderDragon.patch => 0877-Allow-to-change-the-podium-for-the-EnderDragon.patch} (100%) rename patches/server/{0877-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch => 0878-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch} (100%) rename patches/server/{0878-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch => 0879-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch} (100%) rename patches/server/{0879-Prevent-tile-entity-copies-loading-chunks.patch => 0880-Prevent-tile-entity-copies-loading-chunks.patch} (100%) rename patches/server/{0880-Use-username-instead-of-display-name-in-PlayerList-g.patch => 0881-Use-username-instead-of-display-name-in-PlayerList-g.patch} (100%) rename patches/server/{0881-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch => 0882-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch} (100%) rename patches/server/{0882-Pass-ServerLevel-for-gamerule-callbacks.patch => 0883-Pass-ServerLevel-for-gamerule-callbacks.patch} (100%) rename patches/server/{0883-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch => 0884-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch} (100%) rename patches/server/{0884-WorldCreator-keepSpawnLoaded.patch => 0885-WorldCreator-keepSpawnLoaded.patch} (100%) rename patches/server/{0885-Fix-NPE-for-BlockDataMeta-getBlockData.patch => 0886-Fix-NPE-for-BlockDataMeta-getBlockData.patch} (100%) rename patches/server/{0886-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch => 0887-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch} (100%) rename patches/server/{0887-Add-EntityDyeEvent-and-CollarColorable-interface.patch => 0888-Add-EntityDyeEvent-and-CollarColorable-interface.patch} (100%) rename patches/server/{0888-Fire-CauldronLevelChange-on-initial-fill.patch => 0889-Fire-CauldronLevelChange-on-initial-fill.patch} (100%) rename patches/server/{0889-fix-powder-snow-cauldrons-not-turning-to-water.patch => 0890-fix-powder-snow-cauldrons-not-turning-to-water.patch} (100%) rename patches/server/{0890-Add-PlayerStopUsingItemEvent.patch => 0891-Add-PlayerStopUsingItemEvent.patch} (100%) rename patches/server/{0891-FallingBlock-auto-expire-setting.patch => 0892-FallingBlock-auto-expire-setting.patch} (100%) rename patches/server/{0892-Don-t-tick-markers.patch => 0893-Don-t-tick-markers.patch} (96%) rename patches/server/{0893-Do-not-accept-invalid-client-settings.patch => 0894-Do-not-accept-invalid-client-settings.patch} (100%) rename patches/server/{0894-Add-support-for-Proxy-Protocol.patch => 0895-Add-support-for-Proxy-Protocol.patch} (97%) rename patches/server/{0895-Fix-OfflinePlayer-getBedSpawnLocation.patch => 0896-Fix-OfflinePlayer-getBedSpawnLocation.patch} (100%) rename patches/server/{0896-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch => 0897-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch} (100%) rename patches/server/{0897-Sanitize-Sent-BlockEntity-NBT.patch => 0898-Sanitize-Sent-BlockEntity-NBT.patch} (100%) rename patches/server/{0898-Prevent-entity-loading-causing-async-lookups.patch => 0899-Prevent-entity-loading-causing-async-lookups.patch} (100%) rename patches/server/{0899-Disable-component-selector-resolving-in-books-by-def.patch => 0900-Disable-component-selector-resolving-in-books-by-def.patch} (100%) rename patches/server/{0900-Throw-exception-on-world-create-while-being-ticked.patch => 0901-Throw-exception-on-world-create-while-being-ticked.patch} (100%) rename patches/server/{0901-Add-Alternate-Current-redstone-implementation.patch => 0902-Add-Alternate-Current-redstone-implementation.patch} (99%) rename patches/server/{0902-Dont-resent-entity-on-art-update.patch => 0903-Dont-resent-entity-on-art-update.patch} (100%) rename patches/server/{0903-Untrash-chat-handling.patch => 0904-Untrash-chat-handling.patch} (100%) rename patches/server/{0904-Add-missing-spawn-eggs.patch => 0905-Add-missing-spawn-eggs.patch} (100%) diff --git a/patches/removed/1.19/0731-Optimise-general-POI-access.patch b/patches/server/0732-Optimise-general-POI-access.patch similarity index 86% rename from patches/removed/1.19/0731-Optimise-general-POI-access.patch rename to patches/server/0732-Optimise-general-POI-access.patch index c2cd5eeae..8761a7af6 100644 --- a/patches/removed/1.19/0731-Optimise-general-POI-access.patch +++ b/patches/server/0732-Optimise-general-POI-access.patch @@ -30,20 +30,20 @@ This patch also specifically optimises other areas of code to use PoiAccess. For example, some villager AI and portaling code had to be specifically modified. -TODO: See two still conflicting hunks and two TODOs - diff --git a/src/main/java/io/papermc/paper/util/PoiAccess.java b/src/main/java/io/papermc/paper/util/PoiAccess.java new file mode 100644 -index 0000000000000000000000000000000000000000..a2ea0ec9e25c0c1fc95ac5376d4ed2f6884e14df +index 0000000000000000000000000000000000000000..aaf94f0a47e09d9d23778df437820bc1556d7827 --- /dev/null +++ b/src/main/java/io/papermc/paper/util/PoiAccess.java -@@ -0,0 +1,749 @@ +@@ -0,0 +1,800 @@ +package io.papermc.paper.util; + ++import com.mojang.datafixers.util.Pair; +import it.unimi.dsi.fastutil.doubles.Double2ObjectMap; +import it.unimi.dsi.fastutil.doubles.Double2ObjectRBTreeMap; +import it.unimi.dsi.fastutil.longs.LongArrayFIFOQueue; +import it.unimi.dsi.fastutil.longs.LongOpenHashSet; ++import java.util.function.BiPredicate; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Holder; +import net.minecraft.util.Mth; @@ -133,6 +133,24 @@ index 0000000000000000000000000000000000000000..a2ea0ec9e25c0c1fc95ac5376d4ed2f6 + } + + // only includes x/z axis ++ // finds the closest poi data by distance. ++ public static Pair, BlockPos> findClosestPoiDataTypeAndPosition(final PoiManager poiStorage, ++ final Predicate> villagePlaceType, ++ // position predicate must not modify chunk POI ++ final Predicate positionPredicate, ++ final BlockPos sourcePosition, ++ final int range, // distance on x y z axis ++ final double maxDistance, ++ final PoiManager.Occupancy occupancy, ++ final boolean load) { ++ final PoiRecord ret = findClosestPoiDataRecord( ++ poiStorage, villagePlaceType, positionPredicate, sourcePosition, range, maxDistance, occupancy, load ++ ); ++ ++ return ret == null ? null : Pair.of(ret.getPoiType(), ret.getPos()); ++ } ++ ++ // only includes x/z axis + // finds the closest poi data by distance. if multiple match the same distance, then they all are returned. + public static void findClosestPoiDataPositions(final PoiManager poiStorage, + final Predicate> villagePlaceType, @@ -176,7 +194,25 @@ index 0000000000000000000000000000000000000000..a2ea0ec9e25c0c1fc95ac5376d4ed2f6 + final boolean load) { + final List ret = new ArrayList<>(); + findClosestPoiDataRecords( -+ poiStorage, villagePlaceType, positionPredicate, sourcePosition, range, maxDistance, occupancy, load, ret ++ poiStorage, villagePlaceType, positionPredicate, sourcePosition, range, maxDistance, occupancy, load, ret ++ ); ++ return ret.isEmpty() ? null : ret.get(0); ++ } ++ ++ // only includes x/z axis ++ // finds the closest poi data by distance. ++ public static PoiRecord findClosestPoiDataRecord(final PoiManager poiStorage, ++ final Predicate> villagePlaceType, ++ // position predicate must not modify chunk POI ++ final BiPredicate, BlockPos> predicate, ++ final BlockPos sourcePosition, ++ final int range, // distance on x y z axis ++ final double maxDistance, ++ final PoiManager.Occupancy occupancy, ++ final boolean load) { ++ final List ret = new ArrayList<>(); ++ findClosestPoiDataRecords( ++ poiStorage, villagePlaceType, predicate, sourcePosition, range, maxDistance, occupancy, load, ret + ); + return ret.isEmpty() ? null : ret.get(0); + } @@ -193,6 +229,19 @@ index 0000000000000000000000000000000000000000..a2ea0ec9e25c0c1fc95ac5376d4ed2f6 + final PoiManager.Occupancy occupancy, + final boolean load, + final List ret) { ++ findClosestPoiDataRecords(poiStorage, villagePlaceType, (type, pos) -> positionPredicate.test(pos), sourcePosition, range, maxDistance, occupancy, load, ret); ++ } ++ ++ public static void findClosestPoiDataRecords(final PoiManager poiStorage, ++ final Predicate> villagePlaceType, ++ // position predicate must not modify chunk POI ++ final BiPredicate, BlockPos> predicate, ++ final BlockPos sourcePosition, ++ final int range, // distance on x y z axis ++ final double maxDistance, ++ final PoiManager.Occupancy occupancy, ++ final boolean load, ++ final List ret) { + final Predicate occupancyFilter = occupancy.getTest(); + + final List closestRecords = new ArrayList<>(); @@ -302,7 +351,7 @@ index 0000000000000000000000000000000000000000..a2ea0ec9e25c0c1fc95ac5376d4ed2f6 + continue; + } + -+ if (positionPredicate != null && !positionPredicate.test(poiPosition)) { ++ if (predicate != null && !predicate.test(poiData.getPoiType(), poiPosition)) { + // filter by position + continue; + } @@ -383,7 +432,7 @@ index 0000000000000000000000000000000000000000..a2ea0ec9e25c0c1fc95ac5376d4ed2f6 + final PoiManager.Occupancy occupancy, + final boolean load, + final int max, -+ final List ret) { ++ final List, BlockPos>> ret) { + final Set positions = new HashSet<>(); + // pos predicate is last thing that runs before adding to ret. + final Predicate newPredicate = (final BlockPos pos) -> { @@ -399,7 +448,7 @@ index 0000000000000000000000000000000000000000..a2ea0ec9e25c0c1fc95ac5376d4ed2f6 + ); + + for (final PoiRecord record : toConvert) { -+ ret.add(record.getPos()); ++ ret.add(Pair.of(record.getPoiType(), record.getPos())); + } + } + @@ -665,7 +714,7 @@ index 0000000000000000000000000000000000000000..a2ea0ec9e25c0c1fc95ac5376d4ed2f6 + final PoiManager.Occupancy occupancy, + final boolean load, + final int max, -+ final List ret) { ++ final List, BlockPos>> ret) { + final Set positions = new HashSet<>(); + // pos predicate is last thing that runs before adding to ret. + final Predicate newPredicate = (final BlockPos pos) -> { @@ -681,7 +730,7 @@ index 0000000000000000000000000000000000000000..a2ea0ec9e25c0c1fc95ac5376d4ed2f6 + ); + + for (final PoiRecord record : toConvert) { -+ ret.add(record.getPos()); ++ ret.add(Pair.of(record.getPoiType(), record.getPos())); + } + } + @@ -788,43 +837,45 @@ index 0000000000000000000000000000000000000000..a2ea0ec9e25c0c1fc95ac5376d4ed2f6 + } +} diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java -index cf0df7e693ca8dabfde11616617efd97e986788e..63c997ba5e7194218e844480419c6b59a4d26e9a 100644 +index 4f75f2be7070d49c2c60866ad7146da19ab61652..43243537b765a2d270be6de3f053fea77ff67d18 100644 --- a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java +++ b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java -@@ -82,7 +82,11 @@ public class AcquirePoi extends Behavior { +@@ -87,7 +87,11 @@ public class AcquirePoi extends Behavior { return true; } }; -- Set set = poiManager.findAllClosestFirst(this.poiType.getPredicate(), predicate, entity.blockPosition(), 48, PoiManager.Occupancy.HAS_SPACE).limit(5L).collect(Collectors.toSet()); +- Set, BlockPos>> set = poiManager.findAllClosestFirstWithType(this.poiType, predicate, entity.blockPosition(), 48, PoiManager.Occupancy.HAS_SPACE).limit(5L).collect(Collectors.toSet()); + // Paper start - optimise POI access -+ java.util.List poiposes = new java.util.ArrayList<>(); -+ io.papermc.paper.util.PoiAccess.findNearestPoiPositions(poiManager, this.poiType.getPredicate(), predicate, entity.blockPosition(), 48, 48*48, PoiManager.Occupancy.HAS_SPACE, false, 5, poiposes); -+ Set set = new java.util.HashSet<>(poiposes); ++ java.util.List, BlockPos>> poiposes = new java.util.ArrayList<>(); ++ io.papermc.paper.util.PoiAccess.findNearestPoiPositions(poiManager, this.poiType, predicate, entity.blockPosition(), 48, 48*48, PoiManager.Occupancy.HAS_SPACE, false, 5, poiposes); ++ Set, BlockPos>> set = new java.util.HashSet<>(poiposes); + // Paper end - optimise POI access - Path path = entity.getNavigation().createPath(set, this.poiType.getValidRange()); + Path path = findPathToPois(entity, set); if (path != null && path.canReach()) { BlockPos blockPos = path.getTarget(); diff --git a/src/main/java/net/minecraft/world/entity/ai/sensing/NearestBedSensor.java b/src/main/java/net/minecraft/world/entity/ai/sensing/NearestBedSensor.java -index 0eea3e39616e40e15d1662b973c097cda3b2cee7..3ccc1421f4a5a08dadb9fe3c9fa3ac3131e6ba1e 100644 +index 33fbf72b440e0d164ecd4fb0fdec72e2394d0a1e..8db20db72cd51046213625fac46c35854c59ec5d 100644 --- a/src/main/java/net/minecraft/world/entity/ai/sensing/NearestBedSensor.java +++ b/src/main/java/net/minecraft/world/entity/ai/sensing/NearestBedSensor.java -@@ -49,8 +49,12 @@ public class NearestBedSensor extends Sensor { +@@ -53,10 +53,12 @@ public class NearestBedSensor extends Sensor { return true; } }; -- Stream stream = poiManager.findAll(PoiType.HOME.getPredicate(), predicate, entity.blockPosition(), 48, PoiManager.Occupancy.ANY); -- Path path = entity.getNavigation().createPath(stream, PoiType.HOME.getValidRange()); +- Set, BlockPos>> set = poiManager.findAllWithType((holder) -> { +- return holder.is(PoiTypes.HOME); +- }, predicate, entity.blockPosition(), 48, PoiManager.Occupancy.ANY).collect(Collectors.toSet()); +- Path path = AcquirePoi.findPathToPois(entity, set); + // Paper start - optimise POI access -+ java.util.List poiposes = new java.util.ArrayList<>(); ++ java.util.List, BlockPos>> poiposes = new java.util.ArrayList<>(); + // don't ask me why it's unbounded. ask mojang. -+ io.papermc.paper.util.PoiAccess.findAnyPoiPositions(poiManager, PoiType.HOME.getPredicate(), predicate, entity.blockPosition(), 48, PoiManager.Occupancy.ANY, false, Integer.MAX_VALUE, poiposes); -+ Path path = entity.getNavigation().createPath(new java.util.HashSet<>(poiposes), PoiType.HOME.getValidRange()); ++ io.papermc.paper.util.PoiAccess.findAnyPoiPositions(poiManager, type -> type.is(PoiTypes.HOME), predicate, entity.blockPosition(), 48, PoiManager.Occupancy.ANY, false, Integer.MAX_VALUE, poiposes); ++ Path path = AcquirePoi.findPathToPois(entity, new java.util.HashSet<>(poiposes)); + // Paper end - optimise POI access if (path != null && path.canReach()) { BlockPos blockPos = path.getTarget(); - Optional optional = poiManager.getType(blockPos); + Optional> optional = poiManager.getType(blockPos); diff --git a/src/main/java/net/minecraft/world/entity/ai/village/poi/PoiManager.java b/src/main/java/net/minecraft/world/entity/ai/village/poi/PoiManager.java -index ab9bb440c8e91ecb49c1e14a427d35087a87ac80..96708500deb6cda561bad81956cfb8619a066ae0 100644 +index ab9bb440c8e91ecb49c1e14a427d35087a87ac80..497a81e49d54380713c18523ae8f09f94c453721 100644 --- a/src/main/java/net/minecraft/world/entity/ai/village/poi/PoiManager.java +++ b/src/main/java/net/minecraft/world/entity/ai/village/poi/PoiManager.java @@ -40,7 +40,7 @@ public class PoiManager extends SectionStorage { @@ -836,7 +887,7 @@ index ab9bb440c8e91ecb49c1e14a427d35087a87ac80..96708500deb6cda561bad81956cfb861 public PoiManager(Path path, DataFixer dataFixer, boolean dsync, RegistryAccess registryManager, LevelHeightAccessor world) { super(path, PoiSection::codec, PoiSection::new, dataFixer, DataFixTypes.POI_CHUNK, dsync, registryManager, world); -@@ -113,16 +113,21 @@ public class PoiManager extends SectionStorage { +@@ -113,43 +113,62 @@ public class PoiManager extends SectionStorage { } public Optional find(Predicate> typePredicate, Predicate posPredicate, BlockPos pos, int radius, PoiManager.Occupancy occupationStatus) { @@ -852,17 +903,22 @@ index ab9bb440c8e91ecb49c1e14a427d35087a87ac80..96708500deb6cda561bad81956cfb861 - return blockPos2.distSqr(pos); - })); + // Paper start - re-route to faster logic -+ BlockPos ret = io.papermc.paper.util.PoiAccess.findClosestPoiDataPosition(this, typePredicate, null, pos, radius, radius*radius, occupationStatus, false); ++ BlockPos ret = io.papermc.paper.util.PoiAccess.findClosestPoiDataPosition(this, typePredicate, null, pos, radius, radius * radius, occupationStatus, false); + return Optional.ofNullable(ret); + // Paper end - re-route to faster logic } public Optional, BlockPos>> findClosestWithType(Predicate> typePredicate, BlockPos pos, int radius, PoiManager.Occupancy occupationStatus) { -+ //TODO re-route to faster logic - return this.getInRange(typePredicate, pos, radius, occupationStatus).min(Comparator.comparingDouble((poi) -> { - return poi.getPos().distSqr(pos); - })).map((poi) -> { -@@ -131,12 +136,14 @@ public class PoiManager extends SectionStorage { +- return this.getInRange(typePredicate, pos, radius, occupationStatus).min(Comparator.comparingDouble((poi) -> { +- return poi.getPos().distSqr(pos); +- })).map((poi) -> { +- return Pair.of(poi.getPoiType(), poi.getPos()); +- }); ++ // Paper start - re-route to faster logic ++ return Optional.ofNullable(io.papermc.paper.util.PoiAccess.findClosestPoiDataTypeAndPosition( ++ this, typePredicate, null, pos, radius, radius * radius, occupationStatus, false ++ )); ++ // Paper end - re-route to faster logic } public Optional findClosest(Predicate> typePredicate, Predicate posPredicate, BlockPos pos, int radius, PoiManager.Occupancy occupationStatus) { @@ -876,11 +932,18 @@ index ab9bb440c8e91ecb49c1e14a427d35087a87ac80..96708500deb6cda561bad81956cfb861 } public Optional take(Predicate> typePredicate, BiPredicate, BlockPos> biPredicate, BlockPos pos, int radius) { -+ //TODO re-route to faster logic - return this.getInRange(typePredicate, pos, radius, PoiManager.Occupancy.HAS_SPACE).filter((poi) -> { - return biPredicate.test(poi.getPoiType(), poi.getPos()); - }).findFirst().map((poi) -> { -@@ -146,10 +153,21 @@ public class PoiManager extends SectionStorage { +- return this.getInRange(typePredicate, pos, radius, PoiManager.Occupancy.HAS_SPACE).filter((poi) -> { +- return biPredicate.test(poi.getPoiType(), poi.getPos()); +- }).findFirst().map((poi) -> { ++ // Paper start - re-route to faster logic ++ final @javax.annotation.Nullable PoiRecord closest = io.papermc.paper.util.PoiAccess.findClosestPoiDataRecord( ++ this, typePredicate, biPredicate, pos, radius, radius * radius, Occupancy.HAS_SPACE, false ++ ); ++ return Optional.ofNullable(closest).map(poi -> { ++ // Paper end - re-route to faster logic + poi.acquireTicket(); + return poi.getPos(); + }); } public Optional getRandom(Predicate> typePredicate, Predicate positionPredicate, PoiManager.Occupancy occupationStatus, BlockPos pos, int radius, RandomSource random) { @@ -920,7 +983,7 @@ index bb2be6eea7a0cff4cc70bd43738b1ce213e43558..b71a4027a0eed467a3707c59315092dd private boolean isValid; diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/SectionStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/SectionStorage.java -index 80a7a1340908ae783a029912487485f7596bec5b..83d41596e53b3bd2e983561688c49399bdaa2095 100644 +index 678bd36581ead3a225e3a6e24b78e5db4e42657b..9b2cec7528936a5d53a926c91063cb6e9ed7da1b 100644 --- a/src/main/java/net/minecraft/world/level/chunk/storage/SectionStorage.java +++ b/src/main/java/net/minecraft/world/level/chunk/storage/SectionStorage.java @@ -71,11 +71,11 @@ public class SectionStorage extends RegionFileStorage implements AutoCloseabl @@ -938,10 +1001,10 @@ index 80a7a1340908ae783a029912487485f7596bec5b..83d41596e53b3bd2e983561688c49399 return Optional.empty(); } else { diff --git a/src/main/java/net/minecraft/world/level/portal/PortalForcer.java b/src/main/java/net/minecraft/world/level/portal/PortalForcer.java -index 504f5d98d4a3d6b5bbd0998b495196aa6b39f47a..436f31ab1450bb087e00bed2c6acd8d8833e0598 100644 +index 1311d69bb2fa7b3617936e6ad6eb5236fedc260d..386a73f32f2504af81107852307dcd393d4d8a11 100644 --- a/src/main/java/net/minecraft/world/level/portal/PortalForcer.java +++ b/src/main/java/net/minecraft/world/level/portal/PortalForcer.java -@@ -51,18 +51,41 @@ public class PortalForcer { +@@ -51,18 +51,39 @@ public class PortalForcer { // int i = flag ? 16 : 128; // CraftBukkit end @@ -962,9 +1025,7 @@ index 504f5d98d4a3d6b5bbd0998b495196aa6b39f47a..436f31ab1450bb087e00bed2c6acd8d8 + java.util.List records = new java.util.ArrayList<>(); + io.papermc.paper.util.PoiAccess.findClosestPoiDataRecords( + villageplace, -+ (PoiType type) -> { -+ return type == PoiType.NETHER_PORTAL; -+ }, ++ type -> type.is(PoiTypes.NETHER_PORTAL), + (BlockPos pos) -> { + net.minecraft.world.level.chunk.ChunkAccess lowest = this.level.getChunk(pos.getX() >> 4, pos.getZ() >> 4, net.minecraft.world.level.chunk.ChunkStatus.EMPTY); + if (!lowest.getStatus().isOrAfter(net.minecraft.world.level.chunk.ChunkStatus.FULL) diff --git a/patches/server/0732-Add-more-async-catchers.patch b/patches/server/0733-Add-more-async-catchers.patch similarity index 100% rename from patches/server/0732-Add-more-async-catchers.patch rename to patches/server/0733-Add-more-async-catchers.patch diff --git a/patches/server/0733-Rewrite-entity-bounding-box-lookup-calls.patch b/patches/server/0734-Rewrite-entity-bounding-box-lookup-calls.patch similarity index 99% rename from patches/server/0733-Rewrite-entity-bounding-box-lookup-calls.patch rename to patches/server/0734-Rewrite-entity-bounding-box-lookup-calls.patch index f8d53251b..3fd2a79f0 100644 --- a/patches/server/0733-Rewrite-entity-bounding-box-lookup-calls.patch +++ b/patches/server/0734-Rewrite-entity-bounding-box-lookup-calls.patch @@ -914,7 +914,7 @@ index 0000000000000000000000000000000000000000..3ba094e640d7fe7803e2bbdab8ff3beb + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index a110acecd0459ff2731dbc5f10cc0d990afd4d5b..3ce6df8c6084cbc19a2e57e5934e1e6b944aa2fd 100644 +index 4dc54c121b4e41cc7ef5da1313fa6a49e73de9e8..5518dc58647aae68b31dbe059cdbc669cfa73112 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -446,7 +446,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1051,7 +1051,7 @@ index 1a3be6f0570c7c746eafa36544debe90d7629432..c0817ef8927f00e2fd3fbf3289f8041f List getEntities(EntityTypeTest filter, AABB box, Predicate predicate); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index e3efc697f0730703ec42aad79de004a476bd09b6..27e00259a3cec2205cce3e2b99f03a9e9ba45a1b 100644 +index 91a36884e10c278f6e0efb4fbed1352492b38200..ff118d658d52a4ac5d261727c6e23a3b663ecae9 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -294,6 +294,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0734-Optimise-chunk-tick-iteration.patch b/patches/server/0735-Optimise-chunk-tick-iteration.patch similarity index 100% rename from patches/server/0734-Optimise-chunk-tick-iteration.patch rename to patches/server/0735-Optimise-chunk-tick-iteration.patch diff --git a/patches/server/0735-Execute-chunk-tasks-mid-tick.patch b/patches/server/0736-Execute-chunk-tasks-mid-tick.patch similarity index 100% rename from patches/server/0735-Execute-chunk-tasks-mid-tick.patch rename to patches/server/0736-Execute-chunk-tasks-mid-tick.patch diff --git a/patches/server/0736-Do-not-copy-visible-chunks.patch b/patches/server/0737-Do-not-copy-visible-chunks.patch similarity index 100% rename from patches/server/0736-Do-not-copy-visible-chunks.patch rename to patches/server/0737-Do-not-copy-visible-chunks.patch diff --git a/patches/server/0737-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/0738-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch similarity index 100% rename from patches/server/0737-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch rename to patches/server/0738-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch diff --git a/patches/server/0738-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/0739-Custom-table-implementation-for-blockstate-state-loo.patch similarity index 100% rename from patches/server/0738-Custom-table-implementation-for-blockstate-state-loo.patch rename to patches/server/0739-Custom-table-implementation-for-blockstate-state-loo.patch diff --git a/patches/server/0739-Detail-more-information-in-watchdog-dumps.patch b/patches/server/0740-Detail-more-information-in-watchdog-dumps.patch similarity index 99% rename from patches/server/0739-Detail-more-information-in-watchdog-dumps.patch rename to patches/server/0740-Detail-more-information-in-watchdog-dumps.patch index 8fa592526..a5d0b1017 100644 --- a/patches/server/0739-Detail-more-information-in-watchdog-dumps.patch +++ b/patches/server/0740-Detail-more-information-in-watchdog-dumps.patch @@ -77,7 +77,7 @@ index a34f22cadc09e53ea4de787b04d050b99dddbcac..c8012de68b997d6270ba4a5d79bc93c0 }); throw RunningOnDifferentThreadException.RUNNING_ON_DIFFERENT_THREAD; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 78e2e9285b018aa52726cc61f7027e49e9dd9d68..6d1489332681d938a1c3db832ab967ba494f3b97 100644 +index 0b3c4e43d5d9b13c963b1802cd85f099b4274c8c..61251596a16fc1e2aba735feca2c073a4db3a4a8 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -998,7 +998,26 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/0740-Manually-inline-methods-in-BlockPosition.patch b/patches/server/0741-Manually-inline-methods-in-BlockPosition.patch similarity index 100% rename from patches/server/0740-Manually-inline-methods-in-BlockPosition.patch rename to patches/server/0741-Manually-inline-methods-in-BlockPosition.patch diff --git a/patches/server/0741-Distance-manager-tick-timings.patch b/patches/server/0742-Distance-manager-tick-timings.patch similarity index 100% rename from patches/server/0741-Distance-manager-tick-timings.patch rename to patches/server/0742-Distance-manager-tick-timings.patch diff --git a/patches/server/0742-Name-craft-scheduler-threads-according-to-the-plugin.patch b/patches/server/0743-Name-craft-scheduler-threads-according-to-the-plugin.patch similarity index 100% rename from patches/server/0742-Name-craft-scheduler-threads-according-to-the-plugin.patch rename to patches/server/0743-Name-craft-scheduler-threads-according-to-the-plugin.patch diff --git a/patches/server/0743-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch b/patches/server/0744-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch similarity index 94% rename from patches/server/0743-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch rename to patches/server/0744-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch index 6ddb3e23e..93bf134a0 100644 --- a/patches/server/0743-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch +++ b/patches/server/0744-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch @@ -13,7 +13,7 @@ Paper recently reverted this optimisation, so it's been reintroduced here. diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index f87844acb092bedad5e742c8000a1a09759bdd6d..e07b094cf19bc94a4e3ef726f37973eaff7aaf6d 100644 +index 0d41b56519db354b730527b28e0294469ff11db9..5e8d303133a2cd8b748c127e2b6aa4d279d4df4d 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -369,6 +369,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0744-Add-packet-limiter-config.patch b/patches/server/0745-Add-packet-limiter-config.patch similarity index 100% rename from patches/server/0744-Add-packet-limiter-config.patch rename to patches/server/0745-Add-packet-limiter-config.patch diff --git a/patches/server/0745-Use-correct-LevelStem-registry-when-loading-default-.patch b/patches/server/0746-Use-correct-LevelStem-registry-when-loading-default-.patch similarity index 100% rename from patches/server/0745-Use-correct-LevelStem-registry-when-loading-default-.patch rename to patches/server/0746-Use-correct-LevelStem-registry-when-loading-default-.patch diff --git a/patches/server/0746-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch b/patches/server/0747-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch similarity index 100% rename from patches/server/0746-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch rename to patches/server/0747-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch diff --git a/patches/server/0747-Consolidate-flush-calls-for-entity-tracker-packets.patch b/patches/server/0748-Consolidate-flush-calls-for-entity-tracker-packets.patch similarity index 100% rename from patches/server/0747-Consolidate-flush-calls-for-entity-tracker-packets.patch rename to patches/server/0748-Consolidate-flush-calls-for-entity-tracker-packets.patch diff --git a/patches/server/0748-Don-t-lookup-fluid-state-when-raytracing.patch b/patches/server/0749-Don-t-lookup-fluid-state-when-raytracing.patch similarity index 100% rename from patches/server/0748-Don-t-lookup-fluid-state-when-raytracing.patch rename to patches/server/0749-Don-t-lookup-fluid-state-when-raytracing.patch diff --git a/patches/server/0749-Time-scoreboard-search.patch b/patches/server/0750-Time-scoreboard-search.patch similarity index 100% rename from patches/server/0749-Time-scoreboard-search.patch rename to patches/server/0750-Time-scoreboard-search.patch diff --git a/patches/server/0750-Send-full-pos-packets-for-hard-colliding-entities.patch b/patches/server/0751-Send-full-pos-packets-for-hard-colliding-entities.patch similarity index 100% rename from patches/server/0750-Send-full-pos-packets-for-hard-colliding-entities.patch rename to patches/server/0751-Send-full-pos-packets-for-hard-colliding-entities.patch diff --git a/patches/server/0751-Do-not-run-raytrace-logic-for-AIR.patch b/patches/server/0752-Do-not-run-raytrace-logic-for-AIR.patch similarity index 100% rename from patches/server/0751-Do-not-run-raytrace-logic-for-AIR.patch rename to patches/server/0752-Do-not-run-raytrace-logic-for-AIR.patch diff --git a/patches/server/0752-Oprimise-map-impl-for-tracked-players.patch b/patches/server/0753-Oprimise-map-impl-for-tracked-players.patch similarity index 100% rename from patches/server/0752-Oprimise-map-impl-for-tracked-players.patch rename to patches/server/0753-Oprimise-map-impl-for-tracked-players.patch diff --git a/patches/server/0753-Optimise-BlockSoil-nearby-water-lookup.patch b/patches/server/0754-Optimise-BlockSoil-nearby-water-lookup.patch similarity index 100% rename from patches/server/0753-Optimise-BlockSoil-nearby-water-lookup.patch rename to patches/server/0754-Optimise-BlockSoil-nearby-water-lookup.patch diff --git a/patches/server/0754-Allow-removal-addition-of-entities-to-entity-ticklis.patch b/patches/server/0755-Allow-removal-addition-of-entities-to-entity-ticklis.patch similarity index 100% rename from patches/server/0754-Allow-removal-addition-of-entities-to-entity-ticklis.patch rename to patches/server/0755-Allow-removal-addition-of-entities-to-entity-ticklis.patch diff --git a/patches/server/0755-Optimise-random-block-ticking.patch b/patches/server/0756-Optimise-random-block-ticking.patch similarity index 99% rename from patches/server/0755-Optimise-random-block-ticking.patch rename to patches/server/0756-Optimise-random-block-ticking.patch index 6e42fccec..268386f2a 100644 --- a/patches/server/0755-Optimise-random-block-ticking.patch +++ b/patches/server/0756-Optimise-random-block-ticking.patch @@ -120,7 +120,7 @@ index 0000000000000000000000000000000000000000..16ca915c33e31b50d33336408b041e40 + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 6d1489332681d938a1c3db832ab967ba494f3b97..3ef55cb31b8d9a308fab3ac1e463e98a7dce726e 100644 +index 61251596a16fc1e2aba735feca2c073a4db3a4a8..69ecceda441d9a228c1ae401688ea7333287b80c 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -662,6 +662,10 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -342,7 +342,7 @@ index 69c98c2cb2fd8f149a39bbddcbfe0c5c5adc3904..5575730aa6f77a91467c394fa8465c33 public BlockPos getHomePos() { diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index e07b094cf19bc94a4e3ef726f37973eaff7aaf6d..03f7eb8a56fd4e609bc7b1a00d18cad5586a41dd 100644 +index 5e8d303133a2cd8b748c127e2b6aa4d279d4df4d..504455c626a9d22f552144a38861dc356fb02b99 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -1302,10 +1302,18 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0756-Optimise-non-flush-packet-sending.patch b/patches/server/0757-Optimise-non-flush-packet-sending.patch similarity index 100% rename from patches/server/0756-Optimise-non-flush-packet-sending.patch rename to patches/server/0757-Optimise-non-flush-packet-sending.patch diff --git a/patches/server/0757-Optimise-nearby-player-lookups.patch b/patches/server/0758-Optimise-nearby-player-lookups.patch similarity index 99% rename from patches/server/0757-Optimise-nearby-player-lookups.patch rename to patches/server/0758-Optimise-nearby-player-lookups.patch index ee47eea59..cce3f6f7c 100644 --- a/patches/server/0757-Optimise-nearby-player-lookups.patch +++ b/patches/server/0758-Optimise-nearby-player-lookups.patch @@ -105,7 +105,7 @@ index d2227b40aa6a5e49e30c1f33e407d8f25cf2be4e..1c5137be8c0935ae371d0b9e6a8f3d8b protected ChunkGenerator generator() { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 3ef55cb31b8d9a308fab3ac1e463e98a7dce726e..d292e4775cdf936bb294bba7c0320c8b97ad14a6 100644 +index 69ecceda441d9a228c1ae401688ea7333287b80c..61964e73b020aa565a855d23f2f4da2da342c1e1 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -404,6 +404,83 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -226,7 +226,7 @@ index a49dfe4f81d449c5dd7ba5b8f9af7fec5c54f5de..3646b969fa51b9683ab4137e530c3a6f if (entityhuman != null) { double d0 = entityhuman.distanceToSqr((Entity) this); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 03f7eb8a56fd4e609bc7b1a00d18cad5586a41dd..aba8e748123f70d48de638ea18afbbf5dfede504 100644 +index 504455c626a9d22f552144a38861dc356fb02b99..13c4b7aee9b9802edbaf7e4df9e9355667e727bb 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -206,6 +206,69 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0758-Optimise-WorldServer-notify.patch b/patches/server/0759-Optimise-WorldServer-notify.patch similarity index 99% rename from patches/server/0758-Optimise-WorldServer-notify.patch rename to patches/server/0759-Optimise-WorldServer-notify.patch index 78aef1773..c2bb970d7 100644 --- a/patches/server/0758-Optimise-WorldServer-notify.patch +++ b/patches/server/0759-Optimise-WorldServer-notify.patch @@ -110,7 +110,7 @@ index 1c5137be8c0935ae371d0b9e6a8f3d8bccd85d31..8939d15bd413a2b743303d137fc797be } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index d292e4775cdf936bb294bba7c0320c8b97ad14a6..7e7edaebf146d8042e9b75f6088990069ca9021a 100644 +index 61964e73b020aa565a855d23f2f4da2da342c1e1..81016748af10abc2b3ea15109e4d9bb32383cbc3 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1113,6 +1113,7 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/0759-Remove-streams-for-villager-AI.patch b/patches/server/0760-Remove-streams-for-villager-AI.patch similarity index 100% rename from patches/server/0759-Remove-streams-for-villager-AI.patch rename to patches/server/0760-Remove-streams-for-villager-AI.patch diff --git a/patches/server/0760-Rewrite-dataconverter-system.patch b/patches/server/0761-Rewrite-dataconverter-system.patch similarity index 99% rename from patches/server/0760-Rewrite-dataconverter-system.patch rename to patches/server/0761-Rewrite-dataconverter-system.patch index 8f349f74d..c70ea092a 100644 --- a/patches/server/0760-Rewrite-dataconverter-system.patch +++ b/patches/server/0761-Rewrite-dataconverter-system.patch @@ -22882,7 +22882,7 @@ index de7afc737b1ab099edc29a4ef94baa76329c2947..2bc0384728f89b7c64a8beec78a1b77d public static int getVersion(CompoundTag chunkNbt) { diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/SectionStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/SectionStorage.java -index 678bd36581ead3a225e3a6e24b78e5db4e42657b..ff6b25fd21836a080d63f1051b6645ec3d262658 100644 +index 9b2cec7528936a5d53a926c91063cb6e9ed7da1b..47cda78efcce597d3d7ba8fc93a2865e10cdc237 100644 --- a/src/main/java/net/minecraft/world/level/chunk/storage/SectionStorage.java +++ b/src/main/java/net/minecraft/world/level/chunk/storage/SectionStorage.java @@ -148,7 +148,14 @@ public class SectionStorage extends RegionFileStorage implements AutoCloseabl diff --git a/patches/server/0761-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/0762-Use-Velocity-compression-and-cipher-natives.patch similarity index 100% rename from patches/server/0761-Use-Velocity-compression-and-cipher-natives.patch rename to patches/server/0762-Use-Velocity-compression-and-cipher-natives.patch diff --git a/patches/server/0762-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch b/patches/server/0763-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch similarity index 100% rename from patches/server/0762-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch rename to patches/server/0763-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch diff --git a/patches/server/0763-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch b/patches/server/0764-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch similarity index 100% rename from patches/server/0763-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch rename to patches/server/0764-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch diff --git a/patches/server/0764-Async-catch-modifications-to-critical-entity-state.patch b/patches/server/0765-Async-catch-modifications-to-critical-entity-state.patch similarity index 100% rename from patches/server/0764-Async-catch-modifications-to-critical-entity-state.patch rename to patches/server/0765-Async-catch-modifications-to-critical-entity-state.patch diff --git a/patches/server/0765-Fix-Bukkit-NamespacedKey-shenanigans.patch b/patches/server/0766-Fix-Bukkit-NamespacedKey-shenanigans.patch similarity index 100% rename from patches/server/0765-Fix-Bukkit-NamespacedKey-shenanigans.patch rename to patches/server/0766-Fix-Bukkit-NamespacedKey-shenanigans.patch diff --git a/patches/server/0766-Fix-merchant-inventory-not-closing-on-entity-removal.patch b/patches/server/0767-Fix-merchant-inventory-not-closing-on-entity-removal.patch similarity index 94% rename from patches/server/0766-Fix-merchant-inventory-not-closing-on-entity-removal.patch rename to patches/server/0767-Fix-merchant-inventory-not-closing-on-entity-removal.patch index 702b40748..ab7cb8cc3 100644 --- a/patches/server/0766-Fix-merchant-inventory-not-closing-on-entity-removal.patch +++ b/patches/server/0767-Fix-merchant-inventory-not-closing-on-entity-removal.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix merchant inventory not closing on entity removal diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 7e7edaebf146d8042e9b75f6088990069ca9021a..0179e519c01897e373f6f9ed4af17dcf4469b762 100644 +index 81016748af10abc2b3ea15109e4d9bb32383cbc3..edeafd4c671d686c96bffc095fa81b9a4a6723a6 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -2569,6 +2569,11 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/0767-Check-requirement-before-suggesting-root-nodes.patch b/patches/server/0768-Check-requirement-before-suggesting-root-nodes.patch similarity index 100% rename from patches/server/0767-Check-requirement-before-suggesting-root-nodes.patch rename to patches/server/0768-Check-requirement-before-suggesting-root-nodes.patch diff --git a/patches/server/0768-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0769-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch similarity index 100% rename from patches/server/0768-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch rename to patches/server/0769-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch diff --git a/patches/server/0769-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch b/patches/server/0770-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch similarity index 100% rename from patches/server/0769-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch rename to patches/server/0770-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch diff --git a/patches/server/0770-Ensure-valid-vehicle-status.patch b/patches/server/0771-Ensure-valid-vehicle-status.patch similarity index 100% rename from patches/server/0770-Ensure-valid-vehicle-status.patch rename to patches/server/0771-Ensure-valid-vehicle-status.patch diff --git a/patches/server/0771-Prevent-softlocked-end-exit-portal-generation.patch b/patches/server/0772-Prevent-softlocked-end-exit-portal-generation.patch similarity index 100% rename from patches/server/0771-Prevent-softlocked-end-exit-portal-generation.patch rename to patches/server/0772-Prevent-softlocked-end-exit-portal-generation.patch diff --git a/patches/server/0772-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch b/patches/server/0773-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch similarity index 100% rename from patches/server/0772-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch rename to patches/server/0773-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch diff --git a/patches/server/0773-Don-t-log-debug-logging-being-disabled.patch b/patches/server/0774-Don-t-log-debug-logging-being-disabled.patch similarity index 88% rename from patches/server/0773-Don-t-log-debug-logging-being-disabled.patch rename to patches/server/0774-Don-t-log-debug-logging-being-disabled.patch index 2748ca04c..83460a961 100644 --- a/patches/server/0773-Don-t-log-debug-logging-being-disabled.patch +++ b/patches/server/0774-Don-t-log-debug-logging-being-disabled.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't log debug logging being disabled diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index 0a53abd88f392fbb33485077aa24df825819d1f2..cd1228e1fbd2434b42df0fd6887d00b9bdb21516 100644 +index edc5f195cc3de8885b839469656650ba465346be..5d162f59fc5ef9adf7fa762b137bbcfca745d9c5 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -382,7 +382,7 @@ public class SpigotConfig diff --git a/patches/server/0774-fix-various-menus-with-empty-level-accesses.patch b/patches/server/0775-fix-various-menus-with-empty-level-accesses.patch similarity index 100% rename from patches/server/0774-fix-various-menus-with-empty-level-accesses.patch rename to patches/server/0775-fix-various-menus-with-empty-level-accesses.patch diff --git a/patches/server/0775-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch b/patches/server/0776-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch similarity index 100% rename from patches/server/0775-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch rename to patches/server/0776-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch diff --git a/patches/server/0776-Preserve-overstacked-loot.patch b/patches/server/0777-Preserve-overstacked-loot.patch similarity index 100% rename from patches/server/0776-Preserve-overstacked-loot.patch rename to patches/server/0777-Preserve-overstacked-loot.patch diff --git a/patches/server/0777-Update-head-rotation-in-missing-places.patch b/patches/server/0778-Update-head-rotation-in-missing-places.patch similarity index 100% rename from patches/server/0777-Update-head-rotation-in-missing-places.patch rename to patches/server/0778-Update-head-rotation-in-missing-places.patch diff --git a/patches/server/0778-prevent-unintended-light-block-manipulation.patch b/patches/server/0779-prevent-unintended-light-block-manipulation.patch similarity index 100% rename from patches/server/0778-prevent-unintended-light-block-manipulation.patch rename to patches/server/0779-prevent-unintended-light-block-manipulation.patch diff --git a/patches/server/0779-Fix-CraftCriteria-defaults-map.patch b/patches/server/0780-Fix-CraftCriteria-defaults-map.patch similarity index 100% rename from patches/server/0779-Fix-CraftCriteria-defaults-map.patch rename to patches/server/0780-Fix-CraftCriteria-defaults-map.patch diff --git a/patches/server/0780-Fix-upstreams-block-state-factories.patch b/patches/server/0781-Fix-upstreams-block-state-factories.patch similarity index 100% rename from patches/server/0780-Fix-upstreams-block-state-factories.patch rename to patches/server/0781-Fix-upstreams-block-state-factories.patch diff --git a/patches/server/0781-Add-config-option-for-logging-player-ip-addresses.patch b/patches/server/0782-Add-config-option-for-logging-player-ip-addresses.patch similarity index 100% rename from patches/server/0781-Add-config-option-for-logging-player-ip-addresses.patch rename to patches/server/0782-Add-config-option-for-logging-player-ip-addresses.patch diff --git a/patches/server/0782-Configurable-feature-seeds.patch b/patches/server/0783-Configurable-feature-seeds.patch similarity index 100% rename from patches/server/0782-Configurable-feature-seeds.patch rename to patches/server/0783-Configurable-feature-seeds.patch diff --git a/patches/server/0783-VanillaCommandWrapper-didnt-account-for-entity-sende.patch b/patches/server/0784-VanillaCommandWrapper-didnt-account-for-entity-sende.patch similarity index 100% rename from patches/server/0783-VanillaCommandWrapper-didnt-account-for-entity-sende.patch rename to patches/server/0784-VanillaCommandWrapper-didnt-account-for-entity-sende.patch diff --git a/patches/server/0784-Add-root-admin-user-detection.patch b/patches/server/0785-Add-root-admin-user-detection.patch similarity index 100% rename from patches/server/0784-Add-root-admin-user-detection.patch rename to patches/server/0785-Add-root-admin-user-detection.patch diff --git a/patches/server/0785-Always-allow-item-changing-in-Fireball.patch b/patches/server/0786-Always-allow-item-changing-in-Fireball.patch similarity index 100% rename from patches/server/0785-Always-allow-item-changing-in-Fireball.patch rename to patches/server/0786-Always-allow-item-changing-in-Fireball.patch diff --git a/patches/server/0786-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0787-don-t-attempt-to-teleport-dead-entities.patch similarity index 100% rename from patches/server/0786-don-t-attempt-to-teleport-dead-entities.patch rename to patches/server/0787-don-t-attempt-to-teleport-dead-entities.patch diff --git a/patches/server/0787-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0788-Prevent-excessive-velocity-through-repeated-crits.patch similarity index 100% rename from patches/server/0787-Prevent-excessive-velocity-through-repeated-crits.patch rename to patches/server/0788-Prevent-excessive-velocity-through-repeated-crits.patch diff --git a/patches/server/0788-Remove-client-side-code-using-deprecated-for-removal.patch b/patches/server/0789-Remove-client-side-code-using-deprecated-for-removal.patch similarity index 100% rename from patches/server/0788-Remove-client-side-code-using-deprecated-for-removal.patch rename to patches/server/0789-Remove-client-side-code-using-deprecated-for-removal.patch diff --git a/patches/server/0789-Rewrite-the-light-engine.patch b/patches/server/0790-Rewrite-the-light-engine.patch similarity index 100% rename from patches/server/0789-Rewrite-the-light-engine.patch rename to patches/server/0790-Rewrite-the-light-engine.patch diff --git a/patches/server/0790-Always-parse-protochunk-light-sources-unless-it-is-m.patch b/patches/server/0791-Always-parse-protochunk-light-sources-unless-it-is-m.patch similarity index 100% rename from patches/server/0790-Always-parse-protochunk-light-sources-unless-it-is-m.patch rename to patches/server/0791-Always-parse-protochunk-light-sources-unless-it-is-m.patch diff --git a/patches/server/0791-Fix-removing-recipes-from-RecipeIterator.patch b/patches/server/0792-Fix-removing-recipes-from-RecipeIterator.patch similarity index 100% rename from patches/server/0791-Fix-removing-recipes-from-RecipeIterator.patch rename to patches/server/0792-Fix-removing-recipes-from-RecipeIterator.patch diff --git a/patches/server/0792-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0793-Prevent-sending-oversized-item-data-in-equipment-and.patch similarity index 100% rename from patches/server/0792-Prevent-sending-oversized-item-data-in-equipment-and.patch rename to patches/server/0793-Prevent-sending-oversized-item-data-in-equipment-and.patch diff --git a/patches/server/0793-Hide-unnecessary-itemmeta-from-clients.patch b/patches/server/0794-Hide-unnecessary-itemmeta-from-clients.patch similarity index 100% rename from patches/server/0793-Hide-unnecessary-itemmeta-from-clients.patch rename to patches/server/0794-Hide-unnecessary-itemmeta-from-clients.patch diff --git a/patches/server/0794-Fix-kelp-modifier-changing-growth-for-other-crops.patch b/patches/server/0795-Fix-kelp-modifier-changing-growth-for-other-crops.patch similarity index 100% rename from patches/server/0794-Fix-kelp-modifier-changing-growth-for-other-crops.patch rename to patches/server/0795-Fix-kelp-modifier-changing-growth-for-other-crops.patch diff --git a/patches/server/0795-Prevent-ContainerOpenersCounter-openCount-from-going.patch b/patches/server/0796-Prevent-ContainerOpenersCounter-openCount-from-going.patch similarity index 100% rename from patches/server/0795-Prevent-ContainerOpenersCounter-openCount-from-going.patch rename to patches/server/0796-Prevent-ContainerOpenersCounter-openCount-from-going.patch diff --git a/patches/server/0796-Add-PlayerItemFrameChangeEvent.patch b/patches/server/0797-Add-PlayerItemFrameChangeEvent.patch similarity index 100% rename from patches/server/0796-Add-PlayerItemFrameChangeEvent.patch rename to patches/server/0797-Add-PlayerItemFrameChangeEvent.patch diff --git a/patches/server/0797-Add-player-health-update-API.patch b/patches/server/0798-Add-player-health-update-API.patch similarity index 100% rename from patches/server/0797-Add-player-health-update-API.patch rename to patches/server/0798-Add-player-health-update-API.patch diff --git a/patches/server/0798-Optimize-HashMapPalette.patch b/patches/server/0799-Optimize-HashMapPalette.patch similarity index 100% rename from patches/server/0798-Optimize-HashMapPalette.patch rename to patches/server/0799-Optimize-HashMapPalette.patch diff --git a/patches/server/0799-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0800-Allow-delegation-to-vanilla-chunk-gen.patch similarity index 100% rename from patches/server/0799-Allow-delegation-to-vanilla-chunk-gen.patch rename to patches/server/0800-Allow-delegation-to-vanilla-chunk-gen.patch diff --git a/patches/server/0800-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch b/patches/server/0801-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch similarity index 100% rename from patches/server/0800-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch rename to patches/server/0801-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch diff --git a/patches/server/0801-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/0802-Optimise-collision-checking-in-player-move-packet-ha.patch similarity index 100% rename from patches/server/0801-Optimise-collision-checking-in-player-move-packet-ha.patch rename to patches/server/0802-Optimise-collision-checking-in-player-move-packet-ha.patch diff --git a/patches/server/0802-Actually-unload-POI-data.patch b/patches/server/0803-Actually-unload-POI-data.patch similarity index 96% rename from patches/server/0802-Actually-unload-POI-data.patch rename to patches/server/0803-Actually-unload-POI-data.patch index e9eadfe65..314fb4b1e 100644 --- a/patches/server/0802-Actually-unload-POI-data.patch +++ b/patches/server/0803-Actually-unload-POI-data.patch @@ -55,7 +55,7 @@ index 169e2514c5d6942fe28f0deb84540bd4a50f0ece..e25423b46ced54dd6b270d45a3c4502a if (chunkHolder.protoChunk != null) { ProtoChunk protochunk = chunkHolder.protoChunk; diff --git a/src/main/java/net/minecraft/world/entity/ai/village/poi/PoiManager.java b/src/main/java/net/minecraft/world/entity/ai/village/poi/PoiManager.java -index ab9bb440c8e91ecb49c1e14a427d35087a87ac80..400732788820a94acebccb1ad64789e0f6defdb1 100644 +index 497a81e49d54380713c18523ae8f09f94c453721..210b0cdd4831421c8f43c3d823ac8e962b56bbbc 100644 --- a/src/main/java/net/minecraft/world/entity/ai/village/poi/PoiManager.java +++ b/src/main/java/net/minecraft/world/entity/ai/village/poi/PoiManager.java @@ -1,5 +1,6 @@ @@ -87,7 +87,7 @@ index ab9bb440c8e91ecb49c1e14a427d35087a87ac80..400732788820a94acebccb1ad64789e0 + } + // Paper end - unload poi data private final LongSet loadedChunks = new LongOpenHashSet(); - private final net.minecraft.server.level.ServerLevel world; // Paper + public final net.minecraft.server.level.ServerLevel world; // Paper // Paper public public PoiManager(Path path, DataFixer dataFixer, boolean dsync, RegistryAccess registryManager, LevelHeightAccessor world) { super(path, PoiSection::codec, PoiSection::new, dataFixer, DataFixTypes.POI_CHUNK, dsync, registryManager, world); @@ -213,7 +213,7 @@ index ab9bb440c8e91ecb49c1e14a427d35087a87ac80..400732788820a94acebccb1ad64789e0 public void add(BlockPos pos, Holder type) { this.getOrCreate(SectionPos.asLong(pos)).add(pos, type); } -@@ -182,8 +312,8 @@ public class PoiManager extends SectionStorage { +@@ -201,8 +331,8 @@ public class PoiManager extends SectionStorage { } public int sectionsToVillage(SectionPos pos) { @@ -224,7 +224,7 @@ index ab9bb440c8e91ecb49c1e14a427d35087a87ac80..400732788820a94acebccb1ad64789e0 } boolean isVillageCenter(long pos) { -@@ -198,7 +328,7 @@ public class PoiManager extends SectionStorage { +@@ -217,7 +347,7 @@ public class PoiManager extends SectionStorage { @Override public void tick(BooleanSupplier shouldKeepTicking) { // Paper start - async chunk io @@ -233,7 +233,7 @@ index ab9bb440c8e91ecb49c1e14a427d35087a87ac80..400732788820a94acebccb1ad64789e0 ChunkPos chunkcoordintpair = SectionPos.of(this.dirty.firstLong()).chunk(); net.minecraft.nbt.CompoundTag data; -@@ -208,19 +338,24 @@ public class PoiManager extends SectionStorage { +@@ -227,19 +357,24 @@ public class PoiManager extends SectionStorage { com.destroystokyo.paper.io.PaperFileIOThread.Holder.INSTANCE.scheduleSave(this.world, chunkcoordintpair.x, chunkcoordintpair.z, data, null, com.destroystokyo.paper.io.PrioritizedTaskQueue.NORMAL_PRIORITY); } @@ -261,7 +261,7 @@ index ab9bb440c8e91ecb49c1e14a427d35087a87ac80..400732788820a94acebccb1ad64789e0 } public void checkConsistencyWithBlocks(ChunkPos chunkPos, LevelChunkSection chunkSection) { -@@ -278,7 +413,7 @@ public class PoiManager extends SectionStorage { +@@ -297,7 +432,7 @@ public class PoiManager extends SectionStorage { @Override protected int getLevelFromSource(long id) { @@ -271,7 +271,7 @@ index ab9bb440c8e91ecb49c1e14a427d35087a87ac80..400732788820a94acebccb1ad64789e0 @Override diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/SectionStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/SectionStorage.java -index ff6b25fd21836a080d63f1051b6645ec3d262658..2646c420cb049ead697e1a973f7d023378903afa 100644 +index 47cda78efcce597d3d7ba8fc93a2865e10cdc237..38287fad39d553a86370bbdc755c0a006615e0cf 100644 --- a/src/main/java/net/minecraft/world/level/chunk/storage/SectionStorage.java +++ b/src/main/java/net/minecraft/world/level/chunk/storage/SectionStorage.java @@ -58,6 +58,40 @@ public class SectionStorage extends RegionFileStorage implements AutoCloseabl diff --git a/patches/server/0803-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch b/patches/server/0804-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch similarity index 100% rename from patches/server/0803-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch rename to patches/server/0804-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch diff --git a/patches/server/0804-Update-Log4j.patch b/patches/server/0805-Update-Log4j.patch similarity index 100% rename from patches/server/0804-Update-Log4j.patch rename to patches/server/0805-Update-Log4j.patch diff --git a/patches/server/0805-Add-more-Campfire-API.patch b/patches/server/0806-Add-more-Campfire-API.patch similarity index 100% rename from patches/server/0805-Add-more-Campfire-API.patch rename to patches/server/0806-Add-more-Campfire-API.patch diff --git a/patches/server/0806-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch b/patches/server/0807-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch similarity index 100% rename from patches/server/0806-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch rename to patches/server/0807-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch diff --git a/patches/server/0807-Fix-tripwire-state-inconsistency.patch b/patches/server/0808-Fix-tripwire-state-inconsistency.patch similarity index 100% rename from patches/server/0807-Fix-tripwire-state-inconsistency.patch rename to patches/server/0808-Fix-tripwire-state-inconsistency.patch diff --git a/patches/server/0808-Fix-fluid-logging-on-Block-breakNaturally.patch b/patches/server/0809-Fix-fluid-logging-on-Block-breakNaturally.patch similarity index 100% rename from patches/server/0808-Fix-fluid-logging-on-Block-breakNaturally.patch rename to patches/server/0809-Fix-fluid-logging-on-Block-breakNaturally.patch diff --git a/patches/server/0809-Forward-CraftEntity-in-teleport-command.patch b/patches/server/0810-Forward-CraftEntity-in-teleport-command.patch similarity index 100% rename from patches/server/0809-Forward-CraftEntity-in-teleport-command.patch rename to patches/server/0810-Forward-CraftEntity-in-teleport-command.patch diff --git a/patches/server/0810-Improve-scoreboard-entries.patch b/patches/server/0811-Improve-scoreboard-entries.patch similarity index 100% rename from patches/server/0810-Improve-scoreboard-entries.patch rename to patches/server/0811-Improve-scoreboard-entries.patch diff --git a/patches/server/0811-Entity-powdered-snow-API.patch b/patches/server/0812-Entity-powdered-snow-API.patch similarity index 100% rename from patches/server/0811-Entity-powdered-snow-API.patch rename to patches/server/0812-Entity-powdered-snow-API.patch diff --git a/patches/server/0812-Add-API-for-item-entity-health.patch b/patches/server/0813-Add-API-for-item-entity-health.patch similarity index 100% rename from patches/server/0812-Add-API-for-item-entity-health.patch rename to patches/server/0813-Add-API-for-item-entity-health.patch diff --git a/patches/server/0813-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/0814-Fix-entity-type-tags-suggestions-in-selectors.patch similarity index 100% rename from patches/server/0813-Fix-entity-type-tags-suggestions-in-selectors.patch rename to patches/server/0814-Fix-entity-type-tags-suggestions-in-selectors.patch diff --git a/patches/server/0814-Configurable-max-block-light-for-monster-spawning.patch b/patches/server/0815-Configurable-max-block-light-for-monster-spawning.patch similarity index 100% rename from patches/server/0814-Configurable-max-block-light-for-monster-spawning.patch rename to patches/server/0815-Configurable-max-block-light-for-monster-spawning.patch diff --git a/patches/server/0815-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch b/patches/server/0816-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch similarity index 100% rename from patches/server/0815-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch rename to patches/server/0816-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch diff --git a/patches/server/0816-Load-effect-amplifiers-greater-than-127-correctly.patch b/patches/server/0817-Load-effect-amplifiers-greater-than-127-correctly.patch similarity index 100% rename from patches/server/0816-Load-effect-amplifiers-greater-than-127-correctly.patch rename to patches/server/0817-Load-effect-amplifiers-greater-than-127-correctly.patch diff --git a/patches/server/0817-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/server/0818-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch similarity index 100% rename from patches/server/0817-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch rename to patches/server/0818-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch diff --git a/patches/server/0818-Fix-bees-aging-inside-hives.patch b/patches/server/0819-Fix-bees-aging-inside-hives.patch similarity index 100% rename from patches/server/0818-Fix-bees-aging-inside-hives.patch rename to patches/server/0819-Fix-bees-aging-inside-hives.patch diff --git a/patches/server/0819-Bucketable-API.patch b/patches/server/0820-Bucketable-API.patch similarity index 100% rename from patches/server/0819-Bucketable-API.patch rename to patches/server/0820-Bucketable-API.patch diff --git a/patches/server/0820-Check-player-world-in-endPortalSoundRadius.patch b/patches/server/0821-Check-player-world-in-endPortalSoundRadius.patch similarity index 100% rename from patches/server/0820-Check-player-world-in-endPortalSoundRadius.patch rename to patches/server/0821-Check-player-world-in-endPortalSoundRadius.patch diff --git a/patches/server/0821-Validate-usernames.patch b/patches/server/0822-Validate-usernames.patch similarity index 100% rename from patches/server/0821-Validate-usernames.patch rename to patches/server/0822-Validate-usernames.patch diff --git a/patches/server/0822-Fix-saving-configs-with-more-long-comments.patch b/patches/server/0823-Fix-saving-configs-with-more-long-comments.patch similarity index 100% rename from patches/server/0822-Fix-saving-configs-with-more-long-comments.patch rename to patches/server/0823-Fix-saving-configs-with-more-long-comments.patch diff --git a/patches/server/0823-Make-water-animal-spawn-height-configurable.patch b/patches/server/0824-Make-water-animal-spawn-height-configurable.patch similarity index 100% rename from patches/server/0823-Make-water-animal-spawn-height-configurable.patch rename to patches/server/0824-Make-water-animal-spawn-height-configurable.patch diff --git a/patches/server/0824-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0825-Expose-vanilla-BiomeProvider-from-WorldInfo.patch similarity index 100% rename from patches/server/0824-Expose-vanilla-BiomeProvider-from-WorldInfo.patch rename to patches/server/0825-Expose-vanilla-BiomeProvider-from-WorldInfo.patch diff --git a/patches/server/0825-Add-config-option-for-worlds-affected-by-time-cmd.patch b/patches/server/0826-Add-config-option-for-worlds-affected-by-time-cmd.patch similarity index 100% rename from patches/server/0825-Add-config-option-for-worlds-affected-by-time-cmd.patch rename to patches/server/0826-Add-config-option-for-worlds-affected-by-time-cmd.patch diff --git a/patches/server/0826-Add-new-overload-to-PersistentDataContainer-has.patch b/patches/server/0827-Add-new-overload-to-PersistentDataContainer-has.patch similarity index 100% rename from patches/server/0826-Add-new-overload-to-PersistentDataContainer-has.patch rename to patches/server/0827-Add-new-overload-to-PersistentDataContainer-has.patch diff --git a/patches/server/0827-Multiple-Entries-with-Scoreboards.patch b/patches/server/0828-Multiple-Entries-with-Scoreboards.patch similarity index 100% rename from patches/server/0827-Multiple-Entries-with-Scoreboards.patch rename to patches/server/0828-Multiple-Entries-with-Scoreboards.patch diff --git a/patches/server/0828-Reset-placed-block-on-exception.patch b/patches/server/0829-Reset-placed-block-on-exception.patch similarity index 100% rename from patches/server/0828-Reset-placed-block-on-exception.patch rename to patches/server/0829-Reset-placed-block-on-exception.patch diff --git a/patches/server/0829-Add-configurable-height-for-slime-spawn.patch b/patches/server/0830-Add-configurable-height-for-slime-spawn.patch similarity index 100% rename from patches/server/0829-Add-configurable-height-for-slime-spawn.patch rename to patches/server/0830-Add-configurable-height-for-slime-spawn.patch diff --git a/patches/server/0830-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch b/patches/server/0831-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch similarity index 100% rename from patches/server/0830-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch rename to patches/server/0831-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch diff --git a/patches/server/0831-Fix-xp-reward-for-baby-zombies.patch b/patches/server/0832-Fix-xp-reward-for-baby-zombies.patch similarity index 100% rename from patches/server/0831-Fix-xp-reward-for-baby-zombies.patch rename to patches/server/0832-Fix-xp-reward-for-baby-zombies.patch diff --git a/patches/server/0832-Kick-on-main-for-illegal-chars.patch b/patches/server/0833-Kick-on-main-for-illegal-chars.patch similarity index 100% rename from patches/server/0832-Kick-on-main-for-illegal-chars.patch rename to patches/server/0833-Kick-on-main-for-illegal-chars.patch diff --git a/patches/server/0833-Multi-Block-Change-API-Implementation.patch b/patches/server/0834-Multi-Block-Change-API-Implementation.patch similarity index 100% rename from patches/server/0833-Multi-Block-Change-API-Implementation.patch rename to patches/server/0834-Multi-Block-Change-API-Implementation.patch diff --git a/patches/server/0834-Fix-NotePlayEvent.patch b/patches/server/0835-Fix-NotePlayEvent.patch similarity index 100% rename from patches/server/0834-Fix-NotePlayEvent.patch rename to patches/server/0835-Fix-NotePlayEvent.patch diff --git a/patches/server/0835-Freeze-Tick-Lock-API.patch b/patches/server/0836-Freeze-Tick-Lock-API.patch similarity index 100% rename from patches/server/0835-Freeze-Tick-Lock-API.patch rename to patches/server/0836-Freeze-Tick-Lock-API.patch diff --git a/patches/server/0836-Dolphin-API.patch b/patches/server/0837-Dolphin-API.patch similarity index 100% rename from patches/server/0836-Dolphin-API.patch rename to patches/server/0837-Dolphin-API.patch diff --git a/patches/server/0837-More-PotionEffectType-API.patch b/patches/server/0838-More-PotionEffectType-API.patch similarity index 100% rename from patches/server/0837-More-PotionEffectType-API.patch rename to patches/server/0838-More-PotionEffectType-API.patch diff --git a/patches/server/0838-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch b/patches/server/0839-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch similarity index 100% rename from patches/server/0838-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch rename to patches/server/0839-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch diff --git a/patches/server/0839-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0840-API-for-creating-command-sender-which-forwards-feedb.patch similarity index 100% rename from patches/server/0839-API-for-creating-command-sender-which-forwards-feedb.patch rename to patches/server/0840-API-for-creating-command-sender-which-forwards-feedb.patch diff --git a/patches/server/0840-Add-config-for-stronghold-seed.patch b/patches/server/0841-Add-config-for-stronghold-seed.patch similarity index 100% rename from patches/server/0840-Add-config-for-stronghold-seed.patch rename to patches/server/0841-Add-config-for-stronghold-seed.patch diff --git a/patches/server/0841-Implement-regenerateChunk.patch b/patches/server/0842-Implement-regenerateChunk.patch similarity index 100% rename from patches/server/0841-Implement-regenerateChunk.patch rename to patches/server/0842-Implement-regenerateChunk.patch diff --git a/patches/server/0842-Log-exceptions-thrown-during-chat-processing.patch b/patches/server/0843-Log-exceptions-thrown-during-chat-processing.patch similarity index 100% rename from patches/server/0842-Log-exceptions-thrown-during-chat-processing.patch rename to patches/server/0843-Log-exceptions-thrown-during-chat-processing.patch diff --git a/patches/server/0843-Fix-cancelled-powdered-snow-bucket-placement.patch b/patches/server/0844-Fix-cancelled-powdered-snow-bucket-placement.patch similarity index 100% rename from patches/server/0843-Fix-cancelled-powdered-snow-bucket-placement.patch rename to patches/server/0844-Fix-cancelled-powdered-snow-bucket-placement.patch diff --git a/patches/server/0844-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/server/0845-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch similarity index 100% rename from patches/server/0844-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch rename to patches/server/0845-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch diff --git a/patches/server/0845-Add-GameEvent-tags.patch b/patches/server/0846-Add-GameEvent-tags.patch similarity index 100% rename from patches/server/0845-Add-GameEvent-tags.patch rename to patches/server/0846-Add-GameEvent-tags.patch diff --git a/patches/server/0846-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch b/patches/server/0847-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch similarity index 100% rename from patches/server/0846-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch rename to patches/server/0847-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch diff --git a/patches/server/0847-Furnace-RecipesUsed-API.patch b/patches/server/0848-Furnace-RecipesUsed-API.patch similarity index 100% rename from patches/server/0847-Furnace-RecipesUsed-API.patch rename to patches/server/0848-Furnace-RecipesUsed-API.patch diff --git a/patches/server/0848-Configurable-sculk-sensor-listener-range.patch b/patches/server/0849-Configurable-sculk-sensor-listener-range.patch similarity index 100% rename from patches/server/0848-Configurable-sculk-sensor-listener-range.patch rename to patches/server/0849-Configurable-sculk-sensor-listener-range.patch diff --git a/patches/server/0849-Add-missing-block-data-mins-and-maxes.patch b/patches/server/0850-Add-missing-block-data-mins-and-maxes.patch similarity index 100% rename from patches/server/0849-Add-missing-block-data-mins-and-maxes.patch rename to patches/server/0850-Add-missing-block-data-mins-and-maxes.patch diff --git a/patches/server/0850-Option-to-have-default-CustomSpawners-in-custom-worl.patch b/patches/server/0851-Option-to-have-default-CustomSpawners-in-custom-worl.patch similarity index 100% rename from patches/server/0850-Option-to-have-default-CustomSpawners-in-custom-worl.patch rename to patches/server/0851-Option-to-have-default-CustomSpawners-in-custom-worl.patch diff --git a/patches/server/0851-Put-world-into-worldlist-before-initing-the-world.patch b/patches/server/0852-Put-world-into-worldlist-before-initing-the-world.patch similarity index 100% rename from patches/server/0851-Put-world-into-worldlist-before-initing-the-world.patch rename to patches/server/0852-Put-world-into-worldlist-before-initing-the-world.patch diff --git a/patches/server/0852-Fix-Entity-Position-Desync.patch b/patches/server/0853-Fix-Entity-Position-Desync.patch similarity index 100% rename from patches/server/0852-Fix-Entity-Position-Desync.patch rename to patches/server/0853-Fix-Entity-Position-Desync.patch diff --git a/patches/server/0853-Custom-Potion-Mixes.patch b/patches/server/0854-Custom-Potion-Mixes.patch similarity index 100% rename from patches/server/0853-Custom-Potion-Mixes.patch rename to patches/server/0854-Custom-Potion-Mixes.patch diff --git a/patches/server/0854-Fix-Fluid-tags-isTagged-method.patch b/patches/server/0855-Fix-Fluid-tags-isTagged-method.patch similarity index 100% rename from patches/server/0854-Fix-Fluid-tags-isTagged-method.patch rename to patches/server/0855-Fix-Fluid-tags-isTagged-method.patch diff --git a/patches/server/0855-Fix-World-locateNearestStructure.patch b/patches/server/0856-Fix-World-locateNearestStructure.patch similarity index 98% rename from patches/server/0855-Fix-World-locateNearestStructure.patch rename to patches/server/0856-Fix-World-locateNearestStructure.patch index 88d1937d0..5f068c831 100644 --- a/patches/server/0855-Fix-World-locateNearestStructure.patch +++ b/patches/server/0856-Fix-World-locateNearestStructure.patch @@ -23,7 +23,7 @@ index 6911c2bee078532255faa791d34a6c4e621b055f..26d912a96e8e614865b03dbcc166d38b if (Thread.currentThread() != this.serverThread) return; // Paper //this.getPlayerList().saveAll(); // Paper - we don't need to do this diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 0179e519c01897e373f6f9ed4af17dcf4469b762..2fff8ca8f0257e0768f49e64840742a705492619 100644 +index edeafd4c671d686c96bffc095fa81b9a4a6723a6..240281d99ccd5e1f5c463e0ed8296bebb84e31e1 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1881,7 +1881,16 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/0856-Force-close-world-loading-screen.patch b/patches/server/0857-Force-close-world-loading-screen.patch similarity index 100% rename from patches/server/0856-Force-close-world-loading-screen.patch rename to patches/server/0857-Force-close-world-loading-screen.patch diff --git a/patches/server/0857-Fix-falling-block-spawn-methods.patch b/patches/server/0858-Fix-falling-block-spawn-methods.patch similarity index 100% rename from patches/server/0857-Fix-falling-block-spawn-methods.patch rename to patches/server/0858-Fix-falling-block-spawn-methods.patch diff --git a/patches/server/0858-Expose-furnace-minecart-push-values.patch b/patches/server/0859-Expose-furnace-minecart-push-values.patch similarity index 100% rename from patches/server/0858-Expose-furnace-minecart-push-values.patch rename to patches/server/0859-Expose-furnace-minecart-push-values.patch diff --git a/patches/server/0859-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch b/patches/server/0860-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch similarity index 100% rename from patches/server/0859-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch rename to patches/server/0860-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch diff --git a/patches/server/0860-Fix-save-problems-on-shutdown.patch b/patches/server/0861-Fix-save-problems-on-shutdown.patch similarity index 97% rename from patches/server/0860-Fix-save-problems-on-shutdown.patch rename to patches/server/0861-Fix-save-problems-on-shutdown.patch index a1af2f03c..b0d99f739 100644 --- a/patches/server/0860-Fix-save-problems-on-shutdown.patch +++ b/patches/server/0861-Fix-save-problems-on-shutdown.patch @@ -55,7 +55,7 @@ index 26d912a96e8e614865b03dbcc166d38bdd097faf..7afc45a9dd0bdf343f5a970302777201 if (isOversleep) return canOversleep();// Paper - because of our changes, this logic is broken return this.forceTicks || this.runningTask() || Util.getMillis() < (this.mayHaveDelayedTasks ? this.delayedTasksMaxNextTickTime : this.nextTickTime); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 2fff8ca8f0257e0768f49e64840742a705492619..e3ac89534094ad4eab80496d2a7b92a4229c70ca 100644 +index 240281d99ccd5e1f5c463e0ed8296bebb84e31e1..c4fb20953a6b21759c50bf8fdbc24dc71bc42e54 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1272,7 +1272,13 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/0861-More-Projectile-API.patch b/patches/server/0862-More-Projectile-API.patch similarity index 100% rename from patches/server/0861-More-Projectile-API.patch rename to patches/server/0862-More-Projectile-API.patch diff --git a/patches/server/0862-Fix-swamp-hut-cat-generation-deadlock.patch b/patches/server/0863-Fix-swamp-hut-cat-generation-deadlock.patch similarity index 100% rename from patches/server/0862-Fix-swamp-hut-cat-generation-deadlock.patch rename to patches/server/0863-Fix-swamp-hut-cat-generation-deadlock.patch diff --git a/patches/server/0863-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0864-Don-t-allow-vehicle-movement-from-players-while-tele.patch similarity index 100% rename from patches/server/0863-Don-t-allow-vehicle-movement-from-players-while-tele.patch rename to patches/server/0864-Don-t-allow-vehicle-movement-from-players-while-tele.patch diff --git a/patches/server/0864-Implement-getComputedBiome-API.patch b/patches/server/0865-Implement-getComputedBiome-API.patch similarity index 100% rename from patches/server/0864-Implement-getComputedBiome-API.patch rename to patches/server/0865-Implement-getComputedBiome-API.patch diff --git a/patches/server/0865-Make-some-itemstacks-nonnull.patch b/patches/server/0866-Make-some-itemstacks-nonnull.patch similarity index 100% rename from patches/server/0865-Make-some-itemstacks-nonnull.patch rename to patches/server/0866-Make-some-itemstacks-nonnull.patch diff --git a/patches/server/0866-Add-debug-for-invalid-GameProfiles-on-skull-blocks-i.patch b/patches/server/0867-Add-debug-for-invalid-GameProfiles-on-skull-blocks-i.patch similarity index 100% rename from patches/server/0866-Add-debug-for-invalid-GameProfiles-on-skull-blocks-i.patch rename to patches/server/0867-Add-debug-for-invalid-GameProfiles-on-skull-blocks-i.patch diff --git a/patches/server/0867-Implement-enchantWithLevels-API.patch b/patches/server/0868-Implement-enchantWithLevels-API.patch similarity index 100% rename from patches/server/0867-Implement-enchantWithLevels-API.patch rename to patches/server/0868-Implement-enchantWithLevels-API.patch diff --git a/patches/server/0868-Fix-saving-in-unloadWorld.patch b/patches/server/0869-Fix-saving-in-unloadWorld.patch similarity index 100% rename from patches/server/0868-Fix-saving-in-unloadWorld.patch rename to patches/server/0869-Fix-saving-in-unloadWorld.patch diff --git a/patches/server/0869-Buffer-OOB-setBlock-calls.patch b/patches/server/0870-Buffer-OOB-setBlock-calls.patch similarity index 100% rename from patches/server/0869-Buffer-OOB-setBlock-calls.patch rename to patches/server/0870-Buffer-OOB-setBlock-calls.patch diff --git a/patches/server/0870-Add-TameableDeathMessageEvent.patch b/patches/server/0871-Add-TameableDeathMessageEvent.patch similarity index 100% rename from patches/server/0870-Add-TameableDeathMessageEvent.patch rename to patches/server/0871-Add-TameableDeathMessageEvent.patch diff --git a/patches/server/0871-Fix-new-block-data-for-EntityChangeBlockEvent-when-s.patch b/patches/server/0872-Fix-new-block-data-for-EntityChangeBlockEvent-when-s.patch similarity index 100% rename from patches/server/0871-Fix-new-block-data-for-EntityChangeBlockEvent-when-s.patch rename to patches/server/0872-Fix-new-block-data-for-EntityChangeBlockEvent-when-s.patch diff --git a/patches/server/0872-fix-player-loottables-running-when-mob-loot-gamerule.patch b/patches/server/0873-fix-player-loottables-running-when-mob-loot-gamerule.patch similarity index 100% rename from patches/server/0872-fix-player-loottables-running-when-mob-loot-gamerule.patch rename to patches/server/0873-fix-player-loottables-running-when-mob-loot-gamerule.patch diff --git a/patches/server/0873-Ensure-entity-passenger-world-matches-ridden-entity.patch b/patches/server/0874-Ensure-entity-passenger-world-matches-ridden-entity.patch similarity index 100% rename from patches/server/0873-Ensure-entity-passenger-world-matches-ridden-entity.patch rename to patches/server/0874-Ensure-entity-passenger-world-matches-ridden-entity.patch diff --git a/patches/server/0874-Guard-against-invalid-entity-positions.patch b/patches/server/0875-Guard-against-invalid-entity-positions.patch similarity index 100% rename from patches/server/0874-Guard-against-invalid-entity-positions.patch rename to patches/server/0875-Guard-against-invalid-entity-positions.patch diff --git a/patches/server/0875-cache-resource-keys.patch b/patches/server/0876-cache-resource-keys.patch similarity index 100% rename from patches/server/0875-cache-resource-keys.patch rename to patches/server/0876-cache-resource-keys.patch diff --git a/patches/server/0876-Allow-to-change-the-podium-for-the-EnderDragon.patch b/patches/server/0877-Allow-to-change-the-podium-for-the-EnderDragon.patch similarity index 100% rename from patches/server/0876-Allow-to-change-the-podium-for-the-EnderDragon.patch rename to patches/server/0877-Allow-to-change-the-podium-for-the-EnderDragon.patch diff --git a/patches/server/0877-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch b/patches/server/0878-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch similarity index 100% rename from patches/server/0877-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch rename to patches/server/0878-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch diff --git a/patches/server/0878-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch b/patches/server/0879-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch similarity index 100% rename from patches/server/0878-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch rename to patches/server/0879-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch diff --git a/patches/server/0879-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0880-Prevent-tile-entity-copies-loading-chunks.patch similarity index 100% rename from patches/server/0879-Prevent-tile-entity-copies-loading-chunks.patch rename to patches/server/0880-Prevent-tile-entity-copies-loading-chunks.patch diff --git a/patches/server/0880-Use-username-instead-of-display-name-in-PlayerList-g.patch b/patches/server/0881-Use-username-instead-of-display-name-in-PlayerList-g.patch similarity index 100% rename from patches/server/0880-Use-username-instead-of-display-name-in-PlayerList-g.patch rename to patches/server/0881-Use-username-instead-of-display-name-in-PlayerList-g.patch diff --git a/patches/server/0881-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch b/patches/server/0882-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch similarity index 100% rename from patches/server/0881-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch rename to patches/server/0882-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch diff --git a/patches/server/0882-Pass-ServerLevel-for-gamerule-callbacks.patch b/patches/server/0883-Pass-ServerLevel-for-gamerule-callbacks.patch similarity index 100% rename from patches/server/0882-Pass-ServerLevel-for-gamerule-callbacks.patch rename to patches/server/0883-Pass-ServerLevel-for-gamerule-callbacks.patch diff --git a/patches/server/0883-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch b/patches/server/0884-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch similarity index 100% rename from patches/server/0883-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch rename to patches/server/0884-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch diff --git a/patches/server/0884-WorldCreator-keepSpawnLoaded.patch b/patches/server/0885-WorldCreator-keepSpawnLoaded.patch similarity index 100% rename from patches/server/0884-WorldCreator-keepSpawnLoaded.patch rename to patches/server/0885-WorldCreator-keepSpawnLoaded.patch diff --git a/patches/server/0885-Fix-NPE-for-BlockDataMeta-getBlockData.patch b/patches/server/0886-Fix-NPE-for-BlockDataMeta-getBlockData.patch similarity index 100% rename from patches/server/0885-Fix-NPE-for-BlockDataMeta-getBlockData.patch rename to patches/server/0886-Fix-NPE-for-BlockDataMeta-getBlockData.patch diff --git a/patches/server/0886-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch b/patches/server/0887-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch similarity index 100% rename from patches/server/0886-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch rename to patches/server/0887-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch diff --git a/patches/server/0887-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/server/0888-Add-EntityDyeEvent-and-CollarColorable-interface.patch similarity index 100% rename from patches/server/0887-Add-EntityDyeEvent-and-CollarColorable-interface.patch rename to patches/server/0888-Add-EntityDyeEvent-and-CollarColorable-interface.patch diff --git a/patches/server/0888-Fire-CauldronLevelChange-on-initial-fill.patch b/patches/server/0889-Fire-CauldronLevelChange-on-initial-fill.patch similarity index 100% rename from patches/server/0888-Fire-CauldronLevelChange-on-initial-fill.patch rename to patches/server/0889-Fire-CauldronLevelChange-on-initial-fill.patch diff --git a/patches/server/0889-fix-powder-snow-cauldrons-not-turning-to-water.patch b/patches/server/0890-fix-powder-snow-cauldrons-not-turning-to-water.patch similarity index 100% rename from patches/server/0889-fix-powder-snow-cauldrons-not-turning-to-water.patch rename to patches/server/0890-fix-powder-snow-cauldrons-not-turning-to-water.patch diff --git a/patches/server/0890-Add-PlayerStopUsingItemEvent.patch b/patches/server/0891-Add-PlayerStopUsingItemEvent.patch similarity index 100% rename from patches/server/0890-Add-PlayerStopUsingItemEvent.patch rename to patches/server/0891-Add-PlayerStopUsingItemEvent.patch diff --git a/patches/server/0891-FallingBlock-auto-expire-setting.patch b/patches/server/0892-FallingBlock-auto-expire-setting.patch similarity index 100% rename from patches/server/0891-FallingBlock-auto-expire-setting.patch rename to patches/server/0892-FallingBlock-auto-expire-setting.patch diff --git a/patches/server/0892-Don-t-tick-markers.patch b/patches/server/0893-Don-t-tick-markers.patch similarity index 96% rename from patches/server/0892-Don-t-tick-markers.patch rename to patches/server/0893-Don-t-tick-markers.patch index 5426df347..b09da759d 100644 --- a/patches/server/0892-Don-t-tick-markers.patch +++ b/patches/server/0893-Don-t-tick-markers.patch @@ -22,7 +22,7 @@ index f7e223ddf21a90407f61351b89a98ac823932af7..3a8432f21e4520282f052d6d801a35b9 } }); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index e3ac89534094ad4eab80496d2a7b92a4229c70ca..2b4a778754fab7145068d548ddc716e5a90f3290 100644 +index c4fb20953a6b21759c50bf8fdbc24dc71bc42e54..c8294d999cdce92b4747f1e6fbbed7fcb90ce8df 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -2492,6 +2492,7 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/0893-Do-not-accept-invalid-client-settings.patch b/patches/server/0894-Do-not-accept-invalid-client-settings.patch similarity index 100% rename from patches/server/0893-Do-not-accept-invalid-client-settings.patch rename to patches/server/0894-Do-not-accept-invalid-client-settings.patch diff --git a/patches/server/0894-Add-support-for-Proxy-Protocol.patch b/patches/server/0895-Add-support-for-Proxy-Protocol.patch similarity index 97% rename from patches/server/0894-Add-support-for-Proxy-Protocol.patch rename to patches/server/0895-Add-support-for-Proxy-Protocol.patch index 49e38b184..ce026dce5 100644 --- a/patches/server/0894-Add-support-for-Proxy-Protocol.patch +++ b/patches/server/0895-Add-support-for-Proxy-Protocol.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add support for Proxy Protocol diff --git a/build.gradle.kts b/build.gradle.kts -index 8a2eef9f038de3f3a2269db0d1e06b1c380970a4..2af35d8d9e61f9c91f5dc6f16f03dfc2fb018231 100644 +index 16998a864e1c82bf4c1e1e08c0ebeb820ff33e59..91fa33c642547e84b7af9046938f30aed0e0c16a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -22,6 +22,7 @@ dependencies { diff --git a/patches/server/0895-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0896-Fix-OfflinePlayer-getBedSpawnLocation.patch similarity index 100% rename from patches/server/0895-Fix-OfflinePlayer-getBedSpawnLocation.patch rename to patches/server/0896-Fix-OfflinePlayer-getBedSpawnLocation.patch diff --git a/patches/server/0896-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch b/patches/server/0897-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch similarity index 100% rename from patches/server/0896-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch rename to patches/server/0897-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch diff --git a/patches/server/0897-Sanitize-Sent-BlockEntity-NBT.patch b/patches/server/0898-Sanitize-Sent-BlockEntity-NBT.patch similarity index 100% rename from patches/server/0897-Sanitize-Sent-BlockEntity-NBT.patch rename to patches/server/0898-Sanitize-Sent-BlockEntity-NBT.patch diff --git a/patches/server/0898-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0899-Prevent-entity-loading-causing-async-lookups.patch similarity index 100% rename from patches/server/0898-Prevent-entity-loading-causing-async-lookups.patch rename to patches/server/0899-Prevent-entity-loading-causing-async-lookups.patch diff --git a/patches/server/0899-Disable-component-selector-resolving-in-books-by-def.patch b/patches/server/0900-Disable-component-selector-resolving-in-books-by-def.patch similarity index 100% rename from patches/server/0899-Disable-component-selector-resolving-in-books-by-def.patch rename to patches/server/0900-Disable-component-selector-resolving-in-books-by-def.patch diff --git a/patches/server/0900-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0901-Throw-exception-on-world-create-while-being-ticked.patch similarity index 100% rename from patches/server/0900-Throw-exception-on-world-create-while-being-ticked.patch rename to patches/server/0901-Throw-exception-on-world-create-while-being-ticked.patch diff --git a/patches/server/0901-Add-Alternate-Current-redstone-implementation.patch b/patches/server/0902-Add-Alternate-Current-redstone-implementation.patch similarity index 99% rename from patches/server/0901-Add-Alternate-Current-redstone-implementation.patch rename to patches/server/0902-Add-Alternate-Current-redstone-implementation.patch index dac697b11..64d45bb8e 100644 --- a/patches/server/0901-Add-Alternate-Current-redstone-implementation.patch +++ b/patches/server/0902-Add-Alternate-Current-redstone-implementation.patch @@ -1921,7 +1921,7 @@ index 0000000000000000000000000000000000000000..dde98a49b0f4db023386f8e4b98c9934 + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 2b4a778754fab7145068d548ddc716e5a90f3290..d47bc255338a0a00d89f2e2ed97c745c8cbb946a 100644 +index c8294d999cdce92b4747f1e6fbbed7fcb90ce8df..50f0fa0ebfe5b34af6ce8162d18bd0f7b1a57fb1 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -216,6 +216,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1947,7 +1947,7 @@ index 2b4a778754fab7145068d548ddc716e5a90f3290..d47bc255338a0a00d89f2e2ed97c745c EntityCallbacks() {} diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index aba8e748123f70d48de638ea18afbbf5dfede504..fc94def35674b5c3054436015df1247508b7c093 100644 +index 13c4b7aee9b9802edbaf7e4df9e9355667e727bb..76aa5d1bcb2ccb554966dcb5916ae527d73f042e 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -1448,4 +1448,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0902-Dont-resent-entity-on-art-update.patch b/patches/server/0903-Dont-resent-entity-on-art-update.patch similarity index 100% rename from patches/server/0902-Dont-resent-entity-on-art-update.patch rename to patches/server/0903-Dont-resent-entity-on-art-update.patch diff --git a/patches/server/0903-Untrash-chat-handling.patch b/patches/server/0904-Untrash-chat-handling.patch similarity index 100% rename from patches/server/0903-Untrash-chat-handling.patch rename to patches/server/0904-Untrash-chat-handling.patch diff --git a/patches/server/0904-Add-missing-spawn-eggs.patch b/patches/server/0905-Add-missing-spawn-eggs.patch similarity index 100% rename from patches/server/0904-Add-missing-spawn-eggs.patch rename to patches/server/0905-Add-missing-spawn-eggs.patch