<?php __HALT_COMPILER(); ?>
d                     src/WIP/main.php‘  ë0�\‘  S_2`¶      
   plugin.yml1  ë0�\1  p'.¯¶      <?php
namespace WIP;

use pocketmine\Player;
use pocketmine\Server;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\level\Level;
use pocketmine\utils\Config;
use pocketmine\math\Vector3;
use pocketmine\level\Position;

use onebone\economyapi\EconomyAPI;

class main extends PluginBase implements Listener
{
	
	public function onEnable()
	{
		$this->getlogger()->info("§bWhere is Playerを読み込みました §6作成者 Saisana299");
		$this->getServer()->getPluginManager()->registerEvents($this, $this);
		 if(!file_exists($this->getDataFolder()))
		{
            mkdir($this->getDataFolder(), 0744, true);
        }
          $this->set = new Config($this->getDataFolder() . "config.yml", Config::YAML,
            [
            "Money"=> 500
        ]);
        $this->set->save();
		$this->notwip = new Config($this->getDataFolder() . "notwiplist.yml", Config::YAML);
       
	}
    
    public function onCommand(CommandSender $sender, Command $command, string $label, array $args) :bool
    {
        switch (strtolower($command->getName()))
        {
            case "wip": 
                if (empty($args[0]))
                {          	
                $sender->sendMessage("使い方 : /wip <プレイヤーネーム>");
                return true;
                }
                elseif (!$player = $sender->getServer()->getPlayer($args[0]))
                {
                    $sender->sendMessage("[WIP]対象のプレイヤーはサーバーに来ていません");
                    return true;  
                 }
                else
                {
                
                $world = $player->getLevel();
                $playername = $player->getName();
		        $worldname = $player->getLevel()->getFolderName();
		        $X = floor($player->getX());
		        $Y = floor($player->getY());
		        $Z = floor($player->getZ());
		
 
                $sender->sendMessage("プレイヤー §a".$playername."§r はワールド §b".$worldname."§r の座標 §eX:".$X." Y:".$Y." Z:".$Z."§r にいます");
             
                break;

           }
		  case "allwip":
		
           foreach($this->getServer()->getOnlinePlayers() as $p){
	      $name = $p->getName();
		  $worlds = $p->getLevel();
		  $setworlds = $p->getLevel()->getFolderName();
		  $setX = floor($p->getX());
		  $setY = floor($p->getY());
		  $setZ = floor($p->getZ());
		
	      $sender->sendMessage("プレイヤー §a".$name." §rワールド §b".$setworlds."§f 座標 §eX:".$setX." Y:".$setY." Z:".$setZ."§r");
	
	      
	    }
		return true;
        break;
	      
	        case "tpwip":
	            if (!$sender instanceof Player)
                {
                $sender->sendMessage("[WIP]§cゲーム内で実行してください");
                return true;
                }
	            elseif (empty($args[0]))
                {          	
	            $sender->sendMessage("使い方 : /tpwip <プレイヤーネーム>");
               $pay = $this->set->get("Money");
	           $sender->sendMessage("[WIP]§e注意 : テレポートには".$pay."払う必要があります");
                return true;
                }
                elseif (!$tpplayer = $sender->getServer()->getPlayer($args[0]))
               {
                $sender->sendMessage("[WIP]対象のプレイヤーはサーバーに来ていません");
                return true;
                }
                elseif ($tpplayer->isOp())
               {
		       $sender->sendMessage("[WIP]§eOPへテレポートはできません");
		        return true;
		        }
                else
	            {
				$name = $sender->getName();
				if($this->notwip->exists($tpplayer->getName())){
					$sender->sendMessage("[WIP]§e対象のプレイヤーはTPを拒否しています");
					return true;
					}
                $pay = $this->set->get("Money");
                if ($this->hasEnoughMoney($sender, $pay)) {
                   EconomyAPI::getInstance()->reduceMoney($sender, $pay);
		           $tpworld = $tpplayer->getLevel();
		           $tpX = floor($tpplayer->getX());
		           $tpY = floor($tpplayer->getY());
		           $tpZ = floor($tpplayer->getZ());
                   $sender->teleport(new Position($tpX, $tpY, $tpZ, $tpworld));
                
                   $sender->sendMessage("[WIP]§a$".$pay."払ってテレポートしました");
                }else{
                $sender->sendMessage("[WIP]§eお金が足りません");
                }
				}
                break;
				
				case "notwip":
				$name = $sender->getName();
				if(!$this->notwip->exists($name)){
					$this->notwip->set($name);
					$this->notwip->save();
					$sender->sendMessage("[WIP]§e拒否機能を設定しました");
					}else{
						$this->notwip->remove($name);
						$this->notwip->save();
						$sender->sendMessage("[WIP]§e拒否機能を解除しました");
						}				
						break;
        
		}
	    return true;
	
}
    public function hasEnoughMoney($sender, $pay)
    {
        $have = EconomyAPI::getInstance()->myMoney($sender);
        return ($have >= $pay) ? true : false;
    }

}

---
name: WIP
api:
- 3.5.0
main: WIP\main
version: 1.0.5
description: 対象プレイヤーの座標、ワールド確認
commands:
  wip:
    description: 対象プレイヤーのワールド、座標確認
    default: true
  allwip:
    description: 全プレイヤーのワールド、座標確認
    default: true
  tpwip:
    description: 指定したプレイヤーへお金払ってテレポート
    default: true
  notwip:
    description: テレポートしてくることを拒否します
    default: true
author: Saisana299
load: POSTWORLD
...
Îۄ™¦eұø䰔/Ú{A¤h   GBMB