カスタムディメンジョンについてメモ書き
カスタムディメンジョンとは
ネザーやエンドのような、別の世界(ディメンジョン)を追加できる1.16.2以降で追加されるdatapackの新要素。バイオームや地形のカスタマイズは、複雑なのでまた別途、記事にすると思います。
参考 : Custom dimension – Official Minecraft Wiki
● 注意 ● この記事はSnapshotをベースに書いています。なので、内容に正確性はありません。 また、かなり複雑な機能のため、初心者バイバイとなっております。
配置場所
カスタムディメンジョンを生成するためには、次にファイルを作成する必要があります。
● ディメンジョンの基本設定 (バニラの設定を使うなら不要) saves/datapacks/(データパック名)/data/(名前空間)/dimension_type/(ディメンジョン).json ● ディメンジョンの詳細設定 saves/datapacks/(データパック名)/data/(名前空間)/dimension/(ディメンジョン).json
ディメンジョンの基本設定
バニラで用意されている定義を使う場合は、この設定は不要です。
{ "has_raids": false, "logical_height": 256, "infiniburn": "minecraft:infiniburn_overworld", "ambient_light": 0.0, "piglin_safe": false, "bed_works": true, "respawn_anchor_works": false, "ultrawarm": false, "natural": true, "shrunk": false, "has_skylight": true, "has_ceiling": false }
パラメータ | 内容 | 型 |
---|---|---|
has_raids | 不吉な予感のエフェクトで襲撃が発生するか | bool |
logical_height | プレイヤーが移動できる最大の高さ | number |
infiniburn | 燃え続けるブロックのタグ minecraft/tags/blocks/infiniburn_overworld.json のこと |
string |
ambient_light | ディメンジョンの明るさ (デフォルトは0.5) | number |
piglin_safe | ピグリンがゾンビ化するか | bool |
bed_works | ベッドが機能するか | bool |
respawn_anchor_works | リスポーンアンカーが機能するか | bool |
ultrawarm | ネザーのように水が蒸発し、スポンジが乾き、溶岩が流れやすくなるか | bool |
natural | コンパスなど通常世界で機能する内容を有効にするか | bool |
shrunk | ネザーのようにポータル間の距離を1ブロック8mとして扱うか | bool |
has_skylight | ディメンジョンに空があるか | bool |
has_ceiling | ディメンジョンに天井があるか | bool |
バニラで用意されている定義
ディメンジョンの詳細設定
{ "type": "custom:original", "generator": { (ディメンジョンの生成設定) } }
パラメータ | 説明 | 型 |
---|---|---|
type | ディメンジョンのタイプ (名前空間)/dimension_type/に配置したファイル名かデフォルトのもの。 |
string |
generator | ディメンジョンの生成設定 | object |
ディメンジョンの生成設定
{ "seed": 0, "type": "minecraft:noise", ★ 凸凹の地形を作る場合は"minecraft:noise"を指定 "settings": "minecraft:overworld", "biome_source": { (バイオームの生成設定) } }
パラメータ | 説明 | 型 |
---|---|---|
seed | ワールドのシード値 | number |
type | ディメンジョンのタイプ (minecraft:noise か minecraft:flat) - noise : 通常のワールドのような凸凹の地形を作る - flat : フラットワールドのような平面の地形を作る |
string |
settings | ディメンジョンの生成ルール。 settingsで指定できる内容は後述。 |
string / object |
biome_source | バイオームの生成設定 | object |
settings でテンプレートのような地形を設定する
設定できる値 | 内容 |
---|---|
minecraft:overworld | 通常のワールドのような地形にする |
minecraft:amplified | 高低差をかなりつけた通常のワールドのような地形にする |
minecraft:nether | ネザーのような地形にする |
minecraft:caves | 地下世界のような地形にする |
minecraft:end | エンドのような地形にする |
minecraft:floating_islands | 浮島が複数あるような地形にする |
任意の地形も生成できるけども、それはまた今度書きます。
バイオームの生成設定
バニラのようなバイオームを設定する
{ "seed": 0, "type": "minecraft:vanilla_layered", "large_biomes": false }
パラメータ | 内容 | 型 |
---|---|---|
large_biomes | 各バイオームを広くするかどうか - true: 広くする - false: 通常通り |
bool |
エンドのようなバイオームを生成する
{ "seed": 0, "type": "minecraft:the_end" }
1つだけのバイオームを生成する
{ "seed": 0, "type": "minecraft:fixed", "biome": "minecraft:plains" }
パラメータ | 内容 | 型 |
---|---|---|
biome | バイオームの種類 F3で出てくるBiomeを指定すれば良い |
string |
バイオームを正方形で生成する
{ "seed": 0, "type": "minecraft:checkerboad", "biomes": [ "minecraft:plains", "minecraft:jungle", "minecraft:desert" ], "scale": 2 }
パラメータ | 内容 | 型 |
---|---|---|
biomes | バイオームの種類 (3つ以上) F3で出てくるBiomeを指定すれば良い |
array( string ) |
scale | 各バイオームのサイズ(指定した値 x 2チャンク) 1なら2チャンク、8なら16チャンク |
number |
バイオームを好き勝手に生成する
{ "seed": 0, "type": "minecraft:multi_noise", "biomes": [ { "biome": "minecraft:plains", "parameters": { "altitude": 0.00, "temperature": 0.00, "humidity": 0.00, "weirdness": 0.00, "offset": 0.00 } } ] }
パラメータ | 内容 | 型 |
---|---|---|
biomes | バイオームのリスト | array( object ) |
biome | バイオームの種類 F3で出てくるBiomeを指定すれば良い |
string |
parameters | バイオームが適用される条件 生成されたワールドの各ポイントで、 最も条件に近いバイオームが選択される |
object |
parameters.altitude | 高さ (-1.0 ~ 1.0) 1.0 に値が近ければ近いほど高い位置に生成される バニラの山なら0.7、-0.45なら海 |
number |
parameters.temperature | 温度 (-1.0 ~ 1.0) 1.0 に値が近ければ近いほど温度の高い場所に生成される バニラのサバンナなら0.6、タイガなら-0.6 |
number |
parameters.humidity | 湿度 (-1.0 ~ 1.0) 1.0 に値が近ければ近いほど湿度の高い場所に生成される バニラのジャングルなら0.75、砂漠なら-0.75 |
number |
parameters.weirdness | 生成されにくさ (-1.0 ~ 1.0) 1.0 に値が近ければ近いほど生成されにくい バニラのキノコ島なら0.8、平原なら-0.2 |
number |
parameters.offset | 他のバイオームとの重なり具合 (0.0 ~ 1.0) 1.0 に値が近ければ近いほど他のバイオームと重なる バニラは基本0.0、ジャングルの端なら0.1 |
number |
ディメンジョンに移動する方法
直接ディメンジョンには行けないので、コマンドで移動する必要がある。
/execute in (名前空間):(ディメンジョン) run tp @s ~ ~ ~