getOwnerName() . " Runnable: " . $task->getTaskName(); if($period > 0){ $name .= "(interval:" . $period . ")"; }else{ $name .= "(Single)"; } if(!isset(self::$pluginTaskTimingMap[$name])){ self::$pluginTaskTimingMap[$name] = new TimingsHandler($name, self::$schedulerSync); } return self::$pluginTaskTimingMap[$name]; } public static function getEntityTimings(Entity $entity) : TimingsHandler{ $entityType = (new \ReflectionClass($entity))->getShortName(); if(!isset(self::$entityTypeTimingMap[$entityType])){ self::$entityTypeTimingMap[$entityType] = new TimingsHandler(self::INCLUDED_BY_OTHER_TIMINGS_PREFIX . "Entity Tick - " . $entityType, self::$tickEntity); } return self::$entityTypeTimingMap[$entityType]; } public static function getTileEntityTimings(Tile $tile) : TimingsHandler{ $tileType = (new \ReflectionClass($tile))->getShortName(); if(!isset(self::$tileEntityTypeTimingMap[$tileType])){ self::$tileEntityTypeTimingMap[$tileType] = new TimingsHandler(self::INCLUDED_BY_OTHER_TIMINGS_PREFIX . "Block Entity Tick - " . $tileType, self::$tickTileEntity); } return self::$tileEntityTypeTimingMap[$tileType]; } public static function getReceiveDataPacketTimings(ServerboundPacket $pk) : TimingsHandler{ $pid = $pk->pid(); if(!isset(self::$packetReceiveTimingMap[$pid])){ self::$packetReceiveTimingMap[$pid] = new TimingsHandler(self::INCLUDED_BY_OTHER_TIMINGS_PREFIX . "Receive - " . $pk->getName(), self::$playerNetworkReceive); } return self::$packetReceiveTimingMap[$pid]; } public static function getDecodeDataPacketTimings(ServerboundPacket $pk) : TimingsHandler{ $pid = $pk->pid(); return self::$packetDecodeTimingMap[$pid] ??= new TimingsHandler( self::INCLUDED_BY_OTHER_TIMINGS_PREFIX . "Decode - " . $pk->getName(), self::getReceiveDataPacketTimings($pk) ); } public static function getHandleDataPacketTimings(ServerboundPacket $pk) : TimingsHandler{ $pid = $pk->pid(); return self::$packetHandleTimingMap[$pid] ??= new TimingsHandler( self::INCLUDED_BY_OTHER_TIMINGS_PREFIX . "Handler - " . $pk->getName(), self::getReceiveDataPacketTimings($pk) ); } public static function getEncodeDataPacketTimings(ClientboundPacket $pk) : TimingsHandler{ $pid = $pk->pid(); return self::$packetEncodeTimingMap[$pid] ??= new TimingsHandler( self::INCLUDED_BY_OTHER_TIMINGS_PREFIX . "Encode - " . $pk->getName(), self::getSendDataPacketTimings($pk) ); } public static function getSendDataPacketTimings(ClientboundPacket $pk) : TimingsHandler{ $pid = $pk->pid(); if(!isset(self::$packetSendTimingMap[$pid])){ self::$packetSendTimingMap[$pid] = new TimingsHandler(self::INCLUDED_BY_OTHER_TIMINGS_PREFIX . "Send - " . $pk->getName(), self::$playerNetworkSend); } return self::$packetSendTimingMap[$pid]; } }