Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function kill(){
- if($this->dead === true or $this->spawned === false){
- return;
- }
- $message = $this->getName() . " died";
- $cause = $this->getLastDamageCause();
- $ev = null;
- if($cause instanceof EntityDamageEvent){
- $ev = $cause;
- $cause = $ev->getCause();
- }
- switch($cause){
- case EntityDamageEvent::CAUSE_ENTITY_ATTACK:
- if($ev instanceof EntityDamageByEntityEvent){
- $e = $ev->getDamager();
- if($e instanceof Player){
- $message = $this->getName() . " was killed by " . $e->getName();
- break;
- }elseif($e instanceof Living){
- $message = $this->getName() . " was slain by " . $e->getName();
- break;
- }
- }
- $message = $this->getName() . " was killed";
- break;
- case EntityDamageEvent::CAUSE_PROJECTILE:
- if($ev instanceof EntityDamageByEntityEvent){
- $e = $ev->getDamager();
- if($e instanceof Living){
- $message = $this->getName() . " was shot by " . $e->getName();
- break;
- }
- }
- $message = $this->getName() . " was shot by arrow";
- break;
- case EntityDamageEvent::CAUSE_SUICIDE:
- $message = $this->getName() . " died";
- break;
- case EntityDamageEvent::CAUSE_VOID:
- $message = $this->getName() . " fell out of the world";
- break;
- case EntityDamageEvent::CAUSE_FALL:
- if($ev instanceof EntityDamageEvent){
- if($ev->getFinalDamage() > 2){
- $message = $this->getName() . " fell from a high place";
- break;
- }
- }
- $message = $this->getName() . " hit the ground too hard";
- break;
- case EntityDamageEvent::CAUSE_SUFFOCATION:
- $message = $this->getName() . " suffocated in a wall";
- break;
- case EntityDamageEvent::CAUSE_LAVA:
- $message = $this->getName() . " tried to swim in lava";
- break;
- case EntityDamageEvent::CAUSE_FIRE:
- $message = $this->getName() . " went up in flames";
- break;
- case EntityDamageEvent::CAUSE_FIRE_TICK:
- $message = $this->getName() . " burned to death";
- break;
- case EntityDamageEvent::CAUSE_DROWNING:
- $message = $this->getName() . " drowned";
- break;
- case EntityDamageEvent::CAUSE_CONTACT:
- $message = $this->getName() . " was pricked to death";
- break;
- case EntityDamageEvent::CAUSE_BLOCK_EXPLOSION:
- case EntityDamageEvent::CAUSE_ENTITY_EXPLOSION:
- $message = $this->getName() . " blew up";
- break;
- case EntityDamageEvent::CAUSE_MAGIC:
- $message = $this->getName() . " was slain by magic";
- break;
- case EntityDamageEvent::CAUSE_CUSTOM:
- break;
- default:
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement