(join the discord to give feedback!)
- Beta release (v0.10.1 - Meta Info Fixes)
What's changed
- Moved to Paper! + Minecraft 1.21.6
-
add outline for EntityNPC type
-
add SelectEntity gui function
-
add serialising EntityNPC
-
fix checking EntityNPCs in BlockListener
-
add spawning EntityNPC
-
add dynamic particleFX above NPC
adjusts to entity height
-
add removing entityNPCs and fix untoggling not removing NPCs
-
fix getNPC null error when no NPCs
-
update to v0.10
-
update dependencies
-
add place button for EntityNPC
decouple from npctypes screen
-
add current location description to NPC relocate button
-
fix being able to use existing entity NPC for new
-
fix EntityNPCs not being client side
fixes https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/issues/150
-
add no overwrite option to loadQuests
-
add default quest title incase invalid or empty
-
fix never updating existing quest
-
add serialisable entity data
-
overhaul NPC tracking
-
fix NPC blocks not persisting on NoneAction
needs to run on the the main thread
-
fix unable to untoggle BlockNPC quests
-
fix copy-rename-maven-plugin code checking false positive
-
add .settings dir to .gitignore
-
improve plugin introduction
-
remove undefined entities
-
add rabbit entity support + some EntitySerialiser safety
-
add sheep entity support
-
add safety to serialising entity attributes from the string
-
fix opening quest editor causing background quest title prompt
-
remove unused import
-
add additional filtering entityNPC interactions
now filters on attributes (the serialisable data object)
-
add citizens2 to database v0.10 migration
-
add methods for citizens2 support check/set
-
add blocking quests with EntityNPCs if missing Citizens2 dependency
-
add soft depend on Citizens2
-
add citizen2 to pom
-
add citizens2 integration
-
remove unused imports
-
add LookClose trait to NPCs
-
add labels support for actions and stages
fixes https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/issues/154
-
Update quest diary to use action labels
-
add sorting for stages in 'next action editor'
fixes https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/issues/155
- update QuestAction and RequestItemListener to immediately check RequestItem
fixes https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/issues/157
- fix despawn task stopping when a citizens2 NPC not found
seems to fix https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/issues/156
- increased the amount of QuestAction slots
in the future, should probably do pagination
-
update README tables
-
fix innacurate 'not enough stock' on quest inventory
fixes https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/issues/159
-
add framework for complex items
-
simplify potion details
-
overhaul ItemSerialisable framework
-
fix clarity of TakeItemAction consent prompt
-
add ALLOWED_GENERIC_MATERIALS list to ItemData
fixes https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/issues/162
-
remove unused 'predefined variants'
-
add ItemSerialisable property purification
partly fixes https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/issues/163 -- you can see how in the screenshot in https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/issues/163 there is a case of POTION[material:POTION]. This should be impossible, this commit corrects this data on the fly. It will now read more like POTION[type:WATER]. YAY! 🎉
-
fix ItemData.AIR being used as a valid item
-
add a bunch of allowed generic ItemData materials
-
fix limitation on generic GUI items and RequestItem completion check
-
fix generic player inventory item match checking
-
add helper method for if player inventory hasRequiredItems
-
fix ugly ItemSerialisable names/displays
-
fix underscores breaking ItemSerialisable text formatting
-
update dependencies; support mc1.21.6
fixes https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/issues/164
- add support for generic item properties + replace SPIGOT w/ PAPER
fixes https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/issues/161 but replacing spigot creates https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/issues/165 and many deprecations that need to be replaced
-
update GUI and ChatUtils to 1.21.6
-
update ChatPrompt to Paper
-
add unintrusive drawFrame failure
-
fix SelectEntity exiting
-
fix ChatPrompt feedback
-
fix shared quest labels
-
fix quest inventory submit button
-
remove deprecated GUI title refresh
-
fix questdiary showing WHITE wool for tracked quests
something is wrong with new ItemSerialisable(Material.name())
-
migrate Dynamicquestdiary to paper
-
remove KeyHandler
-
add Material.NAME_TAG to allowed generic ItemData
-
migrate NPC name ChatPrompt to paper
-
migrate SelectMaterial to Paper
-
migrate TakeItemAction to Paper
-
remove unused @key annotation import
-
remove unused imports
-
migrate ItemData to Paper
-
fix Adventure.Component text decoration/styling leaking
-
fix quest title in GUI not updating after renaming quest
-
add sending message on quest editor save
fixes https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/issues/166
- fix string-based ItemSerialisable constructor
by resolving the ItemStack outside ItemData to avoid loss of properties data. Fixes https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/issues/167
-
remove leftover ChatColor usages
-
fix incorrect use of Component chaining
-
fix POTION deserialisation and all items inventory presentation
-
add annoying console message when quests not allowed
probably will be removed or moved if a verbose/debugging mode is added
-
fix citizen being hard dependency
-
fix quest editing jank before first manual save
..by just saving to registry/fs on creation
- add alternative method of refreshing UI with paper limitations
re-opening the current screen as an UpdateScreen. The UpdateScreen method is patched to not double up in history preserving the 'go back' functionality.
- fix unecessary newline after '[playerquests]'
(join the discord to give feedback!)
- Beta release (v0.10 - Entity NPC types)
What's changed
-
add SelectEntity gui function
-
add flexible particleFX height above NPC
-
add current location description to NPC relocate button
-
add default quest title incase invalid or empty
-
add serialisable entity data
-
overhaul NPC tracking
-
fix NPC blocks not persisting on NoneAction
-
fix unable to untoggle BlockNPC quests
-
fix copy-rename-maven-plugin code checking false positive
-
remove undefined entities
-
add rabbit entity support + some EntitySerialiser safety
-
add sheep entity support
-
add safety to serialising entity attributes from the string
-
fix opening quest editor causing background quest title prompt
-
add blocking quests with EntityNPCs if missing Citizens2 dependency
-
add citizens2 integration
-
add labels support for actions and stages
-
add sorting for stages in 'next action editor'
-
update QuestAction and RequestItemListener to immediately check RequestItem
-
increased the amount of QuestAction slots
(join the discord to give feedback!)
- Beta release (v0.9.1 - 'None' Action Patch)
What's changed
- fix being able to complete 'None' actions
- add 'None' action exclusion from clashing actions check/prompt
- remove checking completion of 'None' action
- add ignore to serialising all action validity checks
(join the discord to give feedback!)
- Beta release (v0.9 - More Action Types)
What's changed
-
add ActionTweaks
-
fix not null err for onUpdate
-
add ItemsOption
-
fix new release notif including snapshots
-
Add Request Item action (https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/pull/132)
-
Fix 'None' action not looping
-
add Reward Item action
-
add action stop when quest inventory out of stock
-
fix predictive inventory and out of stock UI
-
fix unhelpful missing stock message
-
Add Take Item action (https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/pull/131)
-
docs: update actions capabilities (https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/pull/134)
-
fix quest actions starting when already in progress and layering
-
add action failure support
-
add auto retry on TakeItem action failure
-
overhaul quest inventory management functions
-
fix refunding NPC that doesn't exist yet (item duplication bug)
-
add quest action consent
-
fix location breaking quest diary display
-
add holistic replace when quest renamed
-
add ordered actions to 'action selector' & 'next action editor'
-
add option to use any stages action in the 'Action Completion' condition
-
docs: add quest inventory to tutorial
-
encode quest inventory restocking video as looping
-
make npc optional for 'None' action
(join the discord to give feedback!)
- Beta release (v0.8 - Refactoring Actions)
What's changed
- v0.7 - Item Fetching Quests by @sammypanda in https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/pull/100
- Gut previous actions implementation by @sammypanda in https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/pull/110
- Refactor quest actions by @sammypanda in https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/pull/113
- Update docs for actions by @sammypanda in https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/pull/124
Full Changelog: https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/compare/v0.7...v0.8
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