From 41583939acf713b16838038c3eeb536605268f98 Mon Sep 17 00:00:00 2001 From: Minecon724 Date: Sun, 6 Apr 2025 11:29:50 +0200 Subject: [PATCH] Use component --- .../module/wordcoords/WordCoordsModule.java | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/src/main/java/eu/m724/tweaks/module/wordcoords/WordCoordsModule.java b/src/main/java/eu/m724/tweaks/module/wordcoords/WordCoordsModule.java index de442aa..a052b42 100644 --- a/src/main/java/eu/m724/tweaks/module/wordcoords/WordCoordsModule.java +++ b/src/main/java/eu/m724/tweaks/module/wordcoords/WordCoordsModule.java @@ -9,6 +9,12 @@ package eu.m724.tweaks.module.wordcoords; import eu.m724.tweaks.Language; import eu.m724.tweaks.module.TweaksModule; import net.md_5.bungee.api.ChatColor; +import net.md_5.bungee.api.chat.BaseComponent; +import net.md_5.bungee.api.chat.ClickEvent; +import net.md_5.bungee.api.chat.ComponentBuilder; +import net.md_5.bungee.api.chat.HoverEvent; +import net.md_5.bungee.api.chat.hover.content.Text; + import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -79,14 +85,34 @@ public class WordCoordsModule extends TweaksModule implements CommandExecutor { if (encode) { words = converter.encode(x, z); + String encoded = "///" + String.join(".", words); - sender.sendMessage("%d, %d encodes to ///%s".formatted(x, z, String.join(".", words))); + BaseComponent[] components = new ComponentBuilder() + .append(String.format("%d, %d encodes to ", x, z)) + .color(ChatColor.GRAY) + .append(encoded) + .color(ChatColor.AQUA) // TODO improve color + .event(new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, encoded)) + .event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text("Click to copy"))) + .create(); + + sender.spigot().sendMessage(components); } else { int[] xz = converter.decode(words); x = xz[0]; z = xz[1]; - sender.sendMessage("///%s decodes to around %d, %d".formatted(String.join(".", words), x, z)); + String encoded = "///" + String.join(".", words); + + BaseComponent[] components = new ComponentBuilder() + .append(encoded + " decodes to ") + .color(ChatColor.GRAY) + .append("%d, %d".formatted(x, z)) + .color(ChatColor.AQUA) // TODO improve color + .append("±8") + .color(ChatColor.GRAY) + .create(); + sender.spigot().sendMessage(components); } return true;