Теплица для кристаллов

Теплица для кристаллов

alaindustrial:crystal_farm_controller
Сельское хозяйствоLVРеализованоagriculturecrystalamethystmultiblockgreenhousefarming

Сводка

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

Теплица — постройка, а не станок. Игрок сам возводит герметичную комнату, ставит внутрь кристаллические рассадники, скармливает им осколки — и они начинают плодоносить настоящими ванильными аметистовыми друзами. Не похожими, а теми же самыми блоками: они так же выглядят, так же звучат, так же ломаются и так же реагируют на Удачу, потому что дроп считает ванильная loot-таблица.

Что отличает её от инкубатора. Инкубатор — про вероятность и мгновенный результат: положил, заплатил ураном и EU/FE, получил. Теплица — про ожидание и наблюдение: результат детерминирован, а платой служит время. Это два разных жанра машины, и они намеренно не пересекаются.

Сборка комнаты

Теплица состоит из пяти блоков, но обязательных среди них два — пол теплицы и

БлокРоль
Пол теплицыоболочка: настил, стены, потолок — всё, что не стекло
Стекло теплицыоболочка: остекление, которое при сборке сливается в один лист
Дверь теплицывход; сама закрывается за игроком
Контроллер теплицымозг: сканирует комнату, ведёт рост, докладывает об ошибках
Кристаллический рассадникставится внутри; на нём растут друзы

Контроллер встраивается в стену панелью наружу — интерьер комнаты лежит с обратной стороны от той грани, куда он смотрит. Контроллер в полу или потолке не годится: это панель, которую читают.

Форма — любая замкнутая

Комната не обязана быть коробкой. Контроллер заливает объём воздуха внутри и принимает всё, что этот воздух удерживает: купол, ступенчатую пирамиду, пристройку буквой Г, теплицу в два этажа с проёмом между ними. Ограничения только по объёму:

ПараметрЗначениеКлюч настроек
Наименьший объём27 блоков
Наибольший объём4096 блоков
Предельное удаление от контроллера24 блока
Интервал пересканирования40 тиков (2 с)

Объём, а не длина ребра: «три блока в поперечнике» ничего не значит для купола.

Предельное удаление — второй, более жёсткий предохранитель, чем лимит объёма. Он не про баланс: негерметичная комната иначе уводила бы заливку на десятки блоков в сторону, читая чанки, которые могут быть не загружены.

Стекло годится любое — ванильное, цветное, из другого мода через #c:glass_blocks. Цветная теплица получается сама собой, отдельного кода на это нет. Дверь тоже принимается любая ванильная, не только своя.

Что игрок видит при сборке

Скан невидим, поэтому сборка показывается тремя способами разом:

читается одной поверхностью, а не стопкой ящиков; по контуру рамка остаётся, обводя силуэт;

Разобрали стену — оболочка мгновенно возвращается к рассыпчатому виду.

Когда комната не закрывается

Контроллер по ПКМ докладывает в чат, что не так. Если теплица уже собиралась раньше, к сообщению прибавляются координаты пропавшего блока, и из него идёт дым каждые две секунды.

Строка подписана тегом [Ala Industrial]: чат — общая полоса с сервером и всеми остальными модами, и без подписи непонятно, кто вообще говорит. Ответ читается до того, как прочитано предложение — зелёный значит «замкнута», красный «нет», — а числа и координаты вынуты из текста белым, потому что именно их игрок идёт искать.

СостояниеЧто сообщается
Собранаобъём, число рассадников, есть ли вода
Не замкнутакоординаты пропавшего блока, если он определим; иначе просто «не замкнута»
Слишком малабез координат
Контроллер не в стенекоординаты контроллера
Второй контроллеркоординаты чужого контроллера

Координаты показываются не всегда, и это осознанно. Заливка не умеет сказать, где течёт: она выходит через дыру и идёт дальше, пока не упрётся в предел удаления. Поэтому дыру ищут не по заливке, а по списку ячеек оболочки, запомненному с прошлой удачной сборки — пропавший блок это тот из них, который перестал быть блоком оболочки. У теплицы, которая ни разу не собиралась, сравнивать не с чем, и тогда координаты не показываются вовсе: отправить игрока смотреть не туда хуже, чем честно сказать «не замкнута».

Рассадник

Крафтится мёртвым — тот же кристаллический камень, что и ванильный расцветающий аметист, только из него ушёл цвет. Скормите ему аметистовый осколок (ПКМ), и он нальётся цветом и начнёт плодоносить.

крафт.

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

Друзы растут на свободных гранях рассадника, проходя ванильные стадии малый бутон → средний → крупный → друза. Готовая друза сбивается киркой и даёт 4 осколка (ванильная таблица, Удача работает). Недозрелый бутон не даёт ничего — как в ваниле.

Рассадник вне теплицы честно об этом говорит. Заряжать его можно где угодно, счётчик будет расти совершенно так же — а не вырастет ничего. Поэтому при кормлении блока, за которым не следит ни одна собранная теплица, вместо счётчика приходит предупреждение.

Энергия

ПолеЗначение
Рольпотребитель с буфером, необязательный
Буфер (EU/FE)4000
Макс. вход (EU/FE/такт)32 (LV)
EU/FE за событие роста64

Энергия здесь — ускоритель, а не условие. Теплица без единого кабеля работает, просто медленно. EU/FE списывается только за состоявшееся событие роста: энергия покупает кристаллы, а не броски кубика.

Рост и баланс

Рост вероятностный, как у ванильного аметиста: каждые тиков каждый рассадник бросает кубик. Своя кость у каждой грядки — общий бросок заставил бы всю теплицу расти в ногу, и это читалось бы как машина, а не как живое.

Один кристалл стоит четырёх событий: бутон должен появиться и трижды подрасти.

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

УсловияДелительРеального времениИгровых суток
Ничего270≈ 1 ч 30 мин4,5
Только EU/FE135≈ 45 мин2,25
Только опрыскиватель135≈ 45 мин2,25
Только вода90≈ 30 мин1,5
Вода и EU/FE45≈ 15 мин0,75
Вода и опрыскиватель45≈ 15 мин0,75
EU/FE и опрыскиватель67≈ 22 мин1,1
Всё сразу22≈ 7 мин0,37

Игровые сутки — 20 реальных минут, по этому курсу и пересчитан последний столбец. Деление целочисленное, поэтому полный набор даёт 22, а не 22,5.

Это время одной грядки, а не теплицы. Грядки растут параллельно, каждая со своей костью, поэтому зал из 25 грядок отдаёт кристалл раз в ~3,6 минуты даже без единого ускорителя, а с полным набором — раз в 18 секунд. Масштаб здесь даёт больше, чем ускорители: теплице положено расти вширь.

Третий ускоритель — опрыскиватель. Поставьте его внутрь собранной комнаты с питательным раствором в баке, и контроллер найдёт его сам при очередном скане. Аура опрыскивателя тут ни при чём: рассадники не реагируют на костную муку и не тикают сами, поэтому работает именно ось контроллера. Раствор списывается за состоявшийся кристалл, не за попытку — ровно как EU/FE.

ПараметрЗначениеКлюч настроек
Интервал попытки роста100 тиков (5 с)
Базовый делитель270
Ускорение от воды÷3
Ускорение от питания÷2
Ускорение от опрыскивателя÷2
Раствора за событие роста50 мБ
Бутонов за осколок1

Экономика. Осколок вошёл — кристалл вышел — четыре осколка вернулись. Возврат четырёхкратный, оплаченный полутора часами. Полный заряд рассадника (16 бутонов) стоит 16 осколков и отдаёт 64 за примерно сутки работы загруженного чанка.

Числа держит L1-тест CrystalGrowthTest: он проверяет и что осколок возвращается дороже себя, и что возврат не улетел вверх — ферма, печатающая аметист, ломает ветку так же надёжно, как ферма, его съедающая.

Дверь

Обычная ванильная дверь по механике — петли, две половины, редстоун — с одной добавкой: она закрывается сама.

ПараметрЗначениеКлюч настроек
Задержка автозакрытия100 тиков (5 с)
Повторная проверка занятого проёма10 тиков

Открытая дверь теплицу НЕ разгерметизирует. Сканер смотрит на то, чем блок является, а не на то, приоткрыт ли он — ровно как у шлюза реактора, — поэтому теплица с распахнутой дверью продолжает расти. Раньше здесь было написано обратное; аудит поймал, что это никогда не было правдой.

Вариант «открытая дверь ломает герметичность» рассматривался и отвергнут: он честен, но тогда каждый проход внутрь гасил бы всю оболочку и перекрашивал её обратно через пять секунд — теплица размером с зал мигала бы дважды за визит, и это тысячи обновлений блоков в каждую сторону.

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

открытой намеренно», и таймер отступал; теперь теплица закрыта безусловно. Цена названа, а не спрятана: под постоянно поднятым рычагом дверь откроется один раз, закроется через 5 секунд и откроется снова только по перещёлкиванию сигнала — закрытие намеренно не сбрасывает POWERED, иначе ваниль откроет дверь на следующем же обновлении соседей и та будет хлопать, пока рычаг поднят. Шлюз на импульсе кнопки это не затрагивает.

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

Свойства блоков

БлокПрочностьВзрывИнструментПримечание
Пол теплицы3.06.0киркасвойства formed/edge
Стекло теплицы3.06.0кирка, свойства formed/edge
Дверь теплицы3.06.0кирка, ломается поршнем
Контроллер3.06.0киркасвойство formed, горизонтальный facing
Рассадник3.06.0кирказвук аметиста, свойства charges/tended

Рассадник всегда возвращается мёртвым: заряд — это потраченное время, и отдавать работающую грядку в карман нельзя.

Рецепты

ЧтоСхемаВыход
Пол теплицыTGT / GTG / TGT — T: пластина закалённого железа, G: стекло4
Стекло теплицыGGG / GTG / GGG8
Дверь теплицыGG / GG / TT — G: стекло теплицы2
КонтроллерKAK / CMC / KKK — K: пол теплицы, A: аметистовый осколок, C: электронная схема, M: корпус машины1
РассадникQSQ / SAS / QSQ — Q: кварц, S: гладкий базальт, A: аметистовый блок1

Рассадник строится вокруг блока аметиста — как ванильный расцветающий аметист и есть аметист. При этом ни один рецепт теплицы не требует того, ради чего она существует: осколки нужны на кормление, а не на постройку, иначе ферму пришлось бы оплачивать тем самым дефицитом, который она чинит.

Прогрессия

телепорта, лапотрон и резонансный кристалл.

возобновляемым, но не создаёт его из ничего.

Производительность

Единственный тикающий объект теплицы — контроллер. У рассадников и у растущих на них друз нет ни блок-энтити, ни случайного тика: ферма из сотни грядок добавляет миру один тикающий объект. Это же делает правило «растёт только в собранной комнате» верным по построению, а не по проверке, которую можно забыть.

Связанное

детерминированного роста во времени.

геометрия оболочки, сканеры разные (коробка против заливки объёма).

Крафт

Крафт на верстаке
Пол теплицы
Amethyst Shard
Пол теплицы
Электронная схема
Машинный корпус
Электронная схема
Пол теплицы
Пол теплицы
Пол теплицы
Верстак
Контроллер теплицы
Контроллер теплицы