CommandClip
Активный0.0
Установок
Последнее обновление
Версии
CommandClip
CommandClip представляет собой специализированную библиотеку для работы с командами на серверах Bukkit. Этот фреймворк значительно упрощает процесс создания, настройки и управления командами в плагинах, экономя время разработчиков и уменьшая потенциальные ошибки.
Установка зависимостей
Для проектов на Gradle
В файле build.gradle добавьте следующие настройки:
repositories {
mavenCentral()
}
ependencies {
compileOnly("io.github.nottamion:commandclip:1.1.0")
}
Для проектов на Maven
Укажите зависимость в pom.xml:
<dependency>
<groupId>io.github.nottamion</groupId>
<artifactId>commandclip</artifactId>
<version>1.1.0</version>
</dependency>
Оптимальный способ использования - разрешить серверу автоматически загружать библиотеку. Для этого требуется всего одна строчка в файле plugin.yml:
libraries:
- io.github.nottamion:commandclip:1.1.0
Такой подход обеспечивает несколько преимуществ: уменьшается размер файла плагина, исчезает необходимость интеграции фреймворка непосредственно в файл JAR.
Как использовать
Полную документацию по работе с фреймворком можно найти в репозитории проекта. Для понимания основных возможностей ознакомьтесь со следующим примером реализации:
new BaseCommand("hello", this)
.subCommand(new SubCommand("there")
.executes((commandSender, s, strings) -> {
commandSender.sendMessage(s + " there " + strings[0]);
})
.tabCompletes((commandSender, s, strings) ->
strings.length == 1 ?
Bukkit.getOnlinePlayers().stream().map(Player::getName).toList() :
List.of()
)
.testArgs((commandSender, s, strings) -> {
if (strings.length != 1)
return "Укажите корректное имя игрока";
if (!Bukkit.getOnlinePlayers().stream().map(Player::getName).toList().contains(strings[0]))
return "Игрок в настоящее время не в сети";
return null;
})
.permission("hello.there", "У вас отсутствуют права доступа к этой команде :("))
.alias("hi")
.commandDescription("Приветственная команда")
.commandPermission("hello")
.register();
Данная реализация демонстрирует полнофункциональную структуру команды с поддержкой автозавершения ввода, проверкой разрешений и валидацией аргументов.