minecraft:empty
名称:
minecraft:empty
目标名称:
minecraft:empty
变为:
minecraft:air
接点类型:可滚动
完成|取消
看起来选项很少,但如果你仔细一瞧,就会发现你似乎根本就不懂得如何使用这个玩意儿。事实上也的确如此。那么我们该如何使用拼图方块?
首先我们就要搞懂这四个空分别是指什么东西。
目标池(Target pool),其实就是指要用来生成的模板/结构池(你可以把这东西当作是一个装着许多结构[模板]的池子,游戏在生成时会随机拿一个结构[模板]出来生成)。需要注意的是,目标池填写的内容并不是直接精确到某个结构文件,而是精确到结构文件所在的文件夹。举个例子,你并不能这么写:
minecraft:village/savanna/houses/savanna_small_house_1
这虽然对结构方块有效,但这对拼图方块没用,因为它直接精确到了savanna_small_house_1.nbt这个结构文件。你应该要填写的是:
minecraft:village/savanna/houses
小主,
这样子拼图方块才会认。
默认这是填写minecraft:empty,也就是没有东西可以生成。目标池为『minecraft:empty』的拼图方块你可以把它看做是一整个拼图的边缘,也就是不会再有什么新的部分了。
名称(Name),即该拼图方块的名称。
目标名称(Target name),指的是这个拼图方块要连接到的另一个拼图方块的名称。这就像是两块拼图,一块是a另一块是b,你必须要指定a是连接b的,否则a哪里知道自己需要被拼在哪里。需要注意的是,『另一个拼图方块』并不是说你在这个拼图方块a旁边再放一个拼图方块b,而是指拼图方块a所选择的目标池中的结构内所具有的拼图方块。如果你并不能很好理解上面的描述,那我举个例子:
Look!这是一个拼图方块,它叫做A,它的目标池是minecraft:village/savanna/houses,连接的拼图方块叫做minecraft:building_entrance。
A→
这是另外一个拼图方块,它叫做minecraft:building_entrance,我们暂且就称它为B。这个拼图方块在minecraft:village/savanna/houses下一个结构里,这个结构是一个小房子,它就位于这个小房子的大门口:
←B门房
现在,玩家打开了A,选择了一个大于0的层数,然后点击了生成按钮,随后A从池子中抽到了B所在的那个结构!A随后检查了一下这个结构,它找到了它要连接的B!A很高兴,它在脑袋中臆想把B放在自己正前方的样子:
A→←B (这是A的想象)
A发现它们两简直是天之绝配,能够完美契合在一起!A太高兴了,它把B连带着B后面的房子也全部生成了出来:
A→←B门房
至于A会不会和B成为朋友,领到结婚证,走上块生巅峰,那就是后话了。但可以肯定的是,『目标名称』即代表着一个拼图方块想要连接的另一个拼图方块,它就像是一块拼图上的提示,告诉游戏这个拼图方块会和结构中哪一个拼图方块拼接形成一个像是上面A和B贴贴的结构,所以这东西啊十分滴重要。
虽然A和B贴贴对于拼图方块来讲是件好事(如果能拟人化那就更是件好事),但这对于游戏来讲并不是件好事,对于玩家来讲那就更不是件好事——你敢忍受一个房子的门口被放上两块像基岩一样硬的方块吗?何况这两个方块还是成双成对,这对于很多不成对的人来讲那就更不友好。那么游戏是怎么解决这个问题的呢?很好解决:当这个拼图方块被使用了,也就是被拼了,游戏就会让它变成其他的方块。至于具体是什么方块,就得看这个拼图方块的『转变为(变为)』选项写的是啥了。
『转变为(变为)』选项默认填写的是『minecraft:air』,也就是空气方块。这代表着该拼图方块被使用过后就会变为空气方块。这里填写的方块ID支持附加方块状态和方块实体(方块NBT),比如:『minecraft:acacia_stairs[facing=east]』就代表着该拼图方块会被替换为一个朝向东的金合欢木楼梯。
如果你能成功理解上面的内容,那么下面的内容就很简单了。
『拼接类型』和『接点类型』有两个选项:可旋转(可滚动)和固定(一致)。可旋转,即代表着该结构在生成时会随机旋转一些度数,当然这个度数肯定是90°的倍数。固定,即代表着这个结构在生成时不会旋转,只会以默认的朝向生成。
『保留拼图』选项,即代表着这个拼图方块生成结构后,被生成结构内的拼图方块(不包括生成结构的那个拼图方块)是否要保留下来。如果为『关闭』,则结构内的拼图方块在生成后会被替换为『转变为』指定的方块。放在上面的AB贴贴例子中,如果A关闭了『保留拼图』,那么B在生成后就不能和A贴贴了,B会被替换成空气或是一些其他的方块。
『生成』按钮,你按下去就会使得这个拼图方块尝试根据你指定的这些参数来生成结构,如果成功那就会生成一个结构,如果不成功那就不会生成。在基岩版和Java1.16前的某些版本,由于拼图方块内没有『生成』按钮(你应该有注意到),导致你即使获得了,填写了正确的参数也生成不了,也许是因为功能还没做好Mojang才这么搞的。
你有没有发现我似乎漏了一个选项:『层数』。
这个『层数』选项可以选择0-7的任意一个整数,但这有什么用呢?
让我们先来尝试使用结构方块生成村庄的道路——放置一个结构方块,使用加载模式加载『minecraft:village/savanna/streets/crossroad_02』这个结构,然后你就会看到加载出来了一些附带了许多拼图方块的道路。
小主,
不难发现,结构内也有一些其他的拼图方块,这些拼图方块也可以加载出更多的结构来和此结构结合。比如村庄,就是由拼图方块先加载出来一个道路结构,然后道路结构内的拼图方块又加载出更多的道路结构,同时也顺带加载出了房子、铁傀儡、田地、猫,房子的拼图方块又加载出来村民以及更多的东西......就这样套娃生成,最终形成了『阡陌交通,鸡犬相闻』的村庄。
当然,游戏不可能无限套娃生成出一个超大的村庄来,所以游戏就规定了『层数』,这个『层数』就是指能够套娃生成的层数,举个例子:
假设有一个结构池(目标池),ID为『:some_』,其唯一的结构长这样:
←M草草草M→
M······名称为M,目标名称为S,目标池为『:a_huaji』,『保留拼图』为关闭的拼图方块
还有一个结构池(目标池),ID为『:a_huaji』,其唯一的结构长这样: