package tv.mineinthebox.essentials.commands;
import java.util.Arrays;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import tv.mineinthebox.essentials.xEssentials;
import tv.mineinthebox.essentials.enums.PermissionKey;
import tv.mineinthebox.essentials.events.customevents.PlayerAfkEvent;
import tv.mineinthebox.essentials.interfaces.CommandTemplate;
import tv.mineinthebox.essentials.interfaces.XPlayer;
public class CmdAfk extends CommandTemplate {
private final xEssentials pl;
public CmdAfk(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("afk")) {
if(sender instanceof Player) {
if(sender.hasPermission(PermissionKey.CMD_AFK.getPermission())) {
if(args.length == 0) {
XPlayer xp = pl.getManagers().getPlayerManager().getPlayer(sender.getName());
xp.setAfk("no reason given in");
broadcast(sender.getName() + " has been afk");
Bukkit.getPluginManager().callEvent(new PlayerAfkEvent(xp.getBukkitPlayer(), true, false, pl));
} else {
String message = Arrays.toString(args).replace("[", "").replace(",", "").replace("]", "");
XPlayer xp = pl.getManagers().getPlayerManager().getPlayer(sender.getName());
xp.setAfk(message);
broadcast(sender.getName() + " has been afk [ "+xp.getAfkReason()+" ]");
Bukkit.getPluginManager().callEvent(new PlayerAfkEvent(xp.getBukkitPlayer(), true, false, pl));
}
} else {
getWarning(WarningType.NO_PERMISSION);
}
} else {
getWarning(WarningType.PLAYER_ONLY);
}
}
return false;
}
}