• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved Mes Tile Entity ne sauvegarde pas

    1.7.x
    1.7.2
    3
    4
    1046
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Vebert
      Vebert last edited by robin4002

      J’ai crée des Tile Entity pour mon mod en 1.7.2, (j’ai suivis les vieux tuto, mais le problème c’est que celles-ci marchent temps que la map reste chargée ). Une fois la map sauvegardé et relancé toutes les valeurs sont a 0.

      Le code est très simple j’ai peut-être oublié quelque chose ou la 1.7 a peut-etre changé quelques chose.
      Le Block :

      
      public class Axe extends BlockContainer{
      
      public Axe() {
      super(Material.wood);
      }
      
      public TileEntity createTileEntity(World world, int metadata)
      {
      return new TileEntityAxe();
      }
      
      public boolean hasTileEntity(int metadata)
      {
      return true;
      }
      
      public boolean renderAsNormalBlock()
      {
      return false;
      }
      
      public boolean isOpaqueCube()
      {
      return false;
      }
      
      /**
      * The type of render function that is called for this block
      */
      public int getRenderType()
      {
      return ClientProxy.renderInventoryHandEnergieMakerId;
      }
      
      @Override
      public TileEntity createNewTileEntity(World var1, int var2) {
      return new TileEntityAxe();
      }
      
      }
      
      

      Le TileEntity :

      
      public class TileEntityAxe extends TileEntityEnergieConduct{
      private float angle = 0;
      private int direction = 0;
      private boolean change = true;
      public boolean[] connect = {false,false};
      
      public void readFromNBT(NBTTagCompound nbtTag)
      {
      super.readFromNBT(nbtTag);
      nbtTag.setInteger("Direction", this.direction);
      nbtTag.setBoolean("connect1", this.connect[0]);
      nbtTag.setBoolean("connect2", this.connect[1]);
      
      }
      
      public void writeToNBT(NBTTagCompound nbtTag)
      {
      super.writeToNBT(nbtTag);
      connect[0] = nbtTag.getBoolean("connect1");
      connect[1] = nbtTag.getBoolean("connect2");
      direction = nbtTag.getInteger("Direction");
      }
      }
      }
      

      Merci pour votre aide.
      Vebert

      1 Reply Last reply Reply Quote 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

        Ton tile entity est bien enregistré ?

        1 Reply Last reply Reply Quote 0
        • jglrxavpok
          jglrxavpok Modérateurs last edited by

          J’ai eu le même problème récemment, ajoute ces deux méthodes:

          public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt)
          {
          this.readFromNBT(pkt.func_148857_g());
          }
          
          public Packet getDescriptionPacket()
          {
          NBTTagCompound nbttagcompound = new NBTTagCompound();
          this.writeToNBT(nbttagcompound);
          return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 3, nbttagcompound);
          }
          

          Il faut juste faire lire les valeurs au client 😉

          Modérateur sur MFF. 
          Mon Github: http://github.com/jglrxavpok
          Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

          1 Reply Last reply Reply Quote 0
          • Vebert
            Vebert last edited by

            Merci avec les deux fonction que ma donné jglrxavpok ça marche impeccable.
            J’avais d’ailleurs une deuxième erreur ma fonction read écrivait dans le fichier et ma fonction write lisait….

            Problème résolu merci a vous.
            Vebert

            1 Reply Last reply Reply Quote 0
            • 1 / 1
            • First post
              Last post
            Design by Woryk
            Contact / Mentions Légales

            MINECRAFT FORGE FRANCE © 2018

            Powered by NodeBB