diff --git a/src/main/java/pw/kaboom/extras/commands/CommandBroadcastRainbow.java b/src/main/java/pw/kaboom/extras/commands/CommandBroadcastRainbow.java new file mode 100644 index 0000000..afda201 --- /dev/null +++ b/src/main/java/pw/kaboom/extras/commands/CommandBroadcastRainbow.java @@ -0,0 +1,32 @@ +package pw.kaboom.extras.commands; + +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.NamedTextColor; +import net.kyori.adventure.text.minimessage.MiniMessage; +import org.bukkit.Bukkit; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import javax.annotation.Nonnull; + +public final class CommandBroadcastRainbow implements CommandExecutor { + private static final MiniMessage MINI_MESSAGE = MiniMessage.miniMessage(); + + public boolean onCommand(final @Nonnull CommandSender sender, + final @Nonnull Command command, + final @Nonnull String label, + final String[] args) { + if (args.length == 0) { + sender.sendMessage(Component + .text("Usage: /" + label + " <message ..>", + NamedTextColor.RED)); + return true; + } + final String strippedTags = MINI_MESSAGE.stripTags(String.join(" ", args)); + final Component component = MINI_MESSAGE.deserialize("<rainbow>" + strippedTags); + Bukkit.getServer().broadcast(component); + return true; + } +}