flowy / standard
This package is abandoned and no longer maintained.
No replacement package was suggested.
Standard functions for FlowyCore
v3.1.2.1
2019-12-07 05:35 UTC
Requires
- php: >=7.2.0
- php-64bit: *
- flowy/core: >=3.1.0
This package is auto-updated.
Last update: 2020-06-04 06:30:31 UTC
README
###Standard Extensions for FlowyCore
Install
composer require flowy/standard
Listen
Wait for any Event
<?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
<?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!"); } }