WorldEditの使い方(音ブロック技師向け)
この稿では音ブロック技師向けのWorldEdit、WorldEdit CUIまたはEuclidの導入および使い方の紹介をする。一般向けの紹介は別途する予定だ。
さて、本記事ではfabric、APIの導入を済ませ、動作確認を済ませていることを前提とする。これらの導入は調べればいくらでもでてくるのでそちらを参照してほしい。暇があったらこちらのほうでも紹介する。ただし導入はfabricで行うが、コマンド自体は前提MODを問わずほとんどのバージョンで共通しているため、そちらの項はforgeの方でも参考になるだろう。また、MODを導入する場合はすべて自己責任である。そのため導入時はデータのバックアップをとり、プロファイルを改めることを強く推奨する。
導入
まずはWorldEditの導入から。いつもどおり以下のサイトから導入したいバージョンの.jarファイルをダウンロードする。jarファイルは警告がでやすい。もし出た場合は保存をクリックする。
ダウンロードができたらそのファイルをそのままmodsフォルダ直下に入れる。これで起動すれば導入が完了する。
次はCUIとEuclidだ。これらはWorldEditの選択範囲を視覚化するMODである。任意ではあるが、あったほうが確実にいいだろう。ちなみに私はバージョンがあっているなら見やすいEuclidをお勧めする。どちらも機能はほとんど一緒であるためどちらを選んでも大差はない。それぞれ以下のリンクからダウンロードが可能。こちらも同様に警告がでたら保存をクリックする。
WorldEdit同様、どちらもmodsフォルダ直下に入れて起動することで導入が完了する。
以降のスクリーンショットはすべてEuclidを導入した状態で撮影を行っている。また、説明文はすべてモードがcuboidの場合で説明をしている。
使い方
本項ではすべては紹介せず、音ブロックに必要なところを抽出して紹介をする。
1 . 選択範囲の指定
① //wand
送信者に木の斧を渡す。/give @p wood_wandと変わらない。慣れない人は木の斧で選択範囲を決定するのが無難だろう。
左クリックで見ているブロックに選択範囲の始点に、右クリックで選択範囲の終点にする。
② //hpos1 または//hpos2
上級者向け。前者は見ているブロックに選択範囲の始点に、後者は終点にする。木の斧が要らないため、ひとつ枠に余裕ができる。ほかのMODのマクロと組み合わせることで真価を発揮する。
③ //pos1 <(x,y,z)> または//pos2 <(x,y,z)>
上級者向け。前者は現在のブロックに選択範囲の始点に、後者は終点にする。仮ブロックを設置する必要がないため時間短縮につながる。ただし座標を指定していない場合は現在地を指定するので操作がシビアになる。こちらもほかのMODのマクロと組み合わせることで真価を発揮する。
2 . 選択範囲の操作
④ //set [“ブロックID”]
選択範囲を指定のブロックで塗りつぶす。影バグの除去に有効的。/fillの拡張版。しかしその拡張機能は音ブロックではほとんど使うことがないので割愛。
⑤ //move <向き> <移動量>
選択範囲を指定した向き、移動量で移動させる。「あ、1小節ずれてた」なんてときに有用だ。向きと移動量はそれぞれ省略した場合、x+方向と1が指定される。-sで選択範囲も移動させる。
⑥ //replace 〈“ブロックID₁”〉 [“ブロックID₂”] または//rep〈“ブロックID₁”〉 [“ブロックID₂”]
指定範囲内の“ブロックID₁”を“ブロックID₂”で置き換えるコマンド。ブロックID₁を指定しなかった場合、空気ブロックを除くすべてのブロックを指定する。フルブロックだけでなくリピーターやダストなども指定される。あ~これ音源違う~というときにワンパンできる。
➆ //stack <向き> <繰り返し量>
指定範囲を指定した向き、繰り返し量でコピペしてくれる。最初のボーン作りに有用。/cloneよりも楽でいい。向きと移動量はそれぞれ省略した場合、x+方向と1が指定される。-sで選択範囲をスタックした最後の位置に持っていく。-aで空気ブロックを除くブロックが上書きされる。
⑧ //count ["ブロックID"]
指定範囲内の"ブロックID"の数を数える。"ブロックID"にNBTタグを付け加えることも可能。一部省略した場合はデフォルトの値(置いた直後の状態)になる。その場合完全に一致するブロックのみがカウントされる。音ブロックの使用量を数えるときに便利。
⑨ //distr
指定範囲内のブロックの分布を取得する。⑧と違い、すべてのブロックをカウントする。-cをつけることでクリップボード内での内訳を、-dでデータ値別の内訳を取得することができるようになる。いらないブロックがどこかにのこっていなかを探すのに使えるかもしれない。私は一度も使ったことがない。
3 . クリップボード
(minecraft内におけるクリップボードであり、ほかのソフトに影響はない)
⑩ //copy
選択範囲をクリップボードにコピーする。基準点をこのコマンドを入力した位置として相対的にコピーされるため、コピーする位置が重要となる。-eでエンティティもコピー、-mでマスク指定のブロックのみをコピーする。正直フラグは使わない。
⑪ //cut <”ブロックID”>
指定範囲を切り取り、クリップボードにコピーする。基準点をコマンドを入力した位置として相対的にコピーされるため、コピーする位置が重要となる。ブロックIDを指定することで切り取り後そのブロックで埋めることができる。ブロックIDを指定しなかった場合、airが指定される。//copy+//set ”ブロックID”で代用可。-eでエンティティもコピー、-mでマスク指定のブロックのみをコピーする。上同様、正直フラグは使わない。
⑫ //paste
クリップボードを貼り付ける。基準点をこのコマンドを入力した座標として相対的に貼り付けることに注意。-aでairを除くブロックが貼り付けられる。-sで選択範囲をpaste位置に移動させる。-oでもとの位置にコピーする。前二つはまだ使い道が思い浮かぶが、最後のフラグはそれすらかなわない。
⑬ //flip <方向>
クリップボードの内容を基準点を通る指定した方向の軸に対して線対称になるように変換させる。後述の//rotateとすこし違う。方向は指定しなかった場合x+方向、すなわちx軸に対して反転処理を行う。ブロックの位置関係は反転するが、向きまでは反転しない。そのためy軸を対称の軸とすると、リピータなどは浮いた上体で保持されることがある。その状態で//pasteを行うと、BUを起こさない限り浮かせることができる。
⑭ //rotate <x面の回転量> <y面の回転量> <z面の回転量>
クリップボードの内容を指定した回転量で、基準点をを中心として相対的に回転させる。こちらは向き指定した方向の向きが存在するならば、向きも変換する。ない場合は向きを変換しない。回転量は度数砲で0.1刻み。回転の方向はすべて面に垂直な直線に対して時計回りで変換を行う。回転量をひとつでも指定する場合はすべて指定し、なにも指定しない場合はx面の回転量が90.0、y,zは0.0として変換する。
4 . 履歴
⑮ //undo <回数>
WorldEditの操作を指定した回数元に戻す。回数を指定しなかった場合は1を指定する。ただし//undo操作は回数に含めない。
20回が上限である。
⑯ //redo <回数>
//undo操作を指定した回数分やり直す。回数を指定しなかった場合は1を指定する。
20回が上限である。
5 . ユーティリティ
⑰ /butcher <半径>
自身を中心とする指定した半径内にいるmobをキルする。-aで動物が、-bでmobすべてが、-nでNPCが対称になる。フラグはほかにもあるが使いそうなもののみを紹介した。また、フラグは指定しなければ自身を除くすべてのmobが、半径を指定しなければ描画範囲内すべてが対象となる。
そのほか
⑱ //fast
処理を高速化する。リログするまで有効。ただしCPU使用率が跳ね上がる可能性がある。
パラメータに関して
パラメータはその種類に応じて記述方法が変わる。今回使用したパラメータに関して記述方法を以下に示した。
# 座標
すべて整数値をとる。
# 向き
8方位+up,downとforward,back,left,rightの計14種類。それぞれの英語またはその頭文字を使用することができる。
# ブロックID
名前空間を含むブロックIDを記述。F3を押すことでブロックIDの確認ができる。例外的に、minecraftが名前空間である場合は名前空間を記述しなくてもよい。
# 移動量、繰り返し量、半径、回数
すべて自然数値を取る。半径の単位はブロック。
紹介
はっかくさんが1.16.5fabricにおけるおすすめMODを紹介している。
また、私のほうでもMODの紹介をしている。こちらで紹介されているMODはすべて動作確認済みだ。
宣伝
youtubeでいくつか音ブロックの動画を投稿している。
こんな動画を不定期で更新している。
ほかの動画は概要欄、またはチャンネルから。
twitterでも音ブロックに関することを発信している。