PlayerDeathEvent gibt als Killer "null" aus, was soll ich tun?

2 Antworten

Es will einfach nicht

@EventHandler
public void onPlayerDeath(PlayerDeathEvent e) {

PLayer p = e.getEntity;

if(e.getEntity().getKiller() instanceof Zombie){
e.sendDeathMessage(p + "wurde von einem Zombie getötet")
}
}

getPlayer liefert nur einen Player, ich habe mir gedacht, dass ich das EntityDamagedEvent nutzen muss, um herrauszufinden was für eines es war, aber mir will nicht in den Kopf wie es gehen kann. bitte nochmals m Hilfe

Er gibt null aus da dein killer nur ein Entity Object ist wenn ich das richtig sehe, du musst schon den namen des Killers holen und nicht das Objekt.

Hoffe ich hab nichts überlesen.

Woher ich das weiß:eigene Erfahrung – Hosting diverse Spigot/Bukkit Server sowie Forge
Matzel030706 
Fragesteller
 17.09.2017, 18:26

Also das hier?


Entity killer = p.getKiller().getName

Momentan hab ich es so probiert:
Normale Todesnachricht als String holen, und gucken ob der Mobname (z.B Zombie) drinne vorhanden ist. Hat auch funktioniert, nur will ich wissen, wie das im richtigen Minecraft gemacht ist, also wodurch erkannt wird, was der Auslöser für den Tod des Spielers ist.
Kannst du mir sagen wie?

0
OnlyKev  04.10.2017, 17:47
@Matzel030706

@EventHandler
public void onDeath(PlayerDeathEvent e){
if(e.getEntity().getKiller() instanceof ZombieVillager){

}
}

1