API

Mga dimension

Mga sariling mundo, may sariling langit, lupain at biome. Pumupunta roon ang mga player at nilalang sa pamamagitan ng teleport.

Pagdedeklara ng dimension

Idinedeklara ito gamit ang uri at hugis ng lupain:

content/dimensions.craftCraftScript
dimension "ruby_realm" { kind: "overworld", terrain: "normal", biome: "ruby_meadow" }
dimension "flatland" { terrain: "flat" }
Property Mga value
kind ang langit, liwanag at mga patakaran nito: overworld, nether o end
terrain ang hugis nito, tingnan sa ibaba
biome opsyonal: iisang biome sa lahat ng lugar, mula sa mod ("ruby_meadow") o sa laro ("minecraft:cherry_grove"). Kung wala, ang karaniwang mga biome ng lupaing iyon

Lupain

Lupain Hugis
normal mga burol, kuweba at karagatan, tulad ng karaniwang mundo
flat patag: bedrock, lupa at damo
nether saradong mundo ng mga kuweba na may mga dagat ng lava
islands mga lumulutang na isla sa kawalan

Pagbabago sa mga dimension ng laro

Mababago rin ang overworld, ang Nether at ang End, nang hindi gumagawa ng sarili mong dimension. Puwedeng bigyan ng mod ang lupain ng isa sa kanila ng hugis na isinulat sa code (terrain "minecraft:the_end" { … }), at piliin kung aling biome ang nasaan sa End (biome_map "minecraft:the_end" { … }). Isang mod lang ang puwedeng humubog sa bawat dimension, at isa lang ang puwedeng pumili ng mga biome nito. Ipinaliwanag ang dalawa sa pahinang Paglikha gamit ang code.

Paglalakbay

Naglalakbay ang mga player at nilalang sa pamamagitan ng pag-teleport sa isang lokasyon sa dimension. Makikita ang mundo nito sa id, <mod id>:<pangalan>. Nilo-load ang chunk ng destinasyon pagdating.

Gumagana rin ito mula sa isang event, halimbawa kapag gumamit ng item. Magandang halimbawa ang command na /realm na nagpapadala sa player doon at pabalik:

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

Sa Kotlin

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

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

Maglakbay gamit ang entity.teleport(location), na may lokasyon sa mundong iyon.