• bonjour/Bonsoir je voudrais savoir si c’était possible de créer un mod qui fait:
    1/
    Des qu'un zombi nous touche on a un effet qui toute les 10/15s on est un grand effet de ceciter de la sorte a ne pas voire plus loin que ces pieds et que l’on lache l'item que l’on a dans la main et que pour se soigner on n'est besoin d'un médicament
    2/
    des que l'on tombe de trop haut 4 bock et plus on se casse la jambe (pas d'animation on est juste énormément ralentie e) et que pour se soigner on est besoin de médicament aussi

    Je voudrai savoir si c’était possible et quelle niveaux en java faudrait t-il et si possible m'orienter vers des tuto ou des mods qui existe déjà le tout en 1.6.4

    Merci

  • Moddeurs confirmés Modérateurs

    Le tout est très simple suffit d'utiliser les bon event


  • tu n’aurai pas un tuto ou quelque chose dans ce genre?? pour le zombi je parle

  • Moddeurs confirmés

    regarde au niveau des events ceux qui pourrait t'interesser.
    https://dl.dropboxusercontent.com/s/h777x7ugherqs0w/forgeevents.html
    Ensuite renseignes toi sur les GuiOverlays 😉

    Il n'y a pas de tuto pour tout les cas particuliers. Il faut savoir ce débrouiller par sois même 😉


  • quelqu’un aurai le code pour que lorsque l’on utilise l'item l'effet choisi disparaisse?

    Merci sinon sa avance très vite

  • Moddeurs confirmés Modérateurs

    regarde au niveau du code du sceau de lait


  • ok merci 🙂

  • Moddeurs confirmés Modérateurs

    de rien


  • jai de nouveaux un problème depuis la nouvelle méthode d'installation il n'y a plus ou elle a été beaucoup déplacer la classe net.minecraft.item je me retrouve pas avec la nouvelle "version"

    Si quelqun saurait ou elle se trouve ce serai parfait merci


  • @'MrFlocala':

    jai de nouveaux un problème depuis la nouvelle méthode d'installation il n'y a plus ou elle a été beaucoup déplacer la classe net.minecraft.item je me retrouve pas avec la nouvelle "version"

    Si quelqun saurait ou elle se trouve ce serai parfait merci

    Tu cherche la classe Item ?
    Si oui fait clique avec ctrl sur le nom de classe dans une de tes classe si non je ne vois pas ^^.
    Les classe de MC sont dans ressource library/forge…


  • merci beaucoup encore


    alors la je ne comprend plus rien jai copier le code de sceaux de lait dans les antalgique et jai enlever l'animation boire mais sa n’enlève pas les effet mais encore plus fous ces que maintenant quand on ce casse la figure on a plus l'effet de lenteur est ce quil y a quelque chose qui cloche dans met code??

    
    package medoc.effet;
    
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.item.EnumAction;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemStack;
    import net.minecraft.world.World;
    
    public class antalgique extends Item
    {
    public antalgique(int par1)
    {
    super(par1);
    this.setMaxStackSize(1);
    this.setCreativeTab(CreativeTabs.tabMisc);
    }
    
    public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
    {
    if (!par3EntityPlayer.capabilities.isCreativeMode)
    {
    –par1ItemStack.stackSize;
    }
    
    if (!par2World.isRemote)
    {
    par3EntityPlayer.curePotionEffects(par1ItemStack);
    }
    
    return par1ItemStack.stackSize <= 0 ? new ItemStack(Item.bone) : par1ItemStack;
    }
    
    /**
    * How long it takes to use or consume an item
    */
    public int getMaxItemUseDuration(ItemStack par1ItemStack)
    {
    return 1;
    }
    
    /**
    * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer
    */
    public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
    {
    par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack));
    return par1ItemStack;
    }
    }
    
    

    
    package medoc.effet;
    
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.potion.Potion;
    import net.minecraft.potion.PotionEffect;
    import net.minecraftforge.event.ForgeSubscribe;
    import net.minecraftforge.event.entity.living.LivingFallEvent;
    
    public class EventRegroupment
    {
    
    @ForgeSubscribe
    public void livingFallEvent(LivingFallEvent event)
    {
    if (event.entityLiving instanceof EntityPlayer)
    {
    if (event.entityLiving.worldObj.rand.nextInt(10) == 0)
    {
    if(event.entityLiving.fallDistance > 3)
    {
    event.entityLiving.addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 24000, 1));
    }
    }
    }
    }
    }
    
    

    
    package medoc.effet;
    
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.item.Item;
    import net.minecraftforge.common.Configuration;
    import net.minecraftforge.common.MinecraftForge;
    import tutoriel.proxy.TutoCommonProxy;
    import cpw.mods.fml.common.FMLCommonHandler;
    import cpw.mods.fml.common.Mod;
    import cpw.mods.fml.common.Mod.EventHandler;
    import cpw.mods.fml.common.Mod.Instance;
    import cpw.mods.fml.common.SidedProxy;
    import cpw.mods.fml.common.event.FMLInitializationEvent;
    import cpw.mods.fml.common.event.FMLPostInitializationEvent;
    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
    import cpw.mods.fml.common.network.NetworkMod;
    
    @Mod(modid = "ModTutoriel", name = "Mod Tutoriel", version = "1.0.0", acceptedMinecraftVersions = "[1.6.2,)")
    @NetworkMod(clientSideRequired = true, serverSideRequired = false)
    
    public class ModTutoriel
    {
    @SidedProxy(clientSide = "tutoriel.proxy.TutoClientProxy", serverSide = "tutoriel.proxy.TutoCommonProxy")
    public static TutoCommonProxy proxy;
    
    @Instance("ModTutoriel")
    public static ModTutoriel instance;
    public static Item antalgique, antibio;
    
    public static int antalgiqueID, antibioID;
    
    @EventHandler
    public void PreInit(FMLPreInitializationEvent event)
    {
    
    //Configuration
    Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());
    try
    {
    cfg.load();
    antalgiqueID = cfg.getBlock("antalgique", 22378).getInt();
    antibioID = cfg.getBlock("antibiotique", 22379).getInt();
    
    }
    catch(Exception ex)
    {
    event.getModLog().severe("Failed to load configuration");
    }
    finally
    {
    if(cfg.hasChanged())
    {
    cfg.save();
    }
    }
    
    //Blocks
    
    antalgique = new antalgique(22378).setUnlocalizedName("antalgique").setTextureName("modtutoriel:antalgique");
    
    antibio = new antibiotique(22379).setUnlocalizedName("antibiotique").setTextureName("modtutoriel:antibio");
    
    CreativeTabs TutorialCreativeTabs = new TutorialCreativeTabs("medicament");
    //Achievements
    }
    
    @EventHandler
    public void Init(FMLInitializationEvent event)
    {
    //proxy.[…]; Pour les Rendus
    proxy.registerRender();
    
    MinecraftForge.EVENT_BUS.register(new EventRegroupment());
    
    //NetWork
    
    //Recipe
    
    }
    
    @EventHandler
    public void PostInit(FMLPostInitializationEvent event)
    {
    //Intégration avec les autres mods
    
    }
    }
    
    

  • Pour ce qui est de l'effet de fracture quand on chute il y a ce tutoriel

    http://minecraftforgefrance.fr/showthread.php?tid=671


    Pour l'antalgique regarde ce qui cloche en te référant à ceci

    :::

    public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
    {
    par1ItemStack.stackSize–;
    for (Potion potion : potionsToStop)
    {
    if (par3EntityPlayer.getActivePotionEffects() != null && par3EntityPlayer.isPotionActive(potion))
    {
    par3EntityPlayer.removePotionEffect(potion.id);
    }
    }
    return par1ItemStack.stackSize <= 0 ? new ItemStack(ItemsManagement.syringue) : par1ItemStack;
    }
    

    :::


  • merci ZeAmateis mais si tu va voir sur ton ujet tu vera que jai poster une reponse car jai remarquer quelque erreur ou sinon ces moi qui est mal compris

    mais merci quand meme


    J'ai mit le nom de l'effet met que faire il le souligne en rouge



    j'ai essayer de lancer le jeu avec l'erreur ben l'antalgique fait quelque chose: …........... crasher minecraft
    mais j'ai suivis ton tuto mais quand je tombe de très haut rien ne ce passe


  • en attendant que quelqu’un trouve d'ou vient cette d'erreur qui foir tout est ce que quelqu’un aurai l'event forge quand on ce fait frapper par un monstre??

  • Moddeurs confirmés Rédacteurs Administrateurs

    LivingHurtEvent.

    Et pour ton erreur, c'est simplement car la variable n'existe pas. C'est pas comme ça qu'il faut faire pour retirer un effet de potion. Si tu veux virer un effet de potion :

    public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player)
    {
    if(!player.capabilities.isCreativeMode)
    {
    –stack.stackSize;
    }
    
    if(!world.isRemote)
    {
    
    player.removePotionEffect(Potion.moveSlowdown.id);
    }
    
    return stack.stackSize <= 0 ? null : stack;
    }
    

  • merci pour le LivingHurtEvent

    sauf que pour le code que tu mas donner j'utilise les antalgique en creative sa fonctionne nickel sauf quand survie le jeu crash et quand je revient sur le monde l'effet a disparue

    donc le seul soucie est le crash en survie

    et tu n'aurai pas la solution car quand je tombe de très haut je n'ai pas l'effet de lenteur je te passe mon code pour le verifier

    
    package medoc.effet;
    
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.potion.Potion;
    import net.minecraft.potion.PotionEffect;
    import net.minecraftforge.event.ForgeSubscribe;
    import net.minecraftforge.event.entity.living.LivingFallEvent;
    
    public class EventRegroupment
    {
    
    @ForgeSubscribe
    public void livingFallEvent(LivingFallEvent event)
    {
    if (event.entityLiving instanceof EntityPlayer)
    {
    if (event.entityLiving.worldObj.rand.nextInt(10) == 0)
    {
    if(event.entityLiving.fallDistance > 4)
    {
    event.entityLiving.addPotionEffect(new PotionEffect(Potion.confusion.getId(), 24000, 3));
    }
    }
    }
    }}
    
    

    merci

  • Moddeurs confirmés Rédacteurs Administrateurs

    C'est à cause du random non ?
    Pour le crash, dans ce cas il aime pas le return null. Fait comme ça :

    public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player)
    {
    if(!player.capabilities.isCreativeMode)
    {
    –stack.stackSize;
    }
    
    if(!world.isRemote)
    {
    
    player.removePotionEffect(Potion.moveSlowdown.id);
    }
    
    return stack;
    }
    

  • random ????


    sinon les antalgique fonctionne nickel merci


    ce je ne voit pas comment modifier le random si ces de cette ligne dont tu veut parler?

    
    if (event.entityLiving.worldObj.rand.nextInt(10) == 0)
    
    

  • ceci est a cause du dix ou du zéro est je doit remplacer par quoi??

    merci

  • Modérateurs

    if (event.entityLiving.worldObj.rand.nextInt(10) == 0)
    

    Actuellement, ta condition a une chance sur 10 d'être vrai et 9 chance sur 10 d'être fausse.