ガーデンドローンステーション

ガーデンドローンステーション

alaindustrial:garden_drone_station
農業LV実装済みtier-lvagriculturedroneautomationber

概要

ガーデンドローンステーションは 1×1 のドックブロック(ロボット掃除機のベースステーションのようなもので)、 そこからドローンが離陸し、ステーション周囲半径 4 ブロックの範囲を巡回します。ドローンはエンティティでなく、 ステーション自体の が描画するオブジェクトです — 見た目も動きも飛行装置のように 見えますが、物理的には常にステーションブロックに「属し」、その領域を離れることはできません。

プレイヤーはステーションに種と骨粉を入れ、EU/FE を接続します — あとはドローンが自ら農場を維持します: 空いている土を耕し、適切な土の上の空きマスに種を蒔き、未成熟の作物を骨粉で成長させ、成熟した収穫物を そのまま出力スロットへ運びます(ワールド内に ItemEntity は発生しません)。計画されていたが未実装の 「作物自動管理」(crop_matron)と「収穫機」(crop_harvester)を置き換えます — 2 つではなく 1 つの ブロックで、メカニクスの重複なしに。

エネルギー

項目
役割バッファ付き消費者
バッファ(EU/FE)4000()
最大入力(EU/FE/ティック)32(LV)
最大出力(EU/FE/ティック)n/a(放出しない)
動作あたりの EU/FE8()

ステーションはすべての稼働面で通常の消費者としてエネルギーネットワークに接続します。EU/FE は 実際に実行された動作 — 耕起、植え付け、施肥、1 マスの収穫 — に対してのみ引き落とされ、 電気ヒーターのパターンに倣います:アイドル(範囲内にやることがない — 種/肥料切れ、または全マスがすでに対処済み)は 0 EU/FE で、ステーションはスリープに入り でアイドルスリープに入り、無駄にエネルギーを消費せず、ネットワークの寄生吸い口にもなりません。

加工

ステーションは加工レシピシステムを使いません — 代わりに、(目標が見つかった)各飛行で、 範囲内の 1 マスに対する 4 つの動作のいずれか 1 つを実行します。

項目
レシピタイプなし(レシピ型機械でない)
飛行あたりの動作1(1 動作 = 1 マス)
自動取出しはい(収穫物は直接ステーションの出力スロットへ)

クワは 2 動作のツールです。 耕起と収穫はクワスロットから耐久値 1 を消費し、クワなしでは実行できません: 動作で消費されるが必須でないツールは、プレイヤーに分かりにくいものです。植え付けと施肥はクワを 必要としません。

クワは使い切ると — スロットが空になります。 ステーションが最後の耐久値を消費すると、クワは 壊れてスロットから消えます — プレイヤー手中と同じように、破壊音とパーティクル付き。これは化粧でなく、 自動化の条件です — 空のスロットはホッパーから新しいクワを受け付け、農場は無人で稼働します。摩耗は バニラ経路のため、耐久(Unbreaking)エンチャントが考慮されます:エンチャントされたクワはステーション でも手中と同じ寿命を持ちます。すでに壊れたクワはスロットが受け付けません — さもなければ永遠に スロットを占拠するでしょう。

動作の優先順位(この順序でチェックされ、最初に合致したものを実行):

  1. 収穫 — 範囲内の成熟した作物のマス(クワ必須)。
  2. 植え付け#minecraft:supports_crops の土の上の空きマス + スロットに適切な種がある。
  3. 施肥 — 未成熟作物のマス + スロットに骨粉がある。
  4. 耕起 — バニラの土または草のマス(クワ必須。耕地に変える)。

この順序により、「農場は自らを維持する」ことが切れ目なく保証されます:耕起が第 4 動作でなければ、 プレイヤーが農場を広げた最初の瞬間に約束が崩れていました。

植え付けの土はバニラのタグであってブロックではない()。 植え付け(および 範囲キャッシュのマス選別)は #minecraft:supports_crops に含まれる任意のブロックを土と みなします — 作物自身がブロックの上に立てるかを判断するのと同じタグです。そのため ドローンと作物は「何を土とみなすか」で食い違いません:Farmer's Delight の rich soil farmland(およびこのタグに追加された任意のモッドの土)を、ドローンはネイティブの 農地と同じように世話します — 外来 id を知る一行もないままに。耕起はこのタグに従い ません:バニラの耕地に変えられるのはバニラの土と草だけで、外来の土をドローンが掘り 返すことは決してありません — rich soil はプレイヤーが骨粉で得たものであり、ステーションが それを破壊してはなりません。

飛行。 動作は目標選択の瞬間でなく、ドローン到着時 に起きます:ドローンは経路 1 ブロックあたり = 11 ティックの速度でマスへ飛び、そこで初めて作業します。 腕は MIN_FLIGHT_TICKS = 26 ティックより短くなりません — さもなければ隣接マスを目が気づくより 早く横切ることになります。ドックへの帰路は目標への往路と同じ時間で、さらに LANDING_PAUSE_TICKS = 6 ティックだけドローンは処理済みマスに留まります(下記参照)。そのため 1 サイクル「動作」は 最低 58 ティック(≈2.9 秒)で、ティックではありません:ステーションは瞬間でなく機械のテンポで 農場を手入れします。これがなければ全農場を数ティックで処理してしまい — 視覚的に機械が作業している のでなくテレポートと読めるものでした。到着時、タスクは 再検証 されます:飛行中にワールドが 変わり得るため(プレイヤーが手で収穫、ピストンがブロックを動かす)、目標は信頼でなく再検証されます。

飛行音。 ドローンが空中にある間、静かなループするプロペラ音が聞こえ、それは ドローン自体から 発生します — 音源がステーションに固定でなく、ドローンと一緒に移動します。これが正しい姿です: ドローンは数ブロック離れ、頭上を直通し、着陸場からの羽音であればエラーと読めるでしょう。可聴範囲 8 ブロック、音量 0.22 — モッドで最低です:これは自らプレイヤーの元へ来る唯一の音で、ほぼ全稼働サイクル 鳴り続ける唯一の音です。ドック上と、ドローンが処理済みマスに留まるティックでは静寂です。

耕起音。 ドローンはマスを耕す際、プレイヤーが手でクワを使うのと同じバニラのクワ音 (minecraft:item.hoe.till)を — 同じ音量、同じピッチで — 出します。4 動作のうち耕起だけが鳴ります: 明確なバニラ基準があるのは耕起のみで、植え付け、施肥、収穫には基準がありません。

作業を終えると、ドローンは マスに 6 ティック留まり、それから戻り始めます。この一時停止がなければ 動作と帰路の腕が同じティックに始まっていました:ドローンが農場に触れて離れるのが 1 フレーム内で、 それは機械が作業しているのでなく跳ね返るように読めました。一時停止は遠端にのみあります — ドックに あれば動作が起きるティアをずらすことで、すべてのテストシナリオが数えるまさにそのティックです。

走査範囲。 ステーション周囲の半径 4 ブロック()は、標準的な 9×9 の畑 (2 × 4 + 1)ちょうど 1 面です:ドックはその中心に立ち、どの隅にも届きます。これは 第 1 ティア の ドローンで、その 1 面を世話します — 次のティアには伸びしろが残ります:複数の畑を同時に、あるいは 1 面より広い範囲へ。範囲内の目標リストは キャッシュ され、範囲内のブロック更新で無効化 されます。キャッシュの完全再構築は = 20 ティックに 1 回以下です。 範囲内の任意の位置へ触れる前に level.isLoaded のチェックが必須 — ステーションは未ロードチャンクの 同期読み込みを強制しません。

作物の成熟度大鎌 から再利用される共通の述語で決まります(収穫準備ができている かを決める同じクラス — カボチャ/スイカの茎、サボテン/サトウキビの基部、ベリーの低木、バニラの CropBlock は両方の場所で同じように処理され、エッジケースの乖離リスクなし)。

施肥 は標準的なバニラの BonemealableBlock インターフェース(トレリス が 綿用に使うのと同じ 3 つのメソッド)経由で適用されます — 効果は手動の骨粉と同一ですが、プレイヤーや クリックを模倣するパーティクルはありません。

プレイヤーなしの収穫。 ステーションは ServerPlayer 経由でブロックを壊しません(プレイヤーが いないため) — 代わりに server-side で成熟した作物のドロップを計算し、それを出力スロットに入れ、 完全に成功した場合にのみ作物ブロックを直接撤去します。その際 ItemEntity もブロック破壊イベントも 作成されません — ポンプが水源を枯渇させる際と同じ意識的な妥協です。

インベントリ

スロット受け入れ
種(0)該当作物の種タグ付きアイテムスタックまで
肥料(1)minecraft:bone_mealスタックまで
ドローン(6)— これがないとステーションは動かない1
クワ(7)任意のクワ(#minecraft:hoes)。耕起と収穫で消費1
出力 1–4(2–5)ステーションによる自動挿入のみ(収穫物)。外部からの手動/自動挿入は不可各スタックまで

出力スロットが 1 つでなく 4 つ — 成熟した作物は 1 動作で複数タイプのアイテムを出すことがあるため (例:小麦は小麦本体と小麦の種を別々に)。モッドの機械基盤モデルで混合内容の単一スロットはサポート されていません。出力スロットへのドロップ挿入は 2 パス(「全スタックの容量をシミュレート → 完全成功時 のみ改変」)で、出力が満杯の際の収穫物の部分損失はありません。

インターフェース

タイプ:container(ステーションの GUI)。 表示:エネルギーバッファ(バー)、種/肥料/出力スロット、ステーション状態(資源なし / 稼働中 / サイクル完了 — ドローンモデルの灯火の色で遠くから読める)。

ブロックの性質

ドックステーションは完全な立方体でありません:薄い 1×1 ブロックのスラブで、照光された着陸輪郭、 2 つの充電接点、四隅の黄色いランプを持ちます。ドローンはその上に で描かれ、 ステーションと別個の物理的当たり判定/ヒットボックスはありません。

項目
形状低い高さのスラブ(完全な立方体でない。ブロック下半のオクルーダ)
硬度3.0
爆発耐性6.0
ツールツルハシ
NBT エネルギードロップなし(バッファ/インベントリ/ドローン状態は NBT アイテムドロップでなく ValueInput/ValueOutput 経由で保存)

レシピ

クラフト:(鉄/鋼の筐体、電子回路、 「中に集める」ホッパー、ネジとしての銅)。 加工レシピはありません — ステーションはアイテムを加工しません。

進行

ティア:LV。 電源:任意の LV ソースから、例えば発電機。 置き換え(バックログ、コードなし):「作物自動管理」(crop_matron)と「収穫機」(crop_harvester) 2 つの定置ブロックでなく 1 ブロックで同じ結果。 必要:クラフト用の電子回路(モッドの大部分の LV 機械と同様)。

関連項目

スプリンクラー — 同じ畑に並ぶ隣人で、役割は重なりません。ステーションは一点働き:1マスに1アクション、骨粉とEUで支払い、耕し、植え、収穫します。スプリンクラーは受動的な範囲:土にも作物にも触れず、周囲で育つものすべてを速めるだけで、支払いは養液です。両者は並べて置くためのものです。 大鎌 — 再利用可能な作物成熟度述語の供給源。 トレリス — モッド内の既存の BonemealableBlock の先例。 インキュベーター — インデックスでタグ検証するマルチスロットインベントリと 基盤より広い ContainerData の見本。 ポンプ — リミット付き範囲走査の見本と、機械が自身のティックからプレイヤー なしでワールドブロックを変更する唯一の先例。 電気ヒーター — 「有用ティックでのみ EU/FE」(需要駆動)の見本。

クラフト

定型クラフト
いずれかの銅インゴット
いずれかの鉄インゴット
いずれかの銅インゴット
いずれかの鉄インゴット
電子回路
いずれかの鉄インゴット
いずれかの鉄インゴット
いずれかの鉄インゴット
いずれかの鉄インゴット
作業台
ガーデンドローンステーション
ガーデンドローンステーション