战利品函数(Loot Functions)
战利品函数(Loot Functions)
战利品函数用于修改战利品条目的结果,或战利品池或战利品表的多个结果。在这两种情况下,都会定义一个函数列表,并按顺序运行。在数据生成期间,可以通过调用 #apply
将战利品函数应用于 LootPoolSingletonContainer.Builder<?>
、LootPool.Builder
和 LootTable.Builder
。本文将概述可用的战利品函数。要创建自定义战利品函数,请参阅 自定义战利品函数。
注意:战利品函数不能应用于复合战利品条目(CompositeEntryBase
的子类及其关联的构建器类)。必须手动添加到每个单例条目中。
除了 minecraft:sequence
之外,所有原版战利品函数都可以在 conditions
块中指定战利品条件。如果其中一个条件失败,则不会应用该函数。在代码端,这是由 LootItemConditionalFunction
控制的,所有战利品函数(除了 SequenceFunction
)都扩展了它。
minecraft:set_item
设置结果物品堆栈中使用的不同物品。
{
"function": "minecraft:set_item",
// 要使用的物品
"item": "minecraft:dirt"
}
目前无法在数据生成期间创建此函数。
minecraft:set_count
设置结果物品堆栈中使用的物品数量。使用数字提供器。
{
"function": "minecraft:set_count",
// 要使用的数量
"count": {
"type": "minecraft:uniform",
"min": 1,
"max": 3
},
// 是否添加到现有值而不是设置它。可选,默认为 false
"add": true
}
在数据生成期间,调用 SetItemCountFunction#setCount
并传入所需的数字提供器和可选的 add
布尔值,以构建此函数的构建器。
minecraft:explosion_decay
应用爆炸衰减。物品有 1 / explosion_radius
的几率“幸存”。根据数量多次运行。需要 minecraft:explosion_radius
战利品参数,如果该参数不存在,则不进行修改。
{
"function": "minecraft:explosion_decay"
}
在数据生成期间,调用 ApplyExplosionDecay#explosionDecay
以构建此函数的构建器。
minecraft:limit_count
将物品堆栈的数量限制在给定的 IntRange
内。
{
"function": "minecraft:limit_count",
// 要使用的限制。可以具有最小值、最大值或两者。
"limit": {
"max": 32
}
}
在数据生成期间,调用 LimitCount#limitCount
并传入所需的 IntRange
,以构建此函数的构建器。
minecraft:set_custom_data
在物品堆栈上设置自定义 NBT 数据。
{
"function": "minecraft:set_custom_data",
"tag": {
"exampleproperty": 0
}
}
在数据生成期间,调用 SetCustomDataFunction#setCustomData
并传入所需的 CompoundTag
,以构建此函数的构建器。
警告:此函数通常应被视为已弃用。请改用 minecraft:set_components
。
minecraft:copy_custom_data
将自定义 NBT 数据从方块实体或实体源复制到物品堆栈。对于方块实体,不鼓励使用此函数,请改用 minecraft:copy_components
或 minecraft:set_contents
。对于实体,需要设置实体目标。需要与指定源(实体目标或方块实体)对应的战利品参数,如果该参数不存在,则不进行修改。
{
"function": "minecraft:copy_custom_data",
// 要使用的源。有效值可以是实体目标,或 "block_entity" 以使用战利品上下文的方块实体参数,或 "storage" 以使用命令存储。
// 如果为 "storage",则可以是一个 JSON 对象,额外指定要使用的命令存储路径。
"source": "this",
// 使用 "storage" 的示例
"source": {
"type": "storage",
"source": "examplepath"
},
// 复制操作
"ops": [
{
// 源和目标路径。在此示例中,我们从源中的 "src" 复制到目标中的 "dest"。
"source": "src",
"target": "dest",
// 合并策略。有效值为 "replace"、"append" 和 "merge"。
"op": "merge"
}
]
}
在数据生成期间,调用 CopyCustomDataFunction#copy
并传入所需的源和目标值以及合并策略(可选,默认为 replace
),以构建此函数的构建器。
minecraft:set_components
在物品堆栈上设置数据组件值。大多数原版用例都有专门的函数,如下所述。
{
"function": "minecraft:set_components",
// 可以使用任何组件。在此示例中,我们将物品的染色颜色设置为红色。
"components": {
"dyed_color": {
"rgb": 16711680
}
}
}
在数据生成期间,调用 SetComponentsFunction#setComponent
并传入所需的数据组件和值,以构建此函数的构建器。
minecraft:copy_components
将数据组件值从方块实体复制到物品堆栈。需要 minecraft:block_entity
战利品参数,如果该参数不存在,则不进行修改。
{
"function": "minecraft:copy_components",
// 系统设计为允许多个源,但目前仅支持方块实体。
"source": "block_entity",
// 默认情况下,复制所有组件。"exclude" 列表允许排除某些组件,"include" 列表允许显式重新包含组件。两个字段都是可选的。
"exclude": [],
"include": []
}
在数据生成期间,调用 CopyComponentsFunction#copyComponents
并传入所需的数据源(通常为 CopyComponentsFunction.Source.BLOCK_ENTITY
),以构建此函数的构建器。
minecraft:copy_state
将方块状态属性复制到物品堆栈的 block_state
数据组件中,用于尝试放置方块时。必须显式指定要复制的方块状态属性。需要 minecraft:block_state
战利品参数,如果该参数不存在,则不进行修改。
{
"function": "minecraft:copy_state",
// 预期的方块。如果与实际破坏的方块不匹配,则不运行该函数。
"block": "minecraft:oak_slab",
// 要保存的方块状态属性
"properties": {
"type": "top"
}
}
在数据生成期间,调用 CopyBlockState#copyState
并传入方块,以构建此条件的构建器。然后可以使用 #copy
在构建器上设置所需的方块状态属性值。
minecraft:set_contents
设置物品堆栈的内容。
{
"function": "minecraft:set_contents",
// 要使用的内容组件。有效值为 "container"、"bundle_contents" 和 "charged_projectiles"。
"component": "container",
// 要添加到内容中的战利品条目列表
"entries": [
{
"type": "minecraft:empty",
"weight": 3
},
{
"type": "minecraft:item",
"item": "minecraft:arrow"
}
]
}
在数据生成期间,调用 SetContainerContents#setContents
并传入所需的内容组件,以构建此函数的构建器。然后调用 #withEntry
在构建器上添加条目。
minecraft:modify_contents
对物品堆栈的内容应用函数。
{
"function": "minecraft:modify_contents",
// 要使用的内容组件。有效值为 "container"、"bundle_contents" 和 "charged_projectiles"。
"component": "container",
// 要使用的函数
"modifier": "apply_explosion_decay"
}
目前无法在数据生成期间创建此函数。
minecraft:set_loot_table
在结果物品堆栈上设置容器战利品表。用于箱子和其他在放置时保留此属性的战利品容器。
{
"function": "minecraft:set_loot_table",
// 要使用的战利品表的 ID
"name": "minecraft:entities/enderman",
// 目标方块实体的方块实体类型的 ID
"type": "minecraft:chest",
// 生成战利品表的随机种子。可选,默认为 0
"seed": 42
}
在数据生成期间,调用 SetContainerLootTable#withLootTable
并传入所需的方块实体类型、战利品表资源键和可选的种子,以构建此函数的构建器。
minecraft:set_name
为结果物品堆栈设置名称。名称可以是 Component
而不是字面字符串。它也可以从实体目标解析。如果适用,需要相应的实体战利品参数,如果该参数不存在,则不进行修改。
{
"function": "minecraft:set_name",
"name": "Funny Item",
// 要使用的实体目标
"entity": "this",
// 是设置自定义名称("custom_name")还是物品名称本身("item_name")。
// 自定义名称以斜体显示,可以在铁砧中更改,而物品名称则不能。
"target": "custom_name"
}
在数据生成期间,调用 SetNameFunction#setName
并传入所需的名称组件、名称目标和可选的实体目标,以构建此函数的构建器。
minecraft:copy_name
将实体目标或方块实体的名称复制到结果物品堆栈中。需要与指定源(实体目标或方块实体)对应的战利品参数,如果该参数不存在,则不进行修改。
{
"function": "minecraft:copy_name",
// 实体目标,或 "block_entity" 如果要复制方块实体的名称
"source": "this"
}
在数据生成期间,调用 CopyNameFunction#copyName
并传入所需的实体源,以构建此函数的构建器。
minecraft:set_lore
为结果物品堆栈设置 lore(工具提示行)。行可以是 Component
而不是字面字符串。它也可以从实体目标解析。如果适用,需要相应的实体战利品参数,如果该参数不存在,则不进行修改。
{
"function": "minecraft:set_lore",
"lore": [
"Funny Lore",
"Funny Lore 2"
],
// 使用的合并模式。有效值为:
// - "append":将条目附加到任何现有的 lore 条目。
// - "insert":在特定位置插入条目。位置由名为 "offset" 的附加字段表示。"offset" 是可选的,默认为 0。
// - "replace_all":删除所有先前的条目,然后附加条目。
// - "replace_section":删除一部分条目,然后在该位置添加条目。
// 删除的部分由 "offset" 和可选的 "size" 字段表示。
// 如果省略 "size",则使用 "lore" 中的行数。
"mode": {
"type": "insert",
"offset": 0
},
// 要使用的实体目标
"entity": "this"
}
在数据生成期间,调用 SetLoreFunction#setLore
以构建此函数的构建器。然后根据需要调用 #addLine
、#setMode
和 #setResolutionContext
。
minecraft:toggle_tooltips
启用或禁用某些组件工具提示。
{
"function": "minecraft:toggle_tooltips",
"toggles": {
// 所有值都是可选的。如果省略,这些值将使用堆栈上的预先存在的值。
// 预先存在的值通常为 true,除非它们已被另一个函数修改。
"minecraft:attribute_modifiers": false,
"minecraft:can_break": false,
"minecraft:can_place_on": false,
"minecraft:dyed_color": false,
"minecraft:enchantments": false,
"minecraft:jukebox_playable": false,
"minecraft:stored_enchantments": false,
"minecraft:trim": false,
"minecraft:unbreakable": false
}
}
目前无法在数据生成期间创建此函数。
minecraft:enchant_with_levels
使用给定的等级随机附魔物品堆栈。使用数字提供器。
{
"function": "minecraft:enchant_with_levels",
// 要使用的等级数量
"levels": {
"type": "minecraft:uniform",
"min": 10,
"max": 30
},
// 可能的附魔列表。可选,默认为物品的所有适用附魔。
"options": [
"minecraft:sharpness",
"minecraft:fire_aspect"
]
}
在数据生成期间,调用 EnchantWithLevelsFunction#enchantWithLevels
并传入所需的数字提供器,以构建此函数的构建器。然后,如果需要,使用 #fromOptions
在构建器上设置附魔列表。
minecraft:enchant_randomly
使用一个随机附魔附魔物品。
{
"function": "minecraft:enchant_randomly",
// 可能的附魔列表。可选,默认为所有附魔。
"options": [
"minecraft:sharpness",
"minecraft:fire_aspect"
],
// 是否仅允许兼容的附魔,或任何附魔。可选,默认为 true。
"only_compatible": true
}
在数据生成期间,调用 EnchantRandomlyFunction#randomEnchantment
或 EnchantRandomlyFunction#randomApplicableEnchantment
以构建此函数的构建器。然后,如果需要,调用 #withEnchantment
或 #withOneOf
。
minecraft:set_enchantments
在结果物品堆栈上设置附魔。
{
"function": "minecraft:set_enchantments",
// 附魔到数字提供器的映射
"enchantments": {
"minecraft:fire_aspect": 2,
"minecraft:sharpness": {
"type": "minecraft:uniform",
"min": 3,
"max": 5
}
},
// 是否将附魔等级添加到现有等级而不是覆盖它们。可选,默认为 false。
"add": true
}
在数据生成期间,调用 new SetEnchantmentsFunction.Builder
并传入 add
布尔值(可选),以构建此函数的构建器。然后调用 #withEnchantment
添加要设置的附魔。
minecraft:enchanted_count_increase
根据附魔值增加物品堆栈的数量。使用数字提供器。需要 minecraft:attacking_entity
战利品参数,如果该参数不存在,则不进行修改。
{
"function": "minecraft:enchanted_count_increase",
// 要使用的附魔
"enchantment": "minecraft:fortune",
// 每级增加的数量。数字提供器每函数运行一次,而不是每级运行一次。
"count": {
"type": "minecraft:uniform",
"min": 1,
"max": 3
},
// 堆栈大小限制,无论附魔等级如何,都不会超过此限制。可选。
"limit": 5
}
在数据生成期间,调用 EnchantedCountIncreaseFunction#lootingMultiplier
并传入所需的数字提供器,以构建此函数的构建器。然后可选地调用 #setLimit
。
minecraft:apply_bonus
根据附魔值和各种公式增加物品堆栈的数量。需要 minecraft:tool
战利品参数,如果该参数不存在,则不进行修改。
{
"function": "minecraft:apply_bonus",
// 要查询的附魔值
"enchantment": "minecraft:fortune",
// 要使用的公式。有效值为:
// - "minecraft:binomial_with_bonus_count":使用二项分布应用加成,n = 附魔等级 + 额外值,p = 概率。
// - "minecraft:ore_drops":使用矿石掉落的特殊公式应用加成,包括随机性。
// - "minecraft:uniform_bonus_count":根据附魔等级乘以常数乘数增加加成。
"formula": "ore_drops",
// 参数值,取决于公式。
// 如果公式为 "minecraft:binomial_with_bonus_count",则需要 "extra" 和 "probability"。
// 如果公式为 "minecraft:ore_drops",则不需要参数。
// 如果公式为 "minecraft:uniform_bonus_count",则需要 "bonusMultiplier"。
"parameters": {}
}
在数据生成期间,调用 ApplyBonusCount#addBonusBinomialDistributionCount
、ApplyBonusCount#addOreBonusCount
或 ApplyBonusCount#addUniformBonusCount
并传入附魔和其他所需参数(取决于公式),以构建此函数的构建器。
minecraft:furnace_smelt
尝试将物品熔炼为熔炉中的物品,如果无法熔炼,则返回未修改的物品堆栈。
{
"function": "minecraft:furnace_smelt"
}
在数据生成期间,调用 SmeltItemFunction#smelted
以构建此函数的构建器。
minecraft:set_damage
在结果物品堆栈上设置耐久度伤害值。使用数字提供器。
{
"function": "minecraft:set_damage",
// 要设置的伤害
"damage": {
"type": "minecraft:uniform",
"min": 10,
"max": 300
},
// 是否添加到现有伤害而不是设置它。可选,默认为 false。
"add": true
}
在数据生成期间,调用 SetItemDamageFunction#setDamage
并传入所需的数字提供器和可选的 add
布尔值,以构建此函数的构建器。
minecraft:set_attributes
在结果物品堆栈上添加属性修饰符列表。
{
"function": "minecraft:set_attributes",
// 属性修饰符列表
"modifiers": [
{
// 修饰符的资源位置 ID。应前缀为你的模组 ID。
"id": "examplemod:example_modifier",
// 修饰符所针对的属性的 ID。
"attribute": "minecraft:generic.attack_damage",
// 属性修饰符操作。
// 有效值为 "add_value"、"add_multiplied_base" 和 "add_multiplied_total"。
"operation": "add_value",
// 修饰符的数量。这也可以是数字提供器。
"amount": 5,
// 修饰符适用的槽位。有效值为 "any"(任何库存槽位)、
// "mainhand"、"offhand"、"hand"(主手/副手/双手)、
// "feet"、"legs"、"chest"、"head"、"armor"(靴子/护腿/胸甲/头盔/任何护甲槽位)
// 和 "body"(马铠和类似槽位)。
"slot": "armor"
}
],
// 是否替换现有值而不是添加到它们。可选,默认为 true。
"replace": false
}
在数据生成期间,调用 SetAttributesFunction#setAttributes
以构建此函数的构建器。然后使用 #withModifier
在构建器上添加修饰符。使用 SetAttributesFunction#modifier
获取修饰符。
minecraft:set_potion
在结果物品堆栈上设置药水。
{
"function": "minecraft:set_potion",
// 药水的 ID
"id": "minecraft:strength"
}
在数据生成期间,调用 SetPotionFunction#setPotion
并传入所需的药水,以构建此函数的构建器。
minecraft:set_stew_effect
在结果物品堆栈上设置炖煮效果列表。
{
"function": "minecraft:set_stew_effect",
// 要设置的效果
"effects": [
{
// 效果 ID
"type": "minecraft:fire_resistance",
// 效果持续时间,以刻为单位。这也可以是数字提供器。
"duration": 100
}
]
}
在数据生成期间,调用 SetStewEffectFunction#stewEffect
以构建此函数的构建器。然后调用 #withModifier
。
minecraft:set_ominous_bottle_amplifier
在结果物品堆栈上设置不祥瓶放大器。使用数字提供器。
{
"function": "minecraft:set_ominous_bottle_amplifier",
// 要使用的放大器
"amplifier": {
"type": "minecraft:uniform",
"min": 1,
"max": 3
}
}
在数据生成期间,调用 SetOminousBottleAmplifierFunction#amplifier
并传入所需的数字提供器,以构建此函数的构建器。
minecraft:exploration_map
如果且仅当物品是地图时,将结果物品堆栈转换为探索地图。需要 minecraft:origin
战利品参数,如果该参数不存在,则不进行修改。
{
"function": "minecraft:exploration_map",
// 结构标签,包含探索地图可以引导到的结构。
// 可选,默认为 "minecraft:on_treasure_maps",默认情况下仅包含埋藏的宝藏。
"destination": "minecraft:eye_of_ender_located",
// 要使用的地图装饰类型。请参阅 `MapDecorationTypes` 类以获取可用值。
// 可选,默认为 "minecraft:mansion"。
"decoration": "minecraft:target_x",
// 要使用的缩放级别。可选,默认为 2。
"zoom": 4,
// 要使用的搜索半径。可选,默认为 50。
"search_radius": 25,
// 搜索结构时是否跳过现有区块。可选,默认为 true。
"skip_existing_chunks": true
}
在数据生成期间,调用 ExplorationMapFunction#makeExplorationMap
以构建此函数的构建器。然后根据需要调用构建器上的各种设置器。
minecraft:fill_player_head
根据给定的实体目标在结果物品堆栈上设置玩家头颅所有者。需要相应的战利品参数,如果该参数不存在,则不进行修改。
{
"function": "minecraft:fill_player_head",
// 要使用的实体目标。如果未解析为玩家,则不修改堆栈。
"entity": "this_entity"
}
在数据生成期间,调用 FillPlayerHead#fillPlayerHead
并传入所需的实体目标,以构建此函数的构建器。
minecraft:set_banner_pattern
在结果物品堆栈上设置旗帜图案。这是用于旗帜,而不是旗帜图案物品。
{
"function": "minecraft:set_banner_patterns",
// 旗帜图案图层列表
"patterns": [
{
// 要使用的旗帜图案的 ID
"pattern": "minecraft:globe",
// 图层的染料颜色
"color": "light_blue"
}
],
// 是否附加到现有图层而不是替换它们
"append": true
}
在数据生成期间,调用 SetBannerPatternFunction#setBannerPattern
并传入 append
布尔值,以构建此函数的构建器。然后调用 #addPattern
添加图案。
minecraft:set_instrument
在结果物品堆栈上设置乐器标签。
{
"function": "minecraft:set_instrument",
// 要使用的乐器标签
"options": "minecraft:goat_horns"
}
在数据生成期间,调用 SetInstrumentFunction#setInstrumentOptions
并传入所需的乐器标签,以构建此函数的构建器。
minecraft:set_fireworks
{
"function": "minecraft:set_fireworks",
// 要使用的爆炸。可选,如果省略,则使用现有的数据组件值。
"explosions": [
{
// 要使用的烟花爆炸形状。有效的原版值为 "small_ball"、"large_ball"、
// "star"、"creeper" 和 "burst"。可选,默认为 "small_ball"。
"shape": "star",
// 要使用的颜色。可选,默认为空列表。
"colors": [
16711680,
65280
],
// 要使用的褪色颜色。可选,默认为空列表。
"fade_colors": [
65280,
255
],
// 爆炸是否有尾迹。可选,默认为 false。
"has_trail": true,
// 爆炸是否有闪烁效果。可选,默认为 false。
"has_twinkle": true
}
],
// 烟花的飞行持续时间。可选,如果省略,则使用现有的数据组件值。
"flight_duration": 5
}
目前无法在数据生成期间创建此函数。
minecraft:set_firework_explosion
在结果物品堆栈上设置烟花爆炸。
{
"function": "minecraft:set_firework_explosion",
// 要使用的烟花爆炸形状。有效的原版值为 "small_ball"、"large_ball"、
// "star"、"creeper" 和 "burst"。可选,默认为 "small_ball"。
"shape": "star",
// 要使用的颜色。可选,默认为空列表。
"colors": [
16711680,
65280
],
// 要使用的褪色颜色。可选,默认为空列表。
"fade_colors": [
65280,
255
],
// 爆炸是否有尾迹。可选,默认为 false。
"has_trail": true,
// 爆炸是否有闪烁效果。可选,默认为 false。
"has_twinkle": true
}
在数据生成期间,调用 SetItemCountFunction#setCount
并传入所需的数字提供器和可选的 add
布尔值,以构建此函数的构建器。
minecraft:set_book_cover
设置成书的非页面特定内容。
{
"function": "minecraft:set_book_cover",
// 书名。可选,如果省略,书名保持不变。
"title": "Hello World!",
// 书作者。可选,如果省略,书作者保持不变。
"author": "Steve",
// 书生成,即它被复制的次数。限制在 0 到 3 之间。
// 可选,如果省略,书生成保持不变。
"generation": 2
}
在数据生成期间,调用 new SetBookCoverFunction
并传入所需的参数,以构建此函数的构建器。
minecraft:set_written_book_pages
设置成书的页面。
{
"function": "minecraft:set_written_book_pages",
// 要设置的页面,作为字符串列表。
"pages": [
"Hello World!",
"Hello World on page 2!",
"Never Gonna Give You Up!"
],
// 使用的合并模式。有效值为:
// - "append":将条目附加到任何现有的 lore 条目。
// - "insert":在特定位置插入条目。位置由名为 "offset" 的附加字段表示。"offset" 是可选的,默认为 0。
// - "replace_all":删除所有先前的条目,然后附加条目。
// - "replace_section":删除一部分条目,然后在该位置添加条目。
// 删除的部分由 "offset" 和可选的 "size" 字段表示。
// 如果省略 "size",则使用 "lore" 中的行数。
"mode": {
"type": "insert",
"offset": 0
}
}
目前无法在数据生成期间创建此函数。
minecraft:set_writable_book_pages
设置可写书(书与笔)的页面。
{
"function": "minecraft:set_writable_book_pages",
// 要设置的页面,作为字符串列表。
"pages": [
"Hello World!",
"Hello World on page 2!",
"Never Gonna Give You Up!"
],
// 使用的合并模式。有效值为:
// - "append":将条目附加到任何现有的 lore 条目。
// - "insert":在特定位置插入条目。位置由名为 "offset" 的附加字段表示。"offset" 是可选的,默认为 0。
// - "replace_all":删除所有先前的条目,然后附加条目。
// - "replace_section":删除一部分条目,然后在该位置添加条目。
// 删除的部分由 "offset" 和可选的 "size" 字段表示。
// 如果省略 "size",则使用 "lore" 中的行数。
"mode": {
"type": "insert",
"offset": 0
}
}
目前无法在数据生成期间创建此函数。
minecraft:set_custom_model_data
在结果物品堆栈上设置自定义模型数据。
{
"function": "minecraft:set_custom_model_data",
// 要使用的自定义模型数据值。这也可以是数字提供器。
"value": 4
}
目前无法在数据生成期间创建此函数。
minecraft:filtered
此函数接受一个 ItemPredicate
,用于检查 tool
战利品参数;如果检查成功,则运行另一个函数。ItemPredicate
可以指定有效的物品 ID 列表(items
)、物品数量的最小/最大范围(count
)、DataComponentPredicate
(components
)和 ItemSubPredicate
(predicates
);所有字段都是可选的。需要 minecraft:tool
战利品参数,如果该参数不存在,则始终失败。
{
"function": "minecraft:filtered",
// 要使用的自定义模型数据值。这也可以是数字提供器。
"item_filter": {
"items": [
"minecraft:diamond_shovel"
]
},
// 要运行的其他战利品函数,可以是战利品修改器文件或内联函数列表。
"modifier": "examplemod:example_modifier"
}
目前无法在数据生成期间创建此函数。
警告:此函数通常应被视为已弃用。请改用带有 minecraft:match_tool
条件的传递函数。
minecraft:reference
此函数引用一个物品修改器并将其应用于结果物品堆栈。有关更多信息,请参阅 物品修改器。
{
"function": "minecraft:reference",
// 引用位于 data/examplemod/item_modifier/example_modifier.json 的物品修改器文件。
"name": "examplemod:example_modifier"
}
在数据生成期间,调用 FunctionReference#functionReference
并传入引用的谓词文件的 ID,以构建此函数的构建器。
minecraft:sequence
此函数依次运行其他战利品函数。
{
"function": "minecraft:sequence",
// 要运行的函数列表
"functions": [
{
"function": "minecraft:set_count",
// ...
},
{
"function": "minecraft:explosion_decay"
}
]
}
在数据生成期间,调用 SequenceFunction#of
并传入其他函数,以构建此条件的构建器。