}
// test if needs an argument, but is missing.
if(player.requiresArgument()){
RequiresArguments req = PlayerCommands.RequiresArguments.valueOf(cmd[0]);
if(cmd.length==1){
sendToSocket("error: this command requires arguments " + req.getArguments());
return;
}
if(req.getValues().size() > 1){
if( ! req.matchesArgument(cmd[1])){
sendToSocket("error: this command requires arguments " + req.getArguments());
return;
}
}
if(req.usesBoolean()){
if( ! PlayerCommands.validBoolean(cmd[1])){
sendToSocket("error: requires {BOOLEAN}");
return;
}
}
if(req.usesInt()){
if( ! PlayerCommands.validInt(cmd[1])){
sendToSocket("error: requires {INT}");
return;
}
}
if(req.usesDouble()){
if( ! PlayerCommands.validDouble(cmd[1])){
sendToSocket("error: requires {DOUBLE}");
return;
}
}
if(req.requiresParse()){
// do min test, check for the same number of arguments
String[] list = req.getArgumentList()[0].split(" ");
if(list.length != (cmd.length-1)){
sendToSocket("error: wrong number args, requires [" + list.length + "]");
return;
}
}