MFF

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

    IMC : envoyer des messages entre les mods

    Planifier Épinglé Verrouillé Déplacé Tutoriels des membres
    6 Messages 4 Publieurs 2.0k 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.
    • SCAREXS Hors-ligne
      SCAREX
      dernière édition par robin4002

      Sommaire

      • Introduction
      • Pré-requis
      • Code
        • Envoi d’informations
        • Réception d’informations
      • Crédits

      Introduction

      Vous voulez développer une API pour votre mod ou bien vous voulez utiliser l’API d’un autre mod mais vous ne savez pas forcément s’il est présent ou non, voici un tutoriel qui va vous permettre de faire la liaison entre 2 mods grâce à forge.

      Pré-requis

      • Créer la base de son mod

      Code

      Envoi d’informations

      Pour envoyer des informations c’est très simple : FMLInterModComms.sendMessage(modid, key, value)
      Ici le modid correspond au mod auquel vous envoyez le message, key est une chaîne de caractères qui permet d’identifier ce que vous envoyez et value peut être soit une chaîne de caractères, soit un ItemStack soit un NBTTagCompound.

      Cette fonction doit être appelée dans le preInit, ou l’init sinon le mod risque de ne pas recevoir le message.

      Vous pouvez aussi envoyer des messages pendant le jeu grâce à FMLInterModComms.sendRuntimeMessage(instanceDeVotreMod, modid, key, value)

      PS : vous n’avez pas besoin de rajouter une condition pour voir si le mod est présent : si le mod n’est pas présent le jeu ne crashera pas et votre message sera oublié.

      Réception d’informations

      Il y a 2 méthodes pour recevoir les informations :

      Première méthode simple :

      Cette méthode permet de récupérer tous les messages envoyés dans le preInit et l’init (mais pas le reste). A placer dans votre classe principale :

              @EventHandler
          public void onIMCMessage(FMLInterModComms.IMCEvent event) { // On souscrit à l'événement FMLInterModComms.IMCEvent
              for (IMCMessage message : event.getMessages()) { // On parcours la liste des messages
                  log.info("Received message from " + message.getSender() + " with key \"" + message.key + "\" with object of type : " + message.getMessageType()); // Ce code sert juste à afficher les messages reçus, vous devez modifier cette partie
              }
          }
      

      Deuxième méthode :

      Cette méthode vous permet de récupérer les messages n’importe quand et n’importe où :

          for (IMCMessage message : FMLInterModComms.fetchRuntimeMessages(instanceDeVotreMod)) { // On récupère tous les messages pour notre mod
              log.info("Received message runtime from " + message.getSender() + " with key \"" + message.key + "\" with object of type : " + message.getMessageType()); // Ce code sert juste à afficher les messages reçus, vous devez modifier cette partie
          }
      

      Une fois les messages reçus vous devez les traiter :

      • Si le message doit contenir comme valeur une chaîne de caractères, vous devez utiliser message.getStringValue()
      • Si le message doit contenir un ItemStack, ce sera message.getItemStackValue()
      • Si le message doit contenir un NBTTagCompound, ce sera message.getNBTValue()

      Pour savoir de quel type est la valeur, vous pouvez utiliser message.getMessageType() qui retournera la classe de la valeur.

      Dans tous les cas vous pouvez accéder au modid de l’envoyeur grâce à message.getSender() et la clé grâce à message.key.

      Crédits

      Rédaction :

      • SCAREX

      Correction :


      Ce tutoriel de SCAREX publié sur Minecraft Forge France est mis à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International

      retourSommaire des tutoriels

      Site web contenant mes scripts : http://SCAREXgaming.github.io

      Pas de demandes de support par MP ni par skype SVP.
      Je n'accepte sur skype que l…

      1 réponse Dernière réponse Répondre Citer 0
      • moscaphone421M Hors-ligne
        moscaphone421
        dernière édition par

        Bb je t’AIIIIIIMMMMMMMEEEEE COMMMME UN FOU COMME UN SOLDAAAAAAT !!!

        1 réponse Dernière réponse Répondre Citer 0
        • SCAREXS Hors-ligne
          SCAREX
          dernière édition par

          @‘moscaphone421’:

          Bb je t’AIIIIIIMMMMMMMEEEEE COMMMME UN FOU COMME UN SOLDAAAAAAT !!!

          Comme une star de cinéma ? xD

          Site web contenant mes scripts : http://SCAREXgaming.github.io

          Pas de demandes de support par MP ni par skype SVP.
          Je n'accepte sur skype que l…

          1 réponse Dernière réponse Répondre Citer 0
          • moscaphone421M Hors-ligne
            moscaphone421
            dernière édition par

            Oui dans un film mais vaut mieux pas en parle ici piggy 18 xD

            1 réponse Dernière réponse Répondre Citer 0
            • leo01418L Hors-ligne
              leo01418
              dernière édition par

              Très intéressant 🙂

              Voila ma signature

              1 réponse Dernière réponse Répondre Citer 0
              • AymericRedA Hors-ligne
                AymericRed
                dernière édition par

                Très intéressant, je pense l’utiliser pour mon système d’énergie et de fluide.

                Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk

                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
                • 1 / 1
                • Premier message
                  Dernier message
                Design by Woryk
                ContactMentions Légales

                MINECRAFT FORGE FRANCE © 2024

                Powered by NodeBB