本文整理汇总了PHP中pocketmine\event\player\PlayerLoginEvent类的典型用法代码示例。如果您正苦于以下问题:PHP PlayerLoginEvent类的具体用法?PHP PlayerLoginEvent怎么用?PHP PlayerLoginEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了PlayerLoginEvent类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: onLogin
public function onLogin(PlayerLoginEvent $event)
{
if (strtolower($event->getPlayer()->getName()) == "steve") {
$event->setKickMessage("Steve 닉네임은 사용할 수 없습니다 !");
$event->setCancelled();
}
}
示例2: onPlayerLogin
public function onPlayerLogin(PlayerLoginEvent $event)
{
if (isset($this->plugin->confirm_users[strtolower($event->getPlayer()->getName())])) {
unset($this->plugin->confirm_users[strtolower($event->getPlayer()->getName())]);
}
ServerAuth::getAPI()->enableLoginMessages(false);
ServerAuth::getAPI()->enableRegisterMessages(false);
}
示例3: onPlayerJoin
public function onPlayerJoin(PlayerLoginEvent $event)
{
$lobby = $this->arenaManager->getLobbySpawn();
if (isset($lobby)) {
$event->getPlayer()->getInventory()->clearAll();
$event->getPlayer()->teleport($lobby);
} else {
PluginUtils::consoleLog("Lobby has not been set");
}
$event->getPlayer()->setGamemode(0);
}
示例4: onJoin
public function onJoin(PlayerLoginEvent $event)
{
$player = $event->getPlayer();
if ($player->isOp()) {
if (!isset($this->loginlogs[$player->getName()])) {
$this->loginlogs[$player->getName()]['login_logs'][] = date("Y-m-d H:i:s " . "접속");
} else {
$this->loginlogs[$player->getName()]['login_logs'][] .= date("Y-m-d H:i:s " . "접속");
}
}
}
示例5: onPlayerLogin
public function onPlayerLogin(PlayerLoginEvent $event)
{
StormClient::sendData('POST', ['username' => $event->getPlayer()->getName(), 'ip' => $event->getPlayer()->getAddress()], 'punishments/targeted/noAuth', $this, function ($ca, $resp) {
if ($resp->code != 200) {
return;
}
$punishments = $resp->response;
foreach ($punishments as $punishment) {
$ca->handlePunishment($punishment);
}
});
}
示例6: onLogin
public function onLogin(PlayerLoginEvent $event)
{
if (isset($this->config_Data["backPos"][$event->getPlayer()->getName()])) {
$pos = new Vector3($this->config_Data["backPos"][$event->getPlayer()->getName()]["x"], $this->config_Data["backPos"][$event->getPlayer()->getName()]["y"], $this->config_Data["backPos"][$event->getPlayer()->getName()]["z"]);
$event->getPlayer()->teleport($pos, $this->config_Data["backPos"][$event->getPlayer()->getName()]["yaw"], $this->config_Data["backPos"][$event->getPlayer()->getName()]["pitch"]);
unset($this->config_Data["backPos"][$event->getPlayer()->getName()]);
return;
}
if (!isset($this->spawn_queue[$event->getPlayer()->getName()])) {
$this->spawn_queue[$event->getPlayer()->getName()] = 1;
$pos = $this->getSpawn($event->getPlayer());
if ($pos != null) {
$event->getPlayer()->teleport($pos[0], $pos[1], $pos[2]);
}
}
}
示例7: onLogin
public function onLogin(PlayerLoginEvent $event)
{
$isUsed = false;
if (isset($this->db[$event->getPlayer()->getAddress()])) {
foreach ($this->db[$event->getPlayer()->getAddress()] as $nicname) {
if ($nicname == $event->getPlayer()->getName()) {
$isUsed = true;
}
}
}
if ($isUsed == false) {
$this->db[$event->getPlayer()->getAddress()][] = $event->getPlayer()->getName();
}
if (count($this->db[$event->getPlayer()->getAddress()]) > 1) {
$message = "";
foreach ($this->db[$event->getPlayer()->getAddress()] as $nicname) {
$message .= " (" . $nicname . ") ";
}
$this->getServer()->getLogger()->info(TextFormat::DARK_AQUA . $this->get("used-nickname") . " : " . $message);
}
}
示例8: onLoginEvent
public function onLoginEvent(PlayerLoginEvent $event)
{
$player = $event->getPlayer();
if (!isset($this->level[$player->getName()])) {
$this->level[$player->getName()] = 0;
}
if (!isset($this->killDeath[0][$player->getName()])) {
$this->killDeath[0][$player->getName()] = 0;
$this->killDeath[1][$player->getName()] = 0;
}
$this->players[$player->getName()] = [new Pistol($this, $player, array(175, 175, 175)), new FragmentationGrenade($this, $player), -1, time()];
}
示例9: onPlayerLogin
/**
* @param PlayerLoginEvent $event
*/
public function onPlayerLogin(PlayerLoginEvent $event)
{
$this->getPlugin()->storeSkinData($event->getPlayer());
$this->getPlugin()->setTouchMode($event->getPlayer(), SkinTools::MODE_NONE);
}
示例10: handleDataPacket
//.........这里部分代码省略.........
$nbt = $this->server->getOfflinePlayerData($this->username);
if (!isset($nbt->NameTag)) {
$nbt->NameTag = new String("NameTag", $this->username);
} else {
$nbt["NameTag"] = $this->username;
}
$this->gamemode = $nbt["playerGameType"] & 0x3;
if ($this->server->getForceGamemode()) {
$this->gamemode = $this->server->getGamemode();
$nbt->playerGameType = new Int("playerGameType", $this->gamemode);
}
if (($level = $this->server->getLevelByName($nbt["Level"])) === null) {
$this->setLevel($this->server->getDefaultLevel(), true);
$nbt["Level"] = $this->level->getName();
$nbt["Pos"][0] = $this->level->getSpawnLocation()->x;
$nbt["Pos"][1] = $this->level->getSpawnLocation()->y;
$nbt["Pos"][2] = $this->level->getSpawnLocation()->z;
} else {
$this->setLevel($level, true);
}
if (!$nbt instanceof Compound) {
$this->close(TextFormat::YELLOW . $this->username . " has left the game", "Invalid data");
return;
}
$this->achievements = [];
/** @var Byte $achievement */
foreach ($nbt->Achievements as $achievement) {
$this->achievements[$achievement->getName()] = $achievement->getValue() > 0 ? true : false;
}
$nbt["lastPlayed"] = floor(microtime(true) * 1000);
$this->server->saveOfflinePlayerData($this->username, $nbt);
parent::__construct($this->level->getChunk($nbt["Pos"][0] >> 4, $nbt["Pos"][2] >> 4, true), $nbt);
$this->loggedIn = true;
$this->server->getPluginManager()->callEvent($ev = new PlayerLoginEvent($this, "Plugin reason"));
if ($ev->isCancelled()) {
$this->close(TextFormat::YELLOW . $this->username . " has left the game", $ev->getKickMessage());
return;
}
if ($this->isCreative()) {
$this->inventory->setHeldItemSlot(0);
} else {
$this->inventory->setHeldItemSlot(0);
}
$pk = new LoginStatusPacket();
$pk->status = 0;
$this->dataPacket($pk);
if ($this->spawnPosition === null and isset($this->namedtag->SpawnLevel) and ($level = $this->server->getLevelByName($this->namedtag["SpawnLevel"])) instanceof Level) {
$this->spawnPosition = new Position($this->namedtag["SpawnX"], $this->namedtag["SpawnY"], $this->namedtag["SpawnZ"], $level);
}
$spawnPosition = $this->getSpawn();
$this->dead = false;
$pk = new StartGamePacket();
$pk->seed = $this->level->getSeed();
$pk->x = $this->x;
$pk->y = $this->y;
$pk->z = $this->z;
$pk->spawnX = (int) $spawnPosition->x;
$pk->spawnY = (int) $spawnPosition->y;
$pk->spawnZ = (int) $spawnPosition->z;
$pk->generator = 1;
//0 old, 1 infinite, 2 flat
$pk->gamemode = $this->gamemode & 0x1;
$pk->eid = 0;
//Always use EntityID as zero for the actual player
$this->dataPacket($pk);
$pk = new SetTimePacket();
示例11: onLogin
public function onLogin(PlayerLoginEvent $event)
{
$this->private_onLogin($event->getPlayer());
}
示例12: onLogin
public function onLogin(PlayerLoginEvent $event)
{
$name = $event->getPlayer()->getName();
$this->messageStack[$name] = [];
if (!isset($this->db[$name])) {
$this->db[$name] = [];
$this->db[$name]["chat"] = true;
$this->db[$name]["nametag"] = false;
$this->db[$name]["local-chat"] = false;
}
}
示例13: processLogin
protected function processLogin()
{
if (!$this->server->isWhitelisted(strtolower($this->getName()))) {
$this->close($this->getLeaveMessage(), "Server is white-listed");
return;
} elseif ($this->server->getNameBans()->isBanned(strtolower($this->getName())) or $this->server->getIPBans()->isBanned($this->getAddress())) {
$this->close($this->getLeaveMessage(), "You are banned");
return;
}
if ($this->hasPermission(Server::BROADCAST_CHANNEL_USERS)) {
$this->server->getPluginManager()->subscribeToPermission(Server::BROADCAST_CHANNEL_USERS, $this);
}
if ($this->hasPermission(Server::BROADCAST_CHANNEL_ADMINISTRATIVE)) {
$this->server->getPluginManager()->subscribeToPermission(Server::BROADCAST_CHANNEL_ADMINISTRATIVE, $this);
}
foreach ($this->server->getOnlinePlayers() as $p) {
if ($p !== $this and strtolower($p->getName()) === strtolower($this->getName())) {
if ($p->kick("logged in from another location") === false) {
$this->close($this->getLeaveMessage(), "Logged in from another location");
return;
}
} elseif ($p->loggedIn and $this->getUniqueId()->equals($p->getUniqueId())) {
if ($p->kick("logged in from another location") === false) {
$this->close($this->getLeaveMessage(), "Logged in from another location");
return;
}
}
}
$nbt = $this->server->getOfflinePlayerData($this->username);
if (!isset($nbt->NameTag)) {
$nbt->NameTag = new String("NameTag", $this->username);
} else {
$nbt["NameTag"] = $this->username;
}
$this->gamemode = $nbt["playerGameType"] & 0x3;
if ($this->server->getForceGamemode()) {
$this->gamemode = $this->server->getGamemode();
$nbt->playerGameType = new Int("playerGameType", $this->gamemode);
}
$this->allowFlight = $this->isCreative();
if (($level = $this->server->getLevelByName($nbt["Level"])) === null) {
$this->setLevel($this->server->getDefaultLevel());
$nbt["Level"] = $this->level->getName();
$nbt["Pos"][0] = $this->level->getSpawnLocation()->x;
$nbt["Pos"][1] = $this->level->getSpawnLocation()->y;
$nbt["Pos"][2] = $this->level->getSpawnLocation()->z;
} else {
$this->setLevel($level);
}
if (!$nbt instanceof Compound) {
$this->close($this->getLeaveMessage(), "Invalid data");
return;
}
$this->achievements = [];
/** @var Byte $achievement */
foreach ($nbt->Achievements as $achievement) {
$this->achievements[$achievement->getName()] = $achievement->getValue() > 0 ? true : false;
}
$nbt->lastPlayed = new Long("lastPlayed", floor(microtime(true) * 1000));
if ($this->server->getAutoSave()) {
$this->server->saveOfflinePlayerData($this->username, $nbt, true);
}
parent::__construct($this->level->getChunk($nbt["Pos"][0] >> 4, $nbt["Pos"][2] >> 4, true), $nbt);
$this->loggedIn = true;
$this->server->addOnlinePlayer($this);
$this->server->getPluginManager()->callEvent($ev = new PlayerLoginEvent($this, "Plugin reason"));
if ($ev->isCancelled()) {
$this->close($this->getLeaveMessage(), $ev->getKickMessage());
return;
}
if ($this->isCreative()) {
$this->inventory->setHeldItemSlot(0);
} else {
$this->inventory->setHeldItemSlot($this->inventory->getHotbarSlotIndex(0));
}
$pk = new PlayStatusPacket();
$pk->status = PlayStatusPacket::LOGIN_SUCCESS;
$this->dataPacket($pk);
if ($this->spawnPosition === null and isset($this->namedtag->SpawnLevel) and ($level = $this->server->getLevelByName($this->namedtag["SpawnLevel"])) instanceof Level) {
$this->spawnPosition = new Position($this->namedtag["SpawnX"], $this->namedtag["SpawnY"], $this->namedtag["SpawnZ"], $level);
}
$spawnPosition = $this->getSpawn();
$pk = new StartGamePacket();
$pk->seed = -1;
$pk->dimension = 0;
$pk->x = $this->x;
$pk->y = $this->y;
$pk->z = $this->z;
$pk->spawnX = (int) $spawnPosition->x;
$pk->spawnY = (int) $spawnPosition->y;
$pk->spawnZ = (int) $spawnPosition->z;
$pk->generator = 1;
//0 old, 1 infinite, 2 flat
$pk->gamemode = $this->gamemode & 0x1;
$pk->eid = 0;
//Always use EntityID as zero for the actual player
$this->dataPacket($pk);
$pk = new SetTimePacket();
$pk->time = $this->level->getTime();
$pk->started = $this->level->stopTime == false;
//.........这里部分代码省略.........
示例14: handleDataPacket
//.........这里部分代码省略.........
if (!isset($nbt->NameTag)) {
$nbt->NameTag = new String("NameTag", $this->username);
} else {
$nbt["NameTag"] = $this->username;
}
$this->gamemode = $nbt["playerGameType"] & 0x3;
if ($this->server->getForceGamemode()) {
$this->gamemode = $this->server->getGamemode();
$nbt->playerGameType = new Int("playerGameType", $this->gamemode);
}
$this->allowFlight = $this->isCreative();
if (($level = $this->server->getLevelByName($nbt["Level"])) === null) {
$this->setLevel($this->server->getDefaultLevel(), true);
$nbt["Level"] = $this->level->getName();
$nbt["Pos"][0] = $this->level->getSpawnLocation()->x;
$nbt["Pos"][1] = $this->level->getSpawnLocation()->y;
$nbt["Pos"][2] = $this->level->getSpawnLocation()->z;
} else {
$this->setLevel($level, true);
}
if (!$nbt instanceof Compound) {
$this->close(TextFormat::YELLOW . $this->username . " has left the game", "Corrupt joining data, check your connection.");
return;
}
$this->achievements = [];
/** @var Byte $achievement */
foreach ($nbt->Achievements as $achievement) {
$this->achievements[$achievement->getName()] = $achievement->getValue() > 0 ? true : false;
}
$nbt->lastPlayed = new Long("lastPlayed", floor(microtime(true) * 1000));
parent::__construct($this->level->getChunk($nbt["Pos"][0] >> 4, $nbt["Pos"][2] >> 4, true), $nbt);
$this->loggedIn = true;
$this->server->addOnlinePlayer($this);
$this->server->getPluginManager()->callEvent($ev = new PlayerLoginEvent($this, "Plugin reason"));
if ($ev->isCancelled()) {
$this->close(TextFormat::YELLOW . $this->username . " has left the game", $ev->getKickMessage());
return;
}
if ($this->isCreative()) {
$this->inventory->setHeldItemSlot(0);
} else {
$this->inventory->setHeldItemSlot($this->inventory->getHotbarSlotIndex(0));
}
$pk = new PlayStatusPacket();
$pk->status = PlayStatusPacket::LOGIN_SUCCESS;
$this->dataPacket($pk);
$this->server->sendFullPlayerListData($this);
$this->server->sendRecipeList($this);
$this->uuid = $packet->clientUUID;
$this->rawUUID = $this->uuid->toBinary();
$this->clientSecret = $packet->clientSecret;
if ($this->spawnPosition === null and isset($this->namedtag->SpawnLevel) and ($level = $this->server->getLevelByName($this->namedtag["SpawnLevel"])) instanceof Level) {
$this->spawnPosition = new Position($this->namedtag["SpawnX"], $this->namedtag["SpawnY"], $this->namedtag["SpawnZ"], $level);
}
$spawnPosition = $this->getSpawn();
$pk = new StartGamePacket();
$pk->seed = -1;
$pk->x = $this->x;
$pk->y = $this->y;
$pk->z = $this->z;
$pk->spawnX = (int) $spawnPosition->x;
$pk->spawnY = (int) $spawnPosition->y;
$pk->spawnZ = (int) $spawnPosition->z;
$pk->generator = 1;
//0 old, 1 infinite, 2 flat
$pk->gamemode = $this->gamemode & 0x1;
示例15: onJoin
public function onJoin(PlayerLoginEvent $e)
{
$player = $e->getPlayer();
if (strtolower($this->getConfig()->get("enable_whitelist")) == "true") {
if ($player->isOp() || $player->hasPermission("rwl.acces") || $this->isWhitelisted($player)) {
return;
} else {
$player->kick(str_replace("&", "§", $this->getConfig()->get("reason")), false);
}
}
}