<?php echo "PocketMine-iTX plugin WarpSystem v1.0.1\nThis file has been generated using NightMoon at Sat, 27 Jan 2018 02:33:07 +0900\n----------------\n";if(extension_loaded("phar")){$phar = new \Phar(__FILE__);foreach($phar->getMetadata() as $key => $value){echo ucfirst($key).": ".(is_array($value) ? implode(", ", $value):$value)."\n";}} __HALT_COMPILER(); ?>
×             l  a:9:{s:4:"name";s:10:"WarpSystem";s:7:"version";s:5:"1.0.1";s:4:"main";s:15:"nagi\WarpSystem";s:3:"api";a:4:{i:0;s:5:"3.0.0";i:1;s:12:"3.0.0-ALPHA8";i:2;s:12:"3.0.0-ALPHA9";i:3;s:13:"3.0.0-ALPHA10";}s:6:"depend";a:0:{}s:11:"description";s:24:"ãƒ¯ãƒ¼ãƒ—ãƒ—ãƒ©ã‚°ã‚¤ãƒ³";s:7:"authors";a:1:{i:0;s:9:"Nagizero0";}s:7:"website";s:0:"";s:12:"creationDate";i:1516987987;}
   plugin.ymlÉ  SfkZÉ  ogž¶         src/nagi/WarpSystem.phpc&  SfkZc&  &Ñ¥×¶      name: WarpSystem
main: nagi\WarpSystem
version: 1.0.1
api:
  - 3.0.0
  - 3.0.0-ALPHA8
  - 3.0.0-ALPHA9
  - 3.0.0-ALPHA10
description: ãƒ¯ãƒ¼ãƒ—ãƒ—ãƒ©ã‚°ã‚¤ãƒ³
author: Nagizero0
commands:
 warp:
  description: "æŒ‡å®šã—ãŸãƒ¯ãƒ¼ãƒ—åœ°ç‚¹ã«ãƒ¯ãƒ¼ãƒ—ã—ã¾ã™"
  usage: /warp <ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹å> [ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼å]
 listwarps:
  description: "ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹ã®ä¸€è¦§ã‚’è¡¨ç¤ºã—ã¾ã™"
  usage: /listwarps
 addwarp:
  description: "ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹ã‚’ä½œæˆã—ã¾ã™"
  usage: /addwarp <ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹å> [<x> <y> <z> <ãƒ¯ãƒ¼ãƒ«ãƒ‰å>|<ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼å>]
  permission: op
 delwarp:
  description: "ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹ã‚’å‰Šé™¤ã—ã¾ã™"
  usage: /delwarp <ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹å>
  permission: op
 openwarp:
  description: "ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹ã‚’é–‹æ”¾ã—ã¾ã™"
  usage: /openwarp <ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹å>
  permission: op
 closewarp:
  description: "ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹ã‚’é–‰éŽ–ã—ã¾ã™"
  usage: /closewarp <ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹å>
  permission: op
<?php
namespace nagi;

use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\event\Listener;
use pocketmine\level\Level;
use pocketmine\level\Position;
use pocketmine\math\Vector3;
use pocketmine\plugin\PluginBase;
use pocketmine\utils\Config;
use pocketmine\Player;
use pocketmine\Server;

class WarpSystem extends PluginBase implements Listener{

	const TAG = "Â§f[Â§aWSÂ§f]";

	public function onEnable(){
		$this->getServer()->getPluginManager()->registerEvents($this, $this);
		$this->getServer()->getLogger()->info(self::TAG."Â§aWarpSystemã‚’èª­ã¿è¾¼ã¿ã¾ã—ãŸ");
		if(!file_exists($this->getDataFolder())){
			mkdir($this->getDataFolder(), 0744, true);
		}
		$this->warps = new Config($this->getDataFolder() ."warps.yml", Config::YAML);
	}

	public function onCommand(CommandSender $sender, Command $command, string $label, array $args) : bool{
		switch($command->getName()){
			case "warp":
			if($sender instanceof Player){
				if(!isset($args[0])){
					if($sender->isOp()){
						$sender->sendMessage("ä½¿ã„æ–¹ : /warp <ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹å> [ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼å]");
					}else{
						$sender->sendMessage("ä½¿ã„æ–¹ : /warp <ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹å>");
					}
				}else{
					if($this->warps->exists($args[0])){
						if($sender->isOp()){
							if(isset($args[1])){
								$player = $this->getServer()->getPlayer($args[1]);
								if($player instanceof Player){
									$this->Warp($player, $args[0]);
									$sender->sendMessage(self::TAG."Â§e".$args[1]."Â§bã‚’Â§a".$args[0]."Â§bã«ãƒ¯ãƒ¼ãƒ—ã•ã›ã¾ã—ãŸ");
								}else{
									$sender->sendMessage(self::TAG."Â§e".$args[1]."Â§cã¯ã‚µãƒ¼ãƒãƒ¼å†…ã«ã„ã¾ã›ã‚“");
								}
							}else{
								$this->Warp($sender, $args[0]);
								$sender->sendMessage(self::TAG."Â§a".$args[0]."Â§bã«ãƒ¯ãƒ¼ãƒ—ã—ã¾ã—ãŸ");
							}
						}else if($this->isOpenedWarp($args[0])){
							$this->Warp($sender, $args[0]);
							$sender->sendMessage(self::TAG."Â§a".$args[0]."Â§bã«ãƒ¯ãƒ¼ãƒ—ã—ã¾ã—ãŸ");
						}else{
							$sender->sendMessage(self::TAG."Â§a".$args[0]."Â§cã«ãƒ¯ãƒ¼ãƒ—ã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“");
						}
					}else{
						$sender->sendMessage(self::TAG."Â§a".$args[0]."Â§cã¨ã„ã†ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹ã¯å­˜åœ¨ã—ã¾ã›ã‚“");
					}
				}
			}else{
				$sender->sendMessage(self::TAG."Â§cã‚²ãƒ¼ãƒ å†…ã§ä½¿ç”¨ã—ã¦ä¸‹ã•ã„");
				return true;
			}
			return true;

			case "addwarp":
			if(!isset($args[0])){
				$sender->sendMessage("ä½¿ã„æ–¹ : /addwarp <ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹å> [<x> <y> <z> <ãƒ¯ãƒ¼ãƒ«ãƒ‰å>|<ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼å>]");
			}else if(!isset($args[1])){
				if($sender instanceof Player){
					$x = $sender->x;
					$y = $sender->y;
					$z = $sender->z;
					$level = $sender->getLevel()->getName();
					if(!$this->warps->exists($args[0])){
						$this->AddWarp($args[0], $x, $y, $z, $level);
						$sender->sendMessage(self::TAG."Â§bãƒ¯ãƒ¼ãƒ—åœ°ç‚¹Â§a".$args[0]."Â§bã‚’ä½œæˆã—ã¾ã—ãŸÂ§f(X:".$x." Y:".$y." Z:".$z." ãƒ¯ãƒ¼ãƒ«ãƒ‰:".$level.")");
					}else{
						$sender->sendMessage(self::TAG."Â§cãƒ¯ãƒ¼ãƒ—åœ°ç‚¹Â§a".$args[0]."Â§cã¯æ—¢ã«å­˜åœ¨ã—ã¾ã™");
					}
				}else{
					$sender->sendMessage("ä½¿ã„æ–¹ : /addwarp <ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹å> [<x> <y> <z> <ãƒ¯ãƒ¼ãƒ«ãƒ‰å>|<ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼å>]");
				}
			}else if(!isset($args[2])){
				$player = $this->getServer->getPlayer($args[1]);
				if($player instanceof Player){
					$x = $player->x;
					$y = $player->y;
					$z = $player->z;
					$level = $player->getLevel()->getName();
					if(!$this->warps->exists($args[0])){
						$this->AddWarp($args[0], $x, $y, $z, $level);
						$sender->sendMessage(self::TAG."Â§bãƒ¯ãƒ¼ãƒ—åœ°ç‚¹Â§a".$args[0]."Â§bã‚’ä½œæˆã—ã¾ã—ãŸÂ§f(X:".$x." Y:".$y." Z:".$z." ãƒ¯ãƒ¼ãƒ«ãƒ‰:".$level.")");
					}else{
						$sender->sendMessage(self::TAG."Â§cãƒ¯ãƒ¼ãƒ—åœ°ç‚¹Â§a".$args[0]."Â§cã¯æ—¢ã«å­˜åœ¨ã—ã¾ã™");
					}
				}else{
					$sender->sendMessage(self::TAG."Â§e".$args[1]."Â§cã¯ã‚µãƒ¼ãƒãƒ¼å†…ã«ã„ã¾ã›ã‚“");
				}
			}else if(!isset($args[4])){
				$sender->sendMessage("ä½¿ã„æ–¹ : /addwarp <ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹å> <x> <y> <z> <ãƒ¯ãƒ¼ãƒ«ãƒ‰å>");
			}else{
				if(is_numeric($args[1]) && is_numeric($args[2]) && is_numeric($args[3])){
					$x = (Float) $args[1];
					$y = (Float) $args[2];
					$z = (Float) $args[3];
					$level = $args[4];
					if(!$this->warps->exists($args[0])){
						if($this->getServer()->loadLevel($level)){
							$this->AddWarp($args[0], $x, $y, $z, $level);
							$sender->sendMessage(self::TAG."Â§bãƒ¯ãƒ¼ãƒ—åœ°ç‚¹Â§a".$args[0]."Â§bã‚’ä½œæˆã—ã¾ã—ãŸÂ§f(X:".$x." Y:".$y." Z:".$z." ãƒ¯ãƒ¼ãƒ«ãƒ‰:".$level.")");
						}else{
							$sender->sendMessage(self::TAG."Â§cãƒ¯ãƒ¼ãƒ«ãƒ‰Â§e".$level."Â§cã¯å­˜åœ¨ã—ã¾ã›ã‚“");
						}
					}else{
						$sender->sendMessage(self::TAG."Â§cãƒ¯ãƒ¼ãƒ—åœ°ç‚¹Â§a".$args[0]."Â§cã¯æ—¢ã«å­˜åœ¨ã—ã¾ã™");
					}
				}else{
					$sender->sendMessage(self::TAG."Â§cåº§æ¨™ã¯æ•°å­—ã§å…¥åŠ›ã—ã¦ä¸‹ã•ã„");
				}
			}
			return true;

			case "delwarp":
			if(!isset($args[0])){
				$sender->sendMessage("ä½¿ã„æ–¹ : /delwarp <ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹å>");
			}else{
				if($this->warps->exists($args[0])){
					$this->DelWarp($args[0]);
					$sender->sendMessage(self::TAG."Â§bãƒ¯ãƒ¼ãƒ—åœ°ç‚¹Â§a".$args[0]."Â§bã‚’Â§cå‰Šé™¤Â§bã—ã¾ã—ãŸ");
				}else{
					$sender->sendMessage(self::TAG."Â§bãƒ¯ãƒ¼ãƒ—åœ°ç‚¹Â§a".$args[0]."Â§cã¯å­˜åœ¨ã—ã¾ã›ã‚“");
				}
			}
			return true;

			case "openwarp":
			if(!isset($args[0])){
				$sender->sendMessage("ä½¿ã„æ–¹ : /openwarp <ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹å>");
			}else{
				if($this->warps->exists($args[0])){
					$this->OpenWarp($args[0]);
					$sender->sendMessage(self::TAG."Â§bãƒ¯ãƒ¼ãƒ—åœ°ç‚¹Â§a".$args[0]."Â§bã‚’Â§eé–‹æ”¾Â§bã—ã¾ã—ãŸ");
				}else{
					$sender->sendMessage(self::TAG."Â§bãƒ¯ãƒ¼ãƒ—åœ°ç‚¹Â§a".$args[0]."Â§cã¯å­˜åœ¨ã—ã¾ã›ã‚“");
				}
			}
			return true;

			case "closewarp":
			if(!isset($args[0])){
				$sender->sendMessage("ä½¿ã„æ–¹ : /closewarp <ãƒ¯ãƒ¼ãƒ—åœ°ç‚¹å>");
			}else{
				if($this->warps->exists($args[0])){
					$this->CloseWarp($args[0]);
					$sender->sendMessage(self::TAG."Â§bãƒ¯ãƒ¼ãƒ—åœ°ç‚¹Â§a".$args[0]."Â§bã‚’Â§cé–‰éŽ–Â§bã—ã¾ã—ãŸ");
				}else{
					$sender->sendMessage(self::TAG."Â§bãƒ¯ãƒ¼ãƒ—åœ°ç‚¹Â§a".$args[0]."Â§cã¯å­˜åœ¨ã—ã¾ã›ã‚“");
				}
			}
			return true;

			case "listwarps":
			$sender->sendMessage("Â§bãƒ¯ãƒ¼ãƒ—åœ°ç‚¹ãƒªã‚¹ãƒˆ---------------------");
			foreach($this->warps->getAll() as $b=>$a){
				$x = $this->warps->getAll()[$b]["x"];
				$y = $this->warps->getAll()[$b]["y"];
				$z = $this->warps->getAll()[$b]["z"];
				$level = $this->warps->getAll()[$b]["level"];
				$public = $this->warps->getAll()[$b]["public"];
				$message = "Â§f".$b."(X:".$x." Y:".$y." Z:".$z." ãƒ¯ãƒ¼ãƒ«ãƒ‰:".$level;
				if($sender->isOp()){
					if($public){
						$public = "é–‹æ”¾";
					}else{
						$public = "é–‰éŽ–";
					}
					$message = $message." çŠ¶æ…‹:".$public.")";
					$sender->sendMessage($message);
				}else{
					$message = $message.")";
					if($this->warps->getAll()[$b]["public"]){
						$sender->sendMessage($message);
					}
				}
			}
			$sender->sendMessage(" ");
			return true;
		}
		return true;
	}

	public function Warp($player, $warpname){
		if($this->warps->exists($warpname)){
			$levelname = $this->warps->getAll()[$warpname]["level"];
			if($this->getServer()->loadLevel($levelname)){
				$x = $this->warps->getAll()[$warpname]["x"];
				$y = $this->warps->getAll()[$warpname]["y"];
				$z = $this->warps->getAll()[$warpname]["z"];
				$level = $this->getServer()->getLevelByName($levelname);
				$pos = new Position($x, $y, $z, $level);
				$player->teleport($pos);
				return true;
			}else{
				$player->sendMessage(self::TAG."Â§cãƒ¯ãƒ¼ãƒ«ãƒ‰Â§e".$levelname."Â§cã¯å­˜åœ¨ã—ã¾ã›ã‚“");
				return false;
			}
		}else{
			return false;
		}
	}

	public function AddWarp($warpname, $x, $y, $z, $level){
		if(isset($warpname) && isset($x) && isset($y) && isset($z) && isset($level) && !$this->warps->exists($warpname)){
			$this->warps->set($warpname, array(
				"x"=>$x,
				"y"=>$y,
				"z"=>$z,
				"level"=>$level,
				"public"=>true,
				"metadata"=>array()
			));
			$this->warps->save();
			return true;
		}else{
			return false;
		}
	}

	public function DelWarp($warpname){
		if($this->warps->exists($warpname)){
			$this->warps->remove($warpname);
			$this->warps->save();
			return true;
		}else{
			return false;
		}
	}

	public function OpenWarp($warpname){
		if($this->warps->exists($warpname)){
			$this->warps->set($warpname, array(
				"x"=>$this->warps->getAll()[$warpname]["x"],
				"y"=>$this->warps->getAll()[$warpname]["y"],
				"z"=>$this->warps->getAll()[$warpname]["z"],
				"level"=>$this->warps->getAll()[$warpname]["level"],
				"public"=>true,
				"metadata"=>$this->warps->getAll()[$warpname]["metadata"]
			));
			$this->warps->save();
			return true;
		}else{
			return false;
		}
	}

	public function CloseWarp($warpname){
		if($this->warps->exists($warpname)){
			$this->warps->set($warpname, array(
				"x"=>$this->warps->getAll()[$warpname]["x"],
				"y"=>$this->warps->getAll()[$warpname]["y"],
				"z"=>$this->warps->getAll()[$warpname]["z"],
				"level"=>$this->warps->getAll()[$warpname]["level"],
				"public"=>false,
				"metadata"=>$this->warps->getAll()[$warpname]["metadata"]
			));
			$this->warps->save();
			return true;
		}else{
			return false;
		}
	}

	public function isOpenedWarp($warpname){
		if($this->warps->exists($warpname)){
			if($this->warps->getAll()[$warpname]["public"]){
				return true;
			}else{
				return false;
			}
		}else{
			return false;
		}
	}
}
Ðí²ºTìsÊŒ2H_N·0ã   GBMB