Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace SW\SW\Commands;
- use SW\SW\Game\ArenaManager;
- use SW\SW\Language\Messages;
- use SW\SW\Main\SW;
- use pocketmine\command\Command;
- use pocketmine\command\CommandSender;
- use pocketmine\level\Level;
- use pocketmine\Player;
- use pocketmine\Server;
- use pocketmine\utils\Config;
- use pocketmine\utils\TextFormat;
- class CommandKit extends Command
- {
- public function __construct()
- {
- parent::__construct("Kit", "", null, ["kits"]);
- }
- public function execute(CommandSender $sender, $label, array $args)
- {
- if(!$sender instanceof Player){
- return;
- }
- if(!ArenaManager::inArena($sender)){
- return;
- }
- if (empty($args[0])) {
- self::kits($sender, $label, $args);
- return;
- }
- if((int) $args[0] != 0){
- self::kits($sender, $label, $args);
- return;
- }
- switch (strtolower($args[0])) {
- case "list":
- self::kits($sender, $label, $args);
- break;
- default:
- self::kit($sender, $label, $args);
- break;
- }
- }
- private function kits(CommandSender $sender, $label, array $args)
- {
- $kitcfg = new Config(SW::getInstance()->getDataFolder() . "kits.yml", Config::YAML);
- $kits = $kitcfg->get("Kits");
- $currentsite = 1;
- if (!empty($args[0])) {
- if ((int)$args[0] != 0) {
- $currentsite = (int)$args[0];
- }
- }
- if (!empty($args[1])) {
- if ((int)$args[1] != 0) {
- $currentsite = (int)$args[1];
- }
- }
- $maxsites = ceil(count($kits) / 7);
- if ($maxsites == 0) {
- $maxsites = 1;
- }
- if ($currentsite > $maxsites) {
- $currentsite = 1;
- }
- $sender->sendMessage(" ");
- $sender->sendMessage("§7=====[§bSkyWars Kits [Page " . $currentsite . " / " . $maxsites . "]§7]=====");
- if (count($kits) == 0) {
- $sender->sendMessage("§7- §eSkywars kits not found");
- }
- if ($currentsite > 1) {
- $remove = ($currentsite - 1) * 7;
- for ($i2 = 0; $i2 < $remove; $i2++) {
- array_shift($kits);
- }
- }
- for ($i = 0; $i < 7; $i++) {
- $kit = isset($kits[$i]) ? $kits[$i] : "";
- if ($kit != ""){
- $kosten = $kitcfg->getNested($kit . ".Kosten");
- $perm = $kitcfg->getNested($kit . ".Permission");
- if($kosten == 0 || $sender->hasPermission($perm) || $sender->hasPermission("skywars.kit.all") || SW::hasBoughtKit($sender, $kit)){
- $sender->sendMessage("§7- §e" . $kit.TextFormat::GRAY." [".TextFormat::GREEN."Bought".TextFormat::GRAY."]");
- } else {
- $sender->sendMessage("§7- §e" . $kit.TextFormat::GRAY." [".TextFormat::RED.$kosten.TextFormat::GRAY."]");
- }
- }
- }
- $sender->sendMessage("§7=====[§bSkyWars Kits [Page " . $currentsite . " / " . $maxsites . "]§7]=====");
- }
- private function kit(CommandSender $sender, $label, array $args)
- {
- if(!$sender instanceof Player){
- return;
- }
- $player = $sender;
- $kitname = $args[0];
- $kit = "";
- $kitcfg = new Config(SW::getInstance()->getDataFolder() . "kits.yml", Config::YAML);
- $allkits = $kitcfg->get("Kits");
- foreach($allkits as $k){
- if(strtolower($k) == strtolower($kitname)){
- $kit = $k;
- }
- }
- if($kit == ""){
- return;
- }
- $kosten = $kitcfg->getNested($kit . ".Cena");
- $perm = $kitcfg->getNested($kit . ".Permission");
- $name = $player->getName();
- $playerfile = new Config("/root/playerdata/" . $name . ".json", Config::JSON);
- $coins = $playerfile->get("gems");
- if($kosten != 0 && !$player->hasPermission($perm) && !$player->hasPermission("skywars.kit.all") && !SW::hasBoughtKit($player, $kit)){
- if($coins >= $kosten){
- XSkyWars::$kit[$sender->getName()] = $kitname;
- $newCoins = $coins - $kosten;
- $kits[] = $kitname;
- $playerfile->set("SkyWarsKits", $kits);
- $playerfile->set("gems", $newCoins);
- $playerfile->save();
- $player->sendMessage(str_replace("{kitname}", $kit, Messages::get("skywars.kit.buy_and_selected")));
- } else {
- $player->sendMessage(str_replace("{kitname}", $kit, Messages::get("skywars.kit.not_enough_coins")));
- }
- return;
- }
- SW::$kit[$sender->getName()] = $kit;
- $player->sendMessage(str_replace("{kitname}", $kit, Messages::get("skywars.kit.selected")));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement