之前的教程介绍了全新的维度
今天发发菌就带大家了解一下
如何用特征定义新规则!
根据自定义特征的知识
发发菌还将举例说明
“水”、“陆”两类特征的制定
速速搬好小板凳一起开始吧~
群系中会存在一些自然的植被、矿物、建筑,它们都用到了特征功能。在当前的关卡编辑器中,只支持使用中国版的建筑模板特征。
为了让开发者们了解更多的特征放置组合,下面发发菌将详细讲解五个特征:矿物特征、散布特征、总和特征、单方块特征、建筑模板特征。
开发者们若想了解更多的原版特征和写法,可以在modpc根目录/definitions/features中查看ヽ(✿゚▽゚)ノ
矿物特征
矿物特征用来替换地表下的方块为矿物方块,它是相对容易掌握的一种特征,写法格式并不复杂:
① identifier是特征的唯一名称域,以namespace:identifier的格式为基准。
格式中的identifier必须与文件名字一样,否则在modpc客户端下会测试出断言错误并强制关闭客户端。
② count是指放置的次数。
③ places_block用来接收一个方块内容。
若方块不需要指明方块数据,如羊毛的颜色等,则可以直接以"places_blocks": "方块名字"代替。否则需要在查询方块数据后,根据上图示例的格式来写。
④ may_replace下接收的一组方块内容是会被矿物方块取代的方块类型。
单方块特征
单方块特征用来放置一种方块,并可以决定它放置时替换的方块是什么。
图中的代码,除了与上述提到的矿物方块一致的identifier、places_block,发发菌还要额外说明下:
① enforce_survivablility_rules会强制特征放置时遵守方块能存活下来的方块,如草方块无法存活在沙子上。因此当这个键对设置为真时,则草方块特征不会放在沙子上。
② enforce_placement_rules会强制特征放置时遵守方块放置的规则。
③ may_replace下接收的一组方块内容是会被该方块取代的方块类型。
总和特征
总和特征用来放置一组特征,即包括在features下的特征都会按照随机顺序放置。
① early_out是提前退出的意思,有first_success和first_failure两种类型,分别表示:若放置的第一个特征成功或者失败时,则特征放置结束。
② features下接收的一组特征会共用一个放置特征的位置。也就是说,当该总和特征放置在世界坐标(63,63,63)上时,集合内的特征放置位置都会从这里开始。
发发菌笔记
在上图中,集合内放置了两个特征,分别是原版蕨方块的上部分和下部分。
在《我的世界》中,超过两格的方块都是由两种方块组成的,因此在示例的写法中,原版的蕨方块的上部要有下部分方块存在时才能放置。
若一开始放置了蕨方块上部特征,则会因触发“第一次放置就失败”的规矩而提前退出。
有关于总和特征和单方块特征的知识点,在之前教大家“种植”苹果时发发菌给提到过哦,大家可以戳这里对比两次的知识点,深化了解~
散布特征
散布特征用来再次将另一个特征进行偏移及调整放置次数。
① iterations为放置次数。因此,若特征规则里使用了某个定义了额外放置次数的散布特征,最后的放置次数为:特征规则的放置次数 x 散布特征的放置次数。
② coordinate_eval_order是寻找放置坐标的依次顺序,坐标系有x、y、z三种轴,因此存在xzy、xyz、yxz、yzx、zxy、zyx等组合。
③ x为特征规则放置时所偏移的x系数。若不使用随机分布distribution,则可以使用"x": 整数值来给定偏移的格数。(y、z同理)
④ places_feature为放置的特征。
发发菌笔记
在上图的代码中可以发现,原版将高度两格的蕨特征重新用散布特征包装起来,然后用特征规则放置,这样做是因为散布特征可以对特征进行再放置。
举一反三,如果大家希望放一朵花或一堆聚在一起的方块,也可以先用散布特征将方块以某种区间(比如0到8的xz区间)聚拢在一起,然后再用特征规则重新放置,这样它们就会被集中放置在一片区域里啦~
建筑模板特征
建筑模板特征一般用来放置一块由结构方块或地图编辑器导出的方块结构,适合应用在一些具有成型价值的建筑模板上。
开发者们可以先直接使用地图编辑器将地图内的建筑大观进行切割、打包导出,然后用维度大类下的自定义特征组件将结构文件从资源管理器拖入属性面板即可。
了解完自定义特征之后
我们就可以进行简单的实操啦~
原版世界的海平面在y轴63格及以下,因此在放置某些自定义方块植物时,我们不希望它出现在水面上。
接下来,发发菌就用单方块组合和特征规则来展示如何“放置一个高于水面的特征”:
(1)创建一个单方块特征,并将放置的方块类型设置为南瓜。
(2)新建一个特征规则,允许特征放置在全群系内,高度必须在64格以上而不包括64格,否则将特征放置在0格以下,即虚空位置。
这里运用到了一种三元运算符,该公式可以简单理解为:“条件?满足时执行这里 : 不满足的话执行这里”。
(1)进入地图编辑器,随机挑选一颗树进行选取,点击保存结构进行保存,记得要勾选“去除空气方块”。
(2) 新建自定义特征组件,将结构下拉栏打开,选取刚刚保存的结构。
(3)新建自定义特征分布组件,将特征指向前面新建的特征,其余属性默认不变。
这次的实操是不是超级简单呢?
学会这两个例子后
相信大家一定会对
在水面和陆地定义特征更了解!
快来尝试将世界的规则
定义成你们想要的模样吧~
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:704559159@qq.com