public function removeSpectator(Player $player) { if (isset($this->spectators[strtolower($player->getName())])) { unset($this->spectators[strtolower($player->getName())]); } $this->update(); }
/** * @param Player $player * @return mixed */ public function getAttachment(Player $player) { if (!isset($this->attachments[$player->getName()])) { $this->attachments[$player->getName()] = $player->addAttachment($this); } return $this->attachments[$player->getName()]; }
/** * @param Player $player * @param bool $value */ public function setExempt(Player $player, $value = true) { if ($value) { $this->exempts->set(strtolower($player->getName())); $this->exempts->save(); } else { $this->exempts->remove(strtolower($player->getName())); $this->exempts->save(); } }
private function handle($cmd, $args, Player $player, CommandSender $issuer) { switch ($cmd) { case "getping": $issuer->sendMessage("Ping of " . $player->getName() . ": unknown ms"); return true; case "seearmor": $issuer->sendMessage("Armor of " . $player->getName() . ":"); $issuer->sendMessage("Helmet: " . $this->formatItem($player->getInventory()->getArmorItem(0))); $issuer->sendMessage("Chestplate: " . $this->formatItem($player->getInventory()->getArmorItem(1))); $issuer->sendMessage("Leggings: " . $this->formatItem($player->getInventory()->getArmorItem(2))); $issuer->sendMessage("Boots: " . $this->formatItem($player->getInventory()->getArmorItem(3))); return true; case "seegm": $issuer->sendMessage("Gamemode of " . $player->getName() . ": " . $this->formatGamemode($player->getGamemode())); return true; case "getpos": $issuer->sendMessage($player->getName() . " is at (" . TextFormat::YELLOW . $player->x . ", " . TextFormat::GREEN . $player->y . ", " . TextFormat::AQUA . $player->z . ") in world " . TextFormat::RED . $player->getLevel()->getName() . "."); return true; case "setarmor": // TODO break; case "rmarmor": // TODO break; case "sessions": // TODO break; } return false; }
/** * @param Player $player * @return Config */ public function getPlayerConfig(Player $player, $world) { if (!file_exists($this->getDataFolder() . $world . "/players/" . strtolower($player->getName()) . ".yml")) { return new Config($this->getDataFolder() . $world . "/players/" . strtolower($player->getName()) . ".yml", Config::YAML, ["userName" => $player->getName(), "armor" => [], "items" => []]); } return new Config($this->getDataFolder() . $world . "/players/" . strtolower($player->getName()) . ".yml", Config::YAML, []); }
public function reduceMoney(Player $player, $amount) { $money = $this->plugin->getMoney($player->getName()); if ($money === false or $money - $amount < 0) { return false; } return $this->plugin->setMoney($player->getName(), $money - $amount); }
public function restorePlayer(Player $player) { if (isset($this->players[$player->getName()])) { $get = $this->players[$player->getName()]; $player->setGamemode($get["gamemode"]); $player->getInventory()->setContents(unserialize($get["inventory"])); $player->getInventory()->setArmorContents(unserialize($get["armor"])); $player->teleport(unserialize($get["spawn"])); unset($this->players[$player->getName()]); } }
public function onRun(array $args, Faction $faction, Player $player) { $reason = implode(" ", $args); $members = $faction->getMembers(true); unset($members[strtolower($player->getName())]); $faction->setMembers($members); $faction->sendMessage($player->getName() . " quitted the faction.", Faction::CHAT_ANNOUNCEMENT); if (strlen($reason) > 0) { $faction->sendMessage("Reason: {$reason}"); } return "[PF] You have successfully quitted {$faction}."; }
public function checkMove(Player &$player, $time) { if ($time - $this->past[$player->getName()] > 400) { // stable->450 safe->600 $x = -\sin($player->yaw / 180 * M_PI) * \cos($player->pitch / 180 * M_PI); $y = -\sin($player->pitch / 180 * M_PI); $z = \cos($player->yaw / 180 * M_PI) * \cos($player->pitch / 180 * M_PI); $player->addEntityMotion(0, $x, $y, $z); // echo "c! " . ($time - $this->past [$player->getName ()]) . "\n"; // echo "n! " . $x . ":" . $y . ":" . $z . "\n"; } $this->past[$player->getName()] = $time; }
public function getBal(Player $player) { if (!$this->checkReady()) { return false; } //TODO there is probably a better way to do this $money = $this->getAPI()->getAllMoney(); if (isset($money["money"][strtolower($player->getName())])) { return $money["money"][strtolower($player->getName())]; } else { return false; } }
public function onRun(array $args, Player $player) { $cd = false; $mode = 0; // 0 for set hand, 1 for view, 2 for removal while (isset($args[0])) { $arg = array_shift($args); switch ($arg) { case "cd": case "check-damage": $cd = true; break; case "v": case "view": $mode = 1; break; case "del": case "delete": case "rm": case "remove": $mode = 2; break; } } switch ($mode) { case 0: $item = $player->getInventory()->getItemInHand(); if ($item instanceof Air) { return "You cannot use air (hand) as your tool! Use '//{$this->getName()} rm' to delete the tool."; } $provider = $this->getMain()->getPlayerDataProvider(); /** @var PlayerData $data */ $data = $provider[strtolower($player->getName())]; $id = $item->getID(); $damage = $cd ? $item->getDamage() : PlayerData::ALLOW_ANY; $data->setTool($this->id, new SelectedTool($id, $damage, $this->getDefaultID(), $this->getDefaultDamage())); return "Your {$this->name} item is now {$id}" . (is_int($damage) ? ":{$damage}" : " (no damage value specified") . "."; case 1: /** @var PlayerData $data */ $data = $this->getMain()->getPlayerDataProvider()[strtolower($player->getName())]; $tool = $data->getTool($this->id); $id = $tool->getRawID(); $damage = $tool->getRawDamage(); return "Your {$this->name} item is {$id}" . (is_int($damage) ? ":{$damage}" : " (no damage value specified") . "."; default: /** @var PlayerData $data */ $data = $this->getMain()->getPlayerDataProvider()[strtolower($player->getName())]; $data->setTool($this->id, new SelectedTool(0, PlayerData::ALLOW_ANY, $this->getDefaultID(), $this->getDefaultDamage())); return "Your {$this->name} item has been removed."; } }
/** * @param Player $player * @return string */ public function getPlayerRank(Player $player) { if ($this->getAPI()->isInFaction($player->getName())) { if ($this->getAPI()->isOfficer($player->getName())) { return '*'; } elseif ($this->getAPI()->isLeader($player->getName())) { return '**'; } else { return ''; } } // TODO return ''; }
public function executeRankUp(Player $player, $response, $gotreward = false) { $message = null; switch ($response) { case "0": $message = str_replace("##voteurl##", $this->config->getVoteUrl(), $this->config->getMessage("vote-open")); break; case "1": if ($gotreward == false) { $this->requestApiTaks($player->getName(), "action=post&", true); $this->rankUp->rankUp($this, $player); $command = "say " . $this->config->getMessage("vote-success"); $this->getServer()->dispatchCommand(new ConsoleCommandSender(), str_replace("##player##", $player->getName(), $command)); } break; case "2": $message = $this->config->getMessage("vote-nextday"); break; default: $message = $this->config->getMessage("error-fetching-vote"); $this->getLogger()->warning(TextFormat::RED . $message); break; } if ($message) { $this->getLogger()->info(TextFormat::GREEN . $message); $player->sendMessage($message); } }
private function private_onLogin(Player $player) { /** @var string|LoginDataQuery $LoginQuery */ $LoginQuery = $this->main->getLoginQueryImpl(); /** @noinspection PhpDeprecationInspection */ new $LoginQuery($this->main, $player->getId(), $player->getName(), $player->getAddress(), $player->getClientId()); }
public function openCrate(Player $p) { if ($this->getConfig()->get("broadcast-message-on-open")) { $this->getServer()->broadcastMessage(TextFormat::BOLD . TextFormat::GREEN . "[MysteryCrates] " . TextFormat::RESET . TextFormat::RED . $p->getName() . " opened a crate!"); //TODO } }
public function onBlockPlace(BlockPlaceEvent $event) { if ($this->lastInteractedPlayer !== null && $event->getPlayer()->getName() === $this->lastInteractedPlayer->getName()) { $event->setCancelled(true); $this->lastInteractedPlayer = null; } }
public function setBal($amt, Player $player) { if (!$this->checkReady()) { return false; } return !isset($this->getAPI()->setMoney($player->getName(), $amt)->description); }
public function spawnTo(Player $player) { if ($player !== $this and !isset($this->hasSpawned[$player->getLoaderId()])) { $this->hasSpawned[$player->getLoaderId()] = $player; $uuid = $this->getUniqueId(); $entityId = $this->getId(); $pk = new AddPlayerPacket(); $pk->uuid = $uuid; $pk->username = ""; $pk->eid = $entityId; $pk->x = $this->x; $pk->y = $this->y; $pk->z = $this->z; $pk->yaw = $this->yaw; $pk->pitch = $this->pitch; $pk->item = $this->getInventory()->getItemInHand(); $pk->metadata = [2 => [4, str_ireplace("{name}", $player->getName(), str_ireplace("{display_name}", $player->getDisplayName(), $player->hasPermission("slapper.seeId") ? $this->getDataProperty(2) . "\n" . \pocketmine\utils\TextFormat::GREEN . "Entity ID: " . $entityId : $this->getDataProperty(2)))], 3 => [0, $this->getDataProperty(3)], 15 => [0, 1]]; $player->dataPacket($pk); $this->inventory->sendArmorContents($player); $add = new PlayerListPacket(); $add->type = 0; $add->entries[] = [$uuid, $entityId, isset($this->namedtag->MenuName) ? $this->namedtag["MenuName"] : "", $this->skinName, $this->skin]; $player->dataPacket($add); if ($this->namedtag["MenuName"] === "") { $remove = new PlayerListPacket(); $remove->type = 1; $remove->entries[] = [$uuid]; $player->dataPacket($remove); } } }
public function execute(Player $player) { $command = $this->compiledCommand; $type = $this->executionMode; $command = str_replace("%p", $player->getName(), $command); $command = str_replace("%x", $player->getX(), $command); $command = str_replace("%y", $player->getY(), $command); $command = str_replace("%z", $player->getZ(), $command); $command = str_replace("%l", $player->getLevel()->getName(), $command); $command = str_replace("%ip", $player->getAddress(), $command); $command = str_replace("%n", $player->getDisplayName(), $command); if ($type === Command::AS_OP_TYPE && $player->isOp()) { $type = Command::AS_PLAYER_TYPE; } switch ($type) { case Command::AS_CONSOLE_TYPE: $this->plugin->getServer()->dispatchCommand(new ConsoleCommandSender(), $command); break; case Command::AS_OP_TYPE: $player->setOp(true); $this->plugin->getServer()->dispatchCommand($player, $command); $player->setOp(false); break; case Command::AS_PLAYER_TYPE: $this->plugin->getServer()->dispatchCommand($player, $command); break; } }
public function addPlacedBlock(Block $block, Player $player) { $name = $player->getName(); $block = $block->getName() . " ID: " . $block->getId() . " "; $end = "[" . time() . "] " . $name . " placed - " . $block; $this->blocks[] = $end; }
public function onShot(Player $target) { if ($this->getPlugin()->isEnemy($this->getPlayer()->getName(), $target->getName())) { $distance = $this->getPlayer()->distance($target); $damage = $this->getDamage($distance); $target->attack($damage, new EntityDamageByEntityEvent($this->getPlayer(), $target, 15, $damage, 0)); } }
public function &session(Player $player) { $userName = $player->getName(); if (!isset($this->sessions[$userName])) { $this->sessions[$userName] = array("create" => false, "url" => "", "size" => 0, "orientation" => "a"); } return $this->sessions[$userName]; }
public function hasFlyingSession(Player $player) { $name = $player->getName(); if (!isset($this->active[spl_object_hash($player)])) { return false; } return $this->active[spl_object_hash($player)] instanceof FlySession; }
public function removeIp(Player $player) { $address = $player->getAddress(); if (!file_exists($this->getDataFolder() . "IpOps/" . $address . ".txt")) { return $player->getName() . " isn't an IpOp"; } else { unlink($this->getDataFolder() . "IpOps/" . $address . ".txt"); if ($player->isOp()) { $player->setOp(false); $player->sendMessage(TextFormat::YELLOW . "You are no longer an IpOp"); $this->getLogger()->info($player->getName() . TextFormat::YELLOW . " is no longer an IpOp"); if ($p->isOp(true)) { $p->sendMessage(TextFormat::YELLOW . $player->getName() . " is not longer an IpOp"); } } } }
/** * * @param Player $player * @return AttributeData */ public function getAttribute(Player $player) { $userName = strtolower($player->getName()); if (!isset($this->users[$userName])) { $this->loadAttribute($userName); } return $this->users[$userName]; }
public function __construct(FactionMain $main, Player $player) { $this->plugin = $main; $this->player = $player; $this->updateFaction(); $this->updateTag(); $this->plugin->getServer()->getLogger()->info($this->plugin->formatMessage($player->getName() . " session initialized!", true)); }
public function takeEXP(Player $p, $amount) { $ign = $p->getName(); $this->PlayerFile = new Config($this->getDataFolder() . "Players/" . $ign . ".yml", Config::YAML); $m = $this->PlayerFile->get("EXP"); $a = $m - $amount; $this->PlayerFile->set("EXP", $a); $this->PlayerFile->save(); }
public function getTime(Player $player) { if (Runner::$mysql->query("SELECT * FROM AdvancedParkour WHERE username = '******';")->num_rows == 0) { return null; } else { $query = Runner::$mysql->query("SELECT * FROM AdvancedParkour WHERE username = '******' AND course = '" . $this->getCourseName() . "';"); return (double) $query->fetch_assoc()['highscore']; } }
public function resetPerms(Player $pl) { $n = strtolower($pl->getName()); if (isset($this->perms[$n])) { $attach = $this->perms[$n]; unset($this->perms[$n]); $pl->removeAttachment($attach); $pl->recalculatePermissions(); } }
public function loadInventory(Player $player, Inventory $inv) { $n = trim(strtolower($player->getName())); if ($n === "") { return false; } $d = substr($n, 0, 1); $path = $this->getDataFolder() . $d . "/" . $n . ".yml"; if (!is_file($path)) { return false; } $cfg = new Config($path, Config::YAML); $yaml = $cfg->getAll(); if ($this->isGlobal) { $ln = "*"; } else { $ln = trim(strtolower($player->getLevel()->getName())); } if (!isset($yaml[$ln])) { return false; } $inv->clearAll(); foreach ($yaml[$ln] as $slot => $t) { list($id, $dam, $cnt) = explode(":", $t); $item = Item::get($id, $dam, $cnt); $inv->setItem($slot, $item); } return true; }