mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-10-18 12:04:46 +00:00
Implemented QueryRegenerateEvent as base for other interfaces
This commit is contained in:
@@ -45,6 +45,7 @@ use pocketmine\entity\Zombie;
|
||||
use pocketmine\event\HandlerList;
|
||||
use pocketmine\event\level\LevelInitEvent;
|
||||
use pocketmine\event\level\LevelLoadEvent;
|
||||
use pocketmine\event\server\QueryRegenerateEvent;
|
||||
use pocketmine\event\server\ServerCommandEvent;
|
||||
use pocketmine\event\Timings;
|
||||
use pocketmine\event\TimingsHandler;
|
||||
@@ -232,6 +233,9 @@ class Server{
|
||||
/** @var QueryHandler */
|
||||
private $queryHandler;
|
||||
|
||||
/** @var QueryRegenerateEvent */
|
||||
private $queryRegenerateTask = null;
|
||||
|
||||
/** @var Config */
|
||||
private $properties;
|
||||
|
||||
@@ -1656,7 +1660,6 @@ class Server{
|
||||
|
||||
$this->network = new Network($this);
|
||||
$this->network->setName($this->getMotd());
|
||||
$this->network->registerInterface(new RakLibInterface($this));
|
||||
|
||||
|
||||
$this->logger->info($this->getLanguage()->translateString("pocketmine.server.info", [
|
||||
@@ -1694,6 +1697,10 @@ class Server{
|
||||
set_exception_handler([$this, "exceptionHandler"]);
|
||||
register_shutdown_function([$this, "crashDump"]);
|
||||
|
||||
$this->queryRegenerateTask = new QueryRegenerateEvent($this, 5);
|
||||
|
||||
$this->network->registerInterface(new RakLibInterface($this));
|
||||
|
||||
$this->pluginManager->loadPlugins($this->pluginPath);
|
||||
|
||||
$this->updater = new AutoUpdater($this, $this->getProperty("auto-updater.host", "www.pocketmine.net"));
|
||||
@@ -2111,6 +2118,10 @@ class Server{
|
||||
|
||||
}
|
||||
|
||||
public function getQueryInformation(){
|
||||
return $this->queryRegenerateTask;
|
||||
}
|
||||
|
||||
/**
|
||||
* Starts the PocketMine-MP server and starts processing ticks and packets
|
||||
*/
|
||||
@@ -2123,7 +2134,7 @@ class Server{
|
||||
$this->network->blockAddress($entry->getName(), -1);
|
||||
}
|
||||
|
||||
if($this->getProperty("settings.send-usage", true) !== false){
|
||||
if($this->getProperty("settings.send-usage", true)){
|
||||
$this->sendUsageTicker = 6000;
|
||||
$this->sendUsage(SendUsageTask::TYPE_OPEN);
|
||||
}
|
||||
@@ -2471,9 +2482,12 @@ class Server{
|
||||
$this->maxTick = 20;
|
||||
$this->maxUse = 0;
|
||||
|
||||
if($this->queryHandler !== null and ($this->tickCounter & 0b111111111) === 0){
|
||||
if(($this->tickCounter & 0b111111111) === 0){
|
||||
try{
|
||||
$this->queryHandler->regenerateInfo();
|
||||
$this->getPluginManager()->callEvent($this->queryRegenerateTask = new QueryRegenerateEvent($this, 5));
|
||||
if($this->queryHandler !== null){
|
||||
$this->queryHandler->regenerateInfo();
|
||||
}
|
||||
}catch(\Exception $e){
|
||||
if($this->logger instanceof MainLogger){
|
||||
$this->logger->logException($e);
|
||||
|
Reference in New Issue
Block a user