<?php echo "Altay plugin EconomyBank v1.0.3\nThis file has been generated using Turanic at Thu, 18 Oct 2018 18:46:21 +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(); ?>
5               a:9:{s:4:"name";s:11:"EconomyBank";s:7:"version";s:5:"1.0.3";s:4:"main";s:16:"EconomyBank\main";s:3:"api";a:1:{i:0;s:5:"4.0.0";}s:6:"depend";a:0:{}s:11:"description";s:0:"";s:7:"authors";a:1:{i:0;s:5:"PJZ9n";}s:7:"website";s:16:"http://asvd.net/";s:12:"creationDate";i:1539855981;}   src/EconomyBank/saveTask.php¢  mVÈ[¢  ԑòj¶         src/EconomyBank/main.phpë  mVÈ[ë  ¤¹¶      !   src/EconomyBank/eventListener.phpò  mVÈ[ò  Æû6¶         src/EconomyBank/bankCommand.php¡  mVÈ[¡  N«Þ¶      
   plugin.yml   mVÈ[   ¬>×;¶      <?php

    namespace EconomyBank;


    use pocketmine\plugin\Plugin;
    use pocketmine\scheduler\Task;

    class saveTask extends Task
    {
        private $plugin;

        public function __construct(Plugin $plugin)
        {
            $this->plugin = $plugin;
        }

        public function onRun(int $currentTick)
        {
            $this->plugin->money->save();
        }

    }<?php

    namespace EconomyBank;

    use pocketmine\plugin\PluginBase;
    use pocketmine\utils\Config;

    class main extends PluginBase
    {
        public $money;
        public $formId;
        const SUCCESS_TAG = "§l§bSUCCESS §a>> §r";
        const ERROR_TAG = "§l§4ERROR §a>> §r";

        public function onEnable(): void
        {
            $this->getLogger()->info("{$this->getDescription()->getName()} {$this->getDescription()->getVersion()} が読み込まれました");
            $this->getServer()->getPluginManager()->registerEvents(new eventListener($this), $this);
            $this->getServer()->getCommandMap()->register("bank", new bankCommand($this));
            if (!file_exists($this->getDataFolder())) {
                mkdir($this->getDataFolder(), 0777);
            }
            $this->money = new Config($this->getDataFolder() . "money.yml", Config::YAML);
            $this->formId[0] = mt_rand(50000, 100000);
            $this->formId[1] = mt_rand(50000, 100000);
            $this->formId[2] = mt_rand(50000, 100000);
            $this->formId[3] = mt_rand(50000, 100000);
            $this->getScheduler()->scheduleRepeatingTask(new saveTask($this), 20 * 60 * 5);//5分ごと
        }

        public function onDisable(): void
        {
            $this->money->save();
            $this->getLogger()->info("{$this->getDescription()->getName()} {$this->getDescription()->getVersion()} が終了しました");
        }
    }<?php

    namespace EconomyBank;


    use onebone\economyapi\EconomyAPI;
    use pocketmine\event\Listener;
    use pocketmine\event\player\PlayerLoginEvent;
    use pocketmine\event\server\DataPacketReceiveEvent;
    use pocketmine\network\mcpe\protocol\ModalFormRequestPacket;
    use pocketmine\network\mcpe\protocol\ModalFormResponsePacket;
    use pocketmine\plugin\Plugin;

    class eventListener implements Listener
    {
        private $plugin;

        public function __construct(Plugin $plugin)
        {
            $this->plugin = $plugin;
        }

        public function onLogin(PlayerLoginEvent $event)
        {
            $player = $event->getPlayer();
            $name = $player->getName();
            $this->plugin->money->set($name, 0);
        }

        public function onDataPacketReceive(DataPacketReceiveEvent $event)
        {
            $player = $event->getPlayer();
            $name = $player->getName();
            $receive_packet = $event->getPacket();
            if ($receive_packet instanceof ModalFormResponsePacket) {
                $formId = $receive_packet->formId;
                $formData = json_decode($receive_packet->formData, true);
                if ($formData !== null) {
                    if ($formId === $this->plugin->formId[0]) {
                        if ($formData === 0) {
                            $money = EconomyAPI::getInstance()->myMoney($player);
                            $bank_money = $this->plugin->money->get($name);
                            $packet = new ModalFormRequestPacket();
                            $form = array(
                                "type" => "custom_form",
                                "title" => "BANK",
                                "content" => array(
                                    array(
                                        "type" => "label",
                                        "text" => "あなたの所持金： {$money}\nあなたの預金： {$bank_money}",
                                    ),
                                    array(
                                        "type" => "input",
                                        "text" => "入金する金額",
                                    ),
                                ),
                            );
                            $packet->formData = json_encode($form);
                            $packet->formId = $this->plugin->formId[1];
                            $player->sendDataPacket($packet);
                        } else if ($formData === 1) {
                            $money = EconomyAPI::getInstance()->myMoney($player);
                            $bank_money = $this->plugin->money->get($name);
                            $packet = new ModalFormRequestPacket();
                            $form = array(
                                "type" => "custom_form",
                                "title" => "BANK",
                                "content" => array(
                                    array(
                                        "type" => "label",
                                        "text" => "あなたの所持金： {$money}\nあなたの預金： {$bank_money}",
                                    ),
                                    array(
                                        "type" => "input",
                                        "text" => "出金する金額",
                                    ),
                                ),
                            );
                            $packet->formData = json_encode($form);
                            $packet->formId = $this->plugin->formId[2];
                            $player->sendDataPacket($packet);
                        } else if ($formData === 2) {
                            $money = EconomyAPI::getInstance()->myMoney($player);
                            $bank_money = $this->plugin->money->get($name);
                            $packet = new ModalFormRequestPacket();
                            $form = array(
                                "type" => "form",
                                "title" => "BANK",
                                "content" => "あなたの所持金： {$money}\nあなたの預金： {$bank_money}\n--預金ランキング--",
                                "buttons" => array(),
                            );
                            $count = 1;
                            $all_bank = $this->plugin->money->getAll();
                            foreach ($all_bank as $key => $value) {
                                $is_player = $this->plugin->getServer()->getOfflinePlayer($key);
                                if ($is_player !== null && $is_player->isOp()) {
                                    unset($all_bank[$key]);
                                }
                            }
                            arsort($all_bank);
                            foreach ($all_bank as $key => $value) {
                                $color = "§f";
                                if ($count === 1) {
                                    $color = "§l§e";
                                } else if ($count === 2) {
                                    $color = "§l§7";
                                } else if ($count === 3) {
                                    $color = "§l§6";
                                }
                                $form["content"] .= "\n{$color}{$count}§r. §a{$key}§r: §b{$value}";
                                $count++;
                            }
                            $packet->formData = json_encode($form);
                            $packet->formId = $this->plugin->formId[3];
                            $player->sendDataPacket($packet);
                        }
                    } else if ($formId === $this->plugin->formId[1]) {
                        $money = EconomyAPI::getInstance()->myMoney($player);
                        //$bank_money = $this->plugin->money->get($name);
                        $in_money = $formData[1];
                        if (is_numeric($in_money)) {
                            if ($in_money <= $money) {
                                EconomyAPI::getInstance()->reduceMoney($player, $in_money);
                                $this->plugin->money->set($name, $this->plugin->money->get($name) + $in_money);
                                $player->sendMessage(main::SUCCESS_TAG . "{$in_money} の預入に成功しました！");
                            } else {
                                $player->sendMessage(main::ERROR_TAG . "所持金が不足しています！");
                            }
                        } else {
                            $player->sendMessage(main::ERROR_TAG . "金額は数値である必要があります！");
                        }
                    } else if ($formId === $this->plugin->formId[2]) {
                        //$money = EconomyAPI::getInstance()->myMoney($player);
                        $bank_money = $this->plugin->money->get($name);
                        $out_money = $formData[1];
                        if (is_numeric($out_money)) {
                            if ($out_money <= $bank_money) {
                                EconomyAPI::getInstance()->addMoney($player, $out_money);
                                $this->plugin->money->set($name, $this->plugin->money->get($name) - $out_money);
                                $player->sendMessage(main::SUCCESS_TAG . "{$out_money} の出金に成功しました！");
                            } else {
                                $player->sendMessage(main::ERROR_TAG . "預金が不足しています！");
                            }
                        } else {
                            $player->sendMessage(main::ERROR_TAG . "金額は数値である必要があります！");
                        }
                    }
                }
            }
        }
    }<?php

    namespace EconomyBank;

    use onebone\economyapi\EconomyAPI;
    use pocketmine\command\Command;
    use pocketmine\command\CommandSender;
    use pocketmine\network\mcpe\protocol\ModalFormRequestPacket;
    use pocketmine\Player;
    use pocketmine\plugin\Plugin;

    class bankCommand extends Command
    {

        private $plugin;

        public function __construct(Plugin $plugin)
        {
            $this->plugin = $plugin;
            parent::__construct("bank", "Bankを開く", "/bank");
            $this->setPermission("economybank.command.bank");
        }

        public function execute(CommandSender $sender, string $commandLabel, array $args): bool
        {
            $name = $sender->getName();
            if (!$sender instanceof Player) {
                $sender->sendMessage(main::ERROR_TAG . "このコマンドはプレイヤーのみ実行できます。");
                return true;
            }
            $money = EconomyAPI::getInstance()->myMoney($sender);
            $bank_money = $this->plugin->money->get($name);
            $packet = new ModalFormRequestPacket();
            $form = array(
                "type" => "form",
                "title" => "BANK",
                "content" => "あなたの所持金： {$money}\nあなたの預金： {$bank_money}",
                "buttons" => array(
                    array(
                        "text" => "入金する",
                    ),
                    array(
                        "text" => "出金する",
                    ),
                    array(
                        "text" => "預金ランキング",
                    ),
                ),
            );
            $packet->formData = json_encode($form);
            $packet->formId = $this->plugin->formId[0];
            $sender->sendDataPacket($packet);
            return true;
        }

    }name: EconomyBank
main: EconomyBank\main
version: 1.0.3
api: [4.0.0]
load: POSTWORLD
author: PJZ9n
desctiption: PMMP EconomyBank Plugin
website: http://asvd.net/
permissions:
  economybank:
    default: op
    description: "Allows using all the EconomyBank things"
    children:
      economybank.command:
        default: op
        description: "Allows using all the EconomyBank commands"
        children:
          economybank.command.bank:
            default: true
            description: "Allows all the bank command"líÿ0OҚ„=ƒlÔJ÷l‡0Ý   GBMB