Créer une armure
-
Ce message a été supprimé ! -
Ok merci j’aurais juste une dernière question, dans ma classe principale j’ai testé de créer une creativetabs et dans mon jeu une deuxième page apparaît bien le problème c’est que lorsque je clique dessus ça crash
-
Ça c’est en général causé par l’utilisation d’un item / bloc en tant qu’image qui est null.
Assures-toi que l’item / le bloc que tu as mis est bien initialisé, avant l’onglet créatif.
-
Bah j’ai ça comme code dans ma classe principale mais ça crash toujours …
package com.hypala.hypalacore.common; import com.hypala.hypalacore.proxy.CommonProxy; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraftforge.common.util.EnumHelper; @Mod(modid = "hypalacore", name = "HypalaCore", version = "1.0.0") public class HypalaCore { public static final String MODID = "hypalacore"; @Instance("hypalacore") public static HypalaCore instance; @SidedProxy(clientSide = "com.hypala.hypalacore.proxy.ClientProxy", serverSide = "com.hypala.hypalacore.proxy.CommonProxy") public static CommonProxy proxy; public static CreativeTabs tabHypalaCore; public static Item aithiaIngot, liriumIngot, iristIngot, mythicIngot, mythicFragment, helmetAithia, chestPlateAithia, leggingsAithia, bootsAithia; public static Item helmetLirium, chestPlateLirium, leggingsLirium, bootsLirium, helmetIrist, chestPlateIrist, leggingsIrist, bootsIrist; public static ArmorMaterial armorAithia = EnumHelper.addArmorMaterial("AITHIA", 30, new int[]{4, 9, 7, 4}, 20); public static ArmorMaterial armorLirium = EnumHelper.addArmorMaterial("LIRIUM", 40, new int[]{5, 10, 7, 5}, 25); public static ArmorMaterial armorIrist = EnumHelper.addArmorMaterial("IRIST", 50, new int[]{7, 10, 8, 7}, 15); @EventHandler public void preInit(FMLPreInitializationEvent event) { tabHypalaCore= new TabHypalaCore("HypalaCore") { }.setBackgroundImageName("tab_icon.png");; //Armure Aithia helmetAithia = new ArmorAithia(armorAithia, 0).setUnlocalizedName("Aithia Helmet").setTextureName("hypalacore:aithia_helmet").setCreativeTab(tabHypalaCore); chestPlateAithia = new ArmorAithia(armorAithia, 1).setUnlocalizedName("Aithia Chestplate").setTextureName("hypalacore:aithia_chestplate").setCreativeTab(tabHypalaCore); leggingsAithia = new ArmorAithia(armorAithia, 2).setUnlocalizedName("Aithia Leggings").setTextureName("hypalacore:aithia_leggings").setCreativeTab(tabHypalaCore); bootsAithia = new ArmorAithia(armorAithia, 3).setUnlocalizedName("Aithia Boots").setTextureName("hypalacore:aithia_boots").setCreativeTab(tabHypalaCore); GameRegistry.registerItem(helmetAithia, "aithia_helmet"); GameRegistry.registerItem(chestPlateAithia, "aithia_chestplate"); GameRegistry.registerItem(leggingsAithia, "aithia_legging"); GameRegistry.registerItem(bootsAithia, "aithia_boots"); //Armure Lirium helmetLirium = new ArmorLirium(armorLirium, 0).setUnlocalizedName("Lirium Helmet").setTextureName("hypalacore:lirium_helmet").setCreativeTab(tabHypalaCore); chestPlateLirium = new ArmorLirium(armorLirium, 1).setUnlocalizedName("Lirium Chestplate").setTextureName("hypalacore:lirium_chestplate").setCreativeTab(tabHypalaCore); leggingsLirium = new ArmorLirium(armorLirium, 2).setUnlocalizedName("Lirium Leggings").setTextureName("hypalacore:lirium_leggings").setCreativeTab(tabHypalaCore); bootsLirium = new ArmorLirium(armorLirium, 3).setUnlocalizedName("Lirium Boots").setTextureName("hypalacore:lirium_boots").setCreativeTab(tabHypalaCore); GameRegistry.registerItem(helmetLirium, "lirium_helmet"); GameRegistry.registerItem(chestPlateLirium, "lirium_chestplate"); GameRegistry.registerItem(leggingsLirium, "lirium_legging"); GameRegistry.registerItem(bootsLirium, "lirium_boots"); //Armure Irist helmetIrist = new ArmorIrist(armorIrist, 0).setUnlocalizedName("Irist Helmet").setTextureName("hypalacore:irist_helmet").setCreativeTab(tabHypalaCore); chestPlateIrist = new ArmorIrist(armorIrist, 1).setUnlocalizedName("Irist Chestplate").setTextureName("hypalacore:irist_chestplate").setCreativeTab(tabHypalaCore); leggingsIrist = new ArmorIrist(armorIrist, 2).setUnlocalizedName("Irist Leggings").setTextureName("hypalacore:irist_leggings").setCreativeTab(tabHypalaCore); bootsIrist = new ArmorIrist(armorIrist, 3).setUnlocalizedName("Irist Boots").setTextureName("hypalacore:irist_boots").setCreativeTab(tabHypalaCore); GameRegistry.registerItem(helmetIrist, "irist_helmet"); GameRegistry.registerItem(chestPlateIrist, "irist_chestplate"); GameRegistry.registerItem(leggingsIrist, "irist_legging"); GameRegistry.registerItem(bootsIrist, "irist_boots"); //Lingots aithiaIngot = new Ingot().setUnlocalizedName("Aithia Ingot").setTextureName("hypalacore:aithia_ingot").setCreativeTab(tabHypalaCore); liriumIngot = new Ingot().setUnlocalizedName("Lirium Ingot").setTextureName("hypalacore:lirium_ingot").setCreativeTab(tabHypalaCore); iristIngot = new Ingot().setUnlocalizedName("Irist Ingot").setTextureName("hypalacore:irist_ingot").setCreativeTab(tabHypalaCore); mythicIngot = new Ingot().setUnlocalizedName("Mythic Ingot").setTextureName("hypalacore:mythic_ingot").setCreativeTab(tabHypalaCore); mythicFragment = new Ingot().setUnlocalizedName("Mythic Fragment").setTextureName("hypalacore:mythic_fragment").setCreativeTab(tabHypalaCore); GameRegistry.registerItem(aithiaIngot, "aithia_ingot"); GameRegistry.registerItem(liriumIngot, "lirium_ingot"); GameRegistry.registerItem(iristIngot, "irist_ingot"); GameRegistry.registerItem(mythicIngot, "mythic_ingot"); GameRegistry.registerItem(mythicFragment, "mythic_fragment"); } @EventHandler public void init(FMLInitializationEvent event) { } @EventHandler public void postInit(FMLPostInitializationEvent event) { } }Tu saurais d’où ça vient ?
-
En fait tu n’as même pas mis d’icône a ton onglet, ce qui explique le problème.
-
Ah et comment j’en met un ? Pourtant dans mes dossiers j’ai bien ma texture qui est mise
-
La texture que tu as la c’est la texture de fond, pas l’item utilisé comme icône
-
Ah ok quelle est le code a mettre dans ce cas ?
-
C’est la fonction getTabIconItem qui gère ça.
En fait je suis en train de le dire sur tu l’as peut-être déjà, mais je ne peux pas savoir comme tu n’as pas envoyé le code de la classe de ton onglet créatif. -
Bah dans ma classe CreativeTabs j’ai presque rien
package com.hypala.hypalacore.common; public class HypalaCoreTabs { }Je dois mettre la fonction citée avant dans ce package ou a la suite dans la classe principale ?
-
Tout est expliqué là : https://www.minecraftforgefrance.fr/topic/1254/créer-un-onglet-créatif
-
D’accord merci d’avoir pris le temps de me répondre
-
@robin4002 pour mon creativetabs J’ai mis la fonction dans la classe Creativetabs mais lorsque je veux choisir un item comme icône il me transforme mon item en bloc
-
C’est-à-dire ?
Tu as mis quoi dans la classe de ton onglet créatif ? -
Dans ma classe CreativeTabs il y a ça :
package com.hypala.hypalacore.common; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; public class TabHypalaCore extends CreativeTabs { public TabHypalaCore(String lable) { super(lable); } @Override public Item getTabIconItem() { return null; } }Et lorsque je met HypalaCore.UN_ITEM, il me demande de remplacer la. déclaration de l’item en question en bloc au lieu d’item. C’est dommage qu’il n’y ait pas de vidéo sur ce tutoriel, je comprendrai mieux comment faire
-
Si tu mets directement le nom de la classe + l’item, sans la fonction
Item.getItemFromBlockça devrait être bon. -
@robin4002 Je ne vois pas la fonction que tu cite dans le code de la classe
-
Elle est dans le tutoriel.
-
Ah d’accord j’ai compris ce que tu voulais dire, mais lorsque je fait comme ça j’ai une erreur qui me dit d’ajouter un ; alors qu’il y en a un …
package com.hypala.hypalacore.common; package com.hypala.hypalacore.common; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; public class TabHypalaCore extends CreativeTabs { public TabHypalaCore(String lable) { super(lable); } @Override public Item getTabIconItem(HypalaCore."mythic_fragment"); } } -

ce n’est pas comme ça qu’on modifie la valeur renvoyé par une fonction, mais plutôt comme ça :
@Override public Item getTabIconItem() { return HypalaCore.mythic_fragment; }ce que tu as fait n’est pas du tout une syntaxe valide.