From a5b93336f6ffe5ba7c5d8588c117ae4cb481ceb9 Mon Sep 17 00:00:00 2001 From: SwitchedCube <93068742+SwitchedCube@users.noreply.github.com> Date: Sun, 22 Dec 2024 00:10:37 +0530 Subject: [PATCH] added quests - alpha (final) in theory it SHOULD work, didn't test tho --- .../quest_data/archer/archer_1.json | 39 ++++++ .../quest_data/archer/archer_2.json | 37 +++++ .../quest_data/archer/archer_3.json | 87 ++++++++++++ .../quest_data/archer/archer_4.json | 31 +++++ .../quest_data/archer/archer_5.json | 15 ++ .../quest_data/healer/healer_1.json | 28 ++++ .../quest_data/healer/healer_2.json | 20 +++ .../quest_data/healer/healer_3.json | 15 ++ .../quest_data/healer/healer_4.json | 15 ++ .../quest_data/healer/healer_5.json | 23 ++++ .../advancement/quest_data/mage/mage_1.json | 15 ++ .../advancement/quest_data/mage/mage_2.json | 15 ++ .../advancement/quest_data/mage/mage_3.json | 15 ++ .../advancement/quest_data/mage/mage_4.json | 15 ++ .../advancement/quest_data/mage/mage_5.json | 15 ++ .../advancement/quest_data/rogue/rogue_1.json | 28 ++++ .../advancement/quest_data/rogue/rogue_2.json | 26 ++++ .../advancement/quest_data/rogue/rogue_3.json | 15 ++ .../advancement/quest_data/rogue/rogue_4.json | 15 ++ .../advancement/quest_data/rogue/rogue_5.json | 38 ++++++ .../quest_data/swordsman/swordsman_1.json | 33 +++++ .../quest_data/swordsman/swordsman_2.json | 128 ++++++++++++++++++ .../quest_data/swordsman/swordsman_3.json | 38 ++++++ .../quest_data/swordsman/swordsman_4.json | 15 ++ .../quest_data/swordsman/swordsman_5.json | 38 ++++++ .../abilities/healer/1/heal_1.mcfunction | 4 +- .../healer/10/hallowed_grounds_2.mcfunction | 4 +- .../healer/10/mass_requiem.mcfunction | 4 +- .../healer/10/sacrifice_2.mcfunction | 5 +- .../abilities/healer/2/heal_2.mcfunction | 4 +- .../abilities/healer/2/requiem.mcfunction | 4 +- .../healer/4/greater_heal.mcfunction | 4 +- .../abilities/healer/5/flying_heal.mcfunction | 4 +- .../abilities/healer/6/mass_heal.mcfunction | 4 +- .../abilities/healer/6/sacrifice_1.mcfunction | 5 +- .../abilities/healer/7/divine_aura.mcfunction | 4 +- .../abilities/healer/7/holy_bullet.mcfunction | 4 +- .../healer/8/hallowed_grounds_1.mcfunction | 4 +- .../healer/9/divine_aura_2.mcfunction | 4 +- .../healer/9/healing_beacon.mcfunction | 4 +- .../abilities/mage/1/lumos.mcfunction | 4 +- .../abilities/mage/1/magic_bullet.mcfunction | 6 +- .../abilities/mage/10/astral_body.mcfunction | 4 +- .../mage/10/magical_protector.mcfunction | 4 +- .../mage/10/power_of_magic.mcfunction | 6 +- .../abilities/mage/10/reset.mcfunction | 4 +- .../abilities/mage/2/arcane_shield.mcfunction | 2 + .../abilities/mage/2/book_bash.mcfunction | 5 +- .../abilities/mage/3/fire_ball_1.mcfunction | 4 +- .../abilities/mage/3/shiver.mcfunction | 2 + .../abilities/mage/4/fire_ball_2.mcfunction | 4 +- .../abilities/mage/4/rocket_step.mcfunction | 4 +- .../abilities/mage/5/disco_spell.mcfunction | 2 + .../abilities/mage/5/fire_ball_3.mcfunction | 4 +- .../abilities/mage/5/water_spell.mcfunction | 4 +- .../function/abilities/mage/6/rain.mcfunction | 4 +- .../abilities/mage/6/shine.mcfunction | 4 +- .../abilities/mage/6/storm.mcfunction | 9 +- .../abilities/mage/7/chainblinder.mcfunction | 4 +- .../abilities/mage/7/ring_of_fire.mcfunction | 4 +- .../abilities/mage/7/shockwave.mcfunction | 4 +- .../abilities/mage/8/curse_ground.mcfunction | 4 +- .../abilities/mage/8/recall.mcfunction | 2 + .../abilities/mage/8/up_and_away.mcfunction | 4 +- .../abilities/mage/9/arcane_ward.mcfunction | 4 +- .../abilities/mage/9/cryostasis.mcfunction | 4 +- .../mage/9/cryostasis_remove.mcfunction | 2 +- .../abilities/mage/9/light_step.mcfunction | 4 +- .../abilities/mage/9/mass_recall.mcfunction | 2 + .../abilities/rogue/6/poisoneer.mcfunction | 1 + .../swordsman/9/blood_price.mcfunction | 1 + data/aeternum/function/load.mcfunction | 1 + .../aeternum/function/quests/check.mcfunction | 3 +- .../quests/data/archer/archer_1.mcfunction | 2 + .../quests/data/archer/archer_2.mcfunction | 2 + .../quests/data/archer/archer_3.mcfunction | 2 + .../quests/data/archer/archer_4.mcfunction | 2 + .../quests/data/archer/archer_5.mcfunction | 2 + .../quests/data/healer/healer_1.mcfunction | 2 + .../quests/data/healer/healer_2.mcfunction | 2 + .../quests/data/healer/healer_3.mcfunction | 2 + .../quests/data/healer/healer_4.mcfunction | 2 + .../quests/data/healer/healer_5.mcfunction | 2 + .../quests/data/mage/mage_1.mcfunction | 2 + .../quests/data/mage/mage_2.mcfunction | 2 + .../quests/data/mage/mage_3.mcfunction | 2 + .../quests/data/mage/mage_4.mcfunction | 2 + .../quests/data/mage/mage_5.mcfunction | 2 + .../quests/data/rogue/rogue_1.mcfunction | 2 + .../quests/data/rogue/rogue_2.mcfunction | 2 + .../quests/data/rogue/rogue_3.mcfunction | 2 + .../quests/data/rogue/rogue_4.mcfunction | 2 + .../quests/data/rogue/rogue_5.mcfunction | 2 + .../data/swordsman/swordsman_1.mcfunction | 2 + .../data/swordsman/swordsman_2.mcfunction | 2 + .../data/swordsman/swordsman_3.mcfunction | 2 + .../data/swordsman/swordsman_4.mcfunction | 2 + .../data/swordsman/swordsman_5.mcfunction | 2 + data/aeternum/function/quests/load.mcfunction | 29 ++++ .../aeternum/function/quests/reset.mcfunction | 29 ++++ .../function/tick/player_tick.mcfunction | 1 + .../function/tick/quest_tick.mcfunction | 34 +++++ 102 files changed, 1043 insertions(+), 41 deletions(-) create mode 100644 data/aeternum/advancement/quest_data/archer/archer_1.json create mode 100644 data/aeternum/advancement/quest_data/archer/archer_2.json create mode 100644 data/aeternum/advancement/quest_data/archer/archer_3.json create mode 100644 data/aeternum/advancement/quest_data/archer/archer_4.json create mode 100644 data/aeternum/advancement/quest_data/archer/archer_5.json create mode 100644 data/aeternum/advancement/quest_data/healer/healer_1.json create mode 100644 data/aeternum/advancement/quest_data/healer/healer_2.json create mode 100644 data/aeternum/advancement/quest_data/healer/healer_3.json create mode 100644 data/aeternum/advancement/quest_data/healer/healer_4.json create mode 100644 data/aeternum/advancement/quest_data/healer/healer_5.json create mode 100644 data/aeternum/advancement/quest_data/mage/mage_1.json create mode 100644 data/aeternum/advancement/quest_data/mage/mage_2.json create mode 100644 data/aeternum/advancement/quest_data/mage/mage_3.json create mode 100644 data/aeternum/advancement/quest_data/mage/mage_4.json create mode 100644 data/aeternum/advancement/quest_data/mage/mage_5.json create mode 100644 data/aeternum/advancement/quest_data/rogue/rogue_1.json create mode 100644 data/aeternum/advancement/quest_data/rogue/rogue_2.json create mode 100644 data/aeternum/advancement/quest_data/rogue/rogue_3.json create mode 100644 data/aeternum/advancement/quest_data/rogue/rogue_4.json create mode 100644 data/aeternum/advancement/quest_data/rogue/rogue_5.json create mode 100644 data/aeternum/advancement/quest_data/swordsman/swordsman_1.json create mode 100644 data/aeternum/advancement/quest_data/swordsman/swordsman_2.json create mode 100644 data/aeternum/advancement/quest_data/swordsman/swordsman_3.json create mode 100644 data/aeternum/advancement/quest_data/swordsman/swordsman_4.json create mode 100644 data/aeternum/advancement/quest_data/swordsman/swordsman_5.json create mode 100644 data/aeternum/function/quests/data/archer/archer_1.mcfunction create mode 100644 data/aeternum/function/quests/data/archer/archer_2.mcfunction create mode 100644 data/aeternum/function/quests/data/archer/archer_3.mcfunction create mode 100644 data/aeternum/function/quests/data/archer/archer_4.mcfunction create mode 100644 data/aeternum/function/quests/data/archer/archer_5.mcfunction create mode 100644 data/aeternum/function/quests/data/healer/healer_1.mcfunction create mode 100644 data/aeternum/function/quests/data/healer/healer_2.mcfunction create mode 100644 data/aeternum/function/quests/data/healer/healer_3.mcfunction create mode 100644 data/aeternum/function/quests/data/healer/healer_4.mcfunction create mode 100644 data/aeternum/function/quests/data/healer/healer_5.mcfunction create mode 100644 data/aeternum/function/quests/data/mage/mage_1.mcfunction create mode 100644 data/aeternum/function/quests/data/mage/mage_2.mcfunction create mode 100644 data/aeternum/function/quests/data/mage/mage_3.mcfunction create mode 100644 data/aeternum/function/quests/data/mage/mage_4.mcfunction create mode 100644 data/aeternum/function/quests/data/mage/mage_5.mcfunction create mode 100644 data/aeternum/function/quests/data/rogue/rogue_1.mcfunction create mode 100644 data/aeternum/function/quests/data/rogue/rogue_2.mcfunction create mode 100644 data/aeternum/function/quests/data/rogue/rogue_3.mcfunction create mode 100644 data/aeternum/function/quests/data/rogue/rogue_4.mcfunction create mode 100644 data/aeternum/function/quests/data/rogue/rogue_5.mcfunction create mode 100644 data/aeternum/function/quests/data/swordsman/swordsman_1.mcfunction create mode 100644 data/aeternum/function/quests/data/swordsman/swordsman_2.mcfunction create mode 100644 data/aeternum/function/quests/data/swordsman/swordsman_3.mcfunction create mode 100644 data/aeternum/function/quests/data/swordsman/swordsman_4.mcfunction create mode 100644 data/aeternum/function/quests/data/swordsman/swordsman_5.mcfunction create mode 100644 data/aeternum/function/quests/load.mcfunction create mode 100644 data/aeternum/function/quests/reset.mcfunction create mode 100644 data/aeternum/function/tick/quest_tick.mcfunction diff --git a/data/aeternum/advancement/quest_data/archer/archer_1.json b/data/aeternum/advancement/quest_data/archer/archer_1.json new file mode 100644 index 0000000..d81f8de --- /dev/null +++ b/data/aeternum/advancement/quest_data/archer/archer_1.json @@ -0,0 +1,39 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:player_hurt_entity", + "conditions": { + "player": { + "type": "minecraft:player", + "slots": { + "weapon.mainhand": { + "items": "minecraft:snowball" + } + } + }, + "damage": { + "blocked": false, + "type": { + "tags": [ + { + "id": "minecraft:is_projectile", + "expected": true + } + ] + } + }, + "entity": { + "type": "minecraft:blaze" + } + } + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/archer/archer_1" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/archer/archer_2.json b/data/aeternum/advancement/quest_data/archer/archer_2.json new file mode 100644 index 0000000..9ddc40a --- /dev/null +++ b/data/aeternum/advancement/quest_data/archer/archer_2.json @@ -0,0 +1,37 @@ +{ + "criteria": { + "killed_ghast": { + "conditions": { + "entity": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type": "minecraft:ghast" + } + } + ], + "killing_blow": { + "direct_entity": { + "type": "minecraft:fireball" + }, + "tags": [ + { + "expected": true, + "id": "minecraft:is_projectile" + } + ] + } + }, + "trigger": "minecraft:player_killed_entity" + } + }, + "requirements": [ + [ + "killed_ghast" + ] + ], + "rewards": { + "function": "aeternum:quests/data/archer/archer_2" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/archer/archer_3.json b/data/aeternum/advancement/quest_data/archer/archer_3.json new file mode 100644 index 0000000..3f86143 --- /dev/null +++ b/data/aeternum/advancement/quest_data/archer/archer_3.json @@ -0,0 +1,87 @@ +{ + "criteria": { + "voluntary_exile": { + "conditions": { + "player": { + "type": "minecraft:player", + "slots": { + "weapon.mainhand": { + "items": "minecraft:bow" + } + } + }, + "entity": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type": "#minecraft:raiders", + "equipment": { + "head": { + "components": { + "minecraft:attribute_modifiers": { + "modifiers": [] + }, + "minecraft:banner_patterns": [ + { + "color": "cyan", + "pattern": "minecraft:rhombus" + }, + { + "color": "light_gray", + "pattern": "minecraft:stripe_bottom" + }, + { + "color": "gray", + "pattern": "minecraft:stripe_center" + }, + { + "color": "light_gray", + "pattern": "minecraft:border" + }, + { + "color": "black", + "pattern": "minecraft:stripe_middle" + }, + { + "color": "light_gray", + "pattern": "minecraft:half_horizontal" + }, + { + "color": "light_gray", + "pattern": "minecraft:circle" + }, + { + "color": "black", + "pattern": "minecraft:border" + } + ], + "minecraft:enchantments": { + "levels": {} + }, + "minecraft:hide_additional_tooltip": {}, + "minecraft:item_name": "{\"color\":\"gold\",\"translate\":\"block.minecraft.ominous_banner\"}", + "minecraft:lore": [], + "minecraft:max_stack_size": 16, + "minecraft:rarity": "common", + "minecraft:repair_cost": 0 + }, + "items": "minecraft:white_banner" + } + } + } + } + ] + }, + "trigger": "minecraft:player_killed_entity" + } + }, + "requirements": [ + [ + "voluntary_exile" + ] + ], + "rewards": { + "function": "aeternum:quests/data/archer/archer_3" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/archer/archer_4.json b/data/aeternum/advancement/quest_data/archer/archer_4.json new file mode 100644 index 0000000..be9a755 --- /dev/null +++ b/data/aeternum/advancement/quest_data/archer/archer_4.json @@ -0,0 +1,31 @@ +{ + "criteria": { + "bullseye": { + "conditions": { + "projectile": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "distance": { + "horizontal": { + "min": 30 + } + } + } + } + ], + "signal_strength": 15 + }, + "trigger": "minecraft:target_hit" + } + }, + "requirements": [ + [ + "bullseye" + ] + ], + "rewards": { + "function": "aeternum:quests/data/archer/archer_4" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/archer/archer_5.json b/data/aeternum/advancement/quest_data/archer/archer_5.json new file mode 100644 index 0000000..fd3d82e --- /dev/null +++ b/data/aeternum/advancement/quest_data/archer/archer_5.json @@ -0,0 +1,15 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:impossible" + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/archer/archer_5" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/healer/healer_1.json b/data/aeternum/advancement/quest_data/healer/healer_1.json new file mode 100644 index 0000000..dfe1a7a --- /dev/null +++ b/data/aeternum/advancement/quest_data/healer/healer_1.json @@ -0,0 +1,28 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:consume_item", + "conditions": { + "player": { + "type": "minecraft:player" + }, + "item": { + "items": "minecraft:potion", + "components": { + "minecraft:potion_contents": { + "potion": "minecraft:regeneration" + } + } + } + } + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/healer/healer_1" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/healer/healer_2.json b/data/aeternum/advancement/quest_data/healer/healer_2.json new file mode 100644 index 0000000..f219e62 --- /dev/null +++ b/data/aeternum/advancement/quest_data/healer/healer_2.json @@ -0,0 +1,20 @@ +{ + "criteria": { + "used_totem": { + "conditions": { + "item": { + "items": "minecraft:totem_of_undying" + } + }, + "trigger": "minecraft:used_totem" + } + }, + "requirements": [ + [ + "used_totem" + ] + ], + "rewards": { + "function": "aeternum:quests/data/healer/healer_2" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/healer/healer_3.json b/data/aeternum/advancement/quest_data/healer/healer_3.json new file mode 100644 index 0000000..4476348 --- /dev/null +++ b/data/aeternum/advancement/quest_data/healer/healer_3.json @@ -0,0 +1,15 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:impossible" + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/healer/healer_3" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/healer/healer_4.json b/data/aeternum/advancement/quest_data/healer/healer_4.json new file mode 100644 index 0000000..aa7fa42 --- /dev/null +++ b/data/aeternum/advancement/quest_data/healer/healer_4.json @@ -0,0 +1,15 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:impossible" + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/healer/healer_4" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/healer/healer_5.json b/data/aeternum/advancement/quest_data/healer/healer_5.json new file mode 100644 index 0000000..3f33244 --- /dev/null +++ b/data/aeternum/advancement/quest_data/healer/healer_5.json @@ -0,0 +1,23 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:consume_item", + "conditions": { + "player": { + "type": "minecraft:player" + }, + "item": { + "items": "#taglib:food/food" + } + } + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/healer/healer_5" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/mage/mage_1.json b/data/aeternum/advancement/quest_data/mage/mage_1.json new file mode 100644 index 0000000..097eeff --- /dev/null +++ b/data/aeternum/advancement/quest_data/mage/mage_1.json @@ -0,0 +1,15 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:impossible" + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/mage/mage_1" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/mage/mage_2.json b/data/aeternum/advancement/quest_data/mage/mage_2.json new file mode 100644 index 0000000..f14bf93 --- /dev/null +++ b/data/aeternum/advancement/quest_data/mage/mage_2.json @@ -0,0 +1,15 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:impossible" + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/mage/mage_2" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/mage/mage_3.json b/data/aeternum/advancement/quest_data/mage/mage_3.json new file mode 100644 index 0000000..38bcd96 --- /dev/null +++ b/data/aeternum/advancement/quest_data/mage/mage_3.json @@ -0,0 +1,15 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:impossible" + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/mage/mage_3" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/mage/mage_4.json b/data/aeternum/advancement/quest_data/mage/mage_4.json new file mode 100644 index 0000000..121f662 --- /dev/null +++ b/data/aeternum/advancement/quest_data/mage/mage_4.json @@ -0,0 +1,15 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:impossible" + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/mage/mage_4" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/mage/mage_5.json b/data/aeternum/advancement/quest_data/mage/mage_5.json new file mode 100644 index 0000000..7f05191 --- /dev/null +++ b/data/aeternum/advancement/quest_data/mage/mage_5.json @@ -0,0 +1,15 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:impossible" + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/mage/mage_5" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/rogue/rogue_1.json b/data/aeternum/advancement/quest_data/rogue/rogue_1.json new file mode 100644 index 0000000..2cc1210 --- /dev/null +++ b/data/aeternum/advancement/quest_data/rogue/rogue_1.json @@ -0,0 +1,28 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:consume_item", + "conditions": { + "player": { + "type": "minecraft:player" + }, + "item": { + "items": "minecraft:potion", + "components": { + "minecraft:potion_contents": { + "potion": "minecraft:invisibility" + } + } + } + } + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/rogue/rogue_1" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/rogue/rogue_2.json b/data/aeternum/advancement/quest_data/rogue/rogue_2.json new file mode 100644 index 0000000..9d496a4 --- /dev/null +++ b/data/aeternum/advancement/quest_data/rogue/rogue_2.json @@ -0,0 +1,26 @@ +{ + "criteria": { + "minecraft:zombie_villager": { + "conditions": { + "entity": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type": "minecraft:phantom" + } + } + ] + }, + "trigger": "minecraft:player_killed_entity" + } + }, + "requirements": [ + [ + "minecraft:zombie_villager" + ] + ], + "rewards": { + "function": "aeternum:quests/data/rogue/rogue_2" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/rogue/rogue_3.json b/data/aeternum/advancement/quest_data/rogue/rogue_3.json new file mode 100644 index 0000000..1a8fc46 --- /dev/null +++ b/data/aeternum/advancement/quest_data/rogue/rogue_3.json @@ -0,0 +1,15 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:impossible" + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/rogue/rogue_3" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/rogue/rogue_4.json b/data/aeternum/advancement/quest_data/rogue/rogue_4.json new file mode 100644 index 0000000..d39a024 --- /dev/null +++ b/data/aeternum/advancement/quest_data/rogue/rogue_4.json @@ -0,0 +1,15 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:impossible" + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/rogue/rogue_4" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/rogue/rogue_5.json b/data/aeternum/advancement/quest_data/rogue/rogue_5.json new file mode 100644 index 0000000..917c22e --- /dev/null +++ b/data/aeternum/advancement/quest_data/rogue/rogue_5.json @@ -0,0 +1,38 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:player_killed_entity", + "conditions": { + "player": { + "type": "minecraft:player", + "slots": { + "weapon.mainhand": { + "components": { + "minecraft:item_model": "aeternum:general/items/rogue/diamond_dagger" + } + } + } + }, + "entity": { + "type": "minecraft:piglin_brute" + }, + "killing_blow": { + "tags": [ + { + "id": "minecraft:is_player_attack", + "expected": true + } + ] + } + } + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/rogue/rogue_5" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/swordsman/swordsman_1.json b/data/aeternum/advancement/quest_data/swordsman/swordsman_1.json new file mode 100644 index 0000000..ff7b407 --- /dev/null +++ b/data/aeternum/advancement/quest_data/swordsman/swordsman_1.json @@ -0,0 +1,33 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:player_killed_entity", + "conditions": { + "player": { + "type": "minecraft:player", + "slots": { + "weapon.mainhand": { + "items": "#minecraft:swords" + } + } + }, + "killing_blow": { + "tags": [ + { + "id": "minecraft:is_player_attack", + "expected": true + } + ] + } + } + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/swordsman/swordsman_1" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/swordsman/swordsman_2.json b/data/aeternum/advancement/quest_data/swordsman/swordsman_2.json new file mode 100644 index 0000000..caadbff --- /dev/null +++ b/data/aeternum/advancement/quest_data/swordsman/swordsman_2.json @@ -0,0 +1,128 @@ +{ + "criteria": { + "minecraft:bogged": { + "conditions": { + "entity": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type": "minecraft:bogged" + } + } + ] + }, + "trigger": "minecraft:player_killed_entity" + }, + "minecraft:drowned": { + "conditions": { + "entity": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type": "minecraft:drowned" + } + } + ] + }, + "trigger": "minecraft:player_killed_entity" + }, + "minecraft:husk": { + "conditions": { + "entity": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type": "minecraft:husk" + } + } + ] + }, + "trigger": "minecraft:player_killed_entity" + }, + "minecraft:skeleton": { + "conditions": { + "entity": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type": "minecraft:skeleton" + } + } + ] + }, + "trigger": "minecraft:player_killed_entity" + }, + "minecraft:stray": { + "conditions": { + "entity": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type": "minecraft:stray" + } + } + ] + }, + "trigger": "minecraft:player_killed_entity" + }, + "minecraft:zombie": { + "conditions": { + "entity": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type": "minecraft:zombie" + } + } + ] + }, + "trigger": "minecraft:player_killed_entity" + }, + "minecraft:zombie_villager": { + "conditions": { + "entity": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type": "minecraft:zombie_villager" + } + } + ] + }, + "trigger": "minecraft:player_killed_entity" + } + }, + "requirements": [ + [ + "minecraft:bogged" + ], + [ + "minecraft:drowned" + ], + [ + "minecraft:husk" + ], + [ + "minecraft:skeleton" + ], + [ + "minecraft:stray" + ], + [ + "minecraft:zombie_villager" + ], + [ + "minecraft:zombie" + ] + ], + "rewards": { + "function": "aeternum:quests/data/swordsman/swordsman_2" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/swordsman/swordsman_3.json b/data/aeternum/advancement/quest_data/swordsman/swordsman_3.json new file mode 100644 index 0000000..eaebde8 --- /dev/null +++ b/data/aeternum/advancement/quest_data/swordsman/swordsman_3.json @@ -0,0 +1,38 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:player_killed_entity", + "conditions": { + "player": { + "type": "minecraft:player", + "slots": { + "weapon.mainhand": { + "components": { + "minecraft:item_model": "aeternum:general/items/swordsman/golden_longsword" + } + } + } + }, + "entity": { + "type": "minecraft:breeze" + }, + "killing_blow": { + "tags": [ + { + "id": "minecraft:is_player_attack", + "expected": true + } + ] + } + } + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/swordsman/swordsman_3" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/swordsman/swordsman_4.json b/data/aeternum/advancement/quest_data/swordsman/swordsman_4.json new file mode 100644 index 0000000..dd8f666 --- /dev/null +++ b/data/aeternum/advancement/quest_data/swordsman/swordsman_4.json @@ -0,0 +1,15 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:impossible" + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/swordsman/swordsman_4" + } +} \ No newline at end of file diff --git a/data/aeternum/advancement/quest_data/swordsman/swordsman_5.json b/data/aeternum/advancement/quest_data/swordsman/swordsman_5.json new file mode 100644 index 0000000..2b9842f --- /dev/null +++ b/data/aeternum/advancement/quest_data/swordsman/swordsman_5.json @@ -0,0 +1,38 @@ +{ + "criteria": { + "hit": { + "trigger": "minecraft:player_killed_entity", + "conditions": { + "player": { + "type": "minecraft:player", + "slots": { + "weapon.mainhand": { + "components": { + "minecraft:item_model": "aeternum:general/items/swordsman/diamond_longsword" + } + } + } + }, + "entity": { + "type": "minecraft:breeze" + }, + "killing_blow": { + "tags": [ + { + "id": "minecraft:is_player_attack", + "expected": true + } + ] + } + } + } + }, + "requirements": [ + [ + "hit" + ] + ], + "rewards": { + "function": "aeternum:quests/data/swordsman/swordsman_5" + } +} \ No newline at end of file diff --git a/data/aeternum/function/abilities/healer/1/heal_1.mcfunction b/data/aeternum/function/abilities/healer/1/heal_1.mcfunction index 3adb6d3..e66dd77 100644 --- a/data/aeternum/function/abilities/healer/1/heal_1.mcfunction +++ b/data/aeternum/function/abilities/healer/1/heal_1.mcfunction @@ -3,4 +3,6 @@ execute unless entity @p[distance=0.01..10] run return run function aeternum:abi execute as @p[distance=0.01..10] run effect give @s instant_health 1 0 true execute as @p[distance=0.01..10] run tellraw @s {"translate":"aeternum.abilities.healer.heal.message"} -playsound minecraft:entity.husk.converted_to_zombie player @a ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.husk.converted_to_zombie player @a ~ ~ ~ + +advancement grant @s only aeternum:quest_data/healer/healer_3 \ No newline at end of file diff --git a/data/aeternum/function/abilities/healer/10/hallowed_grounds_2.mcfunction b/data/aeternum/function/abilities/healer/10/hallowed_grounds_2.mcfunction index 2c2ca53..443da39 100644 --- a/data/aeternum/function/abilities/healer/10/hallowed_grounds_2.mcfunction +++ b/data/aeternum/function/abilities/healer/10/hallowed_grounds_2.mcfunction @@ -4,4 +4,6 @@ execute if score @s aeternum.abilities.healer.10.hallowed_grounds_2.cool matches scoreboard players set @s aeternum.abilities.healer.10.hallowed_grounds_2.cool 600 summon area_effect_cloud ~ ~ ~ {ReapplicationDelay:40,Radius:5f,RadiusPerTick:0f,RadiusOnUse:0f,Duration:400,DurationOnUse:0,potion_contents:{potion:"minecraft:regeneration",custom_color:16711756,custom_effects:[{id:"minecraft:regeneration",amplifier:1,duration:60}]}} -playsound minecraft:entity.evoker.prepare_summon player @a ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.evoker.prepare_summon player @a ~ ~ ~ + +advancement grant @s only aeternum:quest_data/healer/healer_3 \ No newline at end of file diff --git a/data/aeternum/function/abilities/healer/10/mass_requiem.mcfunction b/data/aeternum/function/abilities/healer/10/mass_requiem.mcfunction index 2f2c872..694d4ef 100644 --- a/data/aeternum/function/abilities/healer/10/mass_requiem.mcfunction +++ b/data/aeternum/function/abilities/healer/10/mass_requiem.mcfunction @@ -2,4 +2,6 @@ execute if block ~ ~ ~ minecraft:barrel[facing=up,open=true]{CustomName:'{"text" execute unless entity @e[type=#taglib:hostile,distance=..7] run return run function aeternum:abilities/deny_v2 {en:10,translate:"aeternum.abilities.healer.requiem.deny"} playsound minecraft:block.amethyst_block.resonate player @a ~ ~ ~ -scoreboard players add @e[type=#taglib:hostile,distance=..7] aeternum.abilities.healer.10.mass_requiem.pulses 3 \ No newline at end of file +scoreboard players add @e[type=#taglib:hostile,distance=..7] aeternum.abilities.healer.10.mass_requiem.pulses 3 + +advancement grant @s only aeternum:quest_data/healer/healer_4 \ No newline at end of file diff --git a/data/aeternum/function/abilities/healer/10/sacrifice_2.mcfunction b/data/aeternum/function/abilities/healer/10/sacrifice_2.mcfunction index 0ea24d2..e21fe46 100644 --- a/data/aeternum/function/abilities/healer/10/sacrifice_2.mcfunction +++ b/data/aeternum/function/abilities/healer/10/sacrifice_2.mcfunction @@ -2,4 +2,7 @@ execute if block ~ ~ ~ minecraft:barrel[facing=up,open=true]{CustomName:'{"text" tag @s add aeternum.healer.10.sacrifice.temp execute at @s anchored eyes positioned ^ ^ ^.1 run function aeternum:abilities/healer/raycast/start -playsound minecraft:entity.evoker.cast_spell player @a ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.evoker.cast_spell player @a ~ ~ ~ + +advancement grant @s only aeternum:quest_data/healer/healer_3 +advancement grant @s only aeternum:quest_data/healer/healer_4 \ No newline at end of file diff --git a/data/aeternum/function/abilities/healer/2/heal_2.mcfunction b/data/aeternum/function/abilities/healer/2/heal_2.mcfunction index 97fc4ab..829c2bd 100644 --- a/data/aeternum/function/abilities/healer/2/heal_2.mcfunction +++ b/data/aeternum/function/abilities/healer/2/heal_2.mcfunction @@ -3,4 +3,6 @@ execute unless entity @p[distance=0.01..10] run return run function aeternum:abi execute as @p[distance=0.01..10] run effect give @s instant_health 1 1 true execute as @p[distance=0.01..10] run tellraw @s {"translate":"aeternum.abilities.healer.heal.message"} -playsound minecraft:entity.husk.converted_to_zombie player @a ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.husk.converted_to_zombie player @a ~ ~ ~ + +advancement grant @s only aeternum:quest_data/healer/healer_3 \ No newline at end of file diff --git a/data/aeternum/function/abilities/healer/2/requiem.mcfunction b/data/aeternum/function/abilities/healer/2/requiem.mcfunction index 5e1f686..65e6fd4 100644 --- a/data/aeternum/function/abilities/healer/2/requiem.mcfunction +++ b/data/aeternum/function/abilities/healer/2/requiem.mcfunction @@ -2,4 +2,6 @@ execute if block ~ ~ ~ minecraft:barrel[facing=up,open=true]{CustomName:'{"text" execute unless entity @n[type=#taglib:undead,distance=0.01..10] run return run function aeternum:abilities/deny_v2 {en:2,translate:"aeternum.abilities.healer.requiem.deny"} execute as @n[type=#taglib:undead,distance=0.01..10] run effect give @s minecraft:instant_health 1 -playsound minecraft:block.amethyst_block.resonate player @a ~ ~ ~ \ No newline at end of file +playsound minecraft:block.amethyst_block.resonate player @a ~ ~ ~ + +advancement grant @s only aeternum:quest_data/healer/healer_4 \ No newline at end of file diff --git a/data/aeternum/function/abilities/healer/4/greater_heal.mcfunction b/data/aeternum/function/abilities/healer/4/greater_heal.mcfunction index d44f324..4a31669 100644 --- a/data/aeternum/function/abilities/healer/4/greater_heal.mcfunction +++ b/data/aeternum/function/abilities/healer/4/greater_heal.mcfunction @@ -3,4 +3,6 @@ execute unless entity @a[distance=0.01..7] run return run function aeternum:abil effect give @a[distance=0.01..7] instant_health 1 1 execute as @a[distance=0.01..7] run tellraw @s {"translate":"aeternum.abilities.healer.heal.message"} -playsound minecraft:entity.husk.converted_to_zombie player @a ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.husk.converted_to_zombie player @a ~ ~ ~ + +advancement grant @s only aeternum:quest_data/healer/healer_3 \ No newline at end of file diff --git a/data/aeternum/function/abilities/healer/5/flying_heal.mcfunction b/data/aeternum/function/abilities/healer/5/flying_heal.mcfunction index 7a1c154..7028453 100644 --- a/data/aeternum/function/abilities/healer/5/flying_heal.mcfunction +++ b/data/aeternum/function/abilities/healer/5/flying_heal.mcfunction @@ -2,4 +2,6 @@ execute if block ~ ~ ~ minecraft:barrel[facing=up,open=true]{CustomName:'{"text" tag @s add aeternum.healer.5.flying_heal.temp execute at @s anchored eyes positioned ^ ^ ^.1 run function aeternum:abilities/healer/raycast/start -playsound minecraft:entity.evoker.cast_spell player @a ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.evoker.cast_spell player @a ~ ~ ~ + +advancement grant @s only aeternum:quest_data/healer/healer_3 \ No newline at end of file diff --git a/data/aeternum/function/abilities/healer/6/mass_heal.mcfunction b/data/aeternum/function/abilities/healer/6/mass_heal.mcfunction index 5c2d576..22c899c 100644 --- a/data/aeternum/function/abilities/healer/6/mass_heal.mcfunction +++ b/data/aeternum/function/abilities/healer/6/mass_heal.mcfunction @@ -4,4 +4,6 @@ execute unless entity @a[distance=0.01..5] run return run function aeternum:abil execute as @a[distance=0.01..5] run tellraw @s {"translate":"aeternum.abilities.healer.heal.message"} playsound minecraft:entity.husk.converted_to_zombie player @a ~ ~ ~ -effect give @a[distance=0.01..5] regeneration 60 2 \ No newline at end of file +effect give @a[distance=0.01..5] regeneration 60 2 + +advancement grant @s only aeternum:quest_data/healer/healer_3 \ No newline at end of file diff --git a/data/aeternum/function/abilities/healer/6/sacrifice_1.mcfunction b/data/aeternum/function/abilities/healer/6/sacrifice_1.mcfunction index 2d10e3d..d47d1b0 100644 --- a/data/aeternum/function/abilities/healer/6/sacrifice_1.mcfunction +++ b/data/aeternum/function/abilities/healer/6/sacrifice_1.mcfunction @@ -2,4 +2,7 @@ execute if block ~ ~ ~ minecraft:barrel[facing=up,open=true]{CustomName:'{"text" tag @s add aeternum.healer.6.sacrifice.temp execute at @s anchored eyes positioned ^ ^ ^.1 run function aeternum:abilities/healer/raycast/start -playsound minecraft:entity.evoker.cast_spell player @a ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.evoker.cast_spell player @a ~ ~ ~ + +advancement grant @s only aeternum:quest_data/healer/healer_3 +advancement grant @s only aeternum:quest_data/healer/healer_4 \ No newline at end of file diff --git a/data/aeternum/function/abilities/healer/7/divine_aura.mcfunction b/data/aeternum/function/abilities/healer/7/divine_aura.mcfunction index 6c16660..2dc10b1 100644 --- a/data/aeternum/function/abilities/healer/7/divine_aura.mcfunction +++ b/data/aeternum/function/abilities/healer/7/divine_aura.mcfunction @@ -2,4 +2,6 @@ execute if block ~ ~ ~ minecraft:barrel[facing=up,open=true]{CustomName:'{"text" # execute unless entity @e[type=#taglib:undead,distance=0.01..3] run return run function aeternum:abilities/deny_v2 {en:7,translate:"aeternum.abilities.healer.requiem.deny"} # playsound minecraft:block.amethyst_block.resonate player @a ~ ~ ~ -effect give @e[type=#taglib:undead,distance=0.01..5] wither 1 0 \ No newline at end of file +effect give @e[type=#taglib:undead,distance=0.01..5] wither 1 0 + +advancement grant @s only aeternum:quest_data/healer/healer_4 \ No newline at end of file diff --git a/data/aeternum/function/abilities/healer/7/holy_bullet.mcfunction b/data/aeternum/function/abilities/healer/7/holy_bullet.mcfunction index b66c008..a2e26c9 100644 --- a/data/aeternum/function/abilities/healer/7/holy_bullet.mcfunction +++ b/data/aeternum/function/abilities/healer/7/holy_bullet.mcfunction @@ -2,4 +2,6 @@ execute if block ~ ~ ~ minecraft:barrel[facing=up,open=true]{CustomName:'{"text" tag @s add aeternum.healer.7.holy_bullet.temp execute at @s anchored eyes positioned ^ ^ ^.1 run function aeternum:abilities/healer/raycast/start -playsound minecraft:entity.evoker.cast_spell player @a ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.evoker.cast_spell player @a ~ ~ ~ + +advancement grant @s only aeternum:quest_data/healer/healer_4 \ No newline at end of file diff --git a/data/aeternum/function/abilities/healer/8/hallowed_grounds_1.mcfunction b/data/aeternum/function/abilities/healer/8/hallowed_grounds_1.mcfunction index d95ca79..352c8e4 100644 --- a/data/aeternum/function/abilities/healer/8/hallowed_grounds_1.mcfunction +++ b/data/aeternum/function/abilities/healer/8/hallowed_grounds_1.mcfunction @@ -4,4 +4,6 @@ execute if score @s aeternum.abilities.healer.8.hallowed_grounds_1.cool matches scoreboard players set @s aeternum.abilities.healer.8.hallowed_grounds_1.cool 360 summon area_effect_cloud ~ ~ ~ {ReapplicationDelay:40,Radius:5f,RadiusPerTick:0f,RadiusOnUse:0f,Duration:400,DurationOnUse:0,potion_contents:{potion:"minecraft:regeneration",custom_color:16711756,custom_effects:[{id:"minecraft:regeneration",amplifier:0,duration:80}]}} -playsound minecraft:entity.evoker.prepare_summon player @a ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.evoker.prepare_summon player @a ~ ~ ~ + +advancement grant @s only aeternum:quest_data/healer/healer_3 \ No newline at end of file diff --git a/data/aeternum/function/abilities/healer/9/divine_aura_2.mcfunction b/data/aeternum/function/abilities/healer/9/divine_aura_2.mcfunction index 022a2e8..1b99335 100644 --- a/data/aeternum/function/abilities/healer/9/divine_aura_2.mcfunction +++ b/data/aeternum/function/abilities/healer/9/divine_aura_2.mcfunction @@ -1,3 +1,5 @@ execute if block ~ ~ ~ minecraft:barrel[facing=up,open=true]{CustomName:'{"text":"","extra":[{"text":"Class Table","italic":false},{"text":"\\u0003","font":"aeternum:gui"},{"text":"","font":"aeternum:gui","color":"white"}]}'} run return fail -effect give @e[type=#taglib:undead,distance=0.01..7] wither 1 1 \ No newline at end of file +effect give @e[type=#taglib:undead,distance=0.01..7] wither 1 1 + +advancement grant @s only aeternum:quest_data/healer/healer_4 \ No newline at end of file diff --git a/data/aeternum/function/abilities/healer/9/healing_beacon.mcfunction b/data/aeternum/function/abilities/healer/9/healing_beacon.mcfunction index 84dd91d..8251567 100644 --- a/data/aeternum/function/abilities/healer/9/healing_beacon.mcfunction +++ b/data/aeternum/function/abilities/healer/9/healing_beacon.mcfunction @@ -1,3 +1,5 @@ execute if block ~ ~ ~ minecraft:barrel[facing=up,open=true]{CustomName:'{"text":"","extra":[{"text":"Class Table","italic":false},{"text":"\\u0003","font":"aeternum:gui"},{"text":"","font":"aeternum:gui","color":"white"}]}'} run return fail -scoreboard players set @a[distance=..6] aeternum.abilities.healer.9.healing_beacon.time 6 \ No newline at end of file +scoreboard players set @a[distance=..6] aeternum.abilities.healer.9.healing_beacon.time 6 + +advancement grant @s only aeternum:quest_data/healer/healer_3 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/1/lumos.mcfunction b/data/aeternum/function/abilities/mage/1/lumos.mcfunction index 23b1f30..9a7fc57 100644 --- a/data/aeternum/function/abilities/mage/1/lumos.mcfunction +++ b/data/aeternum/function/abilities/mage/1/lumos.mcfunction @@ -7,4 +7,6 @@ execute at @s align xyz positioned ~0.5 ~ ~0.5 if block ~ ~ ~ #aeternum:pass_thr execute at @s align xyz positioned ~0.5 ~0.5 ~0.5 if block ~ ~ ~ #aeternum:pass_through run summon item_display ~ ~ ~ {Tags:["aeternum.abilities.mage.1.lumos.display"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[1f,1f,1f]},item:{id:"minecraft:player_head",count:1,components:{"minecraft:profile":{id:[I;-1010653781,1143096139,-1829013881,-970256111],properties:[{name:"textures",value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTI4ODU4MmJiYzJkN2QzMTA5NmU3NDBjMzVlYjY5MDBjMDdmOGY5YTJhNjM5YjNlMjZmNzk0MTc2YWMyNDhlYyJ9fX0="}]}}}} execute at @s align xyz positioned ~0.5 ~ ~0.5 if block ~ ~ ~ #aeternum:pass_through run scoreboard players set @n[tag=aeternum.abilities.mage.1.lumos.marker] aeternum.abilities.mage.1.lumos.cool 15 execute at @s align xyz positioned ~0.5 ~ ~0.5 if block ~ ~ ~ #aeternum:pass_through run setblock ~ ~ ~ light[level=8] -playsound minecraft:entity.illusioner.prepare_mirror block @a ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.illusioner.prepare_mirror block @a ~ ~ ~ +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/1/magic_bullet.mcfunction b/data/aeternum/function/abilities/mage/1/magic_bullet.mcfunction index a0e83c9..f78098e 100644 --- a/data/aeternum/function/abilities/mage/1/magic_bullet.mcfunction +++ b/data/aeternum/function/abilities/mage/1/magic_bullet.mcfunction @@ -4,4 +4,8 @@ execute if score @s aeternum.abilities.mage.1.magic_bullet.cool matches 1.. run scoreboard players set @s aeternum.abilities.mage.1.magic_bullet.cool 30 tag @s add aeternum.mage.1.magic_bullet.temp function aeternum:abilities/mage/raycast/start -playsound minecraft:entity.evoker.cast_spell player @a ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.evoker.cast_spell player @a ~ ~ ~ + +function aeternum:quests/data/mage/mage_3 {num:1} +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/10/astral_body.mcfunction b/data/aeternum/function/abilities/mage/10/astral_body.mcfunction index f053b24..da40c60 100644 --- a/data/aeternum/function/abilities/mage/10/astral_body.mcfunction +++ b/data/aeternum/function/abilities/mage/10/astral_body.mcfunction @@ -9,4 +9,6 @@ execute align xyz positioned ~0.5 ~ ~0.5 run summon interaction ~ ~ ~ {width:0f, execute align xyz positioned ~0.5 ~ ~0.5 run scoreboard players operation @n[type=interaction,tag=aeternum.abilities.mage.astral_marker] aeternum.player.id = @s aeternum.player.id playsound entity.evoker.prepare_attack block @a ~ ~ ~ tag @s add aeternum.abilities.mage.astral_marker -gamemode spectator \ No newline at end of file +gamemode spectator +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/10/magical_protector.mcfunction b/data/aeternum/function/abilities/mage/10/magical_protector.mcfunction index b1ce3ea..e83c8f0 100644 --- a/data/aeternum/function/abilities/mage/10/magical_protector.mcfunction +++ b/data/aeternum/function/abilities/mage/10/magical_protector.mcfunction @@ -2,4 +2,6 @@ execute if block ~ ~ ~ minecraft:barrel[facing=up,open=true]{CustomName:'{"text" execute if score @s aeternum.abilities.mage.10.magical_protector.cool matches 1.. run return run function aeternum:abilities/deny {en:10} scoreboard players set @s aeternum.abilities.mage.10.magical_protector.cool 30 -attribute @s minecraft:armor modifier add aeternum:abilities.mage.magical_protector 2 add_multiplied_total \ No newline at end of file +attribute @s minecraft:armor modifier add aeternum:abilities.mage.magical_protector 2 add_multiplied_total +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/10/power_of_magic.mcfunction b/data/aeternum/function/abilities/mage/10/power_of_magic.mcfunction index 97599da..57f67e2 100644 --- a/data/aeternum/function/abilities/mage/10/power_of_magic.mcfunction +++ b/data/aeternum/function/abilities/mage/10/power_of_magic.mcfunction @@ -7,4 +7,8 @@ execute as @s rotated as @s rotated ~ 0 run summon shulker_bullet ^1 ^1 ^2 {HasB execute as @s rotated as @s rotated ~ 0 run summon shulker_bullet ^ ^1 ^2 {HasBeenShot:1b, Steps:40,Tags:["aeternum.abilities.mage.10.power_of_magic.bullet"]} execute as @s rotated as @s rotated ~ 0 run summon shulker_bullet ^-1 ^1 ^2 {HasBeenShot:1b, Steps:40,Tags:["aeternum.abilities.mage.10.power_of_magic.bullet"]} playsound minecraft:entity.shulker.shoot player @a ~ ~ ~ -execute as @s rotated as @s rotated ~ 0 as @e[type=minecraft:shulker_bullet,tag=aeternum.abilities.mage.10.power_of_magic.bullet,sort=nearest,limit=3] at @s run data modify entity @s Target set from entity @n[type=#taglib:hostile] UUID \ No newline at end of file +execute as @s rotated as @s rotated ~ 0 as @e[type=minecraft:shulker_bullet,tag=aeternum.abilities.mage.10.power_of_magic.bullet,sort=nearest,limit=3] at @s run data modify entity @s Target set from entity @n[type=#taglib:hostile] UUID + +function aeternum:quests/data/mage/mage_3 {num:3} +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/10/reset.mcfunction b/data/aeternum/function/abilities/mage/10/reset.mcfunction index cceaad3..7fabb6a 100644 --- a/data/aeternum/function/abilities/mage/10/reset.mcfunction +++ b/data/aeternum/function/abilities/mage/10/reset.mcfunction @@ -3,4 +3,6 @@ execute if score @s aeternum.abilities.mage.10.reset.cool matches 1.. run return scoreboard players set @s aeternum.abilities.mage.10.reset.cool 1200 scoreboard players set @s aeternum.energy.bar_type.base 20 -playsound minecraft:item.mace.smash_ground player @s ~ ~ ~ \ No newline at end of file +playsound minecraft:item.mace.smash_ground player @s ~ ~ ~ +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/2/arcane_shield.mcfunction b/data/aeternum/function/abilities/mage/2/arcane_shield.mcfunction index 62695bd..9f036d2 100644 --- a/data/aeternum/function/abilities/mage/2/arcane_shield.mcfunction +++ b/data/aeternum/function/abilities/mage/2/arcane_shield.mcfunction @@ -4,3 +4,5 @@ execute at @s if block ~ ~-1 ~ #aeternum:pass_through run return run function ae scoreboard players set @s aeternum.abilities.mage.2.arcane_shield.range 5 execute positioned ^ ^ ^2 rotated ~ 0 run function aeternum:abilities/mage/2/shield_tick +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/2/book_bash.mcfunction b/data/aeternum/function/abilities/mage/2/book_bash.mcfunction index affaa32..7e8317e 100644 --- a/data/aeternum/function/abilities/mage/2/book_bash.mcfunction +++ b/data/aeternum/function/abilities/mage/2/book_bash.mcfunction @@ -10,4 +10,7 @@ scoreboard players set @s aeternum.abilities.mage.2.book_bash.cool 10 clear @s book 5 tag @s add aeternum.abilities.mage.book_bash.charged playsound minecraft:block.enchantment_table.use player @a ~ ~ ~ -tellraw @s {"translate":"aeternum.abilities.mage.book_bash.charged"} \ No newline at end of file +tellraw @s {"translate":"aeternum.abilities.mage.book_bash.charged"} +advancement grant @s only aeternum:quest_data/mage/mage_5 +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/3/fire_ball_1.mcfunction b/data/aeternum/function/abilities/mage/3/fire_ball_1.mcfunction index 5dcb470..a762843 100644 --- a/data/aeternum/function/abilities/mage/3/fire_ball_1.mcfunction +++ b/data/aeternum/function/abilities/mage/3/fire_ball_1.mcfunction @@ -3,4 +3,6 @@ execute if score @s aeternum.abilities.mage.3.fire_ball.cool matches 1.. run ret scoreboard players set @s aeternum.abilities.mage.3.fire_ball.cool 30 summon minecraft:fireball ^ ^0.8 ^2 -playsound minecraft:entity.blaze.shoot player @s ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.blaze.shoot player @s ~ ~ ~ +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/3/shiver.mcfunction b/data/aeternum/function/abilities/mage/3/shiver.mcfunction index d227c2b..28bb02d 100644 --- a/data/aeternum/function/abilities/mage/3/shiver.mcfunction +++ b/data/aeternum/function/abilities/mage/3/shiver.mcfunction @@ -4,3 +4,5 @@ execute unless entity @e[type=#taglib:hostile,distance=..6] run return run funct scoreboard players set @s aeternum.abilities.mage.3.shiver.cool 40 scoreboard players set @e[type=#taglib:hostile,distance=..6] aeternum.abilities.mage.3.shiver.cool 8 +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/4/fire_ball_2.mcfunction b/data/aeternum/function/abilities/mage/4/fire_ball_2.mcfunction index 5284435..115df4b 100644 --- a/data/aeternum/function/abilities/mage/4/fire_ball_2.mcfunction +++ b/data/aeternum/function/abilities/mage/4/fire_ball_2.mcfunction @@ -4,4 +4,6 @@ execute if score @s aeternum.abilities.mage.4.fire_ball.cool matches 1.. run ret scoreboard players set @s aeternum.abilities.mage.4.fire_ball.cool 30 summon minecraft:fireball ^ ^0.8 ^2 summon minecraft:fireball ^ ^0.8 ^2 -playsound minecraft:entity.blaze.shoot player @s ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.blaze.shoot player @s ~ ~ ~ +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/4/rocket_step.mcfunction b/data/aeternum/function/abilities/mage/4/rocket_step.mcfunction index 96fadfa..66ea076 100644 --- a/data/aeternum/function/abilities/mage/4/rocket_step.mcfunction +++ b/data/aeternum/function/abilities/mage/4/rocket_step.mcfunction @@ -7,4 +7,6 @@ tag @s add aeternum.abilities.mage.rocket_step.jump playsound minecraft:block.enchantment_table.use player @a ~ ~ ~ tellraw @s {"translate":"aeternum.abilities.mage.rocket_step.jump"} -scoreboard players set @s aeternum.abilities.mage.4.rocket_step.cool 30 \ No newline at end of file +scoreboard players set @s aeternum.abilities.mage.4.rocket_step.cool 30 +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/5/disco_spell.mcfunction b/data/aeternum/function/abilities/mage/5/disco_spell.mcfunction index 239d8ac..f8a3866 100644 --- a/data/aeternum/function/abilities/mage/5/disco_spell.mcfunction +++ b/data/aeternum/function/abilities/mage/5/disco_spell.mcfunction @@ -5,3 +5,5 @@ scoreboard players set @s aeternum.abilities.mage.5.disco_spell.cool 30 effect give @s resistance 1 255 true summon firework_rocket ~ ~1 ~ {LifeTime:0,FireworksItem:{id:"minecraft:firework_rocket",count:1,components:{"minecraft:fireworks":{explosions:[{shape:"large_ball",has_twinkle:true,has_trail:true,colors:[I;11743532,8073150,4312372,14602026,6719955,15435844],fade_colors:[I;11743532,8073150,4312372,14602026,6719955,15435844]}]}}}} +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/5/fire_ball_3.mcfunction b/data/aeternum/function/abilities/mage/5/fire_ball_3.mcfunction index fd31ec6..a50e59b 100644 --- a/data/aeternum/function/abilities/mage/5/fire_ball_3.mcfunction +++ b/data/aeternum/function/abilities/mage/5/fire_ball_3.mcfunction @@ -5,4 +5,6 @@ scoreboard players set @s aeternum.abilities.mage.5.fire_ball.cool 30 summon minecraft:fireball ^ ^0.8 ^2 summon minecraft:fireball ^ ^0.8 ^2 summon minecraft:fireball ^ ^0.8 ^2 -playsound minecraft:entity.blaze.shoot player @s ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.blaze.shoot player @s ~ ~ ~ +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/5/water_spell.mcfunction b/data/aeternum/function/abilities/mage/5/water_spell.mcfunction index 1600297..ffad490 100644 --- a/data/aeternum/function/abilities/mage/5/water_spell.mcfunction +++ b/data/aeternum/function/abilities/mage/5/water_spell.mcfunction @@ -4,4 +4,6 @@ execute if score @s aeternum.abilities.mage.5.water_spell.cool matches 1.. run r scoreboard players set @s aeternum.abilities.mage.5.water_spell.cool 30 tag @s add aeternum.mage.5.water.temp function aeternum:abilities/mage/raycast/start -playsound minecraft:entity.evoker.cast_spell player @a ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.evoker.cast_spell player @a ~ ~ ~ +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/6/rain.mcfunction b/data/aeternum/function/abilities/mage/6/rain.mcfunction index 761a576..25732be 100644 --- a/data/aeternum/function/abilities/mage/6/rain.mcfunction +++ b/data/aeternum/function/abilities/mage/6/rain.mcfunction @@ -3,4 +3,6 @@ execute if score @s aeternum.abilities.mage.6.rain.cool matches 1.. run return r scoreboard players set @s aeternum.abilities.mage.6.rain.cool 3600 execute if predicate {condition:"minecraft:random_chance",chance:{type:"minecraft:constant",value:0.5}} run weather rain -playsound minecraft:item.trident.return player @a ~ ~ ~ \ No newline at end of file +playsound minecraft:item.trident.return player @a ~ ~ ~ +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/6/shine.mcfunction b/data/aeternum/function/abilities/mage/6/shine.mcfunction index 55f8044..c357c6b 100644 --- a/data/aeternum/function/abilities/mage/6/shine.mcfunction +++ b/data/aeternum/function/abilities/mage/6/shine.mcfunction @@ -3,4 +3,6 @@ execute if score @s aeternum.abilities.mage.6.shine.cool matches 1.. run return scoreboard players set @s aeternum.abilities.mage.6.shine.cool 3600 execute if predicate {condition:"minecraft:random_chance",chance:{type:"minecraft:constant",value:0.3}} run weather clear -playsound minecraft:item.trident.return player @a ~ ~ ~ \ No newline at end of file +playsound minecraft:item.trident.return player @a ~ ~ ~ +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/6/storm.mcfunction b/data/aeternum/function/abilities/mage/6/storm.mcfunction index b1460cb..0fd6d41 100644 --- a/data/aeternum/function/abilities/mage/6/storm.mcfunction +++ b/data/aeternum/function/abilities/mage/6/storm.mcfunction @@ -2,5 +2,10 @@ execute if block ~ ~ ~ minecraft:barrel[facing=up,open=true]{CustomName:'{"text" execute if score @s aeternum.abilities.mage.6.storm.cool matches 1.. run return run function aeternum:abilities/deny {en:6} scoreboard players set @s aeternum.abilities.mage.6.storm.cool 3600 -execute if predicate {condition:"minecraft:random_chance",chance:{type:"minecraft:constant",value:0.1}} run weather thunder -playsound minecraft:item.trident.return player @a ~ ~ ~ \ No newline at end of file +execute if predicate {condition:"minecraft:random_chance",chance:{type:"minecraft:constant",value:0.9}} run return fail + +playsound minecraft:item.trident.return player @a ~ ~ ~ +weather thunder +advancement grant @s only aeternum:quest_data/mage/mage_4 +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/7/chainblinder.mcfunction b/data/aeternum/function/abilities/mage/7/chainblinder.mcfunction index b7b4add..2af10bf 100644 --- a/data/aeternum/function/abilities/mage/7/chainblinder.mcfunction +++ b/data/aeternum/function/abilities/mage/7/chainblinder.mcfunction @@ -5,4 +5,6 @@ execute unless entity @e[type=#taglib:hostile,distance=..6] unless entity @a[dis scoreboard players set @s aeternum.abilities.mage.7.chainblinder.cool 60 playsound minecraft:block.chain.place block @a ~ ~ ~ effect give @a[distance=0.01..6] minecraft:blindness 15 -effect give @e[type=#taglib:hostile,distance=0.01..6] minecraft:slowness 7 255 true \ No newline at end of file +effect give @e[type=#taglib:hostile,distance=0.01..6] minecraft:slowness 7 255 true +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/7/ring_of_fire.mcfunction b/data/aeternum/function/abilities/mage/7/ring_of_fire.mcfunction index db8bb5b..f78e564 100644 --- a/data/aeternum/function/abilities/mage/7/ring_of_fire.mcfunction +++ b/data/aeternum/function/abilities/mage/7/ring_of_fire.mcfunction @@ -5,4 +5,6 @@ scoreboard players set @s aeternum.abilities.mage.7.ring_of_fire.cool 420 execute align xyz run summon item_display ~ ~ ~ {item_display:"fixed",Tags:["aeternum.abilities.mage.7.ring_of_fire.marker"],item:{id:"minecraft:clock",count:1,components:{"minecraft:item_model":"aeternum:general/mage/circle"}}} execute align xyz run scoreboard players set @n[tag=aeternum.abilities.mage.7.ring_of_fire.marker] aeternum.abilities.mage.7.ring_of_fire.cool 21 playsound minecraft:entity.evoker.prepare_summon player @a ~ ~ ~ -effect give @s fire_resistance 30 0 true \ No newline at end of file +effect give @s fire_resistance 30 0 true +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/7/shockwave.mcfunction b/data/aeternum/function/abilities/mage/7/shockwave.mcfunction index 9d065d6..459a718 100644 --- a/data/aeternum/function/abilities/mage/7/shockwave.mcfunction +++ b/data/aeternum/function/abilities/mage/7/shockwave.mcfunction @@ -4,4 +4,6 @@ execute unless entity @e[type=#taglib:hostile,distance=..5] unless entity @a[dis scoreboard players set @s aeternum.abilities.mage.7.shockwave.cool 120 execute as @a[distance=0.01..5] at @s run summon creeper ~ ~ ~ {ExplosionRadius:-1b,Fuse:1s,ignited:true,Silent:1b,Invulnerable:1b,NoAI:1b} -execute as @e[type=#taglib:hostile,distance=..5] at @s run summon creeper ~ ~ ~ {ExplosionRadius:-1b,Fuse:1s,ignited:true,Silent:1b,Invulnerable:1b,NoAI:1b} \ No newline at end of file +execute as @e[type=#taglib:hostile,distance=..5] at @s run summon creeper ~ ~ ~ {ExplosionRadius:-1b,Fuse:1s,ignited:true,Silent:1b,Invulnerable:1b,NoAI:1b} +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/8/curse_ground.mcfunction b/data/aeternum/function/abilities/mage/8/curse_ground.mcfunction index d4e1a61..35056f3 100644 --- a/data/aeternum/function/abilities/mage/8/curse_ground.mcfunction +++ b/data/aeternum/function/abilities/mage/8/curse_ground.mcfunction @@ -3,4 +3,6 @@ execute if score @s aeternum.abilities.mage.8.curse_ground.cool matches 1.. run execute at @s if block ~ ~-1 ~ #aeternum:pass_through run return run function aeternum:abilities/deny_v2 {en:8,translate:"aeternum.abilities.mage.curse_ground.deny"} scoreboard players set @s aeternum.abilities.mage.8.curse_ground.cool 30 -summon minecraft:dragon_fireball ~ ~ ~ {Motion:[0.0,-1.0,0.0]} \ No newline at end of file +summon minecraft:dragon_fireball ~ ~ ~ {Motion:[0.0,-1.0,0.0]} +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/8/recall.mcfunction b/data/aeternum/function/abilities/mage/8/recall.mcfunction index 5655268..b540a4e 100644 --- a/data/aeternum/function/abilities/mage/8/recall.mcfunction +++ b/data/aeternum/function/abilities/mage/8/recall.mcfunction @@ -6,3 +6,5 @@ scoreboard players set @s aeternum.abilities.mage.8.recall.cool 2 execute unless entity @s[tag=aeternum.abilities.mage.recall_marker] run return run function aeternum:abilities/mage/recall_marker execute as @s[tag=aeternum.abilities.mage.recall_marker] at @s as @e[type=interaction,tag=aeternum.abilities.mage.recall_marker] if score @s aeternum.player.id = @p aeternum.player.id run function aeternum:abilities/mage/recall_success {a:"@p"} +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/8/up_and_away.mcfunction b/data/aeternum/function/abilities/mage/8/up_and_away.mcfunction index 1df7098..06eb9c2 100644 --- a/data/aeternum/function/abilities/mage/8/up_and_away.mcfunction +++ b/data/aeternum/function/abilities/mage/8/up_and_away.mcfunction @@ -5,4 +5,6 @@ execute unless entity @e[type=#taglib:hostile,distance=..6] unless entity @a[dis scoreboard players set @s aeternum.abilities.mage.8.up_and_away.cool 60 effect give @a[distance=0.01..6] minecraft:levitation 5 effect give @e[type=#taglib:hostile,distance=0.01..6] minecraft:levitation 5 -playsound minecraft:entity.shulker.shoot player @a ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.shulker.shoot player @a ~ ~ ~ +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/9/arcane_ward.mcfunction b/data/aeternum/function/abilities/mage/9/arcane_ward.mcfunction index b3d5802..9c72265 100644 --- a/data/aeternum/function/abilities/mage/9/arcane_ward.mcfunction +++ b/data/aeternum/function/abilities/mage/9/arcane_ward.mcfunction @@ -9,4 +9,6 @@ effect give @s minecraft:resistance 45 2 false effect give @s minecraft:resistance 50 1 false effect give @s minecraft:resistance 52 0 false -playsound minecraft:entity.allay.item_thrown player @s ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.allay.item_thrown player @s ~ ~ ~ +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/9/cryostasis.mcfunction b/data/aeternum/function/abilities/mage/9/cryostasis.mcfunction index a293a2d..69be3d7 100644 --- a/data/aeternum/function/abilities/mage/9/cryostasis.mcfunction +++ b/data/aeternum/function/abilities/mage/9/cryostasis.mcfunction @@ -12,4 +12,6 @@ execute align xyz positioned ~0.5 ~ ~0.5 run summon minecraft:interaction ~ ~ ~ attribute @s minecraft:movement_speed modifier add aeternum:abilities.mage.cryostasis -1000000000 add_value attribute @s minecraft:jump_strength modifier add aeternum:abilities.mage.cryostasis -1000000000 add_value effect give @s weakness 15 255 true -effect give @s resistance 15 255 true \ No newline at end of file +effect give @s resistance 15 255 true +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/9/cryostasis_remove.mcfunction b/data/aeternum/function/abilities/mage/9/cryostasis_remove.mcfunction index b7d1754..ae04c33 100644 --- a/data/aeternum/function/abilities/mage/9/cryostasis_remove.mcfunction +++ b/data/aeternum/function/abilities/mage/9/cryostasis_remove.mcfunction @@ -5,4 +5,4 @@ playsound minecraft:entity.player.hurt_freeze player @a ~ ~ ~ execute align xyz positioned ~0.5 ~ ~0.5 run kill @n[type=interaction,tag=aeternum.abilities.mage.cryostasis.interact] attribute @s minecraft:movement_speed modifier remove aeternum:abilities.mage.cryostasis -attribute @s minecraft:jump_strength modifier remove aeternum:abilities.mage.cryostasis \ No newline at end of file +attribute @s minecraft:jump_strength modifier remove aeternum:abilities.mage.cryostasis diff --git a/data/aeternum/function/abilities/mage/9/light_step.mcfunction b/data/aeternum/function/abilities/mage/9/light_step.mcfunction index 7031224..97df6c0 100644 --- a/data/aeternum/function/abilities/mage/9/light_step.mcfunction +++ b/data/aeternum/function/abilities/mage/9/light_step.mcfunction @@ -3,4 +3,6 @@ execute if score @s aeternum.abilities.mage.9.light_step.cool matches 1.. run re scoreboard players set @s aeternum.abilities.mage.9.light_step.cool 30 effect give @s slow_falling 120 -playsound minecraft:entity.armadillo.unroll_finish player @s ~ ~ ~ \ No newline at end of file +playsound minecraft:entity.armadillo.unroll_finish player @s ~ ~ ~ +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/mage/9/mass_recall.mcfunction b/data/aeternum/function/abilities/mage/9/mass_recall.mcfunction index a8910ab..b4cd476 100644 --- a/data/aeternum/function/abilities/mage/9/mass_recall.mcfunction +++ b/data/aeternum/function/abilities/mage/9/mass_recall.mcfunction @@ -6,3 +6,5 @@ scoreboard players set @s aeternum.abilities.mage.9.mass_recall.cool 2 execute unless entity @s[tag=aeternum.abilities.mage.recall_marker] run return run function aeternum:abilities/mage/recall_marker execute as @s[tag=aeternum.abilities.mage.recall_marker] at @s as @e[type=interaction,tag=aeternum.abilities.mage.recall_marker] if score @s aeternum.player.id = @p aeternum.player.id run function aeternum:abilities/mage/recall_success {a:"@a[distance=..5]"} +advancement grant @s only aeternum:quest_data/mage/mage_1 +advancement grant @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/abilities/rogue/6/poisoneer.mcfunction b/data/aeternum/function/abilities/rogue/6/poisoneer.mcfunction index 0087074..1696f7a 100644 --- a/data/aeternum/function/abilities/rogue/6/poisoneer.mcfunction +++ b/data/aeternum/function/abilities/rogue/6/poisoneer.mcfunction @@ -4,3 +4,4 @@ execute if score @s aeternum.abilities.rogue.6.poisoneer.cool matches 1.. run re scoreboard players set @s aeternum.abilities.rogue.6.poisoneer.cool 180 effect give @a[distance=..5] poison 10 1 effect give @e[type=#taglib:hostile,distance=..5] poison 12 1 +advancement grant @s only aeternum:quest_data/rogue/rogue_4 \ No newline at end of file diff --git a/data/aeternum/function/abilities/swordsman/9/blood_price.mcfunction b/data/aeternum/function/abilities/swordsman/9/blood_price.mcfunction index b860540..3dc4b43 100644 --- a/data/aeternum/function/abilities/swordsman/9/blood_price.mcfunction +++ b/data/aeternum/function/abilities/swordsman/9/blood_price.mcfunction @@ -8,3 +8,4 @@ damage @s 6 playsound entity.evoker.cast_spell player @a ~ ~ ~ scoreboard players set @s aeternum.abilities.swordsman.9.blood_price.cool 60 +advancement grant @s only aeternum:quest_data/swordsman/swordsman_4 \ No newline at end of file diff --git a/data/aeternum/function/load.mcfunction b/data/aeternum/function/load.mcfunction index 4d33c8e..15ba1d5 100644 --- a/data/aeternum/function/load.mcfunction +++ b/data/aeternum/function/load.mcfunction @@ -72,6 +72,7 @@ schedule function aeternum:abilities/cooldowns 1t replace schedule function aeternum:abilities/cooldowns_15s 1t replace function aeternum:abilities/load +function aeternum:quests/load execute as @a unless score @s aeternum.player.health_check matches -2147483648..2147483647 run damage @s 1 diff --git a/data/aeternum/function/quests/check.mcfunction b/data/aeternum/function/quests/check.mcfunction index 3b521c7..45669ce 100644 --- a/data/aeternum/function/quests/check.mcfunction +++ b/data/aeternum/function/quests/check.mcfunction @@ -24,4 +24,5 @@ $advancement grant @s only aeternum:quests/$(class)/$(id) start $scoreboard players set @s aeternum.player.quest_id $(num) $data modify storage pdb:main in.Aeternum.quests append value "$(id)" -function pdb:save_me \ No newline at end of file +function pdb:save_me +function aeternum:quests/reset \ No newline at end of file diff --git a/data/aeternum/function/quests/data/archer/archer_1.mcfunction b/data/aeternum/function/quests/data/archer/archer_1.mcfunction new file mode 100644 index 0000000..76a30bd --- /dev/null +++ b/data/aeternum/function/quests/data/archer/archer_1.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.archer_1.snowballs 1 +advancement revoke @s only aeternum:quest_data/archer/archer_1 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/archer/archer_2.mcfunction b/data/aeternum/function/quests/data/archer/archer_2.mcfunction new file mode 100644 index 0000000..b70db1a --- /dev/null +++ b/data/aeternum/function/quests/data/archer/archer_2.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.archer_2.reflects 1 +advancement revoke @s only aeternum:quest_data/archer/archer_2 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/archer/archer_3.mcfunction b/data/aeternum/function/quests/data/archer/archer_3.mcfunction new file mode 100644 index 0000000..6992b8c --- /dev/null +++ b/data/aeternum/function/quests/data/archer/archer_3.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.archer_3.kills 1 +advancement revoke @s only aeternum:quest_data/archer/archer_3 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/archer/archer_4.mcfunction b/data/aeternum/function/quests/data/archer/archer_4.mcfunction new file mode 100644 index 0000000..b0c534b --- /dev/null +++ b/data/aeternum/function/quests/data/archer/archer_4.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.archer_4.bullseyes 1 +advancement revoke @s only aeternum:quest_data/archer/archer_4 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/archer/archer_5.mcfunction b/data/aeternum/function/quests/data/archer/archer_5.mcfunction new file mode 100644 index 0000000..00e367b --- /dev/null +++ b/data/aeternum/function/quests/data/archer/archer_5.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.archer_5.shots 1 +advancement revoke @s only aeternum:quest_data/archer/archer_5 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/healer/healer_1.mcfunction b/data/aeternum/function/quests/data/healer/healer_1.mcfunction new file mode 100644 index 0000000..281e592 --- /dev/null +++ b/data/aeternum/function/quests/data/healer/healer_1.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.healer_1.data 1 +advancement revoke @s only aeternum:quest_data/healer/healer_1 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/healer/healer_2.mcfunction b/data/aeternum/function/quests/data/healer/healer_2.mcfunction new file mode 100644 index 0000000..59d840a --- /dev/null +++ b/data/aeternum/function/quests/data/healer/healer_2.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.healer_2.data 1 +advancement revoke @s only aeternum:quest_data/healer/healer_2 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/healer/healer_3.mcfunction b/data/aeternum/function/quests/data/healer/healer_3.mcfunction new file mode 100644 index 0000000..1363668 --- /dev/null +++ b/data/aeternum/function/quests/data/healer/healer_3.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.healer_3.data 1 +advancement revoke @s only aeternum:quest_data/healer/healer_3 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/healer/healer_4.mcfunction b/data/aeternum/function/quests/data/healer/healer_4.mcfunction new file mode 100644 index 0000000..99fcd12 --- /dev/null +++ b/data/aeternum/function/quests/data/healer/healer_4.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.healer_4.data 1 +advancement revoke @s only aeternum:quest_data/healer/healer_4 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/healer/healer_5.mcfunction b/data/aeternum/function/quests/data/healer/healer_5.mcfunction new file mode 100644 index 0000000..1905218 --- /dev/null +++ b/data/aeternum/function/quests/data/healer/healer_5.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.healer_5.data 1 +advancement revoke @s only aeternum:quest_data/healer/healer_5 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/mage/mage_1.mcfunction b/data/aeternum/function/quests/data/mage/mage_1.mcfunction new file mode 100644 index 0000000..b98ea99 --- /dev/null +++ b/data/aeternum/function/quests/data/mage/mage_1.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.mage_1.data 1 +advancement revoke @s only aeternum:quest_data/mage/mage_1 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/mage/mage_2.mcfunction b/data/aeternum/function/quests/data/mage/mage_2.mcfunction new file mode 100644 index 0000000..794727b --- /dev/null +++ b/data/aeternum/function/quests/data/mage/mage_2.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.mage_2.data 1 +advancement revoke @s only aeternum:quest_data/mage/mage_2 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/mage/mage_3.mcfunction b/data/aeternum/function/quests/data/mage/mage_3.mcfunction new file mode 100644 index 0000000..5613290 --- /dev/null +++ b/data/aeternum/function/quests/data/mage/mage_3.mcfunction @@ -0,0 +1,2 @@ +$scoreboard players add @s aeternum.quests.mage_3.data $(num) +advancement revoke @s only aeternum:quest_data/mage/mage_3 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/mage/mage_4.mcfunction b/data/aeternum/function/quests/data/mage/mage_4.mcfunction new file mode 100644 index 0000000..1f822d3 --- /dev/null +++ b/data/aeternum/function/quests/data/mage/mage_4.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.mage_4.data 1 +advancement revoke @s only aeternum:quest_data/mage/mage_4 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/mage/mage_5.mcfunction b/data/aeternum/function/quests/data/mage/mage_5.mcfunction new file mode 100644 index 0000000..4ff7de7 --- /dev/null +++ b/data/aeternum/function/quests/data/mage/mage_5.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.mage_5.data 1 +advancement revoke @s only aeternum:quest_data/mage/mage_5 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/rogue/rogue_1.mcfunction b/data/aeternum/function/quests/data/rogue/rogue_1.mcfunction new file mode 100644 index 0000000..6bcb611 --- /dev/null +++ b/data/aeternum/function/quests/data/rogue/rogue_1.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.rogue_1.data 1 +advancement revoke @s only aeternum:quest_data/rogue/rogue_1 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/rogue/rogue_2.mcfunction b/data/aeternum/function/quests/data/rogue/rogue_2.mcfunction new file mode 100644 index 0000000..a29f020 --- /dev/null +++ b/data/aeternum/function/quests/data/rogue/rogue_2.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.rogue_2.data 1 +advancement revoke @s only aeternum:quest_data/rogue/rogue_2 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/rogue/rogue_3.mcfunction b/data/aeternum/function/quests/data/rogue/rogue_3.mcfunction new file mode 100644 index 0000000..067b7b7 --- /dev/null +++ b/data/aeternum/function/quests/data/rogue/rogue_3.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.rogue_3.data 1 +advancement revoke @s only aeternum:quest_data/rogue/rogue_3 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/rogue/rogue_4.mcfunction b/data/aeternum/function/quests/data/rogue/rogue_4.mcfunction new file mode 100644 index 0000000..a0af847 --- /dev/null +++ b/data/aeternum/function/quests/data/rogue/rogue_4.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.rogue_4.data 1 +advancement revoke @s only aeternum:quest_data/rogue/rogue_4 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/rogue/rogue_5.mcfunction b/data/aeternum/function/quests/data/rogue/rogue_5.mcfunction new file mode 100644 index 0000000..a2f770c --- /dev/null +++ b/data/aeternum/function/quests/data/rogue/rogue_5.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.rogue_5.data 1 +advancement revoke @s only aeternum:quest_data/rogue/rogue_5 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/swordsman/swordsman_1.mcfunction b/data/aeternum/function/quests/data/swordsman/swordsman_1.mcfunction new file mode 100644 index 0000000..af4ea3f --- /dev/null +++ b/data/aeternum/function/quests/data/swordsman/swordsman_1.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.swordsman_1.data 1 +advancement revoke @s only aeternum:quest_data/swordsman/swordsman_1 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/swordsman/swordsman_2.mcfunction b/data/aeternum/function/quests/data/swordsman/swordsman_2.mcfunction new file mode 100644 index 0000000..9718daa --- /dev/null +++ b/data/aeternum/function/quests/data/swordsman/swordsman_2.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.swordsman_2.data 1 +advancement revoke @s only aeternum:quest_data/swordsman/swordsman_2 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/swordsman/swordsman_3.mcfunction b/data/aeternum/function/quests/data/swordsman/swordsman_3.mcfunction new file mode 100644 index 0000000..8779405 --- /dev/null +++ b/data/aeternum/function/quests/data/swordsman/swordsman_3.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.swordsman_3.data 1 +advancement revoke @s only aeternum:quest_data/swordsman/swordsman_3 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/swordsman/swordsman_4.mcfunction b/data/aeternum/function/quests/data/swordsman/swordsman_4.mcfunction new file mode 100644 index 0000000..b309401 --- /dev/null +++ b/data/aeternum/function/quests/data/swordsman/swordsman_4.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.swordsman_4.data 1 +advancement revoke @s only aeternum:quest_data/swordsman/swordsman_4 \ No newline at end of file diff --git a/data/aeternum/function/quests/data/swordsman/swordsman_5.mcfunction b/data/aeternum/function/quests/data/swordsman/swordsman_5.mcfunction new file mode 100644 index 0000000..b2d6f93 --- /dev/null +++ b/data/aeternum/function/quests/data/swordsman/swordsman_5.mcfunction @@ -0,0 +1,2 @@ +scoreboard players add @s aeternum.quests.swordsman_5.data 1 +advancement revoke @s only aeternum:quest_data/swordsman/swordsman_5 \ No newline at end of file diff --git a/data/aeternum/function/quests/load.mcfunction b/data/aeternum/function/quests/load.mcfunction new file mode 100644 index 0000000..e0a6d31 --- /dev/null +++ b/data/aeternum/function/quests/load.mcfunction @@ -0,0 +1,29 @@ +scoreboard objectives add aeternum.quests.archer_1.snowballs dummy +scoreboard objectives add aeternum.quests.archer_2.reflects dummy +scoreboard objectives add aeternum.quests.archer_3.kills dummy +scoreboard objectives add aeternum.quests.archer_4.bullseyes dummy +scoreboard objectives add aeternum.quests.archer_5.shots minecraft.used:minecraft.bow + +scoreboard objectives add aeternum.quests.swordsman_1.data dummy +scoreboard objectives add aeternum.quests.swordsman_2.data dummy +scoreboard objectives add aeternum.quests.swordsman_3.data dummy +scoreboard objectives add aeternum.quests.swordsman_4.data dummy +scoreboard objectives add aeternum.quests.swordsman_5.data dummy + +scoreboard objectives add aeternum.quests.rogue_1.data dummy +scoreboard objectives add aeternum.quests.rogue_2.data dummy +scoreboard objectives add aeternum.quests.rogue_3.data minecraft.custom:minecraft.jump +scoreboard objectives add aeternum.quests.rogue_4.data dummy +scoreboard objectives add aeternum.quests.rogue_5.data dummy + +scoreboard objectives add aeternum.quests.healer_1.data dummy +scoreboard objectives add aeternum.quests.healer_2.data dummy +scoreboard objectives add aeternum.quests.healer_3.data dummy +scoreboard objectives add aeternum.quests.healer_4.data dummy +scoreboard objectives add aeternum.quests.healer_5.data dummy + +scoreboard objectives add aeternum.quests.mage_1.data dummy +scoreboard objectives add aeternum.quests.mage_2.data dummy +scoreboard objectives add aeternum.quests.mage_3.data dummy +scoreboard objectives add aeternum.quests.mage_4.data dummy +scoreboard objectives add aeternum.quests.mage_5.data dummy \ No newline at end of file diff --git a/data/aeternum/function/quests/reset.mcfunction b/data/aeternum/function/quests/reset.mcfunction new file mode 100644 index 0000000..59493fe --- /dev/null +++ b/data/aeternum/function/quests/reset.mcfunction @@ -0,0 +1,29 @@ +scoreboard players reset @s aeternum.quests.archer_1.snowballs +scoreboard players reset @s aeternum.quests.archer_2.reflects +scoreboard players reset @s aeternum.quests.archer_3.kills +scoreboard players reset @s aeternum.quests.archer_4.bullseyes +scoreboard players reset @s aeternum.quests.archer_5.shots + +scoreboard players reset @s aeternum.quests.swordsman_1.data +scoreboard players reset @s aeternum.quests.swordsman_2.data +scoreboard players reset @s aeternum.quests.swordsman_3.data +scoreboard players reset @s aeternum.quests.swordsman_4.data +scoreboard players reset @s aeternum.quests.swordsman_5.data + +scoreboard players reset @s aeternum.quests.rogue_1.data +scoreboard players reset @s aeternum.quests.rogue_2.data +scoreboard players reset @s aeternum.quests.rogue_3.data +scoreboard players reset @s aeternum.quests.rogue_4.data +scoreboard players reset @s aeternum.quests.rogue_5.data + +scoreboard players reset @s aeternum.quests.healer_1.data +scoreboard players reset @s aeternum.quests.healer_2.data +scoreboard players reset @s aeternum.quests.healer_3.data +scoreboard players reset @s aeternum.quests.healer_4.data +scoreboard players reset @s aeternum.quests.healer_5.data + +scoreboard players reset @s aeternum.quests.mage_1.data +scoreboard players reset @s aeternum.quests.mage_2.data +scoreboard players reset @s aeternum.quests.mage_3.data +scoreboard players reset @s aeternum.quests.mage_4.data +scoreboard players reset @s aeternum.quests.mage_5.data \ No newline at end of file diff --git a/data/aeternum/function/tick/player_tick.mcfunction b/data/aeternum/function/tick/player_tick.mcfunction index 281d331..8e103a4 100644 --- a/data/aeternum/function/tick/player_tick.mcfunction +++ b/data/aeternum/function/tick/player_tick.mcfunction @@ -36,3 +36,4 @@ execute store result score @s aeternum.player.xp.level run data get entity @s Xp execute if score @s aeternum.player.xp.level > @s aeternum.player.xp.level.old run function aeternum:leveling/randomizer/root {n:10} execute store result score @s aeternum.player.xp.level.old run data get entity @s XpLevel +function aeternum:tick/quest_tick \ No newline at end of file diff --git a/data/aeternum/function/tick/quest_tick.mcfunction b/data/aeternum/function/tick/quest_tick.mcfunction new file mode 100644 index 0000000..dc287d3 --- /dev/null +++ b/data/aeternum/function/tick/quest_tick.mcfunction @@ -0,0 +1,34 @@ +# Archer +execute if score @s aeternum.player.quest_id matches 1 if score @s aeternum.quests.archer_1.snowballs matches 100.. run advancement grant @s only aeternum:quests/archer/archer_1 +execute if score @s aeternum.player.quest_id matches 2 if score @s aeternum.quests.archer_2.reflects matches 20.. run advancement grant @s only aeternum:quests/archer/archer_2 +execute if score @s aeternum.player.quest_id matches 3 if score @s aeternum.quests.archer_3.kills matches 10.. run advancement grant @s only aeternum:quests/archer/archer_3 +execute if score @s aeternum.player.quest_id matches 4 if score @s aeternum.quests.archer_4.bullseyes matches 3.. run advancement grant @s only aeternum:quests/archer/archer_4 +execute if score @s aeternum.player.quest_id matches 5 if score @s aeternum.quests.archer_5.shots matches 500.. run advancement grant @s only aeternum:quests/archer/archer_5 + +# Swordsman +execute if score @s aeternum.player.quest_id matches 6 if score @s aeternum.quests.swordsman_1.data matches 50.. run advancement grant @s only aeternum:quests/swordsman/swordsman_1 +execute if score @s aeternum.player.quest_id matches 7 if score @s aeternum.quests.swordsman_2.data matches 1.. run advancement grant @s only aeternum:quests/swordsman/swordsman_2 +execute if score @s aeternum.player.quest_id matches 8 if score @s aeternum.quests.swordsman_3.data matches 1.. run advancement grant @s only aeternum:quests/swordsman/swordsman_3 +execute if score @s aeternum.player.quest_id matches 9 if score @s aeternum.quests.swordsman_4.data matches 30.. run advancement grant @s only aeternum:quests/swordsman/swordsman_4 +execute if score @s aeternum.player.quest_id matches 10 if score @s aeternum.quests.swordsman_5.data matches 1.. run advancement grant @s only aeternum:quests/swordsman/swordsman_5 + +# Rogue +execute if score @s aeternum.player.quest_id matches 11 if score @s aeternum.quests.rogue_1.data matches 3.. run advancement grant @s only aeternum:quests/rogue/rogue_1 +execute if score @s aeternum.player.quest_id matches 12 if score @s aeternum.quests.rogue_2.data matches 12.. run advancement grant @s only aeternum:quests/rogue/rogue_2 +execute if score @s aeternum.player.quest_id matches 13 if score @s aeternum.quests.rogue_3.data matches 300.. run advancement grant @s only aeternum:quests/rogue/rogue_3 +execute if score @s aeternum.player.quest_id matches 14 if score @s aeternum.quests.rogue_4.data matches 7.. run advancement grant @s only aeternum:quests/rogue/rogue_4 +execute if score @s aeternum.player.quest_id matches 15 if score @s aeternum.quests.rogue_5.data matches 1.. run advancement grant @s only aeternum:quests/rogue/rogue_5 + +# Healer +execute if score @s aeternum.player.quest_id matches 16 if score @s aeternum.quests.healer_1.data matches 7.. run advancement grant @s only aeternum:quests/healer/healer_1 +execute if score @s aeternum.player.quest_id matches 17 if score @s aeternum.quests.healer_2.data matches 1.. run advancement grant @s only aeternum:quests/healer/healer_2 +execute if score @s aeternum.player.quest_id matches 18 if score @s aeternum.quests.healer_3.data matches 50.. run advancement grant @s only aeternum:quests/healer/healer_3 +execute if score @s aeternum.player.quest_id matches 19 if score @s aeternum.quests.healer_4.data matches 50.. run advancement grant @s only aeternum:quests/healer/healer_4 +execute if score @s aeternum.player.quest_id matches 20 if score @s aeternum.quests.healer_5.data matches 75.. run advancement grant @s only aeternum:quests/healer/healer_5 + +# Mage +execute if score @s aeternum.player.quest_id matches 21 if score @s aeternum.quests.mage_1.data matches 40.. run advancement grant @s only aeternum:quests/mage/mage_1 +execute if score @s aeternum.player.quest_id matches 22 if score @s aeternum.quests.mage_2.data matches 80.. run advancement grant @s only aeternum:quests/mage/mage_2 +execute if score @s aeternum.player.quest_id matches 23 if score @s aeternum.quests.mage_3.data matches 40.. run advancement grant @s only aeternum:quests/mage/mage_3 +execute if score @s aeternum.player.quest_id matches 24 if score @s aeternum.quests.mage_4.data matches 1.. run advancement grant @s only aeternum:quests/mage/mage_4 +execute if score @s aeternum.player.quest_id matches 25 if score @s aeternum.quests.mage_5.data matches 12.. run advancement grant @s only aeternum:quests/mage/mage_5 \ No newline at end of file