package tv.mineinthebox.essentials.commands; import org.bukkit.ChatColor; 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.interfaces.CommandTemplate; import tv.mineinthebox.essentials.interfaces.XPlayer; public class CmdSethome extends CommandTemplate { private final xEssentials pl; public CmdSethome(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("sethome")) { if(sender instanceof Player) { if(sender.hasPermission(PermissionKey.CMD_SET_HOME.getPermission())) { if(args.length == 0) { if(pl.getManagers().getPlayerManager().isOnline(sender.getName())) { XPlayer xp = pl.getManagers().getPlayerManager().getPlayer(sender.getName()); xp.setHome("default"); sendMessage("successfully set default home ;-)"); } else { sendMessage("something went wrong, please relog"); } } else if(args.length == 1) { if(args[0].equalsIgnoreCase("help")) { showHelp(); } else if(args[0].equalsIgnoreCase("list")) { sendMessage("you cannot use this name!"); } else if(args[0].equalsIgnoreCase("delete")) { sendMessage("you cannot use this name!"); } else if(args[0].equalsIgnoreCase("remove")) { sendMessage("you cannot use this name!"); } else if(args[0].equalsIgnoreCase("default")) { sendMessage("you cannot use this name!, use /sethome instead"); } else { if(sender.hasPermission(PermissionKey.MULTIPLE_HOMES.getPermission()) || pl.getConfiguration().getPlayerConfig().canUseMoreHomes()) { if(!pl.getManagers().getPlayerManager().isEssentialsPlayer(args[0])) { XPlayer xp = pl.getManagers().getPlayerManager().getPlayer(sender.getName()); if(xp.isStaff()) { xp.setHome(args[0]); sendMessage("you successfully set your new custom home!"); } else if(!(xp.getAmountOfHomes() > (pl.getConfiguration().getPlayerConfig().getMaxHomesAllowed())-1)) { xp.setHome(args[0]); sendMessage("you successfully set your new custom home!"); } else { sendMessage("you reached above the limit to set homes!"); } } else { sendMessage("you cannot set a home on a players name!"); } } else { getWarning(WarningType.NO_PERMISSION); } } } } else { getWarning(WarningType.NO_PERMISSION); } } else { getWarning(WarningType.NO_PERMISSION); } } return false; } @Override public void showHelp() { sender.sendMessage(ChatColor.GOLD + ".oO___[sethome help]___Oo."); sender.sendMessage(ChatColor.DARK_GRAY + "Default: " + ChatColor.GRAY + "/sethome " + ChatColor.WHITE + ": allows you to set your home"); sender.sendMessage(ChatColor.DARK_GRAY + "Default: " + ChatColor.GRAY + "/sethome <home name>" + ChatColor.WHITE + ": allows you to set your extra custom home"); } }