ルッキーのコマンドメモ

主にマイクラのコマンドやデータパックに関することを書いていきます。

(マイクラ コマンド・データパック)ツールのブロック破壊速度を変更する方法

componentの使い方 tool編

今回はアイテムに対してブロックの破壊速度や適性ブロックを設定することができるtoolコンポーネントの使い方を紹介します。

このコンポーネントを利用することでほとんどのアイテムを一瞬で破壊するツールを作ったり、反対に特定のブロックしか破壊できないツールを作ったりすることができます。

目次

そもそもcomponentとは

toolコンポーネントについて説明する前に、まずcomponentとは何かについて説明します。

componentはminecraft1.20.5以降で導入されたコマンドの形式です。

いきなりcomponentと言われるとわからなくなってしまいますが、要は今まで使っていたアイテムの名前の変更やエンチャントの付与といったコマンドの書き方が変わっただけです。

たとえば1.20.4以前であればこのようなgiveコマンドで取得できたアイテムがあります。

# 伝説の剣という名前のダメージ増加255のエンチャントがついた剣を出す
/give @p diamond{display:{Name:'{"text":"伝説の剣"}'},Enchantments:[{id:"minecraft:sharpness",lvl:255}]} 1

このアイテムは1.20.5以降ではこのようなコマンドで入手することができます。

# 伝説の剣という名前のダメージ増加255のエンチャントがついた剣を出す
/give @p diamond_sword[custom_name='"伝説の剣"',enchantments={levels:{"minecraft:sharpness":255}}] 1

正直、大した違いはないです。 1.20.5以降ではコマンドの書き方が変わったんだなあというくらいの認識でいいと思います。

ただ、1.20.5以降、様々な種類のコンポーネントが追加されたため、以前ではできなかったブロックの破壊速度の変更のような、新しい設定を行うことができるようになりました。

toolコンポーネントの基本的な構文

では、toolコンポーネントについて説明します。 toolコンポーネントはそのアイテムが破壊できるブロックを指定したり、その速度を指定したりできるコンポーネントです。

基本的なtoolコンポーネントの構文は以下のようになります。

アイテム名[tool={default_mining_speed:<数値>,damage_per_block:<数値>,rules:{speed:<数値>,correct_for_drops:<true/false>,blocks:<単一のblock名/blockのリスト>}}]

たとえばこのようなコマンドにすると、鉄ブロックを一瞬で破壊できる鉄の剣を作れます。

# 斬鉄剣という名前の鉄ブロックに対して通常の10000倍の採掘速度になる鉄の剣を入手する
/give @p iron_sword[custom_name='"斬鉄剣"',tool={rules:[{speed:10000,blocks:["iron_block"]}]}] 1

このように一瞬で鉄ブロックを破壊できます。

それぞれのパラメータについて

以降ではtoolコンポーネントのそれぞれのパラメータについて詳しく解説していきます。

default_mining_speed (通常の採掘速度)

default_mining_speedはそのアイテムのデフォルトの採掘速度です。
何も設定していない時、この数値は1です。

これを2にすれば全てのブロックを通常の2倍の速度で破壊することができます。

ツルハシに対して設定しても土が早く壊せてしまうというように全てのブロック対して影響してしまうので少し扱いが難しいかもしれません。

これはなんでも通常の1000倍の速度で破壊できるダイヤツルハシのコマンドです。

# なんでも100倍の速度で破壊できるツルハシを入手
/give @p diamond_pickaxe[tool={default_mining_speed:1000,rules:[]}] 1

damage_per_block (使用時の耐久減少量)

damage_per_blockを設定するとアイテム使用時の耐久減少量を設定することができます。

たとえばこのようにdamage_per_blockを10000にすれば1回使うと壊れるツルハシを作れます。

# 1回使うと壊れるツルハシを入手
/give @p diamond_pickaxe[tool={damage_per_block:10000,rules:[]}] 1

rules (特定のブロックに対する条件設定)

rulesパラメータを利用すれば、ブロックごとの破壊速度を指定したり破壊時にアイテムをドロップするかを設定することができます。

ruleはリスト形式で複数作成することができ、対象となるブロックが複数回出現した場合には先に書かれているルールが優先されます。

rulesパラメータは以下の3つで構成されています。

toolコンポーネントの基本的な構文で紹介した鉄ブロックを一瞬で破壊できる剣もrulesを設定しています。

先ほど紹介したコマンドでは鉄ブロックをアイテム化することができませんでしたが、以下のようにcorrect_for_dropsを設定することでアイテム化するようになります。

# 鉄ブロックを一瞬でアイテム化できる鉄の剣を入手する
/give @p iron_sword[custom_name='"斬鉄剣"',tool={rules:[{speed:10000,correct_for_drops:true,blocks:["iron_block"]}]}] 1

rulesのそれぞれのパラメータについては以下で詳しく説明します。

speed

特定のブロックに対する破壊速度です。default_mining_speedを上書きします。

correct_for_drops

この設定は本来そのアイテムが適正ツールではない場合にその設定を上書きして適正ツールとして扱うかを指定できます。

たとえば、本来黒曜石をアイテム化できるのはダイヤ以上のツルハシですが、この設定をtrueにしたruleを作成すれば黒曜石を木や金のツルハシでもアイテム化させることができます。(もちろんツルハシでなく、リンゴのようなアイテムであったとしてもアイテム化させることができます。)

また、マイクラの仕様として適正ツールであれば壊す速度が早くなるという副次的な効果もあります。

なお、たとえfalseにしたとしてもそのアイテムが元々適正ツールであれば適正ツールとなります。(例: ビーコンを破壊する場合はfalseに設定しても適正ツールとなり、アイテム化する。)

注意点として、ここでtrueを選択したとしても、そもそもモンスタースポナーのようにアイテムとしてドロップさせる手段がゲーム中に存在しない(ルートテーブルが設定されていない)アイテムを設定した場合にはドロップしません。

blocks

指定したルールを適用するブロック設定します。 ブロック名かブロックタグを利用することができます。

まとめ

今回はコンポーネントのうち、toolコンポーネントについて説明しました。

toolコンポーネントではアイテムに対して特定のブロックに対する適正を設定したり、ブロックの破壊速度を変更することができます。

この設定を利用すれば斧、ツルハシ、シャベルの全ての機能を持ったツールを作ったり、一度使うと壊れるがなんでも一瞬で壊せるツールを作ったりと、様々なツールを作成することができます。