9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-25 09:59:15 +00:00

Fix connection message parse

Move name parse before minimessage component deserialize, to prevent failed show connection message which has name placeholder in the minimessage string
This commit is contained in:
Dreeam
2025-04-06 04:18:47 -04:00
parent 996427ed5d
commit d004ce16ff

View File

@@ -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 e8683f45823cac55e3e68ccc500f10f0632e72fd..c9a3dd3e2b17ef8d5457766bdc2bea19a1948426 100644
index e8683f45823cac55e3e68ccc500f10f0632e72fd..5b686f6f5016fefca1e2547ee1ab6c6235aedb29 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 e8683f45823cac55e3e68ccc500f10f0632e72fd..c9a3dd3e2b17ef8d5457766bdc2bea19
this.cserver.getPluginManager().callEvent(playerQuitEvent);
player.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage());
@@ -1673,4 +1673,34 @@ public abstract class PlayerList {
@@ -1673,4 +1673,38 @@ public abstract class PlayerList {
public boolean isAllowCommandsForAllPlayers() {
return this.allowCommandsForAllPlayers;
}
@@ -47,8 +47,10 @@ index e8683f45823cac55e3e68ccc500f10f0632e72fd..c9a3dd3e2b17ef8d5457766bdc2bea19
+ return io.papermc.paper.adventure.PaperAdventure.asAdventure(defaultJoinMsg);
+ }
+
+ return net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(org.dreeam.leaf.config.modules.misc.ConnectionMessage.joinMessage)
+ .replaceText(net.kyori.adventure.text.TextReplacementConfig.builder().matchLiteral("<player_name>").replacement(craftPlayer.getName()).build())
+ final String joinMessage = org.dreeam.leaf.config.modules.misc.ConnectionMessage.joinMessage
+ .replace("<player_name>", craftPlayer.getName());
+
+ return net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(joinMessage)
+ .replaceText(net.kyori.adventure.text.TextReplacementConfig.builder().matchLiteral("<player_displayname>").replacement(craftPlayer.displayName()).build());
+ }
+
@@ -61,8 +63,10 @@ index e8683f45823cac55e3e68ccc500f10f0632e72fd..c9a3dd3e2b17ef8d5457766bdc2bea19
+ return defaultJoinMsg;
+ }
+
+ final String quitMessage = org.dreeam.leaf.config.modules.misc.ConnectionMessage.quitMessage
+ .replace("<player_name>", craftPlayer.getName());
+
+ return net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(org.dreeam.leaf.config.modules.misc.ConnectionMessage.quitMessage)
+ .replaceText(net.kyori.adventure.text.TextReplacementConfig.builder().matchLiteral("<player_name>").replacement(craftPlayer.getName()).build())
+ .replaceText(net.kyori.adventure.text.TextReplacementConfig.builder().matchLiteral("<player_displayname>").replacement(craftPlayer.displayName()).build());
+ }
+