/fillと/clone:32,768ブロックの制限とそれを回避するモード
どちらのコマンドも1回の呼び出しにつき32,768ブロックが上限で、それを超えるとサイレントに失敗します。ここでは、hollow、outline、replaceモード、クローンマスク、そして上限を超える建築物を移動する方法について説明します。
/fillと/cloneには、ユーザーが期待するエラーメッセージには表示されない厳格な制限があります。それは、1コマンドあたり32,768ブロックという制限です。これは32×32×32に相当します。この制限を超えるとコマンドは拒否され、コマンドブロックチェーンでは何も起こらなかったように見えます。
制限を超えているかどうかの確認
カウントは両端を含むため、0 0 0から31 31 31までの領域は正確に32,768ブロックで、制限ぎりぎりです。0 0 0から32 32 32までは35,937ブロックとなり、失敗します。
blocks = (|x2-x1|+1) × (|y2-y1|+1) × (|z2-z1|+1)
これより大きいものについては、スラブに分割して複数のコマンドを実行します。通常、Y軸で分割するのが最も考えやすいでしょう。
fillモード
| モード | 動作 |
|---|---|
replace | デフォルト。オプションで1つのブロックタイプにフィルタリング可能 |
hollow | 外側のシェルを埋め、内部を空気でクリアする |
outline | 外側のシェルを埋め、内部はそのままにする |
destroy | 既存のブロックをまずアイテムとしてドロップする |
keep | 空気のみを埋め、上書きしない |
hollowとoutlineは、人々が混同しやすいペアです。既存の構造物の周りにガラスの箱を建てるにはoutlineが必要です。hollowは内部のものを削除してしまいます。
keepは地形にとって安全なものです。すでに配置されているものを削除することはありません。
フィルター形式では、置き換えるブロックを最後に指定します。
/fill ~ ~ ~ ~10 ~5 ~10 stone replace dirt
これは土(Dirt)のみを石(Stone)に置き換え、それ以外のものはそのままにします。
cloneモードとマスク
/cloneには2つの独立した設定があり、順序が重要です。
マスク — replace(すべて)、filtered <block>(そのブロックのみ)、またはmasked(ソース内の空気をスキップ)。
モード — normal、force(重複する領域を許可)、またはmove(コピー後にソースをクリア)。
/clone <begin> <end> <destination> masked normal
maskedは、既存の地形に建築物をスタンプする際に必要なものです。ソース内の空気は、目的地に穴を開けません。
moveは人々を驚かせるものです。元のものを削除してしまいます。元に戻すことはできません。
重複にはforceが必要
ソースと目的地が少しでも重複している場合、normalは拒否します。forceはそれを許可しますが、結果はコピー順序に依存し、意図したものではないことがほとんどです。スクラッチ領域にクローンしてから戻す方が予測可能です。
チャンクがロードされている必要がある
どちらのコマンドもロードされたチャンクでのみ機能します。/fillがアンロードされた地形に到達しても、そこではサイレントに何も実行されません。スクリプトによる建築の場合、まず/forceload addで領域をロードし、後で削除します。そうしないと、近くに立っているときは同じコマンドが機能し、スポーンから実行すると失敗します。
これらのコマンドを正しい引数で、ブロック数を上限と照合して、World & Blocks Command Builderで作成してください。