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.4k 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.
    • EryahE Hors-ligne
      Eryah
      dernière édition par

      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
      • 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