From 972ba4d2529b39ad23f1cba03e18a5c17bf45d6f Mon Sep 17 00:00:00 2001 From: NONPLAYT <76615486+NONPLAYT@users.noreply.github.com> Date: Thu, 26 Jun 2025 13:43:33 +0300 Subject: [PATCH] Updated Upstream (Purpur) Upstream has released updates that appear to apply and compile correctly Purpur Changes: PurpurMC/Purpur@47e758fb Updated Upstream (Paper) --- divinemc-api/build.gradle.kts.patch | 2 +- divinemc-server/build.gradle.kts.patch | 2 +- ...03-Completely-remove-Mojang-profiler.patch | 52 +++++++++---------- .../features/0008-Misc-Optimizations.patch | 6 +-- .../0010-Chunk-System-Optimizations.patch | 4 +- .../features/0012-Lag-compensation.patch | 6 +-- ...tch => 0013-Implement-NoChatReports.patch} | 14 ++--- .../features/0024-Virtual-Threads.patch | 10 ++-- .../0038-Linear-region-file-format.patch | 4 +- .../features/0041-Async-mob-spawning.patch | 6 +-- .../0045-Parallel-world-ticking.patch | 46 ++++++++-------- .../0046-MSPT-Tracking-for-each-world.patch | 4 +- .../0048-Catch-update-suppressors.patch | 4 +- .../server/level/ServerPlayer.java.patch | 2 +- ...atch => 0006-Optimize-canSee-checks.patch} | 6 +-- ...7-Configurable-thread-pool-priority.patch} | 0 ...reads.patch => 0008-Virtual-Threads.patch} | 0 ...patch => 0009-Multithreaded-Tracker.patch} | 0 ...BottleEvents-for-player-and-dispens.patch} | 2 +- ...-PR-Player-standing-on-position-API.patch} | 4 +- ...r-PR-Throttle-failed-spawn-attempts.patch} | 0 ...atch => 0013-Parallel-world-ticking.patch} | 22 ++++---- ...Optimize-default-values-for-configs.patch} | 2 +- ...oading-plugins-from-external-folder.patch} | 0 gradle.properties | 4 +- ...uler-s-executeTick-checks-if-there-i.patch | 0 ...uler-s-executeTick-checks-if-there-i.patch | 0 27 files changed, 101 insertions(+), 101 deletions(-) rename divinemc-server/minecraft-patches/features/{0054-Implement-NoChatReports.patch => 0013-Implement-NoChatReports.patch} (96%) rename divinemc-server/paper-patches/features/{0007-Optimize-canSee-checks.patch => 0006-Optimize-canSee-checks.patch} (91%) rename divinemc-server/paper-patches/features/{0008-Configurable-thread-pool-priority.patch => 0007-Configurable-thread-pool-priority.patch} (100%) rename divinemc-server/paper-patches/features/{0009-Virtual-Threads.patch => 0008-Virtual-Threads.patch} (100%) rename divinemc-server/paper-patches/features/{0010-Multithreaded-Tracker.patch => 0009-Multithreaded-Tracker.patch} (100%) rename divinemc-server/paper-patches/features/{0011-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch => 0010-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch} (95%) rename divinemc-server/paper-patches/features/{0012-Paper-PR-Player-standing-on-position-API.patch => 0011-Paper-PR-Player-standing-on-position-API.patch} (89%) rename divinemc-server/paper-patches/features/{0013-Paper-PR-Throttle-failed-spawn-attempts.patch => 0012-Paper-PR-Throttle-failed-spawn-attempts.patch} (100%) rename divinemc-server/paper-patches/features/{0014-Parallel-world-ticking.patch => 0013-Parallel-world-ticking.patch} (97%) rename divinemc-server/paper-patches/features/{0015-Optimize-default-values-for-configs.patch => 0014-Optimize-default-values-for-configs.patch} (99%) rename divinemc-server/paper-patches/features/{0016-Implement-loading-plugins-from-external-folder.patch => 0015-Implement-loading-plugins-from-external-folder.patch} (100%) rename {divinemc-server/paper-patches/features => patches/unapplied}/0006-Skip-EntityScheduler-s-executeTick-checks-if-there-i.patch (100%) rename {divinemc-server/minecraft-patches/features => patches/unapplied}/0013-Skip-EntityScheduler-s-executeTick-checks-if-there-i.patch (100%) diff --git a/divinemc-api/build.gradle.kts.patch b/divinemc-api/build.gradle.kts.patch index 4432cf6..a420ab1 100644 --- a/divinemc-api/build.gradle.kts.patch +++ b/divinemc-api/build.gradle.kts.patch @@ -2,7 +2,7 @@ +++ b/purpur-api/build.gradle.kts @@ -13,8 +_,8 @@ // Keep in sync with paper-server adventure-text-serializer-ansi dep - val adventureVersion = "4.21.0" + val adventureVersion = "4.23.0" val bungeeCordChatVersion = "1.21-R0.2-deprecated+build.21" -val slf4jVersion = "2.0.16" -val log4jVersion = "2.24.1" diff --git a/divinemc-server/build.gradle.kts.patch b/divinemc-server/build.gradle.kts.patch index 5409ee3..0a38df9 100644 --- a/divinemc-server/build.gradle.kts.patch +++ b/divinemc-server/build.gradle.kts.patch @@ -97,7 +97,7 @@ + implementation("org.jline:jline-terminal-ffm:3.29.0") // use ffm on java 22+ // DivineMC - Bump dependencies + implementation("org.jline:jline-terminal-jni:3.29.0") // fall back to jni on java 21 // DivineMC - Bump dependencies implementation("net.minecrell:terminalconsoleappender:1.3.0") - implementation("net.kyori:adventure-text-serializer-ansi:4.21.0") // Keep in sync with adventureVersion from Paper-API build file + implementation("net.kyori:adventure-text-serializer-ansi:4.23.0") // Keep in sync with adventureVersion from Paper-API build file runtimeConfiguration(sourceSets.main.map { it.runtimeClasspath }) @@ -170,16 +_,16 @@ all its classes to check if they are plugins. diff --git a/divinemc-server/minecraft-patches/features/0003-Completely-remove-Mojang-profiler.patch b/divinemc-server/minecraft-patches/features/0003-Completely-remove-Mojang-profiler.patch index c69d9e9..a1dc8dc 100644 --- a/divinemc-server/minecraft-patches/features/0003-Completely-remove-Mojang-profiler.patch +++ b/divinemc-server/minecraft-patches/features/0003-Completely-remove-Mojang-profiler.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Completely remove Mojang profiler diff --git a/net/minecraft/commands/Commands.java b/net/minecraft/commands/Commands.java -index aa978032ab4c56d3b90bbe2ad2fff13c72f3ee4d..7226d6066050523c021c89a79af1edbcc184af9c 100644 +index c638d30ba12bde2ae9d55b1c579129d40bcc8b1e..25aeb8628a79b62b70dbbb1299d4b4e52986b96d 100644 --- a/net/minecraft/commands/Commands.java +++ b/net/minecraft/commands/Commands.java @@ -58,7 +58,6 @@ import net.minecraft.server.commands.CloneCommands; @@ -40,7 +40,7 @@ index aa978032ab4c56d3b90bbe2ad2fff13c72f3ee4d..7226d6066050523c021c89a79af1edbc ContextChain contextChain = finishParsing(parseResults, command, commandSourceStack); try { -@@ -393,8 +389,6 @@ public class Commands { +@@ -395,8 +391,6 @@ public class Commands { commandSourceStack.sendFailure(Component.literal(Util.describeError(var12))); LOGGER.error("'/{}' threw an exception", command, var12); } @@ -49,7 +49,7 @@ index aa978032ab4c56d3b90bbe2ad2fff13c72f3ee4d..7226d6066050523c021c89a79af1edbc } } -@@ -451,7 +445,7 @@ public class Commands { +@@ -453,7 +447,7 @@ public class Commands { int max = Math.max(1, server.getGameRules().getInt(GameRules.RULE_MAX_COMMAND_CHAIN_LENGTH)); int _int = server.getGameRules().getInt(GameRules.RULE_MAX_COMMAND_FORK_COUNT); @@ -213,7 +213,7 @@ index 18071dcc69cc28471dddb7de94e803ec1e5fc2e4..aa25f5ebaf7d1b22825b962b02dcae02 } } diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java -index 8f32168ff0371a9168bbf9b08b2154200f8131a0..0912b009598876d6c16f7adcd80762074ea66f5a 100644 +index 768e82c5cfd05fae2dd84fc6a37f5984c6ec4865..abfecaf4467092f7baa02e0f5bbfd23d087f2aa3 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java @@ -114,19 +114,8 @@ import net.minecraft.util.TimeUtil; @@ -393,17 +393,17 @@ index 8f32168ff0371a9168bbf9b08b2154200f8131a0..0912b009598876d6c16f7adcd8076207 LOGGER.debug("Autosave finished"); } -@@ -1699,7 +1656,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop serverPlayer1.connection.suspendFlushing()); this.server.getScheduler().mainThreadHeartbeat(); // CraftBukkit - // Paper start - Folia scheduler API -@@ -1717,9 +1673,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Purpur - Ridables @@ -429,7 +429,7 @@ index 8f32168ff0371a9168bbf9b08b2154200f8131a0..0912b009598876d6c16f7adcd8076207 try { serverLevel.tick(hasTimeLeft); } catch (Throwable var7) { -@@ -1774,34 +1723,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop CODEC = Codec.STRING.comapFlatMap(string -> { diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java -index 5f1712d3a42ca9e061b7cf96eeba006111e64bd9..13d85eb366a070bfd6723088412f51af07892362 100644 +index 7ac82a49e3c64d1a41a2870c5cf9900812329a57..978934f81ba023d7565d2e66c51f6ca249510702 100644 --- a/net/minecraft/server/dedicated/DedicatedServer.java +++ b/net/minecraft/server/dedicated/DedicatedServer.java -@@ -636,6 +636,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -629,6 +629,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @Override public boolean enforceSecureProfile() { @@ -218,10 +218,10 @@ index 5f1712d3a42ca9e061b7cf96eeba006111e64bd9..13d85eb366a070bfd6723088412f51af // Paper start - Add setting for proxy online mode status return properties.enforceSecureProfile diff --git a/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 9b027ee44fc0bc2fff9468e5332bba56abdbbef3..6126b252ca6a7ddaff7d033868a0658fa33ee8fa 100644 +index 329b31898ea6abbd7cfefed0f582d9bfaa98e866..10da51def5e51bd3eb5122df9a436284aa274f9a 100644 --- a/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -319,10 +319,64 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -353,10 +353,64 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } public void send(Packet packet) { @@ -287,10 +287,10 @@ index 9b027ee44fc0bc2fff9468e5332bba56abdbbef3..6126b252ca6a7ddaff7d033868a0658f if (packet == null || this.processedDisconnect) { // Spigot return; diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index bd6cff4916fdf379ee887259d18ee274ff2f8bc6..0fc818dc4eb54cdc2be3636bf9fec5923f6be934 100644 +index 8bf5f7a98e4e8542d56c49a7e2c4926ec86f712d..015e0d1400f1dfbe086c817f121d01f0726e82f2 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java -@@ -277,7 +277,7 @@ public abstract class PlayerList { +@@ -276,7 +276,7 @@ public abstract class PlayerList { !_boolean, _boolean2, player.createCommonSpawnInfo(serverLevel), @@ -299,7 +299,7 @@ index bd6cff4916fdf379ee887259d18ee274ff2f8bc6..0fc818dc4eb54cdc2be3636bf9fec592 ) ); player.getBukkitEntity().sendSupportedChannels(); // CraftBukkit -@@ -1351,6 +1351,7 @@ public abstract class PlayerList { +@@ -1334,6 +1334,7 @@ public abstract class PlayerList { } public boolean verifyChatTrusted(PlayerChatMessage message) { diff --git a/divinemc-server/minecraft-patches/features/0024-Virtual-Threads.patch b/divinemc-server/minecraft-patches/features/0024-Virtual-Threads.patch index e09b981..e18752d 100644 --- a/divinemc-server/minecraft-patches/features/0024-Virtual-Threads.patch +++ b/divinemc-server/minecraft-patches/features/0024-Virtual-Threads.patch @@ -23,10 +23,10 @@ index 0a69469c79aaa2466cda04f6acefed18e421d555..66f7f2aa071c2811400b4fed12ccf51c private final AtomicInteger count = new AtomicInteger(); diff --git a/net/minecraft/commands/Commands.java b/net/minecraft/commands/Commands.java -index 7226d6066050523c021c89a79af1edbcc184af9c..7fa9214b865ee22f539467efb4130cc330ee9d7b 100644 +index 25aeb8628a79b62b70dbbb1299d4b4e52986b96d..62aeee570d10ab4ac5c21c88987ba6d2c75ae2b8 100644 --- a/net/minecraft/commands/Commands.java +++ b/net/minecraft/commands/Commands.java -@@ -473,7 +473,7 @@ public class Commands { +@@ -475,7 +475,7 @@ public class Commands { } // Fixed pool, but with discard policy @@ -36,10 +36,10 @@ index 7226d6066050523c021c89a79af1edbcc184af9c..7fa9214b865ee22f539467efb4130cc3 new java.util.concurrent.LinkedBlockingQueue<>(), new com.google.common.util.concurrent.ThreadFactoryBuilder() diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java -index 89f9c2c3661f1ef951d865bd8c81564ea558c1e2..45af325d0f457068f79e1b53414db1bf4c8d094b 100644 +index 77a693f42d90b5d17bf56d86b1676247c1ad505d..5c05a41e6f64f37fc365cde6333ed5a684f167f2 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java -@@ -2642,8 +2642,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop entitiesWithScheduledTasks = java.util.concurrent.ConcurrentHashMap.newKeySet(); // DivineMC - Skip EntityScheduler's executeTick checks if there isn't any tasks to be run + public org.bxteam.divinemc.util.AsyncProcessor mobSpawnExecutor = new org.bxteam.divinemc.util.AsyncProcessor("mob_spawning"); // DivineMC - Async mob spawning public static S spin(Function threadFunction) { diff --git a/divinemc-server/minecraft-patches/features/0045-Parallel-world-ticking.patch b/divinemc-server/minecraft-patches/features/0045-Parallel-world-ticking.patch index 647cc45..95d268e 100644 --- a/divinemc-server/minecraft-patches/features/0045-Parallel-world-ticking.patch +++ b/divinemc-server/minecraft-patches/features/0045-Parallel-world-ticking.patch @@ -59,18 +59,18 @@ index ac27ff24f018d8798921c5152e679ceed1e88d8d..ec7d1353b19e55b00c558df8981323ef List states = new java.util.ArrayList<>(level.capturedBlockStates.values()); level.capturedBlockStates.clear(); diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java -index 1079eebf665d4752c4796edf8b851f13e6972dc8..3e013d116f78f8f3d0338fae7bd5b4b1b57be9dc 100644 +index c067f46935753794b49f29358262273fcd15d707..cbeb56539f00a3139f7c19d29cce92fae49dab2f 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java -@@ -291,6 +291,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop entitiesWithScheduledTasks = java.util.concurrent.ConcurrentHashMap.newKeySet(); // DivineMC - Skip EntityScheduler's executeTick checks if there isn't any tasks to be run public org.bxteam.divinemc.util.AsyncProcessor mobSpawnExecutor = new org.bxteam.divinemc.util.AsyncProcessor("mob_spawning"); // DivineMC - Async mob spawning + public java.util.concurrent.Semaphore serverLevelTickingSemaphore = null; // DivineMC - Parallel world ticking public static S spin(Function threadFunction) { ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry.init(); // Paper - rewrite data converter system -@@ -323,24 +324,36 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop serverPlayer1.connection.suspendFlushing()); this.server.getScheduler().mainThreadHeartbeat(); // CraftBukkit -@@ -1708,28 +1733,43 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop, ServerLevel> oldLevels = this.levels; Map, ServerLevel> newLevels = Maps.newLinkedHashMap(oldLevels); newLevels.remove(level.dimension()); @@ -210,7 +210,7 @@ index 1079eebf665d4752c4796edf8b851f13e6972dc8..3e013d116f78f8f3d0338fae7bd5b4b1 } // CraftBukkit end diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java -index 7ac82a49e3c64d1a41a2870c5cf9900812329a57..5f1712d3a42ca9e061b7cf96eeba006111e64bd9 100644 +index 978934f81ba023d7565d2e66c51f6ca249510702..13d85eb366a070bfd6723088412f51af07892362 100644 --- a/net/minecraft/server/dedicated/DedicatedServer.java +++ b/net/minecraft/server/dedicated/DedicatedServer.java @@ -224,6 +224,13 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -316,18 +316,18 @@ index e05a0eed63098c535360b66276f154e4dc119d6a..0102d87411dcf0bba7f6873dc54385c9 // Paper start - extra debug info if (entity.valid) { diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index bedc28c355b2c1e5a2ca4a1559c29101525c51e2..3b87d3f889db67e4913691b2cd50dddd2a2faf7d 100644 +index c7d081aff58170251d075a58d5e1345fc1bda9f8..7f5ec82ad273226b34d0212e17dfd1fe905d68a0 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java -@@ -463,6 +463,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc - return this.viewDistanceHolder; - } - // Paper end - rewrite chunk system +@@ -433,6 +433,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc + private boolean tpsBar = false; // Purpur - Implement TPSBar + private boolean compassBar = false; // Purpur - Add compass command + private boolean ramBar = false; // Purpur - Implement rambar commands + public boolean hasTickedAtLeastOnceInNewWorld = false; // DivineMC - Parallel world ticking - public ServerPlayer(MinecraftServer server, ServerLevel level, GameProfile gameProfile, ClientInformation clientInformation) { - super(level, gameProfile); -@@ -750,6 +751,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc + // Paper start - rewrite chunk system + private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; +@@ -814,6 +815,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc @Override public void tick() { @@ -335,7 +335,7 @@ index bedc28c355b2c1e5a2ca4a1559c29101525c51e2..3b87d3f889db67e4913691b2cd50dddd // CraftBukkit start if (this.joining) { this.joining = false; -@@ -1427,6 +1429,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1491,6 +1493,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc return this; } else { // CraftBukkit start @@ -343,7 +343,7 @@ index bedc28c355b2c1e5a2ca4a1559c29101525c51e2..3b87d3f889db67e4913691b2cd50dddd /* this.isChangingDimension = true; LevelData levelData = level.getLevelData(); -@@ -1772,6 +1775,12 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1836,6 +1839,12 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc return OptionalInt.empty(); } else { // CraftBukkit start @@ -356,7 +356,7 @@ index bedc28c355b2c1e5a2ca4a1559c29101525c51e2..3b87d3f889db67e4913691b2cd50dddd this.containerMenu = abstractContainerMenu; // Moved up if (!this.isImmobile()) this.connection -@@ -1836,6 +1845,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1900,6 +1909,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc } @Override public void closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason reason) { @@ -369,7 +369,7 @@ index bedc28c355b2c1e5a2ca4a1559c29101525c51e2..3b87d3f889db67e4913691b2cd50dddd // Paper end - Inventory close reason this.connection.send(new ClientboundContainerClosePacket(this.containerMenu.containerId)); diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index 8bf5f7a98e4e8542d56c49a7e2c4926ec86f712d..e1ca822d41311e3be44c52badb907619ca681cf9 100644 +index 015e0d1400f1dfbe086c817f121d01f0726e82f2..199e0abdd3a00786a259e28db9d826df06f2fc93 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java @@ -149,6 +149,7 @@ public abstract class PlayerList { @@ -404,7 +404,7 @@ index 8bf5f7a98e4e8542d56c49a7e2c4926ec86f712d..e1ca822d41311e3be44c52badb907619 serverPlayer.connection = player.connection; serverPlayer.restoreFrom(player, keepInventory); diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index ef7c2443fbdaedd08c2489609768374a3ecd8661..0484d3ace8e80f0a82fa2f0397026fd867768818 100644 +index 1e201ff091bdf33c96e2cfa333030ae105ab7bc9..5a58fb937419369d887c4fc35d9383d1b5e35a99 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -3432,14 +3432,34 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/divinemc-server/minecraft-patches/features/0046-MSPT-Tracking-for-each-world.patch b/divinemc-server/minecraft-patches/features/0046-MSPT-Tracking-for-each-world.patch index b325981..4e914b6 100644 --- a/divinemc-server/minecraft-patches/features/0046-MSPT-Tracking-for-each-world.patch +++ b/divinemc-server/minecraft-patches/features/0046-MSPT-Tracking-for-each-world.patch @@ -5,10 +5,10 @@ Subject: [PATCH] MSPT Tracking for each world diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java -index 3e013d116f78f8f3d0338fae7bd5b4b1b57be9dc..693a3c2d0a908b4ce9825818b4af191d1ec98e92 100644 +index cbeb56539f00a3139f7c19d29cce92fae49dab2f..59642de7b2d3064c59bb1d8d2fc436cb9e2c2914 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java -@@ -1675,7 +1675,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop channels = new HashSet(); @@ -17,7 +17,7 @@ index 0d303c3c614142b4183e76f9347e613d7e6db211..e69039ccb6b4d0cc593342a562e4108a private final Set unlistedEntities = new HashSet<>(); // Paper - Add Listing API for Player private static final WeakHashMap> pluginWeakReferences = new WeakHashMap<>(); private int hash = 0; -@@ -2272,9 +2272,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2280,9 +2280,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public boolean canSee(org.bukkit.entity.Entity entity) { diff --git a/divinemc-server/paper-patches/features/0008-Configurable-thread-pool-priority.patch b/divinemc-server/paper-patches/features/0007-Configurable-thread-pool-priority.patch similarity index 100% rename from divinemc-server/paper-patches/features/0008-Configurable-thread-pool-priority.patch rename to divinemc-server/paper-patches/features/0007-Configurable-thread-pool-priority.patch diff --git a/divinemc-server/paper-patches/features/0009-Virtual-Threads.patch b/divinemc-server/paper-patches/features/0008-Virtual-Threads.patch similarity index 100% rename from divinemc-server/paper-patches/features/0009-Virtual-Threads.patch rename to divinemc-server/paper-patches/features/0008-Virtual-Threads.patch diff --git a/divinemc-server/paper-patches/features/0010-Multithreaded-Tracker.patch b/divinemc-server/paper-patches/features/0009-Multithreaded-Tracker.patch similarity index 100% rename from divinemc-server/paper-patches/features/0010-Multithreaded-Tracker.patch rename to divinemc-server/paper-patches/features/0009-Multithreaded-Tracker.patch diff --git a/divinemc-server/paper-patches/features/0011-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch b/divinemc-server/paper-patches/features/0010-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch similarity index 95% rename from divinemc-server/paper-patches/features/0011-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch rename to divinemc-server/paper-patches/features/0010-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch index 913d3a4..ac1c6ab 100644 --- a/divinemc-server/paper-patches/features/0011-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch +++ b/divinemc-server/paper-patches/features/0010-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Paper PR: Add FillBottleEvents for player and dispenser diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 7e36355090baa1a95369dc4f5323c1024b5f3b4c..b7d816bd22ddd837bce6a1e96c86c25c15ca5111 100644 +index 9b9b8b3439cfc0c36009fdb9e5d46b64c3aca393..03ce4211af180d21dd8410d5d4f18abfede30191 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -2115,4 +2115,18 @@ public class CraftEventFactory { diff --git a/divinemc-server/paper-patches/features/0012-Paper-PR-Player-standing-on-position-API.patch b/divinemc-server/paper-patches/features/0011-Paper-PR-Player-standing-on-position-API.patch similarity index 89% rename from divinemc-server/paper-patches/features/0012-Paper-PR-Player-standing-on-position-API.patch rename to divinemc-server/paper-patches/features/0011-Paper-PR-Player-standing-on-position-API.patch index cc3c602..cf3951c 100644 --- a/divinemc-server/paper-patches/features/0012-Paper-PR-Player-standing-on-position-API.patch +++ b/divinemc-server/paper-patches/features/0011-Paper-PR-Player-standing-on-position-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Paper PR: Player standing on position API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index a18069c7de594a8f4ddef46f9dad48dd29cd4b34..bc78b10aa4c66fe5a5f0debc55f63019ed2b75ba 100644 +index 476eefebace887064b728f08af40c746b6f70787..93d03f99db85fc0415bc4d83ce019927bc9b33ce 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1357,6 +1357,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1353,6 +1353,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.entity.get(io.papermc.paper.datacomponent.PaperDataComponentType.bukkitToMinecraft(type)) != null; } diff --git a/divinemc-server/paper-patches/features/0013-Paper-PR-Throttle-failed-spawn-attempts.patch b/divinemc-server/paper-patches/features/0012-Paper-PR-Throttle-failed-spawn-attempts.patch similarity index 100% rename from divinemc-server/paper-patches/features/0013-Paper-PR-Throttle-failed-spawn-attempts.patch rename to divinemc-server/paper-patches/features/0012-Paper-PR-Throttle-failed-spawn-attempts.patch diff --git a/divinemc-server/paper-patches/features/0014-Parallel-world-ticking.patch b/divinemc-server/paper-patches/features/0013-Parallel-world-ticking.patch similarity index 97% rename from divinemc-server/paper-patches/features/0014-Parallel-world-ticking.patch rename to divinemc-server/paper-patches/features/0013-Parallel-world-ticking.patch index 529e2ea..7278350 100644 --- a/divinemc-server/paper-patches/features/0014-Parallel-world-ticking.patch +++ b/divinemc-server/paper-patches/features/0013-Parallel-world-ticking.patch @@ -247,10 +247,10 @@ index ab499a7eaccdc1578ec64f90f54f79b0da3c0e96..6bcb8069de18e8a0f4ee9d5c71b6bdd1 } else if (!event.isAsynchronous() && !this.server.isPrimaryThread() && !this.server.isStopping()) { // DivineMC start - Multithreaded Tracker diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 400fa612389c40f36d64ecd1b65f3330c8a9071a..11b43cf197e4b860ea3d93beb0f1b8437c583fc6 100644 +index cd43af3f442f7d8af1a4552a0eff33958873a366..cf4967875c2d9e87da86645e5a1f0cbaef6d1321 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -465,7 +465,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -469,7 +469,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean unloadChunkRequest(int x, int z) { @@ -265,7 +265,7 @@ index 400fa612389c40f36d64ecd1b65f3330c8a9071a..11b43cf197e4b860ea3d93beb0f1b843 if (this.isChunkLoaded(x, z)) { this.world.getChunkSource().removeTicketWithRadius(TicketType.PLUGIN, new ChunkPos(x, z), 1); } -@@ -491,6 +497,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -495,6 +501,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean refreshChunk(int x, int z) { @@ -273,7 +273,7 @@ index 400fa612389c40f36d64ecd1b65f3330c8a9071a..11b43cf197e4b860ea3d93beb0f1b843 ChunkHolder playerChunk = this.world.getChunkSource().chunkMap.getVisibleChunkIfPresent(ChunkPos.asLong(x, z)); if (playerChunk == null) return false; -@@ -541,7 +548,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -545,7 +552,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { @@ -288,7 +288,7 @@ index 400fa612389c40f36d64ecd1b65f3330c8a9071a..11b43cf197e4b860ea3d93beb0f1b843 warnUnsafeChunk("loading a faraway chunk", x, z); // Paper ChunkAccess chunk = this.world.getChunkSource().getChunk(x, z, generate || isChunkGenerated(x, z) ? ChunkStatus.FULL : ChunkStatus.EMPTY, true); // Paper -@@ -769,6 +782,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -773,6 +786,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean generateTree(Location loc, TreeType type, BlockChangeDelegate delegate) { @@ -296,7 +296,7 @@ index 400fa612389c40f36d64ecd1b65f3330c8a9071a..11b43cf197e4b860ea3d93beb0f1b843 this.world.captureTreeGeneration = true; this.world.captureBlockStates = true; boolean grownTree = this.generateTree(loc, type); -@@ -884,6 +898,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -888,6 +902,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { } public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, Entity source, Consumer configurator) { // Paper end - expand explosion API @@ -304,7 +304,7 @@ index 400fa612389c40f36d64ecd1b65f3330c8a9071a..11b43cf197e4b860ea3d93beb0f1b843 net.minecraft.world.level.Level.ExplosionInteraction explosionType; if (!breakBlocks) { explosionType = net.minecraft.world.level.Level.ExplosionInteraction.NONE; // Don't break blocks -@@ -975,6 +990,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -979,6 +994,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public int getHighestBlockYAt(int x, int z, org.bukkit.HeightMap heightMap) { @@ -312,7 +312,7 @@ index 400fa612389c40f36d64ecd1b65f3330c8a9071a..11b43cf197e4b860ea3d93beb0f1b843 warnUnsafeChunk("getting a faraway chunk", x >> 4, z >> 4); // Paper // Transient load for this tick return this.world.getChunk(x >> 4, z >> 4).getHeight(CraftHeightMap.toNMS(heightMap), x, z); -@@ -1005,6 +1021,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1009,6 +1025,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void setBiome(int x, int y, int z, Holder bb) { BlockPos pos = new BlockPos(x, 0, z); @@ -320,7 +320,7 @@ index 400fa612389c40f36d64ecd1b65f3330c8a9071a..11b43cf197e4b860ea3d93beb0f1b843 if (this.world.hasChunkAt(pos)) { net.minecraft.world.level.chunk.LevelChunk chunk = this.world.getChunkAt(pos); -@@ -2313,6 +2330,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2317,6 +2334,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void sendGameEvent(Entity sourceEntity, org.bukkit.GameEvent gameEvent, Vector position) { @@ -500,7 +500,7 @@ index a4d5c65edc1db59f3486ce5d3757cc306211a54b..d8f68164b0b4430ccdc7e4a419eace71 this.getNMS().tick(level, this.position, level.random); } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -index 7232b560aac9fbe48318f7af1c875583e06723ee..3a4393c50712dc735d7db6b4282eb18bcf122f72 100644 +index 5d4faad9df4824cfd61abfd4df011c006f114424..361ddcfaaa47f27135fd4629446b6560b60badeb 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java @@ -33,6 +33,25 @@ public abstract class CraftBlockEntityState extends Craft @@ -568,7 +568,7 @@ index 196835bdf95ba0e149b2977e9ef41698971f501f..b35dbe2b6e75ec89483aef093474c675 net.minecraft.world.item.ItemStack nms = org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(item); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java -index cc5028cebcd0504635734907c73ee5c9d91f0e71..0a870bfa4aca330973d4e9170a658d75e0e3e833 100644 +index 63f6b5d00b401fe670fd237e53dd2073d042535b..e7e6dfbf114a24e540bc04a8aaa1644e9b49ec44 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java @@ -195,14 +195,16 @@ public final class CraftBlockStates { diff --git a/divinemc-server/paper-patches/features/0015-Optimize-default-values-for-configs.patch b/divinemc-server/paper-patches/features/0014-Optimize-default-values-for-configs.patch similarity index 99% rename from divinemc-server/paper-patches/features/0015-Optimize-default-values-for-configs.patch rename to divinemc-server/paper-patches/features/0014-Optimize-default-values-for-configs.patch index 18e28bf..afb3d16 100644 --- a/divinemc-server/paper-patches/features/0015-Optimize-default-values-for-configs.patch +++ b/divinemc-server/paper-patches/features/0014-Optimize-default-values-for-configs.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Optimize default values for configs diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java -index 83419bbcbf79d8eed1302d66356a62fa61a33473..caa4cf0af0696b90d61f32f5445a6e6c6b5bae5d 100644 +index 696d3324a04084600b5d8c8c173b85dbc020d7c0..0b1aa06c5ac84cc4ef1320b56a1baec3d535de20 100644 --- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java @@ -347,8 +347,8 @@ public class GlobalConfiguration extends ConfigurationPart { diff --git a/divinemc-server/paper-patches/features/0016-Implement-loading-plugins-from-external-folder.patch b/divinemc-server/paper-patches/features/0015-Implement-loading-plugins-from-external-folder.patch similarity index 100% rename from divinemc-server/paper-patches/features/0016-Implement-loading-plugins-from-external-folder.patch rename to divinemc-server/paper-patches/features/0015-Implement-loading-plugins-from-external-folder.patch diff --git a/gradle.properties b/gradle.properties index 7f1e207..de4ae61 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,8 +2,8 @@ group = org.bxteam.divinemc version=1.21.6-R0.1-SNAPSHOT mcVersion=1.21.6 -purpurRef=3893bba083d4d2e2cc7e475e9239258e714f02be -experimental=true +purpurRef=47e758fb34a5dc8e7c81a99af74df6c0bf78ae42 +experimental=false org.gradle.configuration-cache=true org.gradle.caching = true diff --git a/divinemc-server/paper-patches/features/0006-Skip-EntityScheduler-s-executeTick-checks-if-there-i.patch b/patches/unapplied/0006-Skip-EntityScheduler-s-executeTick-checks-if-there-i.patch similarity index 100% rename from divinemc-server/paper-patches/features/0006-Skip-EntityScheduler-s-executeTick-checks-if-there-i.patch rename to patches/unapplied/0006-Skip-EntityScheduler-s-executeTick-checks-if-there-i.patch diff --git a/divinemc-server/minecraft-patches/features/0013-Skip-EntityScheduler-s-executeTick-checks-if-there-i.patch b/patches/unapplied/0013-Skip-EntityScheduler-s-executeTick-checks-if-there-i.patch similarity index 100% rename from divinemc-server/minecraft-patches/features/0013-Skip-EntityScheduler-s-executeTick-checks-if-there-i.patch rename to patches/unapplied/0013-Skip-EntityScheduler-s-executeTick-checks-if-there-i.patch