[Event] LivingDeathEvent, paix à votre âme !



  • Sommaire

    • Introduction

    • Pré-requis

    • (#code)
      [list]
      [*][EventRegroupment.java](#classe1)
      [/list][*][Résultat](#resultat)
      [*][Crédits](#credit)
      
      [ancre=intro]#[align][size]Introduction([align][size]Introduction)[/ancre]
      
      [align]Yellow tout le monde ! 
      Second tutoriel pour la section Event.
      Quel event allons nous voir ? Le LivingDeathEvent, quand une entitée meurt !
      
      [ancre=prerequis]#[align][size]Pré-requis([align][size]Pré-requis)[/ancre]
      
      [align]Avoir vu mon précédent tutoriel sur le [FallingEvent](http://minecraftforgefrance.fr/showthread.php?tid=671), car il vous faudra avoir la classe EventRegroupment (ou pas si vous savez où placer les events !)
      
      [ancre=code]#[align][size]Code([align][size]Code)[/ancre]
      
      [ancre=classe1][size]***EventRegroupment.java***[/ancre]
      
      ```java
      
      package fr.tutomff.zeamateis;
      
      public class LivingEventManager
      {
      
      }
      

      Je ne vais pas passer par quatre chemin je vous donne et explique les lignes de code !

      ```java
      

      @ForgeSubscribe
      public void onLivingDeath(LivingDeathEvent event)
      {

          }
      
      
      Cette fonction appelle l'event LivingDeathEvent !
      
      		```java
      Entity source = event.source.getSourceOfDamage();
      
      		if (source != null)
      		{
      			if (source instanceof EntityZombie)
      			{
      
      			}
      		}
      

      Ce bout de code quant à lui, va faire en sorte que: Si la source de dégât n'est pas nulle et que la source de dégât correspond à un Zombie alors...

      [size]-Alors quoi ?
      -Commence pas...

      Donc si je me fait tuer par un zombie...

      Ca peut très bien être le joueur ! Dans ce cas là on instancie **EntityPlayer **!

      [size]-Hummm ? Qu'est-ce que je peux mettre comme exemple concret ?
      -Bah je sais pas moi, t'a qu'a faire en sorte que si le joueur meurt par un zombie, bah il fasse spawn un zombie !
      -Hey ! Pas bête ! Tu vois quand tu veux !
      -Je sais... Je sais....
      -Non mais te la pète pas trop non plus !

      Le code qu'il faut rajouter pour cet exemple est:

      		       ```java
      

      EntityZombie spawningZombie = new EntityZombie(event.entityLiving.worldObj);
      spawningZombie.setLocationAndAngles(event.entityLiving.posX, event.entityLiving.posY, event.entityLiving.posZ, event.entityLiving.rotationYaw, event.entityLiving.rotationPitch);
      event.entityLiving.worldObj.spawnEntityInWorld(spawningZombie);

      
      Je vais juste vous expliquer une seule ligne, la plus importante !
      
      ```java
      spawningZombie.setLocationAndAngles(event.entityLiving.posX, event.entityLiving.posY, event.entityLiving.posZ, event.entityLiving.rotationYaw, event.entityLiving.rotationPitch);
      

      Cette ligne sert à faire en sorte que notre zombie qui apparaîtra lors de notre mort spawn exactement sur le bloc où vous êtes mort !

      Voilà voilà ! Merci de m'avoir lu encore une fois !!!

      [ancre=resultat]#[align][size]Résultat([align][size]Résultat)[/ancre]

      Je n'ai pas de screen sous le bras, mais je vous laisse découvrir le résultat par vous même !( Il y aura un zombie qui spawnera là où vous êtes mort !

      Je vous donne le code complet !
      Attention ! Pas de triche hein ?

      :::

      @ForgeSubscribe
      	public void onLivingDeath(LivingDeathEvent event)
      	{
      		Entity source = event.source.getSourceOfDamage();
      		if (source != null)
      		{
      			if (source instanceof EntityZombie)
      			{
      				if(event.entityLiving.worldObj.isAirBlock((int)(event.entityLiving.posX - 1), (int)event.entityLiving.posY, (int)event.entityLiving.posZ))
      				{
        		          EntityZombie spawningZombie = new EntityZombie(event.entityLiving.worldObj);
        		          spawningZombie.setLocationAndAngles(event.entityLiving.posX, event.entityLiving.posY, event.entityLiving.posZ, event.entityLiving.rotationYaw, event.entityLiving.rotationPitch);
        		          event.entityLiving.worldObj.spawnEntityInWorld(spawningZombie);
      
      				}
      			}
      		}
      	}
      

      :::

      [ancre=credit]#[align][size]Crédits([align][size]Crédits)[/ancre]

      Mod Nanotech de Kevin, je crois ?
      Edit: Pour la fonction de l'azote liquide, me semble-t-il, qui pose deux blocs de glace si on tombe dedans !

      [align] Retour vers le sommaire des tutoriels[/align][/size][/align][/size][/align][/size][/align][/size][/align][/size][/size][/size][/size][/align][/size][/align][/align][/size][/align][/size][/align][/align][/size][/align][/size][/align]



  • Post Edité: 20/03/2014 9h11


  • Moddeurs confirmés Rédacteurs Administrateurs

    Même chose que pour le tutoriel d'AlphaSwittleTeam, je ne le trouve pas assez général, d'ailleurs le titre n'est pas très explicite.
    Et puis comme je l'ai dit dans mon tutoriel général sur les événements, il y a pleins de choses différentes faisable, et tout le monde ne cherchera pas à faire la même chose.
    Un tutoriel complet pour juste un exemple, je trouve pas ça super, le mieux étant de regrouper plusieurs exemples dans un même tutoriel.

    Après c'est vrai que je n'avais pas encore fait mon tutoriel général sur les événements quand tu as rédigé celui-la, mais maintenant que mon tutoriel général sur les événements est publié, je ne vois plus trop l'intérêt de celui-la.



  • Bah move le dans refusé, ça ne me dérange pas et je comprend ! 😄


Log in to reply