API
Dimensões
Mundos próprios, com seu céu, seu terreno e seus biomas. Jogadores e criaturas viajam até lá por teletransporte.
Declarando uma dimensão
Ela é declarada com um tipo e uma forma de terreno:
dimension "ruby_realm" { kind: "overworld", terrain: "normal", biome: "ruby_meadow" }
dimension "flatland" { terrain: "flat" }| Propriedade | Valores |
|---|---|
kind |
seu céu, luz e regras: overworld, nether ou end |
terrain |
sua forma, veja abaixo |
biome |
opcional: um único bioma em toda parte, do mod ("ruby_meadow") ou do jogo ("minecraft:cherry_grove"). Sem ele, os biomas usuais desse terreno |
Terreno
| Terreno | Forma |
|---|---|
normal |
colinas, cavernas e oceanos, como o mundo comum |
flat |
plano: bedrock, terra e grama |
nether |
um mundo fechado de cavernas com mares de lava |
islands |
ilhas flutuantes no vazio |
Remodelando as dimensões do jogo
O Overworld, o Nether e o End também podem ser alterados, sem uma dimensão própria. Um mod pode dar ao terreno de uma delas um formato escrito em código (terrain "minecraft:the_end" { … }), e escolher qual bioma vai onde no End (biome_map "minecraft:the_end" { … }). Só um mod pode dar forma a cada dimensão, e só um pode escolher os seus biomas. As duas coisas são explicadas na página Geração por código.
Viajando
Jogadores e criaturas viajam se teletransportando para um local da dimensão. O mundo dela é obtido pelo id, <id do mod>:<nome>. O chunk de destino é carregado na chegada.
O mesmo vale a partir de um evento, por exemplo ao usar um item. Um bom exemplo é um comando /realm que leva o jogador até lá e de volta:
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"
}Em Kotlin
dimension("ruby_realm") {
kind = DimensionKind.OVERWORLD
terrain = Terrain.NORMAL
biome = "ruby_meadow"
}
dimension("flatland") { terrain = Terrain.FLAT }Viaje com entity.teleport(location), com um local desse mundo.