ComputerCraft
Для издания | |
---|---|

Автор |
|

Дата выпуска |
25 декабря 2011 г. |

Совместимо с |
|

Установка |
См. Установка |

Требования | |

Ссылки |
Неофициальная версия для 1.10.2 и 1.11.2:CurseForge GitHub
GitHub |


**ComputerCraft** — модификация, добавляющая программируемые компьютеры и программируемых роботов (Turtle). Программы пишутся на языке Lua.

## Установка

- Установите Minecraft Forge.
- Скачайте
*ComputerCraft*. - Скопируйте файл в папку

.*<папка игры>*/mods

## Крафт

### Компьютер

Основа модификации, требуется для крафта «Черепашек». Можно поставить вплотную принтер, монитор, дисковод или все вместе для их использования. Используется для написания программ (edit <название программы>).

### Беспроводной модем

Модем действует на ограниченном расстоянии. Из-за этого возникает необходимость установки и программирования ретрансляторов, если вы хотите устанавливать связь между компьютерами, стоящими не «во дворе». Также это делает неудобной систему GPS навигации, опять же из-за необходимости слишком частой установки GPS-серверов. Присоединить модем к компьютеру можно с помощью `⇧ Shift`+`ПКМ`. Также можно установить его на черепашку или КПК (для этого нужно положить КПК в крафт вместе с модемом).

Расстояние действия модема (порядка 55 блоков) настраивается в `.minecraft\config\ComputerCraft.cfg`

, строка `modem_range=64`

. Для корректной работы рекомендуется выставлять значение не более 100 000.

### Проводной модем

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

### Сетевой кабель

Служит для соединения подключенных проводных модемов.

### Дисковод

Дисковод используется для записи файлов на дискеты.

### Дискета

Используется для записи и переноса файлов без использования RedNet сетей.

### Принтер

Печатает на бумаге, которая кладётся в верхний слот. Для печати требуются любые красители, которые требуется положить в левый слот. Отпечатанные страницы помещаются в нижнем слоте, отпечатанные страницы можно перепечатать, сохраняя текст который был ранее.

### Напечатанные страницы

Получается при скреплении 2 или более напечатанных страниц с помощью нити. Перемещаться между страницами можно с помощью стрелок влево/вправо (на клавиатуре).

### Напечатанная книга

Получается при добавлении кожи к напечатанной странице/страницам. Перемещаться между страницами можно с помощью стрелок влево/вправо (на клавиатуре).

### Черепашка

Является мобильной версией обычной консоли. Может танцевать, если запустить программу «dance». Добавляется только одно API — turtle (на чистом ComputerCraft), программы пишутся всё на том же Lua.

С версии мода 1.4 черепашки потребляют топливо. Заправить их можно любым горючим с помощью команды «refuel» (пишется прямо в консоли).

### Улучшенная черепашка

Усовершенствованная черепашка, поддерживающая Color API и управление мышью. Также её можно красить, нажав ПКМ по ней с красителем в руках

### Монитор

Используется для вывода информации. Можно поставить мониторы друг рядом с другом, чтобы получить экран большего размера.

### Улучшенный компьютер

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

### Улучшенный монитор

То же, что и монитор, но поддерживает цветное изображение и сенсорное управление.

### КПК

Тоже самое, что и компьютер, но переносной.

Является отсылкой к персональным переносным компьютерам Macintosh эпохи 70-ых, учитывая форму и присутствие яблока в крафте.

### Золотой КПК

Усовершенствованная версия КПК, поддерживающая Colour API и управление мышью.

### Сложности

Стоит отметить, что редактирование в модификации сделано крайне неудобно, поэтому рекомендуется редактировать код в нормальном редакторе (SublimeText, Visual Studio Code, vim), в игре же только исполнять его.

Код необходимо сохранять в `.minecraft/saves/WorldName/computer/ComputerID/ProgrammName`

, игра его сама подцепит. Сохранять без расширения.

Также можно распаковать модификацию в каталог, тогда появится возможность изменять программы сразу на всех компьютерах. Программы распакуются в `.minecraft/mods/ComputerCraft/assets/computercraft/lua/rom/programs`

. Дополнительное удобство этого способа в том что изменения программ можно делать во время игры.

Ещё из плохих вещей стоит отметить:

- отсутствие нормального вывода компилятора и вследствие того затруднённый дебаггинг;
- отсутствие ключей команд;
- каждый новый компьютер получает уникальный ComputerID и не видит программы всех остальных компьютеров. То есть все программы нужно копировать собственноручно, дополнительно помня каждый CompuretID каждого компьютера. Последний ComputerID прописан в
`.minecraft/saves/WorldName/computer/ComputerID/lastid.txt`

, при удалении данного файла он пересоздастся с ComputerID == 0- ComputerID меняется когда вы запускаете машину по ПКМ, а не когда ставите;
- новый компьютер будет иметь ComputerID++;
- создание нового компьютера не перезаписывает его каталог. То есть если есть каталог
`.minecraft/saves/WorldName/computer/3/`

, то машина в игре с ComputerID == 3 подхватит всё, что там лежит; - создаётся каталог для конкретной машины только если она записала непустой файл;


Соответствия команд:

linux | computercraft | Примечание |
---|---|---|

- | adventure |
Игра. Выход по exit. |

alias | alias name command |
alias. Список существующих алиасов посмотреть можно, но только сами имена оных, что они означают — не узнать. |

cd | cd path |
Нельзя вызывать без аргумента. |

clear | clear |
Очистить экран. |

cp -r | copy file directory |
file принимает только одно значение. |

rm -r | delete directory |
directory принимает только одно значение. |

- | dj |
Проигрыватель. |

- | drive |
К какому устройству примонтирован текущий каталог? |

- | edit |
Редактор текста, блокнот. |

- | eject |
Выплёвывает диск с данными. |

- | gps |
Запускает сервер GPS или возвращает координаты компьютера. |

- | hello |
Тест. |

- | help |
Справка. |

- | id |
Возвращает уникальный номер компьютера. |

- | label side name |
Переименовывает дискеты. Параметр side указывает на сторону компьютер, к которой приставлен дисковод. |

ls | list |
Выводит список директорий и файлов в выбранном каталоге. |

lua (если установлен) | lua |
Запускает исполнение lua-команд из консоли. exit() — выход. |

mkdir | mkdir directory |
directory принимает только одно значение. |

- | monitor |
Запускает программу на внешем мониторе. |

mv | move file directory |
file принимает только одно значение. |

cat | preview file |
|

- | programs |
Список программ. |

reboot | reboot |
Перезагрузка устройства. |

- | redprobe |
|

- | redpulse |
|

- | redset |
|

mv | rename file directory |
Равносильно move. |

- | shell |
Выводит версию CraftOS. |

shutdown now | shutdown |
Выключение устройства. |

date | time |
Выводит игровое время. |

file | type |
|

- | worm |
Игра. |


### Программные интерфейсы

- Bit API — Управление числами, использующими побитовые бинарные операции
- Colour API — Управление цветами(золотая консоль, монитор)
- Disk API — Управление дисководом и изменение дискет
- Fs API — Управление файлами и файловой системой
- Help API — Работа с файлами помощи
- Term API — Управление текстом
- Turtle API — Управление черепашками
- Redstone API — Управление редстоуном
- Window API — Создание окон
- Peripheral API — Управление периферией (внешними устройствами)
- Rednet API — Управление беспроводной и проводной сетью

### Программы

- Кодовый замок из компьютера
- Карьер — Программа для черепашки
- Автоматический генератор булыжника — Программа для черепашки
- Триггер — компактный триггер в компьютере