QuestLines Core

Create dynamic quests and dialogs with this powerful plugin.

File Details

questlines-core-1.12.1.jar

  • R
  • May 30, 2026
  • 25.27 MB
  • 163
  • Early Access

File Name

questlines-core-1.12.1.jar

Supported Versions

  • Early Access

QuestLines Core – Version 1.12.1
━━━━━━━━━━━━━━━━━━━━━━

🆕 Features
• Morph support
    └ Morph players into other creatures from a quest (morph: / unmorph:), detect the current morph (ismorph req, {morph} vars), and count morph/unmorph events.
    └ Detection is source-agnostic - it also recognises morphs from the in-game morph potions.
    └ Surfaced in the /ql req/action wizard; morph state is transient (players rejoin un-morphed).

• The TP action will now teleport the players mount with them

• Response input fields
    └ Dialogue responses can prompt for text or number input via InputKey + InputType (optional InputPlaceholder / InputRequired).
    └ Typed value saved as a string variable and readable via {string:key} / {variable:key} and the existing string: / variable: req/actions.
    └ Editable in /ql and the web editor.

• Smart req/action wizard upgrades
    └ Every param slot now has a searchable dropdown for enumerable ids (Quest, Item, Block, Entity, Role, Page, Achievement, Arena, Sound, Macro).
    └ Per-param tooltip and a full description of the selected req/action.
    └ track: action's Type slot lists every tracker type.
    └ Targets picker auto-switches to the matching catalog (entity/item/block) with a leading * (any) entry.
    └ Multi-target [a,b] lists still use the manual Add field.

• Trigger Volumes
    └ Quests can react to Hytale's built-in trigger volumes and mutate them at runtime.
    └ Volumes are authored via Hytale's tools/prefabs - no Core editor or JSON config.
    └ Registers effect questlines:actions and condition questlines:requirement; see md/triggervolumes.md.

🆕 Actions
• morph:ModelId[:durationSeconds] - morph the player into another creature model (direct model swap, like the morph potions); optional auto-revert after N seconds.
• unmorph - revert a QuestLines morph, restoring the original model.
• createVolume:ID:box|sphere:... - register a new trigger volume with enter/exit action lists and tags.
• deleteVolume / enableVolume / disableVolume / modifyVolumeTags - mutate existing trigger volumes.

🆕 Requirements
• timeFrom:key:op:duration - compares elapsed time since setTimestamp:key against a duration (op: greater|less|equal|greaterOrEqual|lessOrEqual; duration as seconds or 60s/5m/2h/1d). False if the key was never stamped.
• inVolume:id (or [a,b,c]) - player is inside a Hytale trigger volume (wildcards ok).
• volumeTag:key[:value] - player is inside any volume carrying the matching tag.
• ismorph:pattern - player is currently morphed into a creature whose model id (or effect id) matches the pattern (* = any). Detects both morph: swaps and effect-driven morphs like potions.

🆕 Variables
• {timefrom:key} - elapsed time since setTimestamp:key as a readable duration (e.g. "1h 5m 3s"); empty if never stamped.
• {volume:ID:active|exists|tags|playercount} - state of a trigger volume.
• {morph} / {morph:active} / {morph:effect} - current morph model id / whether morphed / source effect id.

🎯 Trackers
• volumeenter / volumeexit - count player enters/exits per volume id.
• morph / unmorph - count morph/unmorph events (target = morph model id). Source-agnostic - counts potion morphs too.

🆕 Data Storage
• Quest JSON files now omit fields left at their default value - smaller, cleaner files. Existing quests are trimmed automatically on their next save/reload; loading is unaffected.

🐛 Fixes
• Missing translations for the Questboards