Minecraft1.21.3スポナーブロック(spawner)の中身のカスタムについて
こんにちは。金内です。
今回は、Minecraft1.21.3でのスポナーブロックのカスタムについて解説します!
スポナーブロックのカスタムとは?
スポナーブロックのカスタムとは、本記事において、スポナーブロックのNBTデータをカスタムすることを指します。公式名称とかではないです。
スポナーブロックの持つ固有のNBTタグ
スポナーブロックは、以下の固有のNBTタグを持っています。
Delay
このタグには、スポナーブロックが次にエンティティをスポーンさせるまでのtick数を記述します。毎tickごとに値が1小さくなり、0になった時にエンティティをスポーンさせます。
MinSpawnDelay
このタグには、Delayが0になった時、再び更新するDelayの値の最小値を記述します。
デフォルト値は200s
MaxSpawnDelay
このタグには、Delayが0になった時、再び更新するDelayの値の最大値を記述します。
デフォルト値は800s
SpawnRange
このタグには、エンティティを出現させる可能性のある半径を記述します。
デフォルト値は4s
SpawnCount
このタグには、同時に出現させるエンティティの数の最大数を記述します。
デフォルト値は4s
MaxNearbyEntities
このタグには、SpawnRange内に存在できるスポーンさせる種類のエンティティの数の最大数を記述します。SpawnRange内にMaxNearbyEntities以上の数のエンティティが存在する場合、スポナーブロックはDelayが0になってもエンティティをスポーンさせず、Delayの更新も起こりません。
デフォルト値は6s
RequiredPlayerRange
このタグには、スポナーを起動させるために何ブロック以内にプレイヤーがいなければならないかを記述します。
デフォルト値は16s
SpawnData
このタグには、スポナーブロックが次にスポーンさせるエンティティのNBTデータを記述します。SpawnPotentialが記述されていない場合、更新されません。
SpawnPotentials
このタグには、スポナーブロックがエンティティをスポーンさせたとき、SpawnDataが更新される可能性をリスト型で記述します。
SpawnData、SpawnPotentialsの記述方法
Delay、MinSpawnDelay、MaxSpawnDelay、SpawnRangeなどについてはこれ以上語ることはないので、SpawnDataとSpawnPotentialsの記述方法について解説します。
SpawnData
まずSpawnDataについて解説します。SpawnDataは主に、以下のように記述します。
{entity:{エンティティのNBTデータ},equipment:{slot_drop_chances:ドロップ率,loot_table:ルート名}}
entityタグには、スポーンさせるエンティティのNBTデータを記述します。
equipmentタグには、スポーンさせるエンティティに装備させるアイテムをルートテーブルで指定します。slot_drap_chancesタグにそれぞれのスロットのアイテムのドロップ率(0.0~1.0)、loot_tableタグに装備させるルートテーブル名を記述します。
例:
{entity:{id:"zombie"},equipment:{slot_drop_chances:0.0f,loot_table:"minecraft:equipment/trial_chamber"}}
SpawnPotentials
次に、SpawnPotentialsについて解説します。SpawnPotentialsには、エンティティをスポーンさせた後、SpawnDataを更新する値をリスト形式で記述します。複数のエンティティを一つのスポナーでスポーンさせるときなどに使います。以下のように記述します。
[{data:SpawnData,weight:重み}]
dataタグには、先ほど解説した、SpawnDataと同じ方法で記述します。weightには、重みを入れます。
例:
[{data:{entity:{id:"zombie"}},weight:1},{data:{entity:{id:"skeleton"}},weight:1}]
あとがき
いかがだったでしょうか?不明点、誤字脱字などがありましたら、指摘していただけるとありがたいです。