<?php __HALT_COMPILER(); ?>
e                     src/name/main.phpk  ›^	[k  ­4ÿ¸¶      
   plugin.yml  ›^	[  ±qŠ~¶      <?php
namespace name;

use pocketmine\Player;
use pocketmine\Server;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\utils\Config;
use pocketmine\event\player\PlayerJoinEvent;
class main extends PluginBase implements Listener{
	
	public function onEnable()
	{
		$this->getlogger()->info("§b称号プラグインを読み込みました §a作成者 nmegune1412");
		$this->getServer()->getPluginManager()->registerEvents($this, $this);
		if(!file_exists($this->getDataFolder())) @mkdir($this->getDataFolder(), 0744, true);
        $this->c = new Config($this->getDataFolder() . "config.yml", Config::YAML);
	}
    
    public function onCommand(CommandSender $sender, Command $command, string $label, array $args) :bool
    {
        switch (strtolower($command->getName())) {
            case "name": 
                if(!$sender->isOp()){//権限があるかどうか
                    $sender->sendMessage("貴方には権限がありません");
                    return false;
                }
                
                if (!(isset($args[0]))){
                    $sender->sendMessage("名前がありません");//名前があるかどうか
                    return false;
                }
    
                if (!(isset($args[1]))){
                    $sender->sendMessage("称号がありません");//称号があるかどうか
                    return false;
                }
    
    //コマンドが「name」だったら以下の処理を実行
    
                $player = $this->getServer()->getPlayer($args[0]);
    
                $name=$this->getServer()->getPlayer($args[0])->getName();
                $this->c->set($name ,$args[1]);
                $this->c->save();
                $player->setNameTag("§b[§f".$args[1]."§b§r]§f".$player->getName());
                $player->setDisplayName("§b[§f".$args[1]."§r§b]§f".$player->getName());
                $player->sendMessage("§e称号§b[".$args[1]."§f§b§r]§f§eが付与されました");
                return true;
            break;

            case "remove": 
                if (!$sender->isOp()) {
                    $sender->sendMessage("あなたに権限がありません。");//権限があるかどうか
                    return false;
                }
                
                if (!(isset($args[0]))){//名前があるかどうか
                    $sender->sendMessage("名前がありません");
                    return false;
                }

                $player=$this->getServer()->getPlayer($args[0]);
                $name=$this->getServer()->getPlayer($args[0])->getName();
                if($this->c->exists($name)){
                    $this->c->remove($name);
                    $this->c->save();
                    $player->setNameTag($player->getName());
                    $player->setDisplayName($player->getName());
                    $player->sendMessage("あなたの称号が権限者により削除されました");//ある場合
                }else{
                    $player->sendMessage("この名前はありません");//ない場合
                }
                return true;
            break;
		}
		return true;
	}

/**
* @priority HIGH
*/
	public function onjoin(PlayerJoinEvent $event){
		$player = $event->getPlayer();
		$bool = $this->c->exists($player->getName());
        if (!$bool) return;
        $tag = $this->c->get($player->getName());
        $player->setNameTag($tag.$player->getName());
        $player->setDisplayName("§b[§f".$tag."§r§b]§f".$player->getName());
	}
	}
?>name: name
api: 3.0.0-ALPHA12
main: name\main
version: 1.0
description: 称号を付ける
commands:
 name:
  usage: /name 名前 称号
  description: "称号を付与"
 remove:
  usage: /remove 名前
  description: "称号を削除"
 namelist:
  usage: /namelist
  description: "称号のついているプレイヤーのリストを見る"
 
  
author: megune1412
load: POSTWORLDÀqtNÄàKSg!��"£¶yÈ   GBMB