1.0_BUILD380
Compatibility
Changes
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
skillAPIoverrideconfig.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
skillAPIoverrideoption 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!
Optional dependencies
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:ZbvwkXKZ:jn02mawY"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:ZbvwkXKZ:jn02mawY"
}

