From 52477a91ae3f2c27203b169e120eed9c64d118b0 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Mon, 17 Mar 2025 14:30:27 -0400 Subject: [PATCH] Updated Upstream (Paper/Gale) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@f4f27551 [ci/skip] Clarify BlockFadeEvent#getNewState javadocs (#12250) PaperMC/Paper@102c8bbc Add config for updating equipment on player actions (#12275) PaperMC/Paper@f0388e2f Call EntityPushedByEntityAttackEvent for Mace AoE (#12257) PaperMC/Paper@c37b890c More deferred requireNonNull message creation PaperMC/Paper@310f5229 Add unsupported config option and internal API to simplify remote item matching PaperMC/Paper@6ea42025 Send all attributes on respawn (#12274) PaperMC/Paper@2d3a1385 [ci/skip] Refine recipe management API documentation. (#12287) PaperMC/Paper@aaaeb4e1 [ci/skip] Make compilation logs actually readable (#12276) PaperMC/Paper@bb1beda6 feat: add event to wind charge explode (#12248) Gale Changes: Dreeam-qwq/Gale@43bfa513 Updated Upstream (Paper) Dreeam-qwq/Gale@ab0a7189 Updated Upstream () Dreeam-qwq/Gale@27ddb2fa [ci/skip] Added merge announcement Dreeam-qwq/Gale@523e7745 [ci/skip] Fix announcement format Dreeam-qwq/Gale@d91ed070 [ci/skip] Update annocement --- build.gradle.kts | 3 ++- gradle.properties | 2 +- .../features/0101-Smooth-teleport-config.patch | 8 ++++---- .../features/0106-Cache-chunk-key.patch | 2 +- .../0115-Cache-supporting-block-check.patch | 2 +- ...che-eligible-players-for-despawn-checks.patch | 8 ++++---- ...-Rewrite-queue-on-Connection.flushQueue.patch | 2 +- ...-Don-t-block-main-thread-in-Connection-.patch | 2 +- ...141-SparklyPaper-Parallel-world-ticking.patch | 16 ++++++++-------- .../0005-Purpur-Server-Paper-Changes.patch | 16 ++++++++-------- .../features/0008-KeYi-Player-Skull-API.patch | 4 ++-- .../features/0009-Slice-Smooth-Teleports.patch | 4 ++-- .../features/0011-Leaves-Replay-Mod-API.patch | 4 ++-- ...014-SparklyPaper-Optimize-canSee-checks.patch | 6 +++--- .../dreeam/leaf/util/item/ItemStackStripper.java | 12 ++++-------- 15 files changed, 44 insertions(+), 47 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index d6aba3ea..b49ba44d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -34,7 +34,8 @@ subprojects { options.encoding = Charsets.UTF_8.name() options.release = 21 options.isFork = true - options.forkOptions.memoryMaximumSize = "6g" + options.compilerArgs.addAll(listOf("-Xlint:-deprecation", "-Xlint:-removal")) + options.forkOptions.memoryMaximumSize = "6g" // Prevent OOM during building } tasks.withType { options.encoding = Charsets.UTF_8.name() diff --git a/gradle.properties b/gradle.properties index 54766034..f15322b6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group=cn.dreeam.leaf mcVersion=1.21.4 version=1.21.4-R0.1-SNAPSHOT -galeCommit=119ea5b00abb21109606d9c75e80a79db37c3603 +galeCommit=d91ed070e0d43a18f64c545559840e35396f65a7 org.gradle.configuration-cache=true org.gradle.caching=true diff --git a/leaf-server/minecraft-patches/features/0101-Smooth-teleport-config.patch b/leaf-server/minecraft-patches/features/0101-Smooth-teleport-config.patch index 8498a309..e82a75a8 100644 --- a/leaf-server/minecraft-patches/features/0101-Smooth-teleport-config.patch +++ b/leaf-server/minecraft-patches/features/0101-Smooth-teleport-config.patch @@ -9,10 +9,10 @@ happen but the visual "refresh" of a world change is hidden. Depending on the de this can act as a "smooth teleport" to a world if the new world is very similar looking to the old one. diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index e1a1bddfc11da20f3a1b9a2773b19d4317fac914..01c30802a1d0127f2ed36efa7511c2ac6b2b5cfa 100644 +index 2a3c38cd8e31f73eca2508ad94e46ace980de50c..336215befa7eb4b20fc86f224a019080cea70113 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java -@@ -1468,6 +1468,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1475,6 +1475,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc LevelData worlddata = level.getLevelData(); this.connection.send(new ClientboundRespawnPacket(this.createCommonSpawnInfo(level), (byte) 3)); @@ -20,7 +20,7 @@ index e1a1bddfc11da20f3a1b9a2773b19d4317fac914..01c30802a1d0127f2ed36efa7511c2ac this.connection.send(new ClientboundChangeDifficultyPacket(worlddata.getDifficulty(), worlddata.isDifficultyLocked())); PlayerList playerList = this.server.getPlayerList(); -@@ -1477,7 +1478,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1484,7 +1485,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc // CraftBukkit end this.portalPos = io.papermc.paper.util.MCUtil.toBlockPosition(exit); // Purpur - Fix stuck in portals this.setServerLevel(level); @@ -30,7 +30,7 @@ index e1a1bddfc11da20f3a1b9a2773b19d4317fac914..01c30802a1d0127f2ed36efa7511c2ac level.addDuringTeleport(this); this.triggerDimensionChangeTriggers(serverLevel); diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index 119ffa8f10bdcc27ff4b7dc4e1ef18212607c4bf..e402e5a741c3864f66cf9c713f2bb83191d4607e 100644 +index bda8e9e23f63a6eb27f71fc795ad6495e62f00f2..f59662da0bbfe0e768c4ac5c7491d13263ac5cac 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java @@ -955,11 +955,11 @@ public abstract class PlayerList { diff --git a/leaf-server/minecraft-patches/features/0106-Cache-chunk-key.patch b/leaf-server/minecraft-patches/features/0106-Cache-chunk-key.patch index a9932a9c..a66e140d 100644 --- a/leaf-server/minecraft-patches/features/0106-Cache-chunk-key.patch +++ b/leaf-server/minecraft-patches/features/0106-Cache-chunk-key.patch @@ -84,7 +84,7 @@ index 571db5f9bf94745a8afe2cd313e593fb15db5e37..1487b7d8be435b3fbad2aabd05796965 valueInMap = new ServerChunkTasks( keyInMap, ServerLightQueue.this.lightInterface, ServerLightQueue.this, priority diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java -index 5423d8228c1da56135ae32b958f432d5b94707ed..95bed1e67758543a7aec12eee1229ee2c4057c88 100644 +index 268c463d379528b8242f1628e97e67ea638b7ced..20ded514a74652685b2f785c7fe5fda19e36b2a5 100644 --- a/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java @@ -508,7 +508,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe diff --git a/leaf-server/minecraft-patches/features/0115-Cache-supporting-block-check.patch b/leaf-server/minecraft-patches/features/0115-Cache-supporting-block-check.patch index 133644d2..044b101e 100644 --- a/leaf-server/minecraft-patches/features/0115-Cache-supporting-block-check.patch +++ b/leaf-server/minecraft-patches/features/0115-Cache-supporting-block-check.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Cache supporting block check diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 4544dd876d3cbcdb9b774b4a1f0c4737f3124bc5..6ca446fd9ab38329ba505526a56f8e4f64a9a639 100644 +index 80ad278eac81aac72d6ec7737287ad018eff7c54..9bc978ca290ca772b0367e89b69fe16b502b0cd2 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -1083,12 +1083,36 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/leaf-server/minecraft-patches/features/0123-Cache-eligible-players-for-despawn-checks.patch b/leaf-server/minecraft-patches/features/0123-Cache-eligible-players-for-despawn-checks.patch index 9c6ba3c8..cd9d210f 100644 --- a/leaf-server/minecraft-patches/features/0123-Cache-eligible-players-for-despawn-checks.patch +++ b/leaf-server/minecraft-patches/features/0123-Cache-eligible-players-for-despawn-checks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Cache eligible players for despawn checks diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java -index 1277b4b6b5283afebb78b403824e6a5aa1e5734f..427bac8001e43826fa4922ef3bb91c6d2d93f858 100644 +index 20ded514a74652685b2f785c7fe5fda19e36b2a5..5da07e22ef9dac7baca9d8450b7eae3f6fa141b1 100644 --- a/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java @@ -735,6 +735,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -38,10 +38,10 @@ index 1277b4b6b5283afebb78b403824e6a5aa1e5734f..427bac8001e43826fa4922ef3bb91c6d .forEach( entity -> { diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index 01c30802a1d0127f2ed36efa7511c2ac6b2b5cfa..523d27ae8837bc4da2f993964aa99ab91617ec01 100644 +index 336215befa7eb4b20fc86f224a019080cea70113..e2b15968e89a532ec21c786f41b7f9322fd65a04 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java -@@ -1569,6 +1569,13 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1576,6 +1576,13 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc this.containerMenu.broadcastChanges(); } @@ -56,7 +56,7 @@ index 01c30802a1d0127f2ed36efa7511c2ac6b2b5cfa..523d27ae8837bc4da2f993964aa99ab9 private Either getBedResult(BlockPos at, Direction direction) { if (this.isSleeping() || !this.isAlive()) { diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java -index b541236c39e3f36bcc619fffe83e32987df20adf..67d9415a53813675d9b7dadf928756d59204208e 100644 +index 54eeb0b112112bc5d3f4165c0ea43cf67931a739..05d5cde42b7011091ef4ee874c0d9d5586ae3f10 100644 --- a/net/minecraft/world/entity/Mob.java +++ b/net/minecraft/world/entity/Mob.java @@ -854,7 +854,24 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab diff --git a/leaf-server/minecraft-patches/features/0125-Rewrite-queue-on-Connection.flushQueue.patch b/leaf-server/minecraft-patches/features/0125-Rewrite-queue-on-Connection.flushQueue.patch index 507a0596..bf118f9e 100644 --- a/leaf-server/minecraft-patches/features/0125-Rewrite-queue-on-Connection.flushQueue.patch +++ b/leaf-server/minecraft-patches/features/0125-Rewrite-queue-on-Connection.flushQueue.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Rewrite queue on Connection.flushQueue diff --git a/net/minecraft/network/Connection.java b/net/minecraft/network/Connection.java -index 7b78c0af4a83bd39a5bc2d6554cc677bd4c0c822..a5c0dd4b150fe85ab7633b1232e211f67de035b6 100644 +index 00a82873d226f113278632a53c0faca420dd67d4..9aeadf792eb7c6c39044df00fa7ff80017ba72d0 100644 --- a/net/minecraft/network/Connection.java +++ b/net/minecraft/network/Connection.java @@ -85,7 +85,7 @@ public class Connection extends SimpleChannelInboundHandler> { diff --git a/leaf-server/minecraft-patches/features/0126-ShreddedPaper-Don-t-block-main-thread-in-Connection-.patch b/leaf-server/minecraft-patches/features/0126-ShreddedPaper-Don-t-block-main-thread-in-Connection-.patch index 7fdc13ad..8d4399d3 100644 --- a/leaf-server/minecraft-patches/features/0126-ShreddedPaper-Don-t-block-main-thread-in-Connection-.patch +++ b/leaf-server/minecraft-patches/features/0126-ShreddedPaper-Don-t-block-main-thread-in-Connection-.patch @@ -6,7 +6,7 @@ Subject: [PATCH] ShreddedPaper: Don't block main thread in diff --git a/net/minecraft/network/Connection.java b/net/minecraft/network/Connection.java -index 570a6b844319491b1e07df0a3e55d0b29533c649..5a8133497d9c1260a3bba7e9dc7f3b059bbe6b1a 100644 +index 9aeadf792eb7c6c39044df00fa7ff80017ba72d0..2aba58b4c1afb843b61d9a5113ed058b06278348 100644 --- a/net/minecraft/network/Connection.java +++ b/net/minecraft/network/Connection.java @@ -325,6 +325,7 @@ public class Connection extends SimpleChannelInboundHandler> { diff --git a/leaf-server/minecraft-patches/features/0141-SparklyPaper-Parallel-world-ticking.patch b/leaf-server/minecraft-patches/features/0141-SparklyPaper-Parallel-world-ticking.patch index 19396832..e3befac8 100644 --- a/leaf-server/minecraft-patches/features/0141-SparklyPaper-Parallel-world-ticking.patch +++ b/leaf-server/minecraft-patches/features/0141-SparklyPaper-Parallel-world-ticking.patch @@ -560,7 +560,7 @@ index 5da07e22ef9dac7baca9d8450b7eae3f6fa141b1..3c0975e419b8ce58371e0cfae07abdad // Paper start - extra debug info if (entity.valid) { diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index 523d27ae8837bc4da2f993964aa99ab91617ec01..f9900d8193dc804652bd5485fdc4ebd3ac4f667a 100644 +index e2b15968e89a532ec21c786f41b7f9322fd65a04..f792e0f898f5310697eea44b5ec8258e30bd3567 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java @@ -174,6 +174,7 @@ import net.minecraft.world.scores.ScoreAccess; @@ -571,7 +571,7 @@ index 523d27ae8837bc4da2f993964aa99ab91617ec01..f9900d8193dc804652bd5485fdc4ebd3 import org.slf4j.Logger; public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patches.chunk_system.player.ChunkSystemServerPlayer { // Paper - rewrite chunk system -@@ -427,6 +428,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -434,6 +435,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc return this.viewDistanceHolder; } // Paper end - rewrite chunk system @@ -579,7 +579,7 @@ index 523d27ae8837bc4da2f993964aa99ab91617ec01..f9900d8193dc804652bd5485fdc4ebd3 public ServerPlayer(MinecraftServer server, ServerLevel level, GameProfile gameProfile, ClientInformation clientInformation) { super(level, level.getSharedSpawnPos(), level.getSharedSpawnAngle(), gameProfile); -@@ -803,6 +805,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -810,6 +812,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc @Override public void tick() { @@ -587,7 +587,7 @@ index 523d27ae8837bc4da2f993964aa99ab91617ec01..f9900d8193dc804652bd5485fdc4ebd3 // CraftBukkit start if (this.joining) { this.joining = false; -@@ -1447,6 +1450,8 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1454,6 +1457,8 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc teleportTransition.postTeleportTransition().onTransition(this); return this; } else { @@ -596,7 +596,7 @@ index 523d27ae8837bc4da2f993964aa99ab91617ec01..f9900d8193dc804652bd5485fdc4ebd3 // CraftBukkit start /* this.isChangingDimension = true; -@@ -1818,6 +1823,12 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1825,6 +1830,12 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc return OptionalInt.empty(); } else { // CraftBukkit start @@ -609,7 +609,7 @@ index 523d27ae8837bc4da2f993964aa99ab91617ec01..f9900d8193dc804652bd5485fdc4ebd3 this.containerMenu = abstractContainerMenu; // Moved up if (!this.isImmobile()) this.connection -@@ -1882,6 +1893,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1889,6 +1900,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc } @Override public void closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason reason) { @@ -622,7 +622,7 @@ index 523d27ae8837bc4da2f993964aa99ab91617ec01..f9900d8193dc804652bd5485fdc4ebd3 // Paper end - Inventory close reason this.connection.send(new ClientboundContainerClosePacket(this.containerMenu.containerId)); diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index e402e5a741c3864f66cf9c713f2bb83191d4607e..c48dea3a728659587e635ab317599d94e1d30547 100644 +index f59662da0bbfe0e768c4ac5c7491d13263ac5cac..1643b3af9b33931277c03dbfa2f85e36b53978d6 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java @@ -1,5 +1,6 @@ @@ -811,7 +811,7 @@ index 0b4c4707139c9c72929799818ec1a1b25575d70e..e7d11397701c7f8c7f1602572382373d }); } diff --git a/net/minecraft/world/inventory/AbstractContainerMenu.java b/net/minecraft/world/inventory/AbstractContainerMenu.java -index 6033f629ac457472ad10f8e346732a596aea52d9..9386cd41657076c126c70d1582a0857a90d11278 100644 +index d42f30a7ccdc10bc1f2bfc4b8d93821aa0a25679..4e82d3e714c39bf0a614e8692aca6364b76138a2 100644 --- a/net/minecraft/world/inventory/AbstractContainerMenu.java +++ b/net/minecraft/world/inventory/AbstractContainerMenu.java @@ -33,6 +33,7 @@ import net.minecraft.world.item.BundleItem; diff --git a/leaf-server/paper-patches/features/0005-Purpur-Server-Paper-Changes.patch b/leaf-server/paper-patches/features/0005-Purpur-Server-Paper-Changes.patch index 11faed9c..1d66ffb3 100644 --- a/leaf-server/paper-patches/features/0005-Purpur-Server-Paper-Changes.patch +++ b/leaf-server/paper-patches/features/0005-Purpur-Server-Paper-Changes.patch @@ -1139,10 +1139,10 @@ index 351f42842b780d053cd2e5bad9ae299449141b10..054d2c2b93c43faeeaf56f482eb7b943 + // Purpur end - Llama API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 0e0abc233f6425a6303672d87429bcdfaf04f842..8d1bd62f880b394af8fdb14dbeb67e714e7e9bab 100644 +index 5050f446e75f0ec17daf994ed74cbcd3155664c1..4e1a2344e2cf2683afb7b90a2c17cef14ec226e6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -592,10 +592,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -594,10 +594,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setPlayerListName(String name) { @@ -1159,7 +1159,7 @@ index 0e0abc233f6425a6303672d87429bcdfaf04f842..8d1bd62f880b394af8fdb14dbeb67e71 if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined for (ServerPlayer player : (List) this.server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { -@@ -1434,6 +1439,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1436,6 +1441,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper start - Teleport passenger API // Don't allow teleporting between worlds while keeping passengers if (ignorePassengers && entity.isVehicle() && location.getWorld() != this.getWorld()) { @@ -1167,7 +1167,7 @@ index 0e0abc233f6425a6303672d87429bcdfaf04f842..8d1bd62f880b394af8fdb14dbeb67e71 return false; } -@@ -1455,6 +1461,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1457,6 +1463,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API @@ -1175,7 +1175,7 @@ index 0e0abc233f6425a6303672d87429bcdfaf04f842..8d1bd62f880b394af8fdb14dbeb67e71 return false; } -@@ -2753,6 +2760,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2755,6 +2762,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } @@ -1204,9 +1204,9 @@ index 0e0abc233f6425a6303672d87429bcdfaf04f842..8d1bd62f880b394af8fdb14dbeb67e71 private void validateSpeed(float value) { Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value); } -@@ -3606,4 +3635,75 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - public void setDeathScreenScore(final int score) { - getHandle().setScore(score); +@@ -3624,4 +3653,75 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + public void setSimplifyContainerDesyncCheck(final boolean simplifyContainerDesyncCheck) { + this.simplifyContainerDesyncCheck = simplifyContainerDesyncCheck; } + + // Purpur start - Purpur client support diff --git a/leaf-server/paper-patches/features/0008-KeYi-Player-Skull-API.patch b/leaf-server/paper-patches/features/0008-KeYi-Player-Skull-API.patch index 19858a7a..a750bebc 100644 --- a/leaf-server/paper-patches/features/0008-KeYi-Player-Skull-API.patch +++ b/leaf-server/paper-patches/features/0008-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 8d1bd62f880b394af8fdb14dbeb67e714e7e9bab..1ff7cf9913cae99e79248093f0edec85e9f40dd1 100644 +index 4e1a2344e2cf2683afb7b90a2c17cef14ec226e6..d910faa326612a7272ca3204d436ee7781504645 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3706,4 +3706,31 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3724,4 +3724,31 @@ 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 - Death screen API diff --git a/leaf-server/paper-patches/features/0009-Slice-Smooth-Teleports.patch b/leaf-server/paper-patches/features/0009-Slice-Smooth-Teleports.patch index cd54e085..27e58475 100644 --- a/leaf-server/paper-patches/features/0009-Slice-Smooth-Teleports.patch +++ b/leaf-server/paper-patches/features/0009-Slice-Smooth-Teleports.patch @@ -9,10 +9,10 @@ Original project: https://github.com/Cryptite/Slice Co-authored-by: HaHaWTH <102713261+HaHaWTH@users.noreply.github.com> diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7b7bb03adbf6aa4f088b2930d2ae702ce0189efa..7c87ad4f7802a0d35b01168d9147fea423dac363 100644 +index d910faa326612a7272ca3204d436ee7781504645..7790ebbdfcce35eff8d1423127fc408a52c54f9d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1384,6 +1384,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1386,6 +1386,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end - Teleportation API } diff --git a/leaf-server/paper-patches/features/0011-Leaves-Replay-Mod-API.patch b/leaf-server/paper-patches/features/0011-Leaves-Replay-Mod-API.patch index 98c90fda..0d04d639 100644 --- a/leaf-server/paper-patches/features/0011-Leaves-Replay-Mod-API.patch +++ b/leaf-server/paper-patches/features/0011-Leaves-Replay-Mod-API.patch @@ -74,10 +74,10 @@ index 8635cd772c5c2ae0ba326812ff2a1a179285a86f..cc024874fbde9678bdddfdca7c250808 if (entity instanceof EnderDragonPart complexPart) { if (complexPart.parentMob instanceof EnderDragon) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7c87ad4f7802a0d35b01168d9147fea423dac363..583744ac37c85354c3d4a40b1f0e0310b86c23c9 100644 +index 7790ebbdfcce35eff8d1423127fc408a52c54f9d..81bd2c5555f715957752a980c863d7bba23c9b7a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2284,7 +2284,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2286,7 +2286,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public boolean canSee(Player player) { diff --git a/leaf-server/paper-patches/features/0014-SparklyPaper-Optimize-canSee-checks.patch b/leaf-server/paper-patches/features/0014-SparklyPaper-Optimize-canSee-checks.patch index f253d9bc..4e4b9fd6 100644 --- a/leaf-server/paper-patches/features/0014-SparklyPaper-Optimize-canSee-checks.patch +++ b/leaf-server/paper-patches/features/0014-SparklyPaper-Optimize-canSee-checks.patch @@ -16,10 +16,10 @@ This seems stupid, but it does seem that it improves the performance a bit, and We also create a "canSee" method tailored for "ChunkMap#updatePlayer()", a method without the equals check (the "updatePlayer()" already checks if the entity is the same entity) because the CraftPlayer's `equals()` check is a *bit* expensive compared to only checking the object's identity, and because the identity has already been check, we don't need to check it twice. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 583744ac37c85354c3d4a40b1f0e0310b86c23c9..49702db99964b0e6b1a4a058b08f6d72a7d8bd70 100644 +index 81bd2c5555f715957752a980c863d7bba23c9b7a..7ba6e4600a0de7b38739f3808b4d6c35a7eb027b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -214,7 +214,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -215,7 +215,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private boolean hasPlayedBefore = false; private final ConversationTracker conversationTracker = new ConversationTracker(); private final Set channels = new HashSet(); @@ -28,7 +28,7 @@ index 583744ac37c85354c3d4a40b1f0e0310b86c23c9..49702db99964b0e6b1a4a058b08f6d72 private final Set unlistedEntities = new HashSet<>(); // Paper - Add Listing API for Player private static final WeakHashMap> pluginWeakReferences = new WeakHashMap<>(); private int hash = 0; -@@ -2289,9 +2289,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2291,9 +2291,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public boolean canSee(org.bukkit.entity.Entity entity) { diff --git a/leaf-server/src/main/java/org/dreeam/leaf/util/item/ItemStackStripper.java b/leaf-server/src/main/java/org/dreeam/leaf/util/item/ItemStackStripper.java index 9e70d46e..bf9757af 100644 --- a/leaf-server/src/main/java/org/dreeam/leaf/util/item/ItemStackStripper.java +++ b/leaf-server/src/main/java/org/dreeam/leaf/util/item/ItemStackStripper.java @@ -61,14 +61,10 @@ public class ItemStackStripper { * Check if two ItemStacks are the same after stripping components */ public static boolean matchesStripped(ItemStack left, ItemStack right) { - if (HideItemComponent.enabled) { - return left == right || ( - left.is(right.getItem()) && left.getCount() == right.getCount() && - (left.isEmpty() && right.isEmpty() || Objects.equals(strip(left.getComponents()), strip(right.getComponents()))) - ); - } - - return ItemStack.matches(left, right); + return left == right || ( + left.is(right.getItem()) && left.getCount() == right.getCount() && + (left.isEmpty() && right.isEmpty() || Objects.equals(strip(left.getComponents()), strip(right.getComponents()))) + ); } /**