OpenComputers/Плата отладчик

**Плата-отладчик** — устройство, которое доступно только в режиме игры Creative. Плата подключается к компьютеру (планшету или роботу) и делает доступным специальный набор команд, с помощью которого игрок может изменять мир программно. Например - добавлять или удалять блоки.

**Внимание**: сделайте копию вашего сохранения перед тем, как использовать плату-отладчик. Поскольку плата оперирует потенциально опасными функциями, ошибка в коде может привести к порче вашего мира.

## API

Название компонента: `debug`


`getWorld():userdata`


Возвращает объект World (см. ниже), отображающий мир, в котором установлена плата.

`getPlayer(name:string): userdata`


Возвращает объект Player (см. ниже), отображающий игрока с заданным ником.

`getX(): number`


Возвращает X координату контейнера с платой (компьютер, робот или планшет).

`getY(): number`


Возвращает Y координату контейнера с платой.

`getZ(): number`


Возвращает Z координату контейнера с платой.

`changeBuffer(number): number`


Изменяет количество энергии в буфере контейнера с платой (компьютер, робот или планшет).

`runCommand(command:string):number`


Выполняет произвольную команду от лица "виртуального игрока", представляющего мод OpenComputers. Имя и UUID этого "игрока" можно настроить в файле конфигурации мода.

## Объект World

Этот объект отображает мир (измерение) в котором находится контейнер с платой-отладчиком.

`getDimensionName(): string`


Возвращает название измерения.

`getDimensionID(): number`


Возвращает числовой идентификатор (ID) измерения.

`getSeed(): number`


Возвращает зерно генерации мира.

`isRaining(): boolean`


Возвращает `true/false`

в зависимости от того, идет или нет дождь.

`setRaining(boolean)`


Позволяет управлять дождем (`true`

- дождь пойдет, `false`

- дождь прекратится).

`isThundering(): boolean`


Возвращает `true`

во время грозы (`false`

- в другую погоду.)

`setThundering(boolean)`


Позволяет начать или прекратить грозу.

*Примечание:* для того, чтобы началась гроза, должен идти дождь.

`getTime(): number`


Возвращает текущее игровое время в тактах (ticks).

`setTime(number)`


Устанавливает игровое время в тактах.

`getSpawnPoint(): number, number, number`


Возвращает координаты спауна игрока.

`setSpawnPoint(x: number, y:number, z:number)`


Устанавливает новые координаты спауна игрока.

`getBlockId(x: number, y:number, z:number): number`


Возвращает числовой ID блока по заданным координатам.

`getMetadata(x: number, y:number, z:number): number`


Возвращает метаданные блока по заданным координатам.

`isLoaded(x: number, y:number, z:number): number`


Возвращает `true/false`

, в зависимости от того, загружен ли блок по указанным координатам (т.е. загружен ли чанк, содержащий указанный блок).

`hasTileEntity(x: number, y:number, z:number): number`


Проверяет, содержит ли указанный блок "сущность блока" (Tile Entity).

`getLightOpacity(x: number, y:number, z:number): number`


Возвращает яркость света в указанном блоке.

`getLightValue(x: number, y:number, z:number): number`


Возвращает значение света (излучение) указанного блока.

`canSeeSky(x: number, y:number, z:number): number`


Возвращает `true`

, если указанный блок находится под открытым небом.

`setBlock(x: number, y:number, z:number, id:number, meta:number)`


Добавляет блок с указанными данными по заданным координатам.

`setBlocks(x0: number, y0:number, z0:number, x1: number, y1:number, z1:number, id:number, meta:number)`


Изменяет все блоки в области, определенной двумя угловыми точками: (x0, y0, z0) и (x1, y1, z1).

## Объект Player

Этот объект отображает одного игрока в мире.

`getWorld(): userdata`


Возвращает объект World (см. выше), отображающий мир (измерение), в котором находится игрок.

`getGameType(): string`


Возвращает игровой режим.

`setGameType(value: string)`


Меняет игровой режим.

`getPosition(): number, number, number`


Возвращает координаты игрока.

`setPosition(x: number, y:number, z:number)`


Изменяет координаты игрока.

`getHealth(): number`


Возвращает текущее здоровье игрока.

`getMaxHealth(): number`


Возвращает максимально возможное здоровье игрока.

`setHealth(value:number)`


Изменяет текущий уровень здоровья игрока.