From 0ea3083817707d792ebac246895455a0aa0d3425 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Tue, 16 Feb 2021 17:08:29 +0000 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit) Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 1e843b72 #510: Add NamespacedKey#fromString() to fetch from user input a4d18241 #581: Add methods to modify despawn delay for wandering villagers CraftBukkit Changes: 0cd8f19f #802: Add methods to modify despawn delay for wandering villagers d5c5d998 SPIGOT-6362: ConcurrentModificationException: null --> Server Crash 8c7d69fe SPIGOT-5228: Entities that are removed during chunk unloads are not properly removed from the chunk. --- .../0002-Add-FastUtil-to-Bukkit.patch | 2 +- ...cord-chat-API-from-spigot-subclasses.patch | 2 +- .../0016-Player-Tab-List-and-Title-APIs.patch | 2 +- ...rovide-E-TE-Chunk-count-stat-methods.patch | 2 +- ...nt-protocol-version-and-virtual-host.patch | 2 +- ...6-Ability-to-apply-mending-to-XP-API.patch | 2 +- ...91-Add-Ban-Methods-to-Player-Objects.patch | 2 +- ...tional-world.getNearbyEntities-API-s.patch | 2 +- .../0115-Add-World.getEntity-UUID-API.patch | 2 +- ...deadlock-risk-in-firing-async-events.patch | 2 +- ...vide-Chunk-Coordinates-as-a-Long-API.patch | 2 +- .../0132-Async-Chunks-API.patch | 2 +- ...Blocks-to-be-accessed-via-a-long-key.patch | 2 +- .../0138-isChunkGenerated-API.patch | 2 +- ...CanPlaceOn-and-CanDestroy-NBT-values.patch | 6 +-- ...-ItemStack-Recipe-API-helper-methods.patch | 2 +- .../0178-Add-Heightmap-API.patch | 2 +- .../0198-Expose-game-version.patch | 4 +- .../0217-Add-setMaxPlayers-API.patch | 4 +- .../0218-Add-moon-phase-API.patch | 2 +- .../0257-Better-AnnotationTest-printout.patch | 2 +- .../0002-Paper-config-files.patch | 4 +- Spigot-Server-Patches/0003-MC-Dev-fixes.patch | 6 +-- Spigot-Server-Patches/0004-MC-Utils.patch | 41 ++++++++++--------- ...-MinecraftKey-Information-to-Objects.patch | 2 +- Spigot-Server-Patches/0009-Timings-v2.patch | 16 ++++---- ...figurable-baby-zombie-movement-speed.patch | 2 +- ...d-mobs-to-jump-and-take-water-damage.patch | 4 +- ...-despawn-distances-for-living-entiti.patch | 2 +- ...5-Allow-for-toggling-of-spawn-chunks.patch | 2 +- ...ck-and-tnt-entities-at-the-specified.patch | 2 +- .../0018-Implement-Paper-VersionChecker.patch | 2 +- .../0020-Player-affects-spawning-API.patch | 2 +- .../0025-Entity-Origin-API.patch | 4 +- ...nfigurable-top-of-nether-void-damage.patch | 2 +- .../0032-Optimize-explosions.patch | 4 +- .../0033-Disable-explosion-knockback.patch | 2 +- .../0034-Disable-thunder.patch | 2 +- .../0035-Disable-ice-and-snow.patch | 2 +- ...sition-the-first-time-an-entity-is-s.patch | 2 +- .../0041-Disable-spigot-tick-limiters.patch | 2 +- ...entation-of-tile-entity-removal-list.patch | 2 +- ...dd-configurable-portal-search-radius.patch | 2 +- ...oreboards-for-non-players-by-default.patch | 4 +- ...063-Handle-Item-Meta-Inconsistencies.patch | 2 +- .../0065-Add-World-Util-Methods.patch | 4 +- ...068-Use-a-Shared-Random-for-Entities.patch | 2 +- ...le-spawn-chances-for-skeleton-horses.patch | 2 +- ...Location-getType-and-getBlockData-fo.patch | 4 +- ...ckPhysicsEvent-if-a-plugin-has-a-lis.patch | 6 +-- ...Entity-AddTo-RemoveFrom-World-Events.patch | 2 +- ...g-BlockPlaceEvent-triggering-physics.patch | 2 +- ...Remove-unused-World-Tile-Entity-List.patch | 6 +-- .../0086-Configurable-Player-Collision.patch | 2 +- ...ityRegainHealthEvent-isFastRegen-API.patch | 2 +- ...-possibility-for-getServer-singleton.patch | 2 +- ...-API-Replenishable-Lootables-Feature.patch | 4 +- .../0098-Optimize-UserCache-Thread-Safe.patch | 4 +- ...0-Optional-TNT-doesn-t-move-in-water.patch | 4 +- ...r-redstone-torch-rapid-clock-removal.patch | 2 +- .../0102-Add-server-name-parameter.patch | 2 +- .../0104-Fix-Double-World-Add-issues.patch | 2 +- ...e-profiles-that-have-no-UUID-and-no-.patch | 2 +- .../0111-Chunk-registration-fixes.patch | 2 +- ...1-Don-t-let-fishinghooks-use-portals.patch | 2 +- ...imize-World.isLoaded-BlockPosition-Z.patch | 2 +- .../0127-Optimize-ItemStack.isEmpty.patch | 2 +- ...to-control-if-armour-stands-can-move.patch | 2 +- ...rovide-E-TE-Chunk-count-stat-methods.patch | 2 +- ...llow-entities-to-ride-themselves-572.patch | 2 +- ...PI-for-Reason-Source-Triggering-play.patch | 4 +- .../0137-Cap-Entity-Collisions.patch | 2 +- ...e-CraftScheduler-Async-Task-Debugger.patch | 2 +- .../0140-Do-not-let-armorstands-drown.patch | 4 +- ...property-to-disable-book-size-limits.patch | 2 +- .../0147-Item-canEntityPickup.patch | 2 +- .../0155-Entity-fromMobSpawner.patch | 2 +- ...63-Fix-MC-117075-TE-Unload-Lag-Spike.patch | 2 +- .../0165-LivingEntity-setKiller.patch | 2 +- ...e-implementations-for-captured-block.patch | 2 +- ...6-PlayerNaturallySpawnCreaturesEvent.patch | 4 +- ...nt-extended-PaperServerListPingEvent.patch | 2 +- .../0197-Improved-Async-Task-Scheduler.patch | 2 +- ...ld.spawnParticle-API-and-add-Builder.patch | 4 +- ...0218-ItemStack-getMaxItemUseDuration.patch | 2 +- ...nilla-entity-warnings-for-duplicates.patch | 2 +- ...-more-information-to-Entity.toString.patch | 2 +- ...ies-option-to-debug-dupe-uuid-issues.patch | 6 +-- ...7-Vanished-players-don-t-have-rights.patch | 2 +- ...revent-Saving-Bad-entities-to-chunks.patch | 2 +- ...54-Implement-Expanded-ArmorStand-API.patch | 2 +- .../0258-Add-hand-to-bucket-events.patch | 4 +- ...ient-rendering-skulls-from-same-user.patch | 2 +- ...63-Use-ConcurrentHashMap-in-JsonList.patch | 2 +- ...store-vanlla-default-mob-spawn-range.patch | 2 +- ...loadChunk-int-int-false-load-unconve.patch | 2 +- .../0279-Improve-death-events.patch | 2 +- ...ow-chests-to-be-placed-with-NBT-data.patch | 2 +- ...03-Reset-players-airTicks-on-respawn.patch | 2 +- ...er-Thread-Pool-and-Thread-Priorities.patch | 2 +- .../0306-Optimize-World-Time-Updates.patch | 2 +- .../0311-Book-Size-Limits.patch | 2 +- ...entity-dismount-during-teleportation.patch | 2 +- .../0323-BlockDestroyEvent.patch | 2 +- .../0325-Fix-sign-edit-memory-leak.patch | 2 +- .../0326-Limit-Client-Sign-length-more.patch | 2 +- ...st-tick-at-start-of-drowning-process.patch | 2 +- ...334-Add-LivingEntity-getTargetEntity.patch | 2 +- .../0336-Entity-getEntitySpawnReason.patch | 4 +- .../0340-Server-Tick-Events.patch | 2 +- .../0343-Add-Heightmap-API.patch | 4 +- ...l-to-changed-postToMainThread-method.patch | 2 +- ...n-item-frames-are-modified-MC-123450.patch | 4 +- ...h-entity-loss-due-to-unloaded-chunks.patch | 2 +- ...351-improve-CraftWorld-isChunkLoaded.patch | 2 +- ...le-Keep-Spawn-Loaded-range-per-world.patch | 4 +- .../0356-Chunk-debug-command.patch | 4 +- ...358-Fix-World-isChunkGenerated-calls.patch | 10 ++--- ...ate-location-if-we-failed-to-read-it.patch | 2 +- .../0361-incremental-chunk-saving.patch | 16 ++++---- Spigot-Server-Patches/0362-Anti-Xray.patch | 6 +-- ...-being-ticked-when-notifying-navigat.patch | 4 +- ...68-Asynchronous-chunk-IO-and-loading.patch | 22 +++++----- .../0370-Reduce-sync-loads.patch | 6 +-- ...if-we-have-a-custom-Bukkit-generator.patch | 2 +- ...ement-optional-per-player-mob-spawns.patch | 4 +- ...ftMagicNumbers.isSupportedApiVersion.patch | 2 +- ...timise-IEntityAccess-getPlayerByUUID.patch | 2 +- .../0401-Entity-Activation-Range-2.0.patch | 2 +- ...x-items-vanishing-through-end-portal.patch | 2 +- ...e-getChunkAt-calls-for-loaded-chunks.patch | 6 +-- ...ow-overriding-the-java-version-check.patch | 2 +- ...n-to-nerf-pigmen-from-nether-portals.patch | 2 +- .../0410-Make-the-GUI-graph-fancier.patch | 2 +- ...12-Prevent-teleporting-dead-entities.patch | 2 +- .../0416-Optimise-Chunk-getFluid.patch | 2 +- ...imise-TickListServer-by-rewriting-it.patch | 8 ++-- ...re-Entity-is-never-double-registered.patch | 4 +- ...ering-entities-from-unloading-chunks.patch | 4 +- ...-PlayerChunkMap-adds-crashing-server.patch | 4 +- ...ptimize-Collision-to-not-load-chunks.patch | 2 +- ...hunkMap-memory-use-for-visibleChunks.patch | 6 +-- ...asks-Speed-up-processing-of-chunk-lo.patch | 16 ++++---- ...Add-Raw-Byte-ItemStack-Serialization.patch | 4 +- ...ions-until-after-entity-ticking-is-d.patch | 2 +- ...oviderServer-s-chunk-level-checking-.patch | 4 +- ...-Chunk-Post-Processing-deadlock-risk.patch | 4 +- ...Load-Chunks-for-Login-Asynchronously.patch | 6 +-- ...pawn-point-if-spawn-in-unloaded-worl.patch | 2 +- ...allbacks-to-schedule-for-Callback-Ex.patch | 2 +- ...m-duplication-issues-and-teleport-is.patch | 2 +- .../0459-Implement-Brigadier-Mojang-API.patch | 2 +- ...PickItem-Packet-and-kick-for-invalid.patch | 2 +- ...-per-thread-native-byte-buffer-cache.patch | 2 +- ...tance-map-to-optimise-entity-tracker.patch | 6 +-- ...-isOutsideRange-to-use-distance-maps.patch | 10 ++--- ...No-Tick-view-distance-implementation.patch | 8 ++-- .../0471-Fix-Light-Command.patch | 8 ++-- ...ound-for-Client-Lag-Spikes-MC-162253.patch | 2 +- ...k-Priority-Urgency-System-for-Chunks.patch | 32 +++++++-------- .../0492-Optimize-Light-Engine.patch | 10 ++--- ...sure-Entity-AABB-s-are-never-invalid.patch | 2 +- ...WorldBorder-collision-checks-and-air.patch | 2 +- .../0520-Add-entity-liquid-API.patch | 2 +- ...ull-chunk-sections-for-block-updates.patch | 4 +- ...geEvent-not-firing-for-all-use-cases.patch | 6 +-- .../0554-Add-moon-phase-API.patch | 2 +- ...ortation-and-cancel-velocity-if-tele.patch | 2 +- ...rty-in-invalid-locations-SPIGOT-6086.patch | 4 +- ...y-Counter-to-allow-plugins-to-use-va.patch | 2 +- .../0575-Entity-isTicking.patch | 2 +- ...ng-a-passenger-in-CreatureSpawnEvent.patch | 2 +- .../0601-Expose-world-spawn-angle.patch | 2 +- ...-should-not-bypass-cramming-gamerule.patch | 2 +- .../0646-Remove-stale-POIs.patch | 6 +-- ...n-for-requiring-a-player-participant.patch | 2 +- ...ce-map-update-when-spawning-disabled.patch | 4 +- ...disable-pathfinding-updates-on-block.patch | 4 +- work/Bukkit | 2 +- work/CraftBukkit | 2 +- 180 files changed, 327 insertions(+), 326 deletions(-) diff --git a/Spigot-API-Patches/0002-Add-FastUtil-to-Bukkit.patch b/Spigot-API-Patches/0002-Add-FastUtil-to-Bukkit.patch index 0c9a1f15d8..d079504503 100644 --- a/Spigot-API-Patches/0002-Add-FastUtil-to-Bukkit.patch +++ b/Spigot-API-Patches/0002-Add-FastUtil-to-Bukkit.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add FastUtil to Bukkit Doesn't expose to plugins, just allows Paper-API to use it for optimization diff --git a/pom.xml b/pom.xml -index db8ebc72f9ddfb33a3aa3d2e0366ef4f6f324567..30253c7c0da5c5940fab16df0f118e1b167712e8 100644 +index ed19c62e5a2dbc7e660eae61aef21295afdb8aaf..58fc279186e01a4703102227f387e96272fcf0a7 100644 --- a/pom.xml +++ b/pom.xml @@ -49,6 +49,12 @@ diff --git a/Spigot-API-Patches/0015-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/Spigot-API-Patches/0015-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch index ed62aa3983..c592c5ee44 100644 --- a/Spigot-API-Patches/0015-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch +++ b/Spigot-API-Patches/0015-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch @@ -68,7 +68,7 @@ index 1f8095141bdbfabb1e487d93f33f636e83084386..00738355e42704de583b60833d4fb39a * Gets the name of the update folder. The update folder is used to safely * update plugins at the right moment on a plugin load. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index ff46ea6aa545c910acaa7e5a7690e88e0129608c..695d80d8aabdbb4a6553d5446a8f7ea766b52472 100644 +index 85c242034d125e5760952900557b10418ec5605b..5553f465e45238b2f6c4041e2b5a58aea727543c 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -482,6 +482,38 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM diff --git a/Spigot-API-Patches/0016-Player-Tab-List-and-Title-APIs.patch b/Spigot-API-Patches/0016-Player-Tab-List-and-Title-APIs.patch index 12ab35df05..d5c136c182 100644 --- a/Spigot-API-Patches/0016-Player-Tab-List-and-Title-APIs.patch +++ b/Spigot-API-Patches/0016-Player-Tab-List-and-Title-APIs.patch @@ -429,7 +429,7 @@ index 0000000000000000000000000000000000000000..5105dfcee646718cd8abc79d1d8062a5 + } +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 695d80d8aabdbb4a6553d5446a8f7ea766b52472..c12087cd9551ad254867c428139bdf38b5c7770c 100644 +index 5553f465e45238b2f6c4041e2b5a58aea727543c..7889e98443d1192ae633ff64584f00255725c9bd 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -2,6 +2,7 @@ package org.bukkit.entity; diff --git a/Spigot-API-Patches/0046-Provide-E-TE-Chunk-count-stat-methods.patch b/Spigot-API-Patches/0046-Provide-E-TE-Chunk-count-stat-methods.patch index 783c556487..220a8e621d 100644 --- a/Spigot-API-Patches/0046-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/Spigot-API-Patches/0046-Provide-E-TE-Chunk-count-stat-methods.patch @@ -7,7 +7,7 @@ Provides counts without the ineffeciency of using .getEntities().size() which creates copy of the collections. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index d355453d5b166e8fa0c6a8c992169b0b54e5127b..fefbe857676bdab750379a9d6c120099817a83e8 100644 +index b8a33ac504da73ec990550bdd23e4548f6ccba95..5432b2713ab110a1d41bdf7372a5807426ab5443 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -40,6 +40,33 @@ import org.jetbrains.annotations.Nullable; diff --git a/Spigot-API-Patches/0069-Expose-client-protocol-version-and-virtual-host.patch b/Spigot-API-Patches/0069-Expose-client-protocol-version-and-virtual-host.patch index 4f01eb8db8..217e735525 100644 --- a/Spigot-API-Patches/0069-Expose-client-protocol-version-and-virtual-host.patch +++ b/Spigot-API-Patches/0069-Expose-client-protocol-version-and-virtual-host.patch @@ -57,7 +57,7 @@ index 0000000000000000000000000000000000000000..7b2af1bd72dfbcf4e962a982940fc49b + +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 7e90c11066a7882a8ea4dfa757323616fb88e612..a0b9f03cba3ddd3708b898df8f405c8595c18775 100644 +index b422abde1a504aa36c726e1c0597da11c1b6afd0..7295e8c12cb1333da4f954b2c77e5794141839f8 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -31,7 +31,7 @@ import org.jetbrains.annotations.Nullable; diff --git a/Spigot-API-Patches/0076-Ability-to-apply-mending-to-XP-API.patch b/Spigot-API-Patches/0076-Ability-to-apply-mending-to-XP-API.patch index 5478a14646..ed05f83832 100644 --- a/Spigot-API-Patches/0076-Ability-to-apply-mending-to-XP-API.patch +++ b/Spigot-API-Patches/0076-Ability-to-apply-mending-to-XP-API.patch @@ -10,7 +10,7 @@ of giving the player experience points. Both an API To standalone mend, and apply mending logic to .giveExp has been added. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index a0b9f03cba3ddd3708b898df8f405c8595c18775..a489718adee9eb78a02d0a75198c4ec7af844a99 100644 +index 7295e8c12cb1333da4f954b2c77e5794141839f8..86a7ba58ef26ef0053c516408b47f7ba4cb0b80b 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -738,12 +738,33 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM diff --git a/Spigot-API-Patches/0091-Add-Ban-Methods-to-Player-Objects.patch b/Spigot-API-Patches/0091-Add-Ban-Methods-to-Player-Objects.patch index 93f9df3a86..7ac708ba3d 100644 --- a/Spigot-API-Patches/0091-Add-Ban-Methods-to-Player-Objects.patch +++ b/Spigot-API-Patches/0091-Add-Ban-Methods-to-Player-Objects.patch @@ -74,7 +74,7 @@ index 58313929f81509030216a0e5e3869da63e11108e..6cf05fed701c67a2c797a4e0839c7958 /** * Checks if this player is whitelisted or not diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 58a1e24f15043b21a1a99931cde628990a66831f..e471728b2ab69c5f8568896030e4866c5bf258a1 100644 +index 7d3bf348e4a4b0b68042df4d72a98285c0e0da94..1ba7e5c66159d8ff208f3e796a3e6569e060967c 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -4,6 +4,10 @@ import java.net.InetSocketAddress; diff --git a/Spigot-API-Patches/0094-Additional-world.getNearbyEntities-API-s.patch b/Spigot-API-Patches/0094-Additional-world.getNearbyEntities-API-s.patch index 8e83d78dc5..585c1a35ca 100644 --- a/Spigot-API-Patches/0094-Additional-world.getNearbyEntities-API-s.patch +++ b/Spigot-API-Patches/0094-Additional-world.getNearbyEntities-API-s.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Additional world.getNearbyEntities API's Provides more methods to get nearby entities, and filter by types and predicates diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 833f4cb13e9d3d1d0daa1ac1202a70e2606c80b8..f36360e9dbfa6daa3450c275764ea1e90e446da6 100644 +index 5432b2713ab110a1d41bdf7372a5807426ab5443..4bffb3cadebb2081e8caae6b9d127591345411e6 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -1,6 +1,9 @@ diff --git a/Spigot-API-Patches/0115-Add-World.getEntity-UUID-API.patch b/Spigot-API-Patches/0115-Add-World.getEntity-UUID-API.patch index 8db9ac39b0..454f312e72 100644 --- a/Spigot-API-Patches/0115-Add-World.getEntity-UUID-API.patch +++ b/Spigot-API-Patches/0115-Add-World.getEntity-UUID-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add World.getEntity(UUID) API diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 1f02f9a96eac55e14383a8a381be6473c014442f..79267ebf4fd0d5ea3fc37f62bf50c4064f62fc8d 100644 +index aa0e0b6d916e5ba01470ea94f9fd6fe0b2a7b4cf..ab4f09cf5651a260c23e53da9576767462b62c7c 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -914,6 +914,17 @@ public interface World extends PluginMessageRecipient, Metadatable { diff --git a/Spigot-API-Patches/0128-Remove-deadlock-risk-in-firing-async-events.patch b/Spigot-API-Patches/0128-Remove-deadlock-risk-in-firing-async-events.patch index 3aa64797b4..fc6755e6dc 100644 --- a/Spigot-API-Patches/0128-Remove-deadlock-risk-in-firing-async-events.patch +++ b/Spigot-API-Patches/0128-Remove-deadlock-risk-in-firing-async-events.patch @@ -16,7 +16,7 @@ which results in a hard crash. This change removes the synchronize and adds some protection around enable/disable diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 5e988ac7a639476c0f80786c8aea51ba3377fd10..d6451c82e0189e2c591a0fc1f884e83931d5a41b 100644 +index 6d010cdebcb490b57618d3865fdb776a023853bf..cd46036960aac542a3ced9a8cdfcb1d35913cb76 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -28,7 +28,7 @@ import org.jetbrains.annotations.Nullable; diff --git a/Spigot-API-Patches/0131-Provide-Chunk-Coordinates-as-a-Long-API.patch b/Spigot-API-Patches/0131-Provide-Chunk-Coordinates-as-a-Long-API.patch index 86216abbbe..8fa7fd5adb 100644 --- a/Spigot-API-Patches/0131-Provide-Chunk-Coordinates-as-a-Long-API.patch +++ b/Spigot-API-Patches/0131-Provide-Chunk-Coordinates-as-a-Long-API.patch @@ -44,7 +44,7 @@ index beac1439c71fb28f1a3baecf56157237e12ccfd5..fa576096e908f8fbdbef53e1bd91215a * Gets the world containing this chunk * diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 79267ebf4fd0d5ea3fc37f62bf50c4064f62fc8d..ff132bd7677e384debf2399ba9b1ffdb932541e9 100644 +index ab4f09cf5651a260c23e53da9576767462b62c7c..0b77f7f0a27743e1c1ce4283ed53958845f9f9cc 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -207,6 +207,22 @@ public interface World extends PluginMessageRecipient, Metadatable { diff --git a/Spigot-API-Patches/0132-Async-Chunks-API.patch b/Spigot-API-Patches/0132-Async-Chunks-API.patch index 73967a15f7..3aa2d93b75 100644 --- a/Spigot-API-Patches/0132-Async-Chunks-API.patch +++ b/Spigot-API-Patches/0132-Async-Chunks-API.patch @@ -8,7 +8,7 @@ Adds API's to load or generate chunks asynchronously. Also adds utility methods to Entity to teleport asynchronously. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index a09cbfa277c82522be406ef079aa32d921c67799..d7367f6819fa0feb535293da301da862f0dd850e 100644 +index 0b77f7f0a27743e1c1ce4283ed53958845f9f9cc..6851a96be62815ffb2d129ec3b98495dffa508ce 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -221,6 +221,482 @@ public interface World extends PluginMessageRecipient, Metadatable { diff --git a/Spigot-API-Patches/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch b/Spigot-API-Patches/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch index 18e3f94a2e..6f2260aab6 100644 --- a/Spigot-API-Patches/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch +++ b/Spigot-API-Patches/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch @@ -48,7 +48,7 @@ index 369ce9ff6c8bb97a64a8e229115564412e6e7654..e700875beb76dadd55b585aca748338d * @return A new location where X/Y/Z are the center of the block */ diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 210f1ccf7a26598ab6353374dcb5c6e6dd34c42f..3b9c41cc93943bdd569ac5ebe281753a3beb65dc 100644 +index 6851a96be62815ffb2d129ec3b98495dffa508ce..accee84428cb16be47dc5cf75993622c96958e62 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -90,6 +90,38 @@ public interface World extends PluginMessageRecipient, Metadatable { diff --git a/Spigot-API-Patches/0138-isChunkGenerated-API.patch b/Spigot-API-Patches/0138-isChunkGenerated-API.patch index 0bae6b2559..7184c02bf4 100644 --- a/Spigot-API-Patches/0138-isChunkGenerated-API.patch +++ b/Spigot-API-Patches/0138-isChunkGenerated-API.patch @@ -34,7 +34,7 @@ index e700875beb76dadd55b585aca748338def286908..9c91c49ed7302c12fcb1d8e9bc58712e /** * Sets the position of this Location and returns itself diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 3b9c41cc93943bdd569ac5ebe281753a3beb65dc..9b8f354d79e6aad67faf5fc587df76264ceeac37 100644 +index accee84428cb16be47dc5cf75993622c96958e62..de607fe0a2e864dc66d9341b233d0d8b120db1f9 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -254,6 +254,17 @@ public interface World extends PluginMessageRecipient, Metadatable { diff --git a/Spigot-API-Patches/0147-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch b/Spigot-API-Patches/0147-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch index 2c8629f59b..fa392f242b 100644 --- a/Spigot-API-Patches/0147-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch +++ b/Spigot-API-Patches/0147-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch @@ -199,10 +199,10 @@ index 0000000000000000000000000000000000000000..28f3fda950999a9c964a3608042ca605 + } +} diff --git a/src/main/java/org/bukkit/NamespacedKey.java b/src/main/java/org/bukkit/NamespacedKey.java -index 22eca2a180618ed43a4ef103bebd134897d6c71a..620a962df6d871c7a3b7728030a05ade772135c2 100644 +index 803fa0019869127ee8c7e4fb1777a59c43e66f8a..549b2342b8b63c00b402e6cf8a7c612ac6b45fe7 100644 --- a/src/main/java/org/bukkit/NamespacedKey.java +++ b/src/main/java/org/bukkit/NamespacedKey.java -@@ -18,7 +18,7 @@ import org.jetbrains.annotations.NotNull; +@@ -19,7 +19,7 @@ import org.jetbrains.annotations.Nullable; * underscores, hyphens, and forward slashes. * */ @@ -211,7 +211,7 @@ index 22eca2a180618ed43a4ef103bebd134897d6c71a..620a962df6d871c7a3b7728030a05ade /** * The namespace representing all inbuilt keys. -@@ -83,11 +83,13 @@ public final class NamespacedKey { +@@ -84,11 +84,13 @@ public final class NamespacedKey { } @NotNull diff --git a/Spigot-API-Patches/0168-Add-ItemStack-Recipe-API-helper-methods.patch b/Spigot-API-Patches/0168-Add-ItemStack-Recipe-API-helper-methods.patch index 8cfa41b84e..9b2dfc0c72 100644 --- a/Spigot-API-Patches/0168-Add-ItemStack-Recipe-API-helper-methods.patch +++ b/Spigot-API-Patches/0168-Add-ItemStack-Recipe-API-helper-methods.patch @@ -24,7 +24,7 @@ index d742c4058ba9aed4fbe1591fd755a06608b06e98..222a12baa8e93ad686ab59426653f066 * Get a copy of the ingredients map. * diff --git a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java -index 84062dd719cb8a6142dc8c806777cb208c6b42b2..ddcf84e6609abe8379cca2ff99983ce3efbab805 100644 +index 84062dd719cb8a6142dc8c806777cb208c6b42b2..7f6d3c71c5b3a9aa54c84a4c3b7c3614a0d477ce 100644 --- a/src/main/java/org/bukkit/inventory/ShapelessRecipe.java +++ b/src/main/java/org/bukkit/inventory/ShapelessRecipe.java @@ -143,6 +143,40 @@ public class ShapelessRecipe implements Recipe, Keyed { diff --git a/Spigot-API-Patches/0178-Add-Heightmap-API.patch b/Spigot-API-Patches/0178-Add-Heightmap-API.patch index a14e305919..2c3ef42370 100644 --- a/Spigot-API-Patches/0178-Add-Heightmap-API.patch +++ b/Spigot-API-Patches/0178-Add-Heightmap-API.patch @@ -103,7 +103,7 @@ index d5d67b3d84cd88ed0f858497e68535ec0162c700..432d5711b7ec34eafeb27df82d367612 * Creates explosion at this location with given power * diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 11d5df94788794da99572c57baec12ee1e58e0b1..85f549c7593c417d280fb31ce5cfdaf89f2f8dd2 100644 +index ad915c2a190fa5bb50cbf88dfd99798918c75a47..607d46e819867b20549b6b2717a9b2b3c37797b5 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -160,6 +160,87 @@ public interface World extends PluginMessageRecipient, Metadatable { diff --git a/Spigot-API-Patches/0198-Expose-game-version.patch b/Spigot-API-Patches/0198-Expose-game-version.patch index 20e082dcb5..f1fc994f12 100644 --- a/Spigot-API-Patches/0198-Expose-game-version.patch +++ b/Spigot-API-Patches/0198-Expose-game-version.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expose game version diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index b7d260fd7d1a869fb0d04e29012d540f49d9b82a..c020912df1625da34a9f29ee2ea74835e9ae1e79 100644 +index 6a8e8b039e0c6473a540824ae1f22b1ab321d6ca..31b2150a7c3c93aa2581a85095a60e17aa469ea6 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -118,6 +118,18 @@ public final class Bukkit { @@ -28,7 +28,7 @@ index b7d260fd7d1a869fb0d04e29012d540f49d9b82a..c020912df1625da34a9f29ee2ea74835 * Gets a view of all currently logged in players. This {@linkplain * Collections#unmodifiableCollection(Collection) view} is a reused diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 2dfecdd73f911f657ee30c4848c903c522d97bcb..13bf8dcc23986ad4f3761d9b395d278df7caa958 100644 +index 0269120a74d6368647ef3ad84d8c55640d38c152..7daad551f79a5d4d1ba4e63708fd59843fde7c2e 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -97,6 +97,16 @@ public interface Server extends PluginMessageRecipient { diff --git a/Spigot-API-Patches/0217-Add-setMaxPlayers-API.patch b/Spigot-API-Patches/0217-Add-setMaxPlayers-API.patch index 625a3b35af..050ca28dd9 100644 --- a/Spigot-API-Patches/0217-Add-setMaxPlayers-API.patch +++ b/Spigot-API-Patches/0217-Add-setMaxPlayers-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add #setMaxPlayers API diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 62cc1c74c11f56dcbd1e24e9c5478497742e6351..bfe842364ee0a4bf39dacdbb6972477d57a4ef8a 100644 +index e340ef507d5a2b6b14114d0f061679c1a90884d4..9ec0608a79bc9cf3a992f9e549fd471e10e6bb5e 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -171,6 +171,17 @@ public final class Bukkit { @@ -27,7 +27,7 @@ index 62cc1c74c11f56dcbd1e24e9c5478497742e6351..bfe842364ee0a4bf39dacdbb6972477d * Get the game port that the server runs on. * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 6e01bf2d52e8bb6de7395f50c12f16c64aef72ae..7c0a788900c93c29d14d8c45ac5ae3317cf4a94e 100644 +index 73537af41d010283221418084c244261f262ceab..69070e472518fba66581e6050d3308d46c1d1608 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -144,6 +144,15 @@ public interface Server extends PluginMessageRecipient { diff --git a/Spigot-API-Patches/0218-Add-moon-phase-API.patch b/Spigot-API-Patches/0218-Add-moon-phase-API.patch index f19aea5e84..91b79a98d7 100644 --- a/Spigot-API-Patches/0218-Add-moon-phase-API.patch +++ b/Spigot-API-Patches/0218-Add-moon-phase-API.patch @@ -47,7 +47,7 @@ index 0000000000000000000000000000000000000000..df05153397b42930cd53d37b30824c7e + } +} diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index fe7d2e3ee04d0df51bfa1d64e21e6930ccc5e943..146c1f2048eefa25c44c921812832b9b42c5cba3 100644 +index 9b12fbec82017d8cbb21b5a8c3d563f1974dc1c5..042baabf18f86a9c915db7e9d515f26f840a12d7 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -70,6 +70,12 @@ public interface World extends PluginMessageRecipient, Metadatable { diff --git a/Spigot-API-Patches/0257-Better-AnnotationTest-printout.patch b/Spigot-API-Patches/0257-Better-AnnotationTest-printout.patch index 2a4188aa5b..3a6ec64adc 100644 --- a/Spigot-API-Patches/0257-Better-AnnotationTest-printout.patch +++ b/Spigot-API-Patches/0257-Better-AnnotationTest-printout.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Better AnnotationTest printout diff --git a/pom.xml b/pom.xml -index 1c33b1f4d2366116dd45478b8ad9cdb51fd6bb57..35599164b24185bc51813ae58090f6f4bffdba4a 100644 +index 7747189d49727eea039f3994e186b34480025144..6c6ae6b48094c86c74cd4e9f4214056f63e6ac68 100644 --- a/pom.xml +++ b/pom.xml @@ -223,6 +223,19 @@ diff --git a/Spigot-Server-Patches/0002-Paper-config-files.patch b/Spigot-Server-Patches/0002-Paper-config-files.patch index adab07d343..08f287498c 100644 --- a/Spigot-Server-Patches/0002-Paper-config-files.patch +++ b/Spigot-Server-Patches/0002-Paper-config-files.patch @@ -533,10 +533,10 @@ index 0000000000000000000000000000000000000000..b31109d2dadd29e8852468c19265066b + } +} diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 49cfd12dd8f68468d7a122f5420687c874cf3317..84407dfd46138359d42ddf8fd5c462a5f494d46b 100644 +index d1051f05933be093fa598504e169e5cfdaa1b0e3..056e1fced00dff1d6507a90c13f2448a04ca0558 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -273,15 +273,15 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -281,15 +281,15 @@ public class ChunkProviderServer extends IChunkProvider { } } diff --git a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch index 0464df2e4b..f1c55c8574 100644 --- a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch +++ b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch @@ -485,7 +485,7 @@ index 998101592723abb26c91d1f92e98be1cf24c954d..ee9069c744df63cbb7f21dd9d28d6d55 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f0a66359f532f5f7cb84b2e6fe600a1416e92365..514bf059b21b9d74813c4af8d8ee594be1f01eac 100644 +index f7e1d35b69906f165adbf346e28047d2b44862c0..cd260f0cbde31b5127bf3a73b9c946746defc348 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1556,9 +1556,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant supplier) { this.world = worldserver; -@@ -90,6 +246,49 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -98,6 +254,49 @@ public class ChunkProviderServer extends IChunkProvider { this.cacheChunk[0] = ichunkaccess; } @@ -2978,7 +2978,7 @@ index 84407dfd46138359d42ddf8fd5c462a5f494d46b..20f62f6f7704f47f86179d03b4e55a61 @Nullable @Override public IChunkAccess getChunkAt(int i, int j, ChunkStatus chunkstatus, boolean flag) { -@@ -372,10 +571,9 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -380,10 +579,9 @@ public class ChunkProviderServer extends IChunkProvider { this.p = spawnercreature_d; this.world.getMethodProfiler().exit(); @@ -3934,7 +3934,7 @@ index 8bdda63a2807635e8780481244251f6e35c13627..36a7e41cc5036345929ebf4d2fa160a8 int j = 0; ChunkSection[] achunksection = chunk.getSections(); diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 80118f5a347f5cc21945172b2cc94ad3f640a75e..7b4717ffc31bc406c04d98207a15804502bd3579 100644 +index f645d3dfb57e99757e233ee2bbb51be5094203cb..985fc002fa5afc71ecd242aa8101684b2c751b30 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -21,9 +21,9 @@ public class PlayerChunk { @@ -3959,7 +3959,7 @@ index 80118f5a347f5cc21945172b2cc94ad3f640a75e..7b4717ffc31bc406c04d98207a158045 public PlayerChunk(ChunkCoordIntPair chunkcoordintpair, int i, LightEngine lightengine, PlayerChunk.c playerchunk_c, PlayerChunk.d playerchunk_d) { this.statusFutures = new AtomicReferenceArray(PlayerChunk.CHUNK_STATUSES.size()); this.fullChunkFuture = PlayerChunk.UNLOADED_CHUNK_FUTURE; -@@ -54,16 +56,63 @@ public class PlayerChunk { +@@ -54,10 +56,49 @@ public class PlayerChunk { this.ticketLevel = this.oldTicketLevel; this.n = this.oldTicketLevel; this.a(i); @@ -3993,24 +3993,25 @@ index 80118f5a347f5cc21945172b2cc94ad3f640a75e..7b4717ffc31bc406c04d98207a158045 + + public final boolean isEntityTickingReady() { + return this.isEntityTickingReady; - } - ++ } ++ + public final boolean isTickingReady() { + return this.isTickingReady; + } + + public final boolean isFullChunkReady() { + return this.isFullChunkReady; -+ } + } + // Paper end -+ + // CraftBukkit start - public Chunk getFullChunk() { + public final Chunk getFullChunk() { // Paper - final for inline if (!getChunkState(this.oldTicketLevel).isAtLeast(PlayerChunk.State.BORDER)) return null; // note: using oldTicketLevel for isLoaded checks - CompletableFuture> statusFuture = this.getStatusFutureUnchecked(ChunkStatus.FULL); - Either either = (Either) statusFuture.getNow(null); - return either == null ? null : (Chunk) either.left().orElse(null); + return this.getFullChunkUnchecked(); + } +@@ -68,6 +109,14 @@ public class PlayerChunk { + return (either == null) ? null : (Chunk) either.left().orElse(null); } // CraftBukkit end + // Paper start - "real" get full chunk immediately @@ -4024,7 +4025,7 @@ index 80118f5a347f5cc21945172b2cc94ad3f640a75e..7b4717ffc31bc406c04d98207a158045 public CompletableFuture> getStatusFutureUnchecked(ChunkStatus chunkstatus) { CompletableFuture> completablefuture = (CompletableFuture) this.statusFutures.get(chunkstatus.c()); -@@ -75,20 +124,23 @@ public class PlayerChunk { +@@ -79,20 +128,23 @@ public class PlayerChunk { return getChunkStatus(this.ticketLevel).b(chunkstatus) ? this.getStatusFutureUnchecked(chunkstatus) : PlayerChunk.UNLOADED_CHUNK_ACCESS_FUTURE; } @@ -4052,7 +4053,7 @@ index 80118f5a347f5cc21945172b2cc94ad3f640a75e..7b4717ffc31bc406c04d98207a158045 CompletableFuture> completablefuture = this.a(); Either either = (Either) completablefuture.getNow(null); // CraftBukkit - decompile error -@@ -113,7 +165,7 @@ public class PlayerChunk { +@@ -117,7 +169,7 @@ public class PlayerChunk { return null; } @@ -4061,7 +4062,7 @@ index 80118f5a347f5cc21945172b2cc94ad3f640a75e..7b4717ffc31bc406c04d98207a158045 return this.chunkSave; } -@@ -254,11 +306,11 @@ public class PlayerChunk { +@@ -258,11 +310,11 @@ public class PlayerChunk { }); } @@ -4075,7 +4076,7 @@ index 80118f5a347f5cc21945172b2cc94ad3f640a75e..7b4717ffc31bc406c04d98207a158045 return this.ticketLevel; } -@@ -329,13 +381,27 @@ public class PlayerChunk { +@@ -333,13 +385,27 @@ public class PlayerChunk { this.hasBeenLoaded |= flag3; if (!flag2 && flag3) { @@ -4104,7 +4105,7 @@ index 80118f5a347f5cc21945172b2cc94ad3f640a75e..7b4717ffc31bc406c04d98207a158045 this.a(((CompletableFuture>) completablefuture).thenApply((either1) -> { // CraftBukkit - decompile error playerchunkmap.getClass(); return either1.ifLeft(playerchunkmap::a); -@@ -346,12 +412,24 @@ public class PlayerChunk { +@@ -350,12 +416,24 @@ public class PlayerChunk { boolean flag5 = playerchunk_state1.isAtLeast(PlayerChunk.State.TICKING); if (!flag4 && flag5) { @@ -4131,7 +4132,7 @@ index 80118f5a347f5cc21945172b2cc94ad3f640a75e..7b4717ffc31bc406c04d98207a158045 this.tickingFuture = PlayerChunk.UNLOADED_CHUNK_FUTURE; } -@@ -363,12 +441,24 @@ public class PlayerChunk { +@@ -367,12 +445,24 @@ public class PlayerChunk { throw (IllegalStateException) SystemUtils.c((Throwable) (new IllegalStateException())); } @@ -4501,7 +4502,7 @@ index 5719ef9714e9680596a08c42c33508c16c0e676a..bb0f30f182856d2701fde9b1a65eeb98 return this.j.m(); } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 170332ce35db120b53f99a45869882236c361960..c96ad91b15920293e228f5eb7d0843beda92faec 100644 +index f1c206b6b506aff09c484730dd2d5ce796c3c2ab..592af06de1fc02d94273363c2ede1175a39997f0 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -12,6 +12,7 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry; @@ -4521,7 +4522,7 @@ index 170332ce35db120b53f99a45869882236c361960..c96ad91b15920293e228f5eb7d0843be boolean tickingEntities; private final MinecraftServer server; public final WorldDataServer worldDataServer; // CraftBukkit - type -@@ -1567,7 +1568,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1578,7 +1579,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { ObjectIterator objectiterator = spawnercreature_d.b().object2IntEntrySet().iterator(); while (objectiterator.hasNext()) { diff --git a/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch b/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch index cb73fbf0bd..6cc4ea646c 100644 --- a/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch +++ b/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch @@ -19,7 +19,7 @@ index b8868b86338ce0e89bc74eccccf714b910d7a4fe..9cb2f3b31921870ddba044840e99eb04 MutablePair> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap())); ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.chunkX, e.chunkZ); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 54bbd1ca159d85bb90187edfcca1c38586c3557f..f6b97eec33ace01077e6bca58f3c11978422ac47 100644 +index f2fb9e661b6c2d87348c9144d32e568cc6ada5dc..b8267cf23f795fd7e586b0e567037eae5048d08e 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -51,7 +51,7 @@ import org.bukkit.event.player.PlayerTeleportEvent; diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index 0e7a9f9a45..a320462350 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -758,10 +758,10 @@ index 853e11836b6c4eadd03feead101bf578b17b86a3..0aea16df16b55b1d4756b51d10c8c22d } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 20f62f6f7704f47f86179d03b4e55a61e0149627..dd78f093f6ee9822c4a31d87f3c83d2f8fa4fcf8 100644 +index 08f11f98c40221fa4ce9a4f14ee8398f8588f38a..a066026bce318683dcc022920dad39d7ec25e485 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -314,11 +314,13 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -322,11 +322,13 @@ public class ChunkProviderServer extends IChunkProvider { } gameprofilerfiller.c("getChunkCacheMiss"); @@ -777,7 +777,7 @@ index 20f62f6f7704f47f86179d03b4e55a61e0149627..dd78f093f6ee9822c4a31d87f3c83d2f ichunkaccess = (IChunkAccess) ((Either) completablefuture.join()).map((ichunkaccess1) -> { return ichunkaccess1; }, (playerchunk_failure) -> { -@@ -505,7 +507,9 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -513,7 +515,9 @@ public class ChunkProviderServer extends IChunkProvider { public void save(boolean flag) { this.tickDistanceManager(); @@ -787,7 +787,7 @@ index 20f62f6f7704f47f86179d03b4e55a61e0149627..dd78f093f6ee9822c4a31d87f3c83d2f } @Override -@@ -542,7 +546,9 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -550,7 +554,9 @@ public class ChunkProviderServer extends IChunkProvider { this.tickDistanceManager(); this.world.timings.doChunkMap.stopTiming(); // Spigot this.world.getMethodProfiler().exitEnter("chunks"); @@ -797,7 +797,7 @@ index 20f62f6f7704f47f86179d03b4e55a61e0149627..dd78f093f6ee9822c4a31d87f3c83d2f this.world.timings.doChunkUnload.startTiming(); // Spigot this.world.getMethodProfiler().exitEnter("unload"); this.playerChunkMap.unloadChunks(booleansupplier); -@@ -566,8 +572,10 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -574,8 +580,10 @@ public class ChunkProviderServer extends IChunkProvider { boolean flag2 = world.ticksPerAnimalSpawns != 0L && worlddata.getTime() % world.ticksPerAnimalSpawns == 0L; // CraftBukkit this.world.getMethodProfiler().enter("naturalSpawnCount"); @@ -808,7 +808,7 @@ index 20f62f6f7704f47f86179d03b4e55a61e0149627..dd78f093f6ee9822c4a31d87f3c83d2f this.p = spawnercreature_d; this.world.getMethodProfiler().exit(); -@@ -578,7 +586,9 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -586,7 +594,9 @@ public class ChunkProviderServer extends IChunkProvider { if (optional.isPresent()) { this.world.getMethodProfiler().enter("broadcast"); @@ -818,7 +818,7 @@ index 20f62f6f7704f47f86179d03b4e55a61e0149627..dd78f093f6ee9822c4a31d87f3c83d2f this.world.getMethodProfiler().exit(); Optional optional1 = ((Either) playerchunk.b().getNow(PlayerChunk.UNLOADED_CHUNK)).left(); -@@ -592,25 +602,25 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -600,25 +610,25 @@ public class ChunkProviderServer extends IChunkProvider { SpawnerCreature.a(this.world, chunk, spawnercreature_d, this.allowAnimals, this.allowMonsters, flag2); } @@ -1683,7 +1683,7 @@ index 6df28adb17d78a7f5189787a979a44fad677f05c..09577ddcb3c2432a0af6047b287a387d CrashReport crashreport = CrashReport.a(throwable, "Ticking entity"); CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being ticked"); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index c96ad91b15920293e228f5eb7d0843beda92faec..21e4088cfdb7218e78fb771fe4c9bd2027594663 100644 +index 592af06de1fc02d94273363c2ede1175a39997f0..3d915105b277a7cbf330ba2cb3c2f1451ee868e4 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -2,6 +2,8 @@ package net.minecraft.server; diff --git a/Spigot-Server-Patches/0011-Configurable-baby-zombie-movement-speed.patch b/Spigot-Server-Patches/0011-Configurable-baby-zombie-movement-speed.patch index dfc9d64a5e..6cee456e8d 100644 --- a/Spigot-Server-Patches/0011-Configurable-baby-zombie-movement-speed.patch +++ b/Spigot-Server-Patches/0011-Configurable-baby-zombie-movement-speed.patch @@ -25,7 +25,7 @@ index 3618cc017feb60e257a28f67cbddca3f792a9833..796c17e0941922a9716212c6eae91643 + } } diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index a3f608e3a06abfa4268278b6f1298ece36264a02..d07847876e22971b4a90f67d8281bf08361424e0 100644 +index f4c74db7c15fc8112b759516b7ab2c7bca6186b7..422632c9050d0bcc5398ac5d4cf51801cea9cdda 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -21,7 +21,7 @@ import org.bukkit.event.entity.EntityTransformEvent; diff --git a/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump-and-take-water-damage.patch b/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump-and-take-water-damage.patch index b13b7c74ba..372b5493f5 100644 --- a/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump-and-take-water-damage.patch +++ b/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump-and-take-water-damage.patch @@ -31,7 +31,7 @@ index 2e869004c8c6b8bfbb002fb4eda04519d50390c8..22eb89df768819f0a18f91b806b56ace this.b.setJumping(this.a); this.a = false; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index a6534087b10c9a469a3d2cf4da717fab17b31544..bbb66e90aba2332c7c87a173639efc6ad61f5d53 100644 +index 03933c24ed4d97e16bcebf6b89b1a8d1fc43cd0b..ae96ff73f78a514328862de86d3ecdb29fa9c145 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1020,6 +1020,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -43,7 +43,7 @@ index a6534087b10c9a469a3d2cf4da717fab17b31544..bbb66e90aba2332c7c87a173639efc6a return this.isInWater() || this.isInRain() || this.k(); } diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 09ac187ba8ff52f6fa1f0d5d00a138518bacb50a..59af58e1aed678b8eac83f2346f5822aff700fb7 100644 +index 03bfd29c12e7dd6e359481ffb56fddad1a44492a..be24030f9c23da21e2f7c98cb0df5e7229109d26 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -33,6 +33,7 @@ public abstract class EntityInsentient extends EntityLiving { diff --git a/Spigot-Server-Patches/0014-Add-configurable-despawn-distances-for-living-entiti.patch b/Spigot-Server-Patches/0014-Add-configurable-despawn-distances-for-living-entiti.patch index ed3430d5c9..cbea564739 100644 --- a/Spigot-Server-Patches/0014-Add-configurable-despawn-distances-for-living-entiti.patch +++ b/Spigot-Server-Patches/0014-Add-configurable-despawn-distances-for-living-entiti.patch @@ -30,7 +30,7 @@ index b41e7922dd96c3358eb849ab39982a75736e3476..2f0d582baf0eb2bb477944d0cb1369db + } } diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 59af58e1aed678b8eac83f2346f5822aff700fb7..c80d7f72a55ae92587ba8a4618787fb712bdaf23 100644 +index be24030f9c23da21e2f7c98cb0df5e7229109d26..15b0d48e9dfe707b2859564b33206085f5a4e0db 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -698,14 +698,14 @@ public abstract class EntityInsentient extends EntityLiving { diff --git a/Spigot-Server-Patches/0015-Allow-for-toggling-of-spawn-chunks.patch b/Spigot-Server-Patches/0015-Allow-for-toggling-of-spawn-chunks.patch index 12584a8bdf..7f96715faa 100644 --- a/Spigot-Server-Patches/0015-Allow-for-toggling-of-spawn-chunks.patch +++ b/Spigot-Server-Patches/0015-Allow-for-toggling-of-spawn-chunks.patch @@ -20,7 +20,7 @@ index 2f0d582baf0eb2bb477944d0cb1369db6ca33956..89e76dd73811fd0f6f8c8e7e5af804d5 + } } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index e24c5e20f128e787f0a0e58716944dd8748f73c1..3f2ca3874f743c635fd6a7f6c18d554425a0c056 100644 +index 09577ddcb3c2432a0af6047b287a387de5d2920a..0f602de85bc7002150247b6cb26c6905f0e4f585 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -165,6 +165,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch b/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch index 8005e008da..244c75378c 100644 --- a/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch +++ b/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch @@ -24,7 +24,7 @@ index 89e76dd73811fd0f6f8c8e7e5af804d5a4bb5a75..d16ae924bcbe31c964f7fb448757c748 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index bbb66e90aba2332c7c87a173639efc6ad61f5d53..47e1845ca967210d15bf2beba32442ec8b1bde34 100644 +index ae96ff73f78a514328862de86d3ecdb29fa9c145..09bab3828197e3078a4ed95e7c8a9f34e8bf1b8d 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1765,6 +1765,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0018-Implement-Paper-VersionChecker.patch b/Spigot-Server-Patches/0018-Implement-Paper-VersionChecker.patch index faab5c9189..f1c5979144 100644 --- a/Spigot-Server-Patches/0018-Implement-Paper-VersionChecker.patch +++ b/Spigot-Server-Patches/0018-Implement-Paper-VersionChecker.patch @@ -126,7 +126,7 @@ index 0000000000000000000000000000000000000000..5deed3e25ff41ab0a4015a5fd0c1e952 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 4075553d0abe19442903add9854f61cd657ab0ce..e1a8a4fdcc74dcd40b5230e84d56e97d4706ae36 100644 +index d63a160f1b00de8d67ae1eb4fefbd5ca06835de7..8a4ee9e4762141b05c0e79f387823414102e6382 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -343,6 +343,11 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/Spigot-Server-Patches/0020-Player-affects-spawning-API.patch b/Spigot-Server-Patches/0020-Player-affects-spawning-API.patch index d2b09d54d6..34099e0ce4 100644 --- a/Spigot-Server-Patches/0020-Player-affects-spawning-API.patch +++ b/Spigot-Server-Patches/0020-Player-affects-spawning-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Player affects spawning API diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 0f47b10c9c3357f7a462680e2f26d7808a5f8afc..14646561f8fe661ba2b815c1abfb81af61f027d4 100644 +index 09bab3828197e3078a4ed95e7c8a9f34e8bf1b8d..dc996792df6046d442565a7993ec299af6605d92 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1269,6 +1269,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0025-Entity-Origin-API.patch b/Spigot-Server-Patches/0025-Entity-Origin-API.patch index 05cc3b8719..4bf46fadcf 100644 --- a/Spigot-Server-Patches/0025-Entity-Origin-API.patch +++ b/Spigot-Server-Patches/0025-Entity-Origin-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entity Origin API diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 3e37374eba5d806a8e776924e034d26b06f26766..f20c6f1d2118a5f3feaace82f1c472c8ebbd26c0 100644 +index dc996792df6046d442565a7993ec299af6605d92..c6b91de58c0190aca0455aacc04994f8ea5d81b7 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -162,6 +162,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -101,7 +101,7 @@ index ad8a506bb430b26fe147a657a2f826daf9bf4d45..ad4807e0bdd6409bd798f995da8f43ce if (i >= 0 && i < this.list.size()) { NBTBase nbtbase = (NBTBase) this.list.get(i); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index da01aac42b32af6831a69f49e43d77fd6d5704ca..5c5229a815f098411450f6affb883c40c170fb2e 100644 +index 21e4088cfdb7218e78fb771fe4c9bd2027594663..89c22be536a45199a29d328b125bdcb9c2848d65 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1135,6 +1135,11 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0027-Configurable-top-of-nether-void-damage.patch b/Spigot-Server-Patches/0027-Configurable-top-of-nether-void-damage.patch index b91aeb1507..38ca85512a 100644 --- a/Spigot-Server-Patches/0027-Configurable-top-of-nether-void-damage.patch +++ b/Spigot-Server-Patches/0027-Configurable-top-of-nether-void-damage.patch @@ -29,7 +29,7 @@ index d16ae924bcbe31c964f7fb448757c748e5c4418c..4bba6977a0287837b8927718c040ac61 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 26ad7e7d44dc1195f7ab948d2b42bf629c2702a7..52595b6534e2798b36b3a7c2d97451bd0ea2f3a0 100644 +index c6b91de58c0190aca0455aacc04994f8ea5d81b7..d3e7a49a4161d68733cfba8d9ffd1cd9821ab2e3 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -415,9 +415,16 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0032-Optimize-explosions.patch b/Spigot-Server-Patches/0032-Optimize-explosions.patch index 3a819dbed0..0780513cc9 100644 --- a/Spigot-Server-Patches/0032-Optimize-explosions.patch +++ b/Spigot-Server-Patches/0032-Optimize-explosions.patch @@ -123,7 +123,7 @@ index afe61a1ddc75f155836411b6749198f71ed09919..ac39b02ec5f02f6f2db9f293513686d2 + // Paper end } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 775306d7e59ff135004e54d2d055bd05edba7e61..4d3cb70f1567b042e1605b30637706560bd883d9 100644 +index 478dfe231720324e995dc4123fbf19b9ce26c16e..5b4b6810586761072a790b7bbe3368d26cd5bb13 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1207,6 +1207,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant this.e() && (double) blockposition.getX() < this.g() && (double) (blockposition.getZ() + 1) > this.f() && (double) blockposition.getZ() < this.h(); } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index ef7b76c4a9b5bafa4780922558538bbdcd783120..01fde964fa2fae3cfefc4b9e8e2c59a997d09539 100644 +index 07f2cf8461343f054828a32f8bf48563321e666a..6a57b9337d3f345197a127b16e3799d0c58fab2d 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -88,7 +88,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0068-Use-a-Shared-Random-for-Entities.patch b/Spigot-Server-Patches/0068-Use-a-Shared-Random-for-Entities.patch index 113fef3388..b2d14878db 100644 --- a/Spigot-Server-Patches/0068-Use-a-Shared-Random-for-Entities.patch +++ b/Spigot-Server-Patches/0068-Use-a-Shared-Random-for-Entities.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Use a Shared Random for Entities Reduces memory usage and provides ensures more randomness, Especially since a lot of garbage entity objects get created. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 02ad0b959e636d0f93cfd491b7b549364f92fbb6..1769e9b0f3d358253b6387491589916f7bb219fe 100644 +index 99edd9811f9bd9f2150fcc83459d58063156ca26..487d041999fd1edc4b48790dbc975cf8cea8ba54 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -58,6 +58,21 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0069-Configurable-spawn-chances-for-skeleton-horses.patch b/Spigot-Server-Patches/0069-Configurable-spawn-chances-for-skeleton-horses.patch index fd8012019f..96b9850011 100644 --- a/Spigot-Server-Patches/0069-Configurable-spawn-chances-for-skeleton-horses.patch +++ b/Spigot-Server-Patches/0069-Configurable-spawn-chances-for-skeleton-horses.patch @@ -22,7 +22,7 @@ index 3c78d3234054ce2dc46ef77decb6adb0cbd10620..cd64fb9d0c6d123e1c86cb33f12cd9ce + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 01fde964fa2fae3cfefc4b9e8e2c59a997d09539..51afd8277d1b00e299c44d198faa64179940a8ec 100644 +index 6a57b9337d3f345197a127b16e3799d0c58fab2d..4029f090d7b01c10b4f3f99004ab92f04653e884 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -479,7 +479,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0070-Optimize-isValidLocation-getType-and-getBlockData-fo.patch b/Spigot-Server-Patches/0070-Optimize-isValidLocation-getType-and-getBlockData-fo.patch index d4c2fb09ff..0b68e4649e 100644 --- a/Spigot-Server-Patches/0070-Optimize-isValidLocation-getType-and-getBlockData-fo.patch +++ b/Spigot-Server-Patches/0070-Optimize-isValidLocation-getType-and-getBlockData-fo.patch @@ -33,7 +33,7 @@ index f6a5ebd4c7ec045c8dd6841831f8fcc0b32d964e..63a9ce32fb8b98695e104f7d820cd9b1 this.a = i; this.b = j; diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 81c6ce3ba87da692675bca8b2831a90fabfa4e37..b6ff6095543d720382786e159a9f1cdd6eb6f166 100644 +index 01655fd86f9a3218036f8b5404e233d32e0904a5..9ef17a2ad31c8e11ba433b49aa9a31cf8df57dc8 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -312,12 +312,27 @@ public class Chunk implements IChunkAccess { @@ -192,7 +192,7 @@ index 5cfddbfe0bd84c994ed7fa4968bcf4fc13381001..420bf7116def909d3dd7dc9a79972344 @Override public Fluid getFluid(BlockPosition blockposition) { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 4aa4a8d10b5126125ae420037c5e1faabdbe147b..096a1d3bf0e9c51244ecd9ad2fbd240f3e01f461 100644 +index 4a25c3d77a960dd256aeffdac08bb035b9429f63..7c6127739f1d88ee0dc411db5fcaa37d7fff36f7 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -187,7 +187,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/Spigot-Server-Patches/0071-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/Spigot-Server-Patches/0071-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch index 7fc3d5d9e4..eba6614858 100644 --- a/Spigot-Server-Patches/0071-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch +++ b/Spigot-Server-Patches/0071-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch @@ -32,7 +32,7 @@ index 48eb9c8a68d45c88c7a42e8e400446a374fb4fc9..2c8d49501664862559ed8974b4821bdd } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4d3cb70f1567b042e1605b30637706560bd883d9..2193e395e05bbfcd32f95445c85b65ee4dca5ed4 100644 +index 5b4b6810586761072a790b7bbe3368d26cd5bb13..a3913ee0756f79159ea0671c9041ab68db0aa121 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1173,6 +1173,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { return worldserver + " " + worldserver.getDimensionKey().a(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index babf153a3cdf13e7055269adace3948f180925fe..4dfc49ba09e3c4a6f58c74f3ea71a22ce63dbc36 100644 +index 7c6127739f1d88ee0dc411db5fcaa37d7fff36f7..5ce86030a71c181c4c28b8934be4fa8c7eafc299 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -406,7 +406,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -66,7 +66,7 @@ index babf153a3cdf13e7055269adace3948f180925fe..4dfc49ba09e3c4a6f58c74f3ea71a22c this.getServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 51afd8277d1b00e299c44d198faa64179940a8ec..058d222b97c2698518f165f5a5b59fb2aed565fa 100644 +index 4029f090d7b01c10b4f3f99004ab92f04653e884..7e44af3e933f16fc00cd2b43e913f87380fb1cae 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -87,6 +87,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0072-Entity-AddTo-RemoveFrom-World-Events.patch b/Spigot-Server-Patches/0072-Entity-AddTo-RemoveFrom-World-Events.patch index 532fa83073..f25be7ea0d 100644 --- a/Spigot-Server-Patches/0072-Entity-AddTo-RemoveFrom-World-Events.patch +++ b/Spigot-Server-Patches/0072-Entity-AddTo-RemoveFrom-World-Events.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entity AddTo/RemoveFrom World Events diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 058d222b97c2698518f165f5a5b59fb2aed565fa..f2d3ca17cd136db1e669477c15e660a8d39b0534 100644 +index 7e44af3e933f16fc00cd2b43e913f87380fb1cae..d199191220b5afc42d639f316878501c91514a50 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1103,7 +1103,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0080-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch b/Spigot-Server-Patches/0080-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch index d7c56ff7f1..cdc99defce 100644 --- a/Spigot-Server-Patches/0080-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch +++ b/Spigot-Server-Patches/0080-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix Cancelling BlockPlaceEvent triggering physics diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 4dfc49ba09e3c4a6f58c74f3ea71a22ce63dbc36..1f4b9740557b58bd78a7683e69310853094b172b 100644 +index 5ce86030a71c181c4c28b8934be4fa8c7eafc299..d6ee6aae693519a379b4a6ba26642d5ef78e4deb 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -466,6 +466,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/Spigot-Server-Patches/0084-Remove-unused-World-Tile-Entity-List.patch b/Spigot-Server-Patches/0084-Remove-unused-World-Tile-Entity-List.patch index 390a69f36c..a6188cbf9a 100644 --- a/Spigot-Server-Patches/0084-Remove-unused-World-Tile-Entity-List.patch +++ b/Spigot-Server-Patches/0084-Remove-unused-World-Tile-Entity-List.patch @@ -67,10 +67,10 @@ index d6ee6aae693519a379b4a6ba26642d5ef78e4deb..369a6b42a89fd75aeb3da4930f47b691 } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index d199191220b5afc42d639f316878501c91514a50..4be09328cea0808c3a41681aea860cd04f799bbd 100644 +index dbb022fb186b181b9b1912adfaebbb00fa1c7d4b..486ba1efc934c6851d2b570493af6e1079a7abd5 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1600,7 +1600,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1611,7 +1611,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { } bufferedwriter.write(String.format("entities: %d\n", this.entitiesById.size())); @@ -79,7 +79,7 @@ index d199191220b5afc42d639f316878501c91514a50..4be09328cea0808c3a41681aea860cd0 bufferedwriter.write(String.format("block_ticks: %d\n", this.getBlockTickList().a())); bufferedwriter.write(String.format("fluid_ticks: %d\n", this.getFluidTickList().a())); bufferedwriter.write("distance_manager: " + playerchunkmap.e().c() + "\n"); -@@ -1739,7 +1739,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1750,7 +1750,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { private void a(Writer writer) throws IOException { CSVWriter csvwriter = CSVWriter.a().a("x").a("y").a("z").a("type").a(writer); diff --git a/Spigot-Server-Patches/0086-Configurable-Player-Collision.patch b/Spigot-Server-Patches/0086-Configurable-Player-Collision.patch index d5d149eb93..42e8a32242 100644 --- a/Spigot-Server-Patches/0086-Configurable-Player-Collision.patch +++ b/Spigot-Server-Patches/0086-Configurable-Player-Collision.patch @@ -19,7 +19,7 @@ index 772f48ca940b235481dd27669d9370e53f5380dd..042cb74c9c55366d91e98449bd51ad2b + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 2193e395e05bbfcd32f95445c85b65ee4dca5ed4..cfa8ae00bfa5583c9e744180faccc607bc9508ba 100644 +index a3913ee0756f79159ea0671c9041ab68db0aa121..31cc60dcf998cf07ca8db14dba37145ed5b3601c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -432,6 +432,20 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant extends CraftBlockState diff --git a/Spigot-Server-Patches/0098-Optimize-UserCache-Thread-Safe.patch b/Spigot-Server-Patches/0098-Optimize-UserCache-Thread-Safe.patch index 9e030b2f1c..d4e52b5da5 100644 --- a/Spigot-Server-Patches/0098-Optimize-UserCache-Thread-Safe.patch +++ b/Spigot-Server-Patches/0098-Optimize-UserCache-Thread-Safe.patch @@ -23,7 +23,7 @@ index 7b52bf335e60a700b4c4e25cab1b0261f32775bc..dc0cb79525adf0d5afee1f677e1fde54 if (!NameReferencingFileConverter.e(this)) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f45ff52fe33876251dea312155bf30b4bdbfa865..365719e9f6228f19dfb598d4850dc7ef69377f7c 100644 +index 68c6ccf0576752b836079a3c5352102182a6127e..7e4a966b5748417223243344bf7c4483e997a237 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -787,7 +787,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 256, < 0, is tr Keep them consistent diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 9599f1141c90e803ca0a9cd9b15ed1205beca8eb..8e005ead10a9ac738b0e626239926bbf30e16695 100644 +index b27ebc0726ecd13062f5cbf49edca2e5cfa4a4c3..e23a5f446a1e357493f5232c39baa45f7386a637 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -736,7 +736,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0121-Don-t-let-fishinghooks-use-portals.patch b/Spigot-Server-Patches/0121-Don-t-let-fishinghooks-use-portals.patch index 4422a5ee00..a703baf0cc 100644 --- a/Spigot-Server-Patches/0121-Don-t-let-fishinghooks-use-portals.patch +++ b/Spigot-Server-Patches/0121-Don-t-let-fishinghooks-use-portals.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't let fishinghooks use portals diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index 9db1c891b69d4fbe163b3272f22351f3d0b306d1..9ab0a4638c36d46327435eec4745d2746819d9b0 100644 +index ad2ec3472a164bdf3a1ff2c42ec18c74ad58a13c..0e5bbe285bcbb410cc442eba1738aeb2a117ce62 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -201,6 +201,11 @@ public class EntityFishingHook extends IProjectile { diff --git a/Spigot-Server-Patches/0124-Optimize-World.isLoaded-BlockPosition-Z.patch b/Spigot-Server-Patches/0124-Optimize-World.isLoaded-BlockPosition-Z.patch index 03e81d8e00..95b1113104 100644 --- a/Spigot-Server-Patches/0124-Optimize-World.isLoaded-BlockPosition-Z.patch +++ b/Spigot-Server-Patches/0124-Optimize-World.isLoaded-BlockPosition-Z.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Optimize World.isLoaded(BlockPosition)Z Reduce method invocations for World.isLoaded(BlockPosition)Z diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 6e3f29d40e35e583d8ace7e1e25dc2171414c2b0..d44554916691411e3e376ffb04dc2f182c603a29 100644 +index 9ac1f42372a18c0907c7b0137b6a83022e3e984d..7deac857ab2218d7caa71a8b7b42fea0ab200b96 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -252,6 +252,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/Spigot-Server-Patches/0127-Optimize-ItemStack.isEmpty.patch b/Spigot-Server-Patches/0127-Optimize-ItemStack.isEmpty.patch index e3476cb3ff..47de1a8811 100644 --- a/Spigot-Server-Patches/0127-Optimize-ItemStack.isEmpty.patch +++ b/Spigot-Server-Patches/0127-Optimize-ItemStack.isEmpty.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Optimize ItemStack.isEmpty() Remove hashMap lookup every check, simplify code to remove ternary diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index dce861df47403ae7f7c5f0f541f3f7abf0abe0cc..74de67380094261cb93264d760ddbbbd5cce8220 100644 +index eee69f9ac8936cf7ad84629aba91bf09371762f3..2b2f5a8ac100c93b4c17d808b19a8252ed175760 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -154,7 +154,7 @@ public final class ItemStack { diff --git a/Spigot-Server-Patches/0128-Add-API-methods-to-control-if-armour-stands-can-move.patch b/Spigot-Server-Patches/0128-Add-API-methods-to-control-if-armour-stands-can-move.patch index 06161be5d8..dc6efeef11 100644 --- a/Spigot-Server-Patches/0128-Add-API-methods-to-control-if-armour-stands-can-move.patch +++ b/Spigot-Server-Patches/0128-Add-API-methods-to-control-if-armour-stands-can-move.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add API methods to control if armour stands can move diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 6aaa4f6f519a4438cdde64c2246b364efa078904..7f002225887f41829f85afcae021aff6cc3dfc9f 100644 +index ad3c2f4b448fe8a49c1c43374cd5cf14114c9b16..4870a6f9f894b2c9d0fea83dad0808ac6448f808 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -45,6 +45,7 @@ public class EntityArmorStand extends EntityLiving { diff --git a/Spigot-Server-Patches/0133-Provide-E-TE-Chunk-count-stat-methods.patch b/Spigot-Server-Patches/0133-Provide-E-TE-Chunk-count-stat-methods.patch index dec6e7647b..bf3721eed1 100644 --- a/Spigot-Server-Patches/0133-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/Spigot-Server-Patches/0133-Provide-E-TE-Chunk-count-stat-methods.patch @@ -7,7 +7,7 @@ Provides counts without the ineffeciency of using .getEntities().size() which creates copy of the collections. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index e38b1a7258ea5be6baec9a9f40b70055499e9369..948639d629d0126c914b1b4d20f7dfaa6137e63e 100644 +index 539bc756b5341e60266d6505d81778748cd5f475..e42f27bb10b6ee279555cfee3c90a88fccad9d65 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -281,6 +281,48 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0135-Don-t-allow-entities-to-ride-themselves-572.patch b/Spigot-Server-Patches/0135-Don-t-allow-entities-to-ride-themselves-572.patch index 426b4a30e0..f4486c1780 100644 --- a/Spigot-Server-Patches/0135-Don-t-allow-entities-to-ride-themselves-572.patch +++ b/Spigot-Server-Patches/0135-Don-t-allow-entities-to-ride-themselves-572.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't allow entities to ride themselves - #572 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 703267fe8a9b5e9d49d3b2dbe1da93def15d1b54..170dad8be525b40d764b6e63c981f7b73775a01b 100644 +index 6aa29495802b7d52c4c0f283495c7d1762f657fa..8e306dfac0b1a0355b1a7cd84ec8c8514c172268 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1956,6 +1956,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0136-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0136-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index e6ce13ff47..f9b0139ba1 100644 --- a/Spigot-Server-Patches/0136-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-Server-Patches/0136-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -226,10 +226,10 @@ index eedec25373cfc8adec7ac8a99b146770dc15c70e..732323ee1de01929c73bc5f98444c0f6 } diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -index c830b3c2145effc16314c6216be8af935416cb58..f1a509063c09e603140c74255a3fb901693d2cc5 100644 +index 86e9c9ec35153d4d6248512e2e3406ca2f3dac46..fa3e786cd6ef67da378a5d51583ca84a82677d8c 100644 --- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java +++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -@@ -144,7 +144,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { +@@ -145,7 +145,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { if (merchantrecipe.isRewardExp()) { int i = 3 + this.random.nextInt(4); diff --git a/Spigot-Server-Patches/0137-Cap-Entity-Collisions.patch b/Spigot-Server-Patches/0137-Cap-Entity-Collisions.patch index 2f0a315ce3..2a3ef4dda8 100644 --- a/Spigot-Server-Patches/0137-Cap-Entity-Collisions.patch +++ b/Spigot-Server-Patches/0137-Cap-Entity-Collisions.patch @@ -27,7 +27,7 @@ index 2dc58b9f769ea43b737804456aafab47ecc143b8..c611b5a63498f5ad1f50a75ccd5d7299 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index bd7d9949eb9a290833958d170d1ad69990406b16..bb049690ce61310a90852637397abd449c1dc43a 100644 +index 8e306dfac0b1a0355b1a7cd84ec8c8514c172268..c3cdcf7effe86f97ab6a6e7907ab6a3954faa113 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -183,6 +183,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0138-Remove-CraftScheduler-Async-Task-Debugger.patch b/Spigot-Server-Patches/0138-Remove-CraftScheduler-Async-Task-Debugger.patch index 710f71c575..db58842a96 100644 --- a/Spigot-Server-Patches/0138-Remove-CraftScheduler-Async-Task-Debugger.patch +++ b/Spigot-Server-Patches/0138-Remove-CraftScheduler-Async-Task-Debugger.patch @@ -9,7 +9,7 @@ One report of a suspected memory leak with the system. This adds additional overhead to asynchronous task dispatching diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index 343cdb06881fa8b0155b56d29c110bba489f9667..f7a977c342e564b3e24034c756c128068c143a65 100644 +index 9b6d9373abb59a30c2835ca891282d07559281f5..0e0f361c3af363539d5d1d865603114bdb84fd67 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -430,7 +430,7 @@ public class CraftScheduler implements BukkitScheduler { diff --git a/Spigot-Server-Patches/0140-Do-not-let-armorstands-drown.patch b/Spigot-Server-Patches/0140-Do-not-let-armorstands-drown.patch index a3189d008f..d24dab5b79 100644 --- a/Spigot-Server-Patches/0140-Do-not-let-armorstands-drown.patch +++ b/Spigot-Server-Patches/0140-Do-not-let-armorstands-drown.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Do not let armorstands drown diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 7f002225887f41829f85afcae021aff6cc3dfc9f..b0847b4e61e587a47fd209eb2ec3772d1486802d 100644 +index 4870a6f9f894b2c9d0fea83dad0808ac6448f808..e17637cfee773b1b79c05d7a8e6558963c7a9c14 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -837,5 +837,10 @@ public class EntityArmorStand extends EntityLiving { @@ -20,7 +20,7 @@ index 7f002225887f41829f85afcae021aff6cc3dfc9f..b0847b4e61e587a47fd209eb2ec3772d // Paper end } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 8698cecf89ce509c2fc729e0e564c01e253e2b14..91d5dc2aac5cf487db1a52b4b471a4781178cc37 100644 +index c2c5dbba5cc048e8fa2a4a383737330adf7b7663..2dfa2abf37994a72dfdfcc38e032626247b43fd7 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -245,6 +245,7 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0142-Add-system-property-to-disable-book-size-limits.patch b/Spigot-Server-Patches/0142-Add-system-property-to-disable-book-size-limits.patch index 63b8d4f76a..6a83411e21 100644 --- a/Spigot-Server-Patches/0142-Add-system-property-to-disable-book-size-limits.patch +++ b/Spigot-Server-Patches/0142-Add-system-property-to-disable-book-size-limits.patch @@ -11,7 +11,7 @@ to make books with as much data as they want. Do not use this without limiting incoming data from packets in some other way. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java -index b609caf567989d850e140437971871749ad47f2e..437b22f1a038092438538013d399499153070de3 100644 +index a0cc04cb6d1f02df3018320b4147bd0b156dd81c..bcfa7080c0a01f9d0026e1bde89db00598c880c4 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java @@ -37,6 +37,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta { diff --git a/Spigot-Server-Patches/0147-Item-canEntityPickup.patch b/Spigot-Server-Patches/0147-Item-canEntityPickup.patch index 1d869dc7f7..c16a3f25f4 100644 --- a/Spigot-Server-Patches/0147-Item-canEntityPickup.patch +++ b/Spigot-Server-Patches/0147-Item-canEntityPickup.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Item#canEntityPickup diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 61b5a3d14413455e22857f72e6b5d825f5b589d8..1b0c4234cf579b35f404c129c2c6d3266b670b09 100644 +index a819fc46bebc4b1aaae63f822087574e976e2ab8..6274cf1975270fdac8ae4986e1c170bd075d640e 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -539,6 +539,11 @@ public abstract class EntityInsentient extends EntityLiving { diff --git a/Spigot-Server-Patches/0155-Entity-fromMobSpawner.patch b/Spigot-Server-Patches/0155-Entity-fromMobSpawner.patch index 704cdd4bd2..1836e345a7 100644 --- a/Spigot-Server-Patches/0155-Entity-fromMobSpawner.patch +++ b/Spigot-Server-Patches/0155-Entity-fromMobSpawner.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entity#fromMobSpawner() diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 90d2509865f5b43eb9061023a6315ac6e4f83faf..508601b29c1f10ffabcf414d97189f5cd8c0a3af 100644 +index c3cdcf7effe86f97ab6a6e7907ab6a3954faa113..f647b4975e714164313142acef04f8e320ca79cf 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -183,6 +183,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0163-Fix-MC-117075-TE-Unload-Lag-Spike.patch b/Spigot-Server-Patches/0163-Fix-MC-117075-TE-Unload-Lag-Spike.patch index cd83105c7a..6bf1dfc083 100644 --- a/Spigot-Server-Patches/0163-Fix-MC-117075-TE-Unload-Lag-Spike.patch +++ b/Spigot-Server-Patches/0163-Fix-MC-117075-TE-Unload-Lag-Spike.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix MC-117075: TE Unload Lag Spike diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index d44554916691411e3e376ffb04dc2f182c603a29..327a668f1306f1ec90e63598da925fce576e6ed5 100644 +index 7deac857ab2218d7caa71a8b7b42fea0ab200b96..aba716e98f21e1635f24323bf1f03bad84b318aa 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -673,7 +673,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/Spigot-Server-Patches/0165-LivingEntity-setKiller.patch b/Spigot-Server-Patches/0165-LivingEntity-setKiller.patch index 4040f4f4a5..de8ce91db3 100644 --- a/Spigot-Server-Patches/0165-LivingEntity-setKiller.patch +++ b/Spigot-Server-Patches/0165-LivingEntity-setKiller.patch @@ -5,7 +5,7 @@ Subject: [PATCH] LivingEntity#setKiller diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index f52c2faa42c45d1d8acf7002c306a7de3aadcb86..2fe60df578ad7d6087ae86759f22421a25e5258d 100644 +index 2dfa2abf37994a72dfdfcc38e032626247b43fd7..67b5b28c6c082a616ae2114874cdb0969f95ab98 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -87,7 +87,7 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0177-use-CB-BlockState-implementations-for-captured-block.patch b/Spigot-Server-Patches/0177-use-CB-BlockState-implementations-for-captured-block.patch index 64b878b6dc..ac4f31810f 100644 --- a/Spigot-Server-Patches/0177-use-CB-BlockState-implementations-for-captured-block.patch +++ b/Spigot-Server-Patches/0177-use-CB-BlockState-implementations-for-captured-block.patch @@ -18,7 +18,7 @@ the blockstate that will be valid for restoration, as opposed to dropping information on restoration when the event is cancelled. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index f3ac45a5936c2fbf3b013bfbb904effed5241e15..33444cd8aec8ce39fb4fef232909cd42ef036d54 100644 +index aba716e98f21e1635f24323bf1f03bad84b318aa..d3c282eb5253351ec4288bffaeca715547089cec 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -71,7 +71,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/Spigot-Server-Patches/0186-PlayerNaturallySpawnCreaturesEvent.patch b/Spigot-Server-Patches/0186-PlayerNaturallySpawnCreaturesEvent.patch index e5a0ce285e..65beb12f34 100644 --- a/Spigot-Server-Patches/0186-PlayerNaturallySpawnCreaturesEvent.patch +++ b/Spigot-Server-Patches/0186-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 dd78f093f6ee9822c4a31d87f3c83d2f8fa4fcf8..b6ec5d0f281bac483f210fd8c45a8965cd97cc02 100644 +index a066026bce318683dcc022920dad39d7ec25e485..8017953af1df6c046a47ebe655e5d1afa68d50f8 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -581,6 +581,15 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -589,6 +589,15 @@ public class ChunkProviderServer extends IChunkProvider { this.world.getMethodProfiler().exit(); //List list = Lists.newArrayList(this.playerChunkMap.f()); // Paper //Collections.shuffle(list); // Paper diff --git a/Spigot-Server-Patches/0196-Implement-extended-PaperServerListPingEvent.patch b/Spigot-Server-Patches/0196-Implement-extended-PaperServerListPingEvent.patch index f65174ec16..55c415a01e 100644 --- a/Spigot-Server-Patches/0196-Implement-extended-PaperServerListPingEvent.patch +++ b/Spigot-Server-Patches/0196-Implement-extended-PaperServerListPingEvent.patch @@ -177,7 +177,7 @@ index 0000000000000000000000000000000000000000..26ddf92f86fccc2b2562f7abf4788d1e + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b14381fd33b19a511106046d0c66d58353c57e7d..983868ef2b2d9bbec19ba8a23cb6376de015b53e 100644 +index ee009052eb10125bbaca95b5fda306adbd8a9995..88b45c8b4f58ee83d625408eae08aa329c87a6d4 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -2,6 +2,9 @@ package net.minecraft.server; diff --git a/Spigot-Server-Patches/0197-Improved-Async-Task-Scheduler.patch b/Spigot-Server-Patches/0197-Improved-Async-Task-Scheduler.patch index e01a0db40d..b0ae823221 100644 --- a/Spigot-Server-Patches/0197-Improved-Async-Task-Scheduler.patch +++ b/Spigot-Server-Patches/0197-Improved-Async-Task-Scheduler.patch @@ -159,7 +159,7 @@ index 0000000000000000000000000000000000000000..3c1992e212a6d6f1db4d5b807b38d719 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index f7a977c342e564b3e24034c756c128068c143a65..7532bbd82559763cfaf5433a07914b5fb906122c 100644 +index 0e0f361c3af363539d5d1d865603114bdb84fd67..ca90237a53c9a026919d28adaedf483ca3c7c2a8 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -63,7 +63,7 @@ public class CraftScheduler implements BukkitScheduler { diff --git a/Spigot-Server-Patches/0212-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0212-Expand-World.spawnParticle-API-and-add-Builder.patch index 97a93de587..ed2e922b3a 100644 --- a/Spigot-Server-Patches/0212-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-Server-Patches/0212-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -10,7 +10,7 @@ Adds an option to control the force mode of the particle. This adds a new Builder API which is much friendlier to use. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index e23a5f446a1e357493f5232c39baa45f7386a637..a1491094b58cf814d7b05d6c0ce4067bf34dae1a 100644 +index 885bf43a591492f19bd5a421ea4271854ae8f192..d192e341f0f6a3d03329dab16de3b19962091d2a 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -61,7 +61,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { @@ -22,7 +22,7 @@ index e23a5f446a1e357493f5232c39baa45f7386a637..a1491094b58cf814d7b05d6c0ce4067b public final ChunkProviderServer chunkProvider; // Paper - public boolean tickingEntities; private final MinecraftServer server; -@@ -1357,12 +1357,17 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1368,12 +1368,17 @@ public class WorldServer extends World implements GeneratorAccessSeed { } public int sendParticles(EntityPlayer sender, T t0, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6, boolean force) { diff --git a/Spigot-Server-Patches/0218-ItemStack-getMaxItemUseDuration.patch b/Spigot-Server-Patches/0218-ItemStack-getMaxItemUseDuration.patch index f4a31daa10..2201d37d53 100644 --- a/Spigot-Server-Patches/0218-ItemStack-getMaxItemUseDuration.patch +++ b/Spigot-Server-Patches/0218-ItemStack-getMaxItemUseDuration.patch @@ -6,7 +6,7 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration Allows you to determine how long it takes to use a usable/consumable item diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 74de67380094261cb93264d760ddbbbd5cce8220..1a28e6f20340920c35bcd87a0dbfdcd745c79706 100644 +index 2b2f5a8ac100c93b4c17d808b19a8252ed175760..bdb6f9bf3477f85859e3f0dd761e2e895f1a8e2b 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -552,6 +552,7 @@ public final class ItemStack { diff --git a/Spigot-Server-Patches/0237-Re-add-vanilla-entity-warnings-for-duplicates.patch b/Spigot-Server-Patches/0237-Re-add-vanilla-entity-warnings-for-duplicates.patch index 406da86266..ab1877e9b1 100644 --- a/Spigot-Server-Patches/0237-Re-add-vanilla-entity-warnings-for-duplicates.patch +++ b/Spigot-Server-Patches/0237-Re-add-vanilla-entity-warnings-for-duplicates.patch @@ -8,7 +8,7 @@ These are a critical sign that somethin went wrong, and you've lost some data... We should kind of know about these things you know. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 46de86d72ddee11026bef01098a5f3f31c6606cc..6fc0ccc029fc9d1f11f4325792977a67fa89a6c9 100644 +index a0d1e9f7535db896c0589dc02cb03bda23086167..0156e97e736998ed63200d73f4244846050d8354 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -966,7 +966,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0240-add-more-information-to-Entity.toString.patch b/Spigot-Server-Patches/0240-add-more-information-to-Entity.toString.patch index 9bd8f2133c..65d82439a6 100644 --- a/Spigot-Server-Patches/0240-add-more-information-to-Entity.toString.patch +++ b/Spigot-Server-Patches/0240-add-more-information-to-Entity.toString.patch @@ -6,7 +6,7 @@ Subject: [PATCH] add more information to Entity.toString() UUID, ticks lived, valid, dead diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index ef3fb476615fe6a3aafdf5aebcf5680bfaa62e49..07941c987a0c644e896f49ce217c1c625dc25014 100644 +index f647b4975e714164313142acef04f8e320ca79cf..18ec6f553ddea775b279658a280fc2a3e5f96fa9 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2437,7 +2437,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0241-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0241-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index 517910f7b0..dd1fca6abf 100644 --- a/Spigot-Server-Patches/0241-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/Spigot-Server-Patches/0241-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues Add -Ddebug.entities=true to your JVM flags to gain more information diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 07941c987a0c644e896f49ce217c1c625dc25014..c863fd94ee77b81aec84223588e20eed974515d6 100644 +index 18ec6f553ddea775b279658a280fc2a3e5f96fa9..be5ad564964f26c90440bb30464edbf9882ff1e1 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -76,6 +76,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -40,7 +40,7 @@ index 8862bbd73b627e37709d46e6aeeee70c89cbd821..4bbcd00950405a4bf3ce391b557049a3 protected void g() { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 54d7d0da6ee998319db2454372ca283a9d571cdb..fa095bb55c09a3b5f8ab70bcce5a03c7eb93dcfa 100644 +index d3c282eb5253351ec4288bffaeca715547089cec..cb1330ef117224aea07208cebff544c714ae313a 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -68,6 +68,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -52,7 +52,7 @@ index 54d7d0da6ee998319db2454372ca283a9d571cdb..fa095bb55c09a3b5f8ab70bcce5a03c7 public boolean captureBlockStates = false; public boolean captureTreeGeneration = false; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 6fc0ccc029fc9d1f11f4325792977a67fa89a6c9..47c49389d5f025003a0a9876cab5eb67cabec145 100644 +index 0156e97e736998ed63200d73f4244846050d8354..041dfa08066667501f18e043e8b894c660b949a7 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -88,6 +88,9 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0247-Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/0247-Vanished-players-don-t-have-rights.patch index 0b0bb46135..06f2e9e8d8 100644 --- a/Spigot-Server-Patches/0247-Vanished-players-don-t-have-rights.patch +++ b/Spigot-Server-Patches/0247-Vanished-players-don-t-have-rights.patch @@ -17,7 +17,7 @@ index e0ae51ede44de5c894df526c1fc6d94c46d72013..8bcca73ae48ee822d32a6d23be2e1056 return this.getBlock().c(this.p(), iblockaccess, blockposition, voxelshapecollision); } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 64a739d0660098b840e2369f150670691eb9c441..91b450da31b972e2251382cd068a818a6bd70c1e 100644 +index be5ad564964f26c90440bb30464edbf9882ff1e1..c7c8dd944c084c281568cb6444c8bda35b35a4df 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -98,7 +98,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0251-Prevent-Saving-Bad-entities-to-chunks.patch b/Spigot-Server-Patches/0251-Prevent-Saving-Bad-entities-to-chunks.patch index 63c7364d31..10c26b7419 100644 --- a/Spigot-Server-Patches/0251-Prevent-Saving-Bad-entities-to-chunks.patch +++ b/Spigot-Server-Patches/0251-Prevent-Saving-Bad-entities-to-chunks.patch @@ -80,7 +80,7 @@ index d30c4d5a4ee83e21ba9269c0b92af2b72b85d3cc..3a292bccb2295bf7ae46fc3d7e5c9c63 public static ChunkStatus.Type a(@Nullable NBTTagCompound nbttagcompound) { if (nbttagcompound != null) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 47c49389d5f025003a0a9876cab5eb67cabec145..0d78071a1d91c0289992d84a3858102e56434356 100644 +index 041dfa08066667501f18e043e8b894c660b949a7..d6c319c1177e43eebeb7d9f366da3495b38b6b97 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1046,6 +1046,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0254-Implement-Expanded-ArmorStand-API.patch b/Spigot-Server-Patches/0254-Implement-Expanded-ArmorStand-API.patch index b8024705d5..d2cb16ed4f 100644 --- a/Spigot-Server-Patches/0254-Implement-Expanded-ArmorStand-API.patch +++ b/Spigot-Server-Patches/0254-Implement-Expanded-ArmorStand-API.patch @@ -8,7 +8,7 @@ Add the following: - Enable/Disable slot interactions diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 89f6525ef1a4c41d3b662a5ad22b353064a82f36..8922c656617bd8aed5b68f671d5191a537695bdf 100644 +index 9a3183e55fcb6809d2b324ad52e27f3e77d8fcb2..abcf3ab8bab2ca98ab0f7e852b8185e27949a210 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -395,6 +395,7 @@ public class EntityArmorStand extends EntityLiving { diff --git a/Spigot-Server-Patches/0258-Add-hand-to-bucket-events.patch b/Spigot-Server-Patches/0258-Add-hand-to-bucket-events.patch index 2342711a5e..4bb165c899 100644 --- a/Spigot-Server-Patches/0258-Add-hand-to-bucket-events.patch +++ b/Spigot-Server-Patches/0258-Add-hand-to-bucket-events.patch @@ -95,10 +95,10 @@ index 26669ded3ec47d13e4e79d65d0f05a588f9e1f63..d6bce67fff263d2c04be29020a8dc66f public boolean s_() { return this.isClientSide; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 1cbb1c3ddf45cd6d650ca274af4545f2d1c8a813..f047f07e768b77feb469c69166f36a3f6779f561 100644 +index e26b1362899a9fad5e0e3a4e49acd98b67a4f03b..f9d2228fb0543c60d2e0848afb4f927b6a7bce51 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1536,15 +1536,17 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1547,15 +1547,17 @@ public class WorldServer extends World implements GeneratorAccessSeed { this.getMinecraftServer().getPlayerList().sendAll(new PacketPlayOutSpawnPosition(blockposition, f)); } diff --git a/Spigot-Server-Patches/0260-Fix-client-rendering-skulls-from-same-user.patch b/Spigot-Server-Patches/0260-Fix-client-rendering-skulls-from-same-user.patch index 65eac974b0..2baee0dd58 100644 --- a/Spigot-Server-Patches/0260-Fix-client-rendering-skulls-from-same-user.patch +++ b/Spigot-Server-Patches/0260-Fix-client-rendering-skulls-from-same-user.patch @@ -12,7 +12,7 @@ This allows the client to render multiple skull textures from the same user, for when different skins were used when skull was made. diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 1a28e6f20340920c35bcd87a0dbfdcd745c79706..64e9d50be03cbefa521bf8c2e6dba5ceadda78b6 100644 +index bdb6f9bf3477f85859e3f0dd761e2e895f1a8e2b..22568201a292edc8e25396e55cad1572d419b775 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -60,7 +60,7 @@ public final class ItemStack { diff --git a/Spigot-Server-Patches/0263-Use-ConcurrentHashMap-in-JsonList.patch b/Spigot-Server-Patches/0263-Use-ConcurrentHashMap-in-JsonList.patch index 8681169662..b8bf63d230 100644 --- a/Spigot-Server-Patches/0263-Use-ConcurrentHashMap-in-JsonList.patch +++ b/Spigot-Server-Patches/0263-Use-ConcurrentHashMap-in-JsonList.patch @@ -25,7 +25,7 @@ The point of this is readability, but does have a side-benefit of a small microp Finally, added a couple obfhelpers for the modified code diff --git a/src/main/java/net/minecraft/server/JsonList.java b/src/main/java/net/minecraft/server/JsonList.java -index 5b01e4edb3c0f8bc785b70128cbe31b14356e4fb..9213bfb78e92b838189161045e3945588251b486 100644 +index da21918ce0339a0eb8f65ce7791a04ceb12749b7..1fc0139cb9694ddea41f57d95774c3b47e8530c5 100644 --- a/src/main/java/net/minecraft/server/JsonList.java +++ b/src/main/java/net/minecraft/server/JsonList.java @@ -12,6 +12,8 @@ import java.io.BufferedReader; diff --git a/Spigot-Server-Patches/0268-Restore-vanlla-default-mob-spawn-range.patch b/Spigot-Server-Patches/0268-Restore-vanlla-default-mob-spawn-range.patch index 85e9776191..9574b666a3 100644 --- a/Spigot-Server-Patches/0268-Restore-vanlla-default-mob-spawn-range.patch +++ b/Spigot-Server-Patches/0268-Restore-vanlla-default-mob-spawn-range.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Restore vanlla default mob-spawn-range diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java -index 5c394d26e2d2dbc5d65e38c1273b7e5d02464f3a..f0ad5fa235adfd165b8e56be7352568a3b3ae54a 100644 +index 0efcbab8f8806aeb8dd8bd6384e5a7cee375d100..34ee684901906fc2ef5f0d09680d2686b813e52b 100644 --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java @@ -165,7 +165,7 @@ public class SpigotWorldConfig diff --git a/Spigot-Server-Patches/0276-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/Spigot-Server-Patches/0276-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch index 8bc8afa5e4..bd56b13a5c 100644 --- a/Spigot-Server-Patches/0276-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch +++ b/Spigot-Server-Patches/0276-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch @@ -6,7 +6,7 @@ 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 fd314d9d530c347f9f78e81763a9a079b44aa751..d193667beca3da156d8ae17cd80f4bf4c1dbfc8c 100644 +index 47d407af1a770404284c591978978b229cbf7541..bc10ccd76fcf3f03c23f52064c4db17bcad1c574 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -507,7 +507,7 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0279-Improve-death-events.patch b/Spigot-Server-Patches/0279-Improve-death-events.patch index 8b5f9b6518..b6d27e072b 100644 --- a/Spigot-Server-Patches/0279-Improve-death-events.patch +++ b/Spigot-Server-Patches/0279-Improve-death-events.patch @@ -27,7 +27,7 @@ index 0790d45e3c8ac68c280b9378d93061b48b045639..a8054a599e3eb502e7bbce903b568398 int i = this.f ? 300 : 100; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 769fada8ffa657493e5d7bf025281ff5f9f4299f..c9f4dab524e8f2a80b9e3ee178c36b2e394b5f84 100644 +index 49c7b40744adcd36e5ae1eef026679e9b646feac..9b55635d97f8ad90f13fdf609471c1f73eb40aed 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1452,6 +1452,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0280-Allow-chests-to-be-placed-with-NBT-data.patch b/Spigot-Server-Patches/0280-Allow-chests-to-be-placed-with-NBT-data.patch index d0d8c8149d..28b207b170 100644 --- a/Spigot-Server-Patches/0280-Allow-chests-to-be-placed-with-NBT-data.patch +++ b/Spigot-Server-Patches/0280-Allow-chests-to-be-placed-with-NBT-data.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow chests to be placed with NBT data diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 64e9d50be03cbefa521bf8c2e6dba5ceadda78b6..63aa474c73f506737cb5de31977bffcd17d4dc11 100644 +index 22568201a292edc8e25396e55cad1572d419b775..7ad595d5d7e090c523aa45a10d0f84b609ea86df 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -244,6 +244,7 @@ public final class ItemStack { diff --git a/Spigot-Server-Patches/0303-Reset-players-airTicks-on-respawn.patch b/Spigot-Server-Patches/0303-Reset-players-airTicks-on-respawn.patch index 3af745fd14..1bd90c0266 100644 --- a/Spigot-Server-Patches/0303-Reset-players-airTicks-on-respawn.patch +++ b/Spigot-Server-Patches/0303-Reset-players-airTicks-on-respawn.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Reset players airTicks on respawn diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index c9f4dab524e8f2a80b9e3ee178c36b2e394b5f84..9b8d17aa68bad1a4916681b9eed121011bf3380c 100644 +index 9b55635d97f8ad90f13fdf609471c1f73eb40aed..00d783a7fd27fb46f5bbca4055be1530efd71534 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2264,6 +2264,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0305-Improve-Server-Thread-Pool-and-Thread-Priorities.patch b/Spigot-Server-Patches/0305-Improve-Server-Thread-Pool-and-Thread-Priorities.patch index c19f14f9da..0362933b0d 100644 --- a/Spigot-Server-Patches/0305-Improve-Server-Thread-Pool-and-Thread-Priorities.patch +++ b/Spigot-Server-Patches/0305-Improve-Server-Thread-Pool-and-Thread-Priorities.patch @@ -12,7 +12,7 @@ server threads Allow usage of a single thread executor by not using ForkJoin so single core CPU's. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index aea9e169f9a11378c176c0cc3ee5a0d59e6a4c38..354109e5f7a8e1b0895e12002951a4bd3bf7dd0c 100644 +index d6d93c76f047573b3e7ea91409fb85e093666812..f1008096ee90b506c322fd1667c6b60faefd545c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -175,6 +175,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant= -30000000 && j >= -30000000 && i < 30000000 && j < 30000000) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 37c6d278de5055dc40b2386b0bb820f02084f38d..d8ae8e544a6003bd5235cb23dd1739b2c221a333 100644 +index 46a7e7b2f6079df036d2b73c82d7bf5ea1b07871..a682f6e66fd4ecfad1d61dd9a9c9ef657dc76348 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -342,6 +342,29 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0346-Fix-CB-call-to-changed-postToMainThread-method.patch b/Spigot-Server-Patches/0346-Fix-CB-call-to-changed-postToMainThread-method.patch index 543b4e4056..32062259af 100644 --- a/Spigot-Server-Patches/0346-Fix-CB-call-to-changed-postToMainThread-method.patch +++ b/Spigot-Server-Patches/0346-Fix-CB-call-to-changed-postToMainThread-method.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix CB call to changed postToMainThread method diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 88d6dbfe6a64ad6e2f5916ca3e87cc2ac5f30227..ec20617e3f8982b92d6bcd73bc7b622b04bf2fd5 100644 +index 1d630b6be698a9e23ceee81c30d3b4a8a1d6b1db..ee8ea27e0878042d15e81ce02c250a9999723928 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -295,7 +295,7 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/Spigot-Server-Patches/0347-Fix-sounds-when-item-frames-are-modified-MC-123450.patch b/Spigot-Server-Patches/0347-Fix-sounds-when-item-frames-are-modified-MC-123450.patch index 78eacfa617..21ccf4d848 100644 --- a/Spigot-Server-Patches/0347-Fix-sounds-when-item-frames-are-modified-MC-123450.patch +++ b/Spigot-Server-Patches/0347-Fix-sounds-when-item-frames-are-modified-MC-123450.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix sounds when item frames are modified (MC-123450) This also fixes the adding sound playing when the item frame direction is changed. diff --git a/src/main/java/net/minecraft/server/EntityItemFrame.java b/src/main/java/net/minecraft/server/EntityItemFrame.java -index d243cc10da6c6d1a66587aa1c21743d00f058f84..661db537f6ac2b5a80e2e40a25966a2e3039199d 100644 +index 2b42906388f8c5b9bb2efeff5ec4d02d19d01f09..8a95e698d5caa3730954ce1135b0ec37a389dd70 100644 --- a/src/main/java/net/minecraft/server/EntityItemFrame.java +++ b/src/main/java/net/minecraft/server/EntityItemFrame.java @@ -247,7 +247,7 @@ public class EntityItemFrame extends EntityHanging { @@ -19,7 +19,7 @@ index d243cc10da6c6d1a66587aa1c21743d00f058f84..661db537f6ac2b5a80e2e40a25966a2e } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java -index ee9035cefcc406ecf2ab028f91640ad964948acf..67ce1d413526d39d3f63f96f38ad4fafd582a05b 100644 +index 4452204684bc510d84834a7a0e5bbde51d3d262e..65f087828d00404b11211895c6fcb0297d45c1ba 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java @@ -50,7 +50,7 @@ public class CraftItemFrame extends CraftHanging implements ItemFrame { diff --git a/Spigot-Server-Patches/0349-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch b/Spigot-Server-Patches/0349-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch index 4801695b4d..9aa8a1541c 100644 --- a/Spigot-Server-Patches/0349-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch +++ b/Spigot-Server-Patches/0349-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch @@ -19,7 +19,7 @@ This change ensures the chunks are always loaded when entities are added to the world, or a valid entity moves between chunks. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 36929d3220e305ffed9eb52e5e000a510494917a..8d220f165435f0c73552dc5e6c912aefbaf91ee1 100644 +index 41d466bcd676e6988c4f754d0232d3addb3b6fc5..58c00add7c64c425150342c3840aa533b605ca7b 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -743,11 +743,18 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0351-improve-CraftWorld-isChunkLoaded.patch b/Spigot-Server-Patches/0351-improve-CraftWorld-isChunkLoaded.patch index af9dc8e606..e6471b3fe1 100644 --- a/Spigot-Server-Patches/0351-improve-CraftWorld-isChunkLoaded.patch +++ b/Spigot-Server-Patches/0351-improve-CraftWorld-isChunkLoaded.patch @@ -9,7 +9,7 @@ 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 69159ae999af8b48542f69eb60ad0822eca2809d..eb4dd0708930b0c5388a88c193d1c17978e42f48 100644 +index a682f6e66fd4ecfad1d61dd9a9c9ef657dc76348..af411ac8fb378f7ead19b4f82f9709680e321dfd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -413,13 +413,13 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0352-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0352-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 7ee48984e6..5060052491 100644 --- a/Spigot-Server-Patches/0352-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0352-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -117,10 +117,10 @@ index 3868572aed50c8bffd93727a139a3fbb8dc19688..ae77805f71c6c574d92f39c51b1e48f2 @Override public void a(ChunkCoordIntPair chunkcoordintpair) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 33e30ed20c99ab237f86c9d8746041a5b046bd42..ffc048415e7321353644e3bb89cf89f9365f3644 100644 +index 628d1a5555ec70571c0467900c884cc419cbab37..3a95b98b77171b4b18a1d939eb14953d24b903e0 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1552,12 +1552,88 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1563,12 +1563,88 @@ public class WorldServer extends World implements GeneratorAccessSeed { return ((PersistentIdCounts) this.getMinecraftServer().E().getWorldPersistentData().a(PersistentIdCounts::new, "idcounts")).a(); } diff --git a/Spigot-Server-Patches/0356-Chunk-debug-command.patch b/Spigot-Server-Patches/0356-Chunk-debug-command.patch index e9ac1d73ce..e184c817fe 100644 --- a/Spigot-Server-Patches/0356-Chunk-debug-command.patch +++ b/Spigot-Server-Patches/0356-Chunk-debug-command.patch @@ -203,7 +203,7 @@ index f0a836db74ad3e20778d3863223bc9a35ff4ad41..e4719a5e7e5ebd91257a9c9b83fa1ada * Ported from MinecraftForge - author: LexManos - License: LGPLv2.1 */ diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 90812ab056acc39e62a43cb208bfd782e2a0c1b7..ac706ac98cdfb1b0c754cd4941cf1d9996f530d7 100644 +index b6ec5d0f281bac483f210fd8c45a8965cd97cc02..534bcc215b0efb8561f7489f01fe49d34cba4c4f 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -24,7 +24,7 @@ import org.apache.logging.log4j.Logger; @@ -417,7 +417,7 @@ index 816d55b17ea531bc2f25b92c003b127fe6e04112..2507bdf7bfa65f1bc728a46322d2a570 + } } diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 32da5cfc19793afa2053c8e2a37fdcf17e43e6cd..f2cd43a449b8a474dcfad735239d54678fce2d13 100644 +index f6b83ced48aa649bbd58a9b8a8dfe460b961bc22..2c73bc1151d5d87ce6eac3f778ebff9c555b0212 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -29,7 +29,7 @@ public class PlayerChunk { diff --git a/Spigot-Server-Patches/0358-Fix-World-isChunkGenerated-calls.patch b/Spigot-Server-Patches/0358-Fix-World-isChunkGenerated-calls.patch index 82f11c4cdd..868f93ca02 100644 --- a/Spigot-Server-Patches/0358-Fix-World-isChunkGenerated-calls.patch +++ b/Spigot-Server-Patches/0358-Fix-World-isChunkGenerated-calls.patch @@ -8,7 +8,7 @@ This patch also adds a chunk status cache on region files (note that its only purpose is to cache the status on DISK) diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 534bcc215b0efb8561f7489f01fe49d34cba4c4f..c4909536af2af2949a6e7ee8f72f39a6622911f5 100644 +index af597b8b3157ac76456f8575a8f85a48fb0f45cd..d340990000144d9500069824e7e6609400a54ece 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -30,7 +30,7 @@ public class ChunkProviderServer extends IChunkProvider { @@ -20,7 +20,7 @@ index 534bcc215b0efb8561f7489f01fe49d34cba4c4f..c4909536af2af2949a6e7ee8f72f39a6 public final PlayerChunkMap playerChunkMap; private final WorldPersistentData worldPersistentData; private long lastTickTime; -@@ -287,6 +287,21 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -295,6 +295,21 @@ public class ChunkProviderServer extends IChunkProvider { return ret; } @@ -108,10 +108,10 @@ index 2fde0b6ca8f38a998ac73b68be61fbfea9088cee..fa03834dacacf7ae6a326c88007256a2 @Nullable private PersistentStructureLegacy c; diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 2c73bc1151d5d87ce6eac3f778ebff9c555b0212..346bf40bbf3026d3bf5585f06f42eec6cae95704 100644 +index b7af53dbf3139d7d51069e11388b945785cb47f6..2d749c07b159604e1ab904e026adf326eb9a732e 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java -@@ -113,6 +113,19 @@ public class PlayerChunk { +@@ -117,6 +117,19 @@ public class PlayerChunk { Either either = (Either) statusFuture.getNow(null); return either == null ? null : (Chunk) either.left().orElse(null); } @@ -277,7 +277,7 @@ index de926992e20da3ec433f9c7b4bc73805fd9d36ab..7a15944926427eb6cad976daabe5e710 } catch (Throwable throwable1) { throwable = throwable1; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 7287f595c89e0548252a2c39464d4a06d7f71bb7..dd3c24b4de393f4eaca88484ccf94b620fd28bdc 100644 +index d1fa8ebc9137e0d4917dc6b933b21588257d343e..32c4b0089bc4ab1351e74e04b4e07c79beb9e328 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -19,6 +19,7 @@ import java.util.Objects; diff --git a/Spigot-Server-Patches/0359-Show-blockstate-location-if-we-failed-to-read-it.patch b/Spigot-Server-Patches/0359-Show-blockstate-location-if-we-failed-to-read-it.patch index bdabcc0cc8..7f4c940352 100644 --- a/Spigot-Server-Patches/0359-Show-blockstate-location-if-we-failed-to-read-it.patch +++ b/Spigot-Server-Patches/0359-Show-blockstate-location-if-we-failed-to-read-it.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Show blockstate location if we failed to read it diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -index feeae1a9eb309ae4101783b191bb2bffe9aeb7d3..6e9eff2c29528b857cf758e9e45606c8a1c1cc8d 100644 +index cca1c2ca5c1fe91fda30ace6f06a343b7850842e..c5a9eb553068209e0e8ad0a1e5c93bcfa1e957e3 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java @@ -19,6 +19,8 @@ public class CraftBlockEntityState extends CraftBlockState diff --git a/Spigot-Server-Patches/0361-incremental-chunk-saving.patch b/Spigot-Server-Patches/0361-incremental-chunk-saving.patch index 244427d820..d98826c858 100644 --- a/Spigot-Server-Patches/0361-incremental-chunk-saving.patch +++ b/Spigot-Server-Patches/0361-incremental-chunk-saving.patch @@ -29,7 +29,7 @@ index ffe9b1a63d78925e1d77b9e730aef42fed6d58fa..1278d09f70c1e97607ef20d87a178dc2 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 714ef2a305fe98895ab5eb9190826bafbb157f59..6b561332e89476dbecc0b2a044e8556c7fa70626 100644 +index b258d4a85c41c2de55a28c565766f57c3f1604ff..fa549cd2ab9d0665dc042f3d4e79e205eaf4da54 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -43,7 +43,7 @@ public class Chunk implements IChunkAccess { @@ -42,10 +42,10 @@ index 714ef2a305fe98895ab5eb9190826bafbb157f59..6b561332e89476dbecc0b2a044e8556c private long inhabitedTime; @Nullable diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index c4909536af2af2949a6e7ee8f72f39a6622911f5..bd48c23890c1b28e9838612598a5e4bdcb83e8a0 100644 +index d340990000144d9500069824e7e6609400a54ece..71c7bf2fd4fdb0ad880ca81c198a7cf25cdb9e87 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -527,6 +527,15 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -535,6 +535,15 @@ public class ChunkProviderServer extends IChunkProvider { } // Paper - Timings } @@ -62,7 +62,7 @@ index c4909536af2af2949a6e7ee8f72f39a6622911f5..bd48c23890c1b28e9838612598a5e4bd public void close() throws IOException { // CraftBukkit start diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 7d9a3375d289deccdfa0f4caa8a2088550c560aa..8e2971458b4fbac7d288c190245bb0f8e1c84d7a 100644 +index 816ab7ac0485f3eb80d461711800e84129f50d64..cb551b24a103ff81459483d61050948840c27064 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -152,6 +152,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 100) { // Spigot diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 346bf40bbf3026d3bf5585f06f42eec6cae95704..5d736e4ca6098d97b6c16d2452066fbd35fe123c 100644 +index 2d749c07b159604e1ab904e026adf326eb9a732e..ad01b9333e73c8e4a7c848edc4ce252a51ea52b6 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -42,6 +42,9 @@ public class PlayerChunk { @@ -117,7 +117,7 @@ index 346bf40bbf3026d3bf5585f06f42eec6cae95704..5d736e4ca6098d97b6c16d2452066fbd public PlayerChunk(ChunkCoordIntPair chunkcoordintpair, int i, LightEngine lightengine, PlayerChunk.c playerchunk_c, PlayerChunk.d playerchunk_d) { this.statusFutures = new AtomicReferenceArray(PlayerChunk.CHUNK_STATUSES.size()); this.fullChunkFuture = PlayerChunk.UNLOADED_CHUNK_FUTURE; -@@ -393,7 +396,19 @@ public class PlayerChunk { +@@ -397,7 +400,19 @@ public class PlayerChunk { boolean flag2 = playerchunk_state.isAtLeast(PlayerChunk.State.BORDER); boolean flag3 = playerchunk_state1.isAtLeast(PlayerChunk.State.BORDER); @@ -137,7 +137,7 @@ index 346bf40bbf3026d3bf5585f06f42eec6cae95704..5d736e4ca6098d97b6c16d2452066fbd if (!flag2 && flag3) { // Paper start - cache ticking ready status int expectCreateCount = ++this.fullChunkCreateCount; -@@ -513,8 +528,32 @@ public class PlayerChunk { +@@ -517,8 +532,32 @@ public class PlayerChunk { } public void m() { @@ -265,7 +265,7 @@ index d8bedba819fa9ee0a4d3bdfbf0b010da7144dd68..c4ed4d58f7b344626acb13baeb142889 return PlayerChunk.getChunkState(playerchunk.getTicketLevel()); }); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 644167d400e0f4af142f0afe6a11cae4ac591ddf..3c7752769fb6a2da644f9d41ef783de9772ce5f7 100644 +index 3a95b98b77171b4b18a1d939eb14953d24b903e0..3f97befa2742a575b103b68b19fc6415bfbd8c04 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -776,11 +776,43 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0362-Anti-Xray.patch b/Spigot-Server-Patches/0362-Anti-Xray.patch index e230e16a2d..36ec121a47 100644 --- a/Spigot-Server-Patches/0362-Anti-Xray.patch +++ b/Spigot-Server-Patches/0362-Anti-Xray.patch @@ -1007,7 +1007,7 @@ index 0000000000000000000000000000000000000000..333763936897befda5bb6c077944d266 + } +} diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 6b561332e89476dbecc0b2a044e8556c7fa70626..68a6e8e3425291eb28f1759ecdd54eb80612f3a4 100644 +index fa549cd2ab9d0665dc042f3d4e79e205eaf4da54..6763ecaf5f814302c310f29e3a5a42fc1312a990 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -427,7 +427,7 @@ public class Chunk implements IChunkAccess { @@ -1422,7 +1422,7 @@ index 420bf7116def909d3dd7dc9a799723446ddf8f7f..300cbb8b01d94e7eb0cded0c8e118103 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 66aeb56325a5dab4ffe4879bf9c4a7414a184397..5bb9cd2a9b00e908af700fa44944b2dd218b9653 100644 +index 342374450382fea241659f5b63a9cc9a17dcb7b8..16bc226dfef36b5f96d95f2de4c6bc2e6e606332 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -2,6 +2,8 @@ package net.minecraft.server; @@ -1463,7 +1463,7 @@ index 66aeb56325a5dab4ffe4879bf9c4a7414a184397..5bb9cd2a9b00e908af700fa44944b2dd if (iblockdata1 == null) { // CraftBukkit start - remove blockstate if failed (or the same) diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 3c7752769fb6a2da644f9d41ef783de9772ce5f7..1ad867b6b8c743ab03a3c0c1a75fc92e548b5a64 100644 +index d43fe3564be139a935303a62047a8d74fd3b8d1f..b3af14ed0364e1b2e68656884dff678309498f03 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -100,7 +100,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0365-Mark-entities-as-being-ticked-when-notifying-navigat.patch b/Spigot-Server-Patches/0365-Mark-entities-as-being-ticked-when-notifying-navigat.patch index 59a99537fc..1309794f71 100644 --- a/Spigot-Server-Patches/0365-Mark-entities-as-being-ticked-when-notifying-navigat.patch +++ b/Spigot-Server-Patches/0365-Mark-entities-as-being-ticked-when-notifying-navigat.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Mark entities as being ticked when notifying navigation diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 1ad867b6b8c743ab03a3c0c1a75fc92e548b5a64..ccb37f6828fe2edb9358c93daa9f67edeef1f920 100644 +index 5ce589e38f924c1a60597589ea12d15dbc2a479c..6f9c3f913b2afbde3b5e285ffb9ee49017fa5464 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1364,6 +1364,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { @@ -16,7 +16,7 @@ index 1ad867b6b8c743ab03a3c0c1a75fc92e548b5a64..ccb37f6828fe2edb9358c93daa9f67ed Iterator iterator = this.navigators.iterator(); while (iterator.hasNext()) { -@@ -1374,6 +1375,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1385,6 +1386,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { } } diff --git a/Spigot-Server-Patches/0368-Asynchronous-chunk-IO-and-loading.patch b/Spigot-Server-Patches/0368-Asynchronous-chunk-IO-and-loading.patch index a8f5545996..ef38d20b25 100644 --- a/Spigot-Server-Patches/0368-Asynchronous-chunk-IO-and-loading.patch +++ b/Spigot-Server-Patches/0368-Asynchronous-chunk-IO-and-loading.patch @@ -2308,10 +2308,10 @@ index 0000000000000000000000000000000000000000..49a594e5f345096cb3b9913b8ee27607 + +} diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index bd48c23890c1b28e9838612598a5e4bdcb83e8a0..77e17feb56cc28e763640b2e37f66788241e09b4 100644 +index 71c7bf2fd4fdb0ad880ca81c198a7cf25cdb9e87..03e59fd8dc339f3479243acb5d1c89883b280b68 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -302,11 +302,138 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -310,11 +310,138 @@ public class ChunkProviderServer extends IChunkProvider { return playerChunk.getAvailableChunkNow(); } @@ -2450,7 +2450,7 @@ index bd48c23890c1b28e9838612598a5e4bdcb83e8a0..77e17feb56cc28e763640b2e37f66788 if (Thread.currentThread() != this.serverThread) { return (IChunkAccess) CompletableFuture.supplyAsync(() -> { return this.getChunkAt(i, j, chunkstatus, flag); -@@ -329,11 +456,16 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -337,11 +464,16 @@ public class ChunkProviderServer extends IChunkProvider { } gameprofilerfiller.c("getChunkCacheMiss"); @@ -2468,7 +2468,7 @@ index bd48c23890c1b28e9838612598a5e4bdcb83e8a0..77e17feb56cc28e763640b2e37f66788 this.world.timings.syncChunkLoad.stopTiming(); // Paper } // Paper ichunkaccess = (IChunkAccess) ((Either) completablefuture.join()).map((ichunkaccess1) -> { -@@ -399,6 +531,11 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -407,6 +539,11 @@ public class ChunkProviderServer extends IChunkProvider { } private CompletableFuture> getChunkFutureMainThread(int i, int j, ChunkStatus chunkstatus, boolean flag) { @@ -2480,7 +2480,7 @@ index bd48c23890c1b28e9838612598a5e4bdcb83e8a0..77e17feb56cc28e763640b2e37f66788 ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(i, j); long k = chunkcoordintpair.pair(); int l = 33 + ChunkStatus.a(chunkstatus); -@@ -798,11 +935,12 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -806,11 +943,12 @@ public class ChunkProviderServer extends IChunkProvider { protected boolean executeNext() { // CraftBukkit start - process pending Chunk loadCallback() and unloadCallback() after each run task try { @@ -3010,10 +3010,10 @@ index 4c52c57c02571353f71772e3650932f314da62ca..71daa0cb08d69c16bded510d1a490534 @Override diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 5d736e4ca6098d97b6c16d2452066fbd35fe123c..a1341617ba5388d1d1f2c91ad158b0210b4505cb 100644 +index ad01b9333e73c8e4a7c848edc4ce252a51ea52b6..25f8febe63167349460e32c831088bb80b6b77ad 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java -@@ -129,6 +129,18 @@ public class PlayerChunk { +@@ -133,6 +133,18 @@ public class PlayerChunk { } return null; } @@ -3032,7 +3032,7 @@ index 5d736e4ca6098d97b6c16d2452066fbd35fe123c..a1341617ba5388d1d1f2c91ad158b021 // Paper end public CompletableFuture> getStatusFutureUnchecked(ChunkStatus chunkstatus) { -@@ -347,7 +359,7 @@ public class PlayerChunk { +@@ -351,7 +363,7 @@ public class PlayerChunk { ChunkStatus chunkstatus = getChunkStatus(this.oldTicketLevel); ChunkStatus chunkstatus1 = getChunkStatus(this.ticketLevel); boolean flag = this.oldTicketLevel <= PlayerChunkMap.GOLDEN_TICKET; @@ -3041,7 +3041,7 @@ index 5d736e4ca6098d97b6c16d2452066fbd35fe123c..a1341617ba5388d1d1f2c91ad158b021 PlayerChunk.State playerchunk_state = getChunkState(this.oldTicketLevel); PlayerChunk.State playerchunk_state1 = getChunkState(this.ticketLevel); // CraftBukkit start -@@ -383,6 +395,12 @@ public class PlayerChunk { +@@ -387,6 +399,12 @@ public class PlayerChunk { } }); @@ -3910,7 +3910,7 @@ index d6aca683465c6898536507fab9e6888fef2e77e5..b926cebd053bef829517c9d9bbf1c609 HAS_SPACE(VillagePlaceRecord::d), IS_OCCUPIED(VillagePlaceRecord::e), ANY((villageplacerecord) -> { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index a468398008c176c67ead844e21b0dbf6cc4a9bf7..f9d3e7a774f6621cb8608d3dfa8676c3d13a174f 100644 +index 6f9c3f913b2afbde3b5e285ffb9ee49017fa5464..85c9943a32f21e338daa295d5034af379edb8ddd 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -98,6 +98,79 @@ public class WorldServer extends World implements GeneratorAccessSeed { @@ -4002,7 +4002,7 @@ index a468398008c176c67ead844e21b0dbf6cc4a9bf7..f9d3e7a774f6621cb8608d3dfa8676c3 } // CraftBukkit start -@@ -1621,7 +1696,10 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1632,7 +1707,10 @@ public class WorldServer extends World implements GeneratorAccessSeed { } MCUtil.getSpiralOutChunks(spawn, radiusInBlocks >> 4).forEach(pair -> { diff --git a/Spigot-Server-Patches/0370-Reduce-sync-loads.patch b/Spigot-Server-Patches/0370-Reduce-sync-loads.patch index 4ede60e648..0b99c5b44b 100644 --- a/Spigot-Server-Patches/0370-Reduce-sync-loads.patch +++ b/Spigot-Server-Patches/0370-Reduce-sync-loads.patch @@ -286,10 +286,10 @@ index 0000000000000000000000000000000000000000..1a68a8012f83bab9e814159c76b8c371 + } +} diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 77e17feb56cc28e763640b2e37f66788241e09b4..2eb38bfcdc0c232da9dad6921df503e5a11de09f 100644 +index 03e59fd8dc339f3479243acb5d1c89883b280b68..070c3a842ebd9fa03e5daaee8355775718df6fb2 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -463,6 +463,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -471,6 +471,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 @@ -329,7 +329,7 @@ index c922f4d5c3a5e7af7237361cb95a5ba8bb3ce715..dcca5257a03b6fe32ffcd6528e505762 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 d3130ff85d90a8fb197c9917b66174389659e3bf..0d8ef258422c0aaba31afbecf4bee6da7678259a 100644 +index f599d607afd73e30008e54757502077d783636a1..6646b8e83c8658fa6cd4838ccd669fd4a280e2e8 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -170,6 +170,12 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0372-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch b/Spigot-Server-Patches/0372-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch index 300f5153da..9c4e4612f3 100644 --- a/Spigot-Server-Patches/0372-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch +++ b/Spigot-Server-Patches/0372-Do-less-work-if-we-have-a-custom-Bukkit-generator.patch @@ -7,7 +7,7 @@ If the Bukkit generator already has a spawn, use it immediately instead of spending time generating one that we won't use diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 416658a2ddfb11c4a6929807b4e9d8bd8f708e2d..bf3da57c1e709acb3fa9243fb3bb6eaf0613f145 100644 +index 04a149a4902790c6b6d3c54a1738fb0cf2d462f9..410e63e4d15fa6ba85683694444cd49c53446574 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -509,12 +509,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant entitytypes = entity.getEntityType(); int i = entitytypes.getChunkRange() * 16; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 5cb27e78ec27b131ea2790bb0aceca5b27fbf5b6..ed13a1bc54cebebbafbf9a3822d2942fbc09249e 100644 +index 0543f5f30340e367511ec282ea67b611168c6000..d018cbee11356110aace897b1dd4516dd3ca5b61 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1417,7 +1417,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0424-Optimize-Collision-to-not-load-chunks.patch b/Spigot-Server-Patches/0424-Optimize-Collision-to-not-load-chunks.patch index 6b30ffc788..fe2ca67bea 100644 --- a/Spigot-Server-Patches/0424-Optimize-Collision-to-not-load-chunks.patch +++ b/Spigot-Server-Patches/0424-Optimize-Collision-to-not-load-chunks.patch @@ -14,7 +14,7 @@ movement will load only the chunk the player enters anyways and avoids loading massive amounts of surrounding chunks due to large AABB lookups. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index e98b247df2f5b34bd1f15a483c8da2f76aa96384..2762215b2cdbeb2ea77dbd1dccecaa770a5b94c8 100644 +index 874dddc5d70dc149c272855a98ed858867dd2bb6..7da08dd7c2396ae1048d857bfae4fee2a9f3b4d9 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -80,6 +80,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0427-Optimize-PlayerChunkMap-memory-use-for-visibleChunks.patch b/Spigot-Server-Patches/0427-Optimize-PlayerChunkMap-memory-use-for-visibleChunks.patch index b5744014d6..4cfa7e701f 100644 --- a/Spigot-Server-Patches/0427-Optimize-PlayerChunkMap-memory-use-for-visibleChunks.patch +++ b/Spigot-Server-Patches/0427-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 6d1744bbe6af33180fb814a99c041edad9d44aeb..44aa6baed64a0d3847cd8df067e0fa32a0739c93 100644 +index 1f4776f6f2debb4e000440ed8e47e3e063202850..475e35a5d3f25929e60ef34d7f41e2db193443ef 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -748,7 +748,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -756,7 +756,7 @@ public class ChunkProviderServer extends IChunkProvider { entityPlayer.playerNaturallySpawnedEvent.callEvent(); }; // Paper end @@ -243,7 +243,7 @@ index 21dfbbdbe72a7562601e23384e2fec8f9393ef29..87de764f74e8174da4c1a28238375caa 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 f826f656efd54672c20cb3240d7ef7acd834b9f5..e800c7cdfa2a9d5ee8e3969ed14e7453e82d9450 100644 +index 6ddfeea46997907f1dd666000c7cc2eb27cd4398..756c675939c5f5835736e6b8c42ae20941712c49 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.GroupDataEntity; diff --git a/Spigot-Server-Patches/0429-Mid-Tick-Chunk-Tasks-Speed-up-processing-of-chunk-lo.patch b/Spigot-Server-Patches/0429-Mid-Tick-Chunk-Tasks-Speed-up-processing-of-chunk-lo.patch index 11226359cd..174a182b53 100644 --- a/Spigot-Server-Patches/0429-Mid-Tick-Chunk-Tasks-Speed-up-processing-of-chunk-lo.patch +++ b/Spigot-Server-Patches/0429-Mid-Tick-Chunk-Tasks-Speed-up-processing-of-chunk-lo.patch @@ -56,10 +56,10 @@ index 519b43154993ec01eb13a58336ddcc745362892f..63b3726bfdd22900e7bc577c34db58dd + } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 44aa6baed64a0d3847cd8df067e0fa32a0739c93..cc7691a2ed5eaa30071ad5e385bbd76bec3c3d80 100644 +index 475e35a5d3f25929e60ef34d7f41e2db193443ef..1f63cdd9588a8dda1f04154f4d9de21fd8224678 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -686,6 +686,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -694,6 +694,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 44aa6baed64a0d3847cd8df067e0fa32a0739c93..cc7691a2ed5eaa30071ad5e385bbd76b this.tickDistanceManager(); this.world.timings.doChunkMap.stopTiming(); // Spigot this.world.getMethodProfiler().exitEnter("chunks"); -@@ -695,6 +696,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -703,6 +704,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 44aa6baed64a0d3847cd8df067e0fa32a0739c93..cc7691a2ed5eaa30071ad5e385bbd76b this.world.timings.doChunkUnload.stopTiming(); // Spigot this.world.getMethodProfiler().exit(); this.clearCache(); -@@ -748,7 +750,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -756,7 +758,7 @@ public class ChunkProviderServer extends IChunkProvider { entityPlayer.playerNaturallySpawnedEvent.callEvent(); }; // Paper end @@ -84,7 +84,7 @@ index 44aa6baed64a0d3847cd8df067e0fa32a0739c93..cc7691a2ed5eaa30071ad5e385bbd76b Optional optional = ((Either) playerchunk.a().getNow(PlayerChunk.UNLOADED_CHUNK)).left(); if (optional.isPresent()) { -@@ -772,6 +774,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -780,6 +782,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 44aa6baed64a0d3847cd8df067e0fa32a0739c93..cc7691a2ed5eaa30071ad5e385bbd76b } } } -@@ -928,6 +931,41 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -936,6 +939,41 @@ public class ChunkProviderServer extends IChunkProvider { super.executeTask(runnable); } @@ -135,7 +135,7 @@ index 44aa6baed64a0d3847cd8df067e0fa32a0739c93..cc7691a2ed5eaa30071ad5e385bbd76b protected boolean executeNext() { // CraftBukkit start - process pending Chunk loadCallback() and unloadCallback() after each run task diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 1647c36c2b8f81be59ed48eb329977331aa709b1..3149caeee2ad6e31806530b794f265315105ef5a 100644 +index 96a784744110e7dd4939eb2c1b57346a2d60f983..77a91fa0549d5db12e8a9fa9b51a34a258821e7b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -935,6 +935,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant list = this.tracker.getPassengers(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ce27c4c905d9bfcdf983dd8ca6e60de00087f607..13c22c4c712fac2f2cda3146df17547c0f6f8f12 100644 +index 2f5de20ea4e235d6f4664d7b3d0ac9ae31058b2f..6fd956cbbb4fddc4294ff03976e66d93c1b086c7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1531,6 +1531,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant list = Lists.newArrayList(this.playerChunkMap.f()); // Paper //Collections.shuffle(list); // Paper @@ -135,7 +135,7 @@ index 6bcca8f1ddfd4886b6795a1856ec196e8aa61299..dfd85fc1573338e333831e96d3d8845a final int[] chunksTicked = {0}; this.playerChunkMap.forEachVisibleChunk((playerchunk) -> { // Paper - safe iterator incase chunk loads, also no wrapping Optional optional = ((Either) playerchunk.a().getNow(PlayerChunk.UNLOADED_CHUNK)).left(); -@@ -773,9 +796,9 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -781,9 +804,9 @@ public class ChunkProviderServer extends IChunkProvider { Chunk chunk = (Chunk) optional1.get(); ChunkCoordIntPair chunkcoordintpair = playerchunk.i(); @@ -161,7 +161,7 @@ index 8a6f9c8629635fe6015ac65348b54bd37683f46e..39eca5ff11e4070c80a276eff25843bb super(worldserver, worldserver.getSpawn(), worldserver.v(), gameprofile); this.spawnDimension = World.OVERWORLD; diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 3cdfb6cddf4b998ee48df64fd884a85237004b63..6bf27c8baf82cfc98158550f711414d9c8fb476b 100644 +index 5305da4c7253c7e259d7b08e9722145188adc513..7413e3dbaacc288a29d9499242cb8563b4169fd9 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -45,6 +45,18 @@ public class PlayerChunk { diff --git a/Spigot-Server-Patches/0469-No-Tick-view-distance-implementation.patch b/Spigot-Server-Patches/0469-No-Tick-view-distance-implementation.patch index 59234c5715..944bbbc581 100644 --- a/Spigot-Server-Patches/0469-No-Tick-view-distance-implementation.patch +++ b/Spigot-Server-Patches/0469-No-Tick-view-distance-implementation.patch @@ -151,7 +151,7 @@ index df3150072fd36dac28d83309e50342c9cfa326b3..0b5ddff008d151ad03a1f382a8f24494 worldData.addProperty("keep-spawn-loaded-range", world.paperConfig.keepLoadedRange); worldData.addProperty("visible-chunk-count", visibleChunks.size()); diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 6bf27c8baf82cfc98158550f711414d9c8fb476b..20ee3d33eac121df3a5f85a9a19c21cf75961aa0 100644 +index 7413e3dbaacc288a29d9499242cb8563b4169fd9..825c3c522b0497499b72cb9f2ff3edb39d8fea08 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -57,6 +57,18 @@ public class PlayerChunk { @@ -173,7 +173,7 @@ index 6bf27c8baf82cfc98158550f711414d9c8fb476b..20ee3d33eac121df3a5f85a9a19c21cf public PlayerChunk(ChunkCoordIntPair chunkcoordintpair, int i, LightEngine lightengine, PlayerChunk.c playerchunk_c, PlayerChunk.d playerchunk_d) { this.statusFutures = new AtomicReferenceArray(PlayerChunk.CHUNK_STATUSES.size()); this.fullChunkFuture = PlayerChunk.UNLOADED_CHUNK_FUTURE; -@@ -212,7 +224,7 @@ public class PlayerChunk { +@@ -216,7 +228,7 @@ public class PlayerChunk { } public void a(BlockPosition blockposition) { @@ -182,7 +182,7 @@ index 6bf27c8baf82cfc98158550f711414d9c8fb476b..20ee3d33eac121df3a5f85a9a19c21cf if (chunk != null) { byte b0 = (byte) SectionPosition.a(blockposition.getY()); -@@ -228,7 +240,7 @@ public class PlayerChunk { +@@ -232,7 +244,7 @@ public class PlayerChunk { } public void a(EnumSkyBlock enumskyblock, int i) { @@ -191,7 +191,7 @@ index 6bf27c8baf82cfc98158550f711414d9c8fb476b..20ee3d33eac121df3a5f85a9a19c21cf if (chunk != null) { chunk.setNeedsSaving(true); -@@ -310,9 +322,48 @@ public class PlayerChunk { +@@ -314,9 +326,48 @@ public class PlayerChunk { } private void a(Packet packet, boolean flag) { diff --git a/Spigot-Server-Patches/0471-Fix-Light-Command.patch b/Spigot-Server-Patches/0471-Fix-Light-Command.patch index 27e4b0f28d..191e3cb778 100644 --- a/Spigot-Server-Patches/0471-Fix-Light-Command.patch +++ b/Spigot-Server-Patches/0471-Fix-Light-Command.patch @@ -7,7 +7,7 @@ This lets you run /paper fixlight (max 5) to automatically fix all light data in the chunks. diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java -index f7d98a5ba54d041eef10b04f821e0958ad898b0a..a12bc81933c15606b7cde46937f504eafc4ff030 100644 +index c80af89b4ad0223577ed9513dcab0a784cc964e4..f60800c3bc06a38493e17b00b815f18cb87cc8bf 100644 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java @@ -20,6 +20,7 @@ import org.bukkit.command.Command; @@ -124,10 +124,10 @@ index f7d98a5ba54d041eef10b04f821e0958ad898b0a..a12bc81933c15606b7cde46937f504ea if (!SyncLoadFinder.ENABLED) { sender.sendMessage(ChatColor.RED + "This command requires the server startup flag '-Dpaper.debug-sync-loads=true' to be set."); diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index bd5643cae88b0c510a630b6166d95368c7405ae6..078cbc9f4dbd387ef1088c76b2f77ee47fff135d 100644 +index 825c3c522b0497499b72cb9f2ff3edb39d8fea08..f3d5ea4672f950bd5c52b718f2e1e0280175ccb9 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java -@@ -321,6 +321,7 @@ public class PlayerChunk { +@@ -325,6 +325,7 @@ public class PlayerChunk { } @@ -136,7 +136,7 @@ index bd5643cae88b0c510a630b6166d95368c7405ae6..078cbc9f4dbd387ef1088c76b2f77ee4 // Paper start - per player view distance // there can be potential desync with player's last mapped section and the view distance map, so use the diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 3e73ef8059139b09518075bb6dc89a67f46be51a..56a2d028040bb77bffee72330bc2a19986b45d00 100644 +index 025a5b24e259df04ee88cb251477c908bc909266..c507e71cef1da50e3709e358def6548cc69546e9 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -97,6 +97,12 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { diff --git a/Spigot-Server-Patches/0483-Workaround-for-Client-Lag-Spikes-MC-162253.patch b/Spigot-Server-Patches/0483-Workaround-for-Client-Lag-Spikes-MC-162253.patch index f96b55bbb5..fa817b6d03 100644 --- a/Spigot-Server-Patches/0483-Workaround-for-Client-Lag-Spikes-MC-162253.patch +++ b/Spigot-Server-Patches/0483-Workaround-for-Client-Lag-Spikes-MC-162253.patch @@ -12,7 +12,7 @@ to the client, so that it doesn't attempt to calculate them. This mitigates the frametime impact to a minimum (but it's still there). diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 544f4a473d1453e029111bea45483543e3bcbabb..af9d54ef057d5f6977cf77c57cde25b6b0d1f39d 100644 +index 0347dca5d2e40ba078d3f256e17f69ee7f0265cc..3bcd63a754538ccfc5965207a8fc79faa31925c0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -234,7 +234,7 @@ public class Chunk implements IChunkAccess { diff --git a/Spigot-Server-Patches/0484-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch b/Spigot-Server-Patches/0484-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch index c5ee62793d..b90d57446f 100644 --- a/Spigot-Server-Patches/0484-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch +++ b/Spigot-Server-Patches/0484-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch @@ -483,10 +483,10 @@ index 6ebc4a4b5c90d8592a017e7b29dec5ca00827432..d0bdffadefa6ed67bd30d833891256cc 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 dfd85fc1573338e333831e96d3d8845a21d48224..35ac03c099f525c7cebe0d90ad2c665fc2637194 100644 +index 5c092243e3e6f069f9ab6799de56dd60499b3b53..29ec0d9c5e10b19e07cf1ba3c848925e541e6311 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -435,6 +435,26 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -443,6 +443,26 @@ public class ChunkProviderServer extends IChunkProvider { public void removeTicketAtLevel(TicketType ticketType, ChunkCoordIntPair chunkPos, int ticketLevel, T identifier) { this.chunkMapDistance.removeTicketAtLevel(ticketType, chunkPos, ticketLevel, identifier); } @@ -513,7 +513,7 @@ index dfd85fc1573338e333831e96d3d8845a21d48224..35ac03c099f525c7cebe0d90ad2c665f // Paper end @Nullable -@@ -473,6 +493,8 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -481,6 +501,8 @@ public class ChunkProviderServer extends IChunkProvider { if (!completablefuture.isDone()) { // Paper // Paper start - async chunk io/loading @@ -522,7 +522,7 @@ index dfd85fc1573338e333831e96d3d8845a21d48224..35ac03c099f525c7cebe0d90ad2c665f 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 -@@ -481,6 +503,8 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -489,6 +511,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 @@ -531,7 +531,7 @@ index dfd85fc1573338e333831e96d3d8845a21d48224..35ac03c099f525c7cebe0d90ad2c665f } // Paper ichunkaccess = (IChunkAccess) ((Either) completablefuture.join()).map((ichunkaccess1) -> { return ichunkaccess1; -@@ -533,10 +557,12 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -541,10 +565,12 @@ public class ChunkProviderServer extends IChunkProvider { if (flag && !currentlyUnloading) { // CraftBukkit end this.chunkMapDistance.a(TicketType.UNKNOWN, chunkcoordintpair, l, chunkcoordintpair); @@ -544,7 +544,7 @@ index dfd85fc1573338e333831e96d3d8845a21d48224..35ac03c099f525c7cebe0d90ad2c665f this.tickDistanceManager(); playerchunk = this.getChunk(k); gameprofilerfiller.exit(); -@@ -545,8 +571,13 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -553,8 +579,13 @@ public class ChunkProviderServer extends IChunkProvider { } } } @@ -560,7 +560,7 @@ index dfd85fc1573338e333831e96d3d8845a21d48224..35ac03c099f525c7cebe0d90ad2c665f } private boolean a(@Nullable PlayerChunk playerchunk, int i) { -@@ -597,6 +628,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -605,6 +636,7 @@ public class ChunkProviderServer extends IChunkProvider { } public boolean tickDistanceManager() { // Paper - private -> public @@ -628,7 +628,7 @@ index 0b5ddff008d151ad03a1f382a8f24494356e8701..ff74be14512a947e81b62d53e616131c chunkData.addProperty("queued-for-unload", chunkMap.unloadQueue.contains(playerChunk.location.pair())); chunkData.addProperty("status", status == null ? "unloaded" : status.toString()); diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 1536d9661837e76fc23131ecd974f699048cc9ae..371a301f4a295c59ce40fefc6ef07e544414d94b 100644 +index f3d5ea4672f950bd5c52b718f2e1e0280175ccb9..3d95c7cd5d34166a427b45061bce2ac9569784b4 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -1,6 +1,7 @@ @@ -779,7 +779,7 @@ index 1536d9661837e76fc23131ecd974f699048cc9ae..371a301f4a295c59ce40fefc6ef07e54 public PlayerChunk(ChunkCoordIntPair chunkcoordintpair, int i, LightEngine lightengine, PlayerChunk.c playerchunk_c, PlayerChunk.d playerchunk_d) { this.statusFutures = new AtomicReferenceArray(PlayerChunk.CHUNK_STATUSES.size()); -@@ -166,6 +282,18 @@ public class PlayerChunk { +@@ -170,6 +286,18 @@ public class PlayerChunk { } return null; } @@ -798,7 +798,7 @@ index 1536d9661837e76fc23131ecd974f699048cc9ae..371a301f4a295c59ce40fefc6ef07e54 // Paper end public CompletableFuture> getStatusFutureUnchecked(ChunkStatus chunkstatus) { -@@ -412,6 +540,7 @@ public class PlayerChunk { +@@ -416,6 +544,7 @@ public class PlayerChunk { return this.n; } @@ -806,7 +806,7 @@ index 1536d9661837e76fc23131ecd974f699048cc9ae..371a301f4a295c59ce40fefc6ef07e54 private void d(int i) { this.n = i; } -@@ -430,7 +559,7 @@ public class PlayerChunk { +@@ -434,7 +563,7 @@ public class PlayerChunk { // CraftBukkit start // ChunkUnloadEvent: Called before the chunk is unloaded: isChunkLoaded is still true and chunk can still be modified by plugins. if (playerchunk_state.isAtLeast(PlayerChunk.State.BORDER) && !playerchunk_state1.isAtLeast(PlayerChunk.State.BORDER)) { @@ -815,7 +815,7 @@ index 1536d9661837e76fc23131ecd974f699048cc9ae..371a301f4a295c59ce40fefc6ef07e54 Chunk chunk = (Chunk)either.left().orElse(null); if (chunk != null) { playerchunkmap.callbackExecutor.execute(() -> { -@@ -495,12 +624,13 @@ public class PlayerChunk { +@@ -499,12 +628,13 @@ public class PlayerChunk { if (!flag2 && flag3) { // Paper start - cache ticking ready status int expectCreateCount = ++this.fullChunkCreateCount; @@ -830,7 +830,7 @@ index 1536d9661837e76fc23131ecd974f699048cc9ae..371a301f4a295c59ce40fefc6ef07e54 } -@@ -525,7 +655,7 @@ public class PlayerChunk { +@@ -529,7 +659,7 @@ public class PlayerChunk { if (!flag4 && flag5) { // Paper start - cache ticking ready status @@ -839,7 +839,7 @@ index 1536d9661837e76fc23131ecd974f699048cc9ae..371a301f4a295c59ce40fefc6ef07e54 if (either.left().isPresent()) { // note: Here is a very good place to add callbacks to logic waiting on this. Chunk tickingChunk = either.left().get(); -@@ -556,7 +686,7 @@ public class PlayerChunk { +@@ -560,7 +690,7 @@ public class PlayerChunk { } // Paper start - cache ticking ready status @@ -848,7 +848,7 @@ index 1536d9661837e76fc23131ecd974f699048cc9ae..371a301f4a295c59ce40fefc6ef07e54 if (either.left().isPresent()) { // note: Here is a very good place to add callbacks to logic waiting on this. Chunk entityTickingChunk = either.left().get(); -@@ -576,12 +706,29 @@ public class PlayerChunk { +@@ -580,12 +710,29 @@ public class PlayerChunk { this.entityTickingFuture = PlayerChunk.UNLOADED_CHUNK_FUTURE; } @@ -880,7 +880,7 @@ index 1536d9661837e76fc23131ecd974f699048cc9ae..371a301f4a295c59ce40fefc6ef07e54 Chunk chunk = (Chunk)either.left().orElse(null); if (chunk != null) { playerchunkmap.callbackExecutor.execute(() -> { -@@ -663,6 +810,7 @@ public class PlayerChunk { +@@ -667,6 +814,7 @@ public class PlayerChunk { public interface c { diff --git a/Spigot-Server-Patches/0492-Optimize-Light-Engine.patch b/Spigot-Server-Patches/0492-Optimize-Light-Engine.patch index 7bb82ae8c6..1b326599f2 100644 --- a/Spigot-Server-Patches/0492-Optimize-Light-Engine.patch +++ b/Spigot-Server-Patches/0492-Optimize-Light-Engine.patch @@ -25,10 +25,10 @@ Massive update to light to improve performance and chunk loading/generation. 8) Fix NPE risk that crashes server in getting nibble data diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 35ac03c099f525c7cebe0d90ad2c665fc2637194..75d25576d68ec95a14372f8530f4916f2bd7c3c5 100644 +index 29ec0d9c5e10b19e07cf1ba3c848925e541e6311..12e417d2fe8e7f6a2f664ef916c141305ce1b29c 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -1037,7 +1037,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -1045,7 +1045,7 @@ public class ChunkProviderServer extends IChunkProvider { if (ChunkProviderServer.this.tickDistanceManager()) { return true; } else { @@ -1329,10 +1329,10 @@ index ff00830b95a17f66d0c913087492dbf4b066df8a..4085426af03f032cf405bdfd1e40a8e5 private static final int nibbleBucketSizeMultiplier = Integer.getInteger("Paper.nibbleBucketSize", 3072); private static final int maxPoolSize = Integer.getInteger("Paper.maxNibblePoolSize", (int) Math.min(6, Math.max(1, Runtime.getRuntime().maxMemory() / 1024 / 1024 / 1024)) * (nibbleBucketSizeMultiplier * 8)); diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 025ab54dddbf4ef80ce2253f9b6cabcb8e46bfd2..acb07a2a7a7606470aa938ffc8f6a54fd7b9f5f9 100644 +index 0799970f90527f97d64eb857a0b07990114c7ab2..afea606641c27e2ea8769455833b96e3f012e78e 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java -@@ -724,6 +724,7 @@ public class PlayerChunk { +@@ -728,6 +728,7 @@ public class PlayerChunk { ioPriority = com.destroystokyo.paper.io.PrioritizedTaskQueue.HIGH_PRIORITY; } chunkMap.world.asyncChunkTaskManager.raisePriority(location.x, location.z, ioPriority); @@ -1400,7 +1400,7 @@ index b7af235dc2841dc9c8296805624f6ee763b86dfb..faf4745d368993ccdf0c017937efc5be this.a.a(t0); this.f(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index bb73dc2cfca633f85aa0aa1c988d3cdd86be8e4e..61eeba3c25fecfdebfeb546b7e18ff4464eedfc2 100644 +index 1a75e688d7bd6aa0c7d83574b07ab27960fcaf7a..d2edfc8053a3db0a8e27f408bd467b193d8f9d9c 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -714,6 +714,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/Spigot-Server-Patches/0507-Ensure-Entity-AABB-s-are-never-invalid.patch b/Spigot-Server-Patches/0507-Ensure-Entity-AABB-s-are-never-invalid.patch index f34e3ff38e..3b2756b721 100644 --- a/Spigot-Server-Patches/0507-Ensure-Entity-AABB-s-are-never-invalid.patch +++ b/Spigot-Server-Patches/0507-Ensure-Entity-AABB-s-are-never-invalid.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ensure Entity AABB's are never invalid diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index feeb792e3357c14662a2a2dc5c294befd4bdc7c3..23e8de6d059a4976646184bc3a141d38291fadd1 100644 +index 53be44fad4db829359ee7541a08f438ebcf2bde1..1561ba9c1f3b8ccfeb8d799608550db2f5e18cbc 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -389,7 +389,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0508-Optimize-WorldBorder-collision-checks-and-air.patch b/Spigot-Server-Patches/0508-Optimize-WorldBorder-collision-checks-and-air.patch index e622695b3c..06310a2a36 100644 --- a/Spigot-Server-Patches/0508-Optimize-WorldBorder-collision-checks-and-air.patch +++ b/Spigot-Server-Patches/0508-Optimize-WorldBorder-collision-checks-and-air.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Optimize WorldBorder collision checks and air diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 23e8de6d059a4976646184bc3a141d38291fadd1..ad5139428e8cc10ed702dce3fa9c091c22eafa15 100644 +index 1561ba9c1f3b8ccfeb8d799608550db2f5e18cbc..669bb644462bd374c6eb619c3c5c12f2533c0095 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -818,7 +818,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0520-Add-entity-liquid-API.patch b/Spigot-Server-Patches/0520-Add-entity-liquid-API.patch index d905cc3eda..6f8fb16cda 100644 --- a/Spigot-Server-Patches/0520-Add-entity-liquid-API.patch +++ b/Spigot-Server-Patches/0520-Add-entity-liquid-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add entity liquid API diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index ad5139428e8cc10ed702dce3fa9c091c22eafa15..83a469447e39b801442769fcb5979e987e2adae9 100644 +index 669bb644462bd374c6eb619c3c5c12f2533c0095..5c52a2988b8830e4e5597f8a5b3718d242023cb7 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1075,12 +1075,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0541-Don-t-mark-null-chunk-sections-for-block-updates.patch b/Spigot-Server-Patches/0541-Don-t-mark-null-chunk-sections-for-block-updates.patch index bdcec6e3fc..39d5b13619 100644 --- a/Spigot-Server-Patches/0541-Don-t-mark-null-chunk-sections-for-block-updates.patch +++ b/Spigot-Server-Patches/0541-Don-t-mark-null-chunk-sections-for-block-updates.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't mark null chunk sections for block updates diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index acb07a2a7a7606470aa938ffc8f6a54fd7b9f5f9..014c0249b22eb4703d2d6b430afb402689a54e2a 100644 +index afea606641c27e2ea8769455833b96e3f012e78e..b374ea7d4a1a2ed3149a2c945e009d5558e1ab4c 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java -@@ -420,6 +420,7 @@ public class PlayerChunk { +@@ -424,6 +424,7 @@ public class PlayerChunk { this.a(world, blockposition, iblockdata); } else { ChunkSection chunksection = chunk.getSections()[sectionposition.getY()]; diff --git a/Spigot-Server-Patches/0553-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/Spigot-Server-Patches/0553-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch index 8cac7a4a73..9efb32290b 100644 --- a/Spigot-Server-Patches/0553-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch +++ b/Spigot-Server-Patches/0553-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix SpawnChangeEvent not firing for all use-cases diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 61eeba3c25fecfdebfeb546b7e18ff4464eedfc2..705ce638416e98166a5c659f425be90af1a9a59b 100644 +index d2edfc8053a3db0a8e27f408bd467b193d8f9d9c..dbba898b226d72d3b88695d62c711256d7e3aee2 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1864,12 +1864,14 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1875,12 +1875,14 @@ public class WorldServer extends World implements GeneratorAccessSeed { } // Paper end @@ -24,7 +24,7 @@ index 61eeba3c25fecfdebfeb546b7e18ff4464eedfc2..705ce638416e98166a5c659f425be90a // if this keepSpawnInMemory is false a plugin has already removed our tickets, do not re-add this.removeTicketsForSpawn(this.paperConfig.keepLoadedRange, prevSpawn); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index f3aab5be1722651a27bb48a33618650b807d4e07..257d3d9fe97122b5d123509d54916e0c1b16788d 100644 +index ed55a1e6943fb9cdc763d1b7340e3ec53a46106e..616732de1b9860b2f9ad990ae1b9c627db369752 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -388,11 +388,13 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0554-Add-moon-phase-API.patch b/Spigot-Server-Patches/0554-Add-moon-phase-API.patch index 661ac5dbfb..5ecc069545 100644 --- a/Spigot-Server-Patches/0554-Add-moon-phase-API.patch +++ b/Spigot-Server-Patches/0554-Add-moon-phase-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add moon phase API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 257d3d9fe97122b5d123509d54916e0c1b16788d..1162bf553ff6e5c5faf688b080a202dc55650ced 100644 +index 616732de1b9860b2f9ad990ae1b9c627db369752..13614705328e5ae4432b585fe94d04f87b147dae 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -327,6 +327,11 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0568-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/Spigot-Server-Patches/0568-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch index e4b63df286..e55c402280 100644 --- a/Spigot-Server-Patches/0568-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch +++ b/Spigot-Server-Patches/0568-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch @@ -9,7 +9,7 @@ as this is how Vanilla teleports entities. Cancel any pending motion when teleported. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 83a469447e39b801442769fcb5979e987e2adae9..e65cb9c72e46d50b871d1c7b5789a1855622d934 100644 +index 5c52a2988b8830e4e5597f8a5b3718d242023cb7..a7b225249f7ffafa2c6e1fc60657067229e02960 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -54,6 +54,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0572-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch b/Spigot-Server-Patches/0572-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch index f56a06c90f..4a1db649f9 100644 --- a/Spigot-Server-Patches/0572-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch +++ b/Spigot-Server-Patches/0572-Don-t-mark-dirty-in-invalid-locations-SPIGOT-6086.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't mark dirty in invalid locations (SPIGOT-6086) diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 014c0249b22eb4703d2d6b430afb402689a54e2a..42b12ad5ba68bdf8f76704ddd970715770183de0 100644 +index b374ea7d4a1a2ed3149a2c945e009d5558e1ab4c..904c6a7d0a36b57bb4f693fc4fd0dd5b17adcbac 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java -@@ -359,6 +359,7 @@ public class PlayerChunk { +@@ -363,6 +363,7 @@ public class PlayerChunk { } public void a(BlockPosition blockposition) { diff --git a/Spigot-Server-Patches/0573-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/Spigot-Server-Patches/0573-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index 4509ab74a2..fe3da280c4 100644 --- a/Spigot-Server-Patches/0573-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/Spigot-Server-Patches/0573-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index e65cb9c72e46d50b871d1c7b5789a1855622d934..9415588d7df27fb6907381cff802fd8ad983663f 100644 +index a7b225249f7ffafa2c6e1fc60657067229e02960..fcb5cf78d1deff3c2593c7470f5501be8fed567b 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -3382,4 +3382,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0575-Entity-isTicking.patch b/Spigot-Server-Patches/0575-Entity-isTicking.patch index 1331f9f05e..1d90103ea5 100644 --- a/Spigot-Server-Patches/0575-Entity-isTicking.patch +++ b/Spigot-Server-Patches/0575-Entity-isTicking.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entity#isTicking diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 9415588d7df27fb6907381cff802fd8ad983663f..1840d64d1bbb1165981f79dd3deeb19816e6a230 100644 +index fcb5cf78d1deff3c2593c7470f5501be8fed567b..22f3721ac351acb11ba8475cc7e2d35dc2e78259 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -3387,5 +3387,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0578-Fix-CME-on-adding-a-passenger-in-CreatureSpawnEvent.patch b/Spigot-Server-Patches/0578-Fix-CME-on-adding-a-passenger-in-CreatureSpawnEvent.patch index e9274625d3..4785396fe1 100644 --- a/Spigot-Server-Patches/0578-Fix-CME-on-adding-a-passenger-in-CreatureSpawnEvent.patch +++ b/Spigot-Server-Patches/0578-Fix-CME-on-adding-a-passenger-in-CreatureSpawnEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix CME on adding a passenger in CreatureSpawnEvent diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 1840d64d1bbb1165981f79dd3deeb19816e6a230..e39be18fe6b45a1a53cb484c656872dda00fa274 100644 +index 22f3721ac351acb11ba8475cc7e2d35dc2e78259..aa1807502131893f29be5918b533aabe83f87514 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -3085,7 +3085,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0601-Expose-world-spawn-angle.patch b/Spigot-Server-Patches/0601-Expose-world-spawn-angle.patch index 9206c0e33e..930beb6edf 100644 --- a/Spigot-Server-Patches/0601-Expose-world-spawn-angle.patch +++ b/Spigot-Server-Patches/0601-Expose-world-spawn-angle.patch @@ -30,7 +30,7 @@ index faf931785ea35df4525d4a429bdb2363e26e491b..14e1762bf8669ef9e8444f5a73952daa long getTime(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 1162bf553ff6e5c5faf688b080a202dc55650ced..597d7a36d7d0b19502d92cf13da53d96c6ede58a 100644 +index 13614705328e5ae4432b585fe94d04f87b147dae..fe21b612f9bd2cf85670eeffa25998130b543339 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -379,7 +379,7 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0607-Climbing-should-not-bypass-cramming-gamerule.patch b/Spigot-Server-Patches/0607-Climbing-should-not-bypass-cramming-gamerule.patch index d6f8d84ca9..966d5d5ed2 100644 --- a/Spigot-Server-Patches/0607-Climbing-should-not-bypass-cramming-gamerule.patch +++ b/Spigot-Server-Patches/0607-Climbing-should-not-bypass-cramming-gamerule.patch @@ -19,7 +19,7 @@ index b4d76494851601d61a69e2f060727a68f4461267..6262246c4018c660705fbad028f297fc + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index e39be18fe6b45a1a53cb484c656872dda00fa274..f9d7419e376268b00db2eb98a3db4116bdb72bd8 100644 +index aa1807502131893f29be5918b533aabe83f87514..8e71f7a8b62d89f2d770b03b4730d3d030717bfd 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1483,6 +1483,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0646-Remove-stale-POIs.patch b/Spigot-Server-Patches/0646-Remove-stale-POIs.patch index 6494c68c6c..ea2328f775 100644 --- a/Spigot-Server-Patches/0646-Remove-stale-POIs.patch +++ b/Spigot-Server-Patches/0646-Remove-stale-POIs.patch @@ -25,10 +25,10 @@ index b926cebd053bef829517c9d9bbf1c609c23ca04a..6a0f07b13eef5560dfc7c7b39618c0b8 return (Boolean) this.d(SectionPosition.a(blockposition).s()).map((villageplacesection) -> { return villageplacesection.a(blockposition, predicate); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 91d759fee68e8b285f912406fb338750c286f6a0..fbe7f43f6c1010e7a34114f8afb0e64934744335 100644 +index 493e3cd8a3dbc77f73dd1e026c9e580896995675..53d3e1561ea33c38de5dc5dde181439153fa2775 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1942,8 +1942,16 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1953,8 +1953,16 @@ public class WorldServer extends World implements GeneratorAccessSeed { Optional optional = VillagePlaceType.b(iblockdata); Optional optional1 = VillagePlaceType.b(iblockdata1); @@ -46,7 +46,7 @@ index 91d759fee68e8b285f912406fb338750c286f6a0..fbe7f43f6c1010e7a34114f8afb0e649 optional.ifPresent((villageplacetype) -> { this.getMinecraftServer().execute(() -> { -@@ -1960,6 +1968,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1971,6 +1979,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { } } diff --git a/Spigot-Server-Patches/0651-Collision-option-for-requiring-a-player-participant.patch b/Spigot-Server-Patches/0651-Collision-option-for-requiring-a-player-participant.patch index 2b6e5d1aa3..68c59880d0 100644 --- a/Spigot-Server-Patches/0651-Collision-option-for-requiring-a-player-participant.patch +++ b/Spigot-Server-Patches/0651-Collision-option-for-requiring-a-player-participant.patch @@ -28,7 +28,7 @@ index 234d2daecc5d0bf6a99c0a5f4a87f947a15029d9..89f3a28c20f0e4db4650c435dbcbc923 public int wanderingTraderSpawnDayTicks = 24000; public int wanderingTraderSpawnChanceFailureIncrement = 25; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f9d7419e376268b00db2eb98a3db4116bdb72bd8..f307a6361144c7e315b2e0ea45df27527cdb26ca 100644 +index 8e71f7a8b62d89f2d770b03b4730d3d030717bfd..d8787985ab4c94e9808332c15b3d16d4b52ba195 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1375,6 +1375,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0663-Skip-distance-map-update-when-spawning-disabled.patch b/Spigot-Server-Patches/0663-Skip-distance-map-update-when-spawning-disabled.patch index 96e795198d..def8b55602 100644 --- a/Spigot-Server-Patches/0663-Skip-distance-map-update-when-spawning-disabled.patch +++ b/Spigot-Server-Patches/0663-Skip-distance-map-update-when-spawning-disabled.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Skip distance map update when spawning disabled. diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 75d25576d68ec95a14372f8530f4916f2bd7c3c5..96a6f4675dc10a0047b7d2ee4164d0376de36c27 100644 +index 12e417d2fe8e7f6a2f664ef916c141305ce1b29c..0ea1b25bf98d71c251351807fa92d4d08eb6b06e 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -792,7 +792,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -800,7 +800,7 @@ public class ChunkProviderServer extends IChunkProvider { int l = this.chunkMapDistance.b(); // Paper start - per player mob spawning SpawnerCreature.d spawnercreature_d; // moved down diff --git a/Spigot-Server-Patches/0668-added-option-to-disable-pathfinding-updates-on-block.patch b/Spigot-Server-Patches/0668-added-option-to-disable-pathfinding-updates-on-block.patch index 552df653a8..565c4df9b7 100644 --- a/Spigot-Server-Patches/0668-added-option-to-disable-pathfinding-updates-on-block.patch +++ b/Spigot-Server-Patches/0668-added-option-to-disable-pathfinding-updates-on-block.patch @@ -19,7 +19,7 @@ index ac96011d4e104c99bb37833d91b8121f03b9d349..0776e68340b0510cc99084bea80791d5 + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index fdf6380bb95fd5d82842f69411ba440b520f82ca..2b94c195db43d8e7fd58301a33377e87daa16e98 100644 +index 466bb6297bd3bf7bb0ff1f4d0bd1f4ddfe294fa2..cf7d94aabab600822eb5e27f38690b06456d5fcc 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1571,6 +1571,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { @@ -30,7 +30,7 @@ index fdf6380bb95fd5d82842f69411ba440b520f82ca..2b94c195db43d8e7fd58301a33377e87 VoxelShape voxelshape = iblockdata.getCollisionShape(this, blockposition); VoxelShape voxelshape1 = iblockdata1.getCollisionShape(this, blockposition); -@@ -1588,6 +1589,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1599,6 +1600,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { this.tickingEntities = wasTicking; // Paper } diff --git a/work/Bukkit b/work/Bukkit index 5b289e6914..1e843b72bb 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 5b289e69146fd76766ce7f973821b05792d9a695 +Subproject commit 1e843b72bbd67b7b5ec785eae260fb00a5b64292 diff --git a/work/CraftBukkit b/work/CraftBukkit index d97d91871d..0cd8f19fb9 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit d97d91871d7b2003591d9a9d59ee9c2306d3178a +Subproject commit 0cd8f19fb90f92c9fef7a3d7896bb77e8c4785da