questlines-core-1.16.0.jar
What's new
QuestLines Core – Version 1.16.0
━━━━━━━━━━━━━━━━━━━━━━
🆕 Features
• /ql import hycitizens - convert HyCitizens 2.0 dialogue trees into quests, wired to the citizens that played them.
• Quest boards are now configurable per board - title, layout, what a click does, and which card details show.
• Bounty boards - set a board to Actions mode and players start the quest straight from the ACCEPT button, with no dialogue.
• Quests can carry an Icon (an item id, or mob:EntityId for a creature) shown on their board card.
• Wave arenas can be limited to one run at a time - set Max Concurrent Runs in the wave editor and extra players are turned away instead of stacking a second horde on top of the first.
• personaltime: shows one player a different time of day - held at that hour or left to run on - while everyone else keeps the world's clock.
• vision:nofog removes fog for one player at a time.
• Action macros can have their own command - set Command on a macro and players run it as /yourcommand, gated on questlines.macro.command.yourcommand.
• Objective macros - write a set of objectives once and reuse it on any page with macro:name, with {1}/{2} filled per page (macro:hunt:Trork:5).
• givequestitem: can now carry journal presentation - givequestitem:ID:qty:name:line 1:line 2 renames the item in the journal and writes flavor lines under it, with the usual formatting tags.
• Scripts (beta) - write conversations and NPC behaviour as .qlscript files in QuestLines/scripts: dialogues with options, waits, NPC movement and control, and handlers for spawn, death and timers. Start one with script:name from any action list.
• MMOSkillTree quests now show in the quest HUD and /journal alongside your own, so players track everything in one place - track, claim and abandon them from the journal, bounties included. Needs MMOSkillTree 1.6 or newer; without it nothing changes.
🆕 Actions
• if: can now send a dialogue to another page - if:string:answer:equals:V::page:right::page:wrong branches on what the player typed, keeping the NPC's dialogue window open.
• setTarget:npc[:player|npc|clear] - order a Denizen to fight the player, another NPC, or stand down again.
🆕 Requirements
• timedExact: weekly gates can now reset on a chosen weekday - 7@mon resets every Monday instead of Thursday.
• weekday:day[,day...] - gate a page on the day of the week, e.g. weekday:sat,sun for weekends.
• arenaActive:arenaId - passes while a wave arena is already running, so the questgiver can offer a spectator seat instead of a second run.
• arenaRuns:arenaId:count - passes when at least that many runs of an arena are in flight.
• inArena[:arenaId] - passes while the player is in a wave arena, optionally a specific one.
• hasVision[:pattern] - passes while vision: is changing the player's weather.
⌨ Commands
• /ql script run, list, stop, reload and trace - start, inspect and debug scripts. Script errors also show in /ql validate.
🖥 UI
• The editor's MACROS tab gained a Command field for action macros, showing the permission the command will need.
• The MACROS tab can now create Objective macros alongside Action and Requirement ones.
• Quest boards gained four layouts - poster cards, a wrapped grid, wide rows and compact rows.
• Board cards now show quest status, rewards and an icon at a glance.
• The quest board editor is now tabbed, with a Settings tab for the board's look and behaviour, and a switch for the server-wide defaults.
• Board NPCs can be styled too - open Board Settings from the NPC editor's INFO tab.
• Quest boards are now fully themeable from the theme pack, cards and rows included.
• Theme packs can now move and resize the NPC portrait in the dialogue window, and the portrait follows the window when a theme resizes it.
• The journal's Quest Items tab now draws the real item slot with its rarity frame and a count badge, instead of a flat icon captioned x1.
• /ql config has a new Scripts tab for how fast scripts run and when a runaway script is stopped.
• /ql config has new MMOSkillTree quest switches: show them in the HUD and journal, include bounties, and hide MMOSkillTree's own tracker panel so quests are not drawn twice.
• The editor's help panel has a Scripts section covering script: and the basics of writing a script.
🆕 Variables
• {arena:ID:active}, {arena:ID:runs}, {arena:ID:slots} and {arena:ID:max} - put a wave arena's live state into quest text.
• {vision} and {vision:active} - put the player's current vision: override into quest text.
• {personaltime}, {personaltime:active} and {personaltime:frozen} - put the time a player is being shown into quest text.
• {citizen:self:displayname} - use it as a page's NPC name and the page shows the name of whichever NPC it is on (a Denizen's nameplate text).
🆕 Page Settings
• Window Title - put the speaker's name, or any text, in the dialogue window's title bar instead of the quest title.
• Hide NPC Name - drop the name line above the dialogue text once the name lives in the title bar.
⚙ Optimizations
• Shrank the quest board and quest sign texture sheet, so it uses less memory.
🐛 Fixes
• A page's Secondary Portrait is now saved - it was silently dropped every time the quest was written.
• An arena's Blocked Message is now shown to the player when the arena refuses to start - it could be written and saved, but nothing ever used it.
• Achievements gated on where you are standing, like the biome ones, now unlock as you walk in.
• Achievement cards now show progress for counter goals such as relics searched and reforges.
• Board NPCs now prompt "view quest board" instead of "talk".
• Clicking an NPC now always registers, including clicks the client sends as part of an interaction already under way.
• Max Concurrent Runs now holds when several players click start at the same moment - the ones turned away no longer run the rest of the response's actions, so they no longer get the doors opened and the title card as if they had got in.
• A wave arena run that the player walks out of, by leaving the world entirely, now ends instead of holding one of the arena's run slots until the next restart.
• A wave arena that refuses to start now says so in the console, including which arena is full and how many runs are in flight, so a cap that looks like it is doing nothing can be told apart from a cap that was never set.
• startArena with an arena id that does not exist now logs a warning listing the ids that do - the action used to do nothing at all, silently.
• QuestLines Core now really loads without QuestLines Icons installed - the 1.15.1 fix still failed at startup.
🧪 API
• startScript and registerScriptVerb - start a script from another plugin, or add your own script verbs.
Support Development
If you would like to help support development:
https://ko-fi.com/redstoner
https://www.patreon.com/c/RedStoner_Pro
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include

