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:

content/dimensions.craftCraftScript
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:

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"
}

W Kotlinie

content/Dimensions.ktKotlin
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.