Questline

**Questline** is a complete quest system with NPCs, designed for RPG servers, adventure maps and modpacks. Everything is created and managed **in-game through graphical interfaces** — no file editing, no command knowledge required.

File Details

questline-1.0.8.jar

  • R
  • Jun 29, 2026
  • 219.82 KB
  • 44
  • 1.21.1
  • NeoForge

File Name

questline-1.0.8.jar

Supported Versions

  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:questline-1575366:8342259"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

English

✨ Auto-complete objectives – auto_complete

Quests can now complete automatically, without going back to the quest giver.

In the quest .json:

JSON
<button class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ring-offset-2 focus-visible:ring-offset-surface-primary disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 text-sm text-interactive-active hover:text-interactive-normal active:text-text-tertiary font-normal relative rounded-lg p-[6px]" type="button" data-state="closed" data-slot="tooltip-trigger"></button>
"auto_complete": true

In-game editor: Objectives tab → Auto-complete: ON / OFF

  • false – vanilla: talk to the NPC, click [Complete]
  • true – as soon as all objectives are met, rewards are given automatically

Works with kill / collect / goto / talk. Collect objectives are checked every second.


✨ Auto-propose next quest – Auto-propose next

When a quest finishes, the next one in the chain can be auto-proposed.

Quest A .json:

JSON
<button class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ring-offset-2 focus-visible:ring-offset-surface-primary disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 text-sm text-interactive-active hover:text-interactive-normal active:text-text-tertiary font-normal relative rounded-lg p-[6px]" type="button" data-state="closed" data-slot="tooltip-trigger"></button>
"next_quest": "questline:chapter_b",
"auto_accept_next": true

Quest B:

JSON
<button class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ring-offset-2 focus-visible:ring-offset-surface-primary disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 text-sm text-interactive-active hover:text-interactive-normal active:text-text-tertiary font-normal relative rounded-lg p-[6px]" type="button" data-state="closed" data-slot="tooltip-trigger"></button>
"prerequisites": ["questline:chapter_a"]

In-game editor: Objectives tab → Auto-propose next: ON / OFF

  • Old: "Quest unlocked" toast only
  • New: the next quest's intro dialog opens automatically, with [Accept] / [Decline] buttons. No forced auto-accept.

Combine with "auto_complete": true for a fully hands-free questline: objective done → auto turn-in → next quest dialog auto-opens → player chooses.


✨ Abandon quest

Players can now abandon an active quest, directly from the Quest Journal.

Journal → click an Active quest → red [Abandon] button

  • Progress lost, no cooldown, no penalty
  • Quest can be re-accepted immediately from the giver NPC
  • Notification: "Quest abandoned: <name>"

Server-side: DialogAction(questId, "abandon")


📖 Journal – Active / Completed / All tabs

The Quest Journal now has 3 tabs at the top:

  • Active – accepted quests, in progress or ready to turn in
  • Completed – finished quests, with xN counter for repeatables
  • All – full list


Français

✨ Quêtes auto-validables – auto_complete

Une quête peut maintenant se terminer toute seule, sans repasser par le PNJ.

Dans le .json :

JSON
<button class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ring-offset-2 focus-visible:ring-offset-surface-primary disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 text-sm text-interactive-active hover:text-interactive-normal active:text-text-tertiary font-normal relative rounded-lg p-[6px]" type="button" data-state="closed" data-slot="tooltip-trigger"></button>
"auto_complete": true

Éditeur en jeu : Onglet Objectifs → Auto-rendu : ON / OFF

  • false : comportement vanilla – il faut reparler au PNJ, bouton [Terminer]
  • true : dès que tous les objectifs sont remplis, récompenses distribuées automatiquement

Fonctionne avec kill / collect / goto / talk. Les objectifs collect sont vérifiés chaque seconde.


✨ Chaîne de quêtes auto-proposée – Proposer suite

Quand une quête se termine, la suivante peut s'ouvrir automatiquement.

Dans le .json de la quête A :

JSON
<button class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ring-offset-2 focus-visible:ring-offset-surface-primary disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 text-sm text-interactive-active hover:text-interactive-normal active:text-text-tertiary font-normal relative rounded-lg p-[6px]" type="button" data-state="closed" data-slot="tooltip-trigger"></button>
"next_quest": "questline:chapitre_b",
"auto_accept_next": true

Dans la quête B :

JSON
<button class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ring-offset-2 focus-visible:ring-offset-surface-primary disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 text-sm text-interactive-active hover:text-interactive-normal active:text-text-tertiary font-normal relative rounded-lg p-[6px]" type="button" data-state="closed" data-slot="tooltip-trigger"></button>
"prerequisites": ["questline:chapitre_a"]

Éditeur en jeu : Onglet Objectifs → Proposer suite : ON / OFF

  • Ancien : un simple toast "Quête débloquée"
  • Nouveau : le dialogue d'introduction de la quête suivante s'ouvre automatiquement, avec les boutons [Accepter] / [Refuser]. Pas d'acceptation forcée.

Combine avec "auto_complete": true pour une questline 100% fluide : objectif fini → récompense auto → dialogue suivant auto → le joueur choisit Accepter/Refuser.


✨ Abandon de quête

Un joueur peut maintenant abandonner une quête en cours, directement depuis son Journal.

Journal → clic sur une quête En cours → bouton rouge [Abandonner]

  • Progression perdue, pas de cooldown, pas de pénalité
  • Quête re-prenable immédiatement chez le PNJ donneur
  • Notification : "Quête abandonnée : <nom>"

Commande serveur interne : DialogAction(questId, "abandon")


📖 Journal – onglets En cours / Terminées / Toutes

Le Journal de quêtes a maintenant 3 onglets en haut de l'écran :

  • En cours – quêtes acceptées, en progression ou prêtes à rendre
  • Terminées – quêtes terminées, avec compteur xN pour les répétables
  • Toutes – vue complète