- Разработчик / автор
- ejektaflex
- Для версий
- 1.17.+
- 1.18+
- 1.19.+
- 1.20.+
Kambrik для Fabric: лёгкая Kotlin-библиотека для разработки модов Minecraft
Kambrik — это лёгкий библиотечный мод для Fabric, созданный как инструмент для разработчиков, которые пишут моды на Kotlin и хотят ускорить работу над типовыми задачами. Он не добавляет контент в мир Minecraft «для игрока», а помогает упростить разработку: сделать регистрацию предметов и блоков аккуратнее, команды — короче, а сетевое взаимодействие — понятнее и безопаснее.
Главная идея Kambrik — убрать рутину из моддинга. Там, где обычно приходится повторять однотипный код, библиотека предлагает удобные обёртки и DSL-подход: вы описываете поведение лаконично, а инфраструктуру берёт на себя Kambrik.
Зачем нужен Kambrik: меньше шаблонного кода, больше логики мода
При разработке модов на Fabric многие задачи повторяются из проекта в проект:
- регистрация предметов, блоков, зачарований и других сущностей;
- создание команд и обработка аргументов;
- обмен данными между клиентом и сервером;
- генерация текста, сообщений, уведомлений и форматирования;
- набор «мелких» утилит, которые всегда приходится писать заново.
Kambrik объединяет эти вещи в одном месте и даёт удобные методы и DSL, чтобы разработчик тратил время на механику мода, а не на обслуживание кода.
Что умеет Kambrik сейчас
Упрощённая регистрация: items, blocks, enchantments и не только
Одна из самых заметных возможностей — упрощённая регистрация. Вместо длинных цепочек и повторяющихся конструкций Kambrik даёт более прямой способ добавлять и регистрировать:
- предметы (items)
- блоки (blocks)
- зачарования (enchantments)
- и другие типы контента, которые в Fabric обычно регистрируются похожим образом
Для Kotlin-проектов это особенно удобно: меньше лишних обёрток, чище структура, проще поддержка.
Command DSL: быстрые команды без лишнего «шума»
Kambrik предлагает Command DSL, который помогает создавать команды проще и компактнее. Идея в том, чтобы команда описывалась как логика, а не как набор громоздких конструкций.
Это полезно, когда в моде много небольших команд:
- для тестирования механик
- для настроек и отладки
- для серверных утилит
- для админ-команд и управления режимами
Message API: сетевые сообщения клиент ↔ сервер
Ещё один ключевой блок — Message API, который облегчает передачу данных по сети и обратно. Это важно почти в любом моде, где есть взаимодействие клиента и сервера:
- синхронизация состояний
- отправка событий и обновлений
- интерфейсы и GUI-взаимодействие
- пользовательские действия, требующие подтверждения на сервере
Вместо того чтобы каждый раз собирать «велосипед», вы используете единый подход и экономите время.
Extension methods: готовые расширения для повторяющихся задач
Kambrik включает extension methods — расширения, которые закрывают распространённые сценарии и уменьшают количество дублирующегося кода. Это тот случай, когда библиотека особенно заметна в долгих проектах: чем больше мод, тем сильнее ценится единый набор утилит.
Text builder DSL: сборка текста и сообщений в Kotlin-стиле
Текст в модах — это не только сообщения в чате. Это подсказки, уведомления, статусы, вывод команд, описание предметов и другие элементы интерфейса.
Kambrik добавляет Text builder DSL, который помогает собирать текст более удобно:
- читабельнее структура
- проще форматирование
- меньше ошибок при работе со строками и компонентами
Экспериментальные возможности Kambrik
Object ↔ NBT: конвертация через Kotlinx Serialization
В экспериментальном режиме Kambrik предлагает простую конвертацию объектов в NBT и обратно с использованием Kotlinx Serialization. Это особенно полезно для сохранения данных:
- кастомные состояния объектов
- параметры блоков и сущностей
- данные предметов
- конфиги и сериализуемые структуры
Такой подход ускоряет разработку, потому что вы описываете модель данных, а затем получаете понятный путь сохранения в NBT без ручного «перекладывания полей».
Что планируется дальше
GUI drawing DSL: DSL для отрисовки интерфейсов
Среди будущих возможностей заявлен GUI drawing DSL — инструмент для создания интерфейсов и отрисовки элементов более удобным способом. Для модов с меню, настройками и кастомными экранами это может стать одним из самых ожидаемых направлений.
KambrikX: отдельная зона для экспериментальных функций
Экспериментальные библиотечные фичи планируется выносить в kambrikx, пока они не станут достаточно зрелыми. Это удобный подход: стабильная часть библиотеки остаётся предсказуемой, а новые идеи развиваются отдельно, не ломая основу.
Почему Kambrik удобен именно для Kotlin + Fabric
Kambrik хорошо ложится на моддинг на Kotlin, потому что использует сильные стороны языка:
- DSL-подход для лаконичных описаний
- extension-методы для повторяющихся сценариев
- удобные билдеры для текста и команд
- более чистая архитектура проекта без лишнего шаблонного кода
Если вы делаете мод на Fabric и хотите ускорить разработку, сделать код чище и быстрее собирать типовые части, Kambrik закрывает ключевые потребности: регистрация, команды, сеть, утилиты и текст — всё в одном лёгком библиотечном модуле.