Cobblemon Trainer Battle Commands: команды, примеры и настройка
Что такое TBCS и зачем он нужен
Мод Cobblemon Trainer Battle Commands (сокращённо TBCS) добавляет в Minecraft набор команд для управления тренерами и запуска покемон-битв. Он создан в первую очередь для картостроителей и разработчиков модпаков, которым нужен гибкий инструмент для сценариев, квестов и автоматизации боёв. С его помощью можно привязать тренера к любому мобу или игроку, задать формат сражения, ограничить использование предметов и прописать награды за победу — всё через консольные команды.
Мод работает как интерфейс для других проектов, например Easy NPC, и тесно связан с Radical Cobblemon Trainers API. Если вы собираете собственную сборку с покемонами, TBCS станет незаменимым связующим звеном между визуальными NPC и механикой боёв Cobblemon.
Основные команды и права доступа
Все команды TBCS требуют уровень прав не ниже второго — это стандартное ограничение для операторов сервера. Ниже разберём три ключевые команды.
Команда attach
tbcs attach <trainerId> <entity> — привязывает указанного тренера к выбранной сущности. Один тренер всегда закреплён только за одной сущностью. Важный нюанс: привязка не сохраняется после перезапуска сервера, поэтому её нужно прописывать заново при старте мира или использовать альтернативный подход с аргументом as в команде battle.
Команда battle
Основная команда для запуска сражений выглядит так:tbcs battle <battleFormat> <participants1>... vs <participants2>... [rules <battleRules>] [onwin <winCommands>]
Формат битвы определяет поколение и тип сражения (например, GEN_9_SINGLES). Участники перечисляются слева и справа от ключевого слова vs. Опционально можно задать правила и команды, выполняемые при победе одной из сторон.
Команда reload
tbcs reload <trainerId> позволяет перезагрузить одного конкретного тренера из файлов конфигурации, не затрагивая остальных. Для полной перезагрузки всех тренеров используйте стандартную команду /reload.
Участники битв: селекторы и аргумент as
Команда battle поддерживает несколько способов указания участников: одиночные селекторы сущностей (@s, @e[limit=1], @p), UUID сущностей и идентификаторы тренеров. Начиная с версии 0.14.0-beta появился удобный аргумент as <trainerId>. Он позволяет сразу привязать тренера к выбранной сущности прямо в момент начала боя.
Использование as избавляет от необходимости заранее выполнять отдельную команду attach. Например, конструкция @s as tbcs:тренер_1 заставит игрока сражаться с временной копией команды этого тренера — отличный вариант для головоломок. Если же указать <trainerId_1> as <trainerId_2>, второй тренер будет привязан к той же сущности, что и первый (при возможности).
Правила битвы и команды победы
Структура battleRules
Правила задаются JSON-объектом. Пока поддерживается только одно свойство — maxItemUses, ограничивающее количество предметов, которые каждая сторона может использовать за битву. Например, {maxItemUses: 1} разрешит лишь один расходник на всю команду.
Win Commands и позиционные селекторы
Команды победы тоже описываются JSON-объектом, где ключи — номера сторон (1 или 2), а значения — массивы строк с командами. Главная особенность — специальные селекторы вида @<n>. Они позволяют обратиться к любому участнику битвы относительно стороны, для которой сработала команда. Нумерация идёт слева направо в пределах соответствующей стороны.
Например, для первой стороны @1 — это самый левый участник (обычно игрок), @2 — следующий, и так далее. Для второй стороны отсчёт начинается с её первого участника. Это даёт потрясающую гибкость при выдаче наград или диалоговых реплик.
Примеры использования команд
Рассмотрим несколько практических сценариев. Допустим, нужно привязать тренера к ближайшему крестьянину:tbcs attach tbcs:электрик @e[type=minecraft:villager,limit=1,sort=nearest]
Запуск одиночного боя игрока с этим тренером:tbcs battle GEN_9_SINGLES @s vs tbcs:электрик
Ограничиваем предметы и даём алмаз за победу:tbcs battle GEN_9_SINGLES @s vs tbcs:электрик rules {maxItemUses: 1} onwin {1: ['give @1 minecraft:diamond']}
Цепочка из двух боёв подряд — после победы над первым тренером сразу начинается второй:tbcs battle GEN_9_SINGLES @s vs tbcs:тренер1 onwin {1: ['@2 say Неплохо, но готов ли ты к следующему?', 'tbcs attach tbcs:тренер2 @2', 'tbcs battle GEN_9_SINGLES @1 vs tbcs:тренер2 onwin {1: [\'give @1 minecraft:diamond\']}']}
Обратите внимание на экранирование кавычек обратными слешами при вложенных конструкциях.
Структура тренеров: JSON и расположение файлов
Данные тренеров хранятся в JSON-файлах. Схема задаётся библиотекой RCTApi, поэтому структура почти идентична моду Radical Cobblemon Trainers, за исключением полей identity, battleFormat и battleRules — здесь они вынесены в аргументы команд. Подробности и примеры можно найти в документации RCTApi.
Расположение файлов настраивается через параметр trainerPaths в конфиге. Это список путей относительно папки мира. При загрузке сохранения мод сканирует указанные директории и регистрирует тренеров с идентификаторами, образованными от имён файлов. Если в разных папках встречаются одинаковые названия, к дубликатам добавляется суффикс _n.
Совместимость и конфигурация
Мод умеет подхватывать тренеров из других проектов, использующих RCTApi. Список идентификаторов таких модов задаётся в опции trainerMods (по умолчанию там уже прописан rctmod). Это позволяет, к примеру, автоматически регистрировать всех тренеров из Radical Cobblemon Trainers без лишних телодвижений.
Конфигурационный файл config/tbcs-server.toml также содержит настройку winCommandsPermission — уровень прав для выполнения команд победы. По умолчанию он равен 2, но при необходимости можно повысить до 4, чтобы ограничить круг операторов, способных запускать потенциально опасные конструкции.
Интеграция с другими модами
TBCS отлично дружит с Easy NPC и аналогичными модами, позволяя создавать живых тренеров, которые реагируют на игроков и запускают битвы по триггерам. При формировании собственного модпака с Cobblemon и TBCS удобно воспользоваться лаунчером foxygame.net, который позволяет гибко управлять модами и устанавливать их прямо из интерфейса, что особенно полезно для картостроителей, тестирующих сложные цепочки команд. Лаунчер автоматически подтягивает зависимости и следит за совместимостью версий, избавляя от рутинной ручной настройки.
Заключение
Cobblemon Trainer Battle Commands превращает сервер Minecraft в мощный конструктор покемон-приключений. Гибкая система команд, позиционные селекторы и поддержка цепочек боёв открывают простор для создания уникальных карт и сценариев. Мод продолжает развиваться, а тесная интеграция с RCTApi и другими проектами делает его центральным элементом многих сборок. Если вы планируете серьёзный проект с Cobblemon, TBCS определённо стоит добавить в список обязательных инструментов.