战利品
在这章中会采用原生的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
Last updated