• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved Tag chat

    1.7.x
    1.7.10
    6
    14
    1825
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      thecraft38 last edited by

      Bonjour je travail toujours sur mon mod et je voulais y ajouter un peu comme sur les plates formes de streaming ou quand ton pseudo est dans un message : le message apparaît en rouge chez la personne mentionné mais je n’ai aucune idée de comment faire donc je viens vous demander si vous pouvez m’aider.
      Merci d’avance bon jeu , bonne soirée/journée

      1 Reply Last reply Reply Quote 0
      • T
        thecraft38 last edited by

        Personne n’a d’idée ? ( désolé du double poste mais je ne trouve vraiment pas comment faire )

        1 Reply Last reply Reply Quote 0
        • LeBossMax2
          LeBossMax2 last edited by

          Salut,
          l’event “ClientChatReceivedEvent” est lancé quand un message est sur le point d’être affiché dans le chat coté client. Tu peux donc regarder le message et s’il contient le mon du joueur, tu change le message en rouge.

          1 Reply Last reply Reply Quote 0
          • T
            thecraft38 last edited by

            Merci pour ton aide mais je dois bien dire que je suis débutant en modding mais que j’essaye de chercher des solutions et de ne pas poser de question trop stupide mais voila j’ai fais ceci :

            @SubscribeEvent
            public void ClientChatReceivedEvent(IChatComponent message)
            {
            if() // ici doit aller un argument que je ne connais pas qui corresponde au pseudo du joueur sur le client
            {
            // et ici je dois recupérer mon message et le mettre en rouge
            }
            }
            ``` 
            
            je ne savait pas quoi mettre donc j'ai commencé chercher la classe de l'event mais sa ne ma pas beaucoup avancé :
            ```java
            @Cancelable
            public class ClientChatReceivedEvent extends Event
            {
                public IChatComponent message;
                public ClientChatReceivedEvent(IChatComponent message)
                {
                    this.message = message;
                }
            }
            
            1 Reply Last reply Reply Quote 0
            • LeBossMax2
              LeBossMax2 last edited by

              Dans l’event, tu as un “IChatComponent” qui correspond au message. Tu peut faire event.message.getFormattedText() pour avoir le message sous forme de string et il doit y avoir une méthode pour regarder si le message (en string) contient un autre string. Si tu veux, je peut de donner le code tout bien expliqué.

              1 Reply Last reply Reply Quote 0
              • AymericRed
                AymericRed last edited by

                Alors déjà tu n’a pas bien déclaré l’event, il faut faire comme ceci :

                @SubscribeEvent
                public void onChatMessage(ClientChatReceivedEvent event) //Le nom n'a pas d'importance, c'est l'argument de la fonction qui compte
                {
                if(leMessageDuChatContientLeNomDuJoueur) //Sachant que pour avoir le nom du joueur c'est Minecraft.getMinecraft().thePlayer.getDisplayName().toUnfomattedText()
                {
                event.message.getChatStyle(). //je te laisse compléter
                }
                }
                

                Avec ça (que tu dois bien sur compléter) ça devrait marcher 😉
                PS: J’ai fait ça de mémoire donc je me suis peut-être trompé sur le nom d’une fonction.

                EDIT : @LeBossMax2 en même temps ^^

                Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                1 Reply Last reply Reply Quote 0
                • T
                  thecraft38 last edited by

                  Oui si tu as le temps et que cela ne te déranges pas je veux bien le code

                  edit : voila se que j’ai fait mais j’ai une erreur sur ```java
                  .toUnFormattedText

                  
                  donc j'ai essayé ceci
                  ```java
                  @SubscribeEvent
                  public void OnChatMessage(ClientChatReceivedEvent event)
                  {
                  if(event.message.getFormattedText().contains(Minecraft.getMinecraft().thePlayer.getDisplayName()));
                  {
                  event.message.getChatStyle().setColor(EnumChatFormatting.RED).setBold(true);
                  }
                  }
                  

                  mais je ne crois pas que le code fonctionne

                  1 Reply Last reply Reply Quote 0
                  • E
                    elx9000 last edited by

                    Pour verifier si ton code fontionne, dans ta fonction tu mets un System.out.println(“Message”); et tu regardes si le message apparaît dans la console.

                    1 Reply Last reply Reply Quote 0
                    • DiabolicaTrix
                      DiabolicaTrix Correcteurs Moddeurs confirmés last edited by

                      Il y a un ; à la fin de ton if. Est-ce que tu utilises un IDE? Cette erreur devrait être assez claire si tu en utilises un.

                      1 Reply Last reply Reply Quote 0
                      • T
                        thecraft38 last edited by

                        après avoir fait des test sur serveur tous les messages sont en rouge et en gras qu’il y ai mon pseudo ou pas sur serveur il doit y avoir un problème dans mon if ( j’ai retiré le ; )
                        enfaite je n’ai rien dit sa fonctionne sur le client sans le ; merci a tous pour votre aide
                        je le test en multijoueur et je vous donnes des nouvelles

                        1 Reply Last reply Reply Quote 0
                        • robin4002
                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                          @‘DiabolicaTrix’:

                          Il y a un ; à la fin de ton if. Est-ce que tu utilises un IDE? Cette erreur devrait être assez claire si tu en utilises un.

                          Un ; à la fin d’un if est une syntaxe valide dans une fonction de type void, donc son ide n’a rien dit.
                          Le ; arrête la fonction (donc la suite du code n’est pas exécuté).

                          1 Reply Last reply Reply Quote 0
                          • T
                            thecraft38 last edited by

                            Tout fonctionne merci et merci de l’explication robin : résolu 🙂

                            1 Reply Last reply Reply Quote 0
                            • DiabolicaTrix
                              DiabolicaTrix Correcteurs Moddeurs confirmés last edited by

                              @‘robin4002’:

                              @‘DiabolicaTrix’:

                              Il y a un ; à la fin de ton if. Est-ce que tu utilises un IDE? Cette erreur devrait être assez claire si tu en utilises un.

                              Un ; à la fin d’un if est une syntaxe valide dans une fonction de type void, donc son ide n’a rien dit.
                              Le ; arrête la fonction (donc la suite du code n’est pas exécuté).

                              Je ne savais pas que c’était une syntaxe valide, par contre si mes recherches sont bonnes, ça veut dire de ne rien exécuter si la condition est remplie. Donc, je ne comprends pas comment ça a pu résoudre le problème ici. À moins que la solution au problème n’est rien à voir avec cette explication?

                              1 Reply Last reply Reply Quote 0
                              • robin4002
                                robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                                Oui, quand il y avait le ; il n’exécutait pas la suite quand la condition était valide.
                                Donc le fait de le retirer à corriger le problème.

                                1 Reply Last reply Reply Quote 0
                                • 1 / 1
                                • First post
                                  Last post
                                Design by Woryk
                                Contact / Mentions Légales

                                MINECRAFT FORGE FRANCE © 2018

                                Powered by NodeBB