Станція дрона-садівника

Станція дрона-садівника

alaindustrial:garden_drone_station
Сільське господарствоLVРеалізованоtier-lvagriculturedroneautomationber

Зведення

Станція дрона-садівника — блок-док 1×1 (як база робота-пилососа), з якого піднімається дрон і облітає територію навколо станції радіусом 4 блоки. Дрон не сутність, а об'єкт, який відмальовує рендерер самої станції — візуально він виглядає й рухається як літальний апарат, але фізично завжди «належить» блоку станції й не може покинути її зону.

Гравець кладе у станцію насіння й кісткове борошно, підключає EU/FE — і дрон далі сам підтримує грядки: оре вільну землю, садить насіння в порожні клітини над придатним ґрунтом, пришвидшує ріст недостиглих культур кістковим борошном, виполює траву й кущі, під якими земля не ореться, і звозить стиглий урожай прямо у свої вихідні слоти (без предметів-сутностей у світі). Заміщає заплановані, але нереалізовані «Автодогляд за культурами» й «Збирач урожаю» — один блок замість двох, без дублювання механіки.

Енергія

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

Станція підключається до енергомережі як звичайний споживач на всіх робочих гранях. EU/FE списується лише за фактично виконану дію — оранка, посадка, удобрення, збір або прополювання однієї клітини — за патерном Електронагрівача: простій (нічого робити в радіусі — насіння/добриво скінчилися, або всі клітини вже обслужені) коштує 0 EU/FE, і станція йде в сон, не витрачаючи енергію даремно й не перетворюючись на паразитний стік для мережі.

Процесинг

Станція не використовує систему рецептів переробки — замість неї за кожен виліт дрона (коли ціль знайдена) виконується одна з п'яти дій над однією клітиною зони.

ПолеЗначення
Тип рецептанемає (не рецептна машина)
Дій за виліт1 (одна дія — одна клітина)
Авто-вивантаженнятак (урожай одразу у вихідні слоти станції)

Мотика — інструмент трьох дій. Оранка, збір урожаю й прополювання витрачають по 1 одиниці міцності мотики з її слота і без мотики не виконуються: інструмент, який витрачається на дію, але не потрібен для неї, гравцеві незрозумілий. Посадка й удобрення мотики не потребують.

Мотика спрацьовується до кінця — і слот звільняється. Станція витрачає останню одиницю міцності, після чого мотика ламається й зникає зі слота рівно так само, як у руках у гравця: зі звуком поломки й частинками. Це не косметика, а умова автоматизації — порожній слот приймає нову мотику з лійки, і ферма працює без нагляду. Знос іде ванільним шляхом, тому Unbreaking враховується: зачарована мотика живе у станції стільки ж, скільки в руках. Уже зламану мотику слот не приймає — інакше вона зайняла б його назавжди.

Пріоритет дій (перевіряється в цьому порядку, виконується перша, що підійшла):

  1. Зібрати — клітина зі стиглою культурою в радіусі (потрібна мотика й незаблокований вихід).
  2. Посадити — порожня клітина над ґрунтом із #minecraft:supports_crops + є відповідне насіння у слоті.
  3. Удобрити — клітина з недостиглою культурою + є кісткове борошно у слоті.
  4. Виполоти — трава або кущ із теґу бур'янів (потрібна мотика й незаблокований вихід).
  5. Зорати — клітина з ванільною землею або дерном, над якою порожньо (потрібна мотика; переводить її в грядку).

Такий порядок гарантує, що «ферма сама себе обслуговує» без розривів: без оранки як останньої дії обіцянка ламалася б при першому розширенні грядки гравцем, а прополювання стоїть одразу перед нею, бо саме бур'ян займає клітину над землею, яку треба зорати.

Прополювання. Дрон висмикує дику рослинність, під якою земля інакше так і лишилася б незораною: поле на болоті чи в савані без цього назавжди лишається зарослим. Бур'ян — це блок із теґу #: низька й висока трава, папороть і велика папороть, мертвий кущ, кущ, кущ зі світляками, низька й висока суха трава, опале листя і (де він є в грі) червоний кущ. Список — теґ, а не клас блока: у грі всі рослини, зокрема культури, кок-сагиз і жердка моду, — одного класу, і перевірка за класом виполювала б саму ферму. Не чіпаються ніколи: квіти, саджанці, листя, гриби й ліани (їх посадив чи залишив гравець), а також усе, що дрон збирає як урожай, — культури, кок-сагиз і його корінь, жердка. Теґ можна розширити датапаком.

Заблокований вихід. Якщо випад стиглої культури чи бур'яну не вміщується у вихідні слоти, культура чи бур'ян лишаються на місці, мотика й EU/FE не витрачаються, а станція запам'ятовує, що вихід заблоковано: поки це так, вона не збирає й не виполює, і дрон до таких клітин не літає — до цієї правки він безкінечно літав до тієї самої стиглої культури зі станом «Працює». Вихід блокується й без спроби, коли всі чотири слоти зайняті повними стосами: тоді не вміститься нічого. Посадка, удобрення й оранка тривають; якщо й для них роботи немає, а в радіусі стоїть стигла культура чи бур'ян, яких нікуди подіти, екран показує «Вихід заповнено» (над доглянутою фермою блокування нічого не тримає, і стан лишається «Грядки доглянуті» або «Витратні матеріали скінчилися») (бурштиновим, як брак витратних матеріалів, — це виправляє гравець; при порожньому слоті насіння «Вихід заповнено» важливіше, бо тримає збір, першу за пріоритетом дію). Блокування знімається, щойно з вихідного слота щось забрали — рукою, shift-кліком, лійкою чи трубою: станція порівнює кількість предметів у виході зі знімком на момент блокування, тож будь-який шлях вилучення працює однаково на обох завантажувачах; станція, що спить, помічає це на наступному повному такті, не пізніше ніж за 40 тактів. Ціна рішення: після однієї невдачі станція чекає розвантаження, навіть якщо випад іншої клітини ще вмістився б, — вгадувати випадковий випад наперед означало б зайвий раз кидати таблицю луту. Стан зберігається разом зі станцією; світ, збережений до правки, вантажиться з незаблокованим виходом, і перша ж невдача блокує його знову. Якщо випад однієї клітини не вміщується навіть у порожній вихід (понад чотири стоси), забирати нічого — таке блокування станція знімає сама з простою, тобто повторює спробу раз на 40 тактів.

Ґрунт для посадки — ванільний теґ, а не блок. Посадка (і відбір клітин у кеш зони) вважає ґрунтом будь-який блок із #minecraft:supports_crops — того самого теґу, за яким сама культура вирішує, чи може вона стояти на блоці. Дрон і рослина тому не розходяться в тому, що вважати землею: rich soil farmland із Farmer's Delight (і ґрунт будь-якого моду, доданий до цього теґу) дрон обробляє як рідну грядку — без жодного рядка, що знає про чужі id. Оранка теґу не слідує: у ванільну грядку переводяться лише ванільні земля й трава, чужий ґрунт дрон не перекопує ніколи — rich soil гравець здобув кістковим борошном, і станція не повинна його знищувати.

Політ. Дія настає не в момент вибору цілі, а по прильоту дрона: дрон летить до клітини зі швидкістю 11 тиків на блок шляху, і лише там виконує роботу. Плече не коротше 26 тиків — сусідню клітину дрон інакше долав би швидше, ніж око встигає помітити. Зворотний шлях до дока займає стільки ж, скільки шлях до цілі, плюс 6 тиків дрон стоїть на обробленій клітині, тож один цикл «дія» коштує щонайменше 58 тиків (≈2.9 секунди), а не такт: станція доглядає за грядкою темпом машини, а не миттєво. По прильоту завдання перевіряється заново: світ міг змінитися за час польоту (гравець зірвав урожай руками, поршень зсунув блок).

Звук польоту. Поки дрон у повітрі, чути тихий зациклений звук гвинтів, і він виходить від самого дрона — джерело рухається разом із ним, а не висить на станції. Радіус чутності 8 блоків і гучність 0.22 — найнижчі в моді: це єдиний звук, який сам приїжджає до гравця, і єдиний, який звучить майже весь робочий цикл. На доці й у ті тики, що дрон стоїть на обробленій клітині, — тиша.

Звук оранки. Оручи клітину, дрон видає той самий ванільний звук мотики, що й гравець, який працює мотикою вручну — з тією самою гучністю й тим самим пітчем. Власний звук мотики є лише в оранки: у неї є однозначний ванільний еталон, а в посадки, удобрення й збору його немає. Прополювання звучить так, як звучить сама рослина при зламі.

Виконавши роботу, дрон стоїть на клітині 6 тиків і лише потім іде назад. Без цієї паузи дія і зворотне плече починалися в один і той самий тик: дрон торкався грядки й відривався від неї всередині одного кадру, і це читалося як відскок, а не як машина, що робить роботу.

Зона сканування. Радіус 4 блоки навколо станції — це рівно стандартна грядка 9×9 (2 × 4 + 1) цілком: док стоїть у її центрі й дістає до будь-якого кута. Дрон першого тира обслуговує одну таку грядку — наступним тирам є куди рости: кілька грядок разом або ширша зона. Список цілей у зоні кешується й інвалідується за блок-апдейтом усередині радіуса; повна перезбірка кешу відбувається не частіше разу на 20 тиків. Станція не форсує синхронне завантаження невивантажених чанків.

Стиглість культури визначається спільним предикатом, перевикористаним із Коси стебла гарбуза/дині, основа кактуса/тростини, ягідний кущ і ванільні культури обробляються однаково в обох місцях, без ризику розбіжних edge-кейсів.

Удобрення застосовується через стандартний ванільний інтерфейс — ефект ідентичний ручному кістковому борошну, але без гравця й без частинок-імітації кліку.

Збір без гравця. Станція не ламає блок через шлях гравця (гравця немає) — замість цього вона на сервері обчислює дроп стиглої культури, вставляє його у свої вихідні слоти й лише при повному успіху зносить блок урожаю напряму. Ні предметів-сутностей, ні подій злому блока при цьому не створюється.

Інвентар

СлотПриймаєК-сть
Насінняпредмети з теґом насіння відповідної культуридо стека
Добривокісткове борошнодо стека
Дронпредмет дрона — без нього станція не працює1
Мотикабудь-яка мотика; витрачається на оранці, зборі й прополюванні1
Вихід 1–4лише автоматична вставка станцією (урожай і випад бур'янів); ручна/автоматизована вставка ззовні заблокованадо стека кожен

Чотири вихідні слоти, а не один — стигла культура може дати більше одного типу предмета за одну дію (наприклад, пшениця дає саму пшеницю й насіння пшениці окремо). Вставка дропу у вихідні слоти — двопрохідна («симулювати місткість усіх стеків → мутувати лише при повному успіху»), без часткової втрати врожаю при заповненому виході.

Інтерфейс

Властивості блока

Станція-док — не повний куб: тонка плита 1×1 блок із підсвіченим контуром посадки, двома контактами заряджання й жовтими лампами по кутах. Дрон малюється поверх неї рендерером і фізично не має колізії чи хітбокса окремо від станції.

ПолеЗначення
Формаплита зниженої висоти (не повний куб)
Міцність3.0
Вибухостійкість6.0
Інструменткайло
Дроп з NBT енергіїнемає (буфер/інвентар/стан дрона зберігаються у блоці, не в предметі)

Рецепти

Станція збирається на верстаку на базі корпусу машини з електронною схемою; сам дрон — окремий предмет, який кладеться в її слот. Рецептів переробки станція не має: вона не переробляє предмети, а обслуговує грядку.

Прогресія

Пов'язане

Крафт

Крафт на верстаку
Будь-який мідний злиток
Будь-який залізний злиток
Будь-який мідний злиток
Будь-який залізний злиток
Електронна схема
Будь-який залізний злиток
Будь-який залізний злиток
Будь-який залізний злиток
Будь-який залізний злиток
Верстак
▶
Станція дрона-садівника
Станція дрона-садівника