ComputerCraft/Turtle API
*Эта статья о Turtle API. О черепашке смотрите здесь.*

Turtle API используется для работы с черепашками.

## Обозначения

Цвет | Черепашки, которые могут выполнять это |
---|---|

Белый | Все |

Зелёный | Крафт |

Жёлтый | Добыча, Рубка, Копание, Земледелие |

Красный | Любой инструмент |


## API

Возвращает | Название метода | Описание | Минимальная версия |
---|---|---|---|

boolean (успешность) | turtle.craft(количество) | Крафтит предмет, используя ингредиенты из инвентаря черепашки, и кладёт результаты крафта в активный слот. Если передано количество, то черепашка будет крафтить это количество предметов, иначе она будет крафтить столько, сколько возможно. | |

boolean (успешность) | turtle.forward() | Перемещает черепашку на 1 блок вперёд. | |

boolean (успешность) | turtle.back() | Перемещает черепашку на 1 блок назад. | |

boolean (успешность) | turtle.up() | Перемещает черепашку на 1 блок вверх. | |

boolean (успешность) | turtle.down() | Перемещает черепашку на 1 блок вниз. | |

true | turtle.turnLeft() | Поворачивает черепашку на 90 градусов влево. | |

true | turtle.turnRight() | Поворачивает черепашку на 90 градусов вправо. | |

boolean (успешность) | turtle.select(номерСлота) | Черепашка выбирает слот (1 — верхний левый слот, 16 (9 в версии 1.33 и раньше) — нижний правый). | |

number (результат) | turtle.getItemCount(номерСлота) | Считает количество предметов в данном слоте. | |

number (результат) | turtle.getItemSpace(номерСлота) | Считает, сколько надо предметов, чтобы полностью заполнить стак в данном слоте. | |

table (данные) | turtle.getItemDetail(номерСлота) | Возвращает название предмета, значение урона и количество предметов в слоте. | 1.64 |

boolean (успешность) | turtle.equipLeft() | Пытается экипировать предмет в текущий слот на левой стороне черепашки, перемещая в инвентарь предмет, экипированный ранее. | 1.6 |

boolean (успешность) | turtle.equipRight() | Пытается экипировать предмет в текущий слот на правой стороне черепашки, перемещая в инвентарь предмет, экипированный ранее. | 1.6 |

boolean (успешность) | turtle.attack() | Атакует существо перед черепашкой. | 1.4 |

boolean (успешность) | turtle.attackUp() | Атакует существо над черепашкой. | 1.4 |

boolean (успешность) | turtle.attackDown() | Атакует существо под черепашкой. | 1.4 |

boolean (успешность) | turtle.dig() | Ломает блок перед черепашкой. С мотыгой взрыхляет землю спереди черепашки. | |

boolean (успешность) | turtle.digUp() | Ломает блок над черепашкой. С мотыгой взрыхляет землю над черепашкой. | |

boolean (успешность) | turtle.digDown() | Ломает блок под черепашкой. С мотыгой взрыхляет землю под черепашкой. | |

boolean (успешность) | turtle.place(текст Таблички) | Устанавливает блок из текущего слота перед черепашкой. Если предоставлен текст Таблички, то пишет его на табличке. | 1.4 |

boolean (успешность) | turtle.placeUp() | Устанавливает блок из текущего слота над черепашкой. | |

boolean (успешность) | turtle.placeDown() | Устанавливает блок из текущего слота под черепашкой. | |

boolean (результат) | turtle.detect() | Проверяет, есть ли блок перед черепашкой. Не детектирует мобов. | |

boolean (результат) | turtle.detectUp() | Проверяет, есть ли блок над черепашкой. Не детектирует мобов. | |

boolean (результат) | turtle.detectDown() | Проверяет, есть ли блок под черепашкой. Не детектирует мобов. | |

boolean (успешность), table (данные)/string (сообщение об ошибке) | turtle.inspect() | Возвращает название и метаданные блока перед черепашкой. | 1.64 |

boolean (успешность), table (данные)/string (сообщение об ошибке) | turtle.inspectUp() | Возвращает название и метаданные блока над черепашкой. | 1.64 |

boolean (успешность), table (данные)/string (сообщение об ошибке) | turtle.inspectDown() | Возвращает название и метаданные блока под черепашкой. | 1.64 |

boolean (результат) | turtle.compare() | Сравнивает блок перед черепашкой и в текущем слоте. Возвращает `true` , если блоки одинаковые, `false` , если нет.
|
|

boolean (результат) | turtle.compareUp() | Сравнивает блок над черепашкой и в текущем слоте. Возвращает `true` , если блоки одинаковые, `false` , если нет.
|
|

boolean (результат) | turtle.compareDown() | Сравнивает блок под черепашкой и в текущем слоте. Возвращает `true` , если блоки одинаковые, `false` , если нет.
|
|

boolean (результат) | turtle.compareTo(номерСлота) | Сравнивает блоки между текущим выбранным слотом и указанным в переменной номерСлота. Возвращает `true` , если одинаковые, `false` , если нет.
|
1.4 |

boolean (успешность) | turtle.drop(количество) | Выкидывает все предметы из текущего слота, или, если предоставлено `количество` , выбрасывает это количество предметов.[С версии 1.4:] Если есть инвентарь спереди (например, сундук), то черепашка попытается переместить предметы в этот инвентарь. Если инвентарь полон, то она возвратит `false` .
|
|

boolean (успешность) | turtle.dropUp(количество) | Выкидывает все предметы вверх из текущего слота, или, если предоставлено `количество` , выбрасывает это количество предметов.[С версии 1.4:] Если есть инвентарь сверху (например сундук), то черепашка попытается переместить предметы в этот инвентарь. Если инвентарь полон, то она возвратит `false` .
|
|

boolean (успешность) | turtle.dropDown(количество) | Выкидывает все предметы вниз из текущего слота, или, если `количество` предоставлено, выбрасывает это количество предметов.[С версии 1.4:] Если есть инвентарь снизу (например сундук), то черепашка попытается переместить предметы в этот инвентарь. Если инвентарь полон, то она возвратит `false` .
|
|

boolean (успешность) | turtle.suck() | Черепашка подбирает предметы перед ней или из инвентаря спереди. Если черепашка не может подобрать эти предметы, этот метод возвратит `false` .
|
1.4 |

boolean (успешность) | turtle.suckUp() | Черепашка подбирает предметы над ней или из инвентаря сверху. Если черепашка не может подобрать эти предметы, этот метод возвратит `false` .
|
1.4 |

boolean (успешность) | turtle.suckDown() | Черепашка подбирает предметы под ней, или из инвентаря снизу. Если черепашка не может подобрать эти предметы, этот метод возвратит `false` .
|
1.4 |

boolean (успешность) | turtle.refuel(количество) | Если текущий слот содержит топливо, то черепашка заберёт весь стек и перезарядится. Добавлено в версии 1.4 и требуется только в режиме turtleNeedsFuel(то есть требуется энергия). Если текущий слот не содержит топливо, то метод возвратит `false` . Количество движений для каждого типа топлива вы можете найти ниже. Если `количество` предоставлено, то будет использоваться это количество, иначе заберётся весь стек.
|
1.4 |

number (количество топлива) | turtle.getFuelLevel() | Возвращает уровень топлива черепашки (количество блоков, которая она может пройти). Если `turtleNeedFuel = 0` , то этот метод возвратит "unlimited".
|
1.4 |

number (количество топлива) | turtle.getFuelLimit() | Возвращает максимальный уровень топлива, который может хранить в себе черепашка (20000 для обычных и 100000 для золотых по умолчанию). Если `turtleNeedFuel = 0` , то этот метод возвратит "unlimited".
|
1.6 |

boolean (успешность) | turtle.transferTo(номерСлота, количество) | Перемещает предметы из текущего слота в определённый слот с номером `номерСлота` в количестве `количество` .
|
1.45 |


## Turtle.refuel

Количество перемещений от определённых предметов.

Предмет | Перемещений получено
(блок) |
Время горения в печи
(секунда) |
Модификация |
---|---|---|---|

Канистра биотоплива | 520 | неизвестно | IndustrialCraft 2 |

Утильсырьё | 15 | неизвестно | IndustrialCraft 2 |

Канистра угольного топлива | 1520 | неизвестно | IndustrialCraft 2 |

Леса | 15 | 15 | IndustrialCraft 2 |

Торф | 80 | неизвестно | Forestry |

Сахар | 0 | не горит в печи | Стандартный Minecraft |

Деревянные инструменты | 10 | 10 | Стандартный Minecraft |

Лава | 1000 | 1000 | Стандартный Minecraft |

Огненный стержень | 120 | 120 | Стандартный Minecraft |

Древесина и Доски | 15 | 15 | Стандартный Minecraft |

Палка | 5 | 5 | Стандартный Minecraft |

Уголь/Древесный уголь | 80 | 80 | Стандартный Minecraft |

Блоки огромных грибов | 15 | 15 | Стандартный Minecraft |

Коксовый уголь | 320 | 160 | Railcraft |


1.41:

Формула для высчитывания количества движений из топлива: `((топливо / 100) * 6)`,

Где `топливо`

— время сгорания предметов в обычной печи.

1.42:

Формула изменена на `((топливо * 6) / 100)`.

Это даёт более аккуратное количество передвижений.

1.48:

Формула изменена на `((топливо * 5) / 100)`.