mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-04-20 16:00:20 +00:00
Merge branch 'master' into pthreads-fix
This commit is contained in:
commit
09428bc8c7
@ -48,6 +48,10 @@ abstract class Timings{
|
||||
public static $serverCommandTimer;
|
||||
/** @var TimingsHandler */
|
||||
public static $worldSaveTimer;
|
||||
/** @var TimingsHandler */
|
||||
public static $permissibleCalculationTimer;
|
||||
/** @var TimingsHandler */
|
||||
public static $permissionDefaultTimer;
|
||||
|
||||
/** @var TimingsHandler */
|
||||
public static $entityMoveTimer;
|
||||
@ -98,6 +102,8 @@ abstract class Timings{
|
||||
self::$timeUpdateTimer = new TimingsHandler("Time Update");
|
||||
self::$serverCommandTimer = new TimingsHandler("Server Command");
|
||||
self::$worldSaveTimer = new TimingsHandler("World Save");
|
||||
self::$permissibleCalculationTimer = new TimingsHandler("Permissible Calculation");
|
||||
self::$permissionDefaultTimer = new TimingsHandler("Default Permission Calculation");
|
||||
|
||||
self::$entityMoveTimer = new TimingsHandler("** entityMove");
|
||||
self::$tickEntityTimer = new TimingsHandler("** tickEntity");
|
||||
|
@ -33,7 +33,7 @@ use pocketmine\item\Item;
|
||||
use pocketmine\level\format\FullChunk;
|
||||
use pocketmine\level\generator\populator\Ore;
|
||||
use pocketmine\level\generator\populator\Populator;
|
||||
use pocketmine\math\Vector3 as Vector3;
|
||||
use pocketmine\math\Vector3;
|
||||
use pocketmine\utils\Random;
|
||||
|
||||
class Flat extends Generator{
|
||||
|
@ -21,6 +21,7 @@
|
||||
|
||||
namespace pocketmine\permission;
|
||||
|
||||
use pocketmine\event\Timings;
|
||||
use pocketmine\plugin\Plugin;
|
||||
use pocketmine\Server;
|
||||
|
||||
@ -162,6 +163,8 @@ class PermissibleBase implements Permissible{
|
||||
}
|
||||
|
||||
public function recalculatePermissions(){
|
||||
Timings::$permissibleCalculationTimer->startTiming();
|
||||
|
||||
$this->clearPermissions();
|
||||
$defaults = Server::getInstance()->getPluginManager()->getDefaultPermissions($this->isOp());
|
||||
Server::getInstance()->getPluginManager()->subscribeToDefaultPerms($this->isOp(), $this->parent);
|
||||
@ -176,6 +179,8 @@ class PermissibleBase implements Permissible{
|
||||
foreach($this->attachments as $attachment){
|
||||
$this->calculateChildPermissions($attachment->getPermissions(), false, $attachment);
|
||||
}
|
||||
|
||||
Timings::$permissibleCalculationTimer->stopTiming();
|
||||
}
|
||||
|
||||
public function clearPermissions(){
|
||||
|
@ -28,6 +28,7 @@ use pocketmine\event\Event;
|
||||
use pocketmine\event\EventPriority;
|
||||
use pocketmine\event\HandlerList;
|
||||
use pocketmine\event\Listener;
|
||||
use pocketmine\event\Timings;
|
||||
use pocketmine\event\TimingsHandler;
|
||||
use pocketmine\permission\Permissible;
|
||||
use pocketmine\permission\Permission;
|
||||
@ -396,6 +397,7 @@ class PluginManager{
|
||||
* @param Permission $permission
|
||||
*/
|
||||
private function calculatePermissionDefault(Permission $permission){
|
||||
Timings::$permissionDefaultTimer->startTiming();
|
||||
if($permission->getDefault() === Permission::DEFAULT_OP or $permission->getDefault() === Permission::DEFAULT_TRUE){
|
||||
$this->defaultPermsOp[$permission->getName()] = $permission;
|
||||
$this->dirtyPermissibles(true);
|
||||
@ -405,6 +407,7 @@ class PluginManager{
|
||||
$this->defaultPerms[$permission->getName()] = $permission;
|
||||
$this->dirtyPermissibles(false);
|
||||
}
|
||||
Timings::$permissionDefaultTimer->startTiming();
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user