9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-28 03:19:21 +00:00
This commit is contained in:
Dreeam
2024-06-22 01:15:34 +08:00
parent 36bb626004
commit 9aee558b9b
52 changed files with 86 additions and 98 deletions

View File

@@ -215,7 +215,7 @@ index 0b5979723bb30f9011ac64c36d894aa41713ec9b..e220f5601f6b92b7b280ce8ebe64117d
if (stream != null) {
diff --git a/src/main/java/org/galemc/gale/version/GaleVersionFetcher.java b/src/main/java/org/galemc/gale/version/GaleVersionFetcher.java
index 3d674eca7d20202d8f811c5c3e3946a12046028a..1c087ae6daaa0cdf23f3930eca0af390469eab3d 100644
index 3d674eca7d20202d8f811c5c3e3946a12046028a..6fae3dedda0ce742e33040c7b85b5a596d9be76f 100644
--- a/src/main/java/org/galemc/gale/version/GaleVersionFetcher.java
+++ b/src/main/java/org/galemc/gale/version/GaleVersionFetcher.java
@@ -5,7 +5,7 @@ package org.galemc.gale.version;
@@ -223,7 +223,7 @@ index 3d674eca7d20202d8f811c5c3e3946a12046028a..1c087ae6daaa0cdf23f3930eca0af390
public GaleVersionFetcher() {
- super("ver/1.20.2", "https://github.com/GaleMC/Gale", "Gale", "GaleMC", "GaleMC", "Gale");
+ super("ver/1.20.6", "https://github.com/Winds-Studio/Leaf", "Leaf", "Winds-Studio", "Winds-Studio", "Leaf"); // Leaf
+ super("ver/1.21", "https://github.com/Winds-Studio/Leaf", "Leaf", "Winds-Studio", "Winds-Studio", "Leaf"); // Leaf
}
}

View File

@@ -11,13 +11,13 @@ Commit: e234432bd99e1c4b07c24d1dd247977226a7516a
This patch is Powered by AppleSkin (https://github.com/squeek502/AppleSkin)
diff --git a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java
index b63d87d0593d116b0c5ee835dc4372f1b5542453..ef23577faaf7948d7a9b1def4d56506eab19cc80 100644
index c852b3a8d31bc73d32aef215e4d3a82aa1fd8f19..1181ffae40b86a4212e199814d3e07e641a5a1f2 100644
--- a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java
+++ b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java
@@ -18,4 +18,7 @@ public class ProtocolSupport implements IConfigModule {
@ConfigInfo(baseName = "jade-protocol")
public static boolean jadeProtocol = false;
@@ -15,4 +15,7 @@ public class ProtocolSupport implements IConfigModule {
public String getBaseName() {
return "protocol_support";
}
+
+ @ConfigInfo(baseName = "appleskin-protocol")
+ public static boolean appleskinProtocol = false;

View File

@@ -23,7 +23,7 @@ index 44abb103462dc5a2718b3112e94342c39dead554..5075e22ae84191b3d94ce7a8bcbf0ef7
// CraftBukkit start - handle player weather
// entityplayer.connection.send(new PacketPlayOutGameStateChange(PacketPlayOutGameStateChange.START_RAINING, 0.0F));
diff --git a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java
index ef23577faaf7948d7a9b1def4d56506eab19cc80..c9736e79387d785a67d6ebe71df6553eeaf2b41d 100644
index 1181ffae40b86a4212e199814d3e07e641a5a1f2..be8474a514e7b9bdacd7cc89d8d3e8b3bc3eb709 100644
--- a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java
+++ b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java
@@ -4,6 +4,8 @@ import org.dreeam.leaf.config.ConfigInfo;
@@ -35,7 +35,7 @@ index ef23577faaf7948d7a9b1def4d56506eab19cc80..c9736e79387d785a67d6ebe71df6553e
public class ProtocolSupport implements IConfigModule {
@Override
@@ -21,4 +23,9 @@ public class ProtocolSupport implements IConfigModule {
@@ -18,4 +20,9 @@ public class ProtocolSupport implements IConfigModule {
@ConfigInfo(baseName = "appleskin-protocol")
public static boolean appleskinProtocol = false;

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Chat Image protocol
This patch is Powered by ChatImage (https://github.com/kitUIN/ChatImage)
diff --git a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java
index c9736e79387d785a67d6ebe71df6553eeaf2b41d..53ae1ecb7acf8e9d8b9b1c50d5a483008b303a66 100644
index be8474a514e7b9bdacd7cc89d8d3e8b3bc3eb709..9324ca1f1abd2343b2f1eaec019e84428f01c626 100644
--- a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java
+++ b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java
@@ -24,6 +24,9 @@ public class ProtocolSupport implements IConfigModule {
@@ -21,6 +21,9 @@ public class ProtocolSupport implements IConfigModule {
@ConfigInfo(baseName = "appleskin-protocol")
public static boolean appleskinProtocol = false;

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Asteor Bar protocol
This patch is Powered by AsteorBar (https://github.com/afoxxvi/AsteorBarMod)
diff --git a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java
index 53ae1ecb7acf8e9d8b9b1c50d5a483008b303a66..b91f0ae28f044ceed0b9db46669a4cca2d47cb2d 100644
index 9324ca1f1abd2343b2f1eaec019e84428f01c626..45c422b993e254fd892bfd6f47a074f1e9688714 100644
--- a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java
+++ b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java
@@ -24,6 +24,9 @@ public class ProtocolSupport implements IConfigModule {
@@ -21,6 +21,9 @@ public class ProtocolSupport implements IConfigModule {
@ConfigInfo(baseName = "appleskin-protocol")
public static boolean appleskinProtocol = false;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Faster Random for xaeroMapServerID generation
diff --git a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java
index b91f0ae28f044ceed0b9db46669a4cca2d47cb2d..8c71281004649e23adb6609a66ab4951b280c517 100644
index 45c422b993e254fd892bfd6f47a074f1e9688714..0a9312fd2235ee350df3bf49e846216714ea1120 100644
--- a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java
+++ b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java
@@ -4,7 +4,7 @@ import org.dreeam.leaf.config.ConfigInfo;
@@ -17,7 +17,7 @@ index b91f0ae28f044ceed0b9db46669a4cca2d47cb2d..8c71281004649e23adb6609a66ab4951
public class ProtocolSupport implements IConfigModule {
@@ -33,5 +33,5 @@ public class ProtocolSupport implements IConfigModule {
@@ -30,5 +30,5 @@ public class ProtocolSupport implements IConfigModule {
@ConfigInfo(baseName = "xaero-map-protocol")
public static boolean xaeroMapProtocol = false;
@ConfigInfo(baseName = "xaero-map-server-id")

View File

@@ -10,7 +10,7 @@ Add Pufferfish DAB support for Camel, Sniffer
https://github.com/pufferfish-gg/Pufferfish/issues/83
diff --git a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
index 0d85300632c6476152e6c1072f84cb75d38dea77..54b9cf002e0b71027449cc2af09a52b11a3bb96d 100644
index 7c7b063b0b563716757294792653a705fe7436f9..3d47ddcfd68e4499cf01ce766c72726c1d8a0c26 100644
--- a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
+++ b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
@@ -156,8 +156,10 @@ public class Armadillo extends Animal {

View File

@@ -97,7 +97,7 @@ index da026533b15a1981000e73bba6c5209c13de28dc..96d2077abd0112f2b2b8c4678447afbf
return this.level().purpurConfig.frogBreedingTicks;
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
index 5addd3243dd63041442f2a6bcf92a2128e4242c1..2ebce53c728a67a619255a7e8796dcb1a6f82045 100644
index c51637514bf671c08dbe4e5ac55566b92b5876f9..736e5dbd1587693d33de72ce6a7f8a745e388114 100644
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
@@ -95,6 +95,23 @@ public class Tadpole extends AbstractFish {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Fix MC-2025
Mojang issues: https://bugs.mojang.com/browse/MC-2025
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index fd937544baae6835e1826a686676dcbfa58aca33..add6e68926cda8fc94fb6b37c3da20046b8c7346 100644
index a8c7a433043ae670a34764ab3947b11b2fbf1671..0a730f1584f0b493b14ccf6c610ffd52f5a826b8 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2628,6 +2628,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -2530,6 +2530,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
// Purpur end
nbttagcompound.put("Leaves.Data", leavesData); // Leaves - leaves ex data
@@ -26,7 +26,7 @@ index fd937544baae6835e1826a686676dcbfa58aca33..add6e68926cda8fc94fb6b37c3da2004
return nbttagcompound;
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
@@ -2705,6 +2715,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -2607,6 +2617,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.reapplyPosition();
}

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Fix MC-65198
Mojang issues: https://bugs.mojang.com/browse/MC-65198
diff --git a/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java b/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java
index 7215af6cc91f48b040c23c54536d4aac8d293497..53002139c8ba4e4886cf73404c3bbd152421053a 100644
index b3bd9bbd96efc4784b86c2be6bb857da4db919b8..5b65fade746fee7208719b20164bf944d8e8d3a8 100644
--- a/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java
@@ -141,6 +141,7 @@ public abstract class ItemCombinerMenu extends AbstractContainerMenu {
@@ -20,17 +20,17 @@ index 7215af6cc91f48b040c23c54536d4aac8d293497..53002139c8ba4e4886cf73404c3bbd15
@@ -179,7 +180,7 @@ public abstract class ItemCombinerMenu extends AbstractContainerMenu {
}
this.activeQuickItem = itemstack; // Purpur
this.activeQuickItem = itemstack; // Purpur - Anvil API
- slot1.onTake(player, itemstack1);
+ slot1.onTake(player, itemStack2); // Leaf - Fix MC-65198
this.activeQuickItem = null; // Purpur
this.activeQuickItem = null; // Purpur - Anvil API
}
diff --git a/src/main/java/net/minecraft/world/inventory/ResultSlot.java b/src/main/java/net/minecraft/world/inventory/ResultSlot.java
index f17ff5988d826c8fad68f6bf7bac1d06edae01ae..02337174c26d7532c3ab99e269ec7ce8793b7f13 100644
index 37a89bf79017eb65f82276b054a70ddb5eb5e549..05d0c97966f35a6e8576c975d33990f482d05e12 100644
--- a/src/main/java/net/minecraft/world/inventory/ResultSlot.java
+++ b/src/main/java/net/minecraft/world/inventory/ResultSlot.java
@@ -45,7 +45,7 @@ public class ResultSlot extends Slot {
@@ -46,7 +46,7 @@ public class ResultSlot extends Slot {
@Override
protected void checkTakeAchievements(ItemStack stack) {
if (this.removeCount > 0) {
@@ -40,10 +40,10 @@ index f17ff5988d826c8fad68f6bf7bac1d06edae01ae..02337174c26d7532c3ab99e269ec7ce8
if (this.container instanceof RecipeCraftingHolder recipeCraftingHolder) {
diff --git a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java
index eade15820dd9db38b6af2a5c4314acfb14ca03e9..5fef8a6bc746a34a0b742c51f169a502bc9b6ce6 100644
index 5ddae1afab0a68465ea60395c84b0997ee994f88..a67da91bbbe6fdfe44c40b13b426e2452dccd71e 100644
--- a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java
@@ -259,6 +259,7 @@ public class StonecutterMenu extends AbstractContainerMenu {
@@ -264,6 +264,7 @@ public class StonecutterMenu extends AbstractContainerMenu {
Item item = itemstack1.getItem();
itemstack = itemstack1.copy();
@@ -51,7 +51,7 @@ index eade15820dd9db38b6af2a5c4314acfb14ca03e9..5fef8a6bc746a34a0b742c51f169a502
if (slot == 1) {
item.onCraftedBy(itemstack1, player.level(), player);
if (!this.moveItemStackTo(itemstack1, 2, 38, true)) {
@@ -291,7 +292,7 @@ public class StonecutterMenu extends AbstractContainerMenu {
@@ -296,7 +297,7 @@ public class StonecutterMenu extends AbstractContainerMenu {
return ItemStack.EMPTY;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Including 5s in getTPS()
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 31b5beb4c3a3712d4f38a4ffef09675050f2eb04..f4b9a74ee268273098e4286354e436bbd3fc07f2 100644
index 8e1bc7b117ac0766e3eb0f38cb33b71d6a972fb8..86c0965f339a592afba363607fd457a13d8bd6eb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3177,6 +3177,8 @@ public final class CraftServer implements Server {
@@ -3102,6 +3102,8 @@ public final class CraftServer implements Server {
@Override
public double[] getTPS() {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Remove useless creating stats json bases on player name logic
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index c410f781371a87ecc2849144c747a6ac3182a65a..b87fa81ccee6792b3a202b2c193299dbd2cce112 100644
index 5075e22ae84191b3d94ce7a8bcbf0ef7735e7f28..cc1039af787cff402afc54edbd53a3f271f66cd2 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1580,6 +1580,8 @@ public abstract class PlayerList {
@@ -1518,6 +1518,8 @@ public abstract class PlayerList {
File file = this.server.getWorldPath(LevelResource.PLAYER_STATS_DIR).toFile();
File file1 = new File(file, String.valueOf(uuid) + ".json");
@@ -17,7 +17,7 @@ index c410f781371a87ecc2849144c747a6ac3182a65a..b87fa81ccee6792b3a202b2c193299db
if (!file1.exists()) {
File file2 = new File(file, displayName + ".json"); // CraftBukkit
Path path = file2.toPath();
@@ -1588,6 +1590,8 @@ public abstract class PlayerList {
@@ -1526,6 +1528,8 @@ public abstract class PlayerList {
file2.renameTo(file1);
}
}

View File

@@ -7,10 +7,10 @@ AFK command & command cooldown
AFK title message
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index 95c84e0f83d056ee080061cd495c95a328814469..a5784aa215522c4666139a8eac3711c966cc7cb1 100644
index b0b5faa06c47ebdab14cc8437d388029af4014ff..41da758e8b528ef07e5c5525f920cbdf6bde4779 100644
--- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -250,6 +250,7 @@ public class Commands {
@@ -248,6 +248,7 @@ public class Commands {
StopCommand.register(this.dispatcher);
TransferCommand.register(this.dispatcher);
WhitelistCommand.register(this.dispatcher);
@@ -19,10 +19,10 @@ index 95c84e0f83d056ee080061cd495c95a328814469..a5784aa215522c4666139a8eac3711c9
org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 9b97d5ca67c0e53f318a54465708e21ae906e994..2a76960ebd0270ab5a6f850dc7b0b1a6c2cde572 100644
index 30f984553e823b3c928b0e2181baf5d2058c2d84..3a127806698edefafae06277ce6233fd6d2f1114 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2370,6 +2370,8 @@ public class ServerPlayer extends Player {
@@ -2410,6 +2410,8 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
// Purpur Start
private boolean isAfk = false;
@@ -31,7 +31,7 @@ index 9b97d5ca67c0e53f318a54465708e21ae906e994..2a76960ebd0270ab5a6f850dc7b0b1a6
@Override
public void setAfk(boolean afk) {
@@ -2407,6 +2409,20 @@ public class ServerPlayer extends Player {
@@ -2447,6 +2449,20 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
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,10 +53,10 @@ index 9b97d5ca67c0e53f318a54465708e21ae906e994..2a76960ebd0270ab5a6f850dc7b0b1a6
} else {
getBukkitEntity().setPlayerListName(prefix + scoreboardName + suffix, true);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index a0abb0182aa6166b1d2702aa9964132889dc9d86..6f38bd7a7c6e7bb8ade7b79756ab0afded6add99 100644
index 96db8bf0d5c3524a0e010dcdf098dba19f160f95..dad3246bb3e2d0c91fe2200ae6f25f2fcc66d153 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2254,8 +2254,28 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -2199,8 +2199,28 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
}
@@ -86,10 +86,10 @@ index a0abb0182aa6166b1d2702aa9964132889dc9d86..6f38bd7a7c6e7bb8ade7b79756ab0afd
// CraftBukkit start - SPIGOT-7346: Prevent disconnected players from executing commands
if (this.player.hasDisconnected()) {
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index b87fa81ccee6792b3a202b2c193299dbd2cce112..471933d0e676f600233c7c726c22b866bd4b2f57 100644
index cc1039af787cff402afc54edbd53a3f271f66cd2..a10185c655e22d03f2756582d4628e3da1775c85 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -623,6 +623,7 @@ public abstract class PlayerList {
@@ -614,6 +614,7 @@ public abstract class PlayerList {
org.leavesmc.leaves.protocol.core.LeavesProtocolManager.handlePlayerLeave(entityplayer); // Leaves - protocol
// Paper end - Fix kick event leave message not being sent
org.purpurmc.purpur.task.BossBarTask.removeFromAll(entityplayer.getBukkitEntity()); // Purpur
@@ -98,10 +98,10 @@ index b87fa81ccee6792b3a202b2c193299dbd2cce112..471933d0e676f600233c7c726c22b866
entityplayer.awardStat(Stats.LEAVE_GAME);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index ecd3f2c3dde43082809851f2e71d18c5d7926ed8..cfdab5174f5ac523cde457c0cee5a172bb53e0e0 100644
index d0c62588d80414d83326192d3050025732902647..34412e3ee1cc6db700ef0fe8547715e2bb68345d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -176,9 +176,12 @@ public class PurpurConfig {
@@ -178,9 +178,12 @@ public class PurpurConfig {
public static String cannotRideMob = "<red>You cannot mount that mob";
public static String afkBroadcastAway = "<yellow><italic>%s is now AFK";
public static String afkBroadcastBack = "<yellow><italic>%s is no longer AFK";
@@ -114,7 +114,7 @@ index ecd3f2c3dde43082809851f2e71d18c5d7926ed8..cfdab5174f5ac523cde457c0cee5a172
public static String creditsCommandOutput = "<green>%s has been shown the end credits";
public static String demoCommandOutput = "<green>%s has been shown the demo screen";
public static String pingCommandOutput = "<green>%s's ping is %sms";
@@ -195,9 +198,12 @@ public class PurpurConfig {
@@ -197,9 +200,12 @@ public class PurpurConfig {
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway);
afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);

View File

@@ -4,18 +4,6 @@ Date: Tue, 12 Mar 2024 00:36:29 +0800
Subject: [PATCH] Virtual Thread for async scheduler
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index ce3572f8044d7a4732d9411a622be79c48da1346..dbdb4276c3689d477be6a06f3a826ec0382d1408 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -387,7 +387,6 @@ public class Main {
tryPreloadClass("org.bukkit.craftbukkit.scheduler.CraftScheduler$1");
tryPreloadClass("org.bukkit.craftbukkit.scheduler.CraftScheduler$2");
tryPreloadClass("org.bukkit.craftbukkit.scheduler.CraftScheduler$3");
- tryPreloadClass("org.bukkit.craftbukkit.scheduler.CraftScheduler$4");
tryPreloadClass("org.slf4j.helpers.MessageFormatter");
tryPreloadClass("org.slf4j.helpers.FormattingTuple");
tryPreloadClass("org.slf4j.helpers.BasicMarker");
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncScheduler.java
index 3c1992e212a6d6f1db4d5b807b38d71913619fc0..fe4f1868a5baebceb9ad0520f059ac8c4a68d397 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncScheduler.java

View File

@@ -11,7 +11,7 @@ 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 8b95af95976309f31eb2493049a6a7440c505608..0d2089fbbb79af51a143621d9ce330b71298f048 100644
index f962e82e2c70f328a23dc99193d072f8dd7ad949..8ec7cb984ef4c45a14292388c0268bcc0bc74ddf 100644
--- a/src/main/java/io/papermc/paper/adventure/ChatProcessor.java
+++ b/src/main/java/io/papermc/paper/adventure/ChatProcessor.java
@@ -319,7 +319,7 @@ public final class ChatProcessor {
@@ -71,10 +71,10 @@ index 50dc68a005490415b88780397ef6c26859596dd5..162115048cffc824376e54b7f60ae071
public static record Favicon(byte[] iconBytes) {
private static final String PREFIX = "data:image/png;base64,";
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index ee99b0e74abc6447937b1af627c10ffbeeb9e0c0..18554ce89a6de5dc6a8116e27f7210c013469c21 100644
index b38470108f0842ee65cb55ff7e376105cc7ba2f6..9bf4b58f056172d88365197352b1d434b7170769 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -701,6 +701,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -708,6 +708,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@Override
public boolean enforceSecureProfile() {
@@ -83,10 +83,10 @@ index ee99b0e74abc6447937b1af627c10ffbeeb9e0c0..18554ce89a6de5dc6a8116e27f7210c0
// Paper start - Add setting for proxy online mode status
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
index 392a8ce9c36c5d464df3a7d6a75737e19c22bdbb..3754ea28fca1fbcd72866942d72c3567f588d460 100644
index ae0d0310d50f1ada082e045a58a24a43f8079da8..eea19f895588c51bce86f20b3ec505fd3ac3f077 100644
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
@@ -336,10 +336,29 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
@@ -337,10 +337,29 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
}
public void send(Packet<?> packet) {
@@ -117,10 +117,10 @@ index 392a8ce9c36c5d464df3a7d6a75737e19c22bdbb..3754ea28fca1fbcd72866942d72c3567
if (packet == null || this.processedDisconnect) { // Spigot
return;
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 471933d0e676f600233c7c726c22b866bd4b2f57..e7f83ed096257ad8906b3398a7bcb80a787dfa5a 100644
index a10185c655e22d03f2756582d4628e3da1775c85..230eef32faed2c7744447e23f5608790c1d491a8 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1534,7 +1534,7 @@ public abstract class PlayerList {
@@ -1472,7 +1472,7 @@ public abstract class PlayerList {
// Paper end
boolean flag = this.verifyChatTrusted(message);
@@ -129,7 +129,7 @@ index 471933d0e676f600233c7c726c22b866bd4b2f57..e7f83ed096257ad8906b3398a7bcb80a
OutgoingChatMessage outgoingchatmessage = OutgoingChatMessage.create(message);
boolean flag1 = false;
@@ -1563,6 +1563,7 @@ public abstract class PlayerList {
@@ -1501,6 +1501,7 @@ public abstract class PlayerList {
}
public boolean verifyChatTrusted(PlayerChatMessage message) { // Paper - private -> public

View File

@@ -5,19 +5,19 @@ 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 6f38bd7a7c6e7bb8ade7b79756ab0afded6add99..9546f79db7ab0a247cc658640e861e96eb1c0ace 100644
index dad3246bb3e2d0c91fe2200ae6f25f2fcc66d153..dee7d17ed0b8b920e6135460c5c20cb178ea54a6 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2438,6 +2438,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -2383,6 +2383,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
private void tryHandleChat(String s, Runnable runnable, boolean sync) { // CraftBukkit
+ if (ServerGamePacketListenerImpl.isLog4jExploit(s)) return; // Leaf - Block log4j rce exploit in chat
+
if (ServerGamePacketListenerImpl.isChatMessageIllegal(s)) {
this.disconnect(Component.translatable("multiplayer.disconnect.illegal_characters"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_CHARACTERS); // Paper
this.disconnect((Component) Component.translatable("multiplayer.disconnect.illegal_characters"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_CHARACTERS); // Paper
} else if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales
@@ -2469,6 +2471,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -2414,6 +2416,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
}
@@ -34,10 +34,10 @@ index 6f38bd7a7c6e7bb8ade7b79756ab0afded6add99..9546f79db7ab0a247cc658640e861e96
for (int i = 0; i < message.length(); ++i) {
if (!StringUtil.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 547bb44769e3cf23cd0fee669d335c37ff15aa92..14678f175a02592db1305584d36421e20e6263d8 100644
index 6a6a82124144f16146cd7b1fba1725b873d1250a..aac0f0c5dea5f7b8ef50d4f12fe9b5b9e25c8741 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -751,6 +751,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -753,6 +753,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (this.getHandle().connection == null) return;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Cache player profileResult
diff --git a/build.gradle.kts b/build.gradle.kts
index cd3d9b098b13c01f1ac6e7b27043e391531bd42e..d5d3b8b48528082fc0967ad1398cc972dc0eb127 100644
index 989cf44a97e046ff5204184a5ae42504814aebd8..d0e1f73ef1b543c3ad32874dbda0aedf47f51b91 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -24,6 +24,10 @@ dependencies {
@@ -20,7 +20,7 @@ index cd3d9b098b13c01f1ac6e7b27043e391531bd42e..d5d3b8b48528082fc0967ad1398cc972
implementation("org.jline:jline-terminal-jansi:3.26.1") // Leaf - Bump Dependencies
implementation("net.minecrell:terminalconsoleappender:1.3.0")
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
index 1d496b2efc44065e91b4d612e17f38382489e876..d991c875c8f2965ca26e87dc11bba0d347de9c5c 100644
index 00d8b8d4d2d1c73c4eeeaa9483cca2999df65a54..19d1ab56e1fbf64f786c756043ce995f3333e4b7 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -1,5 +1,7 @@
@@ -38,8 +38,8 @@ index 1d496b2efc44065e91b4d612e17f38382489e876..d991c875c8f2965ca26e87dc11bba0d3
+import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import javax.annotation.Nullable;
import javax.crypto.SecretKey;
@@ -87,6 +90,11 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
import javax.crypto.Cipher;
@@ -88,6 +91,11 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
private ServerPlayer player; // CraftBukkit
public boolean iKnowThisMayNotBeTheBestIdeaButPleaseDisableUsernameValidation = false; // Paper - username validation overriding
private int velocityLoginMessageId = -1; // Paper - Add Velocity IP Forwarding Support
@@ -51,7 +51,7 @@ index 1d496b2efc44065e91b4d612e17f38382489e876..d991c875c8f2965ca26e87dc11bba0d3
public ServerLoginPacketListenerImpl(MinecraftServer server, Connection connection, boolean transferred) {
this.state = ServerLoginPacketListenerImpl.State.HELLO;
@@ -314,7 +322,19 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
@@ -313,7 +321,19 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
String s1 = (String) Objects.requireNonNull(ServerLoginPacketListenerImpl.this.requestedUsername, "Player name not initialized");
try {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Ignore terminal provider warning
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index dbdb4276c3689d477be6a06f3a826ec0382d1408..4b3ca7cc331d60fe02f1068467bed6ce0c81001e 100644
index bbe8cd960f9f1e65bc3304ca27befae420bb5677..6b935d3b642d91cf6d928a983376f4a01e07ff23 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -354,6 +354,9 @@ public class Main {
@@ -324,6 +324,9 @@ public class Main {
// Paper end - Log Java and OS versioning to help with debugging plugin issues
printlnStartupInfoToSystemOut("Loading libraries, please wait..."); // Gale - include time in startup logs

View File

@@ -7,10 +7,10 @@ Revert to old console provider, Fix https://github.com/PaperMC/Paper/issues/1040
Solution refers to https://inside.java/2023/07/31/quality-heads-up
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 4b3ca7cc331d60fe02f1068467bed6ce0c81001e..f310722b6f6b5e487e876e42070fdaaa01b62efb 100644
index 6b935d3b642d91cf6d928a983376f4a01e07ff23..aa55df79d2ff18fd1add2e643267d3a1f37f34f2 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -356,6 +356,7 @@ public class Main {
@@ -326,6 +326,7 @@ public class Main {
printlnStartupInfoToSystemOut("Loading libraries, please wait..."); // Gale - include time in startup logs
System.setProperty("org.jline.terminal.disableDeprecatedProviderWarning", "true"); // Leaf - Ignore terminal provider warning

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Don't save primed tnt entity
diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
index dff0e7b08b973a1b29f916e63d3e4778d6c56cdc..92bcb38043de9623fb6e8139d5738d40c573b257 100644
index 2a4425d04917b32c7ae5af3e7422c0bafc2aa1c2..2493e94b170dc5c0a3c36dded8e1ac3918fa266a 100644
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
@@ -218,4 +218,11 @@ public class PrimedTnt extends Entity implements TraceableEntity {
@@ -255,4 +255,11 @@ public class PrimedTnt extends Entity implements TraceableEntity {
return super.interact(player, hand);
}
// Purpur end - Shears can defuse TNT

View File

@@ -5,12 +5,12 @@ Subject: [PATCH] Don't save falling block entity
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index d504d10fbe45dfe3f2f3d08d2473df6cd18f6dcf..2b377faa46c7e4b565cff3c4f85cd526046f18d8 100644
index b83be9bbb9f348da83c0fd1ecc7f65c8a58b45b9..5b3844f92caf2962be58e911f98a26e6992f8184 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -405,4 +405,11 @@ public class FallingBlockEntity extends Entity {
this.setPos(d0, d1, d2);
this.setStartPos(this.blockPosition());
@@ -422,4 +422,11 @@ public class FallingBlockEntity extends Entity {
this.forceTickAfterTeleportToDuplicate = entity != null && flag && io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.allowUnsafeEndPortalTeleportation; // Paper
return entity;
}
+
+ // Leaf start - PMC - Don't save falling block entity

View File

@@ -5,18 +5,18 @@ Subject: [PATCH] Configurable connection message
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index e7f83ed096257ad8906b3398a7bcb80a787dfa5a..7c8e9c3c00d7941f2a87b7175ffe2281f31da205 100644
index 230eef32faed2c7744447e23f5608790c1d491a8..180b50c9c23c6934d3e99500a25635df32f7169c 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -28,6 +28,7 @@ import java.util.function.Predicate;
@@ -26,6 +26,7 @@ import java.util.UUID;
import java.util.function.Function;
import java.util.function.Predicate;
import javax.annotation.Nullable;
import me.titaniumtown.ArrayConstants;
+import net.kyori.adventure.text.TextReplacementConfig;
import net.minecraft.ChatFormatting;
import net.minecraft.FileUtil;
import net.minecraft.commands.CommandSourceStack;
@@ -356,7 +357,7 @@ public abstract class PlayerList {
@@ -354,7 +355,7 @@ public abstract class PlayerList {
// Ensure that player inventory is populated with its viewer
player.containerMenu.transferTo(player.containerMenu, bukkitPlayer);
@@ -25,7 +25,7 @@ index e7f83ed096257ad8906b3398a7bcb80a787dfa5a..7c8e9c3c00d7941f2a87b7175ffe2281
this.cserver.getPluginManager().callEvent(playerJoinEvent);
if (!player.connection.isAcceptingMessages()) {
@@ -369,7 +370,7 @@ public abstract class PlayerList {
@@ -367,7 +368,7 @@ public abstract class PlayerList {
final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage();
@@ -34,7 +34,7 @@ index e7f83ed096257ad8906b3398a7bcb80a787dfa5a..7c8e9c3c00d7941f2a87b7175ffe2281
joinMessage = io.papermc.paper.adventure.PaperAdventure.asVanilla(jm); // Paper - Adventure
this.server.getPlayerList().broadcastSystemMessage(joinMessage, false); // Paper - Adventure
}
@@ -634,7 +635,7 @@ public abstract class PlayerList {
@@ -625,7 +626,7 @@ public abstract class PlayerList {
entityplayer.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.DISCONNECT); // Paper - Inventory close reason
}
@@ -43,7 +43,7 @@ index e7f83ed096257ad8906b3398a7bcb80a787dfa5a..7c8e9c3c00d7941f2a87b7175ffe2281
this.cserver.getPluginManager().callEvent(playerQuitEvent);
entityplayer.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage());
@@ -1707,4 +1708,29 @@ public abstract class PlayerList {
@@ -1645,4 +1646,29 @@ public abstract class PlayerList {
public boolean isAllowCommandsForAllPlayers() {
return this.allowCommandsForAllPlayers;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Remove stream in BlockBehaviour cache blockstate
diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
index 031fc626d2075cbe0941fecc188406712ab9953f..999d1ef61de1423f804ecdee586d5335acf5e6e5 100644
index 155a099eb9b0196385947f5765fad4e5c5b74b44..8b46772221cd60691a6cc4f6b691bdfe94e78608 100644
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
@@ -1374,7 +1374,7 @@ public abstract class BlockBehaviour implements FeatureElement {
@@ -1302,7 +1302,7 @@ public abstract class BlockBehaviour implements FeatureElement {
@Nullable
final VoxelShape[] occlusionShapes;
protected final VoxelShape collisionShape;
@@ -17,7 +17,7 @@ index 031fc626d2075cbe0941fecc188406712ab9953f..999d1ef61de1423f804ecdee586d5335
private final boolean[] faceSturdy;
protected final boolean isCollisionShapeFullBlock;
@@ -1406,9 +1406,14 @@ public abstract class BlockBehaviour implements FeatureElement {
@@ -1334,9 +1334,14 @@ public abstract class BlockBehaviour implements FeatureElement {
if (!this.collisionShape.isEmpty() && state.hasOffsetFunction()) {
throw new IllegalStateException(String.format(Locale.ROOT, "%s has a collision shape and an offset type, but is not marked as dynamicShape in its properties.", BuiltInRegistries.BLOCK.getKey(block)));
} else {

View File

@@ -11,7 +11,7 @@ allocation by directly accessing the rules list, which further contributes
to reducing garbage collection pressure during world generation.
diff --git a/src/main/java/net/minecraft/world/level/levelgen/SurfaceRules.java b/src/main/java/net/minecraft/world/level/levelgen/SurfaceRules.java
index a506f3ef40ec34a89abb73a60cedf3b556585bee..c79aceb58549235a6064fa6951509d0ee77ddf1a 100644
index 9df053ddff459d4aab478106c6e66a5fc3cda8f6..7a9b36b93032fbbfd439b8d95c82c7515616cbbd 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/SurfaceRules.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/SurfaceRules.java
@@ -314,8 +314,14 @@ public class SurfaceRules {