first commit

This commit is contained in:
boybook
2025-03-17 13:24:39 +08:00
commit 9a0334ee84
6410 changed files with 221907 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 KiB

View File

@@ -0,0 +1,16 @@
---
front:
hard: 入门
time: 5分钟
---
# 创造一个全新维度
#### 作者:境界
维度是我的世界中玩家生存的领域,我的世界一共有主世界、下界、末地三个维度,它们带有各自不同的地貌、生物分布、特征规则。在当前中国版中,我们可以使用附加包的方式添加新的维度,改变新维度的群系地貌、特征分布来定制一个新的玩法体验。需要注意的是,自定义群系当前与自定义维度捆绑,若开发者想要添加或者修改主世界的群系,需要打开实验玩法才能使用,而实验玩法将带来不稳定的因素。因此强烈建议将自定义群系交给新的维度去使用。

View File

@@ -0,0 +1,29 @@
---
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/2_1.c8367cf7.jpg
hard: 进阶
time: 10分钟
---
# 自定义维度
#### 作者:境界
自定义维度在刚推出时开花组只开放了ID为3~20的维度世界这17个世界不需要开发者新建文件来生成只需配置好相应的传送逻辑即可前往。面对庞大的开发者数量这种规模远远无法满足所有的组件。因此在之后的更新中我们需要使用附加包的方式添加新的维度ID让游戏能够开通去往那个维度的入口这里使用mcstudio的关卡编辑器可以快速帮助初级开发者建立新的文件扫除一开始理解上的困难让我们来看一下。
![](./images/2_1.jpg)
在关卡编辑器中,右键组件区域,指针指向维度,创建自定义维度组件、自定义传送门组件、方块组件。
①点击维度的子选项可以看到右下角属性面板上可以自定义维度ID维度ID的取值范围是0~int的最大值【一般为2147483647】。每次新建立一个维度组件时都会帮我们默认填好一次随机的维度ID可以不再去修改。
②点击方块组件的“+”号至少创建两个自定义方块将方块类型都设置为传送门。将其中一个自定义方块设置为去向传送门方块将维度ID设置为新维度的ID。另一个自定义方块设置为返向传送门方块将维度ID设置为主世界的ID即0。
③在自定义传送门组件中,将传送门类型改为双向传送门,并将传送门方块设置为去向传送门方块,反向传送门方块设置为返回时的传送门方块。需要注意的是,当前传送门的边框方块还不支持自定义的普通方块,只能使用原版方块。
④右上角点击保存,运行进行测试。

View File

@@ -0,0 +1,95 @@
---
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/3_1.3b916957.jpg
hard: 进阶
time: 25分钟
---
# 自定义群系
#### 作者:境界
附加包允许自定义群系群落,在中国版可以使用特定的目录结构来自定义某个维度的群系。自定义群系时必须使用继承关系,即每个群系都有一个对应的原版群系。虽然无法添加新的群系,但通过改变表面高度、气候调整、重新分配生物群落的稀有性,这些维度依然能变得与众不同。例如,使用新的树类型或方块建筑结构来激进地改变一个群系,添加新的自定义矿物方块到洞穴中等。群系要掌握的知识点如下:
①群系继承
②群系高度
③群系气候
④群系表面结构
⑤屏蔽原版群系特征
⑥自定义生物生成
#### 群系继承
![](./images/3_1.jpg)
![](./images/3_2.jpg)
自定义生物群系必须继承一个原版群系。在继承的时候若没有复写原来群系的组件设定则会默认使用原版群系的设定。原版群系的文件内容可以在modpc客户端根目录/data/definitions/biomes找到。
在MCSTUDIO中选择继承群系的选项会继承一个原版群系。
在文本级编辑中需要在identifier键对同级下新增一个inherts键对值内容为一个原版群系名称。
#### 群系高度
![](./images/3_3.jpg)
群系的高度设定只能针对overworld进行自定义换句话说即高度设定必须给定到主世界存在的群系才会表现正确。像下界群系的高度设定由专门的下界群系生成器控制由于中国版目前无法对下界群系进行自定义这里不再赘述。而末地由于是一个虚空环境该组件行为也不对末地产生效果。
![](./images/3_4.jpg)
群系高度可以设置为预设高度和噪声参数的高度,在通常情况下,使用预设高度可以降低学习难度和快速对自定义群系高度进行成型。而在使用噪声参数需要注意以下几个点:
噪声参数noise_params为一个二维数组第一个值表示生物群落的平均高度。公式为f=(高度 -67/ 16。因此将此值设置为1将会产生高度大约为83的平均高度类似丘陵群系中的山丘高度将此值设置为-2会形成深海表面并且处于海平面以下。群系的最大平均高度最多只能达到高度128以下。因此噪声参数数组的第一个数值在3.8125以上作用效果将不会表现出来。数组的第二个值确定高度变化输入负值通常表现得非常不稳定建议不要这样设置。值0将使地形变化较小但不能使其完全平坦。值等于0.125将产生特别平滑的地形大于此值开始形成悬崖、海湾和凹陷。像针叶林群系这样的极端群系高度始于0.25。设置较为激进的数值会让玩家在群系生存和移动产生困扰。
在目前关卡编辑器中,高度类型和噪声参数可以混用在一起,但实际上在群系生成的管道中,两者只能存在一个。要么是使用高度类型要么使用噪声参数类型。
#### 群系气候
群系气候组件会调节任何一个我的世界群系包括在末地也存在气候。气候主要包括三个部分downfall、temperature、snow_accumulation。Downfall取值区间在0.0~1.0间若超过1.0会取1.0它主要作用在降水与降雪中可以理解为降水量或者降雪量。调整downfall并不会直接明显地表现在降水粒子和降雪粒子中如果要看出它的效果比较具有参考性地可以观察降雪时雪方块堆积的程度坩埚收集水的速度以及钓鱼时鱼出现的时间。Temperature是基础温度给定基础温度不代表群系每个地方都是这个温度温度还会随着群系高度变高而降低。温度公式为T(实际温度) = 基础温度 - ((高度 - 63) / 600)。63为世界中海平面的高度在原版设定中温度为0.15时是冻结的气候即会形成雪。因此假设我们给予一个0.2温度的气候在0.15的温度时的高度群系会积雪则高度为93格高。snow_accumulation为雪的堆积。
在通常情况下,开发者继承原来的群系都带有原本的温度,若需要自定义这些参数,需要进行文件级别的修改,而目前关卡编辑器尚不支持。
#### 群系地表
群系地表包含了群系在生成时的地表方块结构,可以自定义群系的浅表方块、中层方块、深层方块、水底方块、水底高度。
#### 屏蔽原版特征
由于自定义群系继承于原版群系,因此像森林的桦树、平原的橡树、热带草原的金合欢树,都会一起出现在新的群系里。为了屏蔽掉这些原版的特征,需要使用一个特定的组件行为屏蔽掉。
打开指定自定义群系的文本内容在components下加入"minecraft:ignore_automatic_features"即可。
但有部分特征无法使用该组件行为去除,如村庄、沙漠神殿、林中府邸等。
#### 自定义生物生成
生物生成在前面的章节有提到生成在群系的条件是根据群系标签来决定的。因此在自定义群系中会自带原来群系的标签这会导致一些原版生物也出现在新的自定义群系中若要屏蔽这些生物可以使用MODSDK处理。
在新的群系添加新的标签可以让自定义的生物生成在这里要做到这样的效果只需在关卡编辑器的群系标签列表里新增标签名字即可。或者在群系文件中的components下加入"标签名": {}。

View File

@@ -0,0 +1,119 @@
---
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/3_5.08de570e.jpg
hard: 进阶
time: 35分钟
---
# 自定义特征
#### 作者:境界
群系中会存在一些自然的植被、矿物、建筑,它们都用到了特征功能。在关卡编辑器中,当前只支持使用中国版的建筑模板特征。为了让开发者了解更多的特征放置组合,有以下几个特征适合了解并掌握:
①矿物特征
②散布特征
③总和特征
④单方块特征
⑤建筑模板特征
想要了解更多的原版特征和写法可以打开modpc根目录/definitions/features中查看。
#### 矿物特征
矿物特征用来替换地表下的方块为矿物方块。它是相对容易掌握的一种特征,写法格式并不复杂。
![](./images/3_5.jpg)
①Identifier是特征的唯一名称域其中以namespace:identifier的格式为基准。并且identifier必须与文件名字一样否则在modpc客户端下会测试出断言错误并强制关闭客户端。
②count是放置的次数。
③places_block接收一个方块内容若方块不需要指明方块数据如羊毛的颜色等则可以直接以"places_blocks": "方块名字"代替。否则需要查询方块数据后根据上图示例的格式来写。
![](./images/3_6.jpg)
④may_replace下接收一组方块内容即会被矿物方块取代的方块类型。
#### 单方块特征
单方块特征用来放置一种方块,并可以决定它放置时替换的方块是什么。
![](./images/3_7.jpg)
①identifier是特征的唯一名称域其中以namespace:identifier的格式为基准。并且identifier必须与文件名字一样否则在modpc客户端下会测试出断言错误并强制关闭客户端。
②places_block接收一个方块内容若方块不需要指明方块数据如羊毛的颜色等则可以直接以"places_blocks": "方块名字"代替。否则需要查询方块数据后根据上图示例的格式来写。
③enforce_survivablility_rules会强制特征放置时遵守方块能存活下来的方块如草方块无法存活在沙子上因此当这个键对设置为真时则草方块特征不会放在沙子上。
④enforce_placement_rules会强制特征方式时遵守方块放置的规则。
⑤may_replace下接收一组方块内容即会被该方块取代的方块类型。
#### 总和特征
总和特征用来放置一组特征即包括在features下内的特征都会按照随机顺序放置。
![](./images/3_8.jpg)
① identifier是特征的唯一名称域其中以namespace:identifier的格式为基准。并且identifier必须与文件名字一样否则在modpc客户端下会测试出断言错误并强制关闭客户端。
②early_out是提前退出的意思有first_success和first_failure两种类型即若放置的第一个特征成功或者失败时则特征放置结束。
③features下接收一组特征它们会共用一个放置特征的位置。即若该总和特征放置在世界坐标(63,63,63)上时,集合内的特征放置位置都会从这里开始。
小贴士:在上图中,集合内放置了两个特征,分别是原版蕨方块的上部分和下部分,由于我的世界中超过两格的方块都是由两种方块组成的。因此在示例的写法中,由于原版的蕨方块上部要有下部分方块存在才能放置。因此若一开始放置了蕨方块上部特征,则触发第一次放置就失败的规矩而提前退出。
#### 散布特征
散布特征用来再次将另一个特征进行偏移及调整放置次数。
![](./images/3_9.jpg)
①identifier是特征的唯一名称域其中以namespace:identifier的格式为基准。并且identifier必须与文件名字一样否则在modpc客户端下会测试出断言错误并强制关闭客户端。
① iterations为放置次数因此若特征规则里使用了某个定义了额外放置次数的散布特征最后的放置次数为特征规则的放置次数 x 散布特征的放置次数。
③coordinate_eval_order是寻找放置坐标的依次顺序坐标系有x、y、z三种轴因此存在xzy、xyz、yxz、yzx、zxy、zyx等组合。
④x为特征规则放置时所偏移的x系数。若不使用随机分布distribution则可以使用"x": 整数值来给定偏移的格数。
⑤y为特征规则放置时所偏移的y系数。若不使用随机分布distribution则可以使用"y": 整数值来给定偏移的格数。
⑥z为特征规则放置时所偏移的z系数。若不使用随机分布distribution则可以使用"z": 整数值来给定偏移的格数。
⑦places_feature为放置的特征
小贴士在上图中原版将高度两格的蕨特征重新用散布特征包装起来再让特征规则放置这样是因为散布特征可以对特征进行再放置若开发者希望放一朵花、或一堆聚在一起的方块可以先用散布特征将方块以比如0到8的xz区间聚拢在一起被特征规则放置后就可以看到它们被集中放置在一片区域里了。
#### 建筑模板特征
建筑模板特征用来放置一块由结构方块或地图编辑器导出的方块结构,适合用来放一些具有成型价值的建筑模板。建筑模板特征可以直接使用地图编辑器将地图内的建筑大观进行切割、打包导出。最后使用维度大类下的自定义特征组件,将结构文件从资源管理器拖入属性面板即可。

View File

@@ -0,0 +1,27 @@
---
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/4_1.f29b0af7.jpg
hard: 进阶
time: 15分钟
---
# 简易教程① 放置在高于水面的特征
#### 作者:境界
①原版世界的海平面在Y轴63格及以下因此在放置某些自定义方块植物进入世界时我们不希望它出现水面上。这里就用单方块组合和特征规则来展示如何放置一个高于水面的特征。
![](./images/4_1.jpg)
② 创建一个单方块特征,并将放置的方块类型设置为南瓜。
![](./images/4_2.jpg)
③新建一个特征规则允许特征放置在全群系内高度必须在64格以上而不包括64格否则将特征放置在0格以下即虚空位置。这里运用到了一种三元运算符可以简单理解为条件 满足的话执行这里 : 不满足的话执行这里。

View File

@@ -0,0 +1,31 @@
---
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/5_1.c8a98ae5.jpg
hard: 进阶
time: 15分钟
---
# 简易教程② 放置树建筑的模板特征
#### 作者:境界
![](./images/5_1.jpg)
① 进入地图编辑器,随机挑选一颗树进行选取,点击保存结构进行保存,记得要勾选去除空气方块。
![](./images/5_2.jpg)
②新建自定义特征组件,将结构下拉栏打开,选取刚刚保存的结构
![](./images/5_3.jpg)
③新建自定义特征分布组件,将特征指向前面新建的特征,其余属性默认不变。