Skip to content

物品功能函数 ​

本页面镜像自
BedrockWiki

根据原始项目协议授权。本文经过AI翻译处理,如有内容遗漏,可以提交PR进行补充。

物品功能函数用于修改战利品表和交易表中物品的属性。

TODO 附魔前缀是否可以使用minecraft:/whatever格式?

功能函数说明 ​

以下测试仅在交易表中进行 仅适用于战利品表和交易表 是以function和其他属性构成的对象... 均不支持Molang表达式 Java版特有的附加函数或属性均无效 所有函数名前都可以添加任意文本前缀和冒号,例如minecraft:exploration_map或d1245436576u:fio2ejfoijfiowejf::::::exploration_map

通用功能 ​

以下基础功能适用于所有物品。

函数名容器战利品方块掉落钓鱼实体掉落实体装备交易表
set_count✅✅✅✅✅❌
set_name✅✅✅✅✅✅
set_lore✅✅✅✅✅✅
set_data✅✅✅✅✅✅
random_block_state✅✅✅✅✅✅
random_aux_value✅✅✅✅✅✅
set_damage✅✅✅✅✅✅

数量设置 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表❌

注意

交易表使用"quantity"属性来设置物品数量。

set_count函数用于设置物品数量。

json
{
	"function": "set_count",
	
	"count": {
		"min": 2,
		"max": 4
	}
}

"count"属性决定物品的产出数量,可以是整数或范围对象。设置的数量可以超过物品的堆叠上限,此时在容器中会占用多个槽位,掉落在地面时会分成多个物品堆。该属性默认值为0,因此必须显式设置。

名称设置 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表✅

set_name函数用于设置物品名称。名称会显示在物品悬停提示中,玩家可以使用铁砧修改。

json
{
	"function": "set_name",
	
	"name": "诅咒之弓"
}

"name"属性设置物品名称。默认显示为斜体,但支持格式代码,可以在开头添加§r重置为非斜体。不支持原始文本,可使用\n换行。

描述文本 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表✅

set_lore函数设置物品的描述文本。

json
{
	"function": "set_lore",
	
	"lore": [
		"第一行描述",
		"第二行描述"
	]
}

"lore"属性可以是字符串或字符串数组。每行支持格式代码但不支持本地化,每行的格式上下文独立。默认显示紫色斜体,可用§r重置。\n可在单行内换行并保持格式。

数据值设置 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表✅

set_data设置物品的数据值,类似于/give命令的参数。对方块设置其数据值,对物品设置辅助值。注意不能设置物品耐久度,需使用durability。

json
{
	"function": "set_data",
	
	"data": 2
}

"data"属性可以是整数或范围对象,默认0。

整数形式:

json
"data": 1

范围对象形式:

json
"data": {
	"min": 0,
	"max": 5
}

方块状态 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表✅

random_block_state设置方块的单个状态值。

json
{
	"function": "random_block_state",
	
	"block_state": "wiki:color",
	"values": 3
}

设置方块的某个状态值 block_state 必需,方块状态名称字符串 values 可以是数字或min/max对象 默认为0... 否则无意义?

辅助值 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表✅

random_aux_value

json
{
	"function": "random_aux_value",
	
	"values": {
		"min": 2,
		"max": 4
	}
}

设置物品的辅助值 values 可以是整数或min/max对象 随机均匀选择 仅影响辅助值(如羊毛颜色而非工具耐久) 会覆盖标识符中的:suffix值(如minecraft:wool:10) 同样适用于方块数据

耐久度 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表✅

set_damage设置物品耐久度。

json
{
	"function": "set_damage",
	
	"damage": {
		"min": 0.5,
		"max": 1
	}
}

"damage"属性可以是数字或范围对象,值域0到1,0表示完全损坏,1表示全新。

物品专属功能 ​

以下功能仅适用于特定物品。

函数名容器战利品方块掉落钓鱼实体掉落实体装备交易表
furnace_smelt❌❌❌✅❌❌
set_book_contents✅✅✅✅✅✅
exploration_map✅✅✅✅✅⚠️
set_banner_details✅✅✅✅✅✅
random_dye✅✅✅✅✅✅
set_actor_id✅✅✅✅✅✅
fill_container✅✅✅✅✅✅

熔炼物品 ​

使用场景是否可用
容器战利品❌
方块掉落❌
钓鱼❌
实体掉落✅
实体装备❌
交易表❌

furnace_smelt

json
{
	"function": "furnace_smelt"
}

暗示实体必须在死亡时处于燃烧状态 即使移除条件检查,仍需要实体着火死亡才能触发

书册内容 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表✅

set_book_contents

json
{
	"function": "set_book_contents",
	
	"title": "书名",
	"author": "作者",
	
	"pages": [
		"第一页内容",
		"第二页内容"
	]
}

仅适用于writable_book和written_book author 作者名字符串 title 书名字符串 pages 字符串数组,每元素一页 最多50页,每页798字符 总字符限制12,800 使用\n换行(非\\n) 不支持制表符 支持颜色代码,每页格式独立

探险地图 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表✅

exploration_map

json
{
	"function": "exploration_map",
	
	"destination": "village"
}

交易表信息: destination 目前仅支持monument和mansion 其他类型(如沉船宝藏)会显示为"未知地图"

战利品表信息: 支持所有/locate定位点 需在对应维度 海底神殿和林地府邸会显示正确图标和名称 无效目标仍会显示基础地图轮廓 适用于所有获取方式

旗帜类型 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表✅

set_banner_details

json
{
	"function": "set_banner_details"
}

仅适用于banner type 只能是0或1 0为白色旗帜 1为灾厄旗帜

随机染色 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表✅

random_dye

json
{
	"function": "random_dye"
}

随机染色皮革装备或马铠 不适用于羊毛等方块

刷怪蛋 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表✅

set_actor_id

json
{
	"function": "set_actor_id"
}

适用于刷怪蛋 id 生物标识符 交易表中默认为交易者实体类型

容器内容 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表✅

fill_container

json
{
	"function": "fill_container"
}

设置容器方块内容 loot_table 从行为包根目录开始的战利品表路径 必需,否则显示普通物品 不能指向当前战利品表 适用于所有获取方式

附魔功能 ​

函数名容器战利品方块掉落钓鱼实体掉落实体装备交易表
enchant_book_for_trading✅✅✅✅✅✅
enchant_with_levels✅✅✅✅✅✅
enchant_randomly✅✅✅✅✅✅
enchant_random_gear✅✅✅✅✅✅
specific_enchants✅✅✅✅✅✅

交易附魔书 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表✅

enchant_book_for_trading

json
{
	"function": "enchant_book_for_trading"
}

详见交易表文档

等级附魔 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表✅

enchant_with_levels使用附魔台逻辑附魔物品,可选是否允许宝藏附魔。

json
{
	"function": "enchant_with_levels",
	
	"levels": {
		"min": 15,
		"max": 21
	},
	"treasure": true
}

类似附魔台机制但不限于30级 99999级会产生包含几乎所有附魔的超强书 treasure 布尔值,默认false 开启宝藏附魔和诅咒附魔可能 levels 数字或min/max对象 默认0 负值视为0

随机附魔 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表✅

enchant_randomly

json
{
	"function": "enchant_randomly"
}

随机选择附魔类型和等级 treasure 布尔值,默认false 开启宝藏附魔可能

装备附魔 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表✅

enchant_random_gear

json
{
	"function": "enchant_random_gear"
}

类似enchant_randomly但不含宝藏附魔 适用于胡萝卜钓竿等非常规装备 chance 0到1的数字 默认0 决定是否附魔的概率

指定附魔 ​

使用场景是否可用
容器战利品✅
方块掉落✅
钓鱼✅
实体掉落✅
实体装备✅
交易表✅

specific_enchants

json
{
	"function": "specific_enchants"
}

应用特定附魔组合 enchants 字符串数组或对象 字符串为附魔ID 对象格式: id 附魔标识符 level 可选,默认1 可以是数字或[min,max]数组

外部因素 ​

函数名容器战利品方块掉落钓鱼实体掉落实体装备交易表
looting_enchant❌❌❌✅❌❌
explosion_decay❌✅❌❌❌❌
set_data_from_color_index❌❌❌❌❌✅
trader_material_type❌❌❌❌❌✅

抢夺附魔 ​

使用场景是否可用
容器战利品❌
方块掉落❌
钓鱼❌
实体掉落✅
实体装备❌
交易表❌

looting_enchant

json
{
	"function": "looting_enchant",
	
	"count": {
		"min": 0,
		"max": 1
	}
}

count可以是整数或min/max

爆炸衰减 ​

使用场景是否可用
容器战利品❌
方块掉落✅
钓鱼❌
实体掉落❌
实体装备❌
交易表❌

explosion_decay

json
{
	"function": "explosion_decay"
}

默认总能存活。在爆炸中时,根据爆炸威力有概率不掉落

实体颜色 ​

使用场景是否可用
容器战利品❌
方块掉落❌
钓鱼❌
实体掉落❌
实体装备❌
交易表✅

set_data_from_color_index

json
{
	"function": "set_data_from_color_index"
}

将方块数据值设置为实体minecraft:color组件的值

交易者材料类型 ​

使用场景是否可用
容器战利品❌
方块掉落❌
钓鱼❌
实体掉落❌
实体装备❌
交易表✅

trader_material_type

json
{
	"function": "trader_material_type"
}

仅限交易使用?可能也适用于某些战利品