From ce270e141247fc1c7d7f0031a734f4a2db91e2ce Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 23 Jun 2020 04:30:45 -0400 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit/Spigot) Upstream has released updates that appears 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: b2f1908c SPIGOT-5783: Add helpful info to UnknownDependencyException e4f46260 SPIGOT-2623: Add EntityEquipment methods to get/set ItemStacks by slot. 529a9a69 SPIGOT-5751: Clarify behaviour of block drop-related API methods CraftBukkit Changes: 8ea9b138 Remove outdated build delay. ffc2b251 Revert "#675: Fix redirected CommandNodes sometimes not being properly redirected" cb701f6b #675: Fix redirected CommandNodes sometimes not being properly redirected c9d7c16b SPIGOT-2623: Add EntityEquipment methods to get/set ItemStacks by slot. fad2494a #673: Fix Craftworld#isChunkLoaded 8637ec00 SPIGOT-5751: Made breakNaturally and getDrops returns the correct item if no argument is given Spigot Changes: a99063f7 Rebuild patches Fixes #3602 --- .../0182-Add-BlockSoundGroup-interface.patch | 4 +-- ...-Add-effect-to-block-break-naturally.patch | 6 ++-- Spigot-Server-Patches/0001-POM-Changes.patch | 4 +-- .../0002-Paper-config-files.patch | 6 ++-- Spigot-Server-Patches/0004-MC-Utils.patch | 4 +-- Spigot-Server-Patches/0009-Timings-v2.patch | 14 ++++----- ...PI-for-Reason-Source-Triggering-play.patch | 4 +-- ...oleAppender-for-console-improvements.patch | 4 +-- ...0-PlayerNaturallySpawnCreaturesEvent.patch | 4 +-- ...ld.spawnParticle-API-and-add-Builder.patch | 4 +-- ...Item-entities-with-World.spawnEntity.patch | 4 +-- .../0234-Expand-Explosions-API.patch | 4 +-- ...8-Implement-World.getEntity-UUID-API.patch | 4 +-- ...ead-Entities-in-entityList-iteration.patch | 10 +++---- ...ets-from-world-player-list-not-serve.patch | 6 ++-- ...loadChunk-int-int-false-load-unconve.patch | 4 +-- .../0307-Add-sun-related-API.patch | 4 +-- ...371-improve-CraftWorld-isChunkLoaded.patch | 7 ++--- ...le-Keep-Spawn-Loaded-range-per-world.patch | 6 ++-- .../0378-incremental-chunk-saving.patch | 8 ++--- ...380-Fix-World-isChunkGenerated-calls.patch | 8 ++--- ...90-Asynchronous-chunk-IO-and-loading.patch | 16 +++++----- .../0392-Reduce-sync-loads.patch | 8 ++--- ...ement-optional-per-player-mob-spawns.patch | 6 ++-- ...hanging-entities-that-are-not-ItemFr.patch | 4 +-- ...-Add-effect-to-block-break-naturally.patch | 4 +-- ...e-getChunkAt-calls-for-loaded-chunks.patch | 8 ++--- ...hunkMap-memory-use-for-visibleChunks.patch | 6 ++-- ...ks-when-attempting-to-unload-a-chunk.patch | 29 ------------------- ...h => 0457-Increase-Light-Queue-Size.patch} | 0 ...sks-Speed-up-processing-of-chunk-lo.patch} | 12 ++++---- ...ove-existing-players-to-world-spawn.patch} | 2 +- ...Add-tick-times-API-and-mspt-command.patch} | 2 +- ...61-Expose-MinecraftServer-isRunning.patch} | 0 ...dd-Raw-Byte-ItemStack-Serialization.patch} | 0 ...3-Remove-streams-from-Mob-AI-System.patch} | 0 ...ons-until-after-entity-ticking-is-d.patch} | 2 +- ... => 0465-Async-command-map-building.patch} | 0 ...h => 0466-Improved-Watchdog-Support.patch} | 2 +- ....patch => 0467-Optimize-Pathfinding.patch} | 0 ...Villager-AI-optimizations-DROP-1.16.patch} | 0 ...9-Reduce-Either-Optional-allocation.patch} | 0 ...470-Remove-streams-from-PairedQueue.patch} | 0 ...71-Remove-streams-from-MinecraftKey.patch} | 0 ...-memory-footprint-of-NBTTagCompound.patch} | 0 ...ent-opening-inventories-when-frozen.patch} | 0 ...74-Optimise-ArraySetSorted-removeIf.patch} | 0 ...entity-collision-code-if-not-needed.patch} | 0 ...mise-entity-hard-collision-checking.patch} | 2 +- ...viderServer-s-chunk-level-checking-.patch} | 4 +-- ...teleport-command-to-valid-locations.patch} | 0 ...Implement-Player-Client-Options-API.patch} | 0 ...Chunk-Post-Processing-deadlock-risk.patch} | 4 +-- ...ayer-is-attempted-to-be-removed-fro.patch} | 0 ...2-Broadcast-join-message-to-console.patch} | 2 +- ...-Broken-behavior-of-PlayerJoinEvent.patch} | 2 +- ...oad-Chunks-for-Login-Asynchronously.patch} | 0 ...awn-point-if-spawn-in-unloaded-worl.patch} | 0 ...486-Allow-sleeping-players-to-float.patch} | 2 +- ...layerAttackEntityCooldownResetEvent.patch} | 0 ...llbacks-to-schedule-for-Callback-Ex.patch} | 0 ...-fire-BlockFade-on-worldgen-threads.patch} | 0 ...tom-creative-and-insomniac-controls.patch} | 0 ...-duplication-issues-and-teleport-is.patch} | 0 ...0492-Implement-Brigadier-Mojang-API.patch} | 2 +- ...patch => 0493-Villager-Restocks-API.patch} | 0 ...ickItem-Packet-and-kick-for-invalid.patch} | 2 +- ...n.patch => 0495-Expose-game-version.patch} | 0 ...0496-Sync-position-on-teleportation.patch} | 2 +- ...> 0497-Optimize-Voxel-Shape-Merging.patch} | 0 ...per-thread-native-byte-buffer-cache.patch} | 2 +- ...atch => 0499-Implement-Mob-Goal-API.patch} | 0 ...ance-map-to-optimise-entity-tracker.patch} | 0 ...isOutsideRange-to-use-distance-maps.patch} | 8 ++--- ...e-operations-for-updating-light-dat.patch} | 0 ...o-Tick-view-distance-implementation.patch} | 4 +-- ...=> 0504-Add-villager-reputation-API.patch} | 0 ...and.patch => 0505-Fix-Light-Command.patch} | 0 ...06-Fix-CraftServer.unloadWorld-Leak.patch} | 0 ...-Fix-PotionEffect-ignores-icon-flag.patch} | 0 ...brigadier-child-sorting-performance.patch} | 0 ...enerate-Carving-Masks-BitSet-unless.patch} | 0 ...ock-unless-actually-showing-the-mes.patch} | 0 ...uid-s-Entity-Collision-optimisation.patch} | 0 ...e-Streams-usage-in-Entity-Collision.patch} | 0 ...ure-Entity-AABB-s-are-never-invalid.patch} | 0 ...API.patch => 0514-Potential-bed-API.patch} | 0 ...ait-for-Async-Tasks-during-shutdown.patch} | 0 ...orldBorder-collision-checks-and-air.patch} | 0 ...er-respects-game-and-entity-rules-f.patch} | 0 ...er-Remove-Streams-Optimized-collect.patch} | 0 ...nd-End-Portal-Frames-from-being-des.patch} | 0 ...e-NibbleArray-to-use-pooled-buffers.patch} | 0 ...leInt-allocations-from-light-engine.patch} | 0 ...location-of-Vec3D-by-entity-tracker.patch} | 0 ...> 0523-Ensure-safe-gateway-teleport.patch} | 0 ...4-Add-permission-for-command-blocks.patch} | 0 ...-for-console-having-all-permissions.patch} | 0 ...und-for-Client-Lag-Spikes-MC-162253.patch} | 0 ...-Priority-Urgency-System-for-Chunks.patch} | 18 ++++++------ ...n-Full-Status-Chunk-NBT-Memory-Leak.patch} | 0 ...packets-to-nearby-locations-sounds-.patch} | 0 ...rs.patch => 0530-Optimize-Villagers.patch} | 0 ...prove-Chunk-Status-Transition-Speed.patch} | 0 ...x-villager-trading-demand-MC-163962.patch} | 0 ... => 0533-Maps-shouldn-t-load-chunks.patch} | 0 ...okup-for-Treasure-Maps-Fixes-lag-fr.patch} | 2 +- ...Optimize-Bit-Operations-by-inlining.patch} | 0 ...patch => 0536-Optimize-Light-Engine.patch} | 4 +-- ...nk-Unloads-based-on-Player-Movement.patch} | 2 +- ...Plugin-Tickets-to-API-Chunk-Methods.patch} | 20 ++++++------- ...sing-chunks-due-to-integer-overflow.patch} | 0 ...r-runTaskTimerAsynchronously-Plugin.patch} | 0 ...ton-physics-inconsistency-MC-188840.patch} | 0 ...uping.patch => 0542-Fix-sand-duping.patch} | 0 ...desync-in-playerconnection-causing-.patch} | 2 +- ...ch => 0544-Fix-enderdragon-exp-dupe.patch} | 0 ...older-method-without-block-snapshot.patch} | 0 ...h => 0546-Expose-Arrow-getItemStack.patch} | 0 ...mplement-PlayerRecipeBookClickEvent.patch} | 2 +- paper | 7 +++++ work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 124 files changed, 148 insertions(+), 171 deletions(-) delete mode 100644 Spigot-Server-Patches/0457-Don-t-load-chunks-when-attempting-to-unload-a-chunk.patch rename Spigot-Server-Patches/{0458-Increase-Light-Queue-Size.patch => 0457-Increase-Light-Queue-Size.patch} (100%) rename Spigot-Server-Patches/{0459-Mid-Tick-Chunk-Tasks-Speed-up-processing-of-chunk-lo.patch => 0458-Mid-Tick-Chunk-Tasks-Speed-up-processing-of-chunk-lo.patch} (96%) rename Spigot-Server-Patches/{0460-Don-t-move-existing-players-to-world-spawn.patch => 0459-Don-t-move-existing-players-to-world-spawn.patch} (96%) rename Spigot-Server-Patches/{0461-Add-tick-times-API-and-mspt-command.patch => 0460-Add-tick-times-API-and-mspt-command.patch} (98%) rename Spigot-Server-Patches/{0462-Expose-MinecraftServer-isRunning.patch => 0461-Expose-MinecraftServer-isRunning.patch} (100%) rename Spigot-Server-Patches/{0463-Add-Raw-Byte-ItemStack-Serialization.patch => 0462-Add-Raw-Byte-ItemStack-Serialization.patch} (100%) rename Spigot-Server-Patches/{0464-Remove-streams-from-Mob-AI-System.patch => 0463-Remove-streams-from-Mob-AI-System.patch} (100%) rename Spigot-Server-Patches/{0465-Delay-unsafe-actions-until-after-entity-ticking-is-d.patch => 0464-Delay-unsafe-actions-until-after-entity-ticking-is-d.patch} (95%) rename Spigot-Server-Patches/{0466-Async-command-map-building.patch => 0465-Async-command-map-building.patch} (100%) rename Spigot-Server-Patches/{0467-Improved-Watchdog-Support.patch => 0466-Improved-Watchdog-Support.patch} (99%) rename Spigot-Server-Patches/{0468-Optimize-Pathfinding.patch => 0467-Optimize-Pathfinding.patch} (100%) rename Spigot-Server-Patches/{0469-Port-20w15a-Villager-AI-optimizations-DROP-1.16.patch => 0468-Port-20w15a-Villager-AI-optimizations-DROP-1.16.patch} (100%) rename Spigot-Server-Patches/{0470-Reduce-Either-Optional-allocation.patch => 0469-Reduce-Either-Optional-allocation.patch} (100%) rename Spigot-Server-Patches/{0471-Remove-streams-from-PairedQueue.patch => 0470-Remove-streams-from-PairedQueue.patch} (100%) rename Spigot-Server-Patches/{0472-Remove-streams-from-MinecraftKey.patch => 0471-Remove-streams-from-MinecraftKey.patch} (100%) rename Spigot-Server-Patches/{0473-Reduce-memory-footprint-of-NBTTagCompound.patch => 0472-Reduce-memory-footprint-of-NBTTagCompound.patch} (100%) rename Spigot-Server-Patches/{0474-Prevent-opening-inventories-when-frozen.patch => 0473-Prevent-opening-inventories-when-frozen.patch} (100%) rename Spigot-Server-Patches/{0475-Optimise-ArraySetSorted-removeIf.patch => 0474-Optimise-ArraySetSorted-removeIf.patch} (100%) rename Spigot-Server-Patches/{0476-Don-t-run-entity-collision-code-if-not-needed.patch => 0475-Don-t-run-entity-collision-code-if-not-needed.patch} (100%) rename Spigot-Server-Patches/{0477-Optimise-entity-hard-collision-checking.patch => 0476-Optimise-entity-hard-collision-checking.patch} (99%) rename Spigot-Server-Patches/{0478-Optimize-ChunkProviderServer-s-chunk-level-checking-.patch => 0477-Optimize-ChunkProviderServer-s-chunk-level-checking-.patch} (95%) rename Spigot-Server-Patches/{0479-Restrict-vanilla-teleport-command-to-valid-locations.patch => 0478-Restrict-vanilla-teleport-command-to-valid-locations.patch} (100%) rename Spigot-Server-Patches/{0480-Implement-Player-Client-Options-API.patch => 0479-Implement-Player-Client-Options-API.patch} (100%) rename Spigot-Server-Patches/{0481-Fix-Chunk-Post-Processing-deadlock-risk.patch => 0480-Fix-Chunk-Post-Processing-deadlock-risk.patch} (95%) rename Spigot-Server-Patches/{0482-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch => 0481-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch} (100%) rename Spigot-Server-Patches/{0483-Broadcast-join-message-to-console.patch => 0482-Broadcast-join-message-to-console.patch} (91%) rename Spigot-Server-Patches/{0484-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch => 0483-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch} (98%) rename Spigot-Server-Patches/{0485-Load-Chunks-for-Login-Asynchronously.patch => 0484-Load-Chunks-for-Login-Asynchronously.patch} (100%) rename Spigot-Server-Patches/{0486-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch => 0485-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch} (100%) rename Spigot-Server-Patches/{0487-Allow-sleeping-players-to-float.patch => 0486-Allow-sleeping-players-to-float.patch} (93%) rename Spigot-Server-Patches/{0488-Add-PlayerAttackEntityCooldownResetEvent.patch => 0487-Add-PlayerAttackEntityCooldownResetEvent.patch} (100%) rename Spigot-Server-Patches/{0489-Allow-multiple-callbacks-to-schedule-for-Callback-Ex.patch => 0488-Allow-multiple-callbacks-to-schedule-for-Callback-Ex.patch} (100%) rename Spigot-Server-Patches/{0490-Don-t-fire-BlockFade-on-worldgen-threads.patch => 0489-Don-t-fire-BlockFade-on-worldgen-threads.patch} (100%) rename Spigot-Server-Patches/{0491-Add-phantom-creative-and-insomniac-controls.patch => 0490-Add-phantom-creative-and-insomniac-controls.patch} (100%) rename Spigot-Server-Patches/{0492-Fix-numerous-item-duplication-issues-and-teleport-is.patch => 0491-Fix-numerous-item-duplication-issues-and-teleport-is.patch} (100%) rename Spigot-Server-Patches/{0493-Implement-Brigadier-Mojang-API.patch => 0492-Implement-Brigadier-Mojang-API.patch} (98%) rename Spigot-Server-Patches/{0494-Villager-Restocks-API.patch => 0493-Villager-Restocks-API.patch} (100%) rename Spigot-Server-Patches/{0495-Validate-PickItem-Packet-and-kick-for-invalid.patch => 0494-Validate-PickItem-Packet-and-kick-for-invalid.patch} (94%) rename Spigot-Server-Patches/{0496-Expose-game-version.patch => 0495-Expose-game-version.patch} (100%) rename Spigot-Server-Patches/{0497-Sync-position-on-teleportation.patch => 0496-Sync-position-on-teleportation.patch} (94%) rename Spigot-Server-Patches/{0498-Optimize-Voxel-Shape-Merging.patch => 0497-Optimize-Voxel-Shape-Merging.patch} (100%) rename Spigot-Server-Patches/{0499-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch => 0498-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch} (93%) rename Spigot-Server-Patches/{0500-Implement-Mob-Goal-API.patch => 0499-Implement-Mob-Goal-API.patch} (100%) rename Spigot-Server-Patches/{0501-Use-distance-map-to-optimise-entity-tracker.patch => 0500-Use-distance-map-to-optimise-entity-tracker.patch} (100%) rename Spigot-Server-Patches/{0502-Optimize-isOutsideRange-to-use-distance-maps.patch => 0501-Optimize-isOutsideRange-to-use-distance-maps.patch} (98%) rename Spigot-Server-Patches/{0503-Stop-copy-on-write-operations-for-updating-light-dat.patch => 0502-Stop-copy-on-write-operations-for-updating-light-dat.patch} (100%) rename Spigot-Server-Patches/{0504-No-Tick-view-distance-implementation.patch => 0503-No-Tick-view-distance-implementation.patch} (99%) rename Spigot-Server-Patches/{0505-Add-villager-reputation-API.patch => 0504-Add-villager-reputation-API.patch} (100%) rename Spigot-Server-Patches/{0506-Fix-Light-Command.patch => 0505-Fix-Light-Command.patch} (100%) rename Spigot-Server-Patches/{0507-Fix-CraftServer.unloadWorld-Leak.patch => 0506-Fix-CraftServer.unloadWorld-Leak.patch} (100%) rename Spigot-Server-Patches/{0508-Fix-PotionEffect-ignores-icon-flag.patch => 0507-Fix-PotionEffect-ignores-icon-flag.patch} (100%) rename Spigot-Server-Patches/{0509-Optimize-brigadier-child-sorting-performance.patch => 0508-Optimize-brigadier-child-sorting-performance.patch} (100%) rename Spigot-Server-Patches/{0510-MC-183249-Don-t-generate-Carving-Masks-BitSet-unless.patch => 0509-MC-183249-Don-t-generate-Carving-Masks-BitSet-unless.patch} (100%) rename Spigot-Server-Patches/{0511-Don-t-toString-block-unless-actually-showing-the-mes.patch => 0510-Don-t-toString-block-unless-actually-showing-the-mes.patch} (100%) rename Spigot-Server-Patches/{0512-Implement-JellySquid-s-Entity-Collision-optimisation.patch => 0511-Implement-JellySquid-s-Entity-Collision-optimisation.patch} (100%) rename Spigot-Server-Patches/{0513-Remove-some-Streams-usage-in-Entity-Collision.patch => 0512-Remove-some-Streams-usage-in-Entity-Collision.patch} (100%) rename Spigot-Server-Patches/{0514-Ensure-Entity-AABB-s-are-never-invalid.patch => 0513-Ensure-Entity-AABB-s-are-never-invalid.patch} (100%) rename Spigot-Server-Patches/{0515-Potential-bed-API.patch => 0514-Potential-bed-API.patch} (100%) rename Spigot-Server-Patches/{0516-Wait-for-Async-Tasks-during-shutdown.patch => 0515-Wait-for-Async-Tasks-during-shutdown.patch} (100%) rename Spigot-Server-Patches/{0517-Optimize-WorldBorder-collision-checks-and-air.patch => 0516-Optimize-WorldBorder-collision-checks-and-air.patch} (100%) rename Spigot-Server-Patches/{0518-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch => 0517-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch} (100%) rename Spigot-Server-Patches/{0519-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch => 0518-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch} (100%) rename Spigot-Server-Patches/{0520-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch => 0519-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch} (100%) rename Spigot-Server-Patches/{0521-Optimize-NibbleArray-to-use-pooled-buffers.patch => 0520-Optimize-NibbleArray-to-use-pooled-buffers.patch} (100%) rename Spigot-Server-Patches/{0522-Reduce-MutableInt-allocations-from-light-engine.patch => 0521-Reduce-MutableInt-allocations-from-light-engine.patch} (100%) rename Spigot-Server-Patches/{0523-Reduce-allocation-of-Vec3D-by-entity-tracker.patch => 0522-Reduce-allocation-of-Vec3D-by-entity-tracker.patch} (100%) rename Spigot-Server-Patches/{0524-Ensure-safe-gateway-teleport.patch => 0523-Ensure-safe-gateway-teleport.patch} (100%) rename Spigot-Server-Patches/{0525-Add-permission-for-command-blocks.patch => 0524-Add-permission-for-command-blocks.patch} (100%) rename Spigot-Server-Patches/{0526-Add-option-for-console-having-all-permissions.patch => 0525-Add-option-for-console-having-all-permissions.patch} (100%) rename Spigot-Server-Patches/{0527-Workaround-for-Client-Lag-Spikes-MC-162253.patch => 0526-Workaround-for-Client-Lag-Spikes-MC-162253.patch} (100%) rename Spigot-Server-Patches/{0528-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch => 0527-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch} (99%) rename Spigot-Server-Patches/{0529-Fix-Non-Full-Status-Chunk-NBT-Memory-Leak.patch => 0528-Fix-Non-Full-Status-Chunk-NBT-Memory-Leak.patch} (100%) rename Spigot-Server-Patches/{0530-Optimize-sending-packets-to-nearby-locations-sounds-.patch => 0529-Optimize-sending-packets-to-nearby-locations-sounds-.patch} (100%) rename Spigot-Server-Patches/{0531-Optimize-Villagers.patch => 0530-Optimize-Villagers.patch} (100%) rename Spigot-Server-Patches/{0532-Improve-Chunk-Status-Transition-Speed.patch => 0531-Improve-Chunk-Status-Transition-Speed.patch} (100%) rename Spigot-Server-Patches/{0533-Fix-villager-trading-demand-MC-163962.patch => 0532-Fix-villager-trading-demand-MC-163962.patch} (100%) rename Spigot-Server-Patches/{0534-Maps-shouldn-t-load-chunks.patch => 0533-Maps-shouldn-t-load-chunks.patch} (100%) rename Spigot-Server-Patches/{0535-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch => 0534-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch} (94%) rename Spigot-Server-Patches/{0536-Optimize-Bit-Operations-by-inlining.patch => 0535-Optimize-Bit-Operations-by-inlining.patch} (100%) rename Spigot-Server-Patches/{0537-Optimize-Light-Engine.patch => 0536-Optimize-Light-Engine.patch} (99%) rename Spigot-Server-Patches/{0538-Delay-Chunk-Unloads-based-on-Player-Movement.patch => 0537-Delay-Chunk-Unloads-based-on-Player-Movement.patch} (98%) rename Spigot-Server-Patches/{0539-Add-Plugin-Tickets-to-API-Chunk-Methods.patch => 0538-Add-Plugin-Tickets-to-API-Chunk-Methods.patch} (90%) rename Spigot-Server-Patches/{0540-Fix-missing-chunks-due-to-integer-overflow.patch => 0539-Fix-missing-chunks-due-to-integer-overflow.patch} (100%) rename Spigot-Server-Patches/{0541-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch => 0540-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch} (100%) rename Spigot-Server-Patches/{0542-Fix-piston-physics-inconsistency-MC-188840.patch => 0541-Fix-piston-physics-inconsistency-MC-188840.patch} (100%) rename Spigot-Server-Patches/{0543-Fix-sand-duping.patch => 0542-Fix-sand-duping.patch} (100%) rename Spigot-Server-Patches/{0544-Prevent-position-desync-in-playerconnection-causing-.patch => 0543-Prevent-position-desync-in-playerconnection-causing-.patch} (94%) rename Spigot-Server-Patches/{0545-Fix-enderdragon-exp-dupe.patch => 0544-Fix-enderdragon-exp-dupe.patch} (100%) rename Spigot-Server-Patches/{0546-Inventory-getHolder-method-without-block-snapshot.patch => 0545-Inventory-getHolder-method-without-block-snapshot.patch} (100%) rename Spigot-Server-Patches/{0547-Expose-Arrow-getItemStack.patch => 0546-Expose-Arrow-getItemStack.patch} (100%) rename Spigot-Server-Patches/{0548-Add-and-implement-PlayerRecipeBookClickEvent.patch => 0547-Add-and-implement-PlayerRecipeBookClickEvent.patch} (95%) diff --git a/Spigot-API-Patches/0182-Add-BlockSoundGroup-interface.patch b/Spigot-API-Patches/0182-Add-BlockSoundGroup-interface.patch index 6f1c6b0df..99aba6f30 100644 --- a/Spigot-API-Patches/0182-Add-BlockSoundGroup-interface.patch +++ b/Spigot-API-Patches/0182-Add-BlockSoundGroup-interface.patch @@ -64,7 +64,7 @@ index 0000000000000000000000000000000000000000..8cf87d228a7006658d52ce0da16c2d74 + Sound getFallSound(); +} diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index 41f6b849186346f9a4e254122d2448a7ea8e0ee9..9713867950572fdc8c0f8798afcb37712a6a4e85 100644 +index d7c7df85228c01529e266ffdd3b3bcdc9ed35774..596f1d68b69a2ba3976398d0045379f047541f40 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java @@ -1,6 +1,7 @@ @@ -75,7 +75,7 @@ index 41f6b849186346f9a4e254122d2448a7ea8e0ee9..9713867950572fdc8c0f8798afcb3771 import org.bukkit.Chunk; import org.bukkit.FluidCollisionMode; import org.bukkit.Location; -@@ -539,4 +540,16 @@ public interface Block extends Metadatable { +@@ -540,4 +541,16 @@ public interface Block extends Metadatable { */ @NotNull BoundingBox getBoundingBox(); diff --git a/Spigot-API-Patches/0188-Add-effect-to-block-break-naturally.patch b/Spigot-API-Patches/0188-Add-effect-to-block-break-naturally.patch index 0ee118761..af5932196 100644 --- a/Spigot-API-Patches/0188-Add-effect-to-block-break-naturally.patch +++ b/Spigot-API-Patches/0188-Add-effect-to-block-break-naturally.patch @@ -5,12 +5,12 @@ Subject: [PATCH] Add effect to block break naturally diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index 9713867950572fdc8c0f8798afcb37712a6a4e85..19a3b2a1faa5037c34486873e0be0c534813da1d 100644 +index 596f1d68b69a2ba3976398d0045379f047541f40..999f2a362c62cf58752d9c3d378aafe6754d2aaf 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java -@@ -468,6 +468,18 @@ public interface Block extends Metadatable { +@@ -469,6 +469,18 @@ public interface Block extends Metadatable { */ - boolean breakNaturally(@NotNull ItemStack tool); + boolean breakNaturally(@Nullable ItemStack tool); + // Paper start + /** diff --git a/Spigot-Server-Patches/0001-POM-Changes.patch b/Spigot-Server-Patches/0001-POM-Changes.patch index 520ca9eb4..d0e2a7092 100644 --- a/Spigot-Server-Patches/0001-POM-Changes.patch +++ b/Spigot-Server-Patches/0001-POM-Changes.patch @@ -190,13 +190,13 @@ index 9fc92e347f24a0210a9190513e93cba3b6772557..3554314526b3f33ad02df2adfd42d451 diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 88223a53cb547727bacbba2d6006ecabf92bb524..cb5d0f5378418655eee2cd68bab8dc39a7b7052b 100644 +index 91e2d0b9d9f698f54b49636944a6282adcff5b4b..3fb78997d8c4d913770a9a6a35f34e2c61b896fa 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -186,7 +186,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 SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(Main.class.getPackage().getImplementationVendor()); // Paper diff --git a/Spigot-Server-Patches/0002-Paper-config-files.patch b/Spigot-Server-Patches/0002-Paper-config-files.patch index c18f6f82a..f8d47ac48 100644 --- a/Spigot-Server-Patches/0002-Paper-config-files.patch +++ b/Spigot-Server-Patches/0002-Paper-config-files.patch @@ -530,10 +530,10 @@ index 0000000000000000000000000000000000000000..a738657394bcccd859ef260a801736d4 + } +} diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 41eac3588e01431818d8848a56ae009a5a510f30..32c496fa88eb1426ab4996fa1bd9803f60648267 100644 +index 87c4b4c6b7793808308c0bfab957f9fd6425f452..beb6b63fa483f0a7b29f5403bebf7ee47b27cd29 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -260,15 +260,15 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -270,15 +270,15 @@ public class ChunkProviderServer extends IChunkProvider { } } @@ -699,7 +699,7 @@ index be30f6bf6a978dfe14af1aca1099cb9a6f7ab443..ad1dcf53040695a1b3194efa92b54917 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index cb5d0f5378418655eee2cd68bab8dc39a7b7052b..101d5b42e319c010fd7ed043fb17d1f2289ae38f 100644 +index 3fb78997d8c4d913770a9a6a35f34e2c61b896fa..daa65aaf8c9616e5e058f3337fc4fc0895d13364 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -129,6 +129,14 @@ public class Main { diff --git a/Spigot-Server-Patches/0004-MC-Utils.patch b/Spigot-Server-Patches/0004-MC-Utils.patch index 5d646fa43..10a690c4b 100644 --- a/Spigot-Server-Patches/0004-MC-Utils.patch +++ b/Spigot-Server-Patches/0004-MC-Utils.patch @@ -2729,7 +2729,7 @@ index 260644bf0be4c5b2d96033f11382f88231048ce3..5a975f6bc60922ac872ec9c00c9150ce } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 32c496fa88eb1426ab4996fa1bd9803f60648267..ba2af2abe2dd09eb6801f431a0942bd93755c97e 100644 +index beb6b63fa483f0a7b29f5403bebf7ee47b27cd29..64d84b334d211fe39e808d2c8b5d457757fb1359 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -23,7 +23,7 @@ public class ChunkProviderServer extends IChunkProvider { @@ -2911,7 +2911,7 @@ index 32c496fa88eb1426ab4996fa1bd9803f60648267..ba2af2abe2dd09eb6801f431a0942bd9 public ChunkProviderServer(WorldServer worldserver, File file, DataFixer datafixer, DefinedStructureManager definedstructuremanager, Executor executor, ChunkGenerator chunkgenerator, int i, WorldLoadListener worldloadlistener, Supplier supplier) { this.world = worldserver; this.serverThreadQueue = new ChunkProviderServer.a(worldserver); -@@ -77,6 +240,49 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -87,6 +250,49 @@ public class ChunkProviderServer extends IChunkProvider { this.cacheChunk[0] = ichunkaccess; } diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index 918dc84a4..19951169a 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -754,10 +754,10 @@ index f1b9b937e8ced0c718db463c94d716422113c396..43dc791191cdf2aa3e5cb2768c25e6be } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index ba2af2abe2dd09eb6801f431a0942bd93755c97e..875f353dc3a0f3418b01821abf30e0f1ca32bb4d 100644 +index 64d84b334d211fe39e808d2c8b5d457757fb1359..83707fa6ae5cf4f564760ca0fb5e8c1932d4a91e 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -308,11 +308,13 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -318,11 +318,13 @@ public class ChunkProviderServer extends IChunkProvider { } gameprofilerfiller.c("getChunkCacheMiss"); @@ -773,7 +773,7 @@ index ba2af2abe2dd09eb6801f431a0942bd93755c97e..875f353dc3a0f3418b01821abf30e0f1 ichunkaccess = (IChunkAccess) ((Either) completablefuture.join()).map((ichunkaccess1) -> { return ichunkaccess1; }, (playerchunk_failure) -> { -@@ -505,7 +507,9 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -515,7 +517,9 @@ public class ChunkProviderServer extends IChunkProvider { public void save(boolean flag) { this.tickDistanceManager(); @@ -783,7 +783,7 @@ index ba2af2abe2dd09eb6801f431a0942bd93755c97e..875f353dc3a0f3418b01821abf30e0f1 } @Override -@@ -542,7 +546,9 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -552,7 +556,9 @@ public class ChunkProviderServer extends IChunkProvider { this.tickDistanceManager(); this.world.timings.doChunkMap.stopTiming(); // Spigot this.world.getMethodProfiler().exitEnter("chunks"); @@ -793,7 +793,7 @@ index ba2af2abe2dd09eb6801f431a0942bd93755c97e..875f353dc3a0f3418b01821abf30e0f1 this.world.timings.doChunkUnload.startTiming(); // Spigot this.world.getMethodProfiler().exitEnter("unload"); this.playerChunkMap.unloadChunks(booleansupplier); -@@ -573,10 +579,12 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -583,10 +589,12 @@ public class ChunkProviderServer extends IChunkProvider { // CraftBukkit end this.world.getMethodProfiler().enter("naturalSpawnCount"); @@ -806,7 +806,7 @@ index ba2af2abe2dd09eb6801f431a0942bd93755c97e..875f353dc3a0f3418b01821abf30e0f1 this.world.getMethodProfiler().exit(); this.playerChunkMap.f().forEach((playerchunk) -> { Optional optional = ((Either) playerchunk.b().getNow(PlayerChunk.UNLOADED_CHUNK)).left(); -@@ -585,11 +593,14 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -595,11 +603,14 @@ public class ChunkProviderServer extends IChunkProvider { Chunk chunk = (Chunk) optional.get(); this.world.getMethodProfiler().enter("broadcast"); @@ -821,7 +821,7 @@ index ba2af2abe2dd09eb6801f431a0942bd93755c97e..875f353dc3a0f3418b01821abf30e0f1 chunk.setInhabitedTime(chunk.getInhabitedTime() + j); if (flag1 && (this.allowMonsters || this.allowAnimals) && this.world.getWorldBorder().isInBounds(chunk.getPos()) && !this.playerChunkMap.isOutsideOfRange(chunkcoordintpair, true)) { // Spigot this.world.getMethodProfiler().enter("spawner"); -@@ -640,24 +651,24 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -650,24 +661,24 @@ public class ChunkProviderServer extends IChunkProvider { this.world.getMethodProfiler().exit(); } diff --git a/Spigot-Server-Patches/0139-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0139-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index c01af3f6b..570232f96 100644 --- a/Spigot-Server-Patches/0139-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-Server-Patches/0139-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -265,10 +265,10 @@ index 8dc47452a453023e332303575b36732417abd84e..560e2f42b702c5c4870640ad7da3aa48 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 32e96bc05704f10ac4830a661bd6abb71b71f487..265af7ac7fba984ed3d486d6c5d01b54dd2592d9 100644 +index 4ca9ddacb7da760b31d405e77b691ef6d8ff534a..13a83f285126123811a148453ccaea6f9bf197b4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1799,7 +1799,7 @@ public class CraftWorld implements World { +@@ -1797,7 +1797,7 @@ public class CraftWorld implements World { } else if (TNTPrimed.class.isAssignableFrom(clazz)) { entity = new EntityTNTPrimed(world, x, y, z, null); } else if (ExperienceOrb.class.isAssignableFrom(clazz)) { diff --git a/Spigot-Server-Patches/0148-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0148-Use-TerminalConsoleAppender-for-console-improvements.patch index ce4c77d9f..561fe6d2d 100644 --- a/Spigot-Server-Patches/0148-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0148-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -286,7 +286,7 @@ index 9eb4acf93c65a1473e385be317e5d93cd4571d41..681a84e5b3e7594a43fac0d47f1df2ee @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 afbe711acbd1cbaf307513d4fede44bb17b3caae..fc07fdb590475ccaa09875b8fcbb81adc0db5e66 100644 +index 18a945ea8674390d294e2a978c78ee2b53039aed..c3641ca48bfe4051f6450c891ccd4dd023257cb5 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -13,7 +13,7 @@ import java.util.logging.Logger; @@ -325,7 +325,7 @@ index afbe711acbd1cbaf307513d4fede44bb17b3caae..fc07fdb590475ccaa09875b8fcbb81ad + 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) { @@ -226,7 +237,7 @@ public class Main { System.out.println("Unable to read system info"); } diff --git a/Spigot-Server-Patches/0190-PlayerNaturallySpawnCreaturesEvent.patch b/Spigot-Server-Patches/0190-PlayerNaturallySpawnCreaturesEvent.patch index ceca554c4..c21361276 100644 --- a/Spigot-Server-Patches/0190-PlayerNaturallySpawnCreaturesEvent.patch +++ b/Spigot-Server-Patches/0190-PlayerNaturallySpawnCreaturesEvent.patch @@ -9,10 +9,10 @@ from triggering monster spawns on a server. Also a highly more effecient way to blanket block spawns in a world diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index fa4ad0b6dcd2cb428d87047340b81594b271e4b2..8c6550433c20c54cbe390219821ce393c5720da8 100644 +index 7464aeb4e2f2cbe177cfd2ac19c45aabac625632..261eff5bdb4f4dfae2f66eecad79b21fef69ea8f 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -589,6 +589,15 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -599,6 +599,15 @@ public class ChunkProviderServer extends IChunkProvider { this.world.timings.countNaturalMobs.stopTiming(); // Paper - timings this.world.getMethodProfiler().exit(); diff --git a/Spigot-Server-Patches/0217-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0217-Expand-World.spawnParticle-API-and-add-Builder.patch index 23b25cfec..f01c7fe61 100644 --- a/Spigot-Server-Patches/0217-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-Server-Patches/0217-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -43,10 +43,10 @@ index e428b3cb8c8ca5a662a0e867bf74d08775f1bacd..a834a77b2de8f7287be69fd5d002ff43 if (this.a(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 265af7ac7fba984ed3d486d6c5d01b54dd2592d9..d6e101ca9fade08e4d2545fb6e38cb2f6e988a1c 100644 +index 13a83f285126123811a148453ccaea6f9bf197b4..1a3ca48485ebce128ae1288e6a50308c76ee0452 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2289,11 +2289,17 @@ public class CraftWorld implements World { +@@ -2287,11 +2287,17 @@ public class CraftWorld 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/Spigot-Server-Patches/0221-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/Spigot-Server-Patches/0221-Allow-spawning-Item-entities-with-World.spawnEntity.patch index f0ebebc1e..69f7bafb3 100644 --- a/Spigot-Server-Patches/0221-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/Spigot-Server-Patches/0221-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -8,10 +8,10 @@ This API has more capabilities than .dropItem with the Consumer function Item can be set inside of the Consumer pre spawn function. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index d6e101ca9fade08e4d2545fb6e38cb2f6e988a1c..a427fea9c70380e2301515c6a24497e382c5097b 100644 +index 1a3ca48485ebce128ae1288e6a50308c76ee0452..28a94e473482b414b50ca793564acd409a5dc133 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1491,6 +1491,10 @@ public class CraftWorld implements World { +@@ -1489,6 +1489,10 @@ public class CraftWorld implements World { if (Boat.class.isAssignableFrom(clazz)) { entity = new EntityBoat(world, x, y, z); entity.setPositionRotation(x, y, z, yaw, pitch); diff --git a/Spigot-Server-Patches/0234-Expand-Explosions-API.patch b/Spigot-Server-Patches/0234-Expand-Explosions-API.patch index 170ff1c52..7f70c3921 100644 --- a/Spigot-Server-Patches/0234-Expand-Explosions-API.patch +++ b/Spigot-Server-Patches/0234-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 a427fea9c70380e2301515c6a24497e382c5097b..a16ab1f845ba98b8895402ae93c4cd90f48f617c 100644 +index 28a94e473482b414b50ca793564acd409a5dc133..8968bf92b6c2718cbf9519c724bc85d27de54e72 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -879,6 +879,11 @@ public class CraftWorld implements World { +@@ -877,6 +877,11 @@ public class CraftWorld implements World { public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, Entity source) { return !world.createExplosion(source == null ? null : ((CraftEntity) source).getHandle(), x, y, z, power, setFire, breakBlocks ? Explosion.Effect.BREAK : Explosion.Effect.NONE).wasCanceled; } diff --git a/Spigot-Server-Patches/0238-Implement-World.getEntity-UUID-API.patch b/Spigot-Server-Patches/0238-Implement-World.getEntity-UUID-API.patch index 9e4be993b..e0c5971e1 100644 --- a/Spigot-Server-Patches/0238-Implement-World.getEntity-UUID-API.patch +++ b/Spigot-Server-Patches/0238-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 a16ab1f845ba98b8895402ae93c4cd90f48f617c..cde999c97f5a1ccab0d13f02708992fac3876e67 100644 +index 8968bf92b6c2718cbf9519c724bc85d27de54e72..a59172ff043e5220ffdd363582c38ae53c429f1a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1293,6 +1293,15 @@ public class CraftWorld implements World { +@@ -1291,6 +1291,15 @@ public class CraftWorld implements World { return list; } diff --git a/Spigot-Server-Patches/0261-Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/0261-Ignore-Dead-Entities-in-entityList-iteration.patch index 7a08644b2..f73a9fa20 100644 --- a/Spigot-Server-Patches/0261-Ignore-Dead-Entities-in-entityList-iteration.patch +++ b/Spigot-Server-Patches/0261-Ignore-Dead-Entities-in-entityList-iteration.patch @@ -92,10 +92,10 @@ index 426ca12970e0c75ba75eee6c3e3cdbf833730737..3067ab76d94c58fbfd52fac6754bf6d6 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index cde999c97f5a1ccab0d13f02708992fac3876e67..960e29cb16f1b08f522832700c60d25416585cce 100644 +index a59172ff043e5220ffdd363582c38ae53c429f1a..6c3cd51d92d2271cd216c42c18733d549fbe668d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1029,6 +1029,7 @@ public class CraftWorld implements World { +@@ -1027,6 +1027,7 @@ public class CraftWorld implements World { for (Object o : world.entitiesById.values()) { if (o instanceof net.minecraft.server.Entity) { net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o; @@ -103,7 +103,7 @@ index cde999c97f5a1ccab0d13f02708992fac3876e67..960e29cb16f1b08f522832700c60d254 Entity bukkitEntity = mcEnt.getBukkitEntity(); // Assuming that bukkitEntity isn't null -@@ -1048,6 +1049,7 @@ public class CraftWorld implements World { +@@ -1046,6 +1047,7 @@ public class CraftWorld implements World { for (Object o : world.entitiesById.values()) { if (o instanceof net.minecraft.server.Entity) { net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o; @@ -111,7 +111,7 @@ index cde999c97f5a1ccab0d13f02708992fac3876e67..960e29cb16f1b08f522832700c60d254 Entity bukkitEntity = mcEnt.getBukkitEntity(); // Assuming that bukkitEntity isn't null -@@ -1074,6 +1076,7 @@ public class CraftWorld implements World { +@@ -1072,6 +1074,7 @@ public class CraftWorld implements World { for (Object entity: world.entitiesById.values()) { if (entity instanceof net.minecraft.server.Entity) { @@ -119,7 +119,7 @@ index cde999c97f5a1ccab0d13f02708992fac3876e67..960e29cb16f1b08f522832700c60d254 Entity bukkitEntity = ((net.minecraft.server.Entity) entity).getBukkitEntity(); if (bukkitEntity == null) { -@@ -1097,6 +1100,7 @@ public class CraftWorld implements World { +@@ -1095,6 +1098,7 @@ public class CraftWorld implements World { for (Object entity: world.entitiesById.values()) { if (entity instanceof net.minecraft.server.Entity) { diff --git a/Spigot-Server-Patches/0276-Send-nearby-packets-from-world-player-list-not-serve.patch b/Spigot-Server-Patches/0276-Send-nearby-packets-from-world-player-list-not-serve.patch index bf45bb812..b1c1a742d 100644 --- a/Spigot-Server-Patches/0276-Send-nearby-packets-from-world-player-list-not-serve.patch +++ b/Spigot-Server-Patches/0276-Send-nearby-packets-from-world-player-list-not-serve.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Send nearby packets from world player list not server list diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 22f18be4627fefe500239f7a35eee3b019bcffcc..085b70508bb116a1082a9fd79a389199a263109b 100644 +index a225cd8738df80344afe5256ae14c84337865371..69c2c3871a45052a64202470aa5bcc1feba61f11 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -910,8 +910,25 @@ public abstract class PlayerList { @@ -68,10 +68,10 @@ index 3067ab76d94c58fbfd52fac6754bf6d6d7f01d09..6e878c9b9dee511812df5ea2491d953f } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 960e29cb16f1b08f522832700c60d25416585cce..c7c75a3bfd35ed4a9233e80575a5082660d82d03 100644 +index 6c3cd51d92d2271cd216c42c18733d549fbe668d..ad951812835b1fa786e964c533efc4547c57b7a2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2124,7 +2124,7 @@ public class CraftWorld implements World { +@@ -2122,7 +2122,7 @@ public class CraftWorld implements World { double z = loc.getZ(); PacketPlayOutCustomSoundEffect packet = new PacketPlayOutCustomSoundEffect(new MinecraftKey(sound), SoundCategory.valueOf(category.name()), new Vec3D(x, y, z), volume, pitch); diff --git a/Spigot-Server-Patches/0286-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/Spigot-Server-Patches/0286-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch index aa492048c..ee5898d3e 100644 --- a/Spigot-Server-Patches/0286-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch +++ b/Spigot-Server-Patches/0286-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 c7c75a3bfd35ed4a9233e80575a5082660d82d03..68b1382838f187f9bfbd83a3f582631af6218e29 100644 +index ad951812835b1fa786e964c533efc4547c57b7a2..4e7b11af047c267ce87549e0ba178d7223c03b63 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -501,7 +501,7 @@ public class CraftWorld implements World { +@@ -499,7 +499,7 @@ public class CraftWorld implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot diff --git a/Spigot-Server-Patches/0307-Add-sun-related-API.patch b/Spigot-Server-Patches/0307-Add-sun-related-API.patch index f18305a2b..b6b1d73ca 100644 --- a/Spigot-Server-Patches/0307-Add-sun-related-API.patch +++ b/Spigot-Server-Patches/0307-Add-sun-related-API.patch @@ -17,10 +17,10 @@ index b5816dc89ede5f5f1780d3086d9b1a41fba2b19d..bed15873b675bbd05c0149d655f9fb16 if (this.world.isDay() && !this.world.isClientSide) { float f = this.aI(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 68b1382838f187f9bfbd83a3f582631af6218e29..db31b17b87084c47402f5452872f385629c58382 100644 +index 4e7b11af047c267ce87549e0ba178d7223c03b63..07729667f5c66bbcb85fc59cb5fa3c218efa2ec8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -860,6 +860,13 @@ public class CraftWorld implements World { +@@ -858,6 +858,13 @@ public class CraftWorld implements World { } } diff --git a/Spigot-Server-Patches/0371-improve-CraftWorld-isChunkLoaded.patch b/Spigot-Server-Patches/0371-improve-CraftWorld-isChunkLoaded.patch index 697a2b033..38c1e0435 100644 --- a/Spigot-Server-Patches/0371-improve-CraftWorld-isChunkLoaded.patch +++ b/Spigot-Server-Patches/0371-improve-CraftWorld-isChunkLoaded.patch @@ -9,15 +9,14 @@ waiting for the execution queue to get to our request; We can just query the chunk status and get a response now, vs having to wait diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 0d5731429abe7b4ff97d6644ff088063dde19e60..5ea7b0b25ae837645f690443d674ce7eb48c1692 100644 +index 2a3d133e51326b0088af2ce53e09bf2fe4b0c3c6..568eca9d3c499e33290aa8ab8548d9c64c97ce5f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -405,14 +405,13 @@ public class CraftWorld implements World { +@@ -405,13 +405,13 @@ public class CraftWorld implements World { @Override public boolean isChunkLoaded(int x, int z) { -- net.minecraft.server.Chunk chunk = world.getChunkProvider().getChunkAt(x, z, false); -- return chunk != null; +- return world.getChunkProvider().isChunkLoaded(x, z); + return world.getChunkProvider().getChunkAtIfLoadedImmediately(x, z) != null; // Paper } diff --git a/Spigot-Server-Patches/0372-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0372-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 6416f8958..1aeb58ac8 100644 --- a/Spigot-Server-Patches/0372-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0372-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -21,7 +21,7 @@ index 572679e4d1ca0d84a08a5c48542fa40d426461e5..071e5e7f729d6c3ffb70506e7ef32eeb + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4b50158fe12533d0af541be343731d220e772bd9..8b499c815c77bf5b356d4216ba6cbf2a329c9aca 100644 +index eabca3975af61b669fd31a23cb7c27883db7833e..257adcf4d5387fc18d5c48e0fa221f68539ad8f9 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -586,6 +586,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { return this.getChunkAt(i, j, chunkstatus, flag); -@@ -326,11 +453,16 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -336,11 +463,16 @@ public class ChunkProviderServer extends IChunkProvider { } gameprofilerfiller.c("getChunkCacheMiss"); @@ -2469,7 +2469,7 @@ index 4c9c8e483974f8869d6711626620cfd7d814d956..a88e8598aab55ac769a5f186507f362e this.world.timings.syncChunkLoad.stopTiming(); // Paper } // Paper ichunkaccess = (IChunkAccess) ((Either) completablefuture.join()).map((ichunkaccess1) -> { -@@ -396,6 +528,11 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -406,6 +538,11 @@ public class ChunkProviderServer extends IChunkProvider { } private CompletableFuture> getChunkFutureMainThread(int i, int j, ChunkStatus chunkstatus, boolean flag) { @@ -2481,7 +2481,7 @@ index 4c9c8e483974f8869d6711626620cfd7d814d956..a88e8598aab55ac769a5f186507f362e ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(i, j); long k = chunkcoordintpair.pair(); int l = 33 + ChunkStatus.a(chunkstatus); -@@ -835,11 +972,12 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -845,11 +982,12 @@ public class ChunkProviderServer extends IChunkProvider { protected boolean executeNext() { // CraftBukkit start - process pending Chunk loadCallback() and unloadCallback() after each run task try { @@ -4038,7 +4038,7 @@ index 83585f3ba7ef9e72f3702079a82f62c8b17e4077..83e6c872028107a17de1c08a5f6e8a02 } public void removeTicketsForSpawn(int radiusInBlocks, BlockPosition spawn) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 50467656df0b54c2dcba8696b5677a2fc975b178..1c5154f8f1b02d8e84fc54afeacb56a86e244ec3 100644 +index cf059aa091e9c732f99b89fc347074a9c1b879a8..5aea49404717061fce4bf24e91f36217db5cee83 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -75,6 +75,7 @@ import net.minecraft.server.GroupDataEntity; @@ -4049,7 +4049,7 @@ index 50467656df0b54c2dcba8696b5677a2fc975b178..1c5154f8f1b02d8e84fc54afeacb56a8 import net.minecraft.server.MovingObjectPosition; import net.minecraft.server.PacketPlayOutCustomSoundEffect; import net.minecraft.server.PacketPlayOutUpdateTime; -@@ -556,22 +557,23 @@ public class CraftWorld implements World { +@@ -555,22 +556,23 @@ public class CraftWorld implements World { return true; } @@ -4081,7 +4081,7 @@ index 50467656df0b54c2dcba8696b5677a2fc975b178..1c5154f8f1b02d8e84fc54afeacb56a8 // fall through to load // we do this so we do not re-read the chunk data on disk -@@ -2443,6 +2445,34 @@ public class CraftWorld implements World { +@@ -2442,6 +2444,34 @@ public class CraftWorld implements World { return new CraftDragonBattle(((WorldProviderTheEnd) worldProvider).o()); // PAIL rename getDragonBattle } diff --git a/Spigot-Server-Patches/0392-Reduce-sync-loads.patch b/Spigot-Server-Patches/0392-Reduce-sync-loads.patch index 4d1b78597..cd2b995d7 100644 --- a/Spigot-Server-Patches/0392-Reduce-sync-loads.patch +++ b/Spigot-Server-Patches/0392-Reduce-sync-loads.patch @@ -286,10 +286,10 @@ index 0000000000000000000000000000000000000000..59aec103295f747793fdc0a52eb45f41 + } +} diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index a88e8598aab55ac769a5f186507f362e4f99cef4..21e444e6ad78081353a7330b60c74164e4596d61 100644 +index 981cf581c7504c38120d48c06b6351952fab43c0..54cf319e9db1aad793ab7f55249f9857b450eda2 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -460,6 +460,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -470,6 +470,7 @@ public class ChunkProviderServer extends IChunkProvider { this.world.asyncChunkTaskManager.raisePriority(x, z, com.destroystokyo.paper.io.PrioritizedTaskQueue.HIGHEST_PRIORITY); com.destroystokyo.paper.io.chunk.ChunkTaskManager.pushChunkWait(this.world, x, z); // Paper end @@ -298,7 +298,7 @@ index a88e8598aab55ac769a5f186507f362e4f99cef4..21e444e6ad78081353a7330b60c74164 this.serverThreadQueue.awaitTasks(completablefuture::isDone); com.destroystokyo.paper.io.chunk.ChunkTaskManager.popChunkWait(); // Paper - async chunk debug diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 21bb992cad2fd2692940ebe26360b8014c1df136..d46f09f684b0b49e84b86fab5f10ac83b4b64d0b 100644 +index 8e5c54af26d2c7abf2daae081af97caee7fd9f7a..045e449c7e411dec7ef415c76c808cda426db652 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1174,7 +1174,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -329,7 +329,7 @@ index 21bb992cad2fd2692940ebe26360b8014c1df136..d46f09f684b0b49e84b86fab5f10ac83 if (chunk != null) { chunk.a(oclass, axisalignedbb, list, predicate); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index f84248ad9f90aaaf02afa35a4147fb11f703fdcb..befdabc38edfcdffb588c4cdbe52908afe8a9c04 100644 +index 83e6c872028107a17de1c08a5f6e8a02d62277ea..da38293cf02d84f3e24a883136ffe5118a510b5a 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -154,6 +154,12 @@ public class WorldServer extends World { diff --git a/Spigot-Server-Patches/0396-implement-optional-per-player-mob-spawns.patch b/Spigot-Server-Patches/0396-implement-optional-per-player-mob-spawns.patch index de524d076..cf5dc5764 100644 --- a/Spigot-Server-Patches/0396-implement-optional-per-player-mob-spawns.patch +++ b/Spigot-Server-Patches/0396-implement-optional-per-player-mob-spawns.patch @@ -545,10 +545,10 @@ index 0000000000000000000000000000000000000000..4f13d3ff8391793a99f067189f854078 + } +} diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 21e444e6ad78081353a7330b60c74164e4596d61..927abc78e973e6f0f87e12303409fd808b3cf6ab 100644 +index 54cf319e9db1aad793ab7f55249f9857b450eda2..633f12098973857eca04acd2839bb4d453860f1e 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -747,7 +747,22 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -757,7 +757,22 @@ public class ChunkProviderServer extends IChunkProvider { this.world.timings.countNaturalMobs.startTiming(); // Paper - timings int l = this.chunkMapDistance.b(); EnumCreatureType[] aenumcreaturetype = EnumCreatureType.values(); @@ -572,7 +572,7 @@ index 21e444e6ad78081353a7330b60c74164e4596d61..927abc78e973e6f0f87e12303409fd80 this.world.timings.countNaturalMobs.stopTiming(); // Paper - timings this.world.getMethodProfiler().exit(); -@@ -815,8 +830,23 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -825,8 +840,23 @@ public class ChunkProviderServer extends IChunkProvider { if (enumcreaturetype != EnumCreatureType.MISC && (!enumcreaturetype.c() || this.allowAnimals) && (enumcreaturetype.c() || this.allowMonsters) && (!enumcreaturetype.d() || flag2)) { int k1 = limit * l / ChunkProviderServer.b; // CraftBukkit - use per-world limits diff --git a/Spigot-Server-Patches/0404-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch b/Spigot-Server-Patches/0404-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch index db365cc56..f136189c9 100644 --- a/Spigot-Server-Patches/0404-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch +++ b/Spigot-Server-Patches/0404-Fix-spawning-of-hanging-entities-that-are-not-ItemFr.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix spawning of hanging entities that are not ItemFrames and diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 1c5154f8f1b02d8e84fc54afeacb56a86e244ec3..5f51e8c05a822dfad35bcfa4c9a33f1f067e85a7 100644 +index 5aea49404717061fce4bf24e91f36217db5cee83..c030ff7b34fdd4c4632714a800935a6a5f8082cb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1851,7 +1851,12 @@ public class CraftWorld implements World { +@@ -1850,7 +1850,12 @@ public class CraftWorld implements World { height = 9; } diff --git a/Spigot-Server-Patches/0425-Add-effect-to-block-break-naturally.patch b/Spigot-Server-Patches/0425-Add-effect-to-block-break-naturally.patch index 570b22340..f43e886f8 100644 --- a/Spigot-Server-Patches/0425-Add-effect-to-block-break-naturally.patch +++ b/Spigot-Server-Patches/0425-Add-effect-to-block-break-naturally.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add effect to block break naturally diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 1fc7f55fcaa1f9aaa4c675f9fcd508ffb80e9629..a5f981cd0d373db45f22384803c323be428dce0c 100644 +index 16349e8e796c5e7e4e43fb355d4d641df7f41dc9..382b50d37aced746266b618f3f277846728565bd 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -606,6 +606,13 @@ public class CraftBlock implements Block { @@ -24,7 +24,7 @@ index 1fc7f55fcaa1f9aaa4c675f9fcd508ffb80e9629..a5f981cd0d373db45f22384803c323be net.minecraft.server.Block block = iblockdata.getBlock(); @@ -615,6 +622,7 @@ public class CraftBlock implements Block { // Modelled off EntityHuman#hasBlock - if (block != Blocks.AIR && (iblockdata.getMaterial().isAlwaysDestroyable() || nmsItem.canDestroySpecialBlock(iblockdata))) { + if (block != Blocks.AIR && (item == null || iblockdata.getMaterial().isAlwaysDestroyable() || nmsItem.canDestroySpecialBlock(iblockdata))) { net.minecraft.server.Block.dropItems(iblockdata, world.getMinecraftWorld(), position, world.getTileEntity(position), null, nmsItem); + if (triggerEffect) world.triggerEffect(org.bukkit.Effect.STEP_SOUND.getId(), position, net.minecraft.server.Block.getCombinedId(block.getBlockData())); // Paper result = true; diff --git a/Spigot-Server-Patches/0431-Optimise-getChunkAt-calls-for-loaded-chunks.patch b/Spigot-Server-Patches/0431-Optimise-getChunkAt-calls-for-loaded-chunks.patch index bf4279931..9ac993e60 100644 --- a/Spigot-Server-Patches/0431-Optimise-getChunkAt-calls-for-loaded-chunks.patch +++ b/Spigot-Server-Patches/0431-Optimise-getChunkAt-calls-for-loaded-chunks.patch @@ -7,10 +7,10 @@ bypass the need to get a player chunk, then get the either, then unwrap it... diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 927abc78e973e6f0f87e12303409fd808b3cf6ab..6688b1340e2cc8fb13a7e80c9b7c37b8822dcecd 100644 +index 633f12098973857eca04acd2839bb4d453860f1e..e467cd8123dafc46a8c894f1ffa9440de0d45340 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -436,6 +436,12 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -446,6 +446,12 @@ public class ChunkProviderServer extends IChunkProvider { return this.getChunkAt(i, j, chunkstatus, flag); }, this.serverThreadQueue).join(); } else { @@ -23,7 +23,7 @@ index 927abc78e973e6f0f87e12303409fd808b3cf6ab..6688b1340e2cc8fb13a7e80c9b7c37b8 GameProfilerFiller gameprofilerfiller = this.world.getMethodProfiler(); gameprofilerfiller.c("getChunk"); -@@ -486,39 +492,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -496,39 +502,7 @@ public class ChunkProviderServer extends IChunkProvider { if (Thread.currentThread() != this.serverThread) { return null; } else { @@ -65,7 +65,7 @@ index 927abc78e973e6f0f87e12303409fd808b3cf6ab..6688b1340e2cc8fb13a7e80c9b7c37b8 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index b9685abed74fd1fb239b0940751fde65cceb6f57..d8eb8a59da36215334582ae73822e1fd4a5b2df1 100644 +index d7ac4c86d170a8d7d816f86ac691c3b5129a20ba..adacff593ee20804b5ddb2df55b66bc6c162dc70 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -266,6 +266,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/Spigot-Server-Patches/0456-Optimize-PlayerChunkMap-memory-use-for-visibleChunks.patch b/Spigot-Server-Patches/0456-Optimize-PlayerChunkMap-memory-use-for-visibleChunks.patch index dae315382..7383da9f4 100644 --- a/Spigot-Server-Patches/0456-Optimize-PlayerChunkMap-memory-use-for-visibleChunks.patch +++ b/Spigot-Server-Patches/0456-Optimize-PlayerChunkMap-memory-use-for-visibleChunks.patch @@ -57,10 +57,10 @@ index 0000000000000000000000000000000000000000..f6ff4d8132a95895680f5bc81f8f873e + } +} diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index d53b34ba552771bf271131ce0a56ebb992ccc84c..a1b5e6b90fc93f83186cf3ebf3e158767008c69a 100644 +index 9e3471be219b5e061486c8a3e4b638a45e6f28f5..9d5275c628b3963befdfa60841ef3c3331c8338c 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -756,7 +756,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -766,7 +766,7 @@ public class ChunkProviderServer extends IChunkProvider { entityPlayer.playerNaturallySpawnedEvent.callEvent(); }; // Paper end @@ -243,7 +243,7 @@ index 6a2cf0c6f649e7a74b58fc292f57a08c0663b0a4..ea6b310e8e4741c8bb301e5bc586faca 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 5f51e8c05a822dfad35bcfa4c9a33f1f067e85a7..efa92c798010b4815b4aa63fe1e4832eeeccd9e9 100644 +index c030ff7b34fdd4c4632714a800935a6a5f8082cb..1929aacbe83c401c7254484aa8df62ed1554e3ba 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -74,6 +74,7 @@ import net.minecraft.server.GameRules; diff --git a/Spigot-Server-Patches/0457-Don-t-load-chunks-when-attempting-to-unload-a-chunk.patch b/Spigot-Server-Patches/0457-Don-t-load-chunks-when-attempting-to-unload-a-chunk.patch deleted file mode 100644 index 086878056..000000000 --- a/Spigot-Server-Patches/0457-Don-t-load-chunks-when-attempting-to-unload-a-chunk.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Aikar -Date: Wed, 8 Apr 2020 21:07:08 -0400 -Subject: [PATCH] Don't load chunks when attempting to unload a chunk - -Big Brain Logic - -diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index efa92c798010b4815b4aa63fe1e4832eeeccd9e9..c77c59223eb652346502b9a896e0ad536395e444 100644 ---- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -474,7 +474,7 @@ public class CraftWorld implements World { - @Override - public boolean unloadChunkRequest(int x, int z) { - org.spigotmc.AsyncCatcher.catchOp("chunk unload"); // Spigot -- net.minecraft.server.IChunkAccess chunk = world.getChunkProvider().getChunkAt(x, z, ChunkStatus.FULL, false); -+ net.minecraft.server.IChunkAccess chunk = world.getChunkProvider().getChunkAtIfLoadedImmediately(x, z); // Paper - if (chunk != null) { - world.getChunkProvider().removeTicket(TicketType.PLUGIN, chunk.getPos(), 1, Unit.INSTANCE); - } -@@ -484,7 +484,7 @@ public class CraftWorld implements World { - - private boolean unloadChunk0(int x, int z, boolean save) { - org.spigotmc.AsyncCatcher.catchOp("chunk unload"); // Spigot -- net.minecraft.server.Chunk chunk = (net.minecraft.server.Chunk) world.getChunkProvider().getChunkAt(x, z, ChunkStatus.FULL, false); -+ net.minecraft.server.Chunk chunk = world.getChunkProvider().getChunkAtIfLoadedImmediately(x, z); // Paper - if (chunk == null) { - return true; - } diff --git a/Spigot-Server-Patches/0458-Increase-Light-Queue-Size.patch b/Spigot-Server-Patches/0457-Increase-Light-Queue-Size.patch similarity index 100% rename from Spigot-Server-Patches/0458-Increase-Light-Queue-Size.patch rename to Spigot-Server-Patches/0457-Increase-Light-Queue-Size.patch diff --git a/Spigot-Server-Patches/0459-Mid-Tick-Chunk-Tasks-Speed-up-processing-of-chunk-lo.patch b/Spigot-Server-Patches/0458-Mid-Tick-Chunk-Tasks-Speed-up-processing-of-chunk-lo.patch similarity index 96% rename from Spigot-Server-Patches/0459-Mid-Tick-Chunk-Tasks-Speed-up-processing-of-chunk-lo.patch rename to Spigot-Server-Patches/0458-Mid-Tick-Chunk-Tasks-Speed-up-processing-of-chunk-lo.patch index 16b6d82ad..8f9ba37c0 100644 --- a/Spigot-Server-Patches/0459-Mid-Tick-Chunk-Tasks-Speed-up-processing-of-chunk-lo.patch +++ b/Spigot-Server-Patches/0458-Mid-Tick-Chunk-Tasks-Speed-up-processing-of-chunk-lo.patch @@ -56,10 +56,10 @@ index f1b41e16c8ce8323a896339c5d822f8ff7d8f7e6..f8f225e18fa38cad917f52a379233e0a + } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index a1b5e6b90fc93f83186cf3ebf3e158767008c69a..2ef8506f10426b8a5877e30986c105c0d95be774 100644 +index 9d5275c628b3963befdfa60841ef3c3331c8338c..b6146330a55665a0365ff7474f1843766e0c0ce1 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -689,6 +689,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -699,6 +699,7 @@ public class ChunkProviderServer extends IChunkProvider { this.world.getMethodProfiler().enter("purge"); this.world.timings.doChunkMap.startTiming(); // Spigot this.chunkMapDistance.purgeTickets(); @@ -67,7 +67,7 @@ index a1b5e6b90fc93f83186cf3ebf3e158767008c69a..2ef8506f10426b8a5877e30986c105c0 this.tickDistanceManager(); this.world.timings.doChunkMap.stopTiming(); // Spigot this.world.getMethodProfiler().exitEnter("chunks"); -@@ -698,6 +699,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -708,6 +709,7 @@ public class ChunkProviderServer extends IChunkProvider { this.world.timings.doChunkUnload.startTiming(); // Spigot this.world.getMethodProfiler().exitEnter("unload"); this.playerChunkMap.unloadChunks(booleansupplier); @@ -75,7 +75,7 @@ index a1b5e6b90fc93f83186cf3ebf3e158767008c69a..2ef8506f10426b8a5877e30986c105c0 this.world.timings.doChunkUnload.stopTiming(); // Spigot this.world.getMethodProfiler().exit(); this.clearCache(); -@@ -756,7 +758,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -766,7 +768,7 @@ public class ChunkProviderServer extends IChunkProvider { entityPlayer.playerNaturallySpawnedEvent.callEvent(); }; // Paper end @@ -84,7 +84,7 @@ index a1b5e6b90fc93f83186cf3ebf3e158767008c69a..2ef8506f10426b8a5877e30986c105c0 Optional optional = ((Either) playerchunk.b().getNow(PlayerChunk.UNLOADED_CHUNK)).left(); if (optional.isPresent()) { -@@ -839,6 +841,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -849,6 +851,7 @@ public class ChunkProviderServer extends IChunkProvider { this.world.timings.chunkTicks.startTiming(); // Spigot // Paper this.world.a(chunk, k); this.world.timings.chunkTicks.stopTiming(); // Spigot // Paper @@ -92,7 +92,7 @@ index a1b5e6b90fc93f83186cf3ebf3e158767008c69a..2ef8506f10426b8a5877e30986c105c0 } } }); -@@ -980,6 +983,41 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -990,6 +993,41 @@ public class ChunkProviderServer extends IChunkProvider { super.executeTask(runnable); } diff --git a/Spigot-Server-Patches/0460-Don-t-move-existing-players-to-world-spawn.patch b/Spigot-Server-Patches/0459-Don-t-move-existing-players-to-world-spawn.patch similarity index 96% rename from Spigot-Server-Patches/0460-Don-t-move-existing-players-to-world-spawn.patch rename to Spigot-Server-Patches/0459-Don-t-move-existing-players-to-world-spawn.patch index 76150d516..261e26db9 100644 --- a/Spigot-Server-Patches/0460-Don-t-move-existing-players-to-world-spawn.patch +++ b/Spigot-Server-Patches/0459-Don-t-move-existing-players-to-world-spawn.patch @@ -40,7 +40,7 @@ index f4215d38acef8018f09dff5f379c14336647687d..4e4c0acc6c103c85b7ba2a390a54d351 this.dimension = ((WorldServer) this.world).getWorldProvider().getDimensionManager(); this.playerInteractManager.a((WorldServer) world); diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 32d8cc7f22aaddef2e68506eeb44e01795f2aff5..ab2831830ad3a4cec0671d189e0534c843b47f5e 100644 +index 157738f452493aabdefb228cd527ba85400baad5..611dea90200fe346915d66317e21d94154381e97 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -108,6 +108,7 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0461-Add-tick-times-API-and-mspt-command.patch b/Spigot-Server-Patches/0460-Add-tick-times-API-and-mspt-command.patch similarity index 98% rename from Spigot-Server-Patches/0461-Add-tick-times-API-and-mspt-command.patch rename to Spigot-Server-Patches/0460-Add-tick-times-API-and-mspt-command.patch index 5daae2368..1d28a9ba7 100644 --- a/Spigot-Server-Patches/0461-Add-tick-times-API-and-mspt-command.patch +++ b/Spigot-Server-Patches/0460-Add-tick-times-API-and-mspt-command.patch @@ -87,7 +87,7 @@ index f8f225e18fa38cad917f52a379233e0a7a869b07..3ee7e5671dd2519cec72b81211f1f391 version = getInt("config-version", 20); set("config-version", 20); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 2d54c9a27fc5ca35c54a42b59f5321277d2d822b..c07339c87f8efff9c26aadc778cc3b16e170673f 100644 +index 11349565e71d97384d3dcab9cdf6ea168c6d2f4f..a0e33d42a158defc8b4a72de5d01b9395dca42eb 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -106,6 +106,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { // Paper - safe iterator incase chunk loads, also no wrapping Optional optional = ((Either) playerchunk.b().getNow(PlayerChunk.UNLOADED_CHUNK)).left(); -@@ -781,10 +803,10 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -791,10 +813,10 @@ public class ChunkProviderServer extends IChunkProvider { this.world.getMethodProfiler().exit(); ChunkCoordIntPair chunkcoordintpair = playerchunk.i(); diff --git a/Spigot-Server-Patches/0503-Stop-copy-on-write-operations-for-updating-light-dat.patch b/Spigot-Server-Patches/0502-Stop-copy-on-write-operations-for-updating-light-dat.patch similarity index 100% rename from Spigot-Server-Patches/0503-Stop-copy-on-write-operations-for-updating-light-dat.patch rename to Spigot-Server-Patches/0502-Stop-copy-on-write-operations-for-updating-light-dat.patch diff --git a/Spigot-Server-Patches/0504-No-Tick-view-distance-implementation.patch b/Spigot-Server-Patches/0503-No-Tick-view-distance-implementation.patch similarity index 99% rename from Spigot-Server-Patches/0504-No-Tick-view-distance-implementation.patch rename to Spigot-Server-Patches/0503-No-Tick-view-distance-implementation.patch index 72a5f130e..5c11fc107 100644 --- a/Spigot-Server-Patches/0504-No-Tick-view-distance-implementation.patch +++ b/Spigot-Server-Patches/0503-No-Tick-view-distance-implementation.patch @@ -603,10 +603,10 @@ index 1c7955d3ae7ddd1c2d924cec20a91202cf090f40..7bd3f789b6055d73f3a6c0628652cca2 if (!this.isClientSide && (i & 1) != 0) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index c77c59223eb652346502b9a896e0ad536395e444..5f180bb77b736220c848357b2cac4d0d2b99e3df 100644 +index 1929aacbe83c401c7254484aa8df62ed1554e3ba..36207acffac3620879afd11bb47e06341a3dabb9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2494,10 +2494,39 @@ public class CraftWorld implements World { +@@ -2493,10 +2493,39 @@ public class CraftWorld implements World { // Spigot start @Override public int getViewDistance() { diff --git a/Spigot-Server-Patches/0505-Add-villager-reputation-API.patch b/Spigot-Server-Patches/0504-Add-villager-reputation-API.patch similarity index 100% rename from Spigot-Server-Patches/0505-Add-villager-reputation-API.patch rename to Spigot-Server-Patches/0504-Add-villager-reputation-API.patch diff --git a/Spigot-Server-Patches/0506-Fix-Light-Command.patch b/Spigot-Server-Patches/0505-Fix-Light-Command.patch similarity index 100% rename from Spigot-Server-Patches/0506-Fix-Light-Command.patch rename to Spigot-Server-Patches/0505-Fix-Light-Command.patch diff --git a/Spigot-Server-Patches/0507-Fix-CraftServer.unloadWorld-Leak.patch b/Spigot-Server-Patches/0506-Fix-CraftServer.unloadWorld-Leak.patch similarity index 100% rename from Spigot-Server-Patches/0507-Fix-CraftServer.unloadWorld-Leak.patch rename to Spigot-Server-Patches/0506-Fix-CraftServer.unloadWorld-Leak.patch diff --git a/Spigot-Server-Patches/0508-Fix-PotionEffect-ignores-icon-flag.patch b/Spigot-Server-Patches/0507-Fix-PotionEffect-ignores-icon-flag.patch similarity index 100% rename from Spigot-Server-Patches/0508-Fix-PotionEffect-ignores-icon-flag.patch rename to Spigot-Server-Patches/0507-Fix-PotionEffect-ignores-icon-flag.patch diff --git a/Spigot-Server-Patches/0509-Optimize-brigadier-child-sorting-performance.patch b/Spigot-Server-Patches/0508-Optimize-brigadier-child-sorting-performance.patch similarity index 100% rename from Spigot-Server-Patches/0509-Optimize-brigadier-child-sorting-performance.patch rename to Spigot-Server-Patches/0508-Optimize-brigadier-child-sorting-performance.patch diff --git a/Spigot-Server-Patches/0510-MC-183249-Don-t-generate-Carving-Masks-BitSet-unless.patch b/Spigot-Server-Patches/0509-MC-183249-Don-t-generate-Carving-Masks-BitSet-unless.patch similarity index 100% rename from Spigot-Server-Patches/0510-MC-183249-Don-t-generate-Carving-Masks-BitSet-unless.patch rename to Spigot-Server-Patches/0509-MC-183249-Don-t-generate-Carving-Masks-BitSet-unless.patch diff --git a/Spigot-Server-Patches/0511-Don-t-toString-block-unless-actually-showing-the-mes.patch b/Spigot-Server-Patches/0510-Don-t-toString-block-unless-actually-showing-the-mes.patch similarity index 100% rename from Spigot-Server-Patches/0511-Don-t-toString-block-unless-actually-showing-the-mes.patch rename to Spigot-Server-Patches/0510-Don-t-toString-block-unless-actually-showing-the-mes.patch diff --git a/Spigot-Server-Patches/0512-Implement-JellySquid-s-Entity-Collision-optimisation.patch b/Spigot-Server-Patches/0511-Implement-JellySquid-s-Entity-Collision-optimisation.patch similarity index 100% rename from Spigot-Server-Patches/0512-Implement-JellySquid-s-Entity-Collision-optimisation.patch rename to Spigot-Server-Patches/0511-Implement-JellySquid-s-Entity-Collision-optimisation.patch diff --git a/Spigot-Server-Patches/0513-Remove-some-Streams-usage-in-Entity-Collision.patch b/Spigot-Server-Patches/0512-Remove-some-Streams-usage-in-Entity-Collision.patch similarity index 100% rename from Spigot-Server-Patches/0513-Remove-some-Streams-usage-in-Entity-Collision.patch rename to Spigot-Server-Patches/0512-Remove-some-Streams-usage-in-Entity-Collision.patch diff --git a/Spigot-Server-Patches/0514-Ensure-Entity-AABB-s-are-never-invalid.patch b/Spigot-Server-Patches/0513-Ensure-Entity-AABB-s-are-never-invalid.patch similarity index 100% rename from Spigot-Server-Patches/0514-Ensure-Entity-AABB-s-are-never-invalid.patch rename to Spigot-Server-Patches/0513-Ensure-Entity-AABB-s-are-never-invalid.patch diff --git a/Spigot-Server-Patches/0515-Potential-bed-API.patch b/Spigot-Server-Patches/0514-Potential-bed-API.patch similarity index 100% rename from Spigot-Server-Patches/0515-Potential-bed-API.patch rename to Spigot-Server-Patches/0514-Potential-bed-API.patch diff --git a/Spigot-Server-Patches/0516-Wait-for-Async-Tasks-during-shutdown.patch b/Spigot-Server-Patches/0515-Wait-for-Async-Tasks-during-shutdown.patch similarity index 100% rename from Spigot-Server-Patches/0516-Wait-for-Async-Tasks-during-shutdown.patch rename to Spigot-Server-Patches/0515-Wait-for-Async-Tasks-during-shutdown.patch diff --git a/Spigot-Server-Patches/0517-Optimize-WorldBorder-collision-checks-and-air.patch b/Spigot-Server-Patches/0516-Optimize-WorldBorder-collision-checks-and-air.patch similarity index 100% rename from Spigot-Server-Patches/0517-Optimize-WorldBorder-collision-checks-and-air.patch rename to Spigot-Server-Patches/0516-Optimize-WorldBorder-collision-checks-and-air.patch diff --git a/Spigot-Server-Patches/0518-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch b/Spigot-Server-Patches/0517-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch similarity index 100% rename from Spigot-Server-Patches/0518-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch rename to Spigot-Server-Patches/0517-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch diff --git a/Spigot-Server-Patches/0519-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/Spigot-Server-Patches/0518-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch similarity index 100% rename from Spigot-Server-Patches/0519-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch rename to Spigot-Server-Patches/0518-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch diff --git a/Spigot-Server-Patches/0520-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch b/Spigot-Server-Patches/0519-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch similarity index 100% rename from Spigot-Server-Patches/0520-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch rename to Spigot-Server-Patches/0519-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch diff --git a/Spigot-Server-Patches/0521-Optimize-NibbleArray-to-use-pooled-buffers.patch b/Spigot-Server-Patches/0520-Optimize-NibbleArray-to-use-pooled-buffers.patch similarity index 100% rename from Spigot-Server-Patches/0521-Optimize-NibbleArray-to-use-pooled-buffers.patch rename to Spigot-Server-Patches/0520-Optimize-NibbleArray-to-use-pooled-buffers.patch diff --git a/Spigot-Server-Patches/0522-Reduce-MutableInt-allocations-from-light-engine.patch b/Spigot-Server-Patches/0521-Reduce-MutableInt-allocations-from-light-engine.patch similarity index 100% rename from Spigot-Server-Patches/0522-Reduce-MutableInt-allocations-from-light-engine.patch rename to Spigot-Server-Patches/0521-Reduce-MutableInt-allocations-from-light-engine.patch diff --git a/Spigot-Server-Patches/0523-Reduce-allocation-of-Vec3D-by-entity-tracker.patch b/Spigot-Server-Patches/0522-Reduce-allocation-of-Vec3D-by-entity-tracker.patch similarity index 100% rename from Spigot-Server-Patches/0523-Reduce-allocation-of-Vec3D-by-entity-tracker.patch rename to Spigot-Server-Patches/0522-Reduce-allocation-of-Vec3D-by-entity-tracker.patch diff --git a/Spigot-Server-Patches/0524-Ensure-safe-gateway-teleport.patch b/Spigot-Server-Patches/0523-Ensure-safe-gateway-teleport.patch similarity index 100% rename from Spigot-Server-Patches/0524-Ensure-safe-gateway-teleport.patch rename to Spigot-Server-Patches/0523-Ensure-safe-gateway-teleport.patch diff --git a/Spigot-Server-Patches/0525-Add-permission-for-command-blocks.patch b/Spigot-Server-Patches/0524-Add-permission-for-command-blocks.patch similarity index 100% rename from Spigot-Server-Patches/0525-Add-permission-for-command-blocks.patch rename to Spigot-Server-Patches/0524-Add-permission-for-command-blocks.patch diff --git a/Spigot-Server-Patches/0526-Add-option-for-console-having-all-permissions.patch b/Spigot-Server-Patches/0525-Add-option-for-console-having-all-permissions.patch similarity index 100% rename from Spigot-Server-Patches/0526-Add-option-for-console-having-all-permissions.patch rename to Spigot-Server-Patches/0525-Add-option-for-console-having-all-permissions.patch diff --git a/Spigot-Server-Patches/0527-Workaround-for-Client-Lag-Spikes-MC-162253.patch b/Spigot-Server-Patches/0526-Workaround-for-Client-Lag-Spikes-MC-162253.patch similarity index 100% rename from Spigot-Server-Patches/0527-Workaround-for-Client-Lag-Spikes-MC-162253.patch rename to Spigot-Server-Patches/0526-Workaround-for-Client-Lag-Spikes-MC-162253.patch diff --git a/Spigot-Server-Patches/0528-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch b/Spigot-Server-Patches/0527-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch similarity index 99% rename from Spigot-Server-Patches/0528-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch rename to Spigot-Server-Patches/0527-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch index 4ef1f2dc6..55fde4549 100644 --- a/Spigot-Server-Patches/0528-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch +++ b/Spigot-Server-Patches/0527-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch @@ -484,10 +484,10 @@ index 7702fbefa598bce7e6a2d287f7ec36b78a62bff8..35a4999b2c34ae62cba042885db25dd1 protected int c(long i) { return this.a.get(i); diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 7a275bf3260f9fbefc41883c5ebdc1eb2196daf0..b6a7e475c6ebe499c641db5967adb1674323a517 100644 +index 3089d673a029c493cac756124eb0baa21a8bab7f..8efe036be0c74a5ceb6a18e019c4a08a49a28693 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -432,6 +432,26 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -442,6 +442,26 @@ public class ChunkProviderServer extends IChunkProvider { public void removeTicketAtLevel(TicketType ticketType, ChunkCoordIntPair chunkPos, int ticketLevel, T identifier) { this.chunkMapDistance.removeTicketAtLevel(ticketType, chunkPos, ticketLevel, identifier); } @@ -514,7 +514,7 @@ index 7a275bf3260f9fbefc41883c5ebdc1eb2196daf0..b6a7e475c6ebe499c641db5967adb167 // Paper end @Nullable -@@ -470,6 +490,8 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -480,6 +500,8 @@ public class ChunkProviderServer extends IChunkProvider { if (!completablefuture.isDone()) { // Paper // Paper start - async chunk io/loading @@ -523,7 +523,7 @@ index 7a275bf3260f9fbefc41883c5ebdc1eb2196daf0..b6a7e475c6ebe499c641db5967adb167 this.world.asyncChunkTaskManager.raisePriority(x, z, com.destroystokyo.paper.io.PrioritizedTaskQueue.HIGHEST_PRIORITY); com.destroystokyo.paper.io.chunk.ChunkTaskManager.pushChunkWait(this.world, x, z); // Paper end -@@ -478,6 +500,8 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -488,6 +510,8 @@ public class ChunkProviderServer extends IChunkProvider { this.serverThreadQueue.awaitTasks(completablefuture::isDone); com.destroystokyo.paper.io.chunk.ChunkTaskManager.popChunkWait(); // Paper - async chunk debug this.world.timings.syncChunkLoad.stopTiming(); // Paper @@ -532,7 +532,7 @@ index 7a275bf3260f9fbefc41883c5ebdc1eb2196daf0..b6a7e475c6ebe499c641db5967adb167 } // Paper ichunkaccess = (IChunkAccess) ((Either) completablefuture.join()).map((ichunkaccess1) -> { return ichunkaccess1; -@@ -530,10 +554,12 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -540,10 +564,12 @@ public class ChunkProviderServer extends IChunkProvider { if (flag && !currentlyUnloading) { // CraftBukkit end this.chunkMapDistance.a(TicketType.UNKNOWN, chunkcoordintpair, l, chunkcoordintpair); @@ -545,7 +545,7 @@ index 7a275bf3260f9fbefc41883c5ebdc1eb2196daf0..b6a7e475c6ebe499c641db5967adb167 this.tickDistanceManager(); playerchunk = this.getChunk(k); gameprofilerfiller.exit(); -@@ -542,8 +568,13 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -552,8 +578,13 @@ public class ChunkProviderServer extends IChunkProvider { } } } @@ -561,7 +561,7 @@ index 7a275bf3260f9fbefc41883c5ebdc1eb2196daf0..b6a7e475c6ebe499c641db5967adb167 } private boolean a(@Nullable PlayerChunk playerchunk, int i) { -@@ -593,7 +624,8 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -603,7 +634,8 @@ public class ChunkProviderServer extends IChunkProvider { return this.serverThreadQueue.executeNext(); } @@ -1187,10 +1187,10 @@ index d7b9d9fd3a3b607278a3d72b0b306b0be2aa30ad..6fd852db6bcfbfbf84ec2acf6d23b08a public static TicketType a(String s, Comparator comparator) { return new TicketType<>(s, comparator, 0L); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 5f180bb77b736220c848357b2cac4d0d2b99e3df..d3c5b7d1904a6cbd65db406639ed2ba90ec9fd2a 100644 +index 36207acffac3620879afd11bb47e06341a3dabb9..5992fdda8a5c66f77dbfca86d6261b98cce2b1e9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2484,6 +2484,10 @@ public class CraftWorld implements World { +@@ -2483,6 +2483,10 @@ public class CraftWorld implements World { return future; } diff --git a/Spigot-Server-Patches/0529-Fix-Non-Full-Status-Chunk-NBT-Memory-Leak.patch b/Spigot-Server-Patches/0528-Fix-Non-Full-Status-Chunk-NBT-Memory-Leak.patch similarity index 100% rename from Spigot-Server-Patches/0529-Fix-Non-Full-Status-Chunk-NBT-Memory-Leak.patch rename to Spigot-Server-Patches/0528-Fix-Non-Full-Status-Chunk-NBT-Memory-Leak.patch diff --git a/Spigot-Server-Patches/0530-Optimize-sending-packets-to-nearby-locations-sounds-.patch b/Spigot-Server-Patches/0529-Optimize-sending-packets-to-nearby-locations-sounds-.patch similarity index 100% rename from Spigot-Server-Patches/0530-Optimize-sending-packets-to-nearby-locations-sounds-.patch rename to Spigot-Server-Patches/0529-Optimize-sending-packets-to-nearby-locations-sounds-.patch diff --git a/Spigot-Server-Patches/0531-Optimize-Villagers.patch b/Spigot-Server-Patches/0530-Optimize-Villagers.patch similarity index 100% rename from Spigot-Server-Patches/0531-Optimize-Villagers.patch rename to Spigot-Server-Patches/0530-Optimize-Villagers.patch diff --git a/Spigot-Server-Patches/0532-Improve-Chunk-Status-Transition-Speed.patch b/Spigot-Server-Patches/0531-Improve-Chunk-Status-Transition-Speed.patch similarity index 100% rename from Spigot-Server-Patches/0532-Improve-Chunk-Status-Transition-Speed.patch rename to Spigot-Server-Patches/0531-Improve-Chunk-Status-Transition-Speed.patch diff --git a/Spigot-Server-Patches/0533-Fix-villager-trading-demand-MC-163962.patch b/Spigot-Server-Patches/0532-Fix-villager-trading-demand-MC-163962.patch similarity index 100% rename from Spigot-Server-Patches/0533-Fix-villager-trading-demand-MC-163962.patch rename to Spigot-Server-Patches/0532-Fix-villager-trading-demand-MC-163962.patch diff --git a/Spigot-Server-Patches/0534-Maps-shouldn-t-load-chunks.patch b/Spigot-Server-Patches/0533-Maps-shouldn-t-load-chunks.patch similarity index 100% rename from Spigot-Server-Patches/0534-Maps-shouldn-t-load-chunks.patch rename to Spigot-Server-Patches/0533-Maps-shouldn-t-load-chunks.patch diff --git a/Spigot-Server-Patches/0535-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch b/Spigot-Server-Patches/0534-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch similarity index 94% rename from Spigot-Server-Patches/0535-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch rename to Spigot-Server-Patches/0534-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch index 4a73a87a3..0a2d3d9c4 100644 --- a/Spigot-Server-Patches/0535-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch +++ b/Spigot-Server-Patches/0534-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch @@ -19,7 +19,7 @@ index 134468da1a8fad6fdd48f64bf9ea885794e86bdf..b09de92ee56f491f7b4c526105f8d306 } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 854c97bddb711ed252c2ae8398247641fdfb10be..17289cf3776a5db2f17b493e39fea83d4d0c4abd 100644 +index 2c9acffe5a62af43ff4f4ccdb6962929d645e226..49da7352dcee6c352904cabe8b5db0152c427029 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -283,8 +283,9 @@ public class WorldServer extends World { diff --git a/Spigot-Server-Patches/0536-Optimize-Bit-Operations-by-inlining.patch b/Spigot-Server-Patches/0535-Optimize-Bit-Operations-by-inlining.patch similarity index 100% rename from Spigot-Server-Patches/0536-Optimize-Bit-Operations-by-inlining.patch rename to Spigot-Server-Patches/0535-Optimize-Bit-Operations-by-inlining.patch diff --git a/Spigot-Server-Patches/0537-Optimize-Light-Engine.patch b/Spigot-Server-Patches/0536-Optimize-Light-Engine.patch similarity index 99% rename from Spigot-Server-Patches/0537-Optimize-Light-Engine.patch rename to Spigot-Server-Patches/0536-Optimize-Light-Engine.patch index 4b00c7d98..56f8be81f 100644 --- a/Spigot-Server-Patches/0537-Optimize-Light-Engine.patch +++ b/Spigot-Server-Patches/0536-Optimize-Light-Engine.patch @@ -38,10 +38,10 @@ index d2207a2c95690de586ab2d181b64955a6d2ea70d..66244a9d0e253b3709df4ae2adcd21e4 return this.j; } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index b6a7e475c6ebe499c641db5967adb1674323a517..75c22a3f4e2df9cf7f2d22cafbde9acce01589e1 100644 +index 8efe036be0c74a5ceb6a18e019c4a08a49a28693..7d50b94cb37ea921451af1baa47c8900e99b37e1 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -1090,7 +1090,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -1100,7 +1100,7 @@ public class ChunkProviderServer extends IChunkProvider { if (ChunkProviderServer.this.tickDistanceManager()) { return true; } else { diff --git a/Spigot-Server-Patches/0538-Delay-Chunk-Unloads-based-on-Player-Movement.patch b/Spigot-Server-Patches/0537-Delay-Chunk-Unloads-based-on-Player-Movement.patch similarity index 98% rename from Spigot-Server-Patches/0538-Delay-Chunk-Unloads-based-on-Player-Movement.patch rename to Spigot-Server-Patches/0537-Delay-Chunk-Unloads-based-on-Player-Movement.patch index f8c1c715e..36bc22fde 100644 --- a/Spigot-Server-Patches/0538-Delay-Chunk-Unloads-based-on-Player-Movement.patch +++ b/Spigot-Server-Patches/0537-Delay-Chunk-Unloads-based-on-Player-Movement.patch @@ -35,7 +35,7 @@ index c3f7717869c86d9ac6395615bceda324aea16b27..ecacb72b922927f06883b75e7d2cc1f9 + } } diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java -index 3a33d625cac39036df67aac81599fa1db7f808d4..7eb14c2e3a13a9d2d6c5e699eca3ce60b50e9188 100644 +index ff9e164574f1f3d043740ac727faf567122e5b64..cc02ed6b58a219d8f06e4ccc2a51f46c33af98d1 100644 --- a/src/main/java/net/minecraft/server/ChunkMapDistance.java +++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java @@ -176,6 +176,27 @@ public abstract class ChunkMapDistance { diff --git a/Spigot-Server-Patches/0539-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/Spigot-Server-Patches/0538-Add-Plugin-Tickets-to-API-Chunk-Methods.patch similarity index 90% rename from Spigot-Server-Patches/0539-Add-Plugin-Tickets-to-API-Chunk-Methods.patch rename to Spigot-Server-Patches/0538-Add-Plugin-Tickets-to-API-Chunk-Methods.patch index 63d7a34e4..4ba303fea 100644 --- a/Spigot-Server-Patches/0539-Add-Plugin-Tickets-to-API-Chunk-Methods.patch +++ b/Spigot-Server-Patches/0538-Add-Plugin-Tickets-to-API-Chunk-Methods.patch @@ -44,7 +44,7 @@ index 894917c8891a951edb251f019529d0f7bec7037d..568aefdf698facfc36edacc9332e8319 printSaveWarning = false; console.autosavePeriod = 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 d3c5b7d1904a6cbd65db406639ed2ba90ec9fd2a..f4a1be34f08551692c1612cffea04fdcf71f2cd4 100644 +index 5992fdda8a5c66f77dbfca86d6261b98cce2b1e9..73ffc3c24d38c11982cb44bf0c08e761b9667cda 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -399,9 +399,22 @@ public class CraftWorld implements World { @@ -71,16 +71,16 @@ index d3c5b7d1904a6cbd65db406639ed2ba90ec9fd2a..f4a1be34f08551692c1612cffea04fdc @Override public Chunk getChunkAt(Block block) { Preconditions.checkArgument(block != null, "null block"); -@@ -476,7 +489,7 @@ public class CraftWorld implements World { +@@ -475,7 +488,7 @@ public class CraftWorld implements World { + public boolean unloadChunkRequest(int x, int z) { org.spigotmc.AsyncCatcher.catchOp("chunk unload"); // Spigot - net.minecraft.server.IChunkAccess chunk = world.getChunkProvider().getChunkAtIfLoadedImmediately(x, z); // Paper - if (chunk != null) { -- world.getChunkProvider().removeTicket(TicketType.PLUGIN, chunk.getPos(), 1, Unit.INSTANCE); -+ world.getChunkProvider().removeTicket(TicketType.PLUGIN, chunk.getPos(), 0, Unit.INSTANCE); // Paper + if (isChunkLoaded(x, z)) { +- world.getChunkProvider().removeTicket(TicketType.PLUGIN, new ChunkCoordIntPair(x, z), 1, Unit.INSTANCE); ++ world.getChunkProvider().removeTicket(TicketType.PLUGIN, new ChunkCoordIntPair(x, z), 0, Unit.INSTANCE); // Paper } return true; -@@ -553,10 +566,12 @@ public class CraftWorld implements World { +@@ -552,10 +565,12 @@ public class CraftWorld implements World { org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot // Paper start - Optimize this method ChunkCoordIntPair chunkPos = new ChunkCoordIntPair(x, z); @@ -94,7 +94,7 @@ index d3c5b7d1904a6cbd65db406639ed2ba90ec9fd2a..f4a1be34f08551692c1612cffea04fdc if (immediate == null) { immediate = world.getChunkProvider().playerChunkMap.getUnloadingChunk(x, z); } -@@ -564,7 +579,7 @@ public class CraftWorld implements World { +@@ -563,7 +578,7 @@ public class CraftWorld implements World { if (!(immediate instanceof ProtoChunkExtension) && !(immediate instanceof net.minecraft.server.Chunk)) { return false; // not full status } @@ -103,7 +103,7 @@ index d3c5b7d1904a6cbd65db406639ed2ba90ec9fd2a..f4a1be34f08551692c1612cffea04fdc world.getChunkAt(x, z); // make sure we're at ticket level 32 or lower return true; } -@@ -591,7 +606,7 @@ public class CraftWorld implements World { +@@ -590,7 +605,7 @@ public class CraftWorld implements World { // we do this so we do not re-read the chunk data on disk } @@ -112,7 +112,7 @@ index d3c5b7d1904a6cbd65db406639ed2ba90ec9fd2a..f4a1be34f08551692c1612cffea04fdc world.getChunkProvider().getChunkAt(x, z, ChunkStatus.FULL, true); return true; // Paper end -@@ -2490,6 +2505,7 @@ public class CraftWorld implements World { +@@ -2489,6 +2504,7 @@ public class CraftWorld implements World { } return this.world.getChunkProvider().getChunkAtAsynchronously(x, z, gen, urgent).thenComposeAsync((either) -> { net.minecraft.server.Chunk chunk = (net.minecraft.server.Chunk) either.left().orElse(null); diff --git a/Spigot-Server-Patches/0540-Fix-missing-chunks-due-to-integer-overflow.patch b/Spigot-Server-Patches/0539-Fix-missing-chunks-due-to-integer-overflow.patch similarity index 100% rename from Spigot-Server-Patches/0540-Fix-missing-chunks-due-to-integer-overflow.patch rename to Spigot-Server-Patches/0539-Fix-missing-chunks-due-to-integer-overflow.patch diff --git a/Spigot-Server-Patches/0541-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch b/Spigot-Server-Patches/0540-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch similarity index 100% rename from Spigot-Server-Patches/0541-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch rename to Spigot-Server-Patches/0540-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch diff --git a/Spigot-Server-Patches/0542-Fix-piston-physics-inconsistency-MC-188840.patch b/Spigot-Server-Patches/0541-Fix-piston-physics-inconsistency-MC-188840.patch similarity index 100% rename from Spigot-Server-Patches/0542-Fix-piston-physics-inconsistency-MC-188840.patch rename to Spigot-Server-Patches/0541-Fix-piston-physics-inconsistency-MC-188840.patch diff --git a/Spigot-Server-Patches/0543-Fix-sand-duping.patch b/Spigot-Server-Patches/0542-Fix-sand-duping.patch similarity index 100% rename from Spigot-Server-Patches/0543-Fix-sand-duping.patch rename to Spigot-Server-Patches/0542-Fix-sand-duping.patch diff --git a/Spigot-Server-Patches/0544-Prevent-position-desync-in-playerconnection-causing-.patch b/Spigot-Server-Patches/0543-Prevent-position-desync-in-playerconnection-causing-.patch similarity index 94% rename from Spigot-Server-Patches/0544-Prevent-position-desync-in-playerconnection-causing-.patch rename to Spigot-Server-Patches/0543-Prevent-position-desync-in-playerconnection-causing-.patch index 76b429cda..b5b0331a0 100644 --- a/Spigot-Server-Patches/0544-Prevent-position-desync-in-playerconnection-causing-.patch +++ b/Spigot-Server-Patches/0543-Prevent-position-desync-in-playerconnection-causing-.patch @@ -14,7 +14,7 @@ behaviour, we need to move all of this dangerous logic outside of the move call and into an appropriate place in the tick method. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 7123e197c7ed01afd4fbf7aa0760611373039a13..3e5dea60fd043010506436e700601c0e8ffd8f17 100644 +index f9cb87a3be35575ecf3362b10dc7fe5ebadb56ec..2109afc8ca0af636be2d7e7c041e3160448f4a38 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1080,6 +1080,11 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0545-Fix-enderdragon-exp-dupe.patch b/Spigot-Server-Patches/0544-Fix-enderdragon-exp-dupe.patch similarity index 100% rename from Spigot-Server-Patches/0545-Fix-enderdragon-exp-dupe.patch rename to Spigot-Server-Patches/0544-Fix-enderdragon-exp-dupe.patch diff --git a/Spigot-Server-Patches/0546-Inventory-getHolder-method-without-block-snapshot.patch b/Spigot-Server-Patches/0545-Inventory-getHolder-method-without-block-snapshot.patch similarity index 100% rename from Spigot-Server-Patches/0546-Inventory-getHolder-method-without-block-snapshot.patch rename to Spigot-Server-Patches/0545-Inventory-getHolder-method-without-block-snapshot.patch diff --git a/Spigot-Server-Patches/0547-Expose-Arrow-getItemStack.patch b/Spigot-Server-Patches/0546-Expose-Arrow-getItemStack.patch similarity index 100% rename from Spigot-Server-Patches/0547-Expose-Arrow-getItemStack.patch rename to Spigot-Server-Patches/0546-Expose-Arrow-getItemStack.patch diff --git a/Spigot-Server-Patches/0548-Add-and-implement-PlayerRecipeBookClickEvent.patch b/Spigot-Server-Patches/0547-Add-and-implement-PlayerRecipeBookClickEvent.patch similarity index 95% rename from Spigot-Server-Patches/0548-Add-and-implement-PlayerRecipeBookClickEvent.patch rename to Spigot-Server-Patches/0547-Add-and-implement-PlayerRecipeBookClickEvent.patch index 60db6e2b7..13f7bfcdf 100644 --- a/Spigot-Server-Patches/0548-Add-and-implement-PlayerRecipeBookClickEvent.patch +++ b/Spigot-Server-Patches/0547-Add-and-implement-PlayerRecipeBookClickEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add and implement PlayerRecipeBookClickEvent diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 3e5dea60fd043010506436e700601c0e8ffd8f17..639d186971b9f334ed026964f10f1bf33c1e0afc 100644 +index 2109afc8ca0af636be2d7e7c041e3160448f4a38..10e3bf60f13fbc8e26071bcfe8d19cbb635662a9 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2476,9 +2476,15 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/paper b/paper index 687c3813e..6106243b0 100755 --- a/paper +++ b/paper @@ -129,6 +129,13 @@ case "$1" in rm -rf work echo "Cleaned build files" ;; + "con" | "continue") + if [ -d ".git/rebase-apply" ]; then + git -c commit.gpgsign=false am --continue + elif [ -d ".git/rebase-merge" ]; then + git -c commit.gpgsign=false rebase --continue + fi + ;; "e" | "edit") case "$2" in "s" | "server") diff --git a/work/Bukkit b/work/Bukkit index e26996364..b2f1908c5 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit e2699636407094a6e25843907291cde511fbb19d +Subproject commit b2f1908c59d22a693ee7ef10f480081436145251 diff --git a/work/CraftBukkit b/work/CraftBukkit index 1b2830a3b..8ea9b1386 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 1b2830a3b3aa5ecf4d2f44696654fc028a2c53a0 +Subproject commit 8ea9b1386bc7f131c3df3ed0b87b49a5a3e811ba diff --git a/work/Spigot b/work/Spigot index 2f5d615f1..a99063f77 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 2f5d615f157752a2b28b0986b34cc708d5e77674 +Subproject commit a99063f77142a462546e31413de6c6190e913f11