BeautyQuests icon

BeautyQuests -----

Quest system with a simple graphical interface. Compatible with SQL databases.



0.19 pre-release - quest pools, 1.17/1.18, and much more
Hello there! It's been more than a year since no update has been released here, but development has continued under the hood, with various interesting additions, many bugfixes, new plugin integrations, and much more!
This build is not the full 0.19 release but is a snapshot, which means there can still be bugs and other weird things. Be cautious!

Quest pools
This new addition allows you to create "groups" of quests, which we name "pools". Those pools, once created and attached to NPCs, will give random quests to players who request.
You can configure a timer between every quest given, a maximum amount of quests launched per pool for players, some requirements for players to use the pool...
To create or edit a pool, simply use the command /quests pools and use the GUI.
To attach a quest to a pool, edit the quest using /quests edit and click on the "quest pool" button to choose your pool.
To reset a pool, use the newly created command /quests resetPlayerPool <player> <pool id> [only timer: true|false]

Quests placeholder
Reworked the
%beautyquests_started_ordered% placeholder.
The old config option "splittedAdvancementPlaceholderMax" has been removed
A new config section "startedQuestsPlaceholder" is now used to configure the placeholder.

Code (YAML):
# (PlaceholdersAPI) Configuration for %beautyquests_started_ordered_X% placeholder
startedQuestsPlaceholder
:
  # Max length of a line if using splitted placeholder
  lineLength
: 30
  # Time (in seconds) before the shown quest change in placeholder
  changeTime
: 10
  # Format of the placeholder %beautyquests_started_ordered_X%. Available placeholders: {questName} and {questDescription}, use \n to skip a line
  splitPlaceholderFormat
: "§6{questName}\n{questDescription}"
  # Format of the empty placeholder %beautyquests_started_ordered%. Available placeholders: {questName} and {questDescription}
  inlinePlaceholderFormat
: "§6{questName}§e: §o{questDescription}"
Added %beautyquests_advancement_<quest ID>_raw% placeholder, which returns a single number:
-1 if the player has not started the quest
-2 if the player is in an ending stage (i.e. in branching)
≥0 the stage ID, if the player is currently doing the quest
Added the
%beautyquests_player_finished_total_amount% placeholder which sums up how many time player have completed all the quests.
Added the
%beautyquests_started_id_list% placeholder which returns a list of player started quests IDs, separated with ;

Translations downloading
Added
/quests downloadTranslations <language> , which downloads from the internet the Vanilla Translation File right into the plugin directory.
It uses this GitHub repository by inventivetalent, which contains all Minecraft assets from version 1.0: https://github.com/InventivetalentDev/minecraft-assets/
This allows users to not have to search through weird .minecraft assets folder.


Items comparison system
When creating a "bring back items to NPC" stage, there is now a button to select how will the items be compared in order to complete the stage
For example, you can choose to make the plugin only look for a specific name, or name and lore, or everything except enchants...
Currently, it is used for those stages: Bring items, Fish items, Craft items.

Scoreboard world list

Added a new "worlds" config section in the scoreboard.yml file:
Code (YAML):
worlds :
  # List of worlds to filter
  filterList
: [ ]
  # If true, the list above will be treated as an "allow list" and not a "block list"
  isAllowList
: false
You can either choose to set this filter as a "block list" (default) or an "allow list".
Whenever the player changes world (through a portal or a teleport command), the scoreboard will be hidden/shown depending on if the new world matches this filter.

Colors!

  • Added support for HEX colors in lang files and editors
  • Rewritten the text wrapper. It now works with HEX colors as well and should now work 100% (no more white lines bugs in items lore)
  • Format/color characters are no longer counted in the max line length.
[​IMG]

Player datas

  • YAML player datas are saved instantly to the disk when players leave the server.
  • Enhanced performances for both YAML and SQL datas.
  • Added exception handling for quests unload during plugin shutdown - this will no longer prevents player datas to save
  • Prevented some issues with player datas when new player quits before their datas have been created
  • (SQL) Added new configuration section database.tables which contains entries to customize DB table names: playerAccounts, playerQuests and playerPools.
  • (SQL) Made data edition flush instantly at player logout/server shutdown.
  • Fixed quest edition/quest removal causing data issues.
  • Fix endless SQL UPDATE for timer (this will decrease drastically BeautyQuests DB calls for big servers).
  • (SQL) player quest datas are forever lost when a quest gets removed.
Quest description
The "quest description" editor is now a multiline editor. This means you can use the "add", "remove", "insert", "list"... commands to manage your quest description.
Quest item lore is now formatted by default with rewards and requirements in the /quests menu.
Everything is customizable in config.yml in the section questDescription:
Code (YAML):
# - Quest descriptions -
# How is formatted the quest description in GUIs
questDescription
:
  requirements
:
    # Enable the requirements section for quest description
    display
: true
    # How to format requirements which match the player
    valid
: §a ✔ §7 {0 }
    # How to format requirements which do not match the player
    invalid
: §c ✖ §7 {0 }
  rewards
:
    # Enable the rewards section for quest description
    display
: true
    # How to format rewards
    format
: §7- {0 }
[​IMG]

Plugin directory management
Backups of quests are no longer created when the plugin entirely fails to load them.
Backups of quests now keep the custom file name.
Quest files under the /plugins/BeautyQuests/quests/ directory can now be stored in separate folder to clear up the folder. This will not change anything in-game.
Example of folder hierarchy:
/plugins/BeautyQuests/quests/
-> 1.yml
-> 2.yml
-> weekly/
---> weekly3.yml
---> weekly4.yml
---> special/
-----> weekly SPECIAL 5.yml


Stages creation GUI
  • Added the ability to move up/down stages in the creation GUI (see attached image)
  • The "continue quest creation" button, which leads to the "quest creation GUI", is now disabled if no stages have been created.
  • A tooltip is shown on the item to explain.
[​IMG]

Block tags

Added the ability to choose a block tag for "mine blocks" and "place blocks" stage types.
It allows for instance to make a "mine x planks" or "place any type of stone".
A list of block tags is available here: https://minecraft.fandom.com/wiki/Tag#Blocks

Plugin integrations

  • Added SkillAPI Level Requirement
  • Added TokenEnchant integration (blocks broken with exploding enchant are now counted in the "Break Blocks" stage type)
  • Added compatibility with UltimateTimber to count all blocks broken at once
  • Added compatibility with CMI 9.
  • Added support for ProSkillAPI, a fork of SkillAPI available for free on SpigotMC: it adds the same integrations that the "true" SkillAPI support: a class requirement, a skill level requirement, and a config parameter to make XP reward give SkillAPI XP.
znpcs support
znpcs support is finally a thing! It can be used in place of Citizens, with the same functionalities:
- start quests by clicking on it
- dialogs for stages - NPC creation via GUI - display particles above
⚠ only one NPC plugin can be used with BeautyQuests (Citizens will take priority over znpcs if both are installed)
ℹ the version of znpcs released on SpigotMC is not compatible with this dev build. You'll have to download this version of znpcs (at your risks!).

Various additions
  • Added Thai, Vietnamese and Lithuanian languages
  • Added 1.17 and 1.18 support
  • Potion item names for "bring items to NPC" stage type now displays potion duration and strength. Ex: Swiftness II (1:30)
  • You can now choose up to 53 items for Item Reward/Bring Back stage
  • Unlimited amount of objects in List GUI (permissions, commands, rewards...)
  • New quest option: "hide when requirements are not met"
  • Quests with the "hidden" option enabled are no longer shown in the "completed quests" tab of the Quests Menu
  • Added config updater: this means that new config options will be added to your config without you having to do anything.
  • Added the ability to choose the custom name of a killable mob (the name shown in the scoreboard and quests menu)
  • Fixed a lot of issues with ItemsGUI: you can now divide stacks of items, add single items, etc. You can also create items through the Item Creator GUI with an amount greater than 64 (!)
  • Added a custom type of reward: "requirements on rewards"! When you select it, you will be prompted to add a list of actions and a list of requirements for those rewards to be given to the player.
  • Added "Breed animals" and "Tame animals" stage types.
  • New config option: npcClick which can have the values RIGHT, LEFT, ANY. It manages the player NPC click event used for dialogs and quest starting.
  • The quest cooldown now uses a Day/Hours/Minutes format instead of only Minutes.
  • Quests with the "repeatable" option turned on now keep tracks of how many times the players have done it. It is shown in the quests menu.
  • Added "edit" command for dialog editor.
  • Using a more efficient and safer way to detect WorldGuard regions entry.
  • Made HolographicDisplays take priority over CMI when both plugins are installed.
  • Added the "Stop quest" reward (useful when doing branching quests).
  • When a player cannot start a quest due to the max quests limit, a message is now sent.
  • Added a parameter to the command "/quests start <player> <quest> [testRequirements]" (default to false if the sender has the permission beautyquests.command.start.other)
  • When using the cancel quest options ("/quests cancel" or through the GUI), the player will not loose the datas of the quest.
  • Added an option to make the quest start automatically on first join. (This was previously handled by the config option firstQuest which is now unsupported)
  • Added "replace placeholders" option in "Write in Chat" stage type
  • Added "wait x ticks" async reward to allow more complex endings
  • Added new Title Reward to display "/title"-like messages on screen
  • Quests are now sorted in "choose quest" GUI.
  • Added Quest Start Message option.
  • Added LogicalOrRequirement, which completes when at east one of its internal requirements is completed.
  • Added a "parseValue" option to PlaceholderRequirement to parse the expected value as a placeholder
  • "reopenInventory" and "exitEditor" commands are now hidden from tab-completion
  • Added "hide GPS" option for "find location" stage type.
  • Made GPS hidden in "find NPC" stage type when the "hidden" option is turned on.
  • Made the BeautyQuests log file exist for 2 runs (the previous log file will be renamed to latest.log_old)
  • Converted old "end message" quest option to a simple message reward. The "new" end message option now allows editing the default "Congratulations! You have finished the quest ...!"
  • Added {PREFIX} placeholder for all plugin messages, which will be replaced with... the plugin prefix.
  • Added a message on "/quests start" when the player does not meet the requirements.
  • Added a function in dialog editor to choose a custom name for NPC: npcName [custom NPC name]
  • Added the ability to use "ticks", "seconds", "minutes", "hours", "days", "weeks" when having to type durations (for timer for example)
  • If an item name is too long, it will be split and put at the beginning of item's lore
  • Changed permission beautyquests.command.reload to beautyquests.command.manage. It gives permission to commands: reload, save, backup, downloadTranslations, migrateDatas

Fixes

  • Fixed player suicidal counting in "kill players" stage
  • Fixed many player data loss/performance drop
  • Fixed item repair cost causing issues with item comparisons
  • Fixed exceptions in various editors
  • Fixed issues with chat messages in editors due to colors
  • Added messages in console when the plugin detects wrong datas
  • "Quest updated" message is no longer shown at the quest launch
  • Fixed spaces in front of some lines in item lore
  • Fixed issues with MythicMobs and CMI
  • Fixed permission issues
  • Fixed issues with /quests resetPlayer/resetPlayerQuest/setStage
  • Fixed issues when running the server on a recent JDK with the HotSpot JVM, when WorldGuard is not installed
  • Fixed some issues with dialogs when player logout
  • Fixed suspicious fix crafting recipe not being recognized
  • Fixed "kill vanilla mobs" stage affected by NPCs

API

  • Added new events for dialog sending
  • Added new "Quests Handler" API which allows plugin to send many small events like stage update, stage launch, etc.
  • Added DependenciesManager

You're still here? Congrats! I hope that this is because you really love BeautyQuests :p
Thank you all!
----------, Dec 4, 2021
Resource Information
Author:
----------
Total Downloads: 120,605
First Release: Apr 11, 2017
Last Update: Oct 2, 2024
Category: ---------------
All-Time Rating:
211 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings