18 KiB
title, category, nav_order, tags, mentions, toc_max_level
| title | category | nav_order | tags | mentions | toc_max_level | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| 物品功能函数 | 文档 | 4 |
|
|
1 |
物品功能函数
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 |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
数量设置
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ❌ |
::: tip 注意
交易表使用"quantity"属性来设置物品数量。
:::
set_count函数用于设置物品数量。
::: code-group
{
"function": "set_count",
"count": {
"min": 2,
"max": 4
}
}
:::
"count"属性决定物品的产出数量,可以是整数或范围对象。设置的数量可以超过物品的堆叠上限,此时在容器中会占用多个槽位,掉落在地面时会分成多个物品堆。该属性默认值为0,因此必须显式设置。
名称设置
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ✅ |
set_name函数用于设置物品名称。名称会显示在物品悬停提示中,玩家可以使用铁砧修改。
::: code-group
{
"function": "set_name",
"name": "诅咒之弓"
}
:::
"name"属性设置物品名称。默认显示为斜体,但支持格式代码,可以在开头添加§r重置为非斜体。不支持原始文本,可使用\n换行。
描述文本
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ✅ |
set_lore函数设置物品的描述文本。
::: code-group
{
"function": "set_lore",
"lore": [
"第一行描述",
"第二行描述"
]
}
:::
"lore"属性可以是字符串或字符串数组。每行支持格式代码但不支持本地化,每行的格式上下文独立。默认显示紫色斜体,可用§r重置。\n可在单行内换行并保持格式。
数据值设置
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ✅ |
set_data设置物品的数据值,类似于/give命令的参数。对方块设置其数据值,对物品设置辅助值。注意不能设置物品耐久度,需使用durability。
::: code-group
{
"function": "set_data",
"data": 2
}
:::
"data"属性可以是整数或范围对象,默认0。
整数形式:
"data": 1
范围对象形式:
"data": {
"min": 0,
"max": 5
}
方块状态
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ✅ |
random_block_state设置方块的单个状态值。
::: code-group
{
"function": "random_block_state",
"block_state": "wiki:color",
"values": 3
}
:::
设置方块的某个状态值 block_state 必需,方块状态名称字符串 values 可以是数字或min/max对象 默认为0... 否则无意义?
辅助值
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ✅ |
random_aux_value
::: code-group
{
"function": "random_aux_value",
"values": {
"min": 2,
"max": 4
}
}
:::
设置物品的辅助值
values
可以是整数或min/max对象
随机均匀选择
仅影响辅助值(如羊毛颜色而非工具耐久)
会覆盖标识符中的:suffix值(如minecraft:wool:10)
同样适用于方块数据
耐久度
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ✅ |
set_damage设置物品耐久度。
::: code-group
{
"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
::: code-group
{
"function": "furnace_smelt"
}
:::
暗示实体必须在死亡时处于燃烧状态 即使移除条件检查,仍需要实体着火死亡才能触发
书册内容
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ✅ |
set_book_contents
::: code-group
{
"function": "set_book_contents",
"title": "书名",
"author": "作者",
"pages": [
"第一页内容",
"第二页内容"
]
}
:::
仅适用于writable_book和written_book
author
作者名字符串
title
书名字符串
pages
字符串数组,每元素一页
最多50页,每页798字符
总字符限制12,800
使用\n换行(非\\n)
不支持制表符
支持颜色代码,每页格式独立
探险地图
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ✅ |
exploration_map
::: code-group
{
"function": "exploration_map",
"destination": "village"
}
:::
交易表信息:
destination
目前仅支持monument和mansion
其他类型(如沉船宝藏)会显示为"未知地图"
战利品表信息: 支持所有/locate定位点 需在对应维度 海底神殿和林地府邸会显示正确图标和名称 无效目标仍会显示基础地图轮廓 适用于所有获取方式
旗帜类型
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ✅ |
set_banner_details
::: code-group
{
"function": "set_banner_details"
}
:::
仅适用于banner
type
只能是0或1
0为白色旗帜
1为灾厄旗帜
随机染色
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ✅ |
random_dye
::: code-group
{
"function": "random_dye"
}
:::
随机染色皮革装备或马铠 不适用于羊毛等方块
刷怪蛋
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ✅ |
set_actor_id
::: code-group
{
"function": "set_actor_id"
}
:::
适用于刷怪蛋 id 生物标识符 交易表中默认为交易者实体类型
容器内容
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ✅ |
fill_container
::: code-group
{
"function": "fill_container"
}
:::
设置容器方块内容 loot_table 从行为包根目录开始的战利品表路径 必需,否则显示普通物品 不能指向当前战利品表 适用于所有获取方式
附魔功能
| 函数名 | 容器战利品 | 方块掉落 | 钓鱼 | 实体掉落 | 实体装备 | 交易表 |
|---|---|---|---|---|---|---|
enchant_book_for_trading |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
enchant_with_levels |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
enchant_randomly |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
enchant_random_gear |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
specific_enchants |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
交易附魔书
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ✅ |
enchant_book_for_trading
::: code-group
{
"function": "enchant_book_for_trading"
}
:::
详见交易表文档
等级附魔
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ✅ |
enchant_with_levels使用附魔台逻辑附魔物品,可选是否允许宝藏附魔。
::: code-group
{
"function": "enchant_with_levels",
"levels": {
"min": 15,
"max": 21
},
"treasure": true
}
:::
类似附魔台机制但不限于30级 99999级会产生包含几乎所有附魔的超强书 treasure 布尔值,默认false 开启宝藏附魔和诅咒附魔可能 levels 数字或min/max对象 默认0 负值视为0
随机附魔
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ✅ |
enchant_randomly
::: code-group
{
"function": "enchant_randomly"
}
:::
随机选择附魔类型和等级 treasure 布尔值,默认false 开启宝藏附魔可能
装备附魔
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ✅ |
enchant_random_gear
::: code-group
{
"function": "enchant_random_gear"
}
:::
类似enchant_randomly但不含宝藏附魔 适用于胡萝卜钓竿等非常规装备 chance 0到1的数字 默认0 决定是否附魔的概率
指定附魔
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ✅ |
| 方块掉落 | ✅ |
| 钓鱼 | ✅ |
| 实体掉落 | ✅ |
| 实体装备 | ✅ |
| 交易表 | ✅ |
specific_enchants
::: code-group
{
"function": "specific_enchants"
}
:::
应用特定附魔组合 enchants 字符串数组或对象 字符串为附魔ID 对象格式: id 附魔标识符 level 可选,默认1 可以是数字或[min,max]数组
外部因素
| 函数名 | 容器战利品 | 方块掉落 | 钓鱼 | 实体掉落 | 实体装备 | 交易表 |
|---|---|---|---|---|---|---|
looting_enchant |
❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
explosion_decay |
❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
set_data_from_color_index |
❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
trader_material_type |
❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
抢夺附魔
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ❌ |
| 方块掉落 | ❌ |
| 钓鱼 | ❌ |
| 实体掉落 | ✅ |
| 实体装备 | ❌ |
| 交易表 | ❌ |
looting_enchant
::: code-group
{
"function": "looting_enchant",
"count": {
"min": 0,
"max": 1
}
}
:::
count可以是整数或min/max
爆炸衰减
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ❌ |
| 方块掉落 | ✅ |
| 钓鱼 | ❌ |
| 实体掉落 | ❌ |
| 实体装备 | ❌ |
| 交易表 | ❌ |
explosion_decay
::: code-group
{
"function": "explosion_decay"
}
:::
默认总能存活。在爆炸中时,根据爆炸威力有概率不掉落
实体颜色
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ❌ |
| 方块掉落 | ❌ |
| 钓鱼 | ❌ |
| 实体掉落 | ❌ |
| 实体装备 | ❌ |
| 交易表 | ✅ |
set_data_from_color_index
::: code-group
{
"function": "set_data_from_color_index"
}
:::
将方块数据值设置为实体minecraft:color组件的值
交易者材料类型
| 使用场景 | 是否可用 |
|---|---|
| 容器战利品 | ❌ |
| 方块掉落 | ❌ |
| 钓鱼 | ❌ |
| 实体掉落 | ❌ |
| 实体装备 | ❌ |
| 交易表 | ✅ |
trader_material_type
::: code-group
{
"function": "trader_material_type"
}
:::
仅限交易使用?可能也适用于某些战利品