ElytraF5 & more · API 1
Référence API

Types et contrats

Toutes les classes publiques sont dans net.turtle.ef5am.api.client.settings. L’API est fournie dans le source set client.

ElytraF5SettingsApi

MembreComportement
API_VERSIONConstante de compatibilité actuelle : 1.
registerCategory(category)Inscrit une catégorie pendant l’initialisation client. Lève une erreur si l’identifiant est mal formé ou déjà utilisé, ou si les options ne respectent pas leurs contraintes.
registeredCategories()Retourne une copie de la liste des catégories inscrites à cet instant.

SettingsCategory

SettingsCategory(
    id: String,
    title: Component,
    options: List<SettingsOption>,
    icon: Identifier? = null
)

SettingsOption commun

Chaque option a un id local à sa catégorie, un title et une description. La description est montrée comme infobulle et doit être traduisible.

BooleanSettingOption

BooleanSettingOption(
    id, title, description,
    currentValue: () -> Boolean,
    onChanged: (Boolean) -> Unit
)

Le fournisseur currentValue est interrogé lors de la création de l’écran. Votre callback doit mettre à jour la valeur dans votre configuration en mémoire.

ChoiceSettingOption

ChoiceSettingOption(
    id, title, description,
    choices: List<SettingsChoice>,
    currentChoice: () -> String,
    onChanged: (String) -> Unit
)

SettingsChoice(id: String, title: Component)

Les identifiants des choix doivent être uniques et la valeur de currentChoice() doit correspondre à un choix existant au moment où la catégorie est enregistrée. Le contrôle affiche le titre du choix, mais le callback reçoit son identifiant.

ActionSettingOption

ActionSettingOption(
    id, title, description,
    buttonTitle: Component,
    action: (Screen) -> Unit
)

Le callback reçoit l’écran ElytraF5 actuel. Pour ouvrir un écran enfant et permettre un retour correct, passez cette valeur comme parent de votre écran.

Validation et limites

  • Les identifiants de catégorie sont uniques globalement ; les identifiants d’option sont uniques dans leur catégorie.
  • Les identifiants d’option acceptent minuscules, chiffres, ., _ et -.
  • Un sélecteur de choix doit avoir au moins une valeur, sans doublon.
  • L’icône manquante ou introuvable utilise une icône de secours.
  • Un trop grand nombre de catégories ou de lignes est navigable par défilement.
  • Les fonctions de valeur restent détenues par le mod contributeur ; l’API ne sérialise pas votre configuration.

Voir les exemples d’intégration →