Писать моды для Minecraft на Kotlin можно, но новичку важно выбрать понятный стек. Самый частый маршрут: Fabric + Fabric API + Fabric Language Kotlin. Kotlin здесь работает поверх JVM, а Fabric дает точку входа для мода
Минимальная идея мода:
class ExampleMod : ModInitializer {
override fun onInitialize() {
println("Kotlin mod loaded")
}
}
Но чтобы это запустилось, нужен правильно настроенный Gradle-проект и fabric.mod.json
Что поставить
Для старта нужны:
- JDK подходящей версии для выбранной версии Minecraft;
- IntelliJ IDEA;
- Gradle-проект под Fabric;
- зависимости Fabric Loader, Fabric API и Fabric Language Kotlin.
Не начинайте с большого мода. Сначала добейтесь, чтобы Minecraft запустился с пустым модом и напечатал строку в лог
Почему Kotlin, а не только Java
Minecraft и большинство моддинг-инструментов исторически сильно связаны с Java. Kotlin удобен, если вы уже знаете JVM и хотите писать компактнее: data class, extension functions, null safety, лаконичные коллекции. Но документация, примеры и чужие моды часто будут на Java, поэтому читать Java-код все равно придется
Практичный подход такой: базовую механику Fabric изучать по Java-примерам, а свой код постепенно писать на Kotlin
Как выглядит точка входа
package com.example.mymod
import net.fabricmc.api.ModInitializer
class MyKotlinMod : ModInitializer {
override fun onInitialize() {
println("Мод на Kotlin запущен")
}
}
В fabric.mod.json нужно указать этот класс как entrypoint
{
"entrypoints": {
"main": [
"com.example.mymod.MyKotlinMod"
]
}
}
Где чаще всего ломается
Minecraft-моддинг чувствителен к версиям. Версия Minecraft, Fabric Loader, Fabric API, Kotlin и Fabric Language Kotlin должны быть совместимы. Если вы скопировали Gradle из старого урока, проект может не собраться просто из-за устаревших версий
Поэтому перед созданием материала или проекта проверяйте актуальные версии в официальных источниках Fabric и на странице Fabric Language Kotlin
Как проверить запуск
- Откройте проект в IntelliJ IDEA.
- Дождитесь Gradle Sync.
- Запустите client run configuration.
- Откройте лог.
- Найдите строку
Мод на Kotlin запущен.
Если строка появилась, Kotlin-класс подключился как entrypoint
Частые ошибки
Использовать Kotlin без Fabric Language Kotlin
Fabric должен знать, как загрузить Kotlin runtime. Для этого и нужен Fabric Language Kotlin
Неправильно указать package
Класс в fabric.mod.json должен совпадать с полным именем класса в коде
Гнаться за сложной механикой сразу
Не начинайте с новых блоков, GUI и сетевых пакетов. Сначала пустой мод, потом item, потом block, потом события
Что почитать дальше по Kotlin
Если нужен общий маршрут по теме, откройте рубрику Kotlin. Для соседних задач пригодятся эти разборы:
- Как писать код для Apple и Android: Swift, Kotlin, Java и Objective-C
- Coroutines в Kotlin: первый async-пример
- Inline в Kotlin: что это и когда использовать
- Kotlin Android: первый экран без перегруза



