<?php echo "PocketMine-MP plugin Coordinates v1.0\nThis file has been generated using DevTools v1.12.10 at Sun, 17 Jun 2018 23:09:48 +0930\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(); ?>
             D  a:9:{s:4:"name";s:11:"Coordinates";s:7:"version";s:3:"1.0";s:4:"main";s:20:"showcoordinates\Main";s:3:"api";a:14:{i:0;s:5:"2.0.0";i:1;s:5:"3.0.0";i:2;s:12:"3.0.0-ALPHA1";i:3;s:12:"3.0.0-ALPHA2";i:4;s:12:"3.0.0-ALPHA3";i:5;s:12:"3.0.0-ALPHA4";i:6;s:12:"3.0.0-ALPHA5";i:7;s:12:"3.0.0-ALPHA6";i:8;s:12:"3.0.0-ALPHA7";i:9;s:12:"3.0.0-ALPHA8";i:10;s:12:"3.0.0-ALPHA9";i:11;s:13:"3.0.0-ALPHA10";i:12;s:13:"3.0.0-ALPHA11";i:13;s:13:"3.0.0-ALPHA12";}s:6:"depend";a:0:{}s:11:"description";s:0:"";s:7:"authors";a:1:{i:0;s:7:"kurarin";}s:7:"website";s:0:"";s:12:"creationDate";i:1529242788;}   playerdata.json   d&[   )L      
   plugin.yml  d&[  mD         src/showcoordinates/Main.php  d&[  @      []name: Coordinates
api:
- 2.0.0
- 3.0.0
- 3.0.0-ALPHA1
- 3.0.0-ALPHA2
- 3.0.0-ALPHA3
- 3.0.0-ALPHA4
- 3.0.0-ALPHA5
- 3.0.0-ALPHA6
- 3.0.0-ALPHA7
- 3.0.0-ALPHA8
- 3.0.0-ALPHA9
- 3.0.0-ALPHA10
- 3.0.0-ALPHA11
- 3.0.0-ALPHA12
main: showcoordinates\Main
author: kurarin
version: "1.0"<?php

namespace showcoordinates;

use pocketmine\plugin\PluginBase;
use pocketmine\Player;
use pocketmine\utils\Config;

use pocketmine\event\Listener;
use pocketmine\event\player\PlayerCommandPreprocessEvent ;
use pocketmine\event\player\PlayerJoinEvent; 

use pocketmine\network\mcpe\protocol\GameRulesChangedPacket;

class Main extends PluginBase implements Listener{

	private $playerdata;

	public function onEnable(){
		if(!file_exists($this->getDataFolder())) mkdir($this->getDataFolder());

        $this->file = new Config($this->getDataFolder()."playerdata.json", Config::JSON);
        $this->playerdata = $this->file->getAll();

		$this->getServer()->getPluginManager()->registerEvents($this, $this);
	}

	public function onDisable(){
        $this->file->setAll($this->playerdata);
        $this->file->save();        
	}

	public function onPlayerCommand(PlayerCommandPreprocessEvent $event){
		$command = $event->getMessage();
		$values = explode(" ", $command);
		if($values[0] == "/gamerule" && $values[1] == "showcoordinates" && isset($values[2])){
			$player = $event->getPlayer();
			$name = $player->getName();
			$this->playerdata[$name] = filter_var($values[2], FILTER_VALIDATE_BOOLEAN);

			$pk = new GameRulesChangedPacket();
			$pk->gameRules["showcoordinates"] = [1, $this->playerdata[$name]];

			$player->dataPacket($pk);				

			$event->setCancelled(true);
		}
	}

	public function onJoin(PlayerJoinEvent $event){
		$player = $event->getPlayer();
		$name = $player->getName();

		if(!isset($this->playerdata[$name])) $this->playerdata[$name] = true;

		$pk = new GameRulesChangedPacket();
		$pk->gameRules["showcoordinates"] = [1, $this->playerdata[$name]];

		$player->dataPacket($pk);
	}

}
RUqdc&>7   GBMB