MFF

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

    Tab nbt et tooltip.

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    6 Messages 3 Publieurs 1.6k 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.
    • S Hors-ligne
      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
      • robin4002R Hors-ligne
        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 Hors-ligne
          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
          • robin4002R Hors-ligne
            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 Hors-ligne
              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
              • AymericRedA Hors-ligne
                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
                ContactMentions Légales

                MINECRAFT FORGE FRANCE © 2024

                Powered by NodeBB