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

    Résolu Tab nbt et tooltip.

    1.7.x
    1.7.10
    3
    6
    1421
    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.
    • S
      Samsoule63 dernière édition par

      Excusez moi d’avance , mais je n’avaus aucune idée d’ou poser mon problème (je supprimerai mon message si j’en ai la demande
      Voila mon problème : j’ai créé un item avec un tag NBT int associé que je shouaites afficher en tooltip grace à addInformation().
      Sauf que quand je modifie mon tag , j’aimerai mettre a jour l’affichage de ce dernier (le tag nbt évolue alors que le texte d’info ne bouge pas)
      Y aurais t’il une fonction à appeler pour rafraichir cet affichage?Je l’ai cherché mais je ne l’ai pas trouvé
      Merci pour vos réponces

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

        Salut,
        Envoies-nous le code de ton item.

        à l’avenir il serait mieux de créer une discussion dans la section support pour les moddeurs.
        EDIT : en fait il y a une option pour “fractionner” les messages, donc j’ai pu déplacé ton message vers une nouvelle discussion dans la bonne section.
        J’ai changé le titre de la discussion, tu pourrai y ajouter la balise de version ou me dire en quelle version tu dev ?

        1 réponse Dernière réponse Répondre Citer 0
        • S
          Samsoule63 dernière édition par

          Je suis en forge 1.7.10 (build 10.13.4.1558) et je sais pas comment changer la balise de la discution (ce ce voit que je suis membre depuis 4 jours ?)

          @Override
          public void addInformation(ItemStack itemstack, EntityPlayer player, List l, boolean flag) {
          super.addInformation(itemstack, player, l, flag);
          if(itemstack.stackTagCompound == null || !itemstack.stackTagCompound.hasKey("torchesLeft",Constants.NBT.TAG_INT)){
          itemstack.stackTagCompound = new NBTTagCompound();
          int meta = itemstack.getItemDamage();
          if(meta>=metaNumber)
          meta = 0;
          itemstack.stackTagCompound.setInteger("TorchesLeft", maxTorchesFromMeta[meta]);
          }
          l.add("Torches left :"+itemstack.stackTagCompound.getInteger("TorchesLeft"));
          
          }
          
          @Override
          public void onCreated(ItemStack itemstack, World w, EntityPlayer pl) {
          super.onCreated(itemstack, w, pl);
          if (itemstack.stackTagCompound == null
          || !itemstack.stackTagCompound.hasKey("TorchesLeft", Constants.NBT.TAG_INT)) {
          itemstack.stackTagCompound = new NBTTagCompound();
          int meta = itemstack.getItemDamage();
          if (meta >= metaNumber)
          meta = 0;
          itemstack.stackTagCompound.setInteger("TorchesLeft", maxTorchesFromMeta[meta]);
          }
          
          }
          

          maxTorchesFromMeta est un tableau de int qui renvoie à l’indice x , le nombre maximal pour mon tag pour un meta de x
          metaNumber est le nombre de metadatas autorisés (soit la taille de mon tableau , pour eviter une ArrayIndexOutsOfBoundsException)

          @Override
          public void onWornTick(ItemStack itemstack, EntityLivingBase player) {
          if (itemstack.stackTagCompound == null
          || !itemstack.stackTagCompound.hasKey("TorchesLeft", Constants.NBT.TAG_INT)) {
          itemstack.stackTagCompound = new NBTTagCompound();
          int meta = itemstack.getItemDamage();
          if (meta >= metaNumber)
          meta = 0;
          itemstack.stackTagCompound.setInteger("TorchesLeft", maxTorchesFromMeta[meta]);
          }
          itemstack.stackTagCompound.setInteger("TorchesLeft", itemstack.stackTagCompound.getInteger("TorchesLeft")-1);
          }
          

          cette metrhode est donée par baubles et est appelée à chaque tick quand l’item est porté

          public TorchAmulet() {
          this.setMaxStackSize(1);
          this.setHasSubtypes(true);
          }
          

          Et voila mon constructeur

          Sinon il y a juste les deux lignes

          torchAmulet = new TorchAmulet().setUnlocalizedName("torch_amulet")
          .setTextureName(TorchMod.MODID + ":" + "torch_amulet").setCreativeTab(CreativeTabs.tabTools);
          GameRegistry.registerItem(torchAmulet, "torch_amulet");
          

          pour enregistrer mon item.

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

            Dans la fonction addInformation tu as mit torchesLeft au lieu de TorchesLeft pour la condition hasKey, du-coup le tag nbt est réinitialisé à chaque fois.

            1 réponse Dernière réponse Répondre Citer 0
            • S
              Samsoule63 dernière édition par

              Merci ! J’avais revérifié pourtant ! Dsl du derangement.
              Y’a une chose à faire pour conclure la discusions ?

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

                Oui, mettre la balise résolu (editer ton premier message => balise résolu).

                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
                Contact / Mentions Légales

                MINECRAFT FORGE FRANCE © 2018

                Powered by NodeBB