2017-25 © Pedro Peláez
 

library standard

StandardExtensions for FlowyCore

image

flowy/standard

StandardExtensions for FlowyCore

  • Wednesday, May 16, 2018
  • by WhiteGrouse
  • Repository
  • 2 Watchers
  • 2 Stars
  • 4 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

StandardExtensions

Standard Extensions for FlowyCore

Install

composer require flowy/standard

Listen

Wait for any Event, (*1)

<?php
namespace ListenExample;
use Flowy\Flowy;
use function StandardExtensions\listen;

use pocketmine\event\player\PlayerEvent;
use pocketmine\event\player\PlayerJoinEvent;
use pocketmine\event\player\PlayerBedEnterEvent;
use pocketmine\event\player\PlayerBedLeaveEvent;
use pocketmine\event\player\PlayerQuitEvent;


class ListenExample extends Flowy{
    function onEnable(){
        $this->manage($this->listenExample());
    }

    function listenExample(){
        $event = yield listen(PlayerJoinEvent::class);
        $this->manage($this->listenExample());
        ($player = $event->getPlayer())->sendMessage("Welcome!!");
        $filter_player = function(PlayerEvent $ev) use ($player){
            return $ev->getPlayer() === $player;
        };

        while(true){
            $event = yield listen(
                PlayerBedEnterEvent::class,
                PlayerBedLeaveEvent::class,
                PlayerQuitEvent::class
            )->filter($filter_player);

            if($event instanceof PlayerBedEnterEvent){
                $player->chat("Zzz...");
            }
            else if($event instanceof PlayerBedLeaveEvent){
                $player->chat("I slept well!!");
            }
            else if($event instanceof PlayerQuitEvent){
                $player->chat("Bye");
                break;
            }
        }
    }
}

Delay

delay like sleep, (*2)

<?php
namespace DelayExample;

use Flowy\Flowy;
use function StandardExtensions\delay;

class DelayExample extends Flowy{
    function onEnable(){
        $this->manage($this->delayExample());
    }

    function delayExample(){
        $this->getLogger()->info("Start countdown!");
        for($i = 10; $i > 0; ++$i){
            $this->getLogger()->info("{$i}...");
            yield delay(20); //tick
        }
        $this->getLogger()->info("Countdown finished!");
    }
}

The Versions

16/05 2018

dev-master

9999999-dev

StandardExtensions for FlowyCore

  Sources   Download

LGPL-2.1

The Requires

 

14/05 2018

v1.0.0

1.0.0.0

StandardExtensions for FlowyCore

  Sources   Download

LGPL-2.1

The Requires