同步官网文档8m_25d

This commit is contained in:
kwiilh
2025-08-25 18:36:29 +08:00
parent 4dc0ecf18d
commit 9e8855eeb4
5089 changed files with 8798 additions and 4799 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

View File

@@ -0,0 +1,89 @@
---
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/1_1.43173d4d.jpg
hard: 进阶
time: 15分钟
---
# 认识自定义方块
#### 作者:境界
方块是我的世界中元素构成的基本单位。大到地表、群系、植被,小到工作台、机器、篝火,全部都是以方块的形式去演绎。自定义方块为开发者提供了一条更方便的途径管道来定制内容玩法。诚然,当前自定义方块内容只提供了部分功能,并不是所有原版方块的细节都可以通过自定义方块来实现的。请期待在接下来的更新,由中国版和基岩版团队提供更加多元的方案吧!本章节将会阐述,自定义方块现在能够做到什么。
#### 自定义方块组件
目前自定义方块支持使用基岩版1.16.10提供的原版方块组件功能和中国版提供的额外方块组件功能。我们可以使用文本编辑器或者MCSTUDIO来进行制作。
#### MCSTUDIO
![](./images/1_1.jpg)
1进入关卡编辑器右键组件面板创建方块组件。可以通过右边“+”号增加多个自定义方块。然后再点击右边的解锁按钮在编辑器页面上左键放置自定义方块按ESC退出放置模式。注意每当开发者修改了自定义方块信息需根据提示弹窗重新加载世界更改后的信息才会生效。
![](./images/1_2.jpg)
2当前编辑器支持自定义方块的组件内容为
#### 游戏内名称:
修改方块物品显示在物品栏里的名称。
#### 自定义方块ID
是该方块在游戏内的唯一性名称必须只能带有英文和下划线。为了避免与其他模组、原版方块产生ID冲突我们应当使用模组名称+下划线+方块名称的方式命名最为保险。
![](./images/1_3.jpg)
#### 在创造物品栏显示:
勾选选项会将方块注册到construction栏即建筑方块分页下的创造物品栏内。
#### 方块类型:
当前可选的有普通、传送门、刷怪箱三种。
#### 渲染属性:
渲染属性下的四个组件功能分别是吸光度可理解为透光度值越大则越不透光、亮度可理解为发光值在0.0~1.0之间,值越大,在夜晚发光程度越大)、渲染材质(由方块贴图纹理决定,若贴图内带有透明图层,则选择透明材质,若有半透明图层,则选择半透明材质,否则选择不透明材质)、地图颜色(方块在地图里显示的颜色)。
![](./images/1_4.jpg)
#### 模型与贴图:
模型有两种类型一种是简单立方体即占据世界内一格高、一格宽、一格长的方块模型默认情况下不需要指定方块模型一种是自定义方块模型需要开发者提供自定义方块模型文件。选择简单立方体时若勾选上侧面使用同种贴图的话开发者只需提供存放在资源管理器内textures文件夹下的blocks文件夹内的上面、侧面、底面三类贴图纹理文件若取消勾选则可以指定方块的上下左右前后面总共达6面的贴图。贴图随机纹理会帮助方块在游戏内被放置后随机旋转设定好的那一面的贴图在原版世界中使用到这个功能的方块有树叶、泥土、草方块等随机旋转会在合适的条件下给玩家带来更好的视觉效果而不容易产生审美疲劳。
#### 声音:
指方块的音效,包括生物踩在上面和破坏时的音效,方块音效属于硬编码的范畴,当前无法自定义方块音效,所以我们必须使用原版的方块音效。
#### 挖掘属性:
硬度决定了方块的破坏时间,硬度越大,方块需要挖掘的时间也越久,而高效挖掘工具可以设置成原版的镐、锄、斧、铲四种类型,同时支持这四种类型的自定义物品工具。限定工具等级掉落会影响方块是否掉落,它会添加一格工具等级的条件,高于工具等级才能挖掘后掉落方块掉落物。掉落可以指向组件面板建立的掉落物表。是否实心则会影响该方块是否会窒息生物,以及使用自定义方块模型时,取消一些难看的阴影。寻路时被当作障碍物选项,勾选时则会被生物当作是障碍物跳到上方走动,不勾选则会当作空气方块无视其存在来移动。
#### 形状:
面向决定方块是否是四面向或者六面向方块,设置为四面向方块,根据玩家放置的四个不同角度(东西南北)来改变方块朝向,六面向则多了上和下两个面。
实体碰撞箱会检测实体的体积是否与方块体积重叠,一般情况下实体会被挡在方块碰撞箱之外,若实体碰撞箱和实体重叠,有可能造成窒息伤害!
射线碰撞箱会检测玩家的视线是否与方块体积重叠,例如,绝大多数的方块的射线碰撞箱都是一个格子,因此当视线移动到格子之内时,这个方块就能够被挖掉!
#### 方块实体:
打开后可以让自定义方块保存复杂数据结构的功能。

View File

@@ -0,0 +1,45 @@
---
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/2_1.54b5ffe9.jpg
hard: 进阶
time: 10分钟
---
# 制作方块的特殊模型
#### 作者:境界
在制作方块模型前首先要新建工程。但是必须提前告知的是中国版的方块模型文件与原版的模型文件中的部分键对格式稍有出入开发者可以在中国版开发者文档中自行比较。为了方便开发者开花组团队通过Blockbench的自由模型格式开发了转化器我们可以通过McStudio的特效编辑器下的资源管理面板直接转化自由模型的工程文件为自定义方块模型文件十分的方便。
#### BlockBench的工程选择
![](./images/2_1.jpg)
1打开Blockbench从新建栏目下选择自由模型。
![](./images/2_2.jpg)
2项目中的文件名和模型ID指定好后不勾选BoxUV并将贴图宽度改为16x16。
3进入项目后可以看到坐标系和网格N方向即朝北方向。需要注意的是从示例图可以看到红蓝线它们的交点是方块的左上角。因此方块模型需要从这里开始向右下角伸展进行素材搭建而不是在网格范围内搭建。虽然这与正常的建模思维会有一定冲突但是开发者也可以选择先在网格中央建好方块模型后再往右下角移动即可。同样的与建模自定义生物模型一样网格长宽都有16格16格在世界中代表一格方块格子。
4每个立方体最后都会被骨骼包裹这是建造我的世界模型的基本概念与自定义生物模型无差。不过由于目前自定义方块模型尚未支持动画因此所有的骨骼锚点都需要设置在坐标000的位置上否则对方块骨骼进行旋转时可能会遇到预览效果与游戏中实际效果有偏差的情况与此同时方块模型中的立方体和骨骼都不支持膨胀功能遇到立方块面重叠的问题时当前只能通过移动立方体或者挤压/放大立方体大小来解决!
#### 方块模型的贴图规范
![](./images/2_3.jpg)
与生物模型的UV展开图方式不同的是我们建议开发者建模自定义方块时取消生物模型的Box UV转而使用以设置每一个方块面东、西、南、北、上、下的方式并且贴图格式大小设置为16x16。如果遇到一张分辨率在16x16的纹理画布上无法满足开发者对模型的细节要求可以在工程里再次新建一张16x16的贴图这样的建模限制是为了引导开发者积极优化方块模型的资源消耗毕竟玩家的硬件资源是有限的。

View File

@@ -0,0 +1,166 @@
---
front:
hard: 进阶
time: 15分钟
---
# 自定义特殊方块
#### 作者:境界
原版的部分方块具有特殊功能开花组为开发者提供了方块继承的形式来继承这些特殊方块的能力本章将教给开发者如何自定义红石元件方块和刷怪箱方块。由于McStudio当前尚不支持完整自定义这两种特殊方块的功能这里会使用JSON语法来演示。
#### 自定义红石元件方块
```
{
"format_version": "1.16.0",
"minecraft:block": {
"description": {
"identifier": "design:redstone_consumer"
},
"components": {
"minecraft:destroy_time": 2.0,
"minecraft:map_color": "#ffffff",
"netease:tier": {
"digger": "pickaxe",
"level": 0
},
"netease:redstone": {
"type": "consumer"
}
}
}
}
```
11.16.0是当前下界更新的自定义方块内容格式所以我们在format_version里填1.16.0
2identifier是自定义方块的名称域这里可以由开发者自己定义。
3components下的参数会储存方块的各项功能。主要来看netease:redstone组件它可以传入两种类型这里我们传入consumer这样该方块即可接收红石信号成为红石元件方块。
```
{
"format_version": [
1,
1,
0
],
"design:redstone_producer": {
"textures": "gold_block",
"sound": "metal"
},
"design:redstone_consumer": {
"textures": "gold_block",
"sound": "metal"
}
}
```
4最后还应在blocks.json下进行如下配置示例图中将方块贴图设置为金方块贴图则6个面都是金方块面走在该方块上和破坏方块时产生的音效类型是金属音效。
#### 自定义红石信号源方块
```
{
"format_version": "1.16.0",
"minecraft:block": {
"description": {
"identifier": "design:redstone_producer"
},
"components": {
"minecraft:destroy_time": 2.0,
"minecraft:map_color": "#ffffff",
"netease:tier": {
"digger": "pickaxe",
"level": 0
},
"netease:redstone": {
"type": "producer",
"strength": 10
}
}
}
}
```
11.16.0是当前下界更新的自定义方块内容格式所以我们在format_version里填1.16.0
2identifier是自定义方块的名称域这里可以由开发者自己定义。
3components下的参数会储存方块的各项功能。主要来看netease:redstone组件它可以传入两种类型这里我们传入producer这样该方块即可接发送红石信号strength掌管红石信号的强度即信号每传递一格强度会降低1点。
4最后还应在blocks.json下进行如下配置示例图中将方块贴图设置为金方块贴图则6个面都是金方块面走在该方块上和破坏方块时产生的音效类型是金属音效。
#### 自定义刷怪箱方块
```
{
"format_version": "1.16.0",
"minecraft:block": {
"description": {
"identifier": "design:chicken_mob_spawner",
"base_block": "mob_spawner"
},
"components": {
"minecraft:block_light_absorption": 0,
"netease:tier": {
"digger": "pickaxe",
"level": 0
},
"netease:render_layer": {
"value": "alpha"
},
"netease:mob_spawner": {
"type": "minecraft:chicken"
},
"minecraft:block_light_emission": 1.0,
"minecraft:destroy_time": 2.0,
"minecraft:map_color": "#ffffff"
}
}
}
```
11.16.0是当前下界更新的自定义方块内容格式所以我们在format_version里填1.16.0
2identifier是自定义方块的名称域这里可以由开发者自己定义。在这里还要额外指定base_block键对将方块继承刷怪箱即"mob_spawner"。
3components下的参数会储存方块的各项功能。主要来看netease:mob_spawner组件它里面的键类型会指向一种生物名称域该组件功能同时支持自定义生物和MC原版生物。
```
{
"format_version": [
1,
1,
0
],
"design:chicken_mob_spawner": {
"textures": "mob_spawner",
"sound": "metal"
}
}
```
4最后还应在blocks.json下进行如下配置示例图中将方块贴图设置为原版刷怪箱贴图。则6个面都是刷怪箱子贴图走在该方块上和破坏方块时产生的音效类型是金属音效。

View File

@@ -0,0 +1,100 @@
---
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/4_1.fd4b17c4.jpg
hard: 进阶
time: 15分钟
---
# 简易教学①:制作会发光的地灯
#### 作者:境界
#### 自定义方块行为包
```
{
"format_version": "1.16.0",
"minecraft:block": {
"description": {
"identifier": "design:lamp"
},
"components": {
"minecraft:block_light_absorption": 0,
"netease:tier": {
"digger": "pickaxe",
"level": 0
},
"netease:render_layer": {
"value": "alpha"
},
"minecraft:block_light_emission": 1.0,
"minecraft:destroy_time": 2.0,
"minecraft:map_color": "#ffffff"
}
}
}
```
11.16.0是当前下界更新的自定义方块内容格式所以我们在format_version里填1.16.0
2identifier是自定义方块的名称域这里可以由开发者自己定义。
3components下的参数会储存方块的各项功能。
-将透光度调为0减少环境光的影响。
-将该方块设置为被木镐以上等级的镐子挖掘有速度加成。
-由于使用了带有透明图层的贴图,将该方块的渲染材质设置为透明。
-将发光度设置为1.0,即发最强的光。
-将方块破摔时间设置为2.0
-自定义方块在地图上显示的颜色,这里可以由开发者自己定义。
![](./images/4_1.jpg)
#### 自定义方块资源包
1在resourcepack/blocks.json中添加该方块的名称域与模型资源名称名称来自resourcepack/models/netease_block/内的模型文件里的名称域。将走在方块上和破坏方块的音效设置为玻璃音效。
```
{
"format_version": [
1,
1,
0
],
"design:lamp": {
"netease_model": "design:lamp",
"sound": "glass"
}
}
{
"format_version": "1.13.0",
"netease:block_geometry": {
"bones": [
],
"description": {
"identifier": "design:lamp",
"textures": [
"design:lamp"
],
"use_ao": false
}
}
}
```
#### 实际游戏效果
![](./images/4_2.jpg)

View File

@@ -0,0 +1,107 @@
---
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/5_1.ca4249e1.jpg
hard: 进阶
time: 15分钟
---
# 简易教学②:制作一个百宝箱
#### 作者:境界
百宝箱示例包下载:下载[示例包](https://g79.gdl.netease.com/guidedemo-case9.zip)。
#### 自定义方块行为包
```
{
"format_version": "1.16.0",
"minecraft:block": {
"description": {
"identifier": "design:treasure_chest"
},
"components": {
"minecraft:block_light_absorption": 0,
"netease:tier": {
"digger": "pickaxe",
"level": 0
},
"netease:face_directional": {
"type": "direction"
},
"minecraft:block_light_emission": 0.0,
"minecraft:destroy_time": 2.0,
"minecraft:loot": "loot_tables/design_treasure_chest.json",
"minecraft:map_color": "#ffffff"
}
}
}
```
11.16.0是当前下界更新的自定义方块内容格式所以我们在format_version里填1.16.0
2identifier是自定义方块的名称域这里可以由开发者自己定义。
3components下的参数会储存方块的各项功能。
-将透光度调为0减少环境光的影响。
-将该方块设置为被木镐以上等级的镐子挖掘有速度加成。
-将该方块设置为四面向方块,因为我们希望玩家放置时,正面始终朝向玩家。
-将发光度设置为0即不发光该组件也可以省略。
-将方块破摔时间设置为2.0
-自定义一个战利品表,将路径设置到该战利品表上,战利品表内会放置一种组合,破坏宝箱时会掉落一组金锭。
-自定义方块在地图上显示的颜色,这里可以由开发者自己定义。
![](./images/5_1.jpg)
#### 自定义方块资源包
1在resourcepack/blocks.json中添加该方块的名称域与模型资源名称名称来自resourcepack/models/netease_block/内的模型文件里的名称域。将走在方块上和破坏方块的音效设置为木头音效。
```
{
"format_version": [
1,
1,
0
],
"design:treasure_chest": {
"netease_model": "design:treasure_chest",
"sound": "wood"
}
}
{
"format_version": "1.13.0",
"netease:block_geometry": {
"bones": [
],
"description": {
"identifier": "design:treasure_chest",
"textures": [
"design:treasure_chest"
],
"use_ao": false
}
}
}
```
#### 实际游戏效果
![](./images/5_2.jpg)