战利品表 ​本页面镜像自 BedrockWiki根据原始项目协议授权。本文经过AI翻译处理,如有内容遗漏,可以提交PR进行补充。

WARNING

本文档仍在完善中。

战利品表用于从预定义集合中选择一组物品。战利品表可通过以下方式调用:

/loot 命令容器内容物方块掉落钓鱼生物掉落生成生物的装备其他各类生物行为每次调用同一战利品表时,基于外部条件和内在随机性可能会选择不同的物品组合。这种变化性对于游戏可玩性和冒险体验至关重要,特别是在RPG元素更重的系统中。

集成方式 ​战利品表并非注册的附加包条目,而是通过路径引用。虽然可以放置在行为包任意位置,但建议遵循原版规范将其置于顶级loot_tables目录下。

📁BP📁loot_tables📁blocks📝cypress_door.json结构 ​战利品表由包含必需属性"pools"数组的JSON对象表示。

根结构基础池示例artifacts.json/pools/0jsonjsonjson分层池示例jsonjson{

"pools": [

]

}战利品表的调用结果将是所有池(pool)产出的总和。

池(Pools) ​池是独立的物品选择单元,不同池之间的结果互不影响。

基础池示例artifacts.json/pools/0jsonjsonjson分层池示例jsonjson{

"rolls": 1,

"entries": [

{

"type": "item",

"name": "wiki:silver"

}

]

}存在两种池类型:通用型加权随机池和分层池,后者传统上用于生物装备选择。

加权随机池 ​传统加权随机池根据相对权重选择物品,通过配置的roll次数决定产出数量。

artifacts.json/pools/0jsonjsonjson分层池示例jsonjson{

"rolls": {

"min": 2,

"max": 4

},

"entries": [

{

"type": "item",

"name": "minecraft:golden_apple",

"weight": 20

},

{

"type": "item",

"name": "minecraft:appleEnchanted",

"weight": 1

},

{

"type": "item",

"name": "minecraft:name_tag",

"weight": 30

}

]

}抽取次数(Rolls) ​附加抽取(Bonus Rolls) ​可通过可选属性"bonus_rolls"基于玩家幸运值调整抽取次数。

json// 示例待补充条目权重 ​权重值决定条目被选中的概率。权重相对于其他条目越高,选中几率越大。

json"weight": 3质量(Quality) ​通过quality属性可根据玩家幸运值调整条目权重。

json"quality": 2当前仅在使用附有"海之眷顾"附魔的钓鱼竿时生效。

分层池 ​分层池用于从集合中精确选择一个条目。

分层池示例jsonjson{

"tiers": {

"initial_range": 2,

"bonus_rolls": 3,

"bonus_chance": 0.095

},

"entries": [

{

"type": "loot_table",

"name": "loot_tables/entities/armor_set_leather.json"

},

{

"type": "loot_table",

"name": "loot_tables/entities/armor_set_gold.json"

},

{

"type": "loot_table",

"name": "loot_tables/entities/armor_set_chain.json"

},

{

"type": "loot_table",

"name": "loot_tables/entities/armor_set_iron.json"

},

{

"type": "loot_table",

"name": "loot_tables/entities/armor_set_diamond.json"

}

]

}当包含"tiers"对象属性时即构成分层池:

json"tiers": {

"initial_range": 2,

"bonus_rolls": 3,

"bonus_chance": 0.095

}分层池中的条目具有顺序性。选择过程分为两个阶段:

初始索引:在1到"initial_range"间随机选取整数附加尝试:进行"bonus_rolls"次成功率"bonus_chance"的检定,每次成功索引+1最终索引对应条目将被选中(索引从1开始)。若索引超出条目总数则不产出。

WARNING

分层池中条目的条件将被忽略,但池级别的条件仍然有效。

条目(Entries) ​条目是池中的可选项,包含三种类型。

json// 示例待补充物品条目 ​基础条目类型,用于选择具体物品。

json// 示例待补充战利品表条目 ​支持嵌套调用其他战利品表。

json// 示例待补充空条目 ​选中时不产生任何物品。

json"type": "empty",

"weight": 4空条目的作用可通过0次抽取、随机条件或数量函数实现,主要优势在于提升加权随机池的可读性。

函数(Functions) ​函数赋予战利品表强大功能,可实现:

调整物品数量添加附魔(包括不可附魔物品)修改物品名称和描述编写书籍内容详见物品函数文档。

artifacts.json/pools/entriesartifacts.json/pools/entriesjson{

"type": "item",

"name": "minecraft:dirt",

"weight": 10,

"functions": [

{

"function": "set_count",

"count": {

"min": 16,

"max": 64

}

},

{

"function": "set_name",

"name": "Pile of dirt"

}

]

}条件(Conditions) ​条件用于检测特定标准是否满足,例如:

僵尸是否被玩家击杀武器是否附有抢夺附魔及其等级artifacts.json/pools/entriesjson{

"conditions": [

{

"condition": "killed_by_player"

},

{

"condition": "random_chance_with_looting",

"chance": 0.025,

"looting_multiplier": 0.01

}

],

"rolls": 1,

"entries": [

{

"type": "item",

"name": "minecraft:iron_ingot",

"weight": 1

},

{

"type": "item",

"name": "minecraft:carrot",

"weight": 1

},

{

"type": "item",

"name": "minecraft:potato",

"weight": 1

}

]

}覆盖规则 ​