Skip to content

宝箱战利品

在下面会使用原生kubeJs实现对宝箱战利品生成做出修改

基础写法

覆盖原版的战利品

下面代码中,我们将原来的末地城的战利品覆盖掉了,使其重新生成战利品为玻璃、玻璃瓶

js
ServerEvents.chestLootTables(event=>{
    event.addChest("minecraft:end_city_treasure",loot=>{
        loot.addPool(pool=>{
            pool.addItem("glass")
            pool.addItem("glass_bottle")
            pool.rolls = 3
            console.log(pool.conditions);
        })
    })
})

使用addChest()的第一个参数,是需要覆盖掉的宝箱战利品表的名称(原版宝箱战利品表 )

如果你不需要覆盖掉而是直接在原有的基础上进行添加,则可以使用modify(),参数和addChest()一样

覆盖原有的战利品,只需要奖池内的物品和权重占比

如果你希望给物品添加一些条件才能生成可以使用战利品谓词 物品修饰词

添加新的战利品

其实添加新的战利品和直接覆盖原版的是一样的

js
ServerEvents.chestLootTables(event=>{
    event.addChest("meng:chest_loot",loot=>{
        loot.addPool(pool=>{
            pool.addItem("glass")
            pool.addItem("glass_bottle")
            pool.rolls = 3
            console.log(pool.conditions);
        })
    })
})

这个地方我们设置了一个自己的战利品列表,id为meng:chest_loot

可以在游戏内使用下面的指令生成一个nbt为战利品的箱子来看看

/setblock ~ ~ ~ chest{LootTable:"meng:chests/chest_loot"}

如果需要将自己的战利品添加进游戏内进行生成,这边需要使用到世界生成事件,来进行将自己的战利品部署到世界内

Contributors

Changelog