Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. public function kill(){
  2. if($this->dead === true or $this->spawned === false){
  3. return;
  4. }
  5. $message = $this->getName() . " died";
  6. $cause = $this->getLastDamageCause();
  7. $ev = null;
  8. if($cause instanceof EntityDamageEvent){
  9. $ev = $cause;
  10. $cause = $ev->getCause();
  11. }
  12. switch($cause){
  13. case EntityDamageEvent::CAUSE_ENTITY_ATTACK:
  14. if($ev instanceof EntityDamageByEntityEvent){
  15. $e = $ev->getDamager();
  16. if($e instanceof Player){
  17. $message = $this->getName() . " was killed by " . $e->getName();
  18. break;
  19. }elseif($e instanceof Living){
  20. $message = $this->getName() . " was slain by " . $e->getName();
  21. break;
  22. }
  23. }
  24. $message = $this->getName() . " was killed";
  25. break;
  26. case EntityDamageEvent::CAUSE_PROJECTILE:
  27. if($ev instanceof EntityDamageByEntityEvent){
  28. $e = $ev->getDamager();
  29. if($e instanceof Living){
  30. $message = $this->getName() . " was shot by " . $e->getName();
  31. break;
  32. }
  33. }
  34. $message = $this->getName() . " was shot by arrow";
  35. break;
  36. case EntityDamageEvent::CAUSE_SUICIDE:
  37. $message = $this->getName() . " died";
  38. break;
  39. case EntityDamageEvent::CAUSE_VOID:
  40. $message = $this->getName() . " fell out of the world";
  41. break;
  42. case EntityDamageEvent::CAUSE_FALL:
  43. if($ev instanceof EntityDamageEvent){
  44. if($ev->getFinalDamage() > 2){
  45. $message = $this->getName() . " fell from a high place";
  46. break;
  47. }
  48. }
  49. $message = $this->getName() . " hit the ground too hard";
  50. break;
  51. case EntityDamageEvent::CAUSE_SUFFOCATION:
  52. $message = $this->getName() . " suffocated in a wall";
  53. break;
  54. case EntityDamageEvent::CAUSE_LAVA:
  55. $message = $this->getName() . " tried to swim in lava";
  56. break;
  57. case EntityDamageEvent::CAUSE_FIRE:
  58. $message = $this->getName() . " went up in flames";
  59. break;
  60. case EntityDamageEvent::CAUSE_FIRE_TICK:
  61. $message = $this->getName() . " burned to death";
  62. break;
  63. case EntityDamageEvent::CAUSE_DROWNING:
  64. $message = $this->getName() . " drowned";
  65. break;
  66. case EntityDamageEvent::CAUSE_CONTACT:
  67. $message = $this->getName() . " was pricked to death";
  68. break;
  69. case EntityDamageEvent::CAUSE_BLOCK_EXPLOSION:
  70. case EntityDamageEvent::CAUSE_ENTITY_EXPLOSION:
  71. $message = $this->getName() . " blew up";
  72. break;
  73. case EntityDamageEvent::CAUSE_MAGIC:
  74. $message = $this->getName() . " was slain by magic";
  75. break;
  76. case EntityDamageEvent::CAUSE_CUSTOM:
  77. break;
  78. default:
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement