Créer un onglet créatif
-
Bonjour à tous, voici un petit tutoriel pour vous apprendre à créer une table en créatif
Prérequis
Avoir créé au moins un bloc et/ou un item.
Sommaire
1. La classe principale
Tous d’abord, vous allez déclarer votre table créative.
public static CreativeTabs TutorialCreativeTabs = new TutorialCreativeTabs("TutorialCreativeTabs");
Vous aurez une erreur à TutorialCreativeTabs (celui après le new), créez la classe TutorialCreativeTabs.
2. La classe TutorialCreativeTabs
Vous devriez obtenir ceci :
package tutoriel.common; import net.minecraft.creativetab.CreativeTabs; public class TutorialCreativeTabs extends CreativeTabs { public TutorialCreativeTabs(String label) { super(label); } }
Rajoutez à la fin :
@Override public ItemStack getIconItemStack() { return new ItemStack(ModTutoriel.BlockTutorial); }
<!>N’oubliez pas d’importer ItemStack
Remplacez ModTutoriel par votre classe principale et BlockTutorial par la classe du bloc ou de l’item que vous voulez.Voilà votre table créative est créée mais il n’y a aucun bloc ni item de votre mod.
3. Les Blocs et Items
Pour chacun de vos blocs et items, vous devrez rajouter dans le constructeur de la classe :
this.setCreativeTab(ModTutoriel.TutorialCreativeTabs);
Voilà votre table créative est créée, vous voyez vos blocs et vos items, mais votre table créative porte le nom “itemGroup.TutorialCreativeTabs”, ne vous inquiétez pas, on va arrangé cela.
4.Ressources
Dans votre fichier en_US.lang, rajoutez:
#CreativeTabs itemGroup.TutorialCreativeTabs=Tutorial Creative Table
Et dans votre fichier fr_FR.lang, rajouter:
#CreativeTabs itemGroup.TutorialCreativeTabs=Tutoriel Table Créative
Pour la 1.5.2 et inférieur
Ajoutez dans le @Init :
LanguageRegistry.instance().addStringLocalization("itemGroup.TutorialCreativeTabs", "en_US", "Tutorial Creative Tab"); LanguageRegistry.instance().addStringLocalization("itemGroup.TutorialCreativeTabs", "fr_FR", "Tutoriel Table Creative");
Les fichiers en_US.lang et fr_FR.lang ne servent à rien en 1.5.2.
Rendu final
-
tutoriel bien expliqué ^^.
-
Note : On peut aussi éviter de faire la classe avec une ligne :
A mettre dans le fichier main du mod :
public static final CreativeTabs ExempleTab = new CreativeTabs("exempleTab");
Mais je ne sais pas comment y ajouter une icone ( Ce sera un block de stone en icone de base )
-
Juste … je voudrai savoir pour quoi sa m’affiche toujours “itemGroup.TutorialCreativeTabs” quand je suis sur ma table creatif … sa commence a m’énervai car sa fais au moin plus d’une heur que je suis dessus …
-
Fichier de lang. Vérifie que tu n’as pas mit d’espace avant et après le =
-
justement c’est tout nickel T_T
-
Tes blocs et items apparaissent dedans ou pas?
Si tu veux un exemple concret qui marche en 1.5.2 regardes : https://github.com/Superloup10/Ere_Geologique/blob/master/ere_geologique/common/EreGeologique.java , https://github.com/Superloup10/Ere_Geologique/blob/master/ere_geologique/common/EGCreativeTab.java , https://github.com/Superloup10/Ere_Geologique/blob/master/mods/EreGeologique/lang/fr_FR.lang
-
Merci, oui mais bloques est items apparaissent dedans :), et merci, car c’est en 1.5.2 justement ^^.
-
Si tu reprends les codes depuis mon Github, tu ne devrais pas avoir de soucis, j’ai mis très longtemps à le déboguer.
-
XD, et bien merci car sa va ma filai la un sacrai coup de main, hier j’ai du y restai 2h nonstops dessus x).
-
J’ai mis un peu plus de 48 h à trouver d’où venait mes erreurs.
-
Tu va pas me croire –', sa ne fonctionne toujours pas !
-
Tu peux poster des screens et des bouts de ton code que je puisse trouver ce qui bug.
-
Ok tien
::::
Class principale:@PreInit public void preload(FMLPreInitializationEvent event) { // creative tabs Teste.loadCreativeTab(); }
Class de la table créatife:
package "nom_de_mon_mod".common; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; public class Teste extends CreativeTabs { public static CreativeTabs Teste; public static void loadCreativeTab() { Teste = new Teste("Teste"); } public Teste(String name) { super(name); } @Override public ItemStack getIconItemStack() { return new ItemStack("nom_de_mon_mod"."nom_de_mon_bloque"); } }
le fichier en_US.lang:
//CreativeTabs itemGroup.Teste = Teste tabs
:::
In game sa me fais toujours le “itemGroup.Teste”
PS: j’ai fais exactement comme toi … excepté pour le bloque qui apparais dans le petit onglé.
-
Tu n’aurais pas oublié de mettre ça :
LanguageRegistry.instance().loadLocalization("/mods/EreGeologique/lang/en_US.lang", "en_US", false); LanguageRegistry.instance().loadLocalization("/mods/EreGeologique/lang/fr_FR.lang", "fr_FR", false);
A mettre dans le @PostInit.
-
LOL ok XD___
Hou ! Hou ! Hou ! Hourra ! merci beaucoup pour votre aide ^^. -
Comme ça tu peux également rajouter tes blocs, tes items et des entitées dedans.
-
oui … en parlent des bloques et des items … maintenant il n’apparaisse pas dans la table créatife … -__-
-
C’est normal, il faut que tu modifies
this.setCreativeTab(EGCreativeTab.EGCreativeTab);
-
oui bain justement … c’est déjà fais lol… une solution ?? T_T