Creative Tab Background



  • Bonjour !,

    J'ai trouvé une ligne sur internet qui permet de définir un arrière-plan d'un creative tab.

    
    [size=mediumthis.mc.getTextureManager().bindTexture(new ResourceLocation("textures/gui/container/creative_inventory/tab_iutils"));]
    
    

    Le problème est que ça fonctionne pas et en plus je sais pas trop ou la placer , et j'ai un probleme avec "mc"…
    Et aussi j'ai aucune idée de la taille de l'image ...

    Bon bref , je vous laisse ma class :

    
    public class TabMod
    {
        public static CreativeTabs iutilstab = new CreativeTabs("iutilstab")
        {
            @SideOnly(Side.CLIENT)
            public Item getTabIconItem()
            {
                return ItemMod.speed_stick;
            }      
        };
        public static void register()
        {
    
        }
        public static void init()
        {
    
        }
    }
    
    

    En espérant que quelqu'un puisse m'aider !


  • Administrateurs

    Salut,
    Il y a la fonction setBackgroundImageName qui permet de définir un autre nom de texture.
    L'image sera ensuite a placé dans assets/minecraft/textures/gui/container/creative_inventory/ (il faut bien mettre minecraft, ce n'est pas une erreur)
    et devra être nommé : tab_nom.png où nom est ce que tu as mis en argument dans la fonction.



  • Salut,
    J'ai une question : c'est quoi la taille de l'image ?


  • Administrateurs

    Aucune idée, regardes les fichiers de texture des inventaires de minecraft.



  • Ok , mais j'ai un probleme avec le this , je peux pas le remplacer par iutilstab ?



  • Euh ,
    Je crois que ça fonctionne pas 😕
    0_1537628471004_backtabbug.png

    Bon voici ma class :

    
    public class TabMod
    {
        public static CreativeTabs iutilstab = new CreativeTabs("iutilstab")
        {
            @SideOnly(Side.CLIENT)
            public Item getTabIconItem()
            {
                return ItemMod.speed_stick;
            }
        };
        public static void register()
        {
    
        }
        public static void init()
        {
            iutilstab.setBackgroundImageName("assets/minecraft/textures/gui/container/creative_inventory/tab_iutilstab.png");
        }
    }
    
    

    et un screen du chemin de l'image :
    0_1537628482413_chemintabbackbug.png



  • Essaie de remplacer minecraft par iutils


  • Administrateurs

    @'robin4002':

    L'image sera ensuite a placé dans assets/minecraft/textures/gui/container/creative_inventory/ (il faut bien mettre minecraft, ce n'est pas une erreur)
    et devra être nommé : tab_nom.png où nom est ce que tu as mis en argument dans la fonction.

    Dans ton cas :
    public static CreativeTabs iutilstab = new CreativeTabs("iutilstab").setBackgroundImageName("iutilstab.png")

    et il faut que tu changes d'emplacement la texture.



  • Ca fonctionne mais le probleme est que la texture est localisée dans le dossier "minecraft\textures\gui\container\creative_inventory"
    or moi , je voudrai que la texture soit localisée dans "iutils\textures\gui\container\creative_inventory" 
    Est-ce possible ?

    EDIT : J'ai une deuxième question :
    j'ai trouvé ceci dans le code du jeu :

    
    /**
         * Determines if the search bar should be shown for this tab.
         *
         * @return True to show the bar
         */
        public boolean hasSearchBar()
        {
            return tabIndex == CreativeTabs.tabAllSearch.tabIndex;
        }
    
        /**
         * Gets the width of the search bar of the creative tab, use this if your
         * creative tab name overflows together with a custom texture.
         *
         * @return The width of the search bar, 89 by default
         */
        public int getSearchbarWidth()
        {
            return 89;
        }
    
    

    et j'ai fait ceci :

    
    public class TabMod
    {
        public static CreativeTabs iutilstab = new CreativeTabs("iutilstab")
        {
            @SideOnly(Side.CLIENT)
            public Item getTabIconItem()
            {
                return ItemMod.speed_stick;
            }
        };
        public boolean hasSearchBar()
        {
            return true;
        }
        public int getSearchbarWidth()
        {
            return 89;
        }
        public static void register()
        {
    
        }
        public static void init()
        {
            iutilstab.setBackgroundImageName("iutilstab.png");
        }
    }
    
    

    et la barre de recherche existe pas , y a t'il quelqu'un qui serait peut-être comment s'en servir ?


  • Administrateurs

    Vu le fonctionnement du code qui gère la texture, je ne vois pas comment on pourrai mettre le modid à la place de Minecraft.
    Pour la bare de recherche, regardes le code de l'onglet avec tous les items.



  • Ca fonctionne merci !
    J'avait juste oublié de mettre le Boolean dans les accolades dédiés a ma creativeTab 
    Sinon , pour l'emplacement du backgroud c'est pas grave !

    EDIT : Voila Le Résultat final :
    0_1537563913501_renducreativtab.png