• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Problème avec les packets du Network

    1.7.x
    1.7.10
    2
    7
    1209
    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.
    • Maxx_Qc
      Maxx_Qc dernière édition par

      Salut à tous, j’ai un problème.
      Lorsque je joue en solo, mon packet fonctionne très bien, mais lorsque je lance une instance serveur cette instance ne semble pas recevoir le paquet.

      Classe principale:

      public static SimpleNetworkWrapper network;
      
      @EventHandler
      public void init(FMLInitializationEvent event) {
      if (event.getSide().isClient()) {
      FMLCommonHandler.instance().bus().register(new RenderGameOverlayHandler());
      MinecraftForge.EVENT_BUS.register(new RenderGameOverlayHandler());
      
      network = NetworkRegistry.INSTANCE.newSimpleChannel("MyChannel");
         network.registerMessage(MyMessage.Handler.class, MyMessage.class, 0, Side.SERVER);
      }
      }
      

      MyClass.java:

      public class MyMessage implements IMessage {
      private String text;
      
      public MyMessage() {}
      
      public MyMessage(String text) {
      this.text = text;
      }
      
      @Override
      public void fromBytes(ByteBuf buf) {
      text = ByteBufUtils.readUTF8String(buf);
      }
      
      @Override
      public void toBytes(ByteBuf buf) {
      ByteBufUtils.writeUTF8String(buf, text);
      }
      
      public static class Handler implements IMessageHandler <mymessage, imessage="">{
      @Override
      public IMessage onMessage(MyMessage message, MessageContext ctx) {
      System.out.println(String.format("Received %s from %s", message.text,
      ctx.getServerHandler().playerEntity.getDisplayName()));
      return null;
      }
      }
      }
      

      Mon event (qui fonctionne, il modifie l’overlay, j’ai mis le packet la juste pour tester vite fait):

      @SubscribeEvent
      public void renderOverlayText(RenderGameOverlayEvent event) {
      Minecraft mc = Minecraft.getMinecraft();
      
      PrisonRP.network.sendToServer(new MyMessage("test"));
      }
      

      Preuve que ça fonctionne en solo:
      http://prntscr.com/ekybkz

      Et sur l’instance serveur:
      http://prntscr.com/ekybsq

      Merci à vous :)</mymessage,>

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

        Salut,
        Tout ce qui concerne les paquets ne devrait pas être dans la condition if (event.getSide().isClient()) {

        1 réponse Dernière réponse Répondre Citer 0
        • Maxx_Qc
          Maxx_Qc dernière édition par

          @‘robin4002’:

          Salut,
          Tout ce qui concerne les paquets ne devrait pas être dans la condition  if (event.getSide().isClient()) {

          Merci pour ta réponse, cependant j’avais essayé avec un évent EntiryJoinWorldEvent et encore une fois ça fonctionnait sur le client mais pas sur l’instance du serveur malgré qu’il n’y avait aucun SideOnly ni de vérification pour vérifier si c’est le côté client 😕

          1 réponse Dernière réponse Répondre Citer 0
          • robin4002
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

            Tu peux envoyer ton code ?

            1 réponse Dernière réponse Répondre Citer 0
            • Maxx_Qc
              Maxx_Qc dernière édition par

              @‘robin4002’:

              Tu peux envoyer ton code ?

              En fait mon network était seulement enregistré sur le client du coup ça fonctionnait pas…
              Merci grandement 😃

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                C’est ce que je t’ai dis dans mon premier message x)

                1 réponse Dernière réponse Répondre Citer 0
                • Maxx_Qc
                  Maxx_Qc dernière édition par

                  @‘robin4002’:

                  C’est ce que je t’ai dis dans mon premier message x)

                  J’avais simplement oublié que j’enregistrais mon network sur le client side 😛

                  1 réponse Dernière réponse Répondre Citer 0
                  • 1 / 1
                  • Premier message
                    Dernier message
                  Design by Woryk
                  Contact / Mentions Légales

                  MINECRAFT FORGE FRANCE © 2018

                  Powered by NodeBB