package org.buckit.commands.homes;
import java.util.Arrays;
import org.buckit.Config;
import org.buckit.datasource.type.HomesDataSource;
import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class SetHomeCommand extends Command {
private final HomesDataSource datasource;
public SetHomeCommand(String name, Server server){
super(name);
this.datasource = server.getDataSourceManager().getHomesDataSource();
this.description = "Sets your home.";
if(Config.HOMES_MULTI_ENABLED)
this.usageMessage = "Usage: /sethome <home name>";
else
this.usageMessage = "Usage: /sethome";
this.accessname = "buckit.homes.sethome";
this.setAliases(Arrays.asList("addhome"));
}
@Override
public boolean execute(CommandSender sender, String currentAlias, String[] args) {
if(!(sender instanceof Player))
return false;
String name = "default";
if(Config.HOMES_MULTI_ENABLED && args.length > 0)
name = args[0].toLowerCase();
else if (Config.HOMES_MULTI_ENABLED && args.length==0) {
sender.sendMessage(Config.DEFAULT_ERROR_COLOR + "Insufficient arguments specified");
sender.sendMessage(Config.DEFAULT_ERROR_COLOR + this.getUsage());
return true;
}
Player player = (Player)sender;
if(datasource.setHome(player.getPlayerId(), player.getName(), name, player.getLocation()))
sender.sendMessage(Config.DEFAULT_INFO_COLOR + "Succesfully set home"+(!name.equals("default") ? " with name '" + name + "' " : "" )+".");
else
sender.sendMessage(Config.DEFAULT_ERROR_COLOR + "Error while setting home, please report this to Buck - It!");
return true;
}
}