Update minimessage to 4.10.0

This commit is contained in:
destro174
2022-02-19 16:58:22 +01:00
parent 575c788d10
commit 448d9ac8aa
23 changed files with 219 additions and 252 deletions
+1
View File
@@ -6,6 +6,7 @@ plugins {
dependencies {
implementation(project(":api")) // API
compileOnly("com.alttd:Galaxy-API:1.18.1-R0.1-SNAPSHOT") // Galaxy
compileOnly("net.kyori:adventure-text-minimessage:4.10.0-SNAPSHOT") // Minimessage
compileOnly("com.gitlab.ruany:LiteBansAPI:0.3.5") // move to proxy
}
@@ -11,8 +11,7 @@ import com.alttd.chat.listeners.PluginMessage;
import com.alttd.chat.objects.channels.Channel;
import com.alttd.chat.objects.channels.CustomChannel;
import com.alttd.chat.util.ALogger;
import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams;
import com.alttd.chat.util.Utility;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.PluginCommand;
@@ -111,7 +110,7 @@ public class ChatPlugin extends JavaPlugin {
chatAPI.ReloadConfig();
chatAPI.ReloadChatFilters();
serverConfig = new ServerConfig(Bukkit.getServerName());
Bukkit.broadcast("Reloaded ChatPlugin Config.", "command.chat.reloadchat");
Bukkit.broadcast(Utility.parseMiniMessage("Reloaded ChatPlugin Config."), "command.chat.reloadchat");
ALogger.info("Reloaded ChatPlugin config.");
}
}
@@ -12,16 +12,14 @@ 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.Template;
import net.kyori.adventure.text.minimessage.placeholder.Replacement;
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import java.util.*;
import java.util.concurrent.TimeUnit;
public class ChatHandler {
@@ -55,16 +53,16 @@ public class ChatHandler {
updatedMessage = Utility.formatText(updatedMessage);
List<Template> templates = new ArrayList<>(List.of(
Template.template("message", updatedMessage),
Template.template("sendername", player.getName()),
Template.template("receivername", target),
Template.template("[i]", itemComponent(player.getInventory().getItemInMainHand()))));
Map<String, Replacement<?>> 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())));
Component component = Utility.parseMiniMessage("<message>", templates);
Component component = Utility.parseMiniMessage("<message>", placeholders);
sendPrivateMessage(player, target, "privatemessage", component);
Component spymessage = Utility.parseMiniMessage(Config.MESSAGESPY, templates);
Component spymessage = Utility.parseMiniMessage(Config.MESSAGESPY, placeholders);
for(Player pl : Bukkit.getOnlinePlayers()) {
if(pl.hasPermission(Config.SPYPERMISSION) && ChatUserManager.getChatUser(pl.getUniqueId()).isSpy() && !pl.equals(player) && !pl.getName().equalsIgnoreCase(target)) {
pl.sendMessage(spymessage);
@@ -85,7 +83,9 @@ 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
player.sendMessage(Utility.parseMiniMessage(Config.GCONCOOLDOWN, List.of(Template.template("cooldown", Config.GCCOOLDOWN-timeLeft+""))));
Map<String, Replacement<?>> placeholders = new HashMap<>();
placeholders.put("cooldown", Replacement.miniMessage(Config.GCCOOLDOWN-timeLeft+""));
player.sendMessage(Utility.parseMiniMessage(Config.GCONCOOLDOWN, placeholders));
return;
}
@@ -109,14 +109,14 @@ public class ChatHandler {
updatedMessage = Utility.formatText(updatedMessage);
List<Template> templates = new ArrayList<>(List.of(
Template.template("sender", senderName),
Template.template("prefix", prefix),
Template.template("message", updatedMessage),
Template.template("server", Bukkit.getServerName()),
Template.template("[i]", itemComponent(player.getInventory().getItemInMainHand()))));
Map<String, Replacement<?>> 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())));
Component component = Utility.parseMiniMessage(Config.GCFORMAT, templates);
Component component = Utility.parseMiniMessage(Config.GCFORMAT, placeholders);
user.setGcCooldown(System.currentTimeMillis());
sendPluginMessage(player, "globalchat", component);
}
@@ -146,14 +146,14 @@ public class ChatHandler {
updatedMessage = Utility.formatText(updatedMessage);
List<Template> templates = new ArrayList<>(List.of(
Template.template("sender", senderName),
Template.template("message", updatedMessage),
Template.template("server", Bukkit.getServerName()),
Template.template("channel", channel.getChannelName()),
Template.template("[i]", itemComponent(player.getInventory().getItemInMainHand()))));
Map<String, Replacement<?>> 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())));
Component component = Utility.parseMiniMessage(channel.getFormat(), templates);
Component component = Utility.parseMiniMessage(channel.getFormat(), placeholders);
if (channel.isProxy()) {
sendChatChannelMessage(player, channel.getChannelName(), "chatchannel", component);
@@ -193,12 +193,12 @@ public class ChatHandler {
// updatedMessage = Utility.formatText(updatedMessage);
//
// List<Template> templates = new ArrayList<>(List.of(
// Template.template("sender", senderName),
// Template.template("sendername", senderName),
// Template.template("partyname", party.getPartyName()),
// Template.template("message", updatedMessage),
// Template.template("server", Bukkit.getServerName()),
// Template.template("[i]", itemComponent(player.getInventory().getItemInMainHand()))));
// Placeholder.miniMessage("sender", senderName),
// Placeholder.miniMessage("sendername", senderName),
// Placeholder.miniMessage("partyname", party.getPartyName()),
// Placeholder.miniMessage("message", updatedMessage),
// Placeholder.miniMessage("server", Bukkit.getServerName()),
// Placeholder.miniMessage("[i]", itemComponent(player.getInventory().getItemInMainHand()))));
//
// Component component = Utility.parseMiniMessage(Config.PARTY_FORMAT, templates);
//// sendPartyMessage(player, party.getPartyId(), component);
@@ -10,20 +10,18 @@ import com.alttd.chat.util.GalaxyUtility;
import com.alttd.chat.util.Utility;
import io.papermc.paper.chat.ChatRenderer;
import io.papermc.paper.event.player.AsyncChatEvent;
import litebans.api.Database;
import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.Template;
import net.kyori.adventure.text.minimessage.placeholder.Replacement;
import net.kyori.adventure.text.serializer.plain.PlainComponentSerializer;
import org.bukkit.Bukkit;
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
import java.util.HashMap;
import java.util.Map;
public class ChatListener implements Listener, ChatRenderer {
@@ -45,7 +43,7 @@ public class ChatListener implements Listener, ChatRenderer {
&& ChatUserManager.getChatUser(receiver.getUniqueId()).getIgnoredPlayers().contains(player.getUniqueId()));
Component input = event.message();
String message = PlainComponentSerializer.plain().serialize(input);
String message = PlainTextComponentSerializer.plainText().serialize(input);
message = RegexManager.replaceText(player.getName(), player.getUniqueId(), message); // todo a better way for this
if(message == null) {
@@ -65,12 +63,11 @@ public class ChatListener implements Listener, ChatRenderer {
message = Utility.formatText(message);
List<Template> templates = new ArrayList<>(List.of(
Template.template("message", message),
Template.template("[i]", ChatHandler.itemComponent(player.getInventory().getItemInMainHand()))
));
Map<String, Replacement<?>> placeholders = new HashMap<>();
placeholders.put("message", Replacement.miniMessage(message));
placeholders.put("[i]", Replacement.component(ChatHandler.itemComponent(player.getInventory().getItemInMainHand())));
Component component = Utility.parseMiniMessage("<message>", templates);
Component component = Utility.parseMiniMessage("<message>", placeholders);
event.message(component);
event.renderer(this);
@@ -80,16 +77,15 @@ public class ChatListener implements Listener, ChatRenderer {
public @NotNull Component render(@NotNull Player player, @NotNull Component sourceDisplayName, @NotNull Component message, @NotNull Audience viewer) {
ChatUser user = ChatUserManager.getChatUser(player.getUniqueId());
List<Template> templates = new ArrayList<>(List.of(
Template.template("sender", user.getDisplayName()),
Template.template("sendername", player.getName()),
Template.template("prefix", user.getPrefix()),
Template.template("prefixall", user.getPrefixAll()),
Template.template("staffprefix", user.getStaffPrefix()),
Template.template("message", message)
));
Map<String, Replacement<?>> 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));
return Utility.parseMiniMessage(Config.CHATFORMAT, templates);
return Utility.parseMiniMessage(Config.CHATFORMAT, placeholders);
}
}
@@ -8,6 +8,7 @@ import com.alttd.chat.util.GalaxyUtility;
import com.alttd.chat.util.Utility;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.serializer.plain.PlainComponentSerializer;
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@@ -46,12 +47,12 @@ public class PlayerListener implements Listener {
for (int i = 0; i < 4; i++) {
Component component = event.line(i);
if (component != null) {
String message = PlainComponentSerializer.plain().serialize(component);
String message = PlainTextComponentSerializer.plainText().serialize(component);
Player player = event.getPlayer();
message = RegexManager.replaceText(player.getName(), player.getUniqueId(), message, false); // todo a better way for this
if (message == null) {
GalaxyUtility.sendBlockedNotification("Sign Language" , player, PlainComponentSerializer.plain().serialize(component), "");
GalaxyUtility.sendBlockedNotification("Sign Language" , player, PlainTextComponentSerializer.plainText().serialize(component), "");
}
component = message == null ? Component.empty() : Component.text(message);
@@ -2,24 +2,23 @@ package com.alttd.chat.util;
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.Template;
import net.kyori.adventure.text.minimessage.placeholder.Replacement;
import net.kyori.adventure.text.serializer.plain.PlainComponentSerializer;
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import java.util.ArrayList;
import java.util.List;
import java.util.HashMap;
import java.util.Map;
public class GalaxyUtility {
public static void sendBlockedNotification(String prefix, Player player, String input, String target) {
List<Template> templates = new ArrayList<>(List.of(
Template.template("prefix", prefix),
Template.template("displayname", Utility.getDisplayName(player.getUniqueId(), player.getName())),
Template.template("target", (target.isEmpty() ? " tried to say: " : " -> " + target + ": ")),
Template.template("input", input)
));
Component blockedNotification = Utility.parseMiniMessage(Config.NOTIFICATIONFORMAT, templates);
Map<String, Replacement<?>> 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));
Component blockedNotification = Utility.parseMiniMessage(Config.NOTIFICATIONFORMAT, placeholders);
Bukkit.getOnlinePlayers().forEach(a ->{
if (a.hasPermission("chat.alert-blocked")) {
@@ -31,6 +30,6 @@ public class GalaxyUtility {
}
public static void sendBlockedNotification(String prefix, Player player, Component input, String target) {
sendBlockedNotification(prefix, player, PlainComponentSerializer.plain().serialize(input), target);
sendBlockedNotification(prefix, player, PlainTextComponentSerializer.plainText().serialize(input), target);
}
}