private void OnPlayerVoice(BasePlayer player, byte[] data)
 {
     if (player != null && TrackedPlayers.ContainsKey(player.userID))
     {
         TrackedPlayers[player.userID].ResetAFKTime();
     }
 }
 private void OnItemAction(Item item, string action, BasePlayer player)
 {
     if (player != null && TrackedPlayers.ContainsKey(player.userID))
     {
         TrackedPlayers[player.userID].ResetAFKTime();
     }
 }
 private void OnPlayerActiveItemChanged(BasePlayer player, Item oldItem, Item newItem)
 {
     if (player != null && TrackedPlayers.ContainsKey(player.userID))
     {
         TrackedPlayers[player.userID].ResetAFKTime();
     }
 }
        private void CanMoveItem(Item item, PlayerInventory playerLoot, uint targetContainer, int targetSlot, int amount)
        {
            var oplayer = playerLoot?.GetComponent <BasePlayer>();

            if (oplayer != null && TrackedPlayers.ContainsKey(oplayer.userID))
            {
                TrackedPlayers[oplayer.userID].ResetAFKTime();
            }
        }
        private void OnPlayerChat(ConsoleSystem.Arg arg)
        {
            var oplayer = arg?.Player();

            if (oplayer != null && TrackedPlayers.ContainsKey(oplayer.userID))
            {
                TrackedPlayers[oplayer.userID].ResetAFKTime();
            }
        }
        private void CanCraft(ItemCrafter itemCrafter, ItemBlueprint bp, int amount)
        {
            var oplayer = itemCrafter?.GetComponent <BasePlayer>();

            if (oplayer != null && TrackedPlayers.ContainsKey(oplayer.userID))
            {
                TrackedPlayers[oplayer.userID].ResetAFKTime();
            }
        }
        private void CanBuild(Planner planner, Construction prefab, Construction.Target target)
        {
            var oplayer = planner?.GetOwnerPlayer();

            if (oplayer != null && TrackedPlayers.ContainsKey(oplayer.userID))
            {
                TrackedPlayers[oplayer.userID].ResetAFKTime();
            }
        }
        private long GetPlayerAFKTime(ulong id)
        {
#if (DEBUG)
            Puts($"AFK time called for id:{id.ToString()}");
#endif
            if (TrackedPlayers.ContainsKey(id))
            {
                return(TrackedPlayers[id].TimeAFK);
            }
            else
            {
                return(-1L);
            }
        }