BeautyQuests icon

BeautyQuests -----

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



0.19 - Dialogs history, fixes and other additions
Hello there! It's been 2 months since I have published the 0.19 pre-release and... I have added a lot of things during those months haha. I think 0.19 is now sufficiently stable to be pushed to production servers and be called a "release". Enjoy!
Please be aware that your addon plugins will break unless developers have updated them. Many things have changed, but it's simply renaming, so updating can be done really quick.

Dialogs history:

When using BeautyQuests to create storylines with many dialogs and lore, it can be very valuable for players to have a place to read the text after they have seen it. I introduce you: the Dialogs History.
In the "/quests" menu, players can right click on a quest they are currently doing or a quest that they finished to see the dialogs.
[​IMG]
As it uses a new data "quest flow" added in this update, the players will only be able to see dialogs played after the update.
This feature can be disabled with the config.yml parameter dialogs.history.

Holograms:

  • Added support for HolographicDisplays version 3.x.x (for 1.18)
  • Optimized code for HolographicDisplays integrations and visibility calculation.
  • Fixed some issues with holograms-related options not showing in quest edition GUI when using CMI
  • Made the "launcheable" item hologram take priority over the "not launcheable" hologram for NPCs
  • If the player has to talk to a NPC for a stage, other potential holograms will be hidden (in example if there are other launcheable quests on the NPC)

Custom quest item:
The option "custom quest material" now accepts fully customizable item This means that you can now use... custom heads!
Drag and drop items from your inventory to the edition GUI
[​IMG]

"Play time" stages:
When players have a "wait some time" stage launched, they will now see a descriptive message of the remaining time (in real-time!) instead of a vague duration in ticks message.
When editing the stage duration, you can now use units like "minutes" or "days".
Fixed an error when the plugin unloads while a player is online with a "play time" stage.
[​IMG]

Stage end rewards message:
Added the config option stageEndRewardsMessage (enabled by default).
If this option is enabled and players are given some rewards at the end of a stage, they will see a nice "You obtain xxx" message, similar to the one at the end of a quest.

New updater:
When using dev builds and a new one has been pushed, the updater will warn you about it.
When using SpigotMC released builds and a new update has been released, the updater will also warn you.

Cancel actions:
Added "cancel actions" quest option.
When creating a quest, you can now select a list of rewards which will be given to the player when it cancels the quest.
This cannot accept async rewards such as "wait".

Quest fireworks:
Added "ending fireworks" quest option.
Fireworks launched at quests end can now be customised!
Added the command /quests setFirework [none]. It will change the default firework with the one in your main one, or simply delete it if "none" is specified.
Added an option in the quests edition GUI to drop your custom firework into the quest.
[​IMG]

New "startDialog" command
Added the /quests startDialog <player> <questID> command.
When the player have not yet started the quest and there is a starting dialog, the command will make this dialog start.
When the player is doing the quest and is in the stage where it has to click on a NPC, the command will make the dialog start.

Scoreboard toggle:
Added the permission beautyquests.command.scoreboard.toggle (given to players by default).
If players are given this permission, they will be able to run the command /quests scoreboard (with no other arguments) to make their scoreboard hide/show.
[​IMG]

Dialog-related changes:
  • When using "§r" in formatted messages (such as dialog ones), the color and formatting will come back to default and not fallback to white
  • NPCs will now stop walking around (if paths are configured) while players are talking with them
  • Reworked config.yml: all dialogs-related options are moved to a new "dialogs" config section. The migration of your old options should be automatic
  • Added a "skippable" option for dialogs
    • Added dialogs.defaultSkippable config option
    • If a dialog is set to be skippable, players which shift-click on the NPC will skip the entire dialog
  • Added dialogs.defaultPlayerSound and dialogs.defaultNPCSound config options.
    • Default to "none"
    • If no other sound is specified in the dialog, those sounds will be used.

Sentinel:
  • Added Sentinel integration
  • You are now able to use 2 new types for your targets/ignores/avoids:
    • quest_in:QUEST_ID matches players with the quest QUEST_ID started
    • quest_finished:QUEST_ID matches players which have finished the quest QUEST_ID

Quests config options:
  • Added nextStageSound config option. Defaults to ITEM_FIRECHARGE_USE
  • Created the questsMenu config section, for menu-related options. allowPlayerCancelQuest and menuOpenNotStartedTabWhenEmpty have been moved to this section.
  • Added the questsMenu.enabledTabs config option.
    • Defaults to [NOT_STARTED, IN_PROGRESS, FINISHED].
    • It decides which of the tabs are shown in the /quests menu.

New rewards or requirements:
  • Added "remove items from inventory" reward
  • Added "random rewards", which contains a list of rewards to pick from and "min" and "max" bounds to decide how many rewards will be given to the players
  • Added comparison type picker for placeholder requirement, when targeting a number: you can now select that the value of a placeholder for a player must be lower, greater, different... than a parameter

Miscellaneous:
  • Added BlueMap integration (similar with dynmap)
  • BQ is now only compatible with 1.18.1 (no 1.18)
  • Fixed the "/quests resetPlayerPool" command
  • Optimized code in various places
  • Reworked time editor for quest pools, it now accepts more precise times than just days (minutes, hours, ticks...)
  • Fixed an issue with the minecraftTranslationsFile config option
  • Fixed issue with WorldGuard __global__ region not working for "region requirement"
  • Fixed issues with dependencies loading: failure in one integration no longer prevent all other integrations to load
  • Changed rewards and requirements data format: the class name is no longer saved in YAML, now there is a unique id:
    class: fr.skytasul.quests.rewards.ItemReward -> id: itemReward
  • Fixed "rewards with requirements" description
  • Fixed /quests setStage producing strange results when the quest has already been finished once (or more)
  • Added missing help string for the /quests downloadTranslations command
  • Added a check to make sure player datas exist in /quests cancel
  • Fixed issue when removing a NPC with a quest pool
  • Fixed pool cycling over one quest in particular conditions
  • When creating a "find location" stage, you can now put a regular expression for the world name (by default, the regex is empty and the plugin will match the world you are into when creating the quest)
  • Made backup created automatically when editing a quest if an error occurs
  • Updated FR, ES, PL, CN
  • Fixed wrong description formatting for "kill mobs", "mine/place blocks" or "fish items" stages when using custom description with {0} placeholder
  • Fixed player in async stage rewards being able to "end" the stage multiple times
  • MythicMobs are now sorted by name in the mob list GUI
  • Fixed command reward not working when in async runtime
  • Made NPC name displayed in the pools edition GUI
  • Quest items can no longer be eaten
  • Fixed some issues with MythicMobs and overriding mobs
  • Fixed ending stages not being unloaded correctly, which prevented some holograms to despawn

API changes:
Moved every API quests-related functions to its own class: QuestsManager, accessible via BeautyQuests.getInstance().getQuestsManager(), or QuestsAPI.getQuests().
Example:
Code (Java):
PlayerAccount account = PlayersManager. getPlayerAccount (player ) ;
List <Quest > started = QuestsAPI. getQuests ( ). getQuestsStarted (account ) ;
Made quest-objects-related code more organized: rewards and requirements must now be registered through
Code (Java):
QuestsAPI. getRewards ( ). register ( new RewardCreator (id, class, item, supplier ) ;
QuestsAPI. getRequirements ( ). register ( new RequirementCreator (id, class, item, supplier ) ;
----------, Feb 19, 2022
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