OpenComputers/Computer API

Этот интерфейс предоставляет информацию о компьютере, на котором запущена программа, такую как его адрес или время работы. Кроме того — некоторые функции для управления пользователями.


Возвращает адрес компонента.


Возвращает адрес файловой системы ROM (ПЗУ).

Внимание: эта функция устарела! Начиная с версии мода 1.3, компьютеры не имеют памяти ROM.


Возвращает адрес временной файловой системы компьютера (если такая существует).


Возвращает объём свободной памяти компьютера, в байтах. Если это число близко к нулю, велика вероятность того, что компьютер скоро завершит работу с ошибкой переполнения памяти.


Возвращает общий объём памяти, установленной в компьютер.


Возвращает количество энергии доступное в сети, в которой находится компьютер. Для робота — это количество его собственной энергии/топлива.


Возвращает максимальное количество энергии, которое может хранить сеть, подключенная к компьютеру. Для робота — это объём его встроенного аккумулятора.


Внимание: эта функция устарела! Используйте вместо неё component.isAvailable("robot").

Возвращает true, если компьютер — робот и false в противном случае.


Возвращает время работы компьютера в секундах. Время измеряется лишь в процессе игры. То есть когда игра стоит на паузе, время не считается.


Выключает компьютер. Перезагружает, если параметр reboot равен true.


Список всех пользователей, зарегистрированных на этом компьютере, в виде кортежа. Если вам необходимо использовать список с итератором используйте table.pack.

Вне зависимости от списка зарегистрированных пользователей, доступом к компьютеру всегда обладают администраторы сервера.


Регистрирует нового пользователя. Возвращает true, если пользователь был успешно добавлен, nil и сообщение ошибки в противном случае.

Добавляемый пользователь (игрок), должен в этот момент находиться в игре. Он получает полные права доступа к компьютеру.


Удаляет учётную запись пользователя. Возвращает true, если пользователь был успешно удален, false если такой пользователь зарегистрирован не был.

Удаленный пользователь теряет право доступа к компьютеру. Если были удалены все пользователи компьютера, он становится доступен любому игроку.


Добавляет новый сигнал в очередь. Очередь обрабатывается по принципу FIFO («Первым пришел — первым ушел»). Сигнал должен как минимум иметь название (name). Сопровождающие аргументы не обязательны. Обратите внимание, что сопровождающие аргументы ограничены базовыми типами данных: nil, boolean, number и string. Типы table и function не поддерживаются.


Пытается получить сигнал из очереди. Ожидает заданное время, в случае неудачи отправляет nil. Если время не было определено, продолжает ожидание.

Первое возвращаемое значение — название сигнала. Сопровождающие аргументы идут в том порядке, в каком были отправлены функцией computer.pushSignal

Важно: очень рекомендуется использовать функцию event.pull для обработки сигналов, вместо получения напрямую. Это будет гарантировать, что другие сигналы сети будут обрабатываться как события («event»), что требуется для работы некоторых библиотек (например — Term API). Кроме того, станет более удобной фильтрация событий.


Звук «динамика материнской платы». Компьютер издает звук заданной частоты и длительности.

Частота (frequency) звука задается в пределах 20-2000 Гц.

Продолжительность (duration) — от 0.05 до 5 секунд.

По умолчанию функция воспроизводит звук частотой 440 Гц, в течение 0,1 сек.


Пример

Пример использования интерфейса Computer API — программа, которая перезагружает компьютер работающий более 5 минут (300 секунд):

local computer = require("computer") if computer.uptime() >= 300 then computer.shutdown(true) end 
В данной статье используются материалы из статьи «OpenComputers/Computer API» с вики-сайта Minecraft Wiki, расположенного на Фэндоме, и они распространяются согласно лицензии Creative Commons Attribution-Share Alike. Авторы статьи.