- Баллы
- 123
- Имя в Minecraft
- sashabelii
Доброго времени суток.
Решил выложить давно написанную, но так и не использованную библиотеку. Мне жутко не понравилась реализация "командного" API в Bukkit. Его по сути то и нет, т.е. вы сами парсите команды.
Штуки:
- Не заставляет вас добавлять базовую команду в plugin.yml
- Каждая команда - объект
- Глаза от полученного выколоть не хочется
- Правьте вывод help как хотите
- Поддержка псевдонимов команд
- Поддержка TAB-автодополнения
- Еще что-то, что я забыл. Писал давно, такие дела

Код:
private void registerCommands() {
CommandRegistrar commander = new CommandRegistrar(this);
HelpRegistrar helper = new HelpRegistrar(this);
HelpIndexKeeper helpIndex = helper.registerIndex("Example", "All command of Example plugin", "example.help");
Command base = commander.register(new MainExampleCommand());
Command regenCommand = base.addSubCommand(new ExampleCommand());
regenCommand.addSubCommand(new ExampleSubCommand());
base.addSubCommand(new ExampleOtherCommand());
helpIndex.generateHelp(base.getDeepSubCommands());
}
Код:
public class ClearContinueCommand extends Command {
public ClearContinueCommand() {
super("continue");
setDescription("Продолжает делать штуки.");
setUsageMessage("/cleaner continue");
setPermission("cleaner.continue");
setAliases(new String[]{"cn"});
}
@Override
public void process(CommandSender sender, ArgsKeeper args) {
if(args.hasArgOnLevel()) {
String arg = args.getLeveledArg();
...
}
}
}
Тут могут быть ошибки, или просто неудобности. Для себя можете форкать и переписывать.
GitHub
Последнее редактирование: