From e3035c3ef72c59c1715f761f977213a7a893d3ce Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Sat, 27 Jul 2024 17:18:40 +0800 Subject: [PATCH] Updated Upstream (Paper/Gale/Purpur) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@3a47518 Deprecate more Timings things for removal (#11126) PaperMC/Paper@aa36ae6 Fix EntityUnleashEvent cancellation on distance cause (#11131) PaperMC/Paper@73a863b Fix horse inventories indices (#11139) PaperMC/Paper@5512af7 [ci skip] remove timings from issue templates (#11127) PaperMC/Paper@5a5035b Fix a couple of ItemMeta related NPEs (#11149) PaperMC/Paper@e1462a9 Bump MCUtils#asyncExecutor core size Gale Changes: Dreeam-qwq/Gale@c296cee Updated Upstream (Paper) Dreeam-qwq/Gale@e75adf1 Updated Upstream (Paper) Dreeam-qwq/Gale@9ab192b Updated Upstream (Paper) Dreeam-qwq/Gale@e6dfb44 Updated Upstream (Paper) Purpur Changes: PurpurMC/Purpur@61b63b1 Updated Upstream (Paper) PurpurMC/Purpur@c3849be Fire EntityTeleportHinderedEvent when attempting to teleport a player with passengers (#1563) PurpurMC/Purpur@7e0ca92 [ci skip] missed rebranding PurpurMC/Purpur@82ccc76 Updated Upstream (Paper) --- gradle.properties | 2 +- patches/api/0004-Purpur-API-Changes.patch | 2 +- patches/api/0005-Remove-Timings.patch | 91 +++++++++++-------- .../0001-Purpur-generated-api-Changes.patch | 2 +- .../server/0010-Purpur-Server-Changes.patch | 16 +++- .../server/0020-KeYi-Player-Skull-API.patch | 4 +- ...-SparklyPaper-Optimize-canSee-checks.patch | 4 +- 7 files changed, 73 insertions(+), 48 deletions(-) diff --git a/gradle.properties b/gradle.properties index 7abbfe95..ae355c89 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 = 393246435d796be3eef4424c8c35fd00bd40a826 +galeCommit = e6dfb44d27fbdfea9c67deae91367ab82b3b0264 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 efecf5d3..3bacf4ab 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: b2d1fea9bea1718e0abf5d7309d0cda7193e981e +Commit: 82ccc768fe7f5b88d756da939d9771687733071f Patches below are removed in this patch: Pufferfish-API-Changes.patch diff --git a/patches/api/0005-Remove-Timings.patch b/patches/api/0005-Remove-Timings.patch index 6131d135..0dcabd7c 100644 --- a/patches/api/0005-Remove-Timings.patch +++ b/patches/api/0005-Remove-Timings.patch @@ -7,10 +7,10 @@ Completely remove the Timings, since it wastes too much performance. Use Spark i diff --git a/src/main/java/co/aikar/timings/FullServerTickHandler.java b/src/main/java/co/aikar/timings/FullServerTickHandler.java deleted file mode 100644 -index 16040016d7de911eddec278ec2adc2b856df9bcd..0000000000000000000000000000000000000000 +index fd9c06853a503aa787c4d93801714024465a7ee2..0000000000000000000000000000000000000000 --- a/src/main/java/co/aikar/timings/FullServerTickHandler.java +++ /dev/null -@@ -1,84 +0,0 @@ +@@ -1,87 +0,0 @@ -package co.aikar.timings; - -import static co.aikar.timings.TimingsManager.*; @@ -18,6 +18,9 @@ index 16040016d7de911eddec278ec2adc2b856df9bcd..00000000000000000000000000000000 -import org.bukkit.Bukkit; -import org.jetbrains.annotations.NotNull; - +-/** +- * @deprecated Timings will be removed in the future +- */ -@Deprecated(forRemoval = true) -public class FullServerTickHandler extends TimingHandler { - private static final TimingIdentifier IDENTITY = new TimingIdentifier("Minecraft", "Full Server Tick", null); @@ -97,10 +100,10 @@ index 16040016d7de911eddec278ec2adc2b856df9bcd..00000000000000000000000000000000 -} diff --git a/src/main/java/co/aikar/timings/NullTimingHandler.java b/src/main/java/co/aikar/timings/NullTimingHandler.java deleted file mode 100644 -index 81671cf40feeed2844ee8d92348d48062aaf2c46..0000000000000000000000000000000000000000 +index 42e7e712403676171d34d5f2be27e48e7a071ebd..0000000000000000000000000000000000000000 --- a/src/main/java/co/aikar/timings/NullTimingHandler.java +++ /dev/null -@@ -1,69 +0,0 @@ +@@ -1,72 +0,0 @@ -/* - * This file is licensed under the MIT License (MIT). - * @@ -129,6 +132,9 @@ index 81671cf40feeed2844ee8d92348d48062aaf2c46..00000000000000000000000000000000 -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - +-/** +- * @deprecated Timings will be removed in the future +- */ -@Deprecated(forRemoval = true) -public final class NullTimingHandler implements Timing { - public static final Timing NULL = new NullTimingHandler(); @@ -172,10 +178,10 @@ index 81671cf40feeed2844ee8d92348d48062aaf2c46..00000000000000000000000000000000 -} diff --git a/src/main/java/co/aikar/timings/TimedEventExecutor.java b/src/main/java/co/aikar/timings/TimedEventExecutor.java deleted file mode 100644 -index 8f29c1561ba5916cb5634392edd8bd2a5a294a51..0000000000000000000000000000000000000000 +index 157617933a772451f6c073d97afaf305769b4d40..0000000000000000000000000000000000000000 --- a/src/main/java/co/aikar/timings/TimedEventExecutor.java +++ /dev/null -@@ -1,90 +0,0 @@ +@@ -1,93 +0,0 @@ -/* - * This file is licensed under the MIT License (MIT). - * @@ -212,6 +218,9 @@ index 8f29c1561ba5916cb5634392edd8bd2a5a294a51..00000000000000000000000000000000 -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - +-/** +- * @deprecated Timings will be removed in the future +- */ -@Deprecated(forRemoval = true) -public class TimedEventExecutor implements EventExecutor { - @@ -268,7 +277,7 @@ index 8f29c1561ba5916cb5634392edd8bd2a5a294a51..00000000000000000000000000000000 -} diff --git a/src/main/java/co/aikar/timings/Timing.java b/src/main/java/co/aikar/timings/Timing.java deleted file mode 100644 -index 7514fad26f955329f8bf17ff17db75f0c8301ee5..0000000000000000000000000000000000000000 +index 4195efcfe044618052bb03dea34a4fb2ca7c44f0..0000000000000000000000000000000000000000 --- a/src/main/java/co/aikar/timings/Timing.java +++ /dev/null @@ -1,86 +0,0 @@ @@ -303,7 +312,7 @@ index 7514fad26f955329f8bf17ff17db75f0c8301ee5..00000000000000000000000000000000 -/** - * Provides an ability to time sections of code within the Minecraft Server - * -- * @deprecated Timings will likely be replaced with Spark in the future +- * @deprecated Timings will be removed in the future - */ -@Deprecated(forRemoval = true) -public interface Timing extends AutoCloseable { @@ -720,10 +729,10 @@ index 51d54b87106aa17c2de9ab22eae22d176c7d0bfc..00000000000000000000000000000000 -} diff --git a/src/main/java/co/aikar/timings/TimingHistory.java b/src/main/java/co/aikar/timings/TimingHistory.java deleted file mode 100644 -index 2d87237ea99d42c6ce896d52a1b2e5c3ec4d4568..0000000000000000000000000000000000000000 +index 6f6eb1a2e6c8d49014a7ae44540ee282bae5200e..0000000000000000000000000000000000000000 --- a/src/main/java/co/aikar/timings/TimingHistory.java +++ /dev/null -@@ -1,352 +0,0 @@ +@@ -1,357 +0,0 @@ -/* - * This file is licensed under the MIT License (MIT). - * @@ -776,6 +785,11 @@ index 2d87237ea99d42c6ce896d52a1b2e5c3ec4d4568..00000000000000000000000000000000 -import static co.aikar.timings.TimingsManager.MINUTE_REPORTS; -import static co.aikar.util.JSONUtil.*; - +-/** +- * Internal. +- * +- * @deprecated Timings will be removed in the future +- */ -@Deprecated(forRemoval = true) -@SuppressWarnings({"deprecation", "SuppressionAnnotation", "Convert2Lambda", "Anonymous2MethodRef"}) -public class TimingHistory { @@ -1264,7 +1278,7 @@ index df142a89b8c43acb81eb383eac0ef048a1f49a6e..00000000000000000000000000000000 -} diff --git a/src/main/java/co/aikar/timings/Timings.java b/src/main/java/co/aikar/timings/Timings.java deleted file mode 100644 -index 445b5d3b61f31cf263475d0155a7b0252c54a3f8..0000000000000000000000000000000000000000 +index e81d0bc309de877ed2b5da6122f55c162e9b5f10..0000000000000000000000000000000000000000 --- a/src/main/java/co/aikar/timings/Timings.java +++ /dev/null @@ -1,331 +0,0 @@ @@ -1311,7 +1325,7 @@ index 445b5d3b61f31cf263475d0155a7b0252c54a3f8..00000000000000000000000000000000 -import org.jetbrains.annotations.Nullable; - -/** -- * @deprecated Timings will likely be replaced with Spark in the future +- * @deprecated Timings will be removed in the future - */ -@Deprecated(forRemoval = true) -@SuppressWarnings({"UnusedDeclaration", "WeakerAccess", "SameParameterValue"}) @@ -1601,10 +1615,10 @@ index 445b5d3b61f31cf263475d0155a7b0252c54a3f8..00000000000000000000000000000000 - diff --git a/src/main/java/co/aikar/timings/TimingsCommand.java b/src/main/java/co/aikar/timings/TimingsCommand.java deleted file mode 100644 -index e801e79fa57c44b2e5d359647c920f88064826f1..0000000000000000000000000000000000000000 +index 95d87c9dbf2b237787294dfbe7fed87a36e6dedf..0000000000000000000000000000000000000000 --- a/src/main/java/co/aikar/timings/TimingsCommand.java +++ /dev/null -@@ -1,124 +0,0 @@ +@@ -1,126 +0,0 @@ -/* - * This file is licensed under the MIT License (MIT). - * @@ -1643,7 +1657,9 @@ index e801e79fa57c44b2e5d359647c920f88064826f1..00000000000000000000000000000000 - -import static net.kyori.adventure.text.Component.text; - -- +-/** +- * @deprecated Timings will be removed in the future +- */ -@Deprecated(forRemoval = true) -public class TimingsCommand extends BukkitCommand { - private static final List TIMINGS_SUBCOMMANDS = ImmutableList.of("report", "reset", "on", "off", "paste", "verbon", "verboff"); @@ -1731,7 +1747,7 @@ index e801e79fa57c44b2e5d359647c920f88064826f1..00000000000000000000000000000000 -} diff --git a/src/main/java/co/aikar/timings/TimingsManager.java b/src/main/java/co/aikar/timings/TimingsManager.java deleted file mode 100644 -index 5e1558ca3ffeeaf2645fa003965474a442d650bf..0000000000000000000000000000000000000000 +index e72ad05abada04426e32a73d02b21cb69079d268..0000000000000000000000000000000000000000 --- a/src/main/java/co/aikar/timings/TimingsManager.java +++ /dev/null @@ -1,192 +0,0 @@ @@ -1777,7 +1793,7 @@ index 5e1558ca3ffeeaf2645fa003965474a442d650bf..00000000000000000000000000000000 -import org.jetbrains.annotations.Nullable; - -/** -- * @deprecated Timings will likely be replaced with Spark in the future +- * @deprecated Timings will be removed in the future - */ -@Deprecated(forRemoval = true) -public final class TimingsManager { @@ -1929,10 +1945,10 @@ index 5e1558ca3ffeeaf2645fa003965474a442d650bf..00000000000000000000000000000000 -} diff --git a/src/main/java/co/aikar/timings/TimingsReportListener.java b/src/main/java/co/aikar/timings/TimingsReportListener.java deleted file mode 100644 -index 3af5b8ea795311582044c712de50d29412024b77..0000000000000000000000000000000000000000 +index df066d6f8d55afbc0c1897c486d638657a5f8df9..0000000000000000000000000000000000000000 --- a/src/main/java/co/aikar/timings/TimingsReportListener.java +++ /dev/null -@@ -1,87 +0,0 @@ +@@ -1,90 +0,0 @@ -package co.aikar.timings; - -import com.google.common.base.Preconditions; @@ -1947,6 +1963,9 @@ index 3af5b8ea795311582044c712de50d29412024b77..00000000000000000000000000000000 - -import java.util.List; - +-/** +- * @deprecated Timings will be removed in the future +- */ -@Deprecated(forRemoval = true) -@SuppressWarnings("WeakerAccess") -public class TimingsReportListener implements net.kyori.adventure.audience.ForwardingAudience, MessageCommandSender { @@ -2820,30 +2839,20 @@ index 3e61a926620a67daec3af54b72a1b911eaef2ed4..00000000000000000000000000000000 - return new MRUMapCache(map); - } -} -diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index c133564b8e8364f1eb7f0e82eed3b0add7f47351..939f9bae99b77993044e9d3fba0d81dee79e21e6 100644 ---- a/src/main/java/org/bukkit/UnsafeValues.java -+++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -155,7 +155,8 @@ public interface UnsafeValues { - - // Paper start - /** -- * Server name to report to timings v2 -+ * Server name -+ * - * @return name - */ - String getTimingsServerName(); diff --git a/src/main/java/org/bukkit/command/BufferedCommandSender.java b/src/main/java/org/bukkit/command/BufferedCommandSender.java deleted file mode 100644 -index f9a00aecca5ec41b460bf41dfe1c69694768cf98..0000000000000000000000000000000000000000 +index 45ed63797b13e114bf3795c80a6c3967d8eb2351..0000000000000000000000000000000000000000 --- a/src/main/java/org/bukkit/command/BufferedCommandSender.java +++ /dev/null -@@ -1,21 +0,0 @@ +@@ -1,25 +0,0 @@ -package org.bukkit.command; - -import org.jetbrains.annotations.NotNull; - +-/** +- * @deprecated Timings will be removed in the future +- */ +-@Deprecated(forRemoval = true) -public class BufferedCommandSender implements MessageCommandSender { - private final StringBuffer buffer = new StringBuffer(); - @Override @@ -2862,14 +2871,22 @@ index f9a00aecca5ec41b460bf41dfe1c69694768cf98..00000000000000000000000000000000 - } -} diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java -index c7cdc2ad8a2c43e8c0fcaa1761d3b81726c5ebcb..3b73c0e59788f5f49ca2423032550f11855d52ae 100644 +index 0a26fffe9b1e5080b5639767a03af11006108b4a..3b73c0e59788f5f49ca2423032550f11855d52ae 100644 --- a/src/main/java/org/bukkit/command/Command.java +++ b/src/main/java/org/bukkit/command/Command.java -@@ -33,8 +33,6 @@ public abstract class Command { +@@ -33,16 +33,6 @@ public abstract class Command { protected String usageMessage; private String permission; private net.kyori.adventure.text.Component permissionMessage; // Paper +- /** +- * @deprecated Timings will be removed in the future +- */ +- @Deprecated(forRemoval = true) - public co.aikar.timings.Timing timings; // Paper +- /** +- * @deprecated Timings will be removed in the future +- */ +- @Deprecated(forRemoval = true) - @NotNull public String getTimingName() {return getName();} // Paper protected Command(@NotNull String name) { diff --git a/patches/generated-api/0001-Purpur-generated-api-Changes.patch b/patches/generated-api/0001-Purpur-generated-api-Changes.patch index 5ce4411c..4ba16fb3 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: b2d1fea9bea1718e0abf5d7309d0cda7193e981e +Commit: 82ccc768fe7f5b88d756da939d9771687733071f 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/0010-Purpur-Server-Changes.patch b/patches/server/0010-Purpur-Server-Changes.patch index 62401bf2..043f8e90 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: b2d1fea9bea1718e0abf5d7309d0cda7193e981e +Commit: 82ccc768fe7f5b88d756da939d9771687733071f Patches below are removed in this patch: Brand changes in Rebrand.patch @@ -17417,7 +17417,7 @@ index 351f42842b780d053cd2e5bad9ae299449141b10..4860574e7fad7a9527dda599703c573c + // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 992437a6e838f653f32d33b5b3f702c484640a97..b9130d040acff1e5cb7a475be93b03cdbe229683 100644 +index 992437a6e838f653f32d33b5b3f702c484640a97..e3100e65fea02374d4393bab48d63ddeaecef0ab 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -576,10 +576,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -17445,7 +17445,15 @@ index 992437a6e838f653f32d33b5b3f702c484640a97..b9130d040acff1e5cb7a475be93b03cd return false; } -@@ -2753,6 +2759,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1452,6 +1458,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + } + + if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API ++ if (!new org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, cause).callEvent()) // Purpur start + return false; + } + +@@ -2753,6 +2760,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } @@ -17474,7 +17482,7 @@ index 992437a6e838f653f32d33b5b3f702c484640a97..b9130d040acff1e5cb7a475be93b03cd private void validateSpeed(float value) { Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value); } -@@ -3554,4 +3582,70 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3554,4 +3583,70 @@ public class CraftPlayer extends CraftHumanEntity implements Player { ((ca.spottedleaf.moonrise.patches.chunk_system.player.ChunkSystemServerPlayer)this.getHandle()) .moonrise$getViewDistanceHolder().setSendViewDistance(viewDistance); } diff --git a/patches/server/0020-KeYi-Player-Skull-API.patch b/patches/server/0020-KeYi-Player-Skull-API.patch index 93c9592d..231fd588 100644 --- a/patches/server/0020-KeYi-Player-Skull-API.patch +++ b/patches/server/0020-KeYi-Player-Skull-API.patch @@ -7,10 +7,10 @@ Original license: MIT Original project: https://github.com/KeYiMC/KeYi diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b9130d040acff1e5cb7a475be93b03cdbe229683..6b285e068cc789fd49a8c0f22ebd98378b6dd86b 100644 +index e3100e65fea02374d4393bab48d63ddeaecef0ab..4890f2a28d862b93b591e18e5cb0bea912ed9e41 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3648,4 +3648,27 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3649,4 +3649,27 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundPlayerCombatKillPacket(getEntityId(), io.papermc.paper.adventure.PaperAdventure.asVanilla(message))); } // Purpur end diff --git a/patches/server/0056-SparklyPaper-Optimize-canSee-checks.patch b/patches/server/0056-SparklyPaper-Optimize-canSee-checks.patch index 521c60b5..4a9a6922 100644 --- a/patches/server/0056-SparklyPaper-Optimize-canSee-checks.patch +++ b/patches/server/0056-SparklyPaper-Optimize-canSee-checks.patch @@ -29,7 +29,7 @@ index 10479df72c815e235f5eef9eeae3bdd32f1ef665..1a075df1eff98970acc389aadd472b52 } // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8b100977de2aa5e1d7d68442e85584e351f4c03c..675b86360802a19eea84a72aec48392a95fbdb25 100644 +index 4d01b79df543f0e37c756ca31d46c6b38c73d6e2..4231ebf983def7f551ee9bb77cbf4780a3a01ace 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -200,7 +200,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -41,7 +41,7 @@ index 8b100977de2aa5e1d7d68442e85584e351f4c03c..675b86360802a19eea84a72aec48392a private final Set unlistedEntities = new HashSet<>(); // Paper - Add Listing API for Player private static final WeakHashMap> pluginWeakReferences = new WeakHashMap<>(); private int hash = 0; -@@ -2264,9 +2264,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2265,9 +2265,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public boolean canSee(org.bukkit.entity.Entity entity) {