本帖最后由 贰逼 于 2016-8-12 16:24 编辑

Loottable(可抢夺物品列表)是1.9+中的一个新特性,主要靠调用外置json文件实现对物品奖励获取的随机.
第一章内将会向各位介绍Loottable中的结构和标签

Chm版本:http://pan.baidu.com/s/1c1U4804 (若.chm遇到问题下载压缩文件)
全部章节总索引





Loottable 一个可抢夺物品列表

一个可抢夺物品列表(复合):即loottable
    ┕ Pools(列表):所有随机池,规定了全部随机的项目

一个可抢夺物品随机列表只能包含一个Pools.
而一个可抢夺物品列表即loottable的文件(json文件).

Pools 随机池列表

Pools(列表) :所有随机池,规定了全部随机的项目
    ┕ A Pool(复合):一个随机池
        ┕ conditions(列表):条件列表
        ┕ rolls(整型):roll项目列表的次数
        ┕ rolls(复合):roll项目列表的最大次数和最小次数
            └ min(整型):roll项目列表的最小次数
            └ max(整型):roll项目列表的最大次数
        ┕ bonus_rolls(浮点):每点幸运值增加roll的次数,向下取整数
        ┕ bonus_rolls(复合):每点幸运值增加最大和最小roll的次数,向下取整数
            └ min(浮点):每点幸运值增加最小roll的次数
            └ max(浮点):每点幸运值增加最大roll的次数
        ┕ Entries(列表):项目列表
Pools父级为Loottable.
Pools是一个包含多个随机池的列表.
conditions是调用该随机池的条件.
rolls是从项目列表中随机选出一个项目的次数,默认为0.
bonus_rolls是对rolls次数的一个增值,也可为负数;如果填1.2,那么如果你幸运值为4,rolls会增加(4*1.2=4.8取整为4)4次.

Entries是该随机池中的项目列表,只能有一个.

Entries 项目列表

Entries(列表) :项目列表
    ┕ A Entry(复合):一个项目
        ┕ conditions(列表):条件列表
        ┕ type(字符串):该项目的类型.可以是loot_table、item、empty
        ┕ name(字符串):如果是loottable是其路径表达式;如果是item则是物品名
        ┕ functions(列表):功能列表
        ┕ weight(整型):该项目被选中的权重
        ┕ quality(整型):幸运值对该项目的权重增值

Entries父级为A Pool.
Entries是一个包含多个项目的列表.
conditions是调用该项目的条件.
type为项目类型.
name为项目名称.(item是物品名,例如minecraft:stone;loot_table是路径表达式,例如test:1)
weight是项目的权重.
quality是项目权重的增值,公式为(权重+权重增值*幸运值)的值向下取整.

Functions是该项目的功能,只能有一个.

Functions 功能列表
http://minecraft-zh.gamepedia.com/可抢夺物品表#.E5.8A.9F.E8.83.BD
中有解释.

而具体功能请看实例与详解.


Conditions 条件列表
http://minecraft-zh.gamepedia.com/可抢夺物品表#.E6.9D.A1.E4.BB.B6
中有解释.
而具体条件请看实例与详解.

需要注意的是:条件列表的父级不是其他列表,而是一个个体.
例如一个随机池(A Pool)、一个项目(A Entry)、一个功能(A Function)


条件列表不能被条件列表直接调用.


[groupid=546]Command Block Logic[/groupid]