<本站文本内容除另有声明外,转载时均必须注明出处。(详情…中文Minecraft Wiki是完全公开的。请勇于扩充与修正内容!Minecraft中文Wiki微博正在更新!或许有兴趣去看看想与其他用户进行编辑上的沟通?社区专页正是为此创建的。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。需要管理员的协助?在管理员告示板留言也许可以帮到您。>

致繁體用戶:由於近日 MediaWiki 的簡繁轉換表經常出現故障,繁體譯名一概以遊戲內為准,不便之處敬請諒解。

自定义维度

来自Minecraft Wiki
(重定向自维度类型
跳转至: 导航搜索
Information icon.svg
此特性为Java版独有。
翻译者从英文条目翻译下文中的内容时感觉其艰涩难懂。

翻译者希望更有能力的用户能够帮助改善本条目的行文,所以请先请慎重对待本条目内容。
如果可能,请帮助我们完善此条目的内容。

自定义维度(Custom Dimension)是位于数据包中用于定义世界的新维度的JSON文件。这些维度可以通过运行/execute in <维度> run teleport <坐标>到达。所有维度在世界被打开时即全部加载,而不是在世界重新加载时;这也意味着所有对这些维度文件的修改必须要重新打开世界来生效,而不仅仅是运行/reload命令。

用途[编辑 | 编辑源代码]

新的维度以JSON文件的形式存储在数据包data/<命名空间>/dimension/<维度名称>.json内。

维度语法[编辑 | 编辑源代码]

  • 根标签。
    •  type维度类型的命名空间ID。可以是预设的minecraft:overworldminecraft:overworld_cavesminecraft:the_netherminecraft:the_end,也可以是自定义的维度类型(需自行使用JSON文件配置,详见维度类型段落)。
    •  generator:维度的生成设置。
      •  type(字符串):生成器的ID。前缀是minecraft:,之后是flatnoisedebug
      • 其他组件(见下)

生成器类型[编辑 | 编辑源代码]

 generator组合的格式取决于生成器的ID(即 type)。

当生成器ID类型是minecraft:noise时:

  •  generator: 维度使用的生成设置。
    •  type:生成器ID,此情形下为minecraft:noise
    •  seed:用于生成该维度的种子。大部分情况下,这个值与世界种子一致,但是可以与其不一样,不一样的时候该维度就会使用这个值作为种子生成,而不是世界种子。 ‌[需要测试]
    •  settings:地形生成器中使用的噪声设置。可以设为一个字符串以使用worldgen/noise_settings中的预设,或者可以设为一个包括自定义选项列表的复合标签。见自定义世界生成#噪声设置以获取详细信息。
    •  biome_source:设置要生成的生物群系和其形状。
      •  seed(长整型数):用来生成生物群系的种子。在大多数情况下,这与维度种子完全相同(甚至与世界种子完全相同),但也可能不同,并且该维度中的该生物群系将基于此种子而不是维度种子生成。‌[需要测试]
      •  type(字符串):生物群系生成类型。参数位于“biome_source”复合标签中。type的一些可选值包括minecraft:vanilla_layeredminecraft:fixedminecraft:checkerboardminecraft:multi_noiseminecraft:the_end。‌[需要更多信息]
        • vanilla_layered:主世界中使用的默认生成和巨型生物群系生成。
          •  large_biomes(布尔值):决定生物群系的规模。值为true时生物群系将生成为“巨型生物群系”世界类型。
          •  legacy_biome_init_layer(布尔值):决定世界是否为default_1_1。‌[需要测试]
        • multi_noise:用于下界三维生物群系生成。‌[需要测试]
          •  preset(字符串):要使用的一组生物群系预设,与 biomes互斥‌‌[需要测试]当前唯一支持的有效值是minecraft:nether
          •  biomes:生物群系列表,以及它们的生成概率。
            • :生物群系及其属性
              •  biome(字符串):生物群系。
              •  parameters:代表生物群系应该被放置的最佳条件。这些值不会影响生物群系内的地形生成,而是影响游戏在何处安放这些生物群系。海拔(altitude)、weirdness、湿度(humidity)和温度(temperature)都会在由种子生成的单独的轮廓图(contoured map)中表现。在任一特定点,拥有与每个噪声图上对应点最相似的参数的生物群系会被选择比如,如果这个点有-1的温度、0.2的温度、0.2的湿度、0的weirdness,那么则会选择桦木森林丘陵(-0.1t,0.2h,0.25a,0w)而不是沙漠(0.5t,-0.5h,0a,0w)。
                •  altitude(单精度浮点数):用于使类似生物群系彼此接近。范围:(-2.0到2.0)。‌[需要测试]
                •  weirdness(单精度浮点数):定义生物群系与其他生物群系邻近时的奇怪(weird)程度。范围:(-2.0到2.0)。
                •  offset(单精度浮点数):范围:(0.0到1.0)。类似于其他参数,但是offset在任何地方都是0,因此将这个参数设为靠近0的值会使这个生物群系占更多优势,而其他的生物群系平等。
                •  temperature(单精度浮点数):用于使类似地生物群系彼此接近。这与生物群系中列举的温度值不相同,不会影响雨雪或者树叶、草的颜色。
                •  humidity(单精度浮点数):用于使类似生物群系彼此接近。‌[需要测试]
          •  altitude_noise: ‌[需要测试]
          •  weirdness_noise: ‌[需要测试]
          •  temperature_noise: ‌[需要测试]
          •  humidity_noise: ‌[需要测试]
        • the_end:用于在末路之地中生成的生物群系,以生物群系minecraft:the_end为中心,周围环绕着其他生物群系。‌[需要测试]
        • fixed:单生物群系维度。
          •  biome:该维度所使用的生物群系。
        • checkerboard:一种生物群系生成方式,其中每个生物群系单元呈正方形(或接近正方形),并沿对角线重复排列。
          •  biomes:沿着对角线重复的生物群系列表(可以超过3个)。
          •  scale:确定指数规模上正方形单元的大小。

当生成器ID类型是minecraft:flat(用于生成超平坦世界地形)时:

  •  generator:维度使用的生成设置。
    •  type:生成器的ID,此情形下为minecraft:flat
    •  settings:超平坦设置。
      •  layers:层设置。
        • :一个超平坦的层。此列表自上而下解释。
          •  height:该层竖直上的方块数量。
          •  block:该层使用方块。
      •  biome:该维度使用的单一生物群系。
      •  lakes(可选):是否生成湖。如果设为true,则水湖和熔岩湖常会生成,即使在生物群系中湖通常不生成。熔岩湖生成时被主世界不同种类的石头和矿物包围。
      •  features (可选):是否生成生物群系特定的装饰性结构,比如数、草、花、仙人掌,等等。
      •  structures:结构设置。
        •  stronghold: 设置要塞如何生成。The stronghold values under the structures tag appear to be placeholders so that every namespaced structure has a value; these values are the ones that actually control stronghold spawning.
        •  structures:此维度中要使用的结构列表。
          •  <命名空间ID>:该字段的键应该为一个结构的命名空间ID,Java版数据值§结构处有一个它们的列表。若不列出任何结构,那么所有结构皆不会生成。
            •  spacing:区块中两次这种结构的放置尝试的平均距离。[注 1]
            •  separation:区块中两次这种结构的放置尝试的最小距离,必须低于spacing
            •  salt:‌[需要测试]帮助进行随机化的数字;参见盐 (密码学)

当生成器ID类型是minecraft:debug时(用于生成调试世界生成):

  •  generator:维度使用的生成设置。
    •  type:生成器的ID,此情形下为minecraft:debug

维度类型[编辑 | 编辑源代码]

维度类型设置以JSON文件的形式存储在数据包data/<命名空间>/dimension_type/<维度类型名称>.json内。

语法[编辑 | 编辑源代码]

  • 根标签
    •  name:用于维度类型的资源位置。只有导入世界设置时需要。
    •  ultrawarm:维度是否表现得类似于下界(水会蒸发,海绵会干)。这也会使得熔岩流动更快、扩散更远。‌[需要测试]
    •  natural:为false时,指南针会随机转动。为true时,下界传送门会生成僵尸猪灵。
    •  coordinate_scale: 传送到该维度时的坐标缩放值。
    •  has_skylight:该维度是否有天空光照。
    •  has_ceiling:该维度是否拥有一个基岩天花板。
    •  ambient_light:该维度拥有多少光照,在demo文件中,默认是0.5(需要测试上下界及精确的效果‌[需要测试])。
    •  fixed_time(可选):可以是false或任意0至24000之间的整数。如果将它设为一个数字,游戏内的昼夜时间将会固定在这个指定值上。然而,至少在某些世界中,‌[需要测试]false被当做0来解释,故而产生了一个固定不动的日出。要确保正常的昼夜循环,请将此属性保留为未定义(即不写该字段)。
    •  piglin_safe猪灵疣猪兽是否不会僵尸化。
    •  bed_works:玩家是否可以使用
    •  respawn_anchor_works:玩家是否可以使用重生锚
    •  has_raids:带有不祥之兆的玩家是否可以触发袭击
    •  logical_height:玩家使用紫颂果下界传送门可以到达的最大高度。不会影响现有的传送门。‌[需要测试]
    •  infiniburn:一个方块标签命名空间ID,决定该维度中可以在什么方块上永久燃烧。
默认值[编辑 | 编辑源代码]

这些是原版中的3个维度使用的设置。

属性 主世界 下界 末路之地
ultrawarm false true false
natural true false false
coordinate_scale 1.0 8.0 1.0
piglin_safe false true false
respawn_anchor_works false true false
bed_works true false false
has_raids true false true
has_skylight true false false
has_ceiling false true false
fixed_time 不适用 18000 6000
ambient_light 0.0 0.1 0.0
logical_height 256 128 256
infiniburn minecraft:infiniburn_overworld minecraft:infiniburn_nether minecraft:infiniburn_end

历史[编辑 | 编辑源代码]

Java版
1.16pre1数据包中加入了dimensiondimension_type
1.16.220w29a自定义世界的噪声设置dimension移动至worldgen
pre1自定义维度现在使用和数据包中其他资源相同的文件夹结构:<命名空间>/<类型>/<资源>.json
pre2自定义维度类型中的 shrunk参数被 coordinate_scale参数代替了。

漏洞[编辑 | 编辑源代码]

关于“维度”或“维度类型”的漏洞由漏洞追踪器维护,请在此汇报漏洞。

注释[编辑 | 编辑源代码]

  1. 设置的这个数字并不意味着结构一定会生成得这样频繁,而仅仅是游戏尝试这样生成结构;生物群系和地形都可能会导致结构不生成。尝试放置结构的最大距离是2 * spacing - separation