From 8b6170a774b1332d7f3c6de5643de4b8390cdbc2 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Tue, 30 Jul 2024 00:05:32 +0800 Subject: [PATCH] Updated Upstream (Paper/Gale/Purpur) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@645a677 Make max interaction range configurable (#11164) PaperMC/Paper@66165f7 Fix PickupStatus getting reset (#11154) PaperMC/Paper@dcbd99d Fix Owen's typos (#11179) PaperMC/Paper@f82bea6 Add argument for FinePosition to brig API (#11094) PaperMC/Paper@694b120 Remove Entity tracker field PaperMC/Paper@f774787 Copy missed changes to chunk system from Folia PaperMC/Paper@50bdfc3 Null check tracker in Entity#resendPossiblyDesyncedEntityData PaperMC/Paper@3234b20 Do not allow chunk unloading outside of the regular tick loop PaperMC/Paper@0246a9d Add mob bucket items to item id to entity map in DataConverter PaperMC/Paper@438863c Shutdown L4J cordially if the server stops before it's even started (#11172) PaperMC/Paper@100d75a Don't entirely die just because a plugin jar was bad Gale Changes: Dreeam-qwq/Gale@0e82dc2 Updated Upstream (Paper) Dreeam-qwq/Gale@a6f7132 Updated Upstream (Paper) Dreeam-qwq/Gale@dc88322 Completely remove /perf command Dreeam-qwq/Gale@0a50015 Use vanilla values for hopper checking nearby items Dreeam-qwq/Gale@169d56c Updated Upstream (Paper) Purpur Changes: PurpurMC/Purpur@72ccfbd Updated Upstream (Paper) --- gradle.properties | 2 +- patches/api/0004-Purpur-API-Changes.patch | 2 +- .../0001-Purpur-generated-api-Changes.patch | 2 +- patches/server/0003-Leaf-Config.patch | 8 +-- ...006-Pufferfish-Optimize-mob-spawning.patch | 12 ++--- ...fferfish-Dynamic-Activation-of-Brain.patch | 4 +- .../server/0010-Purpur-Server-Changes.patch | 54 +++++++++---------- ...11-Fix-Pufferfish-and-Purpur-patches.patch | 16 +++--- ...-Purpur-Configurable-server-mod-name.patch | 4 +- patches/server/0014-Remove-Timings.patch | 48 ++++++++--------- .../server/0030-Leaves-Protocol-Core.patch | 4 +- .../0048-Linear-region-file-format.patch | 4 +- ...p-EntityScheduler-s-executeTick-chec.patch | 8 +-- ...-SparklyPaper-Optimize-canSee-checks.patch | 4 +- .../0064-Improve-Purpur-AFK-system.patch | 6 +-- patches/server/0070-Matter-Secure-Seed.patch | 4 +- 16 files changed, 91 insertions(+), 91 deletions(-) diff --git a/gradle.properties b/gradle.properties index ae355c89..95f5bc9e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = cn.dreeam.leaf mcVersion = 1.21 version = 1.21-R0.1-SNAPSHOT -galeCommit = e6dfb44d27fbdfea9c67deae91367ab82b3b0264 +galeCommit = 169d56ce3f7b17935fd575884ac6820568f6eb15 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0004-Purpur-API-Changes.patch b/patches/api/0004-Purpur-API-Changes.patch index 3bacf4ab..bb591259 100644 --- a/patches/api/0004-Purpur-API-Changes.patch +++ b/patches/api/0004-Purpur-API-Changes.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Purpur API Changes Original license: MIT Original project: https://github.com/PurpurMC/Purpur -Commit: 82ccc768fe7f5b88d756da939d9771687733071f +Commit: 72ccfbd343bd2af2df3456d43aa737d6cfe849db Patches below are removed in this patch: Pufferfish-API-Changes.patch diff --git a/patches/generated-api/0001-Purpur-generated-api-Changes.patch b/patches/generated-api/0001-Purpur-generated-api-Changes.patch index 4ba16fb3..5c5bc304 100644 --- a/patches/generated-api/0001-Purpur-generated-api-Changes.patch +++ b/patches/generated-api/0001-Purpur-generated-api-Changes.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Purpur generated-api Changes Original license: MIT Original project: https://github.com/PurpurMC/Purpur -Commit: 82ccc768fe7f5b88d756da939d9771687733071f +Commit: 72ccfbd343bd2af2df3456d43aa737d6cfe849db diff --git a/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/com/destroystokyo/paper/entity/ai/VanillaGoal.java index 3add91218dd3f07052aa932f0503d1f10ac3799b..3e41a4141095bce989c75e989293deb3f47e8e6d 100644 diff --git a/patches/server/0003-Leaf-Config.patch b/patches/server/0003-Leaf-Config.patch index 03de265b..68a36667 100644 --- a/patches/server/0003-Leaf-Config.patch +++ b/patches/server/0003-Leaf-Config.patch @@ -29,10 +29,10 @@ index a79693afc8c21448a4134f730eff910e1b88e2a8..ca9f19c451155e3b411171f757ed9fee implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("net.minecrell:terminalconsoleappender:1.3.0") diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index f76ca394169d844a263a53c31c30e57de4381e0d..d2ea951c7e5899d0e2edb52064e35c23965c4230 100644 +index 278adb48400ca9d4fd37bff040b37d4a8dd47282..759b22fc6f949829cef757232357368ef80d0d34 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -123,6 +123,7 @@ public class Main { +@@ -124,6 +124,7 @@ public class Main { Bootstrap.bootStrap(); Bootstrap.validate(); Util.startTimerHackThread(); @@ -41,10 +41,10 @@ index f76ca394169d844a263a53c31c30e57de4381e0d..d2ea951c7e5899d0e2edb52064e35c23 DedicatedServerSettings dedicatedserversettings = new DedicatedServerSettings(optionset); // CraftBukkit - CLI argument support diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 52a37cd37d5376c329c46c5c6775fc7590d2cf40..e923bbd1d9b5c1783a4486cf4ed8c609b652d8fe 100644 +index f4dd63ae1a9715f3cd10949ca49a269897443e56..1e18635c78ee73fab352465e56f2dc827ae8337a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1221,6 +1221,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop persistentStateManagerFactory) { this.level = world; this.mainThreadProcessor = new ServerChunkCache.MainThreadExecutor(world); -@@ -452,6 +455,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -453,6 +456,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon // Paper start - Optional per player mob spawns int naturalSpawnChunkCount = k; if ((this.spawnFriendlies || this.spawnEnemies) && this.level.paperConfig().entities.spawning.perPlayerMobSpawns) { // don't count mobs when animals and monsters are disabled @@ -66,7 +66,7 @@ index d2750fb7efbe8c1c77d4cb57f6ceec4fd968e326..a3283d6bd8654ef580274f83c7defccc // re-set mob counts for (ServerPlayer player : this.level.players) { // Paper start - per player mob spawning backoff -@@ -466,14 +470,18 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -467,14 +471,18 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon } // Paper end - per player mob spawning backoff } @@ -88,7 +88,7 @@ index d2750fb7efbe8c1c77d4cb57f6ceec4fd968e326..a3283d6bd8654ef580274f83c7defccc // Gale start - MultiPaper - skip unnecessary mob spawning computations } else { spawnercreature_d = null; -@@ -501,8 +509,8 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -502,8 +510,8 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon if (true && this.chunkMap.anyPlayerCloseEnoughForSpawning(chunkcoordintpair)) { // Paper - rewrite chunk system chunk1.incrementInhabitedTime(j); @@ -99,7 +99,7 @@ index d2750fb7efbe8c1c77d4cb57f6ceec4fd968e326..a3283d6bd8654ef580274f83c7defccc } if (true) { // Paper - rewrite chunk system -@@ -542,6 +550,40 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -543,6 +551,40 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing // Paper end - chunk tick iteration optimisations } diff --git a/patches/server/0007-Pufferfish-Dynamic-Activation-of-Brain.patch b/patches/server/0007-Pufferfish-Dynamic-Activation-of-Brain.patch index cc6c9cab..ab361584 100644 --- a/patches/server/0007-Pufferfish-Dynamic-Activation-of-Brain.patch +++ b/patches/server/0007-Pufferfish-Dynamic-Activation-of-Brain.patch @@ -44,10 +44,10 @@ index 7e94dcbf3adb8954800a6d577b39616638d673e8..4c95cb6a53004157faac55540225da3e if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed entity.discard(); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 29f12201886905a6d73c52d1b59c53341841d878..a6d8986e455fe7c273990bf22ebf50cdcf592798 100644 +index cdf7063bc7ae02652c55363e44c9ae809a999436..be9815bdf5652a7856fd72d3fca3e2562b2fb8c6 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -431,6 +431,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -430,6 +430,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess private UUID originWorld; public boolean freezeLocked = false; // Paper - Freeze Tick Lock API public boolean fixedPose = false; // Paper - Expand Pose API diff --git a/patches/server/0010-Purpur-Server-Changes.patch b/patches/server/0010-Purpur-Server-Changes.patch index 043f8e90..94787ac4 100644 --- a/patches/server/0010-Purpur-Server-Changes.patch +++ b/patches/server/0010-Purpur-Server-Changes.patch @@ -8,7 +8,7 @@ TODO - Dreeam: Check Fix-pufferfish-issues.patch Original license: MIT Original project: https://github.com/PurpurMC/Purpur -Commit: 82ccc768fe7f5b88d756da939d9771687733071f +Commit: 72ccfbd343bd2af2df3456d43aa737d6cfe849db Patches below are removed in this patch: Brand changes in Rebrand.patch @@ -375,10 +375,10 @@ index 2d344df35d47b4b1ecddf32ccaa4dae41e5f58cb..08e783882d0b2ef3ebf88e664f1a3d8b boolean flag1 = this.source.acceptsSuccess() && !this.silent; boolean flag2 = broadcastToOps && this.source.shouldInformAdmins() && !this.silent; diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index bb795990efbcc077bf47f9814281b691e7e9b920..919adb27e11e678b35bf045b8a5b07d15a7ab712 100644 +index 037a01f6e657289783f7ee66aa3a022310687f58..b6713361cd104786f52bd880418b8653e4126fda 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -219,8 +219,8 @@ public class Commands { +@@ -218,8 +218,8 @@ public class Commands { JfrCommand.register(this.dispatcher); } @@ -389,7 +389,7 @@ index bb795990efbcc077bf47f9814281b691e7e9b920..919adb27e11e678b35bf045b8a5b07d1 RaidCommand.register(this.dispatcher, commandRegistryAccess); DebugPathCommand.register(this.dispatcher); DebugMobSpawningCommand.register(this.dispatcher); -@@ -248,6 +248,14 @@ public class Commands { +@@ -246,6 +246,14 @@ public class Commands { StopCommand.register(this.dispatcher); TransferCommand.register(this.dispatcher); WhitelistCommand.register(this.dispatcher); @@ -554,10 +554,10 @@ index 76ef195a5074006b009acd9cc1744667c6aecbb9..659577549e132754281df76a7a1bfd88 public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) { this.gameTime = time; diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index d2ea951c7e5899d0e2edb52064e35c23965c4230..b929842514a97ca993ead608d355a4af2a32bf1f 100644 +index 759b22fc6f949829cef757232357368ef80d0d34..94e6f298b12f86f923bb58b88caec6f3c3b37aa6 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -119,6 +119,12 @@ public class Main { +@@ -120,6 +120,12 @@ public class Main { JvmProfiler.INSTANCE.start(Environment.SERVER); } @@ -571,7 +571,7 @@ index d2ea951c7e5899d0e2edb52064e35c23965c4230..b929842514a97ca993ead608d355a4af Bootstrap.bootStrap(); Bootstrap.validate(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 81c1b8b4154934d91d25527351e8f13f9208af21..6b60bdfb517eb56f1cf306bdee394744dd4d58bd 100644 +index 99f8d182023bc25ad3bcf546c6f11c8abe6a1a5f..9d082b3c06281b0cafe455959d6ef20b8891110e 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -289,6 +289,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 @@ -1498,7 +1498,7 @@ index a720a05c47b2137a07515461960603cc5c939d16..b66fdb789fcb460d63fd81540112d655 try { String channels = payload.toString(com.google.common.base.Charsets.UTF_8); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e533bb09c9eec023ec44e559969f2cb0f166d95b..7fca156cf43281b64d4f2d521aa73e81ffa7f75b 100644 +index 08199435320f31421cd2b70b221fd519fdac0b59..785a2dcfad72126bff078bfd63649da6eb053ad6 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -337,6 +337,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -1730,7 +1730,7 @@ index e533bb09c9eec023ec44e559969f2cb0f166d95b..7fca156cf43281b64d4f2d521aa73e81 @@ -2714,6 +2793,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl AABB axisalignedbb = entity.getBoundingBox(); - if (this.player.canInteractWithEntity(axisalignedbb, 1.0D)) { + if (this.player.canInteractWithEntity(axisalignedbb, io.papermc.paper.configuration.GlobalConfiguration.get().misc.clientInteractionLeniencyDistance.or(1.0D))) { // Paper - configurable lenience value for interact range + if (entity instanceof Mob mob) mob.ticksSinceLastInteraction = 0; // Purpur packet.dispatch(new ServerboundInteractPacket.Handler() { private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit @@ -2100,7 +2100,7 @@ index f43bf280999ff3860cc702def50cc62b131eb1bd..66d9e99a351f5fc6cf58be3bee4397d9 } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 25b75576d34e7d63222a500f21783c34f74ef7bc..82058eca78cde75755d1d657a834dc83abd4531e 100644 +index 815db5b0a24f1628d646893ebad466dcee2ab0bd..c0995861d1987f62f1bf2d37939f57c55f314c24 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -169,6 +169,7 @@ import org.bukkit.plugin.PluginManager; @@ -2111,7 +2111,7 @@ index 25b75576d34e7d63222a500f21783c34f74ef7bc..82058eca78cde75755d1d657a834dc83 // CraftBukkit start private static final int CURRENT_LEVEL = 2; public boolean preserveMotion = true; // Paper - Fix Entity Teleportation and cancel velocity if teleported; keep initial motion on first setPositionRotation -@@ -345,6 +346,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -344,6 +345,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess public double xOld; public double yOld; public double zOld; @@ -2119,7 +2119,7 @@ index 25b75576d34e7d63222a500f21783c34f74ef7bc..82058eca78cde75755d1d657a834dc83 public boolean noPhysics; public final RandomSource random; public int tickCount; -@@ -385,7 +387,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -384,7 +386,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess private final Set tags; private final double[] pistonDeltas; private long pistonDeltasGameTime; @@ -2128,7 +2128,7 @@ index 25b75576d34e7d63222a500f21783c34f74ef7bc..82058eca78cde75755d1d657a834dc83 private float eyeHeight; public boolean isInPowderSnow; public boolean wasInPowderSnow; -@@ -433,6 +435,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -432,6 +434,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess public boolean fixedPose = false; // Paper - Expand Pose API public boolean activatedPriorityReset = false; // Pufferfish - DAB public int activatedPriority = org.dreeam.leaf.config.modules.opt.DynamicActivationofBrain.maximumActivationPrio; // Pufferfish - DAB (golf score) @@ -2136,7 +2136,7 @@ index 25b75576d34e7d63222a500f21783c34f74ef7bc..82058eca78cde75755d1d657a834dc83 public void setOrigin(@javax.annotation.Nonnull Location location) { this.origin = location.toVector(); -@@ -555,6 +558,28 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -554,6 +557,28 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } // Paper end - optimise entity tracker @@ -2165,7 +2165,7 @@ index 25b75576d34e7d63222a500f21783c34f74ef7bc..82058eca78cde75755d1d657a834dc83 public Entity(EntityType type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); this.passengers = ImmutableList.of(); -@@ -562,7 +587,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -561,7 +586,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.bb = Entity.INITIAL_AABB; this.stuckSpeedMultiplier = Vec3.ZERO; this.nextStep = 1.0F; @@ -12548,7 +12548,7 @@ index 156fdf06737afa40874a25313cf49b1bff30b50b..530bc9487cab6c24fb36a204f87f97e2 CriteriaTriggers.CONSUME_ITEM.trigger((ServerPlayer) this, stack); } diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java -index 95ac8f4af849523e25b95b624d59f9f5ae5877b4..6b570b96570ce515dc150610886587e8f0398331 100644 +index 6b652424786841f147f1c55617defd0e2a994b5f..95ba3fb31899125c6378c2d5e3789c41f9466f2b 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java @@ -80,6 +80,7 @@ public abstract class AbstractArrow extends Projectile { @@ -12618,10 +12618,10 @@ index 8575941fd238750c5d56843989a48bcbde2d8a88..b4ed2df8d0795409808df0205edce6da protected double getDefaultGravity() { return 0.06D; diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index bf1e1e7561b674ace6bfd601a5c1ddfcd203ac04..4275eb588114522d337f39c6f3503cd9d4be92e9 100644 +index 3e4f72012f07863b6dfc14a36d07b66c4641c560..85983dd81dbc9f2d187a224298b56613dab18f8a 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -@@ -394,7 +394,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { +@@ -400,7 +400,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { public boolean mayInteract(Level world, BlockPos pos) { Entity entity = this.getOwner(); @@ -17212,7 +17212,7 @@ index d657fd2c507a5b215aeab0a5f3e9c2ee892a27c8..985e9ec21c60a1f47973bd5fc53b96a6 // Paper start @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 2cde808bfa797256409879505ba205a71f381981..4b7d38a5ac6247c6e9d71ac7f3b65765ed3cf3ee 100644 +index cd789c235acf740ec29c30b180e7fbe1a140caa9..bec40e26e17ba6fdefb68c79e2fa7a9593b0f4fe 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -86,6 +86,23 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -17247,7 +17247,7 @@ index 2cde808bfa797256409879505ba205a71f381981..4b7d38a5ac6247c6e9d71ac7f3b65765 return false; } -@@ -1297,4 +1315,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1299,4 +1317,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.getHandle().getScoreboardName(); } // Paper end - entity scoreboard name diff --git a/patches/server/0011-Fix-Pufferfish-and-Purpur-patches.patch b/patches/server/0011-Fix-Pufferfish-and-Purpur-patches.patch index a5338730..96f20c19 100644 --- a/patches/server/0011-Fix-Pufferfish-and-Purpur-patches.patch +++ b/patches/server/0011-Fix-Pufferfish-and-Purpur-patches.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix Pufferfish and Purpur patches diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 6b60bdfb517eb56f1cf306bdee394744dd4d58bd..3c4e693ed09e7ccc5f94873a2c91e567be72b758 100644 +index 9d082b3c06281b0cafe455959d6ef20b8891110e..5071828f4ec318ca457d7c29d5ffaa3de2f43e48 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -300,7 +300,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop S spin(Function serverFactory) { AtomicReference atomicreference = new AtomicReference(); -@@ -1035,6 +1035,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop implements ServerInfo, ChunkIOErrorReporter, CommandSource, AutoCloseable, ca.spottedleaf.moonrise.patches.chunk_system.server.ChunkSystemMinecraftServer { // Paper - rewrite chunk system public static final int SERVER_THREAD_PRIORITY = Integer.getInteger("gale.thread.priority.server", -1); // Gale - server thread priority environment variable -@@ -1025,7 +1023,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { return !this.canSleepForTickNoOversleep(); // Paper - move oversleep into full server tick -@@ -1600,15 +1596,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { entityplayer.connection.suspendFlushing(); }); @@ -914,7 +914,7 @@ index 88edabf6f9b95812da88e3961de7884055429570..181e966274812a7ceab1246538f5f3af // Paper start - Folia scheduler API ((io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler) Bukkit.getGlobalRegionScheduler()).tick(); getAllLevels().forEach(level -> { -@@ -1756,20 +1744,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop list = Lists.newArrayList(); List list1 = this.level.players(); ObjectIterator objectiterator = this.entityMap.values().iterator(); @@ -1047,7 +1047,7 @@ index 84d5891ed67e9123f9b8f029fb14f944e34c3332..10479df72c815e235f5eef9eeae3bdd3 ChunkMap.TrackedEntity playerchunkmap_entitytracker; -@@ -977,17 +975,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -976,17 +974,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider playerchunkmap_entitytracker.serverEntity.sendChanges(); } } @@ -1066,7 +1066,7 @@ index 84d5891ed67e9123f9b8f029fb14f944e34c3332..10479df72c815e235f5eef9eeae3bdd3 } diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 3934f3c280ab94b72b3f0ccaa4d0a8d9b43acf29..bc3e4237137683f32e1832499491c33da20efdbd 100644 +index 8fded112c6c30070ee6514ef25f1bad1d3fba4c1..42f2961ce975920bb20c73bd3e5b4b7876f81006 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java @@ -358,9 +358,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -1079,7 +1079,7 @@ index 3934f3c280ab94b72b3f0ccaa4d0a8d9b43acf29..bc3e4237137683f32e1832499491c33d } @Override -@@ -391,24 +389,18 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -392,24 +390,18 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @Override public void tick(BooleanSupplier shouldKeepTicking, boolean tickChunks) { @@ -1104,7 +1104,7 @@ index 3934f3c280ab94b72b3f0ccaa4d0a8d9b43acf29..bc3e4237137683f32e1832499491c33d this.clearCache(); } -@@ -439,7 +431,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -440,7 +432,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon } // Paper end - chunk tick iteration optimisations Iterator iterator = null; // Paper - chunk tick iteration optimisations @@ -1112,7 +1112,7 @@ index 3934f3c280ab94b72b3f0ccaa4d0a8d9b43acf29..bc3e4237137683f32e1832499491c33d // Paper - chunk tick iteration optimisations -@@ -450,7 +441,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -451,7 +442,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon boolean flagAndHasNaturalSpawn = flag && this.anySpawnCategoryIsSpawnedThisTick(); if (flagAndHasNaturalSpawn) { // Gale end - MultiPaper - skip unnecessary mob spawning computations @@ -1120,7 +1120,7 @@ index 3934f3c280ab94b72b3f0ccaa4d0a8d9b43acf29..bc3e4237137683f32e1832499491c33d int k = this.distanceManager.getNaturalSpawnChunkCount(); // Paper start - Optional per player mob spawns int naturalSpawnChunkCount = k; -@@ -479,7 +469,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -480,7 +470,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon // Pufferfish end } // Paper end - Optional per player mob spawns @@ -1128,7 +1128,7 @@ index 3934f3c280ab94b72b3f0ccaa4d0a8d9b43acf29..bc3e4237137683f32e1832499491c33d //this.lastSpawnState = spawnercreature_d; // Pufferfish - this is managed asynchronously // Gale start - MultiPaper - skip unnecessary mob spawning computations -@@ -523,17 +512,13 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -524,17 +513,13 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon } } } @@ -1146,7 +1146,7 @@ index 3934f3c280ab94b72b3f0ccaa4d0a8d9b43acf29..bc3e4237137683f32e1832499491c33d { final it.unimi.dsi.fastutil.objects.ObjectArrayList chunks = (it.unimi.dsi.fastutil.objects.ObjectArrayList)list; final ServerChunkCache.ChunkAndHolder[] raw = chunks.elements(); -@@ -547,7 +532,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -548,7 +533,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon holder.holder().broadcastChanges(holder.chunk()); } } diff --git a/patches/server/0030-Leaves-Protocol-Core.patch b/patches/server/0030-Leaves-Protocol-Core.patch index 061453de..773fbb50 100644 --- a/patches/server/0030-Leaves-Protocol-Core.patch +++ b/patches/server/0030-Leaves-Protocol-Core.patch @@ -51,10 +51,10 @@ index 1967c43ee3a12e63365cc40ee6565307e2fd73cf..6e376d0db5321d8e9b6e0b54617ffd17 assert isValidPath(path); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 181e966274812a7ceab1246538f5f3af2fcc7c8a..0efdd09dea7e43264fe764b92f1de250df421866 100644 +index 3220e5d9a2dfd80da573047bcdab7faf6a78398e..64792ae9fd6ca979c51980ce23697d9dc29b396a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1808,6 +1808,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop S spin(Function serverFactory) { AtomicReference atomicreference = new AtomicReference(); -@@ -1731,6 +1732,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { for (final Entity entity : level.moonrise$getEntityLookup().getAllCopy()) { // Paper - rewrite chunk system if (entity.isRemoved()) { -@@ -1742,6 +1755,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index bc3e4237137683f32e1832499491c33da20efdbd..4345f092c45e6e238a5a30a97decd3518e3f050e 100644 +index 42f2961ce975920bb20c73bd3e5b4b7876f81006..cd4410a28d3311d089256a189ebbfe2e8831b507 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -605,6 +605,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -606,6 +606,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon } public ChunkGenerator getGenerator() {