I don't recommend using the version attached with this update. It is incomplete!! <3
Spooky Season Check-in
Hai people! 🎃
I know this plugin doesn't have a lot of attention, but I want to make this just in case any people are curious what's happening or why a new version hasn't been posted for four weeks.
In the last version (v0.7) you are able manage where your action is in your quest with a 'sequence' that has: 'previous', 'current' and 'next' options.
Already that is sort of confusing to what it means. It also only allowed one action for each option. This made it basically impossible to do multiple endings or really anything fancy. All while being very complicated to understand.
This is going ba-bye, which thankfully since this plugin is small i don't think anyone will miss it. Also it looks like the change to quest templates shouldn't impact anyone, since bStats says only the test server is currently running PlayerQuests.
TL;DR / So what is replacing it?
I've chosen to redesign the ordering of actions with just simplicity in mind.
In the coming version (probably released next month) you will:
- Pick from a list of actions which ones come next.
- Have the ability to set conditions for when those actions can start / finish (such as: the time of day, or a set of required actions to have finished first).
Happy Halloween :)
(join the discord to give feedback!)
- Beta release (v0.7 - Item Fetching Quests)
Changelog
- Add gather item action (#99)
- Add bare implementation of GatherItem + quest action dev docs
- Add quest auto-save on item list exit
- Add take item action (#102)
- add 'Quest Inventory' w/ restocking (#104)
- Fix overuse of mutable lists
- Fix current quest not starting (#108)
(join the discord to give feedback!)
- Beta release (v0.6 - UX Enhancements)
Changelog
- Add simplified keywords: 'c' for confirm, and 'e'/'x' for exit (#93)
- Add lock for stages editor when no NPCs in the quest (#94)
- Add progressively saving a quest while editing (#95)
- Fix accuracy of quest upload/submit messages in console
- Fix unsynchronised access to activeFX lists
- Fix unsynchronised access to activeBlockNPCs lists
- Add console start and close fs watch service notifs
- Change NPC penalise/refund only on save
- Add quest save/reload on a quest NPC save
- Fix over-abstracted quest Save GUI function
- Fix unsynchronised actionNPC list
- Fix progressive saving regressions/bugs (#96)
- Add going back to original screen after changing any connection (prev, curr or next)
- Fix watcher trying to delete quest when it does not exist
- Add 'Remove connection' to sequence editor
- Add missing javadoc documentation
- Fix toggling w/o persistent toggle state
- Fix clutter in QuestRegistry
- Change quests to self-submit to registry
- Fix quest overwriting in registry
- Fix initialising quest progress sourced from db
- Fix untoggled quest FX showing on start/reload
- Fix NPCs spawning on top of other NPCs
- Fix submitting toggle to database when toggle fails
- Fix NPC block staying in world when NPC removed
- Improve readability of NPC collision message
(join the discord to give feedback!)
- Beta release (v0.5.1: Quest caching instead of real-time database, and other QOL fixes)
Changelog
- fix quest viewer thread blocking and/or communicate searching the filesystem for the quest
- add background quest loading with FS watcher
- fix when a quest is already toggled on reload, on remove, it doesn't remove from the diary
- fix when deleting a quest FX isn't updated
- fix quest diary entries duplicate when a quest is untoggled and retoggled
- fix listening for all player messages in ChatPrompt
- fix listening for all player block placing in SelectLocation
- fix cancelling chat when chat is a denied select method in SelectBlock
- fix concurrency issues with database
- remove quest progress tracking debug console logs
- fix un-started quests never added to new player quest diaries (regression)
- fix GUI clicks running for other players
- add closing GUI on server reload
- fix stage adding increment
- add StagePath for quest pointers
- add latest release alert
- add quest resources refunding
- cap quest actions to 12
- cap quest stages to 42
- fix order of stage list in quest stages menu
(join the discord to give feedback!)
- Beta release (v0.5: Metrics)
Changelog
- Update environment and maven dependencies
- fixed showing quest editor if quest title is empty string
- fixed invalid quest title still opening editor
- Update dependencies
- fixed 'action editor' option slots loop
- Add metrics with bStats
- Update docs to match with plugin pages
(join the discord to give feedback!)
- Beta release
Changelog
- updated 'How To Get Functionality' explainers/quest action plan
- added early quest expressions/templates
- removed duplicated 'How It All Works' section
- added re-arrange buttons for actions/stages
- added ARRANGE GUI mode
- disabled menu items put out of GUI (in ARRANGE mode)
- fixed taking items from GUI fixed methods incl: throwing out of inventory, using the dragging mechanism to bypass click block (and finally) holding the block and cancelling the inventory forcing it to default to the Player inventory instead of being destroyed. These issues were fixed respectively, except the last which has a safety net sort of method, where if the GUI is closed finally, it will loop through slots and remove any items tagged with GUI="true"
- re-toggling the re-arrange button back into the click gui mode, from arrange gui mode
- removed re-arrange buttons for stages/actions
- added 'Change Sequence' button to quest stage editor
- added a test/proof connectioneditor
- added unimplemented connectioneditor buttons
- added empty 'select connection' menu
- added 'Back' button to 'select connection' menu
- added placeholder stages for 'select connection'
- implement stages recursion in 'select connection'
- add label for 'select connection' stage buttons
- add action sub-menu outline to 'select connection'
- added back button to action sub-menu
- add actions recursion in 'select connection' sub-menu
- added setting connection data from 'connection editor'
- removed ConnectionsData debug message
- fix null getType in actiontypes/actioneditor
- added changing entry point for Quest
- fixed action in 'quest editor'
- improved 'quest stage' new action button
- fixed null diaryConnections on NPC interact
- NPC Types: Block -> (renamed to) BlockNPC This is a breaking change sadly, but it was hell bent on not interpreting the type data under a different simple name
- added connectioneditor to actioneditor
- indicate shared/global quests in myquests
- added heading to theirquests menus
- load up questbuilder npcs with setID()
- fixed UX: some back buttons being labelled 'Exit'
- fixed unable to 'exit' in select npc block mode
- beans-tester-bonus NPCs on the same y axis
- subpar fix: changing NPC locations
- clone quest from JSON rather than former QuestBuilder class
- removed unused quest expressions
- set recovered quests to default to not shown (untoggled)
- dividers for 'queststages' to dynamically cover first two columns
- broken: added 'add stage' button no support for multi-stage in quest diaries
- support for multi-stage in quest diaries
- add description field for GUI buttons
- Delete button on stage editor Includes confirmation, with checks to see if possible or if stage is depended on. Shows a gray button w/ 'Cannot Delete'. Also has a description of why, which should maybe be split on every nth whitespace.
- add a stage_0 if it doesn't already exist
- QuestBuilder.getStages() as LinkedList
- malformed quest handling improvements still might error out to console when the error comes from parsing the JSON in Quest.fromTemplateString()
- add 'unreadable quests' indicator w/ added GUISlot.setCount
- fixed regression with cloning quests
- fixed assigning NPC block, possible race condition usually stacks would interrupt the Listener unregistering slash cause the current re-opened GUI to dispose itself too early leading to a dead/broken GUI.
- replaced main GUI: static -> dynamic
- spring cleaning + update compiler to Java 22
- set instance on click for myquests list
- theoretical fix: GUI breaking with multiple players
- add instantiating builders map
- do not handle onClick at all for GUI if not isGUIInventory
- fix NPC interactions breaking with multiple players multiple players interacting; or more specifically multiple diary entries with the same quest. The issue was multiple records were being obtained when trying to get the players progress in the quest from the quest diaries (this was because it was just searching by quest name, not by quest name and diary ID)
- remove static GUI (GUI template) infrastructure removes all the JSON GUI template parsing mess
- fixed NPC 'speak' action: dialogue only showing after set
- extended NPC dialogue action, dialogue preview length
- fix empty dialogue breaking NPC speaking
- added quest action requirements + 'Speak' NPC requirement
- added NPC LocationData to validity check
- theoretical fix: add player to clearChat calls fixes #50
- fix clearChat failing when used before function 'setUp'
- added support for more data in BlockNPC.value (half-implemented) addresses, and basically fixes #46. But sophisticated data like custom player heads doesn't work due to a data bottleneck in NPC block selection/placement
- small fixes to quest template loading
- added catch-and-repair for missing data in myquests GUI
- fixed quest toggling removing quest from db
- added better message sending
- fixed queststage GUI behaviour when working with actions
- theoretical fix: jank when going to previous GUI from npctypes
- change some user-facing messages: ERROR -> WARN
- fixed untoggled quests adding to the QuestClient
- added PlayerQuests tutorial
- removed PLUGIN-CUTE.md template
- add the unsupported item actions to docs
- clarify 'Speak' action is not to the world
(join the discord to give feedback!)
- Beta release
Changelog
Feature: Persistent data
- Tracking quest players
- Restarting/reloading
- Quest sequences (like a looping multi-npc chat)
- Continuous quest progress!
Feature: Entry point stages and actions
- Changing which action is first in a quest stage
Feature: New 'Speak' NPC action type
- GUI 'Available Action Types' selection list
- Actions: None, Speak
- Defaults to None
- Adding actions to quest stages
Feature: Quest NPCs object, list and editor
- Creating and saving NPCs to a Quest
- Ability to set NPC Type to be a 'Block'
- Sparkly NPC (Blocks) to show you can interact with them!
- Quest blocks with 'Speak' action for dialogue
Not in a state to be used. Only for testing!
Changelog
Feature: Slot Positions added to GUI shells
As of be78b64 the slots.slot key (which describes the position in the GUI) is working <3
Right now the item is falling back to the default, which is grey stained glass pane (as to symbolise empty) and the default label or custom GUI label support has not been added.
Feature: Basic GUI shells implemented
As of 2ec08b5 the basics of GUIs is working. All that seems to be left on this for v0.2 is for the rest of the GUI components to be implemented!