Résolu [1.12.2] ClientChatReceivedEvent trigger ne fonctionne pas
-
Salut, depuis ce matin je tente d’utiliser le trigger ClientChatReceivedEvent , j’ai tenté pas mal de choses, voici ou j’en suis actuellement :
J’ai tenté de le déplacer a plusieurs endroits pour voir mais rien
Il est supposé etre dans “FriendListManager.java” , j’ai également tenté de mettre le code dans “Module.java” mais sans succès
Comme si le trigger était mal fait, j’ai pourtant vérifié sur internet et tout me semblait bon.
Merci par avance pour les réponces -
Au-dessus de la classe, pas en dessous.
Mais je crois qu’EventBusSubscriber n’existe que depuis la 1.13, donc il faut que tu utilises la fonction MinecraftForge.EVENT_BUS.register(…) -
Bonsoir,
A priori ton événement n’est pas enregistré, il manque le@EventHandler
au dessus. -
@robin4002 a dit dans [1.12.2] ClientChatReceivedEvent trigger ne fonctionne pas :
@EventHandler
https://prnt.sc/s89cqa
Aucune différence
Code :@EventHandler public static void onChatting(ClientChatReceivedEvent event) { for (Module m: mods) { m.OnChatting(); } System.out.println(event.message.getUnformattedText()); }```
-
Et la classe dans laquelle se trouve cette fonction est enregistré en tant que classe d’event ?
-
Je supose, comment suis-je suposé vérifier ca ?
-
https://www.minecraftforgefrance.fr/topic/5465/utiliser-les-événements
Il faut un@EventBusSubscriber(modid = ModTutorial.MOD_ID)
en haut de la classe, ou mettre dans la classe principaleMinecraftForge.EVENT_BUS.register(NomDeLaClass.class);
(pour une methode static, si l’event est en non static c’estnew NomDeLaClass()
) -
@robin4002 a dit dans [1.12.2] ClientChatReceivedEvent trigger ne fonctionne pas :
@EventBusSubscriber(modid = ModTutorial.MOD_ID)
https://prnt.sc/s89j4s -
Au-dessus de la classe, pas en dessous.
Mais je crois qu’EventBusSubscriber n’existe que depuis la 1.13, donc il faut que tu utilises la fonction MinecraftForge.EVENT_BUS.register(…) -
@robin4002 Réponse correcte !
MinecraftForge.EVENT_BUS.register(new FriendListManager());
dans mon@EventHandler public void init (FMLInitializationEvent e) { }
a fonctionné