
KotlinLangForge
Активный0.0
Установок
Последнее обновление
Версии
KotlinLangForge
Данный мод представляет собой адаптер языка Kotlin для платформ Forge и NeoForge, позволяя разработчикам создавать моды на современном языке программирования Kotlin.
Для разработчиков
Чтобы интегрировать адаптер Kotlin в ваш проект, необходимо добавить следующие строки в файл конфигурации (neoforge.)mods.toml:
modLoader = "klf"
loaderVersion = "[1,)"
После этого вы можете инициализировать свой мод стандартным образом. Важно, чтобы класс с аннотацией @Mod
был либо объектом, либо классом с публичным конструктором. Конструктор может принимать следующие четыре параметра (они не должны дублироваться):
- IEventBus
- ModContainer
- KotlinModContainer
- Dist
Система версий
Версия "language provider" используется исключительно KotlinLangForge и служит для различения различных реализаций языковых адаптеров в разных версиях Minecraft:
Версия Minecraft | Версия language provider | Поддерживаемые загрузчики |
---|---|---|
1.16.5 | 1.0 | Forge |
1.17.1 - 1.20.4 | 2.0 | Forge, NeoForge |
1.20.5 - 1.21.x | 3.0 | NeoForge |
Для подключения библиотек в вашем проекте используйте следующую зависимость в build.gradle.kts:
repositories {
maven("https://repo.nyon.dev/releases")
}
dependencies {
modImplementation("dev.nyon:KotlinLangForge:$version-$kotlinVersion-$lpVersion+$loader")
}
Работа с событиями
Для автоматической регистрации обработчиков событий добавьте аннотацию @EventBusSubscriber
к классу. Вы также можете аннотировать метод с помощью SubscribeEvent
для настройки параметров слушателя, но это не обязательно. KotlinLangForge автоматически находит события во всех методах класса и определяет, какой шин событий использовать.
Важно для разработчиков Forge: Приватные обработчики событий не поддерживаются в Forge и могут вызвать сбой!
Mod Bus доступен через dev.nyon.klf.MOD_BUS
.
Включенные библиотеки
- org.jetbrains.kotlin:kotlin-stdlib:2.2.20
- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.20
- org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.2.20
- org.jetbrains.kotlin:kotlin-reflect:2.2.20
- 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