PageRenderTime 46ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/Block-Hunt/Block-Hunt-master/src/NetherManiacsKingdomTeam/Block-Hunt/arenas/ArenaListener.php

https://gitlab.com/Skull3x/WorkingInProgress-Plugins-Sourcecode-For-Dev
PHP | 227 lines | 191 code | 13 blank | 23 comment | 90 complexity | 322d40e7b9a0add1eacfc68617e51951 MD5 | raw file
  1. <?php
  2. namespace mcg76\game\blockhunt\arenas;
  3. use pocketmine\event\Listener;
  4. use pocketmine\event\player\PlayerInteractEvent;
  5. use pocketmine\event\player\PlayerRespawnEvent;
  6. use pocketmine\level\Position;
  7. use pocketmine\event\block\SignChangeEvent;
  8. use pocketmine\event\block\BlockEvent;
  9. use pocketmine\event\block\BlockPlaceEvent;
  10. use pocketmine\event\block\BlockBreakEvent;
  11. use pocketmine\math\Vector3;
  12. use pocketmine\Player;
  13. use pocketmine\event\player\PlayerEvent;
  14. use pocketmine\event\entity\EntityDamageByEntityEvent;
  15. use pocketmine\math\Vector2;
  16. use pocketmine\item\Item;
  17. use pocketmine\Server;
  18. use mcg76\game\blockhunt\itemcase\ItemCaseBuilder;
  19. use pocketmine\event\entity\EntityLevelChangeEvent;
  20. use mcg76\game\blockhunt\itemcase\ItemCaseModel;
  21. use pocketmine\network\protocol\MovePlayerPacket;
  22. use mcg76\game\blockhunt\BlockHuntPlugIn;
  23. /**
  24. * MCPE BlockHunt Minigame - Made by minecraftgenius76
  25. *
  26. * You're allowed to use for own usage only "as-is".
  27. * you're not allowed to republish or resell or for any commercial purpose.
  28. *
  29. * Thanks for your cooperate!
  30. *
  31. * Copyright (C) 2014 minecraftgenius76
  32. * YouTube Channel: http://www.youtube.com/user/minecraftgenius76
  33. *
  34. * @author minecraftgenius76
  35. *
  36. */
  37. class ArenaListener implements Listener {
  38. public $plugin = null;
  39. public function __construct(BlockHuntPlugIn $plugin) {
  40. $this->plugin = $plugin;
  41. }
  42. public function getPlugin() {
  43. return $this->plugin;
  44. }
  45. public function onPlayerInteract(PlayerInteractEvent $event) {
  46. $player = $event->getPlayer ();
  47. $block = $event->getBlock ();
  48. if ($player instanceof Player) {
  49. if (strtolower ( $event->getPlayer ()->getLevel ()->getName () ) === strtolower ( $this->getPlugin ()->homeLevelName )) {
  50. $this->getPlugin ()->arenaManager->handleTapOnArenaSigns ( $player, $block );
  51. }
  52. }
  53. }
  54. /**
  55. *
  56. * @param BlockBreakEvent $event
  57. */
  58. public function onBlockBreak(BlockBreakEvent $event) {
  59. if ($event->getPlayer () instanceof Player) {
  60. if (strtolower ( $event->getPlayer ()->getLevel ()->getName () ) === strtolower ( $this->getPlugin ()->homeLevelName )) {
  61. if ($this->getPlugin ()->setupModeAction === ArenaManager::COMMAND_ARENA_POSITION || $this->getPlugin ()->setupModeAction == ArenaManager::COMMAND_ARENA_POSITION || $this->getPlugin ()->setupModeAction == ArenaManager::COMMAND_ARENA_SEEKER_DOOR) {
  62. $this->getPlugin ()->arenaManager->handleBlockBreakSelection ( $event->getPlayer (), $event->getBlock () );
  63. }
  64. }
  65. }
  66. }
  67. /**
  68. * Watch sign change
  69. *
  70. * @param SignChangeEvent $event
  71. */
  72. public function onSignChange(SignChangeEvent $event) {
  73. if (strtolower ( $event->getPlayer ()->getLevel ()->getName () ) === strtolower ( $this->getPlugin ()->homeLevelName )) {
  74. $player = $event->getPlayer ();
  75. $block = $event->getBlock ();
  76. $line1 = $event->getLine ( 0 );
  77. $line2 = $event->getLine ( 1 );
  78. $line3 = $event->getLine ( 2 );
  79. $line4 = $event->getLine ( 3 );
  80. if (! $event->getPlayer ()->isOp ()) {
  81. $event->getPlayer ()->sendMessage ( "[BH] You are not authorized to use this command." );
  82. $event->setCancelled(true);
  83. } else {
  84. if ($line1 != null && $line1 === "[blockhunt]") {
  85. if ($line2 != null && $line2 === "join") {
  86. $arenaName = $line3;
  87. $this->getPlugin ()->arenaManager->handleSetSignJoin ( $player, $arenaName, $block );
  88. }
  89. if ($line2 != null && $line2 === "exit") {
  90. $arenaName = $line3;
  91. $this->getPlugin ()->arenaManager->handleSetSignExit ( $player, $arenaName, $block );
  92. }
  93. if ($line2 != null && $line2 === "exit2") {
  94. $arenaName = $line3;
  95. $this->getPlugin ()->arenaManager->handleSetSignExit2 ( $player, $arenaName, $block );
  96. }
  97. if ($line2 != null && $line2 === "stats") {
  98. $arenaName = $line3;
  99. $this->getPlugin ()->arenaManager->handleSetSignStats ( $player, $arenaName, $block );
  100. }
  101. if ($line2 != null && $line2 === "stats2") {
  102. $arenaName = $line3;
  103. $this->getPlugin ()->arenaManager->handleSetSignStats2 ( $player, $arenaName, $block );
  104. }
  105. if ($line2 != null && $line2 === "seeker") {
  106. $arenaName = $line3;
  107. $this->getPlugin ()->arenaManager->handleSetSignJoinSeeker ( $player, $arenaName, $block );
  108. }
  109. if ($line2 != null && $line2 === "seeker2") {
  110. $arenaName = $line3;
  111. $this->getPlugin ()->arenaManager->handleSetSignJoinSeeker2 ( $player, $arenaName, $block );
  112. }
  113. if ($line2 != null && $line2 === "hider") {
  114. $arenaName = $line3;
  115. $this->getPlugin ()->arenaManager->handleSetSignJoinHider ( $player, $arenaName, $block );
  116. }
  117. if ($line2 != null && $line2 === "hider2") {
  118. $arenaName = $line3;
  119. $this->getPlugin ()->arenaManager->handleSetSignJoinHider2 ( $player, $arenaName, $block );
  120. }
  121. if ($line2 != null && $line2 === "teleport") {
  122. if ($line3 != null && $line3 === "lobby") {
  123. $this->getPlugin ()->getConfig ()->set ( "server_lobby_sign_level", $event->getBlock ()->level->getName () );
  124. $this->getPlugin ()->getConfig ()->set ( "server_lobby_sign_x", $event->getBlock ()->x );
  125. $this->getPlugin ()->getConfig ()->set ( "server_lobby_sign_y", $event->getBlock ()->y );
  126. $this->getPlugin ()->getConfig ()->set ( "server_lobby_sign_z", $event->getBlock ()->z );
  127. $this->getPlugin ()->getConfig ()->save ();
  128. $player->sendMessage ( "[BH] Server lobby sign location set to " . $event->getBlock ()->x . " " . $event->getBlock ()->y . " " . $event->getBlock ()->z );
  129. }
  130. if ($line3 != null && $line3 === "home") {
  131. $this->getPlugin ()->getConfig ()->set ( "blockhunt_home_sign_level", $event->getBlock ()->level->getName () );
  132. $this->getPlugin ()->getConfig ()->set ( "blockhunt_home_sign_x", $event->getBlock ()->x );
  133. $this->getPlugin ()->getConfig ()->set ( "blockhunt_home_sign_y", $event->getBlock ()->y );
  134. $this->getPlugin ()->getConfig ()->set ( "blockhunt_home_sign_z", $event->getBlock ()->z );
  135. $player->sendMessage ( "[BH] Home sign location set to " . $event->getBlock ()->x . " " . $event->getBlock ()->y . " " . $event->getBlock ()->z );
  136. $this->getPlugin ()->getConfig ()->save ();
  137. }
  138. }
  139. if ($line2 != null && $line2 === "stat") {
  140. if ($line3 != null && $line3 === "podium") {
  141. if ($line4 != null && $line4 === "diamond") {
  142. $this->getPlugin ()->getConfig ()->set ( "bh_podium_diamond_x", $event->getBlock ()->x );
  143. $this->getPlugin ()->getConfig ()->set ( "bh_podium_diamond_y", $event->getBlock ()->y );
  144. $this->getPlugin ()->getConfig ()->set ( "bh_podium_diamond_z", $event->getBlock ()->z );
  145. $this->getPlugin ()->getConfig ()->save ();
  146. $player->sendMessage ( "[BH] podium DIAMOND sign set to " . $event->getBlock ()->x . " " . $event->getBlock ()->y . " " . $event->getBlock ()->z );
  147. }
  148. if ($line4 != null && $line4 === "gold") {
  149. $this->getPlugin ()->getConfig ()->set ( "bh_podium_gold_x", $event->getBlock ()->x );
  150. $this->getPlugin ()->getConfig ()->set ( "bh_podium_gold_y", $event->getBlock ()->y );
  151. $this->getPlugin ()->getConfig ()->set ( "bh_podium_gold_z", $event->getBlock ()->z );
  152. $this->getPlugin ()->getConfig ()->save ();
  153. $player->sendMessage ( "[BH] podium GOLD sign set to " . $event->getBlock ()->x . " " . $event->getBlock ()->y . " " . $event->getBlock ()->z );
  154. }
  155. if ($line4 != null && $line4 === "silver") {
  156. $this->getPlugin ()->getConfig ()->set ( "bh_podium_silver_x", $event->getBlock ()->x );
  157. $this->getPlugin ()->getConfig ()->set ( "bh_podium_silver_y", $event->getBlock ()->y );
  158. $this->getPlugin ()->getConfig ()->set ( "bh_podium_silver_z", $event->getBlock ()->z );
  159. $this->getPlugin ()->getConfig ()->save ();
  160. $player->sendMessage ( "[BH] podium SILVER sign set to " . $event->getBlock ()->x . " " . $event->getBlock ()->y . " " . $event->getBlock ()->z );
  161. }
  162. }
  163. if ($line3 != null && $line3 === "seeker") {
  164. if ($line4 != null && $line4 === "gold") {
  165. $this->getPlugin ()->getConfig ()->set ( "bh_seeker_podium_gold_x", $event->getBlock ()->x );
  166. $this->getPlugin ()->getConfig ()->set ( "bh_seeker_podium_gold_y", $event->getBlock ()->y );
  167. $this->getPlugin ()->getConfig ()->set ( "bh_seeker_podium_gold_z", $event->getBlock ()->z );
  168. $this->getPlugin ()->getConfig ()->save ();
  169. $player->sendMessage ( "[BH] Seeker podium GOLD sign set to " . $event->getBlock ()->x . " " . $event->getBlock ()->y . " " . $event->getBlock ()->z );
  170. }
  171. if ($line4 != null && $line4 === "silver") {
  172. $this->getPlugin ()->getConfig ()->set ( "bh_seeker_podium_silver_x", $event->getBlock ()->x );
  173. $this->getPlugin ()->getConfig ()->set ( "bh_seeker_podium_silver_y", $event->getBlock ()->y );
  174. $this->getPlugin ()->getConfig ()->set ( "bh_seeker_podium_silver_z", $event->getBlock ()->z );
  175. $this->getPlugin ()->getConfig ()->save ();
  176. $player->sendMessage ( "[BH] Seeker podium SILVER sign set to " . $event->getBlock ()->x . " " . $event->getBlock ()->y . " " . $event->getBlock ()->z );
  177. }
  178. if ($line4 != null && $line4 === "bronse") {
  179. $this->getPlugin ()->getConfig ()->set ( "bh_seeker_podium_bronse_x", $event->getBlock ()->x );
  180. $this->getPlugin ()->getConfig ()->set ( "bh_seeker_podium_bronse_y", $event->getBlock ()->y );
  181. $this->getPlugin ()->getConfig ()->set ( "bh_seeker_podium_bronse_z", $event->getBlock ()->z );
  182. $this->getPlugin ()->getConfig ()->save ();
  183. $player->sendMessage ( "[BH] Seeker podium BRONSE sign set to " . $event->getBlock ()->x . " " . $event->getBlock ()->y . " " . $event->getBlock ()->z );
  184. }
  185. }
  186. if ($line3 != null && $line3 === "hider") {
  187. if ($line4 != null && $line4 === "gold") {
  188. $this->getPlugin ()->getConfig ()->set ( "bh_hider_podium_gold_x", $event->getBlock ()->x );
  189. $this->getPlugin ()->getConfig ()->set ( "bh_hider_podium_gold_y", $event->getBlock ()->y );
  190. $this->getPlugin ()->getConfig ()->set ( "bh_hider_podium_gold_z", $event->getBlock ()->z );
  191. $this->getPlugin ()->getConfig ()->save ();
  192. $player->sendMessage ( "[BH] Hider podium GOLD sign set to " . $event->getBlock ()->x . " " . $event->getBlock ()->y . " " . $event->getBlock ()->z );
  193. }
  194. if ($line4 != null && $line4 === "silver") {
  195. $this->getPlugin ()->getConfig ()->set ( "bh_hider_podium_silver_x", $event->getBlock ()->x );
  196. $this->getPlugin ()->getConfig ()->set ( "bh_hider_podium_silver_y", $event->getBlock ()->y );
  197. $this->getPlugin ()->getConfig ()->set ( "bh_hider_podium_silver_z", $event->getBlock ()->z );
  198. $this->getPlugin ()->getConfig ()->save ();
  199. $player->sendMessage ( "[BH] Hider podium SILVER sign set to " . $event->getBlock ()->x . " " . $event->getBlock ()->y . " " . $event->getBlock ()->z );
  200. }
  201. if ($line4 != null && $line4 === "bronse") {
  202. $this->getPlugin ()->getConfig ()->set ( "bh_hider_podium_bronse_x", $event->getBlock ()->x );
  203. $this->getPlugin ()->getConfig ()->set ( "bh_hider_podium_bronse_y", $event->getBlock ()->y );
  204. $this->getPlugin ()->getConfig ()->set ( "bh_hider_podium_bronse_z", $event->getBlock ()->z );
  205. $this->getPlugin ()->getConfig ()->save ();
  206. $player->sendMessage ( "[BH] Hider podium BRONSE sign set to " . $event->getBlock ()->x . " " . $event->getBlock ()->y . " " . $event->getBlock ()->z );
  207. }
  208. }
  209. }
  210. }
  211. }
  212. }
  213. }
  214. }