From dad62237f8f020d6e48b4c639492f4918f905220 Mon Sep 17 00:00:00 2001 From: Martijn Muijsers Date: Thu, 8 Jun 2023 23:16:40 +0200 Subject: [PATCH] Updated Upstream (Paper) --- build.gradle.kts | 8 +-- gradle.properties | 2 +- patches/api/0002-Gale-configuration.patch | 4 +- .../0007-Player-canSee-by-entity-UUID.patch | 4 +- .../api/0008-Specific-interval-TPS-API.patch | 8 +-- patches/api/0009-5-second-TPS-average.patch | 8 +-- patches/api/0010-Last-tick-time-API.patch | 4 +- .../server/0006-Gale-branding-changes.patch | 10 ++-- patches/server/0008-Gale-configuration.patch | 8 +-- .../0011-Include-time-in-startup-logs.patch | 4 +- .../server/0017-Remove-vanilla-profiler.patch | 48 ++++++++--------- ...e-for-plugins-not-shutting-down-task.patch | 4 +- ...-streams-from-getting-nearby-players.patch | 6 +-- .../0042-Reduce-entity-allocations.patch | 4 +- ...ce-entity-fluid-lookups-if-no-fluids.patch | 12 ++--- .../0046-Make-book-writing-configurable.patch | 4 +- .../0047-Optimize-entity-coordinate-key.patch | 4 +- ...chat-order-verification-configurable.patch | 4 +- ...hat-commands-before-player-has-joine.patch | 12 ++--- ...57-Do-not-log-empty-message-warnings.patch | 4 +- ...ot-log-out-of-order-message-warnings.patch | 4 +- .../0064-Do-not-log-Not-Secure-marker.patch | 4 +- ...logging-login-locations-configurable.patch | 4 +- .../0082-Reduce-array-allocations.patch | 32 +++++------ .../server/0083-Optimize-sun-burn-tick.patch | 6 +-- ...Skip-entity-move-if-movement-is-zero.patch | 8 +-- ...mes-on-entities-with-fire-resistance.patch | 4 +- ...4-Spread-out-sending-all-player-info.patch | 14 ++--- ...-player-list-for-sending-player-info.patch | 4 +- ...117-Send-multiple-keep-alive-packets.patch | 10 ++-- ...ax-interaction-distance-configurable.patch | 10 ++-- ...ination-chunk-before-entity-teleport.patch | 4 +- ...chunks-to-activate-climbing-entities.patch | 4 +- ...nimations-as-the-entity-being-critte.patch | 4 +- ...yer-in-world-if-kicked-before-being-.patch | 4 +- .../0129-CraftBukkit-UUID-to-world-map.patch | 12 ++--- .../0131-Specific-interval-TPS-API.patch | 4 +- .../server/0132-5-second-TPS-average.patch | 4 +- patches/server/0134-Last-tick-time-API.patch | 4 +- ...heck-has-physics-before-same-vehicle.patch | 4 +- ...gible-planar-movement-multiplication.patch | 4 +- .../0140-Reduce-RandomSource-instances.patch | 14 ++--- .../server/0144-CPU-cores-estimation.patch | 4 +- patches/server/0151-Base-thread-pool.patch | 54 +++++++++---------- ...completion-tasks-on-base-thread-pool.patch | 4 +- ...hunk-cache-tasks-on-base-thread-pool.patch | 8 +-- 46 files changed, 193 insertions(+), 201 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index fc10ded..1a62f03 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,8 +1,8 @@ plugins { java `maven-publish` - id("com.github.johnrengelman.shadow") version "8.1.0" apply false - id("io.papermc.paperweight.patcher") version "1.5.2" + id("com.github.johnrengelman.shadow") version "8.1.1" apply false + id("io.papermc.paperweight.patcher") version "1.5.5" id("com.github.ManifestClasspath") version "0.1.0-RELEASE" } @@ -17,8 +17,8 @@ repositories { dependencies { remapper("net.fabricmc:tiny-remapper:0.8.6:fat") - decompiler("net.minecraftforge:forgeflower:2.0.605.1") - paperclip("io.papermc:paperclip:3.0.2") + decompiler("net.minecraftforge:forgeflower:2.0.627.2") + paperclip("io.papermc:paperclip:3.0.3") } allprojects { diff --git a/gradle.properties b/gradle.properties index 74a8633..aefb638 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group=org.galemc.gale version=1.19.4-R0.1-SNAPSHOT mcVersion=1.19.4 -paperRef=688409279f45ec4e88b7c1f91dc62ce377a71caf +paperRef=bc4a6647c99ae98c52c1c81597834be8fec6aa0d org.gradle.caching=true org.gradle.parallel=true diff --git a/patches/api/0002-Gale-configuration.patch b/patches/api/0002-Gale-configuration.patch index 32008a7..e105604 100644 --- a/patches/api/0002-Gale-configuration.patch +++ b/patches/api/0002-Gale-configuration.patch @@ -13,10 +13,10 @@ As part of: Paper (https://github.com/PaperMC/Paper) Licensed under: MIT (https://opensource.org/licenses/MIT) diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 8621dba7f10ab822b5b99ce0d05da58823605cb6..aa4e8a9664cea33677b8be67260d4ecc056da575 100644 +index 1d1a1d087dabc9794e0062a064da2cced4062309..973e752f61727eb22d086cb1593ea2ed7ac9ba5b 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1966,6 +1966,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1992,6 +1992,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi { throw new UnsupportedOperationException("Not supported yet."); } diff --git a/patches/api/0007-Player-canSee-by-entity-UUID.patch b/patches/api/0007-Player-canSee-by-entity-UUID.patch index e4faddf..97b0cde 100644 --- a/patches/api/0007-Player-canSee-by-entity-UUID.patch +++ b/patches/api/0007-Player-canSee-by-entity-UUID.patch @@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index ee446bfb3e6c4b1d4428c00d6406bf9455c68ad5..2258276b31dda927003367a92e31f05f2c362b1e 100644 +index 88c4885569d2b8b22fce55601d50608ac8e9388c..930086e164c1c8cef8ff27009736e6962357bc2b 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -3,6 +3,8 @@ package org.bukkit.entity; @@ -49,7 +49,7 @@ index ee446bfb3e6c4b1d4428c00d6406bf9455c68ad5..2258276b31dda927003367a92e31f05f import org.bukkit.DyeColor; import org.bukkit.Effect; import org.bukkit.GameMode; -@@ -1622,6 +1624,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1645,6 +1647,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @ApiStatus.Experimental public boolean canSee(@NotNull Entity entity); diff --git a/patches/api/0008-Specific-interval-TPS-API.patch b/patches/api/0008-Specific-interval-TPS-API.patch index 5a71c17..4be53b9 100644 --- a/patches/api/0008-Specific-interval-TPS-API.patch +++ b/patches/api/0008-Specific-interval-TPS-API.patch @@ -7,10 +7,10 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index f1af93319d6b29d7bc709e7e273e8abe26c7b4af..87891ac18a1e4ba8ca8af955f7cb39686150a2d5 100644 +index b0bc2df41506770e2854a287813f1c53f003eda1..b214bf1bfc2caba7167dc9ae67ea10793c69be29 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2069,6 +2069,37 @@ public final class Bukkit { +@@ -2091,6 +2091,37 @@ public final class Bukkit { return server.getTPS(); } @@ -49,10 +49,10 @@ index f1af93319d6b29d7bc709e7e273e8abe26c7b4af..87891ac18a1e4ba8ca8af955f7cb3968 * Get a sample of the servers last tick times (in nanos) * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index aa4e8a9664cea33677b8be67260d4ecc056da575..17fe974e08c63e529f11d2d00366b55683467d5d 100644 +index 973e752f61727eb22d086cb1593ea2ed7ac9ba5b..eaadeb929a1c4227b22e0cb2934d01b0e3669436 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1748,6 +1748,31 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1774,6 +1774,31 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull public double[] getTPS(); diff --git a/patches/api/0009-5-second-TPS-average.patch b/patches/api/0009-5-second-TPS-average.patch index 026563f..071f2d1 100644 --- a/patches/api/0009-5-second-TPS-average.patch +++ b/patches/api/0009-5-second-TPS-average.patch @@ -37,10 +37,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 87891ac18a1e4ba8ca8af955f7cb39686150a2d5..bf33dfa921e0099490e5485ac85a0c84645929e7 100644 +index b214bf1bfc2caba7167dc9ae67ea10793c69be29..b5042ccfad1f99cce88b3a8878da15909333c3a0 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2069,8 +2069,30 @@ public final class Bukkit { +@@ -2091,8 +2091,30 @@ public final class Bukkit { return server.getTPS(); } @@ -72,10 +72,10 @@ index 87891ac18a1e4ba8ca8af955f7cb39686150a2d5..bf33dfa921e0099490e5485ac85a0c84 * Gets the average server TPS over the last 1 minute * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 17fe974e08c63e529f11d2d00366b55683467d5d..b191c731c2d7e316481043ee5f12f934848af76e 100644 +index eaadeb929a1c4227b22e0cb2934d01b0e3669436..237b837a790bb3a3e33ae5731f550b1e8b55437b 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1748,8 +1748,27 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1774,8 +1774,27 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull public double[] getTPS(); diff --git a/patches/api/0010-Last-tick-time-API.patch b/patches/api/0010-Last-tick-time-API.patch index 92a83bf..7f8d9fe 100644 --- a/patches/api/0010-Last-tick-time-API.patch +++ b/patches/api/0010-Last-tick-time-API.patch @@ -23,10 +23,10 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index b191c731c2d7e316481043ee5f12f934848af76e..6253e761c595c8b89d08f9d42fe3e19cadbf4918 100644 +index 237b837a790bb3a3e33ae5731f550b1e8b55437b..007e23a9383ab8eda12c6dffb385256215356040 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2189,4 +2189,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2215,4 +2215,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull org.bukkit.potion.PotionBrewer getPotionBrewer(); // Paper end diff --git a/patches/server/0006-Gale-branding-changes.patch b/patches/server/0006-Gale-branding-changes.patch index 0b98075..10c206e 100644 --- a/patches/server/0006-Gale-branding-changes.patch +++ b/patches/server/0006-Gale-branding-changes.patch @@ -11,7 +11,7 @@ License for non-image files: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org diff --git a/build.gradle.kts b/build.gradle.kts -index 6394d18f32d190e4eee34c40c1aa9ffe65662e6b..7d3b8f3c7616b5db72a6fccb51e5543a0e096125 100644 +index 4793c65a161e951ab9329479fdf86abdb6e641f1..1f35bf1c87cd503a3b164b4824c78d4d9ef393a9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -78,7 +78,7 @@ tasks.jar { @@ -222,10 +222,10 @@ index 9f15d9dbdfa74a0640b1a2b4ff695609d4758a4c..ec7bf5c30a19215af6fe19b16de24e52 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 e90e7f32c81ac2ffdb7594fa3e4623061304409e..492265a4bf28a8797cabbcc966c0ea6e76a7dc5f 100644 +index 9f2536d9a73bdb15b5b3004d4da79ca32cee205b..ac72aa6f4bb39aaace7c2abd7ec7ced4b955991d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -256,7 +256,7 @@ import javax.annotation.Nullable; // Paper +@@ -262,7 +262,7 @@ import javax.annotation.Nullable; // Paper import javax.annotation.Nonnull; // Paper public final class CraftServer implements Server { @@ -248,10 +248,10 @@ index cdefb2025eedea7e204d70d568adaf1c1ec4c03c..3997a7fec43e05b455644b4d58c68995 // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 64c50c52c11214740de7903e5592b8b6b2c170b3..963f81196ef0af7cf51496d92e5d1c4363398589 100644 +index 1179e9fbff93ec8ff82aa3aae477f6bf4ce9b885..9a6ac55178ab36a52e2a13a581e5760331f9bf2f 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -464,7 +464,7 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -472,7 +472,7 @@ public final class CraftMagicNumbers implements UnsafeValues { @Override public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { diff --git a/patches/server/0008-Gale-configuration.patch b/patches/server/0008-Gale-configuration.patch index 632b3b4..54f1292 100644 --- a/patches/server/0008-Gale-configuration.patch +++ b/patches/server/0008-Gale-configuration.patch @@ -360,7 +360,7 @@ index a7e133f3495e9132a5fdae2c24f225e7b026295a..b98fb8afdadbda47db5924299d90082e if (this.convertOldUsers()) { this.getProfileCache().save(false); // Paper diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 3bb63a652aca3c23f5f1bbf9cb70fce6540f2e33..c33d227c88a5c49ea59ca3e51ae788859d4d12d4 100644 +index 45804711255f04110e9509df8d60900314aa10b7..ffbc971acd9a01e693d9fc2c9ab8fab859e1df10 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -130,12 +130,10 @@ import net.minecraft.world.level.chunk.storage.EntityStorage; @@ -462,10 +462,10 @@ index 973ecd50f9cb6b86c353586e84d15dcb118ccb60..63122fb74a51547e23232a5409295369 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 492265a4bf28a8797cabbcc966c0ea6e76a7dc5f..891320a9237ca30826329660339b82612a50a45e 100644 +index ac72aa6f4bb39aaace7c2abd7ec7ced4b955991d..1cd4198fa1cbb4e27f016463c489dbddce9c659e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -956,6 +956,7 @@ public final class CraftServer implements Server { +@@ -979,6 +979,7 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot this.console.paperConfigurations.reloadConfigs(this.console); @@ -473,7 +473,7 @@ index 492265a4bf28a8797cabbcc966c0ea6e76a7dc5f..891320a9237ca30826329660339b8261 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)) -@@ -2740,6 +2741,14 @@ public final class CraftServer implements Server { +@@ -2763,6 +2764,14 @@ public final class CraftServer implements Server { return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console); } diff --git a/patches/server/0011-Include-time-in-startup-logs.patch b/patches/server/0011-Include-time-in-startup-logs.patch index 4fe63a8..cb007a3 100644 --- a/patches/server/0011-Include-time-in-startup-logs.patch +++ b/patches/server/0011-Include-time-in-startup-logs.patch @@ -7,7 +7,7 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index d51650d3e37eb76a0cf991e95d28a552aa567af9..7c38d14671b8a9a671deece654d2f89426b26081 100644 +index bfa091f72d6f477bcaf63d364639a1b4df9b1987..a075eaa65541ffcf4affa07e60c163fe7a0b9b4b 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -2,6 +2,7 @@ package org.bukkit.craftbukkit; @@ -45,7 +45,7 @@ index d51650d3e37eb76a0cf991e95d28a552aa567af9..7c38d14671b8a9a671deece654d2f894 public static void main(String[] args) { // Paper start final String warnWhenLegacyFormattingDetected = String.join(".", "net", "kyori", "adventure", "text", "warnWhenLegacyFormattingDetected"); -@@ -299,13 +320,13 @@ public class Main { +@@ -306,13 +327,13 @@ public class Main { String javaInfo = "Java " + runtimeMX.getSpecVersion() + " (" + runtimeMX.getVmName() + " " + runtimeMX.getVmVersion() + ")"; String osInfo = "Host: " + osMX.getName() + " " + osMX.getVersion() + " (" + osMX.getArch() + ")"; diff --git a/patches/server/0017-Remove-vanilla-profiler.patch b/patches/server/0017-Remove-vanilla-profiler.patch index f5e31d9..e41794d 100644 --- a/patches/server/0017-Remove-vanilla-profiler.patch +++ b/patches/server/0017-Remove-vanilla-profiler.patch @@ -628,7 +628,7 @@ index ca84eddbdb1e198b899750e5f6b3eafd25ce970f..d95c3b14c06421c03c99f84efb3a5319 } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index c33d227c88a5c49ea59ca3e51ae788859d4d12d4..1e7acf162650c5697c4447746510a7bd1ad8b1ce 100644 +index ffbc971acd9a01e693d9fc2c9ab8fab859e1df10..965ef505f6dc90f3e947e3561f79fe980af6c516 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -76,7 +76,6 @@ import net.minecraft.util.CsvOutput; @@ -828,10 +828,10 @@ index c33d227c88a5c49ea59ca3e51ae788859d4d12d4..1e7acf162650c5697c4447746510a7bd 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 a0053455eaeca04855b689f3b00b78dac39d08e3..fe7d1850b4b26b9a739d6805bfe85c0961f0cd0b 100644 +index 98df2463bf41fc736aa6a2b6ddf89e5abde6eb39..ab208c49a5ed5db359ab8a4a12ddf91ecec2ce5d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1162,7 +1162,6 @@ public class ServerPlayer extends Player { +@@ -1164,7 +1164,6 @@ public class ServerPlayer extends Player { PortalInfo shapedetectorshape = this.findDimensionEntryPoint(worldserver); if (shapedetectorshape != null) { @@ -839,7 +839,7 @@ index a0053455eaeca04855b689f3b00b78dac39d08e3..fe7d1850b4b26b9a739d6805bfe85c09 worldserver = shapedetectorshape.world; // CraftBukkit if (worldserver == null) { } else // CraftBukkit - empty to fall through to null to event if (resourcekey == LevelStem.OVERWORLD && worldserver.getTypeKey() == LevelStem.NETHER) { // CraftBukkit -@@ -1185,8 +1184,6 @@ public class ServerPlayer extends Player { +@@ -1187,8 +1186,6 @@ public class ServerPlayer extends Player { worldserver = ((CraftWorld) exit.getWorld()).getHandle(); // CraftBukkit end @@ -848,7 +848,7 @@ index a0053455eaeca04855b689f3b00b78dac39d08e3..fe7d1850b4b26b9a739d6805bfe85c09 if (true) { // CraftBukkit this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds -@@ -1204,7 +1201,6 @@ public class ServerPlayer extends Player { +@@ -1206,7 +1203,6 @@ public class ServerPlayer extends Player { this.connection.teleport(exit); // CraftBukkit - use internal teleport without event this.connection.resetPosition(); worldserver.addDuringPortalTeleport(this); @@ -857,10 +857,10 @@ index a0053455eaeca04855b689f3b00b78dac39d08e3..fe7d1850b4b26b9a739d6805bfe85c09 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 9c5754ac3b00d3f0cb80ec83a2beefadee6d0a14..7e5ab66f82a4013b36e3880897efddba0af307a9 100644 +index aa287d7f37f38d938d195114408cb6dbda59063d..4b74da1c0138ed5946c7f446be79c647c172faa5 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -394,7 +394,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -395,7 +395,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.aboveGroundVehicleTickCount = 0; } @@ -868,7 +868,7 @@ index 9c5754ac3b00d3f0cb80ec83a2beefadee6d0a14..7e5ab66f82a4013b36e3880897efddba // 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(); -@@ -415,7 +414,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -416,7 +415,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // Paper end @@ -953,10 +953,10 @@ index 7ab57748b2f2aea1003d9b7e70e76c372aa1e432..47e75ec4a01f8a456ec6ebc13031c1f0 } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4705d7066207250c03a5f98eef61554c901f2e35..7b865a1cddb0097e4f890ecf8dc8ad784f484ca9 100644 +index 280ee1838106201f5e3ba7753caced6d030f7e55..158fecd37dedec27a930e427550a92c4db01fc8c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -789,7 +789,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -791,7 +791,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end public void baseTick() { @@ -964,7 +964,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..7b865a1cddb0097e4f890ecf8dc8ad78 if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking this.feetBlockState = null; if (this.isPassenger() && this.getVehicle().isRemoved()) { -@@ -850,7 +849,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -852,7 +851,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.firstTick = false; @@ -972,7 +972,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..7b865a1cddb0097e4f890ecf8dc8ad78 } public void setSharedFlagOnFire(boolean onFire) { -@@ -1024,7 +1022,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1026,7 +1024,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } } @@ -980,7 +980,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..7b865a1cddb0097e4f890ecf8dc8ad78 if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) { movement = movement.multiply(this.stuckSpeedMultiplier); this.stuckSpeedMultiplier = Vec3.ZERO; -@@ -1033,7 +1030,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1035,7 +1032,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // Paper start - ignore movement changes while inactive. if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) { setDeltaMovement(Vec3.ZERO); @@ -988,7 +988,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..7b865a1cddb0097e4f890ecf8dc8ad78 return; } // Paper end -@@ -1054,8 +1050,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1056,8 +1052,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z); } @@ -997,7 +997,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..7b865a1cddb0097e4f890ecf8dc8ad78 boolean flag = !Mth.equal(movement.x, vec3d1.x); boolean flag1 = !Mth.equal(movement.z, vec3d1.z); -@@ -1073,9 +1067,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1075,9 +1069,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { BlockState iblockdata = this.level.getBlockState(blockposition); this.checkFallDamage(vec3d1.y, this.onGround, iblockdata, blockposition); @@ -1008,7 +1008,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..7b865a1cddb0097e4f890ecf8dc8ad78 if (this.horizontalCollision) { Vec3 vec3d2 = this.getDeltaMovement(); -@@ -1214,8 +1206,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1216,8 +1208,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { if (this.isOnFire() && (this.isInPowderSnow || this.isInWaterRainOrBubble())) { this.setRemainingFireTicks(-this.getFireImmuneTicks()); } @@ -1017,7 +1017,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..7b865a1cddb0097e4f890ecf8dc8ad78 } } // Paper start - detailed watchdog information -@@ -2911,7 +2901,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2913,7 +2903,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey); if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit @@ -1025,7 +1025,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..7b865a1cddb0097e4f890ecf8dc8ad78 this.portalTime = i; // Paper start io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER); -@@ -2929,7 +2918,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2931,7 +2920,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } } // Paper // CraftBukkit end @@ -1033,7 +1033,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..7b865a1cddb0097e4f890ecf8dc8ad78 } this.isInsidePortal = false; -@@ -3396,14 +3384,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3398,14 +3386,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } // Paper end if (this.level instanceof ServerLevel && !this.isRemoved()) { @@ -1048,7 +1048,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..7b865a1cddb0097e4f890ecf8dc8ad78 PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit if (shapedetectorshape == null) { -@@ -3437,7 +3423,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3439,7 +3425,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.unRide(); // CraftBukkit end @@ -1056,7 +1056,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..7b865a1cddb0097e4f890ecf8dc8ad78 // Paper start - Change lead drop timing to prevent dupe if (this instanceof Mob) { ((Mob) this).dropLeash(true, true); // Paper drop lead -@@ -3460,10 +3445,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3462,10 +3447,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.removeAfterChangingDimensions(); @@ -1559,10 +1559,10 @@ index 6023b9eb3001e1a98ab8b970d853c4e7c7603f4d..cf865df0763ebbe9ebbe74f32b0863e2 this.assignProfessionWhenSpawned = false; } diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index 59837144c2c0460aca6e8c349eb3d6528111d1dc..aa6ea4ebaa6777815f3a2245f260c5e58a7a3b21 100644 +index 185f7b1d4df59f5db7b85b529a2de6402630bf35..298689244d9d66d197b2b7728475084546219255 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java -@@ -372,7 +372,6 @@ public class Explosion { +@@ -382,7 +382,6 @@ public class Explosion { if (!iblockdata.isAir() && iblockdata.isDestroyable()) { // Paper BlockPos blockposition1 = blockposition.immutable(); @@ -1570,7 +1570,7 @@ index 59837144c2c0460aca6e8c349eb3d6528111d1dc..aa6ea4ebaa6777815f3a2245f260c5e5 if (block.dropFromExplosion(this)) { Level world = this.level; -@@ -394,7 +393,6 @@ public class Explosion { +@@ -404,7 +403,6 @@ public class Explosion { this.level.setBlock(blockposition, Blocks.AIR.defaultBlockState(), 3); block.wasExploded(this.level, blockposition, this); diff --git a/patches/server/0028-Print-stack-trace-for-plugins-not-shutting-down-task.patch b/patches/server/0028-Print-stack-trace-for-plugins-not-shutting-down-task.patch index 1d56725..87065c8 100644 --- a/patches/server/0028-Print-stack-trace-for-plugins-not-shutting-down-task.patch +++ b/patches/server/0028-Print-stack-trace-for-plugins-not-shutting-down-task.patch @@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 891320a9237ca30826329660339b82612a50a45e..349b73d0e50499557237650a3c766bffa4943713 100644 +index 1cd4198fa1cbb4e27f016463c489dbddce9c659e..23438408f99d11522d4559900dc67566bc662587 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1040,6 +1040,13 @@ public final class CraftServer implements Server { +@@ -1063,6 +1063,13 @@ 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/0039-Remove-streams-from-getting-nearby-players.patch b/patches/server/0039-Remove-streams-from-getting-nearby-players.patch index dc087a5..ef8f2b9 100644 --- a/patches/server/0039-Remove-streams-from-getting-nearby-players.patch +++ b/patches/server/0039-Remove-streams-from-getting-nearby-players.patch @@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 7b865a1cddb0097e4f890ecf8dc8ad784f484ca9..0a1122c8fca322c3fdb62deb5adff6833f7ab968 100644 +index 158fecd37dedec27a930e427550a92c4db01fc8c..cd6396ccbfab14a456952462af580c75c4b73744 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -489,17 +489,37 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -491,17 +491,37 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.isLegacyTrackingEntity = isLegacyTrackingEntity; } @@ -73,7 +73,7 @@ index 7b865a1cddb0097e4f890ecf8dc8ad784f484ca9..0a1122c8fca322c3fdb62deb5adff683 for (Entity passenger : passengers) { org.spigotmc.TrackingRange.TrackingRangeType passengerType = passenger.trackingRangeType; int passengerRange = chunkMap.getEntityTrackerRange(passengerType.ordinal()); -@@ -508,6 +528,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -510,6 +530,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { range = passengerRange; } } diff --git a/patches/server/0042-Reduce-entity-allocations.patch b/patches/server/0042-Reduce-entity-allocations.patch index 20096df..a35e1a8 100644 --- a/patches/server/0042-Reduce-entity-allocations.patch +++ b/patches/server/0042-Reduce-entity-allocations.patch @@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 0a1122c8fca322c3fdb62deb5adff6833f7ab968..00445f768e978c393cba8cdde46c0cdd4cee5d9a 100644 +index cd6396ccbfab14a456952462af580c75c4b73744..f27df41a95926da2c38d2a5224d7597d17b620b0 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -415,6 +415,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -417,6 +417,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return this.originWorld; } // Paper end diff --git a/patches/server/0044-Reduce-entity-fluid-lookups-if-no-fluids.patch b/patches/server/0044-Reduce-entity-fluid-lookups-if-no-fluids.patch index d388c44..746af3e 100644 --- a/patches/server/0044-Reduce-entity-fluid-lookups-if-no-fluids.patch +++ b/patches/server/0044-Reduce-entity-fluid-lookups-if-no-fluids.patch @@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 00445f768e978c393cba8cdde46c0cdd4cee5d9a..fb6ffe2cfcff94ca41df6de3314213704c025246 100644 +index f27df41a95926da2c38d2a5224d7597d17b620b0..a105db86db91d932d7d27fc6a96a5ef3c60671e5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4169,16 +4169,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4171,16 +4171,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean updateFluidHeightAndDoFluidPushing(TagKey tag, double speed) { @@ -60,7 +60,7 @@ index 00445f768e978c393cba8cdde46c0cdd4cee5d9a..fb6ffe2cfcff94ca41df6de331421370 double d1 = 0.0D; boolean flag = this.isPushedByFluid(); boolean flag1 = false; -@@ -4186,14 +4188,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4188,14 +4190,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { int k1 = 0; BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); @@ -128,7 +128,7 @@ index 00445f768e978c393cba8cdde46c0cdd4cee5d9a..fb6ffe2cfcff94ca41df6de331421370 if (d2 >= axisalignedbb.minY) { flag1 = true; -@@ -4215,9 +4264,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4217,9 +4266,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end } } @@ -142,7 +142,7 @@ index 00445f768e978c393cba8cdde46c0cdd4cee5d9a..fb6ffe2cfcff94ca41df6de331421370 if (vec3d.length() > 0.0D) { if (k1 > 0) { diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java -index 1b80a91fa36c59a31b57ef7ef4a68eacbb0f17f5..2b376a73a2f3c38fa1774f79f975fc580460194e 100644 +index 854865f28bcae0fb0c17717c914687f78e951e21..0b4afcbe5a8c25418c28ce95961dd9e337c6973a 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java @@ -27,6 +27,7 @@ public class LevelChunkSection { @@ -169,7 +169,7 @@ index 1b80a91fa36c59a31b57ef7ef4a68eacbb0f17f5..2b376a73a2f3c38fa1774f79f975fc58 } this.updateKnownBlockInfo(x | (z << 4) | (y << 8), iblockdata1, state); // Paper -@@ -260,6 +263,7 @@ public class LevelChunkSection { +@@ -261,6 +264,7 @@ public class LevelChunkSection { if (fluid.isRandomlyTicking()) { this.tickingFluidCount = (short) (this.tickingFluidCount + 1); } diff --git a/patches/server/0046-Make-book-writing-configurable.patch b/patches/server/0046-Make-book-writing-configurable.patch index f0ebc0f..d93f640 100644 --- a/patches/server/0046-Make-book-writing-configurable.patch +++ b/patches/server/0046-Make-book-writing-configurable.patch @@ -22,7 +22,7 @@ you to easily disable books, should you want to preemptively remove this functionality before additional exploits are found. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 7e5ab66f82a4013b36e3880897efddba0af307a9..b24af137664c30ab2443d334b2863f8ccc4684bb 100644 +index 4b74da1c0138ed5946c7f446be79c647c172faa5..10bdc027ad7070e2ee0e5b1b24783c3e880996dd 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -184,6 +184,8 @@ import net.minecraft.world.phys.Vec3; @@ -34,7 +34,7 @@ index 7e5ab66f82a4013b36e3880897efddba0af307a9..b24af137664c30ab2443d334b2863f8c import org.slf4j.Logger; // CraftBukkit start -@@ -1213,6 +1215,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1214,6 +1216,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleEditBook(ServerboundEditBookPacket packet) { diff --git a/patches/server/0047-Optimize-entity-coordinate-key.patch b/patches/server/0047-Optimize-entity-coordinate-key.patch index d1a96de..f2064e7 100644 --- a/patches/server/0047-Optimize-entity-coordinate-key.patch +++ b/patches/server/0047-Optimize-entity-coordinate-key.patch @@ -35,10 +35,10 @@ index 6efb8b10f17c70b05128039376d254e6beda3841..fe8d2fa5fdb116762b644b08020fee23 public static long getCoordinateKey(final ChunkPos pair) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index fb6ffe2cfcff94ca41df6de3314213704c025246..9d85885552b3d5735359ff1e48ce4d28a60ff623 100644 +index a105db86db91d932d7d27fc6a96a5ef3c60671e5..254feb89dc2bdb7c994fb65b1a345f879ec8ff72 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -291,7 +291,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -292,7 +292,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public double yo; public double zo; private Vec3 position; diff --git a/patches/server/0049-Make-chat-order-verification-configurable.patch b/patches/server/0049-Make-chat-order-verification-configurable.patch index 12a230f..d2fd2c7 100644 --- a/patches/server/0049-Make-chat-order-verification-configurable.patch +++ b/patches/server/0049-Make-chat-order-verification-configurable.patch @@ -13,10 +13,10 @@ As part of: Pufferfish (https://github.com/pufferfish-gg/Pufferfish) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ede3879b58e195ef84efc068fe322af99a552607..7fb3d6dc94da734e685e6fecb833433fddf2e200 100644 +index 10bdc027ad7070e2ee0e5b1b24783c3e880996dd..434a671878fedb3dea7423a929def187a9ef4f9c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2362,6 +2362,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2368,6 +2368,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } private boolean updateChatOrder(Instant timestamp) { diff --git a/patches/server/0055-Do-not-process-chat-commands-before-player-has-joine.patch b/patches/server/0055-Do-not-process-chat-commands-before-player-has-joine.patch index 4828a41..1b94cac 100644 --- a/patches/server/0055-Do-not-process-chat-commands-before-player-has-joine.patch +++ b/patches/server/0055-Do-not-process-chat-commands-before-player-has-joine.patch @@ -13,10 +13,10 @@ As part of: EmpireCraft (https://github.com/starlis/empirecraft) Licensed under: MIT (https://opensource.org/licenses/MIT) diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index fe7d1850b4b26b9a739d6805bfe85c0961f0cd0b..1f74a55093367ffb3ed8ed39d2e6d0a1275bf97a 100644 +index ab208c49a5ed5db359ab8a4a12ddf91ecec2ce5d..9de7eda75e41065ab509c05c3ed844d943ccfe00 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -268,6 +268,7 @@ public class ServerPlayer extends Player { +@@ -270,6 +270,7 @@ public class ServerPlayer extends Player { public boolean joining = true; public boolean sentListPacket = false; public boolean supressTrackerForLogin = false; // Paper @@ -25,10 +25,10 @@ index fe7d1850b4b26b9a739d6805bfe85c0961f0cd0b..1f74a55093367ffb3ed8ed39d2e6d0a1 // CraftBukkit end public boolean isRealPlayer; // Paper diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 7fb3d6dc94da734e685e6fecb833433fddf2e200..2eb627c4cdc393b15e6b85f617c8a29efbd24985 100644 +index 434a671878fedb3dea7423a929def187a9ef4f9c..6e1567de96b77a8eea9f2a3bcb1756e391949ca8 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2339,6 +2339,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2345,6 +2345,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales this.send(new ClientboundSystemChatPacket(PaperAdventure.asAdventure(Component.translatable("chat.disabled.options").withStyle(ChatFormatting.RED)), false)); // Paper - Adventure return Optional.empty(); @@ -40,10 +40,10 @@ index 7fb3d6dc94da734e685e6fecb833433fddf2e200..2eb627c4cdc393b15e6b85f617c8a29e this.player.resetLastActionTime(); return optional; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 4d837c1530a3031a4c2a5a39d87bd013d60e14a6..55a5fe227c1b14430486e2663a4f63bba357b63a 100644 +index 92e758a286a5db079c32d53cc52c8a422457daef..c86c06adc424577de49339760473758ac12d2000 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -333,6 +333,8 @@ public abstract class PlayerList { +@@ -335,6 +335,8 @@ public abstract class PlayerList { return; } diff --git a/patches/server/0057-Do-not-log-empty-message-warnings.patch b/patches/server/0057-Do-not-log-empty-message-warnings.patch index 27caffd..79225e1 100644 --- a/patches/server/0057-Do-not-log-empty-message-warnings.patch +++ b/patches/server/0057-Do-not-log-empty-message-warnings.patch @@ -7,7 +7,7 @@ License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 2eb627c4cdc393b15e6b85f617c8a29efbd24985..b255f13f3e8242b3fcfa606bb4e716602a4f2454 100644 +index 6e1567de96b77a8eea9f2a3bcb1756e391949ca8..415162e8cee85ec04b8306f1e78caf463813b6fc 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -185,6 +185,7 @@ import net.minecraft.world.phys.shapes.BooleanOp; @@ -18,7 +18,7 @@ index 2eb627c4cdc393b15e6b85f617c8a29efbd24985..b255f13f3e8242b3fcfa606bb4e71660 import org.galemc.gale.configuration.GaleGlobalConfiguration; import org.slf4j.Logger; -@@ -2551,7 +2552,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2557,7 +2558,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // CraftBukkit start String s = message.signedContent(); if (s.isEmpty()) { diff --git a/patches/server/0063-Do-not-log-out-of-order-message-warnings.patch b/patches/server/0063-Do-not-log-out-of-order-message-warnings.patch index 6173758..1134468 100644 --- a/patches/server/0063-Do-not-log-out-of-order-message-warnings.patch +++ b/patches/server/0063-Do-not-log-out-of-order-message-warnings.patch @@ -7,10 +7,10 @@ License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b255f13f3e8242b3fcfa606bb4e716602a4f2454..98661516868c93c19866a14aeacde57793c4ea4e 100644 +index 415162e8cee85ec04b8306f1e78caf463813b6fc..a63236fb2995e8eea9185a19417dd6464bb832a0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2329,7 +2329,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2335,7 +2335,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private Optional tryHandleChat(String message, Instant timestamp, LastSeenMessages.Update acknowledgment) { if (!this.updateChatOrder(timestamp)) { diff --git a/patches/server/0064-Do-not-log-Not-Secure-marker.patch b/patches/server/0064-Do-not-log-Not-Secure-marker.patch index bee48fe..b7e6d67 100644 --- a/patches/server/0064-Do-not-log-Not-Secure-marker.patch +++ b/patches/server/0064-Do-not-log-Not-Secure-marker.patch @@ -28,7 +28,7 @@ index 951a7df30bd70bb3051c04f592529d560be6948e..42ac52d595308e36a4c7e98c03794080 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 55a5fe227c1b14430486e2663a4f63bba357b63a..530e049a10cccd13bcfccc652db1610113433242 100644 +index c86c06adc424577de49339760473758ac12d2000..31554b46b0e6c84d8b480b10e1c46649d2518488 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -101,6 +101,7 @@ import net.minecraft.world.scores.Objective; @@ -39,7 +39,7 @@ index 55a5fe227c1b14430486e2663a4f63bba357b63a..530e049a10cccd13bcfccc652db16101 import org.slf4j.Logger; // CraftBukkit start -@@ -1394,7 +1395,7 @@ public abstract class PlayerList { +@@ -1396,7 +1397,7 @@ public abstract class PlayerList { // Paper end boolean flag = this.verifyChatTrusted(message); diff --git a/patches/server/0081-Make-logging-login-locations-configurable.patch b/patches/server/0081-Make-logging-login-locations-configurable.patch index 3a014f2..b00b713 100644 --- a/patches/server/0081-Make-logging-login-locations-configurable.patch +++ b/patches/server/0081-Make-logging-login-locations-configurable.patch @@ -13,10 +13,10 @@ As part of: JettPack (https://gitlab.com/Titaniumtown/JettPack) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 530e049a10cccd13bcfccc652db1610113433242..cb345dc563d30edc23b380b8c330e24bfe3fa2a2 100644 +index 31554b46b0e6c84d8b480b10e1c46649d2518488..69d22ca2f2a2b4d85d72eeef36a3843a11ee4c91 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -471,7 +471,13 @@ public abstract class PlayerList { +@@ -473,7 +473,13 @@ public abstract class PlayerList { } // Paper end // CraftBukkit - Moved from above, added world diff --git a/patches/server/0082-Reduce-array-allocations.patch b/patches/server/0082-Reduce-array-allocations.patch index 1fc16b2..b5e5b0c 100644 --- a/patches/server/0082-Reduce-array-allocations.patch +++ b/patches/server/0082-Reduce-array-allocations.patch @@ -469,7 +469,7 @@ index 9676d4523c14559cd13e6c53d220bf7472558d8a..288372fbf6c1e669ee16381be57120e5 return ret; } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 98661516868c93c19866a14aeacde57793c4ea4e..4be1658c5bb8251cd6be19583139460cc1bce95c 100644 +index a63236fb2995e8eea9185a19417dd6464bb832a0..9f2f019ad39b0aa16ebe0eabd79fc5beba897959 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -29,6 +29,8 @@ import java.util.function.UnaryOperator; @@ -497,7 +497,7 @@ index 98661516868c93c19866a14aeacde57793c4ea4e..4be1658c5bb8251cd6be19583139460c import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.BlockHitResult; -@@ -227,8 +227,6 @@ import org.bukkit.event.inventory.InventoryCreativeEvent; +@@ -228,8 +228,6 @@ import org.bukkit.event.inventory.InventoryCreativeEvent; import org.bukkit.event.inventory.InventoryType.SlotType; import org.bukkit.event.inventory.SmithItemEvent; import org.bukkit.event.player.AsyncPlayerChatEvent; @@ -506,7 +506,7 @@ index 98661516868c93c19866a14aeacde57793c4ea4e..4be1658c5bb8251cd6be19583139460c import org.bukkit.event.player.PlayerChatEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.event.player.PlayerInteractAtEntityEvent; -@@ -405,7 +403,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -406,7 +404,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic 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 @@ -515,7 +515,7 @@ index 98661516868c93c19866a14aeacde57793c4ea4e..4be1658c5bb8251cd6be19583139460c } } else { if (elapsedTime >= 15000L) { // 15 seconds -@@ -876,13 +874,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -877,13 +875,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); // Paper - run this async // CraftBukkit start if (this.chatSpamTickCount.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamLimit && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // Paper start - split and make configurable @@ -531,7 +531,7 @@ index 98661516868c93c19866a14aeacde57793c4ea4e..4be1658c5bb8251cd6be19583139460c return; } // Paper end -@@ -3295,7 +3293,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3301,7 +3299,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Paper start if (!org.bukkit.Bukkit.isPrimaryThread()) { if (recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) { @@ -578,7 +578,7 @@ index 2ff578e4a953ffcf5176815ba8e3f06f73499989..a436ef49325c9cae1008d5763373cce8 final String s; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index cb345dc563d30edc23b380b8c330e24bfe3fa2a2..e8d89c582ecd6517eb41da28b1249072ab099b32 100644 +index 69d22ca2f2a2b4d85d72eeef36a3843a11ee4c91..b03789c629c87d524e24a6e3bb893ae2bac1d5c1 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -27,6 +27,8 @@ import java.util.UUID; @@ -590,15 +590,7 @@ index cb345dc563d30edc23b380b8c330e24bfe3fa2a2..e8d89c582ecd6517eb41da28b1249072 import net.minecraft.ChatFormatting; import net.minecraft.FileUtil; import net.minecraft.commands.CommandSourceStack; -@@ -119,7 +121,6 @@ import org.bukkit.Location; - import org.bukkit.craftbukkit.CraftServer; - import org.bukkit.craftbukkit.CraftWorld; - import org.bukkit.craftbukkit.entity.CraftPlayer; --import org.bukkit.craftbukkit.util.CraftChatMessage; - import org.bukkit.entity.Player; - import org.bukkit.event.player.PlayerChangedWorldEvent; - import org.bukkit.event.player.PlayerJoinEvent; -@@ -699,7 +700,7 @@ public abstract class PlayerList { +@@ -701,7 +703,7 @@ public abstract class PlayerList { while (iterator.hasNext()) { entityplayer = (ServerPlayer) iterator.next(); this.save(entityplayer); // CraftBukkit - Force the player's inventory to be saved @@ -753,7 +745,7 @@ index 71a36cf9b976443cca9ab63cd0eb23253f638562..201b0e1b25d0773bbcf9c1ed69fd888a for (int j = 0; j < i; ++j) { diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index a7533d18fe6148d7bfd3106b9cdcb6fa3347cf7c..29a11bbcab84e66cb8adf9df2ea9feef4da601e8 100644 +index d81fcbadc5c0b3d4b54dde5d47a0f847d8ec6918..84067c11ee5dd18195afa21dec9d80adb9815866 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -1008,7 +1008,7 @@ public final class ItemStack { @@ -827,7 +819,7 @@ index d4527b0f11893925c93b1846305fb3b17ba8e89a..b19e842be160748a6969e498952eb02f return slices.getChunkEntities(); } diff --git a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java -index fb4382337fe83f7d00c2212a7a71e0ba5bdd51cc..1694b48cd979778027811e7be3c940dc473611b0 100644 +index 6fab2b69a0af298bd00b309efcd6aa8399e23d1f..29aa7303ce5854a7f2b5ed5f9ff02ca7e00bf6c0 100644 --- a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java +++ b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java @@ -3,6 +3,8 @@ package net.minecraft.world.level.block; @@ -839,7 +831,7 @@ index fb4382337fe83f7d00c2212a7a71e0ba5bdd51cc..1694b48cd979778027811e7be3c940dc import net.minecraft.Util; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -@@ -413,7 +415,7 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -414,7 +416,7 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { @Override public int[] getSlotsForFace(Direction side) { @@ -848,7 +840,7 @@ index fb4382337fe83f7d00c2212a7a71e0ba5bdd51cc..1694b48cd979778027811e7be3c940dc } @Override -@@ -462,7 +464,7 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -463,7 +465,7 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { @Override public int[] getSlotsForFace(Direction side) { @@ -857,7 +849,7 @@ index fb4382337fe83f7d00c2212a7a71e0ba5bdd51cc..1694b48cd979778027811e7be3c940dc } @Override -@@ -504,7 +506,7 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -505,7 +507,7 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { @Override public int[] getSlotsForFace(Direction side) { diff --git a/patches/server/0083-Optimize-sun-burn-tick.patch b/patches/server/0083-Optimize-sun-burn-tick.patch index 6b5f339..041c706 100644 --- a/patches/server/0083-Optimize-sun-burn-tick.patch +++ b/patches/server/0083-Optimize-sun-burn-tick.patch @@ -13,10 +13,10 @@ As part of: JettPack (https://gitlab.com/Titaniumtown/JettPack) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9d85885552b3d5735359ff1e48ce4d28a60ff623..9777479e2154146f40bd4b2c1eae3698444b6368 100644 +index 254feb89dc2bdb7c994fb65b1a345f879ec8ff72..6990b9cf582f32a9ec259f5641eb1d58ffff2a9d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -290,7 +290,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -291,7 +291,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public double xo; public double yo; public double zo; @@ -25,7 +25,7 @@ index 9d85885552b3d5735359ff1e48ce4d28a60ff623..9777479e2154146f40bd4b2c1eae3698 public BlockPos blockPosition; // Gale - Pufferfish - optimize entity coordinate key - private -> public private ChunkPos chunkPosition; private Vec3 deltaMovement; -@@ -1872,9 +1872,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1874,9 +1874,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { /** @deprecated */ @Deprecated public float getLightLevelDependentMagicValue() { diff --git a/patches/server/0104-Skip-entity-move-if-movement-is-zero.patch b/patches/server/0104-Skip-entity-move-if-movement-is-zero.patch index 8d5c4be..98c7698 100644 --- a/patches/server/0104-Skip-entity-move-if-movement-is-zero.patch +++ b/patches/server/0104-Skip-entity-move-if-movement-is-zero.patch @@ -13,10 +13,10 @@ As part of: VMP (https://github.com/RelativityMC/VMP-fabric) Licensed under: MIT (https://opensource.org/licenses/MIT) diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9777479e2154146f40bd4b2c1eae3698444b6368..497ab6281fc55ff9ed358db60a2288c0021bbd59 100644 +index 6990b9cf582f32a9ec259f5641eb1d58ffff2a9d..a45081dc23e2602a1ee3fbc05dbae82085604449 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -299,6 +299,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -300,6 +300,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public float yRotO; public float xRotO; private AABB bb; @@ -24,7 +24,7 @@ index 9777479e2154146f40bd4b2c1eae3698444b6368..497ab6281fc55ff9ed358db60a2288c0 public boolean onGround; public boolean horizontalCollision; public boolean verticalCollision; -@@ -1023,6 +1024,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1025,6 +1026,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // Paper end - detailed watchdog information public void move(MoverType movementType, Vec3 movement) { @@ -36,7 +36,7 @@ index 9777479e2154146f40bd4b2c1eae3698444b6368..497ab6281fc55ff9ed358db60a2288c0 // Paper start - detailed watchdog information io.papermc.paper.util.TickThread.ensureTickThread("Cannot move an entity off-main"); synchronized (this.posLock) { -@@ -3849,6 +3855,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3851,6 +3857,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public final void setBoundingBox(AABB boundingBox) { diff --git a/patches/server/0110-Hide-flames-on-entities-with-fire-resistance.patch b/patches/server/0110-Hide-flames-on-entities-with-fire-resistance.patch index d536042..e3dc83b 100644 --- a/patches/server/0110-Hide-flames-on-entities-with-fire-resistance.patch +++ b/patches/server/0110-Hide-flames-on-entities-with-fire-resistance.patch @@ -13,10 +13,10 @@ As part of: Slice (https://github.com/Cryptite/Slice) Licensed under: MIT (https://opensource.org/licenses/MIT) diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 497ab6281fc55ff9ed358db60a2288c0021bbd59..fcf9120663a19a31f6de9e791508dccc23d14893 100644 +index a45081dc23e2602a1ee3fbc05dbae82085604449..275184f437b7bdb6035fc468dc4396b915af1d50 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -870,7 +870,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -872,7 +872,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.checkOutOfWorld(); if (!this.level.isClientSide) { diff --git a/patches/server/0114-Spread-out-sending-all-player-info.patch b/patches/server/0114-Spread-out-sending-all-player-info.patch index 2900ae0..5ccbf87 100644 --- a/patches/server/0114-Spread-out-sending-all-player-info.patch +++ b/patches/server/0114-Spread-out-sending-all-player-info.patch @@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index e8d89c582ecd6517eb41da28b1249072ab099b32..94f0a36f669775f2a6a143cbb6010b524bf94fd1 100644 +index b03789c629c87d524e24a6e3bb893ae2bac1d5c1..b123164e6a838412feb3f011c3097932d607b064 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -15,6 +15,8 @@ import java.net.SocketAddress; @@ -49,7 +49,7 @@ index e8d89c582ecd6517eb41da28b1249072ab099b32..94f0a36f669775f2a6a143cbb6010b52 import java.util.Collection; import java.util.EnumSet; import java.util.Iterator; -@@ -138,10 +140,11 @@ public abstract class PlayerList { +@@ -141,10 +143,11 @@ public abstract class PlayerList { public static final File WHITELIST_FILE = new File("whitelist.json"); public static final Component CHAT_FILTERED_FULL = Component.translatable("chat.filtered_full"); private static final Logger LOGGER = LogUtils.getLogger(); @@ -62,7 +62,7 @@ index e8d89c582ecd6517eb41da28b1249072ab099b32..94f0a36f669775f2a6a143cbb6010b52 private final Map playersByUUID = Maps.newHashMap(); private final UserBanList bans; private final IpBanList ipBans; -@@ -312,6 +315,7 @@ public abstract class PlayerList { +@@ -315,6 +318,7 @@ public abstract class PlayerList { // player.connection.send(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(this.players)); // Paper this.players.add(player); @@ -70,7 +70,7 @@ index e8d89c582ecd6517eb41da28b1249072ab099b32..94f0a36f669775f2a6a143cbb6010b52 this.playersByName.put(player.getScoreboardName().toLowerCase(java.util.Locale.ROOT), player); // Spigot this.playersByUUID.put(player.getUUID(), player); // this.broadcastAll(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(List.of(entityplayer))); // CraftBukkit - replaced with loop below -@@ -646,6 +650,7 @@ public abstract class PlayerList { +@@ -649,6 +653,7 @@ public abstract class PlayerList { worldserver.removePlayerImmediately(entityplayer, Entity.RemovalReason.UNLOADED_WITH_PLAYER); entityplayer.getAdvancements().stopListening(); this.players.remove(entityplayer); @@ -78,7 +78,7 @@ index e8d89c582ecd6517eb41da28b1249072ab099b32..94f0a36f669775f2a6a143cbb6010b52 this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot this.server.getCustomBossEvents().onPlayerDisconnect(entityplayer); UUID uuid = entityplayer.getUUID(); -@@ -799,6 +804,7 @@ public abstract class PlayerList { +@@ -802,6 +807,7 @@ public abstract class PlayerList { // Paper end entityplayer.stopRiding(); // CraftBukkit this.players.remove(entityplayer); @@ -86,7 +86,7 @@ index e8d89c582ecd6517eb41da28b1249072ab099b32..94f0a36f669775f2a6a143cbb6010b52 this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot entityplayer.getLevel().removePlayerImmediately(entityplayer, Entity.RemovalReason.DISCARDED); BlockPos blockposition = entityplayer.getRespawnPosition(); -@@ -936,6 +942,7 @@ public abstract class PlayerList { +@@ -939,6 +945,7 @@ public abstract class PlayerList { if (!entityplayer.connection.isDisconnected()) { worldserver1.addRespawnedPlayer(entityplayer1); this.players.add(entityplayer1); @@ -94,7 +94,7 @@ index e8d89c582ecd6517eb41da28b1249072ab099b32..94f0a36f669775f2a6a143cbb6010b52 this.playersByName.put(entityplayer1.getScoreboardName().toLowerCase(java.util.Locale.ROOT), entityplayer1); // Spigot this.playersByUUID.put(entityplayer1.getUUID(), entityplayer1); } -@@ -988,20 +995,55 @@ public abstract class PlayerList { +@@ -991,20 +998,55 @@ public abstract class PlayerList { this.sendPlayerPermissionLevel(player, i); } diff --git a/patches/server/0115-Optimize-player-list-for-sending-player-info.patch b/patches/server/0115-Optimize-player-list-for-sending-player-info.patch index eaa3c79..127bdf5 100644 --- a/patches/server/0115-Optimize-player-list-for-sending-player-info.patch +++ b/patches/server/0115-Optimize-player-list-for-sending-player-info.patch @@ -37,10 +37,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 94f0a36f669775f2a6a143cbb6010b524bf94fd1..8863ac03186251b9bc234401493a18f1d4a98d3b 100644 +index b123164e6a838412feb3f011c3097932d607b064..f87d10098ea3e3c35e574dc388da6eba4bc6422c 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1031,14 +1031,18 @@ public abstract class PlayerList { +@@ -1034,14 +1034,18 @@ public abstract class PlayerList { // Gale start - Purpur - spread out sending all player info ServerPlayer[] sendAllPlayerInfoBucket = this.sendAllPlayerInfoBuckets[this.sendAllPlayerInfoIn]; if (sendAllPlayerInfoBucket != null) { diff --git a/patches/server/0117-Send-multiple-keep-alive-packets.patch b/patches/server/0117-Send-multiple-keep-alive-packets.patch index d278ca9..2dc7e0e 100644 --- a/patches/server/0117-Send-multiple-keep-alive-packets.patch +++ b/patches/server/0117-Send-multiple-keep-alive-packets.patch @@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4be1658c5bb8251cd6be19583139460cc1bce95c..a8f01686eb164158e5ddff079036486347d4b021 100644 +index 9f2f019ad39b0aa16ebe0eabd79fc5beba897959..851c97fc36e31926a2f241759e12daeee09f45c9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -7,6 +7,8 @@ import com.mojang.brigadier.StringReader; @@ -49,7 +49,7 @@ index 4be1658c5bb8251cd6be19583139460cc1bce95c..a8f01686eb164158e5ddff0790364863 import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; import it.unimi.dsi.fastutil.objects.ObjectIterator; import java.net.SocketAddress; -@@ -263,6 +265,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -264,6 +266,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private long keepAliveTime = Util.getMillis(); private boolean keepAlivePending; private long keepAliveChallenge; @@ -57,7 +57,7 @@ index 4be1658c5bb8251cd6be19583139460cc1bce95c..a8f01686eb164158e5ddff0790364863 // 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 -@@ -301,7 +304,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -302,7 +305,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private final LastSeenMessagesValidator lastSeenMessages; private final MessageSignatureCache messageSignatureCache; private final FutureChain chatMessageChain; @@ -69,7 +69,7 @@ index 4be1658c5bb8251cd6be19583139460cc1bce95c..a8f01686eb164158e5ddff0790364863 private static final int MAX_SIGN_LINE_LENGTH = Integer.getInteger("Paper.maxSignLength", 80); // Paper private String clientBrandName = null; // Paper - Brand name -@@ -400,6 +406,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -401,6 +407,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic long currentTime = Util.getMillis(); long elapsedTime = currentTime - this.keepAliveTime; @@ -91,7 +91,7 @@ index 4be1658c5bb8251cd6be19583139460cc1bce95c..a8f01686eb164158e5ddff0790364863 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 -@@ -3497,6 +3518,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3503,6 +3524,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0119-Make-max-interaction-distance-configurable.patch b/patches/server/0119-Make-max-interaction-distance-configurable.patch index 17ba7bc..175d51a 100644 --- a/patches/server/0119-Make-max-interaction-distance-configurable.patch +++ b/patches/server/0119-Make-max-interaction-distance-configurable.patch @@ -20,10 +20,10 @@ index 1d33c02088c150189d7f4b0aa27f6a1de96b11cf..4c8275728175ebc1fdc8d0e8d0ba8398 this.debugLogging(pos, false, sequence, "too far"); } else if (pos.getY() >= worldHeight) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index a8f01686eb164158e5ddff079036486347d4b021..dbca3976f19401f67f999195ef9dad94169b4660 100644 +index 851c97fc36e31926a2f241759e12daeee09f45c9..5d61d3ead44175654f39760f9a7fdd4914b002b3 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -253,7 +253,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -254,7 +254,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic static final Logger LOGGER = LogUtils.getLogger(); private static final int LATENCY_CHECK_INTERVAL = 15000; @@ -32,7 +32,7 @@ index a8f01686eb164158e5ddff079036486347d4b021..dbca3976f19401f67f999195ef9dad94 private static final int NO_BLOCK_UPDATES_TO_ACK = -1; private static final int TRACKED_MESSAGE_DISCONNECT_THRESHOLD = 4096; private static final Component CHAT_VALIDATION_FAILED = Component.translatable("multiplayer.disconnect.chat_validation_failed"); -@@ -351,6 +351,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -352,6 +352,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // CraftBukkit end @@ -46,7 +46,7 @@ index a8f01686eb164158e5ddff079036486347d4b021..dbca3976f19401f67f999195ef9dad94 @Override public void tick() { if (this.ackBlockChangesUpTo > -1) { -@@ -1967,7 +1974,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1968,7 +1975,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic BlockPos blockposition = movingobjectpositionblock.getBlockPos(); Vec3 vec3d1 = Vec3.atCenterOf(blockposition); @@ -55,7 +55,7 @@ index a8f01686eb164158e5ddff079036486347d4b021..dbca3976f19401f67f999195ef9dad94 Vec3 vec3d2 = vec3d.subtract(vec3d1); double d0 = 1.0000001D; -@@ -2821,7 +2828,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2827,7 +2834,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic AABB axisalignedbb = entity.getBoundingBox(); diff --git a/patches/server/0120-Load-portal-destination-chunk-before-entity-teleport.patch b/patches/server/0120-Load-portal-destination-chunk-before-entity-teleport.patch index 081d602..a3e8916 100644 --- a/patches/server/0120-Load-portal-destination-chunk-before-entity-teleport.patch +++ b/patches/server/0120-Load-portal-destination-chunk-before-entity-teleport.patch @@ -13,10 +13,10 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index fcf9120663a19a31f6de9e791508dccc23d14893..bb552160cb9e1aebdac9e4a7756dcb5caa2d7a38 100644 +index 275184f437b7bdb6035fc468dc4396b915af1d50..593d5bed11d393f2094936d52d81b3e87a35fcf0 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3475,6 +3475,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3477,6 +3477,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { Entity entity = this.getType().create(worldserver); if (entity != null) { diff --git a/patches/server/0122-Don-t-load-chunks-to-activate-climbing-entities.patch b/patches/server/0122-Don-t-load-chunks-to-activate-climbing-entities.patch index 2f157f7..523e93c 100644 --- a/patches/server/0122-Don-t-load-chunks-to-activate-climbing-entities.patch +++ b/patches/server/0122-Don-t-load-chunks-to-activate-climbing-entities.patch @@ -7,10 +7,10 @@ License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index bb552160cb9e1aebdac9e4a7756dcb5caa2d7a38..a22af530f632be0168026a5cbfc75162e23bc22e 100644 +index 593d5bed11d393f2094936d52d81b3e87a35fcf0..9e5f597c846cb033272f23ce1530002a2b41fb96 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4384,6 +4384,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4386,6 +4386,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return this.feetBlockState; } diff --git a/patches/server/0123-Broadcast-crit-animations-as-the-entity-being-critte.patch b/patches/server/0123-Broadcast-crit-animations-as-the-entity-being-critte.patch index c47b51b..435626f 100644 --- a/patches/server/0123-Broadcast-crit-animations-as-the-entity-being-critte.patch +++ b/patches/server/0123-Broadcast-crit-animations-as-the-entity-being-critte.patch @@ -13,10 +13,10 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 1f74a55093367ffb3ed8ed39d2e6d0a1275bf97a..e61155ad48b9055a5744b7d1724f6e9dc901440d 100644 +index 9de7eda75e41065ab509c05c3ed844d943ccfe00..2cfa9b6568ab15dcde884b7d1b5d738c7ceb8210 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1861,12 +1861,18 @@ public class ServerPlayer extends Player { +@@ -1863,12 +1863,18 @@ public class ServerPlayer extends Player { @Override public void crit(Entity target) { diff --git a/patches/server/0128-Do-not-place-player-in-world-if-kicked-before-being-.patch b/patches/server/0128-Do-not-place-player-in-world-if-kicked-before-being-.patch index 9f5dee7..2de9cc9 100644 --- a/patches/server/0128-Do-not-place-player-in-world-if-kicked-before-being-.patch +++ b/patches/server/0128-Do-not-place-player-in-world-if-kicked-before-being-.patch @@ -14,10 +14,10 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 8863ac03186251b9bc234401493a18f1d4a98d3b..add4649d2003f5ac38abeb372e4a6de9ee377489 100644 +index f87d10098ea3e3c35e574dc388da6eba4bc6422c..eb90b375c589076afc454bd80f013384df090b11 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -259,6 +259,13 @@ public abstract class PlayerList { +@@ -262,6 +262,13 @@ public abstract class PlayerList { org.spigotmc.event.player.PlayerSpawnLocationEvent ev = new com.destroystokyo.paper.event.player.PlayerInitialSpawnEvent(spawnPlayer, spawnPlayer.getLocation()); // Paper use our duplicate event this.cserver.getPluginManager().callEvent(ev); diff --git a/patches/server/0129-CraftBukkit-UUID-to-world-map.patch b/patches/server/0129-CraftBukkit-UUID-to-world-map.patch index 5bc273a..97f70df 100644 --- a/patches/server/0129-CraftBukkit-UUID-to-world-map.patch +++ b/patches/server/0129-CraftBukkit-UUID-to-world-map.patch @@ -13,10 +13,10 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 349b73d0e50499557237650a3c766bffa4943713..5f77acf3e0d68985bf2b27d13f0f51e6e3a6cf1c 100644 +index 23438408f99d11522d4559900dc67566bc662587..877b4a813c6d781635d8647dbb18f8445cd88a6e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -41,6 +41,9 @@ import java.util.logging.Level; +@@ -42,6 +42,9 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; import javax.imageio.ImageIO; @@ -26,7 +26,7 @@ index 349b73d0e50499557237650a3c766bffa4943713..5f77acf3e0d68985bf2b27d13f0f51e6 import net.minecraft.advancements.Advancement; import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.Commands; -@@ -271,6 +274,7 @@ public final class CraftServer implements Server { +@@ -277,6 +280,7 @@ public final class CraftServer implements Server { protected final DedicatedServer console; protected final DedicatedPlayerList playerList; private final Map worlds = new LinkedHashMap(); @@ -34,7 +34,7 @@ index 349b73d0e50499557237650a3c766bffa4943713..5f77acf3e0d68985bf2b27d13f0f51e6 private final Map, Registry> registries = new HashMap<>(); private YamlConfiguration configuration; private YamlConfiguration commandsConfiguration; -@@ -1316,6 +1320,7 @@ public final class CraftServer implements Server { +@@ -1339,6 +1343,7 @@ public final class CraftServer implements Server { this.getLogger().log(Level.SEVERE, null, ex); } @@ -42,7 +42,7 @@ index 349b73d0e50499557237650a3c766bffa4943713..5f77acf3e0d68985bf2b27d13f0f51e6 this.worlds.remove(world.getName().toLowerCase(java.util.Locale.ENGLISH)); this.console.removeLevel(handle); return true; -@@ -1334,12 +1339,7 @@ public final class CraftServer implements Server { +@@ -1357,12 +1362,7 @@ public final class CraftServer implements Server { @Override public World getWorld(UUID uid) { @@ -56,7 +56,7 @@ index 349b73d0e50499557237650a3c766bffa4943713..5f77acf3e0d68985bf2b27d13f0f51e6 } // Paper start -@@ -1357,6 +1357,7 @@ public final class CraftServer implements Server { +@@ -1380,6 +1380,7 @@ public final class CraftServer implements Server { System.out.println("World " + world.getName() + " is a duplicate of another world and has been prevented from loading. Please delete the uid.dat file from " + world.getName() + "'s world directory if you want to be able to load the duplicate world."); return; } diff --git a/patches/server/0131-Specific-interval-TPS-API.patch b/patches/server/0131-Specific-interval-TPS-API.patch index d3a83c7..8b0d5b3 100644 --- a/patches/server/0131-Specific-interval-TPS-API.patch +++ b/patches/server/0131-Specific-interval-TPS-API.patch @@ -7,10 +7,10 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 5f77acf3e0d68985bf2b27d13f0f51e6e3a6cf1c..7d6d49e8bb87b6bc54cfb51793fcb60d979b1e4f 100644 +index 877b4a813c6d781635d8647dbb18f8445cd88a6e..dde2bf7241be692054ab3f78e5f3d19cc2c55929 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2709,6 +2709,25 @@ public final class CraftServer implements Server { +@@ -2732,6 +2732,25 @@ public final class CraftServer implements Server { }; } diff --git a/patches/server/0132-5-second-TPS-average.patch b/patches/server/0132-5-second-TPS-average.patch index b748a84..43dced4 100644 --- a/patches/server/0132-5-second-TPS-average.patch +++ b/patches/server/0132-5-second-TPS-average.patch @@ -79,10 +79,10 @@ index 71b4de55621ef7bb2df4fbfc611ce32023cdd628..b298c9715fed604dab25e9d336806acf tps5.add(currentTps, diff); tps15.add(currentTps, diff); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7d6d49e8bb87b6bc54cfb51793fcb60d979b1e4f..e039419f57eb922ff917976769fc99e3b36e3f5d 100644 +index dde2bf7241be692054ab3f78e5f3d19cc2c55929..a939fda16b4476e96a79e23dd4da424c4cbc9231 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2709,8 +2709,27 @@ public final class CraftServer implements Server { +@@ -2732,8 +2732,27 @@ public final class CraftServer implements Server { }; } diff --git a/patches/server/0134-Last-tick-time-API.patch b/patches/server/0134-Last-tick-time-API.patch index b9a5106..7c4667e 100644 --- a/patches/server/0134-Last-tick-time-API.patch +++ b/patches/server/0134-Last-tick-time-API.patch @@ -23,10 +23,10 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e039419f57eb922ff917976769fc99e3b36e3f5d..b1432cdcd388129556eebb63fe3c4d4d08639bae 100644 +index a939fda16b4476e96a79e23dd4da424c4cbc9231..59c1496617572544afa241ea0963c1de021a256c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2970,4 +2970,22 @@ public final class CraftServer implements Server { +@@ -3031,4 +3031,22 @@ public final class CraftServer implements Server { } // Paper end diff --git a/patches/server/0137-For-collision-check-has-physics-before-same-vehicle.patch b/patches/server/0137-For-collision-check-has-physics-before-same-vehicle.patch index 0bc8e06..614f861 100644 --- a/patches/server/0137-For-collision-check-has-physics-before-same-vehicle.patch +++ b/patches/server/0137-For-collision-check-has-physics-before-same-vehicle.patch @@ -16,10 +16,10 @@ As part of: Akarin (https://github.com/Akarin-project/Akarin) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a22af530f632be0168026a5cbfc75162e23bc22e..738b906facc7dab90f31823b3dfd401f88e811d3 100644 +index 9e5f597c846cb033272f23ce1530002a2b41fb96..ea75ac554c5cd198c0e74a5d0a0269f560c55e99 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1989,8 +1989,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1991,8 +1991,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public void playerTouch(Player player) {} public void push(Entity entity) { diff --git a/patches/server/0138-Skip-negligible-planar-movement-multiplication.patch b/patches/server/0138-Skip-negligible-planar-movement-multiplication.patch index 243ba02..3de2f2d 100644 --- a/patches/server/0138-Skip-negligible-planar-movement-multiplication.patch +++ b/patches/server/0138-Skip-negligible-planar-movement-multiplication.patch @@ -7,10 +7,10 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 738b906facc7dab90f31823b3dfd401f88e811d3..5f5d5aad855c64719420b0c67f543a118ee761e4 100644 +index ea75ac554c5cd198c0e74a5d0a0269f560c55e99..804c1f0377b66a9fa0eebd9ab80945e4ff6929d2 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1189,9 +1189,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1191,9 +1191,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.tryCheckInsideBlocks(); diff --git a/patches/server/0140-Reduce-RandomSource-instances.patch b/patches/server/0140-Reduce-RandomSource-instances.patch index 0b5c110..da45bf4 100644 --- a/patches/server/0140-Reduce-RandomSource-instances.patch +++ b/patches/server/0140-Reduce-RandomSource-instances.patch @@ -26,10 +26,10 @@ index 591163d8f8300b084ac734800efee902c4def958..387c390966ddbc48aa7333f7199b7927 double d1 = (double) (center.y - maxRange); double d2 = (double) (center.x + maxRange); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index e61155ad48b9055a5744b7d1724f6e9dc901440d..3611844b0e925af88975d56ecf94b21b3bbbcb9f 100644 +index 2cfa9b6568ab15dcde884b7d1b5d738c7ceb8210..4ea43001ecbaa37b60b42b1a90b14f2ffac62f36 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -398,7 +398,7 @@ public class ServerPlayer extends Player { +@@ -400,7 +400,7 @@ public class ServerPlayer extends Player { long l = k * k; int i1 = l > 2147483647L ? Integer.MAX_VALUE : (int) l; int j1 = this.getCoprime(i1); @@ -38,7 +38,7 @@ index e61155ad48b9055a5744b7d1724f6e9dc901440d..3611844b0e925af88975d56ecf94b21b for (int l1 = 0; l1 < i1; ++l1) { int i2 = (k1 + j1 * l1) % i1; -@@ -435,7 +435,7 @@ public class ServerPlayer extends Player { +@@ -437,7 +437,7 @@ public class ServerPlayer extends Player { long l = k * k; int i1 = l > 2147483647L ? Integer.MAX_VALUE : (int) l; int j1 = this.getCoprime(i1); @@ -61,10 +61,10 @@ index 1ef089dbf83de35d875c00efdf468c397be56978..b9f5dc95f859acb8f8fd4739537485af } diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -index d77410588a1c10d8ac902f21a8bd7e35f74fecd2..c27fdfb845eca7ffea0f7b829ed5fbddfd37e1fc 100644 +index bcb0f3fd09ed064b64dc6495302b40828d906837..65262759862dde8e720c032530859b6db8786657 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java +++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -@@ -80,7 +80,7 @@ public class FishingHook extends Projectile { +@@ -86,7 +86,7 @@ public class FishingHook extends Projectile { private FishingHook(EntityType type, Level world, int luckOfTheSeaLevel, int lureLevel) { super(type, world); @@ -96,7 +96,7 @@ index 246584452eb01b168d2372e1ccc4b357b63891df..9d8ed30c7fac6e72d9678ca163189b93 this.level = world; this.id = nbt.getInt("Id"); diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index aa6ea4ebaa6777815f3a2245f260c5e58a7a3b21..52fb1e0f43caca93d77bf398eb759b36b84ebaec 100644 +index 298689244d9d66d197b2b7728475084546219255..c321215a39cf9f69e90c2c6e139963f60877286b 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java @@ -81,7 +81,7 @@ public class Explosion { @@ -109,7 +109,7 @@ index aa6ea4ebaa6777815f3a2245f260c5e58a7a3b21..52fb1e0f43caca93d77bf398eb759b36 this.hitPlayers = Maps.newHashMap(); this.level = world; diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java -index c86dea3e38d72929a4970334e3cc4e93e353c598..b618e615d9ccb9b2a29b4067d47dbbb66acf3cda 100644 +index ad566af22e58b4df9e6380b009eaced4a0efdc76..97a21c3614830618f320c50461a2a84d90a7f285 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java @@ -361,7 +361,7 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity { diff --git a/patches/server/0144-CPU-cores-estimation.patch b/patches/server/0144-CPU-cores-estimation.patch index c00a4ec..41849df 100644 --- a/patches/server/0144-CPU-cores-estimation.patch +++ b/patches/server/0144-CPU-cores-estimation.patch @@ -55,10 +55,10 @@ index 5a92a8f24d3a6957cc3f8404bf3458f4c4058fb4..666114daf9e9a3f9f9e0779a3a40dfac // Attempt to detect vectorization try { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index b1432cdcd388129556eebb63fe3c4d4d08639bae..25d6ca8370af3d314d799ed960276a7554c091ba 100644 +index 59c1496617572544afa241ea0963c1de021a256c..d175d019c865bf9ecc5641d39fb1a29aebde662c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -249,6 +249,8 @@ import org.bukkit.structure.StructureManager; +@@ -255,6 +255,8 @@ import org.bukkit.structure.StructureManager; import org.bukkit.util.StringUtil; import org.bukkit.util.permissions.DefaultPermissions; import org.yaml.snakeyaml.LoaderOptions; diff --git a/patches/server/0151-Base-thread-pool.patch b/patches/server/0151-Base-thread-pool.patch index f35626e..bef3253 100644 --- a/patches/server/0151-Base-thread-pool.patch +++ b/patches/server/0151-Base-thread-pool.patch @@ -1474,7 +1474,7 @@ index 0dfc703c3a1101da4b817227e2c41d467c37ae88..feeca393f960210a62740da053d21fec for (Object o : worldData.cache.values() ) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index dbca3976f19401f67f999195ef9dad94169b4660..ce378f07b848b10a9f6559243c7ad0de312d5cb7 100644 +index 5d61d3ead44175654f39760f9a7fdd4914b002b3..7c3cc5cdcf352f50eab0dda110399a60a758e269 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -187,8 +187,9 @@ import net.minecraft.world.phys.shapes.BooleanOp; @@ -1488,7 +1488,7 @@ index dbca3976f19401f67f999195ef9dad94169b4660..ce378f07b848b10a9f6559243c7ad0de import org.slf4j.Logger; // CraftBukkit start -@@ -563,7 +564,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -564,7 +565,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic Objects.requireNonNull(this.connection); // CraftBukkit - Don't wait @@ -1497,7 +1497,7 @@ index dbca3976f19401f67f999195ef9dad94169b4660..ce378f07b848b10a9f6559243c7ad0de } private CompletableFuture filterTextPacket(T text, BiFunction> filterer) { -@@ -902,13 +903,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -903,13 +904,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); // Paper - run this async // CraftBukkit start if (this.chatSpamTickCount.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamLimit && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // Paper start - split and make configurable @@ -1513,7 +1513,7 @@ index dbca3976f19401f67f999195ef9dad94169b4660..ce378f07b848b10a9f6559243c7ad0de return; } // Paper end -@@ -933,7 +934,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -934,7 +935,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (!event.isHandled()) { if (!event.isCancelled()) { @@ -1522,7 +1522,7 @@ index dbca3976f19401f67f999195ef9dad94169b4660..ce378f07b848b10a9f6559243c7ad0de ParseResults parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack()); this.server.getCommands().getDispatcher().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> { -@@ -944,7 +945,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -945,7 +946,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.connection.send(new ClientboundCommandSuggestionsPacket(packet.getId(), suggestEvent.getSuggestions())); // Paper end - Brigadier API }); @@ -1531,7 +1531,7 @@ index dbca3976f19401f67f999195ef9dad94169b4660..ce378f07b848b10a9f6559243c7ad0de } } else if (!completions.isEmpty()) { final com.mojang.brigadier.suggestion.SuggestionsBuilder builder0 = new com.mojang.brigadier.suggestion.SuggestionsBuilder(command, stringreader.getTotalLength()); -@@ -1258,7 +1259,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1259,7 +1260,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic int byteLength = testString.getBytes(java.nio.charset.StandardCharsets.UTF_8).length; if (byteLength > 256 * 4) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send a book with with a page too large!"); @@ -1540,7 +1540,7 @@ index dbca3976f19401f67f999195ef9dad94169b4660..ce378f07b848b10a9f6559243c7ad0de return; } byteTotal += byteLength; -@@ -1281,14 +1282,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1282,14 +1283,14 @@ 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()); @@ -1557,7 +1557,7 @@ index dbca3976f19401f67f999195ef9dad94169b4660..ce378f07b848b10a9f6559243c7ad0de return; } this.lastBookTick = MinecraftServer.currentTick; -@@ -2080,10 +2081,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2081,10 +2082,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public void handleTeleportToEntityPacket(ServerboundTeleportToEntityPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (this.player.isSpectator()) { @@ -1569,7 +1569,7 @@ index dbca3976f19401f67f999195ef9dad94169b4660..ce378f07b848b10a9f6559243c7ad0de Entity entity = packet.getEntity(worldserver); if (entity != null) { -@@ -2235,9 +2233,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2236,9 +2234,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // CraftBukkit end if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.message())) { @@ -1581,7 +1581,7 @@ index dbca3976f19401f67f999195ef9dad94169b4660..ce378f07b848b10a9f6559243c7ad0de } else { Optional optional = this.tryHandleChat(packet.message(), packet.timeStamp(), packet.lastSeenMessages()); -@@ -2271,9 +2269,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2272,9 +2270,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleChatCommand(ServerboundChatCommandPacket packet) { if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.command())) { @@ -1593,7 +1593,7 @@ index dbca3976f19401f67f999195ef9dad94169b4660..ce378f07b848b10a9f6559243c7ad0de } else { Optional optional = this.tryHandleChat(packet.command(), packet.timeStamp(), packet.lastSeenMessages()); -@@ -2356,9 +2354,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2362,9 +2360,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private Optional tryHandleChat(String message, Instant timestamp, LastSeenMessages.Update acknowledgment) { if (!this.updateChatOrder(timestamp)) { if (GaleGlobalConfiguration.get().logToConsole.chat.outOfOrderMessageWarning) ServerGamePacketListenerImpl.LOGGER.warn("{} sent out-of-order chat: '{}': {} > {}", this.player.getName().getString(), message, this.lastChatTimeStamp.get().getEpochSecond(), timestamp.getEpochSecond()); // Paper // Gale - do not log out-of-order message warnings @@ -1606,7 +1606,7 @@ index dbca3976f19401f67f999195ef9dad94169b4660..ce378f07b848b10a9f6559243c7ad0de return Optional.empty(); } else { Optional optional = this.unpackAndApplyLastSeen(acknowledgment); -@@ -3321,7 +3319,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3327,7 +3325,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Paper start if (!org.bukkit.Bukkit.isPrimaryThread()) { if (recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) { @@ -1616,7 +1616,7 @@ index dbca3976f19401f67f999195ef9dad94169b4660..ce378f07b848b10a9f6559243c7ad0de } } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index add4649d2003f5ac38abeb372e4a6de9ee377489..b798495da37b9502f1ae93a9a1711411a5dfebf5 100644 +index eb90b375c589076afc454bd80f013384df090b11..f70d5167fad762c858f10ba19636ddb829dc9538 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -15,7 +15,6 @@ import java.net.SocketAddress; @@ -1639,7 +1639,7 @@ index add4649d2003f5ac38abeb372e4a6de9ee377489..b798495da37b9502f1ae93a9a1711411 import net.minecraft.server.dedicated.DedicatedServer; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; -@@ -302,6 +301,58 @@ public abstract class PlayerList { +@@ -305,6 +304,58 @@ public abstract class PlayerList { player.getRecipeBook().sendInitialRecipeBook(player); this.updateEntireScoreboard(worldserver1.getScoreboard(), player); this.server.invalidateStatus(); @@ -1698,7 +1698,7 @@ index add4649d2003f5ac38abeb372e4a6de9ee377489..b798495da37b9502f1ae93a9a1711411 MutableComponent ichatmutablecomponent; if (player.getGameProfile().getName().equalsIgnoreCase(s)) { -@@ -1536,10 +1587,8 @@ public abstract class PlayerList { +@@ -1539,10 +1590,8 @@ public abstract class PlayerList { public void setViewDistance(int viewDistance) { this.viewDistance = viewDistance; //this.broadcastAll(new ClientboundSetChunkCacheRadiusPacket(viewDistance)); // Paper - move into setViewDistance @@ -1710,7 +1710,7 @@ index add4649d2003f5ac38abeb372e4a6de9ee377489..b798495da37b9502f1ae93a9a1711411 if (worldserver != null) { worldserver.getChunkSource().setViewDistance(viewDistance); -@@ -1551,10 +1600,8 @@ public abstract class PlayerList { +@@ -1554,10 +1603,8 @@ public abstract class PlayerList { public void setSimulationDistance(int simulationDistance) { this.simulationDistance = simulationDistance; //this.broadcastAll(new ClientboundSetSimulationDistancePacket(simulationDistance)); // Paper - handled by playerchunkloader @@ -1777,10 +1777,10 @@ index 83701fbfaa56a232593ee8f11a3afb8941238bfa..392e7b4a89669f16b32043b65b69e659 this.execute(runnable); } diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index 64f6555372ba5c97891fd6742f51fa6680c690a2..9582050566c5afc4e0fc40f5d74b653e77f9aa28 100644 +index 757f1bcaa7919df037507f9e270424bb21e98325..87ea4fb3f0e5e3147a1e832b03972b7455adcf44 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -@@ -100,7 +100,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { +@@ -110,7 +110,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { this.cachedOwner = ((ServerLevel) this.level).getEntity(this.ownerUUID); // Paper start - check all worlds if (this.cachedOwner == null) { @@ -1790,10 +1790,10 @@ index 64f6555372ba5c97891fd6742f51fa6680c690a2..9582050566c5afc4e0fc40f5d74b653e final Entity entity = level.getEntity(this.ownerUUID); if (entity != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 25d6ca8370af3d314d799ed960276a7554c091ba..f903aa3d94505af701bb7f16269f7a25e5ab3044 100644 +index d175d019c865bf9ecc5641d39fb1a29aebde662c..841492478d64a10e722ec5ac98b5a8606a65669a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -963,7 +963,7 @@ public final class CraftServer implements Server { +@@ -986,7 +986,7 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot this.console.paperConfigurations.reloadConfigs(this.console); this.console.galeConfigurations.reloadConfigs(this.console); // Gale - Gale configuration @@ -1802,7 +1802,7 @@ index 25d6ca8370af3d314d799ed960276a7554c091ba..f903aa3d94505af701bb7f16269f7a25 // 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)) -@@ -1144,7 +1144,7 @@ public final class CraftServer implements Server { +@@ -1167,7 +1167,7 @@ public final class CraftServer implements Server { @Override public World createWorld(WorldCreator creator) { @@ -1811,7 +1811,7 @@ index 25d6ca8370af3d314d799ed960276a7554c091ba..f903aa3d94505af701bb7f16269f7a25 //Preconditions.checkState(!this.console.isIteratingOverLevels, "Cannot create a world while worlds are being ticked"); // Paper - Cat - Temp disable. We'll see how this goes. Validate.notNull(creator, "Creator may not be null"); -@@ -2503,7 +2503,7 @@ public final class CraftServer implements Server { +@@ -2526,7 +2526,7 @@ public final class CraftServer implements Server { public Entity getEntity(UUID uuid) { Validate.notNull(uuid, "UUID cannot be null"); @@ -1821,7 +1821,7 @@ index 25d6ca8370af3d314d799ed960276a7554c091ba..f903aa3d94505af701bb7f16269f7a25 if (entity != null) { return entity.getBukkitEntity(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 86ffc869b57410fd4993c0fd0ae000da2e2c070c..47faf23e902e542d0739d0ba9b1de2d555a020d3 100644 +index 8f0234296397ca2d4a607dcea6093c6c606dc7d2..1c2220ff497db66a48ae47cff9103c424ff37bc8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -5,7 +5,6 @@ import com.google.common.base.Predicates; @@ -1840,7 +1840,7 @@ index 86ffc869b57410fd4993c0fd0ae000da2e2c070c..47faf23e902e542d0739d0ba9b1de2d5 import java.util.function.Predicate; import java.util.stream.Collectors; import net.minecraft.core.BlockPos; -@@ -114,7 +112,6 @@ import org.bukkit.entity.TippedArrow; +@@ -117,7 +115,6 @@ import org.bukkit.entity.TippedArrow; import org.bukkit.entity.Trident; import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; import org.bukkit.event.weather.LightningStrikeEvent; @@ -1848,7 +1848,7 @@ index 86ffc869b57410fd4993c0fd0ae000da2e2c070c..47faf23e902e542d0739d0ba9b1de2d5 import org.bukkit.event.world.TimeSkipEvent; import org.bukkit.generator.BiomeProvider; import org.bukkit.generator.BlockPopulator; -@@ -134,6 +131,7 @@ import org.bukkit.util.Consumer; +@@ -137,6 +134,7 @@ import org.bukkit.util.Consumer; import org.bukkit.util.RayTraceResult; import org.bukkit.util.StructureSearchResult; import org.bukkit.util.Vector; @@ -1856,7 +1856,7 @@ index 86ffc869b57410fd4993c0fd0ae000da2e2c070c..47faf23e902e542d0739d0ba9b1de2d5 import org.jetbrains.annotations.NotNull; public class CraftWorld extends CraftRegionAccessor implements World { -@@ -2382,11 +2380,11 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2408,11 +2406,11 @@ public class CraftWorld extends CraftRegionAccessor implements World { java.util.concurrent.CompletableFuture ret = new java.util.concurrent.CompletableFuture<>(); io.papermc.paper.chunk.system.ChunkSystem.scheduleChunkLoad(this.getHandle(), x, z, gen, ChunkStatus.FULL, true, priority, (c) -> { @@ -1871,7 +1871,7 @@ index 86ffc869b57410fd4993c0fd0ae000da2e2c070c..47faf23e902e542d0739d0ba9b1de2d5 return ret; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 57a0dbb23a32123d30c3b3572f4d129be9d97847..9dbfb5cb3b5b0bfa7a6b0dc871e86871e7f1b315 100644 +index 56c75029a94e8812c9e0ce5375aaa7cbcda90b87..7b4f51358d36a52e90d2cda25cd884772f62d65b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -191,6 +191,7 @@ import org.bukkit.plugin.Plugin; diff --git a/patches/server/0159-Run-tab-completion-tasks-on-base-thread-pool.patch b/patches/server/0159-Run-tab-completion-tasks-on-base-thread-pool.patch index ff12126..cae21fd 100644 --- a/patches/server/0159-Run-tab-completion-tasks-on-base-thread-pool.patch +++ b/patches/server/0159-Run-tab-completion-tasks-on-base-thread-pool.patch @@ -7,10 +7,10 @@ License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 661a7c442309abbfa227cb96b6369544c82ad5b2..520db3face9bd9d05e583c319dda7d6630afbeaa 100644 +index 7c3cc5cdcf352f50eab0dda110399a60a758e269..f5f9b500d3c0221ef2eb5d2f1a5321d0ace0bb95 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -895,8 +895,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -896,8 +896,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // Paper start diff --git a/patches/server/0162-Run-chunk-cache-tasks-on-base-thread-pool.patch b/patches/server/0162-Run-chunk-cache-tasks-on-base-thread-pool.patch index 6fdb1df..1d2c817 100644 --- a/patches/server/0162-Run-chunk-cache-tasks-on-base-thread-pool.patch +++ b/patches/server/0162-Run-chunk-cache-tasks-on-base-thread-pool.patch @@ -267,7 +267,7 @@ index 83a57b9bc59063ed8299f98bc33e14b57f2ea0de..9ee931a6442d3f18a7521704f39297af // CraftBukkit start - process pending Chunk loadCallback() and unloadCallback() after each run task public boolean pollTask() { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 5af506704a22f969fac91051ec09deb3c6ccc397..a60fdfa682cbce4ed69117beea2d6bd74790d426 100644 +index feeca393f960210a62740da053d21fecd62b0252..8a6f903d84eb9259236a63011d66b7246fca28c2 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -275,7 +275,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -355,10 +355,10 @@ index 18c3f13c523ea62a098f489636b4320c73da4b8b..43c3ff92bad2b812fbad9af65bde1768 return; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 47faf23e902e542d0739d0ba9b1de2d555a020d3..19c6d8ef623127c878a99dec0f8538e8d446ac6d 100644 +index 1c2220ff497db66a48ae47cff9103c424ff37bc8..1cdcf0b7ec11c7bda92aeed2f3470e9419e1214e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -373,7 +373,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -371,7 +371,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { if (!Bukkit.isPrimaryThread()) { return java.util.concurrent.CompletableFuture.supplyAsync(() -> { return CraftWorld.this.isChunkGenerated(x, z); @@ -367,7 +367,7 @@ index 47faf23e902e542d0739d0ba9b1de2d555a020d3..19c6d8ef623127c878a99dec0f8538e8 } ChunkAccess chunk = world.getChunkSource().getChunkAtImmediately(x, z); if (chunk == null) { -@@ -481,7 +481,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -479,7 +479,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { list, true );