authTrue = array(); $this->frozen = array(); $this->saveDefaultConfig(); $this->reloadConfig(); $this->getServer()->getPluginManager()->registerEvents($this, $this); $this->getLogger()->info( TextFormat::GREEN . "##########################################" ); $this->getLogger()->info( TextFormat::GREEN . "# MinePocket Core - Enabled! #" ); $this->getLogger()->info( TextFormat::GREEN . "# By Autonomousperson #" ); $this->getLogger()->info( TextFormat::GREEN . "##########################################" ); } public function onPlayerCommand(PlayerCommandPreprocessEvent $event){ $player = $event->getPlayer(); $message = $event->getMessage(); $cmdArr = explode(" ",$message); if(!in_array($event->getPlayer(), $this->authTrue)){ if($cmdArr[0] === "/login"){ $player->sendMessage(TextFormat::GREEN ."[MP] Please wait..."); }else{ $player->sendMessage(TextFormat::YELLOW ."[MP] Please /login before performing actions"); $event->setCancelled(true); } } } public function onCommand(CommandSender $sender, Command $command, $label, array $args) { if($sender instanceof Player) { $player = $sender->getPlayer()->getName(); $auth = $this->getConfig()->get($player); if(strtolower($command->getName('login'))) { if(empty($args)) { $sender->sendMessage(TextFormat::RED ."[MP] /login "); return true; } if (!empty($args)) { $pw = $args[0]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://minepocket.com/api.php?action=authenticate&hash=j5d1fze2dc0f236gd7rb4eb0031qe239&username='.$player.'&password='.$pw.''); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_NOBODY, false); // remove body curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $head = curl_exec($ch); $obj = json_decode($head); $hash = $obj->{'hash'}; $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if (!isset($hash)) { $sender->sendMessage(TextFormat::RED ."[MP] Login failed. Try again."); $sender->sendMessage(TextFormat::GOLD ."[MP] Make sure your IGN matches your fourms name and password!"); $this->getLogger()->info( TextFormat::RED . "[MPDEBUG] Fail" ); }else{ array_push($this->authTrue, $sender); $sender->sendMessage(TextFormat::GREEN ."[MP] You are now logged in!"); $sender->sendMessage(TextFormat::AQUA ."[MP] Welcome back ".$player."!"); $this->getLogger()->info( TextFormat::GREEN . "[MPDEBUG] Winner" ); } /** if ($args[1] == "on") { if (empty($args[2])) { $sender->hidePlayer($sender); $sender->sendMessage(TextFormat::GREEN ."[MP] You should (hopefully) be vanished!"); return true; } $sender->hidePlayer($args[2]); $sender->sendMessage(TextFormat::GREEN ."[MP] $args[2] should (hopefully) be vanished!"); return true; } **/ } else { $sender->sendMessage(TextFormat::YELLOW ."[MP] LulWut? Try /co help"); return true; } } }else{ if(strtolower($command->getName('mp'))) { if(empty($args)) { $sender->sendMessage("> Use /mp help"); return true; } /** if ($args[0] == "on") { $sender->sendMessage("This command must be performed in game!"); array_push($this->isinspecting, $sender); return true; } if ($args[0] == "off") { $sender->sendMessage("This command must be performed in game!"); return true; } if(empty($args)) { $sender->sendMessage(TextFormat::RED ."[MP] Run /co help"); return true; } else { $sender->sendMessage(TextFormat::YELLOW ."[MP] LulWut? Try /co help"); return true; } **/ } } } public function onPlayerJoin(PlayerJoinEvent $event){ $player = $event->getPlayer(); $name = $player->getName(); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://minepocket.com/api.php?action=getUser&hash=j5d1fze2dc0f236gd7rb4eb0031qe239&value='.$name.''); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_NOBODY, false); // remove body curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $head = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); $obj = json_decode($head); $user_id = $obj->{'user_id'}; curl_close($ch); if(sameIP($player)){ $player->sendMessage(TextFormat::GREEN ."IPMATCH"); } else { $player->sendMessage(TextFormat::RED ."IPFAIL"); } if (!isset($user_id)) { $player->sendMessage(TextFormat::RED ."======================================="); $player->sendMessage(TextFormat::AQUA ." Welcome to minepocket servers "); $player->sendMessage(TextFormat::AQUA ." We don't recognise your IGN "); $player->sendMessage(TextFormat::AQUA ." Register it at minepocket.com "); $player->sendMessage(TextFormat::RED ."======================================="); } else { $player->sendMessage(TextFormat::GREEN ."======================================="); $player->sendMessage(TextFormat::AQUA ." Welcome back to minepocket servers "); $player->sendMessage(TextFormat::AQUA ." Please use /login PASSWORD to auth "); $player->sendMessage(TextFormat::GREEN ."======================================="); } } public function sameIP(Player $player) { $player->sendMessage(TextFormat::GREEN ."TRIG"); $name = $player->getName(); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://http://minepocket.com/mpAPI.php?key=fSVulJ8LDZnopF4vYbjm&action=ip&user='.$name.''); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_NOBODY, false); // remove body curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $head = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); $player->sendMessage(TextFormat::GREEN .$head); $player->sendMessage(TextFormat::GREEN .$player->getAddress()); if($head != NULL) { if ($player->getAddress() == $head) { return true; } return false; } else { return false; } } public function onPlayereMove(PlayerMoveEvent $ev) { $player = $ev->getPlayer(); $name = $player->getName(); if (!in_array($ev->getPlayer(), $this->authTrue)) { $ev->setCancelled(true); return true; } } public function onPlayerInteract(PlayerInteractEvent $ev) { $player = $ev->getPlayer(); $name = $player->getName(); if (!in_array($ev->getPlayer(), $this->authTrue)) { $ev->setCancelled(true); return true; } } public function onBreak(BlockBreakEvent $ev) { $player = $ev->getPlayer(); $name = $player->getName(); if (!in_array($ev->getPlayer(), $this->authTrue)) { $ev->setCancelled(true); return true; } } public function onPlace(BlockPlaceEvent $ev) { $player = $ev->getPlayer(); $name = $player->getName(); if (!in_array($ev->getPlayer(), $this->authTrue)) { $ev->setCancelled(true); return true; } } }