MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Arc Custom

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8
    25 Messages 3 Publieurs 5.5k Vues 1 Watching
    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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      ah d’accord.
      Dans ce cas il suffit d’ajouter :

      ​    public float getDamageVsEntity()
          {
              return 2.0F;
          }
      
      1 réponse Dernière réponse Répondre Citer 0
      • EryahE Hors-ligne
        Eryah
        dernière édition par

        Merci 🙂
        Je lance le client pour test


        Err, non le bloc magique violet et noir n’inflige toujours pas les dégats d’un épée

        Membre fantôme
        Je développe maintenant un jeu sur UnrealEngine4


        Contact :…

        1 réponse Dernière réponse Répondre Citer 0
        • EryahE Hors-ligne
          Eryah
          dernière édition par

          Je rapelle que ce topic existe 😞
          Et j’aimerai quand même que cela fonctionne 😞
          Tous est bon, sauf les dégats, l’arc n’inflige toujours pas de dégats
          Petit problème supplémentaire :

          • Impossible d’enchanter les arcs autrement qu’en Solidité

          Classe de l’un des arc (Ici en fer)

          ​package eryah.usefulthings.init;
          
          import net.minecraft.client.Minecraft;
          import net.minecraft.client.resources.model.ModelResourceLocation;
          import net.minecraft.enchantment.Enchantment;
          import net.minecraft.enchantment.EnchantmentHelper;
          import net.minecraft.entity.player.EntityPlayer;
          import net.minecraft.entity.projectile.EntityArrow;
          import net.minecraft.init.Items;
          import net.minecraft.item.EnumAction;
          import net.minecraft.item.Item;
          import net.minecraft.item.ItemBow;
          import net.minecraft.item.ItemStack;
          import net.minecraft.stats.StatList;
          import net.minecraft.world.World;
          import net.minecraftforge.fml.common.registry.GameRegistry;
          import eryah.usefulthings.Reference;
          import eryah.usefulthings.UsefulthingsMod;
          
          public class BladedBowIron extends ItemBow
          {
              public static final String[] bowPullIconNameArray = new String[] {"pulling_0", "pulling_1", "pulling_2"};
              public static Item iron_bladed_bow;
          
              public BladedBowIron()
              {
                  this.maxStackSize = 1;
                  this.setMaxDamage(384);       
              }
          
          public static void init(){
          iron_bladed_bow = new BladedBowIron().setUnlocalizedName("iron_bladed_bow").setCreativeTab(UsefulthingsMod.UTTab);
          }
          
          public static void register()
          {
          GameRegistry.registerItem(iron_bladed_bow, iron_bladed_bow.getUnlocalizedName().substring(5));
          }
          
          public static void registerRenders()
          {
          registerRender(iron_bladed_bow);
          }
          
          public static void registerRender(Item item)
          {
          Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(Reference.MOD_ID + ":" + item.getUnlocalizedName().substring(5), "inventory"));
          }
          
          public float getDamageVsEntity()
             {
                 return 6.0F;
             }
          
              /**
               * Called when the player stops using an Item (stops holding the right mouse button).
               *  
               * @param timeLeft The amount of ticks left before the using would have been complete
               */
              public void onPlayerStoppedUsing(ItemStack stack, World worldIn, EntityPlayer playerIn, int timeLeft)
              {
                  int j = this.getMaxItemUseDuration(stack) - timeLeft;
                  net.minecraftforge.event.entity.player.ArrowLooseEvent event = new net.minecraftforge.event.entity.player.ArrowLooseEvent(playerIn, stack, j);
                  if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(event)) return;
                  j = event.charge;
          
                  boolean flag = playerIn.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0;
          
                  if (flag || playerIn.inventory.hasItem(Items.arrow))
                  {
                      float f = (float)j / 20.0F;
                      f = (f * f + f * 2.0F) / 3.0F;
          
                      if ((double)f < 0.1D)
                      {
                          return;
                      }
          
                      if (f > 1.0F)
                      {
                          f = 1.0F;
                      }
          
                      EntityArrow entityarrow = new EntityArrow(worldIn, playerIn, f * 2.0F);
          
                      if (f == 1.0F)
                      {
                          entityarrow.setIsCritical(true);
                      }
          
                      int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, stack);
          
                      if (k > 0)
                      {
                          entityarrow.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D);
                      }
          
                      int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, stack);
          
                      if (l > 0)
                      {
                          entityarrow.setKnockbackStrength(l);
                      }
          
                      if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, stack) > 0)
                      {
                          entityarrow.setFire(100);
                      }
          
                      stack.damageItem(1, playerIn);
                      worldIn.playSoundAtEntity(playerIn, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F);
          
                      if (flag)
                      {
                          entityarrow.canBePickedUp = 2;
                      }
                      else
                      {
                          playerIn.inventory.consumeInventoryItem(Items.arrow);
                      }
          
                      playerIn.triggerAchievement(StatList.objectUseStats[Item.getIdFromItem(this)]);
          
                      if (!worldIn.isRemote)
                      {
                          worldIn.spawnEntityInWorld(entityarrow);
                      }
                  }
              }
          
              /**
               * Called when the player finishes using this Item (E.g. finishes eating.). Not called when the player stops using
               * the Item before the action is complete.
               */
              public ItemStack onItemUseFinish(ItemStack stack, World worldIn, EntityPlayer playerIn)
              {
                  return stack;
              }
          
              /**
               * How long it takes to use or consume an item
               */
              public int getMaxItemUseDuration(ItemStack stack)
              {
                  return 72000;
              }
          
              /**
               * returns the action that specifies what animation to play when the items is being used
               */
              public EnumAction getItemUseAction(ItemStack stack)
              {
                  return EnumAction.BOW;
              }
          
              /**
               * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer
               */
              public ItemStack onItemRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer playerIn)
              {
                  net.minecraftforge.event.entity.player.ArrowNockEvent event = new net.minecraftforge.event.entity.player.ArrowNockEvent(playerIn, itemStackIn);
                  if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(event)) return event.result;
          
                  if (playerIn.capabilities.isCreativeMode || playerIn.inventory.hasItem(Items.arrow))
                  {
                      playerIn.setItemInUse(itemStackIn, this.getMaxItemUseDuration(itemStackIn));
                  }
          
                  return itemStackIn;
              }
          
              /**
               * Return the enchantability factor of the item, most of the time is based on material.
               */
              public int getItemEnchantability()
              {
                  return 1;
              }
          
              @Override
              public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining)
              {
                  ModelResourceLocation modelresourcelocation = new ModelResourceLocation(Reference.MOD_ID + ":iron_bladed_bow_standby", "inventory");
          
                  if(stack.getItem() == this && player.getItemInUse() != null)
                  {
                      if(useRemaining >= 71985)
                      {
                          modelresourcelocation = new ModelResourceLocation(Reference.MOD_ID + ":iron_bladed_bow_pulling_0", "inventory");
                      }
                      else if(useRemaining > 71979)
                      {
                          modelresourcelocation = new ModelResourceLocation(Reference.MOD_ID + ":iron_bladed_bow_pulling_1", "inventory");
                      }
                      else if(useRemaining > 0)
                      {
                          modelresourcelocation = new ModelResourceLocation(Reference.MOD_ID + ":iron_bladed_bow_pulling_2", "inventory");
                      }
                  }
                  return modelresourcelocation;
              }
          
          }
          
          

          Membre fantôme
          Je développe maintenant un jeu sur UnrealEngine4


          Contact :…

          1 réponse Dernière réponse Répondre Citer 0
          • SCAREXS Hors-ligne
            SCAREX
            dernière édition par

            Dégâts au corps à corps ou à distance ?
            Pour l’enchantement, je ne sais pas comment ils fonctionnent en 1.8. Fais quelques recherches de ton côté.

            Site web contenant mes scripts : http://SCAREXgaming.github.io

            Pas de demandes de support par MP ni par skype SVP.
            Je n'accepte sur skype que l…

            1 réponse Dernière réponse Répondre Citer 0
            • EryahE Hors-ligne
              Eryah
              dernière édition par

              @‘Eryah’:

              Ce n’est pas les dégats des flèches ces valeurs ?
              Je voudrais que sa soit comme un épée, un arc épée

              Membre fantôme
              Je développe maintenant un jeu sur UnrealEngine4


              Contact :…

              1 réponse Dernière réponse Répondre Citer 0
              • SCAREXS Hors-ligne
                SCAREX
                dernière édition par

                Donc corps à corps ?

                Site web contenant mes scripts : http://SCAREXgaming.github.io

                Pas de demandes de support par MP ni par skype SVP.
                Je n'accepte sur skype que l…

                1 réponse Dernière réponse Répondre Citer 0
                • EryahE Hors-ligne
                  Eryah
                  dernière édition par

                  Je pensais que c’était clair 😞
                  Dans les précédent messages, j’ai dis pas mal de fois que je voulait faire un arc épée, et le nom de mon item est BLADED bow

                  Membre fantôme
                  Je développe maintenant un jeu sur UnrealEngine4


                  Contact :…

                  1 réponse Dernière réponse Répondre Citer 0
                  • SCAREXS Hors-ligne
                    SCAREX
                    dernière édition par

                    “faire un arc épée” n’est pas français.

                    Je ne sais pas si je te l’ai déjà dit mais il y a quelques trucs à faire quand on voit que changer le code ne sert à rien (retiens bien cette liste, elle te servira par la suite dès qu’un truc ne fonctionne pas) :

                    • regarder si la méthode est appelée, par exemple en rajoutant un System.out.prinln.
                    • s’il en s’affiche pas, n’oublie pas l’annotation @Override : elle te permet de savoir si tu as le bon nom de fonction et les bons paramètres. Pour éviter çà, tu peux toujours utiliser Alt + shift + S puis override/implement methods pour choisir la méthode.
                    • Si toujours rien ne s’affiche, sélectionne le nom de la fonction et fait “Open call hierarchy” pour voir quand ta méthode est appelée, si tu vois que ta méthode n’est ajamais appelée, il y a 2 possibilités : le nom n’est pas bon, ou les paramèters ne sont aps bons, ou la méthode est appelée via un l’ASM.
                    • Si toujours rien, regarde comment Minecraft fait.

                    Fait cette méthode et tu verras normalement d’où vient le problème. Si tu ne trouves pas c’est que tu n’as pas tout lu.

                    Site web contenant mes scripts : http://SCAREXgaming.github.io

                    Pas de demandes de support par MP ni par skype SVP.
                    Je n'accepte sur skype que l…

                    1 réponse Dernière réponse Répondre Citer 0
                    • EryahE Hors-ligne
                      Eryah
                      dernière édition par

                      Je sais que ce n’est pas français, mais en gros c’est un arc, et une épée, dans le même item

                      Il semble que la méthode que m’

                      Membre fantôme
                      Je développe maintenant un jeu sur UnrealEngine4


                      Contact :…

                      1 réponse Dernière réponse Répondre Citer 0
                      • EryahE Hors-ligne
                        Eryah
                        dernière édition par

                        Je sais que ce n’est pas français, mais en gros c’est un arc, et une épée, dans le même item

                        Il semble que la méthode que m’a donné robin, n’est plus valide

                        ​@Override
                        public float getDamageVsEntity()
                           {
                               return 6.0F;
                           }
                        

                        J’ai tenter de faire un OnLeftClickOnEntity (Ou un truc comme ça ), mais peu concluant

                        Membre fantôme
                        Je développe maintenant un jeu sur UnrealEngine4


                        Contact :…

                        1 réponse Dernière réponse Répondre Citer 0
                        • SCAREXS Hors-ligne
                          SCAREX
                          dernière édition par

                          Regarde le message précédent. Tu n’as pas fait ce que je t’ai dit : regarde comment c’est fait dans les classes de Minecraft, j’ai trouvé pendant que j’écrivais le message précédent.

                          Site web contenant mes scripts : http://SCAREXgaming.github.io

                          Pas de demandes de support par MP ni par skype SVP.
                          Je n'accepte sur skype que l…

                          1 réponse Dernière réponse Répondre Citer 0
                          • EryahE Hors-ligne
                            Eryah
                            dernière édition par

                            J’ai tout tenté, et dans minecraft, c’est géré comme çela ( Classe de l’épée )

                            ​public float getDamageVsEntity()
                                {
                                    return this.material.getDamageVsEntity();
                                }
                            

                            J’ai tenté de l’adapter a mon code, et peut concluant

                            ​public float getDamageVsEntity(float f)
                                {
                                    return getDamageVsEntity(6.0F);
                                }
                            

                            Membre fantôme
                            Je développe maintenant un jeu sur UnrealEngine4


                            Contact :…

                            1 réponse Dernière réponse Répondre Citer 0
                            • SCAREXS Hors-ligne
                              SCAREX
                              dernière édition par

                              Il y en a un autre, regarde la classe entière.

                              Site web contenant mes scripts : http://SCAREXgaming.github.io

                              Pas de demandes de support par MP ni par skype SVP.
                              Je n'accepte sur skype que l…

                              1 réponse Dernière réponse Répondre Citer 0
                              • EryahE Hors-ligne
                                Eryah
                                dernière édition par

                                public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker)
                                
                                   {
                                
                                       stack.damageItem(1, attacker);
                                
                                       return true;
                                
                                   }
                                

                                ?

                                Membre fantôme
                                Je développe maintenant un jeu sur UnrealEngine4


                                Contact :…

                                1 réponse Dernière réponse Répondre Citer 0
                                • SCAREXS Hors-ligne
                                  SCAREX
                                  dernière édition par

                                  Non, çà c’est ce qui permet de casser ton épée. Regarde encore plus bas.

                                  Site web contenant mes scripts : http://SCAREXgaming.github.io

                                  Pas de demandes de support par MP ni par skype SVP.
                                  Je n'accepte sur skype que l…

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • EryahE Hors-ligne
                                    Eryah
                                    dernière édition par

                                    ​public Multimap getItemAttributeModifiers()
                                        {
                                            Multimap multimap = super.getItemAttributeModifiers();
                                            multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), new AttributeModifier(itemModifierUUID, "Weapon modifier", (double)this.attackDamage, 0));
                                            return multimap;
                                        }
                                    

                                    C’est la dernière méthode

                                    Membre fantôme
                                    Je développe maintenant un jeu sur UnrealEngine4


                                    Contact :…

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • SCAREXS Hors-ligne
                                      SCAREX
                                      dernière édition par

                                      Bravo, tu as trouvé ! Regarde là dedans.

                                      Site web contenant mes scripts : http://SCAREXgaming.github.io

                                      Pas de demandes de support par MP ni par skype SVP.
                                      Je n'accepte sur skype que l…

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • EryahE Hors-ligne
                                        Eryah
                                        dernière édition par

                                        Quel idiot suis-je…
                                        Bref, c’est bon, mon arc inflige des dégats
                                        Merci SCAREX, tu me fait penser a un prof, tu donne la solution, sans nous la donner, tu nous guide juste

                                        Membre fantôme
                                        Je développe maintenant un jeu sur UnrealEngine4


                                        Contact :…

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

                                        MINECRAFT FORGE FRANCE © 2024

                                        Powered by NodeBB