API
Dimensiones
Mundos propios, con su cielo, su terreno y sus biomas. Jugadores y criaturas viajan a ellos teletransportándose.
Declarar una dimensión
Se declara con un tipo y una forma de terreno:
dimension "ruby_realm" { kind: "overworld", terrain: "normal", biome: "ruby_meadow" }
dimension "flatland" { terrain: "flat" }| Propiedad | Valores |
|---|---|
kind |
su cielo, luz y reglas: overworld, nether o end |
terrain |
su forma, ver más abajo |
biome |
opcional: un solo bioma en todas partes, de tu mod ("ruby_meadow") o del juego ("minecraft:cherry_grove"). Sin él, los biomas habituales de ese terreno |
Terreno
| Terreno | Forma |
|---|---|
normal |
colinas, cuevas y océanos, como el mundo normal |
flat |
plano: roca madre, tierra y hierba |
nether |
un mundo cerrado de cavernas con mares de lava |
islands |
islas flotantes en el vacío |
Remodelar las dimensiones del juego
El Overworld, el Nether y el End también se pueden cambiar, sin una dimensión propia. Un mod puede dar al terreno de una de ellas una forma escrita en código (terrain "minecraft:the_end" { … }), y elegir qué bioma va dónde en el End (biome_map "minecraft:the_end" { … }). Solo un mod puede dar forma a cada dimensión, y solo uno puede elegir sus biomas. Ambas cosas se explican en la página Generación por código.
Viajar
Jugadores y criaturas viajan teletransportándose a una ubicación de la dimensión. Su mundo se obtiene con su id, <id del mod>:<nombre>. El chunk de destino se carga al llegar.
Lo mismo sirve desde un evento, por ejemplo al usar un ítem. Un buen ejemplo es un comando /realm que lleva al jugador allí y de vuelta:
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"
}En Kotlin
dimension("ruby_realm") {
kind = DimensionKind.OVERWORLD
terrain = Terrain.NORMAL
biome = "ruby_meadow"
}
dimension("flatland") { terrain = Terrain.FLAT }Viaja con entity.teleport(location), con una ubicación de ese mundo.