Créer une armure
-
Merci !
Mais j’ai une nouvelle erreur maintenant : “modid cannot be resolved or is not a field”
Et eclipse me propose create field et create constant -
Envois ta class principale.
-
Soit dans ta classe principale tu mets :
public static final String MODID = “ton id de mod”; comme expliqué dans le tutoriel sur l’item basique.
Soit dans la classe de l’armure, tu remplaces ClassePrincipale.MODID par “ton id de mod”. -
Merci !

-
Pas énormément de changements par rapport a la 1.6

-
Bonjour à tous, j’ai tenté ce code en modifiant deux trois trucs comme les noms et les textures, mais les objets fonctionnent correctement, cependant, il est impossible de les revêtir en temps qu’armure, il est également impossible de le réparer sur une enclume, je vous met le contenu des deux classes dans un fichier texte: http://dl.pokemon-dimension.com/classes.txt
Merci d’avance

-
Déjà, tu as fail dans le nom de la méthode pour réparer.
Ensuite, tu as fail dans l’initialisation des éléments de ton armure. -
helmet = 0, chestplate = 1, leggings = 2, boots = 3.
Seul ton casque est bon, les autres tu as mit les mauvais nombres (dans la classe principale).
Et pour l’enclume, voir un message plus haut. -
j’ai tout fais sa marche sauf que je voi pas la texture … help me please
-
Code de ton armure ? Emplacement des fichiers png ?
-
Salut !
J’ai presque réussi a faire tout ce que tu fait dans ton tutoriel mais j’ai rencontré un problème : les textures de mon armure ne s’affiche pas sur mon joueur.
Je te passe ma classe principale et ma class “Armures”:package fr.blackpandagaming.dragonadventure.common; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraftforge.common.util.EnumHelper; 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 fr.blackpandagaming.dragonadventure.proxy.CommonProxy; @Mod(modid = DragonAdventure.MODID, name = "Dragon Adventure", version = "1.0.0") public class DragonAdventure { public static final String MODID = "dragonadventure"; @Instance(MODID) public static DragonAdventure instance; @SidedProxy(clientSide = "fr.blackpandagaming.dragonadventure.proxy.ClientProxy", serverSide = "fr.blackpandagaming.dragonadventure.proxy.CommonProxy") public static CommonProxy proxy; public static Item batonVert, batonRouge, batonBleu, batonBlanc, batonNoir, dragoniteVerte, dragoniteRouge, dragoniteBleue, dragoniteBlanche, dragoniteNoire, casqueDragoniteBlanche, plastronDragoniteBlanche, pentalonDragoniteBlanche, bottesDragoniteBlanche; public static ArmorMaterial Armures = EnumHelper.addArmorMaterial("Armures", 25, new int[]{4, 6, 5, 4}, 35); @EventHandler public void preInit(FMLPreInitializationEvent event) { batonVert = new Batons().setUnlocalizedName("batonVert").setTextureName(MODID + ":baton_vert").setCreativeTab(CreativeTabs.tabMaterials); batonRouge = new Batons().setUnlocalizedName("batonRouge").setTextureName(MODID + ":baton_rouge").setCreativeTab(CreativeTabs.tabMaterials); batonBleu = new Batons().setUnlocalizedName("batonBleu").setTextureName(MODID + ":baton_bleu").setCreativeTab(CreativeTabs.tabMaterials); batonBlanc = new Batons().setUnlocalizedName("batonBlanc").setTextureName(MODID + ":baton_blanc").setCreativeTab(CreativeTabs.tabMaterials); batonNoir = new Batons().setUnlocalizedName("batonNoir").setTextureName(MODID + ":baton_noir").setCreativeTab(CreativeTabs.tabMaterials); dragoniteVerte = new Batons().setUnlocalizedName("dragoniteVerte").setTextureName(MODID + ":dragonite_verte").setCreativeTab(CreativeTabs.tabMaterials); dragoniteRouge = new Batons().setUnlocalizedName("dragoniteRouge").setTextureName(MODID + ":dragonite_rouge").setCreativeTab(CreativeTabs.tabMaterials); dragoniteBleue = new Batons().setUnlocalizedName("dragoniteBleue").setTextureName(MODID + ":dragonite_bleue").setCreativeTab(CreativeTabs.tabMaterials); dragoniteBlanche = new Batons().setUnlocalizedName("dragoniteBlanche").setTextureName(MODID + ":dragonite_blanche").setCreativeTab(CreativeTabs.tabMaterials); dragoniteNoire = new Batons().setUnlocalizedName("dragoniteNoire").setTextureName(MODID + ":dragonite_noire").setCreativeTab(CreativeTabs.tabMaterials); casqueDragoniteBlanche = new Armures(Armures, 0).setUnlocalizedName("casqueDragoniteBlanche").setTextureName(MODID + ":casquedragonite_blanche"); plastronDragoniteBlanche = new Armures(Armures, 1).setUnlocalizedName("plastronDragoniteBlanche").setTextureName(MODID + ":plastrondragonite_blanche"); pentalonDragoniteBlanche = new Armures(Armures, 2).setUnlocalizedName("pentalonDragoniteBlanche").setTextureName(MODID + ":pentalondragonite_blanche"); bottesDragoniteBlanche = new Armures(Armures, 3).setUnlocalizedName("bottesDragoniteBlanche").setTextureName(MODID + ":bottesdragonite_blanche"); GameRegistry.registerItem(batonVert, "baton_vert"); GameRegistry.registerItem(batonRouge, "baton_rouge"); GameRegistry.registerItem(batonBleu, "baton_bleu"); GameRegistry.registerItem(batonBlanc, "baton_blanc"); GameRegistry.registerItem(batonNoir, "baton_noir"); GameRegistry.registerItem(dragoniteVerte, "dragonite_verte"); GameRegistry.registerItem(dragoniteRouge, "dragonite_rouge"); GameRegistry.registerItem(dragoniteBleue, "dragonite_bleue"); GameRegistry.registerItem(dragoniteBlanche, "dragonite_blanche"); GameRegistry.registerItem(dragoniteNoire, "dragonite_noire"); GameRegistry.registerItem(casqueDragoniteBlanche, "casquedragonite_blanche"); GameRegistry.registerItem(plastronDragoniteBlanche, "plastrondragonite_blanche"); GameRegistry.registerItem(pentalonDragoniteBlanche, "pentalondragonite_blanche"); GameRegistry.registerItem(bottesDragoniteBlanche, "bottesdragonite_blanche"); } @EventHandler public void init(FMLInitializationEvent event) { proxy.registerRender(); } @EventHandler public void postInit(FMLPostInitializationEvent event) { } }Et voici ma class “Armures”:
package fr.blackpandagaming.dragonadventure.common; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.world.World; public class Armures extends ItemArmor { public Armures(ArmorMaterial material, int type) { super(material, 0, type); } public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { if(slot == 2) { return DragonAdventure.MODID + ":textures/models/armor/DragoniteBlanche_leyer_2"; } return DragonAdventure.MODID + ":textures/models/armor/DragoniteBlanche_leyer_1"; } public boolean getIsRepairable(ItemStack input, ItemStack repair) { if(repair.getItem() == DragonAdventure.dragoniteBlanche || repair.getItem() == DragonAdventure.dragoniteBlanche) { return true; } return false; } public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 210, 2)); } }Petite précision : mes textures ( DragoniteBlanche_leyer_1 et DragoniteBlanche_leyer_2 ) ont était faites avec novaskin, juste au cas ou…

Cordialement.
-
Il manque les .png dans la fonction getArmorTexture
-
Merci infiniment ! C’est quand même fou de foirer des textures in game juste pour 3 lettres

Cordialement.
-
Salut,
Je suis désolé de vous déranger encore une foie mais j’aimerais créer plusieurs armures avec des effets ( si possible dans la même class ) mais je n’ais pas très bien compris comment il faut faire, quelqu’un peut-il m’aider ?
Cordialement.
-
@‘BlackPanda’:
Salut,
Je suis désolé de vous déranger encore une foie mais j’aimerais créer plusieurs armures avec des effets ( si possible dans la même class ) mais je n’ais pas très bien compris comment il faut faire, quelqu’un peut-il m’aider ?
Cordialement.
tien sa devrais marcher ^^
public class NomDeTaClasse extends ItemArmor { private ItemArmor.ArmorMaterial material; { super(material, 0, type); this.material = material; this.setCreativeTab(Class.Tabs); } // ton rendu //ta fonction pour réparer l'item //la fonction de l'effet public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { if(this.armorType == 0 && this.material == classDeTonArmoreMaterial.ArmoreMaterial) { player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 240, 0)); }voilà ^^
if(this.armorType == 0 && this.material == classDeTonArmoreMaterial.ArmoreMaterial)sa veut dire que si l’armure est un casque ET que il est de material quelque chose (exemple classPrincipale.armorBlack)
-
Merci de ta réponse rapide, mais peut-tu plutôt m’aider par rapport a ma classe “Armures” s’il te plait ?
Je voudrais rajouter encore 4 autres armures avec des effets différents.La voici :
package fr.blackpandagaming.dragonadventure.common; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.world.World; public class Armures extends ItemArmor { public Armures(ArmorMaterial material, int type) { super(material, 0, type); } //Armure en Dragonite blanche public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { if(stack.getItem() == DragonAdventure.pentalonDragoniteBlanche) { return DragonAdventure.MODID + ":textures/models/armor/DragoniteBlanche_leyer_2.png"; } return DragonAdventure.MODID + ":textures/models/armor/DragoniteBlanche_leyer_1.png"; } public boolean getIsRepairable1(ItemStack input, ItemStack repair) { if(repair.getItem() == DragonAdventure.dragoniteBlanche || repair.getItem() == DragonAdventure.dragoniteBlanche) { return true; } return false; } public void onArmorTick1(World world, EntityPlayer player, ItemStack stack) { player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 210, 2)); } } -
je ne comprend pas ajouter 4 autres ?
bon edit:
exemple pour ajouter d’autre armure avec d’autre effet tu doit faire cela :package fr.blackpandagaming.dragonadventure.common; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.world.World; public class Armures extends ItemArmor { private ItemArmor.ArmorMaterial material; public Armures(ItemArmor.ArmorMaterial material, int type) { super(material, 0, type); this.material = material; } //Armure en Dragonite blanche public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { if(stack.getItem() == DragonAdventure.pentalonDragoniteBlanche) { return DragonAdventure.MODID + ":textures/models/armor/DragoniteBlanche_leyer_2.png"; } return DragonAdventure.MODID + ":textures/models/armor/DragoniteBlanche_leyer_1.png"; } public boolean getIsRepairable1(ItemStack input, ItemStack repair) { if(repair.getItem() == DragonAdventure.dragoniteBlanche || repair.getItem() == DragonAdventure.dragoniteBlanche) { return true; } return false; } public void onArmorTick1(World world, EntityPlayer player, ItemStack stack) { if(this.material == ClassePrincipale.nomDuMaterial) { player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 210, 2)); } if(this.material == ClassePrincipale.unAutreMaterial) { //de nouveau un effet } //tu recommence les méthode a chaque fois :p } } -
Heu ?
Déjà si tu mets des 1 à la fin de des fonctions ça ne peut pas fonctionner.
Il faut faire comme ça :public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { if(stack.getItem() == DragonAdventure.pentalonDragoniteBlanche) { return DragonAdventure.MODID + ":textures/models/armor/DragoniteBlanche_leyer_2.png"; } else if(stack.getItem() == DragonAdventure.casqueDragoniteBlanche || stack.getItem() == DragonAdventure.plastronDragoniteBlanche || stack.getItem() == DragonAdventure.bottesDragoniteBlanche) { return DragonAdventure.MODID + ":textures/models/armor/DragoniteBlanche_leyer_1.png"; } else if(stack.getItem() == DragonAdventure.pentalon d une autre armure) { return DragonAdventure.MODID + ":textures/models/armor/autre armure_layer_2.png"; } else if(stack.getItem() etc … } public boolean getIsRepairable(ItemStack input, ItemStack repair) { if((input.getItem() == DragonAdventure.casqueDragoniteBlanche || input.getItem() == DragonAdventure.plastronDragoniteBlanche || input.getItem() == DragonAdventure.pentalonDragoniteBlanche || input.getItem() == DragonAdventure.bottesDragoniteBlanche) repair.getItem() == DragonAdventure.dragoniteBlanche) { return true; } else if(même chose avec les autres armures et le matériel de réparation qui va avec) { return true; } etc ... return false; } public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { if(this == DragonAdventure.casqueDragoniteBlanche) { player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 210, 2)); } else if(condition avec une autre armure) { //autre code } } } -
merci, robin j’avais pas vue :D,
et là je pense que ton problème est résolue ^^. -
Merci bien pour toutes ces explications mais si j’ai eu beaucoup de mal a les comprendre… ^^
C’est cool de votre part !Cordialement.
