package io.github.axolotsh.hieroglyph.commands; import org.bukkit.command.CommandSender; import dev.jorel.commandapi.CommandAPICommand; import dev.jorel.commandapi.arguments.GreedyStringArgument; import io.github.axolotsh.hieroglyph.Hieroglyph; import io.github.axolotsh.hieroglyph.HieroglyphConfig; import io.github.axolotsh.hieroglyph.HieroglyphFormatter; import io.github.axolotsh.hieroglyph.utils.FormatterContext; import net.kyori.adventure.text.minimessage.MiniMessage; public class GlobalCommand implements ICommand { public static void globalMessage(CommandSender sender, String message) { var prefix = HieroglyphConfig.GlobalMessageConfig.prefix(); if (message.startsWith(prefix)) message = message.substring(prefix.length()); if (!sender.hasPermission(Hieroglyph.ALLOW_MINIMESSAGE_PERMISSION)) message = MiniMessage.miniMessage().stripTags(message); var server = sender.getServer(); var formatter = HieroglyphFormatter.globalMessage(sender, message); var globalMessage = formatter.formatComponent(); server.getOnlinePlayers().forEach(x -> x.sendMessage(globalMessage)); server.getConsoleSender() .sendMessage(formatter.formatComponent(FormatterContext.CONSOLE)); } @Override public CommandAPICommand command() { return new CommandAPICommand("global") .withArguments(new GreedyStringArgument("message")) .withAliases("g", "glb") .executes((sender, args) -> { var message = (String) args.get("message"); globalMessage(sender, message); }); } }