概要
木の斧、木のツルハシ、木の剣の3つのアイテム及びfill、clone、stackの3つのモードを使って建築を補助する様々な機能を使う事が出来ます。
チャット欄で使用するモードを切り替え、斧で範囲を、チャット欄でその他必要な情報を指定し、ツルハシで実行し、剣で実行をキャンセルするというのが基本的な使い方です。
用語の定義
当アドオンの説明で用いる用語を以下にまとめます。
一部専門的で難しい用語も含まれていますが、そのような用語について深く気にする必要はありません。
・「fillする」…満たす事。
・「null」…変数の中に値が何も入っていない事を表す値。
・「回転変換」…平面や立体を回転移動させる事。
・「鏡映変換」…平面や立体を、鏡で映したかのように反転させる事。
・「線形変換」…厳密には異なるが、ここでは回転変換と鏡映変換の総称である。
・「fill」…指定された範囲内に指定されたブロックを満たす機能。
・「clone」…指定された範囲内に存在する構造物を、その構造物を読み込めるチャンク内での任意の位置にコピペする機能。
・「stack」…指定された範囲内に存在する構造物を、指定された回数だけその構造物の上にコピペしていく機能。
・「コマンド」…このアドオンに干渉するメッセージ
・「コマンドの実行」…コマンドをチャット欄で送信する事
・「cmdFill」…saveFillコマンド(詳細は後述)により保存されたfillの実行結果を、特殊なコマンドブロックを設置する事によって再現的に実行する機能。
・「LTオプション」…cloneの実行時にコピーする構造物に回転変換を施す事が出来るrotationオプションと、鏡映変換を施す事が出来るreflectionオプションの総称。
・「cloneオプション」…cloneの実行時にコピー先領域にあるブロックをコピー元領域内の空気ブロックで上書きしてしまう事を防止するmaskedオプションと、ペーストと同時にコピー元領域を空気ブロックで満たすmoveオプションと、コピーする構造物に線形変換を施すLTオプションの総称。
・「メイン機能」…fill、clone、stackの総称
・「補助機能」…木の斧、木のツルハシ、木の剣以外のアイテムの使用により実行出来る機能
・「アイテムとメイン機能/補助機能が紐付けられている」…あるアイテムを使用した際にあるメイン機能/補助機能を実行出来る事
・「ツール」…メイン機能または補助機能と紐付いているアイテム。メイン機能を実行するツールは木のツルハシであり、これは変更不可。
・「ツールを使用する」…アイテムを右手に持った状態で右クリックする事を指す
・「id」…ブロックのIDを調べる補助機能
・「tp」…プレイヤーをブロックの手前あるいはブロックの少し奥までテレポートさせる補助機能
・「setblock」…周囲に空気ブロックしかない位置にブロックを設置する機能及び破壊したブロックを特定のブロックに即座に自動で置き換える補助機能
・「idTool」…idを実行するツール
・「tpTool」…tpを実行するツール
・「setblockTool」…setblockを実行するツール
variablesコマンドでその値が表示される変数の名称とその意味
当アドオンには、専用のコマンドを用いる事によってユーザーが直接値を書き換える事が出来る変数が数多く存在します。
そのような変数に対して、変数名と格納されている値をペアにし一覧にして表示する事が出来る、variablesコマンドというものが存在します。
・「mode」…fillモード、cloneモード、stackモードのどれを使うかを格納する変数。
・「begin」「end」…指定された範囲の頂点の座標を格納する変数。beginとendは範囲(つまり直方体)の対角線の端点。
・「fmode」…modeがfillの時に、単純に、指定された範囲内全てを指定されたブロックでfillするnormalモード、範囲内の指定されたブロックがある部分だけにfillをするincReplaceモード、範囲内の指定されたブロックがない部分だけにfillをするexcReplaceモード、複数のブロックを指定された割合で範囲内にランダムでfillするmixモードの中からどれを使ってfillするかを指定する値を格納する変数。
・「blockId」…modeがfillの時に、指定された範囲内にfillするブロックのIDを格納する変数。ただし、fmodeがmixの時は参照されない。
・「includeBlockIds」…fmodeがincReplaceの時に、置き換えられるブロックのIDの一覧を格納する変数。複数の値を格納する変数なので、「includeBlockIdsにブロックIDを追加する」あるいは「includeBlockIdsからブロックIDを除外する」などの言い回しをする。
・「excludeBlockIds」…fmodeがexcReplaceの時に、置き換えられないブロックのIDの一覧を格納する変数。複数の値を格納する変数なので、「includeBlockIdsにブロックIDを追加する」あるいは「includeBlockIdsからブロックIDを除外する」などの言い回しをする。
・「mixRule」…fmodeがmixの時に、fillするブロックの一覧とその割合を格納する変数。
・「cmdfmode」…saveFillコマンド実行時のfmodeの値をコピーを格納する変数。
・「cmdBlockId」…saveFillコマンド実行時のblockIdの値のコピーを格納する変数。
・「cmdIncludeBlockIds」…saveFillコマンド実行時のincludeBlockIdsの値のコピーを格納する変数。
・「cmdExcludeBlockIds」…saveFillコマンド実行時のexcludeBlockIdsの値のコピーを格納する変数。
・「cmdMixRule」…saveFillコマンド実行時のmixRuleの値のコピーを格納する変数。
・「LTtype」…LTオプションが指定されている際に、コピーする構造物に施す線形変換の種類を指定する文字列を格納する変数。rotationという文字列かreflectionという文字列のどちらか一方を格納する。
・「rotation」…rotationオプションが指定されている際に、構造物をどのくらい回転させるかを指定する値を格納する変数。90という文字列か、180という文字列か、270という文字列かnullを格納する。
・「symAxis」…reflectionオプションが指定されている際に、構造物を何を対称に反転させるかを指定する値を格納する変数。xという文字列かzという文字列かoriginという文字列かnullを格納する。
・「stackNum」…modeがstackの時に、コピー元の構造物を上に何回ペーストするかを表す値を格納する変数。
機能の解説
モードの指定
前述の通り、このアドオンにはある範囲内にブロックを満たす機能であるfill、ある範囲内の構造物のコピペを行うclone、stackの3つのモードが存在します。
それら3つのモードを切り替える方法を以下に示します。
チャット欄でmode <fill or clone or stack>というメッセージを送信すると、使用するモードを切り替えられます。
例えば、他のモードからcloneモードに切り替えたい場合はmode cloneというメッセージを送信します。
ちなみに、初期状態ではfillモードになっています。
範囲の指定
このアドオンが提供するメイン機能はある範囲内にブロックを満たす事及びある範囲内の構造物のコピペです。
従って、いずれのモードを使用するにも事前に範囲を指定しておく必要があります。
木の斧でブロックを破壊すると、そこが範囲の頂点になります。
この時、modeがfillでfmodeがnormalあるいはmixの時は、そこに目印としてダイヤモンドブロックが設置されます。
それ以外の場合は、破壊されたブロックが即座に復元されます。
計2回これを行う事によって範囲を指定します。
指定された範囲はそれが上書きされるかアドオンを再読み込みするまで保存されるので、何度も同じ範囲に対してfillやclone、stackを実行したい場合、その都度範囲を指定し直す必要はありません。
fill
基本的にはfillコマンドと同様の機能。
normalとincReplaceとexcReplaceとmixの4つのモードが存在し、fmodeコマンドを実行する事によってfmodeの切り替えが可能です。(初期状態ではnormalモードになっています。)
~基本的な使い方~
・チャット欄でfmode <normal or incReplace or excReplace or mix>というメッセージを送信し、fmodeを切り替えます。
例えば、他のモードからincReplaceに切り替えたい場合はfmode incReplaceというメッセージを送信します。
・チャット欄でbid <blockId>というメッセージを送信してblockIdを指定します。
例えば、鉄ブロックを使いたい場合はbid iron_blockというメッセージを送信します。
ちなみに、デフォルトでは草ブロックが指定されています。
また、指定されたIDはそれが上書きされるかアドオンを再読み込みするまで保存されるので、何度も同じブロックを使ってfillしたい場合、その都度IDを指定し直す必要はありません。
・fmode及び範囲及びblockIdの指定が完了した状態で木のツルハシを使用する( 「使用する」の意味については「用語の定義」を要確認 )とfillが実行されます。
~その他の説明事項~
・incReplaceモード及びexcReplaceモードでは、範囲とblockIdを指定する事に加えて、includeBlockIdsあるいはexcludeBlockIds( 詳細は「変数の意味」にて述べた通り )にブロックIDを追加する必要があります。
ブロックは複数種類追加する事ができ、チャット欄でibid add <id>あるいはebid add <id>というメッセージを送信する事でそれが出来ます。
例えば、草ブロックだけを他のブロックに置き換えたい場合はibid add grass_blockというメッセージを送信します。
逆に、草ブロックだけは置き換えたくないという場合はebid add grass_blockというメッセージを送信します。
また、既にincludeBlockIdsあるいはexcludeBlockIdsに追加されているブロックを追加されていないブロックに戻すためには、ibid delete <Id>あるいはebid delete <id>というメッセージを送信します。
・mixモードでは、範囲とblockIdを指定する事に加えて、mixRuleを指定する必要があります。
チャット欄でmixSetting { <id1> : <比率1> , <id2> : <比率2> , <id3> : <比率3>… }というメッセージを送信する事でそれが出来ます。
例えば、鉄ブロック、金ブロック、ダイヤモンドブロックをそれぞれ0.2、0.3、0.5の割合でfillしたい場合はmixSetting { “iron_block”:0.2 , “gold_block”:0.3 , “diamond_block” , 0.5 }というメッセージを送信します。
ダブルクォーテーション( “” )の記述及び全ての比率の合計値が1になっている事の確認を忘れないよう気をつけてください。
・fillを一回以上実行した後に、チャット欄でsaveFillというメッセージを送信すると、直近のfillが実行された際のbegin、end、blockId、fmode等の値が専用の他の変数にコピーされ、金床でfillコマンドブロックという名前の付けられたコマンドブロックを設置するだけで同様の実行結果を得られるようになります。
ただし、cmdFillの実行時に使用する情報は領域そのものではなく領域の広さなので、このコマンドブロックを設置した時、以前と全く同じ座標にブロックが配置されるのではなく、コマンドブロックを始点とするようにして相対的にブロックが配置されます。
おそらく、説明を読むよりも実際に試してみた方が圧倒的に分かりやすいと思います。
clone
基本的にはcloneコマンドと同様の機能。
オプションとしてmasked、move、LTを指定する事が出来ます。
各オプションの意味は「用語の定義」の中の「cloneオプション」で述べています。
~基本的な使い方~
コピー元の領域を指定した後に木のツルハシで任意のブロックを破壊すると、そのブロックが存在していた座標がコピー先の始点に割り当てられ、cloneが実行されます。
ただし、コピー元とコピー先が重なるようなcloneを実行しようとした場合は何も起きません。
~その他の説明事項~
・チャット欄でcop masked trueというメッセージを送信するとmaskedオプションが追加されます。
また、このオプションを削除したい場合はcop masked falseというメッセージを送信します。
ちなみに、trueやfalseは省略可能であり、maskedがtrueの時にcop maskedというメッセージを送信するとmaskedはfalseに切り替わり、maskedがfalseの時にcop maskedというメッセージを送信するとmaskedはtrueに切り替わります。
・cop move trueというメッセージを送信するとmoveオプションが追加されます。
また、このオプションを削除したい場合はcop move falseというメッセージを送信します。
ちなみに、trueやfalseは省略可能であり、moveがtrueの時にcop moveというメッセージを送信するとmoveはfalseに切り替わり、moveがfalseの時にcop moveというメッセージを送信するとmoveはtrueに切り替わります。
・チャット欄でcop LT rotation <回転角>というメッセージを送信するとrotationオプションが追加されます。
<回転角>には90か180か270が入り、指定された値に応じた角度だけコピーする構造物を回転させます。
尚、<回転角>にはnullを入れる事も可能であり、そうするとrotationオプションが削除されます。
・チャット欄でcop LT reflection <対称の軸>というメッセージを送信するとreflectionオプションが追加されます。
<対称の軸>にはxという文字列かzという文字列かoriginという文字列が入り、xが入った場合はコピーする構造物をx軸方向に反転させ、zが入った場合はz軸方向反転させ、originが入った場合は原点方向に反転(つまりx軸方向の反転とz軸方向の反転の双方を組み合わせた反転)させます。
尚、<対称の軸>にはnullを入れる事も可能であり、そうするとreflectionオプションが削除されます。
stack
コピーする構造物とstackNumを指定し、コピー元の構造物の上にその構造物のコピーを配置するという操作をstackNum回だけ繰り返します。
例えば、ビルの1階だけを手作業で作って1階全体を構造物として指定し、19という数を指定してstackを実行すれば、一瞬にして20階建ての高層ビルを生み出す事が出来ます。
・チャット欄でstackNum <number>というメッセージを送信して、構造物を上に積み重ねる回数を指定します。
例えば、19を指定したい場合はstackNum 19というメッセージを送信します。
stackNumはそれが上書きされるかアドオンを再読み込みするまで保存されるので、何度も同じ数をstackNumとして使いたい場合はその都度数を指定し直す必要はありません。
・範囲とstackNumの指定が完了した状態で木のツルハシを使用するとstackが実行されます。
実行キャンセル
fill、clone、stack、cmdFillの実行後に木の剣を使用すると、それらの実行をキャンセル出来ます。
つまり、ブロックが実行前の状態に戻ります。
ただし、保存されるのは1つ前の状態のみであり、2つ以上前の状態に戻す事は出来ません。
また、アドオンの再読み込みを行うと1つ前の状態を記録する情報も破棄されます。
ツールと補助機能
当アドオンは、前述の3つのメイン機能に加えて、その他建築の際に便利になると思われる3つの補助機能を提供しています。
補助機能の種類は、id、tp、setblockの3つがあります。
詳細は「用語の定義」で述べた通りです。
これらの補助機能は特定のアイテムと紐付けられているものであるという点はメイン機能と同様(メイン機能は木のツルハシと紐付いている)ですが、補助機能はユーザーの好きなアイテムと紐付ける事が可能です。
~アイテムと補助機能の紐付け~
bsToolというコマンドを使用する事により、アイテムと補助機能の紐付けに関する設定が可能です。
・紐付けたいアイテムを右手に持った状態で、「bsTool define <補助機能の名称>」と入力すれば、その補助機能とそのアイテムが紐付けられます。
例えば、idを棒に割り当てたい場合は、棒を右手に持った状態で「bsTool define id」と入力します。
・「bsTool reset」と入力すると、アイテムと機能の全ての紐付きを初期化します。
つまり、デフォルトのアイテムが自動的にツールとして割り当てられます。
・アイテムと補助機能の紐付き状況は、アドオンを再読み込みしても維持されます。
~idTool~
・idToolを右手に持った状態でブロックを破壊すると、そのブロックのIDがチャット欄に出力されます。
尚、破壊したブロックは即座に復元されます。
・デフォルトではコンパスがidToolとして割り当てられています。
~tpTool~
・tpToolを使用すると目線の先にある空気以外のブロックの手前までテレポートします。
・tpToolを右手に持った状態で左クリックすると目線の先にあるブロックの少し奥までテレポートします。
・プレイヤーの前の64ブロック以内の領域に空気以外のブロックが存在しない場合は64ブロック先までテレポートします。
・デフォルトでは矢がtpToolとして割り当てられています。
~setblockTool~
・チャット欄に「sbtbid <id>」というメッセージを送信する事によって、setblockToolBlockId( 詳細は「変数の意味」で述べた通り )を指定します。
例えば、鉄ブロックを指定したい場合はsbtbid iron_blockというメッセージを送信します。
ちなみに、デフォルトでは草ブロックが割り当てられています。
・マイクラでは、通常、空気以外のブロックに隣接させるようにしてブロックを設置する事しか出来ません。
しかし、setblockToolを使用すれば周囲に空気ブロックしかない状態でもブロックの設置が可能です。
使用すると、プレイヤーの目の前にsetblockToolBlockIdが指定するブロックが設置されます。
・setblockToolを右手に持ってブロックを破壊すると、そのブロックをsetblockToolBlockIdが指定するブロックに置き換えます。
変数の情報の表示
チャット欄でvariablesというメッセージを送信すると、mode、begin、end、blockIdなどの、ユーザーが指定する各種変数の情報が全て画面に出力されます。
例えば、includeBlockIdsに追加したブロックを忘れてしまった時などにこの機能が役に立ちます。
※このアドオンを有効化するためには、ゲーム内で試験的なゲームプレイを有効にする必要があります。
最終更新 2025/12/17
説明文の分かりにくさを改善しました



コメント