Référence
ModResources
Déclarations publiques Kotlin du SDK.
Contexte d’utilisation
| Module | Package | Source SDK |
|---|---|---|
| Kotlin/Native | nimby | kotlin/src/nimby/ModResources.kt |
API publique du SDK 0.9.0-alpha.2. Chaque entrée donne la signature Kotlin et son contrat : sens de la valeur, conditions d’utilisation et effets à connaître. Choisissez les imports du module indiqué ci-dessus.
import nimby.ModInfo
import nimby.ModMetadata
import nimby.SignalConstruction
import nimby.signalMod
import nimby.toolModModInfo
data class ModInfo(val id: String, val title: String)Identité du paquet générée depuis mod.json sous nimby.mod.modInfo. Réutilisez cette valeur dans createMod pour éviter de dupliquer identifiant et nom.
ModInfo.id
val id: StringIdentifiant technique stable du paquet, issu de mod.json ; utilisé pour déclarer le mod et ses services.
ModInfo.title
val title: StringNom issu de mod.json, utilisé comme titre du groupe dans Options → NRF Hub avec toolMod(modInfo) ou signalMod(modInfo). metadata(name=...) personnalise séparément le nom des listes de mods du jeu.
ModMetadata
data class ModMetadata(val author: String, val description: String, val name: String? = null)Informations destinées aux listes et fiches de mods du jeu. name et description acceptent tr ; les métadonnées de distribution du Hub ou de Steam restent séparées.
ModMetadata.description
val description: StringDescription affichée du mod ; accepte tr et des retours à la ligne. Le paquet conserve un texte de repli lisible.
ModMetadata.name
val name: String? = nullNom optionnel pour les listes et fiches de mods du jeu, éventuellement traduit. null reprend le nom de mod.json. Ne remplace pas GameMod.title dans le groupe Options → NRF Hub, ni ToolWindow.title ; identifiant et version restent inchangés.
SignalConstruction
class SignalConstruction(
states: List<String>, val name: String, val kind: String = "path",
val catalogueName: String = name,
val nameKey: String? = null, val catalogueNameKey: String? = null,
val size: Int = 0,
val left: Boolean = false,
)Déclaration du catalogue d’images et du signal constructible. Les chemins sont relatifs au paquet et vérifiés lors de sa génération. Conservez l’ordre publié pour les sauvegardes.
SignalConstruction.name
val name: StringNom dans le menu de construction ; accepte un texte ou tr. Distinct de l’identifiant du modèle.
SignalConstruction.kind
val kind: String = "path"Type de signal reconnu par le jeu ; path par défaut. Une valeur syntaxiquement valide ne garantit pas qu’un autre type soit pris en charge.
SignalConstruction.catalogueName
val catalogueName: String = nameNom affiché du jeu de textures, égal à name par défaut ; accepte tr.
SignalConstruction.nameKey
val nameKey: String? = nullClé de localisation native pour un catalogue existant. null avec name=tr(...), car ces deux mécanismes ne se combinent pas pour le même nom.
SignalConstruction.catalogueNameKey
val catalogueNameKey: String? = nullClé de localisation native du catalogue. Laissez null lorsque catalogueName utilise tr ; ce n’est pas une clé du JSON de traductions du mod.
SignalConstruction.size
val size: Int = 0Taille par défaut du signal à construire, de 0 à 4 ; 0 par défaut. Déclarez 4 explicitement pour choisir cette taille.
SignalConstruction.left
val left: Boolean = falseChoix initial du côté gauche lors de la construction. false par défaut ; définir true si le modèle doit être placé à gauche.
SignalConstruction.states
val states: List<String>Copie de 1 à 256 chemins distincts, dans leur ordre définitif. Déclarez chaque image fixe et les deux images de tout clignotement.
signalMod
fun signalMod(info: ModInfo, block: SignalModelsBuilder.() -> Unit): SignallingModAssemble des modèles indépendants avec l’identité générée depuis mod.json. À renvoyer depuis createMod ; la déclaration doit rester sans accès au jeu.
toolMod
fun toolMod(info: ModInfo, block: ToolModBuilder.() -> Unit): ToolModAssemble un outil avec l’identité générée depuis mod.json, sans signal fictif. Déclarez au moins un service ou une fenêtre.