データパック/ワールドのカスタマイズ
ver1.16より、データパックを用いてワールドのカスタマイズを行うことが可能になった。
設定可能な項目は多岐にわたり、自由度が極めて高い。
カスタムされたワールドの作成方法
- カスタマイズファイルを含んだデータパックを用意しておく。
- ワールドの新規作成の画面で、「データパック」のボタンをクリック。
- 画面左側の枠に用意したデータパックをドラッグアンドドロップする。
- データパックを導入するか聞かれるので「はい」をクリック。
- 表示されたデータパックにカーソルを合わせると右向きの矢印が表示されるのでクリック。するとデータパックが右側の枠に移動し、ワールドに導入される。
- 必要なら優先順位を調整する(基本的に一番上に来ていればOK)。
優先順位の調整は、データパックにカーソルを合わせると表示される上向き・下向きの矢印をクリックすることで行える。 - 画面下の「完了」ボタンをクリック。
するとゲームがデータパックが正しく構成されているかどうか検証する。
ここで異常に時間がかかったり、失敗したりする場合はデータパックのファイルを見直したり、ゲームのログを確認したりすること。 - 通常通りワールドを新規作成する。
- ワールドのカスタマイズ機能を利用するかどうかの確認を求められるので承認する。
- カスタムされたワールドが生成される。
デフォルトの設定内容を確認するには
デフォルトの地形生成の設定内容は、Minecraftの開発者の一人、Mikael "slicedlime" Hedberg氏のGitHubで vanilla_worldgen.zip として公開されている(ダウンロード場所はこちら)。
ディメンションのカスタマイズ(Custom dimension)
保存場所
ver1.16.2以降
datapacks>(パック名)>data>(名前空間)>dimension>(ディメンション名).json
ver1.16/ver1.16.1
datapacks>(パック名)>data>minecraft>dimension>(名前空間)>(ディメンション名).json
自作ディメンションに行く方法
/execute in <名前空間:ディメンション名> run tp <x> <y> <z>
とコマンドを実行することで、自作ディメンションの指定した座標にテレポートできる。
JSONの記法
{
"type":"<ディメンションの種類の設定ファイルのパス>",
"generator":{
<地形生成の詳細>
}
}
- type
- ディメンションの種類を指定する。自作したものか、デフォルトのものが使用できる。
- デフォルトの設定ファイルのパスは次の通り。
通常世界 | minecraft:overworld |
通常世界(洞窟) | minecraft:overworld_caves |
ネザー | minecraft:the_nether |
ジ・エンド | minecraft:the_end |
- generator
- 地形やバイオーム、構造物の生成の詳細を設定する。以下で解説
ディメンションの種類についての設定(Dimension type)
ディメンションの種類についての設定は、個別のJSONファイルで行う。
保存場所は次の通り。
ver1.16.2~
datapacks>(パック名)>data>(名前空間)>dimension_type>(ファイル名).json
ver1.16/ver1.16.1
datapacks>(パック名)>data>minecraft>dimension_type>(名前空間)>(ファイル名).json
ファイルの中身は次の通り。
{
"name":"minecraft:overworld/minecraft:overworld_caves/minecraft:the_nether/minecraft:the_end",
"ultrawarm":true/false,
"natural":true/false,
"coordinate_scale":<浮動小数点値>,
"shrunk":true/false,
"has_skylight":true/false,
"has_ceiling":true/false,
"ambient_light":<浮動小数点値>,
"fixed_time":<整数値>,
"piglin_safe":true/false,
"bed_works":true/false,
"respawn_anchor_works":true/false,
"has_raids":true/false,
"logical_height":<整数値>,
"min_y":<整数値>,
"height":<整数値>,
"infiniburn":"<データパックのタグのパス>",
"effect":"minecraft:overworld/minecraft:the_nether/minecraft:the_end"
}
- name
- あらかじめ用意されているファイルを利用する場合に用いるタグ。
- ultrawarm
- trueで、ネザー同様に水が設置できず、濡れたスポンジが乾く。
- natural
- falseでコンパスが方角を示さなくなり、ベッドによりリスポーン地点が固定できなくなる。
- coordinate_scale
- ver1.16.2~
- そのディメンション内での1ブロックの移動が、通常世界での何ブロックの移動に相当するか。
- 0.00001以上3000万以下の数値で指定する。例えばネザーの場合は8である。
- shrunk
- ver1.16/1.16.1
- trueで、そのディメンション内での移動が通常世界での8ブロックの移動に相当するように設定する。
- has_skylight
- trueで日中は明るくなる。
- has_ceiling
- trueで岩盤の天井が生成される。
- ambient_light
- 光が全く届いていないときの明るさを設定する。
- fixed_time
- (オプション) 時間が設定した値に固定される。
- piglin_safe
- trueでピグリンがゾンビピグリンに変わる。
- bed_works
- falseでベッドが爆発する。
- respawn_anchor_works
- falseでリスポーンアンカーが爆発する。
- has_raids
- 襲撃が起こるかどうかを設定する。
- logical_height
- ネザーゲートなどを利用したワープで到達可能な最高高度を設定する。
- ver1.17以降では、ブロックが設置できる最低高度からの高さとして扱われるため、0以上heightに指定した値以下の整数である必要がある。
- ver1.16~1.16.5では、0以上255以下の整数値である必要がある。
- min_y
- ver1.17~
- ブロックが設置できる最低高度を指定する。-2032以上2016以下の16の倍数である必要がある。
- height
- ver1.17~
- ブロックが設置できる最高高度と最低高度との差を指定する。16以上4064以下の16の倍数である必要がある。
- また、最高高度は2032以下でなくてはならない。
- infiniburn
- 火が燃え続けるブロックをデータパックのタグで指定する。
- effect
- (オプション) 雲・霧などの視覚効果を設定する。overworld、the_nether、the_endのいずれかから選ぶ。
- デフォルトはoverworld。
generatorタグの記述内容
generatorタグの記述法は、ワールドのタイプによって以下のように分かれる。
デフォルト
通常のワールドが生成される。バイオームの配置法の設定により、以下の5種類に分かれる。
通常世界
"generator":{
"type":"minecraft:noise",
"seed":<4バイト整数値>,
"settings":"<地形生成の設定ファイルのパス>",
"biome_source":{
"seed":<4バイト整数値>,
"type":"minecraft:vanilla_layered",
"biomes":[
"<バイオームID>"
],
"large_biomes":true/false
}
}
デフォルトの通常世界と同様のバイオーム配置が行われる。
large_biomesをtrueとすると「大きなバイオーム」相当のバイオーム配置になる。
ネザー
"generator":{
"type":"minecraft:noise",
"seed":<4バイト整数値>,
"settings":"<地形生成の設定ファイルのパス>",
"biome_source":{
"seed":<4バイト整数値>,
"type":"minecraft:multi_noise",
"biomes":[
{
"biome":"<バイオームID>",
"parameters":{
"altitude":<浮動小数点値>,
"weirdness":<浮動小数点値>,
"offset":<浮動小数点値>,
"temperature":<浮動小数点値>,
"humidity":<浮動小数点値>
}
}
],
"altitude_noise":{
"firstOctave":<4バイト整数値>,
"amplitudes":[
<浮動小数点値>
]
},
"weirdness_noise":{
"firstOctave":<4バイト整数値>,
"amplitudes":[
<浮動小数点値>
]
},
"temperature_noise":{
"firstOctave":<4バイト整数値>,
"amplitudes":[
<浮動小数点値>
]
},
"humidity_noise":{
"firstOctave":<4バイト整数値>,
"amplitudes":[
<浮動小数点値>
]
}
}
}
ネザー類似のバイオーム配置を行う。
altitude_noise、weirdness_noise、temperature_noise、humidity_noiseタグをもとに各ブロックにaltitude、weirdness、temperature、humidityが割り当てられ、
その値の組に最も近い設定値をもつバイオームがそのブロックのバイオームとなる。
ジ・エンド
"generator":{
"type":"minecraft:noise",
"seed":<4バイト整数値>,
"settings":"<地形生成の設定ファイルのパス>",
"biome_source":{
"seed":<4バイト整数値>,
"type":"minecraft:the_end"
}
}
ジ・エンド類似のバイオーム配置を行う。
単一のバイオーム
"generator":{
"type":"minecraft:noise",
"seed":<4バイト整数値>,
"settings":"<地形生成の設定ファイルのパス>",
"biome_source":{
"seed":<4バイト整数値>,
"type":"minecraft:fixed",
"biome":"<バイオームID>"
}
}
1つのバイオームのみを生成する。
格子
"generator":{
"type":"minecraft:noise",
"seed":<4バイト整数値>,
"settings":"<地形生成の設定ファイルのパス>",
"biome_source":{
"seed":<4バイト整数値>,
"type":"minecraft:checkerboard",
"biomes":[
"<バイオームID>"
]
}
}
指定したバイオームが碁盤目状に繰り返して生成される。
スーパーフラット
スーパーフラットのワールドが生成される。
"generator":{
"type":"minecraft:flat",
"settings":{
"layers":[
{
"block":"<ブロックID>",
"height":<整数値>
}
],
"biome":"<バイオームID>",
"lakes":true/false,
"features":true/false,
"structures":{
"stronghold":{
"distance":<整数値>,
"count":<整数値>,
"spread":<整数値>
},
"structures":{
"<構造物のID>":{
"spacing":<整数値>,
"separation":<整数値>,
"salt":<整数値>
}
}
}
}
}
- layers
- 構成ブロックの設定。blockタグで指定したブロックが、heightタグで指定した高さだけ積み重なって生成される。
- ブロックIDはこちらを参照。
- biome
- バイオームを指定。バイオームIDはこちらを参照。
- lakes
- trueで池・溶岩湖が生成される。
- features
- trueで樹木等のオブジェクトが生成される。
- structures
- 構造物の生成について設定する。
- stronghold:要塞の生成について設定する。
countは要塞の総生成数。
distanceは要塞が生成される円周の半径を指定するのに用いられる数。ここで指定した数を とすると、内側から 番目の円周の半径は チャンクとなる。
spreadは一番内側の円周上に生成される要塞の数。内側から 番目の円周上の生成数は、 番目の生成数を とすると で与えられる(最外周については、総生成数からすでに生成された要塞の数を引いた数となる)。よってこの数値により全ての円周上に生成される要塞の数が決まることになる。
デフォルトの通常世界ではcount=128、distance=32、spread=3である。 - <構造物のID>:指定した構造物の生成について設定する。
spacingは構造物間の平均距離、separationは構造物間の最低距離をいずれもチャンク(16ブロック)単位で指定する。saltは生成に用いられるシード値に加えるソルト値を指定。
要塞については、この値を変更しても生成に影響がない。
- stronghold:要塞の生成について設定する。
デバッグ
デバッグワールド同様の地形が生成される。
"generator":{
"type":"minecraft:debug"
}
地形生成の設定(Noise Settings)
ver1.16.2~ 地形生成の設定は、個別のJSONファイルで行う。保存場所は次の通り。
datapacks>(パック名)>data>(名前空間)>worldgen>noise_settings>(名前).json
ver1.16/1.16.1では、以下の内容をgeneratorタグ内のsettingsタグに直接記述する。
ファイルの中身は次の通り。
{
"bedrock_roof_position":<整数値>,
"bedrock_floor_position":<整数値>,
"sea_level":<整数値>,
"disable_mob_generation":true / false,
"default_block":{
"Name":"<ブロックID>",
"Properties":{
<ブロックの状態>
}
},
"default_fluid":{
"Name":"<ブロックID>",
"Properties":{
<ブロックの状態>
}
},
"structures":{
"stronghold":{
"distance":<整数値>,
"count":<整数値>,
"spread":<整数値>
},
"structures":{
"<構造物のID>":{
"spacing":<整数値>,
"separation":<整数値>,
"salt":<整数値>
}
}
},
"noise":{
"height":<整数値>,
"size_horizontal":<整数値>,
"size_vertical":<整数値>,
"density_factor":<浮動小数点値>,
"density_offset":<浮動小数点値>,
"simplex_surface_noise":true / false,
"random_density_offset":true / false,
"island_noise_override":true / false,
"amplified":true / false,
"sampling":{
"xz_scale":<浮動小数点値>,
"xz_factor":<浮動小数点値>,
"y_scale":<浮動小数点値>,
"y_factor":<浮動小数点値>
},
"top_slide":{
"target":<整数値>,
"size":<整数値>,
"offset":<整数値>
},
"bottom_slide":{
"target":<整数値>,
"size":<整数値>,
"offset":<整数値>
}
}
}
- bedrock_roof_position
- 岩盤の天井のY座標を設定する。-20以上276以下の整数値である必要がある。地形生成の範囲外の値を指定すると、岩盤の天井が生成されなくなる。
- bedrock_floor_position
- 岩盤の床のY座標を設定する。-20以上276以下の整数値である必要がある。地形生成の範囲外の値を指定すると、岩盤の床が生成されなくなる。
- sea_level
- 海面の高さを設定する。
- disable_mob_generation
- ワールド生成時にMobをスポーンさせないかどうか。
- default_block
- 地形を構成するブロックを設定する。(通常世界における石、ネザーにおけるネザーラックに相当)
- default_fluid
- 地形を構成する液体を設定する。(通常世界における水、ネザーにおける溶岩に相当)
- structures
- 構造物の生成について設定する。
- stronghold:要塞の生成について設定する。
countは要塞の総生成数。
distanceは要塞が生成される円周の半径を指定するのに用いられる数。ここで指定した数を とすると、内側から 番目の円周の半径は チャンクとなる。
spreadは一番内側の円周上に生成される要塞の数。内側から 番目の円周上の生成数は、 番目の生成数を とすると で与えられる(最外周については、総生成数からすでに生成された要塞の数を引いた数となる)。よってこの数値により全ての円周上に生成される要塞の数が決まることになる。
デフォルトの通常世界ではcount=128、distance=32、spread=3である。 - <構造物のID>:指定した構造物の生成について設定する。
spacingは構造物間の平均距離、separationは構造物間の最低距離をいずれもチャンク(16ブロック)単位で指定する。saltは生成に用いられるシード値に加えるソルト値を指定。
要塞については、この値を変更しても生成に影響がない。
- stronghold:要塞の生成について設定する。
- height
- 地形が生成される範囲の高さを指定する。
- size_horizontal
- 水平方向の地形のスケールを指定する。
- size_vertical
- 垂直方向の地形のスケールを指定する。
- density_factor
- 高度による地形の生成量の変化を指定する。正の値を指定すると高度が上がるにつれてブロックが減少し、負の値を指定すると高度が下がるにつれてブロックが減少する。
- density_offset
- density_factorの値に応じて決められる地形の生成量を、指定した値の分だけ上下にスライドする。
- simplex_surface_noise
- trueにすると、地形生成の際にパーリンノイズではなく単純なノイズが用いられる。
- random_density_offset
- trueにすると、density_offsetの値がランダムになる。
- island_noise_override
- trueにすると、ジ・エンドのように浮島状の地形となる。
- amplified
- trueにすると、アンプリファイド同様の地形となる。
- sampling
- 地形生成に用いられるノイズに関する設定。
- xz_scale:水平方向のノイズスケール。旧カスタマイズの奥行きノイズスケールに相当。
- xz_factor:水平方向の地形生成を滑らかにする。旧カスタマイズのメインノイズスケールX/Zに相当。
- y_scale:垂直方向のノイズスケール。旧カスタマイズの高さスケールに相当。
- y_factor:垂直方向の地形生成を滑らかにする。旧カスタマイズのメインノイズスケールYに相当。
- top_slide
- 地形の最上部の処理方法に関する設定。
- target:正の値を指定すると屋根状に地形が生成され、負の値を指定すると地形の最上部のブロックが減少する。
- size:処理が行われる範囲の大きさを指定する。ここで指定した値にsize_verticalの値の4倍をかけた高さの範囲に処理が行われる。
- offset:処理が行われる範囲の位置をスライドさせる。ここで指定した値にsize_verticalの値の4倍をかけた高さだけスライドする。
正の値を指定すると下に、負の値を指定すると上に移動する。
- bottom_slide
- 地形の最下部の処理方法に関する設定。
- target:正の値を指定すると地形の最下部のブロックが増加し、負の値を指定すると減少する。
- size:処理が行われる範囲の大きさを指定する。ここで指定した値にsize_verticalの値の4倍をかけた高さの範囲に処理が行われる。
- offset:処理が行われる範囲の位置をスライドさせる。ここで指定した値にsize_verticalの値の4倍をかけた高さだけスライドする。
正の値を指定すると上に、負の値を指定すると下に移動する。
カスタムバイオーム(Custom Biome)
ver1.16.2で追加
カスタムバイオームの設定は、個別のJSONファイルで行う。保存場所は次の通り。
datapacks>(パック名)>data>(名前空間)>worldgen>biome>(名前).json
ファイルの中身は次の通り。
{
"depth":<浮動小数点値>,
"scale":<浮動小数点値>,
"precipitation":"<種類>",
"category":"<種類>",
"temperature":<浮動小数点値>,
"temperature_modifier":"<種類>",
"downfall":<浮動小数点値>,
"player_spawn_friendly":true / false,
"creature_spawn_probability":<浮動小数点値>,
"effects":{
"fog_color":<整数値>,
"foliage_color":<整数値>,
"grass_color":<整数値>,
"sky_color":<整数値>,
"water_color":<整数値>,
"water_fog_color":<整数値>,
"grass_color_modifier":"<種類>",
"particle":{
"probability":<浮動小数点値>,
"options":{
"type":"<パーティクルID>",
"name":"<ブロックID>",
"properties":{
<ブロックの状態>
},
"r":<浮動小数点値>,
"g":<浮動小数点値>,
"b":<浮動小数点値>,
"scale":<浮動小数点値>,
"id":"<アイテムID>",
"count":<整数値>,
"tag":{<NBTタグ>}
}
},
"ambient_sound":"<サウンドグループのパス>",
"mood_sound":{
"sound":"<サウンドグループのパス>",
"tick_delay":<整数値>,
"block_search_extent":<整数値>,
"offset":<浮動小数点値>
},
"additions_sound":{
"sound":"<サウンドグループのパス>",
"tick_chance":<浮動小数点値>
},
"music":{
"sound":"<サウンドグループのパス>",
"min_delay":<整数値>,
"max_delay":<整数値>,
"replace_current_music":true / false
}
},
"surface_builder":"<地表ビルダー名>",
"carvers":{
"air":[
"<カーバー名>"
],
"liquid":[
"<カーバー名>"
]
},
"features":[
[<構造物>]
],
"starts":[
"<構造物のID>"
],
"spawners":{
"<MOBカテゴリ名>":[
{
"type":"<エンティティID>",
"weight":<整数値>,
"minCount":<整数値>,
"maxCount":<整数値>
}
]
},
"spawn_costs":{
"<MOBのID>":{
"energy_budget":<浮動小数点値>,
"charge":<浮動小数点値>
}
}
}
- depth
- 地形の標高を設定する。正の値を指定すると陸地、負の値を指定すると海となる。
- scale
- 地形の起伏を設定する。大きな値を指定するほど起伏の激しいバイオームとなる。
- precipitation
- 雨の降り方に関する設定。none / rain / snowのいずれかを指定する。
- noneなら砂漠のように雨が降らないバイオームとなり、snowなら雪が降るバイオームとなる。rainなら通常通り雨が降る。
- category
- バイオームが属するカテゴリーを指定する。
- none / taiga / extreme_hills / jungle / mesa / plains / savanna / icy / the_end / beach / forest / ocean / desert / river / swamp / mushroom / netherのいずれか。
- temperature
- バイオームの気温を指定する。
- temperature_modifier
- none / frozenのいずれか。(詳細不明)
- downfall
- バイオームの降水量を指定する。草ブロックなどの色に影響する。
- player_spawn_friendly
- プレイヤーがそのバイオームにスポーンするかどうか。
- creature_spawn_probability
- 友好MOBのスポーン確率を指定する。0.0と1.0の間の値で指定する。
- effects
- バイオーム固有の視覚効果・音響効果に関する設定。
- fog_color:霧の色を指定する。
- foliage_color:木の葉やツタの色を指定する。
- grass_color:草ブロックの色を指定する。(湿度・降水量に基づいて決められる色に優先する)
- sky_color:空の色を指定する。
- water_color:水の色を指定する。
- water_fog_color:水中に潜ったときの視界の色を指定する。
- grass_color_modifier:草の色をnone / dark_forest / swampから選択する。
- particle:バイオームで表示されるパーティクルを指定する。
- probability:パーティクルのスポーン頻度を指定する。
- options:パーティクルの種類を指定する。
- ambient_sound:バイオームの環境音を指定する。sounds.jsonファイル内で定義したサウンドグループの名称で指定。
- mood_sound:暗所で鳴らす効果音を指定する(デフォルトでは空洞音などが該当する)。
- sound:サウンドグループを指定。
- tick_delay:一度効果音を鳴らしてから次に効果音を鳴らすまでの最低時間をtick(1/20秒)単位で指定する。
- block_search_extent:効果音を鳴らす判定に用いられる範囲の大きさを指定する。
プレイヤーを中心とし、一辺が(このタグで指定した値)×2+1ブロックの立方体の範囲が指定される。 - offset:詳細不明。
- additions_sound:ランダムに鳴らされる効果音を指定する。
- sound:サウンドグループを指定。
- tick_chance:鳴らされる確率を指定する。
- music:バイオーム固有のBGMを指定する。
- sound:サウンドグループを指定。
- min_delay:一回音楽が鳴らされてから次に同じ音楽が鳴らされるまでの最短時間をtick(1/20秒)単位で指定する。
- max_delay:一回音楽が鳴らされてから次に同じ音楽が鳴らされるまでの最大時間をtick(1/20秒)単位で指定する。
- replace_current_music:trueで、既に再生中のBGMを置き換える。
- surface_builder
- 地表ビルダー(地表・海底のブロックの生成に関する設定ファイル)のパスを指定する。
- carvers
- 洞窟・渓谷などの生成に関する設定。
- air:カーバーのパスを並べて指定する。記述したカーバーに対応する洞窟・渓谷が空気に満たされた空洞として生成される。
- liquid:カーバーのパスを並べて指定する。記述したカーバーに対応する洞窟・渓谷が液体に満たされた空洞として生成される。
- features
- オブジェクト(樹木・氷山など)の生成に関する設定。
- starts
- このバイオームに生成される構造物を指定する。
- spawners
- エンティティのスポーンに関する設定。
- <MOBカテゴリ名>:monster / creature / ambient / water_creature / water_ambient / miscのいずれか。
- type:エンティティIDを指定。
- weight:スポーンのしやすさを指定。
- minCount:同時にスポーンする数の最小値。
- maxCount:同時にスポーンする数の最大値。
- <MOBカテゴリ名>:monster / creature / ambient / water_creature / water_ambient / miscのいずれか。
- spawn_costs
- エンティティのスポーン数を抑制するための設定。
- ある場所に新たにエンティティがスポーンするとき、(その場所からすでにスポーンしている同種のエンティティまでの距離の逆数の和) × (charge に設定した値)よりもenergy_budget に設定した値の方が小さければ、エンティティはスポーンしなくなる。
- デフォルトでは、ネザーのソウルサンドの谷と歪んだ森に使用されている。
地表ビルダー(Surface builders)
地表・海底のブロックの生成に関する設定を行う。保存場所は次の通り。
datapacks>(パック名)>data>(名前空間)>worldgen>configured_structure_feature>(名前).json
ファイルの中身は次の通り。
{
"type":"<名前>",
"config":{
"top_material":{
"Name":"<ブロックID>",
"properties":{
<状態>
}
},
"under_material":{
"Name":"<ブロックID>",
"properties":{
<状態>
}
},
"underwater_material":{
"Name":"<ブロックID>",
"properties":{
<状態>
}
}
}
}
- type
- 地表ビルダーの種類を指定。
- default / mountain / shattered_savanna / gravelly_mountain / giant_tree_taiga / swamp / badlands / wooded_badlands / eroded_badlands / frozen_ocean / nether / nether_forest / soul_sand_valley / basalt_deltasのいずれか。
- config
- top_materialで地表のブロック、under_materialで地表のすぐ下のブロック、underwater_materialで海底のブロックを指定する。
カーバー(Carvers)
洞窟・渓谷などの空洞の生成に関する設定ファイル。保存場所は次の通り。
datapacks>(パック名)>data>(名前空間)>worldgen>configured_carver>(ファイル名).json
ファイルの中身は次の通り。
{
"type":"<名前>",
"config":{
"probability":<浮動小数点値>
}
}
- type
- 空洞の種類。cave(洞窟) / nether_cave(ネザーの空洞) / canyon(峡谷) / underwater_canyon(水中峡谷) / underwater_cave(水中洞窟)のいずれか。
- config
-
- probability:生成されやすさを0と1の間の小数で指定する。1に近いほど生成されやすくなる。
オブジェクト(Configured features)
樹木・氷山など、構造物以外のオブジェクトの設定ファイル。
保存場所は次の通り。
datapacks>(パック名)>data>(名前空間)>worldgen>configured_feature>(ファイル名).json
ファイルの中身は次の通り。
{
"type":"<種類名>",
"config":{
<詳細な設定>
}
}
- type
- オブジェクトの種類。以下で解説。
- config
- オブジェクトに対応した設定項目。この項目が存在しないオブジェクトもある。
オブジェクトの一覧
minecraft:bamboo
竹。configで利用できるタグは以下の通り。
"probability":<浮動小数点値>
根元にポドゾルが生成される確率を0.0と1.0の間の数値で指定。
minecraft:basalt_columns
玄武岩の塊。configで利用できるタグは次の通り。
"reach":<整数値> / 数値セレクタ
大きさを0と3の間の整数で指定する。
"height":<整数値> / 数値セレクタ
高さを1と10の間の整数で指定する。
minecraft:basalt_pillar
玄武岩の柱。configで利用できるタグはない。
minecraft:block_pile
ブロックの塊(デフォルトでは、村の小麦の俵などで使用)。configで利用できるタグは以下の通り。
"state_provider":ブロック状態共通
構成するブロックを指定。
minecraft:blue_ice
青氷。configで利用できるタグはない。
minecraft:bonus_chest
ボーナスチェスト。configで利用できるタグはない。
minecraft:chorus_plant
コーラスプラント。configで利用できるタグはない。
minecraft:coral_claw
小さなサンゴ。configで利用できるタグはない。
minecraft:coral_mushroom
塊状のサンゴ。configで利用できるタグはない。
minecraft:coral_tree
枝状のサンゴ。configで利用できるタグはない。
minecraft:delta_feature
三角州。configで利用できるタグは以下の通り。
"contents":ブロック状態共通
三角州の内側を構成するブロックを指定。
"rim":ブロック状態共通
三角州の外周部を構成するブロックを指定。
"size":<整数値> / 数値セレクタ
三角州の大きさを指定。
"rim_size":<整数値> / 数値セレクタ
外周部の大きさを指定。
minecraft:desert_well
砂漠の井戸。configで利用できるタグはない。
minecraft:disk
水底に配置されるブロック(デフォルトでは粘土などに使用)。configで利用できるタグは以下の通り。
"state":ブロック状態共通
配置するブロックを指定。
"radius":<整数値> / 数値セレクタ
配置される範囲の半径を指定。
"half_height":<整数値>
配置される範囲の厚みを指定。指定した値の2倍の厚みになる。
"targets":[
ブロック状態共通
]
何のブロックを置き換えるかを指定。
minecraft:end_gateway
エンドゲートウェイ。configで利用できるタグは以下の通り。
"exit":[
<整数値>,<整数値>,<整数値>
]
テレポート先の座標をX、Y、Zの順に指定。
"exact":true/false
必ず指定した座標にテレポートさせるかどうか。
minecraft:end_island
エンドの小島。configで利用できるタグはない。
minecraft:end_spike
エンドの黒曜石の柱。configで利用できるタグは以下の通り。
"crystal_invulnerable":true / false
trueにすると、エンドクリスタルが破壊できなくなる。
"crystal_beam_target":[
<整数値>,<整数値>,<整数値>
]
エンドクリスタルのビームが発射される先の座標をX、Y、Zの順に指定。
"spike":[
{
"centerX":<整数値>,
"centerZ":<整数値>,
"radius":<整数値>,
"height":<整数値>,
"guarded":true / false
}
]
黒曜石の柱の位置・大きさを指定(オプション)。
- centerX,centerZ
- 中心のX座標、Z座標を指定。
- radius
- 太さを指定。
- height
- 高さを指定。
- guarded
- trueなら、エンドクリスタルが鉄格子に囲われて生成される。
minecraft:fill_layer
16×16ブロックの範囲をブロックで埋める。configで利用できるタグは以下の通り。
"height":<整数値>
ブロックで埋める位置のY座標を指定。
"state":{
"Name":"<ブロックID>",
"Properties":{
<ブロックの状態>
}
}
使用するブロックの種類を指定。ブロックIDはこちらを、ブロックの状態はこちらを参照。
minecraft:forest_rock
ブロックの塊(デフォルトではタイガの苔石で使用)。configで利用できるタグは以下の通り。
"state":{
"Name":"<ブロックID>",
"Properties":{
<ブロックの状態>
}
}
使用するブロックの種類を指定。ブロックIDはこちらを、ブロックの状態はこちらを参照。
minecraft:fossil
化石。configで利用できるタグは次の通り(ver1.17~)。
"fossil_structures":["<ストラクチャファイルのパス>"]
化石の骨の部分のストラクチャファイルを指定。
"overlay_structures":["<ストラクチャファイルのパス>"]
化石の鉱物化している部分のストラクチャファイルを指定。
"fossil_processors":["<プロセッサファイルのパス>"]
化石の骨の部分に適用するプロセッサファイルを指定。
"overlay_processors":["<プロセッサファイルのパス>"]
化石の鉱物化している部分に適用するプロセッサファイルを指定。
"max_empty_corners_arrowed":<整数値>
化石が設置される領域の8つの頂点のうち、最大いくつが空気・水・溶岩であってもよいかを、0以上7以下の整数で指定する。
minecraft:freeze_top_layer
寒帯系のバイオームの水面を氷に置き換える。configで利用できるタグはない。
minecraft:geode
アメジストの晶洞。configで利用できるタグは以下の通り。
"blocks":{
"filling_provider":ブロック状態共通,
"inner_layer_privider":ブロック状態共通,
"alternate_inner_layer_privider":ブロック状態共通,
"middle_layer_privider":ブロック状態共通,
"outer_layer_privider":ブロック状態共通,
"inner_placements":[ブロック状態共通],
"cannot_replace":{"<ブロックのタグ>"},
"invalid_blocks":{"<ブロックのタグ>"}
}
- filling_provider
- 内部に使用するブロックを指定する。デフォルトでは空気。
- inner_layer_provider
- 内側の層に使用するブロックを指定する。デフォルトではアメジストブロック。
- alternate_inner_layer_privider
- inner_layer_providerの代わりに内側の層に生成するブロックを指定する。デフォルトでは芽生えたアメジスト。
- middle_layer_provider
- 中間の層に使用するブロックを指定する。デフォルトでは方解石。
- outer_layer_privider
- 外側の層に使用するブロックを指定する。デフォルトでは玄武岩。
- inner_placements
- 内部に設置される装飾ブロックをリストで指定する。デフォルトでは各種アメジスト。
- cannot_replace
- 指定したタグに含まれるブロックが生成範囲内にあるとき、そのブロックは置き換えない。
- invalid_blocks
- 指定したタグに含まれるブロックが生成範囲内にあるとき、生成を行わない(現在は機能していない模様)。
"layers":{
"filling":<浮動小数点値>,
"inner_layer":<浮動小数点値>,
"middle_layer":<浮動小数点値>,
"outer_layer":<浮動小数点値>
}
- filling
- 内部の空間の大きさを指定する。
- inner_layer
- 内側の層の大きさを指定する。
- middle_layer
- 中間の層の大きさを指定する。
- outer_layer
- 外側の層の大きさを指定する。
"crack":{
"generate_crack_chance":<浮動小数点値>,
"base_crack_size":<浮動小数点値>,
"crack_point_offset":<整数値>
}
- generate_crack_chance
- 晶洞に入口を生成する確率を指定する。
- base_crack_size
- 入口の大きさを0.0~5.0の間の数値で指定する。
- crack_point_offset
- 入口の場所をずらす大きさを0~10の間の整数で指定する。
"noise_multiplier":<浮動小数点値>
生成時に使用される乱数の大きさを指定する。大きいほど生成時のランダム性が増加する。
"use_potential_placements_chance":<浮動小数点値>
内部の装飾の生成確率を指定する。
"use_alternate_layer0_chance":<浮動小数点値>
alternate_inner_layer_prividerで指定したブロックが生成される確率を指定する。
"placements_require_layer0_alternate":true / false
trueで、alternate_inner_layer_prividerで指定したブロックが生成されている部分にのみ装飾が設置される。
"outer_wall_distance":数値セレクタ
晶洞の広がり具合に関係する数値。
"distribution_points":数値セレクタ
晶洞の生成の基準点をいくつとるかに関係する数値。
"point_offset":数値セレクタ
晶洞の生成の基準点の位置のばらつきに関係する数値。
"min_gen_offset":<整数値>,
"max_gen_offset":<整数値>
生成される晶洞が収まる範囲を指定する。
生成の基準の座標を(X, Y, Z)、min_gen_offsetの値をm、max_gen_offsetの値をMとすると、生成される晶洞はx座標がX+mとX+Mの間、y座標がY+mとY+Mの間、z座標がZ+mとZ+Mの間の立方体領域に収まる。
minecraft:glow_lichen
ヒカリゴケ。configで利用できるタグは以下の通り。
"search_range":<整数値>
生成時に、生成可能なブロックを探す範囲の大きさを、1~64の間の整数で指定する。
"chance_of_spreading":<浮動小数点値>
隣接するブロックにもヒカリゴケが生成される確率を指定する。
"can_place_on_floor":true/false,
"can_place_on_wall":true/false,
"can_place_on_ceiling":true/false
それぞれ、ブロックの上面・側面・下面に生成可能かどうかを指定する。
"can_be_placed_on":[
"Name":"<ブロックID>",
"Properties":{
<ブロックの状態>
}
]
設置可能なブロックを指定する。
ブロックIDはこちらを、ブロックの状態はこちらを参照。
minecraft:glowstone_blob
グロウストーン。configで利用できるタグはない。
minecraft:huge_brown_mushroom・minecraft:huge_red_mushroom
巨大キノコ。configで利用できるタグは以下の通り。
"cap_provider":ブロック状態共通,
"stem_provider":ブロック状態共通
それぞれ、傘・茎の部分に使用するブロックを指定する。
"foliage_radius":<整数値>
傘の大きさを指定する。
huge_fungus
ネザーの巨大キノコ。configで利用できるタグは以下の通り。
"hat_state":{
"Name":"<ブロックID>",
"Properties":{
<ブロックの状態>
}
}
傘に使用するブロックを指定する。
"decor_state":{
"Name":"<ブロックID>",
"Properties":{
<ブロックの状態>
}
}
装飾となるブロックを指定する。デフォルトではシュルームライト。
"stem_state":{
"Name":"<ブロックID>",
"Properties":{
<ブロックの状態>
}
}
茎となるブロックを指定する。
"valid_base_block":{
"Name":"<ブロックID>",
"Properties":{
<ブロックの状態>
}
}
生成可能なブロックを指定する。
"placed":true/false
trueなら、松明など一部のブロックを生成時に上書きする。
minecraft:ice_patch
氷塊。configで利用できるタグはdiskと同じ。
minecraft:ice_spikes
樹氷。configで利用できるタグはない。
minecraft:iceberg
氷山。configで利用できるタグは以下の通り。
"state":{
"Name":"<ブロックID>",
"Properties":{
<ブロックの状態>
}
}
使用するブロックを指定する。
ブロックIDはこちらを、ブロックの状態はこちらを参照。
minecraft:kelp
昆布。configで利用できるタグはない。
minecraft:lake
池。configで利用できるタグは以下の通り。
"fluid":{
"Name":"<ブロックID>",
"Properties":{
<ブロックの状態>
}
}
液体の部分に使用するブロックを指定する。
ブロックIDはこちらを、ブロックの状態はこちらを参照。
"barrier":{
"Name":"<ブロックID>",
"Properties":{
<ブロックの状態>
}
}
岸の部分に使用するブロックを指定する。
minecraft:monster_room
モンスタースポナー。configで利用できるタグはない。
数値セレクタ
数値セレクタは以下の4種類である。
{
"type":"constant",
"value":<整数値> / <浮動小数点値>
}
指定した値を返す。
{
"type":"uniform",
"value":{
"min_inclusive":<整数値> / <浮動小数点値>,
"max_inclusive":<整数値> / <浮動小数点値>
}
}
min_inclusiveとmax_inclusiveで指定した値の間の任意の数を返す。
{
"type":"biased_to_bottom",
"value":{
"min_inclusive":<整数値> / <浮動小数点値>,
"max_inclusive":<整数値> / <浮動小数点値>
}
}
min_inclusiveとmax_inclusiveで指定した値の間の数を返す。min_inclusiveに近い数ほど高い確率で返される。
{
"type":"clamped",
"value":{
"min_inclusive":<整数値> / <浮動小数点値>,
"max_inclusive":<整数値> / <浮動小数点値>,
"source":数値セレクタ
}
}
sourceで指定した数値セレクタが返す値を、min_inclusiveとmax_inclusiveの間に制限する。
ブロック状態共通
以下の3パターンのいずれか。
{
"type":"simple_state_provider",
"state":{
"Name":"<ブロックID>",
"Properties":{
<ブロックの状態>
}
}
}
指定したID・状態のブロックを選択する。
ブロックIDはこちらを、ブロックの状態はこちらを参照。
{
"type":"rotated_block_provider",
"state":{
"Name":"<ブロックID>",
"Properties":{
<ブロックの状態>
}
}
}
指定したID・状態のブロックが、構造物内で適宜回転を受けて使用される。
指定したブロックの状態に axis タグが含まれる場合に意味をもつ。
ブロックIDはこちらを、ブロックの状態はこちらを参照。
{
"type":"weighted_state_provider",
"entries":[
{
"data":{
"Name":"<ブロックID>",
"Properties":{
<ブロックの状態>
}
},
"weight":<整数値>
}
]
}
entriesに記述したID・状態のブロックのいずれかが選ばれる。weightの値が大きいほど高い確率で選ばれる。
ブロックIDはこちらを、ブロックの状態はこちらを参照。
構造物(Configured structure features)
構造物の生成に関する設定ファイル。
保存場所は次の通り。
datapacks>(パック名)>data>(名前空間)>worldgen>configured_structure_feature>(ファイル名).json
ファイルの中身は次の通り。
{
"type":"<種類名>",
"config":{
<詳細な設定>
}
}
- type
- 構造物の種類。以下で解説。
- config
- 構造物に対応した設定項目。この項目が存在しない構造物もある。
構造物の一覧
minecraft:bastion_remnant
砦の遺跡。configで利用できるタグは以下の通り。
"start_pool":"<ジグソープール名>"
起点となるジグソープールを指定する。
"size":<整数値>
生成される構造物の複雑さを0から7の整数値で指定する。
minecraft:buried_treasure
埋もれた宝。configで利用できるタグは以下の通り。
"probability":<浮動小数点値>
生成確率を0と1の間の値で指定。
minecraft:dessert_pyramid
ピラミッド。configで利用できるタグはない。
minecraft:endcity
エンドシティ。configで利用できるタグはない。
minecraft:fortress
ネザー要塞。configで利用できるタグはない。
minecraft:igloo
イグルー。configで利用できるタグはない。
minecraft:jungle_pyramid
ジャングルの遺跡。configで利用できるタグはない。
minecraft:mansion
森の洋館。configで利用できるタグはない。
minecraft:mineshaft
廃坑。configで利用できるタグは以下の通り。
"type":"normal / mesa"
normalなら通常の廃坑、mesaなら、荒野の廃坑。
"probability":<浮動小数点値>
生成確率を0と1の間の値で指定。
minecraft:monument
海底神殿。configで利用できるタグはない。
minecraft:nether_fossil
ネザーの化石。configで利用できるタグはない。
minecraft:ocean_ruin
海底遺跡。configで利用できるタグは以下の通り。
"biome_temp":"warm / cold"
warmなら温かい海の海底遺跡(砂岩主体)、coldなら冷たい海の海底遺跡(石レンガ主体)。
"large_probability":<浮動小数点値>
大きな遺跡である確率を、0と1の間の値で指定。
"cluster_probability":<浮動小数点値>
大きな遺跡である場合に、周囲に小さな遺跡が生成される確率を、0と1の間の値で指定。
minecraft:pillager_outpost
ピリジャーの前哨基地。configで利用できるタグは以下の通り。
"start_pool":"<ジグソープール名>"
起点となるジグソープールを指定する。
"size":<整数値>
生成される構造物の複雑さを0から7の整数値で指定する。
minecraft:ruined_portal
荒廃したポータル。configで利用できるタグは以下の通り。
"portal_type":"standard / desert / jungle / swamp / mountain / ocean / nether"
ポータルの種類を指定。
minecraft:shipwreck
難破船。configで利用できるタグは以下の通り。
"is_beached":true / false
難破船が水上に生成されるかどうか。デフォルトはfalse。
minecraft:stronghold
要塞。configで利用できるタグはない。
minecraft:swamp_hut
湿地帯の小屋(ウィッチ小屋)。configで利用できるタグはない。
minecraft:village
村。configで利用できるタグは以下の通り。
"start_pool":"<ジグソープール名>"
起点となるジグソープールを指定する。
"size":<整数値>
生成される構造物の複雑さを0から7の整数値で指定する。
ジグソープール(Jigsaw pools)
自作のターゲットプールを設定する。保存場所は次の通り。
datapacks>(パック名)>data>(名前空間)>worldgen>template_pool>(ファイル名).json
ファイルの中身は次の通り。
{
"name":"<このファイルのパス>",
"fallback":"<ジグソープールのパス>",
"elements":[
{
"weight":<整数値>,
"element":{
<構成要素>
}
}
]
}
- name
- ファイルのパスを書く。
- fallback
- 構造物の端の部分に使用するジグソープールを指定。デフォルトでは、村の道の端の生成に用いられている。
- elements
- 生成に使用する構造物を指定。
- weight:その構造物の生成されやすさを指定。
- element:構造物を指定。タグの中身は以下のいずれか。
elementタグの記述内容
"element_type":"minecraft:empty_pool_element"
何も生成しない。
"element_type":"minecraft:feature_pool_element",
"feature":"<オブジェクトのパス>",
"projection":"rigid / terrain_matching"
オブジェクトを生成する。
projectionは、terrain_matchingなら地形に合わせて変形し、rigidなら変形しない。
"element_type":"minecraft:legacy_single_pool_element / minecraft:single_pool_element",
"location":"<ストラクチャファイルのパス>",
"projection":"rigid / terrain_matching",
"processors":"<プロセッサのパス>"
nbt形式で保存されたストラクチャファイルを使用する。
legacy_single_pool_elementの場合は、生成時既に存在するブロックを空気で置き換えず、single_pool_elementの場合は置き換える。
projectionは、terrain_matchingなら地形に合わせて変形し、rigidなら変形しない。
プロセッサについては以下で解説する。
"element_type":"minecraft:list_pool_element",
"elements":[
{
<上記のうち、feature_pool_element以外のいずれか>
}
],
"projection":"rigid / terrain_matching"
elementsに記述したもののうちから1つが選ばれて生成される。
projectionは、elementsタグの内外両方で指定できる模様だが、どちらが優先されるかなど詳細は不明。
プロセッサ(Processors)
構造物のブロックに変化を加える設定ファイル。ジグソープールと組み合わせて使用する。保存場所は次の通り。
datapacks>(パック名)>data>(名前空間)>worldgen>processor_list>(ファイル名).json
ファイルの中身は次の通り。
{
"processors":[
{
<プロセッサ>
}
]
}
利用可能なプロセッサは以下の通り。
minecraft:block_rot
"processor_type":"minecraft:block_rot",
"integrity":<浮動小数点値>
構造物を回転させる。integrityは、構造の完全性を0.0と1.0の間の値で指定する。
構造の完全性についてはこちらを参照。
minecraft:rule
"processor_type":"minecraft:rule",
"rules":[
{
"location_predicate":{
<条件>
},
"position_predicate":{
<条件>
},
"input_predicate":{
<条件>
},
"output_state":{
"Name":"<ブロックID>",
"Properties":{
<ブロックの状態>
}
}
}
]
location_predicate、position_predicate、input_predicateで指定したブロックを、output_stateで指定したID・状態のブロックに置き換える。 location_predicateは構造物生成前にその場所に存在したブロックに対する条件、location_predicateは構造物内のブロックに対する条件、position_predicateは構造物内の位置に対する条件。 条件部分で使用できるタグは次の通り。
"predicate_type":"always_true"
条件を付与しない。
"predicate_type":"axis_aligned_linear_pos",
"axis":"x / y / z",
"min_dist":<整数値>,
"max_dist":<整数値>,
"min_chance":<浮動小数点値>,
"max_chance":<浮動小数点値>
構造物の中心から各軸に沿っての距離に対する条件。
min_distが最短距離、max_distが最大距離で、min_chance、max_chanceがそれぞれに対応する確率。min_distとmax_distの中間の値に対しては、線形補間で確率が計算される。
"predicate_type":"block_match",
"block":"<ブロックID>"
指定したブロックIDのブロックが選ばれる。
"predicate_type":"blockstate_match",
"block_state":{
"Name":"<ブロックID>",
"Properties":{
<状態>
}
}
"predicate_type":"random_block_match",
"block":"<ブロックID>",
"probability":<浮動小数点値>
指定したブロックIDのブロックが、probabilityで指定した確率で選ばれる。
"predicate_type":"tag_match",
"tag":"<タグのパス>"
指定したタグに含まれるブロックが選ばれる。
minecraft:protected_blocks
"predicate_type":"minecraft:protected_blocks",
"value":"<タグのパス>"
指定したタグに含まれるブロックが、構造物によって置き換えられなくなる。