Станція дрона-садівника
alaindustrial:garden_drone_station
Зведення
Станція дрона-садівника — блок-док 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 враховується: зачарована мотика живе у станції стільки ж, скільки в руках. Уже зламану мотику слот не приймає — інакше вона зайняла б його назавжди.
Пріоритет дій (перевіряється в цьому порядку, виконується перша, що підійшла):
- Зібрати — клітина зі стиглою культурою в радіусі (потрібна мотика й незаблокований вихід).
- Посадити — порожня клітина над ґрунтом із
#minecraft:supports_crops+ є відповідне насіння у слоті. - Удобрити — клітина з недостиглою культурою + є кісткове борошно у слоті.
- Виполоти — трава або кущ із теґу бур'янів (потрібна мотика й незаблокований вихід).
- Зорати — клітина з ванільною землею або дерном, над якою порожньо (потрібна мотика; переводить її в грядку).
Такий порядок гарантує, що «ферма сама себе обслуговує» без розривів: без оранки як останньої дії обіцянка ламалася б при першому розширенні грядки гравцем, а прополювання стоїть одразу перед нею, бо саме бур'ян займає клітину над землею, яку треба зорати.
Прополювання. Дрон висмикує дику рослинність, під якою земля інакше так і лишилася б незораною: поле на болоті чи в савані без цього назавжди лишається зарослим. Бур'ян — це блок із теґу #: низька й висока трава, папороть і велика папороть, мертвий кущ, кущ, кущ зі світляками, низька й висока суха трава, опале листя і (де він є в грі) червоний кущ. Список — теґ, а не клас блока: у грі всі рослини, зокрема культури, кок-сагиз і жердка моду, — одного класу, і перевірка за класом виполювала б саму ферму. Не чіпаються ніколи: квіти, саджанці, листя, гриби й ліани (їх посадив чи залишив гравець), а також усе, що дрон збирає як урожай, — культури, кок-сагиз і його корінь, жердка. Теґ можна розширити датапаком.
- Ціна — та сама, що в будь-якої дії: 1 одиниця міцності мотики й EU/FE. Це свідомий відхід від ванілі: у руці гравця мотика об траву не зношується, а тут кожне прополювання — робота інструментом, як оранка й збір.
- Двоблокові рослини (висока трава, велика папороть) прибираються цілком за одну дію: ціллю завжди є нижня половина — лут дає лише вона, — а верхня йде разом із нею.
- Випад — той, що дала б рослина, зламана рукою без ножиць (насіння пшениці з трави з шансом 1 з 8, палиці з мертвого куща, сам кущ зі світляками, опале листя), — лягає у вихідні слоти станції; предмет-сутність у світі не з'являється. Рослина звучить і розсипається частинками, як ванільна.
- Частина бур'янів не кидає нічого — і все одно виполюється. Кущ, низька й висока суха трава без ножиць не дають нічого (у таблиці випадіння 26.3 у них умова ножиць або шовкового дотику), трава й папороті порожні в 7 випадках із 8. Їх виполюють не заради здобичі, а заради чистої клітини під оранку; міцність мотики витрачається один раз на клітину.
- Заблокований вихід зупиняє прополювання так само, як збір — див. «Заблокований вихід» нижче. Бур'яни, що завжди щось кидають (кущ зі світляками, опале листя), здатні забити вихід — станцію в такому полі треба розвантажувати.
Заблокований вихід. Якщо випад стиглої культури чи бур'яну не вміщується у вихідні слоти, культура чи бур'ян лишаються на місці, мотика й 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 | лише автоматична вставка станцією (урожай і випад бур'янів); ручна/автоматизована вставка ззовні заблокована | до стека кожен |
Чотири вихідні слоти, а не один — стигла культура може дати більше одного типу предмета за одну дію (наприклад, пшениця дає саму пшеницю й насіння пшениці окремо). Вставка дропу у вихідні слоти — двопрохідна («симулювати місткість усіх стеків → мутувати лише при повному успіху»), без часткової втрати врожаю при заповненому виході.
Інтерфейс
- Тип: container (GUI станції).
- Показує: буфер енергії (смуга), слоти насіння/добрива/виходу й рядок стану станції на екрані (немає ресурсу / працює / усе зроблено за цикл / немає енергії / немає дрона / вихід заповнено). Вогник стану на моделі дрона, за яким це читалося б здалеку, заплановано, його ще немає.
Властивості блока
Станція-док — не повний куб: тонка плита 1×1 блок із підсвіченим контуром посадки, двома контактами заряджання й жовтими лампами по кутах. Дрон малюється поверх неї рендерером і фізично не має колізії чи хітбокса окремо від станції.
| Поле | Значення |
|---|---|
| Форма | плита зниженої висоти (не повний куб) |
| Міцність | 3.0 |
| Вибухостійкість | 6.0 |
| Інструмент | кайло |
| Дроп з NBT енергії | немає (буфер/інвентар/стан дрона зберігаються у блоці, не в предметі) |
Рецепти
Станція збирається на верстаку на базі корпусу машини з електронною схемою; сам дрон — окремий предмет, який кладеться в її слот. Рецептів переробки станція не має: вона не переробляє предмети, а обслуговує грядку.
Прогресія
- Тир: LV. Перший блок автоматизації землеробства в моді.
- Потребує живлення від LV-джерела; при 8 EU/FE за дію одна станція навантажує лінію слабко.
- Дрон першого тира має радіус 4 блоки — розширення зони лишене наступним тирам.
Пов'язане
- Жердинка — опора для витких культур, які станція теж обслуговує.
- Інкубатор — решта садової гілки.
- Обприскувач — сусідній по грядці блок, ролі не перетинаються. Дрон — точковий працівник: одна дія на одну клітину, платить кістяним борошном і EU/FE, він оре, садить, полє і збирає. Обприскувач — пасивна зона: не чіпає ні грядку, ні врожай, лише пришвидшує ріст усього живого навколо і платить поживним розчином. Їх ставлять разом.
- Коса — ручна альтернатива збору, спільний предикат стиглості.
- Електромотика — ручна оранка на EU/FE.
Крафт
Крафт на верстаку
▶
Станція дрона-садівника