CreativeTabs (items)



  • Bonjour à tous,

    Je suis en train de faire un mod forge 1.7.10 et j'ai créé un armure complète (casque,plastron,jambières,bottes) mais les items ne sont pas en ordre dans le creativetab et pour les outils aussi. Alors est-ce que quelqu'un sait comment régler se bug s'il vous plait ?

    C'est les items verts et bleus qu'ils ne sont pas en ordre !


  • Administrateurs

    Salut,
    L'ordre dépend des id, et les id sont attribués automatiquement depuis la 1.7.
    Donc tu ne peux pas y faire grand chose …

    ÉDIT : je ne suis pas certains mais l'attribution des id se fait surement en fonction de l'ordre dans lequel tu enregistres tes items. À vérifier.



  • Personnellement, ça se corrige quand je passe le mod sur mon serveur ou quand je recréais un monde essaye pour voir



  • Oui je crois que c'est dans l'ordre d'enregistrement du code et sinon j'ai cru voir l'autre jour un développeur qui montrait une technique pour donner de l'ordre dans les ID, cherches ! 🙂



  • Salut, dans le bonus sur le tuto des tables créatifs, il me semble qu'il y a un moyen de corriger ça.



  • Comme l'as dit aymeric faut juste chercher :: 🙂
    L'ordre des blocs et items :

    Nous allons utiliser cette méthode afin de définir l'ordre d'affichage des items :

    Code Java : (Tout sélectionner)

    1. @Override

    2. public void displayAllReleventItems(%(#000000)

      • {
      • }

      Je vais pour cela utiliser deux méthodes qui vont rendre plus facile l'ajout des items :

      Code Java : (Tout sélectionner)

      1. private void addItem(Item item)
      2. {
      3.    item.getSubItems(item, this, list);
      4. }
      5. private void addBlock(Block block)
      6. {
      7.    block.getSubBlocks(Item.getItemFromBlock(block), this, list);
      8. }

      Ces deux méthodes appellent juste la méthode "getSubItems" pour les items et "getSubBlocks" pour les blocs, méthodes que vous utilisez pour savoir quel "metadata" ou "damage value" allait être présent dans la table.

      Il vous suffit ensuite d'ajouter une variable "list" accessible dans toute la classe comme ceci afin d'utiliser les méthodes :

      Code Java : (Tout sélectionner)

      1. %(#000000)

        et de la lier avec le paramètre "list" de la méthode :

        Code Java : (Tout sélectionner)

        1. this.%(#000000)

          Il ne vous reste plus qu'à appeler les méthodes dans l'ordre où vous voulez vos items, par exemple :

          Code Java : (Tout sélectionner)

          1. @Override

          2. public void displayAllReleventItems(%(#000000)

            • {

            •    this.%(#000000)

              •     addBlock(Blocks.stone);
              •     addItem(Items.apple);
              •     addBlock(Blocks.wool);
              • }

              L’inconvénient de cette méthode est qu'il faut ajouter manuellement tout les items que vous voulez mettre.