So, im trying to add money when a player dies ($10 specifically), using EconomyAPI. My code is PHP: public function onDeath(PlayerDeathEvent $event) { $player = $event->getPlayer(); $name = $player->getName(); $event->setDeathMessage("§0• §7[§4X§7]§f " . $name); $cause = $event->getEntity()->getLastDamageCause(); // Thanks IZeoGamer ! if ($cause->getCause() != 1) return; //not killed by entity if (!$cause instanceof EntityDamageByEntityEvent) return; //double check if ($cause->getDamager() instanceof Player) { $killer = $cause->getDamager(); $this->eco = $this->getServer()->getPluginManager()->getPlugin("EconomyAPI"); $this->eco->addMoney($killer->getName(), 10); } } I added the listener, and the Death Message works fine. Full code is at https://github.com/LegoFan48737/OrionListeners/blob/master/src/Clik/OrionListeners/Main.php am i misunderstanding how to use EconomyAPIs methods?
try this PHP: public function onDeath(PlayerDeathEvent $event) { $player = $event->getPlayer(); $name = $player->getName(); $event->setDeathMessage("§0• §7[§4X§7]§f " . $name); $cause = $event->getEntity()->getLastDamageCause(); if ($cause instanceof EntityDamageByEntityEvent){ if ($cause->getDamager() instanceof Player) { $killer = $cause->getDamager(); $this->eco = $this->getServer()->getPluginManager()->getPlugin("EconomyAPI"); $this->eco->addMoney($killer, 10); } }}
try this, and make sure you have all your imports PHP: /*** @param PlayerDeathEvent $event* @throws \ReflectionException* @priority HIGHEST* @ignoreCancelled TRUE*/public function onDeath(PlayerDeathEvent $event): void{ $player = $event->getPlayer(); $name = $player->getName(); $event->setDeathMessage("§0• §7[§4X§7]§f " . $name); $cause = $player->getLastDamageCause(); if($cause instanceof EntityDamageByEntityEvent){ $damager = $cause->getDamager(); if($damager instanceof Player){ EconomyAPI::getInstance()->addMoney($damager, 10); } }}