Enlever une keybind
-
Le nom de ma variable veut tout dire : guiKeyToRemove .
Tu dois changer son ancienne valeur, par ton keybind à virer. -
Certe, mais pourquoi EventHandler_Keyboard.key_Menu;
ça existe pas
Ah nan, jcrois savoir
-
Il s’agit d’une classe que j’avais créée, normal que tu ne la possède pas…
Désormais, il faut que tu renseignes ta variable KeyBinding que tu souhaites virer quand le bouton est cliqué.
EDIT = La solution avec le moins de risques, est celle d’ouvrir un custom GuiControls, plutôt que de retirer des éléments. Fais ce que tu veux, mais je sens que tu vas galérer avec la première méthode, surtout si tu as un lourd modpack… -
Ok, je vais faire un CustomGuiControls

Je te tiens au courant, je laisse la discution ouverte.
-
D’acc, tu as fait le bon choix selon moi.
Du coup tu feras à la manière du custom GuiMainMenu avec l’event GuiOpenEvent
Tu te rendras alors vite compte que tu devras créer une nouvelle classe fille de GuiKeyBindingList, et réécrire la méthode drawScreen pour ne pas dessiner ton keybinding si ton bouton a déjà été cliqué. Du coup faut également stocker un boolean quelque part. -
Tu peux me dire si se que je que je fais c’est bien ;
J’ai copier les class KeyBinding et GameSettings via le code source de Forge et je l’ai mis dans un package que j’ai créer se nommant : fr.pottime.controls
J’ai mis les 2 fichier source et dans GameSettings j’ai rajouter ma KeyBinding et là je suis en train de faire se qui faut pour que lorsque que j’appuis sur le bouton la touche se supprime. -
Non, ce n’est pas correct. Tu dois recréer le GuiControls avec une nouvelle classe héritant de GuiKeyBindingList, comme l’indique mon message précédent.
Ca ne sert à rien de copier-coller des classes déjà existantes. Les tiennes ne seront pas load à la place de celles de mojang. -
Ok, donc tu me dis si se que j’ai fait c’est bon,
J’ai créer un nouveau package et dedans j’ai mis le GuiControls,
j’ai fait un extends GuiKeyBindingListet dedans il y a ;
public GuiControls(net.minecraft.client.gui.GuiControls p_i45031_1_, Minecraft p_i45031_2_) { super(p_i45031_1_, p_i45031_2_); } -
Non, ce que tu fais n’a aucun sens.
-
Ok, sinon dans le pire des cas, je peux faire quelque chose qui fait que la keybind est invisible dans les controles ?
-
Oui, en redessinant la GuiKeyBindingList en faisant un override de drawScreen. Donc en suivant ma seconde méthode, tu peux facilement y arriver.
-
C’est à dire en redessinant, refaire ?
-
Redessiner car la boucle for dans la méthode drawScreen parcours tous les Keybinds, du coup, si tu veux éviter le rendu du tien, faudra rajouter une condition pour check qu’il ne s’agit pas du tien.
PS = Fais un peu attention à tes remarques, notamment sur ma réputation. Si je m’exprime mal, tu peux venir me le dire en message, mais me mettre -4, ça me donne juste envie de te laisser te démerder tout seul. Et puis crois moi que j’ai eu beaucoup de patience avec tes erreurs de débutants…
-
Merci, j’ai enfin réussis