diff --git a/Spigot-API-Patches/0002-Add-FastUtil-to-Bukkit.patch b/Spigot-API-Patches/0002-Add-FastUtil-to-Bukkit.patch index 0c9a1f15d..d07950450 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 ed62aa398..c592c5ee4 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 12ab35df0..d5c136c18 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 783c55648..220a8e621 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 4f01eb8db..217e73552 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 5478a1464..ed05f8383 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 93f9df3a8..7ac708ba3 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 8e83d78dc..585c1a35c 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 8db9ac39b..454f312e7 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 3aa64797b..fc6755e6d 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 86216abbb..8fa7fd5ad 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 73967a15f..3aa2d93b7 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 18e3f94a2..6f2260aab 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 0bae6b255..7184c02bf 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 2c8629f59..fa392f242 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 8cfa41b84..9b2dfc0c7 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 a14e30591..2c3ef4237 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 20e082dcb..f1fc994f1 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 625a3b35a..050ca28dd 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 f19aea5e8..91b79a98d 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 2a4188aa5..3a6ec64ad 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 adab07d34..08f287498 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 0464df2e4..f1c55c857 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 cb73fbf0b..6cc4ea646 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 0e7a9f9a4..a32046235 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 dfc9d64a5..6cee456e8 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 b13b7c74b..372b5493f 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 ed3430d5c..cbea56473 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 12584a8bd..7f96715fa 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 8005e008d..244c75378 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 faab5c918..f1c597914 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 d2b09d54d..34099e0ce 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 05cc3b871..4bf46fadc 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 b91aeb150..38ca85512 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 3a819dbed..0780513cc 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 113fef338..b2d14878d 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 fd8012019..96b985001 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 d4c2fb09f..0b68e4649 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 7fc3d5d9e..eba661485 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 532fa8307..f25be7ea0 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 d7c56ff7f..cdc99defc 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 390a69f36..a6188cbf9 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 d5d149eb9..42e8a3224 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 9e030b2f1..d4e52b5da 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 4422a5ee0..a703baf0c 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 03e81d8e0..95b111310 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 e3476cb3f..47de1a881 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 06161be5d..dc6efeef1 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 dec6e7647..bf3721eed 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 426b4a30e..f4486c178 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 e6ce13ff4..f9b0139ba 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 2f0a315ce..2a3ef4dda 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 710f71c57..db58842a9 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 a3189d008..d24dab5b7 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 63b8d4f76..6a83411e2 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 1d869dc7f..c16a3f25f 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 704cdd4bd..1836e345a 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 cd83105c7..6bf1dfc08 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 4040f4f4a..de8ce91db 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 64b878b6d..ac4f31810 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 e5a0ce285..65beb12f3 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 f65174ec1..55c415a01 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 e01a0db40..b0ae82322 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 97a93de58..ed2e922b3 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 f4a31daa1..2201d37d5 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 406da8626..ab1877e9b 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 9bd8f2133..65d82439a 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 517910f7b..dd1fca6ab 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 0b0bb4613..06f2e9e8d 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 63c7364d3..10c26b741 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 b8024705d..d2cb16ed4 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 2342711a5..4bb165c89 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 65eac974b..2baee0dd5 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 868116966..b8bf63d23 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 85e977619..9574b666a 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 8bc8afa5e..bd56b13a5 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 8b5f9b651..b6d27e072 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 d0d8c8149..28b207b17 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 3af745fd1..1bd90c026 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 c19f14f9d..0362933b0 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 543b4e405..32062259a 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 78eacfa61..21ccf4d84 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 4801695b4..9aa8a1541 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 af9dc8e60..e6471b3fe 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 7ee48984e..506005249 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 e9ac1d73c..e184c817f 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 82f11c4cd..868f93ca0 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 bdabcc0cc..7f4c94035 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 244427d82..d98826c85 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 e230e16a2..36ec121a4 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 59a99537f..1309794f7 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 a8f554599..ef38d20b2 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 4ede60e64..0b99c5b44 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 300f5153d..9c4e4612f 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 6b30ffc78..fe2ca67be 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 b5744014d..4cfa7e701 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 11226359c..174a182b5 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 59234c571..944bbbc58 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 27e4b0f28..191e3cb77 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 f96b55bbb..fa817b6d0 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 c5ee62793..b90d57446 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 7bb82ae8c..1b326599f 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 f34e3ff38..3b2756b72 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 e622695b3..06310a2a3 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 d905cc3ed..6f8fb16cd 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 bdcec6e3f..39d5b1361 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 8cac7a4a7..9efb32290 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 661ac5dbf..5ecc06954 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 e4b63df28..e55c40228 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 f56a06c90..4a1db649f 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 4509ab74a..fe3da280c 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 1331f9f05..1d90103ea 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 e9274625d..4785396fe 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 9206c0e33..930beb6ed 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 d6f8d84ca..966d5d5ed 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 6494c68c6..ea2328f77 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 2b6e5d1aa..68c59880d 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 96e795198..def8b5560 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 552df653a..565c4df9b 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 5b289e691..1e843b72b 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 5b289e69146fd76766ce7f973821b05792d9a695 +Subproject commit 1e843b72bbd67b7b5ec785eae260fb00a5b64292 diff --git a/work/CraftBukkit b/work/CraftBukkit index d97d91871..0cd8f19fb 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit d97d91871d7b2003591d9a9d59ee9c2306d3178a +Subproject commit 0cd8f19fb90f92c9fef7a3d7896bb77e8c4785da