package com.lifeknight.relaymcbungeemain.commands; import com.lifeknight.relaymcbungeemain.player.SmartPlayer; import com.lifeknight.relayutils.basic.Text; import com.lifeknight.relayutils.player.Group; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.connection.ProxiedPlayer; import java.util.List; public class CommandUtilities { public static void sendMessage(CommandSender commandSender, String message, Object... data) { commandSender.sendMessage(new TextComponent(String.format(message, data))); } public static void sendInfoMessage(CommandSender commandSender, String message, Object... data) { commandSender.sendMessage(new TextComponent(ChatColor.YELLOW + String.format(message, data))); } public static void sendSuccessMessage(CommandSender commandSender, String message, Object... data) { commandSender.sendMessage(new TextComponent(ChatColor.GREEN + String.format(message, data))); } public static void sendErrorMessage(CommandSender commandSender, String message, Object... data) { commandSender.sendMessage(new TextComponent(ChatColor.RED + String.format(message, data))); } public static void sendUsageMessage(CommandSender commandSender, String message, Object... data) { commandSender.sendMessage(new TextComponent(ChatColor.DARK_GREEN + String.format(message, data))); } public static void sendCommandsMessage(CommandSender commandSender, List<String> commands) { sendInfoMessage(commandSender, "Commands: %s%s", ChatColor.GREEN, Text.separateWithCommas(commands)); } public static boolean isInGroupOrHigher(CommandSender commandSender, Group group) { if (commandSender instanceof ProxiedPlayer) { SmartPlayer smartPlayer = SmartPlayer.getSmartPlayer((ProxiedPlayer) commandSender); return smartPlayer.isInGroupOrHigher(group); } return true; } public static boolean isAdministrator(CommandSender commandSender) { return isInGroupOrHigher(commandSender, Group.ADMIN); } public static void sendInsufficientPermissionsMessage(CommandSender commandSender) { sendErrorMessage(commandSender, "You do not have permission to execute this command!"); } public static boolean isModerator(CommandSender commandSender) { return isInGroupOrHigher(commandSender, Group.MOD); } public static boolean isStaff(CommandSender sender) { return isInGroupOrHigher(sender, Group.DEVELOPER); } public static void noPlayerFound(CommandSender commandSender, String name) { sendErrorMessage(commandSender, "No player found with the name of %s%s%s.", ChatColor.YELLOW, name, ChatColor.RED); } }