Вход

Регистрация

Восстановление доступа

CommandAPI

CommandAPI

|

CommandAPI

API-библиотека для серверных плагинов, позволяющая использовать новый интерфейс команд Minecraft и упрощающая работу с аргументами.

Плагин CommandAPI для Minecraft 1.21.5

CommandAPI — это библиотека для серверных платформ Minecraft, предоставляющая полный доступ к новому интерфейсу команд, внедрённому в версии 1.13. Она упрощает разработку плагинов за счёт автоматической валидации и преобразования аргументов, поддержки отправки команд от имени сущностей через /execute и устранения необходимости регистрации команд в plugin.yml. Инструмент совместим с Bukkit, Spigot, Paper, Folia и Velocity.

Что такое CommandAPI и зачем она нужна?

CommandAPI — это библиотека, предоставляющая полную поддержку нового интерфейса команд, реализованного в обновлении Minecraft 1.13. До появления этого инструмента разработчикам приходилось вручную обрабатывать аргументы команд и проверять типы данных, что усложняло код и повышало риск ошибок. API берет на себя рутинные задачи по парсингу и валидации, позволяя сосредоточиться на логике самого плагина. Кроме того, он избавляет от необходимости регистрировать команды в файле plugin.yml, так как регистрация происходит автоматически через API. Все необходимые сведения о библиотеке можно найти на её странице в GitHub.

Example of the CommandAPI in use
Example of the CommandAPI in use

Упрощение работы с аргументами команд

Одной из ключевых функций библиотеки является автоматическое приведение типов (type casting). Вместо того чтобы вручную преобразовывать строковые аргументы в целые числа и обрабатывать исключения NumberFormatException, CommandAPI автоматически определяет тип аргумента. Это позволяет использовать специализированные аргументы для заклинаний, сущностей, локаций, предметов и эффектов зелий. Библиотека поддерживает более 40 различных типов аргументов, что делает код более чистым и читаемым. Также можно настраивать валидацию диапазонов для числовых значений, чтобы команда принимала только корректные данные.

Пример: автоматическое приведение типов

```java
new CommandAPICommand("mycommand")
    .withArguments(new IntegerArgument("myint"))
    .executes((sender, args) -> {
        int i = (int) args.get("myint");
        // Do something with this number
    })
    .register();
```

Работа с CommandSender и интеграция с /execute

API автоматически проверяет тип отправителя команды, избавляя разработчика от необходимости писать отдельные условия для проверки игрока. Это упрощает код, где требуется различать действия игрока и администратора. Важной особенностью является поддержка запуска команд от имени других сущностей. С помощью команды /execute as ... run можно запускать команды плагина как от имени другого игрока или моба. Это открывает возможности для создания сложных механик, таких как телепортация от имени другого участника или изменение мира со стороны сущности.

Пример: проверка отправителя команды

```java
new CommandAPICommand("mycommand")
    .withArguments(arguments)
    .executesPlayer((player, args) -> {
        player.sendMessage("Hi " + player.getDisplayName());
    })
    .register();
```

Конвертация команд и работа с функциями

CommandAPI включает встроенную систему конвертации команд плагинов. Это позволяет сделать команды любого плагина совместимыми с командой /execute и использовать их в datapacks. Это особенно полезно для администраторов, которые хотят интегрировать функционал сторонних плагинов в механики мира без переписывания кода. Кроме того, API поддерживает запуск команд через функции Minecraft (functions) и теги (tags), что позволяет создавать сложные цепочки событий и автоматизированные системы управления сервером.

Пример: конвертация команды плагина

```java
// Built-in plugin converter allows making any plugin command compatible with /execute
// and datapacks without writing custom code.
```

Дополнительные возможности и безопасность

Помимо основных функций, библиотека предлагает множество дополнительных опций. Можно применять права доступа к конкретным аргументам, чтобы игроки видели подсказки и могли запускать команды только при наличии соответствующих привилегий. Поддерживается парсинг JSON-строки прямо в компоненты сообщений и обработка результатов команд аналогично блокам команд. Также реализована поддержка онлайн-игроков с подсказками, основанными на текущем списке присутствующих на сервере. Проект не собирает никакой статистики о пользователях, соблюдая принцип минимализма и конфиденциальности.

Связанные материалы

Автор: CommandAPI · Лицензия: MIT

C

CommandAPI

1 проект

|

0 скачиваний

Войдите, чтобы поставить оценку и оставить отзыв.

Отзывов пока нет — будьте первым!
Канал Файл Игра Модлоадер Язык Скачиваний Загружен
Релиз CommandAPI-12.0.0-Velocity.jar 203.2 KB 26.2, 26.1.2, 26.1.1, 26.1, 1.21.11, 1.21.10, 1.21.9, 1.21.8, 1.21.7, 1.21.6, 1.21.5, 1.21.4, 1.21.3, 1.21.2, 1.21.1, 1.21, 1.20.6, 1.20.5, 1.20.4, 1.20.3, 1.20.2, 1.20.1, 1.20 Velocity 0 28.07.2026
Релиз CommandAPI-11.2.0-Paper.jar 716 KB 26.1.1, 26.1, 1.21.11, 1.21.10, 1.21.9, 1.21.8, 1.21.7, 1.21.6, 1.21.5, 1.21.4, 1.21.3, 1.21.2, 1.21.1, 1.21, 1.20.6 PaperFolia 0 02.04.2026
Релиз CommandAPI-10.1.2.jar 641.3 KB 1.21.8, 1.21.7, 1.21.6, 1.21.5, 1.21.4, 1.21.3, 1.21.2, 1.21.1, 1.21, 1.20.6, 1.20.5, 1.20.4, 1.20.3, 1.20.2, 1.20.1, 1.20 SpigotBukkit 0 21.07.2025
Релиз CommandAPI-10.0.1-Networking-Plugin.jar 31 KB 1.21.5, 1.21.4, 1.21.3, 1.21.2, 1.21.1, 1.21, 1.20.6, 1.20.5, 1.20.4, 1.20.3, 1.20.2, 1.20.1, 1.20 PaperSpigotBukkit 0 07.05.2025
Зависимостей нет.