diff --git a/patches/api/0005-Adventure.patch b/patches/api/0005-Adventure.patch index 149b6198cc..b28fbac9f0 100644 --- a/patches/api/0005-Adventure.patch +++ b/patches/api/0005-Adventure.patch @@ -7,7 +7,7 @@ Co-authored-by: zml Co-authored-by: Jake Potrebic diff --git a/build.gradle.kts b/build.gradle.kts -index f0423df165bf7d0f3fad21d26b64f31ba3e6aeee..7b8196db1fd1e283dc9ef71e3fe5137cc5920ba9 100644 +index cedf145d5024e1ed9ae0d815e7ad0afb87c9a8b0..237a0beff61f2384b9e9e18a9d7119fd1916e1bd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,17 +8,37 @@ java { @@ -475,7 +475,7 @@ index 0000000000000000000000000000000000000000..bff9a6295db367c6b89d69fb55459a40 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 9db999c8c9645fa0161bc3a85fbfdd09283989fd..b23b6bf1af91c9460fdb231000df6191ec673544 100644 +index 5029d98816c137fcc7068bd5596d6a38d96ee877..ba57a093a2df3c65036377e3093eedabeda7c6f5 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -357,7 +357,9 @@ public final class Bukkit { @@ -810,7 +810,7 @@ index 803fa0019869127ee8c7e4fb1777a59c43e66f8a..c65f0d6569c130b4920a9e71ad24af64 + // Paper end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 485848dfa12bda15adda0d8f3a83f779a9ec05fe..01f4329d23a5e33f321df394107eaf1b918f8859 100644 +index 6d6810cc51732830ef139f7099fbc5a45b124e8e..5af7da1d3d62cada69240e2d22db2a32278b0074 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -58,13 +58,13 @@ import org.jetbrains.annotations.Nullable; @@ -1025,7 +1025,7 @@ index 485848dfa12bda15adda0d8f3a83f779a9ec05fe..01f4329d23a5e33f321df394107eaf1b String getShutdownMessage(); /** -@@ -1635,7 +1744,9 @@ public interface Server extends PluginMessageRecipient { +@@ -1650,7 +1759,9 @@ public interface Server extends PluginMessageRecipient { * Sends the component to the player * * @param component the components to send @@ -1035,7 +1035,7 @@ index 485848dfa12bda15adda0d8f3a83f779a9ec05fe..01f4329d23a5e33f321df394107eaf1b public void broadcast(@NotNull net.md_5.bungee.api.chat.BaseComponent component) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -1644,7 +1755,9 @@ public interface Server extends PluginMessageRecipient { +@@ -1659,7 +1770,9 @@ public interface Server extends PluginMessageRecipient { * Sends an array of components as a single message to the player * * @param components the components to send @@ -1139,10 +1139,10 @@ index efb97712cc9dc7c1e12a59f5b94e4f2ad7c6b7d8..3024468af4c073324e536c1cb26beffb return warning == null || warning.value(); } diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 9fa83c728cf686ef0b9913a86873a3d58492c16b..cc491837d149da716f197577f51a25ec31c03344 100644 +index 7e0c6c57976a00f989fe4e5dce83cd986b460e72..1d3bb553c944f5920e81e295f8cd5b7194d37aac 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -40,7 +40,7 @@ import org.jetbrains.annotations.Nullable; +@@ -43,7 +43,7 @@ import org.jetbrains.annotations.Nullable; /** * Represents a world, which may contain entities, chunks and blocks */ @@ -1151,7 +1151,7 @@ index 9fa83c728cf686ef0b9913a86873a3d58492c16b..cc491837d149da716f197577f51a25ec /** * Gets the {@link Block} at the given coordinates -@@ -635,6 +635,14 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -638,6 +638,14 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @NotNull public List getPlayers(); @@ -1644,7 +1644,7 @@ index 922d33ff4fa9d901d3c5c0a9f8399ad8aef62c37..cd287978c34873c7122794e4f3e76291 + // Paper end } diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33bde29296 100644 +index 6cac14eabdbdf7fd8c322d5fb4dfbfbb266ae940..c580ec19cd2b55a4aeca49d9cd984ce7c2848cef 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -37,7 +37,28 @@ import org.jetbrains.annotations.Nullable; @@ -1822,7 +1822,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 /** * Says a message (or runs a command). * -@@ -500,6 +586,90 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -507,6 +593,90 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull EquipmentSlot slot, @NotNull ItemStack item); @@ -1913,7 +1913,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 /** * Send a sign change. This fakes a sign change packet for a user at * a certain location. This will not actually change the world in any way. -@@ -514,7 +684,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -521,7 +691,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param lines the new text on the sign or null to clear it * @throws IllegalArgumentException if location is null * @throws IllegalArgumentException if lines is non-null and has a length less than 4 @@ -1923,7 +1923,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 public void sendSignChange(@NotNull Location loc, @Nullable String[] lines) throws IllegalArgumentException; /** -@@ -533,7 +705,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -540,7 +712,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException if location is null * @throws IllegalArgumentException if dyeColor is null * @throws IllegalArgumentException if lines is non-null and has a length less than 4 @@ -1933,7 +1933,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException; /** -@@ -553,7 +727,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -560,7 +734,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException if location is null * @throws IllegalArgumentException if dyeColor is null * @throws IllegalArgumentException if lines is non-null and has a length less than 4 @@ -1943,7 +1943,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor, boolean hasGlowingText) throws IllegalArgumentException; /** -@@ -1028,6 +1204,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1035,6 +1211,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * pack correctly. * * @@ -1951,7 +1951,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 * @param url The URL from which the client will download the resource * pack. The string must contain only US-ASCII characters and should * be encoded as per RFC 1738. -@@ -1041,8 +1218,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1048,8 +1225,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException Thrown if the hash is not 20 bytes * long. */ @@ -2009,7 +2009,7 @@ index e0f9ba3da29261823d48042b74a33acb9f48d597..fcab7ff11d06ae712d56d1eead5dca33 /** * Request that the player's client download and switch resource packs. *

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

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

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