package com.laytonsmith.abstraction; import java.util.List; public interface MCCommand extends AbstractionObject { public List<String> getAliases(); public String getDescription(); public String getLabel(); public String getName(); public String getPermission(); public String getPermissionMessage(); public String getUsage(); public MCCommand setAliases(List<String> aliases); public MCCommand setDescription(String desc); public MCCommand setLabel(String name); public MCCommand setPermission(String perm); public MCCommand setPermissionMessage(String permmsg); public MCCommand setUsage(String example); public boolean testPermission(MCCommandSender target); public boolean testPermissionSilent(MCCommandSender target); public boolean register(MCCommandMap map); public boolean isRegistered(); public boolean unregister(MCCommandMap map); public MCPlugin getPlugin(); public MCPlugin getExecutor(); public MCPlugin getTabCompleter(); public void setExecutor(MCPlugin plugin); public void setTabCompleter(MCPlugin plugin); public List<String> handleTabComplete(MCCommandSender sender, String alias, String[] args); public boolean handleCustomCommand(MCCommandSender sender, String label, String[] args); }