<?php __HALT_COMPILER(); ?>
e                     src/jggj/main.php
  J[
  <4.      
   plugin.yml  J[  M      <?php

namespace jggj;

use pocketmine\Player;
use pocketmine\Server;
use pocketmine\utils\Config;
use pocketmine\event\Listener;
use pocketmine\plugin\PluginBase;
use onebone\economyapi\EconomyAPI;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\event\player\PlayerJoinEvent;
use pocketmine\command\ConsoleCommandSender;

class main extends PluginBase implements Listener{
    public function onEnable(){ 
    	$this->getServer()->getPluginManager()->registerEvents($this,$this);
		$this->getLogger()->info("§aプラグインを読み込みました。");
		$this->getLogger()->info("§a二次配布は禁止です。§bby:jggj");
		$this->EconomyAPI = $this->getServer()->getPluginManager()->getPlugin("EconomyAPI");
		if($this->EconomyAPI === null){
			$this->getLogger()->info("§cError:EconomyAPIが見つかりません");
			$this->getServer()->shutdown();
		}
		if(!file_exists($this->getDataFolder())){
			mkdir($this->getDataFolder(), 0744, true);
		}
		$this->name = new Config($this->getDataFolder()."name.yml",Config::YAML);
		$this->config = new Config($this->getDataFolder() . "Config.yml", Config::YAML,
			array(
			"1文字の金額" => 500,
			"§の金額" => 700,
			));
		}
		public function onCommand(CommandSender $sender, Command $command, string $label, array $args) : bool{
			switch($command->getName()){
				case "settag":
				if(!$sender instanceof Player) {
					return $sender->sendMessage(">>このコマンドはゲーム内で使ってください");
				}else{
					$player = $sender->getPlayer();
					$name = $player->getName();
					$secmoney = $this->config->get("§の金額");
					$section = mb_substr_count($args[0], "§");
					$kingaku = $section*$secmoney;
					$onemoney = $this->config->get("1文字の金額");
					$syo = mb_strlen($args[0]);
					$syosec = $syo-$section;
					$money = $syosec*$onemoney+$kingaku;
					$mymoney = $this->EconomyAPI->myMoney($player->getName());
					if($mymoney >= $money){
						$this->EconomyAPI->reduceMoney($player, $money);
						$player->setNameTag("§a[§r".$args[0]."§a]§r ".$name);
						$player->setDisplayName("§a[§r".$args[0]."§a]§r ".$name);
						$this->name->set($name, $args[0]);
						$this->name->save();
						$sender->sendMessage("§a".$args[0]."という称号を付けました");
					}else{
						$sender->sendMessage("§cお金が足りません");
				}
			}
		}
	}
	public function onPlayerJoin(PlayerJoinEvent $event){
        $player = $event->getPlayer();
        $name = $event->getPlayer()->getName();
        if($this->name->exists($name)){
       	 $player->setNameTag("§a[§f".$this->name->get($name)."§a]§r".$name);
     	   $player->setDisplayName("§a[§f".$this->name->get($name)."§a]§r".$name);
        }
	}
}
		
		
		name: CommandNameChanger
main: jggj\main
version: 1.0.0
api:
- 2.0.0
- 3.0.0
- 3.0.0-ALPHA1
- 3.0.0-ALPHA2
- 3.0.0-ALPHA3
- 3.0.0-ALPHA4
- 3.0.0-ALPHA5
- 3.0.0-ALPHA6
- 3.0.0-ALPHA7
- 3.0.0-ALPHA8
- 3.0.0-ALPHA9
- 3.0.0-ALPHA10
- 3.0.0-ALPHA11
- 3.0.0-ALPHA12
- 3.0.0-ALPHA13
- 3.0.0-ALPHA14
- 3.0.0-ALPHA15
author: jggj
load: POSTWORLD
commands:
 settag:
  description: "/settag [称号名] で称号を付けられます"^R'%PGD   GBMB