《我的世界》结构方块教程 结构方块怎么玩

时间:2016-07-29 来源:88130安卓下载 作者:佚名

  《我的世界》1.10版推出了结构方块这一新特性,很多玩家在被红石和命令方块已经折磨的不行的情况下,又有了心得内容,相信让很多玩家头大,那么下面小编就为大家带来《我的世界》1.10新特性结构方块详细教程,希望对各位玩家有所帮助,早日掌握。

  本文所有代码均可复制在【】中的所有内容,包括空格和符号。

  在快照16w20a中,Mojang终于放出了结构方块(Structure Block)的功能。和之前所知的一样,结构方块有四种模式,如下图所示:

  从左到右依次为:

  [D]Data mode - game logic marker(数据模式 - 游戏逻辑标记)

  [S]Save mode - write to file(保存模式 - 写入文件)

  [L]Load mode - load from file(载入模式 - 载入文件)

  [C]Corner mode - placement and size marker(角落模式 - 放置与大小标记)



一、结构方块初体验

  让我们先来学习基本的操作。首先,我们需要获取结构方块:

  代码:【/give @p minecraft:structure_block】

  接下来,放置一个结构方块,并按左下角的[?]按钮将其切换到Save模式。

  在这个界面中,结构名称是很重要的,它标识了一个结构,在很多地方都要用到。相对结构方块的位置即结构范围的开始位置,和结构大小一起标记了整个结构的区域。

  我们把结构名称设为“1”,位置设为0 1 0,大小设为4 4 4,然后点击Done。

  如果设置正确的话,那么便会出现如图所示的方框。现在可以在这个方框的范围内放置方块~放好之后回到Save方块的界面中,点击右下角的SAVE。

  一切顺利,提示结构保存成功。那么如何加载这个模型呢?这时就需要用Load方块了。放置并切换到Load模式后如图所示。

  参数大致与Save相同。我们把结构名称设为和之前相同的“1”,位置设为0 1 0,然后点击Done。

  一片寂静,什么都没有。为什么呢?因为还没加载呢。回到界面中,点击LOAD。

  提示结构位置已经准备好,再点一次LOAD。

  结构顺利加载,完工!

  加载时会清除加载范围内的方块,并替换为保存时的方块。

  结构方块可以用红石激活,你懂得。



二、加载模式的进阶功能

  细心的同学可能已经发现了,在保存模式的下方有几个奇怪的按钮。

  它们就是比/clone更强大的地方了:旋转和镜像。

  0 90 180 270:沿y轴旋转,从上往下看是逆时针。

  中间奇怪的|就是镜像了,点击它可以在“|”(不镜像)、“< >”(沿xy平面镜像)、“^ v”(沿yz平面镜像)之间切换。

  旋转和翻转可以叠加,顺序应该是先镜像再旋转。

三、实体过滤和保存

  结构方块的一个更实用的功能是它可以保存实体!在之前的截图中有提到过:保存模式和加载模式可以选择是否包含实体。如果保存模式的结构方块选择了包含实体,那么在结构范围内的实体都会被保存进结构的数据。同样,如果加载模式的结构方块选择了包含实体,那么结构的数据中的实体才会被加载出来。

  需要复制实体时,需要把保存和加载的包含实体都设为ON,这样实体才会被复制。就是这样简单~

  注意!加载时不会清空加载区域中原有的实体,所以别忘了手动清除实体~



四、结构空间的使用

  在这一部分,我将会介绍另一个方块:结构空间(Structure Void)。获取它的指令是:

  代码:【/give @p minecraft:structure_void】

  放置后结构空间是看不见的,但是用指针指着它时会出现一个小的轮廓。我们可以打开保存模式中的显示不可见方块来方便观察它。

  图中标记为蓝色小方块的是空气,红色小方块就是结构空白了。这个方块的用途很特别,它可以使得加载区域中的部分原有方块保持原样,不被替换。

  加载前:

  加载后:

  应该很容易明白吧。

  另外,结构空间是没有碰撞箱的,而且它不会被水流冲毁,这样就能做一些有趣的效果。

  放在物品展示框里还能做成水龙头(还能转噗)



五、游戏内自带结构

  从1.9开始,新添加的结构都用了结构方块保存(虽然1.9的结构方块没有界面)。使用了结构方块进行生成的建筑有:末地城、雪屋和新添加的化石。它们可以通过指定的结构名称来生成。可用的结构名称如下:

末地城:

  代码:【endcity/base_floor

endcity/base_roof

endcity/bridge_end

endcity/bridge_gentle_stairs

endcity/bridge_piece

endcity/bridge_steep_stairs

endcity/fat_tower_base

endcity/fat_tower_middle

endcity/fat_tower_top

endcity/second_floor

endcity/second_floor_2

endcity/second_roof

endcity/ship

endcity/third_floor

endcity/third_floor_b

endcity/third_floor_c

endcity/third_roof

endcity/tower_base

endcity/tower_floor

endcity/tower_piece

endcity/tower_top】

雪屋:

  代码:【igloo/igloo_bottom

igloo/igloo_middle

igloo/igloo_top】

化石:

  代码:【fossils/fossil_skull_01

fossils/fossil_skull_01_coal

fossils/fossil_skull_02

fossils/fossil_skull_02_coal

fossils/fossil_skull_03

fossils/fossil_skull_03_coal

fossils/fossil_skull_04

fossils/fossil_skull_04_coal

fossils/fossil_spine_01

fossils/fossil_spine_01_coal

fossils/fossil_spine_02

fossils/fossil_spine_02_coal

fossils/fossil_spine_03

fossils/fossil_spine_03_coal

fossils/fossil_spine_04

fossils/fossil_spine_04_coal】

  因为结构名称中不能直接输入/,所以你可以选一个名称复制到加载模式的方块中试试看。比如,这是endcity/ship:

  游戏内置的结构存储在游戏jar中的assets/minecraft/structures/[名称].nbt中,[名称]即为上述列出的名称,修改这些文件可用改变游戏默认生成的建筑的形态。



六、角落模式与数据模式

  之前我们只介绍了保存模式和加载模式,而剩下的两种模式也是比较有用的。

  角落方块可以帮助使用者快速确定保存的区域。放置两个结构方块并切换到角落模式,把它们设置到同一个名称;再放置一个保存模式的结构方块,并设置为同一个名称;左后点击保存模式界面右边的DETECT(检测)按钮自动识别区域。

  如果设置正确,那么效果应该如下所示:

  如果只放置了一个角落模式的结构方块,那么保存模式的结构方块本身会作为角落来进行选取;如果没有或者有三个或以上的角落方块,那么检测会失败。

  另外从目前来看,数据模式的方块是用于游戏内自带结构生成用的,用于标记特殊的地方(比如生成指定实体、箱子内容之类的)。例如下面是直接加载出来时endcity/ship内部的一堆数据模式的方块:

  可以看出是内部生成滑翔翅的位置。如果不去修改内部自动结构的话,数据模式方块应该和我们没有什么关系了。



七、不断复制自己的结构

  前面提到过,结构方块可以用红石激活。那么我们就可以通过这个功能做一些有趣的事情。

  搭建一个这样的结构:

  命令方块模式不用更改,指令设置为:

  代码:【setblock ~ ~1 ~ minecraft:redstone_block 0 replace】

  下方的结构方块设置为保存模式,位置设为(0, 1, 0),大小设为(1, 3, 1);上方的结构方块设为加载模式,位置设为(0, 1, 0),名称设为同一个,完成后点保存。

  接下来再在一片空旷的地方放置一个结构方块,设为加载模式并输入前面的名称,然后加载它。

  这个结构不断地加载自身,一直达到世界顶部。然后就成了通天塔……

  关于世界边界:结构范围可以越过世界边界,边界之外的部分会被视为空气。如果保存范围超出边界,则超出部分会被视为空气;如果加载部分超出边界,那么超出部分会不被改动。这是一个与clone不一样的地方。



八、高级镜子

  注:本节部分灵感来自国外reddit

  结构方块提供了镜像的功能,于是可以用来做一面镜子,还能够带实体。不过需要注意的是,加载时不会清除原有的实体,所以直接高频加载会导致实体不断复制卡爆游戏(建议不要尝试)……所以得记得清除实体(tp到虚空,用kill效果不佳)。

  于是做成了这样的设备。

  右边的结构方块保存区域(设为带实体),左边的结构方块加载区域(也设为带实体)并选择镜像。使用一串CB高频来激活,顺序为:tp加载区域中的所有非玩家实体到虚空->激活加载结构方块->激活加载结构方块。激活结构方块是通过放红石块。

  确定无误后启动装置。正常的效果是在加载区域的方块和实体都能够镜像(除了玩家自己)。

  画、矿车、经验球、药水云之类的都能镜像(实体的方向可能会不一样,上图是趁机截的)。

  挂画的内容也是一样的(没有镜像233)(有部分画会有错位)。



九、结构方块的文件格式

  游戏内置的结构位于游戏jar中的assets/minecraft/structures文件夹中,而用户定义的结构存储于存档中的structures文件夹中。下面以igloo_bottom为例介绍一下结构方块的文件格式。

  代码:【根标签

┣ blocks(List) - 方块列表

┣ entities(List) - 实体列表

┣ palette(List) - 方块状态模板列表

┣ size(List) - 结构大小

┣ author(String) - 结构作者

┗ version(Int) - 文件版本,当前为1】

  先从简单的开始讲,version就不用说了,author是放置结构方块的玩家的名称,size是3个Int组成的List,存储了结构在xyz三个方向上的大小。

  接下来是entities,这是由一系列实体组成的List。

  代码:【实体

┣ nbt(List) - 实体NBT

┣ blockPos(List) - 实体所在方块位置

┗ pos(List) - 实体所在位置】

  其中blockPos是由3个Int组成的List,储存的是实体所在方块的位置(简单地说就是整数)。pos是由3个Double组成的List,储存的是实体的确切位置(简单地说就是小数)。

  下面就是最重要的blocks和palette了。它们都是List,互相配合来存储方块信息。下面是blocks中一个方块的格式:

  代码:【方块

┣ nbt(List) - 方块NBT(可选)

┣ pos(List) - 方块位置

┗ state(Int) - 方块状态索引】

  nbt和pos的意思是显而易见的,重要的是state的值,它代表了方块状态在palette中的索引值,从0开始。下面是palette中一个方块状态的格式:

  代码:【方块状态模板

┣ Properties(List) - 方块状态(可选)

┗ Name(String) - 方块名称】

  Name中存储的是方块的名称,例如minecraft:stone,而Properties中存储的是一系列方块状态(用String保存)的列表,标签名称是状态的名称,例如variant,而内容即是状态的内容,例如stone。

  方块中的state的值就是在方块状态列表中的索引,例如state为4时对应palette中的第5个方块状态模板。



热门搜索

手游排行榜

  • 最新排行
  • 最热排行
  • 评分最高