はじめに
こんにちは。Never3924です。
この記事はコマンドのみを使用してカスタムブロックを作成するという記事です。
Modとかリソースパック、データパックは使用しません。
では、作っていきましょう。
バージョン
Minecraft 1.20.4
1.20.6以降だとNBTの記法が変わっているようで、使用できません。
仕組み
仕組みの解説を行います。
見た目の設定にはBlock Displayを使用します。
当たり判定は内部にブロックを置いて実現します。
樽やドロッパーなんかがいいでしょう。
これらをまとめるためにアーマースタンドを使用します。
で、ブロックをどうやって設置するか?ですが、スポーンエッグを使用します。
コマンド
まずはスポーンエッグから作っていきましょう。
ベースとなるのはこれです。
/give @p <好きなスポーンエッグのID> 1
好きなスポーンエッグのIDですが、今回はアレイのスポーンエッグにします。
IDはminecraft:allay_spawn_egg
ですね。
そうなるとこのようになります。
/give @p minecraft:allay_spawn_egg 1
では、要となるNBTの指定をしましょう。
完成品はこれです。
{EntityTag:{id:armor_stand,ShowArms:0b,NoBasePlate:1b,Small:1b,Tags:["CustomCraftingTable"]},display:{Name:'[{"text":"カスタム作業台","italic":true,"color":"#FF5555","bold":true}]',Lore:['[{"text":"いろいろなアイテムを作ることができる。"}]']}}
ちょっと整形しますね。
{
EntityTag: {
id: armor_stand,
ShowArms: 0b,
NoBasePlate: 1b,
Small: 1b,
Tags: ["CustomCraftingTable"]
},
display: {
Name: '[{"text":"カスタム作業台","italic":true,"color":"#FF5555","bold":true}]',
Lore: ['[{"text":"いろいろなアイテムを作ることができる。"}]']
}
}
見やすくなりました。
display
の中身はまぁそんなに大事じゃないです。
アイテムの名前とか説明文とかなので。
一応解説します。
解説(クリックで見る)
`Name`や`Lore`はおそらくJson形式で書かれています。 ただし、文字列として扱われていることに注意が必要です。まずNameから解説します。
整形してみます。
[
{
"text": "カスタム作業台",
"italic": true,
"color": "#FF5555",
"bold":true
}
]
こんな感じですね。
配列になっています。
なぜ配列になっているのかですが、途中で色を変えられるためと思われます。
例えば、
「カスタム作業台」の「カスタム」は赤色で、「作業台」はオレンジにしたい場合、
[
{
"text": "カスタム",
"italic": true,
"color": "#FF5555",
"bold":true
},
{
"text": "作業台",
"italic": true,
"color": "#FFA500",
"bold":true
}
]
みたいな感じで指定ができます。
では、色とかの設定をしましょう。
{
"text": "作業台",
"italic": true,
"color": "#FFA500",
"bold":true
}
このオブジェクトの解説をします。
"text"
は、表示したいテキストを指定します。
"italic"
は、文字を斜めにできます。
斜めにしたい場合はtrue
を、
"color"
は、色を指定できます。
16進数表記でできます。
例 → #FF5555
"bold"
は、文字を太くできます。
太くしたい場合はtrue
を、
また、"underlined"
っていうやつもあります。
これは文字に下線をつけられます。
つけたい場合はtrue
を、
次にLoreの解説を行います。
Loreは配列になっています。
これは行を表していて、
増やせば増やすほど行が増えます。
[
'[{"text":"いろいろなアイテムを作ることができる。"}]'
]
1行ごとの設定はName
とほぼ変わりません。
では、EntityTag
の解説をします。
id
には召喚したいエンティティのIDを指定します。今回だとarmor_stand
ですね。
それ以外はアーマースタンドの設定なので、簡単に解説します。
ShowArms
→アーマースタンドの手を表示するかどうか
NoBasePlate
→アーマースタンドの下の台を表示するかどうか
Small
→アーマースタンドを小さくする
Tags
は大事で、エンティティの指定が楽になります。
他のやつとかぶらないように設定しましょう。
これでスポーンエッグのNBTが完成しました。
できたNBTは、以下の場所に設置します。
/give @p <アイテムID><完成したNBT> 1
NBTは、アイテムIDの直後に、スペースを開けずに記述してください。
今回の場合だと
/give @p minecraft:allay_spawn_egg{EntityTag:{id:armor_stand,ShowArms:0b,NoBasePlate:1b,Small:1b,Tags:["CustomCraftingTable"]},display:{Name:'[{"text":"カスタム作業台","italic":true,"color":"#FF5555","bold":true}]',Lore:['[{"text":"いろいろなアイテムを作ることができる。"}]']}} 1
これで実行してみると...?
できましたね。おめでとうございます!
では、手に入れたスポーンエッグを使ってみましょう。
無事、アーマースタンドを召喚できました。
おわりに
思ったより書くことが多かったので、ここらへんで終わります。
次回はBlock Displayの設定です。
ではまた~。