Advertisement
Guest User

Untitled

a guest
Apr 18th, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.25 KB | None | 0 0
  1. <?php
  2.  
  3. namespace MPCore;
  4.  
  5. use pocketmine\Server;
  6. use pocketmine\command\Command;
  7. use pocketmine\command\CommandExecutor;
  8. use pocketmine\command\CommandSender;
  9. use pocketmine\event\player\PlayerCommandPreprocessEvent;
  10. use pocketmine\event\player\PlayerDropItemEvent;
  11. use pocketmine\event\player\PlayerInteractEvent;
  12. use pocketmine\event\player\PlayerItemConsumeEvent;
  13. use pocketmine\event\player\PlayerJoinEvent;
  14. use pocketmine\event\player\PlayerMoveEvent;
  15. use pocketmine\event\player\PlayerPreLoginEvent;
  16. use pocketmine\event\player\PlayerQuitEvent;
  17. use pocketmine\event\player\PlayerRespawnEvent;
  18. use pocketmine\event\entity\EntityDamageEvent;
  19. use pocketmine\event\Listener;
  20. use pocketmine\event\block\BlockBreakEvent;
  21. use pocketmine\event\block\BlockPlaceEvent;
  22. use pocketmine\Player;
  23. use pocketmine\IPlayer;
  24. use pocketmine\utils\TextFormat;
  25. use pocketmine\plugin\PluginBase;
  26. use pocketmine\utils\Config;
  27. use pocketmine\math\Vector3;
  28. use pocketmine\level\Position;
  29. use pocketmine\block\Air;
  30. use pocketmine\block\Block;
  31.  
  32. class Main extends PluginBase implements Listener {
  33.  
  34. public function onEnable() {
  35. $this->authTrue = array();
  36. $this->frozen = array();
  37. $this->saveDefaultConfig();
  38. $this->reloadConfig();
  39. $this->getServer()->getPluginManager()->registerEvents($this, $this);
  40. $this->getLogger()->info( TextFormat::GREEN . "##########################################" );
  41. $this->getLogger()->info( TextFormat::GREEN . "# MinePocket Core - Enabled! #" );
  42. $this->getLogger()->info( TextFormat::GREEN . "# By Autonomousperson #" );
  43. $this->getLogger()->info( TextFormat::GREEN . "##########################################" );
  44. }
  45.  
  46. public function onPlayerCommand(PlayerCommandPreprocessEvent $event){
  47. $player = $event->getPlayer();
  48. $message = $event->getMessage();
  49. $cmdArr = explode(" ",$message);
  50. if(!in_array($event->getPlayer(), $this->authTrue)){
  51. if($cmdArr[0] === "/login"){
  52. $player->sendMessage(TextFormat::GREEN ."[MP] Please wait...");
  53. }else{
  54. $player->sendMessage(TextFormat::YELLOW ."[MP] Please /login before performing actions");
  55. $event->setCancelled(true);
  56. }
  57.  
  58. }
  59. }
  60.  
  61. public function onCommand(CommandSender $sender, Command $command, $label, array $args) {
  62. if($sender instanceof Player) {
  63. $player = $sender->getPlayer()->getName();
  64. $auth = $this->getConfig()->get($player);
  65. if(strtolower($command->getName('login'))) {
  66. if(empty($args)) {
  67. $sender->sendMessage(TextFormat::RED ."[MP] /login <PASS>");
  68. return true;
  69. }
  70. if (!empty($args)) {
  71. $pw = $args[0];
  72. $ch = curl_init();
  73. curl_setopt($ch, CURLOPT_URL, 'http://minepocket.com/api.php?action=authenticate&hash=j5d1fze2dc0f236gd7rb4eb0031qe239&username='.$player.'&password='.$pw.'');
  74. curl_setopt($ch, CURLOPT_HEADER, false);
  75. curl_setopt($ch, CURLOPT_NOBODY, false); // remove body
  76. curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  77. $head = curl_exec($ch);
  78. $obj = json_decode($head);
  79. $hash = $obj->{'hash'};
  80. $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  81. curl_close($ch);
  82. if (!isset($hash)) {
  83. $sender->sendMessage(TextFormat::RED ."[MP] Login failed. Try again.");
  84. $sender->sendMessage(TextFormat::GOLD ."[MP] Make sure your IGN matches your fourms name and password!");
  85. $this->getLogger()->info( TextFormat::RED . "[MPDEBUG] Fail" );
  86. }else{
  87. array_push($this->authTrue, $sender);
  88. $sender->sendMessage(TextFormat::GREEN ."[MP] You are now logged in!");
  89. $sender->sendMessage(TextFormat::AQUA ."[MP] Welcome back ".$player."!");
  90. $this->getLogger()->info( TextFormat::GREEN . "[MPDEBUG] Winner" );
  91. }
  92.  
  93.  
  94. /**
  95. if ($args[1] == "on") {
  96. if (empty($args[2])) {
  97. $sender->hidePlayer($sender);
  98. $sender->sendMessage(TextFormat::GREEN ."[MP] You should (hopefully) be vanished!");
  99. return true;
  100. }
  101. $sender->hidePlayer($args[2]);
  102. $sender->sendMessage(TextFormat::GREEN ."[MP] $args[2] should (hopefully) be vanished!");
  103. return true;
  104. }
  105. **/
  106. }
  107. else {
  108. $sender->sendMessage(TextFormat::YELLOW ."[MP] LulWut? Try /co help");
  109. return true;
  110. }
  111. }
  112. }else{
  113. if(strtolower($command->getName('mp'))) {
  114. if(empty($args)) {
  115. $sender->sendMessage("> Use /mp help");
  116. return true;
  117. }
  118. /**
  119. if ($args[0] == "on") {
  120. $sender->sendMessage("This command must be performed in game!");
  121. array_push($this->isinspecting, $sender);
  122. return true;
  123. }
  124. if ($args[0] == "off") {
  125. $sender->sendMessage("This command must be performed in game!");
  126. return true;
  127. }
  128.  
  129. if(empty($args)) {
  130. $sender->sendMessage(TextFormat::RED ."[MP] Run /co help");
  131. return true;
  132. }
  133.  
  134.  
  135. else {
  136. $sender->sendMessage(TextFormat::YELLOW ."[MP] LulWut? Try /co help");
  137. return true;
  138. }
  139. **/
  140. }
  141. }
  142. }
  143.  
  144. public function onPlayerJoin(PlayerJoinEvent $event){
  145. $player = $event->getPlayer();
  146. $name = $player->getName();
  147. $ch = curl_init();
  148. curl_setopt($ch, CURLOPT_URL, 'http://minepocket.com/api.php?action=getUser&hash=j5d1fze2dc0f236gd7rb4eb0031qe239&value='.$name.'');
  149. curl_setopt($ch, CURLOPT_HEADER, false);
  150. curl_setopt($ch, CURLOPT_NOBODY, false); // remove body
  151. curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  152. $head = curl_exec($ch);
  153. $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  154. $obj = json_decode($head);
  155. $user_id = $obj->{'user_id'};
  156. curl_close($ch);
  157. if(sameIP($player)){
  158. $player->sendMessage(TextFormat::GREEN ."IPMATCH");
  159. } else {
  160. $player->sendMessage(TextFormat::RED ."IPFAIL");
  161. }
  162. if (!isset($user_id)) {
  163. $player->sendMessage(TextFormat::RED ."=======================================");
  164. $player->sendMessage(TextFormat::AQUA ." Welcome to minepocket servers ");
  165. $player->sendMessage(TextFormat::AQUA ." We don't recognise your IGN ");
  166. $player->sendMessage(TextFormat::AQUA ." Register it at minepocket.com ");
  167. $player->sendMessage(TextFormat::RED ."=======================================");
  168. } else {
  169. $player->sendMessage(TextFormat::GREEN ."=======================================");
  170. $player->sendMessage(TextFormat::AQUA ." Welcome back to minepocket servers ");
  171. $player->sendMessage(TextFormat::AQUA ." Please use /login PASSWORD to auth ");
  172. $player->sendMessage(TextFormat::GREEN ."=======================================");
  173. }
  174. }
  175.  
  176. public function sameIP(Player $player) {
  177. $player->sendMessage(TextFormat::GREEN ."TRIG");
  178. $name = $player->getName();
  179. $ch = curl_init();
  180. curl_setopt($ch, CURLOPT_URL, 'http://http://minepocket.com/mpAPI.php?key=fSVulJ8LDZnopF4vYbjm&action=ip&user='.$name.'');
  181. curl_setopt($ch, CURLOPT_HEADER, false);
  182. curl_setopt($ch, CURLOPT_NOBODY, false); // remove body
  183. curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  184. $head = curl_exec($ch);
  185. $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  186. $player->sendMessage(TextFormat::GREEN .$head);
  187. $player->sendMessage(TextFormat::GREEN .$player->getAddress());
  188. if($head != NULL) {
  189. if ($player->getAddress() == $head) {
  190. return true;
  191. }
  192. return false;
  193. } else {
  194. return false;
  195. }
  196. }
  197.  
  198. public function onPlayereMove(PlayerMoveEvent $ev) {
  199. $player = $ev->getPlayer();
  200. $name = $player->getName();
  201. if (!in_array($ev->getPlayer(), $this->authTrue)) {
  202. $ev->setCancelled(true);
  203. return true;
  204. }
  205. }
  206.  
  207. public function onPlayerInteract(PlayerInteractEvent $ev) {
  208. $player = $ev->getPlayer();
  209. $name = $player->getName();
  210. if (!in_array($ev->getPlayer(), $this->authTrue)) {
  211. $ev->setCancelled(true);
  212. return true;
  213. }
  214. }
  215.  
  216. public function onBreak(BlockBreakEvent $ev) {
  217. $player = $ev->getPlayer();
  218. $name = $player->getName();
  219. if (!in_array($ev->getPlayer(), $this->authTrue)) {
  220. $ev->setCancelled(true);
  221. return true;
  222. }
  223. }
  224.  
  225. public function onPlace(BlockPlaceEvent $ev) {
  226. $player = $ev->getPlayer();
  227. $name = $player->getName();
  228. if (!in_array($ev->getPlayer(), $this->authTrue)) {
  229. $ev->setCancelled(true);
  230. return true;
  231. }
  232. }
  233.  
  234.  
  235. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement