24 juin 2014, 20:17

En faite c’est les deux en gros :

  • Un joueur ce fait attaquer on perd, euhh … , 2 par exemple d’energie
  • On attaque une entité dans c’est cas la on perd 5 (par exemple)

je pense avoir compris le principe 🙂 la on dit “event.source.getEntity()” il faudrait dire entity pour dire le joueur ce fait attaquer

Mon code actuel (Pas terminer):

// Quand le joueur attaque ou se fait attaquer
@SubscribeEvent
public void onAttaque(LivingAttackEvent event)
{
// Si une entité est attaquer et que cette attaque est par un joueur
if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer)
{
EntityPlayer player = (EntityPlayer) event.source.getEntity();
ExtendedPlayerEnergie prop = ExtendedPlayerEnergie.get(player);

if(!player.worldObj.isRemote)
prop.removeEnergie(EnergiePerduAttaquer);
}

// Si un joueur est attaquer par une entité
if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityCreature)
{
EntityPlayer player = (EntityPlayer) event.entity;
ExtendedPlayerEnergie prop = ExtendedPlayerEnergie.get(player);

if(!player.worldObj.isRemote)
prop.removeEnergie(EnergiePerduAttaque);
}
}

Ici j’ai un problème, il m’enlève 2x de l’énergie :

// Si un joueur est attaquer par une entité
if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityCreature)
{
EntityPlayer player = (EntityPlayer) event.entity;
ExtendedPlayerEnergie prop = ExtendedPlayerEnergie.get(player);

if(!player.worldObj.isRemote)
prop.removeEnergie(EnergiePerduAttaque);
}