MFF

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

    Copier TileEntity

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    9 Messages 4 Publieurs 1.5k 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.
    • ThoquentT Hors-ligne
      Thoquent
      dernière édition par

      Salut,

      J’aimerais copier un coffre et son contenu à un endroit souhaité, mais le problème c’est qu’une fois copié, les coffres sont reliés.

      
      world.setBlock(targetx, targety, targetz, Blocks.chest);
      TileEntity tile = world.getTileEntity(x, y, z);
      NBTTagCompound nbt = new NBTTagCompound();
      tile.writeToNBT(nbt);
      nbt.setInteger("x", targetx);
      nbt.setInteger("y", targety);
      nbt.setInteger("z", targetz);
      tile.readFromNBT(nbt);
      world.setTileEntity(targetx, targety, targetz);
      
      

      Les coffres sont relié entre eux, si je modifie le contenu d’un, ça modifie aussi le contenu de l’autre.

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

        Salut, il faut que tu remplace java leEntity tile = world.getTileEntity(x, y, z); par quelque chose comme ```java
        leEntity tile = world.getTileEntity(x, y, z).copy();

        Sinon, les deux coffres ont le même tileentity.
        1 réponse Dernière réponse Répondre Citer 0
        • ThoquentT Hors-ligne
          Thoquent
          dernière édition par

          La méthode existe pas :x

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

            Non et il y a aucune méthode du genre, mais par contre, avec ce que tu as déjà fait, tu peux faire autre chose :

            
            

            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
            • ThoquentT Hors-ligne
              Thoquent
              dernière édition par

              TileEntity tile = world.getTileEntity(x, y, z);
              NBTTagCompound nbt = new NBTTagCompound();
              tile.writeToNBT(nbt);
              nbt.setInteger("x", x);
              nbt.setInteger("y", y);
              nbt.setInteger("z", z);
              tile.readFromNBT(nbt);
              
              TileEntityChest newChest = new TileEntityChest();
              newChest.readFromNBT(nbt);
              
              world.setTileEntity(x, y, z, newChest);
              

              Les coffres ne sont plus relié, si je casse le coffre original il me drop le stuff sans le retirer de l’autre, mais je ne peux pas ouvrir le coffre original. De plus, si je quitte et que je reviens dans le monde, le jeu plante:

              Details:
              Found chunk: true
              Location: World: (-91,4,518), Chunk: (at 5,0,6 in -6,32; contains blocks -96,0,512 to -81,255,527), Region: (-1,1; contains chunks -32,32 to -1,63, blocks -512,0,512 to -1,255,1023)
              
              
              1 réponse Dernière réponse Répondre Citer 0
              • AymericRedA Hors-ligne
                AymericRed
                dernière édition par

                Retire le “tile.readFromNBT(nbt);” il est inutile du coup. Et si ça crash toujours, envoie le rapport en entier 🙂

                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
                • ThoquentT Hors-ligne
                  Thoquent
                  dernière édition par

                  Le rapport y’a que marqué ça mais énormément de fois.
                  Sinon, j’ai trouvé la solution:

                  
                  TileEntity tilebase = world.getTileEntity(x, y, z);
                  NBTTagCompound nbt= new NBTTagCompound();
                  if(tilebase != null) {
                     tilebase.writeToNBT(nbt);
                  } else {
                     nbt= null;
                  }
                  
                  world.setBlock(targetx, targety, targetz, Blocks.chest, 0,3);
                  TileEntity tileentity = world.getTileEntity(targetx, targety, targetz);
                  if(nbttagbase != null && tileentity != null) {
                     nbt.setInteger("x", targetx);
                     nbt.setInteger("y", targety);
                     nbt.setInteger("z", targetz);;
                     tileentity.readFromNBT(nbt);
                     tileentity.markDirty();
                     world.setTileEntity(targetx, targety, targetz, tileentity);
                  }
                  
                  
                  1 réponse Dernière réponse Répondre Citer 0
                  • RedRelayR Hors-ligne
                    RedRelay Moddeurs confirmés
                    dernière édition par

                    Je te conseil de revoir les bases du Java sur la notion d’objets et de références 😉

                    –------------------------------------------------------------------------------------
                    Si tu trouves mon intervention pertinente, n'hésite pas a m…

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

                      Ah oui effectivement c’est plus propre et va plus éviter les crash.

                      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