From 4b4c10cfc03c6f863efab9b6c247a48795411e16 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Thu, 27 Feb 2025 22:48:16 -0800 Subject: [PATCH] Update Paper --- .../features/0004-Add-TPS-From-Region.patch | 10 ++++---- folia-server/build.gradle.kts.patch | 2 +- .../features/0001-Region-Threading-Base.patch | 24 +++++++++---------- .../features/0001-Region-Threading-Base.patch | 16 ++++++------- .../features/0007-Add-TPS-From-Region.patch | 4 ++-- gradle.properties | 2 +- 6 files changed, 29 insertions(+), 29 deletions(-) diff --git a/folia-api/paper-patches/features/0004-Add-TPS-From-Region.patch b/folia-api/paper-patches/features/0004-Add-TPS-From-Region.patch index 8859a33..fef2a70 100644 --- a/folia-api/paper-patches/features/0004-Add-TPS-From-Region.patch +++ b/folia-api/paper-patches/features/0004-Add-TPS-From-Region.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add TPS From Region diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 9764489c0801eecb8bbfb06103607f0902bf23ab..2c6b91ca3c55a8f3be4cdf83ba08eca489bb273a 100644 +index a371da9d1d9d1b6cb266db58b9f74a09dc858d2c..41be5d8085d1640ba440ab23bc5ca9ba4b4ba804 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -2979,6 +2979,42 @@ public final class Bukkit { @@ -49,13 +49,13 @@ index 9764489c0801eecb8bbfb06103607f0902bf23ab..2c6b91ca3c55a8f3be4cdf83ba08eca4 + } + // Folia end - region TPS API - @NotNull - public static Server.Spigot spigot() { + /** + * @deprecated All methods on this class have been deprecated, see the individual methods for replacements. diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index fa6f9d50577059d99ee98662497f3fc049fa74ac..f1024b26cf39647f8889500aad63e01ddc109c3e 100644 +index d7ebfcfc6a41b7e94a041f7faf3c2d8090fab3c4..012b4b11dcf04c89af1e4c1417d82d676eb5f767 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2658,4 +2658,34 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2698,4 +2698,34 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ void allowPausing(@NotNull org.bukkit.plugin.Plugin plugin, boolean value); // Paper end - API to check if the server is sleeping diff --git a/folia-server/build.gradle.kts.patch b/folia-server/build.gradle.kts.patch index a4f4db8..8a268b8 100644 --- a/folia-server/build.gradle.kts.patch +++ b/folia-server/build.gradle.kts.patch @@ -49,7 +49,7 @@ implementation("ca.spottedleaf:concurrentutil:0.0.3") implementation("org.jline:jline-terminal-ffm:3.27.1") // use ffm on java 22+ implementation("org.jline:jline-terminal-jni:3.27.1") // fall back to jni on java 21 -@@ -188,14 +_,14 @@ +@@ -189,14 +_,14 @@ val gitBranch = git.exec(providers, "rev-parse", "--abbrev-ref", "HEAD").get().trim() attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", diff --git a/folia-server/minecraft-patches/features/0001-Region-Threading-Base.patch b/folia-server/minecraft-patches/features/0001-Region-Threading-Base.patch index f3bf558..0992b41 100644 --- a/folia-server/minecraft-patches/features/0001-Region-Threading-Base.patch +++ b/folia-server/minecraft-patches/features/0001-Region-Threading-Base.patch @@ -10443,7 +10443,7 @@ index e2697b03a0d204eea537e3aaec2dd8fb9f426722..f6af541a7076c3fefb237b865038d089 } } diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java -index 97a294d2f5c1ddf0af7ffec3e1425eb329c5751b..341e400f789e0eda29827e2c45c483a470d2e982 100644 +index d2db6e3a4af13984b0a790fb38e83c253914a973..e3b7184e20bda4983ee1fc5463d91ca0cdd8ec1f 100644 --- a/net/minecraft/server/dedicated/DedicatedServer.java +++ b/net/minecraft/server/dedicated/DedicatedServer.java @@ -425,7 +425,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -10455,9 +10455,9 @@ index 97a294d2f5c1ddf0af7ffec3e1425eb329c5751b..341e400f789e0eda29827e2c45c483a4 } @Override -@@ -732,7 +732,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -734,7 +734,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface + if (s.isBlank()) return ""; // Paper - Do not process empty rcon commands - public String runCommand(RconConsoleSource rconConsoleSource, String s) { rconConsoleSource.prepareForCommand(); - this.executeBlocking(() -> { + final java.util.concurrent.atomic.AtomicReference command = new java.util.concurrent.atomic.AtomicReference<>(s); // Folia start - region threading @@ -10465,7 +10465,7 @@ index 97a294d2f5c1ddf0af7ffec3e1425eb329c5751b..341e400f789e0eda29827e2c45c483a4 CommandSourceStack wrapper = rconConsoleSource.createCommandSourceStack(); org.bukkit.event.server.RemoteServerCommandEvent event = new org.bukkit.event.server.RemoteServerCommandEvent(rconConsoleSource.getBukkitSender(wrapper), s); this.server.getPluginManager().callEvent(event); -@@ -741,7 +742,16 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -743,7 +744,16 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface } ConsoleInput serverCommand = new ConsoleInput(event.getCommand(), wrapper); this.server.dispatchServerCommand(event.getSender(), serverCommand); @@ -11080,7 +11080,7 @@ index 794770985c261fd56806188237921b5ec5e548e6..b715d1fbde9db81a2515249bb9a0fc7a list.add(player); } diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java -index e6733c43d582c1c632ad0e6abc99e88e337c8911..8026f9305faa85434b18366b30d64038290ec7e8 100644 +index b93c617cef5df0d7d01f683b05847a4908104fd6..05e2f2751459e558d4a8859cae455f4042795da0 100644 --- a/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java @@ -179,42 +179,40 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -13121,7 +13121,7 @@ index bd07e6a5aa1883786d789ea71711a0c0c0a95c26..09469ad131622158fe5579216fc41642 } // Spigot end diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 660f9d44739909150635beaa2082e85dfde915c4..1f031366afa973fa3ed027505d149737febd169e 100644 +index 4068132a33f87dd07d6df1033ed11ba16a57313b..4e3cb90558533ea7ca0c838745e91ec5860c11ce 100644 --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -292,10 +292,10 @@ public class ServerGamePacketListenerImpl @@ -15314,7 +15314,7 @@ index 1b54cf07616a10d93e9336dbd299ba5f09678a28..1e59c21d26baf50fd74bc99c04dbea0f /** * Invoked only when the entity is truly removed from the server, never to be added to any world. diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java -index d87e31572aa85bffc62dc017520dd408560f79b4..3e31fc5fcc15a139bc8d3eb91e89b0f4e28d7eea 100644 +index 4546aca8e2e144ec207653c713fc49f849908827..6258b008ad3e00d41e9f3014572d6f7a06b1847c 100644 --- a/net/minecraft/world/entity/LivingEntity.java +++ b/net/minecraft/world/entity/LivingEntity.java @@ -278,7 +278,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -15416,7 +15416,7 @@ index d87e31572aa85bffc62dc017520dd408560f79b4..3e31fc5fcc15a139bc8d3eb91e89b0f4 this.lastDamageSource = null; } -@@ -2420,10 +2444,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2427,10 +2451,10 @@ public abstract class LivingEntity extends Entity implements Attackable { @Nullable public LivingEntity getKillCredit() { @@ -15429,7 +15429,7 @@ index d87e31572aa85bffc62dc017520dd408560f79b4..3e31fc5fcc15a139bc8d3eb91e89b0f4 } } -@@ -2502,7 +2526,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2509,7 +2533,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.lastDamageSource = damageSource; @@ -15438,7 +15438,7 @@ index d87e31572aa85bffc62dc017520dd408560f79b4..3e31fc5fcc15a139bc8d3eb91e89b0f4 } @Override -@@ -3497,7 +3521,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3504,7 +3528,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.pushEntities(); profilerFiller.pop(); // Paper start - Add EntityMoveEvent @@ -15447,7 +15447,7 @@ index d87e31572aa85bffc62dc017520dd408560f79b4..3e31fc5fcc15a139bc8d3eb91e89b0f4 if (this.xo != this.getX() || this.yo != this.getY() || this.zo != this.getZ() || this.yRotO != this.getYRot() || this.xRotO != this.getXRot()) { Location from = new Location(this.level().getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO); Location to = new Location(this.level().getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot()); -@@ -4170,7 +4194,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4177,7 +4201,7 @@ public abstract class LivingEntity extends Entity implements Attackable { boolean flag = false; BlockPos blockPos = BlockPos.containing(x, y, z); Level level = this.level(); @@ -15456,7 +15456,7 @@ index d87e31572aa85bffc62dc017520dd408560f79b4..3e31fc5fcc15a139bc8d3eb91e89b0f4 boolean flag1 = false; while (!flag1 && blockPos.getY() > level.getMinY()) { -@@ -4332,6 +4356,11 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4339,6 +4363,11 @@ public abstract class LivingEntity extends Entity implements Attackable { this.setXRot(0.0F); } }); diff --git a/folia-server/paper-patches/features/0001-Region-Threading-Base.patch b/folia-server/paper-patches/features/0001-Region-Threading-Base.patch index c2de964..41fea6c 100644 --- a/folia-server/paper-patches/features/0001-Region-Threading-Base.patch +++ b/folia-server/paper-patches/features/0001-Region-Threading-Base.patch @@ -435,10 +435,10 @@ index 42777adb028fe282c1619aeb5431c442ad5df0d0..de88c3d9d3523a7bd3f3dcbfc62d7265 + // Folia end - threaded regions } diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java -index d7c9acaffdcff5e35e026ae90a3e521bab13b074..321c4cad4f84c57f56e5bec3bcdbbef8823f70fe 100644 +index d193330bfd97767705c878e359969378d43b99d0..7694d9762af003351841c13eb83f9f095f4a67ca 100644 --- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java -@@ -493,6 +493,14 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -496,6 +496,14 @@ public class WorldConfiguration extends ConfigurationPart { public Chunks chunks; public class Chunks extends ConfigurationPart { @@ -809,7 +809,7 @@ index a4ac34ebb58a404f4fca7e763e61d4ab05ee3af4..4dcec640f5870d713bd3b98389a45dbe return new BlockPos(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index cf5bcb0ebc79c318d106695e39ad2883a5734aa1..d1d7f1fe4fa20355af40e5d77d2c3fa55bdd0ecd 100644 +index a0a1ed48f67f238c492d4acdd3b21147595df9e2..853b583ea98be444de2a1bb4683d6039449e92c2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -317,7 +317,7 @@ public final class CraftServer implements Server { @@ -903,7 +903,7 @@ index cf5bcb0ebc79c318d106695e39ad2883a5734aa1..d1d7f1fe4fa20355af40e5d77d2c3fa5 //Preconditions.checkState(!this.console.isIteratingOverLevels, "Cannot unload a world while worlds are being ticked"); // Paper - Cat - Temp disable. We'll see how this goes. if (world == null) { return false; -@@ -3079,11 +3118,27 @@ public final class CraftServer implements Server { +@@ -3084,11 +3123,27 @@ public final class CraftServer implements Server { @Override public double[] getTPS() { @@ -934,7 +934,7 @@ index cf5bcb0ebc79c318d106695e39ad2883a5734aa1..d1d7f1fe4fa20355af40e5d77d2c3fa5 } // Paper start - adventure sounds -@@ -3254,7 +3309,7 @@ public final class CraftServer implements Server { +@@ -3259,7 +3314,7 @@ public final class CraftServer implements Server { @Override public int getCurrentTick() { @@ -2335,10 +2335,10 @@ index 7babc404e4920cd264206d4e83b1be6f841cdb8c..7a5312ab0fe3a21907a1d6b82fab9b4d } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftCreaking.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftCreaking.java -index 267f3c85058ef7c73e372c04493cfa6c907e44bb..df838d551fa08895e390eb793506e2f3697555f4 100644 +index d9b7ad7f3b9415f9ba9e43d88378b901ad7d508b..5d4aa9052434fb3bea7b8b4c4c1c3a9720ba341a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftCreaking.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftCreaking.java -@@ -9,8 +9,16 @@ public class CraftCreaking extends CraftMonster implements org.bukkit.entity.Cre +@@ -17,8 +17,16 @@ public class CraftCreaking extends CraftMonster implements org.bukkit.entity.Cre super(server, entity); } @@ -4026,7 +4026,7 @@ index 2638c341bc02f201f7ab17fdebcdbdf3a7ec05bf..074b2919be2b5544b0a46e6cd32f6c57 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3260f20b667918dd7cd641d5d96688721fce2f9c..7723b2fbc8a1d1907ded37d7530e34d3cac8bdce 100644 +index 218a27def751fb657cdeee102d9ec4b26025bb30..2d1b672fc152054d7b6abf47f443b87f5a2ea3de 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -673,7 +673,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/folia-server/paper-patches/features/0007-Add-TPS-From-Region.patch b/folia-server/paper-patches/features/0007-Add-TPS-From-Region.patch index 459d932..13ad2dd 100644 --- a/folia-server/paper-patches/features/0007-Add-TPS-From-Region.patch +++ b/folia-server/paper-patches/features/0007-Add-TPS-From-Region.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add TPS From Region diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d1d7f1fe4fa20355af40e5d77d2c3fa55bdd0ecd..acff6136c321fd1b097c9888bce6195571663d75 100644 +index 853b583ea98be444de2a1bb4683d6039449e92c2..09853a5035a6cb2f9efa20a68644038f11065a9d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3345,4 +3345,68 @@ public final class CraftServer implements Server { +@@ -3350,4 +3350,68 @@ public final class CraftServer implements Server { this.console.addPluginAllowingSleep(plugin.getName(), value); } // Paper end - API to check if the server is sleeping diff --git a/gradle.properties b/gradle.properties index 95642dc..7a7d552 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group=dev.folia version=1.21.4-R0.1-SNAPSHOT mcVersion=1.21.4 -paperRef=636ae0cd87d303c438db2e5a673fa729c39979ec +paperRef=0a6e7435b319d658e60d437f092481f51e7f7ece org.gradle.configuration-cache=true org.gradle.caching=true