FTB Quests Integration
onEvent('ftbquests.custom_task.75381f79', event => {
log.info('Custom task!')
event.checkTimer = 20
event.check = (task, player) => {
if (player.world.daytime && player.world.raining) {
task.progress++
}
}
})
onEvent('ftbquests.custom_reward.e4f76908', event => {
log.info('Custom reward!')
event.player.tell('Hello!')
})
// specific object completion
onEvent('ftbquests.completed.d4f36905', event => {
if (event.player) {
event.notifiedPlayers.tell(Text.of(`${event.player.name} completed... something!`).green())
}
})
// generic 'quest' object completion. Note: There isnt actually a way to get reliable title on server side, so dont use event.object.title
onEvent('ftbquests.completed', event => {
if (event.player && event.object.objectType.id === 'quest') {
event.notifiedPlayers.tell(Text.of(`${event.player.name} completed a quest!`).blue())
}
})
// object with tag 'ding' completion
onEvent('ftbquests.completed.ding', event => {
event.onlineMembers.playSound('entity.experience_orb.pickup')
})
onEvent('entity.death', event => {
if(event.server
&& event.source.actual
&& event.source.actual.player
&& event.source.actual.mainHandItem.id === 'minecraft:wooden_sword'
&& event.entity.type === 'minecraft:zombie') {
event.source.actual.data.ftbquests.addProgress('12345678', 1)
}
})