<?php __HALT_COMPILER(); ?>
¢                     src/elytra/MainClass.phpÅ  Ž,RZÅ  -M*Ÿ¶         src/elytra/item/Elytra.php  Ž,RZ  ´¤3¶      
   plugin.ymlÜ   Ž,RZÜ   Cb®E¶      <?php

namespace elytra;

use pocketmine\plugin\PluginBase;
use pocketmine\entity\Entity;

use pocketmine\event\Listener;
use pocketmine\event\player\PlayerMoveEvent;
use pocketmine\event\server\DataPacketReceiveEvent;

use pocketmine\item\Item;
use pocketmine\item\ItemFactory;

use pocketmine\network\mcpe\protocol\PlayerActionPacket;

use elytra\item\Elytra;

class MainClass extends PluginBase implements Listener {

    public function onEnable(){
    	ItemFactory::registerItem(new Elytra());
    	Item::addCreativeItem(new Elytra());

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

    public function onMove(PlayerMoveEvent $event){
    	$player = $event->getPlayer();

    	if($this->isGliding($player)) $player->resetFallDistance();
    }

    public function onPacketReceive(DataPacketReceiveEvent $event){
    	$pk = $event->getPacket();
    	if($pk instanceof PlayerActionPacket){

    		switch ($pk->action) {

    			case PlayerActionPacket::ACTION_START_GLIDE:
    				$this->setGliding($event->getPlayer(), true);
    				return true;

    			case PlayerActionPacket::ACTION_STOP_GLIDE :
    				$this->setGliding($event->getPlayer(), false);
    				return true;

    		}

    	}
    }

    public function isGliding($player){
    	return $player->getGenericFlag(Entity::DATA_FLAG_GLIDING);
    }

    public function setGliding($player, $value){
    	$player->setGenericFlag(Entity::DATA_FLAG_GLIDING, $value);
    }

}

?><?php

namespace elytra\item;

use pocketmine\item\Armor;

class Elytra extends Armor{

	const ID = 444;

	public function __construct(int $meta = 0){
		parent::__construct(self::ID, $meta, "Elytra");
	}

	public function getDefensePoints() : int{
		return 0;
	}

}name: Elytra
version: 1.0
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
main: elytra\MainClass£²<¤Ù´¯A2*‡²ï@wÂãJO   GBMB