200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 【MC 网易-我的世界-mod开发基础笔记】 --- 创建第一个空白Mod

【MC 网易-我的世界-mod开发基础笔记】 --- 创建第一个空白Mod

时间:2024-03-20 12:55:46

相关推荐

【MC 网易-我的世界-mod开发基础笔记】 --- 创建第一个空白Mod

目录

创建Mod文件夹构建Mod的基本目录结构构建行为包基本结构构建脚本文件夹基本结构构建 mod 启动入口脚本构建资源包基本结构构建国际化文件基本结构自定义物品配置中文名称自定义方块配置中文名称自定义实体配置中文名构建贴图资源文件夹的基本结构

创建Mod文件夹

在电脑上创建mod文件夹,用于存放mod开发的所有内容。

此处我在我的电脑的D:\MC\newProjects\目录下创建一个mod文件夹,文件夹名称为:ThreeSecretOneMod

注意:

文件夹命名格式推荐为:自定义组织名称+自定义的Mod名称+Mod固定字符

如上:Three为组织名称,SecretOne为Mod名称,Mod为固定字符创建的mod文件夹路径不能出现中文。例如D:\MC\newProjects\路径中并无中文字符。

构建Mod的基本目录结构

进入mod文件夹中。进入后创建两个文件夹,分别为ThreeSecretOneBehaviorPackThreeSecretOneResourcePack,分别代表此mod的行为包和资源包。

注意:

行为包文件夹的命名格式为:自定义组织名称+自定义的Mod名称+BehaviorPack固定值。如:

ThreeSecretOneBehaviorPack资源包文件夹的命名格式为:自定义组织名称+自定义的Mod名称+ResourcePack固定值。如:

ThreeSecretOneResourcePack

ThreeSecretOneBehaviorPack: 用于存放游戏内容的相关行为逻辑相关内容资源和相关配置,主要是存放json和python文件。

ThreeSecretOneResourcePack:用于存放游戏内需要用到的静态资源,主要是存放游戏中用到的图片、音频、粒子、序列帧等资源。

构建行为包基本结构

进入行为包后,创建实体文件夹entities和 脚本文件夹ThreeSecretOneScript

注意:

实体文件夹entities的名称为固定名称,不可修改。脚本文件夹名称格式为:自定义组织名称+自定义的Mod名称+Script固定字符。如:ThreeSecretOneScript

另外,还需要创建一个名为manifest.json的json文件,用于告诉游戏引擎这是一个行为包。

注意:manifest.json 文件名称不可修改,为固定名称

manifest.json 文件内容如下:

{"header": {"uuid": "9ac7ec64-fc78-4cc2-98bd-ff89bbedf672","version": [ 0,0,1],"description": "Three Secret Place Tracking Preface @three","name": "ThreeSecretOne"},"dependencies": [],"modules": [{"version": [0,0,1],"type": "data","description": "Three Secret Place Tracking Preface @three","uuid": "ee42727e-79ad-4459-878f-1a70e63ec662"}],"format_version": 1}

manifest.json 文件内容 说明,开发者只需要修改如下内容:

header内的配置:

1.uuid:必填,使用【MC 网易-我的世界-mod开发基础笔记】 — 常用的在线工具 中的uuid在线生成工具生成,将生成的uuid复制到文件中即可。

2.version:必填,版本号,默认初始版本号为[ 0,0,1],若之后发布后的mod需要更新则此版本号需要修改。目前刚创建则使用默认版本号即可。

3.description:描述,非必填,填写mod或mod行文包的相关描述。

4.name:必填,填写自定义组织名称+自定义的Mod名称

modules内的配置:

1.uuid:必填,使用【MC 网易-我的世界-mod开发基础笔记】 — 常用的在线工具 中的uuid在线生成工具生成,将生成的uuid复制到文件中即可。

2.version:必填,版本号,默认初始版本号为[ 0,0,1],若之后发布后的mod需要更新则此版本号需要修改。目前刚创建则使用默认版本号即可。

3.description:描述,非必填,填写mod或mod行文包的相关描述。

4.type:必填,行为包的固定值为data,资源包的固定值为resources。此处为行为包,则填写为data

结构如下图:

构建脚本文件夹基本结构

进入脚本文件夹中。在文件夹中创建4个python文件。分别为:

init.py:python的初始脚本文件,目前该文件为空白内容。handlerClient.py: mod的客户端处理脚本。handlerServer.py: mod的服务端处理脚本modMain.py: mod 启动入口脚本

如下

构建 mod 启动入口脚本

使用编辑器打开modMain.py文件,文件内容如下:

# -*- coding: utf-8 -*-from mon.mod import Modimport mod.client.extraClientApi as clientApiimport mod.server.extraServerApi as serverApi@Mod.Binding(name = 'ThreeSecretOne', version = '0.0.1')class ThreeSecretOneMod(object):@Mod.InitServer()def ThreeSecretOneServerInit(self):# 使用RegisterSystem()方法向游戏引擎注册服务端脚本# 参数1:自定义组织名称+自定义的Mod名称# 参数2:自定义的服务端名称建议格式为:自定义组织名称+自定义的Mod名称+ServerSystem# 参数3:服务端脚本文件的路径 。从脚本文件夹开始serverApi.RegisterSystem('ThreeSecretOne', 'ThreeSecretOneServerSystem', 'ThreeSecretOneScript.handlerServer')print("===== ThreeSecretOneServerInit =====") pass@Mod.DestroyServer()def ThreeSecretOneServerDestroy(self):pass@Mod.InitClient()def ThreeSecretOneClientInit(self):# 使用RegisterSystem()方法向游戏引擎注册客户端脚本# 参数1:自定义组织名称+自定义的Mod名称# 参数2:自定义的服务端名称建议格式为:自定义组织名称+自定义的Mod名称+ClientSystem# 参数3:服务端脚本文件的路径 。从脚本文件夹开始clientApi.RegisterSystem('ThreeSecretOne', 'ThreeSecretOneClientSystem', 'ThreeSecretOneScript.handlerClient')print("===== ThreeSecretOneClientInit =====")pass@Mod.DestroyClient()def ThreeSecretOneClientDestroy(self):pass

构建资源包基本结构

进入资源包目录下。

创建一个名为manifest.json的json文件,用于告诉游戏引擎这是一个资源包。

注意:manifest.json 文件名称不可修改,为固定名称

manifest.json 文件内容如下:

{"header": {"uuid": "39742707-d76c-4e1c-bede-92fbf30cd86c","version": [ 0, 0,1],"description": "Three Secret Place Tracking Preface @three","name": "ThreeSecretOne"},"modules": [{"version": [ 0,0, 1],"type": "resources","description": "Three Secret Place Tracking Preface @three","uuid": "d0b50d89-e185-4fdc-97b7-f492e2ded9bb"}],"format_version": 1}

manifest.json 文件内容 说明,开发者只需要修改如下内容:

header内的配置:

1.uuid:必填,使用【MC 网易-我的世界-mod开发基础笔记】 — 常用的在线工具 中的uuid在线生成工具生成,将生成的uuid复制到文件中即可。

2.version:必填,版本号,默认初始版本号为[ 0,0,1],若之后发布后的mod需要更新则此版本号需要修改。目前刚创建则使用默认版本号即可。

3.description:描述,非必填,填写mod或mod行文包的相关描述。

4.name:必填,填写自定义组织名称+自定义的Mod名称

modules内的配置:

1.uuid:必填,使用【MC 网易-我的世界-mod开发基础笔记】 — 常用的在线工具 中的uuid在线生成工具生成,将生成的uuid复制到文件中即可。

2.version:必填,版本号,默认初始版本号为[ 0,0,1],若之后发布后的mod需要更新则此版本号需要修改。目前刚创建则使用默认版本号即可。

3.description:描述,非必填,填写mod或mod行文包的相关描述。

4.type:必填,行为包的固定值为data,资源包的固定值为resources。此处为资源包,则填写为resources

创建其他文件夹,用于存放各类资源,以下创建的文件夹名称固定,不可修改

effects:用与存状态效果的相关配置的文件夹models:用于存放模型的文件夹sounds: 用于存放音频的文件夹texts:用于存放国际化配置的文件夹textures:用于存放贴图资源的文件夹ui: 用于存放ui配置的文件夹

如下图:

构建国际化文件基本结构

texts文件夹中存放国际化的文件。由于游戏中各项内容的配置均为英文,则游戏中展示默认是显示英文内容,若要将相对应的内容在游戏中显示为中文,(配置的中文可配合【MC 网易-我的世界-mod开发基础笔记】 — 常用的在线工具中我的世界颜色格式的部分使用)

则需要在此文件夹下做相关的配置。

创建中文配置文件zh_CN.lang文件名固定不可改变

其内容相关的语法格式为:

自定义物品配置中文名称

格式为:item.自定义物品定义的英文名称.name=中文名称

例如:item.three_secret_one:gambler_log.name=§9[初级] §9探险家日志

自定义方块配置中文名称

格式为:item.自定义物品定义的英文名称.name=中文名称

例如:tile.three_secret_one:dowork.name=秘境工作台

自定义实体配置中文名

格式为:entity.自定义物品定义的英文名称.name=中文名称

entity.three_secret_one:dangerDog.name=秘境恶犬

如下:

构建贴图资源文件夹的基本结构

创建以下文件夹用于分类存放贴图资源,创建的文件夹名称固定不可改变

item:用于存放自定义物品贴图的文件夹models:用于存放模型贴图的文件夹ui:用于存放ui贴图的文件夹

创建item_texture.json文件,用于配置贴图资源的使用

其内容为:

{"resource_pack_name": "vanilla","texture_name": "atlas.items","texture_data": {}}

如下图

此时,结构创建完毕。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。