Beaucoup de perte de durats par coup



  • Bonjour / Bonsoir,

    Je vais vous exposez mes problémes …
    J'ai créer plusieurs nouvelle armures, mais le probléme c'est quand on se frappe "pvp" on perd masse durats "30" de durats par coup d'épée de la même matiére que l'armure.

    Ensuite par exemple sur une armure de 1000 de durat quand il nous reste Ex 300 de durat on se fais presque oneShot. En gros l'armure ne protége plus rien. Même un zombie nous trishot

    Si il y a une solution a mon probléme je vous en remercie d'avance pour votre aide
    Merci.


  • Administrateurs

    Salut,
    Tu peux envoyer le code de tes outils et armure ?



  • Code des rési d'armure:

    // équipement Zirkon

    public static ToolMaterial toolszirkon = EnumHelper.addToolMaterial("toolszirkon", 4, 2700, 12, 4, 15);
       public static ToolMaterial swordszirkon = EnumHelper.addToolMaterial("swordszirkon", 3, 2300, 12, 6.5F, 15);
       public static ArmorMaterial armorzirkon = EnumHelper.addArmorMaterial("armorzirkon", 195, new int[]{4, 7, 7, 4}, 15);

    Item Zirkon:

    // Zirkon
           item_zirkon = new Item().setUnlocalizedName("zirkon").setCreativeTab(CreativeTabs.tabMaterials).setTextureName(Reference.MOD_ID + ":zirkon");
           zirkon_sword = new ItemSwordZirkon(ItemMod.swordszirkon).setCreativeTab(CreativeTabs.tabCombat).setTextureName(Reference.MOD_ID + ":zirkon_sword").setUnlocalizedName("zirkon_sword");
           zirkon_axe = new itemAxeZirkon(ItemMod.swordszirkon).setCreativeTab(CreativeTabs.tabTools).setTextureName(Reference.MOD_ID + ":zirkon_axe").setUnlocalizedName("zirkon_axe");
           zirkon_pickaxe = new ItemPickaxeZirkon(ItemMod.toolszirkon).setCreativeTab(CreativeTabs.tabTools).setTextureName(Reference.MOD_ID + ":zirkon_pickaxe").setUnlocalizedName("zirkon_pickaxe");
           zirkon_spade = new ItemSpadeZirkon(ItemMod.toolszirkon).setCreativeTab(CreativeTabs.tabTools).setTextureName(Reference.MOD_ID + ":zirkon_spade").setUnlocalizedName("zirkon_spade");
    
           zirkon_helmet = new ItemArmorMod(armorzirkon, 0).setCreativeTab(CreativeTabs.tabCombat).setTextureName(Reference.MOD_ID + ":zirkon_helmet").setUnlocalizedName("zirkon_helmet");
           zirkon_chestplate = new ItemArmorMod(armorzirkon, 1).setCreativeTab(CreativeTabs.tabCombat).setTextureName(Reference.MOD_ID + ":zirkon_chestplate").setUnlocalizedName("zirkon_chestplate");
           zirkon_leggings = new ItemArmorMod(armorzirkon, 2).setCreativeTab(CreativeTabs.tabCombat).setTextureName(Reference.MOD_ID + ":zirkon_leggings").setUnlocalizedName("zirkon_leggings");
           zirkon_boots = new ItemArmorMod(armorzirkon, 3).setCreativeTab(CreativeTabs.tabCombat).setTextureName(Reference.MOD_ID + ":zirkon_boots").setUnlocalizedName("zirkon_boots");
    

    Le ItemArmore

    package com.mod.arenalyce.items;
    
    import com.mod.arenalyce.Reference;
    import com.mod.arenalyce.init.ItemMod;
    
    import net.minecraft.entity.Entity;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.item.ItemArmor;
    import net.minecraft.item.ItemStack;
    import net.minecraft.item.ItemArmor.ArmorMaterial;
    import net.minecraft.world.World;
    
    public class ItemArmorMod extends ItemArmor
    {
    
       public ItemArmorMod(ArmorMaterial material, int metaData)
       {
           super(material, 0, metaData);
       }
    
       public boolean getIsRepairable(ItemStack input, ItemStack repair)
    
       {
    
           if(repair.getItem() == ItemMod.orichalque_chestplate || repair.getItem() == ItemMod.item_orichalque)
           {
               return true;
           }
           if(repair.getItem() == ItemMod.zirkon_chestplate || repair.getItem() == ItemMod.item_zirkon)
           {
               return true;
           }
           if(repair.getItem() == ItemMod.sapphire_chestplate || repair.getItem() == ItemMod.item_sapphire)
           {
               return true;
           }
           if(repair.getItem() == ItemMod.terrazine_chestplate || repair.getItem() == ItemMod.item_terrazine)
           {
               return true;
           }
           if(repair.getItem() == ItemMod.jade_chestplate || repair.getItem() == ItemMod.item_jade)
           {
               return true;
           }
    
           {
               return false;
           }
    
       }
    

    Les outils sa marche parfaitement sa perd la durat que sa doit perde le plus embétant c'est les armure.



  • Toujours pas de solution ? :c


  • Administrateurs

    Essaies avec une valeur plus petite que 195.



  • @'robin4002':

    Essaies avec une valeur plus petite que 195.

    J'ai d'autre armures qui on moins de durat et sa fais la même perd autant de durat et quand plus de durat presque oneshot :c


  • Administrateurs

    Je ne sais pas d'où ça peut venir alors 😕
    Faudrait faire du debug (afficher le metadata de l'item dans la console par exemple).



  • tu est sur cauldron un sur quelque chose comme sa si oui essaie de voir si cela ne vient pas de la 
    du genre test sur un serveur juste moddé



  • Oui je suis sur cauldron

    Je vais essayer sur un serveur juste moddé je te tien au courant
    Merci de t'a réponse



  • Quand @leo parle de "serveur juste moddé", je pense qu'il fait référence à un serveur minecraft vanilla (dispo sur minecraft.net) où forge a été installé dessus.
    Essaie sinon de copier exactement les même valeurs d'un ArmorMaterial de ton choix et de les changer une à une petit à petit, en prenant soin à chaque fois, de relancer les jeux pour constater de quelconque possible(s) modification(s). Et puis au moment où tu rencontreras le même problème qu'actuellement, tu pourras voir qu'est-ce qui fait planter 😉
    C'est aussi ce qui s'appelle debug son code, mais peut-être d'une manière + facile pour toi, puisque aucun println n'est utilité.



  • J'ai le meme probleme et je trouve personnellement que ça rend le pvp plus dur car en plus de ta vie il faut vérifier la durabilitier de ton stuff (ça ne vient pas de cauldron ou autre mais je crois bien que c'est comme ça que c'est fait)