▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/KotlinLangForge
KotlinLangForge

KotlinLangForge

Мод KotlinLangForge добавляет поддержку языка Kotlin для Forge и NeoForge, позволяя писать моды на Kotlin вместо Java. Включает стандартные библиотеки Kotlin и корутины.

Оцените первым
446.1K
32

KotlinLangForge

KotlinLangForge - это адаптер языка Kotlin для Forge и NeoForge. Если вы пишете моды для Майнкрафт и хотите использовать Kotlin вместо Java - этот проект для вас. Он не только добавляет поддержку языка, но и включает кучу полезных библиотек: kotlin-stdlib, kotlinx-serialization, kotlinx-coroutines и другие. Всё уже внутри, ничего дополнительно тащить не надо.

Для разработчиков

Чтобы подключить KotlinLangForge к своему моду, пропишите в neoforge.mods.toml:

modLoader = "klf"
loaderVersion = "1,"

Теперь ваш @Mod класс может быть написан на Kotlin. Главное - чтобы у него был публичный конструктор. В конструктор можно передать:

  • IEventBus
  • ModContainer
  • KotlinModContainer
  • Dist

Повторять аргументы нельзя.

Версии

Поддержка разных версий Minecraft различается. Вот таблица:

Версия MinecraftВерсия адаптераПоддерживаемые загрузчики
1.16.51.0Forge
1.17.1 - 1.20.42.0Forge, NeoForge
1.20.5 - 1.21.83.0NeoForge
1.21.9 - 26.x3.1NeoForge

Подключение зависимости

В build.gradle.kts добавьте репозиторий и зависимость:

repositories {
    maven("https://repo.nyon.dev/releases")
}

dependencies {
    implementation("dev.nyon:KotlinLangForge:2.12.1-k2.4.0-$lpVersion+$loader")
}

Для версий адаптера <=3.0 используйте modImplementation.

События

Если хотите автоматическую регистрацию слушателей событий - добавьте аннотацию @EventBusSubscriber на класс или файл. Klf сам найдёт методы с параметрами событий и определит нужную шину. Можно дополнительно указать @SubscribeEvent для тонкой настройки.

Важно для Forge: приватные слушатели событий не работают - будет краш.

Модовая шина доступна через dev.nyon.klf.MOD_BUS.

Включенные библиотеки

В составе KotlinLangForge уже есть:

  • org.jetbrains.kotlin:kotlin-stdlib:2.4.0
  • org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.4.0
  • org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.4.0
  • org.jetbrains.kotlin:kotlin-reflect:2.4.0
  • 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

Всё это уже под капотом - просто подключайте и пользуйтесь.

Итог

Если вы пишете моды для Minecraft на Kotlin - KotlinLangForge реально упрощает жизнь. Не надо вручную тащить кучу библиотек и настраивать адаптер языка. Всё работает из коробки. Для Forge и NeoForge, под разные версии Майнкрафт - выбирайте нужную версию адаптера по таблице выше.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.2.x26.1.x1.21.x1.20.x1.19.x1.18.x1.17.x1.16.x

Платформы

Поддерживаемые окружения

Клиент и сервер

Зависимости

Ссылки


Создатели

Детали

Лицензия:
Опубликован:1 год назад
Обновлён:1 месяц назад
Главная