Résolu Bouton dans le GuiInventory
-
Bonjour,
Je voudrais savoir comment faire afficher un bouton dans le GuiInventory qui exécute un KeyBind
En gros j’ouvre l’inventaire, j’ai le bouton, et quand je clique dessu, sa clique sur la touche y par exemple. -
Salut PlayFlop,
Une simple recherche sur MFF…https://www.minecraftforgefrance.fr/showthread.php?tid=4615&highlight=bouton+inventaire
Bonne journée
-
@‘BaptisteG’:
Salut PlayFlop,
Une simple recherche sur MFF…https://www.minecraftforgefrance.fr/showthread.php?tid=4615&highlight=bouton+inventaire
Bonne journée
Je demande pas a recodé tout un inventaire, je cherche a implémenté des boutons, c’est pas pareill
-
Cherche avec l’event OpenGUI
-
Ou tu pourrais check dans un event tické côté serveur, si EntityPlayer#openContainer instanceof GuiContainer, alors tu le remplaces par le tien custom.
J’ai oublié que les boutons allaient dans le Gui et non dans le Container -
Il faut que tu utilises les events InitGuiEvent.Post et ActionPerformedEvent pour ajouter puis faire l’action de ton bouton.
Si tu ne sais pas les utiliser une recherche devrait faire ton bonheur -
@‘AymericRed’:
Il faut que tu utilises les events InitGuiEvent.Post et ActionPerformedEvent pour ajouter puis faire l’action de ton bouton.
Si tu ne sais pas les utiliser une recherche devrait faire ton bonheurJe ne sais pas du tout les utilisé, mais je vais allé voir merci de ton message
@‘AymericRed’:
Il faut que tu utilises les events InitGuiEvent.Post et ActionPerformedEvent pour ajouter puis faire l’action de ton bouton.
Si tu ne sais pas les utiliser une recherche devrait faire ton bonheurJ’ai cherché pendant 2heures et je ne trouve pas pourrais tu m’éclairé ?
-
Alors il faut passer par l’event “GuiScreenEvent.InitGuiEvent.Post” (il y a un tuto sur les events sur le forum), de là tu peux, comme dans un gui normal ajouter des boutons à “event.buttonList” (mets un id assez élevé pour par rentrer en conflit avec ceux vanilla).
Ensuite tu utilises l’event “GuiScreenEvent.ActionPerformedEvent.Pre” et si “event.button.id” correspond à ton bouton, tu cancel l’event et fais ton action. -
J’ai fait ça
@SubscribeEvent public void onInitGuiEvent(InitGuiEvent.Post event) { if (event.gui instanceof GuiInventory) { int i = event.gui.height / 4 + 48; event.buttonList.add(new GuiButton(30, event.gui.width / 2 + 150, i + 24 * 2, 100, 20, "Teamspeak") { @Override public void mouseReleased(int x, int y) { if (Desktop.isDesktopSupported()) { try { Desktop.getDesktop().browse(new URI("ts3server://ts.eraknight.com")); } catch (Exception e) { } } } }); } }
Mais j’ai un souci, c’est que j’ai l’impression que mon inventaire est décalé vers la droite quand il y a des effect de potion…
Puis je voudrais que le bouton ne fasse qu’appuyé sur une touche, sauriez vous m’aidé ? -
Merci de toute votre aide, je passe en résolu !