Render Models
-
Je peux voir la déclaration de ton ArmorMaterial dans ta classe principale ?
Aussi je viens de voir qu’il manque le : dans le return de ta fonction getArmorTexture -
Rajoute l’annotation @override au-dessus de ta méthode pour vérifier qu’elle existe, ou fait Alt + shift + s puis “override/implement methods” et choisis la méthode, çà évite de faire des erreurs.
-
Pour la déclaration de ton matériel d’armure ça ce passe comme ça (avec la déclaration des items) :
public static ArmorMaterial enumArmorMaterialViridis = EnumHelper.addArmorMaterial("VIRIDIS", "viridis", 17, new int[] {3, 6, 5, 3}, 9);"
(String name, String textureName, int durability, int[] reductionAmounts, int enchantability)"
L’armure en diamant ayant ces propriétés :
DIAMOND("diamond", 33, new int[]{3, 8, 6, 3}, 10);Puis les items :
public static Item viridisHelmet = new ViridisArmor(enumArmorMaterialViridis, 5, 0); public static Item viridisChestplate = new ViridisArmor(enumArmorMaterialViridis, 5, 1); public static Item viridisLeggings = new ViridisArmor(enumArmorMaterialViridis, 5, 2); public static Item viridisBoots = new ViridisArmor(enumArmorMaterialViridis, 5, 3);Et finalement la classe de l’armure ici “ViridisArmor” :
public class ViridisArmor extends ItemArmor { public ViridisArmor(ArmorMaterial material, int renderIndex, int armorType) { super(material, renderIndex, armorType); } @Override public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { if(slot == 2) { return Infos.MODID + ":textures/models/armor/viridis_layer_2.png"; } return Infos.MODID + ":textures/models/armor/viridis_layer_1.png"; } @Override public boolean getIsRepairable(ItemStack input, ItemStack repair) { if(repair.getItem() == Item.getItemFromBlock(EmotionBlocks.viridisCristal)) { return true; } return false; } }Avec la fonction “getIsRepairable” pour que l’armure puisse être réparée via l’enclume (très utile), voilà je pense que ça devrait fonctionner et que tu comprendra facilement le code.
Ps: Il y auras peut-être des erreurs dans ce cas préviens moi étant donné que j’utilise maintenant un rendue personnalisée pour mon armure.
Ps 2: Je te conseil de reprendre les textures de l’armure en diamant pour designer la tienne.
-
@‘SCAREX’:
Rajoute l’annotation @override au-dessus de ta méthode pour vérifier qu’elle existe, ou fait Alt + shift + s puis “override/implement methods” et choisis la méthode, çà évite de faire des erreurs.
lorsque j’implémente Override il n’y a aucune erreur.
-
Implémente ? C’est une annotation, pas une interface
-
@‘EmotionFox’:
Pour la déclaration de ton matériel d’armure ça ce passe comme ça (avec la déclaration des items) :
public static ArmorMaterial enumArmorMaterialViridis = EnumHelper.addArmorMaterial("VIRIDIS", "viridis", 17, new int[] {3, 6, 5, 3}, 9);"
(String name, String textureName, int durability, int[] reductionAmounts, int enchantability)"
L’armure en diamant ayant ces propriétés :
DIAMOND("diamond", 33, new int[]{3, 8, 6, 3}, 10);Puis les items :
public static Item viridisHelmet = new ViridisArmor(enumArmorMaterialViridis, 5, 0); public static Item viridisChestplate = new ViridisArmor(enumArmorMaterialViridis, 5, 1); public static Item viridisLeggings = new ViridisArmor(enumArmorMaterialViridis, 5, 2); public static Item viridisBoots = new ViridisArmor(enumArmorMaterialViridis, 5, 3);Et finalement la classe de l’armure ici “ViridisArmor” :
public class ViridisArmor extends ItemArmor { public ViridisArmor(ArmorMaterial material, int renderIndex, int armorType) { super(material, renderIndex, armorType); } @Override public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { if(slot == 2) { return Infos.MODID + ":textures/models/armor/viridis_layer_2.png"; } return Infos.MODID + ":textures/models/armor/viridis_layer_1.png"; } @Override public boolean getIsRepairable(ItemStack input, ItemStack repair) { if(repair.getItem() == Item.getItemFromBlock(EmotionBlocks.viridisCristal)) { return true; } return false; } }Avec la fonction “getIsRepairable” pour que l’armure puisse être réparée via l’enclume (très utile), voilà je pense que ça devrait fonctionner et que tu comprendra facilement le code.
Ps: Il y auras peut-être des erreurs dans ce cas préviens moi étant donné que j’utilise maintenant un rendue personnalisée pour mon armure.
Ps 2: Je te conseil de reprendre les textures de l’armure en diamant pour designer la tienne.
Merci en regardant les codes que tu m’a envoyer j’ai trouver mon erreur, dans la ligne correspondant au material l’emplacement où il fallait maitre le nom de la texture j’y avais mit <<null>> voila pourquoi il ne chercher pas les textures.
Par contre au moment de la fonction “getIsRepairable” il y a “EmotionBlocks.viridisCristal” il s’agit que quel block ?</null>
-
@‘SCAREX’:
Implémente ? C’est une annotation, pas une interface
A ok ^^ mais j’ai trouver mon problème merci quand même

-
Si c’est résolu mets la balise résolu.
-
Merci à tous

-
Il s’agit du bloc qui permet de réparer l’armure, tu peux aussi mettre un item :
@Override public boolean getIsRepairable(ItemStack input, ItemStack repair) { if(repair.getItem() == Items.apple) { return true; } return false; } -
@‘EmotionFox’:
Il s’agit du bloc qui permet de réparer l’armure, tu peux aussi mettre un item :
@Override public boolean getIsRepairable(ItemStack input, ItemStack repair) { if(repair.getItem() == Items.apple) { return true; } return false; }A ok merci
