package org.buckit.commands.homes; import org.buckit.Config; import org.buckit.datasource.type.HomesDataSource; import org.buckit.model.Home; import org.bukkit.Server; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; public class HomeCommand extends Command { private final HomesDataSource datasource; public HomeCommand(String name, Server server){ super(name); this.datasource = server.getDataSourceManager().getHomesDataSource(); this.description = "Teleports you to your home."; if(Config.HOMES_MULTI_ENABLED) this.usageMessage = "Usage: /home <home name>"; else this.usageMessage = "Usage: /home"; this.accessname = "buckit.homes.home"; } @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; } Home home = datasource.getHome(((Player)sender).getPlayerId(), name); if(home == null) sender.sendMessage(Config.DEFAULT_ERROR_COLOR + "No home found"+(!name.equals("default") ? " with name '" + name + "' " : "" )+"."); else ((Player)sender).teleportTo(home.getLocation()); return false; } }