ID为onEvent('entity.attack', event => {
if(event.source && event.source.actual && event.source.actual.player && event.entity.type == 'minecraft:villager'){// 检测玩家攻击村民,防止为空报错
event.source.actual.tell("你攻击了村民,村民挚友任务失败!");
event.source.actual.data.ftbquests.changeProgress("4425171B4650EB54", event => {
event.reset = true;// 重设ID为4425171B4650EB54的任务的进度
})
}
})
// 另一种写法
onEvent('entity.attack', event => {
if(event.source.actual.player!=null && event.entity.type == 'minecraft:villager'){
event.source.actual.tell("你攻击了村民,村民挚友任务失败!");
event.source.actual.data.ftbquests.reset("4425171B4650EB54的");// 重设ID为4425171B4650EB54的任务的进度
}
})
onEvent('entity.death', event => {
if(event.source && event.source.actual && event.source.actual.player && event.entity.type == 'minecraft:ravager'){
event.source.actual.tell("你击杀了劫掠受,等价于击杀三个唤魔者!");
event.source.actual.data.ftbquests.addProgress("6B2089D4683E7907", 3);// 为ID为6B2089D4683E7907的任务添加进度值3
}
})
onEvent('ftbquests.custom_reward.4883F7BD04E2C597', event => {// 设置ID为4883F7BD04E2C597的自定义奖励
// 给予玩家药水效果奖励(村庄英雄)
event.player.potionEffects.add('minecraft:hero_of_the_village', 120000, 5, false, false);
})
onEvent('ftbquests.custom_task.76AA10188A48B51F', event => {// 设置ID为76AA10188A48B51F的自定义任务
event.checkTimer = 1;// 定义多久检测一次
event.maxProgress = 1;// 定义最大进度
event.check = (task, player) => {
if (player.isAdvancementDone("minecraft:adventure/trade")) {// 检测进度是否完成
player.tell("done");
task.progress++;// 添加进度
}
}
})
onEvent('ftbquests.completed.4425171B4650EB54', event => {// 检测ID为4425171B4650EB54的任务是否完成
console.log("村民挚友任务已被完成");
})