diff --git a/pom.xml b/pom.xml index b2e2bfd..920e9ab 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ de.privacynerd ChatBeautifier - 0.2.2 + 0.2.3 jar ChatBeautifier diff --git a/src/main/java/de/privacynerd/chatbeautifier/ChatBeautifier.java b/src/main/java/de/privacynerd/chatbeautifier/ChatBeautifier.java index ed92353..ed4c325 100644 --- a/src/main/java/de/privacynerd/chatbeautifier/ChatBeautifier.java +++ b/src/main/java/de/privacynerd/chatbeautifier/ChatBeautifier.java @@ -2,21 +2,28 @@ package de.privacynerd.chatbeautifier; import de.privacynerd.chatbeautifier.displaynamecolor.ChatColorCommand; import de.privacynerd.chatbeautifier.displaynamecolor.ChooseChatColorListener; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.NamedTextColor; import org.bukkit.Bukkit; +import org.bukkit.entity.Player; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; +import org.jetbrains.annotations.NotNull; public final class ChatBeautifier extends JavaPlugin { - public static String PREFIX = "§a[ChatBeautifier] §7§o"; + public static Component PREFIX = Component.text("[ChatBeautifier] ", NamedTextColor.DARK_AQUA); public static ChatBeautifier INSTANCE; public ChatBeautifier() { INSTANCE = this; } - public void log(String text) { - Bukkit.getConsoleSender().sendMessage(PREFIX + text); - } + + // some log functions + public void log(String message) { Bukkit.getConsoleSender().sendMessage(PREFIX.append(Component.text(message, NamedTextColor.GRAY))); } + public void log(@NotNull Component message) { Bukkit.getConsoleSender().sendMessage(PREFIX.append(message.color(NamedTextColor.GRAY))); } + public void tellPlayer(String message, @NotNull Player player) { player.sendMessage(PREFIX.append(Component.text(message, NamedTextColor.GRAY))); } + public void tellPlayer(@NotNull Component message, @NotNull Player player) { player.sendMessage(PREFIX.append(message.color(NamedTextColor.GRAY))); } @Override diff --git a/src/main/java/de/privacynerd/chatbeautifier/JoinQuitListener.java b/src/main/java/de/privacynerd/chatbeautifier/JoinQuitListener.java index 16a204c..3d434eb 100644 --- a/src/main/java/de/privacynerd/chatbeautifier/JoinQuitListener.java +++ b/src/main/java/de/privacynerd/chatbeautifier/JoinQuitListener.java @@ -2,6 +2,7 @@ package de.privacynerd.chatbeautifier; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; +import net.kyori.adventure.text.format.TextDecoration; import org.bukkit.Sound; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -18,16 +19,28 @@ public class JoinQuitListener implements Listener { Component newName; if(player.isOp()) { - newName = Component.text("[OP] "+player.getName(), NamedTextColor.RED); + newName = Component.text("[OP] ") + .color(NamedTextColor.RED) + .decoration(TextDecoration.BOLD, true) + .append(Component.text(player.getName()) + .color(NamedTextColor.GRAY) + .decoration(TextDecoration.BOLD, false) + ); player.displayName(newName); player.playerListName(newName); } else { - newName = Component.text(player.getName(), NamedTextColor.GRAY); - player.displayName(Component.text(player.getName())); + newName = Component.text(player.getName()) + .color(NamedTextColor.GRAY) + .decoration(TextDecoration.BOLD, false); + player.displayName(newName); player.playerListName(newName); } - event.joinMessage(Component.text(">> ", NamedTextColor.GREEN).append(player.displayName())); + event.joinMessage(Component.text(">> ") + .color(NamedTextColor.GREEN) + .decoration(TextDecoration.BOLD, true) + .append(player.displayName() + )); player.playSound(player.getLocation(), Sound.AMBIENT_CRIMSON_FOREST_MOOD, 0.5f, 0.4f); } @@ -35,7 +48,11 @@ public class JoinQuitListener implements Listener { @EventHandler public void onPlayerQuit(PlayerQuitEvent event) { Player player = event.getPlayer(); + Component displayName = player.displayName(); - event.quitMessage(Component.text("<< ", NamedTextColor.RED).append(player.displayName())); + event.quitMessage(Component.text("<< ") + .color(NamedTextColor.RED) + .decoration(TextDecoration.BOLD, true) + .append(displayName)); } } diff --git a/src/main/java/de/privacynerd/chatbeautifier/displaynamecolor/ChatColorCommand.java b/src/main/java/de/privacynerd/chatbeautifier/displaynamecolor/ChatColorCommand.java index a7b7c22..dda96d6 100644 --- a/src/main/java/de/privacynerd/chatbeautifier/displaynamecolor/ChatColorCommand.java +++ b/src/main/java/de/privacynerd/chatbeautifier/displaynamecolor/ChatColorCommand.java @@ -3,6 +3,7 @@ package de.privacynerd.chatbeautifier.displaynamecolor; import de.privacynerd.chatbeautifier.ChatBeautifier; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; +import net.kyori.adventure.text.format.TextDecoration; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -23,113 +24,88 @@ public class ChatColorCommand implements CommandExecutor { Player player = (Player) commandSender; String validArgument = ""; Component newDisplayName; + int colorCodesListIndex; // stores the index of the color code which was requested (0 for black color code, ...) // check for the right args if(args.length == 1) { switch (args[0]) { case "black": validArgument = "black"; - newDisplayName = Component.text("", ChatColorUtils.getChooseColorCodes().get(1)).append(player.displayName()); - player.displayName(newDisplayName); - player.playerListName(newDisplayName); + colorCodesListIndex = 0; break; case "gray": validArgument = "gray"; - newDisplayName = player.displayName().color(ChatColorUtils.getChooseColorCodes().get(1)); - player.displayName(newDisplayName); - player.playerListName(newDisplayName); + colorCodesListIndex = 1; break; case "light-gray": validArgument = "light-gray"; - newDisplayName = player.displayName().color(ChatColorUtils.getChooseColorCodes().get(2)); - player.displayName(newDisplayName); - player.playerListName(newDisplayName); + colorCodesListIndex = 2; break; case "white": validArgument = "white"; - newDisplayName = player.displayName().color(ChatColorUtils.getChooseColorCodes().get(3)); - player.displayName(newDisplayName); - player.playerListName(newDisplayName); + colorCodesListIndex = 3; break; case "brown": validArgument = "brown"; - newDisplayName = player.displayName().color(ChatColorUtils.getChooseColorCodes().get(4)); - player.displayName(newDisplayName); - player.playerListName(newDisplayName); + colorCodesListIndex = 4; break; case "red": validArgument = "red"; - newDisplayName = player.displayName().color(ChatColorUtils.getChooseColorCodes().get(5)); - player.displayName(newDisplayName); - player.playerListName(newDisplayName); + colorCodesListIndex = 5; break; case "orange": validArgument = "orange"; - newDisplayName = player.displayName().color(ChatColorUtils.getChooseColorCodes().get(6)); - player.displayName(newDisplayName); - player.playerListName(newDisplayName); + colorCodesListIndex = 6; break; case "yellow": validArgument = "yellow"; - newDisplayName = player.displayName().color(ChatColorUtils.getChooseColorCodes().get(7)); - player.displayName(newDisplayName); - player.playerListName(newDisplayName); + colorCodesListIndex = 7; break; case "light-green": validArgument = "light-green"; - newDisplayName = player.displayName().color(ChatColorUtils.getChooseColorCodes().get(8)); - player.displayName(newDisplayName); - player.playerListName(newDisplayName); + colorCodesListIndex = 8; break; case "dark-green": validArgument = "dark-green"; - newDisplayName = player.displayName().color(ChatColorUtils.getChooseColorCodes().get(9)); - player.displayName(newDisplayName); - player.playerListName(newDisplayName); + colorCodesListIndex = 9; break; case "cyan": validArgument = "cyan"; - newDisplayName = player.displayName().color(ChatColorUtils.getChooseColorCodes().get(10)); - player.displayName(newDisplayName); - player.playerListName(newDisplayName); + colorCodesListIndex = 10; break; case "blue": validArgument = "blue"; - newDisplayName = player.displayName().color(ChatColorUtils.getChooseColorCodes().get(11)); - player.displayName(newDisplayName); - player.playerListName(newDisplayName); + colorCodesListIndex = 11; break; case "purple": validArgument = "purple"; - newDisplayName = player.displayName().color(ChatColorUtils.getChooseColorCodes().get(12)); - player.displayName(newDisplayName); - player.playerListName(newDisplayName); + colorCodesListIndex = 12; break; case "magenta": validArgument = "magenta"; - newDisplayName = player.displayName().color(ChatColorUtils.getChooseColorCodes().get(13)); - player.displayName(newDisplayName); - player.playerListName(newDisplayName); + colorCodesListIndex = 13; break; case "pink": validArgument = "pink"; - newDisplayName = player.displayName().color(ChatColorUtils.getChooseColorCodes().get(14)); - player.displayName(newDisplayName); - player.playerListName(newDisplayName); + colorCodesListIndex = 14; break; case "list": ChatBeautifier.INSTANCE.log("Got valid argument 'list', printing list of valid colors..."); ArrayList colorNames = ChatColorUtils.getChooseColorStrings(); // now compose the message containing all possible color args - StringBuilder message = new StringBuilder(ChatBeautifier.PREFIX + "§r§lMögliche Farben: §r§o"); - message.append(colorNames.get(0).toLowerCase().replace(" ", "-")).append(", "); + Component message = Component.text("Mögliche Farben: ").decoration(TextDecoration.BOLD, true); + + String newMessageItem = colorNames.get(0).toLowerCase().replace(" ", "-") + ", "; + message = message.append(Component.text(newMessageItem, NamedTextColor.GRAY).decoration(TextDecoration.BOLD, true)); + for (int i=1; i, list, gui]"); + ChatBeautifier.INSTANCE.tellPlayer("Verwendung: /" + alias + " [, list, gui]", player); return true; } + + newDisplayName = player.displayName() + .color(ChatColorUtils.getChooseColorCodes().get(colorCodesListIndex)); + player.displayName(newDisplayName); + player.playerListName(newDisplayName); + ChatBeautifier.INSTANCE.log("Got valid color " + validArgument); - player.sendMessage(ChatBeautifier.PREFIX + "Name temporär " + validArgument + " gefärbt. Dieses Feature ist aktuell noch in der Mache, dauerhaft coming soon."); + ChatBeautifier.INSTANCE.tellPlayer("Name temporär " + validArgument + " gefärbt. Dieses Feature ist aktuell noch in der Mache, dauerhaft coming soon.", player); return true; } else if (args.length > 1) { // print a help string if more than one argument is given - player.sendMessage(ChatBeautifier.PREFIX + "Verwendung: /" + alias + " [, list, gui]"); + ChatBeautifier.INSTANCE.tellPlayer("Verwendung: /" + alias + " [, list, gui]", player); return true; } else { player.openInventory(new ChooseChatColorGUI().getGUI(player)); diff --git a/target/ChatBeautifier-0.2.3.jar b/target/ChatBeautifier-0.2.3.jar new file mode 100644 index 0000000..887a1d0 Binary files /dev/null and b/target/ChatBeautifier-0.2.3.jar differ diff --git a/target/original-ChatBeautifier-0.2.3.jar b/target/original-ChatBeautifier-0.2.3.jar new file mode 100644 index 0000000..7eb3743 Binary files /dev/null and b/target/original-ChatBeautifier-0.2.3.jar differ