NRF Guide

Commencer

Préparer son projet

Installez les outils, créez votre propre projet Gradle et reliez-le au SDK Kotlin.

Installer le SDK et les outils

  • Installez IntelliJ IDEA et un JDK 21. Dans IntelliJ, choisissez ce JDK pour Gradle.
  • Dans le Hub, installez le SDK et le loader pour le jeu. Choisissez le canal correspondant à votre version de mod.
  • Téléchargez séparément le kit Kotlin de développement et extrayez-le dans un dossier durable, par exemple C:/NRF/kotlin-sdk.

Le plugin Gradle fournit l’adaptateur natif. Vous n’écrivez ni exports DLL ni code C++ pour votre mod. Le premier build peut télécharger le compilateur Kotlin/Native.

Créer votre projet dans IntelliJ

  • Choisissez Nouveau projet, Kotlin, puis le système de construction Gradle avec Kotlin DSL. Nommez le projet mon-premier-mod et sélectionnez le JDK 21.
  • Avant de remplacer les fichiers générés, ouvrez le terminal du projet et fixez la version du wrapper avec la commande ci-dessous.
  • Supprimez le Main.kt de démonstration créé par IntelliJ. Remplacez les fichiers Gradle par les contenus ci-dessous.
  • Créez gradle.properties à la racine pour indiquer le dossier du kit, puis rechargez les projets Gradle dans IntelliJ.
Terminal du projet généré par IntelliJ
.\gradlew.bat wrapper --gradle-version 8.14.3
gradle.properties
nrfSdkDir=C:/NRF/kotlin-sdk
settings.gradle.kts
pluginManagement {
    val sdk = providers.gradleProperty("nrfSdkDir")
        .orElse(providers.environmentVariable("NRF_KOTLIN_SDK"))
        .orNull ?: error("Indiquez le dossier du kit Kotlin dans nrfSdkDir.")
    repositories {
        maven { url = uri(file(sdk).resolve("gradle-repository")) }
        gradlePluginPortal()
        mavenCentral()
    }
}
dependencyResolutionManagement { repositories { mavenCentral() } }
rootProject.name = "mon-premier-mod"
build.gradle.kts
plugins {
    id("fr.nimbyrails.mod") version "0.8.0-alpha.1"
}

La version du plugin doit correspondre au champ gradlePluginVersion de sdk.json dans votre kit. Votre projet garde ses propres sources et son propre wrapper Gradle. Il n’a pas besoin d’un dépôt d’exemple.

Donner une identité au mod

Créez mod.json à la racine du projet. Changez le nom, les identifiants et le module pour votre mod. Le hash ci-dessous désigne le binaire de jeu reconnu par ce SDK ; une autre version demande un SDK compatible.

mod.json
{
  "id": "mon-premier-mod",
  "name": "Mon premier mod",
  "modId": "MonPremierMod",
  "module": "MonPremierMod",
  "version": "0.1.0",
  "language": "kotlin-native",
  "sdkMin": "0.8.0-alpha.1",
  "sdkMaxExclusive": "0.9.0",
  "gameSha256": ["fff49ac21720abfc824c2b4f68b862727630eb0db71cfe1f9ea8f685d0db10ae"]
}
Fichier / dossier à créerRôle
src/main/kotlin/Entry.ktLe point d’entrée createMod() et vos règles.
assets/mod.txtLe catalogue de textures et le signal constructible.
assets/closed.svg et assets/open.svgLes images de vos indications.
src/test/kotlin/Vos tests de règles, sans partie ouverte.