Référence
ModOptions
Préférences globales du joueur et raccourcis configurables dans l’onglet NRF Hub des options du jeu.
Contexte d’utilisation
| Module | Package | Source SDK |
|---|---|---|
| Kotlin/Native | nimby | kotlin/src/nimby/ModOptions.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.ModOption
import nimby.BooleanOption
import nimby.IntegerOption
import nimby.OptionChoice
import nimby.ChoiceOptionModOption
sealed class ModOption<T>Préférence typée propre au mod et à l’utilisateur, commune à ses parties. Créez un type concret, enregistrez-le avec options(...) puis lisez value. Le SDK conserve les valeurs et les actualise entre les callbacks.
ModOption.id
val id: StringIdentifiant stable et unique dans le mod : première lettre ASCII, puis lettres, chiffres, _, . ou -, au maximum 128 caractères. Le préfixe window. est réservé au SDK.
ModOption.label
val label: StringLibellé affiché dans les options, non vide, jusqu’à 256 octets UTF-8. Accepte tr ; traduire ce texte ne change pas l’identité.
ModOption.defaultValue
val defaultValue: TValeur initiale déclarée, appliquée en l’absence de préférence enregistrée compatible et lors d’une réinitialisation. Distincte de la valeur actuelle du joueur.
ModOption.description
val description: StringExplication facultative, jusqu’à 1024 octets UTF-8 ; accepte tr. Une chaîne vide omet l’explication.
ModOption.value
val value: TValeur courante en lecture seule, initialement defaultValue. Lisez-la dans les callbacks et les règles, sans ToolContext. Lecture locale sans accès au jeu ni au disque ; les changements invalides conservent les valeurs acceptées.
BooleanOption
class BooleanOption(
id: String, label: String, defaultValue: Boolean = false, description: String = "",
) : ModOption<Boolean>Préférence activée ou désactivée, lue comme Boolean dans value. defaultValue vaut false si omis ; le libellé et la description acceptent tr.
IntegerOption
class IntegerOption(
id: String, label: String, defaultValue: Int, val minimum: Int, val maximum: Int,
description: String = "",
) : ModOption<Int>Préférence entière bornée, lue comme Int. minimum doit être inférieur ou égal à maximum, et defaultValue doit appartenir à cet intervalle inclusif. Une valeur invalide est refusée.
IntegerOption.minimum
val minimum: IntBorne inférieure inclusive de la préférence ; entier signé Kotlin Int.
IntegerOption.maximum
val maximum: IntBorne supérieure inclusive de la préférence ; au moins minimum.
OptionChoice
data class OptionChoice(val id: String, val label: String)Valeur proposée par ChoiceOption : id stable conservé dans la préférence, label affiché au joueur. Les identifiants sont uniques au sein d’une liste de choix.
OptionChoice.id
val id: StringIdentifiant renvoyé par ChoiceOption.value ; suit le format des identifiants d’options. Ne pas traduire ni remplacer par le texte visible.
OptionChoice.label
val label: StringTexte visible du choix, non vide et limité à 256 octets UTF-8 ; accepte tr.
ChoiceOption
class ChoiceOption(
id: String, label: String, choices: List<OptionChoice>, defaultValue: String,
description: String = "",
) : ModOption<String>Sélection parmi deux à seize choix distincts. defaultValue doit être l’id d’un choix ; value renvoie cet identifiant String, jamais le libellé traduit.
ChoiceOption.choices
val choices: List<OptionChoice>Copie des choix déclarés, dans leur ordre d’affichage. Modifier la liste fournie au constructeur après création ne change pas les choix de cette option.