Sommaire
Introduction
Yellow tout le monde !
Second tutoriel pour la section Event.
Quel event allons nous voir ? Le LivingDeathEvent, quand une entitée meurt !
#pré-requis(Pré-requis)
Avoir vu mon précédent tutoriel sur le FallingEvent, car il vous faudra avoir la classe EventRegroupment (ou pas si vous savez où placer les events !)
Code
EventRegroupment.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 !
@ForgeSubscribe
public void onLivingDeath(LivingDeathEvent event)
{
}
Cette fonction appelle l’event LivingDeathEvent !
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…
-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 **!
-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 !!!
Résultat
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);
}
}
}
}
:::
Crédits
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 !