Salut,
Quelqu'un sur MFF a posé la même question. Du-coup j'ai fais un peu de recherche pour faire d'une pierre deux coups :
Pour changer la valeur d'enchantabilité :
Code (cpp):
ArmorMaterial customDiam = EnumHelper.addArmorMaterial("CUSTOM_DIAMOND", 5, new int[]{1, 3, 2, 1}, 15);
ObfuscationReflectionHelper.setPrivateValue(ItemArmor.class, Items.diamond_helmet, customDiam, "material", "field_77878_bZ");
ObfuscationReflectionHelper.setPrivateValue(ItemArmor.class, Items.diamond_chestplate, customDiam, "material", "field_77878_bZ");
ObfuscationReflectionHelper.setPrivateValue(ItemArmor.class, Items.diamond_leggings, customDiam, "material", "field_77878_bZ");
ObfuscationReflectionHelper.setPrivateValue(ItemArmor.class, Items.diamond_boots, customDiam, "material", "field_77878_bZ");
Ce code seul le permet pas de modifier la durabilité et l'absorption de l'armure car ils sont défini dans une autre variable dans le constructeur d'item armor.
Pour modifier la réduction de dégât :
Code (cpp):
ObfuscationReflectionHelper.setPrivateValue(ItemArmor.class, Items.diamond_helmet, 1, "damageReduceAmount", "field_77879_b");
ObfuscationReflectionHelper.setPrivateValue(ItemArmor.class, Items.diamond_chestplate, 3, "damageReduceAmount", "field_77879_b");
ObfuscationReflectionHelper.setPrivateValue(ItemArmor.class, Items.diamond_leggings, 2, "damageReduceAmount", "field_77879_b");
ObfuscationReflectionHelper.setPrivateValue(ItemArmor.class, Items.diamond_boots, 1, "damageReduceAmount", "field_77879_b");
Et pour finir la durabilité :
Code (cpp):
Items.diamond_helmet.setMaxDamage(5 * 11);
Items.diamond_chestplate.setMaxDamage(5 * 16);
Items.diamond_leggings.setMaxDamage(5 * 15);
Items.diamond_boots.setMaxDamage(5 * 13);
Ici la durabilité est de 5, les * un nombre correspond au multiplicateur trouvé dans la classe ItemArmor (private static final int[] maxDamageArray = new int[] {11, 16, 15, 13}; ).
Avec ce code l'armure en diamant à les même propriété que l'armure en cuire.
Ce code a été fait en 1.7.10. Les noms obfusqués des variables (field_xxx) sont sûrement différents en 1.8.9 et en 1.9.4.