MFF

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

    [1.16.5] Modifier la tileentity d'un bloc depuis le GUI (ContainerScreen)

    Planifier Épinglé Verrouillé Déplacé Non résolu Support pour les moddeurs
    1.16.x
    5 Messages 2 Publieurs 217 Vues 2 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.
    • N Hors-ligne
      noclone
      dernière édition par

      Bonjour à tous !
      Je suis entrain de travailler sur un coffre à code : lorsqu’on tente de l’ouvrir, une interface apparait avec des boutons pour entrer un code, si le code est bon, le coffre s’ouvre.
      Toutes les données sont stockées dans la tileentity du coffre, mais je ne sais pas comment y accéder depuis le GUI (containerscreen), car on a accès qu’au container, qui lui meme n’a pas d’accès à la tileentity. Je voudrais donc pouvoir récupérer la tileentity depuis le GUI ou le container, afin de pouvoir la modifier à chaque fois qu’un bouton est pressé.
      Pouvez vous m’aider ?

      mon mod : https://github.com/noclone/Mod16

      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

        Bonsoir,

        Tu as deux constructeurs sur ton container, un pour le client et un pour le serveur.
        Celui du serveur c’est facile =>
        https://github.com/noclone/Mod16/blob/master/src/main/java/fr/noclone/lockdown/Safe/ContainerSafe.java#L28
        https://github.com/noclone/Mod16/blob/c9304e721215fa8f000055da34e4e6c360d5b8a8/src/main/java/fr/noclone/lockdown/Safe/TileEntitySafe.java#L100
        Il est déjà appelé avec un this depuis le tile entity, donc tu as juste à remplacer le type IInventory par ton TileEntity (ou faire un cast ensuite dans le constructeur).

        Pour constructeur du client, tu as un buffer contenant les données envoyés au client pour créer le container : https://github.com/noclone/Mod16/blob/master/src/main/java/fr/noclone/lockdown/Safe/ContainerSafe.java#L23
        Dans ce dernier il faut encoder les coordonnées du tile entity pour puis les lire et enfin get la tile entity avec World#getTileEntity (tu peux utiliser Minecraft.getInstance().getWorld() pour récupérer une instance du world client).

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

          @robin4002
          Merci pour ton aide ! J’ai réussi à récupérer la tileentity dans mon GUI, mais maintenant j’ai un autre problème : lorsque j’entre le mot de passe dans le GUI côté client, comment je fais pour envoyer les modifs que j’ai fais à la tileentity au côté serveur ? En 1.12.2 c’etait avec un système de network, mais j’ai l’impression que ça a pas mal changé car les librairies que j’utilisais n’existent plus…
          Merci d’avance !

          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

            Pour les paquets en 1.13 et + récent, suis ce tutoriel : https://www.minecraftforgefrance.fr/topic/5343/communiquer-entre-le-client-et-le-serveur-le-réseau-et-les-paquets

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

              Super merci beaucoup pour ton aide !

              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