diff --git a/src/pocketmine/Server.php b/src/pocketmine/Server.php index 4b7b1f2bf..da87a1fcf 100644 --- a/src/pocketmine/Server.php +++ b/src/pocketmine/Server.php @@ -1920,6 +1920,7 @@ class Server{ $lastLoop = 0; $connectionTimer = Timings::$connectionTimer; while($this->isRunning){ + //TODO: move this to tick $connectionTimer->startTiming(); foreach($this->interfaces as $interface){ if($interface->process()){ diff --git a/src/pocketmine/scheduler/CallbackTask.php b/src/pocketmine/scheduler/CallbackTask.php index cc3a7668e..47a4c9a4c 100644 --- a/src/pocketmine/scheduler/CallbackTask.php +++ b/src/pocketmine/scheduler/CallbackTask.php @@ -45,6 +45,13 @@ class CallbackTask extends Task{ $this->args[] = $this; } + /** + * @return callable + */ + public function getCallable(){ + return $this->callable; + } + public function onRun($currentTicks){ call_user_func_array($this->callable, $this->args); } diff --git a/src/pocketmine/scheduler/ServerScheduler.php b/src/pocketmine/scheduler/ServerScheduler.php index 009a11c6f..44d97ceed 100644 --- a/src/pocketmine/scheduler/ServerScheduler.php +++ b/src/pocketmine/scheduler/ServerScheduler.php @@ -184,7 +184,18 @@ class ServerScheduler{ $period = 1; } - return $this->handle(new TaskHandler(get_class($task), $task, $this->nextId(), $delay, $period)); + if($task instanceof CallbackTask){ + $callable = $task->getCallable(); + if(is_array($callable)){ + $taskName = "Callback#" . get_class($callable[0]) . "::" . $callable[1]; + }else{ + $taskName = "Callback#" . $callable; + } + }else{ + $taskName = get_class($task); + } + + return $this->handle(new TaskHandler($taskName, $task, $this->nextId(), $delay, $period)); } private function handle(TaskHandler $handler){