アドオン作成 - ボリューム
目次は右上の「≡」から!
機能
「ボリューム」というものを定義します。
ボリュームとは何かというと、ワールド内の指定したある空間(直方体)のことで、 大きさやエンティティの侵入/退出時のイベントを設定して定義します。
ファイルの場所
(ワールドデータ)
┣ behavior_packs
┣ db
┣ resource_packs
┣ level.dat
┣ level.dat_old
┣ levelname.txt
┣ world_icon.jpeg
┗ volumes
┗ 〇〇.json
┣ behavior_packs
┣ db
┣ resource_packs
┣ level.dat
┣ level.dat_old
┣ levelname.txt
┣ world_icon.jpeg
┗ volumes
┗ 〇〇.json
基本構造
{
"format_version": "1.17.0",
"minecraft:volume": {
"description": {
"identifier": "ex:my_volume"
},
"components": {
// コンポーネント
}
}
}
コンポーネント
● minecraft:bounds
ボリュームの大きさを決めます。直方体の(x,y,z)が最も小さい点("min")と 最も大きい点("max")を指定します。
"dimension"ではディメンションを指定します。
"minecraft:bounds": {
"dimension": "overworld",
"min": [ -50, -64, -50 ],
"max": [ 50, 320, 50 ],
}
● minecraft:fog
このボリュームの中にいるプレイヤーに見せるfogを指定します。
"fog_identifier"にはfogIDを、 "priority"には優先順位を指定します(小さいほうが高い)。
"minecraft:fog": {
"fog_identifier": "minecraft:fog_savanna",
"priority": 1
}
● minecraft:on_actor_enter
このボリュームにエンティティが入った瞬間に起こるイベントを指定します。
"condition"ではMolangを用いた追加の条件、 "event"では発生させるイベントの名前、 "target"ではそのエンティティ基準のターゲットを指定します。
"minecraft:on_actor_enter":{
"on_enter": [{
"condition": "query.modified_move_speed >= 1.0",
"event": "reduce_fog_amount",
"target": "self"
}]
}
● minecraft:on_actor_leave
このボリュームからエンティティが出た瞬間に起こるイベントを指定します。
各プロパティの説明は"minecraft:on_actor_enter"コンポーネントと同様です。
"minecraft:on_actor_leave":{
"on_leave": [{
"condition": "query.modified_move_speed <= 0.9",
"event": "restart_fog",
"target": "self"
}]
}