Fix minimessage components in afk patch

This commit is contained in:
William Blake Galbreath
2021-06-29 22:09:36 -05:00
parent 655af9a48c
commit cff24e3792
5 changed files with 32 additions and 15 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] AFK API
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 4935937ec8da9979b64e1445f74c38cc5f49eec1..bfdb9e8f1a7e82f0022e050598fee4e51e1222c2 100644
index 4935937ec8da9979b64e1445f74c38cc5f49eec1..7e94441f543c1961c298d1f8699fac16f11440eb 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1927,8 +1927,58 @@ public class ServerPlayer extends Player {
@@ -39,14 +39,14 @@ index 4935937ec8da9979b64e1445f74c38cc5f49eec1..bfdb9e8f1a7e82f0022e050598fee4e5
+
+ msg = event.getBroadcastMsg();
+ if (msg != null && !msg.isEmpty()) {
+ server.getPlayerList().sendMessage(org.bukkit.craftbukkit.util.CraftChatMessage.fromString(String.format(msg, this.getGameProfile().getName())));
+ server.getPlayerList().sendMessage(String.format(msg, this.getGameProfile().getName()));
+ }
+
+ if (level.purpurConfig.idleTimeoutUpdateTabList) {
+ if (afk) {
+ getBukkitEntity().setPlayerListName(net.pl3x.purpur.PurpurConfig.afkTabListPrefix + getName().getString() + net.pl3x.purpur.PurpurConfig.afkTabListSuffix);
+ getBukkitEntity().setPlayerListName(net.pl3x.purpur.PurpurConfig.afkTabListPrefix + getScoreboardName() + net.pl3x.purpur.PurpurConfig.afkTabListSuffix, true);
+ } else {
+ getBukkitEntity().setPlayerListName(getName().getString());
+ getBukkitEntity().setPlayerListName(getScoreboardName());
+ }
+ }
+
@@ -220,10 +220,27 @@ index 36cbaefea53a60c4a7176bf699c03e7cac338976..1b3ab9fd6a6d094d559e18a1d119e651
public boolean untamedTamablesAreRidable = true;
public boolean useNightVisionWhenRiding = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 1da5b6f73e78a697031f7662e68c546543fb9d1a..6b4f4c10254e2e9e39e237086a3c8cf929c02156 100644
index 1da5b6f73e78a697031f7662e68c546543fb9d1a..3eeb138d060f86e0f928fc59234563528d83bf65 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2529,4 +2529,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -423,10 +423,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setPlayerListName(String name) {
+ // Purpur start
+ setPlayerListName(name, false);
+ }
+ public void setPlayerListName(String name, boolean useMM) {
+ // Purpur end
if (name == null) {
name = getName();
}
- this.getHandle().listName = name.equals(getName()) ? null : CraftChatMessage.fromStringOrNull(name);
+ this.getHandle().listName = name.equals(getName()) ? null : useMM ? io.papermc.paper.adventure.PaperAdventure.asVanilla(net.kyori.adventure.text.minimessage.MiniMessage.get().parse(name)) : CraftChatMessage.fromStringOrNull(name); // Purpur
for (ServerPlayer player : (List<ServerPlayer>) server.getHandle().players) {
if (player.getBukkitEntity().canSee(this)) {
player.connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
@@ -2529,4 +2534,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.spigot;
}
// Spigot end