QuestLines Core

Create dynamic quests and dialogs with this powerful plugin.

File Details

questlines-core-1.12.2.jar

  • R
  • Jun 2, 2026
  • 25.31 MB
  • 99
  • Early Access

File Name

questlines-core-1.12.2.jar

Supported Versions

  • Early Access

QuestLines Core – Version 1.12.2
━━━━━━━━━━━━━━━━━━━━━━

🆕 Features
• Player armor checks
    └ New armor: requirement and {armor:...} variables read the player's currently-worn armor from the ECS; surfaced in the /ql req/action wizard.

• Default example quests
    └ Fresh installs now seed seven worked-example quests from the wiki Quest Patterns guide into QuestLines/quests/ on first startup:
        └ Goblin Hunt (kill quest)
        └ The Lost Relic (item turn-in)
        └ Words of the Elder (branching dialogue hub)
        └ Daily Reward (cooldown gating)
        └ The Courier Run (timed quest)
        └ Bounty Board (random assignment + two sub-quests)
        └ The Ancient Ritual (multi-NPC chain via tag steps).

• Safe tp landings
    └ tp: now loads the destination chunk and adjusts the landing to safe ground (clear, non-lava, solid footing), scanning up then down. Fail-open: keeps the requested spot if no safe spot is found or the chunk can't load.

• Daily login streaks
    └ Per-player consecutive-day login counter, persisted across restarts and surfaced via {streak} vars and streak:/longeststreak: requirements. Rewards are configured in QuestLines/loginstreak.json - daily, exact-day milestone, every-N-day, streak-broken, and grace action lists (any action string). Day boundary is UTC, shiftable with ResetOffsetHours.
    └ Configurable GraceDays forgives N missed days before a streak resets (0 = strict); GraceActions fire when a gap is forgiven.

🆕 Actions
• setstreak:N - set the player's current login streak (raises all-time best if higher).
• resetstreak - clear the player's current login streak back to zero.

🆕 Requirements
• timedExact:key:[days:]hour:minute - added optional leading days to reset the gate every N days instead of daily (e.g. weekly_boss:7:8:0 for weekly), epoch-anchored. Omitting days keeps the original daily behavior; existing configs unchanged.

• armor:slot[:pattern] - gates on worn armor.
    └ slot is head/chest/hands/legs or the pseudo-slots any/full.
    └ No pattern = slot must hold an item
    └ any = at least one piece
    └ full = all four
    └ Pattern supports wildcards
        └ e.g. Armor_Iron_*

• streak:days - current daily login streak is at least N days.
• longeststreak:days - all-time best login streak is at least N days.

🆕 Variables
• {armor:slot} - item id worn in the head/chest/hands/legs slot (empty if none).
• {armor:count} - number of armor pieces equipped (0-4).
• {armor:full} - true/false, whether all four armor slots are filled.
• {timedexact:key:[days:]hour:minute} - time until the next timedExact reset boundary as a readable duration, or "ready" when the requirement currently passes. Same format/cycle as the requirement.
• {random:end} / {random:start:end} - random whole number (0..end or start..end, both inclusive; negatives ok).
• {random:[a,b,c]} - picks one entry at random from a comma-separated list.
• {streak} / {streak:longest} / {streak:next} - current login streak, all-time best, and next configured milestone day.

Support Development
If you would like to help support development:
https://ko-fi.com/redstoner
https://www.patreon.com/c/RedStoner_Pro