Mod [MCreator] Comment sauvegarder l'état d'une checkbox

ModeurFou

Aventurier
31 Octobre 2025
2
0
1
26
Bonjour,

J'ai une checkbox dans un GUI qui est toujours non coché quand j'ouvre ce GUI.
Capture_d’écran_2025-10-31_à_12_58_33.png

J'aimerais que l'état de la checbox soit conservé entre deux affichages de ce GUI. Voici ce que j'ai actuellement:
J'ouvre le menu, la checkbox n'est pas cochée.
Je coche la checkbox.
Je ferme le menu.
Je re-ouvre le menu.
La checkbox n'est pas coché alors que j'aimerais qu'elle le soit.

J'utilise MCreator 2025.3.

C'est mon tout premier mod, merci pour votre aide.
 
Hello ModeurFou

Alors ouais, c’est normal que ta checkbox se réinitialise à chaque fois que tu rouvres ton GUI.
MCreator ne garde pas l’état des composants du GUI automatiquement, tout est recréé à chaque ouverture.
Si tu veux que ta checkbox garde son état, il faut sauvegarder la valeur quelque part.

Exemple d’approche simple :

  • Quand la checkbox est cochée/décochée : tu mets à jour une variable globale ou joueur genre checkboxState.
  • Quand le GUI s’ouvre : tu fais un test au chargement pour lire cette variable et cocher/décocher la checkbox en fonction.
1. Créer une variable pour stocker l’état

Tu as plusieurs options selon le contexte de ton GUI :
  • Si ton GUI est lié à un bloc (genre un conteneur de bloc) : crée une variable de bloc (Tile Entity).
  • Si ton GUI est lié au joueur (genre un menu perso) : crée une variable du joueur.
Exemple :
Crée une variable booléenne checkboxState par exemple.

2. Quand la checkbox est cochée/décochée
Dans ton GUI, sélectionne ta checkbox, et dans les événements, ajoute ceci :

Code:
On checkbox value changed:
   Set [checkboxState] to [is checked]

Cela veut dire que dès que le joueur coche/décoche la case, la variable se met à jour.

3. Quand le GUI s’ouvre

Dans les événements du GUI, ajoute :

Code:
When GUI opened:
   Set [checkbox] checked state to [checkboxState]

En gros, au moment où le GUI s’affiche, tu lis ta variable et tu coches/décoches automatiquement la case selon sa valeur précédente.

Si tu veux que ça reste même après déco/reco du joueur, choisis une variable sauvegardée (pas temporaire).
Et là ton état sera conservé même après fermeture du menu

A+
Oriax
 
Dernière édition:
Merci, j'avais en tête quelque chose comme ça. Pour l'instant j'utilise la version graphique pour coder, il faut juste que je trouve les bons éléments à assembler.