Advertisement
Guest User

main.php

a guest
Apr 28th, 2017
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 42.08 KB | None | 0 0
  1. <?php
  2.  
  3. namespace BlApi;
  4.  
  5. use pocketmine\Player;
  6. use pocketmine\Server;
  7. use pocketmine\plugin\PluginBase;
  8. use pocketmine\scheduler\CallbackTask;
  9.  
  10. use pocketmine\event\Listener;
  11. use pocketmine\event\player\PlayerCommandPreprocessEvent;
  12. use pocketmine\event\entity\EntityExplodeEvent;
  13. use pocketmine\event\entity\EntityDamageEvent;
  14. use pocketmine\event\entity\EntityDamageByEntityEvent;
  15. use pocketmine\event\player\PlayerPreLoginEvent;
  16. use pocketmine\event\player\PlayerDropItemEvent;
  17. use pocketmine\event\player\PlayerDeathEvent;
  18. use pocketmine\event\player\PlayerRespawnEvent;
  19. use pocketmine\event\player\PlayerChatEvent;
  20. use pocketmine\event\player\PlayerInteractEvent;
  21. use pocketmine\event\player\PlayerItemHeldEvent;
  22. use pocketmine\event\player\PlayerJoinEvent;
  23. use pocketmine\event\player\PlayerQuitEvent;
  24. use pocketmine\event\player\PlayerMoveEvent;
  25. use pocketmine\event\block\BlockBreakEvent;
  26.  
  27. use pocketmine\utils\Config;
  28. use pocketmine\utils\TextFormat as F;
  29. use pocketmine\math\Vector3;
  30. use pocketmine\item\Item;
  31. use pocketmine\entity\Entity;
  32. use pocketmine\level\Position;
  33. use pocketmine\level\Level;
  34. use pocketmine\level\Sound;
  35. use pocketmine\block\Block;
  36. use pocketmine\entity\Effect;
  37.  
  38. use pocketmine\command\Command;
  39. use pocketmine\command\CommandSender;
  40.  
  41.   class Main extends PluginBase implements Listener
  42. {
  43.     public $hack;
  44.       private $banItems = array();
  45.       public $t;
  46.       public $hunger;
  47.       public $heal;
  48.    
  49.     /*
  50.     *
  51.     * Включение сервера
  52.     *
  53.     */
  54.    
  55.     public function onEnable()
  56.     {
  57.         $this->EconomyC = $this->getServer()->getPluginManager()->getPlugin("EconomyAPI");
  58.         $this->perms = $this->getServer()->getPluginManager()->getPlugin("PurePerms");
  59.        
  60.         $this->getServer()->getScheduler()->scheduleRepeatingTask(new CallbackTask(array($this, "broadcaster")), 20 * 60);
  61.         $this->getServer()->getScheduler()->scheduleRepeatingTask(new CallbackTask(array($this, "timer")), 20 * 3);
  62.         $this->getServer()->getScheduler()->scheduleRepeatingTask(new CallbackTask(array($this, "bonus")), 20 * 1200);
  63.        
  64.         $this->distance = 3000000000; //Ограничение мира
  65.        
  66.         $this->loadPlayers();
  67.         $this->getServer()->getPluginManager()->registerEvents($this, $this);
  68.     }
  69.    
  70.           public function curl( $url ){
  71.                $ch = curl_init( $url );
  72.                curl_setopt( $ch, CURLOPT_RETURNTRANSFER, "true" );
  73.                curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false );
  74.                curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
  75.                $response = curl_exec( $ch );
  76.                curl_close( $ch );
  77.                return $response;
  78.           }
  79.    
  80.           public function permsg(Player $p,$group){
  81.              $p->sendMessage("§7[§aПривилегии§7]§f Твоя привилегия должна быть не ниже: §b$group");
  82.              $p->sendMessage("§7[§aПривилегии§7]§f Приобрести§b $group §fможно на сайте: §conlinecrafts.trademc.org");
  83.     }
  84.  
  85.        public function cmdc(PlayerCommandPreprocessEvent $e) {
  86.            $p = $e->getPlayer();
  87.            $msg = explode(" ",$e->getMessage());
  88.              if(strtolower($msg[0] == "/me" || $msg[0] == "/op" || $msg[0] == "/deop")) {
  89.                 $e->setCancelled();
  90.                 $p->sendMessage("§7[§cБезопасность§7]§f Эта команда §cзапрещена §fадминистрацией.");
  91.      }
  92. }
  93.    
  94.     public function bJoin(PlayerJoinEvent $event){
  95.         $p = $event->getPlayer();
  96.         $data = date("H:i");
  97.         $money = $this->EconomyC->myMoney($p);
  98.         $heal = $p->getHealth();
  99.         $heals = $p->getMaxHealth();
  100.         $onl = count($this->getServer()->getOnlinePlayers());
  101.         $onlm = $this->getServer()->getMaxPlayers();
  102.         $p->sendMessage("§8§l»§7-------§fTest§eCraft§7-------§8«");
  103.         $p->sendMessage("§7 • §fПривет,§b ". $event->getPlayer()->getName() ."");
  104.         $p->sendMessage("§7 • §fОнлайн:§a ". $onl ."".F::DARK_GRAY."/§c". $onlm ."");
  105.         $p->sendMessage("§7 • §fТвое здоровье:".F::GREEN." ". $heal ."". F::DARK_GRAY."/".F::RED."". $heals ."");
  106.         $p->sendMessage("§7 • §fТвой баланс:§e $money$");
  107.         $p->sendMessage("§7 • §fВремя:§d $data");
  108.         $p->sendMessage("§8§l»§7-------§fTest§eCraft§7-------§8«");
  109.         $p->sendTip("§7(§bVLPE§7)§e Добро пожаловать на сервер,\n§eОнлайн : §7(". F::WHITE."". $onl ."". F::DARK_GRAY."§7/". F::WHITE ."". $onlm ."§7)");
  110.          foreach($this->getServer()->getOnlinePlayers() as $pl){
  111.                 $group = $this->perms->getUserDataMgr()->getGroup($event->getPlayer())->getName();
  112.             if($group == "Player"){
  113.             $pl->sendMessage("§f+ §7[§eИгрок§7]§7 ".$event->getPlayer()->getName() ."");
  114.           }
  115.           if($group == "SuperVip"){
  116.             $pl->sendMessage("§f+ §7[§dСупер вип§7]§7 ".$event->getPlayer()->getName() ."");
  117.           }
  118.           if($group == "Creative"){
  119.             $pl->sendMessage("§f+ §7[§2Креатив§7]§7 ".$event->getPlayer()->getName() ."");
  120.           }
  121.            if($group == "Kans"){
  122.             $pl->sendMessage("§f+ §7[§6Консоль§7]§7 ".$event->getPlayer()->getName() ."");
  123.           }
  124.           if($group == "Moder"){
  125.             $pl->sendMessage("§a+ §7[§fМодератор§7]§7 ".$event->getPlayer()->getName() ."");
  126.           }
  127.           if($group == "Adm"){
  128.             $pl->sendMessage("§f+ §7[§6Админ§7]§7 ".$event->getPlayer()->getName() ."");
  129.           }
  130.           if($group == "Administr"){
  131.             $pl->sendMessage("§f+ §7[§cАдминистратор§7]§7 ".$event->getPlayer()->getName() ."");
  132.           }
  133.           if($group == "Bess"){
  134.             $pl->sendMessage("§a+ §7[§9Бессмертный§7]§7 ".$event->getPlayer()->getName() ."");
  135.           }
  136.           if($group == "Sozd"){
  137.             $pl->sendMessage("§a+ §7[§cСоздатель§7]§7 ".$event->getPlayer()->getName() ."");
  138.           }
  139.           if($group == "Zam"){
  140.             $pl->sendMessage("§a+ §7[§cЗаместитель§7]§7 ".$event->getPlayer()->getName() ."");
  141.           }
  142.           if($group == "Oper"){
  143.             $pl->sendMessage("§f+ §7[§aОператор§7]§7 ".$event->getPlayer()->getName() ."");
  144.           }
  145.           if($group == "Hacker"){
  146.             $pl->sendMessage("§a+ §7[§cХакер§7]§7 ".$event->getPlayer()->getName() ."");
  147.           }
  148.           if($group == "Haem"){
  149.             $pl->sendMessage("§a+ §7[§2Наёмник§7]§7 ".$event->getPlayer()->getName() ."");
  150.           }
  151.           if($group == "Hellper"){
  152.             $pl->sendMessage("§a+ §7[§9Хелпер§7]§7 ".$event->getPlayer()->getName() ."");
  153.           }
  154.           if($group == "Bog"){
  155.             $pl->sendMessage("§a+ §7[§fBof§7]§7 ".$event->getPlayer()->getName() ."");
  156.       }
  157.    }
  158. }
  159.            
  160.        public function onJoin(PlayerJoinEvent $e){
  161.           $group = $this->perms->getUserDataMgr()->getGroup($e->getPlayer())->getName();
  162.           if($group == "Игрок"){
  163.             $e->getPlayer()->setDisplayName("§8(§eИгрок§8)§7 ".$e->getPlayer()->getName() ."");
  164.               $e->getPlayer()->setNameTag("§8(§eИгрок§8)§7 ".$e->getPlayer()->getName() ."");
  165.           }
  166.           if($group == "Вип"){
  167.             $e->getPlayer()->setDisplayName("§8(§bВип§8)§7 ".$e->getPlayer()->getName() ."");
  168.               $e->getPlayer()->setNameTag("§8(§bВип§8)§7 ".$e->getPlayer()->getName() ."");
  169.           }
  170.           if($group == "Супервип"){
  171.             $e->getPlayer()->setDisplayName("§8(§dСупер вип§8)§7 ".$e->getPlayer()->getName() ."");
  172.               $e->getPlayer()->setNameTag("§8(§dСупер вип§8)§7 ".$e->getPlayer()->getName() ."");
  173.           }
  174.           if($group == "Креатив"){
  175.             $e->getPlayer()->setDisplayName("§8(§6Креатив§8)§7 ".$e->getPlayer()->getName() ."");
  176.               $e->getPlayer()->setNameTag("§8(§6Креатив§8)§7 ".$e->getPlayer()->getName() ."");
  177.           }
  178.            if($group == "Лорд"){
  179.             $e->getPlayer()->setDisplayName("§8(§4Лорд§8)§7 ".$e->getPlayer()->getName() ."");
  180.               $e->getPlayer()->setNameTag("§8(§4Лорд§8)§7 ".$e->getPlayer()->getName() ."");
  181.           }
  182.           if($group == "Модератор"){
  183.             $e->getPlayer()->setDisplayName("§8(§fМодератор§8)§7 ".$e->getPlayer()->getName() ."");
  184.               $e->getPlayer()->setNameTag("§8(§fМодератор§8)§7 ".$e->getPlayer()->getName() ."");
  185.           }
  186.           if($group == "Админ"){
  187.             $e->getPlayer()->setDisplayName("§8(§4Админ§8)§7 ".$e->getPlayer()->getName() ."");
  188.               $e->getPlayer()->setNameTag("§8(§4Админ§8)§7 ".$e->getPlayer()->getName() ."");
  189.           }
  190.           if($group == "Администратор"){
  191.             $e->getPlayer()->setDisplayName("§8(§cАдминистратор§8)§7 ".$e->getPlayer()->getName() ."");
  192.               $e->getPlayer()->setNameTag("§8(§cАдминистратор§8)§7 ".$e->getPlayer()->getName() ."");
  193.           }
  194.           if($group == "Бессмертный"){
  195.             $e->getPlayer()->setDisplayName("§8(§9Бессмертный§8)§7 ".$e->getPlayer()->getName() ."");
  196.               $e->getPlayer()->setNameTag("§8(§9Бессмертный§8)§7 ".$e->getPlayer()->getName() ."");
  197.           }
  198.           if($group == "Создатель"){
  199.             $e->getPlayer()->setDisplayName("§8(§cСоздатель§8)§7 ".$e->getPlayer()->getName() ."");
  200.               $e->getPlayer()->setNameTag("§8(§cСоздатель§8)§7 ".$e->getPlayer()->getName() ."");
  201.           }
  202.           if($group == "Зам.Создателя"){
  203.             $e->getPlayer()->setDisplayName("§8(§cЗам.Создателя§8)§7 ".$e->getPlayer()->getName() ."");
  204.               $e->getPlayer()->setNameTag("§8(§cЗам.Создателя§8)§7 ".$e->getPlayer()->getName() ."");
  205.           }
  206.           if($group == "Властелин"){
  207.             $e->getPlayer()->setDisplayName("§8(§cВластелин§8)§7 ".$e->getPlayer()->getName() ."");
  208.               $e->getPlayer()->setNameTag("§8(§cВластелин§8)§7 ".$e->getPlayer()->getName() ."");
  209.           }
  210.           if($group == "Легенда"){
  211.             $e->getPlayer()->setDisplayName("§8(§5Легенда§8)§7 ".$e->getPlayer()->getName() ."");
  212.               $e->getPlayer()->setNameTag("§8(§5Легенда§8)§7 ".$e->getPlayer()->getName() ."");
  213.           }
  214.           if($group == "Флай"){
  215.             $e->getPlayer()->setDisplayName("§8(§3Флай§8)§7 ".$e->getPlayer()->getName() ."");
  216.               $e->getPlayer()->setNameTag("§8(§3Флай§8)§7 ".$e->getPlayer()->getName() ."");
  217.     }
  218. }
  219.  
  220.    public function noKick(PlayerPreLoginEvent $e){
  221.       $p = $e->getPlayer();
  222.       $name = $p->getName();
  223.    foreach($p->getServer()->getOnlinePlayers() as $pl){
  224.    if($n === $pl->getName()){
  225.        $e->setKickMessage("§7[§cЗащита§7]\n§fИгрок с ником§b $name §fуже играет на сервере!");
  226.        $e->setCancelled(true);
  227.    }else{
  228.        $e->setCancelled(false);
  229.      }
  230.   }
  231. }
  232.  
  233.     public function bonus(){
  234.         foreach ($this->getServer()->getOnlinePlayers() as $p) {
  235.             $rand = mt_rand(50,100);
  236.             $this->EconomyC->addMoney($p->getName(), $rand);
  237.             $p->sendMessage("§7[§aБонус§7]§f Вы получили§e $rand$ §fза игру на сервере!");
  238.     }
  239. }
  240.          
  241.      public function PlayerInteractEvent(PlayerInteractEvent $e){
  242.         $p = $e->getPlayer();
  243.          $block = $e->getBlock()->getId();
  244.          $inv = $p->getInventory()->getItemInHand()->getId();
  245.          $inv2 = $p->getInventory()->getItemInHand()->getName();
  246.        
  247.          $x = $e->getBlock()->getX();
  248.          $y = $e->getBlock()->getY();
  249.          $z = $e->getBlock()->getZ();
  250.        
  251.         if($inv == 378){
  252.             if(!$p->hasPermission("fapi.click")){
  253.                 return;
  254.             }
  255.             $name = $e->getBlock()->getName();
  256.             $damg = $e->getBlock()->getDamage();
  257.             $id = $e->getBlock()->getId();
  258.             $p->sendMessage(F::GREEN."$name ".F::GRAY."| ".F::RED."x: $x ".F::GRAY."| ".F::GOLD."y: $y ".F::GRAY."| ".F::YELLOW."z: $z".F::GRAY." | ".F::AQUA.$id.":".$damg);
  259.         }
  260.        
  261.         if($inv == 325){
  262.             $e->setCancelled(true);
  263.             $p->sendMessage("§7[§cЗащита§7]§c Запрещено§f использовать!");
  264.             return;
  265.         }
  266.        
  267.           if($x == -160 && $y == 72 && $z == 0){
  268.             if(!isset($this->parkur[$p->getName()])){
  269.                 $this->parkur[$p->getName()] = 1;
  270.                 $rand = mt_rand(100,200);
  271.                 $this->EconomyC->addMoney($p->getName(), $rand);
  272.                 $p->sendMessage("§7[§aПаркур§7]§f Вы успешно прошли паркур ваш приз:§b $rand$");
  273.                 $p->sendMessage("§7[§aПаркур§7]§f Паркур проходиться только §c1 раз§f за перезагрузку.");
  274.                 $p->teleport(new Vector3(-145,64,-4));
  275.              }else{
  276.                 $p->sendMessage("§7[§aПаркур§7]§f Паркур можно пройти только §c1 раз §fза перезагрузку.");
  277.                  return;
  278.         }
  279.     }
  280. }
  281.    
  282.     public function onExplode(EntityExplodeEvent $e){
  283.         $e->setCancelled();
  284.     }
  285.    
  286.     public function onPlayerPreLogin(PlayerPreLoginEvent $e){
  287.         $p = $e->getPlayer();
  288.        
  289.         if(!$this->players->exists(strtolower($e->getPlayer()->getName())) && (count($this->getServer()->getOnlinePlayers()) >= 97))
  290.         {
  291.             $e->setKickMessage("§fHA CEPBEPE HET MECTA!\n§bКупите ".F::YELLOW."Вип".F::GREEN." на сайте\n".F::GOLD."»".F::AQUA." onlinecrafts.trademc.org ".F::GOLD."«");
  292.             $e->setCancelled(true);
  293.         }
  294.     }
  295.    
  296.     public function timer(){
  297.         foreach($this->getServer()->getOnlinePlayers() as $p)
  298.         {
  299.             $this->t[$p->getName()] = 0;
  300.         }
  301.     }
  302.    
  303.     public function mQuit(PlayerQuitEvent $e)
  304.     {
  305.         $e->setQuitMessage(null);
  306.     }
  307.    
  308.     public function broadcaster(){
  309.         foreach($this->getServer()->getLevels() as $level){
  310.             $level->save(\true);
  311.         }
  312.         foreach($this->getServer()->getOnlinePlayers() as $p){
  313.             $p->save();
  314.             if(!$p->hasPermission("capi.noad")){
  315.                 $rand = mt_rand(1, 9);
  316.                 if($rand == 1){$msg = "§fСписок всех команд сервера: §b/help";}
  317.                 if($rand == 2){$msg = "§fХочешь быть §bкрутым на сервере? Купи §eдонат §fна сайте: §conlinecrafts.trademc.org";}
  318.                 if($rand == 3){$msg = "§fДонат услуги: §conlinecrafts.trademc.org";}
  319.                 if($rand == 4){$msg = "§fСыграть в лоттерею: §b/lottery";}
  320.                 if($rand == 5){$msg = "§fНе забудь вступить в нашу группу §bВК §7- §cvk.com/mpe_skillmine";}
  321.                 if($rand == 6){$msg = "§fНаша группа: §cvk.com/mpe_skillmine";}
  322.                 if($rand == 7){$msg = "§fЕсть §cдонатер §fили §bгрифер §fкоторый вас обижает?\n§7[§cНапоминание§7]§f Сообщите о нарушителе:§b /report";}
  323.                 if($rand == 8){$msg = "§fХочешь§a бесплатную §fпривилегию?\n§7[§cНапоминание§7]§f Напиши команду§b /hack++ §fи испытай удачу!";}
  324.                 if($rand == 9){$mms = "§a> §fonlinecrafts.trademc.org§a <";}
  325.                 $p->sendMessage("§7[§cНапоминание§7] $msg");
  326.                 $p->sendTip("$mms");
  327.                
  328.             }
  329.         }
  330.     }
  331.    
  332.     public function dmg(EntityDamageEvent $e){
  333.       $p = $e->getEntity();
  334.   if($e instanceof EntityDamageByEntityEvent){
  335.      if($this->pvp[$p->getName()])
  336.          $e->setCancelled();
  337.       if($this->pvp[$e->getDamager()->getName()])
  338.           $e->setCancelled();
  339.     }
  340.        if($this->god[$p->getName()] == 1)
  341.            $e->setCancelled();
  342. }
  343.        
  344.       public function onDamages(EntityDamageEvent $event){
  345.          if($event->getCause() == EntityDamageEvent::CAUSE_FALL){
  346.              $event->setCancelled();
  347.       }
  348. }
  349.    
  350.       public function onPlayerDeath(PlayerDeathEvent $e){
  351.            $e->setDeathMessage(null);
  352.            $p = $e->getEntity();
  353.            $name = strtolower($p->getName());
  354.        if($p instanceof Player){
  355.             $c = $p->getLastDamageCause();
  356.             if($c instanceof EntityDamageByEntityEvent){
  357.                 $d = $c->getDamager();
  358.                 if($d instanceof Player){
  359.                     $this->getServer()->broadcastPopup("§3". $p->getName() ." §fбыл убит игроком:§b ". $d->getName() ."");
  360.                     $item = Item::get(397, 3, 1);
  361.                     $item->setCustomName("§eГолова игрока§6 ".$player->getName());
  362.                     $p->getLevel()->dropItem(new Vector3($p->getX(), $p->getY(), $p->getZ()), $item);
  363.                       }
  364.                     }else{
  365.                 $this->getServer()->broadcastPopup(F::AQUA.$p->getName().F::WHITE." умер");
  366.             }
  367.         }
  368.        
  369.         if($p->hasPermission("capi.save"))
  370.         {
  371.             unset($this->death[$p->getName()]);
  372.             $this->death[$p->getName()] = new Position(
  373.                 round($p->getX()),
  374.                 round($p->getY()),
  375.                 round($p->getZ()),
  376.                 $p->getLevel()
  377.             );
  378.             $this->drops[$p->getName()][1] = $p->getInventory()->getArmorContents();
  379.             $this->drops[$p->getName()][0] = $p->getInventory()->getContents();
  380.             $e->setDrops(array());
  381.             $p->sendMessage("§7[§fTest§eCraft§7]§f Используйте: " .F::AQUA. "/back §f, чтобы вернуться на место смерти!");
  382.         }
  383.         else
  384.         {
  385.             $p->sendMessage("§7[§fTest§eCraft§7]§f А у Вип игроков при смерти вещи§b сохраняются!");
  386.             $p->sendMessage("§7[§fTest§eCraft§7]§f Купить §bВип §fможно на сайте: §cboss.trademc.org");
  387.         }
  388.     }
  389.    
  390.    public function PlayerRespawn(PlayerRespawnEvent $e){
  391.         $p = $e->getPlayer();
  392.         $p->setMaxHealth(40);
  393.         $name = $p->getName();
  394.         if($p->getPlayer()->hasPermission("capi.save"))
  395.         {
  396.             if(isset($this->drops[$p->getName()]))
  397.             {
  398.                 $p->getInventory()->setContents($this->drops[$p->getName()][0]);
  399.                 $p->getInventory()->setArmorContents($this->drops[$p->getName()][1]);
  400.                 unset($this->drops[$p->getName()]);
  401.                 $p->sendMessage("§7[§fTest§eCraft§7]§f Вы§c погибли,§f ваш инвентарь был§a сохранен!");
  402.             }
  403.         }
  404.     }
  405.  
  406.            
  407.     public function onChat(PlayerChatEvent $e){
  408.         $p = $e->getPlayer();
  409.         if($p->hasPermission("capi.spam")) return;
  410.         if($this->t[$p->getName()] == 1){
  411.             $p->sendMessage("§7[§aЧат§7] §fПожалуйста, §cне спамьте §fв чат!");
  412.             $e->setCancelled();
  413.         }else{
  414.             $this->t[$p->getName()] = 1;
  415.         }
  416.     }
  417.    
  418.     public function mJoin(PlayerJoinEvent $ev){
  419.         $ev->setJoinMessage(null);
  420.         foreach($this->getServer()->getOnlinePlayers() as $p){
  421.             $p->sendPopup(F::RED. $ev->getPlayer()->getName(). F::WHITE. " зашёл на сервер!");
  422.   }
  423. }
  424.        
  425.      public function EntityDamageEvent(EntityDamageEvent $e){
  426.         $p = $e->getEntity();
  427.          $v = new Vector3(
  428.             $p->getLevel()->getSpawnLocation()->getX(),
  429.             $p->getPosition()->getY(),
  430.             $p->getLevel()->getSpawnLocation()->getZ()
  431.         );
  432.         $r = $this->getServer()->getSpawnRadius();
  433.         if($p instanceof Player)
  434.         {
  435.             if($e instanceof EntityDamageByEntityEvent)
  436.             {
  437.                 $d = $e->getDamager();
  438.                 if($d instanceof Player)
  439.                 {
  440.              if(($p->getPosition()->distance($v) <= $r)){
  441.                   $e->setCancelled();
  442.                   $d->sendMessage("§7[§fTest§eCraft§7]§f Запрещено §cдраться §fна спавне!");
  443.                         return;
  444.                     }
  445.                    
  446.                     if(($d->getGamemode() == 1) && ($p->getGamemode() == 0))
  447.                     {
  448.                         $e->setCancelled();
  449.                         $d->sendMessage("§7[§fTest§eCraft§7]§f Вы§c не можете §fдраться в режиме §cКреатив!");
  450.                         return;
  451.                     }
  452.                    
  453.                     if($d->getAllowFlight(true)){
  454.                         $e->setCancelled();
  455.                         $d->sendMessage("§7[§fTest§eCraft§7]§f Вы §cне можете §fдраться в режиме §eПолета!");
  456.                         return;
  457.                     }
  458.                    
  459.                     if($p->getAllowFlight(true)){
  460.                         $e->setCancelled();
  461.                         $d->sendMessage("§7[§fTest§eCraft§7]§f У противника включен§c режим Полета!");
  462.                         return;
  463.             }
  464.          }
  465.        }
  466.     }
  467.  }
  468.  
  469.       public function worldBorder(PlayerMoveEvent $e){
  470.         $p = $e->getPlayer();
  471.         $pos = $p->getLevel()->getSpawnLocation();
  472.         $vector = new Vector3($pos->getX(),$p->getPosition()->getY(),$pos->getZ());
  473.         if(!$p->hasPermission("capi.border"))
  474.         {
  475.             if(floor($p->distance($vector)) >= $this->distance)
  476.             {
  477.                 $e->setCancelled();
  478.                 $p->sendMessage("§7[§aГраница§7]§f Здесь граница мира! Если вы застряли тут напишите: §b/spawn");
  479.                 $p->sendMessage("§7[§aГраница§7]§f Игроки выше §bВипа §fмогут пройти за §cграницу мира!");
  480.             }
  481.         }
  482.     }
  483.    
  484.     public function itemHeld(PlayerItemHeldEvent $e)
  485.     {
  486.         $hand = $e->getPlayer()->getInventory()->getItemInHand()->getId();
  487.         if($hand == 341){
  488.             $e->getPlayer()->sendPopup("§aПроверка региона!");
  489.             return;
  490.         }
  491.     }
  492.  
  493.        public function onCommand(CommandSender $sender, Command $cmd, $label, array $args){
  494.         $date = date("d.m.y H:i");
  495.         $id = "temafriz986"; //ID от вк страницы для /report
  496.         $token = "d386420306a1d031ac01ef82f23b1cc9df840b6044526c79e42fc75fa5ffc0ff0eb9f4d79a8f133a09319"; //Токен от страницы для /report
  497.         $level = $this->getServer()->getDefaultLevel();
  498.         $x = $this->getServer()->getDefaultLevel()->getSafeSpawn()->getX();
  499.         $y = $this->getServer()->getDefaultLevel()->getSafeSpawn()->getY();
  500.         $z = $this->getServer()->getDefaultLevel()->getSafeSpawn()->getZ();
  501.         switch($cmd->getName()){
  502.               case "hack++":
  503.                if(!isset($this->hack[$sender->getName()])){
  504.                 $this->hack[$sender->getName()] = 100;
  505.                 $sender->sendMessage("§7[§aВзлом§7]§f У вас не получилось §cвзломать §fадминку.");
  506.                 $sender->sendMessage("§7[§aВзлом§7]§f Попробуйте повторить попытку после §aперезагрузки§f сервера.");
  507.                 }else{
  508.                     $sender->sendMessage("§7[§aВзлом§7]§f Вы уже §cвзламывали §fадминку, попробуйте после перезагрузки сервера.");
  509.                 }
  510.                    break;
  511.                    
  512.                  case "spawn":
  513.                   if($sender Instanceof Player){
  514.                     $sender->teleport(new Vector3($x, $y, $z, $level));
  515.                     $sender->sendMessage("§7[§fTest§eCraft§7]§f Телепортация§7...");
  516.                  }else{
  517.                     $sender->sendMessage(F::RED."Комманда вводится только от имени игрока.");
  518.                  }
  519.                    break;
  520.            
  521.                  case "sleep":
  522.                   $sender->sleepOn(new Vector3($sender->getX(), $sender->getY()+1, $sender->getZ()));
  523.                   $sender->sendMessage("§7[§aОтдых§7]§f Вы успешно легли на грязный пол.");
  524.                     break;
  525.            
  526.                   case "home":
  527.                    if($sender Instanceof Player){
  528.                    if($this->getHomeX($sender->getName()) != null && $this->getHomeY($sender->getName()) != null && $this->getHomeZ($sender->getName()) != null){
  529.                        $sender->teleport(new Vector3($this->getHomeX($sender->getName()), $this->getHomeY($sender->getName()), $this->getHomeZ($sender->getName()), $level));
  530.                        $sender->sendMessage("§7[§fTest§eCraft§7]§f Телепортация§7...");
  531.                    }else{
  532.                        $sender->sendMessage("§7[§fTest§eCraft§7]§f Вы еще §cне ставили§f точку дома!");
  533.                        }
  534.                    }else{
  535.                        $sender->sendMessage(F::RED. "Комманда вводится только от имени игрока.");
  536.                        }
  537.                     break;
  538.            
  539.               case "report":
  540.                 if($args[0] == ""){
  541.                     $sender->sendMessage("§7[§aРепорт§7]§f Используйте: §b/report §<Ваше сообщение>");
  542.                 }else{
  543.                  if(!isset($this->report[$sender->getName()])){
  544.                     $this->report[$sender->getName()] = 1;
  545.                     $name = $sender->getName();
  546.                     $msg = implode(" ", $args);
  547.                     $msgg = "($date) (Репорт) ". $name .": ". $msg ."";
  548.                     $mms = urlencode($msgg);
  549.                     $this->curl("https://api.vk.com/method/messages.send?message=$mms&user_id=$id&access_token=$token");
  550.                     $sender->sendMessage("§7[§aРепорт§7]§f Ваша жалоба§a успешно§f отправлена!");
  551.                     $sender->sendMessage("§7[§aРепорт§7]§f В ближайшее время наш администратор ее расмотрит.");
  552.                     $sender->sendMessage("§7[§aРепорт§7]§f Спасибо за §eваш отзыв!");
  553.                       }else{
  554.                         $sender->sendMessage("§7[§aРепорт§7]§c Вы уже использовали репорт!");
  555.                         $sender->sendMessage("§7[§aРепорт§7]§f Повторите попытку после перезагрузки сервера.");
  556.                      }
  557.                 }
  558.                         break;
  559.            
  560.                  case "min":
  561.                     if(!$sender Instanceof Player){
  562.                        $sender->sendMessage(F::RED. "Комманда вводится только от имени игрока.");
  563.                            break;
  564.                          }
  565.                     if(!$sender->getPlayer()->hasPermission("capi.cmd.size")){
  566.                          $this->permsg($sender,"Вип");
  567.                         break;
  568.                      }
  569.                         $sender->setDataProperty(Player::DATA_SCALE, Player::DATA_TYPE_FLOAT, 0.50);
  570.                         $sender->sendMessage("§7[§fTest§eCraft§7]§f Вы успешно стали §bмаленьким §fдля всех!");
  571.                       break;
  572.                      
  573.                       case "big":
  574.                     if(!$sender Instanceof Player){
  575.                        $sender->sendMessage(F::RED. "Комманда вводится только от имени игрока.");
  576.                            break;
  577.                          }
  578.                     if(!$sender->getPlayer()->hasPermission("capi.cmd.size")){
  579.                          $this->permsg($sender,"Вип");
  580.                         break;
  581.                      }
  582.                         $sender->setDataProperty(Player::DATA_SCALE, Player::DATA_TYPE_FLOAT, 2.50);
  583.                         $sender->sendMessage("§7[§fTest§eCraft§7]§f Вы успешно стали §bогромным §fдля всех!");
  584.                       break;
  585.                      
  586.                   case "norm":
  587.                     if(!$sender Instanceof Player){
  588.                        $sender->sendMessage(F::RED. "Комманда вводится только от имени игрока.");
  589.                            break;
  590.                          }
  591.                     if(!$sender->getPlayer()->hasPermission("capi.cmd.size")){
  592.                          $this->permsg($sender,"Вип");
  593.                         break;
  594.                      }
  595.                          $sender->setDataProperty(Player::DATA_SCALE, Player::DATA_TYPE_FLOAT, 1);
  596.                          $sender->sendMessage("§7[§fTest§eCraft§7]§f Вы успешно стали §bобычным §fдля всех!");
  597.                        break;
  598.            
  599.                   case "tpall":
  600.                    if(!$sender Instanceof Player){
  601.                        $sender->sendMessage(F::RED. "Комманда вводится только от имени игрока.");
  602.                     break;
  603.                    }
  604.               if(!$sender->getPlayer()->hasPermission("capi.cmd.tpall")){
  605.                    $this->permsg($sender,"Бессмертный");
  606.                  break;
  607.              }
  608.                 foreach($this->getServer()->getOnlinePlayers() as $p){
  609.                 $p->teleport(new Vector3($sender->getX(), $sender->getY()+1, $sender->getZ()));
  610.                 $p->sendMessage("§7[§fTest§eCraft§7] " .F::AQUA. $sender->getName(). F::WHITE ." телепортировал всех в одну точку!");
  611.             }
  612.                break;
  613.            
  614.                 case "dupe":
  615.                  if(!$sender Instanceof Player){
  616.                     $sender->sendMessage(F::RED. "Комманда вводится только от имени игрока.");
  617.                   break;
  618.                }
  619.                 if(!$sender->getPlayer()->hasPermission("capi.cmd.dupe")){
  620.                     $this->permsg($sender,"Делюкс");
  621.                    break;
  622.                    }
  623.                if($sender->getGamemode() !== 0){
  624.                    $sender->sendMessage("§7[§aДюп§7]§f Вы§c не можете §fдюпать в режиме:§c Креатива!");
  625.                  }else{
  626.                   $inv = $sender->getInventory();
  627.                   $i = $inv->getItemInHand();
  628.                   $invid = $i->getId();
  629.               if($invid == 57 || 56 || 264 || 41 || 14 || 266 || 265 || 15 || 42 || 0 || 175 || 397 || 384 || 247 || 17)
  630.                 {
  631.                     $sender->sendMessage("§7[§aДюп§7]§f Вы§c не можете §fдюпнуть данный §bпредмет!");
  632.                 }
  633.                 else
  634.                 {
  635.                     $sender->sendMessage("§7[§aДюп§7]§f Вы§b успешно§f дюпнули предмет в руке");
  636.                     $i->setCount(64);
  637.                     $inv->addItem($i);
  638.                     $this->getLogger()->info("§7[§aДюп§7]§b ".$sender->getName()." §fдюпнул(а)§a ID:§b ".$inv->getItemInHand()->getId());
  639.                    }
  640.                }
  641.                 break;
  642.            
  643.                 case "mine":
  644.                   $sender->teleport(new Vector3(-187,61,10));
  645.                   $sender->sendMessage("§7[§aАвто-Шахта§7]§f Телепортация...");
  646.                break;
  647.            
  648.                   case "vips":
  649.                    if(!$sender Instanceof Player){
  650.                       if($sender->isOp()){
  651.                         if(isset($args[0]) && isset($args[1])){
  652.                           if($args[0] == "add"){
  653.                             $who_player = $this->getValidPlayer($args[1]);
  654.                             if($who_player instanceof Player){
  655.                                 $name = $who_player->getName();
  656.                             }else{
  657.                                 $name = $args[1];
  658.                             }
  659.                             if($this->addPlayer($name)){
  660.                                 $sender->sendMessage("§7[§fTest§eCraft§7]§f В список добавлен(а)".F::AQUA." $name");
  661.                             }else{
  662.                                 $sender->sendMessage("§7[§fTest§eCraft§7]§f $name §cуже добавлен(а) §fв список!");
  663.                             }
  664.                         }else{
  665.                             $sender->sendMessage("§7[§fTest§eCraft§7]§f Используйте:§b /vips add §7(§eигрок§7)");
  666.                         }
  667.                     }else{
  668.  
  669.                         $sender->sendMessage("§7[§fTest§eCraft§7]§f Использование:§b /vips add §7(§eигрок§7)");
  670.                     }
  671.                 }else{
  672.                     $sender->sendMessage("§7[§fTest§eCraft§7]§f У вас§c нет прав §fна использование этой комманды!");
  673.                    }
  674.                }
  675.                break;
  676.            
  677.                   case "clearchat":
  678.                   case "cc":
  679.                     if(!$sender->hasPermission("capi.cmd.cc")){
  680.                        $this->permsg($sender,"Модератор");
  681.                      break;
  682.                    }
  683.              foreach($this->getServer()->getOnlinePlayers() as $p){
  684.                 $p->sendMessage("\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ");
  685.                 $p->sendMessage("§7[§aЧат§7]§b ".$sender->getName()."§f очистил(а) чат!");
  686.             }
  687.             break;
  688.            
  689.                case "god":
  690.                if(!$sender Instanceof Player){
  691.                     $sender->sendMessage(F::RED. "Комманда вводится только от имени игрока.");
  692.                   break;
  693.             }
  694.                if(!$sender->getPlayer()->hasPermission("capi.cmd.god")){
  695.                     $this->permsg($sender,"Бессмертный");
  696.                    break;
  697.                }
  698.                    if($this->god[$sender->getName()] == 0){
  699.                        $sender->sendMessage("§7[§aРежим§7]§f Режим §cбога §fвключен.");
  700.                        $this->god[$sender->getName()] = 1;
  701.                 }else{
  702.                        $sender->sendMessage("§7[§aРежим§7]§f Режим §cбога §fвыключен.");
  703.                        $this->god[$sender->getName()] = 0;
  704.              }
  705.               break;
  706.            
  707.                case "suicide":
  708.             if(!$sender Instanceof Player){
  709.                 $sender->sendMessage(F::RED. "Комманда вводится только от имени игрока.");
  710.                 break;
  711.             }
  712.             if(!$sender->getPlayer()->hasPermission("capi.cmd.suicide")){
  713.                 $this->permsg($sender,"Флай");
  714.                 break;
  715.             }
  716.                 $sender->setHealth(0);
  717.                 $sender->sendMessage("§7[§fTest§eCraft§7]§f Вы успешно совершили суицид!");
  718.                 $this->getServer()->broadcastPopup(F::AQUA.$sender->getName().F::WHITE." совершил(а) суицид.");
  719.                break;
  720.            
  721.               case "top":
  722.             if(!$sender Instanceof Player){
  723.                 $sender->sendMessage(F::RED. "Комманда вводится только от имени игрока.");
  724.                 break;
  725.             }
  726.             if(!$sender->getPlayer()->hasPermission("capi.cmd.gm")){
  727.                 $this->permsg($sender,"Креатив");
  728.                 break;
  729.             }
  730.             $sender->teleport(new Vector3($sender->getX(), 128, $sender->getZ()));
  731.             $sender->sendMessage("§7[§fTest§eCraft§7]§f Телепортация..");
  732.             break;
  733.            
  734.                   case "sethome":
  735.                    if($sender Instanceof Player){
  736.                        $this->setHome($sender->getName(), $sender->getX(), $sender->getY(), $sender->getZ());
  737.                        $sender->sendMessage("§7[§fTest§eCraft§7]§f Точка дома§b успешно§f установлена!");
  738.                 }else{
  739.                        $sender->sendMessage(F::RED. "Комманда вводится только от имени игрока.");
  740.                    }
  741.                  break;
  742.            
  743.                  case "clear":
  744.                   if(!$sender Instanceof Player){
  745.                      $sender->sendMessage(F::RED. "Комманда вводится только от имени игрока.");
  746.                        break;
  747.                   }
  748.                if(!$sender->getPlayer()->hasPermission("capi.cmd.clear")){
  749.                     $this->permsg($sender,"Вип");
  750.                 break;
  751.                }
  752.                     $sender->getInventory()->clearAll();
  753.                     $sender->sendMessage("§7[§fTest§eCraft§7]§f Вы§b успешно§f очистили свой инвентарь!");
  754.                  break;
  755.            
  756.                    case "donate":
  757.                     $sender->sendMessage("§7[§aДонат§7]§f Помощь по донату:");
  758.                     $sender->sendMessage("§7* §bФлай §7- §f10руб.§7[§fПодробнее: §bonlinecraffs.trademc.org§7]");
  759.                     $sender->sendMessage("§7* §bВип §7- §f25руб.§7[§fПодробнее: §bonlinecrafts.trademc.org§7]");
  760.                     $sender->sendMessage("§7* §bКреатив §7- §f50руб.§7[§fПодробнее: §bonlinecrafts.trademc.org§7]");
  761.                     $sender->sendMessage("§7* §bСупер вип §7- §f80руб.§7[§fПодробнее: §bonlinecrafts.trademc.org§7]");
  762.                     $sender->sendMessage("§7* §bМодератор §7- §f120руб.§7[§fПодробнее: §bonlinecrafts.trademc.org§7]");
  763.                   $sender->sendMessage("§7* §bАдмин §7- §f150руб.§7[§fПодробнее: §bonlinecrafts.trademc.org§7]");
  764.                   $sender->sendMessage("§7* §bХелпер §7- §f250рубруб.§7[§fПодробнее: §bonlinecrafts.trademc.org§7]");
  765.                   $sender->sendMessage("§7* §bОператор §7- §f320руб.§7[§fПодробнее: §bonlinecrafts.trademc.org§7]");
  766.                   $sender->sendMessage("§7* §bСоздатель §7- §f500руб.§7[§fПодробнее: §bonlinecrafts.trademc.org§7]");
  767.                   $sender->sendMessage("§7* §bКонсоль §7- §f700руб.§7[§fПодробнее: §bonlinecrafts.trademc.org§7]");
  768.                   $sender->sendMessage("§7* §bГлава §7- §f1000руб.§7[§fПодробнее: §bonlinecrafts.trademc.org§7]");
  769.                   $sender->sendMessage("§7* §bСпонсор §7- §f1300руб.§7[§fПодробнее: §bonlinecrafts.trademc.org§7]");
  770.                 break;
  771.            
  772.                  case "gm":
  773.                   if(!$sender Instanceof Player){
  774.                     $sender->sendMessage(F::RED. "Комманда вводится только от имени игрока.");
  775.                 break;
  776.                }
  777.                  if(!$sender->getPlayer()->hasPermission("capi.cmd.gm")){
  778.                       $this->permsg($sender,"Креатив");
  779.                    break;
  780.                  }
  781.             if($sender->getGamemode() == 1){
  782.                 $sender->setGamemode(0);
  783.                 $sender->sendMessage("§7[§aРежим§7]§f Вы§b успешно§f сменили свой игровой режим на: §aВыживание.");
  784.             }else{
  785.                 $sender->setGamemode(1);
  786.                 $sender->sendMessage("§7[§aРежим§7]§f Вы§b успешно§f сменили свой игровой режим на: §cКреатив.");
  787.             }
  788.                 break;
  789.            
  790.                case "fly":
  791.             if(!$sender Instanceof Player){
  792.                 $sender->sendMessage(F::RED. "Комманда вводится только от имени игрока.");
  793.                 break;
  794.             }
  795.             if(!$sender->getPlayer()->hasPermission("capi.cmd.fly")){
  796.                 $this->permsg($sender,"Флай");
  797.                 break;
  798.             }
  799.             if($sender->getAllowFlight(true)){
  800.                 $sender->setAllowFlight(false);
  801.                 $sender->sendMessage("§7[§fTest§eCraft§7]§f Вы§b успешно §cотключили §fрежим полёта!");
  802.             }else{
  803.                 $sender->setAllowFlight(true);$sender->sendMessage("§7[§fTest§eCraft§7]§f Вы§b успешно §aвключили §fрежим полёта!");
  804.             }
  805.             break;
  806.            
  807.                   case "back":
  808.             if(!$sender Instanceof Player){
  809.                 $sender->sendMessage(F::RED. "Комманда вводится только от имени игрока.");
  810.                 break;
  811.             }
  812.             if(!$sender->getPlayer()->hasPermission("capi.save")){
  813.                 $this->permsg($sender,"Вип");
  814.                 break;
  815.             }
  816.             if($this->death[$sender->getName()] instanceof Position){
  817.                 $sender->teleport($this->death[$sender->getName()]);
  818.                 $sender->sendMessage("§7[§fTest§eCraft§7]§f Вы§b успешно§f телепортировались на место§c смерти!");
  819.             }else{
  820.                 $sender->sendMessage("§7[§fTest§eCraft§7]§f Вы §cне умерали!");
  821.             }
  822.             break;
  823.            
  824.                  case "heal":
  825.             if(!$sender Instanceof Player){
  826.                 $sender->sendMessage(F::RED. "Комманда вводится только от имени игрока.");
  827.                 break;
  828.             }
  829.             if(!$sender->getPlayer()->hasPermission("capi.cmd.heal")){
  830.                 $this->permsg($sender,"Вип");
  831.                 break;
  832.             }
  833.             if($sender->getGamemode() == 0){
  834.                 $sender->setHealth(40);
  835.                 $sender->setFood(20);
  836.                 $sender->sendMessage("§7[§fTest§eCraft§7]§f Вы§b успешно§f восстановили свои §aжизни §fи §eголод!");
  837.             }else{
  838.                 $sender->sendMessage("§7[§fTest§eCraft§7]§f Вы§c не можете §fиспользовать данную команду в режиме: §cКреатива!");
  839.             }
  840.             break;
  841.                
  842.             case "vanish":
  843.             case "v":
  844.             if(!$sender Instanceof Player){
  845.                 $sender->sendMessage(F::RED. "Комманда вводится только от имени игрока.");
  846.                 break;
  847.             }
  848.             if(!$sender->getPlayer()->hasPermission("capi.cmd.vanish")){
  849.                 $this->permsg($sender,"Модератор");
  850.                 break;
  851.             }
  852.             if(isset($args[0])){
  853.                 if($args[0] == "on"){
  854.                     $effect = Effect::getEffect(14)->setVisible(false)->setAmplifier(10)->setDuration(1928000);
  855.                     $sender->addEffect($effect);
  856.                     $sender->sendMessage("§7[§7Невидимость§7]§f Вы §aвключили §fневидимость!");
  857.                 }
  858.                 if($args[0] == "off"){
  859.                     $sender->removeAllEffects();
  860.                     $sender->sendMessage("§7[§7Невидимость§8]§f Вы §cвыключили §fневидимость!");
  861.                     }
  862.                 }else{
  863.                     $sender->sendMessage("§7[§7Невидимость§7]§f Используйте:§b /v on §fили §coff!");
  864.                  }
  865.                     break;
  866.             }
  867.        }
  868. ######################################################################################################
  869.      public function why($entityName)
  870.     {
  871.         if(!is_file($this->getDataFolder()."data/homes/".$entityName.".yml"))
  872.         {
  873.             $this->createData($entityName);
  874.         }
  875.     }
  876.     public function createData($entityName)
  877.     {
  878.         if(!is_file($this->getDataFolder()."data/homes/".$entityName.".yml"))
  879.         {
  880.             @mkdir($this->getDataFolder() . "data/homes/");
  881.             $data = new Config($this->getDataFolder() . "data/homes/".$entityName.".yml", Config::YAML);
  882.             $data->set("x", null);
  883.             $data->set("y", null);
  884.             $data->set("z", null);
  885.             $data->save();
  886.         }
  887.     }
  888.     public function getHomeX($entityName)
  889.     {
  890.         $this->why($entityName);
  891.         $sFile = (new Config($this->getDataFolder() . "data/homes/".$entityName.".yml", Config::YAML))->getAll();return $sFile["x"];
  892.     }
  893.     public function getHomeY($entityName)
  894.     {
  895.         $this->why($entityName);
  896.         $sFile = (new Config($this->getDataFolder() . "data/homes/".$entityName.".yml", Config::YAML))->getAll();
  897.         return $sFile["y"];
  898.     }
  899.     public function getHomeZ($entityName)
  900.     {
  901.         $this->why($entityName);
  902.         $sFile = (new Config($this->getDataFolder() . "data/homes/".$entityName.".yml", Config::YAML))->getAll();return $sFile["z"];
  903.     }
  904.     public function setHome($entityName, $x, $y, $z)
  905.     {
  906.         $this->why($entityName);
  907.         $sFile = (new Config($this->getDataFolder() . "data/homes/".$entityName.".yml", Config::YAML))->getAll();
  908.         $sFile["x"] = (int) $x;
  909.         $sFile["y"] = (int) $y;
  910.         $sFile["z"] = (int) $z;
  911.         $fFile = new Config($this->getDataFolder() . "data/homes/".$entityName.".yml", Config::YAML);
  912.         $fFile->setAll($sFile);
  913.         $fFile->save();
  914.     }
  915. ##########################################################################################################################################
  916.     private function loadPlayers()
  917.     {
  918.         @mkdir($this->getDataFolder(), 0777, true);
  919.         $this->players = new Config($this->getDataFolder() . "/data/vipslots.txt", Config::ENUM, array());
  920.     }
  921.     private function getValidPlayer($name)
  922.     {
  923.         $player = $this->getServer()->getPlayer($name);
  924.         return $player instanceof Player ? $player : $this->getServer()->getOfflinePlayer($name);
  925.     }
  926.     public function addPlayer($player)
  927.     {
  928.         $name = $this->getValidPlayer($player);
  929.         if($name instanceof Player)
  930.         {
  931.             $p = strtolower($name->getName());
  932.         }
  933.         else
  934.         {
  935.             $p = strtolower($player);
  936.         }
  937.         if($this->players->exists($p)) return false;
  938.             $this->players->set($p, true);
  939.             $this->players->save();
  940.         return true;
  941.     }
  942.     public function remPlayer($player)
  943.     {
  944.         $name = $this->getValidPlayer($player);
  945.         if($name instanceof Player)
  946.         {
  947.             $p = strtolower($name->getName());
  948.         }
  949.         else
  950.         {
  951.             $p = strtolower($player);
  952.         }
  953.         if(!$this->players->exists($p)) return false;
  954.             $this->players->remove($p);
  955.             $this->players->save();
  956.         return true;
  957.      }
  958.    }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement