Ascension Protocol
Configuration

Quest Configuration

quests.yml — quest definitions, penalties, streaks, contracts

Quest definitions live in plugins/AscensionQuests/quests.yml. Player progress lives in the shared ascension.db, never in YAML. Config is merged non-destructively on update (existing values are preserved; new keys are added).

Quest definition shape

quests:
  daily-training:
    type: DAILY                    # DAILY | WEEKLY | CONTRACT | RANK
    name: "&5[Daily Quest] &fPreparation to Become Strong"
    objectives:                    # all must complete
      - kind: KILL_DUNGEON_MOBS
        amount: 30
      - kind: CLEAR_GATES
        tier-at-least: E
        amount: 1
    ranks: [E, D, C]               # ranks eligible to receive it
    weight: 10                     # selection weight in the pool
    rewards:
      xp: 250
      money: 500                   # Vault; skipped if Vault absent
      quest-points: 1

Objective kinds

KindCounts
KILL_DUNGEON_MOBSRanked dungeon/wild mob kills (optional tier-at-least)
CLEAR_GATESGate clears (optional tier-at-least)
ENTER_GATESGate instance entries
EXTRACT_SHADOWSSuccessful shadow extractions
DEPOSIT_GUILD_BANKMoney deposited to guild bank (amount = money)
CRAFT_ITEMSEconomy recipe crafts
SELL_LOOTLoot sold (amount = total money value)
EARN_XPHunter XP earned (amount = xp)
WALK_BLOCKSBlocks travelled on foot (sampled — no per-move DB writes)
COLLECT_ITEMSPick up a specific dungeon loot item — requires item: <id> (e.g. venom_sac)

Objectives that require an absent plugin (e.g. gate objectives with AscensionGates missing) are excluded from the pool at load with a console note.

Rank quests (Path of the Hunter)

type: RANK quests form a persistent per-rank checklist. Every RANK quest whose ranks: list contains the player's current rank is assigned automatically, never rolls over, and marks off as its objectives finish — granting its reward (mostly XP) once. Make them harder and higher-XP for higher ranks; new quests unlock on rank-up.

quests:
  rank-d-into-the-depths:
    type: RANK
    name: "&b[D Rank] &fInto the Depths"
    objectives:
      - kind: CLEAR_GATES
        tier-at-least: D
        amount: 2
    ranks: [D]                     # the single rank this quest belongs to
    rewards:
      xp: 500
      money: 500
      quest-points: 1

  rank-d-venom-harvest:
    type: RANK
    name: "&b[D Rank] &fVenom Harvest"
    objectives:
      - kind: COLLECT_ITEMS
        item: venom_sac            # dungeon loot item id (see gates.yml loot ids)
        amount: 2
      - kind: KILL_DUNGEON_MOBS
        amount: 30
    ranks: [D]
    rewards:
      xp: 450
      money: 400

The suite ships a full E → Monarch set. Players open it with /quest ranks.

Behaviour settings

KeyDefaultDescription
daily.reset-time"04:00"Daily rollover, server timezone HH:mm
daily.penalty.modeDEBUFFDEBUFF | ZONE | NONE
daily.penalty.min-online-minutes30Only penalise players online at least this long
daily.penalty.debuff.effectsWEAKNESS:1, SLOWNESS:1Potion effects applied on penalty
daily.penalty.debuff.duration-minutes20Debuff duration
daily.penalty.zone.world""ZONE-mode world — must exist, else falls back to DEBUFF
daily.penalty.zone.survive-minutes5Survive this long to be released
daily.penalty.zone.x/y/z0/64/0ZONE teleport target
weekly.reset-dayMONDAYWeekly rollover day
contracts.max-active2Contracts a player may hold at once
contracts.board-size6Contracts visible on the board
contracts.abandon-cooldown-minutes30Cooldown after abandoning a contract
rank-quests.enabledtrueMaster switch for rank progression quests (Path of the Hunter)
rank-quests.announce-newtrueChat + sound notice when a rank's quests are first assigned
streaks.milestones7, 30Consecutive-day completion bonuses
messages.*System-style title/subtitle overrides (incl. rank-complete-title)

On this page