package tv.mineinthebox.essentials.commands; import java.util.Arrays; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import tv.mineinthebox.essentials.xEssentials; import tv.mineinthebox.essentials.enums.PermissionKey; import tv.mineinthebox.essentials.enums.PlayerTaskEnum; import tv.mineinthebox.essentials.interfaces.CommandTemplate; import tv.mineinthebox.essentials.interfaces.XOfflinePlayer; public class CmdTask extends CommandTemplate { private final xEssentials pl; public CmdTask(xEssentials pl, Command cmd, CommandSender sender) { super(pl, cmd, sender); this.pl = pl; } public boolean execute(CommandSender sender, Command cmd, String[] args) { if(cmd.getName().equalsIgnoreCase("task")) { if(sender.hasPermission(PermissionKey.CMD_TASK.getPermission())) { if(args.length == 0) { showHelp(); } else if(args.length == 1) { if(args[0].equalsIgnoreCase("help")) { showHelp(); } } else if(args.length > 2) { if(args[0].equalsIgnoreCase("player")) { if(pl.getManagers().getPlayerManager().isEssentialsPlayer(args[1])) { XOfflinePlayer off = pl.getManagers().getPlayerManager().getOfflinePlayer(args[1]); PlayerTaskEnum playerenum = PlayerTaskEnum.PLAYER; String command = Arrays.toString(args).replace("[", "").replace(",", "").replace("]", "").replace(args[0]+" ", "").replace(args[1] + " ", ""); off.PrepareLoginTask(command, playerenum); sendMessage("successfully saved Player command for relog for player " + off.getName() + "!"); } else { sendMessage("this player has never played on this server!"); } } else if(args[0].equalsIgnoreCase("console")) { if(pl.getManagers().getPlayerManager().isEssentialsPlayer(args[1])) { XOfflinePlayer off = pl.getManagers().getPlayerManager().getOfflinePlayer(args[1]); PlayerTaskEnum playerenum = PlayerTaskEnum.CONSOLE; String command = Arrays.toString(args).replace("[", "").replace(",", "").replace("]", "").replace(args[0] + " ", "").replace(args[1]+ " ", ""); off.PrepareLoginTask(command, playerenum); sendMessage("successfully saved CONSOLE command for relog for player " + off.getName() + "!"); } else { sendMessage("this player has never played on this server!"); } } } } else { getWarning(WarningType.NO_PERMISSION); } } return false; } @Override public void showHelp() { sender.sendMessage(ChatColor.GOLD + ".oO___[task help]___Oo."); sender.sendMessage(ChatColor.RED + "Admin: " + ChatColor.GRAY + "/task " + ChatColor.WHITE + "shows help"); sender.sendMessage(ChatColor.RED + "Admin: " + ChatColor.GRAY + "/task help " + ChatColor.WHITE + "shows help"); sender.sendMessage(ChatColor.RED + "Admin: " + ChatColor.GRAY + "/task player <player> command" + ChatColor.WHITE + " do a task on a players command without \"/\""); sender.sendMessage(ChatColor.RED + "Admin: " + ChatColor.GRAY + "/task console <player> command " + ChatColor.WHITE + ": do a console command on a player without \"/\""); } }