
<?php
echo "PocketMine-MP plugin ChatBan v1.0.1
This file has been generated using DevTools v1.13.3 at Mon, 05 Aug 2019 13:29:58 +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:"ChatBan";s:7:"version";s:5:"1.0.1";s:4:"main";s:24:"tomo1852\chatban\ChatBan";s:3:"api";s:5:"3.9.3";s:6:"depend";s:0:"";s:11:"description";s:48:"チャットできないプレイヤーの管理";s:7:"authors";s:0:"";s:7:"website";s:0:"";s:12:"creationDate";i:1564979398;}
   plugin.yml*  ưG]*  ÷¯d¶          src/tomo1852/chatban/ChatBan.php­  ưG]­  Gò;Ž¶      name: ChatBan
main: tomo1852\chatban\ChatBan
api: 3.9.3
version: 1.0.1
author: tomo1852
description: チャットできないプレイヤーの管理
commands:
 chatban:
  usage: "/chatban <add|remove|list> [プレイヤー]"
  description: チャットできないプレイヤーの管理<?php

namespace tomo1852\chatban;

use pocketmine\plugin\PluginBase;
use pocketmine\Player;
use pocketmine\event\Listener;
use pocketmine\event\player\PlayerChatEvent;
use pocketmine\utils\Config;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\event\server\CommandEvent;

class ChatBan extends PluginBase implements Listener{
	public function onEnable(){ 
		$this->getServer()->getPluginManager()->registerEvents($this, $this);
		$this->getlogger()->info("§eChatBanが有効になりました。作成者: tomo1852");
		if(!file_exists($this->getDataFolder())) mkdir($this->getDataFolder(), 0744, true);
		$this->player = new Config($this->getDataFolder() . "player.yml", Config::YAML, [
			'プレイヤー' => []
		]);
	}
	public function onCommand(CommandSender $sender, Command $command, string $label, array $args) :bool{
		switch(strtolower($command->getName())){
			case "chatban":
				if(!$sender->isop()){
					$sender->sendmessage("§cこのコマンドを実行する権限がありません。");
					return true;
				}
				if(!isset($args[0])) return false;
				switch($args[0]){
					case "add":
						if(!isset($args[1])) return false;
						$players = $this->player->get("プレイヤー");
						if(!in_array($args[1], $players)){
							$players[] = $args[1];
							$this->player->set("プレイヤー", $players);
							$this->player->save();
							$sender->sendmessage($args[1] . "を追加しました。");
						}else $sender->sendmessage("§c" . $args[1] . "は既に追加されています。");
						break;
					case "remove":
						if(!isset($args[1])) return false;
						$players = $this->player->get("プレイヤー");
						if(in_array($args[1], $players)){
							$players = array_diff($players, array($args[1]));
							$players = array_values($players);
							$this->player->set("プレイヤー", $players);
							$this->player->save();
							$sender->sendmessage($args[1] . "を削除しました。");
						}else $sender->sendmessage("§c" . $args[1] . "は存在しません。");
						break;
					case "list":
						$i = 0;
						$players = $this->player->get("プレイヤー");
						foreach($players as $player){
							$sender->sendmessage($player);
							$i++;
						}
						if($i === 0) $sender->sendmessage("§c現在ChatBanされているプレイヤーがいません。");
				}
				return true;
		}
	}
	public function onChat(PlayerChatEvent $event){
		$player = $event->getPlayer();
		$players = $this->player->get("プレイヤー");
		if(in_array($player->getname(), $players)){
			$player->sendmessage("§cあなたはチャットする権限がありません。");
			$event->setCancelled();
		}
	}
	public function onCmd(CommandEvent $event){
		$command = explode(" ", $event->getCommand());
		switch($command[0]){
			case "tell":
			case "w":
			case "msg":
			case "me":
			case "say":
				$players = $this->player->get("プレイヤー");
				if(in_array($event->getSender()->getName(), $players)){
					$event->getSender()->sendmessage("§cあなたはチャットする権限がありません。");
					$event->setCancelled();
				}
		}
	}
}çá(´,Ë[Íi»�§…™œ
   GBMB