diff --git a/gradle.properties b/gradle.properties index 129468b0..359f1ebc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group = org.dreeam.leaf version = 1.20.4-R0.1-SNAPSHOT -galeCommit = 53ce7ab06d7eccb91990b163db28c60736153bc7 +galeCommit = 8930cf1b0564316d4c5da3c3e0dcfc9132a9a2fe org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0003-Purpur-API-Changes.patch b/patches/api/0003-Purpur-API-Changes.patch index 43adc1d6..94aa2206 100644 --- a/patches/api/0003-Purpur-API-Changes.patch +++ b/patches/api/0003-Purpur-API-Changes.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Purpur API Changes Original license: MIT Original project: https://github.com/PurpurMC/Purpur -Commit: b7e80840c6a96e1132bb0eb01ef34233334461d4 +Commit: 6b1ee98f813ee19f8046b3c528feeee61840a35b Patches below are removed in this patch: Pufferfish-API-Changes.patch @@ -547,10 +547,10 @@ index 80499cd30914ca97576532bd86967cbfaabe2577..98311ea5696f722b431444a569f0f172 + // Purpur end } diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 35fb5047dd8a8521586a9ca9f8d70881355fb7f5..c2fc3c7158b65a875515afda0d69e2d6529db976 100644 +index e6f66d70d024cf4f0536a5bf8e51bf7b306335df..07e75978b4fc0e446e8aa46a40be5e371dc1c11b 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -4222,6 +4222,86 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient +@@ -4233,6 +4233,86 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient @Nullable public DragonBattle getEnderDragonBattle(); @@ -996,10 +996,10 @@ index bc84b892cae5fe7019a3ad481e9da79956efa1fe..48eb5b00c460cccde29d327cef1d63fc + // Purpur end } diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 019237c2e536a118f7cd3d81fc59b74f21c34609..a9f119ea2a006158429a90d67517ccc74a0027ac 100644 +index db3dfc95ca2997745092cf4632c60705d05a6640..6a9ce422d1def472ef4bbd3cc716426385be0cc4 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3721,4 +3721,123 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3762,4 +3762,123 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Override Spigot spigot(); // Spigot end diff --git a/patches/api/0005-Bump-Dependencies.patch b/patches/api/0005-Bump-Dependencies.patch index 595e4fdc..6c72a9ed 100644 --- a/patches/api/0005-Bump-Dependencies.patch +++ b/patches/api/0005-Bump-Dependencies.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Bump Dependencies diff --git a/build.gradle.kts b/build.gradle.kts -index 4a9deabf03236533aa86860326f0da21650dd38f..5cd6853b555778fd198280790968fee390c85a8f 100644 +index 4a9deabf03236533aa86860326f0da21650dd38f..673548d13590cb99f293f0799b05d974e6cd660b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,11 +9,11 @@ java { @@ -41,7 +41,7 @@ index 4a9deabf03236533aa86860326f0da21650dd38f..5cd6853b555778fd198280790968fee3 apiAndDocs(platform("net.kyori:adventure-bom:$adventureVersion")) apiAndDocs("net.kyori:adventure-api") apiAndDocs("net.kyori:adventure-text-minimessage") -@@ -51,7 +51,7 @@ dependencies { +@@ -51,28 +51,30 @@ dependencies { apiAndDocs("net.kyori:adventure-text-logger-slf4j") api("org.apache.logging.log4j:log4j-api:$log4jVersion") api("org.slf4j:slf4j-api:$slf4jVersion") @@ -50,7 +50,16 @@ index 4a9deabf03236533aa86860326f0da21650dd38f..5cd6853b555778fd198280790968fee3 implementation("org.ow2.asm:asm:9.7") implementation("org.ow2.asm:asm-commons:9.7") -@@ -66,13 +66,15 @@ dependencies { + // Paper end + + api("org.apache.maven:maven-resolver-provider:3.9.6") // Paper - make API dependency for Paper Plugins +- compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18") +- compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18") ++ compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.19") ++ compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.19") + + val annotations = "org.jetbrains:annotations:$annotationsVersion" // Paper - we don't want Java 5 annotations... + compileOnly(annotations) testCompileOnly(annotations) // Paper start - add checker @@ -92,7 +101,7 @@ index 4a9deabf03236533aa86860326f0da21650dd38f..5cd6853b555778fd198280790968fee3 + "https://javadoc.io/doc/org.apache.logging.log4j/log4j-api/2.20.0", // Leaf - Bump Dependencies // Paper end - "https://javadoc.io/doc/org.apache.maven.resolver/maven-resolver-api/1.7.3", // Paper -+ "https://javadoc.io/doc/org.apache.maven.resolver/maven-resolver-api/1.9.18", // Paper // Leaf - Bump Dependencies ++ "https://javadoc.io/doc/org.apache.maven.resolver/maven-resolver-api/1.9.19", // Paper // Leaf - Bump Dependencies ) options.tags("apiNote:a:API Note:") diff --git a/patches/api/0007-KeYi-Player-Skull-API.patch b/patches/api/0007-KeYi-Player-Skull-API.patch index 2873c0f2..468c27ee 100644 --- a/patches/api/0007-KeYi-Player-Skull-API.patch +++ b/patches/api/0007-KeYi-Player-Skull-API.patch @@ -7,7 +7,7 @@ Original license: MIT Original project: https://github.com/KeYiMC/KeYi diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index a9f119ea2a006158429a90d67517ccc74a0027ac..69ba1660dae4ac69ec4e92f94dd6f95e9f70427d 100644 +index 6a9ce422d1def472ef4bbd3cc716426385be0cc4..89d124342522743206f8065a32f6e36b954b3b73 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -9,6 +9,10 @@ import java.util.Date; @@ -21,7 +21,7 @@ index a9f119ea2a006158429a90d67517ccc74a0027ac..69ba1660dae4ac69ec4e92f94dd6f95e import org.bukkit.DyeColor; import org.bukkit.Effect; import org.bukkit.GameMode; -@@ -3840,4 +3844,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3881,4 +3885,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM sendDeathScreen(message); } // Purpur end diff --git a/patches/generated-api/0001-Purpur-generated-api-Changes.patch b/patches/generated-api/0001-Purpur-generated-api-Changes.patch index 5cef10cb..81094d2d 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: b7e80840c6a96e1132bb0eb01ef34233334461d4 +Commit: 6b1ee98f813ee19f8046b3c528feeee61840a35b diff --git a/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/com/destroystokyo/paper/entity/ai/VanillaGoal.java index 069f2668f5229b0368b796e65eef1648fba0a097..9b991201a2f6cc9feccccf7f4e7bcded64117764 100644 diff --git a/patches/server/0010-Purpur-Server-Changes.patch b/patches/server/0010-Purpur-Server-Changes.patch index c17405ee..fd62f65e 100644 --- a/patches/server/0010-Purpur-Server-Changes.patch +++ b/patches/server/0010-Purpur-Server-Changes.patch @@ -8,7 +8,7 @@ TODO - Dreeam: Check TODOs in ServerGamePacketListenerImpl & Tadpole Original license: MIT Original project: https://github.com/PurpurMC/Purpur -Commit: b7e80840c6a96e1132bb0eb01ef34233334461d4 +Commit: 6b1ee98f813ee19f8046b3c528feeee61840a35b Patches below are removed in this patch: Metrics change in Purpur-config-files.patch @@ -717,7 +717,7 @@ index 0b090797eb873b703730559049937163f2db8ecb..081bdffb914acb275f47dc47ce54eb84 if (optionset.has("initSettings")) { // CraftBukkit // CraftBukkit start - SPIGOT-5761: Create bukkit.yml and commands.yml if not present diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 90eb43f08fe781aafe2f8ac7921bdf148178761b..29fe038edd861bd9daca46971e4092cfbfe6f988 100644 +index 00e8ac5a46b48fbc8a62c987176e08c97faf34fc..60b76cad8bfdb47dd2cae7ae0e13e8548c09e08f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -276,6 +276,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { - final io.papermc.paper.adventure.ChatDecorationProcessor processor = new io.papermc.paper.adventure.ChatDecorationProcessor(this, sender, commandSourceStack, message); diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java index b954c85f4aaf58f36fbeee67691a18b03c398767..b7c6717efcefe4efae3fd69ebaa3697bfd3dc9c8 100644 --- a/src/main/java/net/minecraft/server/PlayerAdvancements.java @@ -1677,7 +1661,7 @@ index d791c2f2facfc46d8664225c8b28f95f92df3413..61cd58a5bb3d228b29b9cc4db11be03d 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 9025505e7c8ac81d97a553e0ebbeb5727bd69bb6..4a9c82780cf5b54a2e16d092b485aa131d3aea11 100644 +index 98b23811f5c1a00d3fd1d9881cd598ef06a897e3..27869528524ba32e007d4a674ece118c60dbdf45 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -335,6 +335,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -1924,7 +1908,7 @@ index 9025505e7c8ac81d97a553e0ebbeb5727bd69bb6..4a9c82780cf5b54a2e16d092b485aa13 // Entity in bucket - SPIGOT-4048 and SPIGOT-6859a if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it. -@@ -3315,6 +3387,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3328,6 +3400,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } } } @@ -3166,7 +3150,7 @@ index 6e1598826bdf173573ad17e51ec396cfa65b524d..a37244bdd21c27d15e0ce6731c28f879 }); } diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 1c729ea3e40b12ddb95294c666f1568bd69ce4c0..70b5f3ce8d94765e84215015dd0c268f783990c9 100644 +index 13f8fc584d356cd89021266b55374fab4ee344cf..61f7a9f761a04011b2fa4caa7fef424ccb88793d 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -66,6 +66,7 @@ import net.minecraft.world.item.ProjectileWeaponItem; @@ -3292,7 +3276,7 @@ index 1c729ea3e40b12ddb95294c666f1568bd69ce4c0..70b5f3ce8d94765e84215015dd0c268f // CraftBukkit start - fire PlayerUnleashEntityEvent // Paper start - Expand EntityUnleashEvent org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, hand, !player.getAbilities().instabuild); -@@ -1374,7 +1410,7 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -1375,7 +1411,7 @@ public abstract class Mob extends LivingEntity implements Targeting { protected void onOffspringSpawnedFromEgg(Player player, Mob child) {} protected InteractionResult mobInteract(Player player, InteractionHand hand) { @@ -3301,7 +3285,7 @@ index 1c729ea3e40b12ddb95294c666f1568bd69ce4c0..70b5f3ce8d94765e84215015dd0c268f } public boolean isWithinRestriction() { -@@ -1685,6 +1721,7 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -1686,6 +1722,7 @@ public abstract class Mob extends LivingEntity implements Targeting { this.setLastHurtMob(target); } @@ -3309,7 +3293,7 @@ index 1c729ea3e40b12ddb95294c666f1568bd69ce4c0..70b5f3ce8d94765e84215015dd0c268f return flag; } -@@ -1710,28 +1747,7 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -1711,28 +1748,7 @@ public abstract class Mob extends LivingEntity implements Targeting { // Gale end - JettPack - optimize sun burn tick - cache eye blockpos public boolean isSunBurnTick() { @@ -3339,7 +3323,7 @@ index 1c729ea3e40b12ddb95294c666f1568bd69ce4c0..70b5f3ce8d94765e84215015dd0c268f } @Override -@@ -1779,4 +1795,56 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -1780,4 +1796,56 @@ public abstract class Mob extends LivingEntity implements Targeting { return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg); } @@ -17494,10 +17478,10 @@ index 8ecf6ffa93610261d27fafadfff016a2d6047c90..f4fb23ebdd35e23b022bdd78421dec6d + // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 4a11314df1a6d068c5abf12677b9bfd11ea7c66c..43aea7cf6e2398effdaed765559942031f049fd3 100644 +index ac9b60e9a0f727ff267f3adf6a27d82a609afa93..60cd33602908937dbfec2cebd041d147c0a5dbab 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2408,6 +2408,48 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2416,6 +2416,48 @@ public class CraftWorld extends CraftRegionAccessor implements World { return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight()); } @@ -17939,10 +17923,10 @@ index 0ad16ee7b33582d214dab41eeee378d52c8e38ed..16bd1294c219f15ada653ef810bc2d74 + // 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 e77bf7f432387bdfa7f69d31b014e8cd254fd4ca..f3ae9a2d594a90c128402af57bc9536a136e7395 100644 +index 44f4665db613c558078df5bb49106e4ca5679dfe..fb2d05e43df3bfb72b1f6e325736dd3cbc6c3096 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -488,10 +488,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -489,10 +489,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setPlayerListName(String name) { @@ -17956,10 +17940,10 @@ index e77bf7f432387bdfa7f69d31b014e8cd254fd4ca..f3ae9a2d594a90c128402af57bc9536a } - this.getHandle().listName = name.equals(this.getName()) ? null : CraftChatMessage.fromStringOrNull(name); + this.getHandle().listName = name.equals(this.getName()) ? null : useMM ? io.papermc.paper.adventure.PaperAdventure.asVanilla(net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(name)) : CraftChatMessage.fromStringOrNull(name); // Purpur + 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)) { - player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle())); -@@ -1351,6 +1356,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1353,6 +1358,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API @@ -17970,7 +17954,7 @@ index e77bf7f432387bdfa7f69d31b014e8cd254fd4ca..f3ae9a2d594a90c128402af57bc9536a return false; } -@@ -2659,6 +2668,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2661,6 +2670,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } @@ -17999,7 +17983,7 @@ index e77bf7f432387bdfa7f69d31b014e8cd254fd4ca..f3ae9a2d594a90c128402af57bc9536a private void validateSpeed(float value) { Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value); } -@@ -3425,4 +3456,70 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3456,4 +3487,70 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setSendViewDistance(final int viewDistance) { this.getHandle().setSendViewDistance(viewDistance); } diff --git a/patches/server/0014-Bump-Dependencies.patch b/patches/server/0014-Bump-Dependencies.patch index 48fa78e2..e16307fd 100644 --- a/patches/server/0014-Bump-Dependencies.patch +++ b/patches/server/0014-Bump-Dependencies.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Bump Dependencies diff --git a/build.gradle.kts b/build.gradle.kts -index 0d72b6e0a9d9c12b7d4555aa85dcedde9123c5c1..a2eae367d6c0c031f2f29b86ead486c31dd0118c 100644 +index 0d72b6e0a9d9c12b7d4555aa85dcedde9123c5c1..00c01da244709b68448815e9188414d70440d59b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -32,9 +32,9 @@ dependencies { @@ -13,14 +13,14 @@ index 0d72b6e0a9d9c12b7d4555aa85dcedde9123c5c1..a2eae367d6c0c031f2f29b86ead486c3 // Paper start - implementation("org.jline:jline-terminal-jansi:3.21.0") -+ implementation("org.jline:jline-terminal-jansi:3.25.1") // Leaf - Bump Dependencies ++ implementation("org.jline:jline-terminal-jansi:3.26.0") // Leaf - Bump Dependencies implementation("net.minecrell:terminalconsoleappender:1.3.0") - implementation("net.kyori:adventure-text-serializer-ansi:4.14.0") // Keep in sync with adventureVersion from Paper-API build file + implementation("net.kyori:adventure-text-serializer-ansi:4.16.0") // Keep in sync with adventureVersion from Paper-API build file // Leaf - Bump Dependencies implementation("net.kyori:ansi:1.0.3") // Manually bump beyond above transitive dep /* Required to add the missing Log4j2Plugins.dat file from log4j-core -@@ -42,24 +42,26 @@ dependencies { +@@ -42,29 +42,31 @@ dependencies { all its classes to check if they are plugins. Scanning takes about 1-2 seconds so adding this speeds up the server start. */ @@ -52,10 +52,17 @@ index 0d72b6e0a9d9c12b7d4555aa85dcedde9123c5c1..a2eae367d6c0c031f2f29b86ead486c3 + implementation("com.velocitypowered:velocity-native:3.3.0-SNAPSHOT") { // Leaf - Bump Dependencies isTransitive = false } -+ // Leaf end // Paper end - Use Velocity cipher runtimeOnly("org.apache.maven:maven-resolver-provider:3.9.6") +- runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18") +- runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18") ++ runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.19") ++ runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.19") ++ // Leaf end + + // Purpur start + implementation("org.mozilla:rhino-runtime:1.7.14") @@ -72,12 +74,16 @@ dependencies { implementation("dev.omega24:upnp4j:1.0") // Purpur end @@ -63,7 +70,7 @@ index 0d72b6e0a9d9c12b7d4555aa85dcedde9123c5c1..a2eae367d6c0c031f2f29b86ead486c3 - testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test - testImplementation("org.junit.jupiter:junit-jupiter:5.10.0") + // Leaf start - Bump Dependencies -+ testImplementation("io.github.classgraph:classgraph:4.8.170") // Paper - mob goal test ++ testImplementation("io.github.classgraph:classgraph:4.8.172") // Paper - mob goal test + testImplementation("org.junit.jupiter:junit-jupiter:5.10.2") testImplementation("org.hamcrest:hamcrest:2.2") testImplementation("org.mockito:mockito-core:5.11.0") diff --git a/patches/server/0019-KeYi-Player-Skull-API.patch b/patches/server/0019-KeYi-Player-Skull-API.patch index 126e1a0d..6c144376 100644 --- a/patches/server/0019-KeYi-Player-Skull-API.patch +++ b/patches/server/0019-KeYi-Player-Skull-API.patch @@ -7,7 +7,7 @@ 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 f3ae9a2d594a90c128402af57bc9536a136e7395..be00b95e723952c61c6f8ae01b61e4f5e1c77bdf 100644 +index fb2d05e43df3bfb72b1f6e325736dd3cbc6c3096..635f10ca1954b10eaf8e354dd4e1cbf010d7a659 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -29,6 +29,11 @@ import java.util.Optional; @@ -30,7 +30,7 @@ index f3ae9a2d594a90c128402af57bc9536a136e7395..be00b95e723952c61c6f8ae01b61e4f5 import org.bukkit.map.MapCursor; import org.bukkit.map.MapView; import org.bukkit.metadata.MetadataValue; -@@ -3522,4 +3528,27 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3553,4 +3559,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/0026-Slice-Smooth-Teleports.patch b/patches/server/0026-Slice-Smooth-Teleports.patch index f83c7785..31900f94 100644 --- a/patches/server/0026-Slice-Smooth-Teleports.patch +++ b/patches/server/0026-Slice-Smooth-Teleports.patch @@ -7,7 +7,7 @@ Original license: MIT Original project: https://github.com/Cryptite/Slice diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 0cc07f1df65a86cc4e2c0a254ea2cb782a797901..9950580f3d0387b142576bfdb6a8f74365c12878 100644 +index 82aa92a106f844578959158ce1518eb7d0766951..6568b4541a81d52cc81729eb8590cf3723289bac 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -286,6 +286,7 @@ public class ServerPlayer extends Player { @@ -36,10 +36,10 @@ index 7d98ba26ccde1e57378253e03c437650051f7843..42e6754ae5432a41f54064961bd5d668 entityplayer1.connection.send(new ClientboundChangeDifficultyPacket(worlddata.getDifficulty(), worlddata.isDifficultyLocked())); entityplayer1.connection.send(new ClientboundSetExperiencePacket(entityplayer1.experienceProgress, entityplayer1.totalExperience, entityplayer1.experienceLevel)); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 19d91e4a94527eea6dda8d9bdf782f14414be512..6fe50b6dcda8d5356fccc7f3d9e30f21e3c1bef3 100644 +index 635f10ca1954b10eaf8e354dd4e1cbf010d7a659..8b5c1d41f54084299ef1c25f7dd8bc6b3f234db5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1266,6 +1266,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1268,6 +1268,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end } diff --git a/patches/server/0038-Sync-with-Gale-s-Optimize-sun-burn-tick.patch.patch b/patches/server/0038-Sync-with-Gale-s-Optimize-sun-burn-tick.patch.patch index cedb8f01..f6166548 100644 --- a/patches/server/0038-Sync-with-Gale-s-Optimize-sun-burn-tick.patch.patch +++ b/patches/server/0038-Sync-with-Gale-s-Optimize-sun-burn-tick.patch.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Sync with Gale's Optimize-sun-burn-tick.patch diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1f8ca7bc71992d287dac964d0528e15bd39bfe3c..4bf569b6b81701ea2d45d090438686c5dbbd1744 100644 +index 21bb8ecc55c49a3962ad44c71145feadb49fe9ea..bf3ef85baf05eb4bfb4521c59e789a7f1de113b9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -568,13 +568,29 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -42,10 +42,10 @@ index 1f8ca7bc71992d287dac964d0528e15bd39bfe3c..4bf569b6b81701ea2d45d090438686c5 } } diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 70b5f3ce8d94765e84215015dd0c268f783990c9..ab442ad33124c75c261752d14d0ee209a673209e 100644 +index 61f7a9f761a04011b2fa4caa7fef424ccb88793d..4145a992d34e655c98d8c5a30153f507360b798c 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1741,11 +1741,6 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -1742,11 +1742,6 @@ public abstract class Mob extends LivingEntity implements Targeting { } diff --git a/patches/server/0044-Reduce-canSee-work.patch b/patches/server/0044-Reduce-canSee-work.patch index 0f99a249..aed882ca 100644 --- a/patches/server/0044-Reduce-canSee-work.patch +++ b/patches/server/0044-Reduce-canSee-work.patch @@ -7,7 +7,7 @@ Co-authored by: Martijn Muijsers Co-authored by: MachineBreaker diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 820f5dc02f89a54fab00942a3eaa72f006b3bd89..14668a88d741de97817cdd7845dc9582610f590d 100644 +index 53dd6310617823328210511580d0fb744c8dca2b..998f1fbd581acc3fb654d539ebb25dcea5f110e0 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -392,17 +392,19 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -36,10 +36,10 @@ index 820f5dc02f89a54fab00942a3eaa72f006b3bd89..14668a88d741de97817cdd7845dc9582 if (net.minecraft.world.phys.shapes.Shapes.joinIsNotEmpty(voxelshape, net.minecraft.world.phys.shapes.Shapes.create(entity.getBoundingBox()), net.minecraft.world.phys.shapes.BooleanOp.AND)) { return false; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6fe50b6dcda8d5356fccc7f3d9e30f21e3c1bef3..ad282ad487912c5687916b93be605b21a1ff8f15 100644 +index 8b5c1d41f54084299ef1c25f7dd8bc6b3f234db5..857f682840f04734447856ab8386a53562031ae3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -555,6 +555,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -557,6 +557,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return false; } OfflinePlayer other = (OfflinePlayer) obj; diff --git a/patches/server/0051-Fix-TerminalConsoleAppender-NPE-error-on-server-clos.patch b/patches/server/0051-Fix-TerminalConsoleAppender-NPE-error-on-server-clos.patch index 423bf2e5..52d61118 100644 --- a/patches/server/0051-Fix-TerminalConsoleAppender-NPE-error-on-server-clos.patch +++ b/patches/server/0051-Fix-TerminalConsoleAppender-NPE-error-on-server-clos.patch @@ -15,20 +15,20 @@ Fixed errors in console has no color,also fixed`Advanced terminal features are n or `Unable to create terminal` like issues diff --git a/build.gradle.kts b/build.gradle.kts -index 2e02cf5a4706721f0d00da7f7fa189e671acc769..5cd5ed2053bf8538c7733b8cfb784827f879c4c8 100644 +index 00c01da244709b68448815e9188414d70440d59b..08194b0dce494013a9766e8c84b5697876c0d35f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -33,7 +33,7 @@ dependencies { // Paper start - implementation("org.jline:jline-terminal-jansi:3.25.1") // Leaf - Bump Dependencies + implementation("org.jline:jline-terminal-jansi:3.26.0") // Leaf - Bump Dependencies - implementation("net.minecrell:terminalconsoleappender:1.3.0") + implementation("com.github.Dreeam-qwq:TerminalConsoleAppender:360a0759") // Leaf - Use own TerminalConsoleAppender fork to fix some issues under latest version of jline/log4j implementation("net.kyori:adventure-text-serializer-ansi:4.16.0") // Keep in sync with adventureVersion from Paper-API build file // Leaf - Bump Dependencies implementation("net.kyori:ansi:1.0.3") // Manually bump beyond above transitive dep /* diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index eb8e2c9401c79b106f206bd4ae76aca5ae9ae4bb..2544c8022ed0fdebc407fc85350041d77247d168 100644 +index c4ccba8e24c0511d81d0f138977c2621e34b888e..e0ee41855a82008bf09de7222671a106073ec761 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1280,10 +1280,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop unlistedEntities = new HashSet<>(); // Paper - Add Listing API for Player private static final WeakHashMap> pluginWeakReferences = new WeakHashMap<>(); private int hash = 0; -@@ -2166,9 +2166,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2168,9 +2168,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public boolean canSee(org.bukkit.entity.Entity entity) { diff --git a/patches/server/0079-Mirai-Configurable-chat-message-signatures.patch b/patches/server/0079-Mirai-Configurable-chat-message-signatures.patch index 97d647f3..f5485351 100644 --- a/patches/server/0079-Mirai-Configurable-chat-message-signatures.patch +++ b/patches/server/0079-Mirai-Configurable-chat-message-signatures.patch @@ -11,10 +11,10 @@ Original license: GPLv3 Original project: https://github.com/etil2jz/Mirai diff --git a/src/main/java/io/papermc/paper/adventure/ChatProcessor.java b/src/main/java/io/papermc/paper/adventure/ChatProcessor.java -index 397f985756c5bc6c11a32c844d536000dd922ed1..4a6a94c471d317dd8ea2ad83c5b97826208effb9 100644 +index c5ad3034e8298e345733340d2b6284ef05bb4713..ecee309ae3351b90c4446717f2ae210ef5936b15 100644 --- a/src/main/java/io/papermc/paper/adventure/ChatProcessor.java +++ b/src/main/java/io/papermc/paper/adventure/ChatProcessor.java -@@ -356,7 +356,7 @@ public final class ChatProcessor { +@@ -319,7 +319,7 @@ public final class ChatProcessor { private void sendToServer(final ChatType.Bound chatType, final @Nullable Function msgFunction) { final PlayerChatMessage toConsoleMessage = msgFunction == null ? ChatProcessor.this.message : ChatProcessor.this.message.withUnsignedContent(msgFunction.apply(ChatProcessor.this.server.console)); diff --git a/patches/server/0080-Block-log4j-rce-exploit-in-chat.patch b/patches/server/0080-Block-log4j-rce-exploit-in-chat.patch index 49a387f3..3f76d3c3 100644 --- a/patches/server/0080-Block-log4j-rce-exploit-in-chat.patch +++ b/patches/server/0080-Block-log4j-rce-exploit-in-chat.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Block log4j rce exploit in chat diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index bf14f2a0eef3d3964d4ce1f09473e5106f20ebb8..0cbfa34b5750bb253a51ffdf19ff76301927aeae 100644 +index 85eba54ecdcb678eedcfdcc0a484ae2155f2bb15..0639def76c50fc9f68a058d781ef86383a01a128 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2234,6 +2234,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -35,10 +35,10 @@ index bf14f2a0eef3d3964d4ce1f09473e5106f20ebb8..0cbfa34b5750bb253a51ffdf19ff7630 for (int i = 0; i < message.length(); ++i) { if (!SharedConstants.isAllowedChatCharacter(message.charAt(i))) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 80ce7779fc2437444ea16db3d09250f82cef0ed5..4eda6d6f6e9fc34852d4b32a26c4f5a564a28f5d 100644 +index e3c2c3ba19eb04d93d3f5a9a73555bdc64c93b77..dfe42db7ef049c306af5e52eea0ecbf9a23140ca 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -670,6 +670,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -672,6 +672,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (this.getHandle().connection == null) return;