Что такое KotlinLangForge?
KotlinLangForge — это специализированный мод-адаптер, который открывает мир Kotlin для разработчиков под Forge и NeoForge. Если вы когда-нибудь задумывались, можно ли писать моды для Minecraft на современном, лаконичном языке вместо классической Java, то этот инструмент именно то, что нужно. Он не просто добавляет поддержку Kotlin, но и поставляет целый набор проверенных библиотек, экономя часы настройки окружения.
Зачем нужен языковой адаптер?
Стандартные загрузчики модов изначально ориентированы на Java, и чтобы код на Kotlin заработал, требуется специальный мост. KotlinLangForge берёт на себя всю «грязную» работу: регистрирует языковой провайдер, подгружает рантайм-библиотеки и корректно обрабатывает аннотации вроде @Mod. Благодаря этому вы можете сосредоточиться на логике мода, а не на борьбе с загрузчиком. Мод также автоматически определяет, какой шиной событий пользоваться, и упрощает подписку на ивенты.
Версионирование и совместимость
Разработчики KotlinLangForge ввели собственную систему версий языкового провайдера, чтобы не зависеть от нумерации Forge или NeoForge. Это помогает легко отслеживать изменения адаптера между версиями Minecraft. Ниже представлена краткая таблица совместимости:
- 1.16.5 — версия провайдера 1.0, только Forge
- 1.17.1 – 1.20.4 — версия 2.0, Forge и NeoForge
- 1.20.5 – 1.21.8 — версия 3.0, только NeoForge
- 1.21.9 – 1.21.x — версия 3.1, NeoForge
Обратите внимание: если вы играете на одной из последних сборок, обязательно проверяйте актуальную версию провайдера, чтобы избежать конфликтов с другими модами.
Как использовать KotlinLangForge в своём моде
Чтобы подключить адаптер к собственному проекту, потребуется внести небольшие правки в конфигурационные файлы и сборочный скрипт. Процесс интуитивно понятен даже тем, кто только начинает осваивать моддинг.
Настройка mods.toml
В файле mods.toml (или neoforge.mods.toml) укажите загрузчик и его версию следующими строками:
modLoader = "klf"loaderVersion = "[1,)"
После этого ваш @Mod-класс может быть объявлен как object или как обычный класс с публичным конструктором. Конструктор способен принимать аргументы типа IEventBus, ModContainer, KotlinModContainer и Dist — дублировать их не нужно.
Добавление зависимости
В build.gradle.kts пропишите репозиторий и саму зависимость. Обращаться к удалённому хранилищу следует по адресу https://repo.nyon.dev/releases. Сама строка импорта выглядит примерно так: modImplementation("dev.nyon:KotlinLangForge:2.11.0-2.2.21-$lpVersion+$loader"), где $lpVersion — версия языкового провайдера, а $loader — тип загрузчика (forge или neoforge). Все необходимые библиотеки подтянутся автоматически.
Автоматическая регистрация событий
Одна из сильных сторон мода — умная работа с событиями. Достаточно пометить класс аннотацией @EventBusSubscriber, и KotlinLangForge сам просканирует все методы, определит нужную шину и подпишется. Вы можете дополнительно использовать @SubscribeEvent для тонкой настройки параметров слушателя, но это не обязательно. Важный нюанс для владельцев серверов на Forge: приватные обработчики событий не могут быть обработаны и приведут к крашу, поэтому держите их публичными.
Для прямого доступа к шине мода предусмотрено поле dev.nyon.klf.MOD_BUS — удобное решение, когда требуется ручное управление.
Встроенные библиотеки
KotlinLangForge поставляется с внушительным набором готовых зависимостей, которые покрывают большинство потребностей современного моддинга. Вам не придётся вручную включать их в проект — всё уже включено в адаптер. Вот полный перечень:
- org.jetbrains.kotlin:kotlin-stdlib:2.2.21
- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.21
- org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.2.21
- org.jetbrains.kotlin:kotlin-reflect:2.2.21
- org.jetbrains.kotlinx:kotlinx-serialization-core:1.9.0
- org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0
- org.jetbrains.kotlinx:kotlinx-serialization-cbor:1.9.0
- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2
- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.10.2
- org.jetbrains.kotlinx:kotlinx-datetime:0.7.1-0.6.x-compat
- org.jetbrains.kotlinx:kotlinx-io-core:0.8.0
- org.jetbrains.kotlinx:kotlinx-io-bytestring:0.8.0
- org.jetbrains.kotlinx:atomicfu:0.29.0
Такой набор позволяет сразу использовать корутины, сериализацию, работу с датами и конкурентными структурами данных — всё, что нужно для производительных и стабильных модов.
Установка для игроков
Если вы не разработчик, а просто хотите запустить сборку, требующую KotlinLangForge, процесс предельно прост. Достаточно поместить скачанный JAR-файл в папку mods вашего клиента или сервера. Для максимального удобства можно воспользоваться лаунчером foxygame.net — гибким и современным инструментом, где моды загружаются прямо из меню, а все зависимости подбираются автоматически. Это избавляет от ручного поиска совместимых версий и экономит время при обновлении сборки. После установки мод сам подтянет нужные библиотеки, и вы сможете наслаждаться контентом, написанным на Kotlin, без каких-либо дополнительных действий.
Заключение
KotlinLangForge стирает границы между Java и Kotlin в экосистеме Minecraft-моддинга. Он даёт разработчикам свободу выбора языка, предоставляет мощный фундамент из актуальных библиотек и упрощает рутинные задачи вроде регистрации событий. Благодаря продуманной системе версионирования мод остаётся совместимым с широким спектром версий игры и загрузчиков. Если вы создаёте новый проект или переносите существующий, присмотритесь к этому адаптеру — он способен заметно ускорить разработку и сделать код чище. А игроки получают надёжный мост для запуска интересных модов, не вникая в технические детали.
--- **Обновление 13.05.2026:** Добавлено 4 файла для версии 26.1.2, 26.1.1, 26.1, 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.11, 1.21.10, 1.21.1, 1.21, 1.20.6, 1.20.5, 1.20.4, 1.20.3, 1.20.2, 1.20.1, 1.19.4, 1.19.2, 1.18.2, 1.17.1 (NeoForge, Forge). --- **Обновление 22.05.2026:** Добавлено 4 файла для версии 26.1.2, 26.1.1, 26.1, 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.11, 1.21.10, 1.21.1, 1.21, 1.20.6, 1.20.5, 1.20.4, 1.20.3, 1.20.2, 1.20.1, 1.19.4, 1.19.2, 1.18.2, 1.17.1 (NeoForge, Forge). --- **Обновление 04.06.2026:** Добавлено 4 файла для версии 26.1.2, 26.1.1, 26.1, 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.11, 1.21.10, 1.21.1, 1.21, 1.20.6, 1.20.5, 1.20.4, 1.20.3, 1.20.2, 1.20.1, 1.19.4, 1.19.2, 1.18.2, 1.17.1 (NeoForge, Forge).