package org.buckit.commands.kits; import java.util.Arrays; import java.util.Collection; import java.util.LinkedHashSet; import org.buckit.Config; import org.buckit.datasource.type.KitsDataSource; import org.buckit.model.Kit; import org.bukkit.Server; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; public class KitsCommand extends Command { private final KitsDataSource datasource; public KitsCommand(String name, Server server){ super(name); this.datasource = server.getDataSourceManager().getKitsDataSource(); this.description = "A list of all available kits."; this.usageMessage = "Usage: /kits"; this.accessname = "buckit.kits.kits"; this.setAliases(Arrays.asList("listkits")); } @Override public boolean execute(CommandSender sender, String currentAlias, String[] args) { int accesslevel = Config.DEFAULT_ACCESS_LEVEL; if(sender instanceof Player) accesslevel = ((Player)sender).getAccessLevel().getLevel(); else accesslevel = Integer.MAX_VALUE; Collection<Kit> kits = datasource.getKits(); Collection<String> names = new LinkedHashSet<String>(); for(Kit k : kits) if(accesslevel >= k.getMinaccesslevel()) names.add(k.getName()); String str = ""; for(String name : names) str += name + ", "; if(str.length() == 0){ sender.sendMessage(Config.DEFAULT_ERROR_COLOR + "No kits available."); return true; }else str = str.substring(0,str.length()-2); sender.sendMessage(Config.DEFAULT_INFO_COLOR + "List of available kits:"); sender.sendMessage(str); return true; } }