MFF

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

    Mes Tile Entity ne sauvegarde pas

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.2
    4 Messages 3 Publieurs 1.2k 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.
    • VebertV Hors-ligne
      Vebert
      dernière édition par 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 réponse Dernière réponse Répondre Citer 0
      • robin4002R Hors-ligne
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
        dernière édition par

        Ton tile entity est bien enregistré ?

        1 réponse Dernière réponse Répondre Citer 0
        • jglrxavpokJ Hors-ligne
          jglrxavpok Modérateurs
          dernière édition par

          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 réponse Dernière réponse Répondre Citer 0
          • VebertV Hors-ligne
            Vebert
            dernière édition par

            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 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