当前位置:网站首页 > Java教程 > 正文

mcbbs教程java



懒得看字的请看B站视频教程

本教程遵循 CC: BY-NC 创作共用许可:

您(用户)可以复制、发行、展览、表演、放映、广播或通过信息网络传播本作品;

您必须按照作者或者许可人指定的方式对作品进行署名。

介绍

众所周知,MC在1.13中加入了数据包功能。

数据包允许玩家添加及修改函数、战利品表、世界结构、进度、合成、标签、维度和谓词等Minecraft游戏内容。            ——摘自中文Minecraft Wiki。

简单来说,就是一种轻量化的模组

开发数据包有什么禁止的事项?

在制作或发布数据包时,你不应该

  • 发布Minecraft版本或修改版,使得未从Mojang购买Minecraft的玩家可以获得它;
  • 任何方式发布反编译的Minecraft源代码。

开发数据包要准备些什么?

  1. 一个Wiki
  2. 一个文件编辑器(几乎所有编辑器都可以,推荐VSC);
  3. 一个可以压缩/解压的软件(虽然你可以使用自带的文件管理器,但不建议);
  4. 思路清晰,目标明确;
  5. 问问题态度诚恳,这可以解决95%的问题;
  6. 搜索引擎比大佬在么好用多了(除非你在做一个前无古人,也有可能后无来者的小玩意)
  7. 下面的JSON小知识:

对,没错,只需要这7点,傻子非专业人员都可以制作数据包!


相关链接

很明显,如果你只看本教程的话,只能学到本教程教的内容。而看Wiki自学也是有点难度的,所以我列出一些可能对你学习数据包有帮助的链接,希望能帮到你的学习。

其他教程

本教程你教学方式可能不符合你的胃口,所以我也推荐看看其他人的教程。

  1. Datapack数据包教学笔记 我的世界教程 by 小泠君丶(停更;
  2. 我的世界数据包入门教学系列 by 创小业;
  3. Minecraft 原版模组入门教程 by ruhuasiyu。

Wiki页面

不用多说了吧。

  1. 中文 Minecraft Wiki(英文版/礦藝大典);
  2. 数据包 - Minecraft Wiki;
  3. 进度 - Minecraft Wiki;
  4. 标签 - Minecraft Wiki。

正式开发

注:为了后续开发的顺利,建议你关闭“隐藏文件扩展名”。

pack.mcmeta

打开自己存档中的“datapacks”文件夹,创建一个文件夹(名字自定,这里叫Test Datapack),在里面创建pack.mcmeta文件并写入如下内容:

pack.mcmeta,它是数据包的核心

"pack_format" 代表数据包的版本编号(你用什么版本开发就填对应的版本编号!),主流的版本编号是:

版本编号代表版本版本编号代表版本41.13–1.14.4121.19.451.15–1.16.1151.20–1.20.161.16.2–1.16.5181.20.271.17–1.17.1261.20.3–1.20.481.18–1.18.1411.20.5–1.20.691.18.2481.21–1.21.1101.19–1.19.3未来都还没出呢

"description" 是数据包的简介,可以自定义

既然你创建了pack.mcmeta,试着在游戏中测试它。打开游戏,进入包含这个数据包的世界,输入/reload,然后输入/datapack list。此时应该出现两条信息:第一条是[vanilla](原版的数据包),第二条应该是[file/Test Datapack(你的数据包的名称)]。当你将鼠标悬停在数据包名称上时,你应该会看到数据包的描述,就是你在"description"中写的东西。

data文件夹

创建一个叫data的文件夹,用来放数据包的文件。

在data里面创建一个文件夹,名字是你数据包的命名空间(就是数据包的身份证,不能和其它数据包/模组使用一个命名空间,这里用驼峰命名法命名为test_datapack)。

在数据包中,合法字符只有:0到9的10个数字、a到z的26个小写字母、下划线(_)和减号(-)(简而言之,就是ASCII所包含的大部分字符)。

以下是数据包可以包含的内容(除了其他Mod/数据包添加的特殊内容)

pack.mcmeta;

pack.png (一个正方形的图片,是数据包的图标,建议使用16x16的格式);
data:

  • test_datapack (当然,这里填你数据包的命名空间):
    • advancements;
    • functions;
    • loot_tables;
    • predicates;
    • item_modifiers;
    • structures;
    • recipes;
    • tags;
    • 其他花里胡哨的东西。

其他Mod添加的数据包自定义功能,在其他教程有出现。

命名空间与id

如果你只是开发和使用原版数据包,那么这个部分你只需简单了解。

但是如果你想开发和Mod有关的就必须了解!

(虽然并没有多少内容XD)

命名空间

命名空间是一个用于区分原版与附加内容(数据包和Mod)的小东西。

原版的命名空间是“minecraft”,数据包/模组的命名空间(也叫modid/Modid)通常是全部小写的模组名字,空格换成下划线“_”。

比如“shu_ju_bao”“mo_zu_min_zi”(请不要使用拼音,这是一件极其重要的事!!!)。


id

如果你接触过指令,id应该是你经常接触的东西了。

它用于区分物品、方块、实体等各种各样的东西(和命名空间差不多)。比如“iron_ingot”

通常搭配命名空间使用,比如“minecraft:iron_ingot”

简单来说,就是“命名空间:id”

数据包的内容

看到了吧?上面这些都是数据包可以包含的内容,不过我们先一个一个来,从最简单的配方开始。

配方

每一个配方文件都得放在 data/[命名空间]/recipes/(分类) 里面

文件的名称建议使用成品的id,简洁明了。

工作台配方

顾名思义,就是使用工作台的配方。

有序配方

无序配方

熔炼配方

使用包括熔炉、高炉、烟熏炉、其他Mod添加的熔炉(比如热力系列的通量熔炼炉)的配方。

注:所有熔炼配方都可以在"result"下方添加"experience"(经验值)和"cookingtime"(烧练时间)项,但"result"后一定要加个半角逗号“,”

熔炉配方

高炉配方

烟熏炉

篝火

其他配方

在1.14,Minecraft添加了大量的工作方块,1.16还给锻造台加上了功能,以下就是那些配方了。

锻造台配方

由于1.20添加了锻造模板,导致这种锻造台配方失效;

1.20+的版本(借用一下应用能源2的福鲁伊克斯镐配方):

切石机配方

实际上,它不仅仅是切“石”机,它可以切任何物品/方块前提是你添加了这些配方

进度

你已经稍微学会制作数据包了,那你应该会制作下面关于进度的内容!

触发器

恭喜!你应该学会使用这个自定义进度了!你可能发现了,我们可以修改它的完成方式!这需要触发器,但是触发器的内容众多,这个教程可能塞不下,所以具体内容可以在这个资料查询!

奖励

这个进度的功能包括“奖励10点经验”,我们可以修改它的奖励内容!它包括经验、函数、战利品表(本教程暂时不涉及)、配方(见配方条目)。

函数

虽然它叫“函数”,但是和那些数学里面的“函数”不同,函数只是用来执行指令的,相当于外部命令方块。

虽然它的原理简单,但是它却能干很多事情。

函数文件有个“.mcfunction”的后缀,不过它其实就是普通的文本文档(也就是说,你仍然能使用记事本开发它)

新建一个“test.mcfunction”在/data/[命名空间](我们使用前面使用到的“test_datapack”)/functions/(分类)里,打开它,在里面写入以下内容:

进入世界,输入/reload加载数据包,然后输入:

然后你就会在聊天框里面看到一句“这是一个用来测试的数据包的测试文档!”

函数就是这么简单。但是它和普通的指令不一样,类似命令方块,指令的前面要少一个“/”(比如著名模组创世神的大部分指令是两个“//”,要少一个变成“/”)。

本教程持续更新中~

版权声明


相关文章:

  • java webapp开发教程2025-01-15 19:58:01
  • java集合教程2025-01-15 19:58:01
  • 屠夫乐事java教程2025-01-15 19:58:01
  • java图形编辑教程2025-01-15 19:58:01
  • java大学实用教程pdf2025-01-15 19:58:01
  • 儿童java教程课件2025-01-15 19:58:01
  • java教程第5集2025-01-15 19:58:01
  • Java有哪些教程2025-01-15 19:58:01
  • java修改密码教程2025-01-15 19:58:01
  • java全套教程4852025-01-15 19:58:01