From 385f313a8b9be3182224330bfc321b4cadbc94e4 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Mon, 4 Jul 2022 16:38:06 +0200 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit/Spigot) (#8092) Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: d41796de SPIGOT-7071: Add Player#stopSound(SoundCategory category) 61dae5b2 SPIGOT-7011, SPIGOT-7065: Overhaul of structures CraftBukkit Changes: 991aeda12 SPIGOT-1729, SPIGOT-7090: Keep precision in teleportation between worlds 5c9a5f628 SPIGOT-7071: Add Player#stopSound(SoundCategory category) 68f888ded SPIGOT-7011, SPIGOT-7065: Overhaul of structures 0231a3746 Remove outdated build delay. Spigot Changes: 475f6008 Rebuild patches 8ce1761f Rebuild patches --- patches/api/0005-Adventure.patch | 54 +++++++------- patches/api/0007-Timings-v2.patch | 10 +-- .../0009-Player-affects-spawning-API.patch | 4 +- patches/api/0014-Add-view-distance-API.patch | 8 +- .../api/0018-Expose-server-CommandMap.patch | 6 +- ...cord-chat-API-from-spigot-subclasses.patch | 8 +- .../0023-Player-Tab-List-and-Title-APIs.patch | 4 +- .../api/0025-Complete-resource-pack-API.patch | 6 +- ...eload-permissions.yml-and-require-co.patch | 8 +- ...2-Allow-Reloading-of-Command-Aliases.patch | 8 +- ...0045-Add-String-based-Action-Bar-API.patch | 10 +-- ...rovide-E-TE-Chunk-count-stat-methods.patch | 4 +- ...n-option-to-prevent-player-names-fro.patch | 8 +- patches/api/0054-Fix-upstream-javadocs.patch | 8 +- .../api/0058-Basic-PlayerProfile-API.patch | 8 +- ...0-Ability-to-apply-mending-to-XP-API.patch | 4 +- .../0091-Player.setPlayerProfile-API.patch | 8 +- ...4-Add-openSign-method-to-HumanEntity.patch | 6 +- ...95-Add-Ban-Methods-to-Player-Objects.patch | 6 +- ...tional-world.getNearbyEntities-API-s.patch | 4 +- ...ld.spawnParticle-API-and-add-Builder.patch | 4 +- patches/api/0115-Expand-Explosions-API.patch | 4 +- .../0119-Add-World.getEntity-UUID-API.patch | 4 +- ...vide-Chunk-Coordinates-as-a-Long-API.patch | 4 +- ...Blocks-to-be-accessed-via-a-long-key.patch | 4 +- patches/api/0144-isChunkGenerated-API.patch | 4 +- patches/api/0146-Async-Chunks-API.patch | 4 +- ...e-attack-cooldown-methods-for-Player.patch | 4 +- patches/api/0157-Add-Material-Tags.patch | 8 +- patches/api/0160-Add-sun-related-API.patch | 4 +- ...ault-permission-message-configurable.patch | 8 +- .../0176-Fix-Spigot-annotation-mistakes.patch | 18 ++--- patches/api/0179-Add-Heightmap-API.patch | 4 +- ...184-Expose-the-internal-current-tick.patch | 8 +- ...191-Expose-MinecraftServer-isRunning.patch | 8 +- .../0195-Add-Player-Client-Options-API.patch | 4 +- patches/api/0201-Add-Mob-Goal-API.patch | 8 +- patches/api/0214-Brand-support.patch | 4 +- .../api/0228-Player-elytra-boost-API.patch | 4 +- patches/api/0256-Add-sendOpLevel-API.patch | 4 +- .../api/0258-Add-StructuresLocateEvent.patch | 6 +- patches/api/0285-More-World-API.patch | 6 +- patches/api/0296-Add-basic-Datapack-API.patch | 8 +- ...o-find-targets-for-lightning-strikes.patch | 4 +- .../0342-Add-player-health-update-API.patch | 4 +- patches/api/0358-Multi-Block-Change-API.patch | 4 +- .../api/0362-More-PotionEffectType-API.patch | 6 +- ...command-sender-which-forwards-feedb.patch} | 4 +- .../api/0363-Expand-the-Registry-API.patch | 36 --------- ...h => 0364-Implement-regenerateChunk.patch} | 4 +- ...-t-load-plugins-prefixed-with-a-dot.patch} | 0 ...gs.patch => 0366-Add-GameEvent-tags.patch} | 0 ...tch => 0367-Furnace-RecipesUsed-API.patch} | 0 ...gurable-sculk-sensor-listener-range.patch} | 0 ...d-missing-block-data-mins-and-maxes.patch} | 0 ...s.patch => 0370-Custom-Potion-Mixes.patch} | 8 +- ...Expose-furnace-minecart-push-values.patch} | 0 ...I.patch => 0372-More-Projectile-API.patch} | 0 ...ch => 0373-Add-getComputedBiome-API.patch} | 0 ...h => 0374-Add-enchantWithLevels-API.patch} | 0 ... 0375-Add-TameableDeathMessageEvent.patch} | 0 ...hange-the-podium-of-the-EnderDragon.patch} | 0 ...ing-amount-to-PlayerItemDamageEvent.patch} | 0 ...0378-Update-Folder-Uses-Plugin-Name.patch} | 0 ...> 0379-WorldCreator-keepSpawnLoaded.patch} | 0 ...Event-and-CollarColorable-interface.patch} | 0 ...> 0381-Add-PlayerStopUsingItemEvent.patch} | 0 ...82-FallingBlock-auto-expire-setting.patch} | 0 ...t-Type.patch => 0383-Keyed-Cat-Type.patch} | 0 ... => 0384-Add-WardenAngerChangeEvent.patch} | 0 ...I.patch => 0385-Nameable-Banner-API.patch} | 0 ...atch => 0386-Add-Player-getFishHook.patch} | 0 .../server/0003-Build-system-changes.patch | 4 +- patches/server/0004-Paper-config-files.patch | 12 +-- patches/server/0006-CB-fixes.patch | 4 +- patches/server/0007-MC-Utils.patch | 8 +- patches/server/0008-Adventure.patch | 44 +++++------ patches/server/0009-Paper-command.patch | 6 +- patches/server/0012-Timings-v2.patch | 18 ++--- ...-option-to-load-extra-plugin-jars-no.patch | 8 +- ...ient-crashes-server-lists-and-Mojang.patch | 6 +- .../0024-Player-affects-spawning-API.patch | 4 +- ...025-Further-improve-server-tick-loop.patch | 4 +- ...026-Only-refresh-abilities-if-needed.patch | 4 +- patches/server/0027-Entity-Origin-API.patch | 12 +-- ...nfigurable-top-of-nether-void-damage.patch | 4 +- ...39-Implement-PlayerLocaleChangeEvent.patch | 4 +- ...layer-View-Distance-API-placeholders.patch | 6 +- ...47-Ensure-commands-are-not-ran-async.patch | 4 +- .../0049-Expose-server-CommandMap.patch | 4 +- ...dd-configurable-portal-search-radius.patch | 4 +- .../server/0054-Add-velocity-warnings.patch | 6 +- ...ble-inter-world-teleportation-safety.patch | 4 +- ...oreboards-for-non-players-by-default.patch | 6 +- .../0061-Complete-resource-pack-API.patch | 4 +- ...ading-permissions.yml-before-plugins.patch | 6 +- ...llow-Reloading-of-Custom-Permissions.patch | 4 +- .../0064-Remove-Metadata-on-reload.patch | 4 +- ...th-absorb-values-and-repair-bad-data.patch | 6 +- ...070-Use-a-Shared-Random-for-Entities.patch | 6 +- ...-API-Replenishable-Lootables-Feature.patch | 4 +- ...setting-for-proxy-online-mode-status.patch | 4 +- ...9-Allow-Reloading-of-Command-Aliases.patch | 4 +- ...rovide-E-TE-Chunk-count-stat-methods.patch | 6 +- ...llow-entities-to-ride-themselves-572.patch | 4 +- .../server/0126-Cap-Entity-Collisions.patch | 6 +- ...n-option-to-prevent-player-names-fro.patch | 4 +- ...oleAppender-for-console-improvements.patch | 12 +-- .../server/0139-Add-UnknownCommandEvent.patch | 4 +- .../server/0140-Basic-PlayerProfile-API.patch | 8 +- .../server/0144-Entity-fromMobSpawner.patch | 10 +-- .../server/0166-AsyncTabCompleteEvent.patch | 4 +- ...8-Ability-to-apply-mending-to-XP-API.patch | 4 +- .../0181-Player.setPlayerProfile-API.patch | 10 +-- .../server/0182-getPlayerUniqueId-API.patch | 4 +- ...86-Flag-to-disable-the-channel-limit.patch | 4 +- ...ld.spawnParticle-API-and-add-Builder.patch | 4 +- .../server/0210-Expand-Explosions-API.patch | 4 +- ...4-Implement-World.getEntity-UUID-API.patch | 4 +- .../0215-InventoryCloseEvent-Reason-API.patch | 4 +- ...-more-information-to-Entity.toString.patch | 4 +- ...ies-option-to-debug-dupe-uuid-issues.patch | 4 +- ...dd-Early-Warning-Feature-to-WatchDog.patch | 6 +- ...loadChunk-int-int-false-load-unconve.patch | 4 +- ...52-Asynchronous-chunk-IO-and-loading.patch | 6 +- ...e-attack-cooldown-methods-for-Player.patch | 4 +- .../server/0255-Improve-death-events.patch | 4 +- patches/server/0269-Add-sun-related-API.patch | 4 +- ...3-Add-Velocity-IP-Forwarding-Support.patch | 4 +- ...ault-permission-message-configurable.patch | 4 +- ...entity-dismount-during-teleportation.patch | 10 +-- ...-replace-OfflinePlayer-getLastPlayed.patch | 8 +- ...-remove-from-being-called-on-Players.patch | 4 +- .../0306-Entity-getEntitySpawnReason.patch | 12 +-- patches/server/0314-Add-Heightmap-API.patch | 4 +- ...isPrimaryThread-and-MinecraftServer-.patch | 4 +- ...le-Keep-Spawn-Loaded-range-per-world.patch | 4 +- ...324-Expose-the-internal-current-tick.patch | 4 +- ...325-Fix-World-isChunkGenerated-calls.patch | 6 +- .../0350-Entity-Activation-Range-2.0.patch | 8 +- patches/server/0353-Anti-Xray.patch | 12 +-- ...x-items-vanishing-through-end-portal.patch | 4 +- ...n-to-nerf-pigmen-from-nether-portals.patch | 8 +- ...-Add-tick-times-API-and-mspt-command.patch | 4 +- ...374-Expose-MinecraftServer-isRunning.patch | 4 +- ...ptimize-Collision-to-not-load-chunks.patch | 4 +- .../0385-Improved-Watchdog-Support.patch | 6 +- ...pawn-point-if-spawn-in-unloaded-worl.patch | 4 +- ...m-duplication-issues-and-teleport-is.patch | 12 +-- patches/server/0404-Expose-game-version.patch | 4 +- .../server/0407-misc-debugging-dumps.patch | 4 +- .../server/0410-Implement-Mob-Goal-API.patch | 4 +- ...Wait-for-Async-Tasks-during-shutdown.patch | 4 +- ...tance-map-to-optimise-entity-tracker.patch | 6 +- ...sure-Entity-AABB-s-are-never-invalid.patch | 4 +- ...ld-Difficulty-Remembering-Difficulty.patch | 4 +- ...-Plugin-Tickets-to-API-Chunk-Methods.patch | 20 ++--- ...k-Priority-Urgency-System-for-Chunks.patch | 12 +-- ...keLighting-call-to-World-spigot-stri.patch | 4 +- patches/server/0475-Brand-support.patch | 4 +- .../server/0476-Add-setMaxPlayers-API.patch | 4 +- ...geEvent-not-firing-for-all-use-cases.patch | 4 +- ...ortation-and-cancel-velocity-if-tele.patch | 8 +- patches/server/0501-Entity-isTicking.patch | 6 +- ...-Add-getOfflinePlayerIfCached-String.patch | 4 +- ...r-spawnParticle-x-y-z-precision-loss.patch | 4 +- ...-should-not-bypass-cramming-gamerule.patch | 4 +- ...d-missing-default-perms-for-commands.patch | 8 +- .../0557-Added-WorldGameRuleChangeEvent.patch | 6 +- patches/server/0569-Add-PaperRegistry.patch | 10 +-- ...n-for-requiring-a-player-participant.patch | 4 +- .../server/0604-Expand-world-key-API.patch | 14 ++-- patches/server/0626-More-World-API.patch | 6 +- .../server/0642-Add-basic-Datapack-API.patch | 8 +- ...ditions-to-PlayerGameModeChangeEvent.patch | 4 +- ...x-and-optimise-world-force-upgrading.patch | 6 +- ...cause-to-Weather-ThunderChangeEvents.patch | 6 +- .../0664-Fix-dangerous-end-portal-logic.patch | 6 +- .../0668-add-per-world-spawn-limits.patch | 4 +- .../0686-Add-System.out-err-catcher.patch | 4 +- .../server/0692-Add-PlayerSetSpawnEvent.patch | 4 +- .../0707-Add-back-EntityPortalExitEvent.patch | 6 +- ...o-find-targets-for-lightning-strikes.patch | 4 +- ...18-Add-Raw-Byte-Entity-Serialization.patch | 6 +- ...aper-mobcaps-and-paper-playermobcaps.patch | 8 +- ...ite-entity-bounding-box-lookup-calls.patch | 8 +- .../0738-Do-not-copy-visible-chunks.patch | 12 +-- ...l-more-information-in-watchdog-dumps.patch | 8 +- ...date-head-rotation-in-missing-places.patch | 6 +- ...-t-attempt-to-teleport-dead-entities.patch | 4 +- .../0799-Add-player-health-update-API.patch | 6 +- ...llow-delegation-to-vanilla-chunk-gen.patch | 10 +-- ...single-and-multi-AABB-VoxelShapes-an.patch | 8 +- ...ward-CraftEntity-in-teleport-command.patch | 6 +- ...vanilla-BiomeProvider-from-WorldInfo.patch | 10 +-- ...ulti-Block-Change-API-Implementation.patch | 4 +- .../server/0837-Freeze-Tick-Lock-API.patch | 14 ++-- ...-command-sender-which-forwards-feedb.patch | 4 +- .../0843-Implement-regenerateChunk.patch | 16 ++-- ...date-calls-to-CraftServer-getSpawnLi.patch | 4 +- patches/server/0847-Add-GameEvent-tags.patch | 18 ++--- ...o-worldlist-before-initing-the-world.patch | 4 +- patches/server/0856-Custom-Potion-Mixes.patch | 8 +- ...7-Replace-player-chunk-loader-system.patch | 6 +- ...859-Fix-World-locateNearestStructure.patch | 74 ------------------- ...59-Force-close-world-loading-screen.patch} | 0 ...860-Fix-falling-block-spawn-methods.patch} | 6 +- ...Expose-furnace-minecart-push-values.patch} | 0 ...ojectileHitEvent-for-piercing-arrow.patch} | 0 ... 0863-Fix-save-problems-on-shutdown.patch} | 4 +- ...I.patch => 0864-More-Projectile-API.patch} | 0 ...x-swamp-hut-cat-generation-deadlock.patch} | 0 ...le-movement-from-players-while-tele.patch} | 2 +- ...0867-Implement-getComputedBiome-API.patch} | 0 ...> 0868-Make-some-itemstacks-nonnull.patch} | 0 ...alid-GameProfiles-on-skull-blocks-i.patch} | 0 ...870-Implement-enchantWithLevels-API.patch} | 0 ...h => 0871-Fix-saving-in-unloadWorld.patch} | 4 +- ...h => 0872-Buffer-OOB-setBlock-calls.patch} | 0 ... 0873-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} | 4 +- ...rd-against-invalid-entity-positions.patch} | 2 +- ...s.patch => 0878-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} | 6 +- ...ing-amount-to-PlayerItemDamageEvent.patch} | 0 ...> 0887-WorldCreator-keepSpawnLoaded.patch} | 4 +- ...-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 ...> 0893-Add-PlayerStopUsingItemEvent.patch} | 2 +- ...94-FallingBlock-auto-expire-setting.patch} | 0 ...rs.patch => 0895-Don-t-tick-markers.patch} | 4 +- ...-not-accept-invalid-client-settings.patch} | 0 ...0897-Add-support-for-Proxy-Protocol.patch} | 2 +- ...x-OfflinePlayer-getBedSpawnLocation.patch} | 0 ...tory-for-smokers-and-blast-furnaces.patch} | 0 ... 0900-Sanitize-Sent-BlockEntity-NBT.patch} | 0 ...ntity-loading-causing-async-lookups.patch} | 4 +- ...-selector-resolving-in-books-by-def.patch} | 0 ...-on-world-create-while-being-ticked.patch} | 8 +- ...ate-Current-redstone-implementation.patch} | 4 +- ...05-Dont-resent-entity-on-art-update.patch} | 0 ...patch => 0906-Untrash-chat-handling.patch} | 2 +- ...atch => 0907-Add-missing-spawn-eggs.patch} | 0 ...-invalid-signature-login-stacktrace.patch} | 2 +- ... => 0909-Add-WardenAngerChangeEvent.patch} | 0 ...strict-advancement-dimension-checks.patch} | 0 ...tant-BlockStateListPopulator-method.patch} | 0 ...I.patch => 0912-Nameable-Banner-API.patch} | 0 ...-252439.patch => 0913-Fix-MC-252439.patch} | 0 ...roadcast-messages-to-command-blocks.patch} | 4 +- ...pty-items-from-being-added-to-world.patch} | 2 +- ...check-in-ChunkGenerator-findNearest.patch} | 0 ...hPotion-and-LingeringPotion-spawnin.patch} | 0 ...nent-in-resource-pack-rejection-mes.patch} | 2 +- ...atch => 0919-Add-Player-getFishHook.patch} | 0 ...chunk-for-dynamic-game-event-listen.patch} | 0 ...ureGrowEvent-for-mangrove-propagule.patch} | 0 work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 271 files changed, 640 insertions(+), 748 deletions(-) rename patches/api/{0364-API-for-creating-command-sender-which-forwards-feedb.patch => 0363-API-for-creating-command-sender-which-forwards-feedb.patch} (91%) delete mode 100644 patches/api/0363-Expand-the-Registry-API.patch rename patches/api/{0365-Implement-regenerateChunk.patch => 0364-Implement-regenerateChunk.patch} (85%) rename patches/api/{0366-Don-t-load-plugins-prefixed-with-a-dot.patch => 0365-Don-t-load-plugins-prefixed-with-a-dot.patch} (100%) rename patches/api/{0367-Add-GameEvent-tags.patch => 0366-Add-GameEvent-tags.patch} (100%) rename patches/api/{0368-Furnace-RecipesUsed-API.patch => 0367-Furnace-RecipesUsed-API.patch} (100%) rename patches/api/{0369-Configurable-sculk-sensor-listener-range.patch => 0368-Configurable-sculk-sensor-listener-range.patch} (100%) rename patches/api/{0370-Add-missing-block-data-mins-and-maxes.patch => 0369-Add-missing-block-data-mins-and-maxes.patch} (100%) rename patches/api/{0371-Custom-Potion-Mixes.patch => 0370-Custom-Potion-Mixes.patch} (94%) rename patches/api/{0372-Expose-furnace-minecart-push-values.patch => 0371-Expose-furnace-minecart-push-values.patch} (100%) rename patches/api/{0373-More-Projectile-API.patch => 0372-More-Projectile-API.patch} (100%) rename patches/api/{0374-Add-getComputedBiome-API.patch => 0373-Add-getComputedBiome-API.patch} (100%) rename patches/api/{0375-Add-enchantWithLevels-API.patch => 0374-Add-enchantWithLevels-API.patch} (100%) rename patches/api/{0376-Add-TameableDeathMessageEvent.patch => 0375-Add-TameableDeathMessageEvent.patch} (100%) rename patches/api/{0377-Allow-to-change-the-podium-of-the-EnderDragon.patch => 0376-Allow-to-change-the-podium-of-the-EnderDragon.patch} (100%) rename patches/api/{0378-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch => 0377-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch} (100%) rename patches/api/{0379-Update-Folder-Uses-Plugin-Name.patch => 0378-Update-Folder-Uses-Plugin-Name.patch} (100%) rename patches/api/{0380-WorldCreator-keepSpawnLoaded.patch => 0379-WorldCreator-keepSpawnLoaded.patch} (100%) rename patches/api/{0381-Add-EntityDyeEvent-and-CollarColorable-interface.patch => 0380-Add-EntityDyeEvent-and-CollarColorable-interface.patch} (100%) rename patches/api/{0382-Add-PlayerStopUsingItemEvent.patch => 0381-Add-PlayerStopUsingItemEvent.patch} (100%) rename patches/api/{0383-FallingBlock-auto-expire-setting.patch => 0382-FallingBlock-auto-expire-setting.patch} (100%) rename patches/api/{0384-Keyed-Cat-Type.patch => 0383-Keyed-Cat-Type.patch} (100%) rename patches/api/{0385-Add-WardenAngerChangeEvent.patch => 0384-Add-WardenAngerChangeEvent.patch} (100%) rename patches/api/{0386-Nameable-Banner-API.patch => 0385-Nameable-Banner-API.patch} (100%) rename patches/api/{0387-Add-Player-getFishHook.patch => 0386-Add-Player-getFishHook.patch} (100%) delete mode 100644 patches/server/0859-Fix-World-locateNearestStructure.patch rename patches/server/{0860-Force-close-world-loading-screen.patch => 0859-Force-close-world-loading-screen.patch} (100%) rename patches/server/{0861-Fix-falling-block-spawn-methods.patch => 0860-Fix-falling-block-spawn-methods.patch} (93%) rename patches/server/{0862-Expose-furnace-minecart-push-values.patch => 0861-Expose-furnace-minecart-push-values.patch} (100%) rename patches/server/{0863-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch => 0862-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch} (100%) rename patches/server/{0864-Fix-save-problems-on-shutdown.patch => 0863-Fix-save-problems-on-shutdown.patch} (94%) rename patches/server/{0865-More-Projectile-API.patch => 0864-More-Projectile-API.patch} (100%) rename patches/server/{0866-Fix-swamp-hut-cat-generation-deadlock.patch => 0865-Fix-swamp-hut-cat-generation-deadlock.patch} (100%) rename patches/server/{0867-Don-t-allow-vehicle-movement-from-players-while-tele.patch => 0866-Don-t-allow-vehicle-movement-from-players-while-tele.patch} (93%) rename patches/server/{0868-Implement-getComputedBiome-API.patch => 0867-Implement-getComputedBiome-API.patch} (100%) rename patches/server/{0869-Make-some-itemstacks-nonnull.patch => 0868-Make-some-itemstacks-nonnull.patch} (100%) rename patches/server/{0870-Add-debug-for-invalid-GameProfiles-on-skull-blocks-i.patch => 0869-Add-debug-for-invalid-GameProfiles-on-skull-blocks-i.patch} (100%) rename patches/server/{0871-Implement-enchantWithLevels-API.patch => 0870-Implement-enchantWithLevels-API.patch} (100%) rename patches/server/{0872-Fix-saving-in-unloadWorld.patch => 0871-Fix-saving-in-unloadWorld.patch} (83%) rename patches/server/{0873-Buffer-OOB-setBlock-calls.patch => 0872-Buffer-OOB-setBlock-calls.patch} (100%) rename patches/server/{0874-Add-TameableDeathMessageEvent.patch => 0873-Add-TameableDeathMessageEvent.patch} (100%) rename patches/server/{0875-Fix-new-block-data-for-EntityChangeBlockEvent-when-s.patch => 0874-Fix-new-block-data-for-EntityChangeBlockEvent-when-s.patch} (100%) rename patches/server/{0876-fix-player-loottables-running-when-mob-loot-gamerule.patch => 0875-fix-player-loottables-running-when-mob-loot-gamerule.patch} (100%) rename patches/server/{0877-Ensure-entity-passenger-world-matches-ridden-entity.patch => 0876-Ensure-entity-passenger-world-matches-ridden-entity.patch} (88%) rename patches/server/{0878-Guard-against-invalid-entity-positions.patch => 0877-Guard-against-invalid-entity-positions.patch} (95%) rename patches/server/{0879-cache-resource-keys.patch => 0878-cache-resource-keys.patch} (100%) rename patches/server/{0880-Allow-to-change-the-podium-for-the-EnderDragon.patch => 0879-Allow-to-change-the-podium-for-the-EnderDragon.patch} (100%) rename patches/server/{0881-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch => 0880-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch} (100%) rename patches/server/{0882-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch => 0881-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch} (100%) rename patches/server/{0883-Prevent-tile-entity-copies-loading-chunks.patch => 0882-Prevent-tile-entity-copies-loading-chunks.patch} (100%) rename patches/server/{0884-Use-username-instead-of-display-name-in-PlayerList-g.patch => 0883-Use-username-instead-of-display-name-in-PlayerList-g.patch} (100%) rename patches/server/{0885-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch => 0884-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch} (100%) rename patches/server/{0886-Pass-ServerLevel-for-gamerule-callbacks.patch => 0885-Pass-ServerLevel-for-gamerule-callbacks.patch} (98%) rename patches/server/{0887-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch => 0886-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch} (100%) rename patches/server/{0888-WorldCreator-keepSpawnLoaded.patch => 0887-WorldCreator-keepSpawnLoaded.patch} (84%) rename patches/server/{0889-Fix-NPE-for-BlockDataMeta-getBlockData.patch => 0888-Fix-NPE-for-BlockDataMeta-getBlockData.patch} (100%) rename patches/server/{0890-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch => 0889-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch} (100%) rename patches/server/{0891-Add-EntityDyeEvent-and-CollarColorable-interface.patch => 0890-Add-EntityDyeEvent-and-CollarColorable-interface.patch} (100%) rename patches/server/{0892-Fire-CauldronLevelChange-on-initial-fill.patch => 0891-Fire-CauldronLevelChange-on-initial-fill.patch} (100%) rename patches/server/{0893-fix-powder-snow-cauldrons-not-turning-to-water.patch => 0892-fix-powder-snow-cauldrons-not-turning-to-water.patch} (100%) rename patches/server/{0894-Add-PlayerStopUsingItemEvent.patch => 0893-Add-PlayerStopUsingItemEvent.patch} (91%) rename patches/server/{0895-FallingBlock-auto-expire-setting.patch => 0894-FallingBlock-auto-expire-setting.patch} (100%) rename patches/server/{0896-Don-t-tick-markers.patch => 0895-Don-t-tick-markers.patch} (94%) rename patches/server/{0897-Do-not-accept-invalid-client-settings.patch => 0896-Do-not-accept-invalid-client-settings.patch} (100%) rename patches/server/{0898-Add-support-for-Proxy-Protocol.patch => 0897-Add-support-for-Proxy-Protocol.patch} (97%) rename patches/server/{0899-Fix-OfflinePlayer-getBedSpawnLocation.patch => 0898-Fix-OfflinePlayer-getBedSpawnLocation.patch} (100%) rename patches/server/{0900-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch => 0899-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch} (100%) rename patches/server/{0901-Sanitize-Sent-BlockEntity-NBT.patch => 0900-Sanitize-Sent-BlockEntity-NBT.patch} (100%) rename patches/server/{0902-Prevent-entity-loading-causing-async-lookups.patch => 0901-Prevent-entity-loading-causing-async-lookups.patch} (94%) rename patches/server/{0903-Disable-component-selector-resolving-in-books-by-def.patch => 0902-Disable-component-selector-resolving-in-books-by-def.patch} (100%) rename patches/server/{0904-Throw-exception-on-world-create-while-being-ticked.patch => 0903-Throw-exception-on-world-create-while-being-ticked.patch} (90%) rename patches/server/{0905-Add-Alternate-Current-redstone-implementation.patch => 0904-Add-Alternate-Current-redstone-implementation.patch} (99%) rename patches/server/{0906-Dont-resent-entity-on-art-update.patch => 0905-Dont-resent-entity-on-art-update.patch} (100%) rename patches/server/{0907-Untrash-chat-handling.patch => 0906-Untrash-chat-handling.patch} (98%) rename patches/server/{0908-Add-missing-spawn-eggs.patch => 0907-Add-missing-spawn-eggs.patch} (100%) rename patches/server/{0909-Remove-invalid-signature-login-stacktrace.patch => 0908-Remove-invalid-signature-login-stacktrace.patch} (93%) rename patches/server/{0910-Add-WardenAngerChangeEvent.patch => 0909-Add-WardenAngerChangeEvent.patch} (100%) rename patches/server/{0911-Add-option-for-strict-advancement-dimension-checks.patch => 0910-Add-option-for-strict-advancement-dimension-checks.patch} (100%) rename patches/server/{0912-Add-missing-important-BlockStateListPopulator-method.patch => 0911-Add-missing-important-BlockStateListPopulator-method.patch} (100%) rename patches/server/{0913-Nameable-Banner-API.patch => 0912-Nameable-Banner-API.patch} (100%) rename patches/server/{0914-Fix-MC-252439.patch => 0913-Fix-MC-252439.patch} (100%) rename patches/server/{0915-Don-t-broadcast-messages-to-command-blocks.patch => 0914-Don-t-broadcast-messages-to-command-blocks.patch} (92%) rename patches/server/{0916-Prevent-empty-items-from-being-added-to-world.patch => 0915-Prevent-empty-items-from-being-added-to-world.patch} (96%) rename patches/server/{0917-Fix-missing-null-check-in-ChunkGenerator-findNearest.patch => 0916-Fix-missing-null-check-in-ChunkGenerator-findNearest.patch} (100%) rename patches/server/{0918-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch => 0917-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch} (100%) rename patches/server/{0919-Don-t-print-component-in-resource-pack-rejection-mes.patch => 0918-Don-t-print-component-in-resource-pack-rejection-mes.patch} (94%) rename patches/server/{0920-Add-Player-getFishHook.patch => 0919-Add-Player-getFishHook.patch} (100%) rename patches/server/{0921-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch => 0920-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch} (100%) rename patches/server/{0922-Call-StructureGrowEvent-for-mangrove-propagule.patch => 0921-Call-StructureGrowEvent-for-mangrove-propagule.patch} (100%) diff --git a/patches/api/0005-Adventure.patch b/patches/api/0005-Adventure.patch index 149b6198cc..b28fbac9f0 100644 --- a/patches/api/0005-Adventure.patch +++ b/patches/api/0005-Adventure.patch @@ -7,7 +7,7 @@ Co-authored-by: zml Co-authored-by: Jake Potrebic diff --git a/build.gradle.kts b/build.gradle.kts -index f0423df165bf7d0f3fad21d26b64f31ba3e6aeee..7b8196db1fd1e283dc9ef71e3fe5137cc5920ba9 100644 +index cedf145d5024e1ed9ae0d815e7ad0afb87c9a8b0..237a0beff61f2384b9e9e18a9d7119fd1916e1bd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,17 +8,37 @@ java { @@ -475,7 +475,7 @@ index 0000000000000000000000000000000000000000..bff9a6295db367c6b89d69fb55459a40 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 9db999c8c9645fa0161bc3a85fbfdd09283989fd..b23b6bf1af91c9460fdb231000df6191ec673544 100644 +index 5029d98816c137fcc7068bd5596d6a38d96ee877..ba57a093a2df3c65036377e3093eedabeda7c6f5 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -357,7 +357,9 @@ public final class Bukkit { @@ -810,7 +810,7 @@ index 803fa0019869127ee8c7e4fb1777a59c43e66f8a..c65f0d6569c130b4920a9e71ad24af64 + // Paper end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 485848dfa12bda15adda0d8f3a83f779a9ec05fe..01f4329d23a5e33f321df394107eaf1b918f8859 100644 +index 6d6810cc51732830ef139f7099fbc5a45b124e8e..5af7da1d3d62cada69240e2d22db2a32278b0074 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -58,13 +58,13 @@ import org.jetbrains.annotations.Nullable; @@ -1025,7 +1025,7 @@ index 485848dfa12bda15adda0d8f3a83f779a9ec05fe..01f4329d23a5e33f321df394107eaf1b String getShutdownMessage(); /** -@@ -1635,7 +1744,9 @@ public interface Server extends PluginMessageRecipient { +@@ -1650,7 +1759,9 @@ public interface Server extends PluginMessageRecipient { * Sends the component to the player * * @param component the components to send @@ -1035,7 +1035,7 @@ index 485848dfa12bda15adda0d8f3a83f779a9ec05fe..01f4329d23a5e33f321df394107eaf1b public void broadcast(@NotNull net.md_5.bungee.api.chat.BaseComponent component) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -1644,7 +1755,9 @@ public interface Server extends PluginMessageRecipient { +@@ -1659,7 +1770,9 @@ public interface Server extends PluginMessageRecipient { * Sends an array of components as a single message to the player * * @param components the components to send @@ -1139,10 +1139,10 @@ index efb97712cc9dc7c1e12a59f5b94e4f2ad7c6b7d8..3024468af4c073324e536c1cb26beffb return warning == null || warning.value(); } diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 9fa83c728cf686ef0b9913a86873a3d58492c16b..cc491837d149da716f197577f51a25ec31c03344 100644 +index 7e0c6c57976a00f989fe4e5dce83cd986b460e72..1d3bb553c944f5920e81e295f8cd5b7194d37aac 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -40,7 +40,7 @@ import org.jetbrains.annotations.Nullable; +@@ -43,7 +43,7 @@ import org.jetbrains.annotations.Nullable; /** * Represents a world, which may contain entities, chunks and blocks */ @@ -1151,7 +1151,7 @@ index 9fa83c728cf686ef0b9913a86873a3d58492c16b..cc491837d149da716f197577f51a25ec /** * Gets the {@link Block} at the given coordinates -@@ -635,6 +635,14 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -638,6 +638,14 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @NotNull public List getPlayers(); @@ -1644,7 +1644,7 @@ index 922d33ff4fa9d901d3c5c0a9f8399ad8aef62c37..cd287978c34873c7122794e4f3e76291 + // Paper end } diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33bde29296 100644 +index 6cac14eabdbdf7fd8c322d5fb4dfbfbb266ae940..c580ec19cd2b55a4aeca49d9cd984ce7c2848cef 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -37,7 +37,28 @@ import org.jetbrains.annotations.Nullable; @@ -1822,7 +1822,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 /** * Says a message (or runs a command). * -@@ -500,6 +586,90 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -507,6 +593,90 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull EquipmentSlot slot, @NotNull ItemStack item); @@ -1913,7 +1913,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 /** * Send a sign change. This fakes a sign change packet for a user at * a certain location. This will not actually change the world in any way. -@@ -514,7 +684,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -521,7 +691,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param lines the new text on the sign or null to clear it * @throws IllegalArgumentException if location is null * @throws IllegalArgumentException if lines is non-null and has a length less than 4 @@ -1923,7 +1923,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 public void sendSignChange(@NotNull Location loc, @Nullable String[] lines) throws IllegalArgumentException; /** -@@ -533,7 +705,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -540,7 +712,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException if location is null * @throws IllegalArgumentException if dyeColor is null * @throws IllegalArgumentException if lines is non-null and has a length less than 4 @@ -1933,7 +1933,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException; /** -@@ -553,7 +727,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -560,7 +734,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException if location is null * @throws IllegalArgumentException if dyeColor is null * @throws IllegalArgumentException if lines is non-null and has a length less than 4 @@ -1943,7 +1943,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor, boolean hasGlowingText) throws IllegalArgumentException; /** -@@ -1028,6 +1204,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1035,6 +1211,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * pack correctly. * * @@ -1951,7 +1951,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 * @param url The URL from which the client will download the resource * pack. The string must contain only US-ASCII characters and should * be encoded as per RFC 1738. -@@ -1041,8 +1218,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1048,8 +1225,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException Thrown if the hash is not 20 bytes * long. */ @@ -2009,7 +2009,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 /** * Request that the player's client download and switch resource packs. *

-@@ -1117,6 +1343,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1124,6 +1350,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * pack correctly. * * @@ -2017,7 +2017,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 * @param url The URL from which the client will download the resource * pack. The string must contain only US-ASCII characters and should * be encoded as per RFC 1738. -@@ -1132,8 +1359,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1139,8 +1366,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException Thrown if the hash is not 20 bytes * long. */ @@ -2075,7 +2075,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 /** * Gets the Scoreboard displayed to this player * -@@ -1249,7 +1525,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1256,7 +1532,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param title Title text * @param subtitle Subtitle text @@ -2084,7 +2084,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 */ @Deprecated public void sendTitle(@Nullable String title, @Nullable String subtitle); -@@ -1268,7 +1544,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1275,7 +1551,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param fadeIn time in ticks for titles to fade in. Defaults to 10. * @param stay time in ticks for titles to stay. Defaults to 70. * @param fadeOut time in ticks for titles to fade out. Defaults to 20. @@ -2094,7 +2094,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 public void sendTitle(@Nullable String title, @Nullable String subtitle, int fadeIn, int stay, int fadeOut); /** -@@ -1495,6 +1773,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1502,6 +1780,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public int getClientViewDistance(); @@ -2109,7 +2109,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 /** * Gets the player's estimated ping in milliseconds. * -@@ -1520,8 +1806,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1527,8 +1813,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * they wish. * * @return the player's locale @@ -2120,7 +2120,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 public String getLocale(); /** -@@ -1563,6 +1851,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1570,6 +1858,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public boolean isAllowingServerListings(); @@ -2135,7 +2135,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 // Spigot start public class Spigot extends Entity.Spigot { -@@ -1617,11 +1913,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1624,11 +1920,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM throw new UnsupportedOperationException("Not supported yet."); } @@ -2149,7 +2149,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 @Override public void sendMessage(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); -@@ -1632,7 +1930,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1639,7 +1937,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param position the screen position * @param component the components to send @@ -2159,7 +2159,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent component) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -1642,7 +1942,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1649,7 +1949,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param position the screen position * @param components the components to send @@ -2169,7 +2169,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -1653,7 +1955,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1660,7 +1962,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param position the screen position * @param sender the sender of the message * @param component the components to send @@ -2179,7 +2179,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent component) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -1664,7 +1968,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1671,7 +1975,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param position the screen position * @param sender the sender of the message * @param components the components to send diff --git a/patches/api/0007-Timings-v2.patch b/patches/api/0007-Timings-v2.patch index e7762105fa..1bcbda8a36 100644 --- a/patches/api/0007-Timings-v2.patch +++ b/patches/api/0007-Timings-v2.patch @@ -2791,7 +2791,7 @@ index 0000000000000000000000000000000000000000..5989ee21297935651b0edd44b8239e65 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index b23b6bf1af91c9460fdb231000df6191ec673544..95693bab8051ff3e94c3a184c8a2691eb3b49ec5 100644 +index ba57a093a2df3c65036377e3093eedabeda7c6f5..9b118067de5eb54b266b8349fce7efdec2cb36eb 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -801,7 +801,6 @@ public final class Bukkit { @@ -2803,10 +2803,10 @@ index b23b6bf1af91c9460fdb231000df6191ec673544..95693bab8051ff3e94c3a184c8a2691e /** diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 01f4329d23a5e33f321df394107eaf1b918f8859..1e717c3096f3cccf1ce4b0e849c43525011c84de 100644 +index 5af7da1d3d62cada69240e2d22db2a32278b0074..0a433146ebec4416339c4ab33f3523a22d23d332 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1740,6 +1740,26 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1755,6 +1755,26 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi throw new UnsupportedOperationException("Not supported yet."); } @@ -3391,10 +3391,10 @@ index 516d7fc7812aac343782861d0d567f54aa578c2a..00000000000000000000000000000000 - // Spigot end -} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index fcab7ff11d06ae712d56d1eead5dca33bde29296..ca678d83218cd3179ebf4a0d0675e643b75e3471 100644 +index c580ec19cd2b55a4aeca49d9cd984ce7c2848cef..ab127d622b51e423883cbd9a7218f1cff6c2fdc1 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1973,7 +1973,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1980,7 +1980,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Deprecated // Paper public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); diff --git a/patches/api/0009-Player-affects-spawning-API.patch b/patches/api/0009-Player-affects-spawning-API.patch index af3db8bc3d..dc3d1182f1 100644 --- a/patches/api/0009-Player-affects-spawning-API.patch +++ b/patches/api/0009-Player-affects-spawning-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player affects spawning API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index ca678d83218cd3179ebf4a0d0675e643b75e3471..ccb812686a428211f4f384b4f3cf9e0fb694ac80 100644 +index ab127d622b51e423883cbd9a7218f1cff6c2fdc1..e03ab25cf2add5edbf0d3a28451ac47360fad080 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1812,6 +1812,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1819,6 +1819,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Deprecated // Paper public String getLocale(); diff --git a/patches/api/0014-Add-view-distance-API.patch b/patches/api/0014-Add-view-distance-API.patch index 6b14a22617..fee18bd531 100644 --- a/patches/api/0014-Add-view-distance-API.patch +++ b/patches/api/0014-Add-view-distance-API.patch @@ -8,10 +8,10 @@ Add per player no-tick, tick, and send view distances. Also add send/no-tick view distance to World. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index cc491837d149da716f197577f51a25ec31c03344..8c77eef8e4e6d1ff4ad2fb0712ccfe89ab66acd6 100644 +index 1d3bb553c944f5920e81e295f8cd5b7194d37aac..887b85849803cee22a41a701b43cdc9085ba0dc3 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -2597,6 +2597,62 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -2673,6 +2673,62 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient int getSimulationDistance(); // Spigot end @@ -75,10 +75,10 @@ index cc491837d149da716f197577f51a25ec31c03344..8c77eef8e4e6d1ff4ad2fb0712ccfe89 public class Spigot { diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index ccb812686a428211f4f384b4f3cf9e0fb694ac80..522fa0eac6474b31dc682281d69a3227e52e4692 100644 +index e03ab25cf2add5edbf0d3a28451ac47360fad080..b362a0e3954a2a58b896a9951f3e31c1706959ec 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1826,6 +1826,78 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1833,6 +1833,78 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param affects Whether the player can affect mob spawning */ public void setAffectsSpawning(boolean affects); diff --git a/patches/api/0018-Expose-server-CommandMap.patch b/patches/api/0018-Expose-server-CommandMap.patch index 20fa9c5149..49cd011dd3 100644 --- a/patches/api/0018-Expose-server-CommandMap.patch +++ b/patches/api/0018-Expose-server-CommandMap.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 362b879996623832d436bb987630b115b7d86f99..5345e05755b13553491211a84d263c80ce347adf 100644 +index fcdce3b516821d42327452790cc66663e4677613..d225e4a5587aa76a85a4b56e11d4563bdc97fe3f 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2060,6 +2060,19 @@ public final class Bukkit { +@@ -2077,6 +2077,19 @@ public final class Bukkit { return server.getUnsafe(); } @@ -29,7 +29,7 @@ index 362b879996623832d436bb987630b115b7d86f99..5345e05755b13553491211a84d263c80 public static Server.Spigot spigot() { return server.spigot(); diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 8dda96966061bb3a12b63fff74a378857ec43200..aca9050075f3041e2b248368e378c354e7b553d6 100644 +index f52dd4c4602638bf02f676f6415d7051c0439cce..f6f3297231d3a9e9f142faf992437cc99e241109 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -1602,6 +1602,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi diff --git a/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch index f88ebfe80c..503595c80d 100644 --- a/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch +++ b/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Graduate bungeecord chat API from spigot subclasses Change Javadoc to be accurate diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 4486e8ddcfc3aa1403bbfce28c0356c174709a9b..1bd3780f8331074b24f9f4e2bbeeb2b37514aaa3 100644 +index d225e4a5587aa76a85a4b56e11d4563bdc97fe3f..e13ffa85390f2feda49309ba02ccf75856e4c8f2 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -378,6 +378,30 @@ public final class Bukkit { @@ -41,7 +41,7 @@ index 4486e8ddcfc3aa1403bbfce28c0356c174709a9b..1bd3780f8331074b24f9f4e2bbeeb2b3 * Gets the name of the update folder. The update folder is used to safely * update plugins at the right moment on a plugin load. diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 96d6b49d609142fe93d5d07e65dd126adb5c2bde..75bc4937f7a895c1bbf0a0800035ad8f7e0c5f46 100644 +index f6f3297231d3a9e9f142faf992437cc99e241109..1dcf90071bae51e6b767ac26eb6624d372acac68 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -311,6 +311,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @@ -76,10 +76,10 @@ index 96d6b49d609142fe93d5d07e65dd126adb5c2bde..75bc4937f7a895c1bbf0a0800035ad8f * Gets the name of the update folder. The update folder is used to safely * update plugins at the right moment on a plugin load. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 522fa0eac6474b31dc682281d69a3227e52e4692..ed686f90801c591fc3e1d34b5e4be7715c7565ee 100644 +index b362a0e3954a2a58b896a9951f3e31c1706959ec..84172c4356dd15e0d7de611d871584d8bb69b974 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -740,6 +740,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -747,6 +747,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void sendMap(@NotNull MapView map); diff --git a/patches/api/0023-Player-Tab-List-and-Title-APIs.patch b/patches/api/0023-Player-Tab-List-and-Title-APIs.patch index a17698b412..7257eb3e8a 100644 --- a/patches/api/0023-Player-Tab-List-and-Title-APIs.patch +++ b/patches/api/0023-Player-Tab-List-and-Title-APIs.patch @@ -432,7 +432,7 @@ index 0000000000000000000000000000000000000000..9e90c3df567a65b48a0b9341f784eb90 + } +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index ed686f90801c591fc3e1d34b5e4be7715c7565ee..fbccf2214e4567ca6b0c6d65d9a1dffab491ed40 100644 +index 84172c4356dd15e0d7de611d871584d8bb69b974..0f1f8494443e74d0a3a5326a006be6edfc9b3ce2 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -2,6 +2,7 @@ package org.bukkit.entity; @@ -443,7 +443,7 @@ index ed686f90801c591fc3e1d34b5e4be7715c7565ee..fbccf2214e4567ca6b0c6d65d9a1dffa import org.bukkit.DyeColor; import org.bukkit.Effect; import org.bukkit.GameMode; -@@ -774,6 +775,131 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -781,6 +782,131 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) { spigot().sendMessage(position, components); } diff --git a/patches/api/0025-Complete-resource-pack-API.patch b/patches/api/0025-Complete-resource-pack-API.patch index acd79e072c..ebab3fa62a 100644 --- a/patches/api/0025-Complete-resource-pack-API.patch +++ b/patches/api/0025-Complete-resource-pack-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Complete resource pack API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index fbccf2214e4567ca6b0c6d65d9a1dffab491ed40..8f459b0c69a524e235464611b118354501dc018c 100644 +index 0f1f8494443e74d0a3a5326a006be6edfc9b3ce2..51b9d9a85f6de2add0797c816593b38e35e7cfb4 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1291,7 +1291,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1298,7 +1298,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException Thrown if the URL is null. * @throws IllegalArgumentException Thrown if the URL is too long. The * length restriction is an implementation specific arbitrary value. @@ -18,7 +18,7 @@ index fbccf2214e4567ca6b0c6d65d9a1dffab491ed40..8f459b0c69a524e235464611b1183545 public void setResourcePack(@NotNull String url); /** -@@ -2107,6 +2109,124 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2114,6 +2116,124 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM default net.kyori.adventure.text.event.HoverEvent asHoverEvent(final @NotNull java.util.function.UnaryOperator op) { return net.kyori.adventure.text.event.HoverEvent.showEntity(op.apply(net.kyori.adventure.text.event.HoverEvent.ShowEntity.of(this.getType().getKey(), this.getUniqueId(), this.displayName()))); } diff --git a/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch b/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch index cf2780a8e8..3b185a563c 100644 --- a/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch +++ b/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add command to reload permissions.yml and require confirm to diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index de853c6cfd5d00e0f88aa436974d8a439adaff35..6234738637f99e62894efef2b7f6499792771856 100644 +index e13ffa85390f2feda49309ba02ccf75856e4c8f2..c015c0b7678a141c84f0c0e339fe7c2a93988685 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2095,6 +2095,13 @@ public final class Bukkit { +@@ -2112,6 +2112,13 @@ public final class Bukkit { public static org.bukkit.command.CommandMap getCommandMap() { return server.getCommandMap(); } @@ -24,10 +24,10 @@ index de853c6cfd5d00e0f88aa436974d8a439adaff35..6234738637f99e62894efef2b7f64997 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 6d9d49e334121a02780e39008df5c14f8bc0bfec..23150f346362322ec042c26717d4c6a58b756a6e 100644 +index 1dcf90071bae51e6b767ac26eb6624d372acac68..7204f8ea6271dbb94406f07bc98ec322f928fcea 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1848,4 +1848,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1863,4 +1863,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull Spigot spigot(); // Spigot end diff --git a/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch b/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch index d4c14319f8..c705f46a23 100644 --- a/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch +++ b/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 6234738637f99e62894efef2b7f6499792771856..02476f858240f5f8d1cb5d621cc52f7de351c311 100644 +index c015c0b7678a141c84f0c0e339fe7c2a93988685..48eb69015cc70b0734f220f95fc0d8ffcd84954a 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2102,6 +2102,15 @@ public final class Bukkit { +@@ -2119,6 +2119,15 @@ public final class Bukkit { public static void reloadPermissions() { server.reloadPermissions(); } @@ -26,10 +26,10 @@ index 6234738637f99e62894efef2b7f6499792771856..02476f858240f5f8d1cb5d621cc52f7d @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 23150f346362322ec042c26717d4c6a58b756a6e..f33d66bf9ff18545468949a57004e6b99de2fb9c 100644 +index 7204f8ea6271dbb94406f07bc98ec322f928fcea..f7c54fbffe6b39d4f73b45cbc7c23f3508217f74 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1850,4 +1850,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1865,4 +1865,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi // Spigot end void reloadPermissions(); // Paper diff --git a/patches/api/0045-Add-String-based-Action-Bar-API.patch b/patches/api/0045-Add-String-based-Action-Bar-API.patch index b9b41a52b1..6f0006dda2 100644 --- a/patches/api/0045-Add-String-based-Action-Bar-API.patch +++ b/patches/api/0045-Add-String-based-Action-Bar-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add String based Action Bar API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 8f459b0c69a524e235464611b118354501dc018c..fb3bea65817564e2e78a0db03cc290a912ae21bc 100644 +index 51b9d9a85f6de2add0797c816593b38e35e7cfb4..6e6ec4095ac9d6c17b1ee657133f6521ead35226 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -3,6 +3,7 @@ package org.bukkit.entity; @@ -16,7 +16,7 @@ index 8f459b0c69a524e235464611b118354501dc018c..fb3bea65817564e2e78a0db03cc290a9 import org.bukkit.DyeColor; import org.bukkit.Effect; import org.bukkit.GameMode; -@@ -742,6 +743,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -749,6 +750,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public void sendMap(@NotNull MapView map); // Paper start @@ -56,7 +56,7 @@ index 8f459b0c69a524e235464611b118354501dc018c..fb3bea65817564e2e78a0db03cc290a9 /** * Sends the component to the player * -@@ -769,9 +803,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -776,9 +810,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Sends an array of components as a single message to the specified screen position of this player * @@ -68,7 +68,7 @@ index 8f459b0c69a524e235464611b118354501dc018c..fb3bea65817564e2e78a0db03cc290a9 public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) { spigot().sendMessage(position, components); } -@@ -2298,6 +2334,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2305,6 +2341,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Sends the component to the specified screen position of this player * @@ -76,7 +76,7 @@ index 8f459b0c69a524e235464611b118354501dc018c..fb3bea65817564e2e78a0db03cc290a9 * @param position the screen position * @param component the components to send * @deprecated use {@code sendMessage} methods that accept {@link net.kyori.adventure.text.Component} -@@ -2310,6 +2347,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2317,6 +2354,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Sends an array of components as a single message to the specified screen position of this player * diff --git a/patches/api/0050-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/api/0050-Provide-E-TE-Chunk-count-stat-methods.patch index 04fed90e60..91de10f039 100644 --- a/patches/api/0050-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/patches/api/0050-Provide-E-TE-Chunk-count-stat-methods.patch @@ -7,10 +7,10 @@ Provides counts without the ineffeciency of using .getEntities().size() which creates copy of the collections. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 8c77eef8e4e6d1ff4ad2fb0712ccfe89ab66acd6..9adbc26b78e64188fc5b3f00980d310f817b43bc 100644 +index 887b85849803cee22a41a701b43cdc9085ba0dc3..e0683e69029e8ac423bda79521045b06673eabf3 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -42,6 +42,33 @@ import org.jetbrains.annotations.Nullable; +@@ -45,6 +45,33 @@ import org.jetbrains.annotations.Nullable; */ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient, Metadatable, PersistentDataHolder, Keyed, net.kyori.adventure.audience.ForwardingAudience { // Paper diff --git a/patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch index e450215f30..5cbb798fb2 100644 --- a/patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add configuration option to prevent player names from being diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 02476f858240f5f8d1cb5d621cc52f7de351c311..878439cc18eb5f82224e845f073d0bea0aa20e9b 100644 +index 48eb69015cc70b0734f220f95fc0d8ffcd84954a..aea30cacbf43c4c6d30b0c9e0d59fcd2db444ad8 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2111,6 +2111,16 @@ public final class Bukkit { +@@ -2128,6 +2128,16 @@ public final class Bukkit { public static boolean reloadCommandAliases() { return server.reloadCommandAliases(); } @@ -27,10 +27,10 @@ index 02476f858240f5f8d1cb5d621cc52f7de351c311..878439cc18eb5f82224e845f073d0bea @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index f33d66bf9ff18545468949a57004e6b99de2fb9c..699eb44178522ccdac6f5ee6f8da941dc4a16b59 100644 +index f7c54fbffe6b39d4f73b45cbc7c23f3508217f74..5e4e6e83ac6b52493cb285561425bed53ffff2b6 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1852,4 +1852,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1867,4 +1867,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi void reloadPermissions(); // Paper boolean reloadCommandAliases(); // Paper diff --git a/patches/api/0054-Fix-upstream-javadocs.patch b/patches/api/0054-Fix-upstream-javadocs.patch index ff1980a240..86737f5199 100644 --- a/patches/api/0054-Fix-upstream-javadocs.patch +++ b/patches/api/0054-Fix-upstream-javadocs.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix upstream javadocs Upstream still refuses to use Java 8 with the API so they are likely unaware these are even issues. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 878439cc18eb5f82224e845f073d0bea0aa20e9b..a60ca25736f11c1b72172e8fd4861cfc07905882 100644 +index aea30cacbf43c4c6d30b0c9e0d59fcd2db444ad8..e25a6532deca1df59eff2ab59697b851535ee952 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -1331,6 +1331,8 @@ public final class Bukkit { @@ -19,7 +19,7 @@ index 878439cc18eb5f82224e845f073d0bea0aa20e9b..a60ca25736f11c1b72172e8fd4861cfc * @return an array containing all previous players */ diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 699eb44178522ccdac6f5ee6f8da941dc4a16b59..5971605d399f4812037ec8217fbd6f43429e55d1 100644 +index 5e4e6e83ac6b52493cb285561425bed53ffff2b6..2bfbb0ce71c8c5f8bd9bbd908488831b94ce583f 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -509,13 +509,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @@ -91,7 +91,7 @@ index be9334a8b5fba9181ad63c211697e798be63da25..0514a141cb93a650be38c63d4336d46e * Instructs this Mob to set the specified LivingEntity as its target. *

diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index fb3bea65817564e2e78a0db03cc290a912ae21bc..575db13060693b5e1ecc12911140f3b37e2fe773 100644 +index 6e6ec4095ac9d6c17b1ee657133f6521ead35226..cf4beb02cce7b87facd5465291286f1b5e97db59 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -303,15 +303,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -114,7 +114,7 @@ index fb3bea65817564e2e78a0db03cc290a912ae21bc..575db13060693b5e1ecc12911140f3b3 *

* Note: This will overwrite the players current inventory, health, * motion, etc, with the state from the saved dat file. -@@ -760,7 +760,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -767,7 +767,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * Use supplied alternative character to the section symbol to represent legacy color codes. * diff --git a/patches/api/0058-Basic-PlayerProfile-API.patch b/patches/api/0058-Basic-PlayerProfile-API.patch index ec06b1dfb3..806e90fd49 100644 --- a/patches/api/0058-Basic-PlayerProfile-API.patch +++ b/patches/api/0058-Basic-PlayerProfile-API.patch @@ -289,10 +289,10 @@ index 0000000000000000000000000000000000000000..7b3b6ef533d32169fbeca389bd61cfc6 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index a60ca25736f11c1b72172e8fd4861cfc07905882..9368087971288f45056ac16a8087f8c2a7df462f 100644 +index e25a6532deca1df59eff2ab59697b851535ee952..be46b7aa492226d2c943b9a15f0e009878be422c 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2123,6 +2123,83 @@ public final class Bukkit { +@@ -2140,6 +2140,83 @@ public final class Bukkit { public static boolean suggestPlayerNamesWhenNullTabCompletions() { return server.suggestPlayerNamesWhenNullTabCompletions(); } @@ -377,10 +377,10 @@ index a60ca25736f11c1b72172e8fd4861cfc07905882..9368087971288f45056ac16a8087f8c2 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 5971605d399f4812037ec8217fbd6f43429e55d1..29196330f4fd875d7c0183e13e484d3c9925db0b 100644 +index 2bfbb0ce71c8c5f8bd9bbd908488831b94ce583f..04752eebe9df1138207a969fb1492a1f55b0b753 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1860,5 +1860,74 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1875,5 +1875,74 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return true if player names should be suggested */ boolean suggestPlayerNamesWhenNullTabCompletions(); diff --git a/patches/api/0080-Ability-to-apply-mending-to-XP-API.patch b/patches/api/0080-Ability-to-apply-mending-to-XP-API.patch index 6bec6c6367..99f6eff47d 100644 --- a/patches/api/0080-Ability-to-apply-mending-to-XP-API.patch +++ b/patches/api/0080-Ability-to-apply-mending-to-XP-API.patch @@ -10,10 +10,10 @@ of giving the player experience points. Both an API To standalone mend, and apply mending logic to .giveExp has been added. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index f9f708bda24751353dd61951418731a2eea5abb0..33c83abbdca9fa6e5d29e8d79221682dc1218687 100644 +index 7f29fd1891b0b0c2037dc6fb7620e6de29083feb..dc8740d5410aebaa17e014d43b7d9fb29ae2a3d0 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1026,12 +1026,33 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1033,12 +1033,33 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void resetPlayerWeather(); diff --git a/patches/api/0091-Player.setPlayerProfile-API.patch b/patches/api/0091-Player.setPlayerProfile-API.patch index 2e24648180..cd273731b2 100644 --- a/patches/api/0091-Player.setPlayerProfile-API.patch +++ b/patches/api/0091-Player.setPlayerProfile-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Player.setPlayerProfile API This can be useful for changing name or skins after a player has logged in. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 9368087971288f45056ac16a8087f8c2a7df462f..9d093f2393f2657e16c205b6b8e67c8e4c19bddc 100644 +index be46b7aa492226d2c943b9a15f0e009878be422c..edbe7363b2da4f89cc31cbf9521c9a6271060ccd 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -1196,8 +1196,10 @@ public final class Bukkit { @@ -43,7 +43,7 @@ index 9368087971288f45056ac16a8087f8c2a7df462f..9d093f2393f2657e16c205b6b8e67c8e return server.createPlayerProfile(name); } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 29196330f4fd875d7c0183e13e484d3c9925db0b..a46cb6762b6c88611642625a38230d6cec363a1a 100644 +index 04752eebe9df1138207a969fb1492a1f55b0b753..ca784abeb7f31c65e87df7750ae19aa9a8b65d72 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -1014,8 +1014,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @@ -80,10 +80,10 @@ index 29196330f4fd875d7c0183e13e484d3c9925db0b..a46cb6762b6c88611642625a38230d6c /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 33c83abbdca9fa6e5d29e8d79221682dc1218687..a329feec55b85fee5348b34ec2789698bafe3c9b 100644 +index dc8740d5410aebaa17e014d43b7d9fb29ae2a3d0..6768ab96fa14d3e297c37fb899943b9f3fd0cc1d 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2284,6 +2284,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2291,6 +2291,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * was {@link org.bukkit.event.player.PlayerResourcePackStatusEvent.Status#SUCCESSFULLY_LOADED} */ boolean hasResourcePack(); diff --git a/patches/api/0094-Add-openSign-method-to-HumanEntity.patch b/patches/api/0094-Add-openSign-method-to-HumanEntity.patch index 5aa43f3ffd..a4fe0d32ff 100644 --- a/patches/api/0094-Add-openSign-method-to-HumanEntity.patch +++ b/patches/api/0094-Add-openSign-method-to-HumanEntity.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add openSign method to HumanEntity diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index 8a479c7dfd3825fab8bb057d8afa5ae0cb01b071..6ef0d7f3dcb779fb7dc5786e7433262092908eaa 100644 +index bcdf267485f1d68ccc7ea105d5d40bc9bc9db2a2..bd9222b9b5e7ec1f3aebe37838775f345e868150 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java @@ -479,6 +479,14 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder @@ -24,10 +24,10 @@ index 8a479c7dfd3825fab8bb057d8afa5ae0cb01b071..6ef0d7f3dcb779fb7dc5786e74332620 /** * Make the entity drop the item in their hand. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index a329feec55b85fee5348b34ec2789698bafe3c9b..907f718a59cfa9030f160f660bb4b16fe890a088 100644 +index 6768ab96fa14d3e297c37fb899943b9f3fd0cc1d..2eb9b5b2f7449e381914be26aec4e0236c368f47 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2139,7 +2139,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2146,7 +2146,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Open a Sign for editing by the Player. * diff --git a/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch b/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch index 9ea467e02f..86284e6483 100644 --- a/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch +++ b/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch @@ -8,7 +8,7 @@ Allows a more logical API for banning players. player.banPlayer("Breaking the rules"); diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java -index 76e511e7f619960ab50d534c17489e2bc87ebf5a..9d774a10b9543e9293cb10ee9d7c9adebbfef34c 100644 +index c5eed3234a8c04bfa9d707685746fc2b40ec8bfc..93f86bb30725dff5dbfcccf15012ffd1cee237bf 100644 --- a/src/main/java/org/bukkit/OfflinePlayer.java +++ b/src/main/java/org/bukkit/OfflinePlayer.java @@ -58,6 +58,61 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio @@ -74,10 +74,10 @@ index 76e511e7f619960ab50d534c17489e2bc87ebf5a..9d774a10b9543e9293cb10ee9d7c9ade /** * Checks if this player is whitelisted or not diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 907f718a59cfa9030f160f660bb4b16fe890a088..090037e58c8e5c096d7b0402a9c43bf29e6d68fb 100644 +index 2eb9b5b2f7449e381914be26aec4e0236c368f47..5093a978dd44f0e6e14af7d8e12b50b602f0b2bd 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -743,6 +743,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -750,6 +750,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public void sendMap(@NotNull MapView map); // Paper start diff --git a/patches/api/0098-Additional-world.getNearbyEntities-API-s.patch b/patches/api/0098-Additional-world.getNearbyEntities-API-s.patch index 0282cabb0c..8b9cd24e5b 100644 --- a/patches/api/0098-Additional-world.getNearbyEntities-API-s.patch +++ b/patches/api/0098-Additional-world.getNearbyEntities-API-s.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Additional world.getNearbyEntities API's Provides more methods to get nearby entities, and filter by types and predicates diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 9adbc26b78e64188fc5b3f00980d310f817b43bc..1e171fe09eab0487f039a51c36021fb9df0302c9 100644 +index e0683e69029e8ac423bda79521045b06673eabf3..cf7baa9cd691b02aeaa4d94d5e999e661e003a44 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -1,6 +1,9 @@ @@ -19,7 +19,7 @@ index 9adbc26b78e64188fc5b3f00980d310f817b43bc..1e171fe09eab0487f039a51c36021fb9 import java.util.Collection; import java.util.HashMap; import java.util.List; -@@ -654,6 +657,256 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -657,6 +660,256 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @NotNull public Collection getEntitiesByClasses(@NotNull Class... classes); diff --git a/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch index a7e1fd09e3..bd90d2165d 100644 --- a/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -522,10 +522,10 @@ index 9f646171b3ac617fb5217d5ab9c106c3100a8c8d..2315fffc4a1a5bebc50a703e9df59df8 * Options which can be applied to redstone dust particles - a particle * color and size. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 1e171fe09eab0487f039a51c36021fb9df0302c9..5c01bd7c97a52a172c95de43570b97bc2a5ffa35 100644 +index cf7baa9cd691b02aeaa4d94d5e999e661e003a44..9ffe69abd0aa706d56e4eff3587cb453a437ba26 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -2784,7 +2784,57 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -2787,7 +2787,57 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient * @param data the data to use for the particle or null, * the type of this depends on {@link Particle#getDataType()} */ diff --git a/patches/api/0115-Expand-Explosions-API.patch b/patches/api/0115-Expand-Explosions-API.patch index 9ccb381e50..fee2c850bb 100644 --- a/patches/api/0115-Expand-Explosions-API.patch +++ b/patches/api/0115-Expand-Explosions-API.patch @@ -106,10 +106,10 @@ index bbc636baef2e2b0586c7d517be428438ca26ab66..a8d4f7972d07ddde171b4a1ec470a4c6 * Returns a list of entities within a bounding box centered around a Location. * diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 5c01bd7c97a52a172c95de43570b97bc2a5ffa35..3bb24a54df61b9c3b44c9013b156385ae5f650fa 100644 +index 9ffe69abd0aa706d56e4eff3587cb453a437ba26..147fa28678f09ebc0fdaf3f26ba0693a74a683f2 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -1421,6 +1421,88 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -1424,6 +1424,88 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient */ public boolean createExplosion(@NotNull Location loc, float power, boolean setFire); diff --git a/patches/api/0119-Add-World.getEntity-UUID-API.patch b/patches/api/0119-Add-World.getEntity-UUID-API.patch index c39c988e3b..7fbb9ef9d6 100644 --- a/patches/api/0119-Add-World.getEntity-UUID-API.patch +++ b/patches/api/0119-Add-World.getEntity-UUID-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add World.getEntity(UUID) API diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 3bb24a54df61b9c3b44c9013b156385ae5f650fa..c51f086057b8265ff044dce89442c6ffff901e43 100644 +index 147fa28678f09ebc0fdaf3f26ba0693a74a683f2..f46032ac8d48ba172e6a9157dd6b477ddf2cd4cb 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -941,6 +941,17 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -944,6 +944,17 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @NotNull public Collection getNearbyEntities(@NotNull Location location, double x, double y, double z); diff --git a/patches/api/0136-Provide-Chunk-Coordinates-as-a-Long-API.patch b/patches/api/0136-Provide-Chunk-Coordinates-as-a-Long-API.patch index ac3c5b21cf..493bf262e6 100644 --- a/patches/api/0136-Provide-Chunk-Coordinates-as-a-Long-API.patch +++ b/patches/api/0136-Provide-Chunk-Coordinates-as-a-Long-API.patch @@ -44,10 +44,10 @@ index 06737962b844275a74ee2407cc09918599cbaea4..1a4b6922c0a881b60ddf305b1e2b3af0 * Gets the world containing this chunk * diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index c51f086057b8265ff044dce89442c6ffff901e43..400109746016767be364ae2f2e51505f1cbb4287 100644 +index f46032ac8d48ba172e6a9157dd6b477ddf2cd4cb..cbfd9f994e545aa36c62f9cf801a595d3db71e9f 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -209,6 +209,22 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -212,6 +212,22 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @NotNull public Chunk getChunkAt(@NotNull Block block); diff --git a/patches/api/0139-Allow-Blocks-to-be-accessed-via-a-long-key.patch b/patches/api/0139-Allow-Blocks-to-be-accessed-via-a-long-key.patch index 8e9dc7b0a4..e23878d106 100644 --- a/patches/api/0139-Allow-Blocks-to-be-accessed-via-a-long-key.patch +++ b/patches/api/0139-Allow-Blocks-to-be-accessed-via-a-long-key.patch @@ -50,10 +50,10 @@ index 36ed248f0716f2cc465c08ab851b7d83d4c7c0a7..5c5e05673e0912f4dbd6c728f4c3b7fc * @return A new location where X/Y/Z are the center of the block */ diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 400109746016767be364ae2f2e51505f1cbb4287..3111b4706bf3d8bbe7b96268d5450a96455c659c 100644 +index cbfd9f994e545aa36c62f9cf801a595d3db71e9f..89e46828639b85da1f70f03bfd2a8e9c8487033f 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -92,6 +92,40 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -95,6 +95,40 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @NotNull public Block getBlockAt(@NotNull Location location); diff --git a/patches/api/0144-isChunkGenerated-API.patch b/patches/api/0144-isChunkGenerated-API.patch index 8a6328b086..1899b4e2d2 100644 --- a/patches/api/0144-isChunkGenerated-API.patch +++ b/patches/api/0144-isChunkGenerated-API.patch @@ -34,10 +34,10 @@ index 5c5e05673e0912f4dbd6c728f4c3b7fcdae8f0e8..57cb548683f7b2972c998afd34176952 /** * Sets the position of this Location and returns itself diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 3111b4706bf3d8bbe7b96268d5450a96455c659c..e775645a12c7102d9f4b5bcb55556df87e2fad75 100644 +index 89e46828639b85da1f70f03bfd2a8e9c8487033f..324fca7bf480a463adb30842fa169052534f5252 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -257,6 +257,17 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -260,6 +260,17 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient public default Chunk getChunkAt(long chunkKey) { return getChunkAt((int) chunkKey, (int) (chunkKey >> 32)); } diff --git a/patches/api/0146-Async-Chunks-API.patch b/patches/api/0146-Async-Chunks-API.patch index 7e8fcf2055..699def16c0 100644 --- a/patches/api/0146-Async-Chunks-API.patch +++ b/patches/api/0146-Async-Chunks-API.patch @@ -8,10 +8,10 @@ Adds API's to load or generate chunks asynchronously. Also adds utility methods to Entity to teleport asynchronously. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index e775645a12c7102d9f4b5bcb55556df87e2fad75..284f79085f96f4044a92c37932c21c5dd7b50d0d 100644 +index 324fca7bf480a463adb30842fa169052534f5252..3e3682be2a1afe92ccdc9a1d97469a69f952a9ed 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -966,6 +966,482 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -969,6 +969,482 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient } return nearby; } diff --git a/patches/api/0148-Expose-attack-cooldown-methods-for-Player.patch b/patches/api/0148-Expose-attack-cooldown-methods-for-Player.patch index ebeca969a2..4bc983ddf1 100644 --- a/patches/api/0148-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/api/0148-Expose-attack-cooldown-methods-for-Player.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose attack cooldown methods for Player diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 090037e58c8e5c096d7b0402a9c43bf29e6d68fb..5c0d9412f9691001d737cb8ffe0f5f0ada7c24d6 100644 +index 5093a978dd44f0e6e14af7d8e12b50b602f0b2bd..f218b1dd0b0ae97a6ccc0f88adcde7cc167432a9 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2454,6 +2454,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2461,6 +2461,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param profile The new profile to use */ void setPlayerProfile(@NotNull com.destroystokyo.paper.profile.PlayerProfile profile); diff --git a/patches/api/0157-Add-Material-Tags.patch b/patches/api/0157-Add-Material-Tags.patch index 5449244c62..8cee9a5025 100644 --- a/patches/api/0157-Add-Material-Tags.patch +++ b/patches/api/0157-Add-Material-Tags.patch @@ -113,7 +113,7 @@ index 0000000000000000000000000000000000000000..a02a02aa0c87e0f0ed9e509e4dcab015 +} diff --git a/src/main/java/com/destroystokyo/paper/MaterialTags.java b/src/main/java/com/destroystokyo/paper/MaterialTags.java new file mode 100644 -index 0000000000000000000000000000000000000000..728bc33cd6081f9462ab62d2ca6935573ccd3533 +index 0000000000000000000000000000000000000000..41384ef616c5d3099482ea7d09dea12a240e758a --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/MaterialTags.java @@ -0,0 +1,661 @@ @@ -1073,7 +1073,7 @@ index 0000000000000000000000000000000000000000..d7eb49a05c3f0cacf285f8995433c5d5 + .ensureSize("WATER_BASED", 11).lock(); +} diff --git a/src/main/java/org/bukkit/Tag.java b/src/main/java/org/bukkit/Tag.java -index 107d12d447be481928ee796f73b7acb2c4b9b2d8..42d0f31c2be2d39c4481f98c0756c4f1ae337717 100644 +index 7e3c8812247f86313c49c1a0d9af557abd30d029..33f022a01e44e6b806e6d38eef003da161b6be53 100644 --- a/src/main/java/org/bukkit/Tag.java +++ b/src/main/java/org/bukkit/Tag.java @@ -11,6 +11,10 @@ import org.jetbrains.annotations.NotNull; @@ -1189,10 +1189,10 @@ index 0000000000000000000000000000000000000000..06bb9d1180361d3d00c699796bbacbce + } +} diff --git a/src/test/java/org/bukkit/TestServer.java b/src/test/java/org/bukkit/TestServer.java -index 61993528e6975c38d82213e9b5caf996fe777328..5f9d348241210689eaf41a39ace5948e7a237b12 100644 +index 622cf46ae12540dc168631a4884a9a69e9d2f6c7..2f907c18c8f3228df107bfc05c5454354e89b943 100644 --- a/src/test/java/org/bukkit/TestServer.java +++ b/src/test/java/org/bukkit/TestServer.java -@@ -29,6 +29,16 @@ public final class TestServer implements InvocationHandler { +@@ -32,6 +32,16 @@ public final class TestServer implements InvocationHandler { } } ); diff --git a/patches/api/0160-Add-sun-related-API.patch b/patches/api/0160-Add-sun-related-API.patch index dff8d369c1..2e610f8a1a 100644 --- a/patches/api/0160-Add-sun-related-API.patch +++ b/patches/api/0160-Add-sun-related-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add sun related API diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 284f79085f96f4044a92c37932c21c5dd7b50d0d..b4c77e92f286e0159c8f25a063a964aaf1b1bd8c 100644 +index 3e3682be2a1afe92ccdc9a1d97469a69f952a9ed..8f7536e5ef73328cb69f7214956aac582a7d6f24 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -1793,6 +1793,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -1796,6 +1796,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient */ public void setFullTime(long time); diff --git a/patches/api/0164-Make-the-default-permission-message-configurable.patch b/patches/api/0164-Make-the-default-permission-message-configurable.patch index 59f94b9139..f89e579635 100644 --- a/patches/api/0164-Make-the-default-permission-message-configurable.patch +++ b/patches/api/0164-Make-the-default-permission-message-configurable.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make the default permission message configurable diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 1199f1226fb253b89c49b1fc3f190a577c75d4d6..a2d675293583f7dc31c85ad56759c3b95749e71e 100644 +index 1c416a48d2a069a0167bc0be6fa1d65d14f35816..62ecce029f38bd6a3e07981887916bb54e0c62f9 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2163,6 +2163,28 @@ public final class Bukkit { +@@ -2180,6 +2180,28 @@ public final class Bukkit { return server.suggestPlayerNamesWhenNullTabCompletions(); } @@ -38,10 +38,10 @@ index 1199f1226fb253b89c49b1fc3f190a577c75d4d6..a2d675293583f7dc31c85ad56759c3b9 * Creates a PlayerProfile for the specified uuid, with name as null. * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index d063e0e60c7dbb62d5dd72b213d2b71cd34c60b8..fb11f3db344593ce6e9b31ea91be1a8725b1561d 100644 +index 1a4559c88ece08e4a0c27e808f69693fb89fc474..85a0de6277aff8a81c8e58b3b29b98d99b6b1fb9 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1879,6 +1879,23 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1894,6 +1894,23 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ boolean suggestPlayerNamesWhenNullTabCompletions(); diff --git a/patches/api/0176-Fix-Spigot-annotation-mistakes.patch b/patches/api/0176-Fix-Spigot-annotation-mistakes.patch index 3e74c45593..77b6221d74 100644 --- a/patches/api/0176-Fix-Spigot-annotation-mistakes.patch +++ b/patches/api/0176-Fix-Spigot-annotation-mistakes.patch @@ -9,7 +9,7 @@ a ton of noise to plugin developers. These do not help plugin developers if they bring moise noise than value. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index a2d675293583f7dc31c85ad56759c3b95749e71e..da0f084801126f356ee22dbce339bfd58fd6b3e5 100644 +index 62ecce029f38bd6a3e07981887916bb54e0c62f9..5f684c9ac218f105efe77ef08cae4b759868b0ea 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -1197,10 +1197,8 @@ public final class Bukkit { @@ -159,7 +159,7 @@ index 6277451c3c6c551078c237cd767b6d70c4f585ea..10f5cfb1885833a1d2c1027c03974da4 CRACKED(0x0), GLYPHED(0x1), diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index fb11f3db344593ce6e9b31ea91be1a8725b1561d..605c88f11e9f6fd3abd4a69aa663999044be9527 100644 +index 85a0de6277aff8a81c8e58b3b29b98d99b6b1fb9..1fecaed0b5774e3888bd1f5103828cc38f0265d9 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -998,10 +998,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @@ -215,10 +215,10 @@ index 8d568d21fcbf706f55cda087bd7222ac60889c0a..209a302c3a2ed333780ed760314a6ed3 return origin; } diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index b4c77e92f286e0159c8f25a063a964aaf1b1bd8c..4f9f8e51e1a99a2d19643d105b839562ebe0b600 100644 +index 8f7536e5ef73328cb69f7214956aac582a7d6f24..7358c9148853d4b5b35998094838156231497747 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -427,9 +427,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -430,9 +430,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient * @param z Z-coordinate of the chunk * @return Whether the chunk was actually refreshed * @@ -229,7 +229,7 @@ index b4c77e92f286e0159c8f25a063a964aaf1b1bd8c..4f9f8e51e1a99a2d19643d105b839562 public boolean refreshChunk(int x, int z); /** -@@ -2142,8 +2141,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -2145,8 +2144,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient * @return The spawned {@link FallingBlock} instance * @throws IllegalArgumentException if {@link Location} or {@link * MaterialData} are null or {@link Material} of the {@link MaterialData} is not a block @@ -329,10 +329,10 @@ index 95c79c5fa0c4e30201f887da6467ce5f81c8a255..7f9c4d4b430a3f0276461346ff2621ba /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 97a8074e26e934e29a301712a7fc1a0ea057d37d..828963a5d0661dafc07a8e094dfc6000cc5102eb 100644 +index f218b1dd0b0ae97a6ccc0f88adcde7cc167432a9..ed2f50647df598a4f289736dcc524281910d1931 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1361,9 +1361,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1368,9 +1368,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param plugin Plugin that wants to hide the entity * @param entity Entity to hide @@ -343,7 +343,7 @@ index 97a8074e26e934e29a301712a7fc1a0ea057d37d..828963a5d0661dafc07a8e094dfc6000 public void hideEntity(@NotNull Plugin plugin, @NotNull Entity entity); /** -@@ -1373,9 +1372,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1380,9 +1379,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param plugin Plugin that wants to show the entity * @param entity Entity to show @@ -354,7 +354,7 @@ index 97a8074e26e934e29a301712a7fc1a0ea057d37d..828963a5d0661dafc07a8e094dfc6000 public void showEntity(@NotNull Plugin plugin, @NotNull Entity entity); /** -@@ -1384,9 +1382,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1391,9 +1389,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param entity Entity to check * @return True if the provided entity is not being hidden from this * player diff --git a/patches/api/0179-Add-Heightmap-API.patch b/patches/api/0179-Add-Heightmap-API.patch index 60502f4043..d2e3bd0011 100644 --- a/patches/api/0179-Add-Heightmap-API.patch +++ b/patches/api/0179-Add-Heightmap-API.patch @@ -103,10 +103,10 @@ index d4c87bfed81b2d73919705912f59fab05c0ee61b..ef0cb00ca4cb7d2f5e4ec1c950cce036 * Creates explosion at this location with given power * diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 4f9f8e51e1a99a2d19643d105b839562ebe0b600..f463450c35e6fbba95c57a3a27192b667cb9e093 100644 +index 7358c9148853d4b5b35998094838156231497747..352a20da402b3b0182b7a0c69d94397f42054053 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -164,6 +164,87 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -167,6 +167,87 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @NotNull public Block getHighestBlockAt(@NotNull Location location); diff --git a/patches/api/0184-Expose-the-internal-current-tick.patch b/patches/api/0184-Expose-the-internal-current-tick.patch index d17ba74b59..dc8b2199c9 100644 --- a/patches/api/0184-Expose-the-internal-current-tick.patch +++ b/patches/api/0184-Expose-the-internal-current-tick.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose the internal current tick diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index da0f084801126f356ee22dbce339bfd58fd6b3e5..9e33d1a649118613cb28c97a895872949b3bb05b 100644 +index 5f684c9ac218f105efe77ef08cae4b759868b0ea..fb5ba85b324eb78c31367bc59f2d1ca7eec1bf2b 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2259,6 +2259,10 @@ public final class Bukkit { +@@ -2276,6 +2276,10 @@ public final class Bukkit { public static com.destroystokyo.paper.profile.PlayerProfile createProfileExact(@Nullable UUID uuid, @Nullable String name) { return server.createProfileExact(uuid, name); } @@ -20,10 +20,10 @@ index da0f084801126f356ee22dbce339bfd58fd6b3e5..9e33d1a649118613cb28c97a89587294 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 605c88f11e9f6fd3abd4a69aa663999044be9527..16db591ecb07a238a5bd14c13192198086bda13d 100644 +index 1fecaed0b5774e3888bd1f5103828cc38f0265d9..05587286b253b6f877aa5fae19d556cc8967a326 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1962,5 +1962,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1977,5 +1977,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull com.destroystokyo.paper.profile.PlayerProfile createProfileExact(@Nullable UUID uuid, @Nullable String name); diff --git a/patches/api/0191-Expose-MinecraftServer-isRunning.patch b/patches/api/0191-Expose-MinecraftServer-isRunning.patch index 3af39f777e..844c2aff6b 100644 --- a/patches/api/0191-Expose-MinecraftServer-isRunning.patch +++ b/patches/api/0191-Expose-MinecraftServer-isRunning.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 95c4e23ece5f7bdf814d4259dc89016cd96a0a2f..b96e581cd8821416cf4db452b94486779861ecf0 100644 +index 4ba11b4a22981472e3fcbfe8ffadaa3f3c140e2f..88fe6c7dabdcf5c1a81126e7c98a361ec25438a0 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2282,6 +2282,15 @@ public final class Bukkit { +@@ -2299,6 +2299,15 @@ public final class Bukkit { public static int getCurrentTick() { return server.getCurrentTick(); } @@ -26,10 +26,10 @@ index 95c4e23ece5f7bdf814d4259dc89016cd96a0a2f..b96e581cd8821416cf4db452b9448677 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 11b281b43e4fd2a23116163e611f11aad179b8fa..8f090f0839aacdaf90b2d4a1f6d87476535d8382 100644 +index a4775467581c351f4c89521c2e017b31d48bf3b5..8cf4a6d82278770598dee9191409c676b7fb1b08 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1984,5 +1984,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1999,5 +1999,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return Current tick */ int getCurrentTick(); diff --git a/patches/api/0195-Add-Player-Client-Options-API.patch b/patches/api/0195-Add-Player-Client-Options-API.patch index 8ec71abef8..355fd87af5 100644 --- a/patches/api/0195-Add-Player-Client-Options-API.patch +++ b/patches/api/0195-Add-Player-Client-Options-API.patch @@ -193,7 +193,7 @@ index 0000000000000000000000000000000000000000..f7f171c4ee0b8339b2f8fbe82442d65f + } +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 6b29889f59c127529a4807c815abf01655f7759f..df56ba1ef10d0290f1f67a4a69fba489d370be55 100644 +index ed2f50647df598a4f289736dcc524281910d1931..797c49510a515b4423bb7b886726afaf63305227 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -2,6 +2,7 @@ package org.bukkit.entity; @@ -204,7 +204,7 @@ index 6b29889f59c127529a4807c815abf01655f7759f..df56ba1ef10d0290f1f67a4a69fba489 import com.destroystokyo.paper.Title; // Paper import net.kyori.adventure.text.Component; import org.bukkit.DyeColor; -@@ -2471,6 +2472,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2478,6 +2479,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Reset the cooldown counter to 0, effectively starting the cooldown period. */ void resetCooldown(); diff --git a/patches/api/0201-Add-Mob-Goal-API.patch b/patches/api/0201-Add-Mob-Goal-API.patch index 9b2b311377..b655037f40 100644 --- a/patches/api/0201-Add-Mob-Goal-API.patch +++ b/patches/api/0201-Add-Mob-Goal-API.patch @@ -523,10 +523,10 @@ index 0000000000000000000000000000000000000000..8fd399f791b45eb7fc62693ca954eea0 + @Deprecated GoalKey UNIVERSAL_ANGER_RESET = GoalKey.of(Mob.class, NamespacedKey.minecraft("universal_anger_reset")); +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 6a5515ec7aaa11028a9c48ff13b6bc1e809f08d3..a40f40fbd9976160b9bcdc823fa3ff363dece76b 100644 +index e9e7fdcb8b57d07d88c9e9694dd119b07fa5b823..1f2d25a48bfd67f770560e6284e0be27b6b4df38 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2303,6 +2303,16 @@ public final class Bukkit { +@@ -2320,6 +2320,16 @@ public final class Bukkit { public static boolean isStopping() { return server.isStopping(); } @@ -544,10 +544,10 @@ index 6a5515ec7aaa11028a9c48ff13b6bc1e809f08d3..a40f40fbd9976160b9bcdc823fa3ff36 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 4b2420fe711fb2b5f1512f51366e78baf63e3f62..5eefea06cd6c740fb4e6f2e292f5accdb0a62285 100644 +index dd1bb341714d27c286b57f9410a690f754bd937b..88eab327d5854fd853b1adb5b4f04a2bcfd66849 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2001,5 +2001,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2016,5 +2016,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return true if server is in the process of being shutdown */ boolean isStopping(); diff --git a/patches/api/0214-Brand-support.patch b/patches/api/0214-Brand-support.patch index 74b9071bab..fc68f4cecf 100644 --- a/patches/api/0214-Brand-support.patch +++ b/patches/api/0214-Brand-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Brand support diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index df56ba1ef10d0290f1f67a4a69fba489d370be55..ec9e825bedd4814a533f8d0b024aada55725f331 100644 +index 797c49510a515b4423bb7b886726afaf63305227..73dbe57b872db6a0ff4812af9c359fb8e632fb9c 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2606,6 +2606,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2613,6 +2613,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM // Paper end } diff --git a/patches/api/0228-Player-elytra-boost-API.patch b/patches/api/0228-Player-elytra-boost-API.patch index 9f1be38008..13332e33e5 100644 --- a/patches/api/0228-Player-elytra-boost-API.patch +++ b/patches/api/0228-Player-elytra-boost-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player elytra boost API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index ec9e825bedd4814a533f8d0b024aada55725f331..0eabb3cfc7284bbdd511048820d318a81e776038 100644 +index 73dbe57b872db6a0ff4812af9c359fb8e632fb9c..a097d060dc2a345406c3121b2aed038377148862 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2478,6 +2478,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2485,6 +2485,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ @NotNull T getClientOption(@NotNull ClientOption option); diff --git a/patches/api/0256-Add-sendOpLevel-API.patch b/patches/api/0256-Add-sendOpLevel-API.patch index 17b8d4388b..80abd8945e 100644 --- a/patches/api/0256-Add-sendOpLevel-API.patch +++ b/patches/api/0256-Add-sendOpLevel-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add sendOpLevel API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 0eabb3cfc7284bbdd511048820d318a81e776038..015252e0fbb705c48b2c1e497d4ffd263739b125 100644 +index a097d060dc2a345406c3121b2aed038377148862..701b34b02886dcef2837f00a945f813165d914f5 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2491,6 +2491,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2498,6 +2498,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ @Nullable Firework boostElytra(@NotNull ItemStack firework); diff --git a/patches/api/0258-Add-StructuresLocateEvent.patch b/patches/api/0258-Add-StructuresLocateEvent.patch index a6f4e518b7..267a1b8045 100644 --- a/patches/api/0258-Add-StructuresLocateEvent.patch +++ b/patches/api/0258-Add-StructuresLocateEvent.patch @@ -443,10 +443,10 @@ index 0000000000000000000000000000000000000000..5a43e40b7311ed2acb51f6ba8b12d1f3 + } +} diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index 2796c5375ae32a80504a5d2ec193dc8076ca334f..dcbe848da720eabf4779c238f32b4983aa578fbf 100644 +index a77320257b691c3a380f7c59c350382c0c0fe863..ec59aa76488a1500ab3df46c98ba7b1d4179df4e 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -196,6 +196,13 @@ public interface Registry extends Iterable { +@@ -210,6 +210,13 @@ public interface Registry extends Iterable { return GameEvent.getByKey(key); } }; @@ -455,7 +455,7 @@ index 2796c5375ae32a80504a5d2ec193dc8076ca334f..dcbe848da720eabf4779c238f32b4983 + * Configured structures. + * @see io.papermc.paper.world.structure.ConfiguredStructure + */ -+ Registry CONFIGURED_STRUCTURE = Bukkit.getUnsafe().registryFor(io.papermc.paper.world.structure.ConfiguredStructure.class); ++ Registry CONFIGURED_STRUCTURE = Bukkit.getRegistry(io.papermc.paper.world.structure.ConfiguredStructure.class); + // Paper end /** diff --git a/patches/api/0285-More-World-API.patch b/patches/api/0285-More-World-API.patch index e38ec031be..e7575201c0 100644 --- a/patches/api/0285-More-World-API.patch +++ b/patches/api/0285-More-World-API.patch @@ -5,12 +5,12 @@ Subject: [PATCH] More World API diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index f463450c35e6fbba95c57a3a27192b667cb9e093..6864f71977196a2d8b685da5ea9ddc435ae5bc06 100644 +index 352a20da402b3b0182b7a0c69d94397f42054053..8b88146908288e7290952a6d8a9db1dbb3307f66 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -3633,6 +3633,114 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -3709,6 +3709,114 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @Nullable - public Location locateNearestStructure(@NotNull Location origin, @NotNull StructureType structureType, int radius, boolean findUnexplored); + StructureSearchResult locateNearestStructure(@NotNull Location origin, @NotNull Structure structure, int radius, boolean findUnexplored); + // Paper start + /** diff --git a/patches/api/0296-Add-basic-Datapack-API.patch b/patches/api/0296-Add-basic-Datapack-API.patch index 5b9b72c56c..4ceba1ef45 100644 --- a/patches/api/0296-Add-basic-Datapack-API.patch +++ b/patches/api/0296-Add-basic-Datapack-API.patch @@ -70,10 +70,10 @@ index 0000000000000000000000000000000000000000..58f78d5e91beacaf710f62461cf869f7 + +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 044b5fcf2cbb1078dae348fe2960e4757519fd3c..23b57b99169881aa6963694d34f55d9c5c133888 100644 +index 0ddad5d32494495bb797559a10336a401e445fef..05186443e25706ed77f7187eea6ac84666613a88 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2357,6 +2357,14 @@ public final class Bukkit { +@@ -2374,6 +2374,14 @@ public final class Bukkit { public static com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() { return server.getMobGoals(); } @@ -89,10 +89,10 @@ index 044b5fcf2cbb1078dae348fe2960e4757519fd3c..23b57b99169881aa6963694d34f55d9c @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 7ed0e5d7b86d6bfc6b4218d8c158ada8b34c8461..5c5d124a179e8c0dc0cf24a51d406c9034f48505 100644 +index 80d762390a42070f1953a388c896cd93640b506e..3d78e555725b48cb7e5750e8b4b3f1f0463bddc2 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2048,5 +2048,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2063,5 +2063,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull com.destroystokyo.paper.entity.ai.MobGoals getMobGoals(); diff --git a/patches/api/0330-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/api/0330-Add-methods-to-find-targets-for-lightning-strikes.patch index 2d80d8dc4f..90130a24da 100644 --- a/patches/api/0330-Add-methods-to-find-targets-for-lightning-strikes.patch +++ b/patches/api/0330-Add-methods-to-find-targets-for-lightning-strikes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add methods to find targets for lightning strikes diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 6864f71977196a2d8b685da5ea9ddc435ae5bc06..6b8b26305dfd9b2b4e3b3e2c6ab48e0dda2864e1 100644 +index 8b88146908288e7290952a6d8a9db1dbb3307f66..e47d0663d42fa38e5c6cd2611f99e23f8187c28f 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -746,6 +746,37 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -749,6 +749,37 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @NotNull public LightningStrike strikeLightningEffect(@NotNull Location loc); diff --git a/patches/api/0342-Add-player-health-update-API.patch b/patches/api/0342-Add-player-health-update-API.patch index c99f3d0568..a8f2c3ba79 100644 --- a/patches/api/0342-Add-player-health-update-API.patch +++ b/patches/api/0342-Add-player-health-update-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add player health update API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 40e365e6dad1dfead4d0253d0b4c011bc71b1e71..ede085d2e8789184f18351425801f3c6ff0e6b51 100644 +index 792441dd8465edd1e6c2ffcbb8b2823a5884554f..b2b28b48e6e7d9f32460b8a65cbe294be4812bd9 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1879,6 +1879,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1886,6 +1886,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public double getHealthScale(); diff --git a/patches/api/0358-Multi-Block-Change-API.patch b/patches/api/0358-Multi-Block-Change-API.patch index 484a229f4f..45520149bb 100644 --- a/patches/api/0358-Multi-Block-Change-API.patch +++ b/patches/api/0358-Multi-Block-Change-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Multi Block Change API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index ede085d2e8789184f18351425801f3c6ff0e6b51..6cd0b10d1dc4506cfb1e4db5e1260cb705566cec 100644 +index b2b28b48e6e7d9f32460b8a65cbe294be4812bd9..c0fc38cacf441273e8430dda31958c15a48fc9b6 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -586,6 +586,27 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -593,6 +593,27 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void sendBlockDamage(@NotNull Location loc, float progress); diff --git a/patches/api/0362-More-PotionEffectType-API.patch b/patches/api/0362-More-PotionEffectType-API.patch index 547c81d092..aa6840470d 100644 --- a/patches/api/0362-More-PotionEffectType-API.patch +++ b/patches/api/0362-More-PotionEffectType-API.patch @@ -5,13 +5,13 @@ Subject: [PATCH] More PotionEffectType API diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index dcbe848da720eabf4779c238f32b4983aa578fbf..04d7fbd93131b9530add1e99b8443cc4d08be9d2 100644 +index ec59aa76488a1500ab3df46c98ba7b1d4179df4e..56a90dbf1a61dce615ee0f712851bf01de06b28c 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -202,6 +202,25 @@ public interface Registry extends Iterable { +@@ -216,6 +216,25 @@ public interface Registry extends Iterable { * @see io.papermc.paper.world.structure.ConfiguredStructure */ - Registry CONFIGURED_STRUCTURE = Bukkit.getUnsafe().registryFor(io.papermc.paper.world.structure.ConfiguredStructure.class); + Registry CONFIGURED_STRUCTURE = Bukkit.getRegistry(io.papermc.paper.world.structure.ConfiguredStructure.class); + /** + * Potion effect types. + * diff --git a/patches/api/0364-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/api/0363-API-for-creating-command-sender-which-forwards-feedb.patch similarity index 91% rename from patches/api/0364-API-for-creating-command-sender-which-forwards-feedb.patch rename to patches/api/0363-API-for-creating-command-sender-which-forwards-feedb.patch index c5f9cb7e39..06e522a404 100644 --- a/patches/api/0364-API-for-creating-command-sender-which-forwards-feedb.patch +++ b/patches/api/0363-API-for-creating-command-sender-which-forwards-feedb.patch @@ -5,7 +5,7 @@ Subject: [PATCH] API for creating command sender which forwards feedback diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index a748f268a992ac8ec9b732f530e3dd4847a3d47b..49decde8052425dcdaa865040f5aefa7a66667d5 100644 +index 23834c3bd3a5e008b1b05c99a7b2f491731d8459..ac7674fb1c9d7bd9572c678f57cab44233328bdc 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -1412,6 +1412,20 @@ public final class Bukkit { @@ -30,7 +30,7 @@ index a748f268a992ac8ec9b732f530e3dd4847a3d47b..49decde8052425dcdaa865040f5aefa7 * Gets the folder that contains all of the various {@link World}s. * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index e7d1ece4f1e615e2b0f4da1d85ddd60e23433d4d..bd678287c89a2a9578b08399886333e4dc866583 100644 +index 515e1bc18e04cd94b5aa7b00434a72381277e678..871d80d0e0ce7cd80e34bfeebee8c543ea023d8e 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -1178,6 +1178,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi diff --git a/patches/api/0363-Expand-the-Registry-API.patch b/patches/api/0363-Expand-the-Registry-API.patch deleted file mode 100644 index 973b0e47b5..0000000000 --- a/patches/api/0363-Expand-the-Registry-API.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jake Potrebic -Date: Sat, 14 Aug 2021 16:19:03 -0700 -Subject: [PATCH] Expand the Registry API - - -diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index 04d7fbd93131b9530add1e99b8443cc4d08be9d2..88b7422f26036b6a44e085c8bbc3174ddc27beda 100644 ---- a/src/main/java/org/bukkit/Registry.java -+++ b/src/main/java/org/bukkit/Registry.java -@@ -221,6 +221,25 @@ public interface Registry extends Iterable { - return Arrays.stream(org.bukkit.potion.PotionEffectType.values()).iterator(); - } - }; -+ -+ /** -+ * Structure types. -+ * -+ * @see StructureType -+ */ -+ Registry STRUCTURE_TYPE = new Registry() { -+ -+ @Override -+ public @Nullable StructureType get(@NotNull NamespacedKey key) { -+ return StructureType.getStructureTypes().get(key.getKey()); -+ } -+ -+ @NotNull -+ @Override -+ public Iterator iterator() { -+ return StructureType.getStructureTypes().values().iterator(); -+ } -+ }; - // Paper end - - /** diff --git a/patches/api/0365-Implement-regenerateChunk.patch b/patches/api/0364-Implement-regenerateChunk.patch similarity index 85% rename from patches/api/0365-Implement-regenerateChunk.patch rename to patches/api/0364-Implement-regenerateChunk.patch index 4fecb6eb49..e779ef9bc1 100644 --- a/patches/api/0365-Implement-regenerateChunk.patch +++ b/patches/api/0364-Implement-regenerateChunk.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement regenerateChunk diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 6b8b26305dfd9b2b4e3b3e2c6ab48e0dda2864e1..7ad1cabe05277c1f3238da6e121c35d8a9f0d952 100644 +index e47d0663d42fa38e5c6cd2611f99e23f8187c28f..e8c0c853eb52d1473c20231660355f77b1f7e016 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -495,8 +495,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -498,8 +498,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient * @return Whether the chunk was actually regenerated * * @deprecated regenerating a single chunk is not likely to produce the same diff --git a/patches/api/0366-Don-t-load-plugins-prefixed-with-a-dot.patch b/patches/api/0365-Don-t-load-plugins-prefixed-with-a-dot.patch similarity index 100% rename from patches/api/0366-Don-t-load-plugins-prefixed-with-a-dot.patch rename to patches/api/0365-Don-t-load-plugins-prefixed-with-a-dot.patch diff --git a/patches/api/0367-Add-GameEvent-tags.patch b/patches/api/0366-Add-GameEvent-tags.patch similarity index 100% rename from patches/api/0367-Add-GameEvent-tags.patch rename to patches/api/0366-Add-GameEvent-tags.patch diff --git a/patches/api/0368-Furnace-RecipesUsed-API.patch b/patches/api/0367-Furnace-RecipesUsed-API.patch similarity index 100% rename from patches/api/0368-Furnace-RecipesUsed-API.patch rename to patches/api/0367-Furnace-RecipesUsed-API.patch diff --git a/patches/api/0369-Configurable-sculk-sensor-listener-range.patch b/patches/api/0368-Configurable-sculk-sensor-listener-range.patch similarity index 100% rename from patches/api/0369-Configurable-sculk-sensor-listener-range.patch rename to patches/api/0368-Configurable-sculk-sensor-listener-range.patch diff --git a/patches/api/0370-Add-missing-block-data-mins-and-maxes.patch b/patches/api/0369-Add-missing-block-data-mins-and-maxes.patch similarity index 100% rename from patches/api/0370-Add-missing-block-data-mins-and-maxes.patch rename to patches/api/0369-Add-missing-block-data-mins-and-maxes.patch diff --git a/patches/api/0371-Custom-Potion-Mixes.patch b/patches/api/0370-Custom-Potion-Mixes.patch similarity index 94% rename from patches/api/0371-Custom-Potion-Mixes.patch rename to patches/api/0370-Custom-Potion-Mixes.patch index d656f9451b..5d6edd5a1d 100644 --- a/patches/api/0371-Custom-Potion-Mixes.patch +++ b/patches/api/0370-Custom-Potion-Mixes.patch @@ -102,10 +102,10 @@ index 0000000000000000000000000000000000000000..cb6d93526b637946aec311bef103ad30 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 49decde8052425dcdaa865040f5aefa7a66667d5..3506a7fa07ee6e53704b1df8d8d2bb08704bfc37 100644 +index ac7674fb1c9d7bd9572c678f57cab44233328bdc..92a1462261029e804da73da2743bbd68e57841e9 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2397,6 +2397,15 @@ public final class Bukkit { +@@ -2414,6 +2414,15 @@ public final class Bukkit { public static io.papermc.paper.datapack.DatapackManager getDatapackManager() { return server.getDatapackManager(); } @@ -122,10 +122,10 @@ index 49decde8052425dcdaa865040f5aefa7a66667d5..3506a7fa07ee6e53704b1df8d8d2bb08 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index bd678287c89a2a9578b08399886333e4dc866583..e756edf56995f4552387c2e1082307eb3dd48bb3 100644 +index 871d80d0e0ce7cd80e34bfeebee8c543ea023d8e..56e261efa654e4a6872ccea28f0461df13845d13 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2082,5 +2082,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2097,5 +2097,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull io.papermc.paper.datapack.DatapackManager getDatapackManager(); diff --git a/patches/api/0372-Expose-furnace-minecart-push-values.patch b/patches/api/0371-Expose-furnace-minecart-push-values.patch similarity index 100% rename from patches/api/0372-Expose-furnace-minecart-push-values.patch rename to patches/api/0371-Expose-furnace-minecart-push-values.patch diff --git a/patches/api/0373-More-Projectile-API.patch b/patches/api/0372-More-Projectile-API.patch similarity index 100% rename from patches/api/0373-More-Projectile-API.patch rename to patches/api/0372-More-Projectile-API.patch diff --git a/patches/api/0374-Add-getComputedBiome-API.patch b/patches/api/0373-Add-getComputedBiome-API.patch similarity index 100% rename from patches/api/0374-Add-getComputedBiome-API.patch rename to patches/api/0373-Add-getComputedBiome-API.patch diff --git a/patches/api/0375-Add-enchantWithLevels-API.patch b/patches/api/0374-Add-enchantWithLevels-API.patch similarity index 100% rename from patches/api/0375-Add-enchantWithLevels-API.patch rename to patches/api/0374-Add-enchantWithLevels-API.patch diff --git a/patches/api/0376-Add-TameableDeathMessageEvent.patch b/patches/api/0375-Add-TameableDeathMessageEvent.patch similarity index 100% rename from patches/api/0376-Add-TameableDeathMessageEvent.patch rename to patches/api/0375-Add-TameableDeathMessageEvent.patch diff --git a/patches/api/0377-Allow-to-change-the-podium-of-the-EnderDragon.patch b/patches/api/0376-Allow-to-change-the-podium-of-the-EnderDragon.patch similarity index 100% rename from patches/api/0377-Allow-to-change-the-podium-of-the-EnderDragon.patch rename to patches/api/0376-Allow-to-change-the-podium-of-the-EnderDragon.patch diff --git a/patches/api/0378-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch b/patches/api/0377-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch similarity index 100% rename from patches/api/0378-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch rename to patches/api/0377-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch diff --git a/patches/api/0379-Update-Folder-Uses-Plugin-Name.patch b/patches/api/0378-Update-Folder-Uses-Plugin-Name.patch similarity index 100% rename from patches/api/0379-Update-Folder-Uses-Plugin-Name.patch rename to patches/api/0378-Update-Folder-Uses-Plugin-Name.patch diff --git a/patches/api/0380-WorldCreator-keepSpawnLoaded.patch b/patches/api/0379-WorldCreator-keepSpawnLoaded.patch similarity index 100% rename from patches/api/0380-WorldCreator-keepSpawnLoaded.patch rename to patches/api/0379-WorldCreator-keepSpawnLoaded.patch diff --git a/patches/api/0381-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/api/0380-Add-EntityDyeEvent-and-CollarColorable-interface.patch similarity index 100% rename from patches/api/0381-Add-EntityDyeEvent-and-CollarColorable-interface.patch rename to patches/api/0380-Add-EntityDyeEvent-and-CollarColorable-interface.patch diff --git a/patches/api/0382-Add-PlayerStopUsingItemEvent.patch b/patches/api/0381-Add-PlayerStopUsingItemEvent.patch similarity index 100% rename from patches/api/0382-Add-PlayerStopUsingItemEvent.patch rename to patches/api/0381-Add-PlayerStopUsingItemEvent.patch diff --git a/patches/api/0383-FallingBlock-auto-expire-setting.patch b/patches/api/0382-FallingBlock-auto-expire-setting.patch similarity index 100% rename from patches/api/0383-FallingBlock-auto-expire-setting.patch rename to patches/api/0382-FallingBlock-auto-expire-setting.patch diff --git a/patches/api/0384-Keyed-Cat-Type.patch b/patches/api/0383-Keyed-Cat-Type.patch similarity index 100% rename from patches/api/0384-Keyed-Cat-Type.patch rename to patches/api/0383-Keyed-Cat-Type.patch diff --git a/patches/api/0385-Add-WardenAngerChangeEvent.patch b/patches/api/0384-Add-WardenAngerChangeEvent.patch similarity index 100% rename from patches/api/0385-Add-WardenAngerChangeEvent.patch rename to patches/api/0384-Add-WardenAngerChangeEvent.patch diff --git a/patches/api/0386-Nameable-Banner-API.patch b/patches/api/0385-Nameable-Banner-API.patch similarity index 100% rename from patches/api/0386-Nameable-Banner-API.patch rename to patches/api/0385-Nameable-Banner-API.patch diff --git a/patches/api/0387-Add-Player-getFishHook.patch b/patches/api/0386-Add-Player-getFishHook.patch similarity index 100% rename from patches/api/0387-Add-Player-getFishHook.patch rename to patches/api/0386-Add-Player-getFishHook.patch diff --git a/patches/server/0003-Build-system-changes.patch b/patches/server/0003-Build-system-changes.patch index 72af6596d9..88123fd4ae 100644 --- a/patches/server/0003-Build-system-changes.patch +++ b/patches/server/0003-Build-system-changes.patch @@ -67,13 +67,13 @@ index d10ff4a52c22033e2adb2a4e7f2cee98a13ea6c5..5d8a84341ab5be52b5c37737e3f82590 exclude("org/bukkit/craftbukkit/inventory/ItemStack*Test.class") } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 95da14060be14c5ed8ffbdc65b405cb346e56f6e..80a8872b927ed9de61f1ee36b7769ce104793443 100644 +index 541af13a11533030447c565df0ef02855775cfe5..f264607eb3df1f247c7c36d328405900b52df38e 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -190,7 +190,7 @@ public class Main { } - if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { + if (false && Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { - Date buildDate = new Date(Integer.parseInt(Main.class.getPackage().getImplementationVendor()) * 1000L); + Date buildDate = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").parse(Main.class.getPackage().getImplementationVendor()); // Paper diff --git a/patches/server/0004-Paper-config-files.patch b/patches/server/0004-Paper-config-files.patch index f07301bc67..ec1ffec506 100644 --- a/patches/server/0004-Paper-config-files.patch +++ b/patches/server/0004-Paper-config-files.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Paper config files diff --git a/build.gradle.kts b/build.gradle.kts -index e4e9df9283c1a0fd7fff38a5d9b6a51f15e06b7a..07b7d43796985cff828ff472ddef2a11b543a4af 100644 +index 5d8a84341ab5be52b5c37737e3f82590f06f6073..cfdb20447e6ad3efcdee8889712f77931773beaf 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,6 +12,7 @@ dependencies { @@ -4206,10 +4206,10 @@ index c1194f459414dc6ca9626ab8cec48cb48cdd926b..649df119b24dc8c390f45e9f813cf8c3 this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 38b4aca711ee49e0a7fb751c5ccb40f19600b5db..ad73ec1f211cd6fca6bc04ba9e23850c7bacdf35 100644 +index dbaec6fc4967d8140fd5af68456894bad1a0205a..4f67f7541ff257f35701610760fb8e04e8379fe3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -868,6 +868,7 @@ public final class CraftServer implements Server { +@@ -870,6 +870,7 @@ public final class CraftServer implements Server { } org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot @@ -4218,7 +4218,7 @@ index 38b4aca711ee49e0a7fb751c5ccb40f19600b5db..ad73ec1f211cd6fca6bc04ba9e23850c world.serverLevelData.setDifficulty(config.difficulty); world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 80a8872b927ed9de61f1ee36b7769ce104793443..1db503b3c7f2cc04d417d3b9373a21171c112231 100644 +index f264607eb3df1f247c7c36d328405900b52df38e..b05cea49219c6582bacc705f41e72ca7c7eb6a8c 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -129,6 +129,19 @@ public class Main { @@ -4302,10 +4302,10 @@ index 0000000000000000000000000000000000000000..0396589795da1f83ddf62426236dde9a + } +} diff --git a/src/test/java/org/bukkit/support/AbstractTestingBase.java b/src/test/java/org/bukkit/support/AbstractTestingBase.java -index b58962026c739ed06fbe0f702cb2877fbfa7b2e4..7de91b0b669664be3406b77a453d517604170404 100644 +index 6816d8a9fa504ca5a25fa62c0f0974e3e744ead6..e73a9a957cd55bf838e301ed531295162f2cfb89 100644 --- a/src/test/java/org/bukkit/support/AbstractTestingBase.java +++ b/src/test/java/org/bukkit/support/AbstractTestingBase.java -@@ -45,6 +45,7 @@ public abstract class AbstractTestingBase { +@@ -46,6 +46,7 @@ public abstract class AbstractTestingBase { DummyServer.setup(); DummyEnchantments.setup(); diff --git a/patches/server/0006-CB-fixes.patch b/patches/server/0006-CB-fixes.patch index 6df1f1046d..278860331d 100644 --- a/patches/server/0006-CB-fixes.patch +++ b/patches/server/0006-CB-fixes.patch @@ -67,10 +67,10 @@ index 9998e1c94b72b90dd3ba4bcce1b4b3653b9b1b2b..963ad3ce1ef83888ae1537ff01accdbb this.registryAccess = registryManager; this.structureTemplateManager = structureTemplateManager; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ad73ec1f211cd6fca6bc04ba9e23850c7bacdf35..a888631dc866a784def3e59cd6cc644905f866b3 100644 +index 4f67f7541ff257f35701610760fb8e04e8379fe3..a850bb8a4268c0210ee7af98f51131759ff95f30 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2269,7 +2269,13 @@ public final class CraftServer implements Server { +@@ -2271,7 +2271,13 @@ public final class CraftServer implements Server { Validate.notNull(key, "NamespacedKey cannot be null"); LootTables registry = this.getServer().getLootTables(); diff --git a/patches/server/0007-MC-Utils.patch b/patches/server/0007-MC-Utils.patch index a2120fe312..5852fd9426 100644 --- a/patches/server/0007-MC-Utils.patch +++ b/patches/server/0007-MC-Utils.patch @@ -5914,7 +5914,7 @@ index ce88976db29b9e9524dbe45b16721ef90afb692b..186a8f5895fedbaf27a7949d9bdbb1a9 ChunkHolder playerchunk = this.getVisibleChunkIfPresent(pos); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 06b1821ea08eccc5bb1ae856d35b13912ab491ec..45c2002bbbdf838a3340b87756de1af6338aad64 100644 +index fb8e2bcbe27438fa5274d440751b6733cce550cb..58da012345126bbfc9980538adf3f79bd87412bb 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -167,6 +167,7 @@ import org.bukkit.event.weather.LightningStrikeEvent; @@ -6106,10 +6106,10 @@ index 288fdbef407d11ab430d5d7026dfad148c3c1065..6fefa619299d3202158490630d62c16a @Override public void tell(R runnable) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b878882dc03ebf1d2f5dcbd47cac7fea88b1caa2..277a9fc7b61361f472eae171a3546c85da4f30b4 100644 +index 4ebccd159b2434383e4175d10d89eb60c49cc771..3def476eee5fd6065762bdebd6659a3cc1a8dfbc 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -314,6 +314,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -315,6 +315,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return this.level.hasChunk((int) Math.floor(this.getX()) >> 4, (int) Math.floor(this.getZ()) >> 4); } // CraftBukkit end @@ -6122,7 +6122,7 @@ index b878882dc03ebf1d2f5dcbd47cac7fea88b1caa2..277a9fc7b61361f472eae171a3546c85 public Entity(EntityType type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index a7a5ab0e718d2ee81fd8d3585d2d92df591deb64..ba7037a44b2fba6aafcbc4081c5c481a2cdcfd3b 100644 +index 72da39aa2bb8bb70018fdbbbc5f487a2f188b389..1f9701128aedb0343709866207f3044b890fe1be 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -260,6 +260,7 @@ public abstract class LivingEntity extends Entity { diff --git a/patches/server/0008-Adventure.patch b/patches/server/0008-Adventure.patch index 6ea0a4666c..203e5e3a28 100644 --- a/patches/server/0008-Adventure.patch +++ b/patches/server/0008-Adventure.patch @@ -1839,10 +1839,10 @@ index 595b56b2ab9a813ba71399d306117294fa90dc65..3527d40102d512d0e276edc969ea3c18 } collection = icons; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a888631dc866a784def3e59cd6cc644905f866b3..9bd413eb9700d33384f2806e957d42613bd6f0f3 100644 +index a850bb8a4268c0210ee7af98f51131759ff95f30..d7a6371c3913a1021beffd8dc3189083f74a84d4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -588,8 +588,10 @@ public final class CraftServer implements Server { +@@ -590,8 +590,10 @@ public final class CraftServer implements Server { } @Override @@ -1853,7 +1853,7 @@ index a888631dc866a784def3e59cd6cc644905f866b3..9bd413eb9700d33384f2806e957d4261 } @Override -@@ -1409,7 +1411,15 @@ public final class CraftServer implements Server { +@@ -1411,7 +1413,15 @@ public final class CraftServer implements Server { return this.configuration.getInt("settings.spawn-radius", -1); } @@ -1869,7 +1869,7 @@ index a888631dc866a784def3e59cd6cc644905f866b3..9bd413eb9700d33384f2806e957d4261 public String getShutdownMessage() { return this.configuration.getString("settings.shutdown-message"); } -@@ -1577,7 +1587,20 @@ public final class CraftServer implements Server { +@@ -1579,7 +1589,20 @@ public final class CraftServer implements Server { } @Override @@ -1890,7 +1890,7 @@ index a888631dc866a784def3e59cd6cc644905f866b3..9bd413eb9700d33384f2806e957d4261 Set recipients = new HashSet<>(); for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) { if (permissible instanceof CommandSender && permissible.hasPermission(permission)) { -@@ -1585,14 +1608,14 @@ public final class CraftServer implements Server { +@@ -1587,14 +1610,14 @@ public final class CraftServer implements Server { } } @@ -1907,7 +1907,7 @@ index a888631dc866a784def3e59cd6cc644905f866b3..9bd413eb9700d33384f2806e957d4261 for (CommandSender recipient : recipients) { recipient.sendMessage(message); -@@ -1843,6 +1866,14 @@ public final class CraftServer implements Server { +@@ -1845,6 +1868,14 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, type); } @@ -1922,7 +1922,7 @@ index a888631dc866a784def3e59cd6cc644905f866b3..9bd413eb9700d33384f2806e957d4261 @Override public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) { Validate.isTrue(type.isCreatable(), "Cannot open an inventory of type ", type); -@@ -1855,13 +1886,28 @@ public final class CraftServer implements Server { +@@ -1857,13 +1888,28 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, size); } @@ -1951,7 +1951,7 @@ index a888631dc866a784def3e59cd6cc644905f866b3..9bd413eb9700d33384f2806e957d4261 public Merchant createMerchant(String title) { return new CraftMerchantCustom(title == null ? InventoryType.MERCHANT.getDefaultTitle() : title); } -@@ -1926,6 +1972,12 @@ public final class CraftServer implements Server { +@@ -1928,6 +1974,12 @@ public final class CraftServer implements Server { return Thread.currentThread().equals(console.serverThread) || this.console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog) } @@ -1964,7 +1964,7 @@ index a888631dc866a784def3e59cd6cc644905f866b3..9bd413eb9700d33384f2806e957d4261 @Override public String getMotd() { return this.console.getMotd(); -@@ -2343,4 +2395,15 @@ public final class CraftServer implements Server { +@@ -2350,4 +2402,15 @@ public final class CraftServer implements Server { return this.spigot; } // Spigot end @@ -1981,10 +1981,10 @@ index a888631dc866a784def3e59cd6cc644905f866b3..9bd413eb9700d33384f2806e957d4261 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 40421cc8ef25f1bef32a0a5d2f0f25165efe230a..1357bc97801f892e59fc8e89c3cc2d697894ccfb 100644 +index 93308369f0bbd1e95569d9d573b8b6f42c8ae5a7..cf7762e76a2d35acdfc12627e9750fbec766d555 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -144,6 +144,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -150,6 +150,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { private final BlockMetadataStore blockMetadata = new BlockMetadataStore(this); private final Object2IntOpenHashMap spawnCategoryLimit = new Object2IntOpenHashMap<>(); private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftWorld.DATA_TYPE_REGISTRY); @@ -1992,7 +1992,7 @@ index 40421cc8ef25f1bef32a0a5d2f0f25165efe230a..1357bc97801f892e59fc8e89c3cc2d69 private static final Random rand = new Random(); -@@ -1864,4 +1865,18 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1943,4 +1944,18 @@ public class CraftWorld extends CraftRegionAccessor implements World { return this.spigot; } // Spigot end @@ -2012,7 +2012,7 @@ index 40421cc8ef25f1bef32a0a5d2f0f25165efe230a..1357bc97801f892e59fc8e89c3cc2d69 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 1db503b3c7f2cc04d417d3b9373a21171c112231..99cfa663b79eb7126f87d6fd1ecd7619ae763f45 100644 +index b05cea49219c6582bacc705f41e72ca7c7eb6a8c..c520e8e53356188ee00dc10a6a74c88b5e2f6e94 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -19,6 +19,12 @@ public class Main { @@ -2379,7 +2379,7 @@ index 53b5af4179cc4bc4d5646f183da5e327a45237ac..a859a675b4bc543e139358223cc92ad5 public net.minecraft.world.item.enchantment.Enchantment getHandle() { return this.target; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 7fa6212fca01af9efd787f2c74af986fbeef4a77..b403022201b34118adddf817b19a8bbdb6229df4 100644 +index ef27c0f94355ec7be4a314a0f93bc1c146012210..64687b0e04f619576f3e7f4fec0b559408048d38 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -196,6 +196,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -2494,7 +2494,7 @@ index 446fdca49a5a6999626a7ee3a1d5c168b15a09dd..f9863e138994f6c7a7975a852f106faa public boolean isOp() { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index eebd8c56d319100f1f5ad9bc0b4d5a0d01e27fba..028d7a4cec039312bef59c693ef3d9962c5fd467 100644 +index b5842cc22df06d6d8d984d6378fcf791e9c8bfe3..6da824e20f960414d0a183943366cec5f8c693c0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -269,14 +269,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -2613,7 +2613,7 @@ index eebd8c56d319100f1f5ad9bc0b4d5a0d01e27fba..028d7a4cec039312bef59c693ef3d996 @Override public void setCompassTarget(Location loc) { if (this.getHandle().connection == null) return; -@@ -617,6 +659,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -624,6 +666,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } @@ -2649,7 +2649,7 @@ index eebd8c56d319100f1f5ad9bc0b4d5a0d01e27fba..028d7a4cec039312bef59c693ef3d996 @Override public void sendSignChange(Location loc, String[] lines) { this.sendSignChange(loc, lines, DyeColor.BLACK); -@@ -644,14 +715,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -651,14 +722,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } Component[] components = CraftSign.sanitizeLines(lines); @@ -2667,7 +2667,7 @@ index eebd8c56d319100f1f5ad9bc0b4d5a0d01e27fba..028d7a4cec039312bef59c693ef3d996 } @Override -@@ -1422,7 +1494,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1429,7 +1501,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setResourcePack(String url) { @@ -2676,7 +2676,7 @@ index eebd8c56d319100f1f5ad9bc0b4d5a0d01e27fba..028d7a4cec039312bef59c693ef3d996 } @Override -@@ -1437,7 +1509,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1444,7 +1516,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setResourcePack(String url, byte[] hash, boolean force) { @@ -2685,7 +2685,7 @@ index eebd8c56d319100f1f5ad9bc0b4d5a0d01e27fba..028d7a4cec039312bef59c693ef3d996 } @Override -@@ -1453,6 +1525,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1460,6 +1532,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } @@ -2707,7 +2707,7 @@ index eebd8c56d319100f1f5ad9bc0b4d5a0d01e27fba..028d7a4cec039312bef59c693ef3d996 public void addChannel(String channel) { Preconditions.checkState(this.channels.size() < 128, "Cannot register channel '%s'. Too many channels registered!", channel); channel = StandardMessenger.validateAndCorrectChannel(channel); -@@ -1857,6 +1944,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1864,6 +1951,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return (this.getHandle().clientViewDistance == null) ? Bukkit.getViewDistance() : this.getHandle().clientViewDistance; } @@ -2720,7 +2720,7 @@ index eebd8c56d319100f1f5ad9bc0b4d5a0d01e27fba..028d7a4cec039312bef59c693ef3d996 @Override public int getPing() { return this.getHandle().latency; -@@ -1902,6 +1995,193 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1909,6 +2002,193 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().allowsListing(); } diff --git a/patches/server/0009-Paper-command.patch b/patches/server/0009-Paper-command.patch index 6272844520..23dbd7cd22 100644 --- a/patches/server/0009-Paper-command.patch +++ b/patches/server/0009-Paper-command.patch @@ -341,10 +341,10 @@ index e476f93547f386ded0174693a6218d793ccc450b..393e465b0bac55d407f2ec66d7b11ed0 this.setPvpAllowed(dedicatedserverproperties.pvp); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 5251b5d91f4b7d8afc5dc8cf6cbb2820a29594e9..55265d09707056160b44d15e2e66ad1336d4f9c8 100644 +index d7a6371c3913a1021beffd8dc3189083f74a84d4..9c97599b2742ff3f7778114b231d6487077189da 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -892,6 +892,7 @@ public final class CraftServer implements Server { +@@ -894,6 +894,7 @@ public final class CraftServer implements Server { this.commandMap.clearCommands(); this.reloadData(); org.spigotmc.SpigotConfig.registerCommands(); // Spigot @@ -352,7 +352,7 @@ index 5251b5d91f4b7d8afc5dc8cf6cbb2820a29594e9..55265d09707056160b44d15e2e66ad13 this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2397,6 +2398,34 @@ public final class CraftServer implements Server { +@@ -2404,6 +2405,34 @@ public final class CraftServer implements Server { // Spigot end // Paper start diff --git a/patches/server/0012-Timings-v2.patch b/patches/server/0012-Timings-v2.patch index 175b9b439a..70273aad8b 100644 --- a/patches/server/0012-Timings-v2.patch +++ b/patches/server/0012-Timings-v2.patch @@ -1333,10 +1333,10 @@ index 9e0c61b63cc402c26ca1306313ca6054efb108b8..dbd53de61057eb9eb8be651abf9abcad public UserWhiteList getWhiteList() { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 277a9fc7b61361f472eae171a3546c85da4f30b4..76dc492e9c2239a09de9ead5de50abb86a97f452 100644 +index 3def476eee5fd6065762bdebd6659a3cc1a8dfbc..e6a884fb477f66502c3ce3091e8123f3370188ff 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -131,7 +131,6 @@ import org.bukkit.craftbukkit.event.CraftPortalEvent; +@@ -132,7 +132,6 @@ import org.bukkit.craftbukkit.event.CraftPortalEvent; import org.bukkit.entity.Hanging; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Vehicle; @@ -1344,7 +1344,7 @@ index 277a9fc7b61361f472eae171a3546c85da4f30b4..76dc492e9c2239a09de9ead5de50abb8 import org.bukkit.event.entity.EntityCombustByEntityEvent; import org.bukkit.event.hanging.HangingBreakByEntityEvent; import org.bukkit.event.vehicle.VehicleBlockCollisionEvent; -@@ -298,7 +297,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -299,7 +298,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public boolean lastDamageCancelled; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled public boolean persistentInvisibility = false; public BlockPos lastLavaContact; @@ -1352,7 +1352,7 @@ index 277a9fc7b61361f472eae171a3546c85da4f30b4..76dc492e9c2239a09de9ead5de50abb8 // Spigot start public final org.spigotmc.ActivationRange.ActivationType activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this); public final boolean defaultActivationState; -@@ -748,7 +746,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -749,7 +747,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public void move(MoverType movementType, Vec3 movement) { @@ -1360,7 +1360,7 @@ index 277a9fc7b61361f472eae171a3546c85da4f30b4..76dc492e9c2239a09de9ead5de50abb8 if (this.noPhysics) { this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z); } else { -@@ -912,7 +909,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -913,7 +910,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.level.getProfiler().pop(); } } @@ -1634,10 +1634,10 @@ index 98ba88896c73651591b8ad8e070868fb443ae999..864e2e0355a5fb8c1d4a5b0896ba299f }; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 55265d09707056160b44d15e2e66ad1336d4f9c8..99e1ea52493ff2ab620e32054d0ee2b2c78db6b4 100644 +index 9c97599b2742ff3f7778114b231d6487077189da..99bd8a5b516de6d98803141a0df337e3d96d7501 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2365,12 +2365,31 @@ public final class CraftServer implements Server { +@@ -2372,12 +2372,31 @@ public final class CraftServer implements Server { private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot() { @@ -1839,10 +1839,10 @@ index b0ffa23faf62629043dfd613315eaf9c5fcc2cfe..00000000000000000000000000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 028d7a4cec039312bef59c693ef3d9962c5fd467..95fc7a52611284ca3a2d92cd6dab36d419bec3c0 100644 +index 6da824e20f960414d0a183943366cec5f8c693c0..3d7ad34b9fefd2a3f064866c6a3464a9389005e1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2274,6 +2274,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2281,6 +2281,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { CraftPlayer.this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundSystemChatPacket(components, i)); } diff --git a/patches/server/0013-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/server/0013-Add-command-line-option-to-load-extra-plugin-jars-no.patch index 7c49e99295..df739e2911 100644 --- a/patches/server/0013-Add-command-line-option-to-load-extra-plugin-jars-no.patch +++ b/patches/server/0013-Add-command-line-option-to-load-extra-plugin-jars-no.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Add command line option to load extra plugin jars not in the ex: java -jar paperclip.jar nogui -add-plugin=/path/to/plugin.jar -add-plugin=/path/to/another/plugin_jar.jar diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 99e1ea52493ff2ab620e32054d0ee2b2c78db6b4..e8d46fffea6c6db14fce1a451ca81863ae69c512 100644 +index 99bd8a5b516de6d98803141a0df337e3d96d7501..7c0e64404f442721b9279e7a167e6a5e26a81829 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -401,10 +401,15 @@ public final class CraftServer implements Server { +@@ -403,10 +403,15 @@ public final class CraftServer implements Server { public void loadPlugins() { this.pluginManager.registerInterface(JavaPluginLoader.class); @@ -29,7 +29,7 @@ index 99e1ea52493ff2ab620e32054d0ee2b2c78db6b4..e8d46fffea6c6db14fce1a451ca81863 for (Plugin plugin : plugins) { try { String message = String.format("Loading %s", plugin.getDescription().getFullName()); -@@ -419,6 +424,35 @@ public final class CraftServer implements Server { +@@ -421,6 +426,35 @@ public final class CraftServer implements Server { } } @@ -66,7 +66,7 @@ index 99e1ea52493ff2ab620e32054d0ee2b2c78db6b4..e8d46fffea6c6db14fce1a451ca81863 if (type == PluginLoadOrder.STARTUP) { this.helpMap.clear(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 99cfa663b79eb7126f87d6fd1ecd7619ae763f45..81a0dd4ad673146db94966e2a8cf58a80061343f 100644 +index c520e8e53356188ee00dc10a6a74c88b5e2f6e94..155087d30e826205088ad9d449b33d4b29dca716 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -147,6 +147,12 @@ public class Main { diff --git a/patches/server/0021-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/patches/server/0021-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index 07e8a12abb..5a1b0496b3 100644 --- a/patches/server/0021-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/patches/server/0021-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -19,10 +19,10 @@ index 1190d62594c5b1be1c11d55e646ee0bac27307cb..c38cfd4781911db0fe191412f089c55c public SystemReport fillSystemReport(SystemReport details) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e8d46fffea6c6db14fce1a451ca81863ae69c512..0071c7edfea658223ca565129d6bbb8ac5cd3aa1 100644 +index 7c0e64404f442721b9279e7a167e6a5e26a81829..69461a48a38624a9014ef56242cdba407270cee1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -243,7 +243,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; +@@ -244,7 +244,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; import net.md_5.bungee.api.chat.BaseComponent; // Spigot public final class CraftServer implements Server { @@ -32,7 +32,7 @@ index e8d46fffea6c6db14fce1a451ca81863ae69c512..0071c7edfea658223ca565129d6bbb8a private final String bukkitVersion = Versioning.getBukkitVersion(); private final Logger logger = Logger.getLogger("Minecraft"); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 81a0dd4ad673146db94966e2a8cf58a80061343f..746416c8cadf4a60a417d27faace398ce8eab6cb 100644 +index 155087d30e826205088ad9d449b33d4b29dca716..8962c8669802dabd6a7bc5b6e506f5d921becea2 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -221,12 +221,25 @@ public class Main { diff --git a/patches/server/0024-Player-affects-spawning-API.patch b/patches/server/0024-Player-affects-spawning-API.patch index 36994ec589..f98bb5175e 100644 --- a/patches/server/0024-Player-affects-spawning-API.patch +++ b/patches/server/0024-Player-affects-spawning-API.patch @@ -117,10 +117,10 @@ index 7c5918f84d2b8f9c778258b7e7d745105effb082..cfb286020b8ee87bad7edbda4cd0b999 for(Player player : this.players()) { if (EntitySelector.NO_SPECTATORS.test(player) && EntitySelector.LIVING_ENTITY_STILL_ALIVE.test(player)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index fcff5e05818c81f72cb6e0f83a683c2bb3979737..d4c5e032c1c3e79c84ab99d7f90417e2b4c673df 100644 +index 3d7ad34b9fefd2a3f064866c6a3464a9389005e1..5d0d2ac00589da28d26d1efafdea9be22e341af4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1958,8 +1958,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1965,8 +1965,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getLocale() { return this.getHandle().locale; diff --git a/patches/server/0025-Further-improve-server-tick-loop.patch b/patches/server/0025-Further-improve-server-tick-loop.patch index e74365a279..9dfa583250 100644 --- a/patches/server/0025-Further-improve-server-tick-loop.patch +++ b/patches/server/0025-Further-improve-server-tick-loop.patch @@ -144,10 +144,10 @@ index c38cfd4781911db0fe191412f089c55cc4e40f2a..8cc5b6bbe2d8cbeb72e88b9e08e87fbb this.startMetricsRecordingTick(); this.profiler.push("tick"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0071c7edfea658223ca565129d6bbb8ac5cd3aa1..079cc8db76f08db578828d0114aee52231fef250 100644 +index 69461a48a38624a9014ef56242cdba407270cee1..a830c5c8603eacfe52bdcb15cfa5f52cad1eba47 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2395,6 +2395,17 @@ public final class CraftServer implements Server { +@@ -2402,6 +2402,17 @@ public final class CraftServer implements Server { return CraftMagicNumbers.INSTANCE; } diff --git a/patches/server/0026-Only-refresh-abilities-if-needed.patch b/patches/server/0026-Only-refresh-abilities-if-needed.patch index 42e6c4ec62..eefbf28c80 100644 --- a/patches/server/0026-Only-refresh-abilities-if-needed.patch +++ b/patches/server/0026-Only-refresh-abilities-if-needed.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Only refresh abilities if needed diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d4c5e032c1c3e79c84ab99d7f90417e2b4c673df..7df667b54478d5e415cf6872984db33981b8e4f9 100644 +index 5d0d2ac00589da28d26d1efafdea9be22e341af4..131b7be8da627e3bb2024f1aeedf7d58a7571098 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1627,12 +1627,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1634,12 +1634,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setFlying(boolean value) { diff --git a/patches/server/0027-Entity-Origin-API.patch b/patches/server/0027-Entity-Origin-API.patch index 17814a850b..fdb796eee0 100644 --- a/patches/server/0027-Entity-Origin-API.patch +++ b/patches/server/0027-Entity-Origin-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entity Origin API diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 823b0d6ce2ad55532532abec07b7920ee546eb56..41c398b1819d960994922b0ffaf64ae7348d82cf 100644 +index a14386502e9b3ccec23233db2ddfedeec94ffb91..bae0b45aba0b04a229f5e098d13a5e6383524e88 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -2108,6 +2108,15 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -25,10 +25,10 @@ index 823b0d6ce2ad55532532abec07b7920ee546eb56..41c398b1819d960994922b0ffaf64ae7 public void onTrackingEnd(Entity entity) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 76dc492e9c2239a09de9ead5de50abb86a97f452..96864858f28337a6807cfa255b6b607bdbd337ce 100644 +index e6a884fb477f66502c3ce3091e8123f3370188ff..95dbf90ec1ce3f470eaaf99115668d5bd1c7bea1 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -303,7 +303,27 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -304,7 +304,27 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public long activatedTick = Integer.MIN_VALUE; public void inactiveTick() { } // Spigot end @@ -56,7 +56,7 @@ index 76dc492e9c2239a09de9ead5de50abb86a97f452..96864858f28337a6807cfa255b6b607b public float getBukkitYaw() { return this.yRot; } -@@ -1851,6 +1871,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1852,6 +1872,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.bukkitEntity.storeBukkitValues(nbt); } // CraftBukkit end @@ -72,7 +72,7 @@ index 76dc492e9c2239a09de9ead5de50abb86a97f452..96864858f28337a6807cfa255b6b607b return nbt; } catch (Throwable throwable) { CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT"); -@@ -1975,6 +2004,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1976,6 +2005,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } // CraftBukkit end @@ -132,7 +132,7 @@ index 2d4a990da2402a6c24c03e8be7e518e33db99c8f..10f8b5ff56e4c1d8300835e045abdce7 @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index b403022201b34118adddf817b19a8bbdb6229df4..35e6cdd6930209d5c0f1c23c4e6838a5c0d81aa3 100644 +index 64687b0e04f619576f3e7f4fec0b559408048d38..f79f2867b62e25e9bf8e1102d12bcd07c913675b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1166,4 +1166,21 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0029-Configurable-top-of-nether-void-damage.patch b/patches/server/0029-Configurable-top-of-nether-void-damage.patch index e9d5eed999..36b041337e 100644 --- a/patches/server/0029-Configurable-top-of-nether-void-damage.patch +++ b/patches/server/0029-Configurable-top-of-nether-void-damage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable top of nether void damage diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 96864858f28337a6807cfa255b6b607bdbd337ce..3da8823a931d14cff60d3b99636cbf54d890b820 100644 +index 95dbf90ec1ce3f470eaaf99115668d5bd1c7bea1..aee2429a0e55e5788ea874c17bcadecaa3d4ef0b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -652,7 +652,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -653,7 +653,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public void checkOutOfWorld() { diff --git a/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch index e8acf777c6..1db63a8470 100644 --- a/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch +++ b/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch @@ -30,10 +30,10 @@ index 66fa7e12a9a398d510a75549c3db135feb4c562c..e839487415ad88bdea1ce3f4f84a6f96 this.locale = packet.language; // Paper start diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7df667b54478d5e415cf6872984db33981b8e4f9..c5a02c5a6ccf14d2088ee0b65fd27db926b26eac 100644 +index 131b7be8da627e3bb2024f1aeedf7d58a7571098..48c4b06c539708de08d5be5996499cf8d68364e5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1958,8 +1958,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1965,8 +1965,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getLocale() { diff --git a/patches/server/0040-Per-Player-View-Distance-API-placeholders.patch b/patches/server/0040-Per-Player-View-Distance-API-placeholders.patch index e95005b267..a238f0777c 100644 --- a/patches/server/0040-Per-Player-View-Distance-API-placeholders.patch +++ b/patches/server/0040-Per-Player-View-Distance-API-placeholders.patch @@ -18,10 +18,10 @@ index e839487415ad88bdea1ce3f4f84a6f9649eb9da9..447d4e724b5ff129bd6670f4d7b2111a + public final int getViewDistance() { return this.getLevel().getChunkSource().chunkMap.viewDistance - 1; } // Paper - placeholder } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 1357bc97801f892e59fc8e89c3cc2d697894ccfb..cf9c2456004ce5fc0e38da33251f66df0b3fdd51 100644 +index cf7762e76a2d35acdfc12627e9750fbec766d555..40d6b00fb40db167c6c80b6a3f79eb82d08cdfb9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1834,6 +1834,37 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1913,6 +1913,37 @@ public class CraftWorld extends CraftRegionAccessor implements World { return world.spigotConfig.simulationDistance; } // Spigot end @@ -60,7 +60,7 @@ index 1357bc97801f892e59fc8e89c3cc2d697894ccfb..cf9c2456004ce5fc0e38da33251f66df // Spigot start private final org.bukkit.World.Spigot spigot = new org.bukkit.World.Spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c5a02c5a6ccf14d2088ee0b65fd27db926b26eac..5d35cd1b790197c92f2340426e5dd17827b3bfaa 100644 +index 48c4b06c539708de08d5be5996499cf8d68364e5..b63c2e2fb802a4f1c5447524474c61ffe18e640e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -402,6 +402,46 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0047-Ensure-commands-are-not-ran-async.patch b/patches/server/0047-Ensure-commands-are-not-ran-async.patch index aa6f1838af..9a5a8d1398 100644 --- a/patches/server/0047-Ensure-commands-are-not-ran-async.patch +++ b/patches/server/0047-Ensure-commands-are-not-ran-async.patch @@ -48,10 +48,10 @@ index 357ff7f3ade2d59a7a2b3d93d7d35534565b6add..e27be8fb00360d546557bdbfec290773 } else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Do nothing, this is coming from a plugin diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 079cc8db76f08db578828d0114aee52231fef250..101bc3c3742d6d2d477ff4350a037d130149069c 100644 +index a830c5c8603eacfe52bdcb15cfa5f52cad1eba47..61f521f6e5e9e5b1e01e182df5e0f37c124d259f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -859,6 +859,28 @@ public final class CraftServer implements Server { +@@ -861,6 +861,28 @@ public final class CraftServer implements Server { Validate.notNull(commandLine, "CommandLine cannot be null"); org.spigotmc.AsyncCatcher.catchOp("command dispatch"); // Spigot diff --git a/patches/server/0049-Expose-server-CommandMap.patch b/patches/server/0049-Expose-server-CommandMap.patch index 2f7f7ff6c7..89de53d336 100644 --- a/patches/server/0049-Expose-server-CommandMap.patch +++ b/patches/server/0049-Expose-server-CommandMap.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 101bc3c3742d6d2d477ff4350a037d130149069c..f1371173f2a3eed6a400f22867ff281205764347 100644 +index 61f521f6e5e9e5b1e01e182df5e0f37c124d259f..29db11ac78ae02a6dfbf5ce8f28ac45b2c047fc7 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1979,6 +1979,7 @@ public final class CraftServer implements Server { +@@ -1981,6 +1981,7 @@ public final class CraftServer implements Server { return this.helpMap; } diff --git a/patches/server/0053-Add-configurable-portal-search-radius.patch b/patches/server/0053-Add-configurable-portal-search-radius.patch index 0c56e97e6f..9385e82732 100644 --- a/patches/server/0053-Add-configurable-portal-search-radius.patch +++ b/patches/server/0053-Add-configurable-portal-search-radius.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add configurable portal search radius diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 3da8823a931d14cff60d3b99636cbf54d890b820..86b8747ec3aa9c92644fe313c7a73593f8bf4eae 100644 +index aee2429a0e55e5788ea874c17bcadecaa3d4ef0b..125e89bf8473dc7febd791073e6801aa75b85840 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2939,7 +2939,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2940,7 +2940,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { double d0 = DimensionType.getTeleportationScale(this.level.dimensionType(), destination.dimensionType()); BlockPos blockposition = worldborder.clampToBounds(this.getX() * d0, this.getY(), this.getZ() * d0); // CraftBukkit start diff --git a/patches/server/0054-Add-velocity-warnings.patch b/patches/server/0054-Add-velocity-warnings.patch index a14fd675ad..7105e04dfa 100644 --- a/patches/server/0054-Add-velocity-warnings.patch +++ b/patches/server/0054-Add-velocity-warnings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add velocity warnings diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f1371173f2a3eed6a400f22867ff281205764347..65fa69c9b6fa91b6bfa46da35ebcdc377a1f8691 100644 +index 29db11ac78ae02a6dfbf5ce8f28ac45b2c047fc7..5905936a47649171c79000da9c1f85ef0be10d2a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -276,6 +276,7 @@ public final class CraftServer implements Server { +@@ -278,6 +278,7 @@ public final class CraftServer implements Server { public boolean ignoreVanillaPermissions = false; private final List playerView; public int reloadCount; @@ -17,7 +17,7 @@ index f1371173f2a3eed6a400f22867ff281205764347..65fa69c9b6fa91b6bfa46da35ebcdc37 static { ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 35e6cdd6930209d5c0f1c23c4e6838a5c0d81aa3..bbd87aaedba4ff034678e17b2c377dbdbce02c57 100644 +index f79f2867b62e25e9bf8e1102d12bcd07c913675b..e1ae00c1639b4ff18e061d86b006ff733494bb00 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -450,10 +450,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0055-Configurable-inter-world-teleportation-safety.patch b/patches/server/0055-Configurable-inter-world-teleportation-safety.patch index 6702e121ce..f50a3ab567 100644 --- a/patches/server/0055-Configurable-inter-world-teleportation-safety.patch +++ b/patches/server/0055-Configurable-inter-world-teleportation-safety.patch @@ -16,10 +16,10 @@ The wanted destination was on top of the emerald block however the player ended This only is the case if the player is teleporting between worlds. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b3e12f613117dd417f48981a7c2388597118b515..8fafbbf8556c295fd7bc21352c640101d15d3e7c 100644 +index 4293d5d3f413c61ee2bbc611fa850603f6d12425..00576a1d65b0e8f32af739c6f0383e2418360132 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1031,7 +1031,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1038,7 +1038,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (fromWorld == toWorld) { entity.connection.teleport(to); } else { diff --git a/patches/server/0058-Disable-Scoreboards-for-non-players-by-default.patch b/patches/server/0058-Disable-Scoreboards-for-non-players-by-default.patch index 6356ffba6b..b17b5640fe 100644 --- a/patches/server/0058-Disable-Scoreboards-for-non-players-by-default.patch +++ b/patches/server/0058-Disable-Scoreboards-for-non-players-by-default.patch @@ -11,10 +11,10 @@ So avoid looking up scoreboards and short circuit to the "not on a team" logic which is most likely to be true. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 86b8747ec3aa9c92644fe313c7a73593f8bf4eae..704a5aa2881c6f826d49ad9aed6003db7c5f5843 100644 +index 125e89bf8473dc7febd791073e6801aa75b85840..1bdbd36133615fde517174ab336f2de81efc5875 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2577,6 +2577,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2578,6 +2578,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @Nullable public Team getTeam() { @@ -23,7 +23,7 @@ index 86b8747ec3aa9c92644fe313c7a73593f8bf4eae..704a5aa2881c6f826d49ad9aed6003db } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 4731869c1bd3b8abdd2a5133fd551a2a534a6b41..3710cf92bd29f69bb86d72a7adbb8df9bf4f8f08 100644 +index 9cdf8a51268fdfefa6efc34a82d4fccb3593dc71..30198bf3d05da6e05cca08a8e5f39edc964cb356 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -823,6 +823,7 @@ public abstract class LivingEntity extends Entity { diff --git a/patches/server/0061-Complete-resource-pack-API.patch b/patches/server/0061-Complete-resource-pack-API.patch index ae6fdf2c8d..e7911ba01a 100644 --- a/patches/server/0061-Complete-resource-pack-API.patch +++ b/patches/server/0061-Complete-resource-pack-API.patch @@ -23,7 +23,7 @@ index e27be8fb00360d546557bdbfec2907736145fa0f..d5cbeb088c95537fa63a489603a71307 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ee95995da272630b78427812656ecdff65cb0343..f9cb4d38714bd65202e7737f581980002f1e7ca5 100644 +index 00576a1d65b0e8f32af739c6f0383e2418360132..8ad19c44e4cfa39f81f8fc5e6a13e2649b6b0a3c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -144,6 +144,7 @@ import org.bukkit.plugin.Plugin; @@ -45,7 +45,7 @@ index ee95995da272630b78427812656ecdff65cb0343..f9cb4d38714bd65202e7737f58198000 public CraftPlayer(CraftServer server, ServerPlayer entity) { super(server, entity); -@@ -2108,6 +2113,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2115,6 +2120,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean getAffectsSpawning() { return this.getHandle().affectsSpawning; } diff --git a/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch b/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch index 92f0d899a0..e236378075 100644 --- a/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch +++ b/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch @@ -16,10 +16,10 @@ modify that. Under the previous logic, plugins were unable (cleanly) override pe A config option has been added for those who depend on the previous behavior, but I don't expect that. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 65fa69c9b6fa91b6bfa46da35ebcdc377a1f8691..92c14b5a6d0952b595f636eccee17fe9e579da3c 100644 +index 5905936a47649171c79000da9c1f85ef0be10d2a..96c8e08a0c4cec7f6c79de0477011c53b7c90af2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -458,6 +458,7 @@ public final class CraftServer implements Server { +@@ -460,6 +460,7 @@ public final class CraftServer implements Server { if (type == PluginLoadOrder.STARTUP) { this.helpMap.clear(); this.helpMap.initializeGeneralTopics(); @@ -27,7 +27,7 @@ index 65fa69c9b6fa91b6bfa46da35ebcdc377a1f8691..92c14b5a6d0952b595f636eccee17fe9 } Plugin[] plugins = this.pluginManager.getPlugins(); -@@ -477,7 +478,7 @@ public final class CraftServer implements Server { +@@ -479,7 +480,7 @@ public final class CraftServer implements Server { this.commandMap.registerServerAliases(); DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); diff --git a/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch b/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch index 246b9eb370..e2b4ea8cff 100644 --- a/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch +++ b/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Custom Permissions https://github.com/PaperMC/Paper/issues/49 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 92c14b5a6d0952b595f636eccee17fe9e579da3c..67843ddc9b68e819c77dc0c47dd57bb2e78cdd20 100644 +index 96c8e08a0c4cec7f6c79de0477011c53b7c90af2..fde49ecd08fed39ace86955877998c9909215e3d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2523,5 +2523,23 @@ public final class CraftServer implements Server { +@@ -2530,5 +2530,23 @@ public final class CraftServer implements Server { } return this.adventure$audiences; } diff --git a/patches/server/0064-Remove-Metadata-on-reload.patch b/patches/server/0064-Remove-Metadata-on-reload.patch index ce29bb4c96..752c522c92 100644 --- a/patches/server/0064-Remove-Metadata-on-reload.patch +++ b/patches/server/0064-Remove-Metadata-on-reload.patch @@ -7,10 +7,10 @@ Metadata is not meant to persist reload as things break badly with non primitive This will remove metadata on reload so it does not crash everything if a plugin uses it. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 67843ddc9b68e819c77dc0c47dd57bb2e78cdd20..9c44dea69a39eea480f5ffb1ce6842e32354a072 100644 +index fde49ecd08fed39ace86955877998c9909215e3d..78759fbd83f36a7c03891660324ccc1b077713a6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -946,8 +946,16 @@ public final class CraftServer implements Server { +@@ -948,8 +948,16 @@ public final class CraftServer implements Server { world.spigotConfig.init(); // Spigot } diff --git a/patches/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch index bb72394a3d..a7e086d2ed 100644 --- a/patches/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/patches/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -5,7 +5,7 @@ Subject: [PATCH] handle NaN health/absorb values and repair bad data diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index ef820cd573a3c2366698df658dd8de6981c95e73..e9747640adff75df331e794f08397619379ae280 100644 +index 55c18329f20e3f95f51119fbde1a6f3863129a8d..315ad337bddf3c6c95e829d3598d7d4ed87231b8 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -784,7 +784,13 @@ public abstract class LivingEntity extends Entity { @@ -44,10 +44,10 @@ index ef820cd573a3c2366698df658dd8de6981c95e73..e9747640adff75df331e794f08397619 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6b542ea548b078ca41f347614d25bcf00d30a87f..213037a4c545db70ca5e66018057216cbb6532d3 100644 +index 8ad19c44e4cfa39f81f8fc5e6a13e2649b6b0a3c..c8d63359c77ce11711df3ebed295fdd989d601a5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1913,6 +1913,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1920,6 +1920,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setRealHealth(double health) { diff --git a/patches/server/0070-Use-a-Shared-Random-for-Entities.patch b/patches/server/0070-Use-a-Shared-Random-for-Entities.patch index 5d22908592..bd6f220da5 100644 --- a/patches/server/0070-Use-a-Shared-Random-for-Entities.patch +++ b/patches/server/0070-Use-a-Shared-Random-for-Entities.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Use a Shared Random for Entities Reduces memory usage and provides ensures more randomness, Especially since a lot of garbage entity objects get created. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 704a5aa2881c6f826d49ad9aed6003db7c5f5843..112942d72a30a722ba929f89fb57f67328366d99 100644 +index 1bdbd36133615fde517174ab336f2de81efc5875..770d232297908f13e4636bf2a2e40e50924eda14 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -158,6 +158,79 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -159,6 +159,79 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return tag.contains("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level; } @@ -89,7 +89,7 @@ index 704a5aa2881c6f826d49ad9aed6003db7c5f5843..112942d72a30a722ba929f89fb57f673 private CraftEntity bukkitEntity; public CraftEntity getBukkitEntity() { -@@ -345,7 +418,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -346,7 +419,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.bb = Entity.INITIAL_AABB; this.stuckSpeedMultiplier = Vec3.ZERO; this.nextStep = 1.0F; diff --git a/patches/server/0091-LootTable-API-Replenishable-Lootables-Feature.patch b/patches/server/0091-LootTable-API-Replenishable-Lootables-Feature.patch index d9cb4e1c6c..eaaaa50553 100644 --- a/patches/server/0091-LootTable-API-Replenishable-Lootables-Feature.patch +++ b/patches/server/0091-LootTable-API-Replenishable-Lootables-Feature.patch @@ -485,10 +485,10 @@ index 0000000000000000000000000000000000000000..3377b86c337d0234bbb9b0349e4034a7 + } +} diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 112942d72a30a722ba929f89fb57f67328366d99..1001ac7de9c555aff8da600ff18f1fd28f8d37a5 100644 +index 770d232297908f13e4636bf2a2e40e50924eda14..39f74f7648f73e296176c121fadb35bdf3ed160c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -231,6 +231,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -232,6 +232,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } // Paper end diff --git a/patches/server/0102-Add-setting-for-proxy-online-mode-status.patch b/patches/server/0102-Add-setting-for-proxy-online-mode-status.patch index 15b8e253db..dbad98baa3 100644 --- a/patches/server/0102-Add-setting-for-proxy-online-mode-status.patch +++ b/patches/server/0102-Add-setting-for-proxy-online-mode-status.patch @@ -43,10 +43,10 @@ index da98f074ccd5a40c635824112c97fd174c393cb1..6599f874d9f97e9ef4862039ecad7277 } else { String[] astring1 = astring; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9c44dea69a39eea480f5ffb1ce6842e32354a072..af54e83dd80b4d791c020c304d35040519d1199e 100644 +index 78759fbd83f36a7c03891660324ccc1b077713a6..4277923c31a3593409113a7d860c09f640c5f288 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1702,7 +1702,7 @@ public final class CraftServer implements Server { +@@ -1704,7 +1704,7 @@ public final class CraftServer implements Server { // Spigot Start GameProfile profile = null; // Only fetch an online UUID in online mode diff --git a/patches/server/0109-Allow-Reloading-of-Command-Aliases.patch b/patches/server/0109-Allow-Reloading-of-Command-Aliases.patch index cc13ede32a..ba5dac2241 100644 --- a/patches/server/0109-Allow-Reloading-of-Command-Aliases.patch +++ b/patches/server/0109-Allow-Reloading-of-Command-Aliases.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index af54e83dd80b4d791c020c304d35040519d1199e..442fd837e5ab21f03dd4c5c6d55bb9504b34ca0e 100644 +index 4277923c31a3593409113a7d860c09f640c5f288..a1288400fec4f58aeee849b8bce6d3c7751b2967 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2549,5 +2549,24 @@ public final class CraftServer implements Server { +@@ -2556,5 +2556,24 @@ public final class CraftServer implements Server { DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); } diff --git a/patches/server/0122-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/server/0122-Provide-E-TE-Chunk-count-stat-methods.patch index a4d9d0f3f1..91494190e3 100644 --- a/patches/server/0122-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/patches/server/0122-Provide-E-TE-Chunk-count-stat-methods.patch @@ -7,7 +7,7 @@ Provides counts without the ineffeciency of using .getEntities().size() which creates copy of the collections. diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 1686dbfc4b45c88105c71d284c024a4101795d08..5577a560d41a2467bd713f2fa7511c83a73c2f2d 100644 +index c8350eae421f5655de490c420dcb284c78f58f62..4e843d9e28f7775faba3e47ca5a725f7921490e6 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -112,7 +112,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -20,10 +20,10 @@ index 1686dbfc4b45c88105c71d284c024a4101795d08..5577a560d41a2467bd713f2fa7511c83 private final List pendingBlockEntityTickers = Lists.newArrayList(); private boolean tickingBlockEntities; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index cf9c2456004ce5fc0e38da33251f66df0b3fdd51..40fc1c194dbb0d9d407204acf7ca84a65f2814c0 100644 +index 40d6b00fb40db167c6c80b6a3f79eb82d08cdfb9..40dd3913ac630899206a506ea9dfc58de634f391 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -146,6 +146,57 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -152,6 +152,57 @@ public class CraftWorld extends CraftRegionAccessor implements World { private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftWorld.DATA_TYPE_REGISTRY); private net.kyori.adventure.pointer.Pointers adventure$pointers; // Paper - implement pointers diff --git a/patches/server/0124-Don-t-allow-entities-to-ride-themselves-572.patch b/patches/server/0124-Don-t-allow-entities-to-ride-themselves-572.patch index c2d7415726..98df5e8731 100644 --- a/patches/server/0124-Don-t-allow-entities-to-ride-themselves-572.patch +++ b/patches/server/0124-Don-t-allow-entities-to-ride-themselves-572.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't allow entities to ride themselves - #572 diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1001ac7de9c555aff8da600ff18f1fd28f8d37a5..3355c705c6ee9de575a822f958c6d051e8a22201 100644 +index 39f74f7648f73e296176c121fadb35bdf3ed160c..28b8e72fe681557fb85ddd57e96cd1b00b1fcd99 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2321,6 +2321,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2322,6 +2322,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } protected boolean addPassenger(Entity entity) { // CraftBukkit diff --git a/patches/server/0126-Cap-Entity-Collisions.patch b/patches/server/0126-Cap-Entity-Collisions.patch index 3718d52fe5..e3925b144d 100644 --- a/patches/server/0126-Cap-Entity-Collisions.patch +++ b/patches/server/0126-Cap-Entity-Collisions.patch @@ -12,10 +12,10 @@ just as it does in Vanilla, but entity pushing logic will be capped. You can set this to 0 to disable collisions. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 3355c705c6ee9de575a822f958c6d051e8a22201..04ef49808013c3d0c9ec4593d01532549e954270 100644 +index 28b8e72fe681557fb85ddd57e96cd1b00b1fcd99..3bd991edf1659c96358d4e217a4d41a3a88310a8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -378,6 +378,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -379,6 +379,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public void inactiveTick() { } // Spigot end // Paper start @@ -24,7 +24,7 @@ index 3355c705c6ee9de575a822f958c6d051e8a22201..04ef49808013c3d0c9ec4593d0153254 private org.bukkit.util.Vector origin; @javax.annotation.Nullable diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 86a624e505db71241e3acb0b9269372ea693031d..7c50e9c28f9f26b42d2baa51d8fa735bb182ffa5 100644 +index 8c5e4958f087a3f688261a44377dde39bc134b80..20bc6684b0394fe08aa35c371bf668d8ebcf98b1 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3261,8 +3261,11 @@ public abstract class LivingEntity extends Entity { diff --git a/patches/server/0132-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/server/0132-Add-configuration-option-to-prevent-player-names-fro.patch index 8f527ecb50..6e282a3b8e 100644 --- a/patches/server/0132-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/patches/server/0132-Add-configuration-option-to-prevent-player-names-fro.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add configuration option to prevent player names from being diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 442fd837e5ab21f03dd4c5c6d55bb9504b34ca0e..04a04855602ddc857288fe57c05feb3ccc349c12 100644 +index a1288400fec4f58aeee849b8bce6d3c7751b2967..aacddeb767770472990bfc2b5f9109d5605b3053 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2568,5 +2568,10 @@ public final class CraftServer implements Server { +@@ -2575,5 +2575,10 @@ public final class CraftServer implements Server { commandMap.registerServerAliases(); return true; } diff --git a/patches/server/0133-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0133-Use-TerminalConsoleAppender-for-console-improvements.patch index bdfb94a6ee..e7dfa96178 100644 --- a/patches/server/0133-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/patches/server/0133-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -19,7 +19,7 @@ Other changes: configuration diff --git a/build.gradle.kts b/build.gradle.kts -index 07b7d43796985cff828ff472ddef2a11b543a4af..64c16b051594b95760ad626f703857efd6e7a8df 100644 +index cfdb20447e6ad3efcdee8889712f77931773beaf..d4141a24cb5ba20e8c53c85206b32120ff18eb48 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,17 @@ plugins { @@ -236,10 +236,10 @@ index b28bb51e5476b250d9de91f2e380dd8ed2aa7041..9cb9e0a4d1467cb5c23dfd38e83d495a this.bans = new UserBanList(PlayerList.USERBANLIST_FILE); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 04a04855602ddc857288fe57c05feb3ccc349c12..49d0e5e5cf1c529cbd0f4c58c88acf802f42a5bd 100644 +index aacddeb767770472990bfc2b5f9109d5605b3053..48cf396d30a4964632fff31969995d3c291bb52f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -44,7 +44,6 @@ import java.util.logging.Level; +@@ -45,7 +45,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; import javax.imageio.ImageIO; @@ -247,7 +247,7 @@ index 04a04855602ddc857288fe57c05feb3ccc349c12..49d0e5e5cf1c529cbd0f4c58c88acf80 import net.minecraft.advancements.Advancement; import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.Commands; -@@ -1272,9 +1271,13 @@ public final class CraftServer implements Server { +@@ -1274,9 +1273,13 @@ public final class CraftServer implements Server { return this.logger; } @@ -262,7 +262,7 @@ index 04a04855602ddc857288fe57c05feb3ccc349c12..49d0e5e5cf1c529cbd0f4c58c88acf80 @Override public PluginCommand getPluginCommand(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index a65a6a3fd0c33442c7f2e34565cbbe7d1fe3621f..6da452d463193dc20d39f3c74058d72a4bbd0cbf 100644 +index d7766aaaaa9fd69aae162046cbd2410f8bfeb14c..c59c72e36db34820ddaf881086a65ec36d79f58d 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -12,7 +12,7 @@ import java.util.logging.Level; @@ -301,7 +301,7 @@ index a65a6a3fd0c33442c7f2e34565cbbe7d1fe3621f..6da452d463193dc20d39f3c74058d72a + System.setProperty(TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper } - if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { + if (false && Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { @@ -247,7 +258,7 @@ public class Main { System.out.println("Unable to read system info"); } diff --git a/patches/server/0139-Add-UnknownCommandEvent.patch b/patches/server/0139-Add-UnknownCommandEvent.patch index 800f58e3a6..c76492382c 100644 --- a/patches/server/0139-Add-UnknownCommandEvent.patch +++ b/patches/server/0139-Add-UnknownCommandEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add UnknownCommandEvent diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 20d1fafc33f207f5e922df9fa5e152e003717a1c..c55a18eadc2bef0c98abd46898e10a5110212c68 100644 +index 48cf396d30a4964632fff31969995d3c291bb52f..a74f3f4f475626d4713b35166050bbbdc4590a67 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -888,7 +888,13 @@ public final class CraftServer implements Server { +@@ -890,7 +890,13 @@ public final class CraftServer implements Server { // Spigot start if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) { diff --git a/patches/server/0140-Basic-PlayerProfile-API.patch b/patches/server/0140-Basic-PlayerProfile-API.patch index b0c4edc169..ef59bd18eb 100644 --- a/patches/server/0140-Basic-PlayerProfile-API.patch +++ b/patches/server/0140-Basic-PlayerProfile-API.patch @@ -621,10 +621,10 @@ index 6c8a1d9c7696fa55dae6ba5e4ea50a0ffc7ea543..2347c7b44793aabe431b57bb1b44935f String s1 = name.toLowerCase(Locale.ROOT); GameProfileCache.GameProfileInfo usercache_usercacheentry = (GameProfileCache.GameProfileInfo) this.profilesByName.get(s1); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c55a18eadc2bef0c98abd46898e10a5110212c68..e66595c24210ed3f2daab2add7e8acc8cf881fdc 100644 +index a74f3f4f475626d4713b35166050bbbdc4590a67..010004567a0958b46cefce4d83e73118f1c9dac5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -241,6 +241,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; +@@ -242,6 +242,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; import net.md_5.bungee.api.chat.BaseComponent; // Spigot @@ -634,7 +634,7 @@ index c55a18eadc2bef0c98abd46898e10a5110212c68..e66595c24210ed3f2daab2add7e8acc8 public final class CraftServer implements Server { private final String serverName = "Paper"; // Paper private final String serverVersion; -@@ -280,6 +283,7 @@ public final class CraftServer implements Server { +@@ -282,6 +285,7 @@ public final class CraftServer implements Server { static { ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); ConfigurationSerialization.registerClass(CraftPlayerProfile.class); @@ -642,7 +642,7 @@ index c55a18eadc2bef0c98abd46898e10a5110212c68..e66595c24210ed3f2daab2add7e8acc8 CraftItemFactory.instance(); } -@@ -2582,5 +2586,37 @@ public final class CraftServer implements Server { +@@ -2589,5 +2593,37 @@ public final class CraftServer implements Server { public boolean suggestPlayerNamesWhenNullTabCompletions() { return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions; } diff --git a/patches/server/0144-Entity-fromMobSpawner.patch b/patches/server/0144-Entity-fromMobSpawner.patch index 3190f705bb..b656393396 100644 --- a/patches/server/0144-Entity-fromMobSpawner.patch +++ b/patches/server/0144-Entity-fromMobSpawner.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity#fromMobSpawner() diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 04ef49808013c3d0c9ec4593d01532549e954270..51a312e841945315a65b42c0c47af5c516eba814 100644 +index 3bd991edf1659c96358d4e217a4d41a3a88310a8..0302462b03884ba8086115c6593c8fe4a4571a59 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -379,6 +379,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -380,6 +380,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // Spigot end // Paper start protected int numCollisions = 0; // Paper @@ -16,7 +16,7 @@ index 04ef49808013c3d0c9ec4593d01532549e954270..51a312e841945315a65b42c0c47af5c5 @javax.annotation.Nullable private org.bukkit.util.Vector origin; @javax.annotation.Nullable -@@ -1958,6 +1959,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1959,6 +1960,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } nbt.put("Paper.Origin", this.newDoubleList(origin.getX(), origin.getY(), origin.getZ())); } @@ -27,7 +27,7 @@ index 04ef49808013c3d0c9ec4593d01532549e954270..51a312e841945315a65b42c0c47af5c5 // Paper end return nbt; } catch (Throwable throwable) { -@@ -2095,6 +2100,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2096,6 +2101,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.originWorld = originWorld; origin = new org.bukkit.util.Vector(originTag.getDouble(0), originTag.getDouble(1), originTag.getDouble(2)); } @@ -49,7 +49,7 @@ index e5b56a85d76d1417dda2d14b1b03850bbb070f4c..5304b0455b070006922e1b5471e9c0ab if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, pos).isCancelled()) { Entity vehicle = entity.getVehicle(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index bbd87aaedba4ff034678e17b2c377dbdbce02c57..e8922397c26617e8051ddfe6d80667b5c1041032 100644 +index e1ae00c1639b4ff18e061d86b006ff733494bb00..41753b72ac6fdf0314d60dbe1ffb60e79b3e4af8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1212,5 +1212,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0166-AsyncTabCompleteEvent.patch b/patches/server/0166-AsyncTabCompleteEvent.patch index 5d8c632d79..2d22d82f5b 100644 --- a/patches/server/0166-AsyncTabCompleteEvent.patch +++ b/patches/server/0166-AsyncTabCompleteEvent.patch @@ -72,10 +72,10 @@ index 86f9991cfe6aca5923c64d8cdde6e90b9ba5591d..7f17875e359855a25618a52bc2e844fe @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e66595c24210ed3f2daab2add7e8acc8cf881fdc..7e3631a75a2221955199f746e9b8f406a744121a 100644 +index 010004567a0958b46cefce4d83e73118f1c9dac5..f9ccc60e0632bedfad05d03b2524cde7f439aa86 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2082,7 +2082,7 @@ public final class CraftServer implements Server { +@@ -2084,7 +2084,7 @@ public final class CraftServer implements Server { offers = this.tabCompleteChat(player, message); } diff --git a/patches/server/0168-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0168-Ability-to-apply-mending-to-XP-API.patch index b7043b48a2..d953751fe7 100644 --- a/patches/server/0168-Ability-to-apply-mending-to-XP-API.patch +++ b/patches/server/0168-Ability-to-apply-mending-to-XP-API.patch @@ -10,10 +10,10 @@ of giving the player experience points. Both an API To standalone mend, and apply mending logic to .giveExp has been added. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b956da482950b7383768d6bd60fa4360e179d7d8..153b5602f1c5f6ef7a184fc8c9cb72523fa3fccb 100644 +index 89f722ba437a5c2563af652431432cbc2a607fdd..45fed25efebb22fface9a8784bb4c30b5a5ee200 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1346,7 +1346,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1353,7 +1353,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } @Override diff --git a/patches/server/0181-Player.setPlayerProfile-API.patch b/patches/server/0181-Player.setPlayerProfile-API.patch index f1bb7536de..b34a02e7bd 100644 --- a/patches/server/0181-Player.setPlayerProfile-API.patch +++ b/patches/server/0181-Player.setPlayerProfile-API.patch @@ -24,7 +24,7 @@ index 53e8804b8ee35acdc2c4b3cbe2bc409242840726..1b075033f0640433341957f6e26ebe25 playerName = gameProfile.getName(); uniqueId = gameProfile.getId(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 153b5602f1c5f6ef7a184fc8c9cb72523fa3fccb..fd3304d1e58f0976cd048d4a265181a0f1251c2f 100644 +index 45fed25efebb22fface9a8784bb4c30b5a5ee200..d69181e01503784ab6c78e585bb1160b41f945c8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -75,6 +75,7 @@ import net.minecraft.world.entity.ai.attributes.Attributes; @@ -47,7 +47,7 @@ index 153b5602f1c5f6ef7a184fc8c9cb72523fa3fccb..fd3304d1e58f0976cd048d4a265181a0 @Override public InetSocketAddress getAddress() { if (this.getHandle().connection == null) return null; -@@ -1479,8 +1475,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1486,8 +1482,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.hiddenEntities.put(entity.getUniqueId(), hidingPlugins); // Remove this entity from the hidden player's EntityTrackerEntry @@ -64,7 +64,7 @@ index 153b5602f1c5f6ef7a184fc8c9cb72523fa3fccb..fd3304d1e58f0976cd048d4a265181a0 ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId()); if (entry != null) { entry.removePlayer(this.getHandle()); -@@ -1493,8 +1496,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1500,8 +1503,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.REMOVE_PLAYER, otherPlayer)); } } @@ -73,7 +73,7 @@ index 153b5602f1c5f6ef7a184fc8c9cb72523fa3fccb..fd3304d1e58f0976cd048d4a265181a0 } @Override -@@ -1531,8 +1532,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1538,8 +1539,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } this.hiddenEntities.remove(entity.getUniqueId()); @@ -90,7 +90,7 @@ index 153b5602f1c5f6ef7a184fc8c9cb72523fa3fccb..fd3304d1e58f0976cd048d4a265181a0 if (other instanceof ServerPlayer) { ServerPlayer otherPlayer = (ServerPlayer) other; -@@ -1543,9 +1551,51 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1550,9 +1558,51 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (entry != null && !entry.seenBy.contains(this.getHandle().connection)) { entry.updatePlayer(this.getHandle()); } diff --git a/patches/server/0182-getPlayerUniqueId-API.patch b/patches/server/0182-getPlayerUniqueId-API.patch index 6c28496b95..5d46e08695 100644 --- a/patches/server/0182-getPlayerUniqueId-API.patch +++ b/patches/server/0182-getPlayerUniqueId-API.patch @@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7e3631a75a2221955199f746e9b8f406a744121a..4950f11c12f29cb363acd639c16c4aa8efafdd17 100644 +index f9ccc60e0632bedfad05d03b2524cde7f439aa86..a13949140f18cae6813ab2e19247969e93e64451 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1704,6 +1704,25 @@ public final class CraftServer implements Server { +@@ -1706,6 +1706,25 @@ public final class CraftServer implements Server { return recipients.size(); } diff --git a/patches/server/0186-Flag-to-disable-the-channel-limit.patch b/patches/server/0186-Flag-to-disable-the-channel-limit.patch index 003c9370be..5aad550fa6 100644 --- a/patches/server/0186-Flag-to-disable-the-channel-limit.patch +++ b/patches/server/0186-Flag-to-disable-the-channel-limit.patch @@ -9,7 +9,7 @@ e.g. servers which allow and support the usage of mod packs. provide an optional flag to disable this check, at your own risk. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index fd3304d1e58f0976cd048d4a265181a0f1251c2f..64f891db064ab1ad74479a5d7fb4d7828217afc7 100644 +index d69181e01503784ab6c78e585bb1160b41f945c8..8824110b6e59dfc347fc442205076310dee1569e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -167,6 +167,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -20,7 +20,7 @@ index fd3304d1e58f0976cd048d4a265181a0f1251c2f..64f891db064ab1ad74479a5d7fb4d782 // Paper end public CraftPlayer(CraftServer server, ServerPlayer entity) { -@@ -1795,7 +1796,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1802,7 +1803,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end public void addChannel(String channel) { diff --git a/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch index 9d60fcd9e5..a19404abea 100644 --- a/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -34,10 +34,10 @@ index 2208dafab412df254bf4c17c1c03d1475b77fbd3..d394f7dd4ef1faa1b92a56945e5dab96 if (this.sendParticles(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 40fc1c194dbb0d9d407204acf7ca84a65f2814c0..d0835690571063ee40f05f897a526c3bffd6274b 100644 +index 40dd3913ac630899206a506ea9dfc58de634f391..d7502ef49d15b13d6f38da5bfc183de47962ecba 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1814,11 +1814,17 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1820,11 +1820,17 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) { diff --git a/patches/server/0210-Expand-Explosions-API.patch b/patches/server/0210-Expand-Explosions-API.patch index 114ffe2c52..65c44e48dd 100644 --- a/patches/server/0210-Expand-Explosions-API.patch +++ b/patches/server/0210-Expand-Explosions-API.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expand Explosions API Add Entity as a Source capability, and add more API choices, and on Location. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index d0835690571063ee40f05f897a526c3bffd6274b..65c0ba9b38df848646ddd2719850f955334abd7a 100644 +index d7502ef49d15b13d6f38da5bfc183de47962ecba..7a89e5c37699762def7501754e0376f04818c6ed 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -708,6 +708,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -714,6 +714,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, Entity source) { return !this.world.explode(source == null ? null : ((CraftEntity) source).getHandle(), x, y, z, power, setFire, breakBlocks ? Explosion.BlockInteraction.BREAK : Explosion.BlockInteraction.NONE).wasCanceled; } diff --git a/patches/server/0214-Implement-World.getEntity-UUID-API.patch b/patches/server/0214-Implement-World.getEntity-UUID-API.patch index a2877f943e..5c3dc04177 100644 --- a/patches/server/0214-Implement-World.getEntity-UUID-API.patch +++ b/patches/server/0214-Implement-World.getEntity-UUID-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement World.getEntity(UUID) API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 65c0ba9b38df848646ddd2719850f955334abd7a..41e2102d79ac6f8c3dad4b1f85d1c98e296a2730 100644 +index 7a89e5c37699762def7501754e0376f04818c6ed..124c1b07067a889ffeb5b9994b0b3be4d3e64540 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1042,6 +1042,15 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1048,6 +1048,15 @@ public class CraftWorld extends CraftRegionAccessor implements World { return list; } diff --git a/patches/server/0215-InventoryCloseEvent-Reason-API.patch b/patches/server/0215-InventoryCloseEvent-Reason-API.patch index 8d645100cf..e161d77cab 100644 --- a/patches/server/0215-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0215-InventoryCloseEvent-Reason-API.patch @@ -173,10 +173,10 @@ index 4ff81744b7c9113f57cf1fa89bb943902711b2dc..404ed5e8f54d70a50de4232c6ea0f616 @Override public boolean isBlocking() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 64f891db064ab1ad74479a5d7fb4d7828217afc7..d426534e7c16a307b93e9170c7eb9bcdbdac2ada 100644 +index 8824110b6e59dfc347fc442205076310dee1569e..4e1d776f5e62c1de04470268cb064ae4359d6c27 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1060,7 +1060,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1067,7 +1067,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Close any foreign inventory if (this.getHandle().containerMenu != this.getHandle().inventoryMenu) { diff --git a/patches/server/0219-add-more-information-to-Entity.toString.patch b/patches/server/0219-add-more-information-to-Entity.toString.patch index 95393b1e3c..7a408f02d9 100644 --- a/patches/server/0219-add-more-information-to-Entity.toString.patch +++ b/patches/server/0219-add-more-information-to-Entity.toString.patch @@ -6,10 +6,10 @@ Subject: [PATCH] add more information to Entity.toString() UUID, ticks lived, valid, dead diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 51a312e841945315a65b42c0c47af5c516eba814..6231f373b34d11bfa04c6ea68ed4ab47b92bf031 100644 +index 0302462b03884ba8086115c6593c8fe4a4571a59..472332bff5f3e89925103df15a22b0d81689594b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2904,7 +2904,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2905,7 +2905,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public String toString() { String s = this.level == null ? "~NULL~" : this.level.toString(); diff --git a/patches/server/0237-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/patches/server/0237-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index b6ff8121bc..4e14262213 100644 --- a/patches/server/0237-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/patches/server/0237-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -72,10 +72,10 @@ index 0531b9c5b10fe250531b0c04cb2ffe2751e7d1c5..25df052247ba26b75e49c801587f71d0 return false; } else { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 6231f373b34d11bfa04c6ea68ed4ab47b92bf031..236b59f5119a4f91919ab93c8edd5269ea34b1ee 100644 +index 472332bff5f3e89925103df15a22b0d81689594b..7b37bfe4a42a78184610bfac25165c1ac27d4fe9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -234,6 +234,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -235,6 +235,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData; // Paper private CraftEntity bukkitEntity; diff --git a/patches/server/0238-Add-Early-Warning-Feature-to-WatchDog.patch b/patches/server/0238-Add-Early-Warning-Feature-to-WatchDog.patch index ef610b3549..1985949304 100644 --- a/patches/server/0238-Add-Early-Warning-Feature-to-WatchDog.patch +++ b/patches/server/0238-Add-Early-Warning-Feature-to-WatchDog.patch @@ -33,10 +33,10 @@ index b248c0f481436b1b101dc1f75eaaf8023f4ba0ea..02ea5304a3f99d69005ab1a7ea85e6a1 com.destroystokyo.paper.Metrics.PaperMetrics.startMetrics(); com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // load version history now diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 4950f11c12f29cb363acd639c16c4aa8efafdd17..9d5ff8b10c991443ebecc63989b3ba68acf756ca 100644 +index a13949140f18cae6813ab2e19247969e93e64451..97f7d0f144e9b0bd40ed714ea04153bf538bf36e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -907,6 +907,7 @@ public final class CraftServer implements Server { +@@ -909,6 +909,7 @@ public final class CraftServer implements Server { @Override public void reload() { @@ -44,7 +44,7 @@ index 4950f11c12f29cb363acd639c16c4aa8efafdd17..9d5ff8b10c991443ebecc63989b3ba68 this.reloadCount++; this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile()); this.commandsConfiguration = YamlConfiguration.loadConfiguration(this.getCommandsConfigFile()); -@@ -995,6 +996,7 @@ public final class CraftServer implements Server { +@@ -997,6 +998,7 @@ public final class CraftServer implements Server { this.enablePlugins(PluginLoadOrder.STARTUP); this.enablePlugins(PluginLoadOrder.POSTWORLD); this.getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.RELOAD)); diff --git a/patches/server/0251-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/patches/server/0251-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch index 870b7cc072..3994515245 100644 --- a/patches/server/0251-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch +++ b/patches/server/0251-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 41e2102d79ac6f8c3dad4b1f85d1c98e296a2730..a21b96ceca273543e23cdc62aa3acff314467f85 100644 +index 124c1b07067a889ffeb5b9994b0b3be4d3e64540..153c2e8bc317d9bff834645102235434e82716e1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -384,7 +384,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -390,7 +390,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot diff --git a/patches/server/0252-Asynchronous-chunk-IO-and-loading.patch b/patches/server/0252-Asynchronous-chunk-IO-and-loading.patch index c97a1aa13e..dc45f7cd9b 100644 --- a/patches/server/0252-Asynchronous-chunk-IO-and-loading.patch +++ b/patches/server/0252-Asynchronous-chunk-IO-and-loading.patch @@ -3555,10 +3555,10 @@ index 8a4750dd8f604062c4ea452f7b97b05a0c8d583a..678bd36581ead3a225e3a6e24b78e5db + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a21b96ceca273543e23cdc62aa3acff314467f85..5eb8aad09826c94defcc8c42bc395e6a617f60e6 100644 +index 153c2e8bc317d9bff834645102235434e82716e1..0d939dc855d4e03df9a95d318e769d842892d46d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1877,6 +1877,34 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1956,6 +1956,34 @@ public class CraftWorld extends CraftRegionAccessor implements World { public DragonBattle getEnderDragonBattle() { return (this.getHandle().dragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().dragonFight()); } @@ -3594,7 +3594,7 @@ index a21b96ceca273543e23cdc62aa3acff314467f85..5eb8aad09826c94defcc8c42bc395e6a @Override public PersistentDataContainer getPersistentDataContainer() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 1adc2ad30b174465989c628c4306df011356c93c..c752f70b0c05cb7acd8c7cfce92ab05af560671a 100644 +index e6b75dfa1a59c9f1f6afde7b4538abf8d51b7261..41920b979ab259fc27a57dde64abdba8c3be3185 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -533,6 +533,37 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0254-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0254-Expose-attack-cooldown-methods-for-Player.patch index 31f9de1197..5f01ad5b65 100644 --- a/patches/server/0254-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/server/0254-Expose-attack-cooldown-methods-for-Player.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose attack cooldown methods for Player diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d426534e7c16a307b93e9170c7eb9bcdbdac2ada..1a10eec46b9b0c3fb94b72e022e75ed89434c189 100644 +index 4e1d776f5e62c1de04470268cb064ae4359d6c27..39097bd415a4028db604c0785c4c294037331e80 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2491,6 +2491,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2498,6 +2498,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.adventure$pointers; } diff --git a/patches/server/0255-Improve-death-events.patch b/patches/server/0255-Improve-death-events.patch index 92fa824bb7..3ede444718 100644 --- a/patches/server/0255-Improve-death-events.patch +++ b/patches/server/0255-Improve-death-events.patch @@ -310,10 +310,10 @@ index f94a74728bd7c02a7f8245c92e7916f0b669ee0d..cd54fa8f7bbcb6036e90f4ef7cdc01d7 this.gameEvent(GameEvent.ENTITY_DIE); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1a10eec46b9b0c3fb94b72e022e75ed89434c189..14ea624eeb87451578138d1eedb4268a2dee7e30 100644 +index 39097bd415a4028db604c0785c4c294037331e80..c6b62a822689289a20cb675be22d8befa5364d35 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2055,7 +2055,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2062,7 +2062,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void sendHealthUpdate() { diff --git a/patches/server/0269-Add-sun-related-API.patch b/patches/server/0269-Add-sun-related-API.patch index 40952bb824..3f3308e435 100644 --- a/patches/server/0269-Add-sun-related-API.patch +++ b/patches/server/0269-Add-sun-related-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add sun related API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 5eb8aad09826c94defcc8c42bc395e6a617f60e6..4a98dc57a5d3f3e1e55ba366f38062514e85ed34 100644 +index 0d939dc855d4e03df9a95d318e769d842892d46d..4003325fa6d4e8391dd6496df620f29265fe1cf9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -684,6 +684,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -690,6 +690,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { } } diff --git a/patches/server/0273-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0273-Add-Velocity-IP-Forwarding-Support.patch index 0dcb53c7cd..dea44cfdf5 100644 --- a/patches/server/0273-Add-Velocity-IP-Forwarding-Support.patch +++ b/patches/server/0273-Add-Velocity-IP-Forwarding-Support.patch @@ -189,10 +189,10 @@ index 1b075033f0640433341957f6e26ebe25f18928ee..8b5eddce4845619603ccfeec158d97cb } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9d5ff8b10c991443ebecc63989b3ba68acf756ca..f13551ecc96ddaffc1b45dc210de1fc7ee119695 100644 +index 97f7d0f144e9b0bd40ed714ea04153bf538bf36e..f1af15d229424bcb570c1cea0cde9aec94841b6b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -762,7 +762,7 @@ public final class CraftServer implements Server { +@@ -764,7 +764,7 @@ public final class CraftServer implements Server { @Override public long getConnectionThrottle() { // Spigot Start - Automatically set connection throttle for bungee configurations diff --git a/patches/server/0285-Make-the-default-permission-message-configurable.patch b/patches/server/0285-Make-the-default-permission-message-configurable.patch index 5f0e175a1b..ed59bcf3d6 100644 --- a/patches/server/0285-Make-the-default-permission-message-configurable.patch +++ b/patches/server/0285-Make-the-default-permission-message-configurable.patch @@ -18,10 +18,10 @@ index b506cd11b76901827cbe66f46db8df400f7015de..13a5062e539f6f43e6fe582318c36302 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f13551ecc96ddaffc1b45dc210de1fc7ee119695..1f3a4671527ebbc32ac8ec6b7f766c23bde1d2a3 100644 +index f1af15d229424bcb570c1cea0cde9aec94841b6b..8b4cb0e38136427cf897316b74f075d671dfa144 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2608,6 +2608,16 @@ public final class CraftServer implements Server { +@@ -2615,6 +2615,16 @@ public final class CraftServer implements Server { return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions; } diff --git a/patches/server/0288-force-entity-dismount-during-teleportation.patch b/patches/server/0288-force-entity-dismount-during-teleportation.patch index 96e9ef4216..fdda404d52 100644 --- a/patches/server/0288-force-entity-dismount-during-teleportation.patch +++ b/patches/server/0288-force-entity-dismount-during-teleportation.patch @@ -41,10 +41,10 @@ index 15b9186ad0e52a55a3f523e4f1d96ef34ca99145..2e42a61e315a6857ca8b2ef4a63c9740 if (entity1 != entity && this.connection != null) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 236b59f5119a4f91919ab93c8edd5269ea34b1ee..ce5bb09aef3c2d8a2d30f3887e4c7e3ef0202460 100644 +index 7b37bfe4a42a78184610bfac25165c1ac27d4fe9..37a8f164d785a1d042f7dcf3d61b15b830621a45 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2317,11 +2317,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2318,11 +2318,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public void removeVehicle() { @@ -62,7 +62,7 @@ index 236b59f5119a4f91919ab93c8edd5269ea34b1ee..ce5bb09aef3c2d8a2d30f3887e4c7e3e } } -@@ -2384,7 +2389,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2385,7 +2390,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return true; // CraftBukkit } @@ -74,7 +74,7 @@ index 236b59f5119a4f91919ab93c8edd5269ea34b1ee..ce5bb09aef3c2d8a2d30f3887e4c7e3e if (entity.getVehicle() == this) { throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)"); } else { -@@ -2394,7 +2402,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2395,7 +2403,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { if (this.getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) { VehicleExitEvent event = new VehicleExitEvent( (Vehicle) this.getBukkitEntity(), @@ -83,7 +83,7 @@ index 236b59f5119a4f91919ab93c8edd5269ea34b1ee..ce5bb09aef3c2d8a2d30f3887e4c7e3e ); // Suppress during worldgen if (this.valid) { -@@ -2408,7 +2416,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2409,7 +2417,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } // CraftBukkit end // Spigot start diff --git a/patches/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch index c5397f4778..b8795c381f 100644 --- a/patches/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch +++ b/patches/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch @@ -106,7 +106,7 @@ index e7442952ef1f03969949014492a7ddc6d0796ba5..d7823d7dc88cfba6f6ac9dae220e03de public Location getLastDeathLocation() { if (this.getData().contains("LastDeathLocation", 10)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 14ea624eeb87451578138d1eedb4268a2dee7e30..fe50a54779e3ae7c26792dda740b2aa8c20b799b 100644 +index c6b62a822689289a20cb675be22d8befa5364d35..12a0e69ca2e20503a8a07ab17631a7f9d8763087 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -168,6 +168,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -117,7 +117,7 @@ index 14ea624eeb87451578138d1eedb4268a2dee7e30..fe50a54779e3ae7c26792dda740b2aa8 // Paper end public CraftPlayer(CraftServer server, ServerPlayer entity) { -@@ -1667,6 +1668,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1674,6 +1675,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.firstPlayed = firstPlayed; } @@ -136,7 +136,7 @@ index 14ea624eeb87451578138d1eedb4268a2dee7e30..fe50a54779e3ae7c26792dda740b2aa8 public void readExtraData(CompoundTag nbttagcompound) { this.hasPlayedBefore = true; if (nbttagcompound.contains("bukkit")) { -@@ -1689,6 +1702,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1696,6 +1709,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setExtraData(CompoundTag nbttagcompound) { @@ -145,7 +145,7 @@ index 14ea624eeb87451578138d1eedb4268a2dee7e30..fe50a54779e3ae7c26792dda740b2aa8 if (!nbttagcompound.contains("bukkit")) { nbttagcompound.put("bukkit", new CompoundTag()); } -@@ -1703,6 +1718,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1710,6 +1725,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { data.putLong("firstPlayed", this.getFirstPlayed()); data.putLong("lastPlayed", System.currentTimeMillis()); data.putString("lastKnownName", handle.getScoreboardName()); diff --git a/patches/server/0295-Block-Entity-remove-from-being-called-on-Players.patch b/patches/server/0295-Block-Entity-remove-from-being-called-on-Players.patch index 5acb8ee772..38285a1e7e 100644 --- a/patches/server/0295-Block-Entity-remove-from-being-called-on-Players.patch +++ b/patches/server/0295-Block-Entity-remove-from-being-called-on-Players.patch @@ -12,10 +12,10 @@ Player we will look at limiting the scope of this change. It appears to be unintentional in the few cases we've seen so far. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index fe50a54779e3ae7c26792dda740b2aa8c20b799b..f53b4041fc9ce961350649666521e3cf359cdfc1 100644 +index 12a0e69ca2e20503a8a07ab17631a7f9d8763087..226bfb38b8b1c3463e5527c831d22875cfc051ba 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2538,6 +2538,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2545,6 +2545,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetCooldown() { getHandle().resetAttackStrengthTicker(); } diff --git a/patches/server/0306-Entity-getEntitySpawnReason.patch b/patches/server/0306-Entity-getEntitySpawnReason.patch index e78b90f0a8..aeff29a0f1 100644 --- a/patches/server/0306-Entity-getEntitySpawnReason.patch +++ b/patches/server/0306-Entity-getEntitySpawnReason.patch @@ -35,10 +35,10 @@ index c2370cb1128b55dd9d40a72a01296f40e01630b9..7fc211e97da0f3e00abc9e0098df137b }); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ce5bb09aef3c2d8a2d30f3887e4c7e3ef0202460..882378cb4b5da76fdb0d1180350c7bb927f0df28 100644 +index 37a8f164d785a1d042f7dcf3d61b15b830621a45..48d107596cadb6af8e037e9a37396dbda9b95d91 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -73,6 +73,8 @@ import net.minecraft.world.InteractionHand; +@@ -74,6 +74,8 @@ import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.Nameable; import net.minecraft.world.damagesource.DamageSource; @@ -47,7 +47,7 @@ index ce5bb09aef3c2d8a2d30f3887e4c7e3ef0202460..882378cb4b5da76fdb0d1180350c7bb9 import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.vehicle.Boat; -@@ -230,6 +232,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -231,6 +233,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } } // Paper end @@ -55,7 +55,7 @@ index ce5bb09aef3c2d8a2d30f3887e4c7e3ef0202460..882378cb4b5da76fdb0d1180350c7bb9 public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData; // Paper private CraftEntity bukkitEntity; -@@ -1961,6 +1964,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1962,6 +1965,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } nbt.put("Paper.Origin", this.newDoubleList(origin.getX(), origin.getY(), origin.getZ())); } @@ -65,7 +65,7 @@ index ce5bb09aef3c2d8a2d30f3887e4c7e3ef0202460..882378cb4b5da76fdb0d1180350c7bb9 // Save entity's from mob spawner status if (spawnedViaMobSpawner) { nbt.putBoolean("Paper.FromMobSpawner", true); -@@ -2104,6 +2110,26 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2105,6 +2111,26 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } spawnedViaMobSpawner = nbt.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status @@ -105,7 +105,7 @@ index 0be0c7a323277093a6f8e476048eb9ee8712cbc9..c7e97263eee005fd673882e11c436542 // Spigot Start if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, pos).isCancelled()) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index c752f70b0c05cb7acd8c7cfce92ab05af560671a..5f232c45d6e01943cf1ca1d7802d4915887a6b32 100644 +index 41920b979ab259fc27a57dde64abdba8c3be3185..6029cb7d8801c471e596ba027b7e408a27c44db9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1249,5 +1249,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0314-Add-Heightmap-API.patch b/patches/server/0314-Add-Heightmap-API.patch index a3f89e0195..f4574ba880 100644 --- a/patches/server/0314-Add-Heightmap-API.patch +++ b/patches/server/0314-Add-Heightmap-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Heightmap API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 4a98dc57a5d3f3e1e55ba366f38062514e85ed34..486e9e1d416021561d769d1f69b22d0a1e354342 100644 +index 4003325fa6d4e8391dd6496df620f29265fe1cf9..4687bbd141ace6e1ec3f4abf40b1cd559ae10987 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -217,6 +217,29 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -223,6 +223,29 @@ public class CraftWorld extends CraftRegionAccessor implements World { return this.getHighestBlockYAt(x, z, org.bukkit.HeightMap.MOTION_BLOCKING); } diff --git a/patches/server/0318-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch b/patches/server/0318-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch index d8d7ede2af..568bf662e8 100644 --- a/patches/server/0318-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch +++ b/patches/server/0318-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch @@ -29,10 +29,10 @@ index 7d1ca1dbd0c1f882b4c59fb6c56e9ba86d81ae42..97e964030a5cc449543252933f8a7b48 public boolean isDebugging() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1f3a4671527ebbc32ac8ec6b7f766c23bde1d2a3..0b1917ac2f30f9f5e0b3f7ec5fa4c38d0d501f92 100644 +index 8b4cb0e38136427cf897316b74f075d671dfa144..cdc209d56b80fa6dd94b2e1d45918baf96aad153 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2071,7 +2071,7 @@ public final class CraftServer implements Server { +@@ -2073,7 +2073,7 @@ public final class CraftServer implements Server { @Override public boolean isPrimaryThread() { diff --git a/patches/server/0320-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/patches/server/0320-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 81325986a4..52a2e284d7 100644 --- a/patches/server/0320-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/patches/server/0320-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -200,10 +200,10 @@ index 4d2348df25410a0b5364eec066880326d6667dad..286aad3205ef8a9e21a47ef07893844f this.maxCount = i * i; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 486e9e1d416021561d769d1f69b22d0a1e354342..7489ac7569454560adcae2005317d83bbe7e98c5 100644 +index 4687bbd141ace6e1ec3f4abf40b1cd559ae10987..2518674a967a5fbf2229a0fdd60447a62cfbf856 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1351,15 +1351,21 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1357,15 +1357,21 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void setKeepSpawnInMemory(boolean keepLoaded) { diff --git a/patches/server/0324-Expose-the-internal-current-tick.patch b/patches/server/0324-Expose-the-internal-current-tick.patch index f553afb471..9176bcb75b 100644 --- a/patches/server/0324-Expose-the-internal-current-tick.patch +++ b/patches/server/0324-Expose-the-internal-current-tick.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose the internal current tick diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0b1917ac2f30f9f5e0b3f7ec5fa4c38d0d501f92..183ab1a1bc7e761a034e1301e2563d07582dfa26 100644 +index cdc209d56b80fa6dd94b2e1d45918baf96aad153..d4ea341e555ae55e8521aaaa4031ef61007b46e0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2649,5 +2649,10 @@ public final class CraftServer implements Server { +@@ -2656,5 +2656,10 @@ public final class CraftServer implements Server { profile.getProperties().putAll(((CraftPlayer)player).getHandle().getGameProfile().getProperties()); return new com.destroystokyo.paper.profile.CraftPlayerProfile(profile); } diff --git a/patches/server/0325-Fix-World-isChunkGenerated-calls.patch b/patches/server/0325-Fix-World-isChunkGenerated-calls.patch index 7d7f8203cb..e9984535ef 100644 --- a/patches/server/0325-Fix-World-isChunkGenerated-calls.patch +++ b/patches/server/0325-Fix-World-isChunkGenerated-calls.patch @@ -200,10 +200,10 @@ index e734d82c2863caca8abc6bb8bb82882e971c36a8..a96a6af2bcec3134b7caa32299bd07af } catch (Throwable throwable) { if (dataoutputstream != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 7489ac7569454560adcae2005317d83bbe7e98c5..5c3744860ebbb54dc38200c1557d98f995de6c3f 100644 +index 2518674a967a5fbf2229a0fdd60447a62cfbf856..cd70aa0fa7a575c3c1f6434db74c1cc8342fddb4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -294,9 +294,23 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -300,9 +300,23 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean isChunkGenerated(int x, int z) { @@ -229,7 +229,7 @@ index 7489ac7569454560adcae2005317d83bbe7e98c5..5c3744860ebbb54dc38200c1557d98f9 throw new RuntimeException(ex); } } -@@ -407,20 +421,48 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -413,20 +427,48 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot diff --git a/patches/server/0350-Entity-Activation-Range-2.0.patch b/patches/server/0350-Entity-Activation-Range-2.0.patch index 109b43cb5d..0e09f04e89 100644 --- a/patches/server/0350-Entity-Activation-Range-2.0.patch +++ b/patches/server/0350-Entity-Activation-Range-2.0.patch @@ -108,10 +108,10 @@ index 9993b6a8f40896166c2f86befa7222c6e714da81..ff902ae5a96616bb70897d9326fc65a3 } else { passenger.stopRiding(); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 882378cb4b5da76fdb0d1180350c7bb927f0df28..5ebfbb58fabebee9dc52ea8c9115965001f4d6aa 100644 +index 48d107596cadb6af8e037e9a37396dbda9b95d91..a4fe06307ae5e559f36c087705aa9c01a19b5508 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -383,6 +383,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -384,6 +384,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public void inactiveTick() { } // Spigot end // Paper start @@ -120,7 +120,7 @@ index 882378cb4b5da76fdb0d1180350c7bb927f0df28..5ebfbb58fabebee9dc52ea8c91159650 protected int numCollisions = 0; // Paper public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one @javax.annotation.Nullable -@@ -856,6 +858,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -857,6 +859,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } else { this.wasOnFire = this.isOnFire(); if (movementType == MoverType.PISTON) { @@ -129,7 +129,7 @@ index 882378cb4b5da76fdb0d1180350c7bb927f0df28..5ebfbb58fabebee9dc52ea8c91159650 movement = this.limitPistonMovement(movement); if (movement.equals(Vec3.ZERO)) { return; -@@ -868,6 +872,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -869,6 +873,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.stuckSpeedMultiplier = Vec3.ZERO; this.setDeltaMovement(Vec3.ZERO); } diff --git a/patches/server/0353-Anti-Xray.patch b/patches/server/0353-Anti-Xray.patch index ca9d89a276..32c51f7707 100644 --- a/patches/server/0353-Anti-Xray.patch +++ b/patches/server/0353-Anti-Xray.patch @@ -1606,23 +1606,23 @@ index cf48c93d89da53e0ec771e5c2c8582e30b35e3f5..518dfbb7dbd4221937636cf46d27109d } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 183ab1a1bc7e761a034e1301e2563d07582dfa26..9df2d6ea71fb8a4efab6e6a0d1bc3cdad8768645 100644 +index d4ea341e555ae55e8521aaaa4031ef61007b46e0..8c6b829db9b48d7d355b61eab2c6dd9705f2a7da 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2226,7 +2226,7 @@ public final class CraftServer implements Server { +@@ -2228,7 +2228,7 @@ public final class CraftServer implements Server { public ChunkGenerator.ChunkData createChunkData(World world) { Validate.notNull(world, "World cannot be null"); ServerLevel handle = ((CraftWorld) world).getHandle(); -- return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(Registry.BIOME_REGISTRY)); -+ return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(Registry.BIOME_REGISTRY), world); // Paper - Anti-Xray - Add parameters +- return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(net.minecraft.core.Registry.BIOME_REGISTRY)); ++ return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(net.minecraft.core.Registry.BIOME_REGISTRY), world); // Paper - Anti-Xray - Add parameters } @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 5c3744860ebbb54dc38200c1557d98f995de6c3f..86e512629b5ee0133b1c0b9e3d8ec2d4023661f0 100644 +index cd70aa0fa7a575c3c1f6434db74c1cc8342fddb4..21927118d1762302dc560b385fd3a4322840031f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -401,11 +401,16 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -407,11 +407,16 @@ public class CraftWorld extends CraftRegionAccessor implements World { List playersInRange = playerChunk.playerProvider.getPlayers(playerChunk.getPos(), false); if (playersInRange.isEmpty()) return; diff --git a/patches/server/0356-Fix-items-vanishing-through-end-portal.patch b/patches/server/0356-Fix-items-vanishing-through-end-portal.patch index b216e5c29e..cb9f4d0ca8 100644 --- a/patches/server/0356-Fix-items-vanishing-through-end-portal.patch +++ b/patches/server/0356-Fix-items-vanishing-through-end-portal.patch @@ -13,10 +13,10 @@ Quickly loading the exact world spawn chunk before searching the heightmap resolves the issue without having to load all spawn chunks. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5ebfbb58fabebee9dc52ea8c9115965001f4d6aa..52aa6e789b81e6e8a4c7c15eb49dedda4bf90b5d 100644 +index a4fe06307ae5e559f36c087705aa9c01a19b5508..ca7b60b621b4cc1482dfeef84fc51be8f1e25f72 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3111,6 +3111,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3112,6 +3112,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { if (flag1) { blockposition1 = ServerLevel.END_SPAWN_POINT; } else { diff --git a/patches/server/0365-Add-option-to-nerf-pigmen-from-nether-portals.patch b/patches/server/0365-Add-option-to-nerf-pigmen-from-nether-portals.patch index 3f767aa1ad..8c3ebdd16f 100644 --- a/patches/server/0365-Add-option-to-nerf-pigmen-from-nether-portals.patch +++ b/patches/server/0365-Add-option-to-nerf-pigmen-from-nether-portals.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to nerf pigmen from nether portals diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 52aa6e789b81e6e8a4c7c15eb49dedda4bf90b5d..c652aab302357c22a404118cdd113d3162b1a753 100644 +index ca7b60b621b4cc1482dfeef84fc51be8f1e25f72..9ad20adfd336eb1843c5c1ed524662915173d7b3 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -385,6 +385,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -386,6 +386,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // Paper start public long activatedImmunityTick = Integer.MIN_VALUE; // Paper public boolean isTemporarilyActive = false; // Paper @@ -16,7 +16,7 @@ index 52aa6e789b81e6e8a4c7c15eb49dedda4bf90b5d..c652aab302357c22a404118cdd113d31 protected int numCollisions = 0; // Paper public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one @javax.annotation.Nullable -@@ -1982,6 +1983,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1983,6 +1984,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { if (spawnedViaMobSpawner) { nbt.putBoolean("Paper.FromMobSpawner", true); } @@ -26,7 +26,7 @@ index 52aa6e789b81e6e8a4c7c15eb49dedda4bf90b5d..c652aab302357c22a404118cdd113d31 // Paper end return nbt; } catch (Throwable throwable) { -@@ -2121,6 +2125,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2122,6 +2126,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } spawnedViaMobSpawner = nbt.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status diff --git a/patches/server/0373-Add-tick-times-API-and-mspt-command.patch b/patches/server/0373-Add-tick-times-API-and-mspt-command.patch index 9d161b86ea..3a7d03f4c6 100644 --- a/patches/server/0373-Add-tick-times-API-and-mspt-command.patch +++ b/patches/server/0373-Add-tick-times-API-and-mspt-command.patch @@ -189,10 +189,10 @@ index f7427ea6bf11ef837dd38d25cd3abed57de5e8de..ce7b96819bf8d7e992c2aafd3013e8a9 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9df2d6ea71fb8a4efab6e6a0d1bc3cdad8768645..8817a62f12a67b2be69de8c6cfbf89b8a6b618bf 100644 +index 8c6b829db9b48d7d355b61eab2c6dd9705f2a7da..22d95ec01e748d649e86bdbad57a8882e987157d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2471,6 +2471,16 @@ public final class CraftServer implements Server { +@@ -2478,6 +2478,16 @@ public final class CraftServer implements Server { net.minecraft.server.MinecraftServer.getServer().tps15.getAverage() }; } diff --git a/patches/server/0374-Expose-MinecraftServer-isRunning.patch b/patches/server/0374-Expose-MinecraftServer-isRunning.patch index 6d3fc04ad5..6f1e0bd8a3 100644 --- a/patches/server/0374-Expose-MinecraftServer-isRunning.patch +++ b/patches/server/0374-Expose-MinecraftServer-isRunning.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8817a62f12a67b2be69de8c6cfbf89b8a6b618bf..883ee423077b016846b99e9e8597b2a8e70af0d2 100644 +index 22d95ec01e748d649e86bdbad57a8882e987157d..365b2983fde7f635f40aff796e4342ee76ae46bd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2664,5 +2664,10 @@ public final class CraftServer implements Server { +@@ -2671,5 +2671,10 @@ public final class CraftServer implements Server { public int getCurrentTick() { return net.minecraft.server.MinecraftServer.currentTick; } diff --git a/patches/server/0382-Optimize-Collision-to-not-load-chunks.patch b/patches/server/0382-Optimize-Collision-to-not-load-chunks.patch index 2d249a6f85..615c332457 100644 --- a/patches/server/0382-Optimize-Collision-to-not-load-chunks.patch +++ b/patches/server/0382-Optimize-Collision-to-not-load-chunks.patch @@ -26,10 +26,10 @@ index f14d4bfd5ac03eeffefcf98e1077d915fd3fa2cb..d8b34055aff358cb2c236199da1e22d8 entityplayer1.setPos(entityplayer1.getX(), entityplayer1.getY() + 1.0D, entityplayer1.getZ()); } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c652aab302357c22a404118cdd113d3162b1a753..ba6ed98fd09632336980270385165112eb21da46 100644 +index 9ad20adfd336eb1843c5c1ed524662915173d7b3..6d18cd8eda224f94f41816c24868ded73667b10d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -235,6 +235,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -236,6 +236,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason; // Paper public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData; // Paper diff --git a/patches/server/0385-Improved-Watchdog-Support.patch b/patches/server/0385-Improved-Watchdog-Support.patch index d282e6ecac..d41f2c0ff8 100644 --- a/patches/server/0385-Improved-Watchdog-Support.patch +++ b/patches/server/0385-Improved-Watchdog-Support.patch @@ -330,10 +330,10 @@ index 89f4ea65b20e773bd3782c41db3a2af7b5b405f3..3fe94e580d2aaae9616ba83c0d3a4468 final String msg = String.format("BlockEntity threw exception at %s:%s,%s,%s", LevelChunk.this.getLevel().getWorld().getName(), this.getPos().getX(), this.getPos().getY(), this.getPos().getZ()); net.minecraft.server.MinecraftServer.LOGGER.error(msg, throwable); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 883ee423077b016846b99e9e8597b2a8e70af0d2..cd5a34fdd086d5b9d59897cc4319fe81ccdfebcc 100644 +index 365b2983fde7f635f40aff796e4342ee76ae46bd..1186e259b7e1bb5feb1d6ecefd6ab1cb3d467654 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2071,7 +2071,7 @@ public final class CraftServer implements Server { +@@ -2073,7 +2073,7 @@ public final class CraftServer implements Server { @Override public boolean isPrimaryThread() { @@ -343,7 +343,7 @@ index 883ee423077b016846b99e9e8597b2a8e70af0d2..cd5a34fdd086d5b9d59897cc4319fe81 // Paper start diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index fb685e13025bc571896bc999814cb99a17bfb788..fcc959aaed86d1e1c6fe551e534bebbd0fb967a4 100644 +index 9a5373304b445408244fe9850c10526d1df21855..0c76f2e8038bf0bc3edf464295c606acf03a8337 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -12,6 +12,8 @@ import java.util.logging.Level; diff --git a/patches/server/0397-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch b/patches/server/0397-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch index 93cff5a024..bfa322de36 100644 --- a/patches/server/0397-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch +++ b/patches/server/0397-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch @@ -7,10 +7,10 @@ The code following this has better support for null worlds to move them back to the world spawn. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ba6ed98fd09632336980270385165112eb21da46..e9fa8e5ebe8a5e40524735ab98e0c413793e5ca0 100644 +index 6d18cd8eda224f94f41816c24868ded73667b10d..13564786c8ab32bdff5583290a24ec1ba9bc2b80 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2098,9 +2098,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2099,9 +2099,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { bworld = server.getWorld(worldName); } diff --git a/patches/server/0401-Fix-numerous-item-duplication-issues-and-teleport-is.patch b/patches/server/0401-Fix-numerous-item-duplication-issues-and-teleport-is.patch index 27697ddd5e..b307ba5cb8 100644 --- a/patches/server/0401-Fix-numerous-item-duplication-issues-and-teleport-is.patch +++ b/patches/server/0401-Fix-numerous-item-duplication-issues-and-teleport-is.patch @@ -16,10 +16,10 @@ So even if something NEW comes up, it would be impossible to drop the same item twice because the source was destroyed. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index e9fa8e5ebe8a5e40524735ab98e0c413793e5ca0..66c728a456dc9b60fb340d6e55626592e17b6ad8 100644 +index 13564786c8ab32bdff5583290a24ec1ba9bc2b80..f9b7c72b89e3cdbd10cd92bcfcca3125d686d6dd 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2228,11 +2228,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2229,11 +2229,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } else { // CraftBukkit start - Capture drops for death event if (this instanceof net.minecraft.world.entity.LivingEntity && !((net.minecraft.world.entity.LivingEntity) this).forceDrops) { @@ -34,9 +34,9 @@ index e9fa8e5ebe8a5e40524735ab98e0c413793e5ca0..66c728a456dc9b60fb340d6e55626592 entityitem.setDefaultPickUpDelay(); // CraftBukkit start -@@ -2996,6 +2997,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2997,6 +2998,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @Nullable - public Entity teleportTo(ServerLevel worldserver, BlockPos location) { + public Entity teleportTo(ServerLevel worldserver, PositionImpl location) { // CraftBukkit end + // Paper start - fix bad state entities causing dupes + if (!isAlive() || !valid) { @@ -47,7 +47,7 @@ index e9fa8e5ebe8a5e40524735ab98e0c413793e5ca0..66c728a456dc9b60fb340d6e55626592 if (this.level instanceof ServerLevel && !this.isRemoved()) { this.level.getProfiler().push("changeDimension"); // CraftBukkit start -@@ -3022,6 +3029,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3023,6 +3030,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end this.level.getProfiler().popPush("reloading"); @@ -59,7 +59,7 @@ index e9fa8e5ebe8a5e40524735ab98e0c413793e5ca0..66c728a456dc9b60fb340d6e55626592 Entity entity = this.getType().create(worldserver); if (entity != null) { -@@ -3035,10 +3047,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3036,10 +3048,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit start - Forward the CraftEntity to the new entity this.getBukkitEntity().setHandle(entity); entity.bukkitEntity = this.getBukkitEntity(); diff --git a/patches/server/0404-Expose-game-version.patch b/patches/server/0404-Expose-game-version.patch index 9809db40ea..380767d89a 100644 --- a/patches/server/0404-Expose-game-version.patch +++ b/patches/server/0404-Expose-game-version.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose game version diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index cd5a34fdd086d5b9d59897cc4319fe81ccdfebcc..22d9196d190bcf12ecea5cc3df8945277607b0a2 100644 +index 1186e259b7e1bb5feb1d6ecefd6ab1cb3d467654..fd9f329c4e32027cec28eb9e66ec5c39997916e9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -575,6 +575,13 @@ public final class CraftServer implements Server { +@@ -577,6 +577,13 @@ public final class CraftServer implements Server { return this.bukkitVersion; } diff --git a/patches/server/0407-misc-debugging-dumps.patch b/patches/server/0407-misc-debugging-dumps.patch index f8b80338de..c934173ee7 100644 --- a/patches/server/0407-misc-debugging-dumps.patch +++ b/patches/server/0407-misc-debugging-dumps.patch @@ -74,10 +74,10 @@ index ec2825b6d276b6200c4bec5580d012f1eaed722e..e51c03e05c4407ad3a51e573a5e79b00 this.connection.send(new ClientboundDisconnectPacket(ichatmutablecomponent)); this.connection.disconnect(ichatmutablecomponent); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 22d9196d190bcf12ecea5cc3df8945277607b0a2..f7e8982819199dd3e3fd9a7fee1feca8a7626a13 100644 +index fd9f329c4e32027cec28eb9e66ec5c39997916e9..4568e9641490addccd530cfc962758c82cd29a34 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -998,6 +998,7 @@ public final class CraftServer implements Server { +@@ -1000,6 +1000,7 @@ public final class CraftServer implements Server { plugin.getDescription().getFullName(), "This plugin is not properly shutting down its async tasks when it is being reloaded. This may cause conflicts with the newly loaded version of the plugin" )); diff --git a/patches/server/0410-Implement-Mob-Goal-API.patch b/patches/server/0410-Implement-Mob-Goal-API.patch index 1896f70813..826e45c227 100644 --- a/patches/server/0410-Implement-Mob-Goal-API.patch +++ b/patches/server/0410-Implement-Mob-Goal-API.patch @@ -789,10 +789,10 @@ index 4379b9948f1eecfe6fd7dea98e298ad5f761019a..3f081183521603824430709886a9cc31 LOOK, JUMP, diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f7e8982819199dd3e3fd9a7fee1feca8a7626a13..08a381e66471edab5c133af7dc7edb0731722ae7 100644 +index 4568e9641490addccd530cfc962758c82cd29a34..7859cda59999ab1b7b22af6cd682c1afe8a7029f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2677,5 +2677,11 @@ public final class CraftServer implements Server { +@@ -2684,5 +2684,11 @@ public final class CraftServer implements Server { public boolean isStopping() { return net.minecraft.server.MinecraftServer.getServer().hasStopped(); } diff --git a/patches/server/0417-Wait-for-Async-Tasks-during-shutdown.patch b/patches/server/0417-Wait-for-Async-Tasks-during-shutdown.patch index 4068078ec6..97b17bbe73 100644 --- a/patches/server/0417-Wait-for-Async-Tasks-during-shutdown.patch +++ b/patches/server/0417-Wait-for-Async-Tasks-during-shutdown.patch @@ -22,10 +22,10 @@ index 407cfb88d3a6c9c699ca42df2642d9f6fad87cbd..df40ab29f928fa31ccedb9afb64da7e1 // CraftBukkit end if (this.getConnection() != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 08a381e66471edab5c133af7dc7edb0731722ae7..0e4a3acef2f3e422a01e76757faa80c4005ef5ca 100644 +index 7859cda59999ab1b7b22af6cd682c1afe8a7029f..586415d732bf9a1bb8ec2227b447f64912d3b4e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1007,6 +1007,35 @@ public final class CraftServer implements Server { +@@ -1009,6 +1009,35 @@ public final class CraftServer implements Server { org.spigotmc.WatchdogThread.hasStarted = true; // Paper - Disable watchdog early timeout on reload } diff --git a/patches/server/0425-Use-distance-map-to-optimise-entity-tracker.patch b/patches/server/0425-Use-distance-map-to-optimise-entity-tracker.patch index 2a018d6e01..75e01e6bdd 100644 --- a/patches/server/0425-Use-distance-map-to-optimise-entity-tracker.patch +++ b/patches/server/0425-Use-distance-map-to-optimise-entity-tracker.patch @@ -280,10 +280,10 @@ index 37ed4429e065b0e05f14ed352e191863a3547311..10ef89963ad805c775b9c649f4e17c9d return object instanceof ChunkMap.TrackedEntity ? ((ChunkMap.TrackedEntity) object).entity.getId() == this.entity.getId() : false; } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 66c728a456dc9b60fb340d6e55626592e17b6ad8..d19b6266e96e4ef3ba4319d46086b9ef61fb4efb 100644 +index f9b7c72b89e3cdbd10cd92bcfcca3125d686d6dd..30a7aa44e9e2abaf47d548c295ee060f8ac67e8e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -56,6 +56,7 @@ import net.minecraft.network.syncher.EntityDataSerializers; +@@ -57,6 +57,7 @@ import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; @@ -291,7 +291,7 @@ index 66c728a456dc9b60fb340d6e55626592e17b6ad8..d19b6266e96e4ef3ba4319d46086b9ef import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; -@@ -423,6 +424,39 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -424,6 +425,39 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } // Paper end diff --git a/patches/server/0441-Ensure-Entity-AABB-s-are-never-invalid.patch b/patches/server/0441-Ensure-Entity-AABB-s-are-never-invalid.patch index 96da62263c..fbba382527 100644 --- a/patches/server/0441-Ensure-Entity-AABB-s-are-never-invalid.patch +++ b/patches/server/0441-Ensure-Entity-AABB-s-are-never-invalid.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ensure Entity AABB's are never invalid diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d19b6266e96e4ef3ba4319d46086b9ef61fb4efb..a9eb278cef322db446efb6a5c31b53346fe1e59a 100644 +index 30a7aa44e9e2abaf47d548c295ee060f8ac67e8e..173824e96c51c4f1a9f43401cfa3fc79a2432600 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -661,8 +661,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -662,8 +662,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public void setPos(double x, double y, double z) { diff --git a/patches/server/0442-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0442-Fix-Per-World-Difficulty-Remembering-Difficulty.patch index d521f38ad3..874605fa1e 100644 --- a/patches/server/0442-Fix-Per-World-Difficulty-Remembering-Difficulty.patch +++ b/patches/server/0442-Fix-Per-World-Difficulty-Remembering-Difficulty.patch @@ -102,10 +102,10 @@ index 30d0c22d4576f0aef49bb9fb08ff3c9a8edf8d5a..41250053943118526ee36e296b19c1a6 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0e4a3acef2f3e422a01e76757faa80c4005ef5ca..0da8bcdd6b0071742e852ecb1df18a3d123f94ef 100644 +index 586415d732bf9a1bb8ec2227b447f64912d3b4e4..2a135947a7d5b934454dc86e4bfdfd1145f6f3aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -947,8 +947,8 @@ public final class CraftServer implements Server { +@@ -949,8 +949,8 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot this.console.paperConfigurations.reloadConfigs(this.console); for (ServerLevel world : this.console.getAllLevels()) { diff --git a/patches/server/0447-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/patches/server/0447-Add-Plugin-Tickets-to-API-Chunk-Methods.patch index 45909ac8ed..350281756c 100644 --- a/patches/server/0447-Add-Plugin-Tickets-to-API-Chunk-Methods.patch +++ b/patches/server/0447-Add-Plugin-Tickets-to-API-Chunk-Methods.patch @@ -22,10 +22,10 @@ wants it to collect even faster, they can restore that setting back to 1 instead Not adding it to .getType() though to keep behavior consistent with vanilla for performance reasons. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0da8bcdd6b0071742e852ecb1df18a3d123f94ef..df8a2fa9d38fd07e12e42bf2506e4d750a8ecab4 100644 +index 2a135947a7d5b934454dc86e4bfdfd1145f6f3aa..ad2e460086a2f7f9e168c2f99d920862deacc844 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -356,7 +356,7 @@ public final class CraftServer implements Server { +@@ -358,7 +358,7 @@ public final class CraftServer implements Server { this.overrideSpawnLimits(); console.autosavePeriod = this.configuration.getInt("ticks-per.autosave"); this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose")); @@ -34,7 +34,7 @@ index 0da8bcdd6b0071742e852ecb1df18a3d123f94ef..df8a2fa9d38fd07e12e42bf2506e4d75 this.minimumAPI = this.configuration.getString("settings.minimum-api"); this.loadIcon(); -@@ -927,7 +927,7 @@ public final class CraftServer implements Server { +@@ -929,7 +929,7 @@ public final class CraftServer implements Server { this.console.setMotd(config.motd); this.overrideSpawnLimits(); this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose")); @@ -44,10 +44,10 @@ index 0da8bcdd6b0071742e852ecb1df18a3d123f94ef..df8a2fa9d38fd07e12e42bf2506e4d75 this.printSaveWarning = false; console.autosavePeriod = this.configuration.getInt("ticks-per.autosave"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 86e512629b5ee0133b1c0b9e3d8ec2d4023661f0..914d0bdd82455f938d08d78c75aabead729bb785 100644 +index 21927118d1762302dc560b385fd3a4322840031f..b234ba968e82ddf1e8f7c84d3a17659e3beda2b3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -277,8 +277,21 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -283,8 +283,21 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public Chunk getChunkAt(int x, int z) { @@ -70,7 +70,7 @@ index 86e512629b5ee0133b1c0b9e3d8ec2d4023661f0..914d0bdd82455f938d08d78c75aabead @Override public Chunk getChunkAt(Block block) { -@@ -345,7 +358,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -351,7 +364,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { public boolean unloadChunkRequest(int x, int z) { org.spigotmc.AsyncCatcher.catchOp("chunk unload"); // Spigot if (this.isChunkLoaded(x, z)) { @@ -79,7 +79,7 @@ index 86e512629b5ee0133b1c0b9e3d8ec2d4023661f0..914d0bdd82455f938d08d78c75aabead } return true; -@@ -428,9 +441,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -434,9 +447,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot // Paper start - Optimize this method ChunkPos chunkPos = new ChunkPos(x, z); @@ -93,7 +93,7 @@ index 86e512629b5ee0133b1c0b9e3d8ec2d4023661f0..914d0bdd82455f938d08d78c75aabead if (immediate == null) { immediate = world.getChunkSource().chunkMap.getUnloadingChunk(x, z); } -@@ -438,7 +454,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -444,7 +460,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { if (!(immediate instanceof ImposterProtoChunk) && !(immediate instanceof net.minecraft.world.level.chunk.LevelChunk)) { return false; // not full status } @@ -102,7 +102,7 @@ index 86e512629b5ee0133b1c0b9e3d8ec2d4023661f0..914d0bdd82455f938d08d78c75aabead world.getChunk(x, z); // make sure we're at ticket level 32 or lower return true; } -@@ -464,7 +480,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -470,7 +486,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { // we do this so we do not re-read the chunk data on disk } @@ -111,7 +111,7 @@ index 86e512629b5ee0133b1c0b9e3d8ec2d4023661f0..914d0bdd82455f938d08d78c75aabead world.getChunkSource().getChunk(x, z, ChunkStatus.FULL, true); return true; // Paper end -@@ -1984,6 +2000,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2063,6 +2079,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { return this.world.getChunkSource().getChunkAtAsynchronously(x, z, gen, urgent).thenComposeAsync((either) -> { net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk) either.left().orElse(null); diff --git a/patches/server/0462-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch b/patches/server/0462-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch index 703d357795..e279d0cfb7 100644 --- a/patches/server/0462-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch +++ b/patches/server/0462-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch @@ -1135,10 +1135,10 @@ index 0b301b1f164853bfd23300993288a2958824e287..ec48afe87b5d159b5bdbe035e214ea7c if (updatingChunk != null) { return updatingChunk.getEntityTickingChunkFuture(); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a9eb278cef322db446efb6a5c31b53346fe1e59a..cc8011ca62feb984f41246694d1e50646f2383f7 100644 +index 173824e96c51c4f1a9f43401cfa3fc79a2432600..c1bf81770f9d00f4e3ba5844260812bb4f6026ca 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -292,7 +292,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -293,7 +293,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { private BlockPos blockPosition; private ChunkPos chunkPosition; private Vec3 deltaMovement; @@ -1177,10 +1177,10 @@ index 797ff36295412ac8429d573e039d870fd85eb569..3591ac3b7823e109e01ebfa54ac70aa4 org.bukkit.event.world.ChunkUnloadEvent unloadEvent = new org.bukkit.event.world.ChunkUnloadEvent(this.bukkitChunk, this.isUnsaved()); server.getPluginManager().callEvent(unloadEvent); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 914d0bdd82455f938d08d78c75aabead729bb785..4618e1a360c3d5cd875b646c57ce5c16d476976d 100644 +index b234ba968e82ddf1e8f7c84d3a17659e3beda2b3..af22fa8aa8ddef4d592564b14d0114cc6f903fca 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1998,6 +1998,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2077,6 +2077,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { return future; } @@ -1194,10 +1194,10 @@ index 914d0bdd82455f938d08d78c75aabead729bb785..4618e1a360c3d5cd875b646c57ce5c16 net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk) either.left().orElse(null); if (chunk != null) addTicket(x, z); // Paper diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7d42e60ec26f3617bb23c12f415b13e5913603fc..791889e540f03681e6432305772d30eca907716e 100644 +index daea1ca1d3288b6c3b0cf2e58fe35cb5e4069698..1699ad9a3e0d03866a6a80a74a1a831f6d54d311 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1028,6 +1028,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1035,6 +1035,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { throw new UnsupportedOperationException("Cannot set rotation of players. Consider teleporting instead."); } diff --git a/patches/server/0471-Add-missing-strikeLighting-call-to-World-spigot-stri.patch b/patches/server/0471-Add-missing-strikeLighting-call-to-World-spigot-stri.patch index 9703debc5d..2fc1e0bde7 100644 --- a/patches/server/0471-Add-missing-strikeLighting-call-to-World-spigot-stri.patch +++ b/patches/server/0471-Add-missing-strikeLighting-call-to-World-spigot-stri.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add missing strikeLighting call to diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 4618e1a360c3d5cd875b646c57ce5c16d476976d..cb89a0c83a3c307f99581b7838308f70eccb774d 100644 +index af22fa8aa8ddef4d592564b14d0114cc6f903fca..566636192c8c5858999c80c31b068aeb5bace1e6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2093,6 +2093,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2172,6 +2172,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { lightning.moveTo( loc.getX(), loc.getY(), loc.getZ() ); lightning.visualOnly = true; lightning.isSilent = isSilent; diff --git a/patches/server/0475-Brand-support.patch b/patches/server/0475-Brand-support.patch index 776b9da05d..40bdc94b3d 100644 --- a/patches/server/0475-Brand-support.patch +++ b/patches/server/0475-Brand-support.patch @@ -56,10 +56,10 @@ index 41250053943118526ee36e296b19c1a68c434aa5..05c18c233c8400c2031f9d7b3e5ce230 return (!this.player.joining && !this.connection.isConnected()) || this.processedDisconnect; // Paper } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 791889e540f03681e6432305772d30eca907716e..a9b80431323b71f171185b4c7bdc2f323c1de124 100644 +index 1699ad9a3e0d03866a6a80a74a1a831f6d54d311..d06f6c9a7bfa7585d5dfb7da8654837605866a3e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2678,6 +2678,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2685,6 +2685,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end }; diff --git a/patches/server/0476-Add-setMaxPlayers-API.patch b/patches/server/0476-Add-setMaxPlayers-API.patch index 2a2da94df6..95a81339af 100644 --- a/patches/server/0476-Add-setMaxPlayers-API.patch +++ b/patches/server/0476-Add-setMaxPlayers-API.patch @@ -18,10 +18,10 @@ index be7a25560cd5521ddfe4793c7e51b1036fc8a19c..869fa7c3913185c3537185426e75c076 private int simulationDistance; private boolean allowCheatsForAllPlayers; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index df8a2fa9d38fd07e12e42bf2506e4d750a8ecab4..06557989fd7e48d75b751cc1aa1fdd638e00d41d 100644 +index ad2e460086a2f7f9e168c2f99d920862deacc844..efa7069504ef5aa4fc25320fdf8020222b17a48d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -670,6 +670,13 @@ public final class CraftServer implements Server { +@@ -672,6 +672,13 @@ public final class CraftServer implements Server { return this.playerList.getMaxPlayers(); } diff --git a/patches/server/0479-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0479-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch index 96207f9e1a..8368326183 100644 --- a/patches/server/0479-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch +++ b/patches/server/0479-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch @@ -17,10 +17,10 @@ index 848690e6dfaec00ec9b8a8397d2a6d37f24c8d12..bb8d5868275407fe3c5eb29174bf1970 // if this keepSpawnInMemory is false a plugin has already removed our tickets, do not re-add this.removeTicketsForSpawn(this.paperConfig().spawn.keepSpawnLoadedRange * 16, prevSpawn); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index cb89a0c83a3c307f99581b7838308f70eccb774d..edf538cfa6f73bce65b5d50d014d8fd2fbca5d3d 100644 +index 566636192c8c5858999c80c31b068aeb5bace1e6..a04ae390f2d054b2ad9fb91eca04955471247b5a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -258,11 +258,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -264,11 +264,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { public boolean setSpawnLocation(int x, int y, int z, float angle) { try { Location previousLocation = this.getSpawnLocation(); diff --git a/patches/server/0494-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0494-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch index b330dd98b6..c89b051afc 100644 --- a/patches/server/0494-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch +++ b/patches/server/0494-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch @@ -31,10 +31,10 @@ index 05c18c233c8400c2031f9d7b3e5ce230dd89a25f..df8e091e72901518ef21903bd3890988 } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index cc8011ca62feb984f41246694d1e50646f2383f7..eae3fec221518434b989c8084920dc282f8d8981 100644 +index c1bf81770f9d00f4e3ba5844260812bb4f6026ca..0618606ab87bf0745b667e3b59328bf78de503cf 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -157,6 +157,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -158,6 +158,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit start private static final int CURRENT_LEVEL = 2; @@ -42,7 +42,7 @@ index cc8011ca62feb984f41246694d1e50646f2383f7..eae3fec221518434b989c8084920dc28 static boolean isLevelAtLeast(CompoundTag tag, int level) { return tag.contains("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level; } -@@ -1655,6 +1656,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1656,6 +1657,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public void moveTo(double x, double y, double z, float yaw, float pitch) { @@ -69,7 +69,7 @@ index e3d8814cbad30da795632afddf8ebc87eff72106..ee619590aa49323059947fbaee9e88d6 if (entity instanceof Mob) { Mob entityinsentient = (Mob) entity; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 904ce802b2aaebc1f48f7c444e2611fefa14f9a5..a16f343864e87dfe768e2697d6834a0244ba49b1 100644 +index c0a2cffadb762240ef8fcdec1bd1e49edd3b5c61..148cd01c88600042c557f21558acace8bfdfa1cf 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -590,7 +590,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0501-Entity-isTicking.patch b/patches/server/0501-Entity-isTicking.patch index 48984e8ca9..a4312ddea0 100644 --- a/patches/server/0501-Entity-isTicking.patch +++ b/patches/server/0501-Entity-isTicking.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity#isTicking diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index bd6bd22830b7c48717f009f237699fcc38f61c70..7003eee4e8c580e719698f7fdb73213a5ef9e047 100644 +index e0170e0b4318e16c1322cd20e1879ae88e893e7d..b6e2a0b8c4ee3a14a8c7e61a6316d473e2724fe4 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -58,6 +58,7 @@ import net.minecraft.resources.ResourceKey; +@@ -59,6 +59,7 @@ import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.MCUtil; import net.minecraft.server.MinecraftServer; @@ -27,7 +27,7 @@ index bd6bd22830b7c48717f009f237699fcc38f61c70..7003eee4e8c580e719698f7fdb73213a // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index a16f343864e87dfe768e2697d6834a0244ba49b1..fefd03ffe3c1b4dbdf3035e80d5a00ef2fd6e670 100644 +index 148cd01c88600042c557f21558acace8bfdfa1cf..c39b683cbe83618daee0ca00d1107b115af6bf8f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1278,5 +1278,9 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0515-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0515-Add-getOfflinePlayerIfCached-String.patch index 9f67c426f0..878b60c6f8 100644 --- a/patches/server/0515-Add-getOfflinePlayerIfCached-String.patch +++ b/patches/server/0515-Add-getOfflinePlayerIfCached-String.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String) diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 06557989fd7e48d75b751cc1aa1fdd638e00d41d..9dad601fd1c5e45ce374c9411324b1402eb4e906 100644 +index efa7069504ef5aa4fc25320fdf8020222b17a48d..0afcf909d93973061c4b0735cba3e091fa79833b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1799,6 +1799,28 @@ public final class CraftServer implements Server { +@@ -1801,6 +1801,28 @@ public final class CraftServer implements Server { return result; } diff --git a/patches/server/0526-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0526-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index 6b1ec53b1e..8a7c0c0a6f 100644 --- a/patches/server/0526-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0526-Fix-Player-spawnParticle-x-y-z-precision-loss.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 0bd14df2d73a59dd7c184bc10e46cabec42e00b4..23a92393036fea7631d7610b12d4e72fa6657203 100644 +index c94a7ccb3d5420dc0c8493d5cb0381a47ea8f9a0..39e0f1398e6f09ce7b0a4f1c9b677dca10a32c3f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2254,7 +2254,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2261,7 +2261,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (data != null && !particle.getDataType().isInstance(data)) { throw new IllegalArgumentException("data should be " + particle.getDataType() + " got " + data.getClass()); } diff --git a/patches/server/0531-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0531-Climbing-should-not-bypass-cramming-gamerule.patch index 6a2330f0d1..08b711b6cb 100644 --- a/patches/server/0531-Climbing-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0531-Climbing-should-not-bypass-cramming-gamerule.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 7003eee4e8c580e719698f7fdb73213a5ef9e047..f2f91815137db868bf6968be062ef9e7b96266b8 100644 +index b6e2a0b8c4ee3a14a8c7e61a6316d473e2724fe4..6d2853238897cc7b801af12dc4fe44495e815f26 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1836,6 +1836,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1837,6 +1837,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean isPushable() { diff --git a/patches/server/0532-Added-missing-default-perms-for-commands.patch b/patches/server/0532-Added-missing-default-perms-for-commands.patch index 412163ee5a..ddaf0c6aec 100644 --- a/patches/server/0532-Added-missing-default-perms-for-commands.patch +++ b/patches/server/0532-Added-missing-default-perms-for-commands.patch @@ -170,13 +170,13 @@ index 0000000000000000000000000000000000000000..da2eb57ea64403657744ea00eff40243 + } +} diff --git a/src/test/java/org/bukkit/support/DummyServer.java b/src/test/java/org/bukkit/support/DummyServer.java -index 2d95215657fffe77165a2fa5f6c8d31ba44a958d..1f3705543353adc6e6d4c4a9dd06032255bf5089 100644 +index 946497353a64421592d2bae012c9a3cb874dd5b8..2ddceb709291d3bd713621ffa4020c02ec26bb21 100644 --- a/src/test/java/org/bukkit/support/DummyServer.java +++ b/src/test/java/org/bukkit/support/DummyServer.java -@@ -97,7 +97,21 @@ public final class DummyServer implements InvocationHandler { +@@ -106,7 +106,21 @@ public final class DummyServer implements InvocationHandler { } } - ); + ); - Bukkit.setServer(Proxy.getProxyClass(Server.class.getClassLoader(), Server.class).asSubclass(Server.class).getConstructor(InvocationHandler.class).newInstance(new DummyServer())); + // Paper start - modeled off of TestServer in the API tests module + methods.put( @@ -196,7 +196,7 @@ index 2d95215657fffe77165a2fa5f6c8d31ba44a958d..1f3705543353adc6e6d4c4a9dd060322 } catch (Throwable t) { throw new Error(t); } -@@ -107,6 +121,7 @@ public final class DummyServer implements InvocationHandler { +@@ -116,6 +130,7 @@ public final class DummyServer implements InvocationHandler { private DummyServer() {}; diff --git a/patches/server/0557-Added-WorldGameRuleChangeEvent.patch b/patches/server/0557-Added-WorldGameRuleChangeEvent.patch index 8a0cf08abc..34d10452cc 100644 --- a/patches/server/0557-Added-WorldGameRuleChangeEvent.patch +++ b/patches/server/0557-Added-WorldGameRuleChangeEvent.patch @@ -64,10 +64,10 @@ index 800325a544bb9f228ccbeb0a52d7f380a8c6083e..3c93bfeb94168f832904a8462ae23b06 public int get() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index edf538cfa6f73bce65b5d50d014d8fd2fbca5d3d..34b3f25d4e76db2ca3dd44c55cdec3e5b1947395 100644 +index a04ae390f2d054b2ad9fb91eca04955471247b5a..da84c3106b9e6210e234585fdd9eb75e1db041f5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1798,8 +1798,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1804,8 +1804,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { if (!this.isGameRule(rule)) return false; @@ -82,7 +82,7 @@ index edf538cfa6f73bce65b5d50d014d8fd2fbca5d3d..34b3f25d4e76db2ca3dd44c55cdec3e5 handle.onChanged(this.getHandle().getServer()); return true; } -@@ -1834,8 +1839,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1840,8 +1845,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { if (!this.isGameRule(rule.getName())) return false; diff --git a/patches/server/0569-Add-PaperRegistry.patch b/patches/server/0569-Add-PaperRegistry.patch index ffca883355..8fd1124fa9 100644 --- a/patches/server/0569-Add-PaperRegistry.patch +++ b/patches/server/0569-Add-PaperRegistry.patch @@ -221,22 +221,22 @@ index 4192a6eff940bfe7823f100d4156f5c4d82d994c..e4855c7652b6904b402e38144664266d /** diff --git a/src/test/java/org/bukkit/support/AbstractTestingBase.java b/src/test/java/org/bukkit/support/AbstractTestingBase.java -index 7de91b0b669664be3406b77a453d517604170404..747d150996ba56416e80293f616d8773878cceb5 100644 +index e73a9a957cd55bf838e301ed531295162f2cfb89..23435a5914a29ac4f87ad0f34ce83842422df49f 100644 --- a/src/test/java/org/bukkit/support/AbstractTestingBase.java +++ b/src/test/java/org/bukkit/support/AbstractTestingBase.java -@@ -38,6 +38,15 @@ public abstract class AbstractTestingBase { +@@ -39,6 +39,15 @@ public abstract class AbstractTestingBase { MultiPackResourceManager resourceManager = new MultiPackResourceManager(PackType.SERVER_DATA, Collections.singletonList(new VanillaPackResources(ServerPacksSource.BUILT_IN_METADATA, "minecraft"))); // add tags and loot tables for unit tests - RegistryAccess.Frozen registry = RegistryAccess.builtinCopy().freeze(); + REGISTRY_CUSTOM = RegistryAccess.builtinCopy().freeze(); + // Paper start + try { + java.lang.reflect.Field field = io.papermc.paper.registry.PaperRegistry.class.getDeclaredField("REGISTRY_ACCESS"); + field.trySetAccessible(); -+ field.set(null, com.google.common.base.Suppliers.ofInstance(registry)); ++ field.set(null, com.google.common.base.Suppliers.ofInstance(REGISTRY_CUSTOM)); + } catch (ReflectiveOperationException ex) { + throw new IllegalStateException("Could not reflectively set RegistryAccess in PaperRegistry", ex); + } + // Paper end // Register vanilla pack - DATA_PACK = ReloadableServerResources.loadResources(resourceManager, registry, Commands.CommandSelection.DEDICATED, 0, MoreExecutors.directExecutor(), MoreExecutors.directExecutor()).join(); + DATA_PACK = ReloadableServerResources.loadResources(resourceManager, REGISTRY_CUSTOM, Commands.CommandSelection.DEDICATED, 0, MoreExecutors.directExecutor(), MoreExecutors.directExecutor()).join(); // Bind tags diff --git a/patches/server/0571-Collision-option-for-requiring-a-player-participant.patch b/patches/server/0571-Collision-option-for-requiring-a-player-participant.patch index 8e34139911..ff7865f57e 100644 --- a/patches/server/0571-Collision-option-for-requiring-a-player-participant.patch +++ b/patches/server/0571-Collision-option-for-requiring-a-player-participant.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Collision option for requiring a player participant diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 84365010341c1f5a4ed6dcc5c4110944268ce611..26f93888ea0ae5236fe45c809f21e1d004e79b4c 100644 +index 34594585edbe6990a8f36daff43d9276a655ec74..876c9ba5f50b64801298ff5f16673fb662ee04af 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1719,6 +1719,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1720,6 +1720,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public void push(Entity entity) { if (!this.isPassengerOfSameVehicle(entity)) { if (!entity.noPhysics && !this.noPhysics) { diff --git a/patches/server/0604-Expand-world-key-API.patch b/patches/server/0604-Expand-world-key-API.patch index 64eba607fc..bd839d24e7 100644 --- a/patches/server/0604-Expand-world-key-API.patch +++ b/patches/server/0604-Expand-world-key-API.patch @@ -20,10 +20,10 @@ index ee5e59c37301d9a806e2f696d52d9d217b232833..bb5d22125b6cd4e60d2b7e2e00af158c // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9dad601fd1c5e45ce374c9411324b1402eb4e906..280edb675f19be2b88c2b8075c3d865726ce9f7f 100644 +index 0afcf909d93973061c4b0735cba3e091fa79833b..34b365ce84439958eeba04fa50a13e02ddbd9412 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1139,9 +1139,15 @@ public final class CraftServer implements Server { +@@ -1141,9 +1141,15 @@ public final class CraftServer implements Server { File folder = new File(this.getWorldContainer(), name); World world = this.getWorld(name); @@ -41,23 +41,23 @@ index 9dad601fd1c5e45ce374c9411324b1402eb4e906..280edb675f19be2b88c2b8075c3d8657 if ((folder.exists()) && (!folder.isDirectory())) { throw new IllegalArgumentException("File exists with the name '" + name + "' and isn't a folder"); -@@ -1216,7 +1222,7 @@ public final class CraftServer implements Server { +@@ -1218,7 +1224,7 @@ public final class CraftServer implements Server { } else if (name.equals(levelName + "_the_end")) { worldKey = net.minecraft.world.level.Level.END; } else { -- worldKey = ResourceKey.create(Registry.DIMENSION_REGISTRY, new ResourceLocation(name.toLowerCase(java.util.Locale.ENGLISH))); -+ worldKey = ResourceKey.create(Registry.DIMENSION_REGISTRY, new net.minecraft.resources.ResourceLocation(creator.key().getNamespace().toLowerCase(java.util.Locale.ENGLISH), creator.key().getKey().toLowerCase(java.util.Locale.ENGLISH))); // Paper +- worldKey = ResourceKey.create(net.minecraft.core.Registry.DIMENSION_REGISTRY, new ResourceLocation(name.toLowerCase(java.util.Locale.ENGLISH))); ++ worldKey = ResourceKey.create(net.minecraft.core.Registry.DIMENSION_REGISTRY, new net.minecraft.resources.ResourceLocation(creator.key().getNamespace().toLowerCase(java.util.Locale.ENGLISH), creator.key().getKey().toLowerCase(java.util.Locale.ENGLISH))); // Paper } ServerLevel internal = (ServerLevel) new ServerLevel(this.console, console.executor, worldSession, worlddata, worldKey, worlddimension, this.getServer().progressListenerFactory.create(11), -@@ -1308,6 +1314,15 @@ public final class CraftServer implements Server { +@@ -1310,6 +1316,15 @@ public final class CraftServer implements Server { return null; } + // Paper start + @Override + public World getWorld(NamespacedKey worldKey) { -+ ServerLevel worldServer = console.getLevel(ResourceKey.create(Registry.DIMENSION_REGISTRY, CraftNamespacedKey.toMinecraft(worldKey))); ++ ServerLevel worldServer = console.getLevel(ResourceKey.create(net.minecraft.core.Registry.DIMENSION_REGISTRY, CraftNamespacedKey.toMinecraft(worldKey))); + if (worldServer == null) return null; + return worldServer.getWorld(); + } diff --git a/patches/server/0626-More-World-API.patch b/patches/server/0626-More-World-API.patch index ec159f4459..d6a3687642 100644 --- a/patches/server/0626-More-World-API.patch +++ b/patches/server/0626-More-World-API.patch @@ -5,11 +5,11 @@ Subject: [PATCH] More World API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 34b3f25d4e76db2ca3dd44c55cdec3e5b1947395..5d512fc061b5a1301c01bffeaa7b55461444d2e0 100644 +index da84c3106b9e6210e234585fdd9eb75e1db041f5..4e552504b207a91b9fbd7f2a7f6e96e1fe81cfe2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1967,6 +1967,65 @@ public class CraftWorld extends CraftRegionAccessor implements World { - return (nearest == null) ? null : new Location(this, nearest.getX(), nearest.getY(), nearest.getZ()); +@@ -2046,6 +2046,65 @@ public class CraftWorld extends CraftRegionAccessor implements World { + return new CraftStructureSearchResult(CraftStructure.minecraftToBukkit(found.getSecond().value(), this.getHandle().registryAccess()), new Location(this, found.getFirst().getX(), found.getFirst().getY(), found.getFirst().getZ())); } + // Paper start diff --git a/patches/server/0642-Add-basic-Datapack-API.patch b/patches/server/0642-Add-basic-Datapack-API.patch index e7f1c409b1..73677618d0 100644 --- a/patches/server/0642-Add-basic-Datapack-API.patch +++ b/patches/server/0642-Add-basic-Datapack-API.patch @@ -92,10 +92,10 @@ index 0000000000000000000000000000000000000000..cf4374493c11057451a62a655514415c + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 280edb675f19be2b88c2b8075c3d865726ce9f7f..68f46b7ade51b896b4044df3b737dd0e08a2b991 100644 +index 34b365ce84439958eeba04fa50a13e02ddbd9412..b38265b4077f37aaab2701663f6740dd8fd729b4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -278,6 +278,7 @@ public final class CraftServer implements Server { +@@ -280,6 +280,7 @@ public final class CraftServer implements Server { public boolean ignoreVanillaPermissions = false; private final List playerView; public int reloadCount; @@ -103,7 +103,7 @@ index 280edb675f19be2b88c2b8075c3d865726ce9f7f..68f46b7ade51b896b4044df3b737dd0e public static Exception excessiveVelEx; // Paper - Velocity warnings static { -@@ -364,6 +365,7 @@ public final class CraftServer implements Server { +@@ -366,6 +367,7 @@ public final class CraftServer implements Server { if (this.configuration.getBoolean("settings.use-map-color-cache")) { MapPalette.setMapColorCache(new CraftMapColorCache(this.logger)); } @@ -111,7 +111,7 @@ index 280edb675f19be2b88c2b8075c3d865726ce9f7f..68f46b7ade51b896b4044df3b737dd0e } public boolean getCommandBlockOverride(String command) { -@@ -2756,5 +2758,11 @@ public final class CraftServer implements Server { +@@ -2763,5 +2765,11 @@ public final class CraftServer implements Server { public com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() { return mobGoals; } diff --git a/patches/server/0644-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0644-additions-to-PlayerGameModeChangeEvent.patch index 8e749b7f5d..96837dc570 100644 --- a/patches/server/0644-additions-to-PlayerGameModeChangeEvent.patch +++ b/patches/server/0644-additions-to-PlayerGameModeChangeEvent.patch @@ -139,10 +139,10 @@ index 24025a814b2659829983c902f40214a2b7b6bcf4..c9da8961af6ae392230355ef722e5f9b } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index fd6f948adb975f09b07ad7692c6a716616600ccc..2562907dd19c4027a5d9928506db8bfd7495c06f 100644 +index 202c5108f2e15e0d71c4e2854b17a027c7e495af..8c07b6e92a7329d72ccf1adf9f788322a4e9b28c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1377,7 +1377,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1384,7 +1384,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { throw new IllegalArgumentException("Mode cannot be null"); } diff --git a/patches/server/0648-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0648-Fix-and-optimise-world-force-upgrading.patch index 7bf0aea36b..167f8108d0 100644 --- a/patches/server/0648-Fix-and-optimise-world-force-upgrading.patch +++ b/patches/server/0648-Fix-and-optimise-world-force-upgrading.patch @@ -356,10 +356,10 @@ index a96a6af2bcec3134b7caa32299bd07af50e83b89..0d96d1c0b66c57c680759f3567ef1b0c return this.regionCache.getAndMoveToFirst(ChunkPos.asLong(chunkcoordintpair.getRegionX(), chunkcoordintpair.getRegionZ())); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 68f46b7ade51b896b4044df3b737dd0e08a2b991..338bd6a9c448f73b5df6d8be630bba0846cc8464 100644 +index b38265b4077f37aaab2701663f6740dd8fd729b4..6ca513be5b3a0c158364487118d25f145f990df5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1200,12 +1200,7 @@ public final class CraftServer implements Server { +@@ -1202,12 +1202,7 @@ public final class CraftServer implements Server { } worlddata.checkName(name); worlddata.setModdedInfo(this.console.getServerModName(), this.console.getModdedStatus().shouldReportAsModified()); @@ -373,7 +373,7 @@ index 68f46b7ade51b896b4044df3b737dd0e08a2b991..338bd6a9c448f73b5df6d8be630bba08 long j = BiomeManager.obfuscateSeed(creator.seed()); List list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata)); -@@ -1217,6 +1212,13 @@ public final class CraftServer implements Server { +@@ -1219,6 +1214,13 @@ public final class CraftServer implements Server { biomeProvider = generator.getDefaultBiomeProvider(worldInfo); } diff --git a/patches/server/0653-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0653-Add-cause-to-Weather-ThunderChangeEvents.patch index d09e30fb47..011698d798 100644 --- a/patches/server/0653-Add-cause-to-Weather-ThunderChangeEvents.patch +++ b/patches/server/0653-Add-cause-to-Weather-ThunderChangeEvents.patch @@ -95,10 +95,10 @@ index 401787a5b55384b9ab7755e822b3b881dc45ac45..e537a8df45c31efa80cb898cbef9c3a0 if (weather.isCancelled()) { return; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 5d512fc061b5a1301c01bffeaa7b55461444d2e0..d8b88d9b233adba73442ff8af46ce17a3deae292 100644 +index 4e552504b207a91b9fbd7f2a7f6e96e1fe81cfe2..85972e19324027beaf215bed1b45947f976f5db4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1189,7 +1189,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1195,7 +1195,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void setStorm(boolean hasStorm) { @@ -107,7 +107,7 @@ index 5d512fc061b5a1301c01bffeaa7b55461444d2e0..d8b88d9b233adba73442ff8af46ce17a this.setWeatherDuration(0); // Reset weather duration (legacy behaviour) this.setClearWeatherDuration(0); // Reset clear weather duration (reset "/weather clear" commands) } -@@ -1211,7 +1211,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1217,7 +1217,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void setThundering(boolean thundering) { diff --git a/patches/server/0664-Fix-dangerous-end-portal-logic.patch b/patches/server/0664-Fix-dangerous-end-portal-logic.patch index 9419ddba5e..b63725b6ba 100644 --- a/patches/server/0664-Fix-dangerous-end-portal-logic.patch +++ b/patches/server/0664-Fix-dangerous-end-portal-logic.patch @@ -11,10 +11,10 @@ Move the tick logic into the post tick, where portaling was designed to happen in the first place. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 26f93888ea0ae5236fe45c809f21e1d004e79b4c..ed0772f1153ac80838895283d41a971a6eaa2ccc 100644 +index 876c9ba5f50b64801298ff5f16673fb662ee04af..e42b62a20adc487a6218d1ba87442dd9bc375182 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -458,6 +458,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -459,6 +459,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this)); } // Paper end - optimise entity tracking @@ -51,7 +51,7 @@ index 26f93888ea0ae5236fe45c809f21e1d004e79b4c..ed0772f1153ac80838895283d41a971a public Entity(EntityType type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); -@@ -2623,6 +2653,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2624,6 +2654,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.processPortalCooldown(); diff --git a/patches/server/0668-add-per-world-spawn-limits.patch b/patches/server/0668-add-per-world-spawn-limits.patch index 075139ae57..3cc35c613b 100644 --- a/patches/server/0668-add-per-world-spawn-limits.patch +++ b/patches/server/0668-add-per-world-spawn-limits.patch @@ -6,10 +6,10 @@ Subject: [PATCH] add per world spawn limits Taken from #2982. Credit to Chasewhip8 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index d8b88d9b233adba73442ff8af46ce17a3deae292..b79b0b78e3e69c2b5c9aa21cf63fe5cc8ea506ca 100644 +index 85972e19324027beaf215bed1b45947f976f5db4..59bf99a51d386851501b0acf2f07679f497d3132 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -205,6 +205,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -211,6 +211,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { this.biomeProvider = biomeProvider; this.environment = env; diff --git a/patches/server/0686-Add-System.out-err-catcher.patch b/patches/server/0686-Add-System.out-err-catcher.patch index 0394eb626a..612689f6a4 100644 --- a/patches/server/0686-Add-System.out-err-catcher.patch +++ b/patches/server/0686-Add-System.out-err-catcher.patch @@ -105,10 +105,10 @@ index 0000000000000000000000000000000000000000..76d0d00cd6742991e3f3ec827a75ee87 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 338bd6a9c448f73b5df6d8be630bba0846cc8464..cda678a4742ba5e466dea18838e7e0c0f80a47b2 100644 +index 6ca513be5b3a0c158364487118d25f145f990df5..8417136c411c91e4c163446d7e1c2ced5f0084e1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -280,6 +280,7 @@ public final class CraftServer implements Server { +@@ -282,6 +282,7 @@ public final class CraftServer implements Server { public int reloadCount; private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper public static Exception excessiveVelEx; // Paper - Velocity warnings diff --git a/patches/server/0692-Add-PlayerSetSpawnEvent.patch b/patches/server/0692-Add-PlayerSetSpawnEvent.patch index 3a125eb03c..c4e296d415 100644 --- a/patches/server/0692-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0692-Add-PlayerSetSpawnEvent.patch @@ -129,10 +129,10 @@ index c3e49a781f838e6a46cb89744f3f1846de182275..c2f3d3a09327e7cb7d3167609eb3ce68 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index dc0c689864fb312ebdbc742561d73837229947cc..47c74e687610bba419d973461eb19c1ab5f09472 100644 +index 3ca8adc4b8cd76b5d2ec827a439cb47564c0b028..89d30891defdf3b1ee71f31e7fd06a87e13a25d2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1197,9 +1197,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1204,9 +1204,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setBedSpawnLocation(Location location, boolean override) { if (location == null) { diff --git a/patches/server/0707-Add-back-EntityPortalExitEvent.patch b/patches/server/0707-Add-back-EntityPortalExitEvent.patch index b38ff00122..9a6455c3fa 100644 --- a/patches/server/0707-Add-back-EntityPortalExitEvent.patch +++ b/patches/server/0707-Add-back-EntityPortalExitEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add back EntityPortalExitEvent diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b7f7ef9d2323848cf17ccd34cdab56aed81cfc56..6a12052023cabd2056555aa83e57078eb500f4e4 100644 +index 75f0a60c3158a9fa6e2d64c8b51ede839dd958ba..4473937b65fbdde5a77b508213935488e4f97888 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3100,6 +3100,23 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3101,6 +3101,23 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } else { // CraftBukkit start worldserver = shapedetectorshape.world; @@ -32,7 +32,7 @@ index b7f7ef9d2323848cf17ccd34cdab56aed81cfc56..6a12052023cabd2056555aa83e57078e if (worldserver == this.level) { // SPIGOT-6782: Just move the entity if a plugin changed the world to the one the entity is already in this.moveTo(shapedetectorshape.pos.x, shapedetectorshape.pos.y, shapedetectorshape.pos.z, shapedetectorshape.yRot, shapedetectorshape.xRot); -@@ -3119,8 +3136,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3120,8 +3137,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { if (entity != null) { entity.restoreFrom(this); diff --git a/patches/server/0708-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0708-Add-methods-to-find-targets-for-lightning-strikes.patch index e8be3377c9..40d2624aa6 100644 --- a/patches/server/0708-Add-methods-to-find-targets-for-lightning-strikes.patch +++ b/patches/server/0708-Add-methods-to-find-targets-for-lightning-strikes.patch @@ -29,10 +29,10 @@ index 8c61dc53f4874ab7013938abdf5d65a608369474..9b9653e2a88e63932884cfd392ac372a blockposition1 = blockposition1.above(2); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index b79b0b78e3e69c2b5c9aa21cf63fe5cc8ea506ca..422655d6ab17d075d045df8e5ce1666c92f9321a 100644 +index 59bf99a51d386851501b0acf2f07679f497d3132..9d3f7f196c4331662c4c78cac0b047bcd2ff5e77 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -691,6 +691,23 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -697,6 +697,23 @@ public class CraftWorld extends CraftRegionAccessor implements World { return (LightningStrike) lightning.getBukkitEntity(); } diff --git a/patches/server/0718-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0718-Add-Raw-Byte-Entity-Serialization.patch index 085d338079..76c1bb540f 100644 --- a/patches/server/0718-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/server/0718-Add-Raw-Byte-Entity-Serialization.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Raw Byte Entity Serialization diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 6a12052023cabd2056555aa83e57078eb500f4e4..1f52fc61ed918aa3930d9e9413fd4682b35fd62a 100644 +index 4473937b65fbdde5a77b508213935488e4f97888..37e67c8543410f754c5e75e375575564621296cf 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1925,6 +1925,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1926,6 +1926,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } } @@ -25,7 +25,7 @@ index 6a12052023cabd2056555aa83e57078eb500f4e4..1f52fc61ed918aa3930d9e9413fd4682 return this.isPassenger() ? false : this.saveAsPassenger(nbt); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 2a3addb00244b8ba68a3eeebba016553782946fd..ad3d005992d7f79b4c756410b063427acaddfbc5 100644 +index b8e5205c165bcba5b8383334f3d0d1daf9d0a8cd..ff8562821ebb363c755e9d316679226d9febe54f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1295,5 +1295,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0729-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0729-Add-paper-mobcaps-and-paper-playermobcaps.patch index c64b31cd73..d40a2598aa 100644 --- a/patches/server/0729-Add-paper-mobcaps-and-paper-playermobcaps.patch +++ b/patches/server/0729-Add-paper-mobcaps-and-paper-playermobcaps.patch @@ -293,10 +293,10 @@ index fa23e9c476d4edc6176d8b8a6cb13c52d2f66a87..4150e8cd7197eac53042d56f0a53a495 // Paper start - add parameters and int ret type spawnCategoryForChunk(group, world, chunk, checker, runner, Integer.MAX_VALUE, null); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 61879f872dfc56890246a96f44f4a397b19c63d3..0d89472359ac6fed10a20c825a0b3b28064f86fc 100644 +index 8417136c411c91e4c163446d7e1c2ced5f0084e1..874f317ebae64ba9f42573e3a412dedbeeb90cc7 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2152,6 +2152,11 @@ public final class CraftServer implements Server { +@@ -2154,6 +2154,11 @@ public final class CraftServer implements Server { @Override public int getSpawnLimit(SpawnCategory spawnCategory) { @@ -309,10 +309,10 @@ index 61879f872dfc56890246a96f44f4a397b19c63d3..0d89472359ac6fed10a20c825a0b3b28 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 422655d6ab17d075d045df8e5ce1666c92f9321a..9528bc7e6c0a2d9020869d0a81ed39e1a8ab9605 100644 +index 9d3f7f196c4331662c4c78cac0b047bcd2ff5e77..21bf39ef5b20ecc989881b07c4e6b90c68540afd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1706,9 +1706,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1712,9 +1712,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { Validate.notNull(spawnCategory, "SpawnCategory cannot be null"); Validate.isTrue(CraftSpawnCategory.isValidForLimits(spawnCategory), "SpawnCategory." + spawnCategory + " are not supported."); diff --git a/patches/server/0735-Rewrite-entity-bounding-box-lookup-calls.patch b/patches/server/0735-Rewrite-entity-bounding-box-lookup-calls.patch index 03bdcef32d..36fdae5876 100644 --- a/patches/server/0735-Rewrite-entity-bounding-box-lookup-calls.patch +++ b/patches/server/0735-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 6317b2aa746db98fa6b881d9fe55a8a9353c68e2..5aa9c963d0d66c506f0abf821367d1b78f3bf58c 100644 +index 9d871a9dfeca169db3b598fe2ad5a23bfc88dd6f..dc00bbc9642c9c112f930e669e84c11de7375414 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -449,7 +449,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -953,10 +953,10 @@ index ba3023c7dd5b3bcf66f829fe5dc9757f96d16b45..05ff7bcc79e617904903cf082f6687d2 + // Paper end } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1f52fc61ed918aa3930d9e9413fd4682b35fd62a..69b4b5f895c7ed2928b2de4b896972362eff5c34 100644 +index 37e67c8543410f754c5e75e375575564621296cf..146bfce3dd90e68c4f5a0589722995acbed005e7 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -489,6 +489,56 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -490,6 +490,56 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } // Paper end - make end portalling safe @@ -1013,7 +1013,7 @@ index 1f52fc61ed918aa3930d9e9413fd4682b35fd62a..69b4b5f895c7ed2928b2de4b89697236 public Entity(EntityType type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); this.passengers = ImmutableList.of(); -@@ -2360,11 +2410,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2361,11 +2411,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return InteractionResult.PASS; } diff --git a/patches/server/0738-Do-not-copy-visible-chunks.patch b/patches/server/0738-Do-not-copy-visible-chunks.patch index 967f5cdca7..b9782d00ca 100644 --- a/patches/server/0738-Do-not-copy-visible-chunks.patch +++ b/patches/server/0738-Do-not-copy-visible-chunks.patch @@ -22,7 +22,7 @@ index 008bb8896657892fcaf64e134684cc49e62f23f6..a538473f4a75791c7c657f9f1e3ddf96 continue; } diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index 90ebe2ecd1566acd22e69a134090eb3bd3a8e485..48ec2f7a3813f8ce2baf32667a09f377e2764710 100644 +index 613988c9ea892ab15516e1c8b4f376d52415ae34..1eb71004a19866590a3d27fa6e72842934989177 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -625,7 +625,7 @@ public final class MCUtil { @@ -186,10 +186,10 @@ index bb8478d9a216ec53f650b887508638965f371d47..a04a52b5e154d55a7b1d35f0094bbac0 while (objectbidirectionaliterator.hasNext()) { Entry entry = (Entry) objectbidirectionaliterator.next(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 9bcfcd0f61cba99ff74b35a50a6e419dfea880ee..c4913fd3efb52669645d2d71bce1bdf71d4fa063 100644 +index 21bf39ef5b20ecc989881b07c4e6b90c68540afd..beee040abf846492cefabe985c5286b00fc6bc63 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -161,7 +161,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -167,7 +167,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public int getTileEntityCount() { // We don't use the full world tile entity list, so we must iterate chunks @@ -198,7 +198,7 @@ index 9bcfcd0f61cba99ff74b35a50a6e419dfea880ee..c4913fd3efb52669645d2d71bce1bdf7 int size = 0; for (ChunkHolder playerchunk : chunks.values()) { net.minecraft.world.level.chunk.LevelChunk chunk = playerchunk.getTickingChunk(); -@@ -182,7 +182,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -188,7 +188,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { public int getChunkCount() { int ret = 0; @@ -207,7 +207,7 @@ index 9bcfcd0f61cba99ff74b35a50a6e419dfea880ee..c4913fd3efb52669645d2d71bce1bdf7 if (chunkHolder.getTickingChunk() != null) { ++ret; } -@@ -339,7 +339,18 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -345,7 +345,18 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public Chunk[] getLoadedChunks() { @@ -227,7 +227,7 @@ index 9bcfcd0f61cba99ff74b35a50a6e419dfea880ee..c4913fd3efb52669645d2d71bce1bdf7 return chunks.values().stream().map(ChunkHolder::getFullChunkNow).filter(Objects::nonNull).map(net.minecraft.world.level.chunk.LevelChunk::getBukkitChunk).toArray(Chunk[]::new); } -@@ -415,7 +426,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -421,7 +432,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean refreshChunk(int x, int z) { diff --git a/patches/server/0741-Detail-more-information-in-watchdog-dumps.patch b/patches/server/0741-Detail-more-information-in-watchdog-dumps.patch index 4ccbe8efbb..f4346159ed 100644 --- a/patches/server/0741-Detail-more-information-in-watchdog-dumps.patch +++ b/patches/server/0741-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 2c1b2521b995a926c85e58d21926d9a3b8743304..b2c6d72beefe48189aa36f453f8950209b7e3ee1 100644 +index a82c81f8a4178fc049ffaa2e5a837836ef5b42a6..9ab6f7df04b56012413f2485dd5a8785f95390dc 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1001,7 +1001,26 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -123,10 +123,10 @@ index 2c1b2521b995a926c85e58d21926d9a3b8743304..b2c6d72beefe48189aa36f453f895020 private void tickPassenger(Entity vehicle, Entity passenger) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 69b4b5f895c7ed2928b2de4b896972362eff5c34..b014794ce7b5a782432a64eeb8a3a9ac69f0b4f3 100644 +index 146bfce3dd90e68c4f5a0589722995acbed005e7..5ffe466d0be59baa99adddf5d052a40ee64f7002 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -970,7 +970,42 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -971,7 +971,42 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return this.onGround; } @@ -169,7 +169,7 @@ index 69b4b5f895c7ed2928b2de4b896972362eff5c34..b014794ce7b5a782432a64eeb8a3a9ac if (this.noPhysics) { this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z); } else { -@@ -1143,6 +1178,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1144,6 +1179,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.level.getProfiler().pop(); } } diff --git a/patches/server/0779-Update-head-rotation-in-missing-places.patch b/patches/server/0779-Update-head-rotation-in-missing-places.patch index 13edea2a96..f244d616cf 100644 --- a/patches/server/0779-Update-head-rotation-in-missing-places.patch +++ b/patches/server/0779-Update-head-rotation-in-missing-places.patch @@ -8,10 +8,10 @@ This is because bukkit uses a separate head rotation field for yaw. This issue only applies to players. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b014794ce7b5a782432a64eeb8a3a9ac69f0b4f3..330583ed39e66674eb6ee1d522b808f3bcb31eeb 100644 +index 5ffe466d0be59baa99adddf5d052a40ee64f7002..7b664032b6d8fd3a40e1b9ad664290359d4f2a81 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1753,6 +1753,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1754,6 +1754,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.setXRot(Mth.clamp(pitch, -90.0F, 90.0F) % 360.0F); this.yRotO = this.getYRot(); this.xRotO = this.getXRot(); @@ -19,7 +19,7 @@ index b014794ce7b5a782432a64eeb8a3a9ac69f0b4f3..330583ed39e66674eb6ee1d522b808f3 } public void absMoveTo(double x, double y, double z) { -@@ -1791,6 +1792,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1792,6 +1793,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.setXRot(pitch); this.setOldPosAndRot(); this.reapplyPosition(); diff --git a/patches/server/0788-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0788-don-t-attempt-to-teleport-dead-entities.patch index 7170e976b4..4170d4e447 100644 --- a/patches/server/0788-don-t-attempt-to-teleport-dead-entities.patch +++ b/patches/server/0788-don-t-attempt-to-teleport-dead-entities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] don't attempt to teleport dead entities diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 330583ed39e66674eb6ee1d522b808f3bcb31eeb..0539fa769526d02a5ceb2f1ccc2ff4ae6edee5be 100644 +index 7b664032b6d8fd3a40e1b9ad664290359d4f2a81..f9774bd5ba69ae98498ef9b9bc3f837707c4d164 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -778,7 +778,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -779,7 +779,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit start public void postTick() { // No clean way to break out of ticking once the entity has been copied to a new world, so instead we move the portalling later in the tick cycle diff --git a/patches/server/0799-Add-player-health-update-API.patch b/patches/server/0799-Add-player-health-update-API.patch index 58981109f9..164ebe2cb1 100644 --- a/patches/server/0799-Add-player-health-update-API.patch +++ b/patches/server/0799-Add-player-health-update-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add player health update API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 47c74e687610bba419d973461eb19c1ab5f09472..d5754d3bf8bcdb5c0de98b833a99517a399e025e 100644 +index 89d30891defdf3b1ee71f31e7fd06a87e13a25d2..eb2a93a02006c95d50d6158d6ad03b1ea2c96c18 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2133,9 +2133,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2140,9 +2140,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().maxHealthCache = getMaxHealth(); } @@ -22,7 +22,7 @@ index 47c74e687610bba419d973461eb19c1ab5f09472..d5754d3bf8bcdb5c0de98b833a99517a if (this.getHandle().queueHealthUpdatePacket) { this.getHandle().queuedHealthUpdatePacket = packet; } else { -@@ -2143,7 +2145,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2150,7 +2152,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end } diff --git a/patches/server/0801-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0801-Allow-delegation-to-vanilla-chunk-gen.patch index 2f3a8ef2c8..f144226418 100644 --- a/patches/server/0801-Allow-delegation-to-vanilla-chunk-gen.patch +++ b/patches/server/0801-Allow-delegation-to-vanilla-chunk-gen.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Allow delegation to vanilla chunk gen diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0d89472359ac6fed10a20c825a0b3b28064f86fc..9add1f02d75925e3d6a0767f0d65b2c0ef8ad697 100644 +index 874f317ebae64ba9f42573e3a412dedbeeb90cc7..8c8cb918c68215310498237e1b710fe8d2978cc2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2320,6 +2320,90 @@ public final class CraftServer implements Server { - return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(Registry.BIOME_REGISTRY), world); // Paper - Anti-Xray - Add parameters +@@ -2322,6 +2322,90 @@ public final class CraftServer implements Server { + return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(net.minecraft.core.Registry.BIOME_REGISTRY), world); // Paper - Anti-Xray - Add parameters } + // Paper start @@ -31,7 +31,7 @@ index 0d89472359ac6fed10a20c825a0b3b28064f86fc..9add1f02d75925e3d6a0767f0d65b2c0 + public ChunkGenerator.ChunkData createVanillaChunkData(World world, int x, int z) { + // do bunch of vanilla shit + final net.minecraft.server.level.ServerLevel serverLevel = ((CraftWorld) world).getHandle(); -+ final Registry biomeRegistry = serverLevel.getServer().registryAccess().registryOrThrow(Registry.BIOME_REGISTRY); ++ final net.minecraft.core.Registry biomeRegistry = serverLevel.getServer().registryAccess().registryOrThrow(net.minecraft.core.Registry.BIOME_REGISTRY); + final net.minecraft.world.level.chunk.ProtoChunk protoChunk = new net.minecraft.world.level.chunk.ProtoChunk( + new net.minecraft.world.level.ChunkPos(x, z), + net.minecraft.world.level.chunk.UpgradeData.EMPTY, @@ -61,7 +61,7 @@ index 0d89472359ac6fed10a20c825a0b3b28064f86fc..9add1f02d75925e3d6a0767f0d65b2c0 + if (xx == chunkPos.x && zz == chunkPos.z) { + chunks.add(protoChunk); + } else { -+ final net.minecraft.core.Holder biomeHolder = serverLevel.registryAccess().registryOrThrow(Registry.BIOME_REGISTRY).getHolderOrThrow(net.minecraft.world.level.biome.Biomes.PLAINS); ++ final net.minecraft.core.Holder biomeHolder = serverLevel.registryAccess().registryOrThrow(net.minecraft.core.Registry.BIOME_REGISTRY).getHolderOrThrow(net.minecraft.world.level.biome.Biomes.PLAINS); + final net.minecraft.world.level.chunk.ChunkAccess chunk = new net.minecraft.world.level.chunk.EmptyLevelChunk(serverLevel, new net.minecraft.world.level.ChunkPos(xx, zz), biomeHolder); + chunks.add(chunk); + } diff --git a/patches/server/0802-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch b/patches/server/0802-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch index 522dcef338..309ef861e6 100644 --- a/patches/server/0802-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch +++ b/patches/server/0802-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch @@ -1215,10 +1215,10 @@ index d74d6669005d0669503253787636756a0c6590f4..6d013360d35c54d1493849b22c9d65b1 } // CraftBukkit start diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 0539fa769526d02a5ceb2f1ccc2ff4ae6edee5be..a368cce65c0f05b05eb1031606a3172294025a67 100644 +index f9774bd5ba69ae98498ef9b9bc3f837707c4d164..4c795720195a5f8fa9f31db7b79e107c2d8938a1 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1159,9 +1159,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1160,9 +1160,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { float f2 = this.getBlockSpeedFactor(); this.setDeltaMovement(this.getDeltaMovement().multiply((double) f2, 1.0D, (double) f2)); @@ -1266,7 +1266,7 @@ index 0539fa769526d02a5ceb2f1ccc2ff4ae6edee5be..a368cce65c0f05b05eb1031606a31722 if (this.remainingFireTicks <= 0) { this.setRemainingFireTicks(-this.getFireImmuneTicks()); } -@@ -1305,32 +1340,78 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1306,32 +1341,78 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } private Vec3 collide(Vec3 movement) { @@ -1366,7 +1366,7 @@ index 0539fa769526d02a5ceb2f1ccc2ff4ae6edee5be..a368cce65c0f05b05eb1031606a31722 } public static Vec3 collideBoundingBox(@Nullable Entity entity, Vec3 movement, AABB entityBoundingBox, Level world, List collisions) { -@@ -2442,11 +2523,30 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2443,11 +2524,30 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { float f = this.dimensions.width * 0.8F; AABB axisalignedbb = AABB.ofSize(this.getEyePosition(), (double) f, 1.0E-6D, (double) f); diff --git a/patches/server/0811-Forward-CraftEntity-in-teleport-command.patch b/patches/server/0811-Forward-CraftEntity-in-teleport-command.patch index 2fcfc09c75..cbccdfb26e 100644 --- a/patches/server/0811-Forward-CraftEntity-in-teleport-command.patch +++ b/patches/server/0811-Forward-CraftEntity-in-teleport-command.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Forward CraftEntity in teleport command diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a368cce65c0f05b05eb1031606a3172294025a67..36b88c07f51d81e624679f4f0b54e48bc0355239 100644 +index 4c795720195a5f8fa9f31db7b79e107c2d8938a1..82ab6107a964bd44760875a0d50d20c5934301dd 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3264,6 +3264,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3265,6 +3265,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public void restoreFrom(Entity original) { @@ -22,7 +22,7 @@ index a368cce65c0f05b05eb1031606a3172294025a67..36b88c07f51d81e624679f4f0b54e48b CompoundTag nbttagcompound = original.saveWithoutId(new CompoundTag()); nbttagcompound.remove("Dimension"); -@@ -3345,10 +3352,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3346,10 +3353,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { if (worldserver.getTypeKey() == LevelStem.END) { // CraftBukkit ServerLevel.makeObsidianPlatform(worldserver, this); // CraftBukkit } diff --git a/patches/server/0826-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0826-Expose-vanilla-BiomeProvider-from-WorldInfo.patch index 1e10f43b3f..84dce39a33 100644 --- a/patches/server/0826-Expose-vanilla-BiomeProvider-from-WorldInfo.patch +++ b/patches/server/0826-Expose-vanilla-BiomeProvider-from-WorldInfo.patch @@ -18,11 +18,11 @@ index e977a523759f360854fa0a3ab8bbb956f0c0fdc2..a0f9842bce847d8ff9dfc68801804365 biomeProvider = gen.getDefaultBiomeProvider(worldInfo); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9add1f02d75925e3d6a0767f0d65b2c0ef8ad697..d66f8e409ece3b06fe14ab3eca8b74991bcfe2db 100644 +index 8c8cb918c68215310498237e1b710fe8d2978cc2..78b7f103f30545bf6dc12c282888c673c841a80e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1208,7 +1208,7 @@ public final class CraftServer implements Server { - Registry iregistry = worlddata.worldGenSettings().dimensions(); +@@ -1210,7 +1210,7 @@ public final class CraftServer implements Server { + net.minecraft.core.Registry iregistry = worlddata.worldGenSettings().dimensions(); LevelStem worlddimension = (LevelStem) iregistry.get(actualDimension); - WorldInfo worldInfo = new CraftWorldInfo(worlddata, worldSession, creator.environment(), worlddimension.typeHolder().value()); @@ -31,10 +31,10 @@ index 9add1f02d75925e3d6a0767f0d65b2c0ef8ad697..d66f8e409ece3b06fe14ab3eca8b7499 biomeProvider = generator.getDefaultBiomeProvider(worldInfo); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 73ad41f2a6f43a05fdb4c8a7787d8e5fae9694ed..377e80a80e60173a709d805ed94bb3af91930453 100644 +index beee040abf846492cefabe985c5286b00fc6bc63..f68a1d5adac4d88c462371c484464bbea22d3147 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -195,6 +195,30 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -201,6 +201,30 @@ public class CraftWorld extends CraftRegionAccessor implements World { public int getPlayerCount() { return world.players().size(); } diff --git a/patches/server/0835-Multi-Block-Change-API-Implementation.patch b/patches/server/0835-Multi-Block-Change-API-Implementation.patch index 1f7099b131..d50b51941b 100644 --- a/patches/server/0835-Multi-Block-Change-API-Implementation.patch +++ b/patches/server/0835-Multi-Block-Change-API-Implementation.patch @@ -25,7 +25,7 @@ index 82ea4fabd5732052a286d50bcff8bbcc2c4aa7d7..652bea6868a03a5315965f79c76172fb public void write(FriendlyByteBuf buf) { buf.writeLong(this.sectionPos.asLong()); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d5754d3bf8bcdb5c0de98b833a99517a399e025e..04b991ec6a808839df1d2b5037ad386bda5094fe 100644 +index eb2a93a02006c95d50d6158d6ad03b1ea2c96c18..909693c50d75eebc8fcb5a091c561dda00ddfd8c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -29,6 +29,7 @@ import java.util.logging.Logger; @@ -36,7 +36,7 @@ index d5754d3bf8bcdb5c0de98b833a99517a399e025e..04b991ec6a808839df1d2b5037ad386b import net.minecraft.nbt.CompoundTag; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.ChatSender; -@@ -863,6 +864,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -870,6 +871,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } diff --git a/patches/server/0837-Freeze-Tick-Lock-API.patch b/patches/server/0837-Freeze-Tick-Lock-API.patch index a651dfbd43..93a26fe18a 100644 --- a/patches/server/0837-Freeze-Tick-Lock-API.patch +++ b/patches/server/0837-Freeze-Tick-Lock-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Freeze Tick Lock API diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 36b88c07f51d81e624679f4f0b54e48bc0355239..1a8617207e7be7e3ca52d15408922b0d41047c14 100644 +index 82ab6107a964bd44760875a0d50d20c5934301dd..2cf778ce1f4d9461023e1d99fe2481ffa5b46d4f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -396,6 +396,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -397,6 +397,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { private org.bukkit.util.Vector origin; @javax.annotation.Nullable private UUID originWorld; @@ -16,7 +16,7 @@ index 36b88c07f51d81e624679f4f0b54e48bc0355239..1a8617207e7be7e3ca52d15408922b0d public void setOrigin(@javax.annotation.Nonnull Location location) { this.origin = location.toVector(); -@@ -824,7 +825,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -825,7 +826,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.setRemainingFireTicks(this.remainingFireTicks - 1); } @@ -25,7 +25,7 @@ index 36b88c07f51d81e624679f4f0b54e48bc0355239..1a8617207e7be7e3ca52d15408922b0d this.setTicksFrozen(0); this.level.levelEvent((Player) null, 1009, this.blockPosition, 1); } -@@ -2251,6 +2252,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2252,6 +2253,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { if (fromNetherPortal) { nbt.putBoolean("Paper.FromNetherPortal", true); } @@ -35,7 +35,7 @@ index 36b88c07f51d81e624679f4f0b54e48bc0355239..1a8617207e7be7e3ca52d15408922b0d // Paper end return nbt; } catch (Throwable throwable) { -@@ -2413,6 +2417,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2414,6 +2418,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { if (spawnReason == null) { spawnReason = org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.DEFAULT; } @@ -46,7 +46,7 @@ index 36b88c07f51d81e624679f4f0b54e48bc0355239..1a8617207e7be7e3ca52d15408922b0d } catch (Throwable throwable) { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index cca07ef0100749a12aa86b0d97bbc61adc0db7f5..c4e164fd5ae03f5a7f2965c2011b71451afdadc8 100644 +index 7ea4f8003c0da7ea171ac47c27a8bfb7b707be99..ea54c429c170c9aca68a96f38ae4dfc3a23b0f5e 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3351,7 +3351,7 @@ public abstract class LivingEntity extends Entity { @@ -59,7 +59,7 @@ index cca07ef0100749a12aa86b0d97bbc61adc0db7f5..c4e164fd5ae03f5a7f2965c2011b7145 if (this.isInPowderSnow && this.canFreeze()) { this.setTicksFrozen(Math.min(this.getTicksRequiredToFreeze(), i + 1)); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 4ab2b20529acb61baca3878281258ba0818b8479..5b92c2ca03baed38f7d41a73fae7dd23ce541d43 100644 +index e12dcc33e859950efec36b91ad9a43e435545d5b..2a6c67634c31c332102d24bef293da1bacd0c000 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -673,6 +673,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0841-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0841-API-for-creating-command-sender-which-forwards-feedb.patch index 3fd08db7a2..bfaea90bb3 100644 --- a/patches/server/0841-API-for-creating-command-sender-which-forwards-feedb.patch +++ b/patches/server/0841-API-for-creating-command-sender-which-forwards-feedb.patch @@ -122,10 +122,10 @@ index 0000000000000000000000000000000000000000..e3a5f1ec376319bdfda87fa27ae217bf + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d66f8e409ece3b06fe14ab3eca8b74991bcfe2db..b90bb11b12fa88c10ec4ffde740ab8f5a4afec69 100644 +index 78b7f103f30545bf6dc12c282888c673c841a80e..987fd4e9cd63d7eb63580048c0aac4235af69a42 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1986,6 +1986,13 @@ public final class CraftServer implements Server { +@@ -1988,6 +1988,13 @@ public final class CraftServer implements Server { return console.console; } diff --git a/patches/server/0843-Implement-regenerateChunk.patch b/patches/server/0843-Implement-regenerateChunk.patch index 81b580c897..63f2846992 100644 --- a/patches/server/0843-Implement-regenerateChunk.patch +++ b/patches/server/0843-Implement-regenerateChunk.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Implement regenerateChunk Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com> diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 335bf78d95418fbc7718177f012c71c392ab554c..d908eb6b1208cf69f2f1282ddf1c20dc04d092d1 100644 +index f68a1d5adac4d88c462371c484464bbea22d3147..6e36b6c722e647fe3672d782447a09030381137e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -133,6 +133,7 @@ import org.bukkit.util.Vector; +@@ -139,6 +139,7 @@ import org.bukkit.util.Vector; public class CraftWorld extends CraftRegionAccessor implements World { public static final int CUSTOM_DIMENSION_OFFSET = 10; private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); @@ -17,7 +17,7 @@ index 335bf78d95418fbc7718177f012c71c392ab554c..d908eb6b1208cf69f2f1282ddf1c20dc private final ServerLevel world; private WorldBorder worldBorder; -@@ -425,27 +426,61 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -431,27 +432,61 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean regenerateChunk(int x, int z) { org.spigotmc.AsyncCatcher.catchOp("chunk regenerate"); // Spigot @@ -25,6 +25,10 @@ index 335bf78d95418fbc7718177f012c71c392ab554c..d908eb6b1208cf69f2f1282ddf1c20dc - /* - if (!unloadChunk0(x, z, false)) { - return false; +- } +- +- final long chunkKey = ChunkCoordIntPair.pair(x, z); +- world.getChunkProvider().unloadQueue.remove(chunkKey); + // Paper start - implement regenerateChunk method + final ServerLevel serverLevel = this.world; + final net.minecraft.server.level.ServerChunkCache serverChunkCache = serverLevel.getChunkSource(); @@ -33,10 +37,8 @@ index 335bf78d95418fbc7718177f012c71c392ab554c..d908eb6b1208cf69f2f1282ddf1c20dc + for (final BlockPos blockPos : BlockPos.betweenClosed(chunkPos.getMinBlockX(), serverLevel.getMinBuildHeight(), chunkPos.getMinBlockZ(), chunkPos.getMaxBlockX(), serverLevel.getMaxBuildHeight() - 1, chunkPos.getMaxBlockZ())) { + levelChunk.removeBlockEntity(blockPos); + serverLevel.setBlock(blockPos, net.minecraft.world.level.block.Blocks.AIR.defaultBlockState(), 16); - } - -- final long chunkKey = ChunkCoordIntPair.pair(x, z); -- world.getChunkProvider().unloadQueue.remove(chunkKey); ++ } ++ + for (final ChunkStatus chunkStatus : REGEN_CHUNK_STATUSES) { + final List list = new ArrayList<>(); + final int range = Math.max(1, chunkStatus.getRange()); diff --git a/patches/server/0846-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/server/0846-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch index db1619f58b..be66fd4018 100644 --- a/patches/server/0846-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch +++ b/patches/server/0846-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add missing Validate calls to CraftServer#getSpawnLimit Copies appropriate checks from CraftWorld#getSpawnLimit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index b90bb11b12fa88c10ec4ffde740ab8f5a4afec69..50d617133ef73713ce5329e826c8a97e1d89a023 100644 +index 987fd4e9cd63d7eb63580048c0aac4235af69a42..d0a436d38231ee8871b92d7c60e53b96db39466e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2160,6 +2160,8 @@ public final class CraftServer implements Server { +@@ -2162,6 +2162,8 @@ public final class CraftServer implements Server { @Override public int getSpawnLimit(SpawnCategory spawnCategory) { // Paper start diff --git a/patches/server/0847-Add-GameEvent-tags.patch b/patches/server/0847-Add-GameEvent-tags.patch index 64e19665d9..0f930049e7 100644 --- a/patches/server/0847-Add-GameEvent-tags.patch +++ b/patches/server/0847-Add-GameEvent-tags.patch @@ -45,33 +45,33 @@ index 0000000000000000000000000000000000000000..cb78a3d4e21376ea24347187478525d5 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 50d617133ef73713ce5329e826c8a97e1d89a023..14c06e1643878b5307c7177f0c05bd5e7b31f0af 100644 +index d0a436d38231ee8871b92d7c60e53b96db39466e..18d2af6cfb4133663d20bb80ece85bc92d97ef22 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2566,6 +2566,15 @@ public final class CraftServer implements Server { - return (org.bukkit.Tag) new CraftEntityTag(Registry.ENTITY_TYPE, entityTagKey); +@@ -2568,6 +2568,15 @@ public final class CraftServer implements Server { + return (org.bukkit.Tag) new CraftEntityTag(net.minecraft.core.Registry.ENTITY_TYPE, entityTagKey); } } + // Paper start + case org.bukkit.Tag.REGISTRY_GAME_EVENTS -> { + Preconditions.checkArgument(clazz == org.bukkit.GameEvent.class, "Game Event namespace must have GameEvent type"); -+ TagKey gameEventTagKey = TagKey.create(Registry.GAME_EVENT_REGISTRY, key); -+ if (Registry.GAME_EVENT.isKnownTagName(gameEventTagKey)) { -+ return (org.bukkit.Tag) new io.papermc.paper.CraftGameEventTag(Registry.GAME_EVENT, gameEventTagKey); ++ TagKey gameEventTagKey = TagKey.create(net.minecraft.core.Registry.GAME_EVENT_REGISTRY, key); ++ if (net.minecraft.core.Registry.GAME_EVENT.isKnownTagName(gameEventTagKey)) { ++ return (org.bukkit.Tag) new io.papermc.paper.CraftGameEventTag(net.minecraft.core.Registry.GAME_EVENT, gameEventTagKey); + } + } + // Paper end default -> throw new IllegalArgumentException(); } -@@ -2598,6 +2607,13 @@ public final class CraftServer implements Server { - Registry> entityTags = Registry.ENTITY_TYPE; +@@ -2600,6 +2609,13 @@ public final class CraftServer implements Server { + net.minecraft.core.Registry> entityTags = net.minecraft.core.Registry.ENTITY_TYPE; return entityTags.getTags().map(pair -> (org.bukkit.Tag) new CraftEntityTag(entityTags, pair.getFirst())).collect(ImmutableList.toImmutableList()); } + // Paper start + case org.bukkit.Tag.REGISTRY_GAME_EVENTS -> { + Preconditions.checkArgument(clazz == org.bukkit.GameEvent.class); -+ Registry gameEvents = Registry.GAME_EVENT; ++ net.minecraft.core.Registry gameEvents = net.minecraft.core.Registry.GAME_EVENT; + return gameEvents.getTags().map(pair -> (org.bukkit.Tag) new io.papermc.paper.CraftGameEventTag(gameEvents, pair.getFirst())).collect(ImmutableList.toImmutableList()); + // Paper end + } diff --git a/patches/server/0854-Put-world-into-worldlist-before-initing-the-world.patch b/patches/server/0854-Put-world-into-worldlist-before-initing-the-world.patch index aec1c27b7f..eed82a5e95 100644 --- a/patches/server/0854-Put-world-into-worldlist-before-initing-the-world.patch +++ b/patches/server/0854-Put-world-into-worldlist-before-initing-the-world.patch @@ -23,10 +23,10 @@ index 4c04c4b65039219be62e8a742fdf6789efa80e87..7bcfb1420e67f941df4dd39a3b94c02f if (worlddata.getCustomBossEvents() != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 14c06e1643878b5307c7177f0c05bd5e7b31f0af..f2a18511119bc52ef3ab06165be68b6afa57bfad 100644 +index 18d2af6cfb4133663d20bb80ece85bc92d97ef22..1be97337e241e9321fbb16ca9da42400614978a3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1237,10 +1237,11 @@ public final class CraftServer implements Server { +@@ -1239,10 +1239,11 @@ public final class CraftServer implements Server { return null; } diff --git a/patches/server/0856-Custom-Potion-Mixes.patch b/patches/server/0856-Custom-Potion-Mixes.patch index 25f801a27e..e4043407b4 100644 --- a/patches/server/0856-Custom-Potion-Mixes.patch +++ b/patches/server/0856-Custom-Potion-Mixes.patch @@ -164,10 +164,10 @@ index 3d688e334c7287f41460bd866bfd1155e8bb55d2..55006724ccec9f3de828ec18693728e9 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f2a18511119bc52ef3ab06165be68b6afa57bfad..6ffd1c69bf9372dadaadbb36de8ca4b8a56cc1a7 100644 +index 1be97337e241e9321fbb16ca9da42400614978a3..fb24f97626706f509c38ee4c759666d71bb479cf 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -281,6 +281,7 @@ public final class CraftServer implements Server { +@@ -283,6 +283,7 @@ public final class CraftServer implements Server { private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper public static Exception excessiveVelEx; // Paper - Velocity warnings private final io.papermc.paper.logging.SysoutCatcher sysoutCatcher = new io.papermc.paper.logging.SysoutCatcher(); // Paper @@ -175,7 +175,7 @@ index f2a18511119bc52ef3ab06165be68b6afa57bfad..6ffd1c69bf9372dadaadbb36de8ca4b8 static { ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); -@@ -307,7 +308,7 @@ public final class CraftServer implements Server { +@@ -309,7 +310,7 @@ public final class CraftServer implements Server { Enchantments.SHARPNESS.getClass(); org.bukkit.enchantments.Enchantment.stopAcceptingRegistrations(); @@ -184,7 +184,7 @@ index f2a18511119bc52ef3ab06165be68b6afa57bfad..6ffd1c69bf9372dadaadbb36de8ca4b8 MobEffects.BLINDNESS.getClass(); PotionEffectType.stopAcceptingRegistrations(); // Ugly hack :( -@@ -2882,5 +2883,10 @@ public final class CraftServer implements Server { +@@ -2889,5 +2890,10 @@ public final class CraftServer implements Server { return datapackManager; } diff --git a/patches/server/0857-Replace-player-chunk-loader-system.patch b/patches/server/0857-Replace-player-chunk-loader-system.patch index f865186c2c..1bb4be7597 100644 --- a/patches/server/0857-Replace-player-chunk-loader-system.patch +++ b/patches/server/0857-Replace-player-chunk-loader-system.patch @@ -2079,10 +2079,10 @@ index 0de0519c01886a39399233b275db44b95e2f3d96..c46cbbf9ac4c5661933b03bc0b2559f7 @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 6594d7dd2d21cca438530af7cc789bfbac265238..131f40a7defc87a01f6a554f7c7819d34e84fe1d 100644 +index 6e36b6c722e647fe3672d782447a09030381137e..17b85478749be5be2bec19e49f26e03ebae29852 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2201,43 +2201,56 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2280,43 +2280,56 @@ public class CraftWorld extends CraftRegionAccessor implements World { // Spigot start @Override public int getViewDistance() { @@ -2148,7 +2148,7 @@ index 6594d7dd2d21cca438530af7cc789bfbac265238..131f40a7defc87a01f6a554f7c7819d3 // Paper end - view distance api diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 04b991ec6a808839df1d2b5037ad386bda5094fe..abcce6bd0b32d0188751393a6f56f2e82530912c 100644 +index 909693c50d75eebc8fcb5a091c561dda00ddfd8c..287520f91e22309e1268be1940e0fafb628980a9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -541,45 +541,80 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0859-Fix-World-locateNearestStructure.patch b/patches/server/0859-Fix-World-locateNearestStructure.patch deleted file mode 100644 index be6a3a6c4f..0000000000 --- a/patches/server/0859-Fix-World-locateNearestStructure.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jake Potrebic -Date: Tue, 1 Mar 2022 14:12:17 -0800 -Subject: [PATCH] Fix World#locateNearestStructure - -1.18.2 switched to TagKeys to reference tags of objects, and this method - impl needs to be changed to reflect that - -diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ecaa4d9ff28551b7039f3489f1884d3b664c8ce6..eee4badba71c7e568224b91893a0647f8d8ab6cc 100644 ---- a/src/main/java/net/minecraft/server/MinecraftServer.java -+++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2022,6 +2022,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop> pair = this.getChunkSource().getGenerator().findNearestMapStructure(this, (HolderSet) optional.get(), pos, radius, skipReferencedStructures); -+ // Paper start -+ return this.findNearestMapFeature(optional.get(), pos, radius, skipReferencedStructures); -+ } -+ } -+ } -+ public @Nullable BlockPos findNearestMapFeature(HolderSet holderSet, BlockPos pos, int radius, boolean skipReferencedStructures) { -+ { -+ { -+ Pair> pair = this.getChunkSource().getGenerator().findNearestMapStructure(this, holderSet, pos, radius, skipReferencedStructures); -+ // Paper end - - return pair != null ? (BlockPos) pair.getFirst() : null; - } -diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 131f40a7defc87a01f6a554f7c7819d34e84fe1d..526f7b170270efe34dc43110e23c013f19665b9e 100644 ---- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2059,10 +2059,22 @@ public class CraftWorld extends CraftRegionAccessor implements World { - - } - -+ public final Map>> structureCache = new java.util.HashMap<>(); // Paper - @Override - public Location locateNearestStructure(Location origin, StructureType structureType, int radius, boolean findUnexplored) { - BlockPos originPos = new BlockPos(origin.getX(), origin.getY(), origin.getZ()); -- BlockPos nearest = this.getHandle().findNearestMapStructure(TagKey.create(Registry.STRUCTURE_REGISTRY, CraftNamespacedKey.toMinecraft(structureType.getKey())), originPos, radius, findUnexplored); -+ // Paper start - fix because you can't just create random TagKeys -+ if (!this.getHandle().serverLevelData.worldGenSettings().generateStructures()) { // from ServerLevel#findNearestMapStructure -+ return null; -+ } -+ final List> features = this.structureCache.computeIfAbsent(structureType, (type) -> { -+ final Registry> structureFeatureRegistry = this.getHandle().registryAccess().registryOrThrow(Registry.STRUCTURE_TYPE_REGISTRY); -+ return this.getHandle().registryAccess().registryOrThrow(Registry.STRUCTURE_REGISTRY).holders().filter(holder -> { -+ return structureType.getKey().equals(CraftNamespacedKey.fromMinecraft(Objects.requireNonNull(structureFeatureRegistry.getKey(holder.value().type())))); -+ }).toList(); -+ }); -+ BlockPos nearest = this.getHandle().findNearestMapFeature(net.minecraft.core.HolderSet.direct(features), originPos, radius, findUnexplored); -+ // Paper end - return (nearest == null) ? null : new Location(this, nearest.getX(), nearest.getY(), nearest.getZ()); - } - diff --git a/patches/server/0860-Force-close-world-loading-screen.patch b/patches/server/0859-Force-close-world-loading-screen.patch similarity index 100% rename from patches/server/0860-Force-close-world-loading-screen.patch rename to patches/server/0859-Force-close-world-loading-screen.patch diff --git a/patches/server/0861-Fix-falling-block-spawn-methods.patch b/patches/server/0860-Fix-falling-block-spawn-methods.patch similarity index 93% rename from patches/server/0861-Fix-falling-block-spawn-methods.patch rename to patches/server/0860-Fix-falling-block-spawn-methods.patch index be536e6a3d..88bf2c8560 100644 --- a/patches/server/0861-Fix-falling-block-spawn-methods.patch +++ b/patches/server/0860-Fix-falling-block-spawn-methods.patch @@ -21,10 +21,10 @@ index d1fca0e3227b5f37c11367548be362f5a49b6a71..5628940cd3c3566c5db2beda506d4f20 if (Snowball.class.isAssignableFrom(clazz)) { entity = new net.minecraft.world.entity.projectile.Snowball(world, x, y, z); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 6f09519695a7268e4749a6c36b463f5b33bb645f..998ad03f4daa9f3b6d3dd70c5c912bc935ffd12f 100644 +index 17b85478749be5be2bec19e49f26e03ebae29852..d7ec9ea48d6c8354bcf40599a9cc1743f64ebffc 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1410,7 +1410,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1416,7 +1416,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { Validate.notNull(material, "Material cannot be null"); Validate.isTrue(material.isBlock(), "Material must be a block"); @@ -38,7 +38,7 @@ index 6f09519695a7268e4749a6c36b463f5b33bb645f..998ad03f4daa9f3b6d3dd70c5c912bc9 return (FallingBlock) entity.getBukkitEntity(); } -@@ -1419,7 +1424,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1425,7 +1430,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { Validate.notNull(location, "Location cannot be null"); Validate.notNull(data, "BlockData cannot be null"); diff --git a/patches/server/0862-Expose-furnace-minecart-push-values.patch b/patches/server/0861-Expose-furnace-minecart-push-values.patch similarity index 100% rename from patches/server/0862-Expose-furnace-minecart-push-values.patch rename to patches/server/0861-Expose-furnace-minecart-push-values.patch diff --git a/patches/server/0863-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch b/patches/server/0862-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch similarity index 100% rename from patches/server/0863-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch rename to patches/server/0862-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch diff --git a/patches/server/0864-Fix-save-problems-on-shutdown.patch b/patches/server/0863-Fix-save-problems-on-shutdown.patch similarity index 94% rename from patches/server/0864-Fix-save-problems-on-shutdown.patch rename to patches/server/0863-Fix-save-problems-on-shutdown.patch index c331284d5c..1023807efc 100644 --- a/patches/server/0864-Fix-save-problems-on-shutdown.patch +++ b/patches/server/0863-Fix-save-problems-on-shutdown.patch @@ -12,7 +12,7 @@ Subject: [PATCH] Fix save problems on shutdown processed so that the main process queue can be drained diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 1bc400cf245ba3110e8874a4f2837a91d0f70916..60de49a9888b6dfe17dcb0d9dd0dd3d2e7d829aa 100644 +index ecaa4d9ff28551b7039f3489f1884d3b664c8ce6..a1b3da5cafe2ddae53f088bb18bacc3ecc7e085a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -953,6 +953,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule)); handle.deserialize(event.getValue()); // Paper @@ -170,7 +170,7 @@ index aa43f8fb00432ab96e459c19cc82c4b99fd2f33e..25e56be9055c5c432e1180d45341f4e9 return true; } -@@ -1954,7 +1954,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1960,7 +1960,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { // Paper end GameRules.Value handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule.getName())); handle.deserialize(event.getValue()); // Paper diff --git a/patches/server/0887-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch b/patches/server/0886-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch similarity index 100% rename from patches/server/0887-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch rename to patches/server/0886-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch diff --git a/patches/server/0888-WorldCreator-keepSpawnLoaded.patch b/patches/server/0887-WorldCreator-keepSpawnLoaded.patch similarity index 84% rename from patches/server/0888-WorldCreator-keepSpawnLoaded.patch rename to patches/server/0887-WorldCreator-keepSpawnLoaded.patch index 77e75ca781..0228dcf102 100644 --- a/patches/server/0888-WorldCreator-keepSpawnLoaded.patch +++ b/patches/server/0887-WorldCreator-keepSpawnLoaded.patch @@ -5,10 +5,10 @@ Subject: [PATCH] WorldCreator#keepSpawnLoaded diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index cf808977652d51a0e6ab2931ca6a2748d577f39d..925c9359a3e33abfdc6463572b96191381cec480 100644 +index 02b9363d3683d529b91e61211c62e7da949a9c9e..76a2ebaf74b79a63ec83e8adc2a696428cd6427a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1244,6 +1244,7 @@ public final class CraftServer implements Server { +@@ -1246,6 +1246,7 @@ public final class CraftServer implements Server { internal.setSpawnSettings(true, true); // Paper - move up diff --git a/patches/server/0889-Fix-NPE-for-BlockDataMeta-getBlockData.patch b/patches/server/0888-Fix-NPE-for-BlockDataMeta-getBlockData.patch similarity index 100% rename from patches/server/0889-Fix-NPE-for-BlockDataMeta-getBlockData.patch rename to patches/server/0888-Fix-NPE-for-BlockDataMeta-getBlockData.patch diff --git a/patches/server/0890-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch b/patches/server/0889-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch similarity index 100% rename from patches/server/0890-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch rename to patches/server/0889-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch diff --git a/patches/server/0891-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/server/0890-Add-EntityDyeEvent-and-CollarColorable-interface.patch similarity index 100% rename from patches/server/0891-Add-EntityDyeEvent-and-CollarColorable-interface.patch rename to patches/server/0890-Add-EntityDyeEvent-and-CollarColorable-interface.patch diff --git a/patches/server/0892-Fire-CauldronLevelChange-on-initial-fill.patch b/patches/server/0891-Fire-CauldronLevelChange-on-initial-fill.patch similarity index 100% rename from patches/server/0892-Fire-CauldronLevelChange-on-initial-fill.patch rename to patches/server/0891-Fire-CauldronLevelChange-on-initial-fill.patch diff --git a/patches/server/0893-fix-powder-snow-cauldrons-not-turning-to-water.patch b/patches/server/0892-fix-powder-snow-cauldrons-not-turning-to-water.patch similarity index 100% rename from patches/server/0893-fix-powder-snow-cauldrons-not-turning-to-water.patch rename to patches/server/0892-fix-powder-snow-cauldrons-not-turning-to-water.patch diff --git a/patches/server/0894-Add-PlayerStopUsingItemEvent.patch b/patches/server/0893-Add-PlayerStopUsingItemEvent.patch similarity index 91% rename from patches/server/0894-Add-PlayerStopUsingItemEvent.patch rename to patches/server/0893-Add-PlayerStopUsingItemEvent.patch index ad74b61933..67e5737362 100644 --- a/patches/server/0894-Add-PlayerStopUsingItemEvent.patch +++ b/patches/server/0893-Add-PlayerStopUsingItemEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerStopUsingItemEvent diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index c4e164fd5ae03f5a7f2965c2011b71451afdadc8..e8dc99752d06ca40f17f3ad2c829b2447b703d7c 100644 +index ea54c429c170c9aca68a96f38ae4dfc3a23b0f5e..279051442ac6cf288a03a16a35ddbf66d1cd1e90 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3901,6 +3901,7 @@ public abstract class LivingEntity extends Entity { diff --git a/patches/server/0895-FallingBlock-auto-expire-setting.patch b/patches/server/0894-FallingBlock-auto-expire-setting.patch similarity index 100% rename from patches/server/0895-FallingBlock-auto-expire-setting.patch rename to patches/server/0894-FallingBlock-auto-expire-setting.patch diff --git a/patches/server/0896-Don-t-tick-markers.patch b/patches/server/0895-Don-t-tick-markers.patch similarity index 94% rename from patches/server/0896-Don-t-tick-markers.patch rename to patches/server/0895-Don-t-tick-markers.patch index 12934c4f8e..e6d463d848 100644 --- a/patches/server/0896-Don-t-tick-markers.patch +++ b/patches/server/0895-Don-t-tick-markers.patch @@ -22,10 +22,10 @@ index a96b3f62a7a6aa5c87976dcda93f4b47bc2cd252..8ec20f17a3f8c39ae3ebf3fb630f98b3 } }); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index de0fe1743dbddc6ff548dc4c658955266600180f..09e7c07973f4ce868a418f9ac4ff7e838f6b99be 100644 +index c89e85c1fe37c8fba54825be76bb1caa15d84dcd..458ebb5dabd1f24ea3d49ef57eea687ce61f0fc0 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2498,6 +2498,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -2489,6 +2489,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } public void onTickingStart(Entity entity) { diff --git a/patches/server/0897-Do-not-accept-invalid-client-settings.patch b/patches/server/0896-Do-not-accept-invalid-client-settings.patch similarity index 100% rename from patches/server/0897-Do-not-accept-invalid-client-settings.patch rename to patches/server/0896-Do-not-accept-invalid-client-settings.patch diff --git a/patches/server/0898-Add-support-for-Proxy-Protocol.patch b/patches/server/0897-Add-support-for-Proxy-Protocol.patch similarity index 97% rename from patches/server/0898-Add-support-for-Proxy-Protocol.patch rename to patches/server/0897-Add-support-for-Proxy-Protocol.patch index ec97562d9e..0092abc62a 100644 --- a/patches/server/0898-Add-support-for-Proxy-Protocol.patch +++ b/patches/server/0897-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 16998a864e1c82bf4c1e1e08c0ebeb820ff33e59..eefbd0a742b5875e0e9826b87c6bd4da66b2d7f7 100644 +index effc19371309a1af44e1b660b547b58530a8df3c..2374cc9bab5039d0a0dc11d4b2ec573ab75778a7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -22,6 +22,7 @@ dependencies { diff --git a/patches/server/0899-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0898-Fix-OfflinePlayer-getBedSpawnLocation.patch similarity index 100% rename from patches/server/0899-Fix-OfflinePlayer-getBedSpawnLocation.patch rename to patches/server/0898-Fix-OfflinePlayer-getBedSpawnLocation.patch diff --git a/patches/server/0900-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch b/patches/server/0899-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch similarity index 100% rename from patches/server/0900-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch rename to patches/server/0899-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch diff --git a/patches/server/0901-Sanitize-Sent-BlockEntity-NBT.patch b/patches/server/0900-Sanitize-Sent-BlockEntity-NBT.patch similarity index 100% rename from patches/server/0901-Sanitize-Sent-BlockEntity-NBT.patch rename to patches/server/0900-Sanitize-Sent-BlockEntity-NBT.patch diff --git a/patches/server/0902-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0901-Prevent-entity-loading-causing-async-lookups.patch similarity index 94% rename from patches/server/0902-Prevent-entity-loading-causing-async-lookups.patch rename to patches/server/0901-Prevent-entity-loading-causing-async-lookups.patch index d95ea25322..ec4d159128 100644 --- a/patches/server/0902-Prevent-entity-loading-causing-async-lookups.patch +++ b/patches/server/0901-Prevent-entity-loading-causing-async-lookups.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Prevent entity loading causing async lookups diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b100f32518da9d6666b0aba7ba02d356621bf5e5..b0728b66c54dc22a5a98f150910d07f4b38ebd7e 100644 +index 43a0dfd2f1391156ac54ae15d6d58904201984a5..74459ab5ccb94863677f0803f8f737f013cb83a3 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -787,6 +787,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -788,6 +788,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public void baseTick() { this.level.getProfiler().push("entityBaseTick"); diff --git a/patches/server/0903-Disable-component-selector-resolving-in-books-by-def.patch b/patches/server/0902-Disable-component-selector-resolving-in-books-by-def.patch similarity index 100% rename from patches/server/0903-Disable-component-selector-resolving-in-books-by-def.patch rename to patches/server/0902-Disable-component-selector-resolving-in-books-by-def.patch diff --git a/patches/server/0904-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0903-Throw-exception-on-world-create-while-being-ticked.patch similarity index 90% rename from patches/server/0904-Throw-exception-on-world-create-while-being-ticked.patch rename to patches/server/0903-Throw-exception-on-world-create-while-being-ticked.patch index 7c74f41830..f8af3c6179 100644 --- a/patches/server/0904-Throw-exception-on-world-create-while-being-ticked.patch +++ b/patches/server/0903-Throw-exception-on-world-create-while-being-ticked.patch @@ -7,7 +7,7 @@ There are no plans to support creating worlds while worlds are being ticked themselvess. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ed799a59411d637d0f50a62c73e2b23053fbcb0e..77cd45f616e2ff38ad6a648b8b865a99e544f3ec 100644 +index a1b3da5cafe2ddae53f088bb18bacc3ecc7e085a..a934226dc9a273fac03c21227f7ef3d50ea080c4 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -294,6 +294,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop recipients = new HashSet<>(); for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) { diff --git a/patches/server/0916-Prevent-empty-items-from-being-added-to-world.patch b/patches/server/0915-Prevent-empty-items-from-being-added-to-world.patch similarity index 96% rename from patches/server/0916-Prevent-empty-items-from-being-added-to-world.patch rename to patches/server/0915-Prevent-empty-items-from-being-added-to-world.patch index e4771ace0a..815d0659ac 100644 --- a/patches/server/0916-Prevent-empty-items-from-being-added-to-world.patch +++ b/patches/server/0915-Prevent-empty-items-from-being-added-to-world.patch @@ -7,7 +7,7 @@ The previous solution caused a bunch of bandaid fixes inorder to resolve edge ca Just simply prevent them from being added to the world instead. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 0dc7a827aeacc7fae53b1f975f45883da7db6a0c..6ef4160cb9cc836371a03451bdc3f88c84167ec4 100644 +index aa3c6f18d817826e9af2a3047b0b683dd16ea7f7..1a918eabbaaed26d9bdf5c01e0488b5a117ba516 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1433,6 +1433,7 @@ public class ServerLevel extends Level implements WorldGenLevel { diff --git a/patches/server/0917-Fix-missing-null-check-in-ChunkGenerator-findNearest.patch b/patches/server/0916-Fix-missing-null-check-in-ChunkGenerator-findNearest.patch similarity index 100% rename from patches/server/0917-Fix-missing-null-check-in-ChunkGenerator-findNearest.patch rename to patches/server/0916-Fix-missing-null-check-in-ChunkGenerator-findNearest.patch diff --git a/patches/server/0918-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch b/patches/server/0917-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch similarity index 100% rename from patches/server/0918-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch rename to patches/server/0917-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch diff --git a/patches/server/0919-Don-t-print-component-in-resource-pack-rejection-mes.patch b/patches/server/0918-Don-t-print-component-in-resource-pack-rejection-mes.patch similarity index 94% rename from patches/server/0919-Don-t-print-component-in-resource-pack-rejection-mes.patch rename to patches/server/0918-Don-t-print-component-in-resource-pack-rejection-mes.patch index 0441fd5448..da493d931b 100644 --- a/patches/server/0919-Don-t-print-component-in-resource-pack-rejection-mes.patch +++ b/patches/server/0918-Don-t-print-component-in-resource-pack-rejection-mes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't print component in resource pack rejection message diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 630a762b71861bfe21c47a11d4fe05e1a3b7d339..3486b3eed20b25525569154cb1457a9270a943f9 100644 +index 630a762b71861bfe21c47a11d4fe05e1a3b7d339..6f2006c53a27531ab04a95e446e30d85eb422970 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1979,7 +1979,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0920-Add-Player-getFishHook.patch b/patches/server/0919-Add-Player-getFishHook.patch similarity index 100% rename from patches/server/0920-Add-Player-getFishHook.patch rename to patches/server/0919-Add-Player-getFishHook.patch diff --git a/patches/server/0921-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch b/patches/server/0920-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch similarity index 100% rename from patches/server/0921-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch rename to patches/server/0920-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch diff --git a/patches/server/0922-Call-StructureGrowEvent-for-mangrove-propagule.patch b/patches/server/0921-Call-StructureGrowEvent-for-mangrove-propagule.patch similarity index 100% rename from patches/server/0922-Call-StructureGrowEvent-for-mangrove-propagule.patch rename to patches/server/0921-Call-StructureGrowEvent-for-mangrove-propagule.patch diff --git a/work/Bukkit b/work/Bukkit index d5a777e736..d41796deb5 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit d5a777e7366d73cd126515ae8088c0cf81853de4 +Subproject commit d41796deb5e14fd69558db71324e8feb12a1effa diff --git a/work/CraftBukkit b/work/CraftBukkit index 82f757467a..991aeda121 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 82f757467a7ba67c9be1ecef9601d49aff754849 +Subproject commit 991aeda1218e72e9237942071e7ea55cc77b541c diff --git a/work/Spigot b/work/Spigot index 56be6a8491..475f600885 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 56be6a849145345c489133a676c40ae15b27b8c6 +Subproject commit 475f600885a8f58aee83aa7473f37dfe6b8ac3b5