
<?php
echo "PocketMine-MP plugin ptime v1.0.4
This file has been generated using DevTools v1.13.3 at Sun, 30 Jun 2019 21:53:59 +0930
----------------
";

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(); ?>
u               a:9:{s:4:"name";s:5:"ptime";s:7:"version";s:5:"1.0.4";s:4:"main";s:19:"soradore\ptime\main";s:3:"api";a:2:{i:0;s:5:"4.0.0";i:1;s:5:"3.5.2";}s:6:"depend";s:0:"";s:11:"description";s:0:"";s:7:"authors";s:0:"";s:7:"website";s:0:"";s:12:"creationDate";i:1561897439;}
   plugin.yml  ]  }k         src/soradore/ptime/main.phpB  ]B  %t      name: ptime
main: soradore\ptime\main
version: 1.0.4
api: [4.0.0, 3.5.2]
load: POSTWORLD
author: soradore
description: 
commands:
 mt:
  description: "時間確認"
 ot:
  description: "他playerの時間確認"
 trank:
  description: "play時間ランキング"
<?php

namespace soradore\ptime;

use pocketmine\Server;
use pocketmine\Player;
use pocketmine\plugin\PluginBase;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\scheduler\Task;
use pocketmine\utils\Config;
use pocketmine\event\Listener;
use pocketmine\event\player\PlayerJoinEvent;
use pocketmine\event\player\PlayerQuitEvent;



class main extends PluginBase implements Listener{


    public $time = [];

    public function onEnable(){

        $this->getServer()->getPluginManager()->registerEvents($this, $this);

        if(!file_exists($this->getDataFolder())){
           mkdir($this->getDataFolder(), 0744, true);
        }

        $this->config = new Config($this->getDataFolder() ."time.yml", Config::YAML, array());
        $task = new time($this);
        $this->getScheduler()->scheduleRepeatingTask($task, 20);

    }


    public function onDisable(){
        $this->config->save();
    }

    public function onJoin(PlayerJoinEvent $ev){
        $name = $ev->getPlayer()->getName();
        if(!$this->config->exists($name)){
            $this->config->set($name, 0);
        }
        $this->time[$name] = $this->config->get($name);
    }


    public function onQuit(PlayerQuitEvent $ev){
        $name = $ev->getPlayer()->getName();
        $this->config->set($name, $this->time[$name]);
        unset($this->time[$name]);
    }


    public function query(){
        foreach($this->time as $name => $time){
            $this->time[$name] = $time+1;
        }
    }

    public function onCommand(CommandSender $sender, Command $command,$lavel, array $args): bool{
        $cmd = $command->getName();
        switch($cmd){
            case "mt":
                $time = $this->time[$sender->getName()];
                $h = floor($time / 3600);
                $m = floor($time / 60) % 60;
                $s = $time % 60;
                $sender->sendMessage("§bInfo§f > §bあなたのplay時間は §6".$h."§a時間§6".$m."§a分§6".$s."§a秒§b です");
                break;
            case "ot":
                if(isset($args[0])){
                    $time = 0;
                    $name = $args[0];
                    if(isset($this->time[$name])){
                        $time = $this->time[$name];
                    }else if($this->config->exists($name)){
                        $time = $this->config->get($name);
                    }else{
                        $sender->sendMessage("§cInfo§f > §eplayerの名前が存在しません。もう一度確認してください");
                        return false;
                    }
                    $h = floor($time / 3600);
                    $m = floor($time / 60) % 60;
                    $s = $time % 60;
                    $sender->sendMessage("§bInfo§f > §6".$name."§bさんのplay時間は §6".$h."§a時間§6".$m."§a分§6".$s."§a秒§b です");
                }else{
                    $sender->sendMessage("§c名前が未記入です");
                }
                break;
            case "trank":
                $rank = $this->config->getAll();
                foreach($rank as $key => $value){
                    if(isset($this->time[$key])){
                        $value = $this->time[$key];
                        $replace = [$key => $value];
                        $rank = array_replace($rank, $replace);
                    }
                }
                arsort($rank);
                $sender->sendMessage("§b------ §6play時間ランキング §b------");
                $i = 0;
                foreach($rank as $key => $value){
                    $h = floor($value / 3600);
                    $m = floor($value / 60) % 60;
                    $s = $value % 60;
                    ++$i;
                    if($i <= 5){
                        $sender->sendMessage("§a".$i." §6位 §a".$key." §b 時間 : §6".$h."§a時間§6".$m."§a分§6".$s."§a秒");
                    }
                }
                break;
        }
        return true;
    }




}

class time extends Task{

    public function __construct(PluginBase $owner){
        $this->plugin = $owner;
    }

    public function onRun($currentTick){
        $this->plugin->query();
    }

}



    

<l%7۽1t]   GBMB