
<?php
echo "PocketMine-MP plugin TimeSet v1.1.1
This file has been generated using DevTools v1.13.0 at Sun, 12 Apr 2020 15:59:06 +0900
----------------
";

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(); ?>
¹             ÿ   a:9:{s:4:"name";s:7:"TimeSet";s:7:"version";s:5:"1.1.1";s:4:"main";s:26:"Saisana299\timeset\TimeSet";s:3:"api";a:1:{i:0;s:5:"3.0.0";}s:6:"depend";s:0:"";s:11:"description";s:0:"";s:7:"authors";s:0:"";s:7:"website";s:0:"";s:12:"creationDate";i:1586674746;}
   plugin.yml¾   :¼’^¾   u*¨¶      (   src/Saisana299/timeset/EventListener.php?h  :¼’^?h  ŒRò¶      "   src/Saisana299/timeset/TimeSet.php%	  :¼’^%	  4åvX¶      ---
name: TimeSet
main: Saisana299\timeset\TimeSet
version: 1.1.1
api:
- 3.0.0
author: Saisana299
load: STARTUP
desctiption: ワールドごとに時間を設定、保存できます。
...
<?php

namespace Saisana299\timeset;

use pocketmine\event\Listener;
use pocketmine\event\server\CommandEvent;
use pocketmine\Player;
use pocketmine\utils\Config;
use pocketmine\level\Level;
use pocketmine\Server;
use pocketmine\event\level\LevelLoadEvent;

class EventListener implements Listener{

    private $TimeSet;

    public function __construct(TimeSet $TimeSet){
        $this->TimeSet = $TimeSet;
    }

    public function onUseCommand(CommandEvent $event){
        $commands = $event->getCommand();
        if (strpos($commands, "time") !== false) {
            $sender = $event->getSender();

            if ($sender instanceof Player) {
                if(!$sender->isOp()){
                    $event->setCancelled();
                    $sender->sendMessage("§cこのコマンドを使用する権限がありません");
                    return true;
                }
                $command = explode(" ",$commands);
                $name = $sender->getName();
                $level = $sender->getLevel();
                $event->setCancelled();

                if(!isset($command[1])){
                    $sender->sendMessage("\n§aTimeSetプラグインコマンドの使い方§f\n/time <set|add> <数値> <ワールド名(任意)>\n/time <start|stop|query|delsave> <ワールド名(任意)>\n/time <save> <数値> <true/false(時間が進むか否か)> <ワールド名(任意)>\n/time <allset> <数値>\n/time <allstart|allstop>\n※/time setの数値に<sunrise|day|noon|sunset|night|midnight>も使えます\n§f");

                }elseif($command[1] === "set"){
                    if(!isset($command[2])){
                        $sender->sendMessage("使い方: /time set <数値> <ワールド名(任意)>");
                    }else{
                        if($command[2] === "sunrise"){
                            $command[2] = 23000;
                        }elseif($command[2] === "day"){
                            $command[2] = 25000;
                        }elseif($command[2] === "noon"){
                            $command[2] = 30000;
                        }elseif($command[2] === "sunset"){
                            $command[2] = 36000;
                        }elseif($command[2] === "night"){
                            $command[2] = 37000;
                        }elseif($command[2] === "midnight"){
                            $command[2] = 42000;
                        }
                        if(ctype_digit($command[2])){
                            if(!isset($command[3]) || $command[3] === ""){
                                $level->setTime(intval($command[2]));
                                $this->sendTimeMessage("§7[{$name}: ワールド {$level->getFolderName()} の時間を {$command[2]} に設定しました]");
                            }else{
                                $level_N = $this->TimeSet->getServer()->getLevelByName($command[3]);
                                if(!isset($level_N)){
                                    $sender->sendMessage("ワールド {$command[3]} は見つかりませんでした");
                                    return true;
                                }
                                $level_N->setTime(intval($command[2]));
                                $this->sendTimeMessage("§7[{$name}: ワールド {$command[3]} の時間を {$command[2]} に設定しました]");
                            }
                        }else{
                            $sender->sendMessage("数値を入力してください");
                        }
                    }

                }elseif($command[1] === "add"){
                    if(!isset($command[2])){
                        $sender->sendMessage("使い方: /time add <数値> <ワールド名(任意)>");
                    }else{
                        if(ctype_digit($command[2])){
                            if(!isset($command[3])){
                                $time = $level->getTime();
                                $new_time = $time + intval($command[2]);
                                $level->setTime($new_time);
                                $this->sendTimeMessage("§7[{$name}: ワールド {$level->getFolderName()} の時間を {$command[2]} 早めました]");
                            }else{
                                $level_N = $this->TimeSet->getServer()->getLevelByName($command[3]);
                                if(!isset($level_N)){
                                    $sender->sendMessage("ワールド {$command[3]} は見つかりませんでした");
                                    return true;
                                }
                                $time = $level_N->getTime();
                                $new_time = $time + intval($command[2]);
                                $level_N->setTime($new_time);
                                $this->sendTimeMessage("§7[{$name}: ワールド {$command[3]} の時間を {$command[2]} 早めました]");
                            }
                        }else{
                            $sender->sendMessage("数値を入力してください");
                        }
                    }

                }elseif($command[1] === "start"){
                    if(!isset($command[2])){
                        $level->startTime();
                        $this->sendTimeMessage("§7[{$name}: ワールド {$level->getFolderName()} の時間停止を解除しました]");
                    }else{
                        $level_N = $this->TimeSet->getServer()->getLevelByName($command[2]);
                        if(!isset($level_N)){
                            $sender->sendMessage("ワールド {$command[2]} は見つかりませんでした");
                            return true;
                        }
                        $level_N->startTime();
                        $this->sendTimeMessage("§7[{$name}: ワールド {$command[2]} の時間停止を解除しました]");
                    }

                }elseif($command[1] === "stop"){
                    if(!isset($command[2])){
                        $level->stopTime();
                        $this->sendTimeMessage("§7[{$name}: ワールド {$level->getFolderName()} の時間を停止させました]");
                    }else{
                        $level_N = $this->TimeSet->getServer()->getLevelByName($command[2]);
                        if(!isset($level_N)){
                            $sender->sendMessage("ワールド {$command[2]} は見つかりませんでした");
                            return true;
                        }
                        $level_N->stopTime();
                        $this->sendTimeMessage("§7[{$name}: ワールド {$command[2]} の時間を停止させました]");
                    }

                }elseif($command[1] === "query"){
                    if(!isset($command[2])){
                        $time = $level->getTime();
                        $sender->sendMessage("ワールド {$level->getFolderName()} の時間は {$time} です");
                    }else{
                        $level_N = $this->TimeSet->getServer()->getLevelByName($command[2]);
                        if(!isset($level_N)){
                            $sender->sendMessage("ワールド {$command[2]} は見つかりませんでした");
                            return true;
                        }
                        $time = $level_N->getTime();
                        $sender->sendMessage("ワールド {$command[2]} の時間は {$time} です");
                    }

                }elseif($command[1] === "save"){
                    if(!isset($command[2])){
                        $sender->sendMessage("数値を入力してください");
                        return true;
                    }elseif(!ctype_digit($command[2])){
                        $sender->sendMessage("数値を入力してください");
                        return true;
                    }
                    if(!isset($command[3])){
                        $sender->sendMessage("true 又は false を入力してください (時間が進むか否か)");
                        return true;
                    }elseif($command[3] !== "false" && $command[3] !== "true"){
                        $sender->sendMessage("true 又は false を入力してください (時間が進むか否か)");
                        return true;
                    }
                    if(!isset($command[4])){
                        $levelname = $level->getFolderName();
                        $time = intval($command[2]).",".$command[3];
                        $this->TimeSet->config->set($levelname, $time);
                        $sender->sendMessage("ワールド {$levelname} の時間を保存しました (時間:{$command[2]} 時間の進み{$command[3]})");
                    }else{
                        $level_N = $this->TimeSet->getServer()->getLevelByName($command[4]);
                        if(!isset($level_N)){
                            $sender->sendMessage("ワールド {$command[2]} は見つかりませんでした");
                            return true;
                        }
                        $levelname = $level_N->getFolderName();
                        $time = intval($command[2]).",".$command[3];
                        $this->TimeSet->config->set($levelname, $time);
                        $sender->sendMessage("ワールド {$levelname} の時間を保存しました (時間:{$command[2]} 時間の進み{$command[3]})");
                    }

                }elseif($command[1] === "delsave"){
                    if(!isset($command[2])){
                        if(!$this->TimeSet->config->exists($level->getFolderName())){
                            $sender->sendMessage("ワールド {$level->getFolderName()} の時間は保存されていません");
                            return true;
                        }
                        $this->TimeSet->config->remove($level->getFolderName());
                        $sender->sendMessage("ワールド {$level->getFolderName()} の時間設定を消去しました");
                    }else{
                        $level_N = $this->TimeSet->getServer()->getLevelByName($command[2]);
                        if(!isset($level_N)){
                            $sender->sendMessage("ワールド {$command[2]} は見つかりませんでした");
                            return true;
                        }
                        if(!$this->TimeSet->config->exists($command[2])){
                            $sender->sendMessage("ワールド {$command[2]} の時間は保存されていません");
                            return true;
                        }
                        $this->TimeSet->config->remove($command[2]);
                        $sender->sendMessage("ワールド {$command[2]} の時間設定を消去しました");
                    }

                }elseif($command[1] === "allset"){
                    if(!isset($command[2])){
                        $sender->sendMessage("使い方: /time allset <数値>");
                    }else{
                        if($command[2] === "sunrise"){
                            $command[2] = 23000;
                        }elseif($command[2] === "day"){
                            $command[2] = 25000;
                        }elseif($command[2] === "noon"){
                            $command[2] = 30000;
                        }elseif($command[2] === "sunset"){
                            $command[2] = 36000;
                        }elseif($command[2] === "night"){
                            $command[2] = 37000;
                        }elseif($command[2] === "midnight"){
                            $command[2] = 42000;
                        }
                        if(ctype_digit($command[2])){
                            foreach($this->TimeSet->getServer()->getLevels() as $alllevel){
                                $alllevel->setTime(intval($command[2]));
                                
                            }
                            $this->sendTimeMessage("§7[{$name}: 全てのワールドの時間を {$command[2]} に設定しました]");
                        }else{
                            $sender->sendMessage("数値を入力してください");
                        }
                    }

                }elseif($command[1] === "allstart"){
                    foreach($this->TimeSet->getServer()->getLevels() as $alllevel){
                        $alllevel->startTime();
                        
                    }
                    $this->sendTimeMessage("§7[{$name}: 全てのワールドの時間停止を解除しました]");

                }elseif($command[1] === "allstop"){
                    foreach($this->TimeSet->getServer()->getLevels() as $alllevel){
                        $alllevel->stopTime();
                        
                    }
                    $this->sendTimeMessage("§7[{$name}: 全てのワールドの時間を停止させました]");

                }else{
                    $sender->sendMessage("\n§aTimeSetプラグインコマンドの使い方§f\n/time <set|add> <数値> <ワールド名(任意)>\n/time <start|stop|query|delsave> <ワールド名(任意)>\n/time <save> <数値> <true/false(時間が進むか否か)> <ワールド名(任意)>\n/time <allset> <数値>\n/time <allstart|allstop>\n※/time setの数値に<sunrise|day|noon|sunset|night|midnight>も使えます\n§f");
                }


            }elseif($sender->getName() === "CONSOLE"){
                $command = explode(" ",$commands);
                $name = $sender->getName();
                $event->setCancelled();

                if(!isset($command[1])){
                    $sender->sendMessage("\n§aTimeSetプラグインコマンドの使い方§f\n/time <set|add> <数値> <ワールド名>\n/time <start|stop|query|delsave> <ワールド名>\n/time <save> <数値> <true/false(時間が進むか否か)> <ワールド名>\n/time <allset> <数値>\n/time <allstart|allstop>\n※/time setの数値に<sunrise|day|noon|sunset|night|midnight>も使えます\n§f");

                }elseif($command[1] === "set"){
                    if(!isset($command[2])){
                        $sender->sendMessage("使い方: /time set <数値> <ワールド名>");
                    }else{
                        if($command[2] === "sunrise"){
                            $command[2] = 23000;
                        }elseif($command[2] === "day"){
                            $command[2] = 25000;
                        }elseif($command[2] === "noon"){
                            $command[2] = 30000;
                        }elseif($command[2] === "sunset"){
                            $command[2] = 36000;
                        }elseif($command[2] === "night"){
                            $command[2] = 37000;
                        }elseif($command[2] === "midnight"){
                            $command[2] = 42000;
                        }
                        if(ctype_digit($command[2])){
                            if(!isset($command[3])){
                                $sender->sendMessage("ワールド名を入力してください");
                            }else{
                                $level_N = $this->TimeSet->getServer()->getLevelByName($command[3]);
                                if(!isset($level_N)){
                                    $sender->sendMessage("ワールド {$command[3]} は見つかりませんでした");
                                    return true;
                                }
                                $level_N->setTime(intval($command[2]));
                                $this->sendTimeMessage("§7[{$name}: ワールド {$command[3]} の時間を {$command[2]} に設定しました]");
                            }
                        }else{
                            $sender->sendMessage("数値を入力してください");
                        }
                    }

                }elseif($command[1] === "add"){
                    if(!isset($command[2])){
                        $sender->sendMessage("使い方: /time add <数値> <ワールド名>");
                    }else{
                        if(ctype_digit($command[2])){
                            if(!isset($command[3])){
                                $sender->sendMessage("ワールド名を入力してください");
                            }else{
                                $level_N = $this->TimeSet->getServer()->getLevelByName($command[3]);
                                if(!isset($level_N)){
                                    $sender->sendMessage("ワールド {$command[3]} は見つかりませんでした");
                                    return true;
                                }
                                $time = $level_N->getTime();
                                $new_time = $time + intval($command[2]);
                                $level_N->setTime($new_time);
                                $this->sendTimeMessage("§7[{$name}: ワールド {$command[3]} の時間を {$command[2]} 早めました]");
                            }
                        }else{
                            $sender->sendMessage("数値を入力してください");
                        }
                    }

                }elseif($command[1] === "start"){
                    if(!isset($command[2])){
                       $sender->sendMessage("ワールド名を入力してください");
                    }else{
                        $level_N = $this->TimeSet->getServer()->getLevelByName($command[2]);
                        if(!isset($level_N)){
                            $sender->sendMessage("ワールド {$command[2]} は見つかりませんでした");
                            return true;
                        }
                        $level_N->startTime();
                        $this->sendTimeMessage("§7[{$name}: ワールド {$command[2]} の時間停止を解除しました]");
                    }

                }elseif($command[1] === "stop"){
                    if(!isset($command[2])){
                        $sender->sendMessage("ワールド名を入力してください");
                    }else{
                        $level_N = $this->TimeSet->getServer()->getLevelByName($command[2]);
                        if(!isset($level_N)){
                            $sender->sendMessage("ワールド {$command[2]} は見つかりませんでした");
                            return true;
                        }
                        $level_N->stopTime();
                        $this->sendTimeMessage("§7[{$name}: ワールド {$command[2]} の時間を停止させました]");
                    }

                }elseif($command[1] === "query"){
                    if(!isset($command[2])){
                        $sender->sendMessage("ワールド名を入力してください");
                    }else{
                        $level_N = $this->TimeSet->getServer()->getLevelByName($command[2]);
                        if(!isset($level_N)){
                            $sender->sendMessage("ワールド {$command[2]} は見つかりませんでした");
                            return true;
                        }
                        $time = $level_N->getTime();
                        $sender->sendMessage("ワールド {$command[2]} の時間は {$time} です");
                    }

                }elseif($command[1] === "save"){
                    if(!isset($command[2])){
                        $sender->sendMessage("数値を入力してください");
                        return true;
                    }elseif(!ctype_digit($command[2])){
                        $sender->sendMessage("数値を入力してください");
                        return true;
                    }
                    if(!isset($command[3])){
                        $sender->sendMessage("true 又は false を入力してください (時間が進むか否か)");
                        return true;
                    }elseif($command[3] !== "false" && $command[3] !== "true"){
                        $sender->sendMessage("true 又は false を入力してください (時間が進むか否か)");
                        return true;
                    }
                    if(!isset($command[4])){
                        $sender->sendMessage("ワールド名を入力してください");
                    }else{
                        $level_N = $this->TimeSet->getServer()->getLevelByName($command[4]);
                        if(!isset($level_N)){
                            $sender->sendMessage("ワールド {$command[2]} は見つかりませんでした");
                            return true;
                        }
                        $levelname = $level_N->getFolderName();
                        $time = intval($command[2]).",".$command[3];
                        $this->TimeSet->config->set($levelname, $time);
                        $sender->sendMessage("ワールド {$levelname} の時間を保存しました (時間:{$command[2]} 時間の進み{$command[3]})");
                    }

                }elseif($command[1] === "delsave"){
                    if(!isset($command[2])){
                        $sender->sendMessage("ワールド名を入力してください");
                    }else{
                        $level_N = $this->TimeSet->getServer()->getLevelByName($command[2]);
                        if(!isset($level_N)){
                            $sender->sendMessage("ワールド {$command[2]} は見つかりませんでした");
                            return true;
                        }
                        if(!$this->TimeSet->config->exists($command[2])){
                            $sender->sendMessage("ワールド {$command[2]} の時間は保存されていません");
                            return true;
                        }
                        $this->TimeSet->config->remove($command[2]);
                        $sender->sendMessage("ワールド {$command[2]} の時間設定を消去しました");
                    }

                }elseif($command[1] === "allset"){
                    if(!isset($command[2])){
                        $sender->sendMessage("使い方: /time allset <数値>");
                    }else{
                        if($command[2] === "sunrise"){
                            $command[2] = 23000;
                        }elseif($command[2] === "day"){
                            $command[2] = 25000;
                        }elseif($command[2] === "noon"){
                            $command[2] = 30000;
                        }elseif($command[2] === "sunset"){
                            $command[2] = 36000;
                        }elseif($command[2] === "night"){
                            $command[2] = 37000;
                        }elseif($command[2] === "midnight"){
                            $command[2] = 42000;
                        }
                        if(ctype_digit($command[2])){
                            foreach($this->TimeSet->getServer()->getLevels() as $alllevel){
                                $alllevel->setTime(intval($command[2]));
                                
                            }
                            $this->sendTimeMessage("§7[{$name}: 全てのワールドの時間を {$command[2]} に設定しました]");
                        }else{
                            $sender->sendMessage("数値を入力してください");
                        }
                    }

                }elseif($command[1] === "allstart"){
                    foreach($this->TimeSet->getServer()->getLevels() as $alllevel){
                        $alllevel->startTime();
                        
                    }
                    $this->sendTimeMessage("§7[{$name}: 全てのワールドの時間停止を解除しました]");

                }elseif($command[1] === "allstop"){
                    foreach($this->TimeSet->getServer()->getLevels() as $alllevel){
                        $alllevel->stopTime();
                        
                    }
                    $this->sendTimeMessage("§7[{$name}: 全てのワールドの時間を停止させました]");

                }else{
                    $sender->sendMessage("\n§aTimeSetプラグインコマンドの使い方§f\n/time <set|add> <数値> <ワールド名>\n/time <start|stop|query|delsave> <ワールド名>\n/time <save> <数値> <true/false(時間が進むか否か)> <ワールド名>\n/time <allset> <数値>\n/time <allstart|allstop>\n※/time setの数値に<sunrise|day|noon|sunset|night|midnight>も使えます\n§f");
                }

            }
        }
    }

    /**
     * @priority MONITOR
     */
    public function LevelLoad(LevelLoadEvent $event){
    	$level = $event->getLevel();
    	$levelname = $level->getFolderName();
    	if($this->TimeSet->config->exists($levelname)){
    		$settings = $this->TimeSet->config->get($levelname);
    		$setting = explode(",",$settings);
    		$level->setTime(intval($setting[0]));
    		if($setting[1] === "false"){
    			$level->stopTime();
    			$result = "無効です";
    		}else{
    			$result = "有効です";
    		}
    		$this->TimeSet->getLogger()->notice("ワールド {$levelname} の時間を {$setting[0]} に設定しました (時間進みは{$result})");
    	}
    }

    public function sendTimeMessage($message){
        foreach(Server::getInstance()->getOnlinePlayers() as $player){
            if ($player->isOp()){
                if($player->isOnline()){
                    $player->sendMessage($message);
                }
            }
        }
        $this->TimeSet->getLogger()->info($message);
    }
}<?php

namespace Saisana299\timeset;

use pocketmine\plugin\PluginBase;
use pocketmine\utils\Config;
use pocketmine\level\Level;

class TimeSet extends PluginBase{

	public function onEnable(){
		
		if (!file_exists($this->getDataFolder())) mkdir($this->getDataFolder(), 0744, true);
		$this->config = new Config($this->getDataFolder() . "Config.yml", Config::YAML);
		$this->AA = new Config($this->getDataFolder() . "AA.yml", Config::YAML,["AA" => false]);
		$this->getServer()->getPluginManager()->registerEvents(new EventListener($this), $this);
		if($this->AA->get("AA") !== false){
			echo("\n");
			$this->getLogger()->info('§a             §b  ,,   §e                  §c          §d           §6         §f        ');
			$this->getLogger()->info('§aMMP""MM""YMM §b  db   §e                  §c          §d .M"""bgd  §6         §f  mm    ');
			$this->getLogger()->info('§aP"   MM   `7 §b       §e                  §c          §d,MI    "Y  §6         §f  MM    ');
			$this->getLogger()->info('§a     MM      §b`7MM   §e`7MMpMMMb.pMMMb.  §c .gP"Ya   §d`MMb.      §6 .gP"Ya  §fmmMMmm  ');
			$this->getLogger()->info('§a     MM      §b  MM   §e  MM    MM    MM  §c,M"   Yb  §d  `YMMNq.  §6,M"   Yb §f  MM    ');
			$this->getLogger()->info('§a     MM      §b  MM   §e  MM    MM    MM  §c8M""""""  §d.     `MM  §68M"""""" §f  MM    ');
			$this->getLogger()->info('§a     MM      §b  MM   §e  MM    MM    MM  §cYM.    ,  §dMb     dM  §6YM.    , §f  MM    ');
			$this->getLogger()->info('§a   .JMML.    §b.JMML. §e.JMML  JMML  JMML §c.`Mbmmd"  §dP"Ybmmd"   §6 `Mbmmd" §f  `Mbmo ');
			$this->getLogger()->info('');
			$this->getLogger()->info("§5TimeSet plugin loaded. Plugin version 1.1.0 Made by Saisana299\n");
			$this->getLogger()->warning("このプラグインを導入すると通常のTimeコマンドを使用できなくなります");
		}else{
			$this->getLogger()->info("§5TimeSet plugin loaded. Plugin version 1.1.0 Made by Saisana299");
			$this->getLogger()->warning("このプラグインを導入すると通常のTimeコマンドを使用できなくなります");
		}
	}

	public function onDisable(){
		$this->config->save();
		$this->getLogger()->info("§aコンフィグを保存しました。 §bSee you:)");
	}
}çÌh`j-~ðUÃ/όKNmë   GBMB