mirror of
https://github.com/YouHaveTrouble/PreventStabby.git
synced 2026-05-12 05:16:55 +00:00
going on an adventure
This commit is contained in:
@@ -2,11 +2,10 @@ package me.youhavetrouble.preventstabby.util;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import me.youhavetrouble.preventstabby.PreventStabby;
|
||||
import net.md_5.bungee.api.ChatMessageType;
|
||||
import net.md_5.bungee.api.chat.BaseComponent;
|
||||
import net.md_5.bungee.api.chat.TextComponent;
|
||||
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@@ -14,17 +13,21 @@ import java.util.UUID;
|
||||
|
||||
public class PluginMessages {
|
||||
|
||||
public static String parseMessage(String message) {
|
||||
return ChatColor.translateAlternateColorCodes('&', message);
|
||||
public static final MiniMessage MINIMESSAGE = MiniMessage.miniMessage();
|
||||
private static final BukkitAudiences audiences = PreventStabby.getAudiences();
|
||||
|
||||
public static Component parseMessage(String message) {
|
||||
message = makeColorsWork('&', message);
|
||||
return MINIMESSAGE.deserialize(message);
|
||||
}
|
||||
|
||||
public static String parseMessage(CommandSender sender,String message) {
|
||||
public static Component parseMessage(CommandSender sender,String message) {
|
||||
|
||||
if (sender instanceof Player && isPlaceholderApiEnabled()) {
|
||||
Player player = (Player) sender;
|
||||
message = PlaceholderAPI.setPlaceholders(player, message);
|
||||
}
|
||||
return ChatColor.translateAlternateColorCodes('&', message);
|
||||
return parseMessage(message);
|
||||
}
|
||||
|
||||
private static boolean isPlaceholderApiEnabled() {
|
||||
@@ -32,15 +35,12 @@ public class PluginMessages {
|
||||
}
|
||||
|
||||
public static void sendMessage(CommandSender sender, String message) {
|
||||
message = parseMessage(sender, message);
|
||||
sender.sendMessage(message);
|
||||
audiences.sender(sender).sendMessage(parseMessage(sender, message));
|
||||
}
|
||||
|
||||
public static void sendActionBar(Player player, String message) {
|
||||
// TODO use adventure
|
||||
message = parseMessage(player, message);
|
||||
BaseComponent[] component = TextComponent.fromLegacyText(parseMessage(message));
|
||||
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, component);
|
||||
Component parsedMessage = parseMessage(player, message);
|
||||
audiences.player(player).sendActionBar(parsedMessage);
|
||||
}
|
||||
|
||||
public static void sendActionBar(UUID uuid, String message) {
|
||||
@@ -51,7 +51,7 @@ public class PluginMessages {
|
||||
|
||||
public static String parsePlayerName(Player player, String message) {
|
||||
message = message.replaceAll("%player%", player.getDisplayName());
|
||||
return parseMessage(message);
|
||||
return message;
|
||||
}
|
||||
|
||||
public static void broadcastMessage(Player player, String message) {
|
||||
@@ -59,9 +59,40 @@ public class PluginMessages {
|
||||
if (PreventStabby.getPlugin().getServer().getPluginManager().getPlugin("PlaceholderAPI") != null) {
|
||||
message = PlaceholderAPI.setPlaceholders(player, message);
|
||||
}
|
||||
message = parseMessage(message);
|
||||
BaseComponent[] component = TextComponent.fromLegacyText(parseMessage(message));
|
||||
Bukkit.spigot().broadcast(component);
|
||||
audiences.all().sendMessage(parseMessage(message));
|
||||
}
|
||||
|
||||
/**
|
||||
* Swaps most legacy color codes to adventure minimessage tags.
|
||||
* @param symbol Usually '&'.
|
||||
* @param string String to replace symbols in.
|
||||
* @return String with legacy color codes replaced with minimessage tags.
|
||||
*/
|
||||
private static String makeColorsWork(Character symbol, String string) {
|
||||
// Adventure and ChatColor do not like each other, so this is a thing.
|
||||
string = string.replaceAll(symbol + "0", "<black>");
|
||||
string = string.replaceAll(symbol + "1", "<dark_blue>");
|
||||
string = string.replaceAll(symbol + "2", "<dark_green>");
|
||||
string = string.replaceAll(symbol + "3", "<dark_aqua>");
|
||||
string = string.replaceAll(symbol + "4", "<dark_red>");
|
||||
string = string.replaceAll(symbol + "5", "<dark_purple>");
|
||||
string = string.replaceAll(symbol + "6", "<gold>");
|
||||
string = string.replaceAll(symbol + "7", "<gray>");
|
||||
string = string.replaceAll(symbol + "8", "<dark_gray>");
|
||||
string = string.replaceAll(symbol + "9", "<blue>");
|
||||
string = string.replaceAll(symbol + "a", "<green>");
|
||||
string = string.replaceAll(symbol + "b", "<aqua>");
|
||||
string = string.replaceAll(symbol + "c", "<red>");
|
||||
string = string.replaceAll(symbol + "d", "<light_purple>");
|
||||
string = string.replaceAll(symbol + "e", "<yellow>");
|
||||
string = string.replaceAll(symbol + "f", "<white>");
|
||||
string = string.replaceAll(symbol + "k", "<obfuscated>");
|
||||
string = string.replaceAll(symbol + "l", "<bold>");
|
||||
string = string.replaceAll(symbol + "m", "<strikethrough>");
|
||||
string = string.replaceAll(symbol + "n", "<underlined>");
|
||||
string = string.replaceAll(symbol + "o", "<italic>");
|
||||
string = string.replaceAll(symbol + "r", "<reset>");
|
||||
return string;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user