API
Wymiary
Własne światy, z własnym niebem, terenem i biomami. Gracze i stworzenia podróżują tam przez teleportację.
Deklarowanie wymiaru
Deklaruje się go, podając rodzaj i kształt terenu:
dimension "ruby_realm" { kind: "overworld", terrain: "normal", biome: "ruby_meadow" }
dimension "flatland" { terrain: "flat" }| Właściwość | Wartości |
|---|---|
kind |
jego niebo, światło i zasady: overworld, nether lub end |
terrain |
jego kształt, patrz niżej |
biome |
opcjonalnie: jeden biom wszędzie, z moda ("ruby_meadow") lub z gry ("minecraft:cherry_grove"). Bez niego zwykłe biomy tego terenu |
Teren
| Teren | Kształt |
|---|---|
normal |
wzgórza, jaskinie i oceany, jak w zwykłym świecie |
flat |
płaski: skała macierzysta, ziemia i trawa |
nether |
zamknięty świat jaskiń z morzami lawy |
islands |
latające wyspy w pustce |
Przekształcanie wymiarów gry
Overworld, Nether i End też można zmienić, bez własnego wymiaru. Mod może nadać lądowi jednego z nich kształt zapisany w kodzie (terrain "minecraft:the_end" { … }) i wybrać, który biom leży gdzie w Endzie (biome_map "minecraft:the_end" { … }). Każdy wymiar może kształtować tylko jeden mod i tylko jeden może wybierać jego biomy. Oba te przypadki opisuje strona Generowanie kodem.
Podróżowanie
Gracze i stworzenia podróżują, teleportując się w miejsce w wymiarze. Jego świat znajdziesz po id, <id moda>:<nazwa>. Chunk docelowy jest ładowany po przybyciu.
To samo działa ze zdarzenia, na przykład przy użyciu przedmiotu. Dobrym przykładem jest polecenie /realm, które wysyła gracza tam i z powrotem:
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"
}W Kotlinie
dimension("ruby_realm") {
kind = DimensionKind.OVERWORLD
terrain = Terrain.NORMAL
biome = "ruby_meadow"
}
dimension("flatland") { terrain = Terrain.FLAT }Podróżuj przez entity.teleport(location), podając miejsce z tego świata.