
<?php
echo "PocketMine-MP plugin NoChat v1.0.0
This file has been generated using DevTools v1.13.3 at Tue, 24 Mar 2020 14:11:13 +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(); ?>
P             ç   a:9:{s:4:"name";s:6:"NoChat";s:7:"version";s:5:"1.0.0";s:4:"main";s:13:"NoChat\NoChat";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:1585026673;}
   plugin.yml¹   q–y^¹   ãÿ¶¶         src/NoChat/NoChat.php¹  q–y^¹  `œrQ¶      name: NoChat
main: NoChat\NoChat
api: 3.0.0
version: 1.0.0
author: narapon

commands:
  nochat:
    usage: "/nochat <add|remove|list>"
    description: ãƒãƒ£ãƒƒãƒˆä½¿ç”¨åˆ¶é™<?php

namespace NoChat;

use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\Player;
use pocketmine\event\player\PlayerChatEvent;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\event\server\CommandEvent;
use pocketmine\utils\Config;

class NoChat extends PluginBase implements Listener
{
    public function onEnable()
    {
        $this->getServer()->getPluginManager()->registerEvents($this, $this);
        if (!file_exists($this->getDataFolder())) {
            @mkdir($this->getDataFolder(), 0744, true);
        }
        $this->list = new Config($this->getDataFolder() . "list.yml", Config::YAML);
    }

    public function onCommand(CommandSender $sender, Command $command, string $label, array $args): bool
    {
        switch ($command->getName()) {
            case "nochat":
                if (!$sender->isop()) {
                    $sender->sendmessage("Â§cã“ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’å®Ÿè¡Œã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“");
                    break;
                }
                if (!isset($args[0])) {
                    return false;
                }
                switch ($args[0]) {
                    case "add":
                        if (!isset($args[1]) or !isset($args[2])) {
                            $sender->sendmessage("[NoChat] Â§c/nochat add åå‰ ç†ç”±");
                            break;
                        }
                        if ($this->list->exists($args[1])) {
                            $sender->sendmessage("[Nochat] Â§c{$args[1]}ã¯æ—¢ã«ãƒãƒ£ãƒƒãƒˆã®ä½¿ç”¨ã‚’åˆ¶é™ã•ã‚Œã¦ã„ã¾ã™");
                            break;
                        }
                        $this->getServer()->broadcastMessage("[NoChat] Â§e{$args[1]}ã®ãƒãƒ£ãƒƒãƒˆã®ä½¿ç”¨ã‚’åˆ¶é™ã—ã¾ã—ãŸ");
                        $this->getServer()->broadcastMessage("[NoChat] Â§eç†ç”± : {$args[2]}");
                        $this->list->set($args[1], $args[2]);
                        $this->list->save();
                        break;
                    case "remove":
                        if (!isset($args[1])) {
                            $sender->sendmessage("[NoChat] Â§c/nochat remove åå‰");
                            break;
                        }
                        if (!$this->list->exists($args[1])) {
                            $sender->sendmessage("[Nochat] Â§c{$args[1]}ã¯ãƒãƒ£ãƒƒãƒˆã‚’åˆ¶é™ã•ã‚Œã¦ã„ã¾ã›ã‚“");
                            break;
                        }
                        $sender->sendmessage("[NoChat] Â§e{$args[1]}ã®ãƒãƒ£ãƒƒãƒˆã®ä½¿ç”¨ã®åˆ¶é™ã‚’è§£é™¤ã—ã¾ã—ãŸ");
                        $this->list->remove($args[1]);
                        $this->list->save();
                        break;
                    case "list":
                        $sender->sendMessage("Â§aãƒãƒ£ãƒƒãƒˆä½¿ç”¨åˆ¶é™ãƒªã‚¹ãƒˆ");
                        foreach ($this->list->getAll() as $key => $value) {
                            $sender->sendMessage("{$key}   ç†ç”± : {$this->list->get($key)}");
                        }
                        break;
                    default:
                        return false;
                }
                break;
        }
        return true;
    }

    public function onChat(PlayerChatEvent $event)
    {
        $player = $event->getPlayer();
        $playerName = $event->getPlayer()->getName();
        if ($this->list->exists($playerName)) {
            $player->sendmessage("Â§cã‚ãªãŸã¯ãƒãƒ£ãƒƒãƒˆã®ä½¿ç”¨ã‚’åˆ¶é™ã•ã‚Œã¦ã„ã¾ã™");
            $event->setCancelled();
        }
    }

    public function onCmd(CommandEvent $event)
    {
        $cmd = explode(" ",$event->getCommand());
        switch ($cmd[0]) {
            case "tell":
            case "w":
            case "msg":
            case "me":
            case "say":
                if ($this->list->exists($event->getSender()->getName())) {
                    $event->getSender()->sendmessage("Â§cã‚ãªãŸã¯-ãƒãƒ£ãƒƒãƒˆã®ä½¿ç”¨ã‚’åˆ¶é™ã•ã‚Œã¦ã„ã¾ã™");
                    $event->setCancelled();
                }
                break;
        }
    }

}HË¥>ºJ )>C»fá;   GBMB