Skip to content

实体类型战利品表

操作战利品表

  • 事件:ServerEvents.entityLootTables(event => {});
js
ServerEvents.entityLootTables(event => {
    // 修改原战利品表
    event.modifyEntity('minecraft:husk', loot => {
        loot.addPool(pool => {
            // 添加战利品
            pool.addItem('minecraft:diamond')
        }) 
    })
})
js
ServerEvents.entityLootTables(event => {
    // 创建战利品表,但因为id(ResourceLocation)和原战利品表一模一样,因此覆盖了原战利品表
    event.addEntity('minecraft:husk', loot => {
        loot.addPool(pool => {
            // 添加战利品
            pool.addItem('minecraft:diamond')
        }) 
    })
})
js
ServerEvents.entityLootTables(event => {
    event.addEntity('minecraft:husk', loot => {
        loot.addPool(pool => {
            // 添加战利品
            pool.addItem('minecraft:diamond')
            // 为战利品添加有条件的物品修饰器
            pool.addItem('minecraft:diamond').addConditionalFunction(c=>c.name(Component.aqua('测试钻石')))
            // 为战利品池添加有条件的物品修饰器
            pool.addConditionalFunction(c=>c.name(Component.aqua('测试钻石')))
        })

        loot.addPool(pool => {
            // 添加战利品
            pool.addItem('minecraft:diamond')
            // 为战利品添加谓词
            pool.addItem('minecraft:diamond').survivesExplosion()
            // 为战利品池添加谓词
            pool.survivesExplosion()
        })
        // 为战利品表添加有条件的物品修饰器
        loot.addConditionalFunction(c=>c.name(Component.aqua('测试钻石')))

    })
})

可用谓词

  • 实体类型战利品表上下文可用的谓词。
谓词类型 作用 语句 KubeJS原生支持 示例
全部 评估一系列战利品表谓词,若它们都通过检查,则评估通过。可从任何上下文调用。 - 示例
任何 评估一系列战利品表谓词,若其中任意一个通过检查,则评估通过。可从任何上下文调用。 - 示例
伤害来源属性 检查伤害来源的属性。需要战利品上下文提供的来源和伤害来源进行检测,若未提供则总是不通过。 - 示例
实体属性 检查战利品表上下文中的实体。可从任何上下文调用。 entityProperties(..args) 示例
实体分数 检查实体的记分板分数。 entityScores(..args) 示例
取反(非) 定义一个谓词列表,当内含谓词不通过时该谓词通过。 - 示例
被玩家击杀 检查实体是否死于玩家击杀(死时被玩家攻击过)。 killedByPlayer() 示例
检查位置 检查当前位置。需要战利品上下文提供的来源进行检测,若未提供则总是不通过。 - 示例
随机概率 生成一个取值范围为0.0–1.0之间的随机数,并检查其是否小于指定值。可从任何上下文调用。 randomChance(..args) 示例
受抢夺附魔影响的随机概率 检查随机概率,这个概率会受到抢夺魔咒的等级影响。 randomChanceWithLooting(..args) 示例
引用谓词文件 调用谓词文件并返回其结果。可从任何上下文调用。 - 示例
检查时间 将当前的游戏时间(更确切地来说,为24000 * 天数 + 当天时间)和给定值进行比较。可从任何上下文调用。 - 示例
检查值 将一个数与另一个数或范围进行比较。可从任何上下文调用。 - 示例
检查天气 检查当前游戏的天气状态。可从任何上下文调用。 - 示例

可用物品修饰器

  • 实体类型战利品表上下文可用的物品修饰器。
物品修饰器类型 作用 语句 KubeJS原生支持 示例
复制显示名 将实体或方块实体的显示名复制到物品栈NBT中。 copyName("block_entity") 示例
复制NBT 将NBT从指定源复制到项目上。唯一允许的值是"block_entity" - 示例
复制方块状态 当物品是由方块产生时,复制方块的方块状态到物品的block_state;否则此物品修饰器不做任何处理。 - 示例
随机附魔 为物品附上一个随机的魔咒。魔咒的等级也是随机的。 enchantRandomly(..args) 示例
给予等价于经验等级的随机魔咒 使用指定的魔咒等级附魔物品(大约等效于使用这个等级的附魔台附魔物品)。 enchantWithLevels(..args) 示例
设置探险家地图 将普通的地图物品变为一个指引到某个结构标签的探险家地图。如果物品不是地图,则不做任何处理。 - 示例
爆炸损耗 如果物品栈是因为方块被爆炸破坏而产生,执行该函数的每个物品有1/爆炸半径的概率消失,物品栈会被分为多个单独的物品计算;否则此物品修饰器不做任何处理。 - 示例
填充玩家头颅 将玩家头颅设置为指定玩家的头颅。如果物品不是玩家头颅则不做任何处理。 - 示例
熔炉熔炼 将物品转变为用熔炉烧炼后的对应物品。如果物品不可烧炼,则不做任何处理。 furnaceSmelt() 示例
限制物品栈数量 限制物品数量。 - 示例
根据抢夺魔咒调整物品数量 决定了抢夺魔咒对该物品数量的影响。如果未使用,抢夺魔咒将对该物品没有效果。 lootingEnchant(..args) 示例
引用物品修饰器 引用另一个物品修饰器。 - 示例
设置属性 为物品加上属性修饰符。 - 示例
设置旗帜图案 设置旗帜物品的图案。如果物品不是旗帜,则此修饰器不做任何处理。 - 示例
设置内容物 设置物品的内容物。 - 示例
设置物品数量 设置该物品的数量。 count(..args) 示例
设置损伤值 设置工具的损坏值。 damage(..args) 示例
设置魔咒 设置物品的魔咒。 - 示例
设置乐器 设置山羊角的种类。如果物品不是山羊角则不做任何处理。 - 示例
设置战利品表 为一个容器方块物品设定战利品表。 - 示例
设置物品描述 为物品添加描述信息。 - 示例
设置物品名 添加或修改物品的自定义名称。 name(..args) 示例
设置NBT 设置物品栈NBT数据。 nbt(..args) 示例
设置药水 设置物品包含的药水效果标签。 - 示例
设置迷之炖菜效果 为谜之炖菜添加状态效果。 - 示例

贡献者

页面历史