35 leaves one blank, 36 fills all except the bottom row
increment version: 0.5 -> 0.5.1
fix UI blocking when loading new quests in myquests
added stability to fix
add registering fs+db quests at onLoad
fixed onLoad quest fs exception message
add tolerance for instantiating without a demo quest
adds creating quest template dir at start always
add comment for handling RELOAD
fixed complexity of myquests loading
breaks the in-game/realtime database/data folders init. Also requires reload for new quest files (this can be addressed by attaching some fs watcher elsewhere, that would be more efficient)
fixed overcorrecting in myquests
will move data correction to a watcher, probably in ServerListener. Will be more performant, and way more out of your face/overcomplicated.
fixed monolithic ServerListener.onLoad
add early outline for fs watch-and-repair
also includes making the ServerListener less untidy + using onDisable over ServerLoadEvent.RELOAD, as a more reliable method. We still need to implement the repair part of the watch-and-repair.
add quest auto submit and delete (w/ fs watcher)
fix small concurrency issues in db write/read
fixed some delays with synchronous code (breaks some things due to db locking)
see issue #67 for fixing the regression in this commit
added QuestClient/QuestDiary data caching
Previously the data for Quests would all come from the database, but this went bad when too many tasks were happening and there were concurrency issues; #67. There are still concurrency issues, but it no longer breaks usage (just restoring data from previous session after reloads/restarts). The database now should only be used for 'preserving' state between reloads/restarts. It would make sense to maybe just run the Database on one thread, all in order (but idk, that's my assumption ~ maybe other things like transactions would be fine but not that i know of immediately).
add db migration query for v0.5.1
fixed capturing other player input in SelectBlock
fixed NPC block break + retoggling
fixed saving when removing action from stage
fixed quest toggling
fix quest untoggling after reload
fixes #70
add informative Quest string representation
shows the [class + class hash = quest id]
fixed in-world (Block) NPCs carrying old Quest references
An older reference to a quest that has now been replaced with a new reference, is effectively a different quest and so shows duplicated actions. Fixes #72
patch incorrect quest fetched on NPC interaction (inefficient)
inefficient patch for #73
fix incorrect quest fetched on NPC interaction
improvement over bb323b7 for issue #73, closes #73
fixed listening for all player messages in ChatPrompt
fixed listening for all player block placing in SelectLocation
fixed cancelling chat when chat is a denied select method in SelectBlock
to explain this: SelectBlock has select by Chat, select by Hit and select by Inventory. Those aren't the exact things, check SelectMethod if you want to see the actual ones. But basically, the chat listener didn't know it should allow chat to not be cancelled if it's not an allowed method of selecting a block.
remove redundant closes when using try-with-resources
fixed concurrency issues with database
this marks durable quest progress and data, despite reloads and restarts
remove quest progress tracking debug console logs
fixed un-started quests never added to new player quest diaries
remove TODO: un-started quest duplication testing
fix GUI clicks running for other players
add closing GUI on server reload
saves from being able to take items from the GUI when it's no longer being listened to.
fixed stage adding increment
stage_11 -> stage_2
add StagePath for quest pointers
For example something like action_0, is now stage_0.action_0. Obvious reason being how would you know otherwise whether it's action_0 in stage_0 or action_0 in stage_1. Fixes #74
fix incorrect getAction() return value for StagePath classes
remove double-up: adding quests to each players 'Quest Diary'
Fixes an issue where if you join super early or reload a little unlucky, it will put a Quest into your diary based on the start of the quest (even if you have progress). This change works because QuestDiary's load the quests into themselves (when they are ready, since conveniently QuestRegistry is a neatly accessible singleton).
fix unordered stages list in Quest Stages menu
This would break creating new stages
increase quest stages limit to 42
explicitly cap quest actions limit to 12
this is a good thing to change, with the proper support for changing it
create quest refund (w/ usage on quest deletion)
refund NPC on remove/re-assign
add alerting when latest release doesn't match current
… (#76)
35 leaves one blank, 36 fills all except the bottom row
increment version: 0.5 -> 0.5.1
fix UI blocking when loading new quests in myquests
added stability to fix
add registering fs+db quests at onLoad
fixed onLoad quest fs exception message
add tolerance for instantiating without a demo quest
adds creating quest template dir at start always
add comment for handling RELOAD
fixed complexity of myquests loading
breaks the in-game/realtime database/data folders init. Also requires reload for new quest files (this can be addressed by attaching some fs watcher elsewhere, that would be more efficient)
will move data correction to a watcher, probably in ServerListener. Will be more performant, and way more out of your face/overcomplicated.
fixed monolithic ServerListener.onLoad
add early outline for fs watch-and-repair
also includes making the ServerListener less untidy + using onDisable over ServerLoadEvent.RELOAD, as a more reliable method. We still need to implement the repair part of the watch-and-repair.
add quest auto submit and delete (w/ fs watcher)
fix small concurrency issues in db write/read
fixed some delays with synchronous code (breaks some things due to db locking)
see issue #67 for fixing the regression in this commit
Previously the data for Quests would all come from the database, but this went bad when too many tasks were happening and there were concurrency issues; #67. There are still concurrency issues, but it no longer breaks usage (just restoring data from previous session after reloads/restarts). The database now should only be used for 'preserving' state between reloads/restarts. It would make sense to maybe just run the Database on one thread, all in order (but idk, that's my assumption ~ maybe other things like transactions would be fine but not that i know of immediately).
add db migration query for v0.5.1
fixed capturing other player input in SelectBlock
fixed NPC block break + retoggling
fixed saving when removing action from stage
fixed quest toggling
fix quest untoggling after reload
fixes #70
shows the [class + class hash = quest id]
An older reference to a quest that has now been replaced with a new reference, is effectively a different quest and so shows duplicated actions. Fixes #72
inefficient patch for #73
improvement over bb323b7 for issue #73, closes #73
fixed listening for all player messages in ChatPrompt
fixed listening for all player block placing in SelectLocation
fixed cancelling chat when chat is a denied select method in SelectBlock
to explain this: SelectBlock has select by Chat, select by Hit and select by Inventory. Those aren't the exact things, check SelectMethod if you want to see the actual ones. But basically, the chat listener didn't know it should allow chat to not be cancelled if it's not an allowed method of selecting a block.
remove redundant closes when using try-with-resources
fixed concurrency issues with database
this marks durable quest progress and data, despite reloads and restarts
remove quest progress tracking debug console logs
fixed un-started quests never added to new player quest diaries
remove TODO: un-started quest duplication testing
fix GUI clicks running for other players
add closing GUI on server reload
saves from being able to take items from the GUI when it's no longer being listened to.
stage_11 -> stage_2
For example something like action_0, is now stage_0.action_0. Obvious reason being how would you know otherwise whether it's action_0 in stage_0 or action_0 in stage_1. Fixes #74
fix incorrect getAction() return value for StagePath classes
remove double-up: adding quests to each players 'Quest Diary'
Fixes an issue where if you join super early or reload a little unlucky, it will put a Quest into your diary based on the start of the quest (even if you have progress). This change works because QuestDiary's load the quests into themselves (when they are ready, since conveniently QuestRegistry is a neatly accessible singleton).
This would break creating new stages
increase quest stages limit to 42
explicitly cap quest actions limit to 12
this is a good thing to change, with the proper support for changing it
create quest refund (w/ usage on quest deletion)
refund NPC on remove/re-assign
add alerting when latest release doesn't match current