API
ディメンション
独自の空、地形、バイオームを持つ、自分だけのワールド。プレイヤーとモブはテレポートで移動します。
ディメンションを宣言する
種類と地形の形を指定して宣言します。
dimension "ruby_realm" { kind: "overworld", terrain: "normal", biome: "ruby_meadow" }
dimension "flatland" { terrain: "flat" }| プロパティ | 値 |
|---|---|
kind |
空、明るさ、ルール:overworld、nether、end |
terrain |
地形の形。下を参照 |
biome |
省略可:どこでも同じ 1 つのバイオーム。Mod のもの("ruby_meadow")でもゲームのもの("minecraft:cherry_grove")でも可。省略すると、その地形の通常のバイオーム |
地形
| 地形 | 形 |
|---|---|
normal |
丘、洞窟、海があるオーバーワールドのような地形 |
flat |
平坦:岩盤、土、草 |
nether |
溶岩の海がある、閉じた洞窟の世界 |
islands |
虚空に浮かぶ島々 |
ゲームのディメンションの形を変える
オーバーワールド、ネザー、エンドも、独自のディメンションを作らずに変えられます。Mod は、それらの地形に、コードで書いた形(terrain "minecraft:the_end" { … })を与えたり、エンドのどこにどのバイオームを置くかを選んだり(biome_map "minecraft:the_end" { … })できます。各ディメンションを形作れる Mod は 1 つだけで、バイオームを選べる Mod も 1 つだけです。どちらもコードによる生成のページで説明しています。
移動する
プレイヤーとモブは、ディメンション内の位置へテレポートして移動します。そのワールドは ID <Mod ID>:<名前> で取得できます。到着時に、行き先のチャンクが読み込まれます。
イベントからでも同じようにできます。たとえばアイテムを使ったときです。良い例は、プレイヤーを行きも帰りも送る /realm コマンドです。
command realm describe "Travel to the Ruby Realm and back" {
if player == null { return "Players only" }
let realm = world("rubies:ruby_realm")
if player.world.id == realm.id {
player.teleport(world().block_at(0, 100, 0).location)
return "Back home"
}
player.teleport(realm.block_at(0, 100, 0).location)
return "Welcome to the Ruby Realm"
}Kotlin では
dimension("ruby_realm") {
kind = DimensionKind.OVERWORLD
terrain = Terrain.NORMAL
biome = "ruby_meadow"
}
dimension("flatland") { terrain = Terrain.FLAT }entity.teleport(location) で、そのワールド内の位置へ移動します。