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)示例
设置药水设置物品包含的药水效果标签。-示例
设置迷之炖菜效果为谜之炖菜添加状态效果。-示例

贡献者

页面历史