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

      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
                                    • 2 / 2
                                    • Premier message
                                      Dernier message
                                    Design by Woryk
                                    ContactMentions Légales

                                    MINECRAFT FORGE FRANCE © 2024

                                    Powered by NodeBB