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

自定义维度

来自Minecraft Wiki
跳转至: 导航搜索
Information icon.svg
此特性为Java版独有。
Iron Pickaxe JE2 BE2.png
该页面的编辑正在进行中。

请帮助我们扩充或改进这篇文章。

Clock.png
此条目需要更新。

原因:20w29a将噪声设置移动至自定义世界生成文件夹;1.16.2-pre1添加了真正的命名空间支持;1.16.2-pre2shrunk参数用coordinate_scale代替了。

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

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

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

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

  • 根标签。
    •  type维度类型的命名空间ID。也可以是一个硬编码的维度类型,但只能使用一次。自定义的维度可以重复使用。
    •  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:生物群系属性。
        • the_end:用于在末路之地中生成的生物群系,以生物群系minecraft:the_end为中心,周围环绕着其它生物群系。‌[需要测试]
        • fixed:单生物群系维度。
          •  biome:该维度所使用的生物群系。
        • checkerboard:一种生物群系生成方式,其中每个生物群系单元呈正方形(或接近正方形),并沿对角线重复排列。
          •  biomes:沿着对角线重复的生物群系列表(可以超过3个)。
          •  scale:确定指数规模上正方形单元的大小。

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

  •  generator:维度使用的生成设置。
    •  type:生成器的ID,此情形下为minecraft:flat
    •  settings:超平坦设置。
      •  layers:层设置。
        • :一个超平坦的层。此列表自上而下解释。
          •  height:该层竖直上的方块数量。
          •  block:该层使用方块。
      •  biome:该维度使用的单一生物群系。
      •  structures:结构生成设置。
        •  <structure name>:用20w21a之前的预设生成的一种结构。该复合标签包含预设中设置的参数。不会更改有关结构生成的任何内容,但由于旧的预设而设置于此。
        •  structures:此维度中要使用的结构列表。
          •  <命名空间ID>:该字段的键应该为一个结构的命名空间ID,Java版数据值§结构处有一个它们的列表。[注:与非超平坦世界相反,若不列出任何结构,那么所有结构皆不会生成]
            •  spacing:区块中两次这种结构的放置尝试的平均距离。[注 1]
            •  separation:区块中两次这种结构的放置尝试的最小距离。
            •  salt:‌[需要测试]帮助进行随机化的数字;参见盐 (密码学)

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

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

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

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

默认[编辑 | 编辑源代码]

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

属性 主世界 下界 末路之地
ultrawarm false true false
natural true false false
shrunk false true false
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
Java版(即将到来)
1.16.220w29a自定义世界的噪声设置dimension移动至worldgen
pre1自定义维度现在使用和数据包中其他资源相同的文件夹结构:<命名空间>/<类型>/<资源>.json
pre2自定义维度类型中的 shrunk参数被 coordinate_scale参数代替了。

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

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

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

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