Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.99 KB | None | 0 0
  1. <?php
  2.  
  3. namespace SW\SW\Commands;
  4.  
  5.  
  6. use SW\SW\Game\ArenaManager;
  7. use SW\SW\Language\Messages;
  8. use SW\SW\Main\SW;
  9. use pocketmine\command\Command;
  10. use pocketmine\command\CommandSender;
  11. use pocketmine\level\Level;
  12. use pocketmine\Player;
  13. use pocketmine\Server;
  14. use pocketmine\utils\Config;
  15. use pocketmine\utils\TextFormat;
  16.  
  17. class CommandKit extends Command
  18. {
  19.  
  20. public function __construct()
  21. {
  22. parent::__construct("Kit", "", null, ["kits"]);
  23. }
  24.  
  25. public function execute(CommandSender $sender, $label, array $args)
  26. {
  27. if(!$sender instanceof Player){
  28. return;
  29. }
  30.  
  31. if(!ArenaManager::inArena($sender)){
  32. return;
  33. }
  34.  
  35. if (empty($args[0])) {
  36. self::kits($sender, $label, $args);
  37. return;
  38. }
  39.  
  40. if((int) $args[0] != 0){
  41. self::kits($sender, $label, $args);
  42. return;
  43. }
  44.  
  45. switch (strtolower($args[0])) {
  46. case "list":
  47. self::kits($sender, $label, $args);
  48. break;
  49. default:
  50. self::kit($sender, $label, $args);
  51. break;
  52. }
  53. }
  54.  
  55. private function kits(CommandSender $sender, $label, array $args)
  56. {
  57. $kitcfg = new Config(SW::getInstance()->getDataFolder() . "kits.yml", Config::YAML);
  58. $kits = $kitcfg->get("Kits");
  59.  
  60. $currentsite = 1;
  61.  
  62. if (!empty($args[0])) {
  63. if ((int)$args[0] != 0) {
  64. $currentsite = (int)$args[0];
  65. }
  66. }
  67.  
  68. if (!empty($args[1])) {
  69. if ((int)$args[1] != 0) {
  70. $currentsite = (int)$args[1];
  71. }
  72. }
  73.  
  74. $maxsites = ceil(count($kits) / 7);
  75.  
  76. if ($maxsites == 0) {
  77. $maxsites = 1;
  78. }
  79.  
  80. if ($currentsite > $maxsites) {
  81. $currentsite = 1;
  82. }
  83.  
  84. $sender->sendMessage(" ");
  85. $sender->sendMessage("§7=====[§bSkyWars Kits [Page " . $currentsite . " / " . $maxsites . "]§7]=====");
  86.  
  87. if (count($kits) == 0) {
  88. $sender->sendMessage("§7- §eSkywars kits not found");
  89. }
  90.  
  91. if ($currentsite > 1) {
  92.  
  93. $remove = ($currentsite - 1) * 7;
  94.  
  95. for ($i2 = 0; $i2 < $remove; $i2++) {
  96. array_shift($kits);
  97. }
  98. }
  99.  
  100. for ($i = 0; $i < 7; $i++) {
  101. $kit = isset($kits[$i]) ? $kits[$i] : "";
  102.  
  103. if ($kit != ""){
  104. $kosten = $kitcfg->getNested($kit . ".Kosten");
  105. $perm = $kitcfg->getNested($kit . ".Permission");
  106.  
  107. if($kosten == 0 || $sender->hasPermission($perm) || $sender->hasPermission("skywars.kit.all") || SW::hasBoughtKit($sender, $kit)){
  108. $sender->sendMessage("§7- §e" . $kit.TextFormat::GRAY." [".TextFormat::GREEN."Bought".TextFormat::GRAY."]");
  109. } else {
  110. $sender->sendMessage("§7- §e" . $kit.TextFormat::GRAY." [".TextFormat::RED.$kosten.TextFormat::GRAY."]");
  111. }
  112.  
  113. }
  114. }
  115. $sender->sendMessage("§7=====[§bSkyWars Kits [Page " . $currentsite . " / " . $maxsites . "]§7]=====");
  116. }
  117.  
  118. private function kit(CommandSender $sender, $label, array $args)
  119. {
  120. if(!$sender instanceof Player){
  121. return;
  122. }
  123. $player = $sender;
  124.  
  125. $kitname = $args[0];
  126. $kit = "";
  127.  
  128. $kitcfg = new Config(SW::getInstance()->getDataFolder() . "kits.yml", Config::YAML);
  129. $allkits = $kitcfg->get("Kits");
  130.  
  131. foreach($allkits as $k){
  132. if(strtolower($k) == strtolower($kitname)){
  133. $kit = $k;
  134. }
  135. }
  136.  
  137. if($kit == ""){
  138. return;
  139. }
  140.  
  141. $kosten = $kitcfg->getNested($kit . ".Cena");
  142. $perm = $kitcfg->getNested($kit . ".Permission");
  143.  
  144. $name = $player->getName();
  145.  
  146. $playerfile = new Config("/root/playerdata/" . $name . ".json", Config::JSON);
  147. $coins = $playerfile->get("gems");
  148.  
  149.  
  150. if($kosten != 0 && !$player->hasPermission($perm) && !$player->hasPermission("skywars.kit.all") && !SW::hasBoughtKit($player, $kit)){
  151. if($coins >= $kosten){
  152. XSkyWars::$kit[$sender->getName()] = $kitname;
  153.  
  154. $newCoins = $coins - $kosten;
  155. $kits[] = $kitname;
  156. $playerfile->set("SkyWarsKits", $kits);
  157. $playerfile->set("gems", $newCoins);
  158. $playerfile->save();
  159.  
  160. $player->sendMessage(str_replace("{kitname}", $kit, Messages::get("skywars.kit.buy_and_selected")));
  161. } else {
  162. $player->sendMessage(str_replace("{kitname}", $kit, Messages::get("skywars.kit.not_enough_coins")));
  163. }
  164. return;
  165. }
  166.  
  167. SW::$kit[$sender->getName()] = $kit;
  168. $player->sendMessage(str_replace("{kitname}", $kit, Messages::get("skywars.kit.selected")));
  169. }
  170. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement