feat:上传mcguide-开发指南部份

This commit is contained in:
Othniel su
2024-12-23 10:57:59 +08:00
parent 7292166c88
commit 0dc59fa4f0
3297 changed files with 63375 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
---
front:
hard: 入门
time: 分钟
---
# Mod简介
## 组件
打开我的世界中国版的资源中心,可以看到我们把组件分为游戏地图,功能玩法,材质光影与皮肤。
<img src="./picture/brief_intro/35.png" alt="image-20200426213400281" style="zoom:67%;" />
皮肤组件其实就是一张png贴图搜索引擎搜索“我的世界皮肤制作”即可找到很多大神分享的教程。
功能玩法与材质光影都是通过“附加包”来制作这也是《MODSDK 模组开发》这个文档主要讲述的内容。
游戏地图一般是一个搭建好的游戏存档,但是还可以添加附加包来实现更丰富的玩法。
## 附加包
### 什么是附加包
附加包Add-ons能够自定义修改我的世界基岩版中的游戏内容是基岩版对模组Mod的一种支持方式。
在后续的文档中我们会使用“Mod”来指代基岩版AddOn
### 附加包可以做什么
- 实现对原版游戏内容的修改,例如修改原版方块物品的贴图,代表是各种材质包
- 额外添加新的游戏内容,例如添加新的自定义生物,物品,方块等
“异星求生”玩法是其中一个集成了各MODSDK功能的作品包含了自定义维度丰富的自定义物品方块与装备以及python脚本开发制作出异世界生存的玩法。
![](./picture/brief_intro/3.png)

View File

@@ -0,0 +1,110 @@
---
front:
hard: 入门
time: 分钟
---
# 制作第一个附加包
## 下载安装我的世界开发工作台
从[我的世界开发工具网站](https://mc.163.com/dev/index.html)下载MC Studio
![image-20200423172901130](./picture/brief_intro/1.png)
## 注册开发者账号
- 安装完成后,使用网易通行证账号登录我的世界开发工作台,如您没有网易通行证,可以点击页面中的邮箱注册按钮前往网易邮箱注册网页进行注册。
![邮箱注册](./picture/brief_intro/registermail.png)
- 成功登录后,对于没有注册开发者账号的用户,会进行弹窗拦截,点击“注册开发者”按钮,前往[开发者注册页面](https://mcdev.webapp.163.com/#/reg)
![邮箱注册](./picture/brief_intro/registertips.png)。
- 在开发者注册页面填写相关信息并提交成功后,就可以返回我的世界开发工作台,点击“完成注册”,即可正常登录和使用我的世界开发工作台啦!
![邮箱注册](./picture/brief_intro/registerdev.png)
## 新建一个空白附加包
新建作品→基岩版组件→空白附加包,点击新建:
<img src="./picture/brief_intro/4.png" alt="image-20200423220931320" style="zoom:67%;" />
填写好地图名称后点启动编辑。然后studio会自动下载最新的mod开发包
<img src="./picture/brief_intro/9.png" alt="image-20200423221049914" style="zoom:67%;" />
## 添加一个自定义方块
1. 在关卡编辑器的配置页面点击新建→选择配置→新建一个方块配置:
<img src="./picture/brief_intro/6.png" alt="image-20200424101304748" style="zoom:67%;" />
2. 选择【发光的普通方块】模板,点击创建按钮完成创建:
![image-20200424102818180](./picture/brief_intro/choosetemplate.png)
3. 在配置面板选中新增的方块配置,然后在右侧的属性面板找到方块贴图的属性:
![image-20200424102818180](./picture/brief_intro/8.png)
4. 如果你需要导入作品外部的贴图,可以点击资源管理器面板中的导入按钮,选择导入方块贴图,在弹出的文件选择框外部贴图所在的文件夹并选择贴图导入:
![image-20200424102818180](./picture/brief_intro/importtexture.png)
5. 如果你需要导入MC原版的贴图可以寻找下列路径中的贴图
`你安装studio的盘符:\MCStudioDownload\MCPresetEditor`
我们在此基础上定位到:`Game\data\resource_packs\vanilla\textures\blocks`
这里我们可以找到原版方块的贴图我们选择barrel_bottom.png
然后下面贴图与侧面贴图也选择这张贴图:
<img src="./picture/brief_intro/7.png" alt="image-20200424102530971" style="zoom:67%;" />
6. 然后我们在属性找到“射线碰撞盒”把“右上角”的数值都设置为1
![image-20200426112852904](./picture/brief_intro/34.png)
7. 右上角点击保存:
![image-20200424105815738](./picture/brief_intro/10.png)
## 测试我的作品
1. 在开发者启动器打开创作页,找到你刚才新创建的附加包→开发测试:
<img src="./picture/brief_intro/11.png" alt="image-20200424110647163" style="zoom:67%;" />
2. 选择稳定版本的开发测试版本并勾选创造模式与作弊模式然后点开始。这时启动器会下载《Mod PC开发包》。
<img src="./picture/brief_intro/12.png" alt="image-20200424171008545" style="zoom:67%;" />
1. 下载完成进入游戏后,我们打开物品栏,就可以看到我们新加的自定义方块,可以拿出来并进行放置。
<img src="./picture/brief_intro/13.png" alt="image-20200424111405802" style="zoom:67%;" />
![image-20200424111540172](./picture/brief_intro/14.png)
## 进阶
以上我们制作了一个非常简单的mod但实际测试的过程中我们会发现一些问题例如方块可以穿过。
这是因为我们只配置了方块的贴图,而没有配置方块的碰撞箱,如何制作一个完善的自定义方块则需要我们阅读相关模块的文档。
此外仅仅添加一个方块无法构成一个有趣的玩法。一个有意思的玩法通常可以允许玩家对方块进行交互或者采集方块合成其他有趣的物品。这需要我们学习其他自定义游戏内容以及python脚本。
## 导出发布
假设我们已经制作好了一个很棒的玩法的mod测试完毕后我们需要把我们的Mod上传到开发者平台这样其他玩家才能玩到我们的Mod。
回到开发者启动器在创作页或基岩版组件找到该作品选择更多→导出然后选择一个位置启动器会把附加包导出为一个zip文件。
![image-output](./picture/brief_intro/output.png)
然后点击启动器上的“发布与管理”按钮,前往开发者平台:
<img src="./picture/brief_intro/15.png" alt="image-20200424142530955" style="zoom:67%;" />
点击发布新资源上传刚才导出的zip文件遵循说明和指引一步步填写即可。
![image-output](./picture/brief_intro/publishweb.png)
> 温馨提示:你也可以通过点击作品更多菜单→发布按钮,将自动为您导出作品、上传到开发者平台,并打开发布资源的页面,如下图:
![image-output](./picture/brief_intro/publish.png)
## 在移动端测试我的作品
为了测试和体验Mod在手机上的效果确保最终发布后没有问题我们需要在手机上进行测试Mod包括**安卓**和**IOS**设备)。按下面的步骤进行:
- 按前面的介绍,将需要测试的组件,在“发布”页面上传,并提交审核,使组件处于“审核中”的状态。
![img](./picture/brief_intro/test_review.png)
- 安装我的世界手机测试APP在“发布”页面中点击左下角的“测试版启动器下载”下载手机测试APP并安装。
![img](./picture/brief_intro/test_downapp.png)
- 使用开发者账号登录手机测试APP。
- 在资源中心搜索,找到刚刚提审的组件,即可进行测试。

View File

@@ -0,0 +1,130 @@
---
front:
hard: 入门
time: 分钟
---
# Mod是如何工作的
虽然我们已经通过工作台制作出了一个简单的mod其中没有涉及任何的代码以及文件操作但是了解mod具体是如何运作是很有必要的会帮助你更好地设计玩法的实现方式多个mod之间如何协作与避免冲突以及使用一些目前还不支持编辑器配置的功能。
## 行为包与资源包
附加包可以分为行为包behavior_pack与资源包resource_pack
在研究这个之前我们先来了解一下什么是Client-Server架构。
Client-Server结构分为服务器与客户端。服务器负责数据的管理与逻辑的计算客户端负责完成与用户的交互任务。
通俗的理解在mc里服务器会负责地图的生成与存储生物的AI行为计算物品的使用逻辑等等而客户端主要负责把地图生物等等画到屏幕上以及接受玩家的操作例如移动跳跃物品的使用操作等等。
当服务器与客户端在启动的时候,会有一个初始化的步骤,在这个步骤中,游戏会到一些特定的路径上读取配置以及资源。因此我们只要按照规则把我们制作的东西放置在特定的路径,就可以被游戏识别并加载,实现我们的自定义玩法。
一般来说我们会把服务器需要用到的东西放到行为包例如地图的生成规则方块的碰撞盒生物的AI把客户端需要用到的东西放在资源包例如方块的贴图生物的模型与动作
以我们在上一篇中制作的自定义方块mod为例。
在作品中点击更多→打开目录。我们会看见一个behavior_pack与一个resource_pack开头的文件夹。
<img src="./picture/brief_intro/16.png" alt="image-20200424164857527" style="zoom:67%;" />
<img src="./picture/brief_intro/17.png" alt="image-20200424165039924" style="zoom:67%;" />
### 行为包
打开behavior_pack里面有一个netease_blocks目录这个目录专门用来放自定义方块的配置。打开netease_blocks后里面有一个json文件。使用文本编辑器打开这个json文件可以看到里面记录了我们在上一篇中添加的自定义方块的定义与关卡编辑器里的属性栏是一一对应的例如“netease:solid”对应“是否实心”。游戏启动时会分析这个json文件并根据里面的定义来添加一个自定义方块。
<img src="./picture/brief_intro/18.png" alt="image-20200424165703543" style="zoom:67%;" />
然后我们把"minecraft:block_light_emission"的值改为1.0(这个属性在关卡编辑器中对应的是渲染属性-亮度),并保存。
<img src="./picture/brief_intro/19.png" alt="image-20200424170729985" style="zoom:67%;" />
然后点击ModPC开发包上的重载存档再次加载此测试存档
![重载存档](./picture/brief_intro/restartlevel.png)
如果你已关闭ModPC开发包可以在启动器选中作品并在右侧的测试存档记录中找到对应的测试存档再次启动测试。
<img src="./picture/brief_intro/21.png" alt="image-20200424171746075" style="zoom: 50%;" />
把时间设置成晚上可以发现我们的自定义方块与之前不同变成与萤石一样会发光。你也可以编辑直接编辑json文件中的其他字段来修改方块的其他属性当然这需要学习自定义方块模块的文档。
<img src="./picture/brief_intro/20.png" alt="image-20200424171209298" style="zoom: 50%;" />
### 资源包
然后我们来到resource_pack目录。这里会看到一个blocks.json以及textures文件夹下的一个`terrain_texture.json`。游戏启动时会读取这两个文件来加载方块的贴图。
现在我们还不需要了解这两个文件的具体含义,但大体上我们可以看出这两个文件一起定义了我们上一篇中自定义方块的上面,底面以及侧面的贴图,最后指向了`textures/blocks/barrel_bottom`这个路径
![image-20200424212433612](./picture/brief_intro/23.png)
然后我们来到`textures/blocks`这个路径,会发现这里`barrel_bottom.png`的确是我们之前选择的自定义方块贴图。
<img src="./picture/brief_intro/22.png" alt="image-20200424174107890" style="zoom:67%;" />
## 原版数据包
一些原版的游戏内容(例如群系,生物,光影材质等)也是通过与附加包相同的格式,把配置与资源的方式放置在游戏安装包的特定位置上,在启动时进行加载。通过研究这些原版的数据包,有助于我们修改原版的游戏内容,以及从中获得如何制作自定义内容的灵感。
### 如何找到原版数据包
我们打开目录`您安装mcstudio的盘符\MCStudioDownload\game\MinecraftPE_Netease`这里是我们的“Mod PC开发包”。“Mod PC开发包”中可以找到原版的群系生物等等的配置文件来提供开发的参考后面很多模块的文档都会提到。
点开最新版本的文件夹,里面的`data\behavior_packs\vanilla`便是游戏原版的行为包。
`data\resource_packs\vanilla`便是游戏原版的资源包
### 如何修改原版数据包
对于原版的游戏内容,与附加包一样都是在启动的加载阶段读取指定路径的配置与资源。在这个阶段附加包与原版数据包拥有同等的地位,并且优先级更高。因此只要在附加包中的相同路径放一个同名的文件,游戏就会使用我们这个文件来代替原版的文件。
到原版的资源包下,会发现`textures/blocks`下也有一张dirt.png就是我们平时看到的泥土方块的贴图。
我们打开我们在上一篇中的AddOn的resource_pack目录来到`textures/blocks`,然后把`barrel_bottom.png`拷贝一份,并且重命名为`dirt.png`
<img src="./picture/brief_intro/24.png" alt="image-20200425182631076" style="zoom:67%;" />
然后我们再次启动测试存档,会发现原版的泥土方块的贴图改变了。
<img src="./picture/brief_intro/25.png" alt="image-20200425184352046" style="zoom:50%;" />
## 数据包的文件结构
在数据包中一般会有一个该数据包的描述文件,以及一些按照功能来划分的文件夹,我们以原版数据包为例来看一下。
### 行为包
<img src="./picture/brief_intro/27.png" alt="image-20200425220638095" style="zoom:50%;" />
| 文件/文件夹 | 解释 |
| ------------- | ------------------------------------------------------------ |
| entities | 生物的定义。<br><font color="red">在我的世界中国版中,行为包中必须有这个文件夹</font> |
| ... | |
| manifest.json | 资源包的描述文件,包含了该资源包的标识符,作者信息等。<br>更多可以参考[官方wiki](https://minecraft-zh.gamepedia.com/基岩版附加包文档#manifest.json),以及下方的“制作规范” |
### 资源包
<img src="./picture/brief_intro/26.png" alt="image-20200425215907169" style="zoom:50%;" />
| 文件/文件夹 | 解释 |
| ------------- | ------------------------------------------------------------ |
| entity | 生物的定义 |
| textures | 贴图资源<br><font color="red">在我的世界中国版中,资源包中必须有这个文件夹</font> |
| ... | |
| manifest.json | 资源包的描述文件,包含了该资源包的标识符,作者信息等。<br>更多可以参考[官方wiki](https://minecraft-zh.gamepedia.com/基岩版附加包文档#manifest.json),以及下方的“制作规范” |
## 开始动手吧
如果想更深入了解如何手动配置addon可以阅读[制作资源附加包](https://minecraft-zh.gamepedia.com/教程/制作资源附加包)与[制作行为包](https://minecraft-zh.gamepedia.com/%E6%95%99%E7%A8%8B/%E5%88%B6%E4%BD%9C%E8%A1%8C%E4%B8%BA%E5%8C%85)。
如果想了解更多的自定义游戏内容,可以查阅“自定义游戏内容“里的文档
如果想了解脚本开发可以查阅”Python脚本开发”文档

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 512 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 739 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 855 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB