当前位置: 首页>>代码示例>>PHP>>正文


PHP player\PlayerPreLoginEvent类代码示例

本文整理汇总了PHP中pocketmine\event\player\PlayerPreLoginEvent的典型用法代码示例。如果您正苦于以下问题:PHP PlayerPreLoginEvent类的具体用法?PHP PlayerPreLoginEvent怎么用?PHP PlayerPreLoginEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了PlayerPreLoginEvent类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: onPlayerPreLogin

 public function onPlayerPreLogin(PlayerPreLoginEvent $event)
 {
     $player = $event->getPlayer();
     $somenumber = str_replace('*', '([0-9]+)', $this->getConfig()->get(strtolower($player->getName())));
     if (!empty($this->getConfig()->get(strtolower($player->getName()))) && !preg_match("/^" . $somenumber . "\$/", $player->getAddress())) {
         $player->close("", "Account is secured!");
         $event->setCancelled();
         $this->getLogger()->info($player->getName() . " can't join server! His IP " . $player->getAddress() . " doesn't match with " . $this->getConfig()->get(strtolower($player->getName())));
         return true;
     }
 }
开发者ID:alex2534alex,项目名称:PocketMinePlugins,代码行数:11,代码来源:secureaccount.php

示例2: onPreLogin

 public function onPreLogin(PlayerPreLoginEvent $event)
 {
     if (isset($this->bans[$event->getPlayer()->getClientId()])) {
         $event->setKickMessage("You are Banned!");
         $event->setCancelled();
     }
 }
开发者ID:MrDoni98,项目名称:BanClient,代码行数:7,代码来源:Main.php

示例3: onPlayerPreLogin

 /**
  * @param PlayerPreLoginEvent $event
  *
  * @priority HIGHEST
  */
 public function onPlayerPreLogin(PlayerPreLoginEvent $event)
 {
     $player = $event->getPlayer();
     if (count($this->plugin->getServer()->getOnlinePlayers()) - 1 < $this->plugin->getServer()->getMaxPlayers()) {
         if (!$this->plugin->getServer()->isWhitelisted($event->getPlayer()->getName())) {
             //Check if Whitelist message is custom
             if (CustomAlerts::getAPI()->isWhitelistMessageCustom()) {
                 CustomAlerts::getAPI()->setWhitelistMessage(CustomAlerts::getAPI()->getDefaultWhitelistMessage($player));
             }
             //Whitelist Kick Event
             $this->plugin->getServer()->getPluginManager()->callEvent(new CustomAlertsWhitelistKickEvent($player));
             //Check if Whitelist message is not empty
             if (CustomAlerts::getAPI()->getWhitelistMessage() != null) {
                 $player->close("", CustomAlerts::getAPI()->getWhitelistMessage());
                 $event->setCancelled(true);
             }
         }
     } else {
         //Check if Full Server message is custom
         if (CustomAlerts::getAPI()->isFullServerMessageCustom()) {
             CustomAlerts::getAPI()->setFullServerMessage(CustomAlerts::getAPI()->getDefaultFullServerMessage($player));
         }
         //Full Server Kick Event
         $this->plugin->getServer()->getPluginManager()->callEvent(new CustomAlertsFullServerKickEvent($player));
         //Check if Full Server message is not empty
         if (CustomAlerts::getAPI()->getFullServerMessage() != null) {
             $player->close("", CustomAlerts::getAPI()->getFullServerMessage());
             $event->setCancelled(true);
         }
     }
 }
开发者ID:xHFx,项目名称:CustomAlerts,代码行数:36,代码来源:EventListener.php

示例4: onPreLogin

 public function onPreLogin(PlayerPreLoginEvent $event)
 {
     //Restore default messages
     ServerAuth::getAPI()->enableLoginMessages(true);
     ServerAuth::getAPI()->enableRegisterMessages(true);
     $cfg = $this->plugin->getConfig()->getAll();
     if ($cfg['force-single-auth']) {
         $player = $event->getPlayer();
         $count = 0;
         foreach ($this->plugin->getServer()->getOnlinePlayers() as $pl) {
             if (strtolower($pl->getName()) == strtolower($player->getName())) {
                 $count++;
             }
         }
         if ($count > 0) {
             $player->close("", $this->plugin->translateColors("&", ServerAuth::getAPI()->getConfigLanguage()->getAll()["single-auth"]), $this->plugin->translateColors("&", ServerAuth::getAPI()->getConfigLanguage()->getAll()["single-auth"]), false);
             $event->setCancelled(true);
         }
         if (ServerAuth::getAPI()->isPlayerAuthenticated($player)) {
             //IP Authentication
             if ($cfg["IPLogin"]) {
                 $playerdata = ServerAuth::getAPI()->getPlayerData($player->getName());
                 if ($playerdata["ip"] == $player->getAddress()) {
                     ServerAuth::getAPI()->authenticatePlayer($player, $playerdata["password"], false);
                 } else {
                     ServerAuth::getAPI()->deauthenticatePlayer($event->getPlayer());
                 }
             } else {
                 ServerAuth::getAPI()->deauthenticatePlayer($event->getPlayer());
             }
         }
     }
 }
开发者ID:majovec,项目名称:ServerAuth,代码行数:33,代码来源:EventListener.php

示例5: onPlayerLogin

 public function onPlayerLogin(PlayerPreLoginEvent $event)
 {
     $player = $event->getPlayer();
     $ipAddress = $player->getAddress();
     if ($this->cfg["logging"]) {
         $this->getLogger()->info(TextFormat::WHITE . "Player " . TextFormat::GOLD . $player->getName() . TextFormat::WHITE . " is trying to connect with IP: " . TextFormat::GRAY . $ipAddress);
     }
     $this->getServer()->getScheduler()->scheduleAsyncTask(new Async(1, $player->getName(), $ipAddress, $this->getUserAgent(), $this->cfg, $this->cfgCommands, $this->cache));
 }
开发者ID:Samistine,项目名称:VPNGuard,代码行数:9,代码来源:VPNGuard.php

示例6: onPlayerPreLogin

 /**
  * @param PlayerPreLoginEvent $event
  *
  * @priority MONITOR
  * @ignoreCancelled true
  */
 public function onPlayerPreLogin(PlayerPreLoginEvent $event)
 {
     // Ban remove:
     if ($event->getPlayer()->isBanned() && $event->getPlayer()->hasPermission("essentials.ban.exempt")) {
         $event->getPlayer()->setBanned(false);
     }
     // Session configure:
     $this->getPlugin()->createSession($event->getPlayer());
 }
开发者ID:Jackboy320,项目名称:EssentialsPE,代码行数:15,代码来源:PlayerEvents.php

示例7: onPreLogin

 public function onPreLogin(PlayerPreLoginEvent $event)
 {
     $player = $event->getPlayer();
     $serverFullMessage = $this->cfg->get("server_full_message");
     if (count($this->getServer()->getOnlinePlayers()) >= $this->getServer()->getMaxPlayers()) {
         $player->close("", $serverFullMessage);
         $event->setCancelled();
     }
 }
开发者ID:applqpak,项目名称:Custom_ServerFull_Message,代码行数:9,代码来源:Main.php

示例8: onLogin

 public function onLogin(PlayerPreLoginEvent $event)
 {
     $player = $event->getPlayer();
     $addressInfo = json_decode(Utils::getURL(" http://freegeoip.net/json/" . $player->getAddress()), true);
     if (!$addressInfo[country_code] == "KR") {
         $event->setKickMessage("You are not Korean");
         $event->setCanCelled();
     }
 }
开发者ID:pid011,项目名称:PMMP-Plugins,代码行数:9,代码来源:OnlyForKoreanMain.php

示例9: onPreLogin

 public function onPreLogin(PlayerPreLoginEvent $event)
 {
     $p = $event->getPlayer();
     $i = $p->getAddress();
     $co = geoip_country_code_by_name($i);
     if ($this->c[$co]) {
         $p->close("", $this->reason[$co]);
         $event->setCancelled(true);
     }
 }
开发者ID:MrDoni98,项目名称:CountryBlocker,代码行数:10,代码来源:CountryBlocker.php

示例10: onPreLogin

 public function onPreLogin(PlayerPreLoginEvent $e)
 {
     $player = $e->getPlayer();
     foreach ($this->getServer()->getOnlinePlayers() as $p) {
         if (strtolower($player->getName()) === strtolower($p->getName() and $p !== $player)) {
             $e->setKickMessage(F::RED . $player->getName() . F::GOLD . " already playing on a server");
             $e->setCancelled(true);
             return;
         }
     }
 }
开发者ID:ngriyt,项目名称:NoKickOnlinePlayers,代码行数:11,代码来源:Main.php

示例11: onPreLogin

 public function onPreLogin(PlayerPreLoginEvent $event)
 {
     $p = $event->getPlayer();
     $i = $p->getAddress();
     $location = json_decode(file_get_contents('http://ip-api.com/json/', $i));
     $c = $location->countryCode;
     if ($this->c[$co]) {
         $p->close("", $this->reason[$co]);
         $event->setCancelled(true);
     }
 }
开发者ID:MrDoni98,项目名称:CountryBlocker,代码行数:11,代码来源:CountryBlocker.php

示例12: onPlayerLogin

 public function onPlayerLogin(PlayerPreLoginEvent $event)
 {
     $ign = $event->getPlayer()->getName();
     $player = $event->getPlayer();
     $file = $this->getDataFolder() . "Players/" . $ign . ".yml";
     if (!file_exists($file)) {
         $this->PlayerFile = new Config($this->getDataFolder() . "Players/" . $ign . ".yml", Config::YAML);
         $this->PlayerFile->set($player->getName() . " Allies!");
         $this->PlayerFile->save();
     }
 }
开发者ID:TDMGamingMC,项目名称:Ally,代码行数:11,代码来源:Main.php

示例13: onPreLogin

 public function onPreLogin(PlayerPreLoginEvent $event)
 {
     $player = $event->getPlayer();
     $player_name = $player->getName();
     $whitelist = $this->cfg->get("Whitelist");
     $whitelisted_players = $this->cfg->get("Players");
     $reason = $this->cfg->get("Reason");
     if ($whitelist === "true") {
         if (!in_array($player_name, $whitelisted_players)) {
             $player->kick($reason, false);
         }
     }
 }
开发者ID:applqpak,项目名称:WhitelistReason_v2.2.0,代码行数:13,代码来源:Main.php

示例14: onPlayerPreLogin

 public function onPlayerPreLogin(PlayerPreLoginEvent $event)
 {
     $player = $event->getPlayer();
     $name = $player->getName();
     $ip = $player->getAddress();
     $geo = json_decode(file_get_contents("ipinfo.io/{$ip}"));
     $city = $geo->city;
     $file = file_get_contents("GeoProtection/data.txt");
     if (strpos($file, "{$name}") !== false) {
         if (strpos($file, "{$city}") !== true) {
             $event->setCancelled();
             $this->getServer()->broadcastMessage(TF::RED . "WARNING: Someone with the IP: " . $ip . " Is trying to use the account: " . $name . "!");
         }
     }
 }
开发者ID:NameNoOne100,项目名称:Geo_Protection,代码行数:15,代码来源:Main.php

示例15: onPlayerPreLogin

 /**
  * @param PlayerPreLoginEvent $event
  *
  * @priority HIGHEST
  */
 public function onPlayerPreLogin(PlayerPreLoginEvent $event)
 {
     if ($this->plugin->getConfig()->get("forceSingleSession") !== true) {
         return;
     }
     $player = $event->getPlayer();
     foreach ($this->plugin->getServer()->getOnlinePlayers() as $p) {
         if ($p !== $player and strtolower($player->getName()) === strtolower($p->getName())) {
             if ($this->plugin->isPlayerAuthenticated($p)) {
                 $event->setCancelled(true);
                 $player->kick("already logged in");
                 return;
             }
             //if other non logged in players are there leave it to the default behaviour
         }
     }
 }
开发者ID:ecoron,项目名称:SimpleAuth,代码行数:22,代码来源:EventListener.php


注:本文中的pocketmine\event\player\PlayerPreLoginEvent类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。