1 skyblocks.quests = $.getJSON(dragonblocks.getModpath("skyblocks") + "/quests.json").responseJSON;
2 dragonblocks.registerOnStarted(_ => {
3 let meta = dragonblocks.player.meta;
4 if(! meta.skyblocksQuests)
5 meta.skyblocksQuests = {};
6 for(let quest of skyblocks.quests)
7 meta.skyblocksQuests[quest.name] = meta.skyblocksQuests[quest.name] || 0;
10 skyblocks.update = function(){
11 let meta = dragonblocks.player.meta;
12 for(let quest of skyblocks.quests)
13 if(meta.skyblocksQuests[quest.name] == quest.count){
14 dragonblocks.player.give(quest.reward);
15 meta.skyblocksQuests[quest.name]++;
16 dragonblocks.playSound("skyblocks_finish_quest.ogg");
17 chat.send(".me completed the quest '" + quest.name + "' [skyblocks]");
19 skyblocks.gui.getDisplay().dispatchEvent(new Event("update"));
21 skyblocks.event = function(action, param){
22 for(let quest of skyblocks.quests){
23 if(quest.action == action && dragonblocks.itemMatch(quest.param, param))
24 dragonblocks.player.meta.skyblocksQuests[quest.name]++;
28 dragonblocks.registerOnPlaceNode(node => {
29 skyblocks.event("place", node);
31 dragonblocks.registerOnDigNode((x, y) => {
32 skyblocks.event("dig", dragonblocks.getNode(x, y).toNode());
34 dragonblocks.registerOnUseItem(item => {
35 skyblocks.event("use", item);