27 lines
1012 B
JavaScript
27 lines
1012 B
JavaScript
const tome = Item.of('akashictome:tome', '{"akashictome:data":{alexscaves:{Count:1b,id:"alexscaves:cave_book"},botania:{Count:1b,id:"botania:lexicon"},hexcasting:{Count:1b,id:"patchouli:guide_book",tag:{"patchouli:book":"hexcasting:thehexbook"}},patchouli:{Count:1b,id:"patchouli:guide_book",tag:{"patchouli:book":"patchouli:pwb_guide"}}}}')
|
|
|
|
ServerEvents.recipes(recipes => {
|
|
recipes.shapeless(
|
|
tome,
|
|
[ 'minecraft:stick' ]
|
|
)
|
|
})
|
|
|
|
const givenTomeAdvancement = "pwb:guide"
|
|
|
|
LootJS.modifiers(event => {
|
|
event
|
|
.addLootTypeModifier(LootType.CHEST)
|
|
.playerPredicate(player => {
|
|
let advancement = player.server.getAdvancement(givenTomeAdvancement).advancement
|
|
let hasNotFound = !player.advancements.getOrStartProgress(advancement).done
|
|
|
|
if(hasNotFound) {
|
|
player.unlockAdvancement(givenTomeAdvancement)
|
|
}
|
|
|
|
return hasNotFound
|
|
})
|
|
.addLoot(tome)
|
|
.addLoot('origins:orb_of_origin')
|
|
}) |