
<?php
echo "PocketMine-MP plugin CompassTp v1.1
This file has been generated using DevTools v1.13.0 at Sun, 17 Jun 2018 16:17:43 +0930
----------------
";

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(); ?>
W                a:9:{s:4:"name";s:9:"CompassTp";s:7:"version";d:1.1;s:4:"main";s:18:"HamuKatu\CompassTp";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:1529218063;}
   plugin.yml   &[   K.         src/HamuKatu/CompassTp.php;  &[;  ǒ      name: CompassTp
main: HamuKatu\CompassTp
version: 1.1
load: POSTWORLD
author: Hamukatu
api: 3.0.0

commands:
 compass:
  usage: 
  description: "§l§b特殊なコンパスを与えます"

<?php

namespace HamuKatu;

use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\event\player\PlayerInteractEvent;
use pocketmine\Player;
use pocketmine\math\Vector3;
use pocketmine\level\Position;
use pocketmine\level\Level;
use pocketmine\item\Item;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\CommandExecutor;
use pocketmine\utils\Binary;
use pocketmine\utils\Config;
use pocketmine\utils\Color;
use pocketmine\utils\TextFormat;
use pocketmine\utils\UUID;

class CompassTp extends PluginBase implements Listener{
	public function onEnable(){
		$this->getServer()->getPluginManager()->registerEvents($this, $this);

		if(!file_exists($this->getDataFolder())){mkdir($this->getDataFolder(), 0744, true);}

		$this->config = new Config($this->getDataFolder() . "setting.json", Config::JSON, array(
			'NAME' => '§l§bTP COMPASS',
			'KYORI' => '7' ));

		$name = $this->config->get("NAME");
		$compass = Item::get(345);
		$compass->setCustomName($name);
		$this->compass = $compass;
		Item::addCreativeItem($this->compass);

	}

    	public function PlayerInteract(PlayerInteractEvent $event){

    		$player = $event->getPlayer();

		if($player->getInventory()->getItemInHand()->getCustomName() === $this->config->get("NAME")){

			    $kyori = $this->config->get("KYORI");
				$dv = $player->getDirectionVector()->multiply($kyori);
                $pos = $player->add($dv->x, $dv->y, $dv->z);

                $player->teleport($pos);
					
		}

	}

		public function onCommand(CommandSender $sender, Command $command, string $label, array $args) :bool{
		switch (strtolower($command->getName())) {
			case "compass"://コマンドが/compassだったら...

			 if ($sender->isOp()) {

			$sender->getInventory()->addItem($this->compass);
			$sender->sendMessage("§l§bTP COMPASS§rを与えました");
		    	
			}else{

			    $sender->sendMessage("§4権限がありません");

			}

            break;

    }

		    return false;

    }
	
}
tkW/!Ca\;L   GBMB