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

    Non résolu [1.12.2] Problème de synchronisation des données d'une tileentity entre le client et le server

    Support pour les moddeurs
    1.12.2
    2
    5
    60
    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.
    • N
      noclone dernière édition par

      Salut à tous,

      Je suis nouveau dans le modding et j’ai commencé à suivre un tuto pour apprendre les bases. J’ai créé un four rapide et d’autres blocks, et j’essaie maintenant d’ajouter moi-même une porte avec un mot de passe (dossier coded_door)
      J’ai créé un GUI dans lequel je peux cliquer sur des boutons pour entrer le code. Il est stocké sous forme d’une String dans la TileEntity. J’ai suivi le même schéma que les machines précédentes pour synchroniser les données du côté client vers le côté serveur, mais pour une raison quelconque, cela ne fonctionne pas. La string est bien modifiée côté client, mais la synchronisation ne se fait pas côté server.
      J’ai passé environ 15 heures à essayer de debug le code, mais comme je l’ai dit, je suis nouveau dans ce domaine, donc je ne sais pas vraiment où chercher.
      Voici le lien du tuto que j’ai suivi : https://www.youtube.com/watch?v=rVis_D00afc&list=PLmaTwVFUUXiBE7m5d_uLIRyujqsPTYX4C&index=1
      Et voici mon code : https://github.com/noclone/testmod

      C’est peut-être une erreur stupide, peut-être pas, je n’en ai aucune idée.
      N’hésitez pas à me dire si vous avez besoin de plus d’informations, c’est mon tout premier post ^^

      Merci pour votre aide

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

        Bonjour,

        Ton code la synchronisation du serveur vers le client, mais pas l’inverse.
        Ici : https://github.com/noclone/testmod/blob/master/src/main/java/noclone/testmod/CodedDoor/GuiCodedDoor.java#L64
        Il faudrait envoyer un paquet vers le serveur, dans lequel tu gère la définition du mot de passe.

        N 1 réponse Dernière réponse Répondre Citer 0
        • N
          noclone @robin4002 dernière édition par

          @robin4002 ah d’accord je savais pas, il y a une fonction particulière qui fait ça ?
          Merci !

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

            Tu peux réutiliser le paquet que tu as déjà fait, comme tu as dans le container : https://github.com/noclone/testmod/blob/d47cd23eab65427e09b34c2a4749cd74b6e079a1/src/main/java/noclone/testmod/CodedDoor/ContainerCodedDoor.java#L41
            Simplement il faut utiliser un sendToServer sur le gui

            Et aussi enregistrer le paquet https://github.com/noclone/testmod/blob/d47cd23eab65427e09b34c2a4749cd74b6e079a1/src/main/java/noclone/testmod/network/Messages.java#L23 une deuxième fois avec cette fois le serveur qui reçoit le paquet et non le client, et donc créé un handler dédié pour le paquet reçu par le serveur (car il faut adapter le code pour obtenir le joueur => ctx.getServerHandler().playerEntity).

            N 1 réponse Dernière réponse Répondre Citer 0
            • N
              noclone @robin4002 dernière édition par

              @robin4002 super merci beaucoup pour ton aide ! ça marche !! et ça m’a permis de mieux comprendre le fonctionnement des paquets donc tout benef 🙂
              merci bcp !

              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