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

贡献者

页面历史

布局切换

调整 VitePress 的布局样式,以适配不同的阅读习惯和屏幕环境。

全部展开
使侧边栏和内容区域占据整个屏幕的全部宽度。
全部展开,但侧边栏宽度可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
全部展开,且侧边栏和内容区域宽度均可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
原始宽度
原始的 VitePress 默认布局宽度

页面最大宽度

调整 VitePress 布局中页面的宽度,以适配不同的阅读习惯和屏幕环境。

调整页面最大宽度
一个可调整的滑块,用于选择和自定义页面最大宽度。

内容最大宽度

调整 VitePress 布局中内容区域的宽度,以适配不同的阅读习惯和屏幕环境。

调整内容最大宽度
一个可调整的滑块,用于选择和自定义内容最大宽度。

聚光灯

支持在正文中高亮当前鼠标悬停的行和元素,以优化阅读和专注困难的用户的阅读体验。

ON 开启
开启聚光灯。
OFF 关闭
关闭聚光灯。