- Bugfixes in some versions
- Removed SkillAPI and ProSkillAPI integrations in favor of Fabled
- Added support for Minecraft 1.21(.1)
- Fixed issues with world patterns resetting during quest edition
- Added
/quests resetPool <pool id>
command, which works in a similar manner to the/quests resetQuest
command: it removes all data for all players for the specified pool - Made the "keep player data" button always visible when editing a quest in the creation GUI. Its old behavior was too confusing.
- Updated wrong vietnamese translation
- Updated LevelledMobs integration
- Added selectors (such as @a) support for
/quests scoreboard show/hide <player>
- Fixed bugs with BlueMap
- Fixed bugs with WildLoaders
- Fixed wrong NPC name displayed in dialog history
- Fixed bug in "place blocks" or "break blocks" editor with non-item blocks (such as Cocoa)
- MythicMobs can now serve as NPCs!
To be used properly that way, each MythicMob that serves as an NPC must have at most 1 active mob. If more than 1 mob are spawned, then the behavior is undefined.
- Added StackMob integration to count all the mobs in a mob stack when killing them
- Added configuration options for the 3 tabs of the /quests menu. You can now customize the icon and the color of the separator bar. Default values:
# - Quests Menu - # Options related to the "/quests" menu questsMenu: # Configuration of the tabs in the menu tabs: # This tab shows the quests the player has previously completed. finished: # Whether the tab will appear in the menu enabled: true # The icon in the bar at the right icon: BOOK # The color of the vertical separator (if enabled) color: GREEN # This tab shows the quests currently being done by the player. in progress: enabled: true icon: WRITABLE_BOOK color: YELLOW # This tab shows the quests the player can start. not started: enabled: true icon: PAPER color: RED
- Allow "none" as a message for "bring items" stage to disable the "Bring me xxx" message
- Fixed wrong playername displayed when resetting player datas
- Fixed exception in Particle Effect GUI
- Fixed exception when having Eat/Dring stages
- Fixed some issues with "Kill NPC" stage
- Added some more metrics on integrations
- Fixed particles that can be seen where they should not (across worlds)
- Fixed issues with WorldGuard and global regions
- Fixed "play time" stage showing negative progress with long time spans
- Fixed issues with WorldGuard showing wrong world in editor
- "Breed animals" stage now works with entities that lay eggs (turtles and frogs)
- Fixed UnsupportedOperationException when dropping a custom item in the GUI
- Fixed "done" button in "create command" GUI not being properly refreshed
- Fixed locale files sometimes being completely reset in case of syntax errors
- Fixed pool start message not being sent to the command sender
- Added some methods in the API to manually change a player's running stage
- Fixed "bring xxx items" wrongly numbered
- Added support for 1.20.5 and 1.20.6
- Fixed issues in /quests menu
- Changed icons used in the right bar of the menu
- Updated UltimateTimber integration to 3.0.0
- Caught some errors when loading accounts
- Updated a lot of translations
- Fixed plugin not starting on 1.8
- Fixed missing items and blocks on 1.20.3 and 1.20.4
- Fixed impossible to edit min/max values for "random rewards"
- Added support for PostgreSQL databases
- Optimized WorldGuard integration
- Added advanced "mustBeHighest" option for region requirement
- Fixed "scoreboard" requirement
- Fixed some dialog lines not having placeholders parsed
- Fixed outdated migration to DB algorithm
- Fixed bugs when filling entirely a page of rewards or requirements
- Fixed errors when running the plugin on Java 8
- Updated translations
- Added Finish and Danish translations
- Added support for 1.20.3 and 1.20.4
- Scoreboard scores at the right are no longer shown in those versions
- Added some logging to understand issues with inventories
- Fixed custom mob name and minimum level not being updated in the GUI while editing mobs to kill
- Added a "DISABLED" mention to the "validation requirements" button of the "wait some time" stage
- Fixed the NPC selection editor not working for "kill mobs" stage
- Fixed error popping in console when scoreboards failed to enable
- Made plugin extra resilient to lack of data for a stage
- Added player selector support for pool start command
- Fixed dynmap integration not working
- Added offline modes to "play time" stage
- Fixed item creator GUI not refreshing properly
- Players cannot place quest items as blocks anymore
- When setting "none" as the custom stage description, the stage will no longer appear in the scoreboard if there are other stages to branch with (this allows to make hidden stages)
- Added some customization to the GUIs:
- Previous page and next page buttons can now be configured separately as two configuration settings in the new "gui" section (see below)
- You can now customize more deeply the page item, for instance, by adding custom model data to them
- Added a new configuration setting "vertical separator" that can be used to remove the column of glass pane in most GUIs. This gives 5 more slots to show objects.
# - GUIs-
# Some options related to graphical user interfaces
gui:
# Previous page item
previous page item: ARROW
# Next page item
next page item: ARROW
# Show a vertical separator made of glass pane between the items pane and the arrow buttons
vertical separator: true
Here is an example of utilisation of the new options, as well as a texture pack and custom fonts:
- Fixed issues with 1.20.2 (including scoreboard support)
- Placeholders should now be parsed everywhere
- Reworked quest selection GUI (the menu that appears when a player clicks on an NPC): the description, rewards and requirements of quests are now shown. It is also now more configurable:
# - Quest selection -
# Options related to the behavior when a player click on an NPC which has associated quests
questsSelection:
# If enabled, the "choose a quest from this NPC" GUI will not open if there is only 1 quest attached to the NPC
skip gui if only one quest: true
# Hide quests from the GUI if the requirements are not met
hide quests without requirement: true
- Fixed blockdata editor not working
- Fixed particle GUI not showing up-to-date data
- Fixed
/quests edit
not working properly when clicking on an NPC - Fixed
/quests edit
not working properly when editing a quest with branches - Added support for ZNPCsPlus 2.0
Changelog
Code-wise:
- Completely separated the api, the features and the integrations in different modules. This will help future development, and will make extension development easier for external developers.
- Rewritten most of the plugin to allow more flexbility in future features. This means cleaner code, less bugs and hopefully a performance boost!
- Deployed javadocs and sources artifacts of the API on the Maven repository
NPCs integrations:
- Having an NPC plugin is no longer mandatory to use BeautyQuests :) This means anybody can now simply download the plugin and run it without any dependency to add.
- You can now have NPCs from multiple NPCs plugins. For instance, some of your NPCs come from Citizens, and some others from ZNPCs. Changed how most stages handle progress:
- all stages that have some kind of progress can now have a progress bar (e.g. "eat food", "craft items" or "play time")
- you can now configure much more finely the description of stages with progress in config.yml
- added integration for ZNPCsPlus
- upgraded support for ZNPCs from 3.6 to 4.2
Placeholders:
- All placeholders in strings are now named and no longer indexed.
- For instance:
Level {short_level} for {job_name}
replacedLevel {0} for {1}
- This is 1. much more easier to understand when translating the plugin
- And 2. an amazing thing to allow much more personalized messages, because there are now many different placeholders for every message.
Rewards/requirements
- By popular request, the remove button for rewards and requirements from middle-click to shift + left-click :)
- Added a way to configure the reason sent in the chat when a player wants to start a quest but does not meet a requirement
- Added a way to configure the description of rewards and requirements in the quest description shown in the menu
- Fixed issue with requirement reason order
Misc. changes:
- The GPS integration has been removed and is now a tracker in the expansion
- The
skillAPIoverride
config.yml option has been deleted. Instead, a new reward type has been created: "SkillAPI XP Rreward" - Placeholders are now parsed by default in command rewards
- Checkpoints are now using the "quest flow" feature to follow the path players have taken during the quest
- Changed middle-click to shift-left-click to remove items from GUIs
- Added
%beautyquests_quest_restartable_ID%
placeholder to get whether a quest is restartable or not - Added support for 1.20, 1.20.1 and 1.20.2
- Added MMOItems item comparison
- Fixed multiple exceptions
- Fixed an issue with the "parse placeholders" option of "write in chat" stage not working
- Added "max messages per history page" dialog option in config.yml
- Changed some quest pool give logic, this will probably fix issues with the "avoid duplicates" pool option. This will also allow users to use the "yes/no" GUI to accept or not quests from the pool!
Warnings
This is a beta. Because there are more than 30'000 lines of code that has changed, precaution must be taken. Do not use this version on a production server. Make a backup before upgrading. Expect your integrations to break. Extensions will break (BeautyQuestsAddon for instance, but I'm working with its author to update is quickly). Once you've upgraded to 1.0, you cannot go back to 0.20 or 0.21. If you are using the expansion, PM me so I'll send you a compatible version.
I did my best to make all migrations happen automatically, but some points of caution must be taken:
- some strings will look weird, because of the placeholders system that has changed. Your best bet is to completely delete the /plugin/BeautyQuests/locales directory before upgrading.
- because you can now have multiple NPC plugins, the format in which the npc ids are stored has changed. Migration should happen automatically, but you may have some warnings in console if NPCs are nowhere found.
- as previously stated, the
skillAPIoverride
option has been deleted. If you've been using it, you must therefore replace your "vanilla" XP rewards with the new SkillAPI XP reward. - many options in config.yml have been renamed or moved. It should happen automatically but... who knows? Backup config.yml as well!
Changelog:
- Added support for 1.19.3 and 1.19.4
- Added lot of debug logs for player data loading
- Updated lot of translations, added Brazilian Portuguese translations
- Added the {3} placeholder for stageDescriptionItemsSplit.amountFormat config option. It represents the progression as a percentage.
- Added "skip npc gui if only one quest" config option, which defaults on "true"
- Added "hide unknown quest placeholders" scoreboard config parameter, which allows to hide lines such as ones containing the {quest_time_limit} placeholder from the Expansion when the current quest does not have a time limit
- Made block type name customizable for Mine/Place blocks stages.
- Helpful when using block tags such as minecraft:iron_ores, now you can have the counter with a pretty name such as "Iron Ores".
- Refactored how stage with progression work internally (kill mobs, eat/fish/enchant/melt items, place/break blocks).
- Code is now cleaner and will allow more customization in the future.
- Migration will happen automatically.
- Once quests are migrated, there is no way to come back unless you restore a backup.
- Updated "kill mobs" and "mine/place blocks" stage edition GUIs to allow more than 8 mobs.
- Added "ItemsAdder ID" item comparison for "bring/craft/melt/enchant/fish/eat/drink items" stages
- Added "none" keyword to the "asking message" editor for "bring items" stage
- Internally reworked data management to be handled fully asynchronously => it will prevent the server from crashing when the database connection is lost :)
- Added the /quests pools start <player> <pool> command
- Moved /quests resetPlayerPool to /quests pools resetPlayer
Fixes:
- Fixed issues in 1.8
- Fixed "quest limit" feature not working correctly
- Fixed issues with "quest stop" reward for branches
- "region exit" stage is now working correctly with WorldGuard 7
- Fixed WildStacker on 1.8
- Fixed bugs with "fill buckets" stage
- Fixed scoreboard not being used at its full width
- Fixed hex colors not working in scoreboard
- Fixed equipment requirement not checking item amount
- Added database auto-reconnect option
- Potion of the Turtle Master is now correctly displayed in stage description
- Made logger file encoded in UTF-8
- Improved TPS by a lot when using znpcs
Full Changelog: https://github.com/SkytAsul/BeautyQuests/compare/0.20...0.20.1
First release on modrinth!
Difference with dev build #344:
- Added LevelledMobs integration
- You can now choose the target level of mobs to kill from the MythicMobs and LevelledMobs plugins
- Added WildStacker integration: when killing a whole stack of entities, all of the mobs are now counted for the quest