Minecraft(我的世界)中文论坛

 找回密码
 注册(register)
查看: 31200|回复: 244

[教程] 【1.13】数据包(原版模组)入门教程

  [复制链接]
发表于 2018-2-26 13:16:49 | 显示全部楼层 |阅读模式

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 ruhuasiyu 于 2018-8-26 11:46 编辑


   

简介
原版模组(vanilla mod)一般指在不修改Minecraft游戏本体的前提下,通过命令方块、ooc (only one command)或数据包(datapack)等方式对游戏的可玩性做出修改。而有了Minecraft Java版1.13新增的数据包概念之后,原版模组的制作已变得十分便捷。然而纵观论坛,原版模组仍然不够繁荣。这里我将为从未接触这个概念的玩家做一个简单的入门教程,以期抛砖引玉。

部分段落常为部分读者所熟知,若如此可直接跳至自己所需段落。对于首次接触者,请耐心阅读。

新人指引
本文中不会对命令部分做过多的详解。若你对命令尚不了解,可先依次通过如下链接学习并了解:
命令手册
命令 - Minecraft Wiki,最详细的官方我的世界百科
新人手册-MC命令方块资源
命令进阶
记分板和nbt手册
记分板 - Minecraft Wiki,最详细的官方我的世界百科
区块格式 - Minecraft Wiki,最详细的官方我的世界百科
Player.dat格式 - Minecraft Wiki,最详细的官方我的世界百科
可先熟悉各项指令后,再学习记分板和nbt相关命令。实体和方块nbt亦可通过在游戏中使用data get entity/block指令来获取以避免记忆大量的nbt。

若你已对1.12或以下的命令较为熟悉,可直接查看1.13页面查看命令改动之处。

工具准备
文本编辑器 为了编辑函数文件(.mcfunction)、json文件(.json),我们需要一个功能更加强大的文本编辑器,来代替Windows系统自带的记事本。例如Notepad++vscode等。撰写文件时,请将编码格式设置/切换为utf-8(无BOM)。这些编辑器一般支持语法高亮、自动补全等功能。对于Notepad++而言,可从mcfunction的语言样式和自动补全帖中下载相关文件并导入即可。另外请将Notepad++中"设置->首选项->其它->自动检测字符编码"选项关闭。

压缩工具 主流的压缩工具有winrar(付费软件)和7-zip(免费软件)等。压缩工具是用来压缩/解压缩资源包、数据包或其它压缩文件所必需的。

nbt工具 推荐使用nbtexplorer来打开.dat和其它nbt格式文件。

文件类型
我们简要介绍下将接触的文件类型,本段中不做详解,仅做眼熟用。为便于查看文件后缀,请将文件->文件夹选项->查看->隐藏已知文件类型的扩展名选项去掉勾选。为避免重复,本段中不会给出样例,如需查看请翻至后文。

json文件 使用文本编辑器打开,可通过新建文本文件然后修改后缀来创建(下同)。包括一对根括号{},包含类似 "abc":"def" (key:value)的对。值可以为数值、字符串、列表(list 由[]圈住)、复合对象(compound 由{}圈住)。进度、战利品表、标签、模型、语言文件均为该格式。编写时,建议通过空格或制表符(tab)缩进,以便于查看括号匹配和层次。

mcmeta文件 使用文本编辑器打开。格式与json相同,仅用于记录资源包和数据包的信息(版本和描述)。

mcfunction文件 使用文本编辑器打开,此即函数文件。每一行都是一条单独的可执行的指令。

nbt和mca文件 使用nbt查看器打开。打开后为树状结构。世界生成、玩家、结构、地图等信息均为nbt格式,区块为mca格式。

jar文件 右键选择使用压缩工具打开。通常是minecraft或mod本体,其中子文件夹asserts包含资源文件,如语言文件、材质、模型、声音等,data包含数据文件,如进度、配方、结构、战利品表等。data文件结构实际上与数据包下data文件结构相同,也是制作datapacks的文件样板,文件结构详见后文。

                               
登录/注册后可看大图


存档结构
我们简要介绍下.minecraft的文件结构,熟悉或不感兴趣的读者可跳过。打开.minecraft所在的文件夹,这通常位于你的启动器目录下。

assets minecraft的资源文件。可在此找到所有游戏内文本的key和翻译,之后便可通过加载资源包来修改。打开 indexes中对应的json文件,查找zh_cn对应的hash值,然后在objects中找到相应文件,用文本编辑软件打开即可看到相应的文本。
versions/版本号/resourcepacks 资源包文件夹,每个子文件夹或zip对应一个资源包。
versions/版本号/screenshots 游戏截图。
versions/版本号/logs 日志信息。可打开latest.log来查看加载资源包和数据包时的错误信息,包括错误的文件名称、位置、错误的行列数等,是调试时所必需的
versions/版本号/options.txt 游戏设置,诸如音量、视距等。

                               
登录/注册后可看大图


versions/版本号/saves 地图存档,我们从展示共享版下载的地图一般就是放入该文件夹。
versions/版本号/saves/advancements 玩家的进度和完成时间。
versions/版本号/saves/playerdata 玩家的属性等内容,可修改玩家的位置、复活点、飞行速度等内容。
versions/版本号/saves/stats 玩家的统计信息。
versions/版本号/saves/data 地图、记分板、村庄等内容。idcounts.dat记录了当前已使用的地图数量,可以修改,修改后新打开的空地图会以此开始计数,这可以避免模组自定义的地图被玩家无意修改。map_数字.dat即相应的地图信息。scoreboard.dat记录了记分板、记分板的值、组。其它的文件记录了相应结构(村庄、要塞、废弃矿井)的信息。
versions/版本号/saves/datapacks 数据包文件夹,每个子文件夹或zip对应一个资源包。
versions/版本号/saves/DIM1、DIM-1、region 末地、下界和主世界的区块信息。.mca文件可用nbtexplorer打开并修改相应的区块内容,但是极为不便。建议使用mcedit等工具来编辑。
versions/版本号/saves/level.dat 世界信息,包含了种子、生成类型、难度、出生点、世界边界、游戏规则等内容。
versions/版本号/saves/generated 手动保存的结构。保存后将其移动至数据包内方可使用。

                               
登录/注册后可看大图


评分

参与人数 35人气 +57 金粒 +468 贡献 +5 收起 理由
ERBem + 20 神乎其技,不服不行!
1311273319 + 1 + 20 大佬递茶
我叫坂本 + 2 rua!rua!rua!rua!rua!rua!rua!rua!rua!rua!
Interesting. + 1 MCBBS有你更精彩~
SorrowRain + 1 + 15 rua tql
Tollainmear + 2 MCBBS有你更精彩~
Argon_gas + 1 + 15 MCBBS有你更精彩~
X无法加载X + 15 神乎其技,不服不行!
黑衣射手 + 10 神乎其技,不服不行!
13837660474 + 1 神乎其技,不服不行!
猜猜谁是谁 + 4 + 25 MCBBS有你更精彩~
清晨w + 1 + 20 神乎其技,不服不行!
MsYqgzt + 4 + 50 MCBBS有你更精彩~
AZWorld + 1 很棒的作品!
我的锅 + 1 神乎其技,不服不行!
1649464093 + 1 MCBBS有你更精彩~
小超酱 + 1 + 15 哇好厉害!赶紧学习学习
wangtianen + 2 + 33 MCBBS有你更精彩~
大坑比124 + 1 MCBBS有你更精彩~
璀璨LJT + 15 没设为最佳答案,所以来评个分.

查看全部评分

发表于 2018-2-26 14:26:01 | 显示全部楼层
可以理解为这是要给“原版模组”下定义了吗

点评

并不是啊,侧重点是开发的一些思路而已  详情 回复 发表于 2018-2-26 15:44
回复

使用道具 举报

发表于 2018-2-26 15:31:22 | 显示全部楼层
看起来好难,有没有动动鼠标就能制作的软件

点评

同问....  详情 回复 发表于 2018-8-26 14:04
回复

使用道具 举报

 楼主| 发表于 2018-2-26 15:44:07 | 显示全部楼层
562256851 发表于 2018-2-26 14:26
可以理解为这是要给“原版模组”下定义了吗

并不是啊,侧重点是开发的一些思路而已

点评

7_a
这篇文章我认为部分地方还存在一些问题 关于数据包的mcmeta: 数据包的"description"也是可以显示的,只要输入/datapack list然后将鼠标指针移至你的数据包上就会显示信息 数据包的"pack_format"其实没有资源包的"pac  详情 回复 发表于 2018-7-20 02:44
回复

使用道具 举报

发表于 2018-2-26 16:01:29 | 显示全部楼层
这是...没码完不小心发了出来吗
回复

使用道具 举报

发表于 2018-2-26 16:49:58 | 显示全部楼层
本帖最后由 SPGoding 于 2018-2-26 17:04 编辑

看起来目前少一个配方的教程…大概可以摸个鱼?
算了我坑太多了,谁想摸谁摸吧hh

是我瞎了,没看到目录

点评

你可以看看目录  详情 回复 发表于 2018-2-26 17:04
回复

使用道具 举报

 楼主| 发表于 2018-2-26 17:04:23 | 显示全部楼层
SPGoding 发表于 2018-2-26 16:49
看起来目前少一个配方的教程…大概可以摸个鱼?
算了我坑太多了,谁想摸谁摸吧hh

是我瞎了,没看到 ...

你可以看看目录
回复

使用道具 举报

发表于 2018-2-27 12:06:18 | 显示全部楼层
太好了我不用写合成教程了甚至可以剽窃你的教程(本来要等支持nbt的再写的)
回复

使用道具 举报

发表于 2018-7-13 15:37:05 | 显示全部楼层
其实不管怎么样都存在一些问题。
比如原版下载服务器材质包 会下载失败。

虽然都是几率,但这都是制约原版的问题
回复

使用道具 举报

发表于 2018-7-14 12:41:26 | 显示全部楼层
好康的 先码着
回复

使用道具 举报

发表于 2018-7-14 18:37:27 | 显示全部楼层
我的目标是成为18级大神。假如你每天签到拿4经验,18级300000/4=75000天, 如果从1岁开始签到,那100年=36500天,你差不多要 活200年保持每天签到(谁知道200年后还有没有签到 这玩意),如果你每天再水4经验,时间减半,但考虑 现实,你不可能再活100年,取50年吧,你就要每天水 16经验,可能你是个勤快的人,每天水32经验,那就 需要25年!!!再如果你是个大水怪,每天水64经验 ,那就只要12.5年!!!还如果你个心急的人,每天水 128经验,你只要6.25年!!!!假如你已经急不可耐 了,每天水256经验,那你碉堡了,只要3.125年!!! 当然,你会觉得3年还是太远了,每天你闲的蛋疼,忙 忙碌碌的水512经验,碉堡了,你只需要1.5625年,只 比1年半多一点!!!什么!!你还不满意,那你觉得 你可能一天水1024经验吗,可能吗!!可能吗!!!据 说回复100字或者一百字以上可以得到11~30经验,那么,按照队形,点击复制吧!!! ... ... ... ... ... . ... ... .. ... ... ... ... ... ...

评分

参与人数 1人气 -1 金粒 -10 收起 理由
玄素 -1 -10 无意义

查看全部评分

回复

使用道具 举报

发表于 2018-7-15 10:24:24 | 显示全部楼层
神乎其技,不服不行!

评分

参与人数 1人气 -1 金粒 -10 收起 理由
玄素 -1 -10 无意义

查看全部评分

回复

使用道具 举报

发表于 2018-7-15 12:49:50 | 显示全部楼层
一个小bug
freshcoal

大概是没有加https://前缀
回复

使用道具 举报

 楼主| 发表于 2018-7-15 13:40:30 | 显示全部楼层
已更新 @乙烯_中国
回复

使用道具 举报

发表于 2018-7-16 06:55:50 | 显示全部楼层
吧啦吧啦吧啦吧啦

评分

参与人数 1人气 -1 金粒 -10 收起 理由
玄素 -1 -10 无意义

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 手机版本

GMT+8, 2018-10-17 07:24 , Processed in 0.183637 second(s), 15 queries , Memcache On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标。本站与Mojang以及微软公司没有从属关系。

© 2010-2017 我的世界中文论坛 版权所有。本站原创图文内容版权属于原创作者,未经许可不得转载。

快速回复 返回顶部 返回列表