
<?php
echo "PocketMine-MP plugin ChatBan v0.0.1
This file has been generated using DevTools v1.14.0 at Wed, 26 Aug 2020 17:52:15 +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(); ?>
O                a:9:{s:4:"name";s:7:"ChatBan";s:7:"version";s:5:"0.0.1";s:4:"main";s:12:"chatban\main";s:3:"api";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:1598431935;}
   plugin.yml  "F_  _         src/chatban/main.phpQ  "F_Q  9      name: ChatBan
main: chatban\main
api: 3.0.0
version: 0.0.1
author: sssommma
commands: 
  chat-ban:
    description: 対象者の発言を禁止します。
    usage: /chat-ban [NameTag]
    permission: op
  
  cblist:
    description: 現在までにChatBanされた者の一覧を表示します
    usage: /cblist
    permission: op

  unchatban:
    description: 対象者のChatBan処分を取り消します。
    usage: /unchatban [NameTag]
    permission: op<?php

namespace chatban;

use pocketmine\Server;
use pocketmine\Player;
use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\utils\Config;
use pocketmine\event\player\PlayerChatEvent;
use pocketmine\command\CommandSender;
use pocketmine\command\Command;

class main extends PluginBase implements Listener{

    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() . "cblist.yml", Config::YAML, array(
            "chatban" => [

            ]
            ));
    }

    public function onCommand(CommandSender $sender, Command $command, string $label, array $args): bool{
        if ($label == "chat-ban"){
            if (empty($args[0])){
                $sender->sendMessage("使い方:/chat-ban ChatBanする相手のタグ");
                return true;
            }
            $name = $sender->getName();
            $report = implode("", $args);
            $rp = "$name";
            $players = Server::getInstance()->getOnlinePlayers();
            $data = $this->config->get("chatban");
            $data[] = $rp;
            $this->config->set("chatban", $data);
            $this->config->save();
            $message = "§l【ChatBan】§r§c $args[0] §rがChatBANされました";
            $sender->sendMessage($message);
            return true;
        }
        if ($label == "cblist"){
            $cbdata = $this->config->get("chatban");
            $cb = implode(",", $cbdata);
            $sender->sendMessage("ChatBan者リスト\n".
                                 "(" . $cb . ")");
            return true;
        }
        if ($label == "unchatban"){
            if (empty($args[0])){
                $sender->sendMessage("使い方:/unchatban ChatBanを解除する相手のタグ");
                return true;
            }
            $cbplayer = $args[0];
            $this->config->remove($cbplayer);
            $this->config->save();
            $sender->sendMessage("§l【ChatBan】§r§a$cbplayer §rのChatBANを取り消しました。");
            return true;
        }
    }

    public function onChat(PlayerChatEvent $event){
        $config = $this->config->get("chatban");
        $player = $event->getPlayer();
        $name = $event->getPlayer()->getName();
        $players = Server::getinstance()->getOnlinePlayers();
        foreach ($config as $cbp){
            if ($name == $cbp){
                $event->setCancelled();
                $player->kick("§l§cあなたはChatBanされています。\n§bチャット以外のサービスをお楽しみください。");
            }
        }
    }
}In=x K_   GBMB