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) 前往,位置取自该世界。