Flèches customs



  • Bonjour.
    J'ai essayé de créer des flèches customs, utilisable par un arc "normal". J'ai réussi à modifier les dégâts de mes flèches (enfin normalement), mais quand je récupère mes flèches aux sols, je récupère des flèches normales. Voici la classe ItemAdvancedArrow :

    public class ItemAdvancedArrow extends ItemArrow {
    	
    	public static String arrowMaterial;
    	public static double damage;
    	
    	public ItemAdvancedArrow(String ArrowMaterial, double Damage) {
            String arrowMaterial = ArrowMaterial;
            damage = Damage;
        }
    	
    	public EntityArrow createArrow(World worldIn, ItemStack stack, EntityLivingBase shooter) {
            EntityTippedArrow entityarrow = new EntityTippedArrow(worldIn, shooter);
            entityarrow.setDamage(damage);
            return entityarrow;
        }
    
        public boolean isInfinite(ItemStack stack, ItemStack bow, net.minecraft.entity.player.EntityPlayer player) {
            int enchant = net.minecraft.enchantment.EnchantmentHelper.getEnchantmentLevel(net.minecraft.init.Enchantments.INFINITY, bow);
            return enchant <= 0 ? false : this.getClass() == ItemAdvancedArrow.class;
        }
    	
    }
    

    Je pense qu'il faut que je créé une nouvelle EntityArrow mais j'en suis pas sur. J'espère que vous pourrez m'aider.


  • Moddeurs confirmés Rédacteurs Administrateurs

    Salut,
    En effet il va surement falloir créer une classe héritant de EntityTippedArrow (ou de EntityArrow directement), override la fonction getArrowStack et changer la valeur de retour.



  • Merci ça fonctionne maintenant.


Log in to reply