Ordonner son onglet créatif



  • Bonjour j'aimerais savoir si il y a moyen de choisir l'ordre des items qui s'affichent dans notre onglet créatif personnalisé 
    Merci d'avance



  • Cadeau : https://www.minecraftforgefrance.fr/showthread.php?tid=1390#bonus
    (Dans la partie bonus).
    Je ne penses pas que ça ait changé en 1.11 (ou pas beaucoup) donc ça devrait marcher.



  • Pour ma part je fait une boucle for pour enregistrer les items (ce qui m'évite d'écrire des tonnes de lignes) et mes items sont biens enregistrés comme je le désire et dans le sens de ma list.



  • Bonjour je viens d'essayer le bonus mas j'ai des erreurs partout (la première méthode n'est pas reconnu est le type liste ne convient pas )
    Je vais essayer de résoudre ses erreurs



  • Salut, envoi ton code stp afin que nous puissions mieux cerner le problème



  • Voici mon code (désolé pour le retard)

    public class SimpleoresTab extends CreativeTabs{
    NonNullList <itemstack>list;
    public SimpleoresTab() {
    super("simpleoresitems");
    }
    
    @Override
    public ItemStack getTabIconItem() {
    return new ItemStack(SimpleoresItems.COPPER_INGOT);
    }
    
    @Override
    public boolean hasSearchBar() {
    return true;
    }
    @Override
    public void displayAllReleventItems(List list)
    {
     this.list = list;
      addItem(SimpleoresItems.AMNETHYSTE);
    }
    private void addItem(Item item)
    {
      item.getSubItems(item, this, list);
    
    }
    
    private void addBlock(Block block)
    {
      block.getSubBlocks(Item.getItemFromBlock(block), this, list);
    }
    
    }
    
    

    Voici mes erreurs: retirer l'annotation override sur displayAllReleventItems
    sur this.list = list créer un paramètre liste</itemstack>



  • Déjà pour commencer li bien le tuto car ta fait n'importe quoi 🙂
    le contenu de tes fonctions addBlock() addItem() et displayAllReleventItems() sont complement inverser



  • Bonjour je n'ai plus aucune erreur par contre quand je lance le jeu mon onglet n'as pas du tout l'organisation que j'ai mis



  • Code please



  • Je pense qu'il y a un problème avec ma première fonction car j'ai du enlever l'annotation override pour retirer toutes les erreurs voici le code

    package fr.priya.simpleores.tab;
    
    import java.awt.List;
    
    import fr.priya.simpleores.blocks.SimpleoresBlocks;
    import fr.priya.simpleores.items.SimpleoresItems;
    import net.minecraft.block.Block;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemStack;
    import net.minecraft.util.NonNullList;
    import net.minecraftforge.fml.relauncher.Side;
    import net.minecraftforge.fml.relauncher.SideOnly;
    
    public class SimpleoresBlocksTab extends CreativeTabs{
    NonNullList <itemstack>list;
    public SimpleoresBlocksTab() {
    super("simpleoresblocks");
    }
    
    @Override
    public ItemStack getTabIconItem() {
    return new ItemStack(SimpleoresItems.COPPER_INGOT);
    }
    
    @Override
    public boolean hasSearchBar() {
    return true;
    }
        @SideOnly(Side.CLIENT)
    public void displayAllReleventItems(NonNullList <itemstack>list)
    {
    this.list = list; 
     addBlock(SimpleoresBlocks.COPPER_BLOCK);
     addBlock(SimpleoresBlocks.TIN_BLOCK);
     addBlock(SimpleoresBlocks.AMNETHYSTE_BLOCK);
     addBlock(SimpleoresBlocks.RUBIS_BLOCK);
     addBlock(SimpleoresBlocks.SAPHIR_BLOCK);
     addBlock(SimpleoresBlocks.ANDESITE_BRICKS);
     addBlock(SimpleoresBlocks.DIORITE_BRICKS);
     addBlock(SimpleoresBlocks.GRANITE_BRICKS);
     addBlock(SimpleoresBlocks.RED_BRICKS);
     addBlock(SimpleoresBlocks.RED_PILLAR);
     addBlock(SimpleoresBlocks.VERT_BRICKS);
     addBlock(SimpleoresBlocks.VERT_PILLAR);
     addBlock(SimpleoresBlocks.ANDESITE_STAIRS);
     addBlock(SimpleoresBlocks.DIORITE_STAIRS);
     addBlock(SimpleoresBlocks.GRANITE_STAIRS);
     addBlock(SimpleoresBlocks.BANDESITE_STAIRS);
     addBlock(SimpleoresBlocks.BDIORITE_STAIRS);
     addBlock(SimpleoresBlocks.BGRANITE_STAIRS);
     addBlock(SimpleoresBlocks.TANDESITE_STAIRS);
     addBlock(SimpleoresBlocks.TDIORITE_STAIRS);
     addBlock(SimpleoresBlocks.TGRANITE_STAIRS);
     addBlock(SimpleoresBlocks.RED_NETHER_BRICK_STAIRS);
     addBlock(SimpleoresBlocks.RED_BRICKS_STAIRS);
     addBlock(SimpleoresBlocks.VERT_BRICKS_STAIRS);
     addBlock(SimpleoresBlocks.PRISMARINE_BRICKS_STAIRS);
     addBlock(SimpleoresBlocks.PRISMARINE_DARK_STAIRS);
     addBlock(SimpleoresBlocks.END_BRICKS_STAIRS);
     addBlock(SimpleoresBlocks.IRON_STAIRS);
    
    }
    private void addItem(Item item)
    {
     item.getSubItems(item, this, list);
    
    }
    
    private void addBlock(Block block)
    {
     block.getSubBlocks(Item.getItemFromBlock(block), this, list);
    }
    
    }
    
    ```</itemstack></itemstack>


  • normal l'override te permet de voir tes erreurs xD remet le et regarde pourquoi ca ne va pas



  • Voici mon erreur j'arriva pas a trop comprendre

    The method displayAllReleventItems(NonNullList<itemstack>) of type SimpleoresBlocksTab must override or
    implement a supertype method
    

    et j''ai regardé dans la classe CreativeTabs j'ai trouvé ceci pour ma fonction

      /**
         * only shows items which have tabToDisplayOn == this
         */
        @SideOnly(Side.CLIENT)
        public void displayAllRelevantItems(NonNullList <itemstack>p_78018_1_)
    ```</itemstack></itemstack>


  • copier coller et tu met le @override 😄 ou alors si tes sous eclipse tu fait code > override method



  • Merci beaucoup tout fonctionne à merveille ! Je ferme le sujet