Скачать CommandClip — Minecraft Моды — MetaMods

CommandClip

Активный

Установок

0

Последнее обновление

1 год назад

Версии

1.20.4
Сервер
Библиотеки

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();

Данная реализация демонстрирует полнофункциональную структуру команды с поддержкой автозавершения ввода, проверкой разрешений и валидацией аргументов.

Участники проекта
notTamion

notTamion

Разработчик

Создан: 8 янв 2024

ID: 21036