PermissibleBase: compute permission diff, do not fire callbacks when diff is empty

this fixes AvailableCommandsPacket getting sent twice when adding a PermissionAttachment.
This commit is contained in:
Dylan K. Taylor
2020-12-02 01:09:29 +00:00
parent 6720e658bd
commit 0634426c26
5 changed files with 42 additions and 10 deletions

View File

@ -79,6 +79,10 @@ abstract class Timings{
public static $generationCallbackTimer;
/** @var TimingsHandler */
public static $permissibleCalculationTimer;
/** @var TimingsHandler */
public static $permissibleCalculationDiffTimer;
/** @var TimingsHandler */
public static $permissibleCalculationCallbackTimer;
/** @var TimingsHandler */
public static $entityMoveTimer;
@ -156,6 +160,8 @@ abstract class Timings{
self::$populationTimer = new TimingsHandler("World Population");
self::$generationCallbackTimer = new TimingsHandler("World Generation Callback");
self::$permissibleCalculationTimer = new TimingsHandler("Permissible Calculation");
self::$permissibleCalculationDiffTimer = new TimingsHandler(self::INCLUDED_BY_OTHER_TIMINGS_PREFIX . "Permissible Calculation - Diff", self::$permissibleCalculationTimer);
self::$permissibleCalculationCallbackTimer = new TimingsHandler(self::INCLUDED_BY_OTHER_TIMINGS_PREFIX . "Permissible Calculation - Callbacks", self::$permissibleCalculationTimer);
self::$syncPlayerDataLoad = new TimingsHandler("Player Data Load");
self::$syncPlayerDataSave = new TimingsHandler("Player Data Save");