<?php echo "Altay plugin Elevator v1.2.1\nThis file has been generated using Turanic at Tue, 22 Oct 2019 14:02:33 +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(); ?>
b                a:9:{s:4:"name";s:8:"Elevator";s:7:"version";s:5:"1.2.1";s:4:"main";s:17:"Ree\elevator\main";s:3:"api";a:1:{i:0;s:5:"3.0.0";}s:6:"depend";a:0:{}s:11:"description";s:0:"";s:7:"authors";a:0:{}s:7:"website";s:0:"";s:12:"creationDate";i:1571720553;}
   plugin.ymlD   i]D   j         src/Ree/elevator/main.php  i]  .?      name: Elevator
main: Ree\elevator\main
api : 3.0.0
version: 1.2.1<?php

namespace Ree\elevator;

use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\Server;
use pocketmine\utils\Config;
use pocketmine\math\Vector3;

use pocketmine\event\player\PlayerJumpEvent;
use pocketmine\event\player\PlayerToggleSneakEvent;

class main extends PluginBase implements Listener
{
    const block = 42;
    const elevator = 148;

    public function onEnable()
    {
        $this->getLogger()->info("loading now...");
        $this->getServer()->getPluginManager()->registerEvents($this, $this);
        $this->elevator = new Config($this->getDataFolder() . "elevator.yml", Config::YAML, array(
            'Authority required for use//使用に必要な権限[op or true]' => 'op',
            'Available world//使用可能なワールド[string]' => 'world,lobby',
            'message//メッセージ(up)' => '{name} useElevator {block}up',
            'message//メッセージ(down)' => '{name} useElevator {block}down'
        ));
        if (!$this->elevator->exists("message//メッセージ[true or false]: false")) {
            $this->elevator->remove("message//メッセージ[true or false]");
            $this->elevator->save();
        }

        $this->authority = $this->elevator->get("Authority required for use//使用に必要な権限[op or true]");
        $this->world = $this->elevator->get("Available world//使用可能なワールド[string]");
        $this->world = explode(",", $this->world);
        $this->messageup = $this->elevator->get("message//メッセージ(up)");
        $this->messagedown = $this->elevator->get("message//メッセージ(down)");
    }

    private function elevator($level, $x, $y, $z)
    {
        $vector3 = new Vector3($x, $y, $z);

        if (self::elevator == $level->getBlock(new Vector3($x, $y, $z))->getId()) {
            if (self::block == $level->getBlock(new Vector3($x, $y - 1, $z))->getId()) {
                return true;
            }
        }

        return false;
    }

    public function onJump(PlayerJumpEvent $ev)
    {
        $p = $ev->getPlayer();
        $n = $p->getName();
        $level = $p->getlevel();
        $x = $p->getX();
        $y = floatval(sprintf("%.0f", $p->getY()));
        $z = $p->getZ();

        if ($this->request($p)) {
            foreach ($this->world as $world) {
                $world = $this->getServer()->getLevelByName($world);
                if ($level == $world) {
                    if ($this->elevator($level, $x, $y, $z)) {
                        for ($i = 2; $i <= 15; $i++) {
                            if (self::elevator == $level->getBlock(new Vector3($x, $y + $i, $z))->getId()) {
                                if (self::block == $level->getBlock(new Vector3($x, $y + $i - 1, $z))->getId()) {
                                    $p->teleport(new Vector3($x, $y + $i, $z));
                                    $messageup = str_replace("{name}", $n, $this->messageup);
                                    $messageup = str_replace("{block}", $i, $messageup);
                                    $p->addActionBarMessage($messageup);
                                    break;
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    public function onSneak(PlayerToggleSneakEvent $ev)
    {
        $p = $ev->getPlayer();
        $n = $p->getName();
        $level = $p->getlevel();
        $x = $p->getX();
        $y = floatval(sprintf("%.0f", $p->getY()));
        $z = $p->getZ();

        if (empty($this->sneak[$n])) {
            $this->sneak[$n] = true;
        }

        if ($ev->isSneaking()) {
            if ($this->request($p)) {
                if ($this->sneak[$n]) {
                    foreach ($this->world as $world) {
                        $world = $this->getServer()->getLevelByName($world);
                        if ($level == $world) {
                            if ($this->elevator($level, $x, $y, $z)) {
                                for ($i = 2; $i <= 15; $i++) {
                                    if (self::elevator == $level->getBlock(new Vector3($x, $y - $i, $z))->getId()) {
                                        if (self::block == $level->getBlock(new Vector3($x, $y - $i - 1, $z))->getId()) {
                                            $p->teleport(new Vector3($x, $y - $i, $z));
                                            $messagedown = str_replace("{name}", $n, $this->messagedown);
                                            $messagedown = str_replace("{block}", $i, $messagedown);
                                            $p->addActionBarMessage($messagedown);
                                            $this->sneak[$n] = false;
                                            break;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        } else {
            $this->sneak[$n] = true;
        }
    }

    private function request($p)
    {
        if ($this->authority) {
            return true;
        } else {
            if ($p->isOp()) {
                return true;
            } else {
                return false;
            }
        }
    }
}aJW6Nj
4\Hf   GBMB