版本特性中有说数据可以做到添加合成表的功能 具体怎么实现没说 能不能举一个例子?
自定义合成要在数据包内完成
首先创建一个数据包
打开.minecraft/saves/(世界名称)/datapacks
新建文件夹,任意命名为数据包名称(就像资源包的名称一样),只能包含小写字母,数字,_和-
打开该文件夹创建一个记事本,命名为pack.mcmeta
注意拓展名为.mcmeta,你创建的应该是pack.mcmeta而不是pack.mcmeta.txt
用Notepad++打开pack.mcmeta,添加代码
复制代码
(description后""里是对该数据包的描述,其中的"."可以任意修改)
直接复制上面的就可以,粘贴进去后保存并关闭pack.mcmeta
在该文件夹内再创建文件夹,命名为data
打开data文件夹,在里面新建文件夹任意命名,只能包含小写字母,数字,_和-,
如果用minecraft命名的话可以覆盖原版合成,用其他的名称就是正常添加
打开这个文件夹,新建文件夹命名为recipes
打开recipes,新建个记事本改为xxxx.json,同样,注意拓展名是.json
用Notepad++打开
加入代码
以下是一个有序合成的例子,把附魔台改为一次能合成64个
data/minecraft/recipes/enchanting_table.json
复制代码
无序合成我不是太清楚
保存后打开地图就可以用了
首先创建一个数据包
打开.minecraft/saves/(世界名称)/datapacks
新建文件夹,任意命名为数据包名称(就像资源包的名称一样),只能包含小写字母,数字,_和-
打开该文件夹创建一个记事本,命名为pack.mcmeta
注意拓展名为.mcmeta,你创建的应该是pack.mcmeta而不是pack.mcmeta.txt
用Notepad++打开pack.mcmeta,添加代码
- {
- "pack": {
- "pack_format": 3,
- "description": "."
- }
- }
(description后""里是对该数据包的描述,其中的"."可以任意修改)
直接复制上面的就可以,粘贴进去后保存并关闭pack.mcmeta
在该文件夹内再创建文件夹,命名为data
打开data文件夹,在里面新建文件夹任意命名,只能包含小写字母,数字,_和-,
如果用minecraft命名的话可以覆盖原版合成,用其他的名称就是正常添加
打开这个文件夹,新建文件夹命名为recipes
打开recipes,新建个记事本改为xxxx.json,同样,注意拓展名是.json
用Notepad++打开
加入代码
以下是一个有序合成的例子,把附魔台改为一次能合成64个
data/minecraft/recipes/enchanting_table.json
- {
- "type": "crafting_shaped",
- "pattern": [
- " B ",
- "D#D",
- "###"
- ],
- "key": {
- "B": {
- "item": "minecraft:book"
- },
- "#": {
- "item": "minecraft:obsidian"
- },
- "D": {
- "item": "minecraft:diamond"
- }
- },
- "result": {
- "item": "minecraft:enchanting_table",
- "count": 64
- }
- }
无序合成我不是太清楚
保存后打开地图就可以用了
pineapple_ 发表于 2017-12-22 22:44
自定义合成要在数据包内完成
首先创建一个数据包
- {
- "type": "crafting_shapeless",
- "ingredients": [
- {
- "item": "minecraft:diamond"
- },
- {
- "item": "minecraft:nether_star"
- }
- ],
- "result": {
- "item": "minecraft:stick"
- }
- }
一个无序合成例子...
格式...ingredients(无序)和key(有序)应该不会同时存在于同一个配方下
- {
- "type": "crafting_shaped",
- "group": "identifier",
- "pattern": [
- "###",
- "###",
- "###"
- ],
- "key": {
- "#": {
- "item": "minecraft:stone",
- "data": 0,
- "count": 1
- }
- },
- "ingredients": [
- {
- "item": "minecraft:stone",
- "data": 0,
- "count": 1
- }
- ],
- "result": {
- "item": "minecraft:stone",
- "data": 0,
- "count": 1
- }
- }
group:定义合成书下的分类
有序的合成,pattern下...
"#"
这样的话,单个物品可以放在9格的任意一格
"##"
这样的话,合成的时候,你把物品放在以下等位置皆可
- □■■
- □□□
- □□□
- □□□
- ■■□
- □□□
- □□□
- □□□
- □■■
data:数据值,或伤害值
默认接受任意数据值
- "ingredients": [
- {
- "item": "minecraft:redstone"
- },
- {
- "item": "minecraft:diamond"
- },
- {
- "item": "minecraft:iron_block"
- },
- {
- "item": "minecraft:gold_block"
- },
- {
- "item": "minecraft:diamond_block"
- }
- ]
其他的看楼上...
以上...搬自skylinerw
然后是wiki...https://minecraft.gamepedia.com/Recipe
懒人生成...
http://minecraft.tools/en/custom-crafting.php#
献技skylinerw大神...
https://github.com/skylinerw/guides/blob/master/java/recipes.md
然后,这是1.12的
1.13没有data,因为ID已经可以代表各个物品了...
暂时知道的就这些...好像不能特殊nbt合成的样子...
更具体的例子,打开自己看...
17w50a.jar\data\minecraft\recipes