Créer un mod
Réglages et migration
Déclarer les cases du panneau du signal et conserver les réglages des parties existantes.
Une case avec un défaut explicite
Extrait simplifié : ajoutez les contrôles d’observation de votre mod
val active = checkbox(
name = "active",
label = "Activer",
description = "Utiliser les règles de ce modèle.",
defaultValue = true
)
rules {
if (enabled(active)) Indication(Aspect.Open, Reason.Clear)
else Indication(Aspect.Closed, Reason.Disabled)
}| Statut | Sens |
|---|---|
| Present | Le profil a été lu. |
| Absent | Aucun profil enregistré pour ce signal. |
| Unavailable | Le SDK ne peut pas fournir le profil. |
enabled utilise le défaut déclaré si la clé est absente. Il ne transforme pas Unavailable en profil valide. Votre règle conserve l’accès à settingsStatus et aux valeurs brutes via signal.settings.
Changer les réglages sans perdre les parties
kotlin
migrateSettings { saved ->
if ("active" in saved) saved
else saved + ("active" to (saved["ancienActive"] ?: false))
}La migration reçoit les valeurs réellement sauvegardées et doit être idempotente : la relancer ne doit plus changer le résultat. Les valeurs par défaut sont complétées par le SDK. Conservez les identifiants de type et de catalogue pour retrouver les profils.