建築勢のためのかんたんマクロMOD解説
Macro/Keybind Mod(通称マクロMOD)というMODの解説になります。
本記事は1.7.10環境で解説していますが、最新バージョンにも十分対応できると思います(変更点は多いですがほとんどが追加要素です)
はじめに
コマンドを好きなキーや画面内のボタンに登録しておくことで、入力の手間を省いて簡単に使えるようにするMODです。学んでいけばもっともっと色々な事ができます。
とにかく便利です、個人的にはこれがもし使えなくなったとしたら建築勢辞めるかもしれません。流石に盛りましたがとにかく便利です。
概要
基本的にはWorldEditのよく使うコマンドを登録していくという方向でやっていきます。
本記事を追ってマクロMODの設定を進めていけば、便利な環境をゲットするとともに、マクロMODの基礎的な事項を学べるようになっています。
割り当てるキーやコマンドなどは環境や好みに応じて変えてください。
準備
Forge、Liteloder環境(前提MOD)
Macro/Keybind Mod(1.7.10用)
WorldEdit(MOD版でもPlugin版でも可)
上記の3つがあればとりあえず大丈夫です。導入法はここでは解説しませんが、「Liteloader Forge」などで検索すれば詳しい解説記事がたくさん出てきます。
ついでにWEの選択範囲を可視化する「WorldEditCUI」があると非常に便利です。個人的には必須レベル。
1.7.10のおすすめMODはこちら。
目次
- 初期設定
- コマンドをキーに割り当てる
- チャット画面にボタンを設置する
- Overrideでマウスを活用する
- 複数のコマンドを連続実行する
- 入力画面や選択画面を表示させる
- 色々な情報を取得して使う
- おわりに
初期設定
マクロMODを導入してから初めてクライアントを起動すると、このような画面が出てきます。Configure Keysを押し、キーを設定しましょう。
Macro activateはマクロMODキーコンフィグを表示させるキーになります。今回は「@」を入力して設定しました(このキーは環境によって表記が違うらしい?)。
Macro Overrideは後述。
Settings key comboは何回かクリックすると切り替わります、とりあえずDisabledにしておきましょう。
設定を終えて適当なワールドに入ってみましょう、このようなメッセージが出ると思います。
マクロMODの設定は複数作っておいて切り替えて使うことができます(次の記事で解説予定)。とりあえずこのままDefault Configrationに設定していけばどの環境でも共通で使えます。
コマンドをキーに割り当てる
早速キーバインドをしてみましょう。今回の例では「Backspaceキー」に「//set 0」を設定してみましょう。
Macro Activateキー(先ほどの設定では@キー)を押します。
このような画面が出てくるので、Aキーを模したアイコンをクリックしましょう。
キーバインド一覧が表示されます。赤文字はバニラや別MODですでに機能が設定されているキーです。
設定したいキーであるBackspaceキーを入力します。画面内の対象のキーをクリックしてもOKです。
すでにBackspaceキーに別の機能が割り当てられている場合は、あいている他のキーを使ってください。重複させることもできますが詳しくは後述。
Backspaceキーの設定画面が表示されるので、下の入力欄に「//set 0」を入力します。Saveをクリック、Escで画面を閉じれば設定終了です。
試しに範囲選択をしてからBackspaceキーを押してみましょう、成功しましたか?
チャット画面にボタンを設置する
キーバインドの他にも、画面内にボタンを設定することができます。よく開くであろうチャット画面にコマンドを設定してみましょう。Tキーを押してチャット画面を開くと、右下に見慣れない黄緑色の設定アイコンが表示されますので、クリックします。
左下にある+マークのアイコンをクリックして、Add Buttonをクリックします。
黄色い枠が表示されるので、ボタンを置きたい場所でクリックします。
Display Textに好きな文字を入力します。自分がわかりやすいような名前を付けておくと良いです。例では自分の持ち物を消去する「/clear」コマンドを入れるので、「clear」と名づけました。色などを変えたければ下の設定を弄ってみてください。
このように作ったボタンが表示されますので、ボタンを左クリックして設定画面を開き、設定したいコマンドをを入力してSave。
このように、設定すると黄色く表示されます。この画面でボタンを右クリックすると、名前や色を変えられる設定画面を開くこともできます。
Escでゲーム画面に戻り、チャット画面を開くとボタンが設定されているのがわかります。
ボタンを左クリックでコマンドが実行されます。正常に設定されたか試してみましょう。
なお、@で表示される画面にボタンを置くことができます。自分で好きなだけボタン用ページを作って任意の手段で開くこともできます。これに関しては次回で解説します。
Overrideでマウスを活用する
別の機能が割り当てられているキーにマクロMODのキーバインドを設定していた場合、Overrideキーと同時に押してやることでマクロMODの機能を発動することができます。
これを利用すると、マウスや押しやすいキーにも機能を追加することができて非常に便利です。
まずはキーコンフィグでOverrideキーを指定します。よく使うので押しやすい場所をおすすめします。筆者の環境では左ALTキーに設定しています。
マウスに色々機能を持たせてみましょう。筆者の環境では左クリックに//hpos1、右クリックに//hpos2を割り当てています。教えてもらった手法ですが、木斧いらずで範囲選択ができるようになるので非常に便利です。あとはホイールクリックに/jを設定しテレポート無双してみたり。
設定方法は先程の解説と全く同じなのでやってみてください。したのようにマウスの絵が書いてある所の各ボタンを押すと設定できます。
設定が終わるとオレンジ色になっているのがわかります。このように、Overrideキーを使う必要がある場合はオレンジ色で表示されます。
ゲーム画面に戻り、Overrideキーを押すとこのように左下に緑のアイコンが表示されます。
Overrideキーを押したまま、左クリック、視線を移動、右クリック、と順番に実行して範囲選択をしてみましょう。
はい便利!ありがとうございます!
さらに先ほど設定したBackspaceキーを押して//set 0を実行すれば一瞬でブロックを消せるという寸法です。このように設定と工夫次第で圧倒的な時間短縮を実現できるのがマクロMODの強みです。
環境やキーの組み合わせによっては、一度Overrideキーを離してから再び押さないと反応しない場合や、そもそも反応しない場合もあるみたいです。
複数のコマンドを連続実行する
このようにコマンドを「|」で区切ると、複数のコマンドを連続で実行することができます。
この例だと、一回キーを押すだけでコピー反転ペーストをやってくれます。負荷などには注意。
入力画面や選択画面を表示させる
任意の数値を入力するコマンドなどで便利な方法です。
例えばこのように設定すると…
実行すると入力画面が表示されます。
例えば5000と入力してEnterキーを押すと、時間が5000に設定されます。もちろん数字だけでなく文字も入力することもできます。
他にも任意の選択肢を表示させることもできます。
例えばこのように入力すると…
コピペ用→/time set $$[time[0,2500,5000,7500,10000,12500,15000]]
このように選択肢が表示されます。ダブルクリックすると選択できます。
工夫次第で様々なことができそうですね。
こういうのも便利です。//sel $$[mode[cuboid,extend,poly,ellipsoid,sphere,cyl,convex]]
他にも色々ありますが便利そうなものを抜粋して紹介します。
$$uでログインしているプレイヤー一覧の選択肢を表示させられるので、例えば「/tp $$u」と設定すれば、プレイヤーを選んで簡単にTPできます。
$$i:dでブロック一覧を表示させられるので、例えば「//set $$i:d」と設定すれば、ブロックを選んで//setできます。
色々な情報を取得して使う
様々な情報を取得し、マクロに組み込んで使うことができます。わかりやすい例として、手に持っているアイテムを//setするマクロを、Enterキーに設定してみます。
コピペ用→$${echo(//set %ITEMIDDMG%);}$$
いきなり難しそうな文字になってしまいましたが、とりあえず理解しなくてもとりあえずこのまま打てば使えますのでやってみてください。
範囲選択をして、置きたいブロックを持ったらEnterキーを押してみましょう。無事に持ってるアイテムが設置されれば成功です。
こちらの灰色文字は細かい話なので読み飛ばし可。マクロMOD側では様々な定数が用意されていて、今回はその一つである%ITEMIDDMG%を利用しています。これは持っているアイテムのIDとダメージ値を保持している定数なので、そのまま//setコマンドに使えるというわけです。
定数を使うためには、スクリプトを組んでやる必要があります。スクリプトを記述する場合は$${ }$$で囲う必要があります。スクリプトでecho();という関数を使うことで、中に記述したコマンドを実行することができます(正確にはカッコ内の記述をチャット送信するという機能です)。
スクリプトの書き方(関数、変数、定数など)についてはこちらの記事などで詳しく解説されています。筆者も新しくスクリプトを組むときなど度々お世話になっています。
配布マップのためのコマンド技法(Macro/Keybind mod 応用):逃亡のための計画書 - ブロマガ
おわりに
今回紹介した機能を使うだけでもかなり便利になったと思います。ですが、もう少し突っ込むとさらに便利になります。
次回の記事では、
・個人的に便利なちょっとしたアイデアや具体例の紹介
・簡単なスクリプトの紹介と書き方の解説
・説明しきれなかった機能やもう少し突っ込んだ話
などを盛り込んでいく予定です。質問やリクエストなどあればお気軽にコメントください。