From bf63cfab4dfa92afc5c2a12c2c6f4cb1ddfa32df Mon Sep 17 00:00:00 2001 From: granny Date: Mon, 15 Jul 2024 17:14:04 -0700 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@b4f04ff Add Plugin#getDataPath (#11080) PaperMC/Paper@05e5865 Add ItemType#getItemRarity (#11049) PaperMC/Paper@aa929d6 Call PlayerLaunchProjectileEvent for wind charge (#10911) PaperMC/Paper@8b23018 Avoid collision shapes outside world border in findFreePosition PaperMC/Paper@3b45454 Port random ticking optimisation from Moonrise PaperMC/Paper@77fcb29 Apply incremental player/level saving patch PaperMC/Paper@9fd7710 Apply automatic regionfile header recalculation patch PaperMC/Paper@b57b24d Do not try to stop main thread during watchdog shutdown PaperMC/Paper@2cd8c46 Add OMINOUS_ITEM_SPAWNER SpawnReason (#10897) --- gradle.properties | 2 +- patches/server/0001-Rebrand.patch | 13 -- patches/server/0002-Purpur-config-files.patch | 4 +- .../server/0003-Purpur-client-support.patch | 4 +- .../0005-Component-related-conveniences.patch | 8 +- patches/server/0006-Ridables.patch | 10 +- .../0008-Barrels-and-enderchests-6-rows.patch | 4 +- patches/server/0010-AFK-API.patch | 4 +- .../0012-Configurable-server-mod-name.patch | 4 +- patches/server/0013-Lagging-threshold.patch | 4 +- .../0023-Zombie-horse-naturally-spawn.patch | 4 +- ...-Minecart-settings-and-WASD-controls.patch | 6 +- .../0042-Add-permission-for-F3-N-debug.patch | 4 +- .../0043-Configurable-TPS-Catchup.patch | 4 +- ...0056-Add-5-second-tps-average-in-tps.patch | 6 +- ...-Add-allow-water-in-end-world-option.patch | 4 +- ...leport-to-spawn-if-outside-world-bor.patch | 6 +- ...ggling-special-MobSpawners-per-world.patch | 4 +- .../0091-Configurable-daylight-cycle.patch | 12 +- ...justable-breeding-cooldown-to-config.patch | 4 +- .../0102-Add-boat-fall-damage-config.patch | 4 +- patches/server/0111-Implement-TPSBar.patch | 18 +-- .../server/0120-Fix-stuck-in-portals.patch | 4 +- ...-to-ignore-nearby-mobs-when-sleeping.patch | 4 +- .../0137-Config-for-skipping-night.patch | 4 +- ...0153-Configurable-broadcast-settings.patch | 4 +- ...ake-lightning-rod-range-configurable.patch | 4 +- ...layer-join-full-server-by-permission.patch | 4 +- ...omizable-sleeping-actionbar-messages.patch | 8 +- patches/server/0186-Add-compass-command.patch | 10 +- ...ain-and-thunder-should-stop-on-sleep.patch | 6 +- .../server/0208-UPnP-Port-Forwarding.patch | 4 +- .../server/0213-Signs-allow-color-codes.patch | 4 +- ...counts-in-beehives-to-Purpur-clients.patch | 4 +- patches/server/0226-Allow-void-trading.patch | 4 +- patches/server/0250-Remove-Timings.patch | 89 +++++++----- .../server/0251-Remove-Mojang-Profiler.patch | 136 ++++++++---------- ...58-Implement-ram-and-rambar-commands.patch | 10 +- .../0290-config-for-startup-commands.patch | 4 +- 39 files changed, 215 insertions(+), 221 deletions(-) diff --git a/gradle.properties b/gradle.properties index 722ab4025..213b21f37 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.21-R0.1-SNAPSHOT mcVersion = 1.21 -paperCommit = 8b35adca881414c92efeac9aba91a25ace9ea648 +paperCommit = 2cd8c461af74f0a524878dcdffba86cd105c48c6 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/server/0001-Rebrand.patch b/patches/server/0001-Rebrand.patch index ac55ba70f..0bf620047 100644 --- a/patches/server/0001-Rebrand.patch +++ b/patches/server/0001-Rebrand.patch @@ -213,19 +213,6 @@ index b24265573fdef5d9a964bcd76146f34542c420cf..710477ae27ebc5afdf0012ef0867d05e } public SystemReport getSystemReport() { -diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 54e581db732c3a104142a2bbc228ecbe16aec0fc..f5b725dcd132bdc5bba73211d3891599eddc119b 100644 ---- a/src/main/java/net/minecraft/server/MinecraftServer.java -+++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1029,7 +1029,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop resourcekey, RegistryAccess iregistrycustom, Holder holder, Supplier supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config & Anti-Xray this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config diff --git a/patches/server/0003-Purpur-client-support.patch b/patches/server/0003-Purpur-client-support.patch index dc2ac4c2a..c50dd1209 100644 --- a/patches/server/0003-Purpur-client-support.patch +++ b/patches/server/0003-Purpur-client-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 9d1e68c09fa7093cf0f6fa636f90cb15a44cbb38..c8f235df2cfe13458d2b259cdd4a4741db1839dd 100644 +index 71882332ee61023d656a6de3955ca34fcef1f536..bc39f3193da9ce70d4266f96d53d3e158602f09a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -301,6 +301,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -302,6 +302,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple public com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper - PlayerNaturallySpawnCreaturesEvent public @Nullable String clientBrandName = null; // Paper - Brand support public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - Add API for quit reason; there are a lot of changes to do if we change all methods leading to the event diff --git a/patches/server/0005-Component-related-conveniences.patch b/patches/server/0005-Component-related-conveniences.patch index 4867ee0df..2fccf1130 100644 --- a/patches/server/0005-Component-related-conveniences.patch +++ b/patches/server/0005-Component-related-conveniences.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index c8f235df2cfe13458d2b259cdd4a4741db1839dd..3b55fcbbc442745bfae4b57b9c0029632d764183 100644 +index bc39f3193da9ce70d4266f96d53d3e158602f09a..0b22219521ec0ecdcf7ed31eaf36ed541939e7fa 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2006,6 +2006,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -2007,6 +2007,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple this.lastSentExp = -1; // CraftBukkit - Added to reset } @@ -36,10 +36,10 @@ index c8f235df2cfe13458d2b259cdd4a4741db1839dd..3b55fcbbc442745bfae4b57b9c002963 public void displayClientMessage(Component message, boolean overlay) { this.sendSystemMessage(message, overlay); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 5f20606cc2c79ad9a4c4d4d6c9e6a2a31a88b282..5263a5eb7860f3b0ae18dbb65f562593630e01ee 100644 +index dfcaff15a145bf29e8a538d853bb04aec8c36179..939ddeb450e1f4a79fa3da69bcad44859fa826ee 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1016,6 +1016,20 @@ public abstract class PlayerList { +@@ -1017,6 +1017,20 @@ public abstract class PlayerList { } // CraftBukkit end diff --git a/patches/server/0006-Ridables.patch b/patches/server/0006-Ridables.patch index 16e1aab69..b39192eec 100644 --- a/patches/server/0006-Ridables.patch +++ b/patches/server/0006-Ridables.patch @@ -22,10 +22,10 @@ index 2767d6f97e8b314d23a8e62f22dfd396f5660d31..a64e5997b94cc8173f0512d1e282355f super(x, y, z); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f5b725dcd132bdc5bba73211d3891599eddc119b..a56d7c5993e33456908c7cc876988fee71b3e17a 100644 +index aeae4f8d4ead24db315631c3d2c0b930d0d51e02..31a8b1f07b7b479cd998e492406dcaae536ef6d9 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1777,6 +1777,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper - Add EntityMoveEvent net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers worldserver.updateLagCompensationTick(); // Paper - lag compensation @@ -34,7 +34,7 @@ index f5b725dcd132bdc5bba73211d3891599eddc119b..a56d7c5993e33456908c7cc876988fee this.profiler.push(() -> { String s = String.valueOf(worldserver); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 9456047974db6de9ed38265d5d1ab822225c484f..1d349c11a98977c84808c60124e58dfe5ea233e6 100644 +index b3ca52c0a1c4c9c2f4d86b83ad2d6308e3ba9e7c..a36cf62aaa419dc79880798bec22b83b804aceb7 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -229,6 +229,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. @@ -46,10 +46,10 @@ index 9456047974db6de9ed38265d5d1ab822225c484f..1d349c11a98977c84808c60124e58dfe public LevelChunk getChunkIfLoaded(int x, int z) { return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper - Use getChunkIfLoadedImmediately diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 3b55fcbbc442745bfae4b57b9c0029632d764183..d21fd856d41f4047e449baaf910eaa9d37af5ca8 100644 +index 0b22219521ec0ecdcf7ed31eaf36ed541939e7fa..371130f96703b854af1cf42ac693c7ae6d3a9cf4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -806,6 +806,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -807,6 +807,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple this.trackEnteredOrExitedLavaOnVehicle(); this.updatePlayerAttributes(); this.advancements.flushDirty(this); diff --git a/patches/server/0008-Barrels-and-enderchests-6-rows.patch b/patches/server/0008-Barrels-and-enderchests-6-rows.patch index f05b82f60..0abb9c8da 100644 --- a/patches/server/0008-Barrels-and-enderchests-6-rows.patch +++ b/patches/server/0008-Barrels-and-enderchests-6-rows.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Barrels and enderchests 6 rows diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 5263a5eb7860f3b0ae18dbb65f562593630e01ee..ce62bea3341dc7b653180da74b156a591b3088d1 100644 +index 939ddeb450e1f4a79fa3da69bcad44859fa826ee..2738c73a5e0747fea711900a20d83b6c9fcfb90d 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1141,6 +1141,27 @@ public abstract class PlayerList { +@@ -1142,6 +1142,27 @@ public abstract class PlayerList { player.getBukkitEntity().recalculatePermissions(); // CraftBukkit this.server.getCommands().sendCommands(player); } // Paper - Add sendOpLevel API diff --git a/patches/server/0010-AFK-API.patch b/patches/server/0010-AFK-API.patch index 036e98b03..6b7690da1 100644 --- a/patches/server/0010-AFK-API.patch +++ b/patches/server/0010-AFK-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] AFK API diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index d21fd856d41f4047e449baaf910eaa9d37af5ca8..dd623a9059500b57bebf5e9f065f55647c6df403 100644 +index 371130f96703b854af1cf42ac693c7ae6d3a9cf4..aabf6a05d433eb441fc2230a26186a3c5f187f80 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2369,8 +2369,68 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -2370,8 +2370,68 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple public void resetLastActionTime() { this.lastActionTime = Util.getMillis(); diff --git a/patches/server/0012-Configurable-server-mod-name.patch b/patches/server/0012-Configurable-server-mod-name.patch index 942452047..b64991b04 100644 --- a/patches/server/0012-Configurable-server-mod-name.patch +++ b/patches/server/0012-Configurable-server-mod-name.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index a56d7c5993e33456908c7cc876988fee71b3e17a..05a508c8bba7edd98a81a68cdee94ff5fc1aa6b6 100644 +index 31a8b1f07b7b479cd998e492406dcaae536ef6d9..f57a3ae11fdffb5fcd13a1caaf65a480c934eca1 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1935,7 +1935,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1; diff --git a/patches/server/0170-Allow-player-join-full-server-by-permission.patch b/patches/server/0170-Allow-player-join-full-server-by-permission.patch index b0b237223..e02c3a9f6 100644 --- a/patches/server/0170-Allow-player-join-full-server-by-permission.patch +++ b/patches/server/0170-Allow-player-join-full-server-by-permission.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow player join full server by permission diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 9b52cb228de73df4fec47b18f1245b34f7ee8aef..7b215f334c75d0e8714c3a9b3efef46272fa1ceb 100644 +index a1e8b2a00fdeeb26293e280a1443f99871faaa75..71f989f5349339c2481be03c81a41704ffbe42a9 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -747,7 +747,7 @@ public abstract class PlayerList { +@@ -748,7 +748,7 @@ public abstract class PlayerList { event.disallow(PlayerLoginEvent.Result.KICK_BANNED, io.papermc.paper.adventure.PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure } else { // return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile) ? IChatBaseComponent.translatable("multiplayer.disconnect.server_full") : null; diff --git a/patches/server/0181-Customizable-sleeping-actionbar-messages.patch b/patches/server/0181-Customizable-sleeping-actionbar-messages.patch index e00382b0a..54734c8b0 100644 --- a/patches/server/0181-Customizable-sleeping-actionbar-messages.patch +++ b/patches/server/0181-Customizable-sleeping-actionbar-messages.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Customizable sleeping actionbar messages diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 9bf94975fb6fda3c4079015def602247a70f4390..404d6708fbf9bb5ef67b24b13230309b8330bf29 100644 +index 15df133593a4cd5cfb3da05e743e54689933cbf7..ab7e7df685d650c1e995c25f44a45a87771fc9a7 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1060,11 +1060,27 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1080,11 +1080,27 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. if (this.canSleepThroughNights()) { if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) { int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); @@ -38,10 +38,10 @@ index 9bf94975fb6fda3c4079015def602247a70f4390..404d6708fbf9bb5ef67b24b13230309b } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index f103848df48acdaca1c5182da11cae2ea4090e41..a18c1c598644c0682b21fd4a55aeb910a211e227 100644 +index 0ec864027caf87976d6bd1a2043fa10ce958bde6..f0fbad78cb0796b29f352cad19cd2341a2cfcd03 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1572,7 +1572,19 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1573,7 +1573,19 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple }); if (!this.serverLevel().canSleepThroughNights()) { diff --git a/patches/server/0186-Add-compass-command.patch b/patches/server/0186-Add-compass-command.patch index 366e04b9b..b8cf16add 100644 --- a/patches/server/0186-Add-compass-command.patch +++ b/patches/server/0186-Add-compass-command.patch @@ -17,10 +17,10 @@ index 9f86a0397c0b64cb31dad245e2dc84d0fadd42d7..a66e2d78722847dec4e9d4aba8e6968e if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a18c1c598644c0682b21fd4a55aeb910a211e227..1c5dd59300db47391981f7c7737c80c5d68bb3aa 100644 +index f0fbad78cb0796b29f352cad19cd2341a2cfcd03..df157516c516140428d2014d392b596969cb0820 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -303,6 +303,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -304,6 +304,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - Add API for quit reason; there are a lot of changes to do if we change all methods leading to the event public boolean purpurClient = false; // Purpur private boolean tpsBar = false; // Purpur @@ -28,7 +28,7 @@ index a18c1c598644c0682b21fd4a55aeb910a211e227..1c5dd59300db47391981f7c7737c80c5 // Paper start - rewrite chunk system private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; -@@ -603,6 +604,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -604,6 +605,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple } if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur @@ -36,7 +36,7 @@ index a18c1c598644c0682b21fd4a55aeb910a211e227..1c5dd59300db47391981f7c7737c80c5 } @Override -@@ -680,6 +682,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -681,6 +683,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple } nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur @@ -44,7 +44,7 @@ index a18c1c598644c0682b21fd4a55aeb910a211e227..1c5dd59300db47391981f7c7737c80c5 } // CraftBukkit start - World fallback code, either respawn location or global spawn -@@ -3090,5 +3093,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -3091,5 +3094,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple public void tpsBar(boolean tpsBar) { this.tpsBar = tpsBar; } diff --git a/patches/server/0200-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch b/patches/server/0200-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch index 866ae9ac6..bab1e8c16 100644 --- a/patches/server/0200-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch +++ b/patches/server/0200-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Option for if rain and thunder should stop on sleep diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 404d6708fbf9bb5ef67b24b13230309b8330bf29..dad0994ae305a9ae83e1e458d2cd2f536c0b496c 100644 +index ab7e7df685d650c1e995c25f44a45a87771fc9a7..3972d26911f1f06eb2e73ecfd8d2a80cd6b521fe 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1220,6 +1220,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1240,6 +1240,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. @VisibleForTesting public void resetWeatherCycle() { // CraftBukkit start @@ -16,7 +16,7 @@ index 404d6708fbf9bb5ef67b24b13230309b8330bf29..dad0994ae305a9ae83e1e458d2cd2f53 this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - Add cause to Weather/ThunderChangeEvents // If we stop due to everyone sleeping we should reset the weather duration to some other random value. // Not that everyone ever manages to get the whole server to sleep at the same time.... -@@ -1227,6 +1228,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1247,6 +1248,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. this.serverLevelData.setRainTime(0); } // CraftBukkit end diff --git a/patches/server/0208-UPnP-Port-Forwarding.patch b/patches/server/0208-UPnP-Port-Forwarding.patch index 012ea7638..9ca065d29 100644 --- a/patches/server/0208-UPnP-Port-Forwarding.patch +++ b/patches/server/0208-UPnP-Port-Forwarding.patch @@ -5,7 +5,7 @@ Subject: [PATCH] UPnP Port Forwarding diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index a1e490b644e0e5f1b7723d5fd76430368373c1fa..e4ce331d93111b60063b287d9b748eb6990f0cb4 100644 +index fba7f3aed91af80a88054b624672c53be66f7adf..aee47b9dd5e728256211378518c7c4e1cddfe3c8 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -321,6 +321,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { entityplayer.connection.suspendFlushing(); }); @@ -97,7 +97,7 @@ index a83088548733c6475828301fe45c63bb840cc085..22ed622f081a39bb4695e49b350e9208 // Paper start - Folia scheduler API ((io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler) Bukkit.getGlobalRegionScheduler()).tick(); getAllLevels().forEach(level -> { -@@ -1758,21 +1758,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { if (!entity.isRemoved()) { if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed -@@ -794,8 +794,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -785,8 +785,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. } } }); @@ -409,17 +409,14 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de gameprofilerfiller.pop(); this.tickBlockEntities(); } -@@ -928,7 +928,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -976,12 +976,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. } // Paper - Option to disable ice and snow gameprofilerfiller.popPush("tickBlocks"); - timings.chunkTicksBlocks.startTiming(); // Paper + //timings.chunkTicksBlocks.startTiming(); // Paper // Purpur if (randomTickSpeed > 0) { - LevelChunkSection[] achunksection = chunk.getSections(); - -@@ -961,7 +961,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. - } + this.optimiseRandomTick(chunk, randomTickSpeed); // Paper - optimise random ticking } - timings.chunkTicksBlocks.stopTiming(); // Paper @@ -427,7 +424,7 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de gameprofilerfiller.pop(); } -@@ -1304,8 +1304,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1324,8 +1324,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. // Spigot end // Paper start- timings final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity); @@ -438,7 +435,7 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de // Paper end - timings entity.setOldPosAndRot(); ProfilerFiller gameprofilerfiller = this.getProfiler(); -@@ -1321,7 +1321,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1341,7 +1341,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. entity.postTick(); // CraftBukkit } else { entity.inactiveTick(); } // Paper - EAR 2 this.getProfiler().pop(); @@ -447,7 +444,7 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de Iterator iterator = entity.getPassengers().iterator(); while (iterator.hasNext()) { -@@ -1344,8 +1344,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1364,8 +1364,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. if (passenger instanceof Player || this.entityTickList.contains(passenger)) { // Paper - EAR 2 final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(passenger); @@ -458,7 +455,7 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de // Paper end passenger.setOldPosAndRot(); ++passenger.tickCount; -@@ -1375,7 +1375,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1395,7 +1395,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. this.tickPassenger(passenger, entity2); } @@ -467,7 +464,25 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de } } else { passenger.stopRiding(); -@@ -1397,7 +1397,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1415,7 +1415,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. + org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); + } + +- try (co.aikar.timings.Timing ignored = this.timings.worldSave.startTiming()) { ++ //try (co.aikar.timings.Timing ignored = this.timings.worldSave.startTiming()) { // Purpur + if (doFull) { + this.saveLevelData(true); + } +@@ -1432,7 +1432,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. + this.convertable.saveDataTag(this.server.registryAccess(), this.serverLevelData, this.server.getPlayerList().getSingleplayerData()); + } + // CraftBukkit end +- } ++ //} // Purpur + } + // Paper end - Incremental chunk and player saving + +@@ -1446,7 +1446,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. if (!savingDisabled) { org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(this.getWorld())); // CraftBukkit @@ -476,7 +491,7 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de if (progressListener != null) { progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel")); } -@@ -1407,10 +1407,10 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1456,10 +1456,10 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. progressListener.progressStage(Component.translatable("menu.savingChunks")); } @@ -491,17 +506,21 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 3b3403e07023a70f9d53c22a288cb68925ed6f21..74c6f43a26ca1b36e7121dddd9f065b2a9254493 100644 +index 71f989f5349339c2481be03c81a41704ffbe42a9..b14e56c6b117b28c604259ad179d10e79f7c4cdd 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1221,11 +1221,11 @@ public abstract class PlayerList { +@@ -1227,7 +1227,7 @@ public abstract class PlayerList { - public void saveAll() { + public void saveAll(int interval) { io.papermc.paper.util.MCUtil.ensureMain("Save Players" , () -> { // Paper - Ensure main - MinecraftTimings.savePlayers.startTiming(); // Paper + //MinecraftTimings.savePlayers.startTiming(); // Paper // Purpur + int numSaved = 0; + long now = MinecraftServer.currentTick; for (int i = 0; i < this.players.size(); ++i) { - this.save(this.players.get(i)); +@@ -1238,7 +1238,7 @@ public abstract class PlayerList { + } + // Paper end - Incremental chunk and player saving } - MinecraftTimings.savePlayers.stopTiming(); // Paper + //MinecraftTimings.savePlayers.stopTiming(); // Paper // Purpur @@ -558,10 +577,10 @@ index 85b4b24361e785acf75571ff98f924c00ae80748..09a7b418ddf564c0be13297f7c216db2 } diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index d61634dba1024ece540d79b64e013259502f7ca2..63d1f787f5cd4af900d22e2abba32ba52b615737 100644 +index 32cc7311559b2613269e347c73a1e000ff40f686..342c8a114b9063b2fa959aae22cdd2c0d412c50d 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -1373,15 +1373,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl +@@ -1415,15 +1415,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl ProfilerFiller gameprofilerfiller = this.getProfiler(); gameprofilerfiller.push("blockEntities"); @@ -580,7 +599,7 @@ index d61634dba1024ece540d79b64e013259502f7ca2..63d1f787f5cd4af900d22e2abba32ba5 // Spigot start // Iterator iterator = this.blockEntityTickers.iterator(); boolean flag = this.tickRateManager().runsNormally(); -@@ -1412,7 +1412,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl +@@ -1454,7 +1454,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl } this.blockEntityTickers.removeAll(toRemove); // Paper - Fix MC-117075 diff --git a/patches/server/0251-Remove-Mojang-Profiler.patch b/patches/server/0251-Remove-Mojang-Profiler.patch index 613aafb4a..3b6119601 100644 --- a/patches/server/0251-Remove-Mojang-Profiler.patch +++ b/patches/server/0251-Remove-Mojang-Profiler.patch @@ -83,7 +83,7 @@ index e9775b4506909bee65a74964f0d5391a0513de1d..684f7f202305c09b1037c5d38a52a5ea } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9fd2eaf27 100644 +index a7554d272d13747bed32ce4190b58151b106f7e4..0852e14cbb194bd524147ec443eb2791e9ecf3a6 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -422,13 +422,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { return false; } : this::haveTime); -@@ -1335,7 +1335,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0 && this.tickCount % autosavePeriod == 0; + try { + this.isSaving = true; +@@ -1642,7 +1642,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Purpur @@ -240,7 +246,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9 try { //worldserver.timings.doTick.startTiming(); // Spigot // Purpur -@@ -1830,17 +1830,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { this.executeBlocking(() -> { this.saveDebugReport(path.resolve("server")); -@@ -2851,40 +2852,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0 && this.random.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot // Paper - Option to disable thunder BlockPos blockposition = this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15)); -@@ -917,7 +917,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -965,7 +965,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. } } @@ -732,7 +738,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3 if (!this.paperConfig().environment.disableIceAndSnow) { // Paper - Option to disable ice and snow for (int l = 0; l < randomTickSpeed; ++l) { -@@ -927,7 +927,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -975,14 +975,14 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. } } // Paper - Option to disable ice and snow @@ -740,25 +746,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3 + //gameprofilerfiller.popPush("tickBlocks"); // Purpur //timings.chunkTicksBlocks.startTiming(); // Paper // Purpur if (randomTickSpeed > 0) { - LevelChunkSection[] achunksection = chunk.getSections(); -@@ -942,7 +942,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. - for (int l1 = 0; l1 < randomTickSpeed; ++l1) { - BlockPos blockposition1 = this.getBlockRandomPos(j, k1, k, 15); - -- gameprofilerfiller.push("randomTick"); -+ //gameprofilerfiller.push("randomTick"); // Purpur - BlockState iblockdata = chunksection.getBlockState(blockposition1.getX() - j, blockposition1.getY() - k1, blockposition1.getZ() - k); - - if (iblockdata.isRandomlyTicking()) { -@@ -955,14 +955,14 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. - fluid.randomTick(this, blockposition1, this.random); - } - -- gameprofilerfiller.pop(); -+ //gameprofilerfiller.pop(); // Purpur - } - } - } + this.optimiseRandomTick(chunk, randomTickSpeed); // Paper - optimise random ticking } //timings.chunkTicksBlocks.stopTiming(); // Paper // Purpur @@ -767,7 +755,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3 } @VisibleForTesting -@@ -1308,19 +1308,19 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1328,19 +1328,19 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. //try { // Purpur // Paper end - timings entity.setOldPosAndRot(); @@ -792,7 +780,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3 //} finally { timer.stopTiming(); } // Paper - timings // Purpur Iterator iterator = entity.getPassengers().iterator(); -@@ -1349,12 +1349,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1369,12 +1369,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. // Paper end passenger.setOldPosAndRot(); ++passenger.tickCount; @@ -809,7 +797,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3 // Paper start - EAR 2 if (isActive) { passenger.rideTick(); -@@ -1366,7 +1366,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1386,7 +1386,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. vehicle.positionRider(passenger); } // Paper end - EAR 2 @@ -819,10 +807,10 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3 while (iterator.hasNext()) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 14cdfe81c61c5c324f8b5c7687814274c091e205..45bfe47a0bd2d9e3f36cd44e964a8922995a999d 100644 +index 2021e6db4864b5e20a6483605e6372de2efaba4d..7c7124f6b5911d4fa63af03f018323b6032a06a4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1400,7 +1400,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1401,7 +1401,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple this.unsetRemoved(); */ // CraftBukkit end @@ -831,7 +819,7 @@ index 14cdfe81c61c5c324f8b5c7687814274c091e205..45bfe47a0bd2d9e3f36cd44e964a8922 if (worldserver != null && resourcekey == LevelStem.OVERWORLD && worldserver.getTypeKey() == LevelStem.NETHER) { // CraftBukkit - empty to fall through to null to event this.enteredNetherPosition = this.position(); } -@@ -1416,8 +1416,8 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1417,8 +1417,8 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple worldserver = ((CraftWorld) exit.getWorld()).getHandle(); // CraftBukkit end @@ -842,7 +830,7 @@ index 14cdfe81c61c5c324f8b5c7687814274c091e205..45bfe47a0bd2d9e3f36cd44e964a8922 // CraftBukkit start this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds LevelData worlddata = worldserver.getLevelData(); -@@ -1435,7 +1435,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -1436,7 +1436,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple this.connection.teleport(exit); // CraftBukkit - use internal teleport without event this.connection.resetPosition(); worldserver.addDuringTeleport(this); @@ -1806,7 +1794,7 @@ index a248d859cbce48f4a34c4771a7acffc17d7edc84..4ce32603dcd691e018a3e1962311d2ac if (this.fire) { diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181d967bac6 100644 +index 342c8a114b9063b2fa959aae22cdd2c0d412c50d..ba2254ef7688177eff2ed8115726b7b551620560 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -269,7 +269,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -1827,7 +1815,7 @@ index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181 final List ret = new java.util.ArrayList<>(); ((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemLevel)this).moonrise$getEntityLookup().getHardCollidingEntities(entity, box, ret, predicate); -@@ -1370,9 +1370,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl +@@ -1412,9 +1412,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl } protected void tickBlockEntities() { @@ -1839,7 +1827,7 @@ index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181 //this.timings.tileEntityPending.startTiming(); // Spigot // Purpur this.tickingBlockEntities = true; if (!this.pendingBlockEntityTickers.isEmpty()) { -@@ -1415,7 +1415,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl +@@ -1457,7 +1457,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl //this.timings.tileEntityTick.stopTiming(); // Spigot // Purpur this.tickingBlockEntities = false; co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper @@ -1848,7 +1836,7 @@ index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181 this.spigotConfig.currentPrimedTnt = 0; // Spigot } -@@ -1627,7 +1627,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl +@@ -1669,7 +1669,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @Override public List getEntities(@Nullable Entity except, AABB box, Predicate predicate) { @@ -1857,7 +1845,7 @@ index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181 // Paper start - rewrite chunk system final List ret = new java.util.ArrayList<>(); -@@ -1653,7 +1653,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl +@@ -1695,7 +1695,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl public void getEntities(final EntityTypeTest entityTypeTest, final AABB boundingBox, final Predicate predicate, final List into, final int maxCount) { @@ -1866,7 +1854,7 @@ index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181 if (entityTypeTest instanceof net.minecraft.world.entity.EntityType byType) { if (maxCount != Integer.MAX_VALUE) { -@@ -1948,6 +1948,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl +@@ -1990,6 +1990,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl } public ProfilerFiller getProfiler() { diff --git a/patches/server/0258-Implement-ram-and-rambar-commands.patch b/patches/server/0258-Implement-ram-and-rambar-commands.patch index 5b7925d06..b25e3d269 100644 --- a/patches/server/0258-Implement-ram-and-rambar-commands.patch +++ b/patches/server/0258-Implement-ram-and-rambar-commands.patch @@ -18,10 +18,10 @@ index 24cb04cd33cfe578286c85a892b20bbf3fc843e6..8468452ff61f226b65be1dad21b627f2 if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 45bfe47a0bd2d9e3f36cd44e964a8922995a999d..c8ccf4b847ba3803b48c26ad6e6acecb327c76c5 100644 +index 7c7124f6b5911d4fa63af03f018323b6032a06a4..4b5d0ccd37534bd987d997338033e363a7a56b76 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -304,6 +304,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -305,6 +305,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple public boolean purpurClient = false; // Purpur private boolean tpsBar = false; // Purpur private boolean compassBar = false; // Purpur @@ -29,7 +29,7 @@ index 45bfe47a0bd2d9e3f36cd44e964a8922995a999d..c8ccf4b847ba3803b48c26ad6e6acecb // Paper start - rewrite chunk system private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; -@@ -605,6 +606,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -606,6 +607,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur if (nbt.contains("Purpur.CompassBar")) { this.compassBar = nbt.getBoolean("Purpur.CompassBar"); } // Purpur @@ -37,7 +37,7 @@ index 45bfe47a0bd2d9e3f36cd44e964a8922995a999d..c8ccf4b847ba3803b48c26ad6e6acecb } @Override -@@ -681,6 +683,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -682,6 +684,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple }); } @@ -45,7 +45,7 @@ index 45bfe47a0bd2d9e3f36cd44e964a8922995a999d..c8ccf4b847ba3803b48c26ad6e6acecb nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur } -@@ -3102,5 +3105,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -3103,5 +3106,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple public void compassBar(boolean compassBar) { this.compassBar = compassBar; } diff --git a/patches/server/0290-config-for-startup-commands.patch b/patches/server/0290-config-for-startup-commands.patch index 38dabe898..188c141cf 100644 --- a/patches/server/0290-config-for-startup-commands.patch +++ b/patches/server/0290-config-for-startup-commands.patch @@ -5,10 +5,10 @@ Subject: [PATCH] config for startup commands diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 67f4d022628029d777e0d8185d1e75b9fd2eaf27..7115c04cacfd373b2d9ce0e34460aa695bb65bcd 100644 +index 0852e14cbb194bd524147ec443eb2791e9ecf3a6..b8628e9ab434feaae40c65f0fa016f6d57352f38 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1268,6 +1268,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop