diff --git a/gradle.properties b/gradle.properties index 62619a44b..0df4ba6f2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.20.1-R0.1-SNAPSHOT mcVersion = 1.20.1 -paperCommit = 69a801305d3148d49672401e83905d95bfc950ec +paperCommit = d6d2b6f4e51b24867b609cf747ac6d8c6345c449 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0003-Purpur-config-files.patch b/patches/api/0003-Purpur-config-files.patch index 94bb0abf0..698fe652d 100644 --- a/patches/api/0003-Purpur-config-files.patch +++ b/patches/api/0003-Purpur-config-files.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur config files diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 6b72eccdcb6f75534a4267a1dd0a4cc2f39e917b..0a07aaff7859e01acaae05e343df08585d0db63f 100644 +index 68206cf0178c26c0f528a1e14a5fb4e9ad410369..7e3c17cebaa4f648290eac87940a425826fe72d2 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2030,6 +2030,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2081,6 +2081,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi } // Paper end diff --git a/patches/api/0005-Purpur-client-support.patch b/patches/api/0005-Purpur-client-support.patch index fe1bcb299..0d4d63b3d 100644 --- a/patches/api/0005-Purpur-client-support.patch +++ b/patches/api/0005-Purpur-client-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 4f710a941954a3d94acabe2a83bee050ad1ff052..864dbde8e9810dcd39abafdced3fc40bc2dfd589 100644 +index 14c92390aeaeee518f43778ccd5fc820fdc62689..34f3fed298840b4e1bf8ec787999bdd1d7cc1d82 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3175,4 +3175,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3241,4 +3241,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Override Spigot spigot(); // Spigot end diff --git a/patches/api/0010-AFK-API.patch b/patches/api/0010-AFK-API.patch index 9c8a6c2ed..5e113fab4 100644 --- a/patches/api/0010-AFK-API.patch +++ b/patches/api/0010-AFK-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] AFK API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 864dbde8e9810dcd39abafdced3fc40bc2dfd589..4f26113e9ee9e0826220cdc8a2f59a2b7afa0c22 100644 +index 34f3fed298840b4e1bf8ec787999bdd1d7cc1d82..e595d8f4858c70e6ad1a9cbcd4c48276a9652036 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3183,5 +3183,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3249,5 +3249,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @return True if Player uses Purpur Client */ public boolean usesPurpurClient(); diff --git a/patches/api/0011-Bring-back-server-name.patch b/patches/api/0011-Bring-back-server-name.patch index 5afb0ca88..b24c47e7b 100644 --- a/patches/api/0011-Bring-back-server-name.patch +++ b/patches/api/0011-Bring-back-server-name.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Bring back server name diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index b243db56756c67cd2c41d7768898d01539f9260a..acdfd691f56de28285f1bf919fbbc7c31f6ea33b 100644 +index f380a518bc444bfdfbbedf38805c7684e53a5629..d3e3f1781ac04e0d3a24476de856ba72f25c02f1 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2662,4 +2662,15 @@ public final class Bukkit { +@@ -2714,4 +2714,15 @@ public final class Bukkit { public static Server.Spigot spigot() { return server.spigot(); } @@ -25,10 +25,10 @@ index b243db56756c67cd2c41d7768898d01539f9260a..acdfd691f56de28285f1bf919fbbc7c3 + // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 0a07aaff7859e01acaae05e343df08585d0db63f..f8fbd64640c9d0035d7c79ce6a568b485f095f87 100644 +index 7e3c17cebaa4f648290eac87940a425826fe72d2..33778dcc7c723ce210b5f5c6e03fd3678dcc11b0 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2325,4 +2325,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2376,4 +2376,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ boolean isOwnedByCurrentRegion(@NotNull Entity entity); // Paper end - Folia region threading API diff --git a/patches/api/0014-Lagging-threshold.patch b/patches/api/0014-Lagging-threshold.patch index 3b3fe3269..d487f0104 100644 --- a/patches/api/0014-Lagging-threshold.patch +++ b/patches/api/0014-Lagging-threshold.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index acdfd691f56de28285f1bf919fbbc7c31f6ea33b..df4a4bc5d5423fa966910db1719dabd665eb8d71 100644 +index d3e3f1781ac04e0d3a24476de856ba72f25c02f1..728822f51d615bd2f4cb3cc1f2097309cac15fef 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2672,5 +2672,14 @@ public final class Bukkit { +@@ -2724,5 +2724,14 @@ public final class Bukkit { public static String getServerName() { return server.getServerName(); } @@ -24,10 +24,10 @@ index acdfd691f56de28285f1bf919fbbc7c31f6ea33b..df4a4bc5d5423fa966910db1719dabd6 // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index f8fbd64640c9d0035d7c79ce6a568b485f095f87..3fb416b31132596a6c336eed62ccc5fa69f35497 100644 +index 33778dcc7c723ce210b5f5c6e03fd3678dcc11b0..1a1aebe2a398fa433179220e16058c1fb513de94 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2333,5 +2333,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2384,5 +2384,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull String getServerName(); diff --git a/patches/api/0016-Player-invulnerabilities.patch b/patches/api/0016-Player-invulnerabilities.patch index aba9248c2..64515f93b 100644 --- a/patches/api/0016-Player-invulnerabilities.patch +++ b/patches/api/0016-Player-invulnerabilities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 4f26113e9ee9e0826220cdc8a2f59a2b7afa0c22..143add524c7f3bca66a36522031ab56ce6ad714b 100644 +index e595d8f4858c70e6ad1a9cbcd4c48276a9652036..c5ed6ced17316c0af396520f7f1fa25bdc1a944d 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3202,5 +3202,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3268,5 +3268,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Reset the idle timer back to 0 */ void resetIdleTimer(); diff --git a/patches/api/0035-Clean-up-version-command-output.patch b/patches/api/0035-Clean-up-version-command-output.patch index 279ab404e..1bd0a28dd 100644 --- a/patches/api/0035-Clean-up-version-command-output.patch +++ b/patches/api/0035-Clean-up-version-command-output.patch @@ -22,30 +22,30 @@ index a736d7bcdc5861a01b66ba36158db1c716339346..22fc165fd9c95f0f3ae1be7a0857e48c @Override diff --git a/src/main/java/org/bukkit/command/defaults/VersionCommand.java b/src/main/java/org/bukkit/command/defaults/VersionCommand.java -index e40f017f87d6b6b4770501b106c76dc69ec69abb..eac5830986cd0638950bbb1e6f10a30e246e09a7 100644 +index fd5d9881abfd930bb883120f018f76dc78b62b14..d3dadad49df09e85c724c93e8cc88da2c985e9b4 100644 --- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java +++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java -@@ -198,7 +198,7 @@ public class VersionCommand extends BukkitCommand { +@@ -214,7 +214,7 @@ public class VersionCommand extends BukkitCommand { String version = Bukkit.getVersion(); // Paper start if (version.startsWith("null")) { // running from ide? -- setVersionMessage(net.kyori.adventure.text.Component.text("Unknown version, custom build?", net.kyori.adventure.text.format.NamedTextColor.YELLOW)); -+ setVersionMessage(net.kyori.adventure.text.Component.text("* Unknown version, custom build?", net.kyori.adventure.text.format.NamedTextColor.RED)); // Purpur +- setVersionMessage(Component.text("Unknown version, custom build?", NamedTextColor.YELLOW)); ++ setVersionMessage(Component.text("* Unknown version, custom build?", NamedTextColor.RED)); // Purpur return; } setVersionMessage(getVersionFetcher().getVersionMessage(version)); -@@ -239,9 +239,11 @@ public class VersionCommand extends BukkitCommand { +@@ -255,9 +255,11 @@ public class VersionCommand extends BukkitCommand { // Paper start - private void setVersionMessage(final @NotNull net.kyori.adventure.text.Component msg) { + private void setVersionMessage(final @NotNull Component msg) { lastCheck = System.currentTimeMillis(); -- final net.kyori.adventure.text.Component message = net.kyori.adventure.text.TextComponent.ofChildren( -- net.kyori.adventure.text.Component.text(Bukkit.getVersionMessage(), net.kyori.adventure.text.format.NamedTextColor.WHITE), -- net.kyori.adventure.text.Component.newline(), +- final Component message = Component.textOfChildren( +- Component.text(Bukkit.getVersionMessage(), NamedTextColor.WHITE), +- Component.newline(), + // Purpur start + int distance = getVersionFetcher().distance(); -+ final net.kyori.adventure.text.Component message = net.kyori.adventure.text.Component.join(net.kyori.adventure.text.JoinConfiguration.separator(net.kyori.adventure.text.Component.newline()), ++ final Component message = Component.join(net.kyori.adventure.text.JoinConfiguration.separator(Component.newline()), + ChatColor.parseMM("Current: %s%s*", distance == 0 ? "" : distance > 0 ? "" : "", Bukkit.getVersion()), + // Purpur end msg ); - this.versionMessage = net.kyori.adventure.text.Component.text() + this.versionMessage = Component.text() diff --git a/patches/api/0036-Extended-OfflinePlayer-API.patch b/patches/api/0036-Extended-OfflinePlayer-API.patch index 57f727462..5d7aeef21 100644 --- a/patches/api/0036-Extended-OfflinePlayer-API.patch +++ b/patches/api/0036-Extended-OfflinePlayer-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Extended OfflinePlayer API diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java -index 4d014215dce2c2ff09a2701accf2db144603c55a..8cb7000bc5e4e3c987cb0ac73d113eedb141e178 100644 +index 9b84cb5abdf3db55cbc7ba19c8cd6955bf4fc5ec..5616d2acfa8180f71ae4123845fc126508f73b90 100644 --- a/src/main/java/org/bukkit/OfflinePlayer.java +++ b/src/main/java/org/bukkit/OfflinePlayer.java -@@ -476,4 +476,114 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio +@@ -506,4 +506,114 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio */ @Nullable public Location getLastDeathLocation(); diff --git a/patches/api/0037-Added-the-ability-to-add-combustible-items.patch b/patches/api/0037-Added-the-ability-to-add-combustible-items.patch index a2a360488..347dc4b05 100644 --- a/patches/api/0037-Added-the-ability-to-add-combustible-items.patch +++ b/patches/api/0037-Added-the-ability-to-add-combustible-items.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Added the ability to add combustible items diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index df4a4bc5d5423fa966910db1719dabd665eb8d71..79f78fdd7dc7c7ced0659e3740b14beff990b46e 100644 +index 728822f51d615bd2f4cb3cc1f2097309cac15fef..285c0b7a477991d43eaee088a522bb9fb5cac6aa 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2681,5 +2681,24 @@ public final class Bukkit { +@@ -2733,5 +2733,24 @@ public final class Bukkit { public static boolean isLagging() { return server.isLagging(); } @@ -34,10 +34,10 @@ index df4a4bc5d5423fa966910db1719dabd665eb8d71..79f78fdd7dc7c7ced0659e3740b14bef // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 3fb416b31132596a6c336eed62ccc5fa69f35497..05136ca2556454df3dbeeb2f67105c5bfdad445f 100644 +index 1a1aebe2a398fa433179220e16058c1fb513de94..8e41a73b1b8add77fc7bf79b261554b528ec48d0 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2340,5 +2340,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2391,5 +2391,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return True if lagging */ boolean isLagging(); diff --git a/patches/api/0045-Debug-Marker-API.patch b/patches/api/0045-Debug-Marker-API.patch index 3725e0b12..b8c3cdc62 100644 --- a/patches/api/0045-Debug-Marker-API.patch +++ b/patches/api/0045-Debug-Marker-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 79f78fdd7dc7c7ced0659e3740b14beff990b46e..478ba6da9befbc2983578d732e35f37a53789df0 100644 +index 285c0b7a477991d43eaee088a522bb9fb5cac6aa..b72708be4c431c4a8b8905d1872fdba4cefc10ae 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2700,5 +2700,89 @@ public final class Bukkit { +@@ -2752,5 +2752,89 @@ public final class Bukkit { public static void removeFuel(@NotNull Material material) { server.removeFuel(material); } @@ -99,10 +99,10 @@ index 79f78fdd7dc7c7ced0659e3740b14beff990b46e..478ba6da9befbc2983578d732e35f37a // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 05136ca2556454df3dbeeb2f67105c5bfdad445f..916b9a9f05c0e83109bc9a4eb1692e2ed6e81eaf 100644 +index 8e41a73b1b8add77fc7bf79b261554b528ec48d0..615c47f069d429e14993c60253f719b514849a67 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2355,5 +2355,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2406,5 +2406,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @param material The material that will no longer be a fuel */ public void removeFuel(@NotNull Material material); @@ -260,10 +260,10 @@ index 1fba792419ea6b5e8c640a2599e4b2dd16ee87d0..bf39c6602cfca70a6352519fa26059cd /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 143add524c7f3bca66a36522031ab56ce6ad714b..389d5a30cff2ed81a114a5933dd9e6437543fb41 100644 +index c5ed6ced17316c0af396520f7f1fa25bdc1a944d..3e826f0be104d98c2676b429a5a9b66ca437f681 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3223,5 +3223,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3289,5 +3289,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param invulnerableTicks Invulnerable ticks remaining */ void setSpawnInvulnerableTicks(int invulnerableTicks); diff --git a/patches/api/0046-Add-death-screen-API.patch b/patches/api/0046-Add-death-screen-API.patch index ee618ec29..cb11b8ef3 100644 --- a/patches/api/0046-Add-death-screen-API.patch +++ b/patches/api/0046-Add-death-screen-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 389d5a30cff2ed81a114a5933dd9e6437543fb41..74a9e27b8d3147876483743e1107632e332b0571 100644 +index 3e826f0be104d98c2676b429a5a9b66ca437f681..fb99e05b4769af604f41d81f036cee3b8a6ec197 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3293,5 +3293,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3359,5 +3359,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Clears all debug block highlights */ void clearBlockHighlights(); diff --git a/patches/server/0001-Pufferfish-Server-Changes.patch b/patches/server/0001-Pufferfish-Server-Changes.patch index 17284ae52..fbb88aca7 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -20,7 +20,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/build.gradle.kts b/build.gradle.kts -index 57f2c414dbfe127c193002fbc8eeb22e94e9cb55..3e651dd361ce4a0ccb20d624dc878e16b3bb62f5 100644 +index fb98936bb8a5488db75d676c5bcb4060597fbbf8..f6cd7b910ce41a254e71bf0fcfe93c38abbb1445 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,8 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { @@ -1668,7 +1668,7 @@ index 488a253e218409b5f0b4a872cee0928578fa7582..6e3b2863f04419ee6914ac3fd4f12a4f private void getFullChunk(long pos, Consumer chunkConsumer) { diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 81d0b2933040a451441f660f9e46199ae3b111e3..37c10d6a392d0400a7024bdd5214eb5e83aa3e82 100644 +index d934d07ad761319f338d4386536f68fde211c041..2d031430c49853e6ca87ff9f11eff70f7bb23a16 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -180,7 +180,8 @@ public class ServerEntity { @@ -1755,7 +1755,7 @@ index 18aac3da3c88f33b1a71a5920a8daa27e9723913..eac31c3fcc9161711328588ac852fcae this.getRandomBlockPosition(j, 0, k, 15, blockposition); int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1; diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 9d46536f80b5b3e6641fd377c02166a431edfd77..8a1fde50b82a8b0718ae04124c2611b7cff4bcd6 100644 +index dc5fda83a66afbfeb7897fc20b4742899d8aca08..1f49a53033a6f7f0e70b655531f2fbb4117f687b 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1245,6 +1245,7 @@ public class ServerPlayer extends Player { @@ -1791,10 +1791,10 @@ index 9d46536f80b5b3e6641fd377c02166a431edfd77..8a1fde50b82a8b0718ae04124c2611b7 @Override diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 316740b2ba4c85828f544249c8cdd6fa1b525d3f..22d2e0e262cbc9b0c95e9978adf5561df4774d25 100644 +index 75bd92e1d40588d3bc40fa7837943eec9f2062a6..81c566877ad7ac98fcd9fe94d8e0c09f88fb2054 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1219,6 +1219,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1221,6 +1221,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleEditBook(ServerboundEditBookPacket packet) { @@ -1802,7 +1802,7 @@ index 316740b2ba4c85828f544249c8cdd6fa1b525d3f..22d2e0e262cbc9b0c95e9978adf5561d // Paper start if (!this.cserver.isPrimaryThread()) { List pageList = packet.getPages(); -@@ -2365,6 +2366,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2367,6 +2368,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } private boolean updateChatOrder(Instant timestamp) { @@ -1935,7 +1935,7 @@ index 04b1531572e8fff1e46fe1c94e7fc863841e0f66..47ddc42f2b63d9d3fae5ae6ea93d4183 int LARGE_MAX_STACK_SIZE = 64; int DEFAULT_DISTANCE_LIMIT = 8; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4c298406ce06d39f8279049270c88ec0830733b1..cccbec265c00b00c3261c9beead91f1ab3702d7d 100644 +index f189629f03503fc06b790729bd407b663a48e0db..02722358edf416e958e9181b2ecc781596801f8a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -306,7 +306,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3506,10 +3506,10 @@ index ebe65474a4a05ff1637d7f37ebcfe690af59def5..42142c512b12e5b269c19f1e821c50e7 @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a05c1bc8874ef5e380544a6a344c848e37da49c4..bc9a4dc04589d4241560f73ae8c64f2fb8f6a4ca 100644 +index 54f27d91f941235a99e341ed84531ad7f0840728..a774e6af15993a97a231d45b676e26fb1128f05f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -264,7 +264,7 @@ import javax.annotation.Nullable; // Paper +@@ -265,7 +265,7 @@ import javax.annotation.Nullable; // Paper import javax.annotation.Nonnull; // Paper public final class CraftServer implements Server { @@ -3518,7 +3518,7 @@ index a05c1bc8874ef5e380544a6a344c848e37da49c4..bc9a4dc04589d4241560f73ae8c64f2f private final String serverVersion; private final String bukkitVersion = Versioning.getBukkitVersion(); private final Logger logger = Logger.getLogger("Minecraft"); -@@ -1139,6 +1139,11 @@ public final class CraftServer implements Server { +@@ -1140,6 +1140,11 @@ public final class CraftServer implements Server { plugin.getPluginMeta().getDisplayName(), "This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies." )); diff --git a/patches/server/0003-Rebrand.patch b/patches/server/0003-Rebrand.patch index f2634ffba..06457cba8 100644 --- a/patches/server/0003-Rebrand.patch +++ b/patches/server/0003-Rebrand.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand diff --git a/build.gradle.kts b/build.gradle.kts -index 3e651dd361ce4a0ccb20d624dc878e16b3bb62f5..240394b1d9dd1449674a299aa73fa155be2d3d82 100644 +index f6cd7b910ce41a254e71bf0fcfe93c38abbb1445..139e2b17b899da6f0147bb8b4412e2e54e817be4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,12 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { @@ -199,10 +199,10 @@ index 7ca6c81afc99d42d2f39b4b6d7f5e8a18b58fba3..34737c730d724d4be67d480587a17792 public SystemReport fillSystemReport(SystemReport details) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index bc9a4dc04589d4241560f73ae8c64f2fb8f6a4ca..08c5f45c044f6c882a985fbc071ff7616d0df4c1 100644 +index a774e6af15993a97a231d45b676e26fb1128f05f..61ce2ce797abe1c66ad428f52654cc09321ab52c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -264,7 +264,7 @@ import javax.annotation.Nullable; // Paper +@@ -265,7 +265,7 @@ import javax.annotation.Nullable; // Paper import javax.annotation.Nonnull; // Paper public final class CraftServer implements Server { diff --git a/patches/server/0004-Purpur-config-files.patch b/patches/server/0004-Purpur-config-files.patch index 0150f6f3a..20d45c675 100644 --- a/patches/server/0004-Purpur-config-files.patch +++ b/patches/server/0004-Purpur-config-files.patch @@ -92,7 +92,7 @@ index 28af96ce4f9f1a83316b6fd9e1625c71b5874c3f..cf7c7b3cd4081e1be059647dca237ffd io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider // Paper end diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 5eca99fbd23ff0d35607bd185b011d6f9a30d0f0..6a9f5e3f8c72363b91b23729df5e98784d66ba8b 100644 +index f5a3203c60e555c496626c842d72e4cdc6cd9f6e..dc71cf3c66a0a4390177428688e6f4ee39a981b6 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -176,6 +176,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -112,10 +112,10 @@ index 5eca99fbd23ff0d35607bd185b011d6f9a30d0f0..6a9f5e3f8c72363b91b23729df5e9878 this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 08c5f45c044f6c882a985fbc071ff7616d0df4c1..0bc0718dc37cc087b99d35f076f804ca734a555f 100644 +index 61ce2ce797abe1c66ad428f52654cc09321ab52c..f0eaab7c4a4ee995324f07ef4fb6c039847c8243 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1056,6 +1056,7 @@ public final class CraftServer implements Server { +@@ -1057,6 +1057,7 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot this.console.paperConfigurations.reloadConfigs(this.console); @@ -123,7 +123,7 @@ index 08c5f45c044f6c882a985fbc071ff7616d0df4c1..0bc0718dc37cc087b99d35f076f804ca for (ServerLevel world : this.console.getAllLevels()) { // world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean)) -@@ -1071,6 +1072,7 @@ public final class CraftServer implements Server { +@@ -1072,6 +1073,7 @@ public final class CraftServer implements Server { } } world.spigotConfig.init(); // Spigot @@ -131,7 +131,7 @@ index 08c5f45c044f6c882a985fbc071ff7616d0df4c1..0bc0718dc37cc087b99d35f076f804ca } Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper -@@ -1086,6 +1088,7 @@ public final class CraftServer implements Server { +@@ -1087,6 +1089,7 @@ public final class CraftServer implements Server { this.reloadData(); org.spigotmc.SpigotConfig.registerCommands(); // Spigot io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper @@ -139,7 +139,7 @@ index 08c5f45c044f6c882a985fbc071ff7616d0df4c1..0bc0718dc37cc087b99d35f076f804ca this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2869,6 +2872,18 @@ public final class CraftServer implements Server { +@@ -2907,6 +2910,18 @@ public final class CraftServer implements Server { return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console); } @@ -159,7 +159,7 @@ index 08c5f45c044f6c882a985fbc071ff7616d0df4c1..0bc0718dc37cc087b99d35f076f804ca public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index daed278d1bcf84ee42749f24e311b22b70015d79..2775c0e10c5081bb6b9e38d58dd57d08bf63ec89 100644 +index 776b7fc26fe96b69be260bbd36efae147d988640..b1ac20e88ba0db9b6591df745ca8bc4bc3f9e4ae 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -173,6 +173,14 @@ public class Main { diff --git a/patches/server/0005-Purpur-client-support.patch b/patches/server/0005-Purpur-client-support.patch index b471a0007..42910dab1 100644 --- a/patches/server/0005-Purpur-client-support.patch +++ b/patches/server/0005-Purpur-client-support.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 8a1fde50b82a8b0718ae04124c2611b7cff4bcd6..d4e03454b07550621dd1a56e4eaa40f3b49d8c2f 100644 +index 1f49a53033a6f7f0e70b655531f2fbb4117f687b..a3b148c9d55ba35856ffc505f1950ec986d85ece 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -277,6 +277,7 @@ public class ServerPlayer extends Player { @@ -17,10 +17,10 @@ index 8a1fde50b82a8b0718ae04124c2611b7cff4bcd6..d4e03454b07550621dd1a56e4eaa40f3 private final java.util.concurrent.atomic.AtomicReference viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 22d2e0e262cbc9b0c95e9978adf5561df4774d25..b70936913ccf220416eca8ffafa5d97e6290c613 100644 +index 81c566877ad7ac98fcd9fe94d8e0c09f88fb2054..f5469ab8ca507a79e387be3435c63e3d0e96d370 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3515,6 +3515,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3541,6 +3541,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister"); private static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support @@ -28,7 +28,7 @@ index 22d2e0e262cbc9b0c95e9978adf5561df4774d25..b70936913ccf220416eca8ffafa5d97e @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { -@@ -3539,6 +3540,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3565,6 +3566,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex); this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause } @@ -43,10 +43,10 @@ index 22d2e0e262cbc9b0c95e9978adf5561df4774d25..b70936913ccf220416eca8ffafa5d97e try { byte[] data = new byte[packet.data.readableBytes()]; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index dbdeb913e228651cadf5dbd7ec98afc738c80522..e77d519a25aef117515fdb463ca3e124ee028c83 100644 +index 5bbded65095dccfadaf7576fc41b5f62974878b4..bb3ed33e20feebe3b36e24708496adf46c381525 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3180,4 +3180,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3212,4 +3212,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.spigot; } // Spigot end diff --git a/patches/server/0008-Ridables.patch b/patches/server/0008-Ridables.patch index 9d4b1f318..55ab7f884 100644 --- a/patches/server/0008-Ridables.patch +++ b/patches/server/0008-Ridables.patch @@ -46,7 +46,7 @@ index dbb59969cf55eda997588f4c3ef7dc899ea619bb..4c3b5a26a6b04afff3a707929ced3c62 final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date()); io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a0577dcae567230c12b52ed02072745513c7a4d5..23235b98907ff26afb22d37326b072ba56728ddd 100644 +index 1e8edb73baf8e5ca1bbde068c8141de505de48ee..2ec32c4845774f9697c4d8451e20f76806f9888d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -751,6 +751,15 @@ public class ServerPlayer extends Player { @@ -66,10 +66,10 @@ index a0577dcae567230c12b52ed02072745513c7a4d5..23235b98907ff26afb22d37326b072ba public void doTick() { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b70936913ccf220416eca8ffafa5d97e6290c613..d88abd13d215bcfaefae918e76f9658224c7aa2f 100644 +index f5469ab8ca507a79e387be3435c63e3d0e96d370..7759ae9d9ee2549f0e4ccb613d170722b7a1c335 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2818,6 +2818,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2817,6 +2817,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); @@ -79,7 +79,7 @@ index b70936913ccf220416eca8ffafa5d97e6290c613..d88abd13d215bcfaefae918e76f96582 if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index fa14eb380c6392c74ef96acfae58034d583f2c3e..f30522ad06b55c5116e40c7b134d8b3e5ea9910f 100644 +index 637de99a0893001200f84a910e910101499ceb9b..64cbc88887de72157f977186691d034a09462a85 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -376,7 +376,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -965,7 +965,7 @@ index 0263acf81330ada1bb8ae7d52a3b04e08d0c4dcb..11082cf272b72123d8917baa9a0d0e53 // CraftBukkit end diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java -index 4ec6dc8ddcb940091956fdf014f43832db287d8d..c268b50d43a45a5f80fd776e56484d872d494013 100644 +index 8448c5d778998390cf2b683f36e4e18ca7ffdc34..3dab78e2f39855f71bb7294521be71b3faa59b81 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java +++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java @@ -82,14 +82,82 @@ public class Dolphin extends WaterAnimal { @@ -5221,10 +5221,10 @@ index fc0dc8e607cc24020106ea1af92b4421a5f9393d..7d744d5b6a9e593e657233b2192f2837 + // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index acb38f927c2418c91adf91c7b790ea6869835537..f1479e5a3cbccd34edfb22d3c1c3ea0a7438926b 100644 +index 26e1a9002d675245d4cf91e6682605314b078fb2..6db204dead67aac300410a6d2627cde8446630b5 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -565,6 +565,15 @@ public class CraftEventFactory { +@@ -590,6 +590,15 @@ public class CraftEventFactory { // Paper end craftServer.getPluginManager().callEvent(event); @@ -5240,7 +5240,7 @@ index acb38f927c2418c91adf91c7b790ea6869835537..f1479e5a3cbccd34edfb22d3c1c3ea0a return event; } -@@ -1005,6 +1014,7 @@ public class CraftEventFactory { +@@ -1031,6 +1040,7 @@ public class CraftEventFactory { damageCause = DamageCause.ENTITY_EXPLOSION; } event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions, source.isCritical()); // Paper - add critical damage API @@ -5248,7 +5248,7 @@ index acb38f927c2418c91adf91c7b790ea6869835537..f1479e5a3cbccd34edfb22d3c1c3ea0a } event.setCancelled(cancelled); -@@ -1119,6 +1129,7 @@ public class CraftEventFactory { +@@ -1145,6 +1155,7 @@ public class CraftEventFactory { } else { entity.lastDamageCancelled = true; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled } @@ -5256,7 +5256,7 @@ index acb38f927c2418c91adf91c7b790ea6869835537..f1479e5a3cbccd34edfb22d3c1c3ea0a return event; } -@@ -1182,6 +1193,7 @@ public class CraftEventFactory { +@@ -1208,6 +1219,7 @@ public class CraftEventFactory { EntityDamageEvent event; if (damager != null) { event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions, critical); // Paper - add critical damage API diff --git a/patches/server/0010-Barrels-and-enderchests-6-rows.patch b/patches/server/0010-Barrels-and-enderchests-6-rows.patch index af127da05..30161e537 100644 --- a/patches/server/0010-Barrels-and-enderchests-6-rows.patch +++ b/patches/server/0010-Barrels-and-enderchests-6-rows.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Barrels and enderchests 6 rows diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index c3f76eaf59b1ed728e8b430ebd69b58bfbad95a1..0510d7e8b6f115292b493a036cc30c364ccf7397 100644 +index 84846522b57f07001a0d1cb88db625910bea9571..1abb122a33eaf55de752d3d91bca8c1ee888dfd4 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1162,6 +1162,27 @@ public abstract class PlayerList { @@ -205,10 +205,10 @@ index 416aa989ebb18a8741cc9d605a1180ab830f6643..e38a0adf5463c48311ad08b8d2e5b5c2 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java -index 081e6c7ce4a0185ba75e48bbb581fd531cdb10a8..30d43b77424467b2525fc32d4c451e818ac46651 100644 +index 633e6f4922ccaf59979a22885162f42c65bf628a..15001e7c8eae3a89f9d8669be532d56b70d538ef 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java -@@ -180,8 +180,19 @@ public class CraftContainer extends AbstractContainerMenu { +@@ -181,8 +181,19 @@ public class CraftContainer extends AbstractContainerMenu { case PLAYER: case CHEST: case ENDER_CHEST: diff --git a/patches/server/0012-AFK-API.patch b/patches/server/0012-AFK-API.patch index 95df15725..245c4382b 100644 --- a/patches/server/0012-AFK-API.patch +++ b/patches/server/0012-AFK-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] AFK API Adds the option for display names to be used in the afk broadcast diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 23235b98907ff26afb22d37326b072ba56728ddd..871c1c92cbabc6ecb432b5d1da441e02e08cd35a 100644 +index 2ec32c4845774f9697c4d8451e20f76806f9888d..8276eff5d8085fe4c4f212d0afc5a36d02b84035 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -2118,8 +2118,68 @@ public class ServerPlayer extends Player { @@ -79,10 +79,10 @@ index 23235b98907ff26afb22d37326b072ba56728ddd..871c1c92cbabc6ecb432b5d1da441e02 return this.stats; } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8c62cc52c2d2aaa1dd1f191114e188c22e4f40a2..55d2634ed7835cd78828bc6c4547fdcf0136fc40 100644 +index 7759ae9d9ee2549f0e4ccb613d170722b7a1c335..552944305a98cc8c091bab535c2b5cece9953898 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -340,6 +340,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -342,6 +342,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private boolean justTeleported = false; private boolean hasMoved; // Spigot @@ -103,7 +103,7 @@ index 8c62cc52c2d2aaa1dd1f191114e188c22e4f40a2..55d2634ed7835cd78828bc6c4547fdcf public CraftPlayer getCraftPlayer() { return (this.player == null) ? null : (CraftPlayer) this.player.getBukkitEntity(); } -@@ -433,6 +447,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -435,6 +449,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) this.server.getPlayerIdleTimeout() * 1000L * 60L && !this.player.wonGame) { // Paper - Prevent AFK kick while watching end credits. @@ -116,7 +116,7 @@ index 8c62cc52c2d2aaa1dd1f191114e188c22e4f40a2..55d2634ed7835cd78828bc6c4547fdcf this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854 this.disconnect(Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause } -@@ -751,6 +771,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -753,6 +773,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -125,7 +125,7 @@ index 8c62cc52c2d2aaa1dd1f191114e188c22e4f40a2..55d2634ed7835cd78828bc6c4547fdcf // Skip the first time we do this if (true) { // Spigot - don't skip any move events Location oldTo = to.clone(); -@@ -1550,7 +1572,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1552,7 +1574,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (!this.player.isChangingDimension() && d10 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != GameType.SPECTATOR) { // Spigot flag2 = true; // Paper - diff on change, this should be moved wrongly @@ -134,7 +134,7 @@ index 8c62cc52c2d2aaa1dd1f191114e188c22e4f40a2..55d2634ed7835cd78828bc6c4547fdcf } // Paper start - optimise out extra getCubes -@@ -1601,6 +1623,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1603,6 +1625,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -224,10 +224,10 @@ index 3b959f42d958bf0f426853aee56753d6c455fcdb..d17abb283ea818244df0379d6b57fc63 if (range < 0.0D || d < range * range) { 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 1c5dc1727b1731ddfd2f6b0e36618b780b9aa930..71ec32a473e6bde53c3987ccf1bb1517771b181c 100644 +index bb3ed33e20feebe3b36e24708496adf46c381525..673ac3704eee0b2aa576fe197abb8af5d8986e7e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -508,10 +508,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -510,10 +510,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setPlayerListName(String name) { @@ -244,7 +244,7 @@ index 1c5dc1727b1731ddfd2f6b0e36618b780b9aa930..71ec32a473e6bde53c3987ccf1bb1517 for (ServerPlayer player : (List) server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle())); -@@ -3186,5 +3191,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3218,5 +3223,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean usesPurpurClient() { return getHandle().purpurClient; } diff --git a/patches/server/0013-Bring-back-server-name.patch b/patches/server/0013-Bring-back-server-name.patch index 238e445cc..f258da429 100644 --- a/patches/server/0013-Bring-back-server-name.patch +++ b/patches/server/0013-Bring-back-server-name.patch @@ -17,10 +17,10 @@ index 818289e831e3dad29345c43265e2efd7689bc500..1ea3012995c738c67b31e997c138f824 public final boolean spawnNpcs = this.get("spawn-npcs", true); public final boolean pvp = this.get("pvp", true); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0bc0718dc37cc087b99d35f076f804ca734a555f..8a98fab3e5052eb170653b869479a15f46643a20 100644 +index f0eaab7c4a4ee995324f07ef4fb6c039847c8243..67cdaf81d4417ff0ef3331d7bf436737d3531eb6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3097,4 +3097,11 @@ public final class CraftServer implements Server { +@@ -3135,4 +3135,11 @@ public final class CraftServer implements Server { } // Paper end diff --git a/patches/server/0016-Lagging-threshold.patch b/patches/server/0016-Lagging-threshold.patch index cae2930e3..4a2e40248 100644 --- a/patches/server/0016-Lagging-threshold.patch +++ b/patches/server/0016-Lagging-threshold.patch @@ -25,10 +25,10 @@ index 80c085498d9b61bae2e06df873c1ad66cc7d8ae5..59da6baab74e0a40e93fa02ce4ce2745 } // Spigot end diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8a98fab3e5052eb170653b869479a15f46643a20..8976113602277a64cd0049980701b6b7cbcc6b47 100644 +index 67cdaf81d4417ff0ef3331d7bf436737d3531eb6..4f657ac60aa980fb00bc248ebb4e848d7a8d16d6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3103,5 +3103,10 @@ public final class CraftServer implements Server { +@@ -3141,5 +3141,10 @@ public final class CraftServer implements Server { public String getServerName() { return this.getProperties().serverName; } diff --git a/patches/server/0018-Player-invulnerabilities.patch b/patches/server/0018-Player-invulnerabilities.patch index 41997d96f..9eb37ff4b 100644 --- a/patches/server/0018-Player-invulnerabilities.patch +++ b/patches/server/0018-Player-invulnerabilities.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Player invulnerabilities diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 871c1c92cbabc6ecb432b5d1da441e02e08cd35a..1d205ddc1c880f18534ccfd3699060a885ed9fd8 100644 +index 8276eff5d8085fe4c4f212d0afc5a36d02b84035..3274977a1d7442626329cfd31c720af13ec00866 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -278,6 +278,7 @@ public class ServerPlayer extends Player { @@ -82,10 +82,10 @@ index 871c1c92cbabc6ecb432b5d1da441e02e08cd35a..1d205ddc1c880f18534ccfd3699060a8 public Scoreboard getScoreboard() { return this.getBukkitEntity().getScoreboard().getHandle(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 55d2634ed7835cd78828bc6c4547fdcf0136fc40..5c57cb0ae56c9d180354580118f90c68b519d891 100644 +index 552944305a98cc8c091bab535c2b5cece9953898..0ba3fbcf0004ef8eaf535b30b4a6931342ae2d09 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2094,12 +2094,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2096,12 +2096,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleResourcePackResponse(ServerboundResourcePackPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); @@ -108,7 +108,7 @@ index 55d2634ed7835cd78828bc6c4547fdcf0136fc40..5c57cb0ae56c9d180354580118f90c68 this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit // Paper end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 0510d7e8b6f115292b493a036cc30c364ccf7397..8420afe3c04bf23c23038d638b4e9195134846f7 100644 +index 1abb122a33eaf55de752d3d91bca8c1ee888dfd4..1897c0e8922aa654f03267cb8ad1a06a55efa98a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -977,6 +977,8 @@ public abstract class PlayerList { @@ -121,10 +121,10 @@ index 0510d7e8b6f115292b493a036cc30c364ccf7397..8420afe3c04bf23c23038d638b4e9195 return entityplayer1; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 71ec32a473e6bde53c3987ccf1bb1517771b181c..249ab7ef332c87a3fcac6e7cc4402ddaa1f4d50c 100644 +index 673ac3704eee0b2aa576fe197abb8af5d8986e7e..19e970bea9424deb69120b382190d194bb20a130 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3206,5 +3206,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3238,5 +3238,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetIdleTimer() { getHandle().resetLastActionTime(); } diff --git a/patches/server/0020-Alternative-Keepalive-Handling.patch b/patches/server/0020-Alternative-Keepalive-Handling.patch index d6e4812ce..20b3460df 100644 --- a/patches/server/0020-Alternative-Keepalive-Handling.patch +++ b/patches/server/0020-Alternative-Keepalive-Handling.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Alternative Keepalive Handling diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d91fd3fa0f08dc43641ad628f26be123548ddf4e..bcce3550b8bde5eb9b187e99349044e7a9538e5a 100644 +index 0ba3fbcf0004ef8eaf535b30b4a6931342ae2d09..c209244c37d3a96b7430f1335f5ddf6332ced8bc 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -263,6 +263,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -265,6 +265,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private long keepAliveTime = Util.getMillis(); private boolean keepAlivePending; private long keepAliveChallenge; @@ -16,7 +16,7 @@ index d91fd3fa0f08dc43641ad628f26be123548ddf4e..bcce3550b8bde5eb9b187e99349044e7 // CraftBukkit start - multithreaded fields private final AtomicInteger chatSpamTickCount = new AtomicInteger(); private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits -@@ -415,6 +416,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -417,6 +418,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic long currentTime = Util.getMillis(); long elapsedTime = currentTime - this.keepAliveTime; @@ -38,7 +38,7 @@ index d91fd3fa0f08dc43641ad628f26be123548ddf4e..bcce3550b8bde5eb9b187e99349044e7 if (this.keepAlivePending) { if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info -@@ -3500,6 +3516,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3526,6 +3542,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0059-Mending-mends-most-damages-equipment-first.patch b/patches/server/0059-Mending-mends-most-damages-equipment-first.patch index 8f986ab3e..740d57fdd 100644 --- a/patches/server/0059-Mending-mends-most-damages-equipment-first.patch +++ b/patches/server/0059-Mending-mends-most-damages-equipment-first.patch @@ -18,10 +18,10 @@ index eca634792d2a7cc649675e3394e84dbaf1453905..2bd576849403bc2cfae298c221061619 if (entry != null) { ItemStack itemstack = (ItemStack) entry.getValue(); diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index ae9b821d71d2868ba4eb3c73558fdcd6caf264e3..11d6c0a2089ff8e95b94ded88ae11360ffd9c01e 100644 +index 879cc823d56625867eb73bb621db6a13f40ad81c..d8c1c16d3c4b35860e860cf6aef774916822ec9c 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -579,6 +579,16 @@ public final class ItemStack { +@@ -583,6 +583,16 @@ public final class ItemStack { return this.isDamageableItem() && this.getDamageValue() > 0; } diff --git a/patches/server/0060-Add-5-second-tps-average-in-tps.patch b/patches/server/0060-Add-5-second-tps-average-in-tps.patch index 060507ea4..2aea3e1dc 100644 --- a/patches/server/0060-Add-5-second-tps-average-in-tps.patch +++ b/patches/server/0060-Add-5-second-tps-average-in-tps.patch @@ -69,10 +69,10 @@ index 1b192ce469ace3379ae10cd64b25118a58627e75..977dd212701e981a92b6c72f31fdc590 lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur tickSection = curTime; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8976113602277a64cd0049980701b6b7cbcc6b47..6ed43bd792f932a0a976f9402e70ddb1f2862b5d 100644 +index 4f657ac60aa980fb00bc248ebb4e848d7a8d16d6..569040a852d0985d0af0c29643dae7eecf5fe9a3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2826,6 +2826,7 @@ public final class CraftServer implements Server { +@@ -2864,6 +2864,7 @@ public final class CraftServer implements Server { @Override public double[] getTPS() { return new double[] { diff --git a/patches/server/0061-Implement-elytra-settings.patch b/patches/server/0061-Implement-elytra-settings.patch index 643972f88..02255af87 100644 --- a/patches/server/0061-Implement-elytra-settings.patch +++ b/patches/server/0061-Implement-elytra-settings.patch @@ -54,10 +54,10 @@ index 82b0bda3e35ec2157a477e1a17b2b46baadc97d9..0fc45b1048a1c4e0dc2bd1ae0437eecb itemStack.shrink(1); } else ((net.minecraft.server.level.ServerPlayer) user).getBukkitEntity().updateInventory(); diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 11d6c0a2089ff8e95b94ded88ae11360ffd9c01e..73219dc7f1fcb3f7457de513e865385a09ab1914 100644 +index d8c1c16d3c4b35860e860cf6aef774916822ec9c..33548cd10758f3cc891c40d760b9e0a86dc8a2cb 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -608,7 +608,7 @@ public final class ItemStack { +@@ -612,7 +612,7 @@ public final class ItemStack { int j; if (amount > 0) { @@ -66,7 +66,7 @@ index 11d6c0a2089ff8e95b94ded88ae11360ffd9c01e..73219dc7f1fcb3f7457de513e865385a int k = 0; for (int l = 0; j > 0 && l < amount; ++l) { -@@ -663,6 +663,12 @@ public final class ItemStack { +@@ -667,6 +667,12 @@ public final class ItemStack { if (this.hurt(amount, entity.getRandom(), entity /*instanceof ServerPlayer ? (ServerPlayer) entity : null*/)) { // Paper - pass LivingEntity for EntityItemDamageEvent breakCallback.accept(entity); Item item = this.getItem(); diff --git a/patches/server/0072-Allow-color-codes-in-books.patch b/patches/server/0072-Allow-color-codes-in-books.patch index ec070891b..07a9376cc 100644 --- a/patches/server/0072-Allow-color-codes-in-books.patch +++ b/patches/server/0072-Allow-color-codes-in-books.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow color codes in books diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 72b693f78a28a08a9b802bbef83be2496ed06589..7b60c2b4563a44c20196951e4ebeb92a0c74b79d 100644 +index c209244c37d3a96b7430f1335f5ddf6332ced8bc..132f65deb985c8070a4ea4a2a80372712d44f795 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1345,13 +1345,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1347,13 +1347,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic itemstack1.setTag(nbttagcompound.copy()); } @@ -28,7 +28,7 @@ index 72b693f78a28a08a9b802bbef83be2496ed06589..7b60c2b4563a44c20196951e4ebeb92a this.updateBookPages(pages, (s) -> { return Component.Serializer.toJson(Component.literal(s)); -@@ -1363,10 +1366,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1365,10 +1368,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private void updateBookPages(List list, UnaryOperator unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit ListTag nbttaglist = new ListTag(); @@ -44,7 +44,7 @@ index 72b693f78a28a08a9b802bbef83be2496ed06589..7b60c2b4563a44c20196951e4ebeb92a Objects.requireNonNull(nbttaglist); stream.forEach(nbttaglist::add); -@@ -1376,11 +1382,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1378,11 +1384,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic for (int j = list.size(); i < j; ++i) { FilteredText filteredtext = (FilteredText) list.get(i); @@ -58,7 +58,7 @@ index 72b693f78a28a08a9b802bbef83be2496ed06589..7b60c2b4563a44c20196951e4ebeb92a } } -@@ -1393,6 +1399,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1395,6 +1401,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(player, slot, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent) } diff --git a/patches/server/0073-Entity-lifespan.patch b/patches/server/0073-Entity-lifespan.patch index 0828e07d3..e549e70ba 100644 --- a/patches/server/0073-Entity-lifespan.patch +++ b/patches/server/0073-Entity-lifespan.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index aaff9ea822da6f700a3576473f45402e1cc2b5e4..d723670c96890bce35642de3611c3641992e112b 100644 +index 132f65deb985c8070a4ea4a2a80372712d44f795..353d50dd927678618a8d7122d7f3ca0be2f39a64 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2870,6 +2870,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2869,6 +2869,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic AABB axisalignedbb = entity.getBoundingBox(); if (axisalignedbb.distanceToSqr(this.player.getEyePosition()) < ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE) { diff --git a/patches/server/0084-Add-option-to-disable-dolphin-treasure-searching.patch b/patches/server/0084-Add-option-to-disable-dolphin-treasure-searching.patch index 3ca8af280..7e084f9ec 100644 --- a/patches/server/0084-Add-option-to-disable-dolphin-treasure-searching.patch +++ b/patches/server/0084-Add-option-to-disable-dolphin-treasure-searching.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to disable dolphin treasure searching diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java -index 0ae0f8cc64578d0c51fb050b8e726e483a17e50f..f7d5ad85eccedd30209e758aa52c24010531ec48 100644 +index 89e3dbfddc739f97fdb6ec9a5714530f03cc7092..079fd78528377ee4236fb2e7189a5f0fc5ec4fb3 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java +++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java @@ -485,6 +485,7 @@ public class Dolphin extends WaterAnimal { @@ -13,7 +13,7 @@ index 0ae0f8cc64578d0c51fb050b8e726e483a17e50f..f7d5ad85eccedd30209e758aa52c2401 @Override public boolean canUse() { + if (this.dolphin.level().purpurConfig.dolphinDisableTreasureSearching) return false; // Purpur - return this.dolphin.gotFish() && this.dolphin.getAirSupply() >= 100 && this.dolphin.level().getWorld().canGenerateStructures(); // MC-151364, SPIGOT-5494: hangs if generate-structures=false + return this.dolphin.gotFish() && this.dolphin.getAirSupply() >= 100; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/patches/server/0121-PlayerBookTooLargeEvent.patch b/patches/server/0121-PlayerBookTooLargeEvent.patch index bfbf77503..3487c2e8b 100644 --- a/patches/server/0121-PlayerBookTooLargeEvent.patch +++ b/patches/server/0121-PlayerBookTooLargeEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] PlayerBookTooLargeEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f106638020d94499601ac21d5c958ada3ddc3ea8..6d192a45f73c8a4dc2cd5f76bb081ae700dc188e 100644 +index 353d50dd927678618a8d7122d7f3ca0be2f39a64..2d747b24d25683d0b5e96a9eea06abd031f158e6 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1265,10 +1265,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1267,10 +1267,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic int maxBookPageSize = io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.pageMax; double multiplier = Math.max(0.3D, Math.min(1D, io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier)); long byteAllowed = maxBookPageSize; @@ -21,7 +21,7 @@ index f106638020d94499601ac21d5c958ada3ddc3ea8..6d192a45f73c8a4dc2cd5f76bb081ae7 server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause return; } -@@ -1292,6 +1294,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1294,6 +1296,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (byteTotal > byteAllowed) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size()); diff --git a/patches/server/0126-Add-EntityTeleportHinderedEvent.patch b/patches/server/0126-Add-EntityTeleportHinderedEvent.patch index 60ec64675..3604798bc 100644 --- a/patches/server/0126-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0126-Add-EntityTeleportHinderedEvent.patch @@ -89,10 +89,10 @@ index 7d744d5b6a9e593e657233b2192f2837bf360deb..98f7d917f8377927472414bee79d2de4 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 249ab7ef332c87a3fcac6e7cc4402ddaa1f4d50c..70144e8fb966f0c1d7aa4737d5af553c1a53340b 100644 +index 19e970bea9424deb69120b382190d194bb20a130..674d836966f0657120d65aa4fae09f202f13dd09 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1346,6 +1346,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1348,6 +1348,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API diff --git a/patches/server/0134-Dont-run-with-scissors.patch b/patches/server/0134-Dont-run-with-scissors.patch index 93c8439b9..d9002e1a9 100644 --- a/patches/server/0134-Dont-run-with-scissors.patch +++ b/patches/server/0134-Dont-run-with-scissors.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Dont run with scissors! diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 67ef040687783095fb3ee7cc7c127c8fb10efd85..8fa4c33d71a2a7f5d844378659d7098b9fe52380 100644 +index 2d747b24d25683d0b5e96a9eea06abd031f158e6..51139bfff093dd0ad9c39a076d734575474f6c82 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1698,6 +1698,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1700,6 +1700,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.resetFallDistance(); } @@ -22,7 +22,7 @@ index 67ef040687783095fb3ee7cc7c127c8fb10efd85..8fa4c33d71a2a7f5d844378659d7098b this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5); this.lastGoodX = this.player.getX(); this.lastGoodY = this.player.getY(); -@@ -1730,6 +1737,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1732,6 +1739,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } // Paper end - optimise out extra getCubes diff --git a/patches/server/0148-Allow-infinity-on-crossbows.patch b/patches/server/0148-Allow-infinity-on-crossbows.patch index 38d1f0b21..ee9c64fda 100644 --- a/patches/server/0148-Allow-infinity-on-crossbows.patch +++ b/patches/server/0148-Allow-infinity-on-crossbows.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow infinity on crossbows diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java -index a433910fb4d0bd8d7b6b0d66c8fc88d62a0e4879..ae6ba3c0a7722674b304291f643960b0a58fca57 100644 +index eede02c3f125d230af537bb67bebed9b88f7d1b4..1ae5e17b95d994d69b060fc06c0a807c40a90f17 100644 --- a/src/main/java/net/minecraft/world/item/CrossbowItem.java +++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java @@ -114,7 +114,7 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { @@ -17,7 +17,7 @@ index a433910fb4d0bd8d7b6b0d66c8fc88d62a0e4879..ae6ba3c0a7722674b304291f643960b0 ItemStack itemstack1 = shooter.getProjectile(crossbow); ItemStack itemstack2 = itemstack1.copy(); -@@ -304,7 +304,7 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { +@@ -300,7 +300,7 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { for (int i = 0; i < list.size(); ++i) { ItemStack itemstack1 = (ItemStack) list.get(i); @@ -77,7 +77,7 @@ index 3d0ce0803e1da8a2681a3cb41096ac942ece54a1..bcd075a771c7f43c6d1549aeec2ccb20 return null; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 3fc967279daaf6eb2b2d80fcad57b5b6a11cec43..a191d631e4c5401e1fafc0d9a4a4d5eed4f300af 100644 +index 9753aa00f70365ea4e3402cee89fe96b9f2aa6f5..872018367a51547faf1328c5d98174e10e0655ae 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -284,6 +284,7 @@ public class PurpurConfig { diff --git a/patches/server/0154-Config-to-allow-for-unsafe-enchants.patch b/patches/server/0154-Config-to-allow-for-unsafe-enchants.patch index 0ccd8db3f..0668359a0 100644 --- a/patches/server/0154-Config-to-allow-for-unsafe-enchants.patch +++ b/patches/server/0154-Config-to-allow-for-unsafe-enchants.patch @@ -70,10 +70,10 @@ index 8a7c30e316db4960b0b62ca0e366c19febead214..29ba769c5f803ce2dc5285e65284febf ((ServerPlayer) player).connection.send(new ClientboundContainerSetDataPacket(containerId, 0, cost.get())); } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 73219dc7f1fcb3f7457de513e865385a09ab1914..a314bd08b2beaf867057cdb2accdfeef2a56a837 100644 +index 33548cd10758f3cc891c40d760b9e0a86dc8a2cb..a7909c60a17ab004ab8f6cd39abb211887bdeb90 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -1203,6 +1203,12 @@ public final class ItemStack { +@@ -1207,6 +1207,12 @@ public final class ItemStack { return this.tag != null && this.tag.contains("Enchantments", 9) ? !this.tag.getList("Enchantments", 10).isEmpty() : false; } diff --git a/patches/server/0193-Store-placer-on-Block-when-placed.patch b/patches/server/0193-Store-placer-on-Block-when-placed.patch index 47df15920..a26e46391 100644 --- a/patches/server/0193-Store-placer-on-Block-when-placed.patch +++ b/patches/server/0193-Store-placer-on-Block-when-placed.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Store placer on Block when placed diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index a314bd08b2beaf867057cdb2accdfeef2a56a837..d846d5bdc92138b6b6c44a2e47578199bb68f858 100644 +index a7909c60a17ab004ab8f6cd39abb211887bdeb90..8c8f605c4d17e2dd5dec450bd4f9853421b0f44a 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -422,6 +422,7 @@ public final class ItemStack { +@@ -426,6 +426,7 @@ public final class ItemStack { world.preventPoiUpdated = true; // CraftBukkit - SPIGOT-5710 for (BlockState blockstate : blocks) { blockstate.update(true, false); @@ -16,7 +16,7 @@ index a314bd08b2beaf867057cdb2accdfeef2a56a837..d846d5bdc92138b6b6c44a2e47578199 } world.preventPoiUpdated = false; -@@ -451,6 +452,7 @@ public final class ItemStack { +@@ -455,6 +456,7 @@ public final class ItemStack { if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically block.getBlock().onPlace(block, world, newblockposition, oldBlock, true, context); // Paper - pass context } diff --git a/patches/server/0212-Extended-OfflinePlayer-API.patch b/patches/server/0212-Extended-OfflinePlayer-API.patch index 1007172dd..4b46a5999 100644 --- a/patches/server/0212-Extended-OfflinePlayer-API.patch +++ b/patches/server/0212-Extended-OfflinePlayer-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Extended OfflinePlayer API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -index 2856b861a1207ef94ae5671c5898f08fedd14475..ce5d0f6b08f6c6f7272f53a939fa9c741637a628 100644 +index c6129dc565b8f874b73e2fefcabd4be1c221fd73..07050f97621c0cb68b48bf39fb9c90673f7caf64 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -@@ -548,4 +548,213 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa +@@ -560,4 +560,213 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa manager.save(); } } @@ -223,10 +223,10 @@ index 2856b861a1207ef94ae5671c5898f08fedd14475..ce5d0f6b08f6c6f7272f53a939fa9c74 + // Purpur end - OfflinePlayer API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 70144e8fb966f0c1d7aa4737d5af553c1a53340b..a4fd43722384b9b6dff269ff70ea545715a85ec2 100644 +index 674d836966f0657120d65aa4fae09f202f13dd09..eee650dc8ea13657d6be2530d8f637522a2e1303 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2418,6 +2418,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2450,6 +2450,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } diff --git a/patches/server/0213-Added-the-ability-to-add-combustible-items.patch b/patches/server/0213-Added-the-ability-to-add-combustible-items.patch index fdaed1f5b..5262b9592 100644 --- a/patches/server/0213-Added-the-ability-to-add-combustible-items.patch +++ b/patches/server/0213-Added-the-ability-to-add-combustible-items.patch @@ -51,10 +51,10 @@ index ca2052804ad829a1528a9c5a0a792275beead113..997d0fab71eacc6466ffe3bc8f6349e5 private int maxStack = MAX_STACK; public List transaction = new java.util.ArrayList(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 6ed43bd792f932a0a976f9402e70ddb1f2862b5d..2138d98b83bfee76d0c67272b8e10d14f2da7a3f 100644 +index 569040a852d0985d0af0c29643dae7eecf5fe9a3..d84e3e0f24c553acdbc71d096e1f000c669313cc 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1530,6 +1530,19 @@ public final class CraftServer implements Server { +@@ -1555,6 +1555,19 @@ public final class CraftServer implements Server { return true; } diff --git a/patches/server/0216-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0216-Shift-right-click-to-use-exp-for-mending.patch index b26c1a01a..93599dff5 100644 --- a/patches/server/0216-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0216-Shift-right-click-to-use-exp-for-mending.patch @@ -36,10 +36,10 @@ index 027bac5687a60ab43ef527a125c5fa27798a4943..e1ffd2ca9045f9f5c4fb64704a132dc1 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8fa4c33d71a2a7f5d844378659d7098b9fe52380..3e6b483c0f19aa948a243bb0dcede8f94f38eed4 100644 +index 51139bfff093dd0ad9c39a076d734575474f6c82..90a14a65a5f3dd1e5d6ea0545719d4361955f1ab 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2089,6 +2089,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2091,6 +2091,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic boolean cancelled; if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) { diff --git a/patches/server/0253-Add-toggle-for-enchant-level-clamping.patch b/patches/server/0253-Add-toggle-for-enchant-level-clamping.patch index a4edc00b0..2bd2ab7ec 100644 --- a/patches/server/0253-Add-toggle-for-enchant-level-clamping.patch +++ b/patches/server/0253-Add-toggle-for-enchant-level-clamping.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for enchant level clamping diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index d846d5bdc92138b6b6c44a2e47578199bb68f858..500d5bfb80d39d5030c17bd419ea07dabcf9ff67 100644 +index 8c8f605c4d17e2dd5dec450bd4f9853421b0f44a..f76f912501fc647f759dbd54b2b220f5b95c1407 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -1197,7 +1197,7 @@ public final class ItemStack { +@@ -1201,7 +1201,7 @@ public final class ItemStack { ListTag nbttaglist = this.tag.getList("Enchantments", 10); diff --git a/patches/server/0262-Option-to-disable-kick-for-out-of-order-chat.patch b/patches/server/0262-Option-to-disable-kick-for-out-of-order-chat.patch index 47469bf8c..023f6c49e 100644 --- a/patches/server/0262-Option-to-disable-kick-for-out-of-order-chat.patch +++ b/patches/server/0262-Option-to-disable-kick-for-out-of-order-chat.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Option to disable kick for out of order chat diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3e6b483c0f19aa948a243bb0dcede8f94f38eed4..c1a1ac5c6f368a828e148c79ae52ac3a1ecb3aae 100644 +index 90a14a65a5f3dd1e5d6ea0545719d4361955f1ab..967840be9985f19c76ff79da8faca618f592f78d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2455,7 +2455,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2457,7 +2457,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic do { instant1 = (Instant) this.lastChatTimeStamp.get(); if (timestamp.isBefore(instant1)) { diff --git a/patches/server/0270-Remove-Timings.patch b/patches/server/0270-Remove-Timings.patch index 15362d111..719d88b98 100644 --- a/patches/server/0270-Remove-Timings.patch +++ b/patches/server/0270-Remove-Timings.patch @@ -643,10 +643,10 @@ index 122defeec159165c5fef295ec1dd2da4a6ada622..5b7507db055d7be59b369f66e659e128 } else if (close) { chunkproviderserver.close(false); } // Paper - rewrite chunk system diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c1a1ac5c6f368a828e148c79ae52ac3a1ecb3aae..c43bfea788d1d019655631af8dc6c31effcbd23d 100644 +index 967840be9985f19c76ff79da8faca618f592f78d..f4cf73b3a12ecf2230d1e265e6be2d261e70a659 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2592,7 +2592,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2588,7 +2588,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } // Paper End @@ -655,7 +655,7 @@ index c1a1ac5c6f368a828e148c79ae52ac3a1ecb3aae..c43bfea788d1d019655631af8dc6c31e if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s); -@@ -2602,7 +2602,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2598,7 +2598,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.cserver.getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -664,7 +664,7 @@ index c1a1ac5c6f368a828e148c79ae52ac3a1ecb3aae..c43bfea788d1d019655631af8dc6c31e return; } -@@ -2615,7 +2615,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2611,7 +2611,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); return; } finally { @@ -674,7 +674,7 @@ index c1a1ac5c6f368a828e148c79ae52ac3a1ecb3aae..c43bfea788d1d019655631af8dc6c31e } // 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 89e773a73a0010fe376d0c7a68335eb72e6fa355..ebcdf6aee72b817b9bbba8f8d580eae1876fc6e5 100644 +index 1168e6daa5131af577e4b51008696af8cf24caca..19b14045b07d0f374129059fc572b7f345973c5d 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1249,7 +1249,7 @@ public abstract class PlayerList { @@ -894,7 +894,7 @@ index 3f45bab0e9f7b3697e6d9d1092a1e6e579f7066f..4f1cf281c4bf68c37982d390da8779de long getCreatedAt() { diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java -index 7674939964894a56ce495e47d400cbf12cd0475b..0ae73cd79548dfd887edcd1de030579d6fa1555a 100644 +index 500f2eb0df5a07637cd278c263e95592b0037eb6..895431584c476067790f1f131699d49eac3f4b8f 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java @@ -115,7 +115,7 @@ public final class CraftScoreboardManager implements ScoreboardManager { diff --git a/patches/server/0271-Remove-Mojang-Profiler.patch b/patches/server/0271-Remove-Mojang-Profiler.patch index 038861a28..b47e81776 100644 --- a/patches/server/0271-Remove-Mojang-Profiler.patch +++ b/patches/server/0271-Remove-Mojang-Profiler.patch @@ -786,7 +786,7 @@ index 5b7507db055d7be59b369f66e659e128c9c7e00b..221d1d0e1b4b46de6ebca5faac09bbda while (iterator.hasNext()) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index c8c43454a936dd04d71fd82c955191f709a6c010..3ab54ab8d0a5ccf1abaa53cf3ce5b25febcd184d 100644 +index 7b962da50664abedc676e931a422e6789b0e4dbf..20200dfe5b6af64083562dc748bfaf43c3b8cca5 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1240,7 +1240,7 @@ public class ServerPlayer extends Player { @@ -819,10 +819,10 @@ index c8c43454a936dd04d71fd82c955191f709a6c010..3ab54ab8d0a5ccf1abaa53cf3ce5b25f this.connection.send(new ClientboundPlayerAbilitiesPacket(this.getAbilities())); playerlist.sendLevelInfo(this, worldserver); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 47728d0b6903a7f5a78f43da28fbd55c3f515ceb..07fc2b5f8ecc3c72d13eff5d9aef08df39ecd251 100644 +index f4cf73b3a12ecf2230d1e265e6be2d261e70a659..ea017dd7db03c25db92c57e802a598670a6824e6 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -410,7 +410,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -412,7 +412,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.aboveGroundVehicleTickCount = 0; } @@ -831,7 +831,7 @@ index 47728d0b6903a7f5a78f43da28fbd55c3f515ceb..07fc2b5f8ecc3c72d13eff5d9aef08df // Paper Start - give clients a longer time to respond to pings as per pre 1.12.2 timings // This should effectively place the keepalive handling back to "as it was" before 1.12.2 long currentTime = Util.getMillis(); -@@ -446,7 +446,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -448,7 +448,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // Paper end @@ -1045,7 +1045,7 @@ index 2e6e8eac987c4ef6b2dcd3de592d8a51d2b29792..863343a87fe34d72f04af89d75268b47 }; } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index da29c1f7727c0098a79603785ca648296f0fb963..2680aeabddc2dabc2c92e187149a567a842cada1 100644 +index bb33d6509aad8bd7005966f090d4376e5a7ff6ac..f6efe46f7afa5a187233bf16859537e37e91edb5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -438,7 +438,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0272-Add-more-logger-output-for-invalid-movement-kicks.patch b/patches/server/0272-Add-more-logger-output-for-invalid-movement-kicks.patch index 10a0d8c86..805c9f444 100644 --- a/patches/server/0272-Add-more-logger-output-for-invalid-movement-kicks.patch +++ b/patches/server/0272-Add-more-logger-output-for-invalid-movement-kicks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add more logger output for invalid movement kicks diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6d9205e34d237811788d487469e5e60bf977a3e0..c5322ebd837c498056978840274e6a153cf3f56e 100644 +index ea017dd7db03c25db92c57e802a598670a6824e6..baa8e8b74a3d802c9f32378f15e038f32e90a11d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -865,6 +865,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -867,6 +867,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (packet.getId() == this.awaitingTeleport) { if (this.awaitingPositionFromClient == null) { this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause @@ -16,7 +16,7 @@ index 6d9205e34d237811788d487469e5e60bf977a3e0..c5322ebd837c498056978840274e6a15 return; } -@@ -1441,8 +1442,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1443,8 +1444,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleMovePlayer(ServerboundMovePlayerPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); diff --git a/patches/server/0274-Debug-Marker-API.patch b/patches/server/0274-Debug-Marker-API.patch index 4508aec2a..7e3d431c6 100644 --- a/patches/server/0274-Debug-Marker-API.patch +++ b/patches/server/0274-Debug-Marker-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2138d98b83bfee76d0c67272b8e10d14f2da7a3f..9ff6d2ae803e4ebab0d76c8eb20b6524b7d77786 100644 +index d84e3e0f24c553acdbc71d096e1f000c669313cc..1f70b0e41915516a4826ad3ffb05876325ad941a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1541,6 +1541,42 @@ public final class CraftServer implements Server { +@@ -1566,6 +1566,42 @@ public final class CraftServer implements Server { public void removeFuel(org.bukkit.Material material) { net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity.removeFuel(net.minecraft.world.item.ItemStack.fromBukkitCopy(new ItemStack(material))); } @@ -99,10 +99,10 @@ index 4720939d138300ed410871e40d3d2800224a7987..f30c6e09adb3a6aa485357f859fc2a22 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 71f86d2461f9f7f49435615c7fdb1724505e52a5..34adc4a82e44c8ecec7a2f21d1df920c80d6f074 100644 +index eee650dc8ea13657d6be2530d8f637522a2e1303..7c2848019f4829754156d2a163d7974d9390d75f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3247,5 +3247,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3279,5 +3279,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) { getHandle().spawnInvulnerableTime = spawnInvulnerableTime; } diff --git a/patches/server/0278-Add-death-screen-API.patch b/patches/server/0278-Add-death-screen-API.patch index 814810f7e..698558ecb 100644 --- a/patches/server/0278-Add-death-screen-API.patch +++ b/patches/server/0278-Add-death-screen-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 34adc4a82e44c8ecec7a2f21d1df920c80d6f074..95bc2947ac44fa46f11c528da7f241ba410b7eb6 100644 +index 7c2848019f4829754156d2a163d7974d9390d75f..cdbbdb3f5a8b43811c564d1444a2b102add3ba72 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3290,5 +3290,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3322,5 +3322,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (this.getHandle().connection == null) return; this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundCustomPayloadPacket(ClientboundCustomPayloadPacket.DEBUG_GAME_TEST_CLEAR, new FriendlyByteBuf(io.netty.buffer.Unpooled.buffer()))); } diff --git a/patches/server/0281-Add-item-packet-serialize-event.patch b/patches/server/0281-Add-item-packet-serialize-event.patch index 32b03e802..e00b81bcc 100644 --- a/patches/server/0281-Add-item-packet-serialize-event.patch +++ b/patches/server/0281-Add-item-packet-serialize-event.patch @@ -48,10 +48,10 @@ index 5e4486c4b273b26afb82a97f914358b6a6c18229..6afdf37406d7dae04a7fec94e0c39d51 while (iterator.hasNext()) { ServerLevel worldserver = (ServerLevel) iterator.next(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 480536a4ad3049d530feb023788104209d64e202..87ba51562d9c513dbe6e662020fcbc80e24055ba 100644 +index baa8e8b74a3d802c9f32378f15e038f32e90a11d..c984c65685d86cca51e6ea9e79878ed2c6fdd071 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3465,6 +3465,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3491,6 +3491,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } } diff --git a/patches/server/0282-Add-an-option-to-fix-MC-3304-projectile-looting.patch b/patches/server/0282-Add-an-option-to-fix-MC-3304-projectile-looting.patch index d0e18d8f3..0eb3619e9 100644 --- a/patches/server/0282-Add-an-option-to-fix-MC-3304-projectile-looting.patch +++ b/patches/server/0282-Add-an-option-to-fix-MC-3304-projectile-looting.patch @@ -48,10 +48,10 @@ index 220513d3fd5645322886522ea4f6b8c55d043b3c..d45a2f49c82d00801578c34e5f5277fc org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(entityhuman, stack, itemstack1, entityarrow, entityhuman.getUsedItemHand(), f, !flag1); if (event.isCancelled()) { diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java -index 561e9acb90639031f19b5ff8685852599672f468..73275b38c08a5ab85538625510fd8aac59f9a092 100644 +index 0a0f19f73a6a4e5aece7c17089dc4d31ed2a5299..2c51a73ebfd05af21b0f5d731fc9f1df77fed1a1 100644 --- a/src/main/java/net/minecraft/world/item/CrossbowItem.java +++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java -@@ -295,6 +295,14 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { +@@ -291,6 +291,14 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { entityarrow.setPierceLevel((byte) i); } diff --git a/patches/server/0285-Language-API.patch b/patches/server/0285-Language-API.patch index 729227d0b..144afdc84 100644 --- a/patches/server/0285-Language-API.patch +++ b/patches/server/0285-Language-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Language API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9ff6d2ae803e4ebab0d76c8eb20b6524b7d77786..81aee45085a29ceb8e36d7948432e2ca688978c0 100644 +index 1f70b0e41915516a4826ad3ffb05876325ad941a..60fbac7b09ba7de1127d53ba296ea7b843105b2a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -396,6 +396,20 @@ public final class CraftServer implements Server { +@@ -397,6 +397,20 @@ public final class CraftServer implements Server { this.dataPackManager = new CraftDataPackManager(this.getServer().getPackRepository()); Bukkit.setServer(this);