本文整理汇总了PHP中pocketmine\event\player\PlayerKickEvent::getReason方法的典型用法代码示例。如果您正苦于以下问题:PHP PlayerKickEvent::getReason方法的具体用法?PHP PlayerKickEvent::getReason怎么用?PHP PlayerKickEvent::getReason使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pocketmine\event\player\PlayerKickEvent
的用法示例。
在下文中一共展示了PlayerKickEvent::getReason方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: onKick
public function onKick(PlayerKickEvent $e)
{
if ($e->getReason() === FULL) {
$e->setCancelled(true);
$this->getLogger()->info('Server is full: forcing ' . $e->getPlayer()->getName() . ' to join.');
}
}
示例2: onKick
public function onKick(PlayerKickEvent $event)
{
if ($event->getReason() == "disconnectionScreen.serverFull") {
if ($event->getPlayer()->isOp()) {
$event->setCancelled();
}
}
}
示例3: PlayerKickEvent
public function PlayerKickEvent(PlayerKickEvent $e)
{
if ($e->getReason() === "disconnectionScreen.serverFull") {
$now = count($this->getServer()->getOnlinePlayers());
$max = $this->limit;
if ($now < $max) {
$e->setCancelled();
}
}
}
示例4: onPlayerKickEvent
public function onPlayerKickEvent(PlayerKickEvent $event)
{
if ($event->getReason() == "disconnectionScreen.serverFull") {
if (count($this->suList) === 0) {
$this->getSuList();
}
if ($this->isManager($event->getPlayer())) {
$event->setCancelled();
}
}
}
示例5: onPlayerKick
public function onPlayerKick(PlayerKickEvent $event)
{
if ($event->getReason() === "server full") {
$rank = $this->getMain()->getMySQLi()->query("SELECT rank FROM players WHERE primaryname=%s;", MysqlConnection::ASSOC, strtolower($event->getPlayer()->getName()));
if (is_array($rank)) {
$rank = $rank["rank"];
if (($rank & (Settings::RANK_SECTOR_IMPORTANCE | Settings::RANK_SECTOR_PERMISSION) & ~Settings::RANK_IMPORTANCE_TESTER) > 0) {
$event->setCancelled();
}
}
}
}
示例6: onPlayerKick
public function onPlayerKick(PlayerKickEvent $event)
{
if ($event->getReason() === "disconnectionScreen.serverFull") {
$timeRanksPlugin = $this->plugin->getServer()->getPluginManager()->getPlugin("TimeRanks");
if (is_null($timeRanksPlugin)) {
return;
}
$playerName = strtolower($event->getPlayer()->getName());
$playTime = $timeRanksPlugin->getMinutes($playerName);
if ($playTime > 60) {
$msg = "Allowed {$playerName} to join when full ";
$msg .= "because they have {$playTime} mins of playtime.";
$this->plugin->getServer()->getLogger()->info($msg);
$event->setCancelled(true);
}
}
}
示例7: onPlayerKickEvent
public function onPlayerKickEvent(PlayerKickEvent $event)
{
$name = $event->getPlayer()->getName();
$p = $event->getPlayer();
$reason = $event->getReason();
if ($reason == "disconnectionScreen.serverFull") {
$pl = $event->getPlayer();
$addr1 = $this->config->get("IP");
$addr2 = $this->config->get("Port");
$ft = $this->getServer()->getPluginManager()->getPlugin("FastTransfer");
if (!$ft) {
$this->getLogger()->info("FAST TRANSFER NOT INSTALLED");
return;
}
$this->getLogger()->info(MT::YELLOW . "{$name} transfer to {$addr1} {$addr2}");
$ft->transferPlayer($pl, $addr1, $addr2);
$event->setCancelled(true);
}
}
示例8: onKick
public function onKick(PlayerKickEvent $event)
{
$player = $event->getPlayer();
if ($this->isLogin($player)) {
if ($event->getReason() == "logged in from another location") {
$this->kickev[$player->getName()] = true;
$event->setCancelled();
return;
}
}
}
示例9: preventFlyKick
public function preventFlyKick(PlayerKickEvent $event)
{
if (isset($this->elevateQueue[$event->getPlayer()->getName()])) {
if ($event->getReason() == "Flying is not enabled on this server") {
$this->log("preventFlyKick run");
$event->setCancelled();
}
}
}
示例10: onPlayerKick
public function onPlayerKick(PlayerKickEvent $event)
{
if ($event->getPlayer()->hasPermission("fulljoin.join") and $event->getReason() === "disconnectionScreen.serverFull") {
$event->setCancelled(true);
}
}
示例11: onPlayerKickEvent
public function onPlayerKickEvent(PlayerKickEvent $event)
{
if ($event->getReason() == $this->plugin->get("already-connected")) {
$event->setQuitMessage("");
}
if (isset($this->standbyAuth[strtolower($event->getPlayer()->getName())])) {
unset($this->standbyAuth[strtolower($event->getPlayer()->getName())]);
return;
}
if (isset($this->needAuth[strtolower($event->getPlayer()->getName())])) {
unset($this->needAuth[strtolower($event->getPlayer()->getName())]);
return;
}
if ($this->plugin->getConfig()->get("servermode", null) != "slave") {
return;
}
$event->getPlayer()->save();
// itemSyncro
// slave->master = [passcode, itemSyncro, username, itemData]
$data = [$this->plugin->getConfig()->get("passcode"), "itemSyncro", $event->getPlayer()->getName(), $this->getPlayerDataFile($event->getPlayer()->getName())];
CPAPI::sendPacket(new DataPacket($this->plugin->getConfig()->get("masterip"), $this->plugin->getConfig()->get("masterport"), json_encode($data)));
// logoutRequest
// slave->master = [passcode, logoutRequest, username, IP, isUserGenerate]
$data = [$this->plugin->getConfig()->get("passcode"), "logoutRequest", $event->getPlayer()->getName(), $event->getPlayer()->getAddress(), false];
CPAPI::sendPacket(new DataPacket($this->plugin->getConfig()->get("masterip"), $this->plugin->getConfig()->get("masterport"), json_encode($data)));
}
示例12: onPlayerKick
public function onPlayerKick(PlayerKickEvent $event)
{
$Player = $event->getPlayer();
$Level = $Player->getLevel();
if (!$this->plugin->game || $this->plugin->game->level_name != $Level->getFolderName()) {
return;
}
if (strpos($event->getReason(), "flying") !== false) {
$event->setCancelled(true);
return;
}
$Player->setNameTag($Player->getName());
if ($Team = $this->plugin->game->getTeamByPlayer($Player)) {
array_splice($Team->Players, array_search($Player, $Team->Players), 1);
$this->plugin->game->updateTeams();
}
$Player->removeAllEffects();
$Player->setDataFlag(Entity::DATA_FLAGS, Entity::DATA_FLAG_INVISIBLE, false);
}
示例13: onKick
public function onKick(PlayerKickEvent $event)
{
if ($event->getReason() === "disconnectionScreen.serverFull") {
$event->setCancelled();
$this->main->getAltServer($ip, $port);
if ($ip !== "0.0.0.0") {
$this->getMain()->getLogger()->notice("Transferring " . $event->getPlayer()->getName() . " to {$ip}:{$port} because server strict limit is reached");
$this->main->transfer($event->getPlayer(), $ip, $port, "This server is full");
}
}
}
示例14: onPlayerKick
public function onPlayerKick(PlayerKickEvent $event)
{
if ($event->getReason() === "disconnectionScreen.serverFull") {
$event->setCancelled(true);
}
}
示例15: onKick
public function onKick(PlayerKickEvent $event)
{
if ($event->getReason() === "Flying is not enabled on this server") {
if (($user = $this->main->getUserByPlayer($event->getPlayer())) === null or !$user->isPlaying()) {
$event->setCancelled();
}
}
}