Skip to content

Instantly share code, notes, and snippets.

@stevommmm
Last active March 29, 2016 04:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stevommmm/79245396a845f49738bf to your computer and use it in GitHub Desktop.
Save stevommmm/79245396a845f49738bf to your computer and use it in GitHub Desktop.
>tc
[14:54:05 INFO]: TranceClans.
Usage:
tc clan new <name>
tc clan modify (name|tag|member|leader|invite) <value>
tc (join|leave|disband)
tc (invite|kick) <player>
tc leaderboard
tc (-h | --help)
Options:
-h --help Show this screen.
>tc clan new test
[14:54:07 INFO]: {new=true, leader=false, <name>=test, modify=false, <value>=null, leaderboard=false, kick=false, --help=false, leave=false, clan=true, name=false, member=false, <player>=null, tag=false, invite=false, join=false, disband=false}
>tc kick player
[14:54:13 INFO]: {new=false, leader=false, <name>=null, modify=false, <value>=null, leaderboard=false, kick=true, --help=false, leave=false, clan=false, name=false, member=false, <player>=player, tag=false, invite=false, join=false, disband=false}
public class CommandHandler implements CommandExecutor {
private final String doc = String.join("\n",
"TranceClans.",
"",
"Usage:",
" tc clan new <name>",
" tc clan modify (name|tag|member|leader|invite) <value>",
" tc (join|leave|disband)",
" tc (invite|kick) <player>",
" tc leaderboard",
" tc (-h | --help)",
"",
"Options:",
" -h --help Show this screen.",
""
);
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] rargs) {
Map<String, Object> opts = docoptCommandParser(rargs);
if (opts == null) {
sender.sendMessage(this.doc);
return true;
}
System.out.println(opts);
return true;
}
private Map<String, Object> docoptCommandParser(String[] rargs) {
try {
return new Docopt(this.doc).withExit(false).parse(rargs);
} catch( DocoptExitException ignore) {
return null;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment