Résolu KillPlayerEvent
-
Bonjour,
je reviens mais avec un question plutôt simple je cherche a faire un killPlayerEvent mais j’ai quelques soucis je suis en train de coder un système de “karma” et je voudrait que le joueur qui tue un joueurs voit son karma diminuer le probleme c est que avec ce code:
package virusz.event; import net.minecraft.entity.player.EntityPlayer; import net.minecraftforge.event.entity.living.LivingDeathEvent; import virusz.core.ExtendedPlayer; import cpw.mods.fml.common.eventhandler.SubscribeEvent; public class PlayerKilledEvent { @SubscribeEvent public void whenDeath(LivingDeathEvent e) { if(e.source.getSourceOfDamage() instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer)e.entity; ExtendedPlayer.get(player).consumeKarma(100); System.out.println("test"); } } }
il ne se passe absolument rien et j ai essayer comme ca:
@SubscribeEvent public void whenDeath(LivingDeathEvent e) { if(e.entity instanceof EntityPlayer && !(e.source.getEntity() instanceof EntityPlayer)) { EntityPlayer player = (EntityPlayer)e.entity; ExtendedPlayer.get(player).consumeKarma(100); } }
c’est le joueur que je tue qui perd le karma pas moi
merci d’avance pour votre aide
-
e.entity = L’entity qui est morte
e.source.getEntity = l’entity qui tueLe bon code :
@SubscribeEvent public void whenDeath(LivingDeathEvent e) { if(e.entity instanceof EntityPlayer && !(e.source.getEntity() instanceof EntityPlayer)) { EntityPlayer player = (EntityPlayer)e.source.getEntity(); ExtendedPlayer.get(player).consumeKarma(100); } }
-
ça ne fonctionne pas le karma des 2 joueur ne descend pas
(j’utilise déjà la fonction consumeKarma avec un item et ça fonctionne parfaitement)
Edit: ça peut venir du fait que je test en utilisant 2 instance de minecraft sur un seul pc?
-
Pas de !
@SubscribeEvent public void whenDeath(LivingDeathEvent e) { if(e.entity instanceof EntityPlayer && e.source.getEntity() instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer)e.source.getEntity(); ExtendedPlayer.get(player).consumeKarma(100); } }
-
Bon j’ai trouvé le probleme avec ce code ca fonctionne:
@SubscribeEvent public void whenDeath(LivingDeathEvent e) { if(e.entity instanceof EntityPlayer && (e.source.getEntity() instanceof EntityPlayer)) { EntityPlayer player = (EntityPlayer)e.source.getEntity(); ExtendedPlayer.get(player).consumeKarma(100); } }
-
Bon bha on a trouver le probleme en même temps x) je passe en résolut merci du coup de main