mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-04 00:55:14 +00:00
Fix ^^
This commit is contained in:
@ -37,10 +37,9 @@ class ConsoleAPI{
|
|||||||
|
|
||||||
public function init(){
|
public function init(){
|
||||||
if(HAS_EVENT){
|
if(HAS_EVENT){
|
||||||
$this->event = new EventBase();
|
$this->loop = new EventBase();
|
||||||
$event = new Event($this->event, STDIN, Event::READ | Event::PERSIST, array($this, "readLine"));
|
$event = new Event($this->loop, STDIN, Event::READ | Event::PERSIST, array($this, "readLine"));
|
||||||
$event->add();
|
$event->add();
|
||||||
$this->event->loop(EventBase::LOOP_NONBLOCK);
|
|
||||||
}else{
|
}else{
|
||||||
$this->event = $this->server->event("server.tick", array($this, "handle"));
|
$this->event = $this->server->event("server.tick", array($this, "handle"));
|
||||||
$this->loop = new ConsoleLoop();
|
$this->loop = new ConsoleLoop();
|
||||||
@ -70,6 +69,7 @@ class ConsoleAPI{
|
|||||||
|
|
||||||
function __destruct(){
|
function __destruct(){
|
||||||
if(HAS_EVENT){
|
if(HAS_EVENT){
|
||||||
|
$this->server->deleteEvent($this->event);
|
||||||
$this->loop->stop();
|
$this->loop->stop();
|
||||||
}else{
|
}else{
|
||||||
$this->server->deleteEvent($this->event);
|
$this->server->deleteEvent($this->event);
|
||||||
@ -247,18 +247,22 @@ class ConsoleAPI{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function handle($time){
|
public function handle($time){
|
||||||
if($this->loop->line !== false){
|
if(HAS_EVENT){
|
||||||
$line = trim($this->loop->line);
|
$this->loop->loop(EventBase::LOOP_NONBLOCK);
|
||||||
$this->loop->line = false;
|
|
||||||
$output = $this->run($line, "console");
|
|
||||||
if($output != ""){
|
|
||||||
$mes = explode("\n", trim($output));
|
|
||||||
foreach($mes as $m){
|
|
||||||
console("[CMD] ".$m);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}else{
|
}else{
|
||||||
$this->loop->notify();
|
if($this->loop->line !== false){
|
||||||
|
$line = trim($this->loop->line);
|
||||||
|
$this->loop->line = false;
|
||||||
|
$output = $this->run($line, "console");
|
||||||
|
if($output != ""){
|
||||||
|
$mes = explode("\n", trim($output));
|
||||||
|
foreach($mes as $m){
|
||||||
|
console("[CMD] ".$m);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$this->loop->notify();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user