• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Les Armures

    1.9.x et 1.10.x
    1.10.x
    5
    6
    1282
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • G
      Galwed dernière édition par

      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 réponse Dernière réponse Répondre Citer 0
      • Folgansky
        Folgansky Correcteurs dernière édition par

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

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

        1 réponse Dernière réponse Répondre Citer 0
        • robin4002
          robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

          @‘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 réponse Dernière réponse Répondre Citer 0
          • BrokenSwing
            BrokenSwing Moddeurs confirmés Rédacteurs dernière édition par

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

            1 réponse Dernière réponse Répondre Citer 0
            • DjCtavia
              DjCtavia dernière édition par

              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.

              • Casque = 13 x Durabilité
              • Plastron = 15 x Durabilité
              • Jambières = 16 x Durabilité
              • 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 réponse Dernière réponse Répondre Citer 0
              • G
                Galwed dernière édition par

                Merci à tous j’ai réussi !

                1 réponse Dernière réponse Répondre Citer 0
                • 1 / 1
                • Premier message
                  Dernier message
                Design by Woryk
                Contact / Mentions Légales

                MINECRAFT FORGE FRANCE © 2018

                Powered by NodeBB