- 查看: 855
- 回复: 1
欢迎回到鲨鱼的Minecraft数据包制作教程
作者QQ:2103703329本期我们来介绍函数与战利品表
函数
主条目: 函数函数是一系列顺次执行的命令。
并不是像sin,cos,三角函数那样复杂的东西
你可以把它理解成一个移动的命令方块,你只
要输入指令调用一个函数:mod\u id:function\u name
也相当于脉冲模式
在命名空间文件夹中新建functions 文件夹以创建一个新的函数。然后,在functions(或其子文件夹)中新建函数文件,编写完后保存时输入名字:函数名.mcfunction。在游戏中,函数以命名空间ID的格式引用。
战利品表
主条目: 战利品表
当一个生物死亡时,Minecraft 根据战利品表决定其掉落物。当首次开启自然生成的容器(例如箱子)时,Minecraft 也根据战利品表生成其中的战利品。
在命名空间文件夹中新建loot_tables文件夹以创建一个新的战利品表。然后,在loot_tables(或其子文件夹)中新建战利品表文件战利品表名.json。在游戏中,战利品表以命名空间ID的格式引用。
作为参考,这里给出牛的战利品表的一个样例,它可以作为一个参考:
//后面的是注释
1 {
2 "pools": [{//新的表池
3 "rolls": 1,//新的一个项
4 "entries": [{//项的内容
5 "type": "item",//标签,方块为block
6 "name": "minecraft:leather",//物品
7 "weight": 1,
8 "functions": [{
9 "function": "set_count",
10 "count": {
11 "min": 0,//最小数量
12 "max": 2//最大数量
13 }
14 }, {
15 "function": "looting_enchant",//生成权重
16 "count": {
17 "min": 0,
18 "max": 1
19 }
20 }]
21 }]
22 }, {
23 "rolls": 1,
24 "entries": [{
25 "type": "item",
26 "name": "minecraft:beef",
27 "weight": 1,
28 "functions": [{
29 "function": "set_count",
30 "count": {
31 "min": 1,
32 "max": 3
33 }
34 }, {
35 "function": "furnace_smelt",
36 "conditions": [{
37 "condition": "entity_properties",
38 "entity": "this",
39 "properties": {
40 "on_fire": true
41 }
42 }]
43 }, {
44 "function": "looting_enchant",
45 "count": {
46 "min": 0,
47 "max": 1
48 }
49 }]
50 }]
51 }]
52 }
Minecraft将会再两个表池中随机挑选,所以牛的掉落物又是是皮革和牛肉,有时是牛肉