Skip to content

物品功能函数

本页面镜像自
BedrockWiki

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

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

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

功能函数说明

以下测试仅在交易表中进行 仅适用于战利品表和交易表 是以function和其他属性构成的对象... 均不支持Molang表达式 Java版特有的附加函数或属性均无效 所有函数名前都可以添加任意文本前缀和冒号,例如minecraft:exploration_mapd1245436576u: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"属性可以是数字或范围对象,值域010表示完全损坏,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_bookwritten_book author 作者名字符串 title 书名字符串 pages 字符串数组,每元素一页 最多50页,每页798字符 总字符限制12,800 使用\n换行(非\\n) 不支持制表符 支持颜色代码,每页格式独立

探险地图

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

exploration_map

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

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

战利品表信息: 支持所有/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"
}

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