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

自定义

来自Minecraft Wiki
跳转至: 导航搜索
Iron Pickaxe JE2 BE2.png
该页面的编辑正在进行中。

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

Information icon.svg
此特性为Java版独有。
使用新生成器在主世界生成的诡异森林生物群系。

自定义(Customized)是一种世界类型,它用自定的特性取代了世界的普通地形。相比1.13前的自定义世界,它“与此前的彻底地不同”,“不在屏幕上出现50个意义不明的滑块”,而是借助JSON文件编辑自定义世界。

访问[编辑 | 编辑源代码]

自定义世界生成使用JSON文件进行,创建世界时可以导入这些文件。

在创建世界菜单中,选定“更多选项”,然后点击“导入世界”按钮。然后,选择用于自定义世界生成的JSON文件,此时会弹出一个警告弹窗,警告该功能目前还处于实验性阶段。点击“是”以继续。接下来,开启“允许作弊”选项,然后就可以开始生成自定义世界了。

当前,访问自定义维度的唯一方法是使用/execute in <维度名称> run tp @s ~ ~ ~命令,这会将玩家传送到指定的维度(请参阅JSON格式)。 在演示文件中,维度为minecraft:use_teleport_command。

JSON格式[编辑 | 编辑源代码]

自定义世界的文件存储格式如下:

  • 根标签
    •  bonus_chest:可设为truefalse,这决定了该世界是否会生成奖励箱。
    •  generate_features:可设为truefalse,这决定了该世界是否会自然生成建筑(等同于创建世界时的“生成建筑”选项)。
    •  seed:该世界的种子(数字)。
    •  legacy_custom_options(字符串):自定义世界的预设值,用来生成旧的自定义世界。只存在于旧的自定义世界中。
    •  dimensions:此世界中维度的列表。运作良好的世界需要minecraft:overworld(主世界)、minecraft:the_nether(下界)和minecraft:the_end(末地)维度,自定义维度允许使用任何其他命名空间ID。
      • 一个维度
        •  type:可以是一组维度的生成选项(列表),或者是默认的维度的命名空间ID值(字符串)。后一种情况下维度会使用指定的默认维度的生成选项。注意:如果多个自定义维度使用了同一个默认维度的ID,游戏会在生成维度时崩溃。
          •  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米/方块看待。‌[失效:JE 1.16.2][需要测试]
          •  coordinate_scale: 传送到该维度时的坐标缩放值。‌[新增:JE 1.16.2]
          •  ultrawarm:可以是truefalse。维度是否表现得类似于下界(水会蒸发,海绵会干)。这也会使得熔岩流动更快、扩散更远。‌[需要测试]
          •  fixed_time:可以是false或任意0至24000之间的整数。如果将它设为一个数字,游戏内的昼夜时间将会固定在这个指定值上。然而,至少在某些世界中,‌[需要测试]false被当做0来解释,故而产生了一个固定不动的日出。要确保正常的昼夜循环,请将此属性保留为undefined(即不写该字段)。
          •  logical_height:玩家使用紫颂果下界传送门可以到达的最大高度。不会影响现有的传送门。‌[需要测试]
          •  ambient_light:该维度拥有多少光照,在demo文件中,默认是0.5(需要测试上下界及精确的效果‌[需要测试])。
          •  biome_zoomer:可以是FuzzyOffsetConstantColumnBiomeZoomer(用于主世界)或FuzzyOffsetBiomeZoomer(用于下界或末地),该标签可选。‌[需要测试]
          •  infiniburn:一个方块标签命名空间ID,决定该维度中可以在什么方块上永久燃烧。
        •  generator:维度的生成设置。
          •  type:世界生成器的ID。
          • 其他组件(见下)

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

 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:用于下界三维生物群系生成。‌[需要测试]
        • 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

示例[编辑 | 编辑源代码]

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

以下是导出的默认Minecraft世界设置。

拓展版默认设置[编辑 | 编辑源代码]

此文件包含与用于生成默认世界的相同的设置,但其中所有设置都被拓展为其默认值。注意存在一个bug,使得在不使用minecraft:the_end(末路之地)维度类型预设的情况下,无法创造与末影龙之间的战斗。这是由于创造该战斗的标志经过硬编码,无法通过JSON来访问。不过,它在其他方面与默认世界相同。

自定义超平坦维度[编辑 | 编辑源代码]

使用相近设置创造的世界。

该维度是一个由五层玄武岩、四层砂土和一层草方块由下至上依次覆盖而成的超平坦世界。由于其spacing被设为3(默认:32),separation被设为1(默认:8),整个世界都满是村庄中的房屋。该世界默认于时间1000开始。

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

Java版
1.1620w21a重新加入了自定义世界。
自定义世界现在由JSON文件驱动。
现在可添加自定义维度,而原版已有的维度也可进行调整。
目前自定义世界只能通过导入JSON文件来生成,而调整世界的菜单尚未加入游戏。
pre1维度和维度设置现在可通过数据包创建。
Java版(即将到来)
20w28a自定义世界现在包括实验性的自定义生物群系支持。

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

关于“自定义”的漏洞由漏洞追踪器维护,请在此汇报漏洞。

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

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

参考[编辑 | 编辑源代码]