KotlinLangForge
Предоставляет адаптер языка Kotlin для Forge и NeoForge
Этот мод добавляет адаптер языка для Kotlin и предоставляет несколько библиотек.
Использование для разработчиков
Чтобы добавить ваш адаптер языка в ваш мод, добавьте следующие строки в ваш (neoforge.)mods.toml.
mods.toml
modLoader = "klf"
loaderVersion = "[1,)"Теперь вы можете инициализировать ваш мод как любой другой. Убедитесь, что ваш класс @Mod является либо объектом, либо классом с публичным конструктором. Конструктор может принимать следующие четыре аргумента (они не должны дублироваться):
- IEventBus
- ModContainer
- KotlinModContainer
- Dist
Если вы хотите реализовать библиотеки в вашем моде, импортируйте следующую зависимость, соответствующую версии поставщика языка, вашему загрузчику и (последней) версии Kotlin.
Версионирование
«Версия поставщика языка» — это версия, предоставляемая только KotlinLangForge. Этот формат не используется Forge или NeoForge и служит лишь простой переменной дифференциации между различными реализациями поставщиков языка в течение версий Minecraft.
| версия Minecraft | версия поставщика языка | поддерживаемые загрузчики |
|---|---|---|
| 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 для настройки параметров слушателя. Однако это не обязательно! Klf автоматически ищет события в каждом методе внутри класса и автоматически определяет, какую шину событий использовать.
Примечание для разработчиков Forge: Приватные слушатели событий не могут быть обработаны в Forge и приведут к сбою!
Шина мода Шина мода доступна через dev.nyon.klf.MOD_BUS.
Включенные библиотеки
- org.jetbrains.kotlin:kotlin-stdlib
- org.jetbrains.kotlin:kotlin-stdlib-jdk8
- org.jetbrains.kotlin:kotlin-stdlib-jdk7
- org.jetbrains.kotlin:kotlin-reflect
- org.jetbrains.kotlinx:kotlinx-serialization-core
- org.jetbrains.kotlinx:kotlinx-serialization-json
- org.jetbrains.kotlinx:kotlinx-serialization-cbor
- org.jetbrains.kotlinx:kotlinx-coroutines-core
- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8
- org.jetbrains.kotlinx:kotlinx-datetime
- org.jetbrains.kotlinx:kotlinx-io-core
- org.jetbrains.kotlinx:kotlinx-io-bytestring
- org.jetbrains.kotlinx:atomicfu
