Détecter quand un joueur écrit dans le chat
-
Bonjour,
J’ai des difficultés à réaliser une fonctionnalité de mon mod.
L’objectif :
- détecter quand un joueur est en train d’écrire dans le chat (pas quand il l’ouvre, mais quand il à commencé a taper).
- détecter si la première lettre qu’il à tapé est un “!” (toujours pendant qu’il écrit).
J’ai tenté ceci :
@SubscribeEvent public void onEvent(RenderTickEvent event) { if (Minecraft.getMinecraft().ingameGUI.getChatGUI().getChatOpen()) { if(keyBindTest.isPressed()) { System.out.println("debug"); } } }
Dans ce cas, la détection de l’ouverture du chat fonctionne bien, mais pas celle de la pression de la touche dans le chat.
Et ceci :
@SubscribeEvent public void onEvent(KeyInputEvent event) { if(keyBindTest.isPressed() && Minecraft.getMinecraft().ingameGUI.getChatGUI().getChatOpen()) { System.out.println("debug"); } }
Dans ce cas, la touche pressée n’est pas détecté non plus. sans le “Minecraft.getMinecraft().ingameGUI.getChatGUI().getChatOpen()”, la pression de la touche est bien détectée, mais seulement en dehors du chat.
Si vous avez des idées, je suis à court moi !
Merci d’avance.
-
Plutôt qu’utiliser un renderTick event, as-tu pensé a utiliser GuiOpenEvent ? ça me semble plus économe en ressource.
-
Merci de ta réponse, mais GuiOpenEvent ne me permettrait que de détecter l’ouverture du chat. J’aurais besoin de détecter le moment où le joueur commence à taper quelque chose dans le chat.
-
Il y a aussi l’event “ServerChatEvent” Qui s’enclenche quand un joueur écrit un message dans le chat (Je sais pas si c’est ça que tu cherchais ^^)