API
Dimensionen
Eigene Welten mit eigenem Himmel, Gelände und eigenen Biomen. Spieler und Kreaturen reisen per Teleport dorthin.
Eine Dimension deklarieren
Sie wird mit einer Art und einer Geländeform deklariert:
dimension "ruby_realm" { kind: "overworld", terrain: "normal", biome: "ruby_meadow" }
dimension "flatland" { terrain: "flat" }| Eigenschaft | Werte |
|---|---|
kind |
Himmel, Licht und Regeln: overworld, nether oder end |
terrain |
ihre Form, siehe unten |
biome |
optional: überall ein einziges Biom, aus der Mod ("ruby_meadow") oder aus dem Spiel ("minecraft:cherry_grove"). Ohne Angabe gelten die üblichen Biome dieses Geländes |
Gelände
| Gelände | Form |
|---|---|
normal |
Hügel, Höhlen und Ozeane, wie die Oberwelt |
flat |
flach: Grundgestein, Erde und Gras |
nether |
eine geschlossene Höhlenwelt mit Lavameeren |
islands |
schwebende Inseln in der Leere |
Die Dimensionen des Spiels umformen
Auch die Oberwelt, der Nether und das End lassen sich verändern, ohne eine eigene Dimension. Eine Mod kann dem Land einer von ihnen eine in Code geschriebene Form geben (terrain "minecraft:the_end" { … }) und festlegen, welches Biom im End wohin kommt (biome_map "minecraft:the_end" { … }). Nur eine Mod darf jede Dimension formen, und nur eine darf ihre Biome festlegen. Beides wird auf der Seite Generierung per Code erklärt.
Reisen
Spieler und Kreaturen reisen, indem sie an einen Ort der Dimension teleportiert werden. Ihre Welt findest du über die ID <Mod-ID>:<Name>. Der Ziel-Chunk wird bei der Ankunft geladen.
Dasselbe funktioniert aus einem Event, zum Beispiel beim Benutzen eines Gegenstands. Ein gutes Beispiel ist ein Befehl /realm, der den Spieler hin und zurück schickt:
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"
}In Kotlin
dimension("ruby_realm") {
kind = DimensionKind.OVERWORLD
terrain = Terrain.NORMAL
biome = "ruby_meadow"
}
dimension("flatland") { terrain = Terrain.FLAT }Reise mit entity.teleport(location), mit einem Ort aus dieser Welt.