第八十八章 place-如何生成一个村庄
在第八十一章,我们了解了基岩版中一条用来储存、加载和删除结构的指令:/structure。那么在Java版,有没有类似的指令呢?
并没有,但是有一条指令却拥有生成结构的功能。这个指令就是:
/br /lace
作用:放置地物、拼图、结构或结构模板
存在版本:Java1.19-今
需要权限等级:Java-2
需要作弊:是
格式:
/br /lace feature <地物ID>[放置位置]
\\在执行地点或指定位置放置一个地物\\
/br /lace jigsaw <目标池><目标名称><层数>[生成位置]
\\在执行地点或指定位置以拼图方块的模式生成结构\\
/br /lace structure <结构ID>[生成位置]
\\在执行地点或指定位置生成一个结构\\
/br /lace tembr /late <结构模板ID>[生成位置][旋转角度][镜像方式][完整度][种子]
\\在执行地点或指定位置以指定的方式生成一个结构模板\\
这个/br /lace指令可以放置地物、拼图、结构和结构模板这四种东西,后三者其实本质上都是结构,唯独这个『地物』是什么?
地物(Decorators)并没有一个明确的定义。大体来说,地物指的就是地上的一些东西,比如树、湖泊、植物丛、各种圆盘、远程折跃门等等,你能想到的、不能想到的基本上都可以算作是地物。
我们来尝试简单放置几个地物(注:请确保放置地点周围没有重要的东西,因为地物会覆盖大多数方块,甚至包括基岩):
/br /lace feature minecraft:birch ~~~
这将会放置一颗普普通通的白桦树。
/br /lace feature minecraft:bonus_chest ~~~
这将会在你周围放置一个奖励箱。
/br /lace feature minecraft:iceberg_blue ~~~
这将会在你的位置(你最好飞起来)放置一个由蓝冰组成的冰山。
需要注意的是,地物基本上都有生成要求,如果没有达到要求则会放置失败,或看起来成功了但实际上没有放置。比如:
/br /lace feature minecraft:ice_sbr /ike ~~~
这将会在你的位置上放置一个冰刺,但如果放置地点下方第一个非空气方块不是雪块的话将放置失败。
由于地物有很多,所以这里就不细讲了,你可以前往Minecraft Wiki的『命令/br /lace(Java版)』页面查看所有可使用的地物以及其生成条件。
jigsaw子命令看起来十分熟悉。没错,这不就是拼图方块嘛!只不过在这边是用命令替代了拼图方块的作用。拼图方块我们上一章才讲过,你应该还记忆犹新,让我们来试一下:
/br /lace jigsaw minecraft:village/savanna/houses minecraft:building_entrance 1 ~~~
这将会在指令执行地点以拼图方块的模式,从目标池(模板池/结构池)『minecraft:village/savanna/houses』中随机抽取一个模板(结构),然后对接该结构中叫做『minecraft:building_entrance』的拼图方块,并仅生成1层,最终就会生成一个热带草原村庄的房子或农田,并替换掉结构内所有拼图方块。
因为这个子命令和拼图方块的功能完全一样,所以这里也不细讲。
structure子命令应该是这个/br /lace指令最令人激动人心的功能。通过它,你可以直接生成一个结构!举个简单的例子:
/br /lace structure minecraft:village_br /lains ~~~
这将会在命令执行位置(你的位置)生成一个平原上的村庄,也就是最普通的村庄。
最后的tembr /late子命令有点类似于jigsaw子命令,但和jigsaw不一样的是tembr /late可以直接生成结构模板(相当于直接用结构方块生成),不需要采用拼图方块那么复杂的模式来生成。举个例子:
/br /lace tembr /late minecraft:village/savanna/houses/savanna_small_house_1 ~~~
这将会在你的位置生成一个热带草原村庄的小房子。
但其实tembr /late子命令并没有那么简单。请你往回翻一翻,仔细看一看这家伙后面的可选参数,想一想,你就会想到两个东西:
『结构方块的加载模式』和 『/structure load子命令』!
没错,这家伙基本上等价于基岩版的/structure load子命令,你可以通过它来生成你自己创建的结构!举个例子:
假设你自己创建了一个结构,叫做『minecraft:my_matchbox』,这个结构长这样:
--第一层
土土土土土↑
土土土土土Z
土土土土土|
土土土土土|
土土土土土|
←X———
--第二层
土空土土土
土床空台土
土床空箱土
土空空空土
土土门土土
--第三层
土土土土土
土空火炉土
空空空箱土
土火空火土
土土门土土
--第四层
草草土土草
土土土土土
土土土草土
土土土土土
土土土土土
图例:
土······泥土
草······草方块
火······火把
空······空气
炉······熔炉
箱······箱子
台······工作台
床······白色床
门······橡木门
现在,我们尝试通过/br /lace指令生成这个结构:
/br /lace tembr /late minecraft:my_matchbox ~~~ none none 1.0 114514
这将会以100%完整度、114514为种子在指令执行位置(也就是你的位置)生成一个没有镜像、没有旋转的『minecraft:my_matchbox』结构。
『旋转角度』参数可填写的内容和基岩版的大不一样,你可以填写:
none——不旋转
clockwise_90——顺时针旋转90°
180——旋转180°
counterclockwise_90——逆时针旋转90°
举个例子:
/br /lace tembr /late minecraft:my_matchbox ~~~ counterclockwise_90 none 1.0 114514
这将会以100%完整度、114514为种子生成一个绕着指令执行位置逆时针旋转90°(顺时针270°)的没有镜像的『minecraft:my_matchbox』结构,也就是变成下面这样:
--第一、三、四层
略
--第二层
这里是没有↑
逆时针旋转Z
九十度且没|
有镜像的原|
本生成位置|
←X———|
土土土土土|
土台箱空土|
土空空空门|
空床床空土|
土土土土土|
『镜像方式』参数可填写的内容也不一样。你可以填写:
none——无镜像
left_right——关于生成位置基点的X轴镜像(相当于结构方块中的←→)
front_back——关于生成位置基点的Z轴镜像(相当于结构方块中的↑↓)
举个例子:
/br /lace tembr /late minecraft:my_matchbox ~~~ none front_back 1.0 1919810
这将会以100%完整度、1919810为种子生成一个相对于放置位置Z轴镜像且无旋转的『minecraft:my_matchbox』结构,也就是变成下面这样:
--第一、三、四层
略
--第二层
这里是没有↑土土土空土
关于Z轴镜Z土台空床土
像且没有旋|土箱空床土
转原本应该|土空空空土
的生成位置|土土门土土
←X———|——————
『完整度』和『种子』参数就不讲了,很简单。
这就是本章的全部内容。
附表:/br /lace历史
Java
1.19——加入了/br /lace,替代了/br /lacefeature
......
......
......
......
/br /lacefeature
作用:放置地物
存在版本:Java1.18.2-1.19 |基岩1.18.30
需要权限等级:Java-2 基岩-1
需要作弊:是
格式:
/br /lacefeature <地物ID>[放置位置]
作用你应该知道,不讲了。
附表②:/br /lacefeature历史
Java
1.18.2——加入了/br /lacefeature
1.19——移除了/br /lacefeature,改用/br /lace feature
基岩版
1.18.30——加入又移除了/br /lacefeature