diff --git a/patches/api/0006-Timings-v2.patch b/patches/api/0006-Timings-v2.patch index 5cc53cf041..96fe4f1303 100644 --- a/patches/api/0006-Timings-v2.patch +++ b/patches/api/0006-Timings-v2.patch @@ -3377,10 +3377,10 @@ index 2a145d851ce30360aa39549745bd87590c034584..00000000000000000000000000000000 - // Spigot end -} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 306e5366d0f07974fa8a344e8a7954b6f7a1ac6f..50fae417ecab61c867a0d2c5299aedf056ff1bec 100644 +index 9a864f54992cd0a6987d095ef3b98dd500d0eff9..4a20f96268ea831ed4fdd236b582abdf07dc4748 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1459,7 +1459,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1469,7 +1469,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ 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/0008-Adventure.patch b/patches/api/0008-Adventure.patch index e13b43bce2..3d79cfed1e 100644 --- a/patches/api/0008-Adventure.patch +++ b/patches/api/0008-Adventure.patch @@ -1549,10 +1549,10 @@ index 25a6f9313a1953def7470e411b53016f2ca14bef..10cb6088c4618f228c757f4e592b44ed + // Paper end } diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64d186a43f 100644 +index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0d5d00831 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -34,7 +34,28 @@ import org.jetbrains.annotations.Nullable; +@@ -35,7 +35,28 @@ import org.jetbrains.annotations.Nullable; /** * Represents a player, connected or not */ @@ -1582,7 +1582,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 /** * Gets the "friendly" name to display of this player. This may include -@@ -44,7 +65,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -45,7 +66,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * places defined by plugins. * * @return the friendly name @@ -1592,7 +1592,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 @NotNull public String getDisplayName(); -@@ -56,15 +79,50 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -57,15 +80,50 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * places defined by plugins. * * @param name The new display name. @@ -1643,7 +1643,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 public String getPlayerListName(); /** -@@ -73,14 +131,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -74,14 +132,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * If the value is null, the name will be identical to {@link #getName()}. * * @param name new player list name @@ -1662,7 +1662,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 @Nullable public String getPlayerListHeader(); -@@ -88,7 +150,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -89,7 +151,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Gets the currently displayed player list footer for this player. * * @return player list header or null @@ -1672,7 +1672,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 @Nullable public String getPlayerListFooter(); -@@ -96,14 +160,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -97,14 +161,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Sets the currently displayed player list header for this player. * * @param header player list header, null for empty @@ -1691,7 +1691,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 public void setPlayerListFooter(@Nullable String footer); /** -@@ -112,7 +180,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -113,7 +181,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param header player list header, null for empty * @param footer player list footer, null for empty @@ -1701,7 +1701,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 public void setPlayerListHeaderFooter(@Nullable String header, @Nullable String footer); /** -@@ -150,9 +220,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -151,9 +221,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Kicks player with custom kick message. * * @param message kick message @@ -1722,7 +1722,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 /** * Says a message (or runs a command). * -@@ -472,6 +553,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -473,6 +554,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull EquipmentSlot slot, @NotNull ItemStack item); @@ -1749,7 +1749,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 /** * 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. -@@ -484,9 +585,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -485,9 +586,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param loc the location of the sign * @param lines the new text on the sign or null to clear it @@ -1825,7 +1825,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 public void sendSignChange(@NotNull Location loc, @Nullable String[] lines) throws IllegalArgumentException; /** -@@ -505,7 +672,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -506,7 +673,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 @@ -1835,7 +1835,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException; /** -@@ -525,7 +694,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -526,7 +695,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 @@ -1845,7 +1845,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor, boolean hasGlowingText) throws IllegalArgumentException; /** -@@ -1050,7 +1221,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1051,7 +1222,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param title Title text * @param subtitle Subtitle text @@ -1854,7 +1854,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 */ @Deprecated public void sendTitle(@Nullable String title, @Nullable String subtitle); -@@ -1069,7 +1240,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1070,7 +1241,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. @@ -1864,7 +1864,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 public void sendTitle(@Nullable String title, @Nullable String subtitle, int fadeIn, int stay, int fadeOut); /** -@@ -1296,6 +1469,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1297,6 +1470,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public int getClientViewDistance(); @@ -1879,7 +1879,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 /** * Gets the player's estimated ping in milliseconds. * -@@ -1321,8 +1502,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1322,8 +1503,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * they wish. * * @return the player's locale @@ -1890,7 +1890,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 public String getLocale(); /** -@@ -1355,6 +1538,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1365,6 +1548,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public boolean isAllowingServerListings(); @@ -1905,7 +1905,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 // Spigot start public class Spigot extends Entity.Spigot { -@@ -1409,11 +1600,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1419,11 +1610,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM throw new UnsupportedOperationException("Not supported yet."); } @@ -1919,7 +1919,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 @Override public void sendMessage(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); -@@ -1424,7 +1617,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1434,7 +1627,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param position the screen position * @param component the components to send @@ -1929,7 +1929,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 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."); } -@@ -1434,7 +1629,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1444,7 +1639,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param position the screen position * @param components the components to send @@ -1939,7 +1939,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 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."); } -@@ -1445,7 +1642,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1455,7 +1652,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 @@ -1949,7 +1949,7 @@ index 50fae417ecab61c867a0d2c5299aedf056ff1bec..4d0df67160a3f846cc645a1766305c64 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."); } -@@ -1456,7 +1655,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1466,7 +1665,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/0009-Player-affects-spawning-API.patch b/patches/api/0009-Player-affects-spawning-API.patch index 6ef7224222..05cc9a53b4 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 4d0df67160a3f846cc645a1766305c64d186a43f..eeabecac8920d98c0575d2fbf813ce93bf314f3b 100644 +index 4f8c4a736c5c78cae66dd76b25d787f0d5d00831..2338eae12f5a984e953a332b3a5a6700a031dd5a 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1508,6 +1508,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1509,6 +1509,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 fff87a9bfb..6b1891a73a 100644 --- a/patches/api/0014-Add-view-distance-API.patch +++ b/patches/api/0014-Add-view-distance-API.patch @@ -65,10 +65,10 @@ index c58b1885662c6a234ffee75995051c9750c1a512..7b1fb280a86ab44756fc233b085f878d public class Spigot { diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index eeabecac8920d98c0575d2fbf813ce93bf314f3b..017872f119721dffb72cffa9f916c1243428b885 100644 +index 2338eae12f5a984e953a332b3a5a6700a031dd5a..73c42df406d3935d8eeab2f27f4478f92d2d45d9 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1522,6 +1522,62 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1523,6 +1523,62 @@ 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/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch index 4c3bf26717..ac801cf869 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 @@ -76,10 +76,10 @@ index b476f473078512363a7142d82fbc28afaa4690ff..30252583c457a1afafa4172321e13673 * 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 08979f50d125a62d05389da86f08f5ac77e48b11..64557d549dd7d72ec78ecfac324b788657e6a0b4 100644 +index 73c42df406d3935d8eeab2f27f4478f92d2d45d9..b6a848261f7c136cbcb4a4f40223d2f248d546c2 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -707,6 +707,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -708,6 +708,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 d237498ab9..4e4297a91f 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 64557d549dd7d72ec78ecfac324b788657e6a0b4..12acaa06a00a2a2d0c03e52920bb041af29bc01e 100644 +index b6a848261f7c136cbcb4a4f40223d2f248d546c2..1df2ff828aee7dac50d63fe1d51104e9fb2ed264 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 64557d549dd7d72ec78ecfac324b788657e6a0b4..12acaa06a00a2a2d0c03e52920bb041a import org.bukkit.DyeColor; import org.bukkit.Effect; import org.bukkit.GameMode; -@@ -741,6 +742,131 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -742,6 +743,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 8563f53d2e..95d5db5fa6 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 d03b4193b3ba1a1a6378fb297e69e4b183f31a03..ad246bc21e9877b70b4e3687d8ae8bcd013b80e3 100644 +index 1df2ff828aee7dac50d63fe1d51104e9fb2ed264..9884b8eefea0cc84a1af5901410d77746f85b5d7 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1250,7 +1250,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1251,7 +1251,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 d03b4193b3ba1a1a6378fb297e69e4b183f31a03..ad246bc21e9877b70b4e3687d8ae8bcd public void setResourcePack(@NotNull String url); /** -@@ -1778,6 +1780,124 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1788,6 +1790,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/0045-Add-String-based-Action-Bar-API.patch b/patches/api/0045-Add-String-based-Action-Bar-API.patch index 24993f5225..8a9b06d46e 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 ad246bc21e9877b70b4e3687d8ae8bcd013b80e3..757e92e11752e8c244b46a75d5265fa3f11d5a79 100644 +index 9884b8eefea0cc84a1af5901410d77746f85b5d7..c89bfe671ec4110951595b5c8c9e91897bcf8e61 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 ad246bc21e9877b70b4e3687d8ae8bcd013b80e3..757e92e11752e8c244b46a75d5265fa3 import org.bukkit.DyeColor; import org.bukkit.Effect; import org.bukkit.GameMode; -@@ -709,6 +710,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -710,6 +711,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public void sendMap(@NotNull MapView map); // Paper start @@ -56,7 +56,7 @@ index ad246bc21e9877b70b4e3687d8ae8bcd013b80e3..757e92e11752e8c244b46a75d5265fa3 /** * Sends the component to the player * -@@ -736,9 +770,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -737,9 +771,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 ad246bc21e9877b70b4e3687d8ae8bcd013b80e3..757e92e11752e8c244b46a75d5265fa3 public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) { spigot().sendMessage(position, components); } -@@ -1969,6 +2005,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1979,6 +2015,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 ad246bc21e9877b70b4e3687d8ae8bcd013b80e3..757e92e11752e8c244b46a75d5265fa3 * @param position the screen position * @param component the components to send * @deprecated use {@code sendMessage} methods that accept {@link net.kyori.adventure.text.Component} -@@ -1981,6 +2018,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1991,6 +2028,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/0054-Fix-upstream-javadocs.patch b/patches/api/0054-Fix-upstream-javadocs.patch index 4e4097422b..f5c38bee23 100644 --- a/patches/api/0054-Fix-upstream-javadocs.patch +++ b/patches/api/0054-Fix-upstream-javadocs.patch @@ -76,10 +76,10 @@ 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 82e4b89bf280ad3f99d94c9aaa6075449737932a..4771a1537646217ad0836f7d5ed62940339b44c6 100644 +index c89bfe671ec4110951595b5c8c9e91897bcf8e61..48b127cafe6fecb1849b176df43cbf26e5a1db79 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -727,7 +727,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -728,7 +728,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/0076-Expose-client-protocol-version-and-virtual-host.patch b/patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch index 24cb81811a..ccdebefb9f 100644 --- a/patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch +++ b/patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch @@ -57,10 +57,10 @@ index 0000000000000000000000000000000000000000..7b2af1bd72dfbcf4e962a982940fc49b + +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 4771a1537646217ad0836f7d5ed62940339b44c6..a0782b81e787630cb45b38a863f1e98506014735 100644 +index 48b127cafe6fecb1849b176df43cbf26e5a1db79..b621f693379aedc23a90b03e724ba8a2ffeb283e 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -36,7 +36,7 @@ import org.jetbrains.annotations.Nullable; +@@ -37,7 +37,7 @@ import org.jetbrains.annotations.Nullable; /** * Represents a player, connected or not */ 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 582c214930..018d7477f3 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 a0782b81e787630cb45b38a863f1e98506014735..8d5ddb1451ea1d7a7a5c9eefb843a4adb885d20e 100644 +index b621f693379aedc23a90b03e724ba8a2ffeb283e..1e3a56ff656cdfe18cf665eecd8f126275f29715 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -985,12 +985,33 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -986,12 +986,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 39c7c7e5dc..270d3ae83a 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/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index fbb7cf6575a129b22fca2eb8ef950e446946ca50..7edb56a95d214f56556e4e83d843879f946d61a2 100644 +index 1e3a56ff656cdfe18cf665eecd8f126275f29715..f7aeb7aca3bf3929d1a8751928318ff6c7da96f6 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -4,6 +4,7 @@ import java.net.InetSocketAddress; @@ -17,7 +17,7 @@ index fbb7cf6575a129b22fca2eb8ef950e446946ca50..7edb56a95d214f56556e4e83d843879f import org.bukkit.DyeColor; import org.bukkit.Effect; import org.bukkit.GameMode; -@@ -1955,6 +1956,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1965,6 +1966,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-method-to-open-already-placed-sign.patch b/patches/api/0094-Add-openSign-method-to-HumanEntity.patch similarity index 58% rename from patches/api/0094-Add-method-to-open-already-placed-sign.patch rename to patches/api/0094-Add-openSign-method-to-HumanEntity.patch index 4188bded0b..a87e737ca1 100644 --- a/patches/api/0094-Add-method-to-open-already-placed-sign.patch +++ b/patches/api/0094-Add-openSign-method-to-HumanEntity.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Sun, 1 Apr 2018 02:28:43 +0300 -Subject: [PATCH] Add method to open already placed sign +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 @@ -23,3 +23,16 @@ index 396092fd249928ca01133eeeeb61f0ad90b2e332..5cc025b69c4f405be8f7098d0dcef40f /** * 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 f7aeb7aca3bf3929d1a8751928318ff6c7da96f6..da5dd22e75b998495258a482557221ebd52e0c39 100644 +--- a/src/main/java/org/bukkit/entity/Player.java ++++ b/src/main/java/org/bukkit/entity/Player.java +@@ -1821,7 +1821,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM + /** + * Open a Sign for editing by the Player. + * +- * The Sign must be placed in the same world as the player. ++ * The Sign must be in the same world as the player. + * + * @param sign The sign to edit + */ 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 3df77467f4..9f7cd5b28b 100644 --- a/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch +++ b/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch @@ -74,7 +74,7 @@ index 58313929f81509030216a0e5e3869da63e11108e..6cf05fed701c67a2c797a4e0839c7958 /** * Checks if this player is whitelisted or not diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 0dabd6f69e85b21f7ec6e6a2ac46d7fc58af24f6..ac529faeb4e4be2e62228cc931a793f2ff0a28af 100644 +index da5dd22e75b998495258a482557221ebd52e0c39..07ae612268a5857cedf8c646a09eb30c9b0a036b 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -5,6 +5,10 @@ import java.util.UUID; @@ -88,7 +88,7 @@ index 0dabd6f69e85b21f7ec6e6a2ac46d7fc58af24f6..ac529faeb4e4be2e62228cc931a793f2 import org.bukkit.DyeColor; import org.bukkit.Effect; import org.bukkit.GameMode; -@@ -711,6 +715,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -712,6 +716,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public void sendMap(@NotNull MapView map); // Paper start diff --git a/patches/api/0149-Expose-attack-cooldown-methods-for-Player.patch b/patches/api/0149-Expose-attack-cooldown-methods-for-Player.patch index 9e94ffb5c3..bca20c6e2d 100644 --- a/patches/api/0149-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/api/0149-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 e6695d006bdf09f63b35e52b6575ba9d7c5bb4c7..0ca16994a5475c685ce06cf14cc965150d239a70 100644 +index 07ae612268a5857cedf8c646a09eb30c9b0a036b..b3e63a1a8a71b127735a05bc4938587fc0963c17 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2130,6 +2130,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2140,6 +2140,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param profile The new profile to use */ void setPlayerProfile(@NotNull PlayerProfile profile); diff --git a/patches/api/0196-Add-Player-Client-Options-API.patch b/patches/api/0196-Add-Player-Client-Options-API.patch index dd7bb590a6..850a6126bf 100644 --- a/patches/api/0196-Add-Player-Client-Options-API.patch +++ b/patches/api/0196-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 0ca16994a5475c685ce06cf14cc965150d239a70..8e5e7f172818471354f32bcc12289d2e47c03065 100644 +index b3e63a1a8a71b127735a05bc4938587fc0963c17..7f42df9683761ef022a2ff47915aca258158d633 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 0ca16994a5475c685ce06cf14cc965150d239a70..8e5e7f172818471354f32bcc12289d2e import com.destroystokyo.paper.Title; // Paper import net.kyori.adventure.text.Component; import com.destroystokyo.paper.profile.PlayerProfile; // Paper -@@ -2150,6 +2151,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2160,6 +2161,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/0220-Brand-support.patch b/patches/api/0220-Brand-support.patch index 6990184260..36eb6a5635 100644 --- a/patches/api/0220-Brand-support.patch +++ b/patches/api/0220-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 8e5e7f172818471354f32bcc12289d2e47c03065..2656b92a09ea27485436c33915a57df2c072afc7 100644 +index 7f42df9683761ef022a2ff47915aca258158d633..59e5f30b46c2c9dcc424e0fd8553e76cd5f721cd 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2285,6 +2285,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2295,6 +2295,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM // Paper end } diff --git a/patches/api/0229-Player-elytra-boost-API.patch b/patches/api/0229-Player-elytra-boost-API.patch index 3631436eeb..bf2578bd46 100644 --- a/patches/api/0229-Player-elytra-boost-API.patch +++ b/patches/api/0229-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 2656b92a09ea27485436c33915a57df2c072afc7..85b1f27ebe66e2ffeec5446b201efe3ec0136ccc 100644 +index 59e5f30b46c2c9dcc424e0fd8553e76cd5f721cd..833e049ba0f5f5ac45cc75a6766e8a605eadbf5e 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2157,6 +2157,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2167,6 +2167,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ @NotNull T getClientOption(@NotNull ClientOption option); diff --git a/patches/api/0257-Add-sendOpLevel-API.patch b/patches/api/0257-Add-sendOpLevel-API.patch index b40e4ed129..db3cee49ab 100644 --- a/patches/api/0257-Add-sendOpLevel-API.patch +++ b/patches/api/0257-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 85b1f27ebe66e2ffeec5446b201efe3ec0136ccc..310c66059c068f523d09bbb3f4218ca40085543c 100644 +index 833e049ba0f5f5ac45cc75a6766e8a605eadbf5e..a27abc477900e7007e8e001a778a647af79c2d86 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2170,6 +2170,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2180,6 +2180,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ @Nullable Firework boostElytra(@NotNull ItemStack firework); diff --git a/patches/api/0308-Add-PlayerKickEvent-causes.patch b/patches/api/0308-Add-PlayerKickEvent-causes.patch index b28341ec20..246a802b8a 100644 --- a/patches/api/0308-Add-PlayerKickEvent-causes.patch +++ b/patches/api/0308-Add-PlayerKickEvent-causes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerKickEvent causes diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index a6031b6ad451facd8ca6318bd06aa9850feb834c..7de08c12aec311a8de631a8ec37147579c5e9963 100644 +index a27abc477900e7007e8e001a778a647af79c2d86..bcd17e01e1be66cc5b7c851a4d1ad62b9f158f9b 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -240,6 +240,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -241,6 +241,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param message kick message */ void kick(final @Nullable net.kyori.adventure.text.Component message); diff --git a/patches/api/0344-Add-player-health-update-API.patch b/patches/api/0344-Add-player-health-update-API.patch index ea5b3602ac..a918c504ee 100644 --- a/patches/api/0344-Add-player-health-update-API.patch +++ b/patches/api/0344-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 7907ed07a33557f1011ff8df2a411c6d161e3fda..46357e74bce88c152d4e12e4078fd6ba71deeef7 100644 +index bcd17e01e1be66cc5b7c851a4d1ad62b9f158f9b..f5ded992672dde910cd4e1be50c238b142157ff8 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1583,6 +1583,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1584,6 +1584,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public double getHealthScale(); diff --git a/patches/server/0006-MC-Utils.patch b/patches/server/0006-MC-Utils.patch index 5895c103c5..f5a4027421 100644 --- a/patches/server/0006-MC-Utils.patch +++ b/patches/server/0006-MC-Utils.patch @@ -5884,7 +5884,7 @@ index d672c467267ef4d96184e104c35d0379116880db..566c32a71054479257b7fba981507fa2 while (iterator1.hasNext()) { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 38467827b01cba97d1ae29e67e7776b8b332f74d..d3beb7624daace9b6180a6721033a77df4faee04 100644 +index 9812116e2f28d01423373990ecce0e5ab6229ce2..e66b4837498a8bfefabc4dd95e91ccfba67843e4 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -9,6 +9,7 @@ import it.unimi.dsi.fastutil.longs.LongSet; @@ -6497,7 +6497,7 @@ index 0cb0b6143e3307e546c78ecda2c35ac31a8a7001..a3f44e3a44b2ec21ef41f6d598b42844 public boolean useShapeForLightOcclusion() { diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java -index b44f4defb19554cecd75e839812cd2fca79a98b1..f529776a40744e18043b0e4a0df8873e6b920387 100644 +index bfcaaa69991342f71fba4df46f69aea2ec6adca7..0ea0690ab1d45f60a2b13cf8a69e580256992cdc 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java @@ -58,7 +58,7 @@ public abstract class ChunkAccess implements BlockGetter, BiomeManager.NoiseBiom @@ -6520,7 +6520,7 @@ index b44f4defb19554cecd75e839812cd2fca79a98b1..f529776a40744e18043b0e4a0df8873e this.levelHeightAccessor = heightLimitView; this.sections = new LevelChunkSection[heightLimitView.getSectionsCount()]; diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index 6d58f8baf53ac828da7097ff0140da2cf6dfe682..b61d9592f4a7e0e5c65cb9f317f2d1f3370311a4 100644 +index 28555314738ba891e0e36d3c85b1623116f743dd..3f09451a04404231f1eaac0954c0ecf01b7507ea 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -24,6 +24,7 @@ import net.minecraft.nbt.CompoundTag; @@ -6642,7 +6642,7 @@ index 6d58f8baf53ac828da7097ff0140da2cf6dfe682..b61d9592f4a7e0e5c65cb9f317f2d1f3 public LevelChunk(ServerLevel world, ProtoChunk protoChunk, @Nullable LevelChunk.PostLoadProcessor entityLoader) { this(world, protoChunk.getPos(), protoChunk.getUpgradeData(), protoChunk.unpackBlockTicks(), protoChunk.unpackFluidTicks(), protoChunk.getInhabitedTime(), protoChunk.getSections(), entityLoader, protoChunk.getBlendingData()); Iterator iterator = protoChunk.getBlockEntities().values().iterator(); -@@ -226,6 +331,18 @@ public class LevelChunk extends ChunkAccess { +@@ -225,6 +330,18 @@ public class LevelChunk extends ChunkAccess { } } @@ -6661,7 +6661,7 @@ index 6d58f8baf53ac828da7097ff0140da2cf6dfe682..b61d9592f4a7e0e5c65cb9f317f2d1f3 @Override public FluidState getFluidState(BlockPos pos) { return this.getFluidState(pos.getX(), pos.getY(), pos.getZ()); -@@ -347,6 +464,7 @@ public class LevelChunk extends ChunkAccess { +@@ -346,6 +463,7 @@ public class LevelChunk extends ChunkAccess { return this.getBlockEntity(pos, LevelChunk.EntityCreationType.CHECK); } @@ -6669,7 +6669,7 @@ index 6d58f8baf53ac828da7097ff0140da2cf6dfe682..b61d9592f4a7e0e5c65cb9f317f2d1f3 @Nullable public BlockEntity getBlockEntity(BlockPos pos, LevelChunk.EntityCreationType creationType) { // CraftBukkit start -@@ -516,7 +634,25 @@ public class LevelChunk extends ChunkAccess { +@@ -515,7 +633,25 @@ public class LevelChunk extends ChunkAccess { // CraftBukkit start public void loadCallback() { @@ -6695,7 +6695,7 @@ index 6d58f8baf53ac828da7097ff0140da2cf6dfe682..b61d9592f4a7e0e5c65cb9f317f2d1f3 if (server != null) { /* * If it's a new world, the first few chunks are generated inside -@@ -555,6 +691,22 @@ public class LevelChunk extends ChunkAccess { +@@ -554,6 +690,22 @@ public class LevelChunk extends ChunkAccess { server.getPluginManager().callEvent(unloadEvent); // note: saving can be prevented, but not forced if no saving is actually required this.mustNotSave = !unloadEvent.isSaveChunk(); diff --git a/patches/server/0010-Timings-v2.patch b/patches/server/0010-Timings-v2.patch index d72b12dfde..ecb4ddf8dc 100644 --- a/patches/server/0010-Timings-v2.patch +++ b/patches/server/0010-Timings-v2.patch @@ -1217,7 +1217,7 @@ index 566c32a71054479257b7fba981507fa2559aa9e6..109d6638d8fe035498bd717c180c9143 } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index d3beb7624daace9b6180a6721033a77df4faee04..9584f09f44445d91ee259f2a50b1fecf718e18dc 100644 +index e66b4837498a8bfefabc4dd95e91ccfba67843e4..d78aeeff0d729284e60ffb72f7485b864447d98a 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1,6 +1,8 @@ @@ -1388,7 +1388,7 @@ index 5996549250d666405ab113403faeb422b6e38c8c..d2d7d4f506b2eacc5672c5eace1c9b9c // this.server.getCommands().performCommand(this.player.createCommandSourceStack(), s); // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 287a9b9827be0cf556aa5b1091e3520212ac7ba1..30a0335d1debaac45701149d243de05e4d71c3c1 100644 +index 8e4325abb2dda74c38b17bb27f9dcfcf97ba2de6..1be4b3ad18d314b0460ce61e01afd0d7d16aee69 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1,5 +1,6 @@ @@ -1667,10 +1667,10 @@ index d33c2d2ec285179614d21a255cea394682e4cc2c..65aedffad9bef4ab80eb835e9c05b6d4 private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); public CraftPersistentDataContainer persistentDataContainer; diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index b61d9592f4a7e0e5c65cb9f317f2d1f3370311a4..a1c6225e57555c4bc736ceec7b6e915829a1e718 100644 +index 3f09451a04404231f1eaac0954c0ecf01b7507ea..127727c3b4b21c42c64b8616c9fccf7783a89a9c 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -@@ -662,6 +662,7 @@ public class LevelChunk extends ChunkAccess { +@@ -661,6 +661,7 @@ public class LevelChunk extends ChunkAccess { server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkLoadEvent(this.bukkitChunk, this.needsDecoration)); if (this.needsDecoration) { @@ -1678,7 +1678,7 @@ index b61d9592f4a7e0e5c65cb9f317f2d1f3370311a4..a1c6225e57555c4bc736ceec7b6e9158 this.needsDecoration = false; java.util.Random random = new java.util.Random(); random.setSeed(this.level.getSeed()); -@@ -681,6 +682,7 @@ public class LevelChunk extends ChunkAccess { +@@ -680,6 +681,7 @@ public class LevelChunk extends ChunkAccess { } } server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkPopulateEvent(this.bukkitChunk)); @@ -1918,10 +1918,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 ccc3ee7666a974f4da74ffd4a396b714df58d591..005242fdd36821b8a4753d8d64e6070b53452f06 100644 +index 5333f690774686f3bec3ec693228cb806939a10e..1d587a67847dac2e020ae357f0f174d86c066ff8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1858,6 +1858,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1864,6 +1864,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { packet.components = components; CraftPlayer.this.getHandle().connection.send(packet); } diff --git a/patches/server/0012-Adventure.patch b/patches/server/0012-Adventure.patch index fbfcbfb107..b378525cf7 100644 --- a/patches/server/0012-Adventure.patch +++ b/patches/server/0012-Adventure.patch @@ -1485,7 +1485,7 @@ index c9a8d64ef23def0ad8e986a97c34331b8d54c205..2b24a41587fbe1fba70a0ab42d3dc333 @Override diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 30a0335d1debaac45701149d243de05e4d71c3c1..bb8d5d43ebbba51ea3a82d2607d6c5647154a469 100644 +index 1be4b3ad18d314b0460ce61e01afd0d7d16aee69..96e1618a55597b0a3ac533a3610ba146395b5725 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -8,6 +8,7 @@ import com.mojang.authlib.GameProfile; @@ -2001,10 +2001,10 @@ index 0beb96dc896f63003e1b1ae458b73902bdbe648a..102eb86bad3000f258775ac06ecd1a6d public String getCustomName() { EnchantmentTableBlockEntity enchant = this.getSnapshot(); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java -index 5422bec518f96ed559898cd746663f3492466f93..b0a7f558cfe0f2ff859ab7b2db38ac303e9ae842 100644 +index 9e68893b189ad05e4d2a5e8788e93e10670ac824..71cde0f5b27105c3ece994471017999b00794fa3 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java -@@ -11,34 +11,60 @@ import org.bukkit.craftbukkit.util.CraftChatMessage; +@@ -14,34 +14,60 @@ import org.bukkit.entity.Player; public class CraftSign extends CraftBlockEntityState implements Sign { // Lazily initialized only if requested: @@ -2078,7 +2078,7 @@ index 5422bec518f96ed559898cd746663f3492466f93..b0a7f558cfe0f2ff859ab7b2db38ac30 } @Override -@@ -76,16 +102,32 @@ public class CraftSign extends CraftBlockEntityState implements +@@ -79,13 +105,16 @@ public class CraftSign extends CraftBlockEntityState implements super.applyTo(sign); if (this.lines != null) { @@ -2099,6 +2099,10 @@ index 5422bec518f96ed559898cd746663f3492466f93..b0a7f558cfe0f2ff859ab7b2db38ac30 } } +@@ -100,6 +129,20 @@ public class CraftSign extends CraftBlockEntityState implements + ((CraftPlayer) player).getHandle().openTextEdit(handle); + } + + // Paper start + public static Component[] sanitizeLines(java.util.List lines) { + Component[] components = new Component[4]; @@ -2112,6 +2116,7 @@ index 5422bec518f96ed559898cd746663f3492466f93..b0a7f558cfe0f2ff859ab7b2db38ac30 + return components; + } + // Paper end ++ public static Component[] sanitizeLines(String[] lines) { Component[] components = new Component[4]; @@ -2363,10 +2368,10 @@ 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 005242fdd36821b8a4753d8d64e6070b53452f06..b83978957c867084decd3cd63e5ea03880f304b5 100644 +index 1d587a67847dac2e020ae357f0f174d86c066ff8..8975e64f40e6faeda38332ae0baba63af4146553 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -251,14 +251,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -252,14 +252,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getDisplayName() { @@ -2406,7 +2411,7 @@ index 005242fdd36821b8a4753d8d64e6070b53452f06..b83978957c867084decd3cd63e5ea038 @Override public String getPlayerListName() { return this.getHandle().listName == null ? getName() : CraftChatMessage.fromComponent(this.getHandle().listName); -@@ -277,42 +302,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -278,42 +303,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } @@ -2458,7 +2463,7 @@ index 005242fdd36821b8a4753d8d64e6070b53452f06..b83978957c867084decd3cd63e5ea038 this.getHandle().connection.send(packet); } -@@ -344,6 +369,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -345,6 +370,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.disconnect(message == null ? "" : message); } @@ -2476,7 +2481,7 @@ index 005242fdd36821b8a4753d8d64e6070b53452f06..b83978957c867084decd3cd63e5ea038 @Override public void setCompassTarget(Location loc) { if (this.getHandle().connection == null) return; -@@ -586,6 +622,33 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -587,6 +623,33 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } @@ -2510,7 +2515,7 @@ index 005242fdd36821b8a4753d8d64e6070b53452f06..b83978957c867084decd3cd63e5ea038 @Override public void sendSignChange(Location loc, String[] lines) { this.sendSignChange(loc, lines, DyeColor.BLACK); -@@ -613,14 +676,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -614,14 +677,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } Component[] components = CraftSign.sanitizeLines(lines); @@ -2528,7 +2533,7 @@ index 005242fdd36821b8a4753d8d64e6070b53452f06..b83978957c867084decd3cd63e5ea038 } @Override -@@ -1722,6 +1786,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1723,6 +1787,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return (this.getHandle().clientViewDistance == null) ? Bukkit.getViewDistance() : this.getHandle().clientViewDistance; } @@ -2541,7 +2546,7 @@ index 005242fdd36821b8a4753d8d64e6070b53452f06..b83978957c867084decd3cd63e5ea038 @Override public int getPing() { return this.getHandle().latency; -@@ -1762,6 +1832,194 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1768,6 +1838,194 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().allowsListing(); } @@ -2737,7 +2742,7 @@ index 005242fdd36821b8a4753d8d64e6070b53452f06..b83978957c867084decd3cd63e5ea038 private final Player.Spigot spigot = new Player.Spigot() { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 02f7a3081e9366f62a957dde4ec6487e1f66fb51..e172f574d5a5ab848197a113167872ec82355471 100644 +index 30325b83e044a0d6caf78a4953f9dde8bf440bae..4da8af129b8c4f61617348b292166b9b1e300ac8 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -807,9 +807,9 @@ public class CraftEventFactory { diff --git a/patches/server/0023-Player-affects-spawning-API.patch b/patches/server/0023-Player-affects-spawning-API.patch index 977dd489af..f04f26eb0b 100644 --- a/patches/server/0023-Player-affects-spawning-API.patch +++ b/patches/server/0023-Player-affects-spawning-API.patch @@ -117,10 +117,10 @@ index c65d1dc6eb0c1fc7c4a91faf0f1c6f26b3c2a76e..0dc46471f7247e5d36c3896a0c874730 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 b83978957c867084decd3cd63e5ea03880f304b5..27eb934e762fb67dd69804d463e00a99e4431b16 100644 +index 8975e64f40e6faeda38332ae0baba63af4146553..52d8d73cf95d36ca3fd44408aea785f3f7351c05 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1800,8 +1800,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1801,8 +1801,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getLocale() { return this.getHandle().locale; diff --git a/patches/server/0024-Remove-invalid-mob-spawner-tile-entities.patch b/patches/server/0024-Remove-invalid-mob-spawner-tile-entities.patch index 4603fa7301..152ac8f644 100644 --- a/patches/server/0024-Remove-invalid-mob-spawner-tile-entities.patch +++ b/patches/server/0024-Remove-invalid-mob-spawner-tile-entities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Remove invalid mob spawner tile entities diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index a1c6225e57555c4bc736ceec7b6e915829a1e718..3830d0ef2936d37199a45035401efd6e19efdfa8 100644 +index 127727c3b4b21c42c64b8616c9fccf7783a89a9c..ba10a0128852d1052db1b0527352019e308d81b2 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -@@ -544,6 +544,11 @@ public class LevelChunk extends ChunkAccess { +@@ -543,6 +543,11 @@ public class LevelChunk extends ChunkAccess { } // CraftBukkit start diff --git a/patches/server/0026-Only-refresh-abilities-if-needed.patch b/patches/server/0026-Only-refresh-abilities-if-needed.patch index a35bb25c32..ed17ae277d 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 27eb934e762fb67dd69804d463e00a99e4431b16..4fb53ca63cc4f5fbb58266d5c76821039036bb85 100644 +index 52d8d73cf95d36ca3fd44408aea785f3f7351c05..deb477d2b6140348c399c4159bdff9b9018e2e36 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1469,12 +1469,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1470,12 +1470,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setFlying(boolean value) { diff --git a/patches/server/0028-Prevent-tile-entity-and-entity-crashes.patch b/patches/server/0028-Prevent-tile-entity-and-entity-crashes.patch index 89b65d4ce8..af6543d174 100644 --- a/patches/server/0028-Prevent-tile-entity-and-entity-crashes.patch +++ b/patches/server/0028-Prevent-tile-entity-and-entity-crashes.patch @@ -26,7 +26,7 @@ index 03c667b08db332f33b6da4e386c22d1a69c4f9a7..8a2d18524e089cdc07125e424b37f1b6 } diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java -index 53830d4f51365973092194ab38344ad13e84470a..a1bfe449cc2a9155ac1b8e68882e630cd75b1555 100644 +index 65aedffad9bef4ab80eb835e9c05b6d411f6bb15..14ac3c7b47525b7fd0345d817c9020b5a59d2ebc 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java @@ -233,7 +233,12 @@ public abstract class BlockEntity implements io.papermc.paper.util.KeyedObject { @@ -44,10 +44,10 @@ index 53830d4f51365973092194ab38344ad13e84470a..a1bfe449cc2a9155ac1b8e68882e630c } } diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index 3830d0ef2936d37199a45035401efd6e19efdfa8..8dda77880d42cf1b648324d945eb065681b59c33 100644 +index ba10a0128852d1052db1b0527352019e308d81b2..9638e28077b5720745f6125805fbda702a804f74 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -@@ -1032,11 +1032,11 @@ public class LevelChunk extends ChunkAccess { +@@ -1031,11 +1031,11 @@ public class LevelChunk extends ChunkAccess { gameprofilerfiller.pop(); } catch (Throwable throwable) { diff --git a/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch index fdeac43cad..cb38529341 100644 --- a/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch +++ b/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch @@ -30,10 +30,10 @@ index 88b6be62678fc09b5a39db28c6d71cc31b16dbcd..352bfe795aea26307de9c998d67a43af 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 4fb53ca63cc4f5fbb58266d5c76821039036bb85..acce8810b2aeb991f738396830cfb2fd8c2ad1fe 100644 +index deb477d2b6140348c399c4159bdff9b9018e2e36..a3de0658c00175dedfbd1844e2c18082641b7072 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1800,8 +1800,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1801,8 +1801,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 fb96a44df1..f2f9c6fe16 100644 --- a/patches/server/0040-Per-Player-View-Distance-API-placeholders.patch +++ b/patches/server/0040-Per-Player-View-Distance-API-placeholders.patch @@ -56,10 +56,10 @@ index 8df699de4ddde3089324f347a82d913f2208f5be..4a91e8ee26ec34f605828afa75eea8dd // Spigot start diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2766b773ed255e3172ed52a3fb37d18f6f46999b..5168f3a99c669a2c86894eb244801845aa6da077 100644 +index a3de0658c00175dedfbd1844e2c18082641b7072..bcb19b6885ab90046b1361e2a9e5f9e65c9be1d0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -378,6 +378,36 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -379,6 +379,36 @@ public class CraftPlayer extends CraftHumanEntity implements Player { connection.disconnect(message == null ? net.kyori.adventure.text.Component.empty() : message); } } diff --git a/patches/server/0052-Player-Tab-List-and-Title-APIs.patch b/patches/server/0052-Player-Tab-List-and-Title-APIs.patch index 8842c5aa0d..d0c53eb2b6 100644 --- a/patches/server/0052-Player-Tab-List-and-Title-APIs.patch +++ b/patches/server/0052-Player-Tab-List-and-Title-APIs.patch @@ -63,7 +63,7 @@ index bd808eb312ade7122973a47f4b96505829511da5..bf0f9cab7c66c089f35b851e799ba4a4 // Paper end buf.writeComponent(this.text); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5168f3a99c669a2c86894eb244801845aa6da077..ece96166731da291536a2859273b1fa55944e0e5 100644 +index bcb19b6885ab90046b1361e2a9e5f9e65c9be1d0..7df097f1703e3e3a866ba041a736a34d8dcd77f8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1,5 +1,6 @@ @@ -73,7 +73,7 @@ index 5168f3a99c669a2c86894eb244801845aa6da077..ece96166731da291536a2859273b1fa5 import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import com.google.common.io.BaseEncoding; -@@ -249,6 +250,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -250,6 +251,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } diff --git a/patches/server/0055-Configurable-inter-world-teleportation-safety.patch b/patches/server/0055-Configurable-inter-world-teleportation-safety.patch index 1ab9cf00bf..d350065b85 100644 --- a/patches/server/0055-Configurable-inter-world-teleportation-safety.patch +++ b/patches/server/0055-Configurable-inter-world-teleportation-safety.patch @@ -30,10 +30,10 @@ index c248b66486044150c64eaddbef85fa6644494212..ada624b5f58381122e59568c2087cf38 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ece96166731da291536a2859273b1fa55944e0e5..fe6ce60db2afee9a078e45ebb76c15ddeca8b9b4 100644 +index 7df097f1703e3e3a866ba041a736a34d8dcd77f8..87a193e8f026166b5821710d5501eb11175744b0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -906,7 +906,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -907,7 +907,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (fromWorld == toWorld) { entity.connection.teleport(to); } else { diff --git a/patches/server/0056-Add-exception-reporting-event.patch b/patches/server/0056-Add-exception-reporting-event.patch index 58e9cd7801..384479522d 100644 --- a/patches/server/0056-Add-exception-reporting-event.patch +++ b/patches/server/0056-Add-exception-reporting-event.patch @@ -151,7 +151,7 @@ index 81b61b6cc1e99328d4d339ca32895d1268c88ca7..28a7c53d98450cc79bee953411a18f50 } diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index 8dda77880d42cf1b648324d945eb065681b59c33..049a2496e89a879c5b46f1e23d945a7c9461bafc 100644 +index 9638e28077b5720745f6125805fbda702a804f74..d207e54019360f7f94bfa5301462fe3c8ac6758e 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -1,6 +1,7 @@ @@ -162,7 +162,7 @@ index 8dda77880d42cf1b648324d945eb065681b59c33..049a2496e89a879c5b46f1e23d945a7c import com.google.common.collect.Maps; import com.google.common.collect.UnmodifiableIterator; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; -@@ -550,10 +551,15 @@ public class LevelChunk extends ChunkAccess { +@@ -549,10 +550,15 @@ public class LevelChunk extends ChunkAccess { this.removeBlockEntity(blockEntity.getBlockPos()); // Paper end } else { @@ -182,7 +182,7 @@ index 8dda77880d42cf1b648324d945eb065681b59c33..049a2496e89a879c5b46f1e23d945a7c // CraftBukkit end } } -@@ -1035,6 +1041,7 @@ public class LevelChunk extends ChunkAccess { +@@ -1034,6 +1040,7 @@ public class LevelChunk extends ChunkAccess { // Paper start - Prevent tile entity and entity crashes 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/patches/server/0061-Complete-resource-pack-API.patch b/patches/server/0061-Complete-resource-pack-API.patch index 97564d4fd7..4f57ff55ce 100644 --- a/patches/server/0061-Complete-resource-pack-API.patch +++ b/patches/server/0061-Complete-resource-pack-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Complete resource pack API diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 38909ef14fcfd4b93d83512f4cacbe2c3fe431a1..76e34fb4bb6b3d194e155bec30d36887350f3ee3 100644 +index 63ba639701b703392ce2be973e2a53ba76e4fd46..59bf84ff2aac4f39c1027db9c32e3cf4accedcb1 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1634,8 +1634,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -23,10 +23,10 @@ index 38909ef14fcfd4b93d83512f4cacbe2c3fe431a1..76e34fb4bb6b3d194e155bec30d36887 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a0cfb8a2bb7a73caba7b8697aa0c7241a99ed5fc..6510cf916281f1f6f3a4902e7988283027586adf 100644 +index 87a193e8f026166b5821710d5501eb11175744b0..21df67c4b78947868407d96cd91a3ce0fd1dc927 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -133,6 +133,7 @@ import org.bukkit.metadata.MetadataValue; +@@ -134,6 +134,7 @@ import org.bukkit.metadata.MetadataValue; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.messaging.StandardMessenger; import org.bukkit.scoreboard.Scoreboard; @@ -34,7 +34,7 @@ index a0cfb8a2bb7a73caba7b8697aa0c7241a99ed5fc..6510cf916281f1f6f3a4902e79882830 import net.md_5.bungee.api.chat.BaseComponent; // Spigot -@@ -149,6 +150,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -150,6 +151,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private double health = 20; private boolean scaledHealth = false; private double healthScale = 20; @@ -45,7 +45,7 @@ index a0cfb8a2bb7a73caba7b8697aa0c7241a99ed5fc..6510cf916281f1f6f3a4902e79882830 public CraftPlayer(CraftServer server, ServerPlayer entity) { super(server, entity); -@@ -1940,6 +1945,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1941,6 +1946,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean getAffectsSpawning() { return this.getHandle().affectsSpawning; } 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 707222d00f..e3b7d5c937 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 @@ -44,10 +44,10 @@ index 76da306041b61f6c93e6f58f580054af7dfc234e..2277b06e3e13a1abb469064d5b23495a } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6510cf916281f1f6f3a4902e7988283027586adf..9101f179b16a3761c17042059aa4cd983c3350e9 100644 +index 21df67c4b78947868407d96cd91a3ce0fd1dc927..885d5dd984f2d7d8d662d6b6546eacd0879a2e54 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1745,6 +1745,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1746,6 +1746,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setRealHealth(double health) { diff --git a/patches/server/0072-Optimize-isValidLocation-getType-and-getBlockData-fo.patch b/patches/server/0072-Optimize-isValidLocation-getType-and-getBlockData-fo.patch index c9fd89d60b..fc394825ad 100644 --- a/patches/server/0072-Optimize-isValidLocation-getType-and-getBlockData-fo.patch +++ b/patches/server/0072-Optimize-isValidLocation-getType-and-getBlockData-fo.patch @@ -46,10 +46,10 @@ index de1bb9ecb8891b66b2c469f2ee52b9eee9d7ddea..7ee958e6a4f16780aa746ce0eb8cb8ee public static boolean isInSpawnableBounds(BlockPos pos) { diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java -index f529776a40744e18043b0e4a0df8873e6b920387..96dc50a24821016e53dfeac344c0e61f110a5a53 100644 +index 0ea0690ab1d45f60a2b13cf8a69e580256992cdc..046afe19aa30f466a08461e3a504c9bbf78f7a3c 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java -@@ -120,6 +120,7 @@ public abstract class ChunkAccess implements BlockGetter, BiomeManager.NoiseBiom +@@ -119,6 +119,7 @@ public abstract class ChunkAccess implements BlockGetter, BiomeManager.NoiseBiom return GameEventDispatcher.NOOP; } @@ -90,10 +90,10 @@ index ef74f37cae96e61d5648fce7bbd793fb67ba9e4a..7c5b3acd299c5b021bd20f17ff0b89c8 @Override public FluidState getFluidState(BlockPos pos) { diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index 049a2496e89a879c5b46f1e23d945a7c9461bafc..051ca5ac3bb9f66e921eaf49b1ee16b93b7daaa2 100644 +index d207e54019360f7f94bfa5301462fe3c8ac6758e..327b513c75e75d4b07d3c3b6deda9d1d00b6cd7f 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -@@ -289,12 +289,28 @@ public class LevelChunk extends ChunkAccess { +@@ -288,12 +288,28 @@ public class LevelChunk extends ChunkAccess { }); } diff --git a/patches/server/0075-Configurable-Chunk-Inhabited-Time.patch b/patches/server/0075-Configurable-Chunk-Inhabited-Time.patch index 5b4f519142..d6631cf697 100644 --- a/patches/server/0075-Configurable-Chunk-Inhabited-Time.patch +++ b/patches/server/0075-Configurable-Chunk-Inhabited-Time.patch @@ -30,10 +30,10 @@ index aa8cd5965632626e4cbd4952acf9b349f79b2b1c..e7534ed3f995be64c99399ab76e98086 + } } diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index 051ca5ac3bb9f66e921eaf49b1ee16b93b7daaa2..a9a14062a94b18b553a10b30de0cda7354ae4b7d 100644 +index 327b513c75e75d4b07d3c3b6deda9d1d00b6cd7f..2e04012bdea67baee7c541a9006a99cd4f454e79 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -@@ -282,6 +282,13 @@ public class LevelChunk extends ChunkAccess { +@@ -281,6 +281,13 @@ public class LevelChunk extends ChunkAccess { return new ChunkAccess.TicksToSave(this.blockTicks, this.fluidTicks); } diff --git a/patches/server/0084-Workaround-for-setting-passengers-on-players.patch b/patches/server/0084-Workaround-for-setting-passengers-on-players.patch index 995bc19643..8896941702 100644 --- a/patches/server/0084-Workaround-for-setting-passengers-on-players.patch +++ b/patches/server/0084-Workaround-for-setting-passengers-on-players.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Workaround for setting passengers on players SPIGOT-1915 & GH-114 diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a7047fa93b0fe08fb62f9b0984bcd3af9217c95f..5338f255f4f664b4c1b1530ba5fd55e0e24fd5b8 100644 +index 885d5dd984f2d7d8d662d6b6546eacd0879a2e54..1ac65af16a835f4c601d044412fc06ab9694eaf5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -916,6 +916,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -917,6 +917,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return true; } diff --git a/patches/server/0108-Option-to-remove-corrupt-tile-entities.patch b/patches/server/0108-Option-to-remove-corrupt-tile-entities.patch index 7a9b695de2..18a0d6014b 100644 --- a/patches/server/0108-Option-to-remove-corrupt-tile-entities.patch +++ b/patches/server/0108-Option-to-remove-corrupt-tile-entities.patch @@ -19,7 +19,7 @@ index d7734fbc6b684b14bc32c94e65947fb41aae126a..80345730b8ccc11d3d0833485d25b03f + } } diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index a9a14062a94b18b553a10b30de0cda7354ae4b7d..a009122a8ea9dc2b04a178248f20ef01886e832b 100644 +index 2e04012bdea67baee7c541a9006a99cd4f454e79..8ec42170fc72bddba61e3b03612f801e1fd07343 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -259,7 +259,7 @@ public class LevelChunk extends ChunkAccess { @@ -31,7 +31,7 @@ index a9a14062a94b18b553a10b30de0cda7354ae4b7d..a009122a8ea9dc2b04a178248f20ef01 this.needsDecoration = true; // CraftBukkit // CraftBukkit start this.persistentDataContainer = protoChunk.persistentDataContainer; // SPIGOT-6814: copy PDC to account for 1.17 to 1.18 chunk upgrading. -@@ -582,6 +582,12 @@ public class LevelChunk extends ChunkAccess { +@@ -581,6 +581,12 @@ public class LevelChunk extends ChunkAccess { "Chunk coordinates: " + (this.chunkPos.x * 16) + "," + (this.chunkPos.z * 16)); e.printStackTrace(); ServerInternalException.reportInternalException(e); diff --git a/patches/server/0122-String-based-Action-Bar-API.patch b/patches/server/0122-String-based-Action-Bar-API.patch index df5e0e06b1..eb0bcddf8a 100644 --- a/patches/server/0122-String-based-Action-Bar-API.patch +++ b/patches/server/0122-String-based-Action-Bar-API.patch @@ -26,10 +26,10 @@ index 32ef3edebe94a2014168b7e438752a80b2687e5f..ab6c58eed6707ab7b0aa3e7549a871ad // Paper end buf.writeComponent(this.text); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5338f255f4f664b4c1b1530ba5fd55e0e24fd5b8..bb6ddb9cd958835ef59b8d6681fa3b9f7089b3e3 100644 +index 1ac65af16a835f4c601d044412fc06ab9694eaf5..26ad8287e9ec74da99bdffe5de00f2e71ad571d0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -256,6 +256,26 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -257,6 +257,26 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper start diff --git a/patches/server/0161-Expose-client-protocol-version-and-virtual-host.patch b/patches/server/0161-Expose-client-protocol-version-and-virtual-host.patch index f2242c6623..59d3bd2c3b 100644 --- a/patches/server/0161-Expose-client-protocol-version-and-virtual-host.patch +++ b/patches/server/0161-Expose-client-protocol-version-and-virtual-host.patch @@ -90,10 +90,10 @@ index 27d304316bec097fea4b950cb4e0ac80cb219f70..85fea9b0bf84a8b40098f35eac503070 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 91e29e47712f0469bacddbf2660f912115e1de68..5a62770e19adb7bbd6b220e068dce26990dbc8c4 100644 +index 26ad8287e9ec74da99bdffe5de00f2e71ad571d0..a469ab0056c133aa40f1c9f70782d6a8c40b6dfd 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -200,6 +200,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -201,6 +201,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } diff --git a/patches/server/0168-API-to-get-a-BlockState-without-a-snapshot.patch b/patches/server/0168-API-to-get-a-BlockState-without-a-snapshot.patch index dce480c1ba..5a990edef0 100644 --- a/patches/server/0168-API-to-get-a-BlockState-without-a-snapshot.patch +++ b/patches/server/0168-API-to-get-a-BlockState-without-a-snapshot.patch @@ -135,19 +135,17 @@ index 51ea68c433c4d530f8404d3174c5a121ce808a96..9d0934656bbd27df4b47b816540d02cf } }; diff --git a/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java b/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java -index e2cb421132471ceb3db236cffea88585fbe3593a..af37bf2b8ef1c06e541fb42d15afdd9833ba93a4 100644 +index 3fc3907172f12ee24ea70bd6a1ffbbc6084ed971..2c59f09a9261a1690951161fd856a5848d9885b7 100644 --- a/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java -@@ -172,6 +172,12 @@ public final class CraftPersistentDataContainer implements PersistentDataContain +@@ -156,4 +156,10 @@ public class CraftPersistentDataContainer implements PersistentDataContainer { + public Map serialize() { return (Map) CraftNBTTagConfigSerializer.serialize(this.toTagCompound()); } - ++ + // Paper start + public void clear() { + this.customDataTags.clear(); + } + // Paper end -+ - @FunctionalInterface - public interface Callback { - void onValueChange(); + } diff --git a/patches/server/0171-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0171-Ability-to-apply-mending-to-XP-API.patch index b88d1160a7..4f6d00ab17 100644 --- a/patches/server/0171-Ability-to-apply-mending-to-XP-API.patch +++ b/patches/server/0171-Ability-to-apply-mending-to-XP-API.patch @@ -28,10 +28,10 @@ index 3a09ce6d0ea51436adcae4719d3f28d1868c283c..7bc5aa35b52de0027cf58a6127a99034 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 5a62770e19adb7bbd6b220e068dce26990dbc8c4..853d6b7e329240b701854256419bea0d4fc4bd67 100644 +index a469ab0056c133aa40f1c9f70782d6a8c40b6dfd..f696e31ec286263c4d06d6897b3aef0fa50f8f34 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1224,8 +1224,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1225,8 +1225,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return GameMode.getByValue(this.getHandle().gameMode.getGameModeForPlayer().getId()); } diff --git a/patches/server/0184-Player.setPlayerProfile-API.patch b/patches/server/0184-Player.setPlayerProfile-API.patch index 3ecc9a29bf..9590a80b71 100644 --- a/patches/server/0184-Player.setPlayerProfile-API.patch +++ b/patches/server/0184-Player.setPlayerProfile-API.patch @@ -26,7 +26,7 @@ index 00ef714294b6cce5fec7613eed4ba228a48e3e11..67b300574655854249c1f7440f56a6e8 uniqueId = gameProfile.getId(); // Paper end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a411c03a64eb8aa56d73fd288696857029380de2..ad1b450c77fae0dea734e8b09de14b5b36702317 100644 +index f696e31ec286263c4d06d6897b3aef0fa50f8f34..51839994999b22251bd9e813f1e05ef8d7e97c0d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -71,6 +71,7 @@ import net.minecraft.world.entity.ai.attributes.Attributes; @@ -37,7 +37,7 @@ index a411c03a64eb8aa56d73fd288696857029380de2..ad1b450c77fae0dea734e8b09de14b5b import net.minecraft.world.level.block.entity.SignBlockEntity; import net.minecraft.world.level.saveddata.maps.MapDecoration; import net.minecraft.world.level.saveddata.maps.MapItemSavedData; -@@ -1357,8 +1358,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1358,8 +1359,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.hiddenEntities.put(entity.getUniqueId(), hidingPlugins); // Remove this entity from the hidden player's EntityTrackerEntry @@ -52,7 +52,7 @@ index a411c03a64eb8aa56d73fd288696857029380de2..ad1b450c77fae0dea734e8b09de14b5b ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId()); if (entry != null) { entry.removePlayer(this.getHandle()); -@@ -1407,8 +1413,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1408,8 +1414,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } this.hiddenEntities.remove(entity.getUniqueId()); @@ -67,7 +67,7 @@ index a411c03a64eb8aa56d73fd288696857029380de2..ad1b450c77fae0dea734e8b09de14b5b if (other instanceof ServerPlayer) { ServerPlayer otherPlayer = (ServerPlayer) other; -@@ -1420,6 +1431,50 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1421,6 +1432,50 @@ public class CraftPlayer extends CraftHumanEntity implements Player { entry.updatePlayer(this.getHandle()); } } diff --git a/patches/server/0190-Flag-to-disable-the-channel-limit.patch b/patches/server/0190-Flag-to-disable-the-channel-limit.patch index f6fa7995e5..dc18022c12 100644 --- a/patches/server/0190-Flag-to-disable-the-channel-limit.patch +++ b/patches/server/0190-Flag-to-disable-the-channel-limit.patch @@ -9,10 +9,10 @@ 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 a440c8b56e21abab7774486d35dc64c454aa1a2b..6b1283721e0a456f27d39e3668d25ed399a02680 100644 +index 51839994999b22251bd9e813f1e05ef8d7e97c0d..3df6adfe061392992b5f7dbf246cdf8fca21a478 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -154,6 +154,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -155,6 +155,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper start private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; private String resourcePackHash; @@ -20,7 +20,7 @@ index a440c8b56e21abab7774486d35dc64c454aa1a2b..6b1283721e0a456f27d39e3668d25ed3 // Paper end public CraftPlayer(CraftServer server, ServerPlayer entity) { -@@ -1642,7 +1643,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1643,7 +1644,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void addChannel(String channel) { diff --git a/patches/server/0191-Add-method-to-open-already-placed-sign.patch b/patches/server/0191-Add-method-to-open-already-placed-sign.patch deleted file mode 100644 index 4be08c668f..0000000000 --- a/patches/server/0191-Add-method-to-open-already-placed-sign.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Mark Vainomaa -Date: Sun, 1 Apr 2018 02:29:37 +0300 -Subject: [PATCH] Add method to open already placed sign - - -diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index cc1caa32ea430f69d0dcfb76e1a08fb78650877d..87bc05f2eef1555ad3346d1d1bda72d4feb0fa1b 100644 ---- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -610,6 +610,17 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { - } - } - -+ // Paper start - Add method to open already placed sign -+ @Override -+ public void openSign(org.bukkit.block.Sign sign) { -+ org.apache.commons.lang.Validate.isTrue(sign.getWorld().equals(this.getWorld()), "Sign must be in the same world as player is in"); -+ org.bukkit.craftbukkit.block.CraftSign craftSign = (org.bukkit.craftbukkit.block.CraftSign) sign; -+ net.minecraft.world.level.block.entity.SignBlockEntity teSign = craftSign.getTileEntity(); -+ // Make sign editable temporarily, will be set back to false in PlayerConnection later -+ teSign.isEditable = true; -+ this.getHandle().openTextEdit(teSign); -+ } -+ // Paper end - @Override - public boolean dropItem(boolean dropAll) { - if (!(this.getHandle() instanceof ServerPlayer)) return false; diff --git a/patches/server/0191-Add-openSign-method-to-HumanEntity.patch b/patches/server/0191-Add-openSign-method-to-HumanEntity.patch new file mode 100644 index 0000000000..08857e4cc9 --- /dev/null +++ b/patches/server/0191-Add-openSign-method-to-HumanEntity.patch @@ -0,0 +1,46 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Mark Vainomaa +Date: Sun, 1 Apr 2018 02:29:37 +0300 +Subject: [PATCH] Add openSign method to HumanEntity + + +diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java +index 71cde0f5b27105c3ece994471017999b00794fa3..de3a0a272e9cb0182e08d5401e7e8a6be4434219 100644 +--- a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java ++++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java +@@ -118,15 +118,15 @@ public class CraftSign extends CraftBlockEntityState implements + } + } + +- public static void openSign(Sign sign, Player player) { ++ public static void openSign(Sign sign, org.bukkit.entity.HumanEntity player) { // Paper - change move open sign to HumanEntity + Preconditions.checkArgument(sign != null, "sign == null"); +- Preconditions.checkArgument(sign.isPlaced(), "Sign must be placed"); ++ // Preconditions.checkArgument(sign.isPlaced(), "Sign must be placed"); // Paper - don't require placed + Preconditions.checkArgument(sign.getWorld() == player.getWorld(), "Sign must be in same world as Player"); + + SignBlockEntity handle = ((CraftSign) sign).getTileEntity(); + handle.isEditable = true; + +- ((CraftPlayer) player).getHandle().openTextEdit(handle); ++ ((org.bukkit.craftbukkit.entity.CraftHumanEntity) player).getHandle().openTextEdit(handle); // Paper - change move open sign to HumanEntity + } + + // Paper start +diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +index cc1caa32ea430f69d0dcfb76e1a08fb78650877d..278f1f403c43a5c55a53ef8639bf2ea87a676498 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +@@ -610,6 +610,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { + } + } + ++ // Paper start - move open sign method to HumanEntity ++ @Override ++ public void openSign(org.bukkit.block.Sign sign) { ++ org.bukkit.craftbukkit.block.CraftSign.openSign(sign, this); ++ } ++ // Paper end + @Override + public boolean dropItem(boolean dropAll) { + if (!(this.getHandle() instanceof ServerPlayer)) return false; diff --git a/patches/server/0219-InventoryCloseEvent-Reason-API.patch b/patches/server/0219-InventoryCloseEvent-Reason-API.patch index ca4d144c8e..dbaae2529e 100644 --- a/patches/server/0219-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0219-InventoryCloseEvent-Reason-API.patch @@ -7,7 +7,7 @@ Allows you to determine why an inventory was closed, enabling plugin developers to "confirm" things based on if it was player triggered close or not. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index e7db1e848c1631d80e0f03d0202b20b4715d3aac..9a51aa9f40ceaaa3500595bf08b2b5515704b91a 100644 +index 858f2f8a55d32d232f14c0d723dd906dca38c70d..af8b594e3e5ab5d7dc9e7d86f308903120c7fd72 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1128,7 +1128,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -75,7 +75,7 @@ index 90bff0dd400a67bcb84f8576bd8326793420919a..fd1937f49312204d38510996a5be43b7 this.doCloseContainer(); } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 77323b363573e770bbb4ae98911d5a922ad315c2..930f71861b1ee2fe210bd0e987a6b304b25f19dc 100644 +index 024c89a62749fc33f36f1394c732d4151cfb85ae..f0eb8a5b0a0f54037a7d973a0b628fb987d6492c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -186,6 +186,7 @@ import org.bukkit.event.inventory.ClickType; @@ -105,7 +105,7 @@ index 77323b363573e770bbb4ae98911d5a922ad315c2..930f71861b1ee2fe210bd0e987a6b304 this.player.doCloseContainer(); } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 6466a0b03a0e398fdf580d97cdfdf1e612f2ade3..a08115bff1e9207fa8b2bd2407a76899f9d3e8c2 100644 +index be65d315af3089f49d2f5c9fe59c9ec0e8d3e2f9..f2efbb954ca56040ed39937750c4a01a4b6334fc 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -502,7 +502,7 @@ public abstract class PlayerList { @@ -145,7 +145,7 @@ index 1a7f45c3faf5335efbdaf5a91ba61dc2b5e907d8..0cd00d0b1017b2995f565ed6a871653a this.containerMenu = this.inventoryMenu; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 87bc05f2eef1555ad3346d1d1bda72d4feb0fa1b..76a08aaf5106a5e8d0a24e9d966817574ec26068 100644 +index 278f1f403c43a5c55a53ef8639bf2ea87a676498..c787bb69baa1b30fc513965fe4a9578c1be551d8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -373,7 +373,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @@ -174,10 +174,10 @@ index 87bc05f2eef1555ad3346d1d1bda72d4feb0fa1b..76a08aaf5106a5e8d0a24e9d96681757 @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 6b1283721e0a456f27d39e3668d25ed399a02680..91474f355a84fc3a8d84f615147d1ad2b4f47d3f 100644 +index 3df6adfe061392992b5f7dbf246cdf8fca21a478..9b97224009b572a75fa6d289c226801a558d2484 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -940,7 +940,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -941,7 +941,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Close any foreign inventory if (this.getHandle().containerMenu != this.getHandle().inventoryMenu) { @@ -187,7 +187,7 @@ index 6b1283721e0a456f27d39e3668d25ed399a02680..91474f355a84fc3a8d84f615147d1ad2 // Check if the fromWorld and toWorld are the same. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index b370bbad550d6efda1fe391fb5d093a99f2a5532..8e0b6910c97789b4d03ae62723dceb962487fc5a 100644 +index 17757b90c440c2f181978f682ead2653ba7b7812..917d0804ff7ecb149a6c4524b2b6ecc6ae56b7e6 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1193,7 +1193,7 @@ public class CraftEventFactory { diff --git a/patches/server/0260-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0260-Expose-attack-cooldown-methods-for-Player.patch index cafd2d1582..58a3c724fb 100644 --- a/patches/server/0260-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/server/0260-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 91474f355a84fc3a8d84f615147d1ad2b4f47d3f..cb6dfe56856429cb69968ed4e7c04dff994c2e54 100644 +index 9b97224009b572a75fa6d289c226801a558d2484..8823863939c8e6d0f0a018d7a56efeb44c639d34 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2334,6 +2334,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2340,6 +2340,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.adventure$pointers; } diff --git a/patches/server/0261-Improve-death-events.patch b/patches/server/0261-Improve-death-events.patch index 8a8986ce0a..bffd293f2c 100644 --- a/patches/server/0261-Improve-death-events.patch +++ b/patches/server/0261-Improve-death-events.patch @@ -269,10 +269,10 @@ index 91cf7728aee475cb36f2c02bbfb7e3d2e0d00576..a3a900d10440ed5ebe24370a77ccb6ca } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index cb6dfe56856429cb69968ed4e7c04dff994c2e54..39ee0c403064a34f48290d1e5b3c24c626d1c979 100644 +index 8823863939c8e6d0f0a018d7a56efeb44c639d34..2a313757c85faeb353fb8140db84a464cc46b524 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1902,7 +1902,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1903,7 +1903,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void sendHealthUpdate() { @@ -289,7 +289,7 @@ index cb6dfe56856429cb69968ed4e7c04dff994c2e54..39ee0c403064a34f48290d1e5b3c24c6 public void injectScaledMaxHealth(Collection collection, boolean force) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 0d1c6f609a5198c21c895e8f6ace467355b0f166..61c95f98a3e3e52a23f65f7c957019f7f1aa7417 100644 +index 47b125ba8924d25e97e34611bed3be819d9e1814..b4032ce470346915251d85d1aa7375a116efe771 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -807,9 +807,16 @@ public class CraftEventFactory { diff --git a/patches/server/0300-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0300-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch index 7a929b6a10..7c602f7d79 100644 --- a/patches/server/0300-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch +++ b/patches/server/0300-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch @@ -28,7 +28,7 @@ index f51c416e7938b7905f7efb154ab14cad643962e9..71cd61112fa36d1de2f5fc0dd75993fa public boolean queueHealthUpdatePacket = false; public net.minecraft.network.protocol.game.ClientboundSetHealthPacket queuedHealthUpdatePacket; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 6c03e900a23cced5874ba79f7b309b773f1bbc9e..fd965ebccc45f04d360dda8c7d0f9b640bcc67c1 100644 +index e1603b674823067a55faa12e716b695171b31d32..73dd4776fee3429c42b279ab92050a4b872f64b5 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -173,6 +173,7 @@ public abstract class PlayerList { @@ -106,10 +106,10 @@ index c7e4c6d29378675b76ebb179022ddbb02831a1dc..88bc0807e8bf66a65422f85f11123363 public Location getBedSpawnLocation() { CompoundTag data = this.getData(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 39ee0c403064a34f48290d1e5b3c24c626d1c979..26f64968afa68ac1915a7d89dde3cd31e6e11ccc 100644 +index 2a313757c85faeb353fb8140db84a464cc46b524..3026243161b6a0f978a62c67ecb7825713ac5249 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -155,6 +155,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -156,6 +156,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; private String resourcePackHash; private static final boolean DISABLE_CHANNEL_LIMIT = System.getProperty("paper.disableChannelLimit") != null; // Paper - add a flag to disable the channel limit @@ -117,7 +117,7 @@ index 39ee0c403064a34f48290d1e5b3c24c626d1c979..26f64968afa68ac1915a7d89dde3cd31 // Paper end public CraftPlayer(CraftServer server, ServerPlayer entity) { -@@ -1546,6 +1547,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1547,6 +1548,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.firstPlayed = firstPlayed; } @@ -136,7 +136,7 @@ index 39ee0c403064a34f48290d1e5b3c24c626d1c979..26f64968afa68ac1915a7d89dde3cd31 public void readExtraData(CompoundTag nbttagcompound) { this.hasPlayedBefore = true; if (nbttagcompound.contains("bukkit")) { -@@ -1568,6 +1581,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1569,6 +1582,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setExtraData(CompoundTag nbttagcompound) { @@ -145,7 +145,7 @@ index 39ee0c403064a34f48290d1e5b3c24c626d1c979..26f64968afa68ac1915a7d89dde3cd31 if (!nbttagcompound.contains("bukkit")) { nbttagcompound.put("bukkit", new CompoundTag()); } -@@ -1582,6 +1597,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1583,6 +1598,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/0303-Block-Entity-remove-from-being-called-on-Players.patch b/patches/server/0303-Block-Entity-remove-from-being-called-on-Players.patch index 26ae0f2876..1e49d27b44 100644 --- a/patches/server/0303-Block-Entity-remove-from-being-called-on-Players.patch +++ b/patches/server/0303-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 26f64968afa68ac1915a7d89dde3cd31e6e11ccc..8059715ce7328cc81cb4decddf0fb012905a08a2 100644 +index 3026243161b6a0f978a62c67ecb7825713ac5249..946b33afb3a2c11836e6da887309f70d45dc586d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2381,6 +2381,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2387,6 +2387,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetCooldown() { getHandle().resetAttackStrengthTicker(); } diff --git a/patches/server/0363-Anti-Xray.patch b/patches/server/0363-Anti-Xray.patch index 2b007fe70b..f544cef7e3 100644 --- a/patches/server/0363-Anti-Xray.patch +++ b/patches/server/0363-Anti-Xray.patch @@ -1179,7 +1179,7 @@ index fee7c426876ecfc1e6a55afcd4f7c7a503d02902..a3806b29907468f690e386d9147ae18f List list = Lists.newArrayList(); List list1 = Lists.newArrayList(); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index db123ef36fc4cb0206349ac696572714b806454c..d26e42449a1f75898d06aba384178c0ef30d9aa7 100644 +index 66552855fa1d2eacc6e722428993bd5b9c07d960..f2c2f128fdb4d66616078dbae0aa85144f0825c3 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -391,7 +391,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1251,10 +1251,10 @@ index 77e58257dc3fb517aeca8f8436a4279aa133b570..8cde961332f4671bdd361e8f88d0eedd if (iblockdata1 == null) { // CraftBukkit start - remove blockstate if failed (or the same) diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java -index 96dc50a24821016e53dfeac344c0e61f110a5a53..0a2f9e93666a5b2123f84e5cf409e4355d3cad86 100644 +index 046afe19aa30f466a08461e3a504c9bbf78f7a3c..2fff34e573f57aab374a2cb9117313d2543f0bdc 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java -@@ -110,7 +110,7 @@ public abstract class ChunkAccess implements BlockGetter, BiomeManager.NoiseBiom +@@ -109,7 +109,7 @@ public abstract class ChunkAccess implements BlockGetter, BiomeManager.NoiseBiom private static void replaceMissingSections(LevelHeightAccessor world, Registry biome, LevelChunkSection[] sectionArray) { for (int i = 0; i < sectionArray.length; ++i) { if (sectionArray[i] == null) { @@ -1264,7 +1264,7 @@ index 96dc50a24821016e53dfeac344c0e61f110a5a53..0a2f9e93666a5b2123f84e5cf409e435 } diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index a009122a8ea9dc2b04a178248f20ef01886e832b..0e89cf3fd6edf28b52ec113af31267642fd2b195 100644 +index 8ec42170fc72bddba61e3b03612f801e1fd07343..098c7d48c60f174ec2d2a67921e0cba286dd9ec7 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -93,7 +93,7 @@ public class LevelChunk extends ChunkAccess { diff --git a/patches/server/0382-Optimise-Chunk-getFluid.patch b/patches/server/0382-Optimise-Chunk-getFluid.patch index 9c772f1f61..ce1018fc1a 100644 --- a/patches/server/0382-Optimise-Chunk-getFluid.patch +++ b/patches/server/0382-Optimise-Chunk-getFluid.patch @@ -8,10 +8,10 @@ faster on its own, however removing the try catch makes it easier to inline due to code size diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index 0e89cf3fd6edf28b52ec113af31267642fd2b195..a80762a8acc5669dd9531d6514032318bae725f6 100644 +index 098c7d48c60f174ec2d2a67921e0cba286dd9ec7..3d722ad1d61692f83b08d1b0738c590e92a35036 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -@@ -373,18 +373,20 @@ public class LevelChunk extends ChunkAccess { +@@ -372,18 +372,20 @@ public class LevelChunk extends ChunkAccess { } public FluidState getFluidState(int x, int y, int z) { @@ -38,7 +38,7 @@ index 0e89cf3fd6edf28b52ec113af31267642fd2b195..a80762a8acc5669dd9531d6514032318 } catch (Throwable throwable) { CrashReport crashreport = CrashReport.forThrowable(throwable, "Getting fluid state"); CrashReportCategory crashreportsystemdetails = crashreport.addCategory("Block being got"); -@@ -394,6 +396,7 @@ public class LevelChunk extends ChunkAccess { +@@ -393,6 +395,7 @@ public class LevelChunk extends ChunkAccess { }); throw new ReportedException(crashreport); } diff --git a/patches/server/0396-Improved-Watchdog-Support.patch b/patches/server/0396-Improved-Watchdog-Support.patch index e9c78c9e2f..19b516d8f3 100644 --- a/patches/server/0396-Improved-Watchdog-Support.patch +++ b/patches/server/0396-Improved-Watchdog-Support.patch @@ -274,7 +274,7 @@ index 4c09411a2537705df10aa314a28fad824b3fbd47..62880f8f3ec11fa26e8bdc4cf0a5bd0c list.stream().map((playerchunk) -> { CompletableFuture completablefuture; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index e1d729d86d11f9bc9452b7382f12aeb668c19936..dc6ea42139774d1cd4ff856781abb0327fd0da4c 100644 +index 362fe0c88021c4530110d1128819016c8ae9c0d5..11698ed04d77c974f18aa6981e7f1efa60c5c7b7 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -512,7 +512,7 @@ public abstract class PlayerList { @@ -311,10 +311,10 @@ index 9154f434ab1a1b11d19cef8fc80f351f3eefcb57..5abdb1c0247fde6da03e7689d5e2abab final String msg = String.format("Entity threw exception at %s:%s,%s,%s", entity.level.getWorld().getName(), entity.getX(), entity.getY(), entity.getZ()); MinecraftServer.LOGGER.error(msg, throwable); diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index a80762a8acc5669dd9531d6514032318bae725f6..f7388d37b467d1c153fcf8002eedd20417f93d52 100644 +index 3d722ad1d61692f83b08d1b0738c590e92a35036..fde6405831ed0d90734ac3861939209025baa419 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -@@ -1070,6 +1070,7 @@ public class LevelChunk extends ChunkAccess { +@@ -1069,6 +1069,7 @@ public class LevelChunk extends ChunkAccess { gameprofilerfiller.pop(); } catch (Throwable throwable) { diff --git a/patches/server/0403-Implement-Player-Client-Options-API.patch b/patches/server/0403-Implement-Player-Client-Options-API.patch index 9a7b8bce1c..fdcd1d64d9 100644 --- a/patches/server/0403-Implement-Player-Client-Options-API.patch +++ b/patches/server/0403-Implement-Player-Client-Options-API.patch @@ -97,10 +97,10 @@ index 9cbca14b0a111e57a1d01bcbcf2164ab8b53b1a5..cdb0eb8e21299ca70ed7ed5c1195d07f if (getMainArm() != packet.mainHand()) { PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8059715ce7328cc81cb4decddf0fb012905a08a2..c852759b9a925b5d3377a3cf062a378d39c879fd 100644 +index 946b33afb3a2c11836e6da887309f70d45dc586d..1b1d0742ef534becb462e2231e814604aeca7d87 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -545,6 +545,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -546,6 +546,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setSendViewDistance(int viewDistance) { throw new NotImplementedException("Per-Player View Distance APIs need further understanding to properly implement (There are per world view distances though!)"); // TODO } diff --git a/patches/server/0473-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch b/patches/server/0473-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch index 3fcd3c8b1b..fed8853ed0 100644 --- a/patches/server/0473-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch +++ b/patches/server/0473-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch @@ -1128,7 +1128,7 @@ index 8770fe0db46b01e8b608637df4f1a669a3f4cdde..3c1698ba0d3bc412ab957777d9b5211d private final String name; private final Comparator comparator; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index c1bdd32fade0a613116b0ff848bfa5a4e8c428e6..bcc4de5c0f970325efaa9d99bb0845c2ed422b6d 100644 +index 135337afa09f090847d26268fcb8e542b1535ef3..b164b43d9d61398231451162cfb07d118f2045ba 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -175,6 +175,7 @@ public abstract class PlayerList { @@ -1151,7 +1151,7 @@ index c1bdd32fade0a613116b0ff848bfa5a4e8c428e6..bcc4de5c0f970325efaa9d99bb0845c2 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 fb2d5c768b7dc5255db7dc7199ed750809a8fb94..9b254d00eb0cf0c4d4fe73e7a955b0b6493a5892 100644 +index 96de46b0b1b4bd69b1afa689083ec57ffb07120e..40e8c0b36ec521a8850782f349eb29b4802d2c68 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -223,7 +223,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @@ -1164,7 +1164,7 @@ index fb2d5c768b7dc5255db7dc7199ed750809a8fb94..9b254d00eb0cf0c4d4fe73e7a955b0b6 public float yRotO; public float xRotO; diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index ed22486dafcecae454a932c1354cf26c31e95636..b641bf5b2d02bfc1443a84af3cb98aff0dc7a575 100644 +index 5e2cf3795415f1f1a54ebbda1e404347cc24fcc2..e9542a4683e1fef470ae37819d6d7a8c72afe4c8 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -141,7 +141,7 @@ public class LevelChunk extends ChunkAccess { @@ -1176,7 +1176,7 @@ index ed22486dafcecae454a932c1354cf26c31e95636..b641bf5b2d02bfc1443a84af3cb98aff private long neighbourChunksLoadedBitset; private final LevelChunk[] loadedNeighbourChunks = new LevelChunk[(NEIGHBOUR_CACHE_RADIUS * 2 + 1) * (NEIGHBOUR_CACHE_RADIUS * 2 + 1)]; -@@ -683,6 +683,7 @@ public class LevelChunk extends ChunkAccess { +@@ -682,6 +682,7 @@ public class LevelChunk extends ChunkAccess { // CraftBukkit start public void loadCallback() { @@ -1184,7 +1184,7 @@ index ed22486dafcecae454a932c1354cf26c31e95636..b641bf5b2d02bfc1443a84af3cb98aff // Paper start - neighbour cache int chunkX = this.chunkPos.x; int chunkZ = this.chunkPos.z; -@@ -737,6 +738,7 @@ public class LevelChunk extends ChunkAccess { +@@ -736,6 +737,7 @@ public class LevelChunk extends ChunkAccess { } public void unloadCallback() { @@ -1210,10 +1210,10 @@ index c11bdc266434aa9d90e5ab25e185dc1a1ba57d9b..eea11a2bf87d409f484f07f207c57c86 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 c852759b9a925b5d3377a3cf062a378d39c879fd..df5c2290a7890651e6592ed8586c63bfa783f583 100644 +index 1b1d0742ef534becb462e2231e814604aeca7d87..fd27b0e62c3da17e7f6b948b6380d9d29422b9ba 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -908,6 +908,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -909,6 +909,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { throw new UnsupportedOperationException("Cannot set rotation of players. Consider teleporting instead."); } diff --git a/patches/server/0487-Brand-support.patch b/patches/server/0487-Brand-support.patch index aa269cdab8..f26931b7bd 100644 --- a/patches/server/0487-Brand-support.patch +++ b/patches/server/0487-Brand-support.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Brand support diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 26bd27d3dd6e99488fd0a77257866b1eb1b191b8..c5fc4a2470093202f38472df84355ba0404645c5 100644 +index 2ab8a56276997499457d8c6559b3a448e9072674..86c30ab5e690a7e12a0691fc4b5dcee8b7971cb8 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -4,6 +4,7 @@ import com.google.common.collect.Lists; @@ -72,10 +72,10 @@ index 26bd27d3dd6e99488fd0a77257866b1eb1b191b8..c5fc4a2470093202f38472df84355ba0 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 df5c2290a7890651e6592ed8586c63bfa783f583..e0efff05f10d4b994fabaa45d39b616a6b231685 100644 +index fd27b0e62c3da17e7f6b948b6380d9d29422b9ba..2f961b09c0e2a79391e13f2ea473099080471af6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2525,6 +2525,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2531,6 +2531,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end }; diff --git a/patches/server/0524-Player-elytra-boost-API.patch b/patches/server/0524-Player-elytra-boost-API.patch index 65d6aa6f63..3e06a95d7c 100644 --- a/patches/server/0524-Player-elytra-boost-API.patch +++ b/patches/server/0524-Player-elytra-boost-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player elytra boost API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e0efff05f10d4b994fabaa45d39b616a6b231685..bd507525e3b5f5d632ed515f08942be9d08796f3 100644 +index 2f961b09c0e2a79391e13f2ea473099080471af6..86814204543d56f2ecc0878525d0864d1fdbf76e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -563,6 +563,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -564,6 +564,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } throw new RuntimeException("Unknown settings type"); } diff --git a/patches/server/0539-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0539-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index 0b0e931326..6dd68c211c 100644 --- a/patches/server/0539-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0539-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 bd507525e3b5f5d632ed515f08942be9d08796f3..9499062a2d8d69764c314a791622c967641e3543 100644 +index 86814204543d56f2ecc0878525d0864d1fdbf76e..2e75bdfaeaef4acfbbb6e4f79317f1050fe82852 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2101,7 +2101,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2102,7 +2102,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/0580-Add-sendOpLevel-API.patch b/patches/server/0580-Add-sendOpLevel-API.patch index 8e722e5603..d5e74a0402 100644 --- a/patches/server/0580-Add-sendOpLevel-API.patch +++ b/patches/server/0580-Add-sendOpLevel-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add sendOpLevel API diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 04e314761b09f7c13c94cb83a9a7da629fb16641..52f8e91462b9f605aa529bc3ec4d55c9a006e472 100644 +index 201f36b0f8ae391b2efbad5cc38f115537a761a2..0052a9c5d19db44331bb7ee93544d783b471e70a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1119,6 +1119,11 @@ public abstract class PlayerList { @@ -32,10 +32,10 @@ index 04e314761b09f7c13c94cb83a9a7da629fb16641..52f8e91462b9f605aa529bc3ec4d55c9 // 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 9499062a2d8d69764c314a791622c967641e3543..a68973595b9b08a636f5aeb11608b5b9499d8e16 100644 +index 2e75bdfaeaef4acfbbb6e4f79317f1050fe82852..af7f9645f21b1b21981a7c525068acaa238e9f59 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -577,6 +577,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -578,6 +578,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { ? (org.bukkit.entity.Firework) entity.getBukkitEntity() : null; } diff --git a/patches/server/0621-copy-TESign-isEditable-from-snapshots.patch b/patches/server/0621-copy-TESign-isEditable-from-snapshots.patch index 990f7cec9b..c62a00d76e 100644 --- a/patches/server/0621-copy-TESign-isEditable-from-snapshots.patch +++ b/patches/server/0621-copy-TESign-isEditable-from-snapshots.patch @@ -5,14 +5,14 @@ Subject: [PATCH] copy TESign#isEditable from snapshots diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java -index b0a7f558cfe0f2ff859ab7b2db38ac303e9ae842..32e92c3ce1b50ec9eba53908070ea94763880479 100644 +index de3a0a272e9cb0182e08d5401e7e8a6be4434219..c0d205c279e2fb5c73af00fbde876c65b5131aae 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java -@@ -113,6 +113,7 @@ public class CraftSign extends CraftBlockEntityState implements +@@ -116,6 +116,7 @@ public class CraftSign extends CraftBlockEntityState implements } // Paper end } + sign.isEditable = getSnapshot().isEditable; // Paper - copy manually } - // Paper start + public static void openSign(Sign sign, org.bukkit.entity.HumanEntity player) { // Paper - change move open sign to HumanEntity diff --git a/patches/server/0659-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0659-additions-to-PlayerGameModeChangeEvent.patch index df9de00848..91286c0a32 100644 --- a/patches/server/0659-additions-to-PlayerGameModeChangeEvent.patch +++ b/patches/server/0659-additions-to-PlayerGameModeChangeEvent.patch @@ -126,7 +126,7 @@ index 3a8e87f19aa03786b3bf60b793958b59284d31ac..92f5cb240e0cf52caa8e95302606baa7 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 9daad376b7c837ac5dcda5f54d520e2adfda0481..311df240858d4416306a795d893bdf7da403e90b 100644 +index 612da79bcad7216cb58e45bd0d29b05da8cdc321..ed2154c6987f6b94e1bcf6e1f91985a82d34fea0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2479,7 +2479,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -139,10 +139,10 @@ index 9daad376b7c837ac5dcda5f54d520e2adfda0481..311df240858d4416306a795d893bdf7d } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a68973595b9b08a636f5aeb11608b5b9499d8e16..11a9fbc696ed6c208cbb4f9dc2c161eed7fada77 100644 +index af7f9645f21b1b21981a7c525068acaa238e9f59..d06cc95d50f2a499b9b8abf73b669a3cdd51dc04 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1268,7 +1268,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1269,7 +1269,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { throw new IllegalArgumentException("Mode cannot be null"); } diff --git a/patches/server/0670-Add-PlayerKickEvent-causes.patch b/patches/server/0670-Add-PlayerKickEvent-causes.patch index 6a8613e513..906b7a6273 100644 --- a/patches/server/0670-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0670-Add-PlayerKickEvent-causes.patch @@ -318,7 +318,7 @@ index ed2154c6987f6b94e1bcf6e1f91985a82d34fea0..6c52ee394ecfbc6f36032ebc9632650d } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index bc623b2e326f0241d8c86a37f231dd113a331583..75ca1abe19c789fec020aa4b135d6df05abaec5c 100644 +index ad7e4ec5ca3f2f874c916d7ee80f5b2b2ae03bf8..9b55968cb1db5f77a8e858e2a7aa66d518ddd00a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -715,7 +715,7 @@ public abstract class PlayerList { @@ -342,10 +342,10 @@ index bc623b2e326f0241d8c86a37f231dd113a331583..75ca1abe19c789fec020aa4b135d6df0 // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 11a9fbc696ed6c208cbb4f9dc2c161eed7fada77..9d8e48b859933a2b9412df78daf158129b430e8c 100644 +index d06cc95d50f2a499b9b8abf73b669a3cdd51dc04..6a76ae601bfaa64b64bd4c62c488cd4f70953427 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -503,16 +503,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -504,16 +504,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { org.spigotmc.AsyncCatcher.catchOp("player kick"); // Spigot if (this.getHandle().connection == null) return; diff --git a/patches/server/0707-Add-PlayerSetSpawnEvent.patch b/patches/server/0707-Add-PlayerSetSpawnEvent.patch index d14db0d905..41e17f2098 100644 --- a/patches/server/0707-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0707-Add-PlayerSetSpawnEvent.patch @@ -67,7 +67,7 @@ index 2607dc36e0bd7a915afb0cc9e0f453a2b301c0bd..ea724b1781ea256c991fe47aa044183e this.respawnPosition = pos; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 2c3249359bf8f7e5e625ef4769c7e884cddd473c..8a74c1aa2add393f4706a7f943f0fd5d9f5175e1 100644 +index 656c0235dfb8e7335fb7be4afc727eefb2a4188e..81650be96a25f276c4df958dc4f339c75b39211e 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -891,7 +891,7 @@ public abstract class PlayerList { @@ -93,10 +93,10 @@ index d620f559cdd1bd0e161a99123ef6c6f64e3302df..07e893f1859abe3c2a765694c21309d6 return InteractionResult.SUCCESS; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9d8e48b859933a2b9412df78daf158129b430e8c..ad15c4c20ae9e1858a2b914b0a1aa91ec1d7a012 100644 +index 6a76ae601bfaa64b64bd4c62c488cd4f70953427..097f8d360fcdd96f95ece64d4d1368e36408d451 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1088,9 +1088,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1089,9 +1089,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setBedSpawnLocation(Location location, boolean override) { if (location == null) { diff --git a/patches/server/0814-Rewrite-the-light-engine.patch b/patches/server/0814-Rewrite-the-light-engine.patch index 4184dc5033..dc20ddf6e0 100644 --- a/patches/server/0814-Rewrite-the-light-engine.patch +++ b/patches/server/0814-Rewrite-the-light-engine.patch @@ -4801,12 +4801,12 @@ index ce4848bdd00c091b9eb5fa2d47b03378d43c91b2..1831588b275f11aff37573fead835f6d } diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java -index e3a92021b32aa74a37287504e0e539af5ec8216f..57f13937c3ed47c0764ac5292c58d4dc1ce93780 100644 +index e0dd98ddb33c78de0daba47d3ba23b88787ffdd2..7c617fb741c2d9b31dac562b2edcc032e5694e41 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java @@ -81,6 +81,47 @@ public abstract class ChunkAccess implements BlockGetter, BiomeManager.NoiseBiom private static final org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry(); - public org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer persistentDataContainer = new org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer(ChunkAccess.DATA_TYPE_REGISTRY); + public org.bukkit.craftbukkit.persistence.DirtyCraftPersistentDataContainer persistentDataContainer = new org.bukkit.craftbukkit.persistence.DirtyCraftPersistentDataContainer(ChunkAccess.DATA_TYPE_REGISTRY); // CraftBukkit end + // Paper start - rewrite light engine + private volatile ca.spottedleaf.starlight.common.light.SWMRNibbleArray[] blockNibbles; @@ -4949,7 +4949,7 @@ index 7c5b3acd299c5b021bd20f17ff0b89c8208a6623..d29739c3a67e60741a06fb25bcaf7705 super(wrapped.getPos(), UpgradeData.EMPTY, wrapped.levelHeightAccessor, wrapped.getLevel().registryAccess().registryOrThrow(Registry.BIOME_REGISTRY), wrapped.getBlendingData()); this.wrapped = wrapped; diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index c9cd9121e0ca7402c812e803ffd417c1887a4823..f310678e18a7bb217cb5760a1af1c5a8a1f7e8cd 100644 +index b39904f011d86f6ced80e4d3fb48c26ccfa7f828..b0e3c49989216dc886471ae84f7e05b01b9ae786 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -100,6 +100,10 @@ public class LevelChunk extends ChunkAccess { diff --git a/patches/server/0822-Add-player-health-update-API.patch b/patches/server/0822-Add-player-health-update-API.patch index f15994be88..12eb8fbfb7 100644 --- a/patches/server/0822-Add-player-health-update-API.patch +++ b/patches/server/0822-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 c6c742e541e6bb5214e3c2c245bbe5988f7c2b41..05352929a9652f3b857b7888f42eef2059842739 100644 +index 097f8d360fcdd96f95ece64d4d1368e36408d451..c6cd4a5790384811f3171ce740afb9459f3d6fc0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1980,9 +1980,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1981,9 +1981,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().maxHealthCache = getMaxHealth(); } @@ -22,7 +22,7 @@ index c6c742e541e6bb5214e3c2c245bbe5988f7c2b41..05352929a9652f3b857b7888f42eef20 if (this.getHandle().queueHealthUpdatePacket) { this.getHandle().queuedHealthUpdatePacket = packet; } else { -@@ -1990,7 +1992,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1991,7 +1993,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end } diff --git a/work/Bukkit b/work/Bukkit index 1c9ca40548..e4358b8217 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 1c9ca4054853af6e4210a63cb71fc537d4d4af95 +Subproject commit e4358b8217126bbcc3a38b0d17097ad5ab87c50a diff --git a/work/CraftBukkit b/work/CraftBukkit index 1825cc0b04..f49e9d1932 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 1825cc0b04ff9e14df7a511aec855ad80a896d19 +Subproject commit f49e9d1932ece8e5a5aaf259d7221e6f99647721