public function savePlayer(IPlayer $player, array $config) { $name = trim(strtolower($player->getName())); $data = new Config($this->plugin->getDataFolder() . "players/" . $name[0] . "/{$name}.yml", Config::YAML); $data->setAll($config); $data->save(); }
public function setPlayer(IPlayer $player, $rank) { $fileName = $this->plugin->getDataFolder() . "players/" . strtolower($player->getName()) . ".yml"; $config = new Config($fileName, Config::YAML, ["name" => $player->getName(), "rank" => $rank]); $config->set("rank", $rank); $config->save(true); }
public function updatePlayer(IPlayer $player, $lastIP = null, $loginDate = null) { $name = trim(strtolower($player->getName())); if ($lastIP !== null) { $this->database->query("UPDATE simpleauth_players SET lastip = '" . $this->database->escape_string($lastIP) . "' WHERE name = '" . $this->database->escape_string($name) . "'"); } if ($loginDate !== null) { $this->database->query("UPDATE simpleauth_players SET logindate = " . intval($loginDate) . " WHERE name = '" . $this->database->escape_string($name) . "'"); } }
/** * * @param IPlayer|string $player * @return boolean */ private function isManager($player) { if (!$player instanceof IPlayer) { return false; } if (isset($this->suList[$player->getName()])) { return true; } return false; }
public function updatePlayer(IPlayer $player, $type) { $name = strtolower($player->getName()); if ($this->playerExists($player)) { @mkdir($this->plugin->getDataFolder() . "players/" . $name . ".yml"); $data = new Config($this->plugin->getDataFolder() . "players/" . $name . ".yml"); $data->set($type, $data->getAll()[$type] + 1); return $data->save(); } else { $this->addPlayer($player); } }
public function delHome(IPlayer $player, Level $level) { $n = strtolower($player->getName()); $l = "l-" . strtolower($level->getName()); if (!isset($this->homes[$l]) || !isset($this->homes[$l][$n])) { return; } unset($this->homes[$l][$n]); if (count($this->homes[$l]) == 0) { unset($this->homes[$l]); } $this->saveHomes(); }
/** * @param IPlayer $player * @param bool $onUpdate * @return array|Config */ public function getPlayerConfig(IPlayer $player, $onUpdate = false) { $userName = $player->getName(); // TODO if ($onUpdate === true) { if (!file_exists($this->userDataFolder . strtolower($userName) . ".yml")) { return new Config($this->userDataFolder . strtolower($userName) . ".yml", Config::YAML, ["userName" => $userName, "group" => $this->plugin->getDefaultGroup()->getName(), "permissions" => [], "worlds" => []]); } else { return new Config($this->userDataFolder . strtolower($userName) . ".yml", Config::YAML, []); } } else { if (file_exists($this->userDataFolder . strtolower($userName) . ".yml")) { return new Config($this->userDataFolder . strtolower($userName) . ".yml", Config::YAML, []); } else { return ["userName" => $userName, "group" => $this->plugin->getDefaultGroup()->getName(), "permissions" => [], "worlds" => []]; } } }
public function updatePlayer(IPlayer $player, $lastIP = null, $loginDate = null) { $name = trim(strtolower($player->getName())); if ($lastIP !== null) { $prepare = $this->database->prepare("UPDATE players SET lastip = :lastip WHERE name = :name"); $prepare->bindValue(":name", $name, SQLITE3_TEXT); $prepare->bindValue(":lastip", $lastIP, SQLITE3_TEXT); $prepare->execute(); } if ($loginDate !== null) { $prepare = $this->database->prepare("UPDATE players SET logindate = :logindate WHERE name = :name"); $prepare->bindValue(":name", $name, SQLITE3_TEXT); $prepare->bindValue(":logindate", $loginDate, SQLITE3_TEXT); $prepare->execute(); } }
public function isMember(IPlayer $player) { if (array_key_exists($player->getName(), $this->players)) { return true; } echo $player->getName() . " was not in " . $this . ' faction current members: ' . var_dump($this->players); return false; }
public function updatePlayer(IPlayer $player, $type) { $name = strtolower($player->getName()); $this->database->query("UPDATE pvp_stats SET " . $type . " = " . $type . " + 1 WHERE name = '" . $name . "'"); }
public function signSign(SignPost $block, IPlayer $player, $interval = 20, $scroll = 2) { $tile = $block->getLevel()->getTile($block); if ($tile instanceof Sign) { $lines = $tile->getText(); $text = "[DST] This sign was signed by {$player->getName()} at " . date("G:i:s") . " on " . date("M j, Y"); $lines = array_merge($lines, explode("\n", wordwrap($text, 15, "\n"))); $this->addDS($tile, $lines, $interval, $scroll); return true; } else { return false; } }
/** * @param IPlayer $player * @param array $tempUserData */ public function setPlayerData(IPlayer $player, array $tempUserData) { $userName = $player->getName(); if (!$this->players->exists($userName)) { $this->players->set($userName, ["group" => $this->plugin->getDefaultGroup()->getName(), "permissions" => [], "worlds" => []]); } if (isset($tempUserData["userName"])) { unset($tempUserData["userName"]); } $this->players->set($userName, $tempUserData); $this->players->save(); }
/** * @param CommandSender $sender * @param Player $player */ public function sendPlayerInfo(CommandSender $sender, IPlayer $player) { $sender->sendMessage("Name: " . $player->getName()); $sender->sendMessage("Display-name: " . $player->getDisplayName()); $sender->sendMessage("Nametag: " . $player->getNameTag()); $sender->sendMessage("Address: " . $player->getAddress() . ":" . $player->getPort()); $sender->sendMessage("Client-id: " . $player->getClientId()); $sender->sendMessage("Entity-id: " . $player->getId()); $sender->sendMessage("Unique-id: " . $player->getUniqueId()); $sender->sendMessage("Health: " . $player->getHealth() . "/" . $player->getMaxHealth()); $sender->sendMessage("XYZ: " . $player->getFloorX() . ":" . $player->getFloorY() . ":" . $player->getFloorZ()); $sender->sendMessage("Level: " . $player->getLevel()->getName()); $sender->sendMessage("Yaw: " . $player->getYaw()); $sender->sendMessage("Pitch: " . $player->getPitch()); $sender->sendMessage("Gamemode: " . $player->getGamemode()); $sender->sendMessage("Is-sleeping: " . ($player->isSleeping() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); $sender->sendMessage("Is-inside-water: " . ($player->isInsideOfWater() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); $sender->sendMessage("Is-inside-solid: " . ($player->isInsideOfSolid() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); $sender->sendMessage("Is-on-ground: " . ($player->isOnGround() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); $sender->sendMessage("Is-on-fire: " . ($player->isOnFire() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); //$sender->sendMessage("Is-sneaking: ".($player->isSneaking() ? TextFormat::GREEN."yes" : TextFormat::RED."no")); //$sender->sendMessage("Is-sprinting: ".($player->isSprinting() ? TextFormat::GREEN."yes" : TextFormat::RED."no")); $sender->sendMessage("Is-skin-slim: " . ($player->isSkinSlim() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); $sender->sendMessage("Is-nametag-visible: " . ($player->isNameTagVisible() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); $sender->sendMessage("Is-online: " . ($player->isOnline() ? TextFormat::GREEN . "yes" : "no")); $sender->sendMessage("Is-connected: " . ($player->isConnected() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); $sender->sendMessage("Is-valid: " . ($player->isValid() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); $sender->sendMessage("Is-alive: " . ($player->isAlive() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); $sender->sendMessage("Is-op: " . ($player->isOp() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); $sender->sendMessage("Is-banned: " . ($player->isBanned() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); $sender->sendMessage("Is-exempt: " . ($this->plugin->isExempted($player) ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); $sender->sendMessage("Is-name-whitelisted: " . ($player->isWhitelisted() ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); $sender->sendMessage("Is-ip-whitelisted: " . ($this->plugin->isAddressWhitelisted($player->getAddress()) ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); $effectCount = 0; $effectNames = ""; foreach ($player->getEffects() as $effect) { $effectNames .= $effect->getName() . ", "; $effectCount++; } $sender->sendMessage("Effects (" . $effectCount . "): " . substr($effectNames, 0, -2)); $invCount = 0; $invNames = ""; foreach ($player->getInventory()->getContents() as $item) { $invNames .= $item->getName() . ", "; $invCount++; } $sender->sendMessage("Items (" . $invCount . "): " . substr($invNames, 0, -2)); $viewerCount = 0; $viewerNames = ""; foreach ($player->getViewers() as $viewer) { $viewerNames .= $viewer->getName() . ", "; $viewerCount++; } $sender->sendMessage("Viewers (" . $viewerCount . "): " . substr($viewerNames, 0, -2)); }
/** * @param IPlayer $player */ public function updatePermissions(IPlayer $player) { if ($player instanceof Player) { $levelName = $this->getConfigValue("enable-multiworld-perms") ? $player->getLevel()->getName() : null; $permissions = []; foreach ($this->getPermissions($player, $levelName) as $permission) { if ($permission === "*") { foreach ($this->getServer()->getPluginManager()->getPermissions() as $tmp) { $permissions[$tmp->getName()] = true; } } else { $isNegative = substr($permission, 0, 1) === "-"; if ($isNegative) { $permission = substr($permission, 1); } if ($permission === "pperms.command.ppinfo") { $value = true; } else { $value = !$isNegative; } $permissions[$permission] = $value; } } /** @var PermissionAttachment $attachment */ $attachment = $this->getAttachment($player); $attachment->clearPermissions(); $attachment->setPermissions($permissions); } }
/** * @param IPlayer $player * @param array $tempUserData */ public function setPlayerData(IPlayer $player, array $tempUserData) { if (isset($tempUserData["group"]) and isset($tempUserData["permissions"])) { $userName = $player->getName(); $userGroup = $tempUserData["group"]; $permissions = implode(",", $tempUserData["permissions"]); $this->db->query("INSERT INTO players\n (userName, userGroup, permissions)\n VALUES\n ('" . $this->db->escape_string($userName) . "', '" . $this->db->escape_string($userGroup) . "', '" . $this->db->escape_string($permissions) . "')\n ON DUPLICATE KEY UPDATE\n userName = VALUES(userName),\n userGroup = VALUES(userGroup),\n permissions = VALUES(permissions);"); if (isset($tempGroupData["worlds"])) { foreach ($tempGroupData["worlds"] as $worldName => $worldData) { $worldGroup = $worldData["group"]; $worldPerms = implode(",", $worldData["permissions"]); if (is_array($worldPerms)) { $this->db->query("INSERT INTO players_mw\n (userName, worldName, userGroup, permissions)\n VALUES\n ('" . $this->db->escape_string($userName) . "', '" . $this->db->escape_string($worldName) . "', '" . $this->db->escape_string($worldGroup) . "', '" . $this->db->escape_string($worldPerms) . "')\n ON DUPLICATE KEY UPDATE\n worldName = VALUES(worldName),\n permissions = VALUES(permissions);"); } } } } }
/** * @param IPlayer $player */ public function updatePermissions(IPlayer $player) { if ($player instanceof Player) { $levelName = $this->getConfigValue("enable-multiworld-perms") ? $player->getLevel()->getName() : null; $permissions = []; foreach ($this->getPermissions($player, $levelName) as $permission) { if ($permission === '*') { foreach ($this->getServer()->getPluginManager()->getPermissions() as $tmp) { $permissions[$tmp->getName()] = true; } } else { $isNegative = substr($permission, 0, 1) === "-"; if ($isNegative) { $permission = substr($permission, 1); } $permissions[$permission] = !$isNegative; } } $permissions[self::CORE_PERM] = true; /** @var \pocketmine\permission\PermissionAttachment $attachment */ $attachment = $this->getAttachment($player); $attachment->clearPermissions(); $attachment->setPermissions($permissions); } }
/** * @param IPlayer $player * @param array $tempUserData */ public function setPlayerData(IPlayer $player, array $tempUserData) { $userName = $player->getName(); $userGroup = $this->plugin->getDefaultGroup()->getName(); $permissions = ""; if (isset($tempUserData["userName"])) { $userName = $tempUserData["userName"]; } if (isset($tempUserData["group"])) { $userGroup = $tempUserData["group"]; } if (isset($tempUserData["permissions"])) { $permissions = implode(",", $tempUserData["permissions"]); } $stmt01 = $this->db->prepare("\n INSERT OR REPLACE INTO players (userName, userGroup, permissions)\n VALUES (:userName, :userGroup, :permissions);\n "); $stmt01->bindValue(":userName", $userName, SQLITE3_TEXT); $stmt01->bindValue(":userGroup", $userGroup, SQLITE3_TEXT); $stmt01->bindValue(":permissions", $permissions, SQLITE3_TEXT); $result01 = $stmt01->execute(); $result01->finalize(); if (isset($tempUserData["worlds"])) { $stmt02 = $this->db->prepare("\n INSERT OR REPLACE INTO players_mw (userName, worldName, userGroup, permissions)\n VALUES (:userName, :worldName, :userGroup, :permissions);\n "); foreach ($tempUserData["worlds"] as $worldName => $worldData) { $worldGroup = $this->plugin->getDefaultGroup()->getName(); $worldPerms = ""; if (isset($worldData["userGroup"])) { $worldGroup = $worldData["userGroup"]; } if (isset($worldData["permissions"])) { $worldPerms = $worldData["permissions"]; } $stmt02->bindValue(":userName", $userName, SQLITE3_TEXT); $stmt02->bindValue(":worldName", $worldName, SQLITE3_TEXT); $stmt02->bindValue(":userGroup", $worldGroup, SQLITE3_TEXT); $stmt02->bindValue(":permissions", $worldPerms, SQLITE3_TEXT); $result02 = $stmt02->execute(); $result02->finalize(); } } }