BungeeMain / src / main / java / com / lifeknight / relaymcbungeemain / commands / staff / BroadcastCommand.java
BroadcastCommand.java
Raw
package com.lifeknight.relaymcbungeemain.commands.staff;

import com.lifeknight.relaymcbungeemain.commands.CommandUtilities;
import com.lifeknight.relaymcbungeemain.player.SmartPlayer;
import com.lifeknight.relaymcbungeemain.utilities.Utilities;
import com.lifeknight.relayutils.basic.Text;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.plugin.Command;

public class BroadcastCommand extends Command {
    public BroadcastCommand() {
        super("broadcast", null, "bcast", "bc");
    }

    @Override
    public void execute(CommandSender sender, String[] arguments) {
        if (!CommandUtilities.isAdministrator(sender)) {
            CommandUtilities.sendInsufficientPermissionsMessage(sender);
            return;
        }
        if (arguments.length == 0) {
            CommandUtilities.sendErrorMessage(sender, "Please enter a message to send.");
        } else {
            String message = Text.concatenateArguments(arguments);
            SmartPlayer smartPlayer = SmartPlayer.getSmartPlayer(sender);
            broadcast(smartPlayer == null ? ChatColor.GOLD + "Server" : smartPlayer.getFormattedName(), message);
        }
    }

    public static void broadcast(String formattedName, String message) {
        Utilities.broadcast(String.format(BROADCAST_FORMAT, formattedName, ChatColor.translateAlternateColorCodes('&', message)));
    }

    public static final String BROADCAST_FORMAT = String.format(
            "%s[BROADCAST] %s%s: %s",
            ChatColor.DARK_RED,
            "%s",
            ChatColor.WHITE,
            "%s"
    );
}