Minecraft(我的世界)中文论坛

 找回密码
 注册(register)
查看: 300468|回复: 2055

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

    [复制链接]
ruhuasiyu 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
16151
钻石
性别
保密
注册时间
2014-10-16
查看详细资料
发表于 2018-2-26 13:16:49 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 ruhuasiyu 于 2019-10-17 14:37 编辑

本文同步发表在 https://github.com/ruhuasiyu/VanillaModToturial

本文参考和吸取了大量其他玩家的意见、建议、教程等。

本文 §§1-4 为理论部分,§§5-13 为实践部分。阅读时请注意内容的适用版本,有任何错误和疑问请联系我,谢谢!


§1简介

原版模组(vanilla mod)一般指在不修改Minecraft游戏本体的前提下,通过命令方块、一键命令(OOC)、数据包(datapack)、资源包(resourcepack)等方式对游戏的可玩性做出修改。而自Minecraft Java版1.13起的数据包概念问世之后,原版模组的制作已变得十分便捷。然而纵观论坛,原版模组仍然不够繁荣。因此我将为首次接触此概念的玩家做一个简单的入门,以期抛砖引玉。

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

本文适用 Minecraft Java 版 1.13 及更高版本。系统环境为 Windows10,其它环境下有较小的差异。

§1.1 新人指引

本文并非命令的入门教程,不会对命令部分做过多的详解。若你对命令尚不了解,可先依次通过如下链接学习并了解:


可先熟悉各项命令后,再学习记分板和nbt相关命令。实体和方块nbt亦可通过在游戏中使用data get entity/block命令来获取,以避免记忆大量的nbt。

若你已对1.12或以下的命令较为熟悉,可直接查看


了解命令改动之处。

§1.2 工具准备

文本编辑器

我们所涉及的所有文本文件,包括函数文件(.mcfunction)、JSON文件(.json, .mcmeta),均需使用 UTF-8 编码格式。以下列出的文本编辑器默认均为 UTF-8 编码,可以在编辑页面的右下角状态栏看到。

  • VS Code 下载安装后,可以安装如下插件:
    • Chinese (Simplified) Language Pack for Visual Studio Code 支持中文语言
    • datapack helper plus (JSON) 支持 JSON 语法补全,高亮等
    • language-mcfunction 支持 mcfunction 语法和高亮
    • mcfunction 支持 mcfunction 语法和高亮
  • 记事本 为 Windows 系统自带。Windows10 最新版本的记事本已经默认是 UTF-8 编码了。点击查看->状态栏可以在右下角状态栏看到,因此可以正常使用。旧版本的记事本仍然不是,请勿使用。
  • Notepad++
    可从 mcfunction 的语言样式和自动补全帖中下载相关文件并导入,另外请将 Notepad++ 中设置->首选项->其它->自动检测字符编码选项关闭。

右下角也可以看到LF或CRLF,分别表示两种换行符,二者均可正常使用,建议使用LF。

注意不要误选了 UTF-8 with BOM 格式。

压缩工具

数据包和资源包均可以为文件夹或 zip 压缩文件格式。游戏本体和模组本体的 jar 文件也需要压缩工具来打开。

  • Windows 资源管理器 Windows10 系统自带 zip 格式的压缩和解压缩。zip 格式可以直接打开,压缩则用选择->右键->发送到->压缩文件夹
  • 7-zip 免费软件。
  • winrar 付费软件。

jar 文件可以通过重命名为 zip 文件直接用 Windows 资源管理器打开。显然,这不如右键->7-zip->打开压缩包方便。

nbt工具

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

绘图工具

推荐使用 Photoshop 或其它绘图工具,而非 Windows 自带的画图,来绘制材质。

§1.3 文件类型

我们先熟悉下所涉及的文件类型,具体用途见后文。为便于查看文件后缀,请将文件->文件夹选项->查看->隐藏已知文件类型的扩展名选项去掉勾选。前三者为纯文本文件,可通过新建文本文件并修改后缀来创建。

  • .json 进度、战利品表、标签、模型、语言文件、断言、配方均为该格式。
  • .mcmeta 格式与 json 相同,仅用于记录资源包和数据包的信息(版本和描述)。
  • .mcfunction 即函数文件,每一行都是一条单独的可执行的命令。
  • .nbt .mca 使用 nbt 查看器打开,打开后为树状结构。世界生成、玩家、结构、地图等信息均为 nbt 格式,区块为 mca 格式。
  • .png 材质文件格式必须为png。
  • .zip 双击打开或右键选择使用压缩工具打开,通常是资源包和数据包。
  • .jar 右键选择使用压缩工具打开,通常是 Minecraft 或 mod 本体。下面是快照 18w31a 的游戏本体 jar 文件的文件内容。


§1.4 文件结构

打开.minecraft所在的文件夹,这通常位于你的启动器目录下。如果启动器中设置为各版本独立,则类似的文件结构位于versions/版本号下。

  • assets Minecraft 的资源文件。可在此找到所有游戏内翻译文本的键和翻译,之后便可通过加载资源包来修改。打开 indexes 中对应的 JSON 文件,查找 zh_cn 对应的 hash 值,然后在 objects 中找到相应文件,用文本编辑软件打开即可看到相应的文本。
  • resourcepacks 资源包文件夹,每个子文件夹或 zip 对应一个资源包。
  • screenshots 游戏截图。
  • logs 日志信息。可打开 latest.log 来查看加载资源包和数据包时的错误信息,包括错误的文件名称、位置、错误的行列数等,这对于我们开发原版模组是十分重要的。
  • options.txt 游戏设置,诸如音量、视距等。



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


评分

参与人数 70人气 +108 金粒 +739 贡献 +9 收起 理由
我是萌新( + 2 MCBBS有你更精彩~
Herobrane + 1 神乎其技,不服不行!
song2006 + 1 + 10 神乎其技,不服不行!
MC深坑不回头 + 1 + 5 神乎其技,不服不行!
模仿... + 1 MCBBS有你更精彩~
bai11234 + 1 + 5 神乎其技,不服不行!
SPGoding + 3 + 25 + 2 MCBBS有你更精彩~
V.M.Samlye + 1 + 1 + 1 奥利给
lijiabo + 1 + 6 MCBBS有你更精彩~
隐退 + 2 + 30 MCBBS有你更精彩~
刘力玮1573 + 1 神乎其技,不服不行!
ColorPencil + 2 MCBBS有你更精彩~
翔之韵 + 2 + 30 感谢,现在我需要虚心学习了.
second_ + 1 + 15 神乎其技,不服不行!
w5056008 + 1 + 15 神乎其技,不服不行!
酷车手BB弹 + 4 + 1 神乎其技,不服不行!
没糖的葫芦 + 3 MCBBS有你更精彩~
1163340864 + 1 厉害了
smithsam + 1 MCBBS有你更精彩~
lingxy19031 + 2 神乎其技,不服不行!

查看全部评分

BBT4136 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
1297
钻石
性别
保密
注册时间
2016-1-16
查看详细资料
发表于 4 天前 | 显示全部楼层
教程很有用
回复

使用道具 举报

lashidedongxi 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
51
钻石
性别
保密
注册时间
2014-10-5
查看详细资料
发表于 4 天前 | 显示全部楼层
膜拜大佬,真想在这里继续学习一些跟命令方块和红石有关的东西。
回复

使用道具 举报

1115340845 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
53
钻石
性别
保密
注册时间
2015-4-18
查看详细资料
发表于 2019-10-14 17:55:52 | 显示全部楼层
好难......
回复

使用道具 举报

tuanzi_hy 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
310
钻石
性别
保密
注册时间
2017-8-10
查看详细资料
发表于 2019-10-12 20:30:00 | 显示全部楼层
大佬66666

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SPGoding -1 -10 版规 2-4 无意义

查看全部评分

回复

使用道具 举报

凌空的猫 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
203
钻石
性别
保密
注册时间
2019-7-12
查看详细资料
发表于 2019-10-3 15:00:04 | 显示全部楼层
1.14+村民交易怎么搞啊QAQ指令还没试出来,您写的方法只支持1.13QAQ

评分

参与人数 1金粒 +5 收起 理由
SPGoding + 5 理论上 1.14 交易应该和 1.13 一样来着.

查看全部评分

回复

使用道具 举报

mewtu 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
36
钻石
性别
保密
注册时间
2019-9-27
查看详细资料
发表于 2019-9-27 18:47:21 | 显示全部楼层
666666666666666

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SPGoding -1 -10 版规 2-4 无意义

查看全部评分

回复

使用道具 举报

mchengxiaozi 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
303
钻石
性别
保密
注册时间
2018-11-24
查看详细资料
发表于 2019-9-24 06:20:46 来自手机 | 显示全部楼层
本帖最后由 mchengxiaozi 于 2019-9-24 06:23 编辑

66666

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SPGoding -1 -10 版规 2-4 无意义

查看全部评分

回复

使用道具 举报

mchengxiaozi 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
303
钻石
性别
保密
注册时间
2018-11-24
查看详细资料
发表于 2019-9-24 06:19:33 来自手机 | 显示全部楼层
本帖最后由 mchengxiaozi 于 2019-9-29 18:06 编辑

这个东西找好久了
回复

使用道具 举报

B站谳舒 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
53
钻石
性别
保密
注册时间
2019-8-22
查看详细资料
发表于 2019-9-21 07:11:48 | 显示全部楼层
谢谢!这个我找了好久的
回复

使用道具 举报

MC深坑不回头 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
721
钻石
性别
保密
注册时间
2013-10-15
查看详细资料
发表于 2019-9-15 22:27:11 | 显示全部楼层
真心觉得datapack真的是地图制作者的福音,一些通用按键侦测、技能、或特殊功能都能直接从A地图搬到B地图了
回复

使用道具 举报

聚变·图腾 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
108
钻石
性别
保密
注册时间
2019-6-9
查看详细资料
发表于 2019-9-15 11:27:22 | 显示全部楼层
NBNBNBNBNBNBNB

评分

参与人数 1人气 -1 金粒 -10 收起 理由
ruhuasiyu -1 -10

查看全部评分

回复

使用道具 举报

uncut 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
54
钻石
性别
保密
注册时间
2017-7-5
查看详细资料
发表于 2019-9-12 20:06:38 | 显示全部楼层
虽然没看懂。扣6就对了

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SPGoding -1 -10 版规 2-4 复制粘贴

查看全部评分

回复

使用道具 举报

DuncanLL 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
15
钻石
性别
保密
注册时间
2019-9-6
查看详细资料
发表于 2019-9-10 22:59:13 | 显示全部楼层
大佬牛逼   奥里给
回复

使用道具 举报

480533688 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
67
钻石
性别
保密
注册时间
2019-9-10
查看详细资料
发表于 2019-9-10 20:58:09 | 显示全部楼层
去试了试,不错真的按照版主说的那样,就是某些符号的复制不过来,但总的说楼主的教程很有用,我在命令方块的路上又进了一步
回复

使用道具 举报

q1371460375 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
46
钻石
性别
保密
注册时间
2018-9-1
查看详细资料
发表于 2019-9-10 15:56:57 | 显示全部楼层
很不错的教程
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2019-10-23 17:47 , Processed in 0.069203 second(s), Total 23, Slave 22 queries , Gzip On, MemCached On.

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

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

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