战利品
在这章中会采用原生的KubeJs实现战利品的修改和添加,并不会使用LootJs进行修改战利品,LootJs的修改在模组篇章中
在原生kubeJs中,作者一共给我们提供了以下6种战利品修改或添加的方式
虽然说是六种,但其实战利品的添加都是差不多的
建议在写之前看看战利品表 和战利品谓词 ,有空的话也可以再额外看一个物品修饰词
战利品事件调用 | 用途 | 添加 | 覆盖 | 用法 |
---|---|---|---|---|
ServerEvents.genericLootTables | 全局战利品 | modify | addGeneric | 全局战利品 |
ServerEvents.blockLootTables | 方块战利品 | modifyBlock | addBlock | 方块战利品 |
ServerEvents.entityLootTables | 生物战利品 | modifyEntity | addEntity | 生物战利品 |
ServerEvents.giftLootTables | 礼物战利品 | modify | addGift | 礼物战利品 |
ServerEvents.fishingLootTables | 钓鱼战利品 | modify | addFishing | 钓鱼战利品 |
ServerEvents.chestLootTables | 宝箱战利品 | modify | addChest | 宝箱战利品 |
LootBuilderPool通用方法
方法名 | 参数 | 用途 | 返回类型 |
---|---|---|---|
setUniformRolls(int1,int2) | int1->最小抽取次数 int2->最大抽取次数 | 随机从奖池抽取次数 | void |
addCondition(JsonObject) | ~ | ~ | ConditionContainer |
addConditionalFunction(Consumer<ConditionalFunction>) | ~ | ~ | FunctionContainer |
addEmpty(int) | int->空值占比权重 | 设置抽到空的权重 | LootTableEntry |
addEntry(JsonObject) | ~ | ~ | LootTableEntry |
addItem(ItemStack) | -> | 添加物品 | LootTableEntry |
addItem(ItemStack,int) | int-> 权重占比 | 添加物品 | LootTableEntry |
addItem(ItemStack,int,NumberProvider) | NumberProvider-> 数量范围 | 添加物品 | LootTableEntry |
addLootTable(ResourceLocation) | -> | 添加到其他的战利品表里 | LootTableEntry |
addTag(string,bool) | string->tagId bool-> 是否从其中抽取一个 | 添加tag作为战利品 | LootTableEntry |
randomChanceWithLooting(int1,int2) | int1->chance int2->multiplier | ~ | ConditionContainer |
count(NumberProvider) | -> | 设置数量范围 | FunctionContainer |
damage(NumberProvider) | -> | 设置损坏值范围 | FunctionContainer |
enchantRandomly(ResourceLocation[]) | -> | 随机附魔 | FunctionContainer |
enchantWithLevels(NumberProvider,bool) | ~ | ~ | FunctionContainer |
entityProperties(EntityTarget,JsonObject) | ~ | ~ | ConditionContainer |
entityScores(EntityTarget,Map<string, any>) | ~ | ~ | ConditionContainer |
entries() | - | 获取entries列表 | JsonArray |
killedByPlayer() | - | 设置需要玩家击杀 | ConditionContainer |
randomChance(int) | -> | ~ | ConditionContainer |
randomChanceWithLooting(int1,int2) | int1-> chance int2-> multiplier | ~ | ConditionContainer |
setBinomialRolls(int1,int2) | ~ | ~ | void |
survivesExplosion() | - | ~ | ConditionContainer |
furnaceSmelt() | - | 掉落物品可被火焰附加熔炼 | FunctionContainer |