From 342957ef685c9d136f0ef0c71869052411775c97 Mon Sep 17 00:00:00 2001 From: destro174 <40720638+destro174@users.noreply.github.com> Date: Sat, 19 Feb 2022 15:14:41 +0100 Subject: [PATCH] Fix build! --- api/build.gradle.kts | 4 +- .../java/com/alttd/chat/util/Utility.java | 15 ++-- build.gradle.kts | 13 ++++ galaxy/build.gradle.kts | 4 +- .../com/alttd/chat/commands/ChatClear.java | 9 +-- .../com/alttd/chat/handler/ChatHandler.java | 46 ++++++------ .../alttd/chat/listeners/ChatListener.java | 29 ++++---- .../com/alttd/chat/util/GalaxyUtility.java | 18 ++--- settings.gradle.kts | 30 ++++---- .../velocitychat/commands/PartyCommand.java | 2 +- .../alttd/velocitychat/commands/Report.java | 5 +- .../commands/partysubcommands/Create.java | 8 +- .../commands/partysubcommands/Disband.java | 8 +- .../commands/partysubcommands/Info.java | 6 +- .../commands/partysubcommands/Invite.java | 10 +-- .../commands/partysubcommands/Join.java | 6 +- .../commands/partysubcommands/Leave.java | 8 +- .../commands/partysubcommands/Name.java | 8 +- .../commands/partysubcommands/Owner.java | 8 +- .../commands/partysubcommands/Remove.java | 10 +-- .../velocitychat/handlers/ChatHandler.java | 74 ++++++++++--------- .../velocitychat/listeners/ChatListener.java | 8 +- .../listeners/ProxyPlayerListener.java | 21 +++--- 23 files changed, 184 insertions(+), 166 deletions(-) diff --git a/api/build.gradle.kts b/api/build.gradle.kts index 2c41d59..92987cd 100644 --- a/api/build.gradle.kts +++ b/api/build.gradle.kts @@ -3,7 +3,9 @@ plugins { } dependencies { - compileOnly("com.alttd:Galaxy-API:1.18.1-R0.1-SNAPSHOT") + compileOnly("com.alttd:Galaxy-API:1.18.1-R0.1-SNAPSHOT") { + exclude("net.kyori.adventure.text.minimessage") + } compileOnly("net.kyori:adventure-text-minimessage:4.10.0-SNAPSHOT") // Minimessage compileOnly("org.spongepowered:configurate-yaml:4.1.2") // Configurate compileOnly("net.luckperms:api:5.3") // Luckperms diff --git a/api/src/main/java/com/alttd/chat/util/Utility.java b/api/src/main/java/com/alttd/chat/util/Utility.java index 88d8aef..7036b02 100755 --- a/api/src/main/java/com/alttd/chat/util/Utility.java +++ b/api/src/main/java/com/alttd/chat/util/Utility.java @@ -4,9 +4,8 @@ import com.alttd.chat.ChatAPI; import com.alttd.chat.config.Config; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.minimessage.MiniMessage; -import net.kyori.adventure.text.minimessage.placeholder.Placeholder; -import net.kyori.adventure.text.minimessage.placeholder.PlaceholderResolver; -import net.kyori.adventure.text.minimessage.placeholder.Replacement; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import net.luckperms.api.LuckPerms; import net.luckperms.api.model.group.Group; @@ -245,24 +244,24 @@ public class Utility { return getMiniMessage().deserialize(message); } - public static Component parseMiniMessage(String message, Map> placeholders) { + public static Component parseMiniMessage(String message, TagResolver placeholders) { if (placeholders == null) { return getMiniMessage().deserialize(message); } else { - return getMiniMessage().deserialize(message, PlaceholderResolver.map(placeholders)); + return getMiniMessage().deserialize(message, placeholders); } } - public static Component parseMiniMessage(String message, Placeholder ... placeholders) { + public static Component parseMiniMessage(String message, TagResolver ... placeholders) { if (placeholders == null) { return getMiniMessage().deserialize(message); } else { - return getMiniMessage().deserialize(message, PlaceholderResolver.placeholders(placeholders)); + return getMiniMessage().deserialize(message, TagResolver.resolver(placeholders)); } } public static String stripTokens(String input) { - return getMiniMessage().stripTokens(input); + return getMiniMessage().stripTags(input); } public static MiniMessage getMiniMessage() { diff --git a/build.gradle.kts b/build.gradle.kts index 7852ec4..e05b27e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,6 +7,19 @@ allprojects { group = "com.alttd.chat" version = "1.0.0-SNAPSHOT" description = "All in one minecraft chat plugin" + + repositories { + mavenCentral() + maven("https://repo.destro.xyz/snapshots") // Altitude - Galaxy + maven("https://oss.sonatype.org/content/groups/public/") // Adventure + maven("https://oss.sonatype.org/content/repositories/snapshots/") // Minimessage + maven("https://oss.sonatype.org/content/repositories/") // Minimessage + maven("https://nexus.velocitypowered.com/repository/") // Velocity + maven("https://nexus.velocitypowered.com/repository/maven-public/") // Velocity + maven("https://repo.spongepowered.org/maven") // Configurate + maven("https://repo.extendedclip.com/content/repositories/placeholderapi/") // Papi + maven("https://jitpack.io") + } } subprojects { diff --git a/galaxy/build.gradle.kts b/galaxy/build.gradle.kts index 98cbe67..f2cd3d6 100644 --- a/galaxy/build.gradle.kts +++ b/galaxy/build.gradle.kts @@ -5,7 +5,9 @@ plugins { dependencies { implementation(project(":api")) // API - compileOnly("com.alttd:Galaxy-API:1.18.1-R0.1-SNAPSHOT") // Galaxy + compileOnly("com.alttd:Galaxy-API:1.18.1-R0.1-SNAPSHOT") { // Galaxy + exclude("net.kyori.adventure.text.minimessage") + } compileOnly("net.kyori:adventure-text-minimessage:4.10.0-SNAPSHOT") // Minimessage compileOnly("com.gitlab.ruany:LiteBansAPI:0.3.5") // move to proxy } diff --git a/galaxy/src/main/java/com/alttd/chat/commands/ChatClear.java b/galaxy/src/main/java/com/alttd/chat/commands/ChatClear.java index 1051d70..e07c113 100644 --- a/galaxy/src/main/java/com/alttd/chat/commands/ChatClear.java +++ b/galaxy/src/main/java/com/alttd/chat/commands/ChatClear.java @@ -3,8 +3,7 @@ package com.alttd.chat.commands; import com.alttd.chat.util.Utility; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.minimessage.MiniMessage; -import net.kyori.adventure.text.minimessage.placeholder.Placeholder; -import net.kyori.adventure.text.minimessage.placeholder.PlaceholderResolver; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -26,9 +25,9 @@ public class ChatClear implements CommandExecutor { if (!player.hasPermission("chat.clear-bypass")) player.sendMessage(component); Bukkit.getServer().sendMessage(miniMessage.deserialize( - " cleared chat.", PlaceholderResolver.placeholders( - Placeholder.component("player", miniMessage.deserialize(sender.getName())) - ))); + " cleared chat.", + Placeholder.component("player",sender.name())) + ); return true; } } diff --git a/galaxy/src/main/java/com/alttd/chat/handler/ChatHandler.java b/galaxy/src/main/java/com/alttd/chat/handler/ChatHandler.java index 81a40a0..4073cae 100755 --- a/galaxy/src/main/java/com/alttd/chat/handler/ChatHandler.java +++ b/galaxy/src/main/java/com/alttd/chat/handler/ChatHandler.java @@ -12,7 +12,8 @@ import com.google.common.io.ByteArrayDataOutput; import com.google.common.io.ByteStreams; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; -import net.kyori.adventure.text.minimessage.placeholder.Replacement; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -53,11 +54,12 @@ public class ChatHandler { updatedMessage = Utility.formatText(updatedMessage); - Map> placeholders = new HashMap<>(); - placeholders.put("message", Replacement.miniMessage(updatedMessage)); - placeholders.put("sendername", Replacement.miniMessage(player.getName())); - placeholders.put("receivername", Replacement.miniMessage(target)); - placeholders.put("[i]", Replacement.component(itemComponent(player.getInventory().getItemInMainHand()))); + TagResolver placeholders = TagResolver.resolver( + Placeholder.parsed("message", updatedMessage), + Placeholder.component("sendername", player.name()), + Placeholder.parsed("receivername", target), + Placeholder.component("[i]", itemComponent(player.getInventory().getItemInMainHand())) + ); Component component = Utility.parseMiniMessage("", placeholders); @@ -83,9 +85,7 @@ public class ChatHandler { long timeLeft = TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - user.getGcCooldown()); if(timeLeft <= Config.GCCOOLDOWN && !player.hasPermission("chat.globalchat.cooldownbypass")) { // player is on cooldown and should wait x seconds - Map> placeholders = new HashMap<>(); - placeholders.put("cooldown", Replacement.miniMessage(Config.GCCOOLDOWN-timeLeft+"")); - player.sendMessage(Utility.parseMiniMessage(Config.GCONCOOLDOWN, placeholders)); + player.sendMessage(Utility.parseMiniMessage(Config.GCONCOOLDOWN, Placeholder.parsed("cooldown", Config.GCCOOLDOWN-timeLeft+""))); return; } @@ -108,13 +108,13 @@ public class ChatHandler { updatedMessage = updatedMessage.replace("[i]", "<[i]>"); updatedMessage = Utility.formatText(updatedMessage); - - Map> placeholders = new HashMap<>(); - placeholders.put("sender", Replacement.component(senderName)); - placeholders.put("prefix", Replacement.component(prefix)); - placeholders.put("message", Replacement.miniMessage(updatedMessage)); - placeholders.put("server", Replacement.miniMessage(Bukkit.getServerName())); - placeholders.put("[i]", Replacement.component(itemComponent(player.getInventory().getItemInMainHand()))); + TagResolver placeholders = TagResolver.resolver( + Placeholder.component("sender", senderName), + Placeholder.component("prefix", prefix), + Placeholder.parsed("message", updatedMessage), + Placeholder.parsed("server", Bukkit.getServerName()), + Placeholder.component("[i]]", itemComponent(player.getInventory().getItemInMainHand())) + ); Component component = Utility.parseMiniMessage(Config.GCFORMAT, placeholders); user.setGcCooldown(System.currentTimeMillis()); @@ -146,13 +146,13 @@ public class ChatHandler { updatedMessage = Utility.formatText(updatedMessage); - Map> placeholders = new HashMap<>(); - placeholders.put("sender", Replacement.component(senderName)); - placeholders.put("message", Replacement.miniMessage(updatedMessage)); - placeholders.put("server", Replacement.miniMessage(Bukkit.getServerName())); - placeholders.put("channel", Replacement.miniMessage(channel.getChannelName())); - placeholders.put("[i]", Replacement.component(itemComponent(player.getInventory().getItemInMainHand()))); - + TagResolver placeholders = TagResolver.resolver( + Placeholder.component("sender", senderName), + Placeholder.parsed("message", updatedMessage), + Placeholder.parsed("server", Bukkit.getServerName()), + Placeholder.parsed("channel", channel.getChannelName()), + Placeholder.component("[i]]", itemComponent(player.getInventory().getItemInMainHand())) + ); Component component = Utility.parseMiniMessage(channel.getFormat(), placeholders); if (channel.isProxy()) { diff --git a/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java b/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java index 4d1b578..292e72a 100755 --- a/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java +++ b/galaxy/src/main/java/com/alttd/chat/listeners/ChatListener.java @@ -12,8 +12,8 @@ import io.papermc.paper.chat.ChatRenderer; import io.papermc.paper.event.player.AsyncChatEvent; import net.kyori.adventure.audience.Audience; import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.minimessage.placeholder.Replacement; -import net.kyori.adventure.text.serializer.plain.PlainComponentSerializer; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -21,7 +21,6 @@ import org.bukkit.event.Listener; import org.jetbrains.annotations.NotNull; import java.util.HashMap; -import java.util.Map; public class ChatListener implements Listener, ChatRenderer { @@ -62,10 +61,10 @@ public class ChatListener implements Listener, ChatRenderer { message = message.replace("[i]", "<[i]>"); // end of todo message = Utility.formatText(message); - - Map> placeholders = new HashMap<>(); - placeholders.put("message", Replacement.miniMessage(message)); - placeholders.put("[i]", Replacement.component(ChatHandler.itemComponent(player.getInventory().getItemInMainHand()))); + TagResolver placeholders = TagResolver.resolver( + Placeholder.parsed("message", message), + Placeholder.component("[i]]", ChatHandler.itemComponent(player.getInventory().getItemInMainHand())) + ); Component component = Utility.parseMiniMessage("", placeholders); @@ -76,14 +75,14 @@ public class ChatListener implements Listener, ChatRenderer { @Override public @NotNull Component render(@NotNull Player player, @NotNull Component sourceDisplayName, @NotNull Component message, @NotNull Audience viewer) { ChatUser user = ChatUserManager.getChatUser(player.getUniqueId()); - - Map> placeholders = new HashMap<>(); - placeholders.put("sender", Replacement.component(user.getDisplayName())); - placeholders.put("sendername", Replacement.component(player.name())); - placeholders.put("prefix", Replacement.component(user.getPrefix())); - placeholders.put("prefixall", Replacement.component(user.getPrefixAll())); - placeholders.put("staffprefix", Replacement.component(user.getStaffPrefix())); - placeholders.put("message", Replacement.component(message)); + TagResolver placeholders = TagResolver.resolver( + Placeholder.component("sender", user.getDisplayName()), + Placeholder.component("sendername", player.name()), + Placeholder.component("prefix", user.getPrefix()), + Placeholder.component("prefixall", user.getPrefixAll()), + Placeholder.component("staffprefix", user.getStaffPrefix()), + Placeholder.component("message ", message) + ); return Utility.parseMiniMessage(Config.CHATFORMAT, placeholders); } diff --git a/galaxy/src/main/java/com/alttd/chat/util/GalaxyUtility.java b/galaxy/src/main/java/com/alttd/chat/util/GalaxyUtility.java index 68c6ede..b6d5127 100644 --- a/galaxy/src/main/java/com/alttd/chat/util/GalaxyUtility.java +++ b/galaxy/src/main/java/com/alttd/chat/util/GalaxyUtility.java @@ -2,22 +2,20 @@ package com.alttd.chat.util; import com.alttd.chat.config.Config; import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.minimessage.placeholder.Replacement; -import net.kyori.adventure.text.serializer.plain.PlainComponentSerializer; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; import org.bukkit.Bukkit; import org.bukkit.entity.Player; -import java.util.HashMap; -import java.util.Map; - public class GalaxyUtility { public static void sendBlockedNotification(String prefix, Player player, String input, String target) { - Map> placeholders = new HashMap<>(); - placeholders.put("prefix", Replacement.miniMessage(prefix)); - placeholders.put("displayname", Replacement.miniMessage(Utility.getDisplayName(player.getUniqueId(), player.getName()))); - placeholders.put("target", Replacement.miniMessage((target.isEmpty() ? " tried to say: " : " -> " + target + ": "))); - placeholders.put("input", Replacement.miniMessage(input)); + TagResolver placeholders = TagResolver.resolver( + Placeholder.parsed("prefix", prefix), + Placeholder.parsed("displayname", Utility.getDisplayName(player.getUniqueId(), player.getName())), + Placeholder.parsed("target", (target.isEmpty() ? " tried to say: " : " -> " + target + ": ")), + Placeholder.parsed("input", input) + ); Component blockedNotification = Utility.parseMiniMessage(Config.NOTIFICATIONFORMAT, placeholders); Bukkit.getOnlinePlayers().forEach(a ->{ diff --git a/settings.gradle.kts b/settings.gradle.kts index ff64b28..f3e9eb7 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -4,21 +4,21 @@ include(":api") include(":galaxy") include(":velocity") -dependencyResolutionManagement { - repositories { - mavenLocal() - mavenCentral() - maven("https://repo.destro.xyz/snapshots") // Altitude - Galaxy - maven("https://oss.sonatype.org/content/groups/public/") // Adventure - maven("https://oss.sonatype.org/content/repositories/snapshots/") // Minimessage - maven("https://nexus.velocitypowered.com/repository/") // Velocity - maven("https://nexus.velocitypowered.com/repository/maven-public/") // Velocity - maven("https://repo.spongepowered.org/maven") // Configurate - maven("https://repo.extendedclip.com/content/repositories/placeholderapi/") // Papi - maven("https://jitpack.io") - } - repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) -} +//dependencyResolutionManagement { +// repositories { +// mavenLocal() +// mavenCentral() +// maven("https://repo.destro.xyz/snapshots") // Altitude - Galaxy +// maven("https://oss.sonatype.org/content/groups/public/") // Adventure +// maven("https://oss.sonatype.org/content/repositories/snapshots/") // Minimessage +// maven("https://nexus.velocitypowered.com/repository/") // Velocity +// maven("https://nexus.velocitypowered.com/repository/maven-public/") // Velocity +// maven("https://repo.spongepowered.org/maven") // Configurate +// maven("https://repo.extendedclip.com/content/repositories/placeholderapi/") // Papi +// maven("https://jitpack.io") +// } +// repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) +//} pluginManagement { repositories { diff --git a/velocity/src/main/java/com/alttd/velocitychat/commands/PartyCommand.java b/velocity/src/main/java/com/alttd/velocitychat/commands/PartyCommand.java index 74f6462..23de452 100644 --- a/velocity/src/main/java/com/alttd/velocitychat/commands/PartyCommand.java +++ b/velocity/src/main/java/com/alttd/velocitychat/commands/PartyCommand.java @@ -8,7 +8,7 @@ import com.velocitypowered.api.command.CommandSource; import com.velocitypowered.api.command.SimpleCommand; import com.velocitypowered.api.proxy.Player; import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.minimessage.placeholder.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import java.util.ArrayList; import java.util.Arrays; diff --git a/velocity/src/main/java/com/alttd/velocitychat/commands/Report.java b/velocity/src/main/java/com/alttd/velocitychat/commands/Report.java index 408bdde..c21fe48 100644 --- a/velocity/src/main/java/com/alttd/velocitychat/commands/Report.java +++ b/velocity/src/main/java/com/alttd/velocitychat/commands/Report.java @@ -1,6 +1,7 @@ package com.alttd.velocitychat.commands; import com.alttd.chat.config.Config; +import com.alttd.chat.util.Utility; import com.alttd.velocitychat.VelocityChat; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.builder.LiteralArgumentBuilder; @@ -21,8 +22,6 @@ import java.util.Optional; public class Report { - private static final MiniMessage miniMessage = MiniMessage.miniMessage(); - public Report(ProxyServer proxyServer) { LiteralCommandNode command = LiteralArgumentBuilder .literal("report") @@ -46,7 +45,7 @@ public class Report { .argument("report", StringArgumentType.greedyString()) .executes(context -> { if (!(context.getSource() instanceof Player player)) { - context.getSource().sendMessage(miniMessage.deserialize(Config.NO_CONSOLE)); + context.getSource().sendMessage(Utility.parseMiniMessage(Config.NO_CONSOLE)); return 1; } Optional optionalServerConnection = player.getCurrentServer(); diff --git a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Create.java b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Create.java index d133e92..ffec900 100644 --- a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Create.java +++ b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Create.java @@ -9,7 +9,7 @@ import com.alttd.chat.util.Utility; import com.alttd.velocitychat.commands.SubCommand; import com.velocitypowered.api.command.CommandSource; import com.velocitypowered.api.proxy.Player; -import net.kyori.adventure.text.minimessage.placeholder.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import java.util.ArrayList; import java.util.List; @@ -38,7 +38,7 @@ public class Create implements SubCommand { } if (PartyManager.getParty(args[1]) != null) { source.sendMessage(Utility.parseMiniMessage(Config.PARTY_EXISTS, - Placeholder.miniMessage("party", args[1]) + Placeholder.parsed("party", args[1]) )); return; } @@ -47,8 +47,8 @@ public class Create implements SubCommand { party.addUser(ChatUserManager.getChatUser(player.getUniqueId()), player.getUsername()); PartyManager.addParty(party); source.sendMessage(Utility.parseMiniMessage(Config.CREATED_PARTY, - Placeholder.miniMessage("party_name", party.getPartyName()), - Placeholder.miniMessage("party_password", party.getPartyPassword()))); + Placeholder.unparsed("party_name", party.getPartyName()), + Placeholder.unparsed("party_password", party.getPartyPassword()))); } @Override diff --git a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Disband.java b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Disband.java index b27239c..004877f 100644 --- a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Disband.java +++ b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Disband.java @@ -8,7 +8,7 @@ import com.alttd.velocitychat.VelocityChat; import com.alttd.velocitychat.commands.SubCommand; import com.velocitypowered.api.command.CommandSource; import com.velocitypowered.api.proxy.Player; -import net.kyori.adventure.text.minimessage.placeholder.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import java.util.ArrayList; import java.util.List; @@ -39,7 +39,7 @@ public class Disband implements SubCommand { return; } if (args.length == 1) { - source.sendMessage(Utility.parseMiniMessage(Config.DISBAND_PARTY_CONFIRM, Placeholder.miniMessage("party", party.getPartyName()))); + source.sendMessage(Utility.parseMiniMessage(Config.DISBAND_PARTY_CONFIRM, Placeholder.unparsed("party", party.getPartyName()))); return; } if (!args[1].equalsIgnoreCase("confirm") || !args[2].equals(party.getPartyName())) { @@ -48,8 +48,8 @@ public class Disband implements SubCommand { } VelocityChat.getPlugin().getChatHandler().sendPartyMessage(party, Utility.parseMiniMessage(Config.DISBANDED_PARTY, - Placeholder.miniMessage("owner", player.getUsername()), - Placeholder.miniMessage("party", party.getPartyName()) + Placeholder.unparsed("owner", player.getUsername()), + Placeholder.unparsed("party", party.getPartyName()) ), null); party.delete(); } diff --git a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Info.java b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Info.java index 5cd9f7b..272ec15 100644 --- a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Info.java +++ b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Info.java @@ -9,7 +9,7 @@ import com.alttd.velocitychat.commands.SubCommand; import com.velocitypowered.api.command.CommandSource; import com.velocitypowered.api.proxy.Player; import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.minimessage.placeholder.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import java.util.ArrayList; import java.util.List; @@ -38,8 +38,8 @@ public class Info implements SubCommand { } source.sendMessage(Utility.parseMiniMessage(Config.PARTY_INFO, - Placeholder.miniMessage("party", party.getPartyName()), - Placeholder.miniMessage("password", party.getPartyPassword()), + Placeholder.unparsed("party", party.getPartyName()), + Placeholder.unparsed("password", party.getPartyPassword()), Placeholder.component("owner", party.getPartyUser(party.getOwnerUuid()).getDisplayName()), Placeholder.component("members", Component.join(Component.text(", "), displayNames)) )); diff --git a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Invite.java b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Invite.java index e007a8e..bc2bd0b 100644 --- a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Invite.java +++ b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Invite.java @@ -8,7 +8,7 @@ import com.alttd.velocitychat.VelocityChat; import com.alttd.velocitychat.commands.SubCommand; import com.velocitypowered.api.command.CommandSource; import com.velocitypowered.api.proxy.Player; -import net.kyori.adventure.text.minimessage.placeholder.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import java.util.ArrayList; import java.util.List; @@ -50,17 +50,17 @@ public class Invite implements SubCommand { if (!target.isActive()) { source.sendMessage(Utility.parseMiniMessage(Config.NOT_ONLINE, - Placeholder.miniMessage("player", target.getUsername()) + Placeholder.unparsed("player", target.getUsername()) )); return; } target.sendMessage(Utility.parseMiniMessage(Config.JOIN_PARTY_CLICK_MESSAGE, - Placeholder.miniMessage("party", party.getPartyName()), - Placeholder.miniMessage("party_password", party.getPartyPassword()) + Placeholder.unparsed("party", party.getPartyName()), + Placeholder.unparsed("party_password", party.getPartyPassword()) )); source.sendMessage(Utility.parseMiniMessage(Config.SENT_PARTY_INV, - Placeholder.miniMessage("player", target.getUsername()) + Placeholder.unparsed("player", target.getUsername()) )); } diff --git a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Join.java b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Join.java index e17198f..0fe8174 100644 --- a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Join.java +++ b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Join.java @@ -10,7 +10,7 @@ import com.alttd.velocitychat.VelocityChat; import com.alttd.velocitychat.commands.SubCommand; import com.velocitypowered.api.command.CommandSource; import com.velocitypowered.api.proxy.Player; -import net.kyori.adventure.text.minimessage.placeholder.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import java.util.ArrayList; import java.util.List; @@ -46,11 +46,11 @@ public class Join implements SubCommand { // party.addUser(ChatUserManager.getChatUser(player.getUniqueId())); //Removed until we can get nicknames to translate to colors correctly ChatUser chatUser = ChatUserManager.getChatUser(player.getUniqueId()); party.addUser(chatUser, player.getUsername()); - source.sendMessage(Utility.parseMiniMessage(Config.JOINED_PARTY, Placeholder.miniMessage("party_name", party.getPartyName()))); + source.sendMessage(Utility.parseMiniMessage(Config.JOINED_PARTY, Placeholder.unparsed("party_name", party.getPartyName()))); VelocityChat.getPlugin().getChatHandler().sendPartyMessage(party, Utility.parseMiniMessage(Config.PLAYER_JOINED_PARTY, Placeholder.component("player_name", chatUser.getDisplayName()), - Placeholder.miniMessage("party_name", party.getPartyName()) + Placeholder.unparsed("party_name", party.getPartyName()) ), null); } diff --git a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Leave.java b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Leave.java index 7a37729..f37ecf6 100644 --- a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Leave.java +++ b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Leave.java @@ -9,7 +9,7 @@ import com.alttd.velocitychat.commands.SubCommand; import com.velocitypowered.api.command.CommandSource; import com.velocitypowered.api.proxy.Player; import com.velocitypowered.api.proxy.ServerConnection; -import net.kyori.adventure.text.minimessage.placeholder.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import java.util.ArrayList; import java.util.List; @@ -45,8 +45,8 @@ public class Leave implements SubCommand { source.sendMessage(Utility.parseMiniMessage(Config.NOTIFY_FINDING_NEW_OWNER)); VelocityChat.getPlugin().getChatHandler().sendPartyMessage(party, Utility.parseMiniMessage(Config.OWNER_LEFT_PARTY, - Placeholder.miniMessage("old_owner", player.getUsername()), - Placeholder.miniMessage("new_owner", party.getPartyUser(uuid).getPlayerName()) + Placeholder.unparsed("old_owner", player.getUsername()), + Placeholder.unparsed("new_owner", party.getPartyUser(uuid).getPlayerName()) ), null); } else { party.delete(); @@ -55,7 +55,7 @@ public class Leave implements SubCommand { source.sendMessage(Utility.parseMiniMessage(Config.LEFT_PARTY)); VelocityChat.getPlugin().getChatHandler().sendPartyMessage(party, Utility.parseMiniMessage(Config.PLAYER_LEFT_PARTY, - Placeholder.miniMessage("player_name", player.getUsername()) + Placeholder.unparsed("player_name", player.getUsername()) ), null); } } diff --git a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Name.java b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Name.java index d9a685c..2d2da86 100644 --- a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Name.java +++ b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Name.java @@ -9,7 +9,7 @@ import com.alttd.velocitychat.VelocityChat; import com.alttd.velocitychat.commands.SubCommand; import com.velocitypowered.api.command.CommandSource; import com.velocitypowered.api.proxy.Player; -import net.kyori.adventure.text.minimessage.placeholder.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import java.util.ArrayList; import java.util.List; @@ -45,7 +45,7 @@ public class Name implements SubCommand { } if (PartyManager.getParty(args[1]) != null) { source.sendMessage(Utility.parseMiniMessage(Config.PARTY_EXISTS, - Placeholder.miniMessage("party", args[1]) + Placeholder.unparsed("party", args[1]) )); return; } @@ -54,8 +54,8 @@ public class Name implements SubCommand { party.setPartyName(args[1]); VelocityChat.getPlugin().getChatHandler().sendPartyMessage(party, Utility.parseMiniMessage(Config.RENAMED_PARTY, Placeholder.component("owner", ChatUserManager.getChatUser(player.getUniqueId()).getDisplayName()), - Placeholder.miniMessage("old_name", oldName), - Placeholder.miniMessage("new_name", args[1]) + Placeholder.unparsed("old_name", oldName), + Placeholder.unparsed("new_name", args[1]) ), null); } diff --git a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Owner.java b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Owner.java index dfa19ba..f4ac76b 100644 --- a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Owner.java +++ b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Owner.java @@ -9,7 +9,7 @@ import com.alttd.velocitychat.VelocityChat; import com.alttd.velocitychat.commands.SubCommand; import com.velocitypowered.api.command.CommandSource; import com.velocitypowered.api.proxy.Player; -import net.kyori.adventure.text.minimessage.placeholder.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import java.util.ArrayList; import java.util.List; @@ -44,15 +44,15 @@ public class Owner implements SubCommand { PartyUser partyUser = party.getPartyUser(args[1]); if (partyUser == null) { source.sendMessage(Utility.parseMiniMessage(Config.NOT_A_PARTY_MEMBER, - Placeholder.miniMessage("player", args[1]) + Placeholder.unparsed("player", args[1]) )); return; } party.setNewOwner(partyUser.getUuid()); VelocityChat.getPlugin().getChatHandler().sendPartyMessage(party, Utility.parseMiniMessage(Config.NEW_PARTY_OWNER, - Placeholder.miniMessage("old_owner", player.getUsername()), - Placeholder.miniMessage("new_owner", partyUser.getPlayerName()) + Placeholder.unparsed("old_owner", player.getUsername()), + Placeholder.unparsed("new_owner", partyUser.getPlayerName()) ), null); } diff --git a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Remove.java b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Remove.java index 7fb9226..b245aa2 100644 --- a/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Remove.java +++ b/velocity/src/main/java/com/alttd/velocitychat/commands/partysubcommands/Remove.java @@ -10,7 +10,7 @@ import com.alttd.velocitychat.VelocityChat; import com.alttd.velocitychat.commands.SubCommand; import com.velocitypowered.api.command.CommandSource; import com.velocitypowered.api.proxy.Player; -import net.kyori.adventure.text.minimessage.placeholder.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import java.util.ArrayList; import java.util.List; @@ -50,7 +50,7 @@ public class Remove implements SubCommand { partyUser = party.getPartyUser(args[1]); if (partyUser == null) { source.sendMessage(Utility.parseMiniMessage(Config.NOT_A_PARTY_MEMBER, - Placeholder.miniMessage("player", args[1]) + Placeholder.unparsed("player", args[1]) )); return; } @@ -59,7 +59,7 @@ public class Remove implements SubCommand { partyUser = party.getPartyUser(onlinePlayer.getUniqueId()); if (partyUser == null) { source.sendMessage(Utility.parseMiniMessage(Config.NOT_A_PARTY_MEMBER, - Placeholder.miniMessage("player", onlinePlayer.getUsername()) + Placeholder.unparsed("player", onlinePlayer.getUsername()) )); return; } @@ -73,12 +73,12 @@ public class Remove implements SubCommand { if (onlinePlayer != null && onlinePlayer.isActive()) { onlinePlayer.sendMessage(Utility.parseMiniMessage(Config.REMOVED_FROM_PARTY, - Placeholder.miniMessage("party", party.getPartyName()) + Placeholder.unparsed("party", party.getPartyName()) )); } source.sendMessage(Utility.parseMiniMessage(Config.REMOVED_USER_FROM_PARTY, - Placeholder.miniMessage("player", onlinePlayer == null ? partyUser.getPlayerName() : onlinePlayer.getUsername()) + Placeholder.unparsed("player", onlinePlayer == null ? partyUser.getPlayerName() : onlinePlayer.getUsername()) )); } diff --git a/velocity/src/main/java/com/alttd/velocitychat/handlers/ChatHandler.java b/velocity/src/main/java/com/alttd/velocitychat/handlers/ChatHandler.java index 8124904..dd99f46 100755 --- a/velocity/src/main/java/com/alttd/velocitychat/handlers/ChatHandler.java +++ b/velocity/src/main/java/com/alttd/velocitychat/handlers/ChatHandler.java @@ -17,8 +17,8 @@ import com.velocitypowered.api.command.CommandSource; import com.velocitypowered.api.proxy.Player; import com.velocitypowered.api.proxy.ServerConnection; import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.minimessage.placeholder.Placeholder; -import net.kyori.adventure.text.minimessage.placeholder.Replacement; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; import org.jetbrains.annotations.Nullable; @@ -39,13 +39,14 @@ public class ChatHandler { Player player2 = optionalPlayer2.get(); ChatUser targetUser = ChatUserManager.getChatUser(player2.getUniqueId()); - Map> placeholders = new HashMap<>(); - placeholders.put("sender", Replacement.component(senderUser.getDisplayName())); - placeholders.put("sendername", Replacement.miniMessage(player.getUsername())); - placeholders.put("receiver", Replacement.component(targetUser.getDisplayName())); - placeholders.put("receivername", Replacement.miniMessage(player2.getUsername())); - placeholders.put("message", Replacement.component(GsonComponentSerializer.gson().deserialize(message))); - placeholders.put("server", Replacement.miniMessage(player.getCurrentServer().isPresent() ? player.getCurrentServer().get().getServerInfo().getName() : "Altitude")); + TagResolver placeholders = TagResolver.resolver( + Placeholder.component("sender", senderUser.getDisplayName()), + Placeholder.unparsed("sendername", player.getUsername()), + Placeholder.component("receiver", targetUser.getDisplayName()), + Placeholder.unparsed("receivername", player2.getUsername()), + Placeholder.component("message", GsonComponentSerializer.gson().deserialize(message)), + Placeholder.unparsed("server", player.getCurrentServer().isPresent() ? player.getCurrentServer().get().getServerInfo().getName() : "Altitude") + ); ServerConnection serverConnection; if(player.getCurrentServer().isPresent() && player2.getCurrentServer().isPresent()) { @@ -75,11 +76,12 @@ public class ChatHandler { } public static void sendBlockedNotification(String prefix, Player player, String input, String target, ServerConnection serverConnection) { - Map> placeholders = new HashMap<>(); - placeholders.put("prefix", Replacement.miniMessage(prefix)); - placeholders.put("displayname", Replacement.miniMessage(Utility.getDisplayName(player.getUniqueId(), player.getUsername()))); - placeholders.put("target", Replacement.miniMessage((target.isEmpty() ? " tried to say: " : " -> " + target + ": "))); - placeholders.put("input", Replacement.miniMessage(input)); + TagResolver placeholders = TagResolver.resolver( + Placeholder.parsed("prefix", prefix), + Placeholder.parsed("displayname", Utility.getDisplayName(player.getUniqueId(), player.getUsername())), + Placeholder.parsed("target", (target.isEmpty() ? " tried to say: " : " -> " + target + ": ")), + Placeholder.parsed("input", input) + ); Component blockedNotification = Utility.parseMiniMessage(Config.NOTIFICATIONFORMAT, placeholders); serverConnection.getServer().getPlayersConnected().forEach(pl ->{ @@ -130,13 +132,14 @@ public class ChatHandler { updatedMessage = Utility.formatText(updatedMessage); - Map> placeholders = new HashMap<>(); - placeholders.put("sender", Replacement.component(senderName)); - placeholders.put("username", Replacement.miniMessage(player.getUsername())); - placeholders.put("party", Replacement.miniMessage(party.getPartyName())); - placeholders.put("message", Replacement.miniMessage(updatedMessage)); - placeholders.put("server", Replacement.miniMessage(serverConnection.getServer().getServerInfo().getName())); - placeholders.put("[i]", Replacement.component(item)); + TagResolver placeholders = TagResolver.resolver( + Placeholder.component("sender", senderName), + Placeholder.unparsed("username", player.getUsername()), + Placeholder.unparsed("party", party.getPartyName()), + Placeholder.parsed("message", updatedMessage), + Placeholder.unparsed("server", serverConnection.getServer().getServerInfo().getName()), + Placeholder.component("[i]", item) + ); Component partyMessage = Utility.parseMiniMessage(Config.PARTY_FORMAT, placeholders); sendPartyMessage(party, partyMessage, user.getIgnoredBy()); @@ -168,10 +171,11 @@ public class ChatHandler { serverName = sender.getCurrentServer().isPresent() ? sender.getCurrentServer().get().getServerInfo().getName() : "Altitude"; } - Map> placeholders = new HashMap<>(); - placeholders.put("message", Replacement.miniMessage(Utility.formatText(message))); - placeholders.put("sender", Replacement.component(senderName)); - placeholders.put("server", Replacement.miniMessage(serverName)); + TagResolver placeholders = TagResolver.resolver( + Placeholder.parsed("message", Utility.formatText(message)), + Placeholder.component("sender", senderName), + Placeholder.parsed("server", serverName) + ); Component component = Utility.parseMiniMessage(Config.GACFORMAT, placeholders); @@ -209,12 +213,13 @@ public class ChatHandler { ChatUser chatUser = ChatUserManager.getChatUser(targetUUID); chatUser.addMail(mail); // TODO load from config - Map> placeholders = new HashMap<>(); - placeholders.put("sender", Replacement.miniMessage(senderName)); + TagResolver placeholders = TagResolver.resolver( + Placeholder.parsed("sender", senderName) + ); optionalPlayer.ifPresent(player -> player.sendMessage(Utility.parseMiniMessage(Config.mailReceived, placeholders))); commandSource.sendMessage(Utility.parseMiniMessage(Config.mailSent, Placeholder.component("player_name", chatUser.getDisplayName()), - Placeholder.miniMessage("message", message) + Placeholder.parsed("message", message) )); } @@ -244,12 +249,13 @@ public class ChatHandler { } ChatUser chatUser = ChatUserManager.getChatUser(mail.getSender()); Date sentTime = new Date(mail.getSendTime()); - Map> placeholders = new HashMap<>(); - placeholders.put("staffprefix", Replacement.component(chatUser.getStaffPrefix())); - placeholders.put("sender", Replacement.component(chatUser.getDisplayName())); - placeholders.put("message", Replacement.miniMessage(mail.getMessage())); - placeholders.put("date", Replacement.miniMessage(sentTime.toString())); - placeholders.put("time_ago", Replacement.miniMessage(String.valueOf(TimeUnit.MILLISECONDS.toDays(new Date().getTime() - sentTime.getTime())))); + TagResolver placeholders = TagResolver.resolver( + Placeholder.component("staffprefix", chatUser.getStaffPrefix()), + Placeholder.component("sender", chatUser.getDisplayName()), + Placeholder.parsed("message", mail.getMessage()), + Placeholder.parsed("date", sentTime.toString()), + Placeholder.parsed("time_ago", String.valueOf(TimeUnit.MILLISECONDS.toDays(new Date().getTime() - sentTime.getTime()))) + ); Component mailMessage = Utility.parseMiniMessage(Config.mailBody, placeholders); component = component.append(Component.newline()).append(mailMessage); } diff --git a/velocity/src/main/java/com/alttd/velocitychat/listeners/ChatListener.java b/velocity/src/main/java/com/alttd/velocitychat/listeners/ChatListener.java index 5572e75..4db7bc1 100755 --- a/velocity/src/main/java/com/alttd/velocitychat/listeners/ChatListener.java +++ b/velocity/src/main/java/com/alttd/velocitychat/listeners/ChatListener.java @@ -9,7 +9,7 @@ import com.velocitypowered.api.event.PostOrder; import com.velocitypowered.api.event.Subscribe; import com.velocitypowered.api.proxy.Player; import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.minimessage.placeholder.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import java.util.ArrayList; import java.util.List; @@ -34,9 +34,9 @@ public class ChatListener { } Component message = Utility.parseMiniMessage(Config.GACFORMAT, - Placeholder.miniMessage("sender", senderName), - Placeholder.miniMessage("message", event.getMessage()), - Placeholder.miniMessage("server", serverName) + Placeholder.parsed("sender", senderName), + Placeholder.parsed("message", event.getMessage()), + Placeholder.parsed("server", serverName) ); plugin.getProxy().getAllPlayers().stream().filter(target -> target.hasPermission("command.chat.globaladminchat")).forEach(target -> { diff --git a/velocity/src/main/java/com/alttd/velocitychat/listeners/ProxyPlayerListener.java b/velocity/src/main/java/com/alttd/velocitychat/listeners/ProxyPlayerListener.java index f1af0d1..f84baf4 100755 --- a/velocity/src/main/java/com/alttd/velocitychat/listeners/ProxyPlayerListener.java +++ b/velocity/src/main/java/com/alttd/velocitychat/listeners/ProxyPlayerListener.java @@ -18,8 +18,8 @@ import com.velocitypowered.api.event.player.ServerConnectedEvent; import com.velocitypowered.api.event.player.ServerPostConnectEvent; import com.velocitypowered.api.proxy.Player; import com.velocitypowered.api.proxy.server.RegisteredServer; -import net.kyori.adventure.text.minimessage.placeholder.Placeholder; -import net.kyori.adventure.text.minimessage.placeholder.Replacement; +import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; +import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; import java.util.*; @@ -55,7 +55,7 @@ public class ProxyPlayerListener { if (unReadMail.isEmpty()) return; player.sendMessage(Utility.parseMiniMessage(Config.mailUnread, - Placeholder.miniMessage("amount", String.valueOf(unReadMail.size())) + Placeholder.unparsed("amount", String.valueOf(unReadMail.size())) )); } @@ -85,10 +85,11 @@ public class ProxyPlayerListener { Player player = event.getPlayer(); - Map> placeholders = new HashMap<>(); - placeholders.put("player", Replacement.miniMessage(player.getUsername())); - placeholders.put("from_server", Replacement.miniMessage(previousServer.getServerInfo().getName())); - placeholders.put("to_server", Replacement.miniMessage(event.getServer().getServerInfo().getName())); + TagResolver placeholders = TagResolver.resolver( + Placeholder.parsed("player", player.getUsername()), + Placeholder.parsed("from_server", previousServer.getServerInfo().getName()), + Placeholder.parsed("to_server", event.getServer().getServerInfo().getName()) + ); ServerWrapper wrapper = serverHandler.getWrapper(previousServer.getServerInfo().getName()); if(wrapper != null) { @@ -101,7 +102,7 @@ public class ProxyPlayerListener { } else { ServerWrapper wrapper = serverHandler.getWrapper(event.getServer().getServerInfo().getName()); if(wrapper != null) { - wrapper.sendJoinLeaveMessage(event.getPlayer().getUniqueId(), Utility.parseMiniMessage(Config.SERVERJOINMESSAGE, Placeholder.miniMessage("player", event.getPlayer().getUsername()))); + wrapper.sendJoinLeaveMessage(event.getPlayer().getUniqueId(), Utility.parseMiniMessage(Config.SERVERJOINMESSAGE, Placeholder.unparsed("player", event.getPlayer().getUsername()))); } } } @@ -115,8 +116,8 @@ public class ProxyPlayerListener { ServerWrapper wrapper = serverHandler.getWrapper(registeredServer.getServerInfo().getName()); if(wrapper != null) { wrapper.sendJoinLeaveMessage(event.getPlayer().getUniqueId(), Utility.parseMiniMessage(Config.SERVERLEAVEMESSAGE, - Placeholder.miniMessage("player", event.getPlayer().getUsername()), - Placeholder.miniMessage("from_server", registeredServer.getServerInfo().getName()) + Placeholder.unparsed("player", event.getPlayer().getUsername()), + Placeholder.unparsed("from_server", registeredServer.getServerInfo().getName()) )); } }