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.
Back to Files

questline-1.0.9.jar

File namequestline-1.0.9.jar
Uploader
az1_57az1_57
Uploaded
Aug 24, 2026
Downloads
118
Size
217.2 KB
Mod Loaders
NeoForge
File ID
8726615
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:questline-1575366:8726615"

Learn more about Curse Maven

What's new

🇬🇧 English

Near-instant skin loading

🧑‍🎨 Skins

  • Immediate server send: the skin is sent to the client as soon as the
    NPC enters the player's range
     (join, spawn, approach). No more waiting
    several seconds on the vanilla appearance.
  • Client-side disk cache: every downloaded skin is kept in
    config/questline/skin_cache/. On reconnect or game restart, skins appear
    instantly, with no download at all.
  • Shared textures: several NPCs using the same skin URL download it only
    once (a single download for the whole server).
  • Parallel downloads: up to 4 skins downloaded simultaneously, connection
    timeout reduced to 4 s.
  • Automatic resend every 30 seconds if a download failed (self-recovery).

Invulnerable NPCs are ignored by mobs

🧟 Mob behavior

  • An invulnerable NPC is now completely ignored by mobs: they never
    target it and drop aggro if they were already attacking it (even if you
    enable invulnerability mid-fight).
  • non-invulnerable NPC can still be attacked by mobs as usual.
  • Players still cannot damage an invulnerable NPC.
  • New design lever: toggle "Invulnerable" in the admin panel to choose whether
    an NPC should be untouchable or threatened.

Security fixes, network stability and improvements (recommended update)

🛡️ Security — critical exploits fixed

  • God mode fixed: a modified client could send a forged packet and make
    any entity (including themselves) invulnerable and frozen. The mod no
    longer attaches an NPC configuration to entities that don't already have
    one, and the default configuration is no longer invulnerable.
  • Reward duplication fixed: a modified client could accept and complete
    any quest in a loop to duplicate rewards, including reward commands
    executed with OP permission
    . The server now verifies that a dialog was
    actually opened with the NPC, that the NPC is nearby (≤ 16 blocks) and
    offers the quest, and that cooldown / repeatable rules are respected.
  • Reward commands logged: every executed command is now traced in the
    server log (audit).
  • Hardened skin downloads: HTTPS only, local/private addresses blocked,
    size limited (1 MB), dimensions checked.

🔌 Network stability — "Connection reset" crash fixed

  • The codec for large JSON payloads (quest list, dialogs, journal) was capped
    at 32,767 characters: on large servers the packet failed and kicked
    players
     when opening the admin panel or creating a quest. New limit:
    2 MB.
  • Client-side dialog parsing can no longer crash the game: invalid JSON shows
    a neutral window instead of throwing an exception.
  • All network handlers (client → server) are guarded: an error is logged
    server-side instead of killing the player's connection.

⚡ Performance

  • NPC name/marker packets (NpcNamesNpcMarkers) are no longer sent in a
    loop (previously up to 4 packets/second/player), but only when their content
    changes.
  • Skins are no longer resent periodically when unchanged.

✨ Improvements & content

  • Item textures added: admin wand, quest journal and NPC eggs are now
    colored and recognizable in the inventory.
  • 3 example quests shipped with the mod (welcome / exploration / hunt) —
    ready-to-adapt templates, visible in the admin panel.
  • Translated admin commands (FR/EN): no more hardcoded text.
  • The "collect" objective now also counts the offhand.
  • Reward failure messages are now shown to the player.

🇫🇷 Français

 Chargement des skins quasi instantané

🧑‍🎨 Skins

  • Envoi immédiat côté serveur : le skin est transmis au client dès que le
    PNJ entre à portée
     du joueur (connexion, apparition, approche). Fini
    l'attente de plusieurs secondes sur l'apparence vanilla.
  • Cache disque côté client : chaque skin téléchargé est conservé dans
    config/questline/skin_cache/. À la reconnexion ou au relancement du jeu,
    les skins s'affichent instantanément, sans téléchargement.
  • Textures partagées : plusieurs PNJ utilisant la même URL de skin ne la
    téléchargent qu'une seule fois (un seul téléchargement pour tout le
    serveur).
  • Téléchargements en parallèle : jusqu'à 4 skins téléchargés simultanément,
    délai de connexion réduit à 4 s.
  • Renvoi automatique toutes les 30 s en cas d'échec de téléchargement
    (reprise sans action).

Les PNJ invulnérables sont ignorés par les mobs

🧟 Comportement des mobs

  • Un PNJ invulnérable est désormais totalement ignoré par les mobs :
    ils ne le prennent jamais pour cible et abandonnent l'aggro s'ils
    l'attaquaient déjà (y compris si vous activez l'invulnérabilité en plein
    combat).
  • Un PNJ non invulnérable reste attaquable normalement par les mobs.
  • Les joueurs ne peuvent toujours pas blesser un PNJ invulnérable.
  • Nouveau levier de design : activez/désactivez « Invulnérable » dans le
    panneau admin pour choisir si un PNJ doit être intouchable ou menacé.

Correctifs de sécurité, stabilité réseau et améliorations (mise à jour recommandée)

🛡️ Sécurité — failles critiques corrigées

  • God mode corrigé : un client modifié pouvait envoyer un paquet falsifié
    et rendre n'importe quelle entité (y compris lui-même) invulnérable et
    figée
    . Le mod n'attache plus jamais de configuration de PNJ à une entité
    qui n'en possède pas déjà une, et la configuration par défaut n'est plus
    invulnérable.
  • Duplication de récompenses corrigée : un client modifié pouvait accepter
    et terminer n'importe quelle quête en boucle pour dupliquer les récompenses,
    y compris les commandes-récompenses exécutées en permission OP. Le
    serveur vérifie désormais qu'un dialogue a réellement été ouvert avec le
    PNJ, que le PNJ est proche (≤ 16 blocs) et propose bien la quête, et que le
    cooldown / caractère répétable est respecté.
  • Commandes-récompenses journalisées : chaque commande exécutée est
    désormais tracée dans le log serveur (audit).
  • Téléchargement des skins durci : HTTPS uniquement, adresses
    locales/privées bloquées, taille limitée (1 Mo), dimensions vérifiées.

🔌 Stabilité réseau — crash « Connection reset » corrigé

  • Le codec réseau des payloads JSON volumineux (liste de quêtes, dialogues,
    journal) était plafonné à 32 767 caractères : sur les gros serveurs, le
    paquet échouait et déconnectait les joueurs au moment d'ouvrir le
    panneau admin ou de créer une quête. Nouveau plafond : 2 Mo.
  • Le parsing des dialogues côté client ne peut plus faire planter le jeu : un
    JSON invalide affiche une fenêtre neutre au lieu de lever une exception.
  • Tous les handlers réseau (client → serveur) sont protégés : une erreur est
    journalisée dans le log serveur au lieu de tuer la connexion du joueur.

⚡ Performances

  • Les paquets de noms/marqueurs des PNJ (NpcNamesNpcMarkers) ne sont
    plus envoyés en boucle (jusqu'à 4 paquets/seconde/joueur), mais uniquement
    quand leur contenu change.
  • Les skins ne sont plus renvoyés périodiquement s'ils n'ont pas changé.

✨ Améliorations et contenu

  • Textures d'objets ajoutées : baguette admin, journal de quêtes et œufs
    de PNJ désormais colorés et reconnaissables dans l'inventaire.
  • 3 quêtes d'exemple livrées avec le mod (bienvenue / exploration /
    chasse) — des gabarits prêts à adapter, visibles dans le panneau admin.
  • Commandes admin traduites (FR/EN) : plus aucun texte codé en dur.
  • L'objectif « collect » compte désormais aussi la main secondaire.
  • Les messages d'erreur d'échec de récompense sont affichés au joueur.

This mod has no additional files