API
Измерения
Собственные миры со своим небом, рельефом и биомами. Игроки и существа попадают туда телепортацией.
Объявление измерения
Его объявляют, указав вид и форму рельефа:
dimension "ruby_realm" { kind: "overworld", terrain: "normal", biome: "ruby_meadow" }
dimension "flatland" { terrain: "flat" }| Свойство | Значения |
|---|---|
kind |
его небо, свет и правила: overworld, nether или end |
terrain |
его форма, см. ниже |
biome |
необязательно: один биом везде, из мода ("ruby_meadow") или из игры ("minecraft:cherry_grove"). Без него — обычные биомы этого рельефа |
Рельеф
| Рельеф | Форма |
|---|---|
normal |
холмы, пещеры и океаны, как в обычном мире |
flat |
плоский: коренная порода, земля и трава |
nether |
замкнутый мир пещер с морями лавы |
islands |
парящие острова в пустоте |
Изменение игровых измерений
Верхний мир, Нижний мир и Край тоже можно менять, не создавая своё измерение. Мод может задать рельефу одного из них форму, написанную кодом (terrain "minecraft:the_end" { … }), и выбрать, какой биом где находится в Краю (biome_map "minecraft:the_end" { … }). Форму каждого измерения может задавать только один мод, и биомы тоже выбирает только один. Оба случая описаны на странице Генерация кодом.
Путешествие
Игроки и существа путешествуют, телепортируясь в точку измерения. Его мир находят по id, <id мода>:<имя>. Чанк назначения загружается по прибытии.
То же работает из события, например при использовании предмета. Хороший пример — команда /realm, которая отправляет игрока туда и обратно:
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"
}На Kotlin
dimension("ruby_realm") {
kind = DimensionKind.OVERWORLD
terrain = Terrain.NORMAL
biome = "ruby_meadow"
}
dimension("flatland") { terrain = Terrain.FLAT }Путешествуй через entity.teleport(location), указав точку в этом мире.