<?php echo "PocketMine-MP plugin SignEdit v1.7\nThis file has been generated using DevTools v1.12.1 at Fri, 05 Jan 2018 15:33:42 +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(); ?>
â             O  a:9:{s:4:"name";s:8:"SignEdit";s:7:"version";s:3:"1.7";s:4:"main";s:19:"otorisan\Sedit\Main";s:3:"api";a:2:{i:0;s:5:"3.0.0";i:1;s:13:"3.0.0-ALPHA10";}s:6:"depend";a:0:{}s:11:"description";s:45:"çœ‹æ¿ã‚’ç·¨é›†ã§ãã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™";s:7:"authors";a:1:{i:0;s:8:"otorisan";}s:7:"website";s:0:"";s:12:"creationDate";i:1515134022;}
   plugin.yml  FOZ  /•¶         src/otorisan/Sedit/Main.phpô8  FOZô8  Ë»?¶         word.yml   FOZ   îzT¶      name: SignEdit
main: otorisan\Sedit\Main
version: 1.7
api: [3.0.0, 3.0.0-ALPHA10]
load: POSTWORLD
author: otorisan
description: çœ‹æ¿ã‚’ç·¨é›†ã§ãã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™
commands:
 .set:
  permission: set.sedit
  description: çœ‹æ¿ã«æ–‡å­—ã‚’æ›¸ãè¾¼ã‚€
 .copy:
  permission: copy.sedit
  description: çœ‹æ¿ã®æ–‡å­—ã‚’ã‚³ãƒ”ãƒ¼
 .paste:
  permission: paste.sedit
  description: çœ‹æ¿ã«æ–‡å­—ã‚’è²¼ã‚Šä»˜ã‘ã‚‹
 .clear:
  permission: clear.sedit
  description: çœ‹æ¿ã‚’ç™½ç´™ã«
 .help:
  permission: help.sedit
  description: çœ‹æ¿ç·¨é›†ã‚³ãƒžãƒ³ãƒ‰ã®ä½¿ã„æ–¹
 .addword:
  permission: addword.sedit
  description: æ›¸ãè¾¼ã¿ç¦æ­¢æ–‡å­—ã‚’è¿½åŠ 
 .delword:
  permission: delword.sedit
  description: ç‰¹å®šã®æ›¸ãè¾¼ã¿ç¦æ­¢æ–‡å­—ã‚’æ¶ˆã™
 .listword:
  permission: listword.sedit
  description: æ›¸ãè¾¼ã¿ç¦æ­¢æ–‡å­—ãƒªã‚¹ãƒˆ

permissions:
 set.sedit:
  default: true
 copy.sedit:
  default: true
 paste.sedit:
  default: true
 clear.sedit:
  default: true
 help.sedit:
  default: true
 addword.sedit:
  default: op
 delword.sedit:
  default: op
 listword.sedit:
  default: op
<?php
/*
**
**
**    â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•— â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•— â–ˆâ–ˆâ–ˆâ•—   â–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•— â–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—
**    â–ˆâ–ˆâ•”â•â•â•â•â•â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•”â•â•â•â•â• â–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•”â•â•â•â•â•â–ˆâ–ˆâ•”â•â•â–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘â•šâ•â•â–ˆâ–ˆâ•”â•â•â•
**    â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•”â–ˆâ–ˆâ•— â–ˆâ–ˆâ•‘â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘
**    â•šâ•â•â•â•â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘â•šâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•”â•â•â•  â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘
**    â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘â•šâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•”â•â–ˆâ–ˆâ•‘ â•šâ–ˆâ–ˆâ–ˆâ–ˆâ•‘â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•”â•â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘
**    â•šâ•â•â•â•â•â•â•â•šâ•â• â•šâ•â•â•â•â•â• â•šâ•â•  â•šâ•â•â•â•â•šâ•â•â•â•â•â•â•â•šâ•â•â•â•â•â• â•šâ•â•   â•šâ•â•
**
**        ãƒãƒ¼ã‚¸ãƒ§ãƒ³: v1.7
**         è£½ä½œè€…: OtorisanVardo
**        Twitter: @10ripon_obs
**
**
**
 */

namespace otorisan\Sedit;

use pocketmine\Player;
use pocketmine\Server;
use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\utils\TextFormat;
use pocketmine\item\Item;
use pocketmine\block\Block;
use pocketmine\tile\Tile;
use pocketmine\tile\Sign;
use pocketmine\math\Vector3;
use pocketmine\utils\Config;
use pocketmine\level\Level;
use pocketmine\event\player\PlayerInteractEvent;
use pocketmine\command\CommandSender;
use pocketmine\command\Command;

class Main extends PluginBase implements Listener
{

    //ãƒ—ãƒ©ã‚°ã‚¤ãƒ³èª­ã¿è¾¼ã¿æ™‚
    public function onEnable()
    {
        $this->getServer()->getPluginManager()->registerEvents($this, $this);
        $this->getLogger()->info("Â§bSignEditãŒèª­ã¿è¾¼ã¾ã‚Œã¾ã—ãŸ");
        if (!file_exists($this->getDataFolder()))@mkdir($this->getDataFolder(), 0744, true);
        $this->cfg = new Config($this->getDataFolder()."word.yml", Config::YAML);
    }

    //ãƒ–ãƒ­ãƒƒã‚¯ã‚¿ãƒƒãƒæ™‚ã®ã‚¤ãƒ™ãƒ³ãƒˆ
    public function onTouch(PlayerInteractEvent $event)
    {
        $block = $event->getBlock();
        $player = $event->getPlayer();
        $item = $player->getInventory()->getItemInHand();
        $action = $event->getAction();
        if ($action == 1) {
            if ($item->getId() === 288) {
                $name = $player->getName();
                $level = $player->getLevel();
                $x = $block->x;
                $y = $block->y;
                $z = $block->z;
                $pos = new Vector3($x, $y, $z);
                $tile = $level->getTile($pos);
                if ($tile instanceof Sign) {
                    if (isset($this->words[$name]))if (isset($this->dansu[$name])) {
                        $tmp1 = $this->words[$player->getName()];
                        $tmp2 = $this->dansu[$player->getName()];
                        $this->SetSign($player, $name, $tile, $tmp1, $tmp2);
                    }

                    if (isset($this->cp[$name])) {
                        $lines = $tile->getText();
                        $this->CopySign($player, $name, $lines);
                    }

                    if (isset($this->ps[$name])) {
                        $this->PasteSign($player, $name, $tile);
                    }

                    if (isset($this->cr[$name])) {
                        $this->ClearSign($player, $name, $tile);
                    }
                }
            }
        }
    }

    //çœ‹æ¿å‡¦ç†:set
    public function SetSign($player, $name, $tile, $mozi, $dan)
    {
            $word = $tile->getText();
            switch ($dan) {
                case "1":
                    $tile->setText($mozi, $word[1], $word[2], $word[3]);
                    $tile->saveNBT();
                break;

                case "2":
                    $tile->setText($word[0], $mozi, $word[2], $word[3]);
                    $tile->saveNBT();
                break;

                case "3":
                    $tile->setText($word[0], $word[1], $mozi, $word[3]);
                    $tile->saveNBT();
                break;

                case "4":
                    $tile->setText($word[0], $word[1], $word[2], $mozi);
                    $tile->saveNBT();
                break;
            }
            $player->sendMessage("Â§b[Sedit] Â§rÂ§aæ›¸ãè¾¼ã¿ãŒçµ‚äº†ã—ã¾ã—ãŸ");
            unset($this->words[$name], $this->dansu[$name]);
    }

    //çœ‹æ¿å‡¦ç†:copy
    public function CopySign($player, $name, $lines)
    {
        if (is_array($lines)) {
            $this->copy[$name] = $lines;
            $player->sendMessage("Â§b[Sedit] Â§rÂ§aã‚³ãƒ”ãƒ¼ãŒå®Œäº†ã—ã¾ã—ãŸ");
            unset($this->cp[$name]);
        }
    }

    //çœ‹æ¿å‡¦ç†:clear
    public function ClearSign($player, $name, $tile)
    {
        $tile->setText("", "", "", "");
        $tile->saveNBT();
        $player->sendMessage("Â§b[Sedit] Â§rÂ§aç™½ç´™ã«ã™ã‚‹å‡¦ç†ãŒçµ‚äº†ã—ã¾ã—ãŸ");
        unset($this->cr[$name]);
    }

    //çœ‹æ¿å‡¦ç†:paste
    public function PasteSign($player, $name, $tile)
    {
        $lines = $this->copy[$name];
        if (isset($lines)) {
            $tile->setText($lines[0], $lines[1], $lines[2], $lines[3]);
            $tile->saveNBT();
            $player->sendMessage("Â§b[Sedit] Â§rÂ§aãƒšãƒ¼ã‚¹ãƒˆãŒå®Œäº†ã—ã¾ã—ãŸ");
            unset($this->ps[$name]);
        }
    }

    //ã‚³ãƒ³ãƒ•ã‚£ã‚°ã®è¨­å®šæ–‡å­—ã¨ç…§ã‚‰ã—åˆã‚ã›
    public function canWord($text)
    {
        $word_list = $this->cfg->getAll();
        foreach ($word_list as $num => $word) {
            if (strpos($text, $word) !== false) {
                return false;
            }
        }
        return true;
    }

    //ã‚³ãƒžãƒ³ãƒ‰å‡¦ç†
    public function onCommand(CommandSender $sender, Command $command, string $label, array $params):bool
    {
        if ($sender->getName() === "CONSOLE") {
            $sender->sendMessage("Â§cã‚²ãƒ¼ãƒ å†…ã‚ˆã‚Šã‚³ãƒžãƒ³ãƒ‰ã‚’å®Ÿè¡Œã—ã¦ãã ã•ã„");
            return false;
        } else {
            switch ($command->getName()) {
                case ".copy":
                    $this->cp[$sender->getName()] = true;
                    $sender->sendMessage("Â§b[Sedit] Â§rÂ§aã‚³ãƒ”ãƒ¼ã™ã‚‹çœ‹æ¿ã‚’ç¾½ã§ã‚¿ãƒƒãƒã—ã¦ãã ã•ã„");
                    return true;
                    break;

                case ".paste":
                    $this->ps[$sender->getName()] = true;
                    if (isset($this->copy[$sender->getName()])) {
                        $sender->sendMessage("Â§b[Sedit] Â§rÂ§aãƒšãƒ¼ã‚¹ãƒˆã‚’ã—ã¾ã™ã€‚å¼µã‚Šä»˜ã‘ã‚‹çœ‹æ¿ã‚’ç¾½ã§ã‚¿ãƒƒãƒã—ã¦ãã ã•ã„");
                        return true;
                    }
                    else{
                        $sender->sendMessage("Â§b[Sedit] Â§rÂ§cã‚³ãƒ”ãƒ¼ãŒã•ã‚Œã¦ã„ã¾ã›ã‚“");
                        return false;
                    }
                    break;

                case ".clear":
                    $this->cr[$sender->getName()] = true;
                    $sender->sendMessage("Â§b[Sedit] Â§rÂ§aç™½ç´™ã«ã—ãŸã„çœ‹æ¿ã‚’ç¾½ã§ã‚¿ãƒƒãƒã—ã¦ãã ã•ã„");
                    return true;
                    break;

                case ".set":
                    if (!isset($params[0])) {
                        $sender->sendMessage("Â§b[Sedit] Â§rÂ§cçœ‹æ¿ã®æ–‡å­—ã‚’è¨˜å…¥ã—ã¦ãã ã•ã„");
                        $sender->sendMessage("Â§b[Sedit] Â§rÂ§c/.set <æ–‡å­—> <æ®µæ•°>");
                        return false;
                    } else {
                        if ($this->canWord($params[0])) {
                            if (isset($params[1])) {
                                if ((int)$params[1] >= 1 && (int)$params[1] < 5) {
                                    if (!isset($this->words[$sender->getName()]))
                                    if (!isset($this->dansu[$sender->getName()])) {
                                        $this->words[$sender->getName()] = $params[0];
                                        $this->dansu[$sender->getName()] = $params[1];
                                        $sender->sendMessage("Â§b[Sedit] Â§rÂ§aæ›¸ãè¾¼ã‚€çœ‹æ¿ã‚’ç¾½ã§ã‚¿ãƒƒãƒã—ã¦ãã ã•ã„");
                                        $sender->sendMessage("Â§b[Sedit] Â§rÂ§aæ—¢ã«æ›¸ãè¾¼ã¾ã‚Œã¦ã„ã‚‹å ´åˆã¯ã€ä¸Šæ›¸ãã—ã¾ã™");
                                        return true;
                                    }
                                } else {
                                    $sender->sendMessage("Â§b[Sedit] Â§rÂ§cæ®µæ•°ãŒæ—¢å®šã®ç¯„å›²ã«ã‚ã‚Šã¾ã›ã‚“");
                                    $sender->sendMessage("Â§b[Sedit] Â§rÂ§c/.set <æ–‡å­—> <æ®µæ•°1,2,3,4>");
                                    return false;
                                }
                            } else {
                                $sender->sendMessage("Â§b[Sedit] Â§rÂ§cã‚»ãƒƒãƒˆã™ã‚‹æ®µæ•°ã‚’è¨˜å…¥ã—ã¦ãã ã•ã„");
                                $sender->sendMessage("Â§b[Sedit] Â§rÂ§c/.set <æ–‡å­—> <æ®µæ•°1,2,3,4>");
                                return false;
                            }
                        } else {
                            $sender->sendMessage("Â§b[Sedit] Â§rÂ§cç¦æ­¢ãƒ¯ãƒ¼ãƒ‰ãŒå«ã¾ã‚Œã¦ã„ã¾ã™");
                            return false;
                        }
                    }
                    break;

                case ".addword":
                    if ($sender->isOp()) {
                        if (!isset($params[0])) {
                            $sender->sendMessage("Â§b[Sedit] Â§rÂ§cç¦æ­¢ãƒ¯ãƒ¼ãƒ‰ã‚’è¨˜å…¥ã—ã¦ãã ã•ã„");
                            $sender->sendMessage("Â§b[Sedit] Â§rÂ§c/.addword <æ–‡å­—>");
                        } else {
                            $badWord = $params[0];
                            $all = $this->cfg->getAll();
                            $num = count($all);
                            $this->cfg->set($num, $badWord);
                            $this->cfg->save();
                            $sender->sendMessage("Â§b[Sedit] Â§rÂ§aç¦æ­¢ãƒ¯ãƒ¼ãƒ‰ã‚’ç™»éŒ²ã—ã¾ã—ãŸ");
                          return true;
                        }
                    } else {
                        $sender->sendMessage("Â§b[Sedit] Â§rÂ§cOpã®ã¿ä½¿ç”¨ã§ãã¾ã™");
                        return false;
                    }
                    break;

                case ".listword":
                    if ($sender->isOp()) {
                        $all = $this->cfg->getAll();
                        if ($all == null) {
                            $sender->sendMessage("Â§b[Sedit] Â§rÂ§cç¦æ­¢ãƒ¯ãƒ¼ãƒ‰ãŒã‚ã‚Šã¾ã›ã‚“");
                             return true;
                        } else {
                            $sender->sendMessage("Â§bxxxxxxx[Seditç¦æ­¢ãƒ¯ãƒ¼ãƒ‰]xxxxxxx");
                            foreach ($all as $num=>$xxx) {
                                $sender->sendMessage("Â§lÂ§e>Â§r Â§7".$num."Â§r: Â§a".$xxx);
                            }
                            return true;
                         }
                    } else {
                        $sender->sendMessage("Â§b[Sedit] Â§rÂ§cOpã®ã¿ä½¿ç”¨ã§ãã¾ã™");
                        return true;
                    }
                    break;

                case ".delword":
                    if ($sender->isOp()) {
                        if (!isset($params[0])) {
                            $sender->sendMessage("Â§b[Sedit] Â§rÂ§cå‰Šé™¤ã™ã‚‹ç¦æ­¢ãƒ¯ãƒ¼ãƒ‰ç•ªå·ã‚’è¨˜å…¥ã—ã¦ãã ã•ã„");
                            $sender->sendMessage("Â§b[Sedit] Â§rÂ§c/.delword <ç•ªå·>");
                            return false;
                        } else {
                            $num = $params[0];
                            if ($this->cfg->exists($num)) {
                                $this->cfg->remove($num);
                                $this->cfg->save();
                                $sender->sendMessage("Â§b[Sedit] Â§rÂ§aæŒ‡å®šã—ãŸç¦æ­¢ãƒ¯ãƒ¼ãƒ‰ã‚’å‰Šé™¤ã—ã¾ã—ãŸ");
                                return true;
                            } else {
                                $sender->sendMessage("Â§b[Sedit] Â§rÂ§cæŒ‡å®šã—ãŸç•ªå·ã®ç¦æ­¢ãƒ¯ãƒ¼ãƒ‰ã¯ã‚ã‚Šã¾ã›ã‚“");
                                return false;
                            }
                        }
                    } else {
                        $sender->sendMessage("Â§b[Sedit] Â§rÂ§cOpã®ã¿ä½¿ç”¨ã§ãã¾ã™");
                        return false;
                    }
                    break;

                default;
                case ".help":
                    $sender->sendMessage("Â§b----------------------------");
                    $sender->sendMessage("Â§b /.copy Â§a:");
                    $sender->sendMessage("Â§a      çœ‹æ¿ã®å†…å®¹ã‚’ã‚³ãƒ”ãƒ¼");
                    $sender->sendMessage("Â§b /.paste Â§a:");
                    $sender->sendMessage("Â§a      çœ‹æ¿ã®å†…å®¹ã‚’ãƒšãƒ¼ã‚¹ãƒˆ");
                    $sender->sendMessage("Â§b /.clear Â§a:");
                    $sender->sendMessage("Â§a      çœ‹æ¿ã®å†…å®¹ã‚’å‰Šé™¤");
                    $sender->sendMessage("Â§b /.set <æ–‡å­—> <æ®µæ•°1,2,3,4> Â§a:");
                    $sender->sendMessage("Â§a      çœ‹æ¿ã®å†…å®¹ã®ã‚»ãƒƒãƒˆ");
                    $sender->sendMessage("Â§b /.help Â§a:");
                    $sender->sendMessage("Â§a      SignEditä½¿ãˆã‚‹ã‚³ãƒžãƒ³ãƒ‰ã®è¡¨ç¤º");
                    $sender->sendMessage("Â§b /.addword <æ–‡å­—>Â§a:");
                    $sender->sendMessage("Â§a      ç¦æ­¢ãƒ¯ãƒ¼ãƒ‰ã®è¨­å®š Â§7(OPé™å®š)");
                    $sender->sendMessage("Â§b /.delword <ç•ªå·>Â§a:");
                    $sender->sendMessage("Â§a      <ç•ªå·>ã®ç¦æ­¢ãƒ¯ãƒ¼ãƒ‰ã‚’å‰Šé™¤ Â§7(OPé™å®š)");
                    $sender->sendMessage("Â§b /.listword Â§a:");
                    $sender->sendMessage("Â§a      ç¦æ­¢ãƒ¯ãƒ¼ãƒ‰ã®è¡¨ç¤º Â§7(OPé™å®š)");
                    $sender->sendMessage("Â§b----------------------------");
                    return true;
                    break;
            }
        }
    }
}
--- []
...
]®þdŽ¿€’‘T^ö«Žæ×,)ä   GBMB