Перейти к содержанию
Farlang

Почти универсальный робот-фермер

Рекомендуемые сообщения

Данная программа позволяет осуществлять сбор любой ванильной и ваниллаподобной культуры (не проверялось на кактусах, у тростника рекомендуется собирать только верхнюю часть).
Под ваниллаподобной культурой следует понимать культуру, сбор которой укладывается в алгоритм:
[проверить блок] - (проверить метадату) - [если проверки пройдены, собрать культуру ЛКМ/ПКМ] - (высадить блок ПКМ), где [] - обязательный пункт, а () - необязательный. Жердочки из IC частично поддерживаются (все, кроме резинового тростника и веномилии). Одним роботом может обслуживаться неограниченное (вернее, ограниченное вместимостью инвентаря робота и его ОЗУ) количество полей разных культур.

Системные требования:

  • Процессор второго уровня (рекомендуется)
  • Две планки ОЗУ второго уровня (рекомендуется)
  • Жесткий диск первого уровня
  • Геолайзер
  • Улучшения "Инвентарь" и "Продвинутый контроллер инвентаря"
  • Улучшение "Притягивающий луч" как выяснилось, не требуется
  • Видеокарта, монитор, клавиатура (крайне рекомендуется)

Пример робота:
http://i.imgur.com/q027ast.png

 

Как использовать робота:

 

Первым делом надо определить место установки робота. Программу можно будет запускать только с этого места!
Место установки включает в себя координаты по всем трем осям и ориентацию (posx, negx, posz, negz). Под этим местом необходимо разместить воронку для выгрузки собранных айтемов. Также, если робот будет заряжаться, зарядник следует разместить так, чтобы не мешать проходу робота, например, в стене.
После этого следует убедиться, что между всеми полями существует свободный проход и что над растениями свободен минимум один блок. Робот не имеет алгоритма поиска пути и будет идти "напролом", а значит, ему нельзя преграждать путь. Крайне рекомендуется располагать все поля в прямоугольной области, а также на одной высоте.

Затем следует открыть исходный код и отредактировать переменные c четвертой строки по тринадцатую. Назначение переменных прокомментировано в самом коде. Изменив значения переменных, не листайте дальше, чтобы не увидеть велосипеды на костылях.
Далее следует создать текстовый файл по адресу /fields.txt, в котором описать все поля, предназначенные к сбору роботом. После этого робот готов к работе. Установите робота на его место установки и запускайте программу.

 

Cтруктура файла fields.txt:

 

Каждое поле описывается одной строкой, поля идут в порядке сбора.
Строка поля должна быть вида:

startPosX,startPosZ,anotherPosX,anotherPosZ,fieldY,blockToTake,itemToPlant,fullGrownState,isRight 

startPosX и startPosZ это координаты начальной точки поля. С этой точки робот будет начинать сбор.

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

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

blockToTake это name блока, который требуется собирать. Например, minecraft:carrots для моркови или minecraft:melon_block для арбузов.

itemToPlant это name айтема, который требуется высаживать. Если после сбора ничего высаживать не требуется, следует написать nil. Можно написать и другое несуществующее name, но тогда робот будет все время пытаться найти ваш айтем (и, следовательно, работать медленнее).

fullGrownState это metadata созревшего растения. Если metadata проверять не требуется, следует написать -1.

isRight это необязательный флаг, указывающий, что культуру следует собирать ПКМ. По умолчанию стоит в false.

Пример файла fields.txt:
http://pastebin.com/H10k6QkV
Ферма, соответствующая этому файлу:
http://i.imgur.com/wP5gAaa.png

 

Скачать:

 

http://pastebin.com/K4DU8d3n

 

Дополнительно:

 

Просьба к играющим на МТ проверить работу робота с тамошними ваниллаподобными культурами, если такие там есть.

 

Автор выражает благодарности:

  • Totoro, который ответил на несколько моих глупых вопросов.
  • AlexCC, который запретил сборщик урожая и тем самым побудил меня написать данную программу.
  • Fingercomp, который натолкнул меня на мысль добавить поддержку сбора культуры ПКМ.

 

UPD: Добавлена поддержка сбора культуры ПКМ. Это открывает возможности для частичной поддержки жердочек из IC - их состояние невозможно узнать, но большинство из них собираются только на последней стадии, так что с ними все-таки можно работать.

Изменено пользователем Farlang

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У нас там по-другому немного: собирается ПКМ всё, высаживать дополнительно не нужно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У нас там по-другому немного: собирается ПКМ всё, высаживать дополнительно не нужно.

Он без лагонутых жердочек.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Автор выражает благодарности:

  • Totoro, который ответил на несколько моих глупых вопросов.
  • AlexCC, который запретил сборщик урожая и тем самым побудил меня написать данную программу.

 

:)

 

Отличная программа!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

А вы в курсе, кто помогал ему? Клик Это тот человек, что графическую оболочку для Open OS написал))) Но скорее всего он помогал ему не на прямую, а своими видео на канале.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...