Files
netease-modsdk-wiki/docs/mconline/60-我的世界创造营教程/玩法组件进阶教程/1-预设编辑器基础/2-制作物品方块预设.md
boybook 760c2dd9ad 2.6
2025-12-01 20:59:16 +08:00

174 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 制作物品方块预设
本节将会使用blockbench制作新的武器方块模型来增强表现力并将模型添加到一个新方块中放置到我们之前的小屋里。
<iframe src="https://cc.163.com/act/m/daily/iframeplayer/?id=660a2ab942810643550cefc5" width="800" height="600" allow="fullscreen"/>
## BlockBench
在基础版教程就已经提到过这个软件BlockBench可以用来制作我的世界中的模型。
下载地址:[点我](https://www.blockbench.net/downloads)
![](./images/20.png)
根据自己的系统来选择安装包Windows系统可以按照图片指示选择下载完成后点击安装。
![](./images/21.png)
安装完成后打开点击文件新建基岩版模型。文件名模型id都填写`weapon_block`这就是将来我们需要用到的模型id。其他的按照图片填写。
![](./images/22.png)
创建完成之后,点击导入纹理,倒入一张铁斧头的纹理(可以根据自己喜好选择,也可以自己绘制)。
![](./images/23.png)
可以自行查找我的世界原版资源包,也可以直接将下图保存使用。
![](./images/iron_axe.png)
导入完成后在右侧大纲下方的空白区域右键先选择添加组再选择添加纹理网格。将texture_mesh拖入bone中。
![](./images/24.png)
![](./images/25.png)
添加完成后就可以看到中间的编辑区域已经出现了我们的斧头纹理网格。然后同时选中bone和texture_mesh进行移动。
可以看到左上角有很多个按钮,分别是**移动,尺寸,旋转,枢纽工具,顶点捕捉**。
我们这里调整模型的位置,使用旋转工具,移动工具等,根据自己的喜好调整。
![](./images/26.png)
![](./images/27.png)
根据自己的喜好调整完成后我们还需要将整个模型向BlockBench中红线和蓝线的方向进行平移。如下图所示模型的中心位置为BlockBench中底部灰色网格的的有红线和蓝线的那个角落。
![](./images/28.png)
为了更清楚地表示,平移前为下图红色框内的位置,平移后为下图中黄色框的位置。
![](./images/29.png)
编辑完模型,我们将它保存,应该保存为一个后缀为`.json`的文件
## 配置方块
和之前一样,在关卡编辑器中新建一个方块配置,叫他`weapon_block`,进行创建。
然后在资源管理中,点击导入按钮,选择`BlockBench模型-json模型(生物)`选择我们刚刚保存的json文件进行导入。
![](./images/30.png)
> 为什么要选择json模型生物
>
> 因为我们制作的纹理网格的模型,是基岩版模型独有的功能。
>
> 而BlockBench模型方块要求模型是自由模型无法使用纹理网格。
>
> 所以我们这里使用方块实体的形式来添加这个模型,让这个方块的基岩版模型来使用纹理网格。
根据提示检查图片是否正确,不正确的可以进行更改。
![](./images/31.png)
导入完成后,我们还需要在找到`models/entity/weapon_block.geo.json`,双击打开
![](./images/35.png)
在如图所示的地方找到`texture_meshes`节点下,找到`texture`,将其改为`"texture": "default"`
![](./images/36.png)
进行这样的配置是因为,我们使用了`texture_mesh`这个比较特殊的功能来制作模型而BlockBench编辑的模型并不会正确的设置texture_mesh所用的纹理文件所以我们需要手动打开文件将它的纹理设置为`default`,也就是默认情况下实体的纹理。
接下来切回到方块的配置,在行为包组件中添加方块实体组件。可以不用勾选任何内容。
![](./images/32.png)
因为是方块实体的形式,所以接下来再新建一个实体,名字和我们的方块保持一致,这里都叫`weapon_block`
然后添加资源包组件 材质、生物渲染控制器
![](./images/48.png)
按照下图配置资源包组件中的模型和纹理、材质、生物渲染控制器。
材质和生物渲染控制器需要手动输入 `default`,`entity_alphatest`,`controller.render.default`。使用默认的材质和渲染控制器进行渲染。
![](./images/49.png)
因为编辑器暂时不支持配置使用方块实体的模型,所以我们需要手动修改`blocks.json`文件,将实体套用到方块上。
在资源管理中,找到资源包文件夹,在右侧找到`blocks.json`,双击打开。
![](./images/34.png)
打开的文件中,应该有一个`命名空间:weapon_block`的字段,例如我这里的是`gever:weapon_block`,就是这个方块的标识符。
我们将其中的内容删除,替换为
```json
"client_entity": {
"identifier": "gever:weapon_block",
"hand_model_use_client_entity": true
}
```
这里的identifer就是你刚刚创建的实体的标识符注意需要替换一下自己的命名空间。
配置完成后的`blocks.json`示例
```json
{
"format_version": [
1,
1,
0
],
"gever:weapon_block": {
"client_entity": {
"identifier": "gever:weapon_block",
"hand_model_use_client_entity": true
}
}
}
```
目前这样进入游戏会发现模型虽然可见但是会有报错。这主要是因为我们的模型使用了texture_mesh形式目前这种形式的模型对于方块实体的方块还没有完全支持所以报错我们暂时不管它。为了避免后续玩家的报错我们后面可以使用逻辑编辑器制作一个替代的物品监听点击事件来放置这个方块。
回到方块配置,在行为包组件中搜索`渲染材质`,添加。值选择全透明。
![](./images/37.png)
![](./images/38.png)
再添加吸光度属性设置为0。否则方块在游戏中看起来是黑色的。
![](./images/40.png)
基础属性可以给它设置一下游戏内名字、声音。同时删除贴图属性。基础属性的所有内容如下图所示。
![](./images/39.png)
这样配置后,这个武器方块就配置完成。
## 商铺驿站和武器方块的摆放
接下来我们就可以使用地图编辑器,设计一个商铺驿站的素材,其中置入武器方块,将它和流浪商人小屋预设进行结合。
要获得武器方块,可以使用命令`/give @s gever:weapon_block`,注意将命名空间替换为自己的。如果没有该物品,可以尝试重启编辑器。
制作完成后,将其保存为素材,然后在地图中删除。并导入为预设素材。
随后到预设编辑器打开House预设将刚刚导入的预设素材放到小屋前。
![](./images/41.png)
这样我们启动游戏之后,就可以看到小屋面前多了一个驿站的建筑。
![](./images/42.png)
至此我们的预设编辑完成。