diff --git a/gradle.properties b/gradle.properties index 772cc07..1b16722 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group=org.galemc.gale version=1.20.1-R0.1-SNAPSHOT mcVersion=1.20.1 -paperRef=976b95c74cfd03f2b6de391b0023aff34b9078fb +paperRef=c0936a71bd762a5a87425a24cfb9daff7418a4d4 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 a78371f..85ac49b 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 5b225bbb128893d67251a96ab318035802a0cf76..bb0a0f853e80e26f919b60fcae51029514558395 100644 +index 6b72eccdcb6f75534a4267a1dd0a4cc2f39e917b..f0bd65cb60510a8b3014d902602c306657c75bfd 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2005,6 +2005,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2028,6 +2028,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/0006-Player-canSee-by-entity-UUID.patch similarity index 90% rename from patches/api/0007-Player-canSee-by-entity-UUID.patch rename to patches/api/0006-Player-canSee-by-entity-UUID.patch index 3908702..c920bc8 100644 --- a/patches/api/0007-Player-canSee-by-entity-UUID.patch +++ b/patches/api/0006-Player-canSee-by-entity-UUID.patch @@ -37,19 +37,19 @@ 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 06f00d016f1e46edb8f4fe0c14eb8b364900c3ef..42f87a63984345006c513e42b843ea7292d7ee63 100644 +index d0297f47f18cabf857cf4ce04c529b46525c0f75..d9482f6eed0b68772d33f861e43181b9453e9581 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; - import java.net.InetSocketAddress; +@@ -5,6 +5,8 @@ import java.net.InetSocketAddress; import java.util.Collection; + import java.util.Date; import java.util.Map; +import java.util.UUID; + + import org.bukkit.BanEntry; import org.bukkit.DyeColor; import org.bukkit.Effect; - import org.bukkit.GameMode; -@@ -1715,6 +1717,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1753,6 +1755,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @ApiStatus.Experimental public boolean canSee(@NotNull Entity entity); diff --git a/patches/api/0006-Skip-events-without-listeners.patch b/patches/api/0006-Skip-events-without-listeners.patch deleted file mode 100644 index cf042ed..0000000 --- a/patches/api/0006-Skip-events-without-listeners.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Martijn Muijsers -Date: Thu, 1 Dec 2022 13:45:13 +0100 -Subject: [PATCH] Skip events without listeners - -License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) -Gale - https://galemc.org - -This patch is based on the following patch: -"skip event if no listeners" -By: Simon Gardling -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/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index 2b8308989fce7f8a16907f8711b362e671fdbfb6..623c683563a5fb5dcf3b8478873ef2a27307b289 100644 ---- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java -+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -@@ -633,6 +633,19 @@ public final class SimplePluginManager implements PluginManager { - HandlerList handlers = event.getHandlers(); - RegisteredListener[] listeners = handlers.getRegisteredListeners(); - -+ // Gale start - JettPack - skip events without listeners -+ if (listeners.length == 0) { -+ return; -+ } -+ // Gale end - JettPack - skip events without listeners -+ -+ // Paper - replace callEvent by merging to below method -+ if (event.isAsynchronous() && server.isPrimaryThread()) { -+ throw new IllegalStateException(event.getEventName() + " may only be triggered asynchronously."); -+ } else if (!event.isAsynchronous() && !server.isPrimaryThread() && !server.isStopping() ) { -+ throw new IllegalStateException(event.getEventName() + " may only be triggered synchronously."); -+ } -+ - for (RegisteredListener registration : listeners) { - if (!registration.getPlugin().isEnabled()) { - continue; diff --git a/patches/api/0008-Specific-interval-TPS-API.patch b/patches/api/0007-Specific-interval-TPS-API.patch similarity index 88% rename from patches/api/0008-Specific-interval-TPS-API.patch rename to patches/api/0007-Specific-interval-TPS-API.patch index b01362b..5791ee5 100644 --- a/patches/api/0008-Specific-interval-TPS-API.patch +++ b/patches/api/0007-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 ef36d793ab77c7b7208f8f5994815599cff470d1..f3f3470f2e07e5e06f599ddc0e5538dfc7a4c283 100644 +index b243db56756c67cd2c41d7768898d01539f9260a..a177509cff1f66bc7f48488b9440e573a443c3b5 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2108,6 +2108,37 @@ public final class Bukkit { +@@ -2135,6 +2135,37 @@ public final class Bukkit { return server.getTPS(); } @@ -49,10 +49,10 @@ index ef36d793ab77c7b7208f8f5994815599cff470d1..f3f3470f2e07e5e06f599ddc0e5538df * 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 bb0a0f853e80e26f919b60fcae51029514558395..bac4fccdd56d04e1c130986eb35a2d0c0dd03983 100644 +index f0bd65cb60510a8b3014d902602c306657c75bfd..d9bf9c7ad36f7b8d99342e43e7af81075c039431 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1787,6 +1787,31 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1810,6 +1810,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/0008-5-second-TPS-average.patch similarity index 92% rename from patches/api/0009-5-second-TPS-average.patch rename to patches/api/0008-5-second-TPS-average.patch index dc2b22e..ff48bc7 100644 --- a/patches/api/0009-5-second-TPS-average.patch +++ b/patches/api/0008-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 f3f3470f2e07e5e06f599ddc0e5538dfc7a4c283..343123836a843e633adc0c9bcdcd3d89572e70e2 100644 +index a177509cff1f66bc7f48488b9440e573a443c3b5..07194bd35c9a72586a5d4096354ec1f96f882116 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2108,8 +2108,30 @@ public final class Bukkit { +@@ -2135,8 +2135,30 @@ public final class Bukkit { return server.getTPS(); } @@ -72,10 +72,10 @@ index f3f3470f2e07e5e06f599ddc0e5538dfc7a4c283..343123836a843e633adc0c9bcdcd3d89 * 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 bac4fccdd56d04e1c130986eb35a2d0c0dd03983..4fabb37be76d85f111d8cbd6ca967bb0ca8f58de 100644 +index d9bf9c7ad36f7b8d99342e43e7af81075c039431..d8aed689e6f42798cc8a50919779f5be6f61d685 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1787,8 +1787,27 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1810,8 +1810,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/0009-Last-tick-time-API.patch similarity index 87% rename from patches/api/0010-Last-tick-time-API.patch rename to patches/api/0009-Last-tick-time-API.patch index 4237744..0c9ff8f 100644 --- a/patches/api/0010-Last-tick-time-API.patch +++ b/patches/api/0009-Last-tick-time-API.patch @@ -23,12 +23,12 @@ 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/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 343123836a843e633adc0c9bcdcd3d89572e70e2..bc84a2b89218fc1e21bddf25ca342c6e2bf9984c 100644 +index 07194bd35c9a72586a5d4096354ec1f96f882116..6523d1525c41892fd007d9bba00bc84bea299ca6 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2549,6 +2549,20 @@ public final class Bukkit { +@@ -2711,6 +2711,20 @@ public final class Bukkit { } - // Paper end + // Paper end - Folia region threading API + // Gale start - YAPFA - last tick time - API + public static long getLastTickTotalTime() { @@ -48,13 +48,13 @@ index 343123836a843e633adc0c9bcdcd3d89572e70e2..bc84a2b89218fc1e21bddf25ca342c6e public static Server.Spigot spigot() { return server.spigot(); diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 4fabb37be76d85f111d8cbd6ca967bb0ca8f58de..714ea77b4509ba842c764e78e0bfc1862abcd537 100644 +index d8aed689e6f42798cc8a50919779f5be6f61d685..c4d45446b18268c822ee06ae4781f7909d02e04a 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2228,4 +2228,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2366,4 +2366,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ - @NotNull org.bukkit.potion.PotionBrewer getPotionBrewer(); - // Paper end + boolean isOwnedByCurrentRegion(@NotNull Entity entity); + // Paper end - Folia region threading API + + // Gale start - YAPFA - last tick time - API + /** diff --git a/patches/server/0001-Gale-project-setup.patch b/patches/server/0001-Gale-project-setup.patch index 86bfda5..ac99d82 100644 --- a/patches/server/0001-Gale-project-setup.patch +++ b/patches/server/0001-Gale-project-setup.patch @@ -7,11 +7,11 @@ License: 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 a0c5592530d2a59bfde87d1e9eb3752e7d4694da..77fc393c793cfe719b48255bffa29c5160f8aece 100644 +index 57f2c414dbfe127c193002fbc8eeb22e94e9cb55..f84011f83ebf238023ae6900873b0dfc9dfd0bd4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -7,8 +7,14 @@ plugins { - } +@@ -13,8 +13,14 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { + val alsoShade: Configuration by configurations.creating dependencies { - implementation(project(":paper-api")) diff --git a/patches/server/0003-Hide-irrelevant-compilation-warnings.patch b/patches/server/0003-Hide-irrelevant-compilation-warnings.patch index 53d89e3..845282a 100644 --- a/patches/server/0003-Hide-irrelevant-compilation-warnings.patch +++ b/patches/server/0003-Hide-irrelevant-compilation-warnings.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/build.gradle.kts b/build.gradle.kts -index 5d97b2aaab3e2d5407651394abfcb34450c349cb..71f0fe6fd20ee2bb5ed3e1530d7b76b9cc81c0dc 100644 +index f84011f83ebf238023ae6900873b0dfc9dfd0bd4..a6ebccaf06a528b70b3362021cf836f35b4326dc 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -58,6 +58,16 @@ dependencies { +@@ -66,6 +66,16 @@ dependencies { } val craftbukkitPackageVersion = "1_20_R1" // Paper diff --git a/patches/server/0004-Use-default-Java-installation-for-development-runs.patch b/patches/server/0004-Use-default-Java-installation-for-development-runs.patch index 81f6d6f..ef12cd9 100644 --- a/patches/server/0004-Use-default-Java-installation-for-development-runs.patch +++ b/patches/server/0004-Use-default-Java-installation-for-development-runs.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/build.gradle.kts b/build.gradle.kts -index 71f0fe6fd20ee2bb5ed3e1530d7b76b9cc81c0dc..b5132c3eb86ae9ec4e46766ad803c6faac4c13da 100644 +index a6ebccaf06a528b70b3362021cf836f35b4326dc..03494958857b254705b1445e1a695e71f88474f7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -152,6 +152,15 @@ fun TaskContainer.registerRunTask( +@@ -165,6 +165,15 @@ fun TaskContainer.registerRunTask( name: String, block: JavaExec.() -> Unit ): TaskProvider = register(name) { diff --git a/patches/server/0005-Enable-virtual-threads-for-development-runs.patch b/patches/server/0005-Enable-virtual-threads-for-development-runs.patch index 7379eb8..05b70cf 100644 --- a/patches/server/0005-Enable-virtual-threads-for-development-runs.patch +++ b/patches/server/0005-Enable-virtual-threads-for-development-runs.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/build.gradle.kts b/build.gradle.kts -index b5132c3eb86ae9ec4e46766ad803c6faac4c13da..3c9894b4275970bdb135f28a608c5b348d89e4f1 100644 +index 03494958857b254705b1445e1a695e71f88474f7..690ce70b6869f340da001d2f844b36bcca72c002 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -185,6 +185,10 @@ fun TaskContainer.registerRunTask( +@@ -198,6 +198,10 @@ fun TaskContainer.registerRunTask( val memoryGb = providers.gradleProperty("paper.runMemoryGb").getOrElse("2") minHeapSize = "${memoryGb}G" maxHeapSize = "${memoryGb}G" diff --git a/patches/server/0006-Gale-branding-changes.patch b/patches/server/0006-Gale-branding-changes.patch index 05f6a22..3b1c3f0 100644 --- a/patches/server/0006-Gale-branding-changes.patch +++ b/patches/server/0006-Gale-branding-changes.patch @@ -11,10 +11,10 @@ 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 c4316b89a4b97fe0faa54d8dd4b8178fb6d61ab8..8545a4ec3a047bedc00ea4bd13d2dd8e10e186f9 100644 +index 690ce70b6869f340da001d2f844b36bcca72c002..ba6f5098de10b77d7fc911212ff7077f8774440d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -80,7 +80,7 @@ tasks.jar { +@@ -88,7 +88,7 @@ tasks.jar { attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", @@ -194,7 +194,7 @@ index c5d5648f4ca603ef2b1df723b58f9caf4dd3c722..e45e6b44b2a8f2cdae6e0048a812b921 .completer(new ConsoleCommandCompleter(this.server)) .option(LineReader.Option.COMPLETE_IN_WORD, true); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 80cf4852e4010eeeadaf920ab927a40df0179b40..d404cbb04e25ef145738fbd1cb2453acd96745ac 100644 +index 3238cbcba567b1242c77e41f6b6f19a8d157fb4e..6cf49bdf5c337213a474627bc1771ccb14740f0d 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -921,7 +921,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper @@ -230,7 +230,7 @@ index f0c0f1098cfcc0bc4a3d9d0c5f8168bb217cda81..745727701051ebc8280ab61161e7b652 try { worldserver.timings.doTick.startTiming(); // Spigot worldserver.tick(shouldKeepTicking); -@@ -1568,17 +1516,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 1.0E-7D) { movement = movement.multiply(this.stuckSpeedMultiplier); this.stuckSpeedMultiplier = Vec3.ZERO; -@@ -1086,7 +1083,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1099,7 +1096,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); @@ -1016,7 +1016,7 @@ index b38c4cbcf0405d82c7b6e018e80a3174e460c1a4..88b8dc9e0b6a5182969507883d16a805 return; } // Paper end -@@ -1107,8 +1103,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1120,8 +1116,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z); } @@ -1025,7 +1025,7 @@ index b38c4cbcf0405d82c7b6e018e80a3174e460c1a4..88b8dc9e0b6a5182969507883d16a805 boolean flag = !Mth.equal(movement.x, vec3d1.x); boolean flag1 = !Mth.equal(movement.z, vec3d1.z); -@@ -1126,9 +1120,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1139,9 +1133,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { BlockState iblockdata = this.level().getBlockState(blockposition); this.checkFallDamage(vec3d1.y, this.onGround(), iblockdata, blockposition); @@ -1036,7 +1036,7 @@ index b38c4cbcf0405d82c7b6e018e80a3174e460c1a4..88b8dc9e0b6a5182969507883d16a805 if (this.horizontalCollision) { Vec3 vec3d2 = this.getDeltaMovement(); -@@ -1264,8 +1256,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1277,8 +1269,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { if (this.isOnFire() && (this.isInPowderSnow || this.isInWaterRainOrBubble())) { this.setRemainingFireTicks(-this.getFireImmuneTicks()); } @@ -1045,7 +1045,7 @@ index b38c4cbcf0405d82c7b6e018e80a3174e460c1a4..88b8dc9e0b6a5182969507883d16a805 } } // Paper start - detailed watchdog information -@@ -3033,7 +3023,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3029,7 +3019,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey); if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit @@ -1053,7 +1053,7 @@ index b38c4cbcf0405d82c7b6e018e80a3174e460c1a4..88b8dc9e0b6a5182969507883d16a805 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); -@@ -3051,7 +3040,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3047,7 +3036,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } } // Paper // CraftBukkit end @@ -1061,7 +1061,7 @@ index b38c4cbcf0405d82c7b6e018e80a3174e460c1a4..88b8dc9e0b6a5182969507883d16a805 } this.isInsidePortal = false; -@@ -3522,14 +3510,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3518,14 +3506,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } // Paper end if (this.level() instanceof ServerLevel && !this.isRemoved()) { @@ -1076,7 +1076,7 @@ index b38c4cbcf0405d82c7b6e018e80a3174e460c1a4..88b8dc9e0b6a5182969507883d16a805 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) { -@@ -3563,7 +3549,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3559,7 +3545,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.unRide(); // CraftBukkit end @@ -1084,7 +1084,7 @@ index b38c4cbcf0405d82c7b6e018e80a3174e460c1a4..88b8dc9e0b6a5182969507883d16a805 // Paper start - Change lead drop timing to prevent dupe if (this instanceof Mob) { ((Mob) this).dropLeash(true, true); // Paper drop lead -@@ -3586,10 +3571,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3582,10 +3567,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.removeAfterChangingDimensions(); @@ -1096,10 +1096,10 @@ index b38c4cbcf0405d82c7b6e018e80a3174e460c1a4..88b8dc9e0b6a5182969507883d16a805 } } else { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index a189461330a4d427a7450d504ef13de3605497e3..9a56be04cb60ec09d145185aa07ef74ae4cd6f9b 100644 +index e11d7283662834047b2ff81a2fd25a4263792deb..056d7f857cbda68792ee27b35f14fc6872fd90e1 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -406,7 +406,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -405,7 +405,6 @@ public abstract class LivingEntity extends Entity implements Attackable { } super.baseTick(); @@ -1107,7 +1107,7 @@ index a189461330a4d427a7450d504ef13de3605497e3..9a56be04cb60ec09d145185aa07ef74a if (this.fireImmune() || this.level().isClientSide) { this.clearFire(); } -@@ -508,7 +507,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -507,7 +506,6 @@ public abstract class LivingEntity extends Entity implements Attackable { this.yHeadRotO = this.yHeadRot; this.yRotO = this.getYRot(); this.xRotO = this.getXRot(); @@ -1115,7 +1115,7 @@ index a189461330a4d427a7450d504ef13de3605497e3..9a56be04cb60ec09d145185aa07ef74a } public boolean canSpawnSoulSpeedParticle() { -@@ -3047,10 +3045,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3037,10 +3035,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.run += (f3 - this.run) * 0.3F; @@ -1126,7 +1126,7 @@ index a189461330a4d427a7450d504ef13de3605497e3..9a56be04cb60ec09d145185aa07ef74a // Paper start - stop large pitch and yaw changes from crashing the server this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F; -@@ -3062,7 +3057,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3052,7 +3047,6 @@ public abstract class LivingEntity extends Entity implements Attackable { this.yHeadRotO += Math.round((this.yHeadRot - this.yHeadRotO) / 360.0F) * 360.0F; // Paper end @@ -1134,7 +1134,7 @@ index a189461330a4d427a7450d504ef13de3605497e3..9a56be04cb60ec09d145185aa07ef74a this.animStep += f2; if (this.isFallFlying()) { ++this.fallFlyTicks; -@@ -3351,19 +3345,14 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3341,19 +3335,14 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.setDeltaMovement(d4, d5, d6); @@ -1154,7 +1154,7 @@ index a189461330a4d427a7450d504ef13de3605497e3..9a56be04cb60ec09d145185aa07ef74a if (this.jumping && this.isAffectedByFluids()) { double d7; -@@ -3390,8 +3379,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3380,8 +3369,6 @@ public abstract class LivingEntity extends Entity implements Attackable { this.noJumpDelay = 0; } @@ -1163,7 +1163,7 @@ index a189461330a4d427a7450d504ef13de3605497e3..9a56be04cb60ec09d145185aa07ef74a this.xxa *= 0.98F; this.zza *= 0.98F; this.updateFallFlying(); -@@ -3418,8 +3405,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3408,8 +3395,6 @@ public abstract class LivingEntity extends Entity implements Attackable { this.travel(vec3d1); } @@ -1172,7 +1172,7 @@ index a189461330a4d427a7450d504ef13de3605497e3..9a56be04cb60ec09d145185aa07ef74a if (!this.level().isClientSide && !this.isDeadOrDying() && !freezeLocked) { // Paper - Freeze Tick Lock API int i = this.getTicksFrozen(); -@@ -3436,15 +3421,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3426,15 +3411,12 @@ public abstract class LivingEntity extends Entity implements Attackable { this.hurt(this.damageSources().freeze(), 1.0F); } @@ -1472,10 +1472,10 @@ index 4aeab90e778629c355189dfe79c39c4b21f5f5ac..0f3a11203dd0353d74626a273e900313 } diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java -index 528e7ba29dcd38726b2c1bbc1d8ac208c64ba9df..61144e8c2ad1543816be16002b43622d1578ec73 100644 +index 247aca0b612f5079a0596350e8311c385df8ab1c..8d6344dea1c00f526fc631db89a500221f74e5de 100644 --- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java +++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java -@@ -190,12 +190,8 @@ public class Goat extends Animal { +@@ -191,12 +191,8 @@ public class Goat extends Animal { @Override protected void customServerAiStep() { @@ -1879,20 +1879,3 @@ index 1d7c663fa0e550bd0cfb9a4b83ccd7e2968666f0..cf685940e09251bef1a3d06f1e2468ce this.drainContainers(time, maxTicks); this.rescheduleLeftoverContainers(); } -diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftRabbit.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftRabbit.java -index 3cb4860fea30bfaf2147b4f29a34336b6e417d6c..970496eca63f8e6020722aa4ed6813b63161da37 100644 ---- a/src/main/java/org/bukkit/craftbukkit/entity/CraftRabbit.java -+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftRabbit.java -@@ -40,8 +40,10 @@ public class CraftRabbit extends CraftAnimals implements Rabbit { - if (this.getRabbitType() == Type.THE_KILLER_BUNNY) { - // Reset goals and target finders. - Level world = ((CraftWorld) this.getWorld()).getHandle(); -- entity.goalSelector = new GoalSelector(world.getProfilerSupplier()); -- entity.targetSelector = new GoalSelector(world.getProfilerSupplier()); -+ // Gale start - Purpur - remove vanilla profiler -+ entity.goalSelector = new GoalSelector(); -+ entity.targetSelector = new GoalSelector(); -+ // Gale end - Purpur - remove vanilla profiler - entity.registerGoals(); - entity.initializePathFinderGoals(); - } diff --git a/patches/server/0018-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch b/patches/server/0018-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch index 4bab758..65725e3 100644 --- a/patches/server/0018-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch +++ b/patches/server/0018-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch @@ -40,10 +40,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/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 9a56be04cb60ec09d145185aa07ef74ae4cd6f9b..739937204751c0922567e104a6ffabd00c676fe6 100644 +index 056d7f857cbda68792ee27b35f14fc6872fd90e1..e1f8f3480bfda2bc3c042d0b57cbb051ad3d95bc 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3643,7 +3643,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3633,7 +3633,7 @@ public abstract class LivingEntity extends Entity implements Attackable { Vec3 vec3d1 = new Vec3(entity.getX(), entity.getEyeY(), entity.getZ()); // Paper - diff on change - used in CraftLivingEntity#hasLineOfSight(Location) and CraftWorld#lineOfSightExists diff --git a/patches/server/0021-Predict-Halloween.patch b/patches/server/0021-Predict-Halloween.patch index 96bc034..c7a50e3 100644 --- a/patches/server/0021-Predict-Halloween.patch +++ b/patches/server/0021-Predict-Halloween.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/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java -index f5efdf59617d43de18a2267351fa784c0be3ae83..c1d6ba5bddf5a473ba746975fd323ea90b60ee8d 100644 +index 5beaa849a250ea005733250ad3edfa8382224667..ba809ea753df1f1c347d0410c4ff255ce6a55532 100644 --- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java +++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java @@ -1,6 +1,6 @@ @@ -18,7 +18,7 @@ index f5efdf59617d43de18a2267351fa784c0be3ae83..c1d6ba5bddf5a473ba746975fd323ea9 import java.time.temporal.ChronoField; import javax.annotation.Nullable; import net.minecraft.core.BlockPos; -@@ -251,12 +251,62 @@ public class Bat extends AmbientCreature { +@@ -237,12 +237,62 @@ public class Bat extends AmbientCreature { } } diff --git a/patches/server/0024-Reduce-enderman-teleport-chunk-lookups.patch b/patches/server/0024-Reduce-enderman-teleport-chunk-lookups.patch index ae26f75..6c530a6 100644 --- a/patches/server/0024-Reduce-enderman-teleport-chunk-lookups.patch +++ b/patches/server/0024-Reduce-enderman-teleport-chunk-lookups.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/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -index 4616addb05fcc20b1ec6ca1dea01cbefed697acd..82e8ddfd136d04106c796d784028c45e5c21dedd 100644 +index 39eb9301626b191958ce42daa34b1ff3241cea80..926098ec96fb1b6ea58403921ab49a21b7a51e76 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -@@ -322,11 +322,17 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -326,11 +326,17 @@ public class EnderMan extends Monster implements NeutralMob { private boolean teleport(double x, double y, double z) { BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(x, y, z); 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 8de32f4..3471f38 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 887bb8c592510def5e16101dfad4860620161d18..2dcbd2763a892351a2e0cb6cfc9843aeb1edfec6 100644 +index f87cf24b78e9c09b45fe9afc0deac91b65956dbb..b8fc40f55c85b1ec65ebc45aca163d755266f61e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1067,6 +1067,13 @@ public final class CraftServer implements Server { +@@ -1140,6 +1140,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/0030-Cache-on-climbable-check.patch b/patches/server/0030-Cache-on-climbable-check.patch index c88974e..e2f4387 100644 --- a/patches/server/0030-Cache-on-climbable-check.patch +++ b/patches/server/0030-Cache-on-climbable-check.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/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 739937204751c0922567e104a6ffabd00c676fe6..daa48daeacb3114526946296b77eae820bb42656 100644 +index e1f8f3480bfda2bc3c042d0b57cbb051ad3d95bc..6ad84442f7722f709c7430a1b22a59957852c28b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -143,7 +143,6 @@ import org.bukkit.event.entity.EntityTeleportEvent; +@@ -142,7 +142,6 @@ import org.bukkit.event.entity.EntityTeleportEvent; import org.bukkit.event.player.PlayerItemConsumeEvent; // CraftBukkit end @@ -42,7 +42,7 @@ index 739937204751c0922567e104a6ffabd00c676fe6..daa48daeacb3114526946296b77eae82 public abstract class LivingEntity extends Entity implements Attackable { -@@ -1973,6 +1972,20 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1963,6 +1962,20 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.lastClimbablePos; } diff --git a/patches/server/0034-Use-fast-item-merge-raytracing.patch b/patches/server/0034-Use-fast-item-merge-raytracing.patch index cd91cfc..9465d6c 100644 --- a/patches/server/0034-Use-fast-item-merge-raytracing.patch +++ b/patches/server/0034-Use-fast-item-merge-raytracing.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/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 3d41dbe0285f8fec8adae1e93010cf464df9b08c..cf2b2c279718d86cc2c57795ef2e61c835977564 100644 +index 52196431a6538872755344859a0454a0e50c3b6e..a85f3a9b52748b32eece5364c59d0aa282f91a22 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -@@ -269,10 +269,16 @@ public class ItemEntity extends Entity implements TraceableEntity { +@@ -270,10 +270,16 @@ public class ItemEntity extends Entity implements TraceableEntity { if (entityitem.isMergable()) { // Paper Start - Fix items merging through walls if (this.level().paperConfig().fixes.fixItemsMergingThroughWalls) { 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 cb2ad21..256fc46 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 cc6bcffcc124f75bdaf4e72601d1557a173b7825..ba832679bd88779eeea9ba17ff4b1bb164496d56 100644 +index 431bc32a61934f9bf4d268df1f70194c3e48ee93..93255c7388c1a2f281f508f8ca34571bf565accd 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -495,17 +495,37 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -507,17 +507,37 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.isLegacyTrackingEntity = isLegacyTrackingEntity; } @@ -73,7 +73,7 @@ index cc6bcffcc124f75bdaf4e72601d1557a173b7825..ba832679bd88779eeea9ba17ff4b1bb1 for (Entity passenger : passengers) { org.spigotmc.TrackingRange.TrackingRangeType passengerType = passenger.trackingRangeType; int passengerRange = chunkMap.getEntityTrackerRange(passengerType.ordinal()); -@@ -514,6 +534,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -526,6 +546,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { range = passengerRange; } } diff --git a/patches/server/0041-Reduce-entity-allocations.patch b/patches/server/0041-Reduce-entity-allocations.patch index 67e1270..33839bc 100644 --- a/patches/server/0041-Reduce-entity-allocations.patch +++ b/patches/server/0041-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 ba832679bd88779eeea9ba17ff4b1bb164496d56..6bc97a0ffbe9581d72f033fe315e1e2a03099e5b 100644 +index 93255c7388c1a2f281f508f8ca34571bf565accd..c27af8fc81f09abbb99b2b9cd990477298b210ed 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -421,6 +421,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -433,6 +433,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return this.originWorld; } // Paper end diff --git a/patches/server/0043-Reduce-entity-fluid-lookups-if-no-fluids.patch b/patches/server/0043-Reduce-entity-fluid-lookups-if-no-fluids.patch index 0e6aab1..11402fd 100644 --- a/patches/server/0043-Reduce-entity-fluid-lookups-if-no-fluids.patch +++ b/patches/server/0043-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 6bc97a0ffbe9581d72f033fe315e1e2a03099e5b..eefbbd4621454b95ef0601be526e71c3d759446a 100644 +index c27af8fc81f09abbb99b2b9cd990477298b210ed..6c4f536601c36730061310ee028da7adeaf2737e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4300,16 +4300,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4296,16 +4296,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean updateFluidHeightAndDoFluidPushing(TagKey tag, double speed) { @@ -60,7 +60,7 @@ index 6bc97a0ffbe9581d72f033fe315e1e2a03099e5b..eefbbd4621454b95ef0601be526e71c3 double d1 = 0.0D; boolean flag = this.isPushedByFluid(); boolean flag1 = false; -@@ -4317,14 +4319,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4313,14 +4315,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { int k1 = 0; BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); @@ -128,7 +128,7 @@ index 6bc97a0ffbe9581d72f033fe315e1e2a03099e5b..eefbbd4621454b95ef0601be526e71c3 if (d2 >= axisalignedbb.minY) { flag1 = true; -@@ -4346,9 +4395,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4342,9 +4391,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end } } diff --git a/patches/server/0044-SIMD-support.patch b/patches/server/0044-SIMD-support.patch index 9e8d23e..09c676b 100644 --- a/patches/server/0044-SIMD-support.patch +++ b/patches/server/0044-SIMD-support.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/build.gradle.kts b/build.gradle.kts -index bc355da5be055541dc3bfbdeafb4966dd60a3f5f..4579f4ef0683a9e5bfb112890cefae24354327be 100644 +index ba6f5098de10b77d7fc911212ff7077f8774440d..f1804bfc661b597733d612e51129097ebc076bca 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -65,6 +65,7 @@ tasks.withType { +@@ -73,6 +73,7 @@ tasks.withType { compilerArgs.add("-Xlint:-module") compilerArgs.add("-Xlint:-removal") compilerArgs.add("-Xlint:-dep-ann") @@ -24,7 +24,7 @@ index bc355da5be055541dc3bfbdeafb4966dd60a3f5f..4579f4ef0683a9e5bfb112890cefae24 } // Gale end - hide irrelevant compilation warnings -@@ -189,6 +190,7 @@ fun TaskContainer.registerRunTask( +@@ -202,6 +203,7 @@ fun TaskContainer.registerRunTask( jvmArgs("--enable-preview") jvmArgs("--add-opens=java.base/java.lang=ALL-UNNAMED") // Gale end - enable virtual threads for development runs diff --git a/patches/server/0046-Optimize-entity-coordinate-key.patch b/patches/server/0046-Optimize-entity-coordinate-key.patch index 87aa814..0aefbbd 100644 --- a/patches/server/0046-Optimize-entity-coordinate-key.patch +++ b/patches/server/0046-Optimize-entity-coordinate-key.patch @@ -35,10 +35,10 @@ index 2d11a67bdc82088abf0b3ca134f352f155c8eb1f..a31d7c1907f40792eefe35038bc6ec7c 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 eefbbd4621454b95ef0601be526e71c3d759446a..eb395d6498f3f43c20d371efd8e1f410400f1f2a 100644 +index 6c4f536601c36730061310ee028da7adeaf2737e..47bcb134acdaa8d36a0544dae15f12ea47e143dd 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -294,7 +294,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -306,7 +306,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public double yo; public double zo; private Vec3 position; diff --git a/patches/server/0047-Reduce-in-wall-checks.patch b/patches/server/0047-Reduce-in-wall-checks.patch index 7d3c680..0dfd08c 100644 --- a/patches/server/0047-Reduce-in-wall-checks.patch +++ b/patches/server/0047-Reduce-in-wall-checks.patch @@ -28,10 +28,10 @@ but is so much cheaper than the suffocation check that it's worth keeping it. diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 806bf3e93ec368d117851281fd5d51fa22e3a4bf..1040e76c829521b214e5a96fb41ee60e223641d3 100644 +index 6ad84442f7722f709c7430a1b22a59957852c28b..559e85f266614f08e5b383e41f9898b2cca28513 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -413,7 +413,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -412,7 +412,10 @@ public abstract class LivingEntity extends Entity implements Attackable { boolean flag = this instanceof net.minecraft.world.entity.player.Player; if (!this.level().isClientSide) { @@ -43,7 +43,7 @@ index 806bf3e93ec368d117851281fd5d51fa22e3a4bf..1040e76c829521b214e5a96fb41ee60e this.hurt(this.damageSources().inWall(), 1.0F); } else if (flag && !this.level().getWorldBorder().isWithinBounds(this.getBoundingBox())) { double d0 = this.level().getWorldBorder().getDistanceToBorder(this) + this.level().getWorldBorder().getDamageSafeZone(); -@@ -1367,6 +1370,15 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1366,6 +1369,15 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.getHealth() <= 0.0F; } diff --git a/patches/server/0048-Make-chat-order-verification-configurable.patch b/patches/server/0048-Make-chat-order-verification-configurable.patch index 3409c9c..f339822 100644 --- a/patches/server/0048-Make-chat-order-verification-configurable.patch +++ b/patches/server/0048-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 1e047f451e35e48c2ac43076d1c6be6458a6a8f8..9cce018d0d187a299fb8275b5e0db81d79b91fec 100644 +index 5f3875c503fddc1fbac58d6f53dd757143222236..931d4cc4b2c237e68a469d18247bd1bffbaed346 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2369,6 +2369,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2370,6 +2370,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } private boolean updateChatOrder(Instant timestamp) { diff --git a/patches/server/0051-Reduce-hopper-item-checks.patch b/patches/server/0051-Reduce-hopper-item-checks.patch index 1222776..afb56de 100644 --- a/patches/server/0051-Reduce-hopper-item-checks.patch +++ b/patches/server/0051-Reduce-hopper-item-checks.patch @@ -17,13 +17,14 @@ Licensed under: MIT (https://opensource.org/licenses/MIT) Only do an item "suck in" action once per second diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index cf2b2c279718d86cc2c57795ef2e61c835977564..fb0cd2ad93d2dbd678662f2cdad0851fd698cf3d 100644 +index a85f3a9b52748b32eece5364c59d0aa282f91a22..d94020fc88c8941b99ccaea5fa7a5d3bd58f0394 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -@@ -15,11 +15,13 @@ import net.minecraft.world.entity.EntityType; +@@ -14,11 +14,14 @@ import net.minecraft.world.entity.Entity; + import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MoverType; import net.minecraft.world.entity.TraceableEntity; - import net.minecraft.world.entity.player.Player; ++import net.minecraft.world.entity.player.Player; +import net.minecraft.world.entity.vehicle.MinecartHopper; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; @@ -34,7 +35,7 @@ index cf2b2c279718d86cc2c57795ef2e61c835977564..fb0cd2ad93d2dbd678662f2cdad0851f import net.minecraft.world.phys.Vec3; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; -@@ -208,11 +210,31 @@ public class ItemEntity extends Entity implements TraceableEntity { +@@ -209,11 +212,31 @@ public class ItemEntity extends Entity implements TraceableEntity { } // CraftBukkit end this.discard(); @@ -66,7 +67,7 @@ index cf2b2c279718d86cc2c57795ef2e61c835977564..fb0cd2ad93d2dbd678662f2cdad0851f // Spigot start - copied from above @Override public void inactiveTick() { -@@ -232,7 +254,13 @@ public class ItemEntity extends Entity implements TraceableEntity { +@@ -233,7 +256,13 @@ public class ItemEntity extends Entity implements TraceableEntity { } // CraftBukkit end this.discard(); diff --git a/patches/server/0054-Do-not-process-chat-commands-before-player-has-joine.patch b/patches/server/0054-Do-not-process-chat-commands-before-player-has-joine.patch index ba3ea28..747fe7b 100644 --- a/patches/server/0054-Do-not-process-chat-commands-before-player-has-joine.patch +++ b/patches/server/0054-Do-not-process-chat-commands-before-player-has-joine.patch @@ -25,10 +25,10 @@ index 8badf1d6239eca7e48819860ada3a1ce21c3b4db..c3076b07077873a852c8a59219bd6aa7 // 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 9cce018d0d187a299fb8275b5e0db81d79b91fec..996810340723f9a86f2f8f96d2c7a77fb4bf5e8e 100644 +index 931d4cc4b2c237e68a469d18247bd1bffbaed346..b9126ce87146a6f3b019200d33097676ec4116bd 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2346,6 +2346,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2347,6 +2347,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,7 +40,7 @@ index 9cce018d0d187a299fb8275b5e0db81d79b91fec..996810340723f9a86f2f8f96d2c7a77f 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 8547e7ff2f1f5b7701fb0f3c3010c14601a5f83e..3d6dd50625a61fa2dccc7ea71e1913733dddf801 100644 +index fff7ad7a45f310783ac96b44575ad3db13d537fa..46b462d9092f33675626aa5ae0d3f1cc654c650f 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -342,6 +342,8 @@ public abstract class PlayerList { diff --git a/patches/server/0056-Do-not-log-empty-message-warnings.patch b/patches/server/0056-Do-not-log-empty-message-warnings.patch index dcbd4a1..c828e80 100644 --- a/patches/server/0056-Do-not-log-empty-message-warnings.patch +++ b/patches/server/0056-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 996810340723f9a86f2f8f96d2c7a77fb4bf5e8e..1b6f49bf945f037b6950b3ca865e27520b2b0148 100644 +index b9126ce87146a6f3b019200d33097676ec4116bd..084c6e9d927ce76eb81792d98bc8c6fd27a2cf49 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 996810340723f9a86f2f8f96d2c7a77fb4bf5e8e..1b6f49bf945f037b6950b3ca865e2752 import org.galemc.gale.configuration.GaleGlobalConfiguration; import org.slf4j.Logger; -@@ -2558,7 +2559,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2559,7 +2560,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // CraftBukkit start String s = message.signedContent(); if (s.isEmpty()) { diff --git a/patches/server/0062-Do-not-log-out-of-order-message-warnings.patch b/patches/server/0062-Do-not-log-out-of-order-message-warnings.patch index aa5681b..b953e02 100644 --- a/patches/server/0062-Do-not-log-out-of-order-message-warnings.patch +++ b/patches/server/0062-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 1b6f49bf945f037b6950b3ca865e27520b2b0148..a2781f6fd62486b03b031f230a63294c2f680f0e 100644 +index 084c6e9d927ce76eb81792d98bc8c6fd27a2cf49..fbcd1384f8a56efeb5f4e6883b41616a784e516a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2336,7 +2336,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2337,7 +2337,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/0063-Do-not-log-Not-Secure-marker.patch b/patches/server/0063-Do-not-log-Not-Secure-marker.patch index 24f070c..8400dbd 100644 --- a/patches/server/0063-Do-not-log-Not-Secure-marker.patch +++ b/patches/server/0063-Do-not-log-Not-Secure-marker.patch @@ -28,7 +28,7 @@ index 774fb97912f766589f3548f659618ad554e0503f..bec9a8ca016f23352ba51e5f70ecb9a0 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index e0e27beebffdbb8fa534899b451cc59f275faef0..efc958959b772312acfbcfb0cf52c6aa6be77fb2 100644 +index 46b462d9092f33675626aa5ae0d3f1cc654c650f..afab6cd5ea21c97ea1b8936bd3a00a572d38f48e 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 e0e27beebffdbb8fa534899b451cc59f275faef0..efc958959b772312acfbcfb0cf52c6aa import org.slf4j.Logger; // CraftBukkit start -@@ -1403,7 +1404,7 @@ public abstract class PlayerList { +@@ -1404,7 +1405,7 @@ public abstract class PlayerList { // Paper end boolean flag = this.verifyChatTrusted(message); diff --git a/patches/server/0068-Make-sand-duping-fix-configurable.patch b/patches/server/0068-Make-sand-duping-fix-configurable.patch index ad681d2..3d28fa5 100644 --- a/patches/server/0068-Make-sand-duping-fix-configurable.patch +++ b/patches/server/0068-Make-sand-duping-fix-configurable.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/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -index eff81e846f696349b3bd3d26c02442f157b169f0..084a8f42ede16a193ce2a2dae932171424fbc3fb 100644 +index 18eaccb39a4c81338a8cbebe3de03934913ac2a4..a1466d29b896c06f67a6f110270377fdd036960a 100644 --- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -@@ -131,7 +131,7 @@ public class FallingBlockEntity extends Entity { +@@ -133,7 +133,7 @@ public class FallingBlockEntity extends Entity { @Override public void tick() { // Paper start - fix sand duping @@ -49,7 +49,7 @@ index eff81e846f696349b3bd3d26c02442f157b169f0..084a8f42ede16a193ce2a2dae9321714 return; } // Paper end - fix sand duping -@@ -148,7 +148,7 @@ public class FallingBlockEntity extends Entity { +@@ -150,7 +150,7 @@ public class FallingBlockEntity extends Entity { this.move(MoverType.SELF, this.getDeltaMovement()); // Paper start - fix sand duping diff --git a/patches/server/0080-Reduce-array-allocations.patch b/patches/server/0080-Reduce-array-allocations.patch index e65bc02..36d2db9 100644 --- a/patches/server/0080-Reduce-array-allocations.patch +++ b/patches/server/0080-Reduce-array-allocations.patch @@ -346,7 +346,7 @@ index a2920b8a9eff77d9c5d1d7f70ad3abdacba8f0fa..43f402d9032e4570a81a80e412215598 protected CipherBase(Cipher cipher) { this.cipher = cipher; diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 1b634b303105a0f8424e1e40b7c39f9938232d95..f98545988a081564581a5ff43d2d9087b676b725 100644 +index cf20f0983fc25b26cf92b9d3a28746b1909fc56b..f20738fbfbc85a73e43898ec2b15c3a834ba7099 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -21,7 +21,6 @@ import io.netty.channel.epoll.EpollSocketChannel; @@ -367,7 +367,7 @@ index 1b634b303105a0f8424e1e40b7c39f9938232d95..f98545988a081564581a5ff43d2d9087 import net.minecraft.Util; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; -@@ -322,7 +322,7 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -325,7 +325,7 @@ public class Connection extends SimpleChannelInboundHandler> { } public void setListener(PacketListener listener) { @@ -412,7 +412,7 @@ index dae36c6452ccd57a436dd918547b64d59957ab0a..f06cafd80d7c027ca97e50bcb45ad520 OptionSpec optionspec11 = optionparser.accepts("port").withRequiredArg().ofType(Integer.class).defaultsTo(-1, new Integer[0]); OptionSpec optionspec12 = optionparser.accepts("serverId").withRequiredArg(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 745727701051ebc8280ab61161e7b652f6abee8a..53aa1cb62794ea481c37587b2d424f188130764c 100644 +index ae74867e5ca1a77c99d6d2e39e916a6c3cf4f866..151b354d6b9613a2715bf618ff6bff4331006093 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -50,6 +50,8 @@ import java.util.stream.Collectors; @@ -425,7 +425,7 @@ index 745727701051ebc8280ab61161e7b652f6abee8a..53aa1cb62794ea481c37587b2d424f18 import net.minecraft.ReportedException; import net.minecraft.SharedConstants; diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 1717844256fe6479e3d7125db3937354578d17d0..0ced61876ad4790c0a0c8e24be721241fa7fd319 100644 +index c122671d89a06474f0618f52a3e4abd5214e2839..59ce2175afd1210344ce2c9f557193ff9139bcee 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -332,7 +332,7 @@ public class ServerEntity { @@ -469,7 +469,7 @@ index efbc8483a51c5272ca81747c82dc65e7f0f5c232..9879599c38db4f3332c347b6b0c26034 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 a2781f6fd62486b03b031f230a63294c2f680f0e..2166fb9e993394f8298c02b0eddd5f773c2c2182 100644 +index fbcd1384f8a56efeb5f4e6883b41616a784e516a..8c3261e34c3f60f88cbe78b372179cd5fca8d24d 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; @@ -531,7 +531,7 @@ index a2781f6fd62486b03b031f230a63294c2f680f0e..2166fb9e993394f8298c02b0eddd5f77 return; } // Paper end -@@ -3303,7 +3301,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3304,7 +3302,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Paper start if (!org.bukkit.Bukkit.isPrimaryThread()) { if (this.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 603260943ecd5706b6ed574973287d6d3ad4bbb7..4bab4dced684a0e22e97d72d517ad4abfa4e9628 100644 +index f300964912f76cc97074e954dfcddad3e62d4af0..8fe9fd6828f9fdfcd587d67471a4199602807e74 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,7 +590,7 @@ index 603260943ecd5706b6ed574973287d6d3ad4bbb7..4bab4dced684a0e22e97d72d517ad4ab import net.minecraft.ChatFormatting; import net.minecraft.FileUtil; import net.minecraft.commands.CommandSourceStack; -@@ -708,7 +710,7 @@ public abstract class PlayerList { +@@ -709,7 +711,7 @@ public abstract class PlayerList { while (iterator.hasNext()) { entityplayer = (ServerPlayer) iterator.next(); this.save(entityplayer); // CraftBukkit - Force the player's inventory to be saved @@ -600,17 +600,18 @@ index 603260943ecd5706b6ed574973287d6d3ad4bbb7..4bab4dced684a0e22e97d72d517ad4ab // Instead of kicking then returning, we need to store the kick reason diff --git a/src/main/java/net/minecraft/server/players/StoredUserList.java b/src/main/java/net/minecraft/server/players/StoredUserList.java -index 4fd709a550bf8da1e996894a1ca6b91206c31e9e..5dee29939421333caa51e1a659d8ad9f9c0358c9 100644 +index 9e8112fbc40a1d89c0f73ea4452e0fa1bb459bf4..59205dd87c114685f4efe9249d2f65442be36a96 100644 --- a/src/main/java/net/minecraft/server/players/StoredUserList.java +++ b/src/main/java/net/minecraft/server/players/StoredUserList.java -@@ -1,6 +1,5 @@ +@@ -1,7 +1,6 @@ + // mc-dev import package net.minecraft.server.players; -import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.io.Files; import com.google.gson.Gson; -@@ -23,6 +22,8 @@ import java.util.Map; +@@ -24,6 +23,8 @@ import java.util.Map; import java.util.Objects; import java.util.stream.Stream; import javax.annotation.Nullable; @@ -619,7 +620,7 @@ index 4fd709a550bf8da1e996894a1ca6b91206c31e9e..5dee29939421333caa51e1a659d8ad9f import net.minecraft.Util; import net.minecraft.util.GsonHelper; import org.slf4j.Logger; -@@ -95,7 +96,7 @@ public abstract class StoredUserList> { +@@ -96,7 +97,7 @@ public abstract class StoredUserList> { } public String[] getUserList() { @@ -627,7 +628,7 @@ index 4fd709a550bf8da1e996894a1ca6b91206c31e9e..5dee29939421333caa51e1a659d8ad9f + return (String[]) this.map.keySet().toArray(ArrayConstants.emptyStringArray); // Gale - JettPack - reduce array allocations } - // CraftBukkit start + public boolean isEmpty() { diff --git a/src/main/java/net/minecraft/util/MemoryReserve.java b/src/main/java/net/minecraft/util/MemoryReserve.java index 0ee04fe6ff6a4d09754f326526ae04fe7226bab2..a4f7fee3ea112c8f7b0b94949f9eb899fc5be687 100644 --- a/src/main/java/net/minecraft/util/MemoryReserve.java @@ -679,10 +680,10 @@ index 97ff19efa0b3943ccb7a6e02cba6ed2fea61adac..b2ae2bd8bd4ff3cb6457e8c08172e348 private EquipmentSlot(EquipmentSlot.Type type, int entityId, int armorStandId, String name) { this.type = type; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 699d4e17cf3a0f688ce07676afb1a86b5e180eef..12a8a375714b1ccb7c66121975a7d865183bbb19 100644 +index 559e85f266614f08e5b383e41f9898b2cca28513..506cbd835df841608d0d26a2a9313ee3434bf1ab 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3109,7 +3109,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3099,7 +3099,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @Nullable private Map collectEquipmentChanges() { Map map = null; @@ -745,10 +746,10 @@ index 25ed5571b24e590bc95056020d84496492b53298..087acc992a83b2a7e40a0e24f00e283c 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 adb7220be617d6d9f2cdd7fbe4fa2dd24cc7d142..99c0ec4b3bff1ff41192d3acc9d58eb65ffb72c2 100644 +index ae9b821d71d2868ba4eb3c73558fdcd6caf264e3..77db86efe50ad29bded1cbd02806837b5f506fb3 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -1014,7 +1014,7 @@ public final class ItemStack { +@@ -1015,7 +1015,7 @@ public final class ItemStack { int k; if (ItemStack.shouldShowInTooltip(i, ItemStack.TooltipPart.MODIFIERS)) { @@ -819,7 +820,7 @@ index b9431be4e6fb366bbdb7e66c9570f26a37379488..4b8736f19c0b968fac27037d2d0eb3f6 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 87153b5576fed05103183a9860d804c2c8cfbe1c..8d741018c7dc9a2ac1b666025a4e041010a745d4 100644 +index 10d3912ef043eefdf89105332e29b0d2bf4a5539..0500d4b96328ccc64e0dd3bd2d35c6b7bd21907e 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; @@ -831,7 +832,7 @@ index 87153b5576fed05103183a9860d804c2c8cfbe1c..8d741018c7dc9a2ac1b666025a4e0410 import net.minecraft.Util; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -@@ -416,7 +418,7 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -415,7 +417,7 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { @Override public int[] getSlotsForFace(Direction side) { @@ -840,7 +841,7 @@ index 87153b5576fed05103183a9860d804c2c8cfbe1c..8d741018c7dc9a2ac1b666025a4e0410 } @Override -@@ -465,7 +467,7 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -464,7 +466,7 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { @Override public int[] getSlotsForFace(Direction side) { @@ -849,7 +850,7 @@ index 87153b5576fed05103183a9860d804c2c8cfbe1c..8d741018c7dc9a2ac1b666025a4e0410 } @Override -@@ -507,7 +509,7 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { +@@ -506,7 +508,7 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { @Override public int[] getSlotsForFace(Direction side) { diff --git a/patches/server/0081-Optimize-sun-burn-tick.patch b/patches/server/0081-Optimize-sun-burn-tick.patch index b3a9c3e..9f434c9 100644 --- a/patches/server/0081-Optimize-sun-burn-tick.patch +++ b/patches/server/0081-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 94b95080651350845932e2b362138d42c32f2741..21dd00eaac3aad121e71fa16d4587ba157f3b090 100644 +index 47bcb134acdaa8d36a0544dae15f12ea47e143dd..4c37f55041de8f315b55d28f3a894f859cc6ef64 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -293,7 +293,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -305,7 +305,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public double xo; public double yo; public double zo; @@ -25,7 +25,7 @@ index 94b95080651350845932e2b362138d42c32f2741..21dd00eaac3aad121e71fa16d4587ba1 public BlockPos blockPosition; // Gale - Pufferfish - optimize entity coordinate key - private -> public private ChunkPos chunkPosition; private Vec3 deltaMovement; -@@ -1993,9 +1993,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2006,9 +2006,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { /** @deprecated */ @Deprecated public float getLightLevelDependentMagicValue() { diff --git a/patches/server/0094-Check-frozen-ticks-before-landing-block.patch b/patches/server/0094-Check-frozen-ticks-before-landing-block.patch index 244c151..90c9b94 100644 --- a/patches/server/0094-Check-frozen-ticks-before-landing-block.patch +++ b/patches/server/0094-Check-frozen-ticks-before-landing-block.patch @@ -13,10 +13,10 @@ As part of: Lithium (https://github.com/CaffeineMC/lithium-fabric) Licensed under: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html) diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 12a8a375714b1ccb7c66121975a7d865183bbb19..1f31b9bb36274a53b3594e0564f97e1275544b9c 100644 +index 506cbd835df841608d0d26a2a9313ee3434bf1ab..2f252bbe2946ea3228933b4b8c91a4e46fe99705 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -584,11 +584,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -583,11 +583,10 @@ public abstract class LivingEntity extends Entity implements Attackable { } protected void tryAddFrost() { @@ -29,7 +29,7 @@ index 12a8a375714b1ccb7c66121975a7d865183bbb19..1f31b9bb36274a53b3594e0564f97e12 if (attributemodifiable == null) { return; -@@ -598,7 +597,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -597,7 +596,6 @@ public abstract class LivingEntity extends Entity implements Attackable { attributemodifiable.addTransientModifier(new AttributeModifier(LivingEntity.SPEED_MODIFIER_POWDER_SNOW_UUID, "Powder snow slow", (double) f, AttributeModifier.Operation.ADDITION)); } diff --git a/patches/server/0102-Skip-entity-move-if-movement-is-zero.patch b/patches/server/0102-Skip-entity-move-if-movement-is-zero.patch index dd6cc77..7fceaab 100644 --- a/patches/server/0102-Skip-entity-move-if-movement-is-zero.patch +++ b/patches/server/0102-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 21dd00eaac3aad121e71fa16d4587ba157f3b090..9a08ad4e0db5ce299b1538160bfb35424016b4a5 100644 +index 4c37f55041de8f315b55d28f3a894f859cc6ef64..15c2e875129db97f379d74f8b5e470a50ed8185b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -302,6 +302,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -314,6 +314,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public float yRotO; public float xRotO; private AABB bb; @@ -24,7 +24,7 @@ index 21dd00eaac3aad121e71fa16d4587ba157f3b090..9a08ad4e0db5ce299b1538160bfb3542 public boolean onGround; public boolean horizontalCollision; public boolean verticalCollision; -@@ -1076,6 +1077,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1089,6 +1090,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 21dd00eaac3aad121e71fa16d4587ba157f3b090..9a08ad4e0db5ce299b1538160bfb3542 // Paper start - detailed watchdog information io.papermc.paper.util.TickThread.ensureTickThread("Cannot move an entity off-main"); synchronized (this.posLock) { -@@ -3980,6 +3986,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3976,6 +3982,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public final void setBoundingBox(AABB boundingBox) { diff --git a/patches/server/0107-Hide-flames-on-entities-with-fire-resistance.patch b/patches/server/0107-Hide-flames-on-entities-with-fire-resistance.patch index d9ff53e..c731822 100644 --- a/patches/server/0107-Hide-flames-on-entities-with-fire-resistance.patch +++ b/patches/server/0107-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 9a08ad4e0db5ce299b1538160bfb35424016b4a5..de3e85da8dc4750cfa9bd2aede01fd8e42ec3d4f 100644 +index 15c2e875129db97f379d74f8b5e470a50ed8185b..2ececcfaf44eb0a0f7be23987dd4d081ffe8120f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -878,7 +878,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -891,7 +891,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.checkBelowWorld(); if (!this.level().isClientSide) { diff --git a/patches/server/0110-Send-set-head-rotation-packets-only-for-living-entit.patch b/patches/server/0110-Send-set-head-rotation-packets-only-for-living-entit.patch deleted file mode 100644 index 18c6f86..0000000 --- a/patches/server/0110-Send-set-head-rotation-packets-only-for-living-entit.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Martijn Muijsers -Date: Sat, 24 Dec 2022 00:33:27 +0100 -Subject: [PATCH] Send set head rotation packets only for living entities - -License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) -Gale - https://galemc.org - -This patch is based on the following patch: -"Fix head rotation packet spam" -By: cswhite2000 <18whitechristop@gmail.com> -As part of: SportPaper (https://github.com/Electroid/SportPaper) -Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) - -diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 0ced61876ad4790c0a0c8e24be721241fa7fd319..7ad872f8f769dfe6e3b6a0b8f83357076b33d22b 100644 ---- a/src/main/java/net/minecraft/server/level/ServerEntity.java -+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java -@@ -355,7 +355,9 @@ public class ServerEntity { - - // CraftBukkit start - Fix for nonsensical head yaw - this.yHeadRotp = Mth.floor(this.entity.getYHeadRot() * 256.0F / 360.0F); -+ if (!this.level.galeConfig().smallOptimizations.sendSetHeadRotationPacketsOnlyForLivingEntities || this.entity instanceof LivingEntity) { // Gale - SportPaper - send set head rotation packets only for living entities - sender.accept(new ClientboundRotateHeadPacket(this.entity, (byte) this.yHeadRotp)); -+ } // Gale - SportPaper - send set head rotation packets only for living entities - // CraftBukkit end - - if (!this.entity.getPassengers().isEmpty()) { -diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java -index 4329d9bbfe002a4e505b0a2f13063aa8ca736f8f..edb4e3b5bde5309bd61a6f1605c71633facae7af 100644 ---- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java -+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java -@@ -62,6 +62,8 @@ public class GaleWorldConfiguration extends ConfigurationPart { - public boolean useOptimizedSheepOffspringColor = true; - // Gale end - carpet-fixes - optimize sheep offspring color - -+ public boolean sendSetHeadRotationPacketsOnlyForLivingEntities = true; // Gale - SportPaper - send set head rotation packets only for living entities -+ - // Gale start - Airplane - reduce projectile chunk loading - public MaxProjectileChunkLoads maxProjectileChunkLoads; - public class MaxProjectileChunkLoads extends ConfigurationPart { diff --git a/patches/server/0111-Spread-out-sending-all-player-info.patch b/patches/server/0110-Spread-out-sending-all-player-info.patch similarity index 96% rename from patches/server/0111-Spread-out-sending-all-player-info.patch rename to patches/server/0110-Spread-out-sending-all-player-info.patch index 8c4ca49..fe695bd 100644 --- a/patches/server/0111-Spread-out-sending-all-player-info.patch +++ b/patches/server/0110-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 4bab4dced684a0e22e97d72d517ad4abfa4e9628..6fff31722af772a84f579c0a36e90f0faaf70e12 100644 +index 8fe9fd6828f9fdfcd587d67471a4199602807e74..681c1b6c976c74de15745a3a0038b3b2915c553c 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; @@ -70,15 +70,15 @@ index 4bab4dced684a0e22e97d72d517ad4abfa4e9628..6fff31722af772a84f579c0a36e90f0f 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 -@@ -656,6 +660,7 @@ public abstract class PlayerList { - worldserver.removePlayerImmediately(entityplayer, Entity.RemovalReason.UNLOADED_WITH_PLAYER); +@@ -657,6 +661,7 @@ public abstract class PlayerList { + entityplayer.retireScheduler(); // Paper - Folia schedulers entityplayer.getAdvancements().stopListening(); this.players.remove(entityplayer); + this.removeFromSendAllPlayerInfoBuckets(entityplayer); // Gale - Purpur - spread out sending all player info this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot this.server.getCustomBossEvents().onPlayerDisconnect(entityplayer); UUID uuid = entityplayer.getUUID(); -@@ -809,6 +814,7 @@ public abstract class PlayerList { +@@ -810,6 +815,7 @@ public abstract class PlayerList { // Paper end entityplayer.stopRiding(); // CraftBukkit this.players.remove(entityplayer); @@ -86,7 +86,7 @@ index 4bab4dced684a0e22e97d72d517ad4abfa4e9628..6fff31722af772a84f579c0a36e90f0f this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot entityplayer.serverLevel().removePlayerImmediately(entityplayer, Entity.RemovalReason.DISCARDED); BlockPos blockposition = entityplayer.getRespawnPosition(); -@@ -946,6 +952,7 @@ public abstract class PlayerList { +@@ -947,6 +953,7 @@ public abstract class PlayerList { if (!entityplayer.connection.isDisconnected()) { worldserver1.addRespawnedPlayer(entityplayer1); this.players.add(entityplayer1); @@ -94,7 +94,7 @@ index 4bab4dced684a0e22e97d72d517ad4abfa4e9628..6fff31722af772a84f579c0a36e90f0f this.playersByName.put(entityplayer1.getScoreboardName().toLowerCase(java.util.Locale.ROOT), entityplayer1); // Spigot this.playersByUUID.put(entityplayer1.getUUID(), entityplayer1); } -@@ -998,20 +1005,55 @@ public abstract class PlayerList { +@@ -999,20 +1006,55 @@ public abstract class PlayerList { this.sendPlayerPermissionLevel(player, i); } diff --git a/patches/server/0112-Optimize-player-list-for-sending-player-info.patch b/patches/server/0111-Optimize-player-list-for-sending-player-info.patch similarity index 95% rename from patches/server/0112-Optimize-player-list-for-sending-player-info.patch rename to patches/server/0111-Optimize-player-list-for-sending-player-info.patch index d4043c0..1ae8e44 100644 --- a/patches/server/0112-Optimize-player-list-for-sending-player-info.patch +++ b/patches/server/0111-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 6fff31722af772a84f579c0a36e90f0faaf70e12..d83e0bb4beb8e5ff596e587333f6b39d35f903e2 100644 +index 681c1b6c976c74de15745a3a0038b3b2915c553c..902f75eece79c8aa144240c7eee0f63aba11ed2d 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1041,14 +1041,18 @@ public abstract class PlayerList { +@@ -1042,14 +1042,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/0113-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch b/patches/server/0112-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch similarity index 100% rename from patches/server/0113-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch rename to patches/server/0112-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch diff --git a/patches/server/0114-Send-multiple-keep-alive-packets.patch b/patches/server/0113-Send-multiple-keep-alive-packets.patch similarity index 97% rename from patches/server/0114-Send-multiple-keep-alive-packets.patch rename to patches/server/0113-Send-multiple-keep-alive-packets.patch index aa9c927..814c694 100644 --- a/patches/server/0114-Send-multiple-keep-alive-packets.patch +++ b/patches/server/0113-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 2166fb9e993394f8298c02b0eddd5f773c2c2182..93b8c00c16b26f4b76f35d1aa32560375097aef4 100644 +index 8c3261e34c3f60f88cbe78b372179cd5fca8d24d..1c6e3796cec1867dbffd129087fe614cdcce0eec 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; @@ -91,7 +91,7 @@ index 2166fb9e993394f8298c02b0eddd5f773c2c2182..93b8c00c16b26f4b76f35d1aa3256037 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 -@@ -3468,6 +3489,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3469,6 +3490,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0115-Make-slow-login-timeout-configurable.patch b/patches/server/0114-Make-slow-login-timeout-configurable.patch similarity index 100% rename from patches/server/0115-Make-slow-login-timeout-configurable.patch rename to patches/server/0114-Make-slow-login-timeout-configurable.patch diff --git a/patches/server/0116-Make-max-interaction-distance-configurable.patch b/patches/server/0115-Make-max-interaction-distance-configurable.patch similarity index 93% rename from patches/server/0116-Make-max-interaction-distance-configurable.patch rename to patches/server/0115-Make-max-interaction-distance-configurable.patch index d992ef8..ef66e24 100644 --- a/patches/server/0116-Make-max-interaction-distance-configurable.patch +++ b/patches/server/0115-Make-max-interaction-distance-configurable.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/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 1635fee928d64f4d2c336dca6675ed4641918830..d65b9d2d9070d8dee2c144c9b37d6605a59cfafe 100644 +index 34ecfb89372f459117db99d57a7edd6f681bbe8a..69d663705ffb4dc904adf1fa2759b4c5096f93ce 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java @@ -174,7 +174,7 @@ public class ServerPlayerGameMode { @@ -20,7 +20,7 @@ index 1635fee928d64f4d2c336dca6675ed4641918830..d65b9d2d9070d8dee2c144c9b37d6605 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 93b8c00c16b26f4b76f35d1aa32560375097aef4..8d90209a01020d44626f56e2cb0dd5eca300f699 100644 +index 1c6e3796cec1867dbffd129087fe614cdcce0eec..b7f23b3e000a0681e88104a471bc937daaf22234 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -254,7 +254,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -55,7 +55,7 @@ index 93b8c00c16b26f4b76f35d1aa32560375097aef4..8d90209a01020d44626f56e2cb0dd5ec Vec3 vec3d2 = vec3d.subtract(vec3d1); double d0 = 1.0000001D; -@@ -2828,7 +2835,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2829,7 +2836,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic AABB axisalignedbb = entity.getBoundingBox(); @@ -86,10 +86,10 @@ index d025232b43af3cb8dc28dff2e3e05c72e490901d..06d75d94af6aff29d542d0c5e150d8f7 public void spawnDustParticles(Level world, BlockHitResult hitResult, BlockState state, Vec3 userRotation, HumanoidArm arm) { diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java -index edb4e3b5bde5309bd61a6f1605c71633facae7af..c0274ed66bfe3a2bd8c67d0af807bc090dfabf7d 100644 +index 4329d9bbfe002a4e505b0a2f13063aa8ca736f8f..b0674c4fa2fc5d990a2039f466d7412e383865f8 100644 --- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java +++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java -@@ -273,7 +273,7 @@ public class GaleWorldConfiguration extends ConfigurationPart { +@@ -271,7 +271,7 @@ public class GaleWorldConfiguration extends ConfigurationPart { } public GameplayMechanics gameplayMechanics; @@ -98,7 +98,7 @@ index edb4e3b5bde5309bd61a6f1605c71633facae7af..c0274ed66bfe3a2bd8c67d0af807bc09 // Gale start - variable entity wake-up duration /** -@@ -296,6 +296,20 @@ public class GaleWorldConfiguration extends ConfigurationPart { +@@ -294,6 +294,20 @@ public class GaleWorldConfiguration extends ConfigurationPart { public boolean arrowMovementResetsDespawnCounter = true; // Gale - Purpur - make arrow movement resetting despawn counter configurable public boolean hideFlamesOnEntitiesWithFireResistance = false; // Gale - Slice - hide flames on entities with fire resistance @@ -119,7 +119,7 @@ index edb4e3b5bde5309bd61a6f1605c71633facae7af..c0274ed66bfe3a2bd8c67d0af807bc09 public Fixes fixes; public class Fixes extends ConfigurationPart { -@@ -330,6 +344,11 @@ public class GaleWorldConfiguration extends ConfigurationPart { +@@ -328,6 +342,11 @@ public class GaleWorldConfiguration extends ConfigurationPart { } diff --git a/patches/server/0117-Load-portal-destination-chunk-before-entity-teleport.patch b/patches/server/0116-Load-portal-destination-chunk-before-entity-teleport.patch similarity index 90% rename from patches/server/0117-Load-portal-destination-chunk-before-entity-teleport.patch rename to patches/server/0116-Load-portal-destination-chunk-before-entity-teleport.patch index 1d50b99..f515dc5 100644 --- a/patches/server/0117-Load-portal-destination-chunk-before-entity-teleport.patch +++ b/patches/server/0116-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 de3e85da8dc4750cfa9bd2aede01fd8e42ec3d4f..6f1bcfb656ed5bc8ba9d8afab1ec8b8ee6263754 100644 +index 2ececcfaf44eb0a0f7be23987dd4d081ffe8120f..570ccff83e1562555d4445d89aa4c647b846d53a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3601,6 +3601,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3597,6 +3597,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { Entity entity = this.getType().create(worldserver); if (entity != null) { @@ -31,10 +31,10 @@ index de3e85da8dc4750cfa9bd2aede01fd8e42ec3d4f..6f1bcfb656ed5bc8ba9d8afab1ec8b8e entity.moveTo(position.x, position.y, position.z, yaw, pitch); // Paper - use EntityPortalExitEvent values entity.setDeltaMovement(velocity); // Paper - use EntityPortalExitEvent values diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java -index c0274ed66bfe3a2bd8c67d0af807bc090dfabf7d..5ec7da98dc21ef1146d7d65667f3ecb4508f94ef 100644 +index b0674c4fa2fc5d990a2039f466d7412e383865f8..20615b75ec9bc37a4dc116271dda9138efeb97ce 100644 --- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java +++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java -@@ -344,6 +344,23 @@ public class GaleWorldConfiguration extends ConfigurationPart { +@@ -342,6 +342,23 @@ public class GaleWorldConfiguration extends ConfigurationPart { } diff --git a/patches/server/0118-Don-t-load-chunks-to-spawn-phantoms.patch b/patches/server/0117-Don-t-load-chunks-to-spawn-phantoms.patch similarity index 93% rename from patches/server/0118-Don-t-load-chunks-to-spawn-phantoms.patch rename to patches/server/0117-Don-t-load-chunks-to-spawn-phantoms.patch index 7446385..45712d8 100644 --- a/patches/server/0118-Don-t-load-chunks-to-spawn-phantoms.patch +++ b/patches/server/0117-Don-t-load-chunks-to-spawn-phantoms.patch @@ -13,7 +13,7 @@ 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/level/levelgen/PhantomSpawner.java b/src/main/java/net/minecraft/world/level/levelgen/PhantomSpawner.java -index bc7648dbc132551dc6591ab49a1919a623c30f60..11f6a1854c08cbf8ee5c99522c3cd2ae5322de6d 100644 +index dfeb3e336e06ef01f5401a362755030db942bb07..518b40a27a8d4d015caa7e67d355839628c965ef 100644 --- a/src/main/java/net/minecraft/world/level/levelgen/PhantomSpawner.java +++ b/src/main/java/net/minecraft/world/level/levelgen/PhantomSpawner.java @@ -71,7 +71,15 @@ public class PhantomSpawner implements CustomSpawner { @@ -34,10 +34,10 @@ index bc7648dbc132551dc6591ab49a1919a623c30f60..11f6a1854c08cbf8ee5c99522c3cd2ae if (NaturalSpawner.isValidEmptySpawnBlock(world, blockposition1, iblockdata, fluid, EntityType.PHANTOM)) { diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java -index 5ec7da98dc21ef1146d7d65667f3ecb4508f94ef..43b5b1e600d12b5ac39ee11cf3596c095cf4058d 100644 +index 20615b75ec9bc37a4dc116271dda9138efeb97ce..b087b7333a801f86e21f170111812263a2829730 100644 --- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java +++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java -@@ -270,6 +270,23 @@ public class GaleWorldConfiguration extends ConfigurationPart { +@@ -268,6 +268,23 @@ public class GaleWorldConfiguration extends ConfigurationPart { } diff --git a/patches/server/0119-Don-t-load-chunks-to-activate-climbing-entities.patch b/patches/server/0118-Don-t-load-chunks-to-activate-climbing-entities.patch similarity index 90% rename from patches/server/0119-Don-t-load-chunks-to-activate-climbing-entities.patch rename to patches/server/0118-Don-t-load-chunks-to-activate-climbing-entities.patch index c99824b..fe1a257 100644 --- a/patches/server/0119-Don-t-load-chunks-to-activate-climbing-entities.patch +++ b/patches/server/0118-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 6f1bcfb656ed5bc8ba9d8afab1ec8b8ee6263754..358a6aa87df1bbeb8ade06c24e9bd222a99262f0 100644 +index 570ccff83e1562555d4445d89aa4c647b846d53a..caa053d607907dc5582fd3de2aefa0a9ee8b5bb8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4519,6 +4519,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4515,6 +4515,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return this.feetBlockState; } @@ -28,10 +28,10 @@ index 6f1bcfb656ed5bc8ba9d8afab1ec8b8ee6263754..358a6aa87df1bbeb8ade06c24e9bd222 return this.chunkPosition; } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 1f31b9bb36274a53b3594e0564f97e1275544b9c..07ab60405dfbef46e74911a750ab0a9d067111c9 100644 +index 2f252bbe2946ea3228933b4b8c91a4e46fe99705..a35891723fad4fe984566c41cdd728004f8f371e 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1989,19 +1989,43 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1979,19 +1979,43 @@ public abstract class LivingEntity extends Entity implements Attackable { public boolean onClimbableCached() { if (!this.blockPosition().equals(this.lastClimbingPosition)) { @@ -79,10 +79,10 @@ index 1f31b9bb36274a53b3594e0564f97e1275544b9c..07ab60405dfbef46e74911a750ab0a9d if (iblockdata.is(BlockTags.CLIMBABLE)) { this.lastClimbablePos = Optional.of(blockposition); diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java -index 43b5b1e600d12b5ac39ee11cf3596c095cf4058d..e47a06ecd6516a78eba59a043e4aa460fa3b9375 100644 +index b087b7333a801f86e21f170111812263a2829730..f33f964fb7f94b5b014464a9b34795bc54549a0a 100644 --- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java +++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java -@@ -285,6 +285,18 @@ public class GaleWorldConfiguration extends ConfigurationPart { +@@ -283,6 +283,18 @@ public class GaleWorldConfiguration extends ConfigurationPart { public boolean toSpawnPhantoms = false; // Gale end - MultiPaper - don't load chunks to spawn phantoms diff --git a/patches/server/0120-Broadcast-crit-animations-as-the-entity-being-critte.patch b/patches/server/0119-Broadcast-crit-animations-as-the-entity-being-critte.patch similarity index 96% rename from patches/server/0120-Broadcast-crit-animations-as-the-entity-being-critte.patch rename to patches/server/0119-Broadcast-crit-animations-as-the-entity-being-critte.patch index d40978c..2b65159 100644 --- a/patches/server/0120-Broadcast-crit-animations-as-the-entity-being-critte.patch +++ b/patches/server/0119-Broadcast-crit-animations-as-the-entity-being-critte.patch @@ -38,10 +38,10 @@ index c3076b07077873a852c8a59219bd6aa74f2b9212..0e765c1fb7b93905b7aff8f03fcabba7 @Override diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java -index e47a06ecd6516a78eba59a043e4aa460fa3b9375..16b464573b6ef9d2995e475edb4a8b569c99103d 100644 +index f33f964fb7f94b5b014464a9b34795bc54549a0a..9669fde1da463395a3214ad9b6535529830e7e56 100644 --- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java +++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java -@@ -346,6 +346,22 @@ public class GaleWorldConfiguration extends ConfigurationPart { +@@ -344,6 +344,22 @@ public class GaleWorldConfiguration extends ConfigurationPart { public boolean keepMooshroomRotationAfterShearing = true; // Gale - Purpur - fix cow rotation when shearing mooshroom public boolean checkCanChangeDimensionsBeforeUseEndGateway = false; // Gale - Purpur - end gateway should check if entity can use portal diff --git a/patches/server/0121-Ignore-null-legacy-structure-data.patch b/patches/server/0120-Ignore-null-legacy-structure-data.patch similarity index 100% rename from patches/server/0121-Ignore-null-legacy-structure-data.patch rename to patches/server/0120-Ignore-null-legacy-structure-data.patch diff --git a/patches/server/0123-Skip-unnecessary-mob-spawning-computations.patch b/patches/server/0121-Skip-unnecessary-mob-spawning-computations.patch similarity index 100% rename from patches/server/0123-Skip-unnecessary-mob-spawning-computations.patch rename to patches/server/0121-Skip-unnecessary-mob-spawning-computations.patch diff --git a/patches/server/0122-Don-t-double-save-stored-user-lists.patch b/patches/server/0122-Don-t-double-save-stored-user-lists.patch deleted file mode 100644 index 4a1e20a..0000000 --- a/patches/server/0122-Don-t-double-save-stored-user-lists.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Martijn Muijsers -Date: Sat, 24 Dec 2022 23:49:36 +0100 -Subject: [PATCH] Don't double save stored user lists - -License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) -Gale - https://galemc.org - -This patch is based on the following patch: -"Don't double save the json lists" -By: PureGero -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/dedicated/DedicatedPlayerList.java b/src/main/java/net/minecraft/server/dedicated/DedicatedPlayerList.java -index 935dac757280731bfeb0a8f033cbe315ecac46da..a9786790620d4100b52fafc15933d312bb9323f1 100644 ---- a/src/main/java/net/minecraft/server/dedicated/DedicatedPlayerList.java -+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedPlayerList.java -@@ -45,13 +45,11 @@ public class DedicatedPlayerList extends PlayerList { - @Override - public void op(GameProfile profile) { - super.op(profile); -- this.saveOps(); - } - - @Override - public void deop(GameProfile profile) { - super.deop(profile); -- this.saveOps(); - } - - @Override -diff --git a/src/main/java/org/bukkit/craftbukkit/CraftIpBanList.java b/src/main/java/org/bukkit/craftbukkit/CraftIpBanList.java -index 5a7d884bcad7b30109567c1eff816a31c1701b06..6955072875cd3034a3b1ad8c758bf8ac19972306 100644 ---- a/src/main/java/org/bukkit/craftbukkit/CraftIpBanList.java -+++ b/src/main/java/org/bukkit/craftbukkit/CraftIpBanList.java -@@ -41,12 +41,6 @@ public class CraftIpBanList implements org.bukkit.BanList { - - this.list.add(entry); - -- try { -- this.list.save(); -- } catch (IOException ex) { -- Bukkit.getLogger().log(Level.SEVERE, "Failed to save banned-ips.json, {0}", ex.getMessage()); -- } -- - return new CraftIpBanEntry(target, entry, this.list); - } - -diff --git a/src/main/java/org/bukkit/craftbukkit/CraftProfileBanEntry.java b/src/main/java/org/bukkit/craftbukkit/CraftProfileBanEntry.java -index 126968d557263b3efddc9d53d0f8f436a401cf78..3854c93794d27ecd0331105106b104b1a6017a77 100644 ---- a/src/main/java/org/bukkit/craftbukkit/CraftProfileBanEntry.java -+++ b/src/main/java/org/bukkit/craftbukkit/CraftProfileBanEntry.java -@@ -78,10 +78,5 @@ public final class CraftProfileBanEntry implements org.bukkit.BanEntry { - public void save() { - UserBanListEntry entry = new UserBanListEntry(this.profile, this.created, this.source, this.expiration, this.reason); - this.list.add(entry); -- try { -- this.list.save(); -- } catch (IOException ex) { -- Bukkit.getLogger().log(Level.SEVERE, "Failed to save banned-players.json, {0}", ex.getMessage()); -- } - } - } -diff --git a/src/main/java/org/bukkit/craftbukkit/CraftProfileBanList.java b/src/main/java/org/bukkit/craftbukkit/CraftProfileBanList.java -index 535a571d140dd5932dbd503c540f988c421f0627..cad7307e3e00f672b768c563bfcd06dd9dfcb53b 100644 ---- a/src/main/java/org/bukkit/craftbukkit/CraftProfileBanList.java -+++ b/src/main/java/org/bukkit/craftbukkit/CraftProfileBanList.java -@@ -54,12 +54,6 @@ public class CraftProfileBanList implements org.bukkit.BanList { - - this.list.add(entry); - -- try { -- this.list.save(); -- } catch (IOException ex) { -- Bukkit.getLogger().log(Level.SEVERE, "Failed to save banned-players.json, {0}", ex.getMessage()); -- } -- - return new CraftProfileBanEntry(profile, entry, this.list); - } - diff --git a/patches/server/0124-Prevent-entities-random-strolling-into-non-ticking-c.patch b/patches/server/0122-Prevent-entities-random-strolling-into-non-ticking-c.patch similarity index 94% rename from patches/server/0124-Prevent-entities-random-strolling-into-non-ticking-c.patch rename to patches/server/0122-Prevent-entities-random-strolling-into-non-ticking-c.patch index 4686ffb..ba2f232 100644 --- a/patches/server/0124-Prevent-entities-random-strolling-into-non-ticking-c.patch +++ b/patches/server/0122-Prevent-entities-random-strolling-into-non-ticking-c.patch @@ -36,10 +36,10 @@ index 216929c838446c3c14d9b9906ffa625ef35fcbc8..39035605197bad2eb2fd0c4942c5d43b } else { this.wantedX = vec3.x; diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java -index 16b464573b6ef9d2995e475edb4a8b569c99103d..c03a6650d65ada6014019b09b29dc4d4f9b21286 100644 +index 9669fde1da463395a3214ad9b6535529830e7e56..7550bf11983dcd1e3319280bf5b7622b1cb8f1fc 100644 --- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java +++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java -@@ -322,6 +322,7 @@ public class GaleWorldConfiguration extends ConfigurationPart { +@@ -320,6 +320,7 @@ public class GaleWorldConfiguration extends ConfigurationPart { // Gale end - variable entity wake-up duration public boolean entitiesCanEatBlocksInNonTickingChunks = false; // Gale - Purpur - prevent entities eating blocks in non-ticking chunks diff --git a/patches/server/0125-Do-not-place-player-in-world-if-kicked-before-being-.patch b/patches/server/0123-Do-not-place-player-in-world-if-kicked-before-being-.patch similarity index 95% rename from patches/server/0125-Do-not-place-player-in-world-if-kicked-before-being-.patch rename to patches/server/0123-Do-not-place-player-in-world-if-kicked-before-being-.patch index 11a98a2..87cb344 100644 --- a/patches/server/0125-Do-not-place-player-in-world-if-kicked-before-being-.patch +++ b/patches/server/0123-Do-not-place-player-in-world-if-kicked-before-being-.patch @@ -14,7 +14,7 @@ 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 d83e0bb4beb8e5ff596e587333f6b39d35f903e2..697bd3a7c0ab1e941355a818bffe85bdb28a70db 100644 +index 902f75eece79c8aa144240c7eee0f63aba11ed2d..ba5027dbd5dd20aee5a06d7feeb4dd1313f8661c 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -269,6 +269,13 @@ public abstract class PlayerList { diff --git a/patches/server/0126-CraftBukkit-UUID-to-world-map.patch b/patches/server/0124-CraftBukkit-UUID-to-world-map.patch similarity index 87% rename from patches/server/0126-CraftBukkit-UUID-to-world-map.patch rename to patches/server/0124-CraftBukkit-UUID-to-world-map.patch index ee6c1b7..cb657f6 100644 --- a/patches/server/0126-CraftBukkit-UUID-to-world-map.patch +++ b/patches/server/0124-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 2dcbd2763a892351a2e0cb6cfc9843aeb1edfec6..d3586e8eb5c0bdeda3a966300dd6537e32e647d6 100644 +index b8fc40f55c85b1ec65ebc45aca163d755266f61e..5b0ccf20bfa38621248ba730fc5a9dd742358643 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -42,6 +42,9 @@ import java.util.logging.Level; +@@ -43,6 +43,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 2dcbd2763a892351a2e0cb6cfc9843aeb1edfec6..d3586e8eb5c0bdeda3a966300dd6537e import net.minecraft.advancements.Advancement; import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.Commands; -@@ -276,6 +279,7 @@ public final class CraftServer implements Server { +@@ -279,6 +282,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 2dcbd2763a892351a2e0cb6cfc9843aeb1edfec6..d3586e8eb5c0bdeda3a966300dd6537e private final Map, Registry> registries = new HashMap<>(); private YamlConfiguration configuration; private YamlConfiguration commandsConfiguration; -@@ -1344,6 +1348,7 @@ public final class CraftServer implements Server { +@@ -1417,6 +1421,7 @@ public final class CraftServer implements Server { this.getLogger().log(Level.SEVERE, null, ex); } @@ -42,7 +42,7 @@ index 2dcbd2763a892351a2e0cb6cfc9843aeb1edfec6..d3586e8eb5c0bdeda3a966300dd6537e this.worlds.remove(world.getName().toLowerCase(java.util.Locale.ENGLISH)); this.console.removeLevel(handle); return true; -@@ -1362,12 +1367,7 @@ public final class CraftServer implements Server { +@@ -1435,12 +1440,7 @@ public final class CraftServer implements Server { @Override public World getWorld(UUID uid) { @@ -56,7 +56,7 @@ index 2dcbd2763a892351a2e0cb6cfc9843aeb1edfec6..d3586e8eb5c0bdeda3a966300dd6537e } // Paper start -@@ -1385,6 +1385,7 @@ public final class CraftServer implements Server { +@@ -1458,6 +1458,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/0127-Global-EULA-file.patch b/patches/server/0125-Global-EULA-file.patch similarity index 100% rename from patches/server/0127-Global-EULA-file.patch rename to patches/server/0125-Global-EULA-file.patch diff --git a/patches/server/0128-Specific-interval-TPS-API.patch b/patches/server/0126-Specific-interval-TPS-API.patch similarity index 88% rename from patches/server/0128-Specific-interval-TPS-API.patch rename to patches/server/0126-Specific-interval-TPS-API.patch index 0392591..1bc02e1 100644 --- a/patches/server/0128-Specific-interval-TPS-API.patch +++ b/patches/server/0126-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 d3586e8eb5c0bdeda3a966300dd6537e32e647d6..95d9be7816c1c4d663800508d28dcd2027540ebb 100644 +index 5b0ccf20bfa38621248ba730fc5a9dd742358643..a2d3243607e5b2535f08796ae52f022bf0c03bcf 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2749,6 +2749,25 @@ public final class CraftServer implements Server { +@@ -2833,6 +2833,25 @@ public final class CraftServer implements Server { }; } diff --git a/patches/server/0129-5-second-TPS-average.patch b/patches/server/0127-5-second-TPS-average.patch similarity index 96% rename from patches/server/0129-5-second-TPS-average.patch rename to patches/server/0127-5-second-TPS-average.patch index 2082857..27b87f9 100644 --- a/patches/server/0129-5-second-TPS-average.patch +++ b/patches/server/0127-5-second-TPS-average.patch @@ -59,7 +59,7 @@ index fa56cd09102a89692b42f1d14257990508c5c720..fac07dda413002c12276131efbe4ee38 setListData(vector); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 53aa1cb62794ea481c37587b2d424f188130764c..8f2f71821e10c7ead30ae04854ccd203fb63a1fd 100644 +index 151b354d6b9613a2715bf618ff6bff4331006093..1b081bf1407d98a4cc664adc4633533a414447d0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1026,6 +1026,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop