Équilibrer les armures



  • Bonjour,je voudrais savoir si il existe un outil pour équilibrer les armures et les outils .



  • Je n'en connais pas, mais tu peux comparer les valeurs que tu as mis à celles de Minecraft. Et aussi, tester en survie et en pvp.


  • Moddeurs confirmés Rédacteurs Modérateurs Administrateurs

    À savoir que l'armure en diamant représente le maximum de la protection d'une armure.



  • @'Superloup10':

    À savoir que l'armure en diamant représente le maximum de la protection d'une armure.

    Si l'armure en diamant est le maximum comment se fait-il que je peut mettre plus car mon armure doit être supérieur au diamant


  • Moddeurs confirmés Rédacteurs Modérateurs Administrateurs

    Si tu mets plus, tu ne prends pratiquement plus aucun dégâts.



  • @'Superloup10':

    Si tu mets plus, tu ne prends pratiquement plus aucun dégâts.

    Comment peut-on contrer/patcher cela ?


  • Moddeurs confirmés Rédacteurs Administrateurs

    Il faudrait diminuer les valeurs de l'armure en diamant via réflexion. Je ne sais pas si c'est possible.



  • Dans ce cas tu peux recrée tout les armure du vanilla pour modifié les point d'armure et les remplacé par les custom



  • Oui mais ses passible de modifier les class de minecaft vanillia


  • Correcteurs

    Tous les algos de calculs sont très faciles à trouver.
    En gros passé 25 d'armure (me semble), tu deviens plus que résistant.

    Après il y a des sources de dégâts qui ignorent l'armure (à titre indicatif)


  • Moddeurs confirmés Rédacteurs Administrateurs

    @'robin4002':

    Il faudrait diminuer les valeurs de l'armure en diamant via réflexion. Je ne sais pas si c'est possible.

    C'est possible.
    Pour changer la valeur d'enchantabilité :

        ArmorMaterial customDiam = EnumHelper.addArmorMaterial("CUSTOM_DIAMOND", 5, new int[]{1, 3, 2, 1}, 15);
        // change l'armor material
        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 :

           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é :

           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.


Log in to reply