Hi, I have no idea what I am doing wrong PHP: public function onPlayerDeath(PlayerDeathEvent $event){ $player = $event->getPlayer(); $victime = $event->getEntity()->getName(); $killer = $event->getEntity()->getLastDamageCause()->getDamager(); $messages = [" Got REKT by ", " Died From Da Hand Of ", " Got His Ass Fixed By ", " Cried To Parents Because Of ", " Got Bullied By "]; $randommessage = $messages[array_rand($messages)]; if($killer instanceof Player){ $this->getServer()->broadcastMessage(TextFormat::GREEN . $victime . TextFormat::RED . $randommessage . TextFormat::GREEN . $killer); } if($event->getEntity() instanceof Player){ $event->setDrops([]); $this->addStrike($player, true); } } It doesn't get the Entity name of the $killer but the ID of the entity....$victime is working fine
Its not returning the killers name because you're only asking for the getDamager() PHP: $killer = $event->getEntity()->getLastDamageCause()->getDamager(); You basically just forgot to add the final ->getName() at the end my friend. PHP: $killer = $event->getEntity()->getLastDamageCause()->getDamager();$name = $killer->getName();
What do you mean by nothing happens? In my plugin this works fine for me PHP: $killer = $event->getPlayer()->getLastDamageCause()->getDamager(); $killer_name = $killer->getName();
I think this is a better way of doing it, in terms of checks too. Idk if there's anything wrong with it as I wrote it just there. PHP: public function onPlayerDeath(PlayerDeathEvent $event){$cause = $event->getPlayer()->getLastDamageCause();if ($cause instanceof EntityDamageByEntityEvent && $cause->getDamager() instanceof Player) {$victim = $event->getPlayer();$victim_name = $victim->getName();$killer = $victim->getLastDamageCause()->getDamager();$killer_name = $killer->getName();$messages = [" Got REKT by ", " Died From Da Hand Of ", " Got His Ass Fixed By ", " Cried To Parents Because Of ", " Got Bullied By "];$randommessage = array_rand($messages);//you were doing this before in a weird way idk why $this->getServer()->broadcastMessage(TextFormat::GREEN . $victim_name . TextFormat::RED . $randommessage . TextFormat::GREEN . $killer_name); $event->setDrops([]);$this->addStrike($player, true);}}