From d3640fe0a43803442528f192ecb67cb7425c77bd Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Mon, 17 Mar 2025 15:23:34 -0400 Subject: [PATCH] Fix build --- ...0007-Purpur-Server-Minecraft-Changes.patch | 36 +++++++++---------- .../0019-Slice-Smooth-Teleports.patch | 6 ++-- ...reating-stats-json-bases-on-player-n.patch | 6 ++-- .../0044-Improve-Purpur-AFK-system.patch | 10 +++--- ...Configurable-chat-message-signatures.patch | 6 ++-- ...0054-Configurable-connection-message.patch | 4 +-- .../features/0076-Fix-MC-119417.patch | 4 +-- .../0079-Hide-specified-item-components.patch | 13 ++++--- 8 files changed, 45 insertions(+), 40 deletions(-) diff --git a/leaf-server/minecraft-patches/features/0007-Purpur-Server-Minecraft-Changes.patch b/leaf-server/minecraft-patches/features/0007-Purpur-Server-Minecraft-Changes.patch index 286d9a7d..b9f59e40 100644 --- a/leaf-server/minecraft-patches/features/0007-Purpur-Server-Minecraft-Changes.patch +++ b/leaf-server/minecraft-patches/features/0007-Purpur-Server-Minecraft-Changes.patch @@ -906,10 +906,10 @@ index 101f1a87a5fe920b57a5179da41cc91d88afa32e..94ee31a4a02edb003b98a09b0311355c } // Paper end - Fix merchant inventory not closing on entity removal diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index fdbf7aa2cc531825217c4b90fc27516dfadbd310..31fdda8a62d80f8e48914c8bed0d9cf1bb8bbffb 100644 +index f51d699461f5aef81e1187a4068c78f844e83878..668c173dc69b4ab77d91666dc2059f2b9afd7ee7 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java -@@ -392,6 +392,10 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -399,6 +399,10 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc 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 @@ -920,7 +920,7 @@ index fdbf7aa2cc531825217c4b90fc27516dfadbd310..31fdda8a62d80f8e48914c8bed0d9cf1 // Paper start - rewrite chunk system private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; -@@ -560,6 +564,10 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -567,6 +571,10 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc if (tag != null) { BlockPos.CODEC.parse(NbtOps.INSTANCE, tag).resultOrPartial(LOGGER::error).ifPresent(pos -> this.raidOmenPosition = pos); } @@ -931,7 +931,7 @@ index fdbf7aa2cc531825217c4b90fc27516dfadbd310..31fdda8a62d80f8e48914c8bed0d9cf1 } @Override -@@ -604,6 +612,9 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -611,6 +619,9 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc } this.saveEnderPearls(compound); @@ -941,7 +941,7 @@ index fdbf7aa2cc531825217c4b90fc27516dfadbd310..31fdda8a62d80f8e48914c8bed0d9cf1 } private void saveParentVehicle(CompoundTag tag) { -@@ -836,6 +847,15 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -843,6 +854,15 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc this.trackEnteredOrExitedLavaOnVehicle(); this.updatePlayerAttributes(); this.advancements.flushDirty(this); @@ -957,7 +957,7 @@ index fdbf7aa2cc531825217c4b90fc27516dfadbd310..31fdda8a62d80f8e48914c8bed0d9cf1 } private void updatePlayerAttributes() { -@@ -1123,6 +1143,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1130,6 +1150,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc ) ); Team team = this.getTeam(); @@ -965,7 +965,7 @@ index fdbf7aa2cc531825217c4b90fc27516dfadbd310..31fdda8a62d80f8e48914c8bed0d9cf1 if (team == null || team.getDeathMessageVisibility() == Team.Visibility.ALWAYS) { this.server.getPlayerList().broadcastSystemMessage(deathMessage, false); } else if (team.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) { -@@ -1216,6 +1237,18 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1223,6 +1244,18 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc if (this.isInvulnerableTo(level, damageSource)) { return false; } else { @@ -984,7 +984,7 @@ index fdbf7aa2cc531825217c4b90fc27516dfadbd310..31fdda8a62d80f8e48914c8bed0d9cf1 Entity entity = damageSource.getEntity(); if (!( // Paper - split the if statement. If below statement is false, hurtServer would not have been evaluated. Return false. !(entity instanceof Player player && !this.canHarmPlayer(player)) -@@ -1441,6 +1474,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1448,6 +1481,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc serverLevel.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION); this.unsetRemoved(); // CraftBukkit end @@ -992,7 +992,7 @@ index fdbf7aa2cc531825217c4b90fc27516dfadbd310..31fdda8a62d80f8e48914c8bed0d9cf1 this.setServerLevel(level); this.connection.internalTeleport(PositionMoveRotation.of(teleportTransition), teleportTransition.relatives()); // CraftBukkit - use internal teleport without event this.connection.resetPosition(); -@@ -1558,7 +1592,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1565,7 +1599,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc new AABB(vec3.x() - 8.0, vec3.y() - 5.0, vec3.z() - 8.0, vec3.x() + 8.0, vec3.y() + 5.0, vec3.z() + 8.0), monster -> monster.isPreventingPlayerRest(this.serverLevel(), this) ); @@ -1001,7 +1001,7 @@ index fdbf7aa2cc531825217c4b90fc27516dfadbd310..31fdda8a62d80f8e48914c8bed0d9cf1 return Either.left(Player.BedSleepingProblem.NOT_SAFE); } } -@@ -1595,7 +1629,19 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1602,7 +1636,19 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc CriteriaTriggers.SLEPT_IN_BED.trigger(this); }); if (!this.serverLevel().canSleepThroughNights()) { @@ -1022,7 +1022,7 @@ index fdbf7aa2cc531825217c4b90fc27516dfadbd310..31fdda8a62d80f8e48914c8bed0d9cf1 } ((ServerLevel)this.level()).updateSleepingPlayerList(); -@@ -1703,6 +1749,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1710,6 +1756,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc @Override public void openTextEdit(SignBlockEntity signEntity, boolean isFrontText) { @@ -1030,7 +1030,7 @@ index fdbf7aa2cc531825217c4b90fc27516dfadbd310..31fdda8a62d80f8e48914c8bed0d9cf1 this.connection.send(new ClientboundBlockUpdatePacket(this.level(), signEntity.getBlockPos())); this.connection.send(new ClientboundOpenSignEditorPacket(signEntity.getBlockPos(), isFrontText)); } -@@ -2008,6 +2055,26 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -2015,6 +2062,26 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc this.lastSentExp = -1; // CraftBukkit - Added to reset } @@ -1057,7 +1057,7 @@ index fdbf7aa2cc531825217c4b90fc27516dfadbd310..31fdda8a62d80f8e48914c8bed0d9cf1 @Override public void displayClientMessage(Component chatComponent, boolean actionBar) { this.sendSystemMessage(chatComponent, actionBar); -@@ -2235,6 +2302,20 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -2242,6 +2309,20 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc ); } @@ -1078,7 +1078,7 @@ index fdbf7aa2cc531825217c4b90fc27516dfadbd310..31fdda8a62d80f8e48914c8bed0d9cf1 public void sendSystemMessage(Component mesage) { this.sendSystemMessage(mesage, false); } -@@ -2373,8 +2454,68 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -2380,8 +2461,68 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc public void resetLastActionTime() { this.lastActionTime = Util.getMillis(); @@ -1147,7 +1147,7 @@ index fdbf7aa2cc531825217c4b90fc27516dfadbd310..31fdda8a62d80f8e48914c8bed0d9cf1 public ServerStatsCounter getStats() { return this.stats; } -@@ -3078,4 +3219,56 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -3085,4 +3226,56 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc return (org.bukkit.craftbukkit.entity.CraftPlayer) super.getBukkitEntity(); } // CraftBukkit end @@ -1279,7 +1279,7 @@ index ea34bb4913e7357f5b76a64443f7e744abdf7b5e..de115ee71fa240440b54c553e0d3ddaf try { String channels = payload.toString(com.google.common.base.Charsets.UTF_8); diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d2b3f0a45c70f06fa7ff5c291cf3f79e9b264a09..1ba275fd76970774922bcd91bea6bf779bab32b7 100644 +index 1ff513b97cff0a81a910165167e9a200f9b14d61..6a44793f886d07e6f5cb9fcf292b2124c4bb40cd 100644 --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -328,6 +328,20 @@ public class ServerGamePacketListenerImpl @@ -1527,7 +1527,7 @@ index e802cecf30a2bfa4390ca70c45a9840032c8c046..7401200f6a11bf552d128d833f25d825 } } catch (AuthenticationUnavailableException var4) { diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index e7181a2ce0e3cdbcc05bd602c3c5447d8d1ad143..08a028ac0892552f7e6b95985233c1e625e11e44 100644 +index 7abdd083d84a1bd1af086eb04c757e0a8ab5f5c8..13edcfd9debc68167a3ea45699229d525d931f68 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java @@ -407,6 +407,7 @@ public abstract class PlayerList { @@ -13219,7 +13219,7 @@ index 5e0d447409dc2223bb56cb8bb932e241bf88c78d..6e1544121c556cd8761dc86d4246e727 } diff --git a/net/minecraft/world/inventory/AbstractContainerMenu.java b/net/minecraft/world/inventory/AbstractContainerMenu.java -index 50af953a4698a3c6e16b840fab764dd733b3fbc9..3dcd8df0b395a8fed8bc0cbe0ff78f4ae0056fd3 100644 +index acca8c51d2030c675c157b10d0bbc6af631afe61..e6419715fab462b12790ecb175ce1e1a1fceed8f 100644 --- a/net/minecraft/world/inventory/AbstractContainerMenu.java +++ b/net/minecraft/world/inventory/AbstractContainerMenu.java @@ -65,6 +65,7 @@ public abstract class AbstractContainerMenu { diff --git a/leaf-server/minecraft-patches/features/0019-Slice-Smooth-Teleports.patch b/leaf-server/minecraft-patches/features/0019-Slice-Smooth-Teleports.patch index da250278..d3df0b1e 100644 --- a/leaf-server/minecraft-patches/features/0019-Slice-Smooth-Teleports.patch +++ b/leaf-server/minecraft-patches/features/0019-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/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index 31fdda8a62d80f8e48914c8bed0d9cf1bb8bbffb..622257dbbe572de33e15abef9055016268730261 100644 +index 668c173dc69b4ab77d91666dc2059f2b9afd7ee7..d44c3baa2ef30d5cd4c46e491ff9198fa558513c 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java -@@ -396,6 +396,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -403,6 +403,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc private boolean tpsBar = false; // Purpur - Implement TPSBar private boolean compassBar = false; // Purpur - Add compass command private boolean ramBar = false; // Purpur - Implement rambar commands @@ -21,7 +21,7 @@ index 31fdda8a62d80f8e48914c8bed0d9cf1bb8bbffb..622257dbbe572de33e15abef90550162 // Paper start - rewrite chunk system private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index 08a028ac0892552f7e6b95985233c1e625e11e44..ef189bdd6c52c3f062774a6e9ae73a186d1d8346 100644 +index 13edcfd9debc68167a3ea45699229d525d931f68..9a2f2dc1eb471776de6049590cb16e8a061aa24e 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java @@ -798,11 +798,11 @@ public abstract class PlayerList { diff --git a/leaf-server/minecraft-patches/features/0043-Remove-useless-creating-stats-json-bases-on-player-n.patch b/leaf-server/minecraft-patches/features/0043-Remove-useless-creating-stats-json-bases-on-player-n.patch index e96778ac..dd7876a9 100644 --- a/leaf-server/minecraft-patches/features/0043-Remove-useless-creating-stats-json-bases-on-player-n.patch +++ b/leaf-server/minecraft-patches/features/0043-Remove-useless-creating-stats-json-bases-on-player-n.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Remove useless creating stats json bases on player name logic diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index 78b15d750d75e5d4c2318a3a18e83afdd5f4fbe1..3d6efee3469302f37e60a9013f6a3adf970a580a 100644 +index 4c172e2aee3e48d42009cd39b28f694aa71e20e3..386423589443051b8c461926c570352dd612a051 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java -@@ -1556,6 +1556,8 @@ public abstract class PlayerList { +@@ -1561,6 +1561,8 @@ public abstract class PlayerList { if (serverStatsCounter == null) { File file = this.server.getWorldPath(LevelResource.PLAYER_STATS_DIR).toFile(); File file1 = new File(file, uuid + ".json"); @@ -17,7 +17,7 @@ index 78b15d750d75e5d4c2318a3a18e83afdd5f4fbe1..3d6efee3469302f37e60a9013f6a3adf if (!file1.exists()) { File file2 = new File(file, displayName + ".json"); // CraftBukkit Path path = file2.toPath(); -@@ -1563,6 +1565,8 @@ public abstract class PlayerList { +@@ -1568,6 +1570,8 @@ public abstract class PlayerList { file2.renameTo(file1); } } diff --git a/leaf-server/minecraft-patches/features/0044-Improve-Purpur-AFK-system.patch b/leaf-server/minecraft-patches/features/0044-Improve-Purpur-AFK-system.patch index 3768c6c9..a1e72616 100644 --- a/leaf-server/minecraft-patches/features/0044-Improve-Purpur-AFK-system.patch +++ b/leaf-server/minecraft-patches/features/0044-Improve-Purpur-AFK-system.patch @@ -19,10 +19,10 @@ index ee7bdfd8f9da8d5989c9cc25f8cbcc94640361c5..fb18f69cb26132fc8c53b185454c6aad org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur - Add demo command org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur - Add ping command diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index dfb4524d80f642eff1b146dd2fbfa07f21d844c6..2c67693cc3781eb5aee10b4dfb9617cbe107e922 100644 +index f89d28595fa9ca12e414f7b3cc86085ff0769e72..29fd9cea422e1ee09f6983a9b72847fbeaf57e3d 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java -@@ -2460,6 +2460,10 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -2467,6 +2467,10 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc // Purpur start - AFK API private boolean isAfk = false; @@ -33,7 +33,7 @@ index dfb4524d80f642eff1b146dd2fbfa07f21d844c6..2c67693cc3781eb5aee10b4dfb9617cb @Override public void setAfk(boolean afk) { -@@ -2497,6 +2501,18 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -2504,6 +2508,18 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc String prefix = (split.length > 0 ? split[0] : "").replace(org.purpurmc.purpur.PurpurConfig.afkTabListPrefix, ""); String suffix = (split.length > 1 ? split[1] : "").replace(org.purpurmc.purpur.PurpurConfig.afkTabListSuffix, ""); if (afk) { @@ -53,7 +53,7 @@ index dfb4524d80f642eff1b146dd2fbfa07f21d844c6..2c67693cc3781eb5aee10b4dfb9617cb } else { getBukkitEntity().setPlayerListName(prefix + scoreboardName + suffix, true); diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 543e7e278bb94c0bc996c377f8778df8a0b0440b..24aca7ba2cc3ec5f05bb4ea7d373feb730d8dd90 100644 +index f10946b641e0af144ca653850c5d5292c0095412..90ff9e0a0b7ef1307ed4ee839571cf1aa5632c15 100644 --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2270,6 +2270,8 @@ public class ServerGamePacketListenerImpl @@ -138,7 +138,7 @@ index 543e7e278bb94c0bc996c377f8778df8a0b0440b..24aca7ba2cc3ec5f05bb4ea7d373feb7 this.cserver.getPluginManager().callEvent(event); command = event.getMessage().substring(1); diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index 3d6efee3469302f37e60a9013f6a3adf970a580a..03f3e1de0c5df76a4d14c5dc62647ecfc2b17dce 100644 +index 386423589443051b8c461926c570352dd612a051..84f9a8a606ede4ef8361a2683d775121e57b6d9b 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java @@ -668,6 +668,7 @@ public abstract class PlayerList { diff --git a/leaf-server/minecraft-patches/features/0047-Mirai-Configurable-chat-message-signatures.patch b/leaf-server/minecraft-patches/features/0047-Mirai-Configurable-chat-message-signatures.patch index 7a875537..5631917c 100644 --- a/leaf-server/minecraft-patches/features/0047-Mirai-Configurable-chat-message-signatures.patch +++ b/leaf-server/minecraft-patches/features/0047-Mirai-Configurable-chat-message-signatures.patch @@ -138,10 +138,10 @@ index ee8cdd532b73180cb484fcc37c36f09c40faacda..becadda1642c1b9342f2fdff1fc062a2 if (packet == null || this.processedDisconnect) { // Spigot return; diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index 03f3e1de0c5df76a4d14c5dc62647ecfc2b17dce..fdda542612ccdd769647b9448fce9d8c465d1e02 100644 +index 84f9a8a606ede4ef8361a2683d775121e57b6d9b..e8683f45823cac55e3e68ccc500f10f0632e72fd 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java -@@ -1516,7 +1516,7 @@ public abstract class PlayerList { +@@ -1521,7 +1521,7 @@ public abstract class PlayerList { public void broadcastChatMessage(PlayerChatMessage message, Predicate shouldFilterMessageTo, @Nullable ServerPlayer sender, ChatType.Bound boundChatType, @Nullable Function unsignedFunction) { // Paper end boolean flag = this.verifyChatTrusted(message); @@ -150,7 +150,7 @@ index 03f3e1de0c5df76a4d14c5dc62647ecfc2b17dce..fdda542612ccdd769647b9448fce9d8c OutgoingChatMessage outgoingChatMessage = OutgoingChatMessage.create(message); boolean flag1 = false; -@@ -1541,6 +1541,7 @@ public abstract class PlayerList { +@@ -1546,6 +1546,7 @@ public abstract class PlayerList { } public boolean verifyChatTrusted(PlayerChatMessage message) { // Paper - private -> public diff --git a/leaf-server/minecraft-patches/features/0054-Configurable-connection-message.patch b/leaf-server/minecraft-patches/features/0054-Configurable-connection-message.patch index 69cebad8..9a1aea24 100644 --- a/leaf-server/minecraft-patches/features/0054-Configurable-connection-message.patch +++ b/leaf-server/minecraft-patches/features/0054-Configurable-connection-message.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable connection message diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index fdda542612ccdd769647b9448fce9d8c465d1e02..c247b1dd9504b10ea73ec3bd96d2bf9e48fabf3e 100644 +index e8683f45823cac55e3e68ccc500f10f0632e72fd..c9a3dd3e2b17ef8d5457766bdc2bea19a1948426 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java @@ -434,7 +434,7 @@ public abstract class PlayerList { @@ -35,7 +35,7 @@ index fdda542612ccdd769647b9448fce9d8c465d1e02..c247b1dd9504b10ea73ec3bd96d2bf9e this.cserver.getPluginManager().callEvent(playerQuitEvent); player.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage()); -@@ -1668,4 +1668,34 @@ public abstract class PlayerList { +@@ -1673,4 +1673,34 @@ public abstract class PlayerList { public boolean isAllowCommandsForAllPlayers() { return this.allowCommandsForAllPlayers; } diff --git a/leaf-server/minecraft-patches/features/0076-Fix-MC-119417.patch b/leaf-server/minecraft-patches/features/0076-Fix-MC-119417.patch index 335be159..3e4795e9 100644 --- a/leaf-server/minecraft-patches/features/0076-Fix-MC-119417.patch +++ b/leaf-server/minecraft-patches/features/0076-Fix-MC-119417.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix-MC-119417 Related MC issue: https://bugs.mojang.com/browse/MC-119417 diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index 2c67693cc3781eb5aee10b4dfb9617cbe107e922..e1a1bddfc11da20f3a1b9a2773b19d4317fac914 100644 +index 29fd9cea422e1ee09f6983a9b72847fbeaf57e3d..2a3c38cd8e31f73eca2508ad94e46ace980de50c 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java -@@ -2260,6 +2260,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -2267,6 +2267,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, gameMode.getId())); if (gameMode == GameType.SPECTATOR) { this.removeEntitiesOnShoulder(); diff --git a/leaf-server/minecraft-patches/features/0079-Hide-specified-item-components.patch b/leaf-server/minecraft-patches/features/0079-Hide-specified-item-components.patch index 3f166fce..14389691 100644 --- a/leaf-server/minecraft-patches/features/0079-Hide-specified-item-components.patch +++ b/leaf-server/minecraft-patches/features/0079-Hide-specified-item-components.patch @@ -33,15 +33,20 @@ index c1130f596cf3443eeb62eb1b12587172fe0859ee..18590e0b1d94ee3266637c5f3ab65ead @Override diff --git a/net/minecraft/world/inventory/AbstractContainerMenu.java b/net/minecraft/world/inventory/AbstractContainerMenu.java -index 3dcd8df0b395a8fed8bc0cbe0ff78f4ae0056fd3..6033f629ac457472ad10f8e346732a596aea52d9 100644 +index e6419715fab462b12790ecb175ce1e1a1fceed8f..8a0d1aebad1f92c43112e279b9c5922fdd1fd432 100644 --- a/net/minecraft/world/inventory/AbstractContainerMenu.java +++ b/net/minecraft/world/inventory/AbstractContainerMenu.java -@@ -306,7 +306,7 @@ public abstract class AbstractContainerMenu { +@@ -306,7 +306,12 @@ public abstract class AbstractContainerMenu { private void synchronizeCarriedToRemote() { if (!this.suppressRemoteUpdates) { -- if (!ItemStack.matches(this.getCarried(), this.remoteCarried)) { -+ if (!org.dreeam.leaf.util.item.ItemStackStripper.matchesStripped(this.getCarried(), this.remoteCarried)) { // Leaf - Hide specified item components - Avoid some frequent client animations +- if (!this.matchesRemote(this.getCarried(), this.remoteCarried)) { // Paper - add flag to simplify remote matching logic ++ // Leaf start - Hide specified item components - Avoid some frequent client animations ++ final boolean matchResult = org.dreeam.leaf.config.modules.gameplay.HideItemComponent.enabled ++ ? !org.dreeam.leaf.util.item.ItemStackStripper.matchesStripped(this.getCarried(), this.remoteCarried) ++ : !this.matchesRemote(this.getCarried(), this.remoteCarried); // Paper - add flag to simplify remote matching logic ++ if (matchResult) { ++ // Leaf end - Hide specified item components - Avoid some frequent client animations this.remoteCarried = this.getCarried().copy(); if (this.synchronizer != null) { this.synchronizer.sendCarriedChange(this, this.remoteCarried);