package game.command; import java.util.Collection; import java.util.List; import game.collect.Lists; import game.entity.Entity; import game.entity.npc.EntityNPC; import game.network.Player; public class PlayerEntityListParser extends PlayerEntityParser { public PlayerEntityListParser(String name, boolean useSender) { super(name, useSender); } public Object parse(CommandEnvironment env, String input) { if(input.equals("*")) { List list = Lists.newArrayList(); for(Player plr : env.getServer().getPlayers()) { if(plr.getEntity() != null) list.add(plr.getEntity()); } if(list.isEmpty()) throw new RunException("Keine Spieler gefunden"); return list; } return Lists.newArrayList((EntityNPC)super.parse(env, input)); } public Object getDefault(CommandEnvironment env) { EntityNPC entity = (EntityNPC)super.getDefault(env); return entity == null ? null : Lists.newArrayList(entity); } public Collection getCompletions(CommandEnvironment env) { Collection comp = super.getCompletions(env); comp.add("*"); return comp; } public Class getTypeClass() { return List.class; } }