• Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes
  • S'inscrire
  • Se connecter
  • S'inscrire
  • Se connecter
  • Recherche
  • Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes

FallingEvent, gare aux chutes !

Les events
4
7
3.5k
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.
  • Ama
    Ama dernière édition par robin4002 29 nov. 2021, 00:41 12 mars 2014, 17:41

    Sommaire

    • Introduction
    • Pré-requis
    • Code
      • Classe de regroupement
      • Notre event
    • Résultat

    Introduction

    Bonjour/Bonsoir et Bonne année !!

    Pour mon second tutoriel je vais parler un peu des events, la section “Les events” est un peu vide, et c’est en vous montrant un des multiples autre events qui existent, que je vais la remplir ! Libre à vous d’aller trifouiller pour trouver d’autres events !

    Pré-requis

    -Écouter de la musique (facultatif)
    -Avoir un bon gros verre de coca ou de bière (facultatif)(Attention l’abus d’alcool est dangereux pour la santé !)
    -Avoir un classe principale et les proxys, toussa toussa…

    Code

    Classe de regroupement :

    -Mais qu’est-ce qu’il raconte ?
    -Aller ! Il fallait que tu vienne tout gacher toi !
    -Non mai…
    -Tais-toi et laisse moi bosser, ok ?
    -Ok…

    Donc, pour vous expliquer le comment du comment,

    -Non, le comment du pou…
    -NON MAIS C’EST UNE BLAGUE !
    -Ah ok !

    La classe que j’appelle de regroupement sera la classe où nous mettrons tous nos events !

    Appelons la…

    package fr.tutomff.zeamateis;
    public class EventRegroupment
    {

    C’est sympa non ?

    -Non c’est nul, t’es nul comme gars, t’a pas d’idées !
    -…

    [Problèmes techniques en cours…]

    Re,

    Nous allons donc déclarer cette classe dans la classe principale grâce à un EVENT_BUS:

    -Non mais c’est faux y’a pas de b…
    -Ne continue même pas cette blague !
    -Rhooo ! Mais si on peut plus rigoler !
    -Tu n’est pas drôle !

    Mettez:

    MinecraftForge.EVENT_BUS.register(new EventRegroupment());
    

    Dans la fonction init ou comme vous voulez (un fonction d’initialisation dans tout les cas)

    Vous devriez donc avoir ceci:

    @EventHandler
    public void Init(FMLInitializationEvent event)
    {
    //proxy.[...]; Pour les Rendus
    MinecraftForge.EVENT_BUS.register(new LivingEventManager());
    }

    Pour cette partie nous avons terminé !
    Joignez-vous à la seconde partie ! Téléportation

    Notre event :

    Vous avez fait bon voyage ?

    -Non mais ton voyage il sert à rien !
    -Pourquoi ?! HEIN ?!
    -Ben, c’est juste en dessous…
    -Euhhhh…

    Donc !

    Nous allons maintenant créer notre fameux event de quand on tombe !

    -Tu parle bien français toi !
    -Oui et alors ?
    -Bah je sais pas mais… en parlant de classe … tu ferais mieux d’y retourner !
    1 - 0, balle de match

    Pour reprendre…

    Dans la classe précédemment créée:

    package fr.tutomff.zeamateis;
    public class EventRegroupment
    {

    Ajoutons ceci:

    @ForgeSubscribe
    public void livingFallEvent(LivingFallEvent event)
    {
    }

    Pour le livingFallEvent vous choisissez le nom que vous voulez, mais après si vous ne voulez pas rester un minimum LOGIQUE C’EST VOTRE PROBLEME !

    Excusez-moi j’ai été me chercher un gâtea…

    -MAIS QU’EST-CE QUE TU AS FAIT ?
    -Bah j’ai juste dit qu’ils étaient pas logiques…
    -MAIS TU LE DIS PAS COMME CA ! Les pauvres !
    -Rhooo ! C’était une blague !
    -OUI MAIS PAS DRÔLE ! ENCORE UNE FOIS !
    -Pardon…

    Excusez-moi chers lecteurs ! Je ne m’absenterais plus !

    Pour le livingFallEvent vous choisissez le nom que vous voulez, mais le plus pratique c’est de prendre le même nom de l’event que vous utilisez, MAIS ! De lui mettre une minuscule en début de fonction !

    **public void %(#FF0000)[l]%(#32CD32)[ivingFallEvent](%(#32CD32)[LivingFallEvent] event)**
    

    Vous voyez la différence ?

    Continuons,

    Je vous donne le code pour une fracture (qui est un bon exemple quand on chute):

    Mais copiez pas bêtement le code ! Attention !

    Ah ! Tu aller copier le code n’est-ce pas ?
    AH ! AH ! Ne le copie pas ! C’est pas très éducatif sinon !
    Bon aller… Tu m’a l’air sympatique quand même, je te le donne:

    if (event.entityLiving instanceof EntityPlayer)
    {
    if (event.entityLiving.worldObj.rand.nextInt(10) == 0)
    {
    if(event.entityLiving.fallDistance > 4)
    {
    event.entityLiving.addPotionEffect(new PotionEffect(Potion.weakness.getId(), 24000, 1));
    }
    }
    }

    Je vais vous expliquer le code ligne par lig…

    **-T’es fier de toi ?! HEIN ?!
    -Tu me coupe dans mon tutoriel là !
    -Non mais tu viens de perdre les 3/4 de tes lecteurs !
    -Ah bon ?!
    -Bah oui ! Avec t’es spoiler tu nous casse le cube !
    -Bah si t’es pas content part aussi !
    -Mais c’est ce que je fait !
    **
    [Quelques secondes plus tard…]

    -En fait je peux pas partir je suis dans ta tête
    -…

    Allez vous pouvez faire une pause à ce stade ! Buvez votre coca ou votre bière !

    if (event.entityLiving instanceof EntityPlayer)
    

    • Tout simplement: si(notre event.entitéeVivante est égale au joueur)

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

    • Là nous faisons un random grâce au monde

    if(event.entityLiving.fallDistance > 4)
    

    • si(notre event.entitéeVivante.chuteDuneHauteur > à 4)
    Donc en jeu, de 5 cubes soustrayez 1 à chaque fois ! (exemple: pour une chute de minimum 8 cubes on met > 7)

    event.entityLiving.addPotionEffect(new PotionEffect(Potion.weakness.getId(), 24000, 1));
    

    •Grâce à notre event.entitéeVivante nous lui ajoutons un effet Weakness, pour une durée de 20 minutes, de puissance 2
    Pour la puissance soustrayez 1 à chaque fois (exemple: pour une puissance de 3 on met 2)

    PS: J’ai moi même créer un damage source du nom de “fracture” je ne l’ai pas mis dans ce tutoriel pour ne pas que vous soyez perdu à le chercher sans le trouver ! C’est pour ça que j’ai mis Weakness

    Nous avons donc bel est bien:

    package fr.tutomff.zeamateis;
    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.weakness.getId(), 24000, 1));
    }
    }
    }
    }
    }

    Voilà voilà c’est tout pour ce tutoriel !
    Je suis désolé si le personnage dans ma tête vous a embêté !
    J’espère que vous aurez rigolé un minimum

    **-Ou pas !
    **
    Si c’est le cas faites me le savoir !

    **-Ou pas !
    **
    Sinon j’arrêterai de faire le skyzophrène !

    -Ou p… AH mais non ! continue s’il te plait ! J’arrêterai d’intervenir !
    -Ah ! ah ! Ou pas !

    Résultat

    Vous aurez un effet de potion weekness si vous tombez de 5 cubes !

    Encore merci de m’avoir lu !

    retourRetour vers le sommaire des tutoriels

    Si je t'ai filé un coup de main n'oublie pas le + / -
    Par contre évite les demandes d'aides en MP, tu sera sympa'

    La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

    Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

    1 réponse Dernière réponse Répondre Citer 0
    • jglrxavpok
      jglrxavpok Modérateurs dernière édition par 12 mars 2014, 17:44

      Le tutoriel m’a l’air pas mal.
      (Les dialogues sont marrants mais n’en abuse pas ;))

      Modérateur sur MFF. 
      Mon Github: http://github.com/jglrxavpok
      Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

      1 réponse Dernière réponse Répondre Citer 0
      • Ama
        Ama dernière édition par 12 mars 2014, 17:44

        ok je le saurais à l’avenir !

        Si je t'ai filé un coup de main n'oublie pas le + / -
        Par contre évite les demandes d'aides en MP, tu sera sympa'

        La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

        Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

        1 réponse Dernière réponse Répondre Citer 0
        • robin4002
          robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 12 mars 2014, 17:54

          Excellent tutoriel, j’ai juste changé le bouton retour vers le sommaire sur l’ancien sommaire.
          Il est vraiment génial, les dialogues sont drôles, mais comme l’a dit xavpok, évite d’en abuser. Ça va permettre d’avoir encore quelques tutoriels 1.7, d’ailleurs j’ai parlé de cette event dans le tutoriel d’aujourd’hui.
          Ça me fait penser qu’il faudrait aussi que je fasse un tutoriel général sur le event.

          1 réponse Dernière réponse Répondre Citer 1
          • M
            MrFlocala dernière édition par 6 août 2014, 11:51

            je suis le seule a remarquer une erreur??

            il dit de mettre sa dans la fonction init:

            MinecraftForge.EVENT_BUS.register(new EventRegroupment());

            et il dit que que cela doit donner sa:

            @EventHandler
            public void Init(FMLInitializationEvent event)
            {
            //proxy.[…]; Pour les Rendus
            MinecraftForge.EVENT_BUS.register(new LivingEventManager());
            }

            il ya une erreur car EventRegroupment n’est pas pareil que LivingEventManager.

            –------------------------------------------------------------
            et ici il manque un crochet a la fin

            package fr.tutomff.zeamateis;
            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.weakness.getId(), 24000, 1));
            }
            }
            }
            }
            1 réponse Dernière réponse Répondre Citer 0
            • robin4002
              robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 6 août 2014, 15:51

              EventRegroupment est un exemple, tu peux mettre n’importe quel nom.

              1 réponse Dernière réponse Répondre Citer 0
              • M
                MrFlocala dernière édition par 6 août 2014, 16:35

                ok merci

                1 réponse Dernière réponse Répondre Citer 0
                • 1 / 1
                3 sur 7
                • Premier message
                  3/7
                  Dernier message
                Design by Woryk
                Contact / Mentions Légales

                MINECRAFT FORGE FRANCE © 2018

                Powered by NodeBB