
<?php
echo "PocketMine-MP plugin CreativeWorld v1.0.0
This file has been generated using DevTools v1.13.3 at Mon, 21 Dec 2020 19:31:32 +0800
----------------
";

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(); ?>
             C  a:9:{s:4:"name";s:13:"CreativeWorld";s:7:"version";s:5:"1.0.0";s:4:"main";s:10:"yutarou\cw";s:3:"api";a:2:{i:0;s:5:"3.0.0";i:1;s:5:"4.0.0";}s:6:"depend";s:0:"";s:11:"description";s:60:"クリエイティブワールドにテレポートします";s:7:"authors";s:0:"";s:7:"website";s:0:"";s:12:"creationDate";i:1608550292;}
   plugin.yml  _  u      	   README.md  _  ̆         src/yutarou/cw.php8  _8  yHj      ---
name: CreativeWorld
main: yutarou\cw
api:
  - 3.0.0
  - 4.0.0
version: 1.0.0
author: yutarou1241477
description: クリエイティブワールドにテレポートします
commands:
  cw:
    description: "§l[CreativeWorld]クリエイティブワールドへ"
    usage: "/cw"
  cw_reload:
    description: "§l[CreativeWorld]Configのリロード"
    usage: "/cw_reload"
    permission: cw.op
permissions:
  cw.op:
    default: op
...
#   C r e a t i v e W o r l d  
  
 # # #   P M M P 00000  V e r   1 . 0 . 0  
  
 # #   R\OtX 
  
 |   * * 000000* *   |   * * 00000* *   |    
 | : - - - - - - - - - - - - - - : | : - - - - - - - - - - - - : |  
 |             P M M P             |     * * 3 . 1 7 . 0 * *     |  
 |               P H P             |       * * 7 . 4 * *         |  
 |   M i n e c r a f t   B e d r o c k   E d i t i o n   |   * * 1 . 1 6 . 2 0 1 * *   |  
  
 # #   000000 
  
 1 .   ,g000000  ` p l u g i n s `   0000k0eQ0~0Y0 
 2 .   00000wRU0[0~0Y0 
 3 .   ` p l u g i n _ d a t a / C r e a t i v e W o r l d `   k0  ` c o n f i g . j s o n `   L0B00h0`F0n0g0M0~0Y0 
 4 .   Nn00F0k0j0c0f0D0~0Y0 
  
 ` ` ` y m l : c o n f i g . j s o n  
 00000000000T:   t e s t   # 0000000(un00000T 
 x ^j:   1 1 6   # 00000000000x000000Y004X@bn0x ^j 
 y ^j:   7 2     # Tin04X@bn0y ^j 
 z ^j:   5 4     # Tin04X@bn0z ^j 
 ` ` `  
  
 5 .   }ƖL0[NW0_00OX[W00* * 0000L0wRW0f0D004XT* *   o0` c w _ r e l o a d `   0[LW0f0O0`0U0D0 
  
 # #   N_n0feN[ 
  
 -   [   ]   ^j00000T00000g00-[g0M000F0k0 
  
 # #   J0OUD0T0[0 
  
 000000L0zvuW0~0W0_000i s s u e 0T w i t t e r n0D M , D i s c o r d n0D M ~0g0T01XJTO0`0U0D00     
 ~0_009eUpj0i00YeH0f0D0_0`0Q00h0x^D0g0Y00 
  
 [ * * T w i t t e r   |   y u t a r o u 1 2 4 1 4 7 7 * * ] ( h t t p s : / / t w i t t e r . c o m / y u t a r o u 1 2 4 1 4 7 7 )  
  
 * * D i s c o r d   |   y u t a r o u 1 2 4 1 4 7 7 # 7 8 5 5 * *  
  
  
 <?php

namespace yutarou;

use pocketmine\Player;
use pocketmine\Server;

use pocketmine\command\{Command, CommandSender};

use pocketmine\event\entity\EntityTeleportEvent;
use pocketmine\event\player\PlayerQuitEvent;

use pocketmine\event\Listener;
use pocketmine\plugin\PluginBase;

use pocketmine\utils\Config;
use pocketmine\level\Position;

class cw extends PluginBase implements Listener{

    public $p_inv = [];
    const TAG = "§e§l[§fCreativeWorld§e] §r";

    public function onEnable(){
        $this->getServer()->getPluginManager()->registerEvents($this,$this);
        $this->getLogger()->info(self::TAG."§aを読み込みました");
        $this->getLogger()->info("制作者 yutarou1241477");

        $this->config = new Config($this->getDataFolder(). "config.yml", Config::YAML, array(
            "クリエイティブワールド名" => "creative",
            "x座標" => 116,
            "y座標" => 72,
            "z座標" => 54
        ));
    }

     public function onTp(EntityTeleportEvent $event){
            $entity = $event->getEntity();
            if($entity instanceof Player){
                $posi = $event->getFrom()->level->getName();
                $posi_2 = $event->getTo()->level->getName();
                $this->getLogger()->info($posi);
                $this->getLogger()->info($posi_2);
                $player = $entity->getPlayer();
                $player_name = $player->getName();
                $level_name = $this->config->get("クリエイティブワールド名");
                if($posi === $posi_2) {
                    $player->setGamemode(1);
                }else if($posi !== $posi_2 && $posi === $level_name){
                    $player->setGamemode(0);
                    $player->getInventory()->clearAll();
                    if($this->p_inv[$player_name]){
                        $player->getInventory()->setContents($this->p_inv[$player_name]);
                        unset($this->p_inv[$player_name]);
                    }

                }
            }

    }

    public function onQuit(PlayerQuitEvent $event){
        $player = $event->getPlayer();
        $p_spawn = $player->getSpawn();
        $p_level = $player->getLevel();
        $p_level_name = $p_level->getName();
        $level_name = $this->config->get("クリエイティブワールド名");

        if($p_level_name === $level_name){
            $player->setGamemode(0);
            $player->teleport($p_spawn);
        }
    }

    public function onCommand(CommandSender $sender, Command $command, string $label, array $args): bool{
        switch ($label){
            case "cw":
                if (!$sender instanceof Player) {
                    $sender->sendMessage(self::TAG."§cプレイヤーのみ利用可能です");
                    return true;
                }
                //config読み込み
                $level_name = $this->config->get("クリエイティブワールド名");
                $level_x = $this->config->get("x座標");
                $level_y = $this->config->get("y座標");
                $level_z = $this->config->get("z座標");

                if(!Server::getInstance()->isLevelLoaded($level_name)){
                    if(!$this->getServer()->loadLevel($level_name)){
                        if($sender->isOp()){
                            $sender->sendMessage(self::TAG."§cワールドが削除されているか、フォルダが見つかりません..");
                            return true;
                        }else{
                            $sender->sendMessage(self::TAG."§cエラーが発生しました.鯖主に確認をお願いします");
                            return true;
                        }
                        return true;
                    }else{
                        $this->getLogger()->info(self::TAG."§fレベルをロードしました");
                    }
                }
                if($sender->getLevel()->getName() === $level_name){
                    $sender->sendMessage(self::TAG."§a既にクリエイティブワールドに居ます");
                    return true;
                }else{
                    $inventry = $sender->getInventory()->getContents();
                    $pname = $sender->getName();
                    $this->p_inv[$pname] = $inventry;
                    $level = $this->getServer()->getLevelByName($level_name);
                    $targetPosition = new Position($level_x,$level_y,$level_z,$level);
                    $sender->setGamemode(1);
                    $sender->teleport($targetPosition);
                    $sender->getInventory()->clearAll();
                    $sender->sendMessage(self::TAG."§aクリエイティブワールドへテレポートしました");
                    $sender->sendMessage(self::TAG."§c元の所持品はこのワールド以外へ移動すると戻ります");
                }
                break;
            case "cw_reload":
                if($sender->isOp()){
                    $this->config->reload();
                    $sender->sendMessage(self::TAG."§cConfigを再読み込みしました");
                    return true;
                }
                break;
        }
        return true;
    }
}e_,|ɚOsWj2   GBMB