API

Dimensions

Des mondes à toi, avec leur ciel, leur terrain et leurs biomes. Joueurs et créatures s’y rendent par téléportation.

Déclarer une dimension

On la déclare avec un genre et une forme de terrain :

content/dimensions.craftCraftScript
dimension "ruby_realm" { kind: "overworld", terrain: "normal", biome: "ruby_meadow" }
dimension "flatland" { terrain: "flat" }
Propriété Valeurs
kind son ciel, sa lumière et ses règles : overworld, nether ou end
terrain sa forme, voir plus bas
biome facultatif : un seul biome partout, du mod ("ruby_meadow") ou du jeu ("minecraft:cherry_grove"). Sans lui, les biomes habituels de ce terrain

Terrain

Terrain Forme
normal collines, grottes et océans, comme le monde principal
flat plat : bedrock, terre et herbe
nether un monde fermé de cavernes avec des mers de lave
islands îles flottantes dans le vide

Remodeler les dimensions du jeu

L’Overworld, le Nether et l’End peuvent aussi être modifiés, sans dimension à toi. Un mod peut donner au relief de l’une d’elles une forme écrite en code (terrain "minecraft:the_end" { … }) et choisir quel biome va où dans l’End (biome_map "minecraft:the_end" { … }). Un seul mod peut façonner chaque dimension, et un seul peut choisir ses biomes. Les deux sont expliqués sur la page Génération par code.

Voyager

Joueurs et créatures voyagent en se téléportant à un endroit de la dimension. Son monde se trouve par son id, <id du mod>:<nom>. Le chunk de destination est chargé à l’arrivée.

Cela marche aussi depuis un événement, par exemple en utilisant un objet. Un bon exemple est une commande /realm qui envoie le joueur là-bas et le ramène :

commands/realm.craftCraftScript
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

content/Dimensions.ktKotlin
dimension("ruby_realm") {
    kind = DimensionKind.OVERWORLD
    terrain = Terrain.NORMAL
    biome = "ruby_meadow"
}

dimension("flatland") { terrain = Terrain.FLAT }

Voyage avec entity.teleport(location), avec un emplacement de ce monde.