Heat And Climate

Heat And Climate

409k Downloads

海藻がディスペンサー収穫を受け付けない

K-ebisen opened this issue · 3 comments

commented

HarvestWithDispenser導入時、海藻が収穫の対象になりません。
また、類似する現象として、Refined StorageのDestructor等、ブロックを直接破壊する装置が海藻に対して機能しません。
Destructorの破壊対象にはサトウキビなども含まれ、流体でない破壊可能なブロックは概ね全て対応していると思われます。
オブザーバーに海藻を監視させた際の挙動が流体と同様のクロック化(バニラのバグ)であるため、海藻が「流体」として扱われているのでは…と推測しています。

なおこのDestructorおよびオブザーバーは透過ブロック扱いのため現在海藻と隣接できません(#217)が、setblockコマンドを利用し直接設置することで確認しています。

commented

HaC v2.7.2及びHarvestWithDispenser v1.0.7で収穫できることを確認しています。
実際に起きているのは、『収穫後に海藻ブロックが正常に除去されない』問題のようですね。

HarvestWithDispenserはHaC作物を収穫後、対象ブロックを初期状態に戻す挙動をします。
このとき、海藻だけは初期状態のまま上方向にブロックを増やす性質のため、収穫後も変わらず残り続けてしまいます。
これについては次回更新で修正します。

ちなみに、HarvestWithDispenserはY方向範囲については固定で±1ブロックの範囲で収穫可能なブロックを索敵します。また、HarvestWithDispenserは下を破壊すると自壊するサトウキビや海藻などを収穫する場合は頂点から順に削ろうとする性質があります。ですので海藻の場合は先端部分が収穫範囲に含まれていれば収穫できます。

commented

確認ありがとうございます。
私の誤認は「サトウキビと異なりプレイヤーが設置した分は最下部でなくとも対象外となる」点、および「一度収穫された後その場に残った分も同様の扱いとなる」点を見落としたことが原因でした。

>海藻の場合は先端部分が収穫範囲に含まれていれば収穫できます。
これについて試してみたところ、先端を含むか否かを問わず範囲の分(Y±2で最大5個)だけ収穫されているように思います。

commented

>先端を含むか否かを問わず範囲の分(Y±2で最大5個)だけ収穫されている

これなんですが、範囲内に含まれている海藻ブロックの数だけ、『海藻の頂点を走査して、頂点部分を摘み取る』をやってしまっていました。
本来なら摘み取ったあとに削除する処理が入るはずが、なくならないので無限に頂点を採取してしまっているようです。

(実はこのような処理は1.15+では竹が実装されたために背の高い作物への対応もやっていたのですが、1.12では実装を失念していました。)
これはバグですので、次回更新で修正します。