<?php echo "PocketMine-MP plugin SignSpamBlocker v1\nThis file has been generated using DevTools v1.12.1 at Sat, 31 Mar 2018 19:23:43 +0900\n----------------\n";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(); ?>
             R  a:9:{s:4:"name";s:15:"SignSpamBlocker";s:7:"version";s:1:"1";s:4:"main";s:20:"SignSpamBlocker\Main";s:3:"api";a:3:{i:0;s:5:"3.0.0";i:1;s:13:"3.0.0-ALPHA10";i:2;s:13:"3.0.0-ALPHA11";}s:6:"depend";a:0:{}s:11:"description";s:15:"SignSpamBlocker";s:7:"authors";a:1:{i:0;s:9:"★sei★";}s:7:"website";s:0:"";s:12:"creationDate";i:1522491823;}
   plugin.yml  aZ  A         src/SignSpamBlocker/Main.php  aZ  i當      name: SignSpamBlocker
main: SignSpamBlocker\Main
version: 1.0
api: [3.0.0, 3.0.0-ALPHA10, 3.0.0-ALPHA11]
load: POSTWORLD
author: ★sei★
description: SignSpamBlocker
commands:
 gs:
  usage:
  description: "スパム削除用アイテムを付与"
  permission: gs.command
permissions:
 gs:
  default: true
  description: "gs"
 gs.command:
  default: true
  description: "gs"
<?php
namespace SignSpamBlocker;

use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\Server;
use pocketmine\Player;
use pocketmine\event\player\PlayerInteractEvent;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\CommandExecutor;
use pocketmine\item\Item;
use pocketmine\inventory\Inventory;
use pocketmine\math\Vector3;
use pocketmine\block\Block;
use pocketmine\level\Level;
use pocketmine\tile\Tile;
use pocketmine\network\mcpe\protocol\SetTitlePacket;

class Main extends PluginBase implements Listener{

  public function onEnable(){
    $tl = $this->getlogger();
    $tl->info("§l§aSignSpamBlocker §bを読み込みました");
    $tl->warning("このプラグインの二次配布、製作者偽りは禁止です");
    $this->getServer()->getPluginManager()->registerEvents($this, $this);
  }

  public function onPlayerTouch(PlayerInteractEvent $event){
    $player = $event->getPlayer();
    $name = $player->getName();
    $block = $event->getBlock();
    $itemid = $player->getInventory()->getItemInHand()->getId();
    $itemname = $player->getInventory()->getItemInHand()->getName();
    $touchblock = $block->getId();
    if($touchblock == 68 or $touchblock == 63){
      if($itemid == 280){
        if($itemname == "§aSpamBlockStick"){
          $pos = $block->getX().":".$block->getY().":".$block->getZ();
          $now = microtime(true);
          if(!isset($this->spam[$name]) or $now - $this->spam[$name][1] >= 1.5  or $this->spam[$name][0] !== $pos){
            $this->spam[$name] = [$pos, $now];
            $player->sendMessage("§a[SignSpamBlocker]§e内容を削除するにはもう一度タップしてください");
            return;
          }else{
            unset($this->spam[$name]);
          }
          $pos = new Vector3($block->getX(), $block->getY(), $block->getZ());
          $level = $block->getLevel();
          $sign = $level->getTile($pos);
          $player->sendMessage("§a[SignSpamBlocker]§eスパムと判断し削除しました");
          $sign->setText("§a[SignSpamBlocker]", "§e⚠この看板に書かれた内容は", "§e管理者によって§c不適切§eだと判断されたため", "§c削除されました");
          $sign->saveNBT();
        }
      }
    }
  }

  public function onCommand(CommandSender $sender, Command $command, string $label, array $args):bool{
    if(!$sender instanceof Player){
      $sender->sendMessage("§cゲーム内で実行してください");
      return true;
    }
    switch(strtolower($command->getName())){
      case "gs":
      if($sender->isOp()){
        $item = Item::get(280, 0, 1);
        $item->setCustomName("§aSpamBlockStick");//クソダサい
        $sender->getInventory()->addItem($item);
      }else{
        $sender->sendMessage("§cこのコマンドを使用する権限がありません！");
      }
      return true;
    }
    return false;
  }
}
 lWC"!O_6[y   GBMB