跳到主要内容
OhMyMC
文章书架工具种子汉化导航
OhMyMC

用最清晰的方式,学会 Minecraft。

Copyright © 2024-2026 suixinio. All rights reserved.|京ICP备2024096958号-1

本网站与 MOJANG 或 MICROSOFT 无任何关联

首页工具战利品表生成器

战利品表生成器

设计自定义掉落:物品池、权重、附魔函数。

免费在线数据更新至 26.2

正在加载工具…

战利品表结构与函数速查

战利品表的结构

一张战利品表由若干个 pools 组成,每个池独立抽取; 池里的 entries 按权重竞争,抽中的条目再经过 functions 加工(数量、附魔、NBT)。

层级字段作用
根type战利品表类型:chest / entity / block / fishing / gift 等
根pools池列表,每个池独立抽取,互不影响
池rolls这个池抽几次,可写常数或范围
池bonus_rolls每点幸运额外增加的抽取次数
池entries候选条目
池conditions整个池生效的前提
条目typeitem / tag / loot_table / group / alternatives / empty
条目weight权重,默认 1;概率 = 本条权重 ÷ 同池权重之和
条目quality受幸运影响的权重修正
条目functions对抽中的物品做加工

常用 function

函数作用
set_count设置数量,可用 uniform / binomial 等分布
set_components设置物品组件(1.20.5+ 取代 set_nbt)
set_name设置显示名
set_lore设置描述行
enchant_randomly随机附魔
enchant_with_levels按等级附魔,等价于附魔台
set_damage设置耐久损耗比例(0.0 全新,1.0 快坏)
looting_enchant按抢夺等级追加数量
furnace_smelt被火烧死时输出熟制版本
apply_bonus按时运/精准采集调整数量
explosion_decay按爆炸威力减少掉落,方块表常用
set_potion设置药水种类
set_attributes给物品加属性修饰符

常用 condition

条件作用
random_chance固定概率
random_chance_with_enchanted_bonus受抢夺等级影响的概率(1.21 起取代 looting 版)
killed_by_player必须由玩家击杀
entity_properties对实体本身的判定(是否着火、是否是幼年等)
match_tool手持工具的判定,常用于精准采集
survives_explosion按爆炸幸存概率丢弃,几乎所有方块表都带
table_bonus按附魔等级查表得到概率
location_check按位置/生物群系判定
weather_check按天气判定,钓鱼表用来区分雷雨

放在哪、怎么用

# 数据包路径(1.21 起目录名从复数改为单数)
data/<命名空间>/loot_table/<名字>.json

# 用指令直接给玩家一份战利品
loot give @s loot minecraft:chests/simple_dungeon

# 把战利品放进一个箱子
loot insert ~ ~ ~ loot my:treasure

# 让方块被破坏时使用自定义表(先 setblock 再改 NBT)
data merge block ~ ~ ~ {LootTable:"my:treasure"}
1.21 起目录名去掉了复数。loot_tables/ → loot_table/,advancements/ → advancement/,recipes/ → recipe/。目录名写错的数据包会被静默忽略, 不报错也不生效 —— 这是最难排查的一类问题。

权重是怎么算概率的

条目权重概率
钻石11 / 11 ≈ 9.1%
铁锭44 / 11 ≈ 36.4%
煤炭66 / 11 ≈ 54.5%
合计11100%

同一个池里每抽一次只出一个条目。想让多种物品同时出现,请拆成多个 pool。

相关工具

物品指令生成器选物品、加附魔与自定义名称,生成 /give 指令。召唤指令生成器可视化配置实体 NBT,生成 /summon 指令。/tellraw 编辑器富文本消息编辑:颜色、加粗、悬浮、点击事件。标题指令生成器生成 title / subtitle / actionbar 的 /title 指令。目标选择器编辑器拼装 @a、@e 等选择器参数:距离、分数、标签、NBT。命令方块速查命令方块类型、条件、链式的完整速查与示例。

常见问题

›自定义战利品表要放在哪个文件夹?

放进数据包的 data/<命名空间>/loot_table/<表名>.json。目录名从 24w21a(1.21 开发版)起改成了单数 loot_table,1.20.6 及更早必须用复数 loot_tables,而且没有兼容回退,放错目录会被直接忽略且不报错。数据包整体放在存档的 datapacks 文件夹下,进游戏 /reload 生效,再用 /loot give @s loot <命名空间>:<表名> 验货。路径必须全小写,不能有空格和中文。

›怎么修改原版怪物的掉落物?

命名空间填 minecraft、表名填 entities/<实体id>,比如 entities/zombie,你的文件就会整张覆盖原版那张表。想在保留原版掉落的基础上加东西,需要先把原版 JSON 抄过来再追加奖池。做怪物掉落别忘了加 enchanted_count_increase 函数(1.21 之前叫 looting_enchant),否则抢夺附魔对你新加的掉落完全无效。

›战利品表的权重和抽取次数怎么算概率?

每一次抽取都从同一个奖池里按权重随机挑 1 个条目,某条目的概率等于它的权重除以该奖池所有条目权重之和。想做「30% 概率掉钻石」,标准写法是加一个空条目吃掉剩余权重,比如钻石权重 3、空条目权重 7。抽取次数决定抽几轮,不同奖池之间互相独立、各自结算,所以多个奖池是叠加而不是竞争。