• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved Les Armures

    1.9.x et 1.10.x
    1.10.x
    5
    6
    1249
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      Galwed last edited by

      Bonjour,

      Est ce que quelqu’un serais me dire comment faire pour ajouter plus de protection qu’une armure en diamant j’ai déjà réaliser mon code.
      L’amure est déjà présent en jeux, il ne reste plus qu’a ajouter les protections plus forte que le diamants ce que je ne sais pas réalisée.
      Je vais vous demander au passage comment faire pour y mettre qu’elle peut recevoir autant de coup avant de casser pour chaque pièce et pour terminer une dernières choses comment afficher les coeurs pour montrez ce qu’elle protège.

      Voila mon armures à présent :

      package fr.topycraft.ModPackTopyCraft.items;
      
      import fr.topycraft.ModPackTopyCraft.ModPackTopyCraft;
      import net.minecraft.creativetab.CreativeTabs;
      import net.minecraft.entity.Entity;
      import net.minecraft.init.SoundEvents;
      import net.minecraft.inventory.EntityEquipmentSlot;
      import net.minecraft.item.Item;
      import net.minecraft.item.ItemArmor;
      import net.minecraft.item.ItemStack;
      import net.minecraftforge.common.util.EnumHelper;
      
      public class TopyduimArmor extends ItemArmor{
      
      public static final ArmorMaterial material = EnumHelper.addArmorMaterial("topyduimarmure", ModPackTopyCraft.MODID + ":topyduimarmure", 500, new int[]{4, 6, 7, 3}, 17, SoundEvents.ITEM_ARMOR_EQUIP_DIAMOND, 0.0F);
      
      static {
      material.customCraftingMaterial = ModPackTopyCraftItems.LINGOTDETOPYDUIM;
      }
      
      public TopyduimArmor(EntityEquipmentSlot chest) {
      super(material, 0, chest);
      
      }
      
      @Override
         public String getArmorTexture(ItemStack stack, Entity entity, EntityEquipmentSlot slot, String type)
         {
             if(slot == EntityEquipmentSlot.LEGS)
                 return ModPackTopyCraft.MODID + ":textures/models/armor/topyduim_layer_2.png";
             return ModPackTopyCraft.MODID + ":textures/models/armor/topyduim_layer_1.png";
         }
      }
      

      Bonne journée, Galwed

      1 Reply Last reply Reply Quote 0
      • Folgansky
        Folgansky Correcteurs last edited by

        C’est ça qui détermine les résistances normalement

        “new int[]{4, 6, 7, 3}” Dans l’ordre des slots

        1 Reply Last reply Reply Quote 0
        • robin4002
          robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

          @‘Galwed’:

          Est ce que quelqu’un serais me dire comment faire pour ajouter plus de protection qu’une armure en diamant j’ai déjà réaliser mon code.
          […]et pour terminer une dernières choses comment afficher les coeurs pour montrez ce qu’elle protège.

          Pour afficher plus de 20 d’armures sur le gui :

             @SubscribeEvent
             public void onDrawArmor(RenderGameOverlayEvent.Post event)
             {
                 Minecraft mc = Minecraft.getMinecraft();
                 if(event.type == RenderGameOverlayEvent.ElementType.ARMOR)
                 {
                     GL11.glEnable(GL11.GL_BLEND);
                     int left = event.resolution.getScaledWidth() / 2 - 91;
                     int top = event.resolution.getScaledHeight() - GuiIngameForge.left_height;
          
                     int level = ForgeHooks.getTotalArmorValue(mc.thePlayer) - 20;
                     for (int i = 1; level > 0 && i < 20; i += 2)
                     {
                         if (i < level)
                         {
                             mc.ingameGUI.drawTexturedModalRect(left, top, 34, 9, 9, 9);
                         }
                         else if (i == level)
                         {
                             mc.ingameGUI.drawTexturedModalRect(left, top, 25, 9, 9, 9);
                         }
                         else if (i > level)
                         {
                             mc.ingameGUI.drawTexturedModalRect(left, top, 16, 9, 9, 9);
                         }
                         left += 8;
                     }
                     GuiIngameForge.left_height += 10;
          
                     GL11.glDisable(GL11.GL_BLEND);
                 }
             }
          

          (c’est un event -> https://www.minecraftforgefrance.fr/showthread.php?tid=716)

          @‘Galwed’:

          Je vais vous demander au passage comment faire pour y mettre qu’elle peut recevoir autant de coup avant de casser pour chaque pièce

          Ça parcontre ça va être complexe : le système qui endommage les armures de minecraft n’endommage pas toutes les pièces de la même façon en fonction de la source de dégâts. Les enclumes endommage plus le casque, les dégâts de chute plus les bottes, etc.

          1 Reply Last reply Reply Quote 0
          • BrokenSwing
            BrokenSwing Moddeurs confirmés Rédacteurs last edited by

            Avec ISpecialArmor tu peux mieux gérer les dégâts sur les armures

            1 Reply Last reply Reply Quote 0
            • DjCtavia
              DjCtavia last edited by

              Alors, j’ai ta réponse à ton problème, je vais tout faire dans l’ordre pour que ça soit claire.

              :::

              package fr.DjCtavia.modtrash.item;
              
              import fr.DjCtavia.modtrash.ModTrash;
              import net.minecraft.client.Minecraft;
              import net.minecraft.client.renderer.block.model.ModelResourceLocation;
              import net.minecraft.init.SoundEvents;
              import net.minecraft.inventory.EntityEquipmentSlot;
              import net.minecraft.item.*;
              import net.minecraft.util.ResourceLocation;
              import net.minecraftforge.common.util.EnumHelper;
              import net.minecraftforge.fml.common.registry.GameRegistry;
              
              /**
              * Created by Mr. Dj on 01/04/2017.
              */
              public class ModItems {
              
                 public static itemNewArmor maNouvelleArmure;
                 public static ItemArmor.ArmorMaterial monNouveauMaterielArmure = EnumHelper.addArmorMaterial("NomDuMateriel","textureName", 50, new int[]{4, 7, 9, 4}, 30, SoundEvents.ITEM_ARMOR_EQUIP_DIAMOND, 2.0F);[/font]
              
                 public static void preInit() {
              
                     maNouvelleArmure = new itemNewArmor("newArmor", monNouveauMaterielArmure, 2, EntityEquipmentSlot.LEGS);
              
                     registerItems();
                 }
              
                 public static void registerItems() {
                     GameRegistry.register(maNouvelleArmure, new ResourceLocation(ModTrash.MODID, "master_armor"));
                 }
              
                 public static void registerRenders() {
                     registerRender(maNouvelleArmure);
                 }
              
                 public static void registerRender(Item item) {
                     Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(ModTrash.MODID + ":" + item.getUnlocalizedName().substring(5), "inventory"));
                 }
              
              }
              

              :::

              :::

              // (Nom du Matériel, Nom de la texture utilisés [On s'en fou un peu], Durabilité exemple dans l'autre spoiler, la protection avec [Pieds, Jambes, Plastron, Casque], le son de l'item, la toughness correspond à la résistance des coups reçus plus on a de pièce d'équiepement plus la résistance est forte.
              public static ArmorMaterial addArmorMaterial(String name, String textureName, int durability, int[] reductionAmounts, int enchantability, SoundEvent soundOnEquip, float toughness)[/font]
              
              // (UnlocalizedName, Matériel utilisé, le type de rendu 0 = tissu / 1 = chaine / 2 = Fer / 3 = Diamant / 4 = Or, le slot utilisé par l'armure.
              itemNewArmor("newArmor", monMateriel, 2, EntityEquipmentSlot.LEGS);
              

              :::

              :::

              La durabilité d’une armure est toujours multiplié par un int fixe donné par défaut dans minecraft.

              • %(#ff3399)[Casque 🙂 13 x Durabilité
              • %(#ff3399)[Plastron 🙂 15 x Durabilité
              • %(#ff3399)[Jambières 🙂 16 x Durabilité
              • %(#ff3399)[Bottes 🙂 11 x Durabilité

              Donc, si je mets 33 durabilité comme le diamant, pour les jambières j’aurais 528 de durabilité théorique.

              :::

              :::

              package fr.DjCtavia.modtrash.item;
              
              import fr.DjCtavia.modtrash.ModTrash;
              import net.minecraft.inventory.EntityEquipmentSlot;
              import net.minecraft.item.ItemArmor;
              
              /**
              * Created by Mr. Dj on 11/04/2017.
              */
              public class itemNewArmor extends ItemArmor {
                 public itemNewArmor(String unlocalizedName,ItemArmor.ArmorMaterial materialIn, int renderIndexIn, EntityEquipmentSlot equipmentSlotIn) {
                     super(materialIn, renderIndexIn, equipmentSlotIn);
                     this.setUnlocalizedName(unlocalizedName);
                     this.setCreativeTab(ModTrash.tabModtrash);
                 }
              }
              

              :::

              Des questions ? Envoyez-moi un message privé, j'y répondrai dès que je le pourrais.

              ***Currently [WIP][…

              1 Reply Last reply Reply Quote 0
              • G
                Galwed last edited by

                Merci à tous j’ai réussi !

                1 Reply Last reply Reply Quote 0
                • 1 / 1
                • First post
                  Last post
                Design by Woryk
                Contact / Mentions Légales

                MINECRAFT FORGE FRANCE © 2018

                Powered by NodeBB