MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Tag chat

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    14 Messages 6 Publieurs 2.2k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • T Hors-ligne
      thecraft38
      dernière édition par

      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 réponse Dernière réponse Répondre Citer 0
      • LeBossMax2L Hors-ligne
        LeBossMax2
        dernière édition par

        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 réponse Dernière réponse Répondre Citer 0
        • AymericRedA Hors-ligne
          AymericRed
          dernière édition par

          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 réponse Dernière réponse Répondre Citer 0
          • T Hors-ligne
            thecraft38
            dernière édition par

            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 réponse Dernière réponse Répondre Citer 0
            • E Hors-ligne
              elx9000
              dernière édition par

              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 réponse Dernière réponse Répondre Citer 0
              • DiabolicaTrixD Hors-ligne
                DiabolicaTrix Correcteurs Moddeurs confirmés
                dernière édition par

                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 réponse Dernière réponse Répondre Citer 0
                • T Hors-ligne
                  thecraft38
                  dernière édition par

                  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 réponse Dernière réponse Répondre Citer 0
                  • robin4002R Hors-ligne
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                    dernière édition par

                    @‘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 réponse Dernière réponse Répondre Citer 0
                    • T Hors-ligne
                      thecraft38
                      dernière édition par

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

                      1 réponse Dernière réponse Répondre Citer 0
                      • DiabolicaTrixD Hors-ligne
                        DiabolicaTrix Correcteurs Moddeurs confirmés
                        dernière édition par

                        @‘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 réponse Dernière réponse Répondre Citer 0
                        • robin4002R Hors-ligne
                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                          dernière édition par

                          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 réponse Dernière réponse Répondre Citer 0
                          • 1 / 1
                          • Premier message
                            Dernier message
                          Design by Woryk
                          ContactMentions Légales

                          MINECRAFT FORGE FRANCE © 2024

                          Powered by NodeBB