見出し画像

JsMacrosでボタンマクロを再び・・・

マイクラ最新版に環境を乗り換えると、普段使っていたマクロが対応してなくて何かと不便。とはいえマクロがある環境に慣れていると、マクロなしではもう生きていけません。特にボタンマクロ。(個人的に)

ここでは最新版対応マクロmod「JsMacros」で使えるボタンマクロ用モジュール「BtnManager」の使い方を紹介して、極楽マクロライフを取り戻す手助けができればと思います。

使い方のみ気になる方へ:チートシート

先に軽く「JsMacros」の紹介

実はこのマクロ、ちょっと難しいです。「JsMacros」という名前の通り、JavaScriptというプログラミング言語を書かせてきます。
コードを書いて開発できるためとても自由度の高いマクロですが、言語自体の知識を問われるので、経験がないとどこから始めればいいのか分からず少し困惑するかもしれません。

マクロ開発の画面

しかしご安心を・・。難しい機能を開発する訳でなければ誰でも簡単にマクロを作れるmodなので、マクロライフを復活させるにはうってつけです。
例えば以下は//pos1するコード。

Chat.say('//pos1')

ある程度機能が用意されているので、好きなキーからコマンドを呼び出す簡単なマクロであればすぐ作れます。
ですが、前使っていたマクロと同じ感覚を目指すなら「キーボードとは別に画面上にマクロボタンを置きたい!」ですよね。しかし、そのためには少しコードが複雑になってしまいます。
そこで、今回紹介するのが、ボタンを簡単に置ける「BtnManager」です。では本題。

BtnManagerをぜひ使ってくれ

BtnManager」は、画面上にボタンを置くことに特化した追加パックみたいなものです。
これを導入することで、本来複数行に渡るコードを一行で、またより直感的にボタンを置くことができます。
今回は導入方法・使い方に分けて解説していきます。

見た目はこんな感じ

導入方法

1. BtnManager.jsをダウンロード
以下ファイルはバグなどが見つかったら不定期で更新します。
あと海外鯖にも投げたいからコメントは英語です。

2. マクロフォルダに突っ込む
config / jsMacros / Macros の中にBtnManager.jsを突っ込みます。
これで導入完了です。



使い方

jsMacrosが導入されてる前提で進めます。
ここではチャット画面にボタンを置くコードを書いていきます。

1. マクロファイルを新規作成

「k」キーを押して、左上の「Events」をクリック。右上の方にある+ボタンを押してマクロを新規作成します。
左から、
「Disabled」を「Enabled」に
Eventsを「OpenScreen」に
Fileを入れる部分をクリック、「New」から好きなファイル名を設定して「Confirm」をクリックします。(.jsは入れなくても大丈夫です)

ファイルを新規作成した様子

2. BtnManagerを召喚

「編集」をクリックすると、コードを書ける画面が出てきます。
以下のコードをコピペしてください。
上の二行がBtnManagerを召喚するコードです。(ここではbmとして召喚しました)

const BtnManager = require('./BtnManager.js')
const bm = new BtnManager(event.screen)

if (event.screenName === 'Chat') main()

function main() {

}

3. ボタンを配置

基本的には、
ボタンの位置(x座標・y座標)
横幅のみサイズ調整(縦幅は仕様で×)
ボタンに乗せる文字
ボタンを押された時の処理を書きます。
テンプレをコピペして、書き換えて使ってください。

軸の向きに注意!

.place() 座標を使ってボタンを設置します。
サイズは、
上の画像中央のボタンが40、
20にすると正方形になります。参考に。

押された時の処理には、文字列 or 関数が入ります('js アロー関数'で検索)
また、'//pos1|//pos2' のように'|'で区切ってコマンドを複数入力できます。

bm.place(x座標, y座標, サイズ, テキスト, 押された時の処理)

// サンプル
bm.place(100, 100, 20, 'hi', '/say hi|/say hello')

// こんな書き方もできます
bm.place(100, 200, 80, 'helloworld!', () => {
    // javaScriptで記述
    Chat.say('hello')
    Chat.say('world!')
})


.grid() グリッドを使ってボタンを設置します。
keybindmodに感覚寄せてみました。
座標の指定に分数を使います。

'1/2' → 画面を2分割した1番目の位置に設置。
'a/b' → 画面をb分割したa番目の位置に設置。

また、サイズはグリッドに依存するので自動で調整されます。
大きい値・素数など弾かれる場合があります。

押された時の処理は.place()と同様です。

bm.grid(x座標, y座標, テキスト, 押された時の処理)
// サンプル
bm.grid('1/2', '1/4' 'pos1', '//pos1')

// こんな書き方もできます
bm.grid('1/8', '2/4', 'helloworld!', () => {
    // javaScriptで記述
    Chat.say('hello')
    Chat.say('world!')
})


定数 ボタンの配置に役立つやつです
bm.w:画面の横幅(width)
bm.h
:画面の縦幅(height)
bm.centerX
:画面の中央(X軸)
bm.centerY
:画面の中央(Y軸)

サンプルコード
//pos1 //pos2 //sel のボタンマクロを中央に設置するコードです。

const BtnManager = require('./BtnManager.js')
const bm = new BtnManager(event.screen)

if (event.screenName === 'Chat') main()

function main() {
    bm.place(bm.centerX - 45, bm.centerY - 10, 40, 'pos1', '//pos1')
    bm.place(bm.centerX + 5,  bm.centerY - 10, 40, 'pos2', '//pos2')
    bm.place(bm.centerX - 20, bm.centerY - 35, 40, 'clear', '//sel')
}

最後に

今回紹介した「BtnManager」が少しでもお役に立てばと思います。
チートシートももっかい貼っときますね

では、良いマクロライフを〜〜

この記事が気に入ったらサポートをしてみませんか?