Ajouter un enchantement lors du craft d'un item



  • Salut, je cherche a créer une épée qui quant on la craft, ou que l'on se la give ait un effet qui met en feu l'entité que l'on a attaqué (joueur, mob, animaux) sans pour autant avoir l'enchantement fire aspect pour qu'on puisse l'enchanter avec une table d'enchantement 😉
    Merci d'avance 😉





  • merci 😉



  • Par-contre je ne sais pas si cela fera effet lorsque tu te les give en créa…
    Si ça marche n'oublie pas la balisé 😉



  • sa ne marche pas ni quand je la craft ni quand je me la give (le tuto que tu ma montré était en 1.6.2 et moi je suis en 1.7.10 :s )



  • Beh normalement y'a aucune modif…
    Je teste de mon côté



  • la class de mon épée :

    package com.ludrak.mods.tools;

    import com.ludrak.mods.MinecraftAddMod;
    import com.ludrak.mods.lib.References;

    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.enchantment.Enchantment;
    import net.minecraft.entity.Entity;
    import net.minecraft.item.ItemStack;
    import net.minecraft.item.ItemSword;
    import net.minecraft.world.World;
    import scala.collection.immutable.List;

    public class SwordLava extends ItemSword
    {

    public SwordLava(ToolMaterial material)
    {
    super(material);

    this.setUnlocalizedName("LavaSword");
    this.setCreativeTab(CreativeTabs.tabCombat);
    this.setTextureName(References.MODID + ":lava_crystal_sword");

    ItemStack itemenchante = new ItemStack(IMincraftAddMod.LavaSword, 1, 0);
    itemenchante.addEnchantment(Enchantment.fireAspect, 5);

    }

    }



  • Mets ceci dans ta méthode init

    
    ItemStack itemenchante = new ItemStack(Items.coal, 1);//L'item à enchanter / crafter
    itemenchante.addEnchantment(Enchantment.fireAspect, 5);//L'enchantement avec le lvl après
    GameRegistry.addShapelessRecipe(itemenchante, new Object[] {new ItemStack(Items.stick, 1), new ItemStack(Items.apple, 1)});//L'ajout du craft avec les items composants
    
    

  • Administrateurs

    @'Ludrak':

    sans pour autant avoir l'enchantement fire aspect pour qu'on puisse l'enchanter avec une table d'enchantement 😉

    Si tu ne veux pas avoir l'effet ce n'est pas comme ça qu'il faut faire.
    Il faut juste faire un setFire dans la fonction hitEntity.



  • Ah oups x) Je n'avais pas vu…. Mais comme ça te servira quand même à un moment donné



  • ok merci j'ai trouvé en fait il fallait juste mettre la méthode :

    public  boolean hitEntity(ItemStack stack, EntityLivingBase attackedLiving, EntityLivingBase attackerLiving)
    {
    attackedLiving.setFire(10);

    return super.hitEntity(stack, attackedLiving, attackerLiving); // Exécute le code dans la fonction hitEntity de la classe mère (endommage l'épée) ;
    }

    (j'ai repris le code du tuto :))