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


PHP PlayerQuitEvent::getQuitMessage方法代码示例

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


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

示例1: onPlayerQuitEvent

 public function onPlayerQuitEvent(PlayerQuitEvent $event)
 {
     $message = $event->getQuitMessage();
     if ($message instanceof TranslationContainer) {
         $message = $this->getServer()->getLanguage()->translateString($message->getText(), $message->getParameters());
     }
     AnnounceSystem::getInstance()->pushBroadCastPopup($message, 2);
     $event->setQuitMessage(null);
 }
开发者ID:organization,项目名称:AnnounceClear,代码行数:9,代码来源:AnnounceClear.php

示例2: onPlayerQuit

 /**
  * @param PlayerQuitEvent $event
  */
 public function onPlayerQuit(PlayerQuitEvent $event)
 {
     // Quit message (nick):
     $message = $event->getQuitMessage();
     if ($message instanceof TranslationContainer) {
         foreach ($message->getParameters() as $i => $m) {
             $message->setParameter($i, str_replace($event->getPlayer()->getName(), $event->getPlayer()->getDisplayName(), $m));
         }
     } elseif ($message instanceof TextContainer) {
         $message->setText(str_replace($event->getPlayer()->getName(), $event->getPlayer()->getDisplayName(), $message->getText()));
     } else {
         $message = str_replace($event->getPlayer()->getName(), $event->getPlayer()->getDisplayName(), $message);
     }
     $event->setQuitMessage($message);
     // Session destroy:
     if ($this->getPlugin()->sessionExists($event->getPlayer())) {
         $this->getPlugin()->removeSession($event->getPlayer());
     }
 }
开发者ID:Jackboy320,项目名称:EssentialsPE,代码行数:22,代码来源:PlayerEvents.php

示例3: close

 /**
  * Note for plugin developers: use kick() with the isAdmin
  * flag set to kick without the "Kicked by admin" part instead of this method.
  *
  * @param string $message Message to be broadcasted
  * @param string $reason  Reason showed in console
  * @param bool $notify
  */
 public final function close($message = "", $reason = "generic reason", $notify = true)
 {
     if ($this->connected and !$this->closed) {
         if ($notify and strlen((string) $reason) > 0) {
             $pk = new DisconnectPacket();
             $pk->message = $reason;
             $this->directDataPacket($pk);
         }
         $this->connected = false;
         if (strlen($this->getName()) > 0) {
             $this->server->getPluginManager()->callEvent($ev = new PlayerQuitEvent($this, $message, true));
             if ($this->loggedIn === true and $ev->getAutoSave()) {
                 $this->save();
             }
         }
         foreach ($this->server->getOnlinePlayers() as $player) {
             if (!$player->canSee($this)) {
                 $player->showPlayer($this);
             }
         }
         $this->hiddenPlayers = [];
         foreach ($this->windowIndex as $window) {
             $this->removeWindow($window);
         }
         foreach ($this->usedChunks as $index => $d) {
             Level::getXZ($index, $chunkX, $chunkZ);
             $this->level->unregisterChunkLoader($this, $chunkX, $chunkZ);
             unset($this->usedChunks[$index]);
         }
         parent::close();
         $this->interface->close($this, $notify ? $reason : "");
         if ($this->loggedIn) {
             $this->server->removeOnlinePlayer($this);
         }
         $this->loggedIn = false;
         if (isset($ev) and $this->username != "" and $this->spawned !== false and $ev->getQuitMessage() != "") {
             $this->server->broadcastMessage($ev->getQuitMessage());
         }
         $this->server->getPluginManager()->unsubscribeFromPermission(Server::BROADCAST_CHANNEL_USERS, $this);
         $this->spawned = false;
         $this->server->getLogger()->info($this->getServer()->getLanguage()->translateString("pocketmine.player.logOut", [TextFormat::AQUA . $this->getName() . TextFormat::WHITE, $this->ip, $this->port, $this->getServer()->getLanguage()->translateString($reason)]));
         $this->windows = new \SplObjectStorage();
         $this->windowIndex = [];
         $this->usedChunks = [];
         $this->loadQueue = [];
         $this->hasSpawned = [];
         $this->spawnPosition = null;
         unset($this->buffer);
     }
     if ($this->perm !== null) {
         $this->perm->clearPermissions();
         $this->perm = null;
     }
     if ($this->inventory !== null) {
         $this->inventory = null;
         $this->currentTransaction = null;
     }
     $this->chunk = null;
     $this->server->removePlayer($this);
 }
开发者ID:NewDelion,项目名称:PocketMine-0.13.x,代码行数:68,代码来源:Player.php

示例4: close

 /**
  * @param string $message Message to be broadcasted
  * @param string $reason  Reason showed in console
  */
 public function close($message = "", $reason = "generic reason")
 {
     foreach ($this->tasks as $task) {
         $task->cancel();
     }
     $this->tasks = [];
     if ($this->connected and !$this->closed) {
         if ($reason != "") {
             $pk = new DisconnectPacket();
             $pk->message = $reason;
             $this->directDataPacket($pk);
         }
         $this->connected = false;
         if ($this->username != "") {
             $this->server->getPluginManager()->callEvent($ev = new PlayerQuitEvent($this, $message));
             if ($this->server->getAutoSave() and $this->loggedIn === true) {
                 $this->save();
             }
         }
         foreach ($this->server->getOnlinePlayers() as $player) {
             if (!$player->canSee($this)) {
                 $player->showPlayer($this);
             }
         }
         $this->hiddenPlayers = [];
         foreach ($this->windowIndex as $window) {
             $this->removeWindow($window);
         }
         $this->interface->close($this, $reason);
         $chunkX = $chunkZ = null;
         foreach ($this->usedChunks as $index => $d) {
             if (PHP_INT_SIZE === 8) {
                 $chunkX = $index >> 32 << 32 >> 32;
                 $chunkZ = ($index & 0xffffffff) << 32 >> 32;
             } else {
                 list($chunkX, $chunkZ) = explode(":", $index);
                 $chunkX = (int) $chunkX;
                 $chunkZ = (int) $chunkZ;
             }
             $this->level->freeChunk($chunkX, $chunkZ, $this);
             unset($this->usedChunks[$index]);
         }
         parent::close();
         if ($this->loggedIn) {
             $this->server->removeOnlinePlayer($this);
         }
         $this->loggedIn = false;
         if (isset($ev) and $this->username != "" and $this->spawned !== false and $ev->getQuitMessage() != "") {
             $this->server->broadcastMessage($ev->getQuitMessage());
         }
         $this->server->getPluginManager()->unsubscribeFromPermission(Server::BROADCAST_CHANNEL_USERS, $this);
         $this->spawned = false;
         $this->server->getLogger()->info(TextFormat::AQUA . $this->username . TextFormat::WHITE . "/" . $this->ip . " logged out due to " . str_replace(["\n", "\r"], [" ", ""], $reason));
         $this->windows = new \SplObjectStorage();
         $this->windowIndex = [];
         $this->usedChunks = [];
         $this->loadQueue = [];
         $this->hasSpawned = [];
         $this->spawnPosition = null;
         unset($this->buffer);
     }
     $this->perm->clearPermissions();
     $this->server->removePlayer($this);
 }
开发者ID:ZenaGamingsky,项目名称:Steadfast2,代码行数:68,代码来源:Player.php

示例5: close

 /**
  * @param string $message Message to be broadcasted
  * @param string $reason  Reason showed in console
  */
 public function close($message = "", $reason = "generic reason")
 {
     foreach ($this->tasks as $task) {
         $task->cancel();
     }
     $this->tasks = [];
     if ($this->connected and !$this->closed) {
         $this->connected = false;
         if ($this->username != "") {
             $this->server->getPluginManager()->callEvent($ev = new PlayerQuitEvent($this, $message));
             if ($this->server->getAutoSave() and $this->loggedIn === true) {
                 $this->save();
             }
         }
         foreach ($this->windowIndex as $window) {
             $this->removeWindow($window);
         }
         $this->interface->close($this, $reason);
         $chunkX = $chunkZ = null;
         foreach ($this->usedChunks as $index => $d) {
             Level::getXZ($index, $chunkX, $chunkZ);
             $this->level->freeChunk($chunkX, $chunkZ, $this);
             unset($this->usedChunks[$index]);
         }
         parent::close();
         $this->loggedIn = false;
         if (isset($ev) and $this->username != "" and $this->spawned !== false and $ev->getQuitMessage() != "") {
             $this->server->broadcastMessage($ev->getQuitMessage());
         }
         $this->server->getPluginManager()->unsubscribeFromPermission(Server::BROADCAST_CHANNEL_USERS, $this);
         $this->spawned = false;
         $this->server->getLogger()->info(TextFormat::AQUA . $this->username . TextFormat::WHITE . "[/" . $this->ip . ":" . $this->port . "] logged out due to " . str_replace(["\n", "\r"], [" ", ""], $reason));
         $this->windows = new \SplObjectStorage();
         $this->windowIndex = [];
         $this->usedChunks = [];
         $this->loadQueue = [];
         $this->hasSpawned = [];
         $this->spawnPosition = null;
         unset($this->buffer);
     }
     $this->perm->clearPermissions();
     $this->server->removePlayer($this);
 }
开发者ID:rryy,项目名称:PocketMine-MP,代码行数:47,代码来源:Player.php

示例6: close

 /**
  * Note for plugin developers: use kick() with the isAdmin
  * flag set to kick without the "Kicked by admin" part instead of this method.
  *
  * @param string $message Message to be broadcasted
  * @param string $reason Reason showed in console
  * @param bool   $notify
  */
 public final function close($message = "", $reason = "generic reason", $notify = true)
 {
     if ($this->connected and !$this->closed) {
         if ($notify and strlen((string) $reason) > 0) {
             $pk = new DisconnectPacket();
             $pk->message = $reason;
             $this->directDataPacket($pk);
         }
         //$this->setLinked();
         if ($this->fishingHook instanceof FishingHook) {
             $this->fishingHook->close();
             $this->fishingHook = null;
         }
         $this->removeEffect(Effect::HEALTH_BOOST);
         $this->connected = false;
         if (strlen($this->getName()) > 0) {
             $this->server->getPluginManager()->callEvent($ev = new PlayerQuitEvent($this, $message, true));
             if ($this->loggedIn === true and $ev->getAutoSave()) {
                 $this->save();
             }
         }
         foreach ($this->server->getOnlinePlayers() as $player) {
             if (!$player->canSee($this)) {
                 $player->showPlayer($this);
             }
         }
         $this->hiddenPlayers = [];
         foreach ($this->windowIndex as $window) {
             $this->removeWindow($window);
         }
         foreach ($this->usedChunks as $index => $d) {
             Level::getXZ($index, $chunkX, $chunkZ);
             $this->level->unregisterChunkLoader($this, $chunkX, $chunkZ);
             unset($this->usedChunks[$index]);
         }
         parent::close();
         $this->interface->close($this, $notify ? $reason : "");
         if ($this->loggedIn) {
             $this->server->removeOnlinePlayer($this);
         }
         $this->loggedIn = false;
         if (isset($ev) and $this->username != "" and $this->spawned !== false and $ev->getQuitMessage() != "") {
             if ($this->server->playerMsgType === Server::PLAYER_MSG_TYPE_MESSAGE) {
                 $this->server->broadcastMessage($ev->getQuitMessage());
             } elseif ($this->server->playerMsgType === Server::PLAYER_MSG_TYPE_TIP) {
                 $this->server->broadcastTip(str_replace("@player", $this->getName(), $this->server->playerLogoutMsg));
             } elseif ($this->server->playerMsgType === Server::PLAYER_MSG_TYPE_POPUP) {
                 $this->server->broadcastPopup(str_replace("@player", $this->getName(), $this->server->playerLogoutMsg));
             }
         }
         $this->server->getPluginManager()->unsubscribeFromPermission(Server::BROADCAST_CHANNEL_USERS, $this);
         $this->spawned = false;
         $this->server->getLogger()->info($this->getServer()->getLanguage()->translateString("pocketmine.player.logOut", [TextFormat::AQUA . $this->getName() . TextFormat::WHITE, $this->ip, $this->port, $this->getServer()->getLanguage()->translateString($reason)]));
         $this->windows = new \SplObjectStorage();
         $this->windowIndex = [];
         $this->usedChunks = [];
         $this->loadQueue = [];
         $this->hasSpawned = [];
         $this->spawnPosition = null;
         unset($this->buffer);
         if ($this->server->dserverConfig["enable"] and $this->server->dserverConfig["queryAutoUpdate"]) {
             $this->server->updateQuery();
         }
     }
     if ($this->perm !== null) {
         $this->perm->clearPermissions();
         $this->perm = null;
     }
     $this->inventory = null;
     $this->transactionQueue = null;
     $this->chunk = null;
     $this->server->removePlayer($this);
 }
开发者ID:iTXTech,项目名称:Genisys,代码行数:81,代码来源:Player.php

示例7: close

 /**
  * @param string $message Message to be broadcasted
  * @param string $reason  Reason showed in console
  */
 public function close($message = "", $reason = "generic reason")
 {
     foreach ($this->tasks as $task) {
         $task->cancel();
     }
     $this->tasks = [];
     if ($this->connected === true) {
         if ($this->username != "") {
             $this->server->getPluginManager()->callEvent($ev = new PlayerQuitEvent($this, $message));
             if ($this->loggedIn === true) {
                 $this->save();
             }
         }
         $this->connected = false;
         $this->interface->close($this, $reason);
         $this->getLevel()->freeAllChunks($this);
         parent::close();
         $this->loggedIn = false;
         if (isset($ev) and $this->username != "" and $this->spawned !== false and $ev->getQuitMessage() != "") {
             $this->server->broadcastMessage($ev->getQuitMessage());
         }
         $this->server->getPluginManager()->unsubscribeFromPermission(Server::BROADCAST_CHANNEL_USERS, $this);
         $this->spawned = false;
         $this->server->getLogger()->info(TextFormat::AQUA . $this->username . TextFormat::WHITE . "[/" . $this->ip . ":" . $this->port . "] logged out due to " . str_replace(["\n", "\r"], [" ", ""], $reason));
         $this->windows = new \SplObjectStorage();
         $this->windowIndex = [];
         $this->usedChunks = [];
         $this->loadQueue = [];
         unset($this->buffer);
     }
     $this->server->removePlayer($this);
 }
开发者ID:boybook,项目名称:PocketMine-MP,代码行数:36,代码来源:Player.php

示例8: onPlayerQuit

 /**
  * @param PlayerQuitEvent $event
  *
  * @priority HIGHEST
  */
 public function onPlayerQuit(PlayerQuitEvent $event)
 {
     $player = $event->getPlayer();
     //Motd Update
     if (CustomAlerts::getAPI()->isMotdCustom()) {
         CustomAlerts::getAPI()->setMotdMessage(CustomAlerts::getAPI()->getDefaultMotdMessage());
     } else {
         CustomAlerts::getAPI()->setMotdMessage($this->plugin->translateColors("&", $this->plugin->getServer()->getMotd()));
     }
     //Motd Update Event
     $this->plugin->getServer()->getPluginManager()->callEvent(new CustomAlertsMotdUpdateEvent($this->plugin->getServer()->getMotd()));
     $this->plugin->getServer()->getNetwork()->setName(CustomAlerts::getAPI()->getMotdMessage());
     CustomAlerts::getAPI()->setQuitMessage($event->getQuitMessage());
     //Check if Quit message is hidden
     if (CustomAlerts::getAPI()->isQuitHidden()) {
         CustomAlerts::getAPI()->setQuitMessage("");
     } else {
         //Check if Quit message is custom
         if (CustomAlerts::getAPI()->isQuitCustom()) {
             CustomAlerts::getAPI()->setQuitMessage(CustomAlerts::getAPI()->getDefaultQuitMessage($player));
         }
     }
     //Quit Event
     $this->plugin->getServer()->getPluginManager()->callEvent(new CustomAlertsQuitEvent($player, $event->getQuitMessage()));
     $event->setQuitMessage(CustomAlerts::getAPI()->getQuitMessage());
 }
开发者ID:xHFx,项目名称:CustomAlerts,代码行数:31,代码来源:EventListener.php


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