ArmorStandのNBTでよく使うものをジャンルで整理してみる
ArmorStand
ArmorStand(minecraft:armor_stand。アーマースタンド。以下、アマスタ)っていろんな場面で使うじゃないですか。例えば。
- 防具立て
- マーカー(位置指定)
- 3Dモデル配置用
- 一時的なスコアボード保管用
- パーティクル表示の基準
などなど。そういう時に、いざアマスタを召喚しようとしたら、
「このNBTってどうやって書くんだったかなあ…」
ってよくなります。ということで私がよく使うやつだけ整理してみる。
基本セット(当たり判定・透明化・落下防止)
# 当たり判定を消す
{Marker:true}
# 透明化する
{Invisible:true}
# 落下防止する
{NoGravity:true}
# 3つ合わせて
{Marker:true,Invisible:true,NoGravity:true}
上の3つは大体のやつに設定している気がする。特に理由もなく。
※ 宗教上の理由から0b, 1bではなく、false, trueで書いてます。
名前関係
# 名前をつける
{CustomName:'{"text":"名前"}'}
# 名前を表示する
{CustomNameVisible:true}
# 2つ合わせて
{CustomName:'{"text":"名前"}',CustomNameVisible:true}
やっぱり、名前をつけるのはやるよね。普通のモブに対してもやるからね。
判別用途関係
# 最初からタグをつける
{Tags:["aaa","bbb"]}
# 最初からチームに含める
{Team:"red"}
# 2つ合わせて
{Tags:["aaa","bbb"],Team:"red"}
タグとかチームはセレクター指定するときに楽になるから、ついつい使っちゃう。
見た目関係
# 小型化
{Small:true}
# 手あり
{ShowArms:true}
# 下の台なし
{NoBasePlate:true}
全部をあわせて使うことはあまりないけど、見た目をいじるなら、これは設定しておきたいよね。
姿勢関係
# 召喚時の向き
## 1つ目はアマスタの体の方向(-180:北、-90:東、0:南、90:西)
## 2つ目はアマスタの頭の方向(0:正面、90:真上、-90:真下)
Rotation:[0.0f,0.0f]
# 頭、体、左手、右手、左足、右足の角度(別サイトで設定することを推奨)
Pose:{Body:[...],LeftArm:[...],RightArm:[...],LeftLeg:[...],RightLeg:[...],Head:[...]}
いよいよもって使わなくなってきたけど、アマスタの姿勢調整用。
各パーツはこちらで設定することをおすすめするよ。
アイテム装備関係
# 最初から右手、左手に装備する
## 1つ目は右手
## 2つ目は左手
{HandItems:[{id:"minecraft:stone",Count:1b},{}]}
# 最初から防具を装備する:インベントリとは逆順に装備するって覚えればいけそうだね
## 1つ目は足装備
## 2つ目は腰装備
## 3つ目は体装備
## 4つ目は頭装備
{ArmorItems:[{},{},{},{id:"minecraft:stone",Count:1b}]}
# 装備を付けられる、はずれるの設定
## この値の詳細は後述
{DisableSlots:31}
アマスタの装備関係。最初から装備させなくていいなら、replaceitemでやった方がシンプルだと思う。
装備の付け外し設定
まずは、こちらの表をご確認あれ。
| 設定 | パーツ | 数値 |
|---|---|---|
| 装備させない、はずさせない | 右手 | 1 |
| 装備させない、はずさせない | 足 | 2 |
| 装備させない、はずさせない | 腰 | 4 |
| 装備させない、はずさせない | 体 | 8 |
| 装備させない、はずさせない | 頭 | 16 |
| 装備させない、はずさせない | 左手 | 32 |
| 装備をはずさせない (装備できる) | 右手 | 256 |
| 装備をはずさせない (装備できる) | 足 | 512 |
| 装備をはずさせない (装備できる) | 腰 | 1024 |
| 装備をはずさせない (装備できる) | 体 | 2048 |
| 装備をはずさせない (装備できる) | 頭 | 4096 |
| 装備をはずさせない (装備できる) | 左手 | 8192 |
| 装備させない (はずせる) | 右手 | 65536 |
| 装備させない (はずせる) | 足 | 131072 |
| 装備させない (はずせる) | 腰 | 262144 |
| 装備させない (はずせる) | 体 | 524288 |
| 装備させない (はずせる) | 頭 | 1048576 |
| 装備させない (はずせる) | 左手 | 2097152 |
全部の値の意味はこんな感じなんだけど、複数指定したい場合はどうするのか。
全部足します。
つまり、両手、足、腰、体は「装備させない、はずさせない」だけど、頭は「装備させない、けどはずせる」ようにしたいのであれば
- 右手の「装備させない、はずさせない」は、1
- 左手の「装備させない、はずさせない」は、32
- 足の「装備させない、はずさせない」は、2
- 腰の「装備させない、はずさせない」は、4
- 体の「装備させない、はずさせない」は、8
- 頭の「装備させない、けどはずせる」は、1048576 (表の最後のやつ)
になるので、「1 + 32 + 2 + 4 + 8 + 1048576」の結果、「1048623」をDisableSlotsに指定すればOK。
面倒ならば、MC Stackerとか使ったほうが良いと思います。
ちなみに、全部「装備させない、はずさせない」、アマスタを破壊もできないで良いならばMarkerを使ったほうが楽です。
デバッグ目的
# 光らせる
{Glowing:true}
実際の使い方は、もちろん光らせるためにあるんですけど、私はデバッグ用途で使ってます。
なんのデバッグかって?
透明化したアマスタがどこにいるのか見えるようにするため!
光らせてしまえば、壁の向こう側でも見えますからね。便利です。
最後に
まだ指定できるNBTはいっぱいあるんですが、私はそこまで残りのやつは使わないです。
世の中にはUUIDとか指定してアレコレする人やAttributeでアレコレする人がいるそうですね。
世界は広いですね。