BeautyQuests icon

BeautyQuests -----

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




Announcement:
This version is probably the last to support Minecraft < 1.17 and Java < 17. I have been limited far too long with the old version capabilities, it is now time to move on.
If important bugs are discovered on this release, I'll fix it in a manner that is compatible to older servers but new features will require newer versions in the future.


Changelog:

  • 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:
    Code (YAML):
      # - 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
----------, Oct 2, 2024

Changelog:
  • 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
----------, May 25, 2024

Changelog:
  • 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
----------, Dec 29, 2023

Changelog:
  • Added support for 1.20.3 and 1.20.4
  • Scoreboard scores at the right are no longer shown in those versions
----------, Dec 10, 2023

First time using 1.0?
Read the changelog and migration notice here!
Make sure to completely delete the /plugin/BeautyQuests/locales directory before upgrading.
Remember, you cannot go back after updating! Make a backup of the whole BeautyQuests folder just in case.


What changed since build 383:

  • 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 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.
Code (YAML):
# - 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:
[​IMG]
----------, Dec 9, 2023

Warnings & migration informations
This is a beta. Because there are more than 30'000 lines of code that has changed, precaution must be taken. Make a backup before upgrading. Try this version on a development server before the production one. 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.

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 stated further down, 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

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 (both pre-2.0 and post-2.0)
  • 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} replaced Level {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
[​IMG]

Quest selection:
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:
Code (YAML):
# - 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

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 Reward"
  • 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!
----------, Nov 2, 2023

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
----------, Mar 19, 2023

Hey! It's been a long time. How have you been? I've been really busy programming 0.20. So let's go for the changelog.

New stages, requirements...
  • Added a "Die" stage, which gets completed when players... die.
    • You can choose which death reasons are acceptable (drowning, getting killed by an entity, falling from too high...)
  • Added Equipment requirement: you can now choose which item a player has to hold in its hand, which helmet it must wear...
  • Added Deal Damage stage type: this stage will get completed once player deals a specific amount of damage to configurable mob types
  • Added "Eat or drink" stage type, which works for every type of consumable items: food, milk bucket, potions...
  • "Craft item" stages now work for items melted through a furnace (or smoker or blast furnace) and items "crafted" using a smithing table (netherite items)
  • In a "Kill mobs" stage, you can now choose the target level of mobs to kill from the MythicMobs and LevelledMobs plugins

Quests menu
  • GUI description for quests is now modulable, which means external developers are now able to add their own custom lines!
  • Quest description and rewards are now shown in the "in progress" and "finished" tabs.
  • Added a quest option "Visibility" to choose specifically in which tabs of the menu the quest should appear. This option also allows you to enable or not the marker on your dynamic map (dynmap or BlueMap)

New commands interface
  • Switched the custom command framework to Lamp.
  • This allows for more advanced command features (such as flags, i.e. /quests start ... -overrideRequirements instead of a nameless true at the end of the command)
  • This allows for Mojang's Brigadier to be used: arguments now have proper names and coloring.
  • This allows for player selectors! The finishAll, resetPlayer, cancel, finish and start commands now accepts multiple players (i.e. /quests start @a[distance=0..50] 12)
[​IMG]

Scoreboard quest tracker
  • Quest tracker in the scoreboard now has more attached placeholders: quest name, quest advancement, quest description, quest rewards (and time left for the expansion)
  • Renamed placeholders {questName} to {quest_name} and {questDescription} to {quest_advancement} in scoreboards (backward compatibility is kept)
  • This allows to dynamically get informations about the quest currently being shown

Versions and plugins support
  • Added support for Minecraft 1.19
  • Dropped support for Minecraft 1.10, 1.11, 1.13 and 1.14
  • Added support for MythicMobs 5
  • Added support for HolographicDIsplays 3
  • Added support for PaperMC API-specific features (for the moment, it is only used to prevent quest items from being dropped on death)
  • Added AdvancedSpawners integration
  • Updated BlueMap integration (now works with 3.3 and higher only)
  • Added DecentHolograms integration to show holograms. (nothing different with the HolographicDisplays integration)
  • Added LevelledMobs integration
  • Added WildStacker integration: when killing a whole stack of entities, all of the mobs are now counted for the quest

Data change
  • Changed player data structures in database and files.
  • Stage datas are no longer saved in one the 5 previously available slots (stage_0_datas, stage_1_datas...). They are now saved in a list.
  • This is more efficient and is a lot more flexible, which means that more complex systems of stages or branching will come in the future :)
  • This fixed a bug with SQL rows being created multiple times and bloating the database (some tables which previously had hundreds of thousands of rows will now only contain a few thousands).
  • All the changes in database will be made automatically, and duplicated rows will get deleted.
  • For the DB migration to happen gracefully, the database user must have the permission to do ALTER actions.
  • In the case of very large servers, the DB migration may take some time to happen. Some extra caution must be taken, so please come talk to me on Discord.
  • Database system has been revamped and now uses the widely-used HikariCP connection pool. This means performance improvements and probably less weird issues related to database connection.
  • Sped up database data storage by making proper use of primary keys. The performance improvement will be huge on large databases.

PlayerBlockTracker
  • Added an integration with the PlayerBlockTracker plugin
  • If the plugin is enabled on your server and the BQ config.yml option "usePlayerBlockTracker" is set to true (enabled by default) then BeautyQuests will use PlayerBlockTracker's advanced block tracking capabilities to prevent players from completing a "mine X blocks" stage with player-placed blocks (to prevent exploits)
  • In comparison with BeautyQuests integrated block tracking system, this allows:
    • to track blocks moved using pistons
    • to track blocks placed by other players
    • to track blocks across time: the data is persistent and no longer lost after a server restart
  • Available here: https://github.com/Flo0/PlayerBlockTracker/releases

Reworked most of the API
  • Probably all external code will fail to work until updated correctly. It is mostly methods/classes/fields renaming though.
  • Added a whole new "Locatable" API which allows to fetch informations about where the player has to go in its quests
  • Refactored internal player account loading system, now there is a better API to fetch account of offline players
  • Exposed the "Locale" API
  • Added "stage options" system for external plugins to save datas into stages
  • Added "additional player datas" system to add more datas in a player account
  • Quest objects (rewards and requirements) can now be (de)serialized using ConfigurationSection instead of Map<String, Object>, for better code readability
  • Moved AbstractCountableStage to the new api.stages.types package
  • ...and more, check it out by yourself :)

Miscellaneous changes and fixes
  • The "list" command in multi-line editors now show line numbers
  • Added the ability to remove the pool from a quest by shift-clicking
  • Sounds of messages on dialogs are now cutted out when players skip a message
  • Made some "list" GUI sorted by name
  • Edited the "npcClick" config option from a single choice to a list of clicks.
    • Available clicks are: LEFT, RIGHT, SHIFT_LEFT, SHIFT_RIGHT.
  • Fixed issues where multiple stages can get completed at the same time
  • Fixed the "blockdata" editor filling unspecified block datas with their default values
  • Fixed the "quest item" option editor allowing for non-item materials (such as fire), which caused the quest item to disappear entirely from the menu
  • Fixed errors on PaperMC when using asynchronous rewards
  • Fixed dialog history still opening whereas disabled in config.yml
  • Fixed the "interact with" stage being completed twice
  • Fixed an issue with holograms disappearing
  • Added missing translations, updated FR, RU, VI, ES, IT, PL, CN, TH, HU locales
  • Added UK locale
  • Fixed the active quest description when players were in an async start/end of quest
  • Fixed several issues with 1.8
  • When a backup is created (when updating the plugin for instance), player datas also get "backuped" (only if using the YAML storage system)
  • Fixed crafting exploit
  • Fixed timer not being tested in /quests start <player> <quest id>
  • Fixed bugs on quests launched automatically on first join
  • Fixed a bug with "interact with block at" when the world is unloaded at startup
  • Made player removed from inventory system when it crashes during the GUI opening (this may have caused item exploits)
  • Added bStats metrics for dependencies
  • Fixed wrong message being sent for "bring back items" stage
  • Fixed empty message being sent for the same stage when the message is set to "null"
  • Added a per-player limit of launcheable quests using permissions: beautyquests.start.X
  • Made some changes in order to allow creating quests in symbolic linked folders
  • Quests that are not in progress can no longer be cancelled using /quests cancel (why was this even possible?)

And, last but not least...
The BeautyQuests Expansion!
As I always wanted BeautyQuests to be free (and it will always stay free), I released a premium Expansion, which contains some sweet additional features that can be sweet when creating a server, such as:
  • Multiple advanced ways to track targets (glowing entities, particles outline for blocks and regions...)
  • Time limit for quests
  • Statistic stage (with support for all of the 80+ statistics of vanilla Minecraft)
  • Quest points and leaderboards
All of these features are available if you purchase the expansion from here, for the price of 5€. It is a way to support me :)
The expansion is still in an "early access" kind of stage: I plan on adding a lot more features in it, but it already contains enough things to be useful!

So long!
----------, Dec 2, 2022

Changelog:
  • Fixed errors on PaperMC when using asynchronous rewards
  • Fixed dialog history still opening whereas disabled in config.yml
  • Added 1.19 support
  • Dropped 1.10, 1.11, 1.13 and 1.14 support
  • Fixed an issue with newer versions of HolographicDisplays 3.0.0. Users must update to the very latest version of HolographicDisplays, available here!
----------, Jun 9, 2022

Changelog:
  • Fixed particles being shown to every players instead of a per-player behavior
  • Fixed some materials (such as the "Otherside" music disc) not being recognized by the plugin
  • Fixed some issues with the colored string wrapper, which caused the server to crash.
----------, May 23, 2022

Changelog:
  • Patched the previous patch: crafting stages no longer got completed when not shift-clicking on the items...
----------, May 11, 2022

Changelog:
  • Updated zh_CN locale
  • Fixed an exploit where players can complete a crafting stage whereas they do not actually craft the required item
----------, May 10, 2022

Additions:
  • Added the ability to select a custom ID when creating a quest, using /quests create [id] (although it is recommended to let the id field empty and let the plugin decide the ID)
  • Added "melt items in furnace" and "enchant items" stage types
  • Added the "parse placeholder" option for command rewards. If enabled, PlaceholderAPI placeholders will get replaced by their value before command execution.
  • Added %beautyquests_started% palceholder, which displays a list of started quests along with their description.
  • Added "dialogs.maxDistance" config option. It decides the maximum number of blocks players can walk away from a NPC before its dialog gets stopped and resets.
Changes:
  • If the dialogs.inActionBar option is enabled, messages will now be displayed on screen for the correct duration
  • When errors occur while parsing placeholders, they are now sent to the console
  • Totally reworked the particles system to be more efficient; it is now possible to use new particles (previously it was only possible to use pre-1.13 particles)
  • Changed quests YML data format
    • Migration will occur automatically, but is irreversible
    • Backward-compatibility is kept
    • For devs: switched in-code (de)serialization system from using raw Map<String, Object> to complete Bukkit's ConfigurationSection system
Fixes:
  • Fixed exception in "find NPC" stages with no dialogs
  • When Citizens gets reloaded, BeautyQuests will now adapt and no longer crash all of its NPCs (this probably fixes an issue with ItemsAdder and holograms)
  • Updated FR, CN, VI locales
----------, May 8, 2022

Quest features:
  • Added Snow Bucket for "fill buckets" stage
  • Interaction stage can now accept custom block data
  • Added "ending sound" quest option to configure the sound per-quest

NPC changes:
  • Made big changes in the codebase to handle NPC-related code. It is now cleaner and more maintainable.
  • Better handling of NPC click cancelling when stages can be completed or quests can be started while a "bring back" stage is waiting for items.
  • Fixed holograms height when there are both a "quest NPC" and a "new quest available from pool" holograms, they are no longer overlapping.
  • Optimized the code which computes hologram height (reduces memory usage).
  • Probably fixed some bugs related to NPC holograms, and introduced new ones haha
  • Fixed issue when shift-clicking on NPCs

Minor changes:
  • Added debug messages for holograms and boss bars managers
  • Quest files are no longer saved to disk if the content has not changed
  • Updated Thai, Vietnamese and French locales
  • Database:
    • Refactored database connection to be more efficient and safer
    • Moved database migration out of the main thread for performance
    • MariaDB driver will now be loaded by server
  • Periodic data saving is now made asynchronously (will prevent lag spikes)

Fixes:
  • Added support for MythicMobs 5.0.1 and more recent versions
  • "breed/tame animals" stages will now fail gracefully if a player has corrupted datas
  • Fixed a NoSuchMethodError for servers using a spigot version lower than 1.11
  • Fixed a bug with incorrectly formed block tags in editors
  • Fixed some bugs with colored text wrapping
  • Fixed bugs with quest pools
  • Fixed bugs with items attributes
  • Changed long error for Placeholder Requirement into a shorter and more detailed console message
  • Fixed some errors with GPS integration
----------, Apr 15, 2022

Changelog:
  • Added support for Spigot 1.18.2
  • Added Boss v4 compatibility, dropped Boss v3 (mine*cademy plugin)
  • Fixed "find location" stage type
  • Refactored file logger to log errors
  • Fixed NoClassDefFoundError in version < 1.13
  • Fixed "Teleportation reward" not working in async contexts
  • Fixed permission message showing on tab completion
----------, Mar 1, 2022

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

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

Changelog:
  • Updated Russian and French languages
  • Searching for an inexistent NPC in NPC/Bring Back stages no longer prevents quest from loading
  • Minor change in Holograms API
  • Fixed "null" text in PlaceholderAPI requirement item
  • Fixed placeholder not showing correctly in chat message when editing requirement
  • Fixed Item Creator GUI throwing exception when editing amount/name when no item type has been previously selected
----------, Nov 13, 2020

Changelog:
  • Fixed a bug with NMS blocking Bring Back items stage type.
----------, Nov 9, 2020

Changelog:
  • Added 1.16.4 support
  • Fixed a locale bug with "requirements not met" string in Quests Menu
  • Updated Hungarian and Polish locales
----------, Nov 9, 2020

Fixes:
  • Fixed a critical bug when creating a quest with Stage NPC
----------, Nov 6, 2020

Changelog:
  • Fixed exceptions in console with Play Time stages
  • Quest menu:
    • Quests with timer can now be started again from the GUI
    • Quests now have consistent ordering (IDs in ascending order)
    • Menu now closes after taking a quest
  • Fixed color bugs in editors
----------, Nov 6, 2020

What's new since 0.18 - pre-release 2?

Additions:
  • Added config option stageDescriptionFormat, with the following variables: stage index, stages amount, stage description
Changes:
  • Reworked Stages GUI
    • Consistent description for every item
    • Drastically changed the Stages API
  • Made changes in data saving of "Bring back items" and "Fish items" stages - similar items are automatically contracted
Fixes:
  • Fixed issues with chat formatting in editors
  • Fixed player putting items in GUIs with dragging action
  • Fixed some slot issues in Stages GUI
  • Fixed issues with ItemsGUI

A quick overview on 0.18 - the GUIs rework update
  1. Reworked End GUI
    • options now have descriptions and proper way to show what's selected
    • added API to create custom Options into quests
  2. Reworked Stages GUI
    • consistent items naming and descriptions
    • fixed lot of bugs with the GUI
    • changed the whole API for creating custom Stages to be more intuitive
  3. Reworked Rewards and Requirements GUIs
    • multiple rewards/requirements of the type can now be applied at the same time
    • more intuitive interface
    • changed again the API to be more easy-to-use
  4. New Stages types: "Play Time" and "Place Blocks"
  5. Added Quests Checkpoints system
  6. Added new quest options: "fail on death" and "startable from the menu"
  7. Quests no longer need to have a Starter NPC
  8. And much more! See pre-release 1 and pre-release 2 changelogs for more details.
----------, Oct 31, 2020

Additions:
  • Added a button to edit the selected NPC in Talk to NPC and Bring Back stages
  • In Interact Stage type, added the ability to choose a certain block type, instead of needing to choose a specific location
  • Made holograms system abstract and added API
  • Added compatibility with CMI holograms
  • Added Polish language
Changes:
  • IDs of deleted NPCs are still saved in NPC and Bring Back stages config
  • Made default NPC name (when created through the GUI) visible
  • Made the loading happen under less than a second after server full load to fix some data issues
Fixes:
  • Fixed exception when loading a bring back stage with no NPC
  • Fixed some Stages GUI bugs
  • Fixed Location stage type not starting GPS automatically
  • Fixed maven not deploying the correct modules
  • Fixed a bug with holograms not displaying when no default hologram has been set
  • Fixed crafting stage type with multiple amounts
  • Fixed several bugs with /quests setStage
  • Fixed wrong amounts of blocks/mobs in quest progress
  • Fixed issues with NPC holograms
  • Fixed exceptions due to "too long scoreboard line"
  • Fixed issues with Region Requirement
  • Fixed a bug when loading quest with a deleted NPC during off-time
  • Fixed exceptions with Mine Blocks stage under pre-1.13 versions
  • Updated translations
----------, Oct 20, 2020

Additions:
  • Added "Play Time" stage type
  • Added "Place Blocks" stage type
  • Updated block detection behavior: you can now select to include a specific blockdata (for instance, to only count fully grown carrots). This feature is available for the new Place Blocks stage and the old Mine Blocks stage
  • Added more API for scoreboards
  • Added an option in Item Creation GUI to select the amount of items
  • Added Russian translation
  • Added Hong Kong chinese translation
  • Added config option "saveCycleMessage" (enabled by default)
  • Added an option "Startable from GUI" which, if enabled, allows player to start the quest directly from its Quests Menu
  • Added WorldGuard Region requirement
  • Added new Stages Requirement system:
    • You can now set requirements to the stages of your quest
    • When a player tries to complete a stage, the plugin will check if those requirements are matching the player. If no, the stage will not be updated for the player.
    • A possible use is to make a quest where the player has to kill mobs only in a certain area
  • Added "exit" option in Region Stage (the stage completes after exiting the region instead of entering)
  • Added "checkpoint" system:
    • When editing stage rewards, you can select "checkpoint actions"
    • If selected, the player will be able to run /quests checkpoint <quest ID> to run the latest checkpoint passed for this quest
    • Example: there is a quest with 5 stages, and you have defined a checkpoint "teleportation" action at stage 3. A player has reached the stage 4, but oh no! he dies. By using /quests checkpoint, this player will come back to the location defined in the checkpoint.
  • Added "fail on death" quest option. If enabled, this option will cause the quest to fail if the player dies while trying to completing it.
  • Added stageDescriptionItemsSplit.amountFormat config option:
    • Used to format the amount of objects in quest descriptions
    • Placeholders are: {0} = remaining (decreasing), {1} = done (increasing), {2} = total
    • Default to x{0}, another possible value is {1}/{2}[​IMG]
  • Added a button to force keep player datas after a quest edition (deprecated as it may cause issues, but still useful in some cases)
  • Added the middle-click action to remove the Hologram item for a quest in the edition GUI
Changes:
  • NPC starter is no longer required when creating a quest
  • Reworked the whole "Quest Options" GUI - every option now have a description and more infos on what's selected
  • /quests edit now accepts an optional [quest id] argument
  • Added a "Quest Options" API which allows developers to store datas into a Quest instance. (breaking changes with previous Quest class methods)
  • Quests no longer get removed when NPC starter is removed
  • Reworked the Rewards and Requirements GUIs: several rewards of the same type can now be applied, and the interface is a bit more intuitive
  • Made GPS integration point the compass to the target location in "Find Location" stage type
  • Formatted lore below items in Stages GUI
  • Disabled usage of number keys in GUIs
  • Reworked editors to implement cancel actions everywhere
  • Reworked most GUIs to implement close actions as well
  • Changed placeholder behavior when no quest is launched
  • Crafting with quest items is now disallowed!
Fixes:
  • Fixed bugs with MythicMobs
  • More error handling
  • Fixed duplication bug in Items GUI
  • Fixed item dropped to the ground in the Select Item GUI
  • Fixed 1.8 bugs
  • Fixed PlaceholderAPI bugs
  • Fixed some /bq reload bugs
  • Fixed McMMOSkill Requirement wrong name and error when editing
  • Fixed "unknown string" appearing sometimes: now english strings are used by default and are no longer copied into the other language files
  • Fixed Placeholder Requirement with numbers
  • Fixed an exception when Scoreboard option is disabled
  • Fixed exception with /quests setStage
  • Fixed some bugs after quest editing (like particles not showing over NPCs heads, etc.)
  • Fixed GPS tracking not stopping after plugin stop or in some other cases
----------, Sep 14, 2020

Changelog:
  • Now supports PlaceholderAPI version 2.10.7.
----------, Jul 30, 2020

Fixes:
  • Fixed Craft Stage type not working when shift-clicking to get all crafted items
  • Fixed bStats version counting twice
----------, Jul 14, 2020

Sorry for the quick update, a critical bug had to be fixed.

Additions:

  • Added config option requirementReasonOnMultipleQuests (enabled by default). If disabled, the plugin will not send the requirement reason to the player if there is several quests on the NPC.
Fixes:
  • Fixed exception on Player Quests List.
----------, Jul 11, 2020

Additions:
  • Added custom bStats chart for plugin version
Changes:
  • Changed scoreboard library to include an anti-flicker and fix various bugs
  • 1.8 servers can now use the scoreboard system
Fixes:
  • Fixed exception with Kill Mobs stage
  • Fixed quest editing item not showing gold ingot
  • Fixed Player List GUI items bug in 1.16
  • Fixed Confirm GUI red dye item bug in < 1.13
  • Fixed door item bugs
  • Fixed quest backups being overridden
  • Fixed bugs with scoreboard colors
  • Fixed bugs with scoreboard lines not showing entirely
  • Fixed scoreboard not refreshing in some cases
  • Fixed exception when cancelling mob selection
  • Fixed "hideIfEmpty" option glitch
  • Fixed "Break Blocks" stage type with melons and various other crops
  • Fixed SQL synchronization bugs
  • Added missing 1.16 materials
  • Added non-null validation when loading external mobs via API (MythicMobs, etc.)
  • Fixed non-appearing items on "break blocks" stages
----------, Jul 11, 2020

See pre-release 1 and pre-release 2 for most of the changelog.

Additions:

  • 1.16 compatibility
  • Added stageDescriptionItemsSplit.inlineAlone config option
  • Added stage type name in lore of the remove stage item
Changes:
  • Requirements with comparison method now has a proper description
  • Empty line is no longer shown in Confirm GUI
  • Player quest datas are now reset when editing the stages
Fixes:
  • Fix for too big Choose Quest GUI: it now has pages
  • Fixed paper bug with null skull owner
  • Fixed outdated MythicMobs error
----------, Jun 27, 2020

This is build 92. It is likely to be the last pre-release before the official 0.17 release. You can use it without worries.

Additions:

  • Added customization for requirement particles in config.yml
  • Permissions Requirement now accepts negative sign - to make the permission unrequired
  • Added Hungarian translation
Changes:
  • Command GUI editor can now be exited with argument "cancel"
  • Updated Swedish translations
Fixes:
  • Fixed some scoreboard bugs
  • Fixed bugs when editing quests
  • Fixed bugs when closing database connection
  • Fatal errors at startup now instantly stops the plugin loading
  • Fixed items with no names
  • Tweaked dependencies loading
----------, Jun 9, 2020

This is the build 86. I publish this as a "pre-release" as I'm not 100% sure everything will work flawlessly, but several servers are running it without problems.

Additions:
  • Added database support for player datas. The connection is configurable in config.yml
  • Added BossAPI compatibility for "kill mobs" stage type
  • Added a search function in all Paged GUIs to find more easily... what you're searching!
  • Potions names are now supported for vanilla translation
  • Added Scoreboard Ccore requirement
  • New "comparison method" for some requirements:
    • Affects XP Level, Job Level, McMMO Combat Level, McMMO Skill Level, Scoreboard Score
    • 5 values accepted for this: EQUALS, DIFFERENT, LESS, LESS_OR_EQUALS, GREATER_OR_EQUALS (default value). The requirement will be fulfilled (or not) depending on the target value and the chosen comparison method.
  • Included bStats Metrics
  • Added an option to ignore case in Write in Chat Stage
  • Quest item shown in the Quests Menu can now be configured per-quest
  • Quest description now appear in quest choose menu
  • Added /quests resetQuest <questID> to reset all players' datas about the specified quest
  • Translations status:
    • German (de_DE): 50%
    • Italian (it_IT): 91%
    • Portuguese (pt_PT): 88%
    • Spanish (es_ES): 67%
    • Swedish (sv_SE): 31%
Changes:
  • Player datas storage has been completely reworked:
    • Datas are now linked to the player and not the quest; it means that quest files no longer stores player datas and can now be edited when the server is going
    • There are now two different storage systems:
      • YAML file per-player in a specific directory under /plugins/BeautyQuests, datas are saved at logout. enabled by default
      • SQL database, datas are saved pretty instantly and can be retrieved on several servers (the same player cannot be present on two servers are the same time) to be enabled in config.yml
    • You can migrate datas from YAML to SQL with the command /quests migrateDatas (more informations below)
  • Mobs handling system has been reworked to be cleaner, better, faster, stronger. Developers can now easily add their own mobs with the new API.
  • Quest tracker (scoreboard) now automatically switches to the updated quest.
Fixes:
  • Fixed a lot of color problems in text editors
  • Fixed some refreshing problems with scoreboard
  • Fixed sounds on 1.8
  • Fixed some bugs with HolographicDisplays
  • Fixed some bugs with the "new branch" item and pages in Stages GUI
  • Added missing 1.15 materials
  • Big code cleanup
  • Fixed bugs with older and newer versions of MythicMobs (backward compatibility is not a thing with this plugin :LOL:)
How to migrate datas from YAML to SQL:
  1. If you are updating from an older version of BeautyQuests (ex. 0.16), don't setup anything about databases in config.yml and start the server. Once everything has started without problem, shutdown.
  2. In config.yml, setup the credentials to connect to your database, but don't touch the "enabled" thing, let it on false. Start the server.
  3. This operation may take a long time, depending on how much datas were previously on your server. Don't login on your server and execute from the console /beautyquests migrateDatas. A message should popup at the end of the operation. Shutdown the server.
  4. Go back in config.yml and set "database.enabled" to true. Start the server. You're done!
----------, May 17, 2020

Additions:
  • 1.15 support
Fixes:
  • Items Stage now works as expected with several stacks of the same items.
----------, Dec 12, 2019

Fixes:
  • Fixed a bug with line length in Stages GUI
----------, Nov 6, 2019

See the pre-release changelog here.

Additions since the pre-release:

Changes since the pre-release:
  • Money reward now accepts decimal values [6bf651c]
----------, Oct 26, 2019

Additions:
  • Brand new Branches system (further informations can be found at the end of this post)
  • "questConfirmGUI": new config option to enable a GUI to confirm quest launch, with custom description. [2ef1120]
  • "dialogsInActionBar" option in config.yml to make dialog lines sent in action bar instead of chat [7a6ddb9]
  • New hologram system: [2c9f630]
    • Much more optimized
    • Custom hologram "launchNo" shown when a player does not meet the requirements to start a quest
    • /quests setItem with nothing in hand now removes the hologram item
  • New stage types: [b0f4b70, 611c50c]
    • Find Location: the stage ends when the player is at a certain distance from the location
    • Craft: the stage ends when the player crafts a certain amount of an item
    • Fill buckets: the stage ends when the player fills a certain amount of one bucket type (water/lava/milk)
  • "minZoom" option for dynmap integration [49b18e3]
  • "showCustomHologramName" option to display the name of the custom hologram (from the data file) [88bf4fe]
  • New commands for /quests scoreboard: show and hide [a3195d8]
  • New translations:
    • Portuguese (pt_PT, 95%) by @Pombeiro93, Idiogotrindade
    • Italian (it_IT, 100%) by Outlander87
    • Spanish (es_ES, 65%) by aguilarruben1999
Changes:
  • Pages are no longer unlimited on paged GUIs [21d2168]
  • Changes in YAML quest format [31dd5b8]
  • Custom item comparison system (no longer bugs with items) [9cf2171]
  • Holograms can now be configured per quest [110f215]
  • Scoreboard lines which exceeds 48 characters are now automatically cut
  • /quests adminMode can now be used from the console [5318006]
Fixes:
  • Various fixes on holograms
  • "Used" and "Unused" lore at the same time
  • Plugins like ColorChat will no longer fail the parsing system
  • Many other fixes on various aspects of the plugin

Branches system description:
Quests are now organized in "branches": a sequence of multiple stages which starts one after another. At the end of a branch, you can setup up to 5 stages which will be launched simultaneously. Each one of theses stages is linked to another quest branch, so the first stage to be completed by the player will lead him to its linked branch, and the other stages that have been launched will be canceled. If there is no "ending" stage at the end of a branch, the quest will finish here.
Pre-release notice:
I prefer to mark this version as a "pre-release" because the branches system has changed many, many things in the quest files structure. I have done dozens of testing, but I can't be sure that everything will work fine on everybody's computer. Do make backups before switching to this version. I'll mark the 0.16 as "release" if after a certain time I do not receive error reports.
Developers notice:
I have joined the CodeMC team, which means that BeautyQuests now have its own CI (on Jenkins) and Maven repository ( Nexus)!​
----------, Oct 23, 2019

Additions :
  • "cancellable" option on each quest: when enabled, the player will be able to stop the quest from his menu (/quests). The option "allowPlayerCancelQuest" must be enabled in config. [e98e67a]
Fixes :
  • Fix on some materials not working on 1.13 (bug on the Confirm GUI) [9c9cc70]
----------, Jun 14, 2019

Firstly, I do recommend everybody to regenerate their language files and correct the lang name in config: en has been changed to en_US, fr to fr_FR and cn to zh_CN.

Additions :

  • New translation system:
    • All files are now stored in a separated file: plugins/BeautyQuests/locales
    • en_US, fr_FR, zh_CN and de_DE (new!) are copied by default
    • You can help us translate BeautyQuests in other languages with our Crowdin project
  • New inventories closure system:
    • A "yes/no" GUI is now showed when you try to close the inventories, to avoid losing your work
    • The command /quests inventory has been created in case of a problem, it will reopen the latest inventory you opened
  • Dialog and permissions editor now have a better help
  • The permission beautyquests.start has been created: enabled by default, it allows player to start quests
  • Informations messages on /quests setStage ...
Changes :
  • allowPlayerCancelQuest option now enabled by default
  • questItem option is moved to language file
  • Missing dependencies messages are no longer displayed
  • Dialog sender "nothing" is renamed to "noSender"
Fixes :
  • Entity Type GUI throwing error on 1.14
  • Latest builds of MythicMobs not working
  • Fishes names are not correct below 1.13
----------, Jun 7, 2019

Additions :
  • 1.14 supported [0421018]
  • New scoreboard system [0339c0e]
    • Configurable in a separate file: scoreboard.yml
    • Each line is configurable
    • PlaceholderAPI support, split on max length, refresh time
    • Commands to edit it in real-time (/quests scoreboard ...)
  • Admin Mode to broadcast some log messages to whose enabled it with /quests adminMode (when a player starts a quest, this kind of things...) [0339c0e]
  • Fish stage type
  • {nl} placeholder to break lines in messages [0339c0e]
  • Finish quest sound now configurable [0339c0e]
  • Changes in particles configuration : [76e509e]
    • Next stage particles now configurable
    • Start, talk and next particles can now be disabled separately
    • New particle shape: spot
  • Option to prevent players to break their own blocks in mine stage type
  • Permission for /quests version (beautyquests.command.version) [6b38769]
  • Help messages in editor system (on joining and chatting) [dce4034]
  • Command to force leaving editor system : /quests editor (debug command, should not be used!) [dce4034]
Changes :
  • Blocks amount showed in the Edit Blocks GUI [0339c0e]
  • Quest ID showed in the Finish GUI when editing a quest [0339c0e]
  • Config file now fully documented with comments (to see it you'll have to regenerate it) [6b38769]
  • Description messages optimization - not computed each time [0339c0e]
  • /quests remove now shows a confirmation GUI (yes/no)
  • Much code cleaning, optimization, added javadoc
  • Placeholders {x} in custom stage descriptions [dce4034]
Fixes :
  • Exception when removing a NPC with quests [0339c0e]
  • Line pages for Stages GUI not automatically refreshed
  • Duplicated item at the start/end of pages in Stages GUI
  • Exceptions on backup creation
----------, May 6, 2019

Changes :
  • Particles can now be configured separately (start and talk nodes in config.yml)
Fixes :
  • Fixing problem when trying to remove items on head
  • Added some javadoc
----------, Feb 25, 2019

First, I posted all the source code of BeautyQuests on GitHub : https://github.com/SkytAsul/BeautyQuests

Additions :

  • Backup system, if an error happens during loading/saving of datas and quests, it will create a backup [7de5253]
  • Whole new command system (accessible to other developers) :
    • /quests backup to create a manual backup [7de5253]
    • /quests finish will allow administrators to manually finish quests for other players
    • /quests cancel will allow both administrators and players to cancel quests (players will only be able to cancel their own quests)
    • Players can now use /quests start to start quests for their own
    • /quests setItem <talk|launch> to change hologram's item
  • [x/m] (id/amount) format on NPCs texts in dialogs, you have to regenerate your language file or add [{2}/{3}] at the beginning of lines "misc.format.npcText" and "misc.format.selfText"
  • {PLAYER} placeholder in dialogs
  • New stage type : interact. For now, there is only one option : the player has click on a block at a specified location (I will add more options in next updates)
  • New option in config.yml : "disableTextHologram" to completely disable text hologram above NPC heads.
  • Small particle effect is displayed on stage ending
  • Placeholder requirement (for PlaceholderAPI)
  • mcMMO skill level requirement [c067b01]
  • McCombatLevel requirement [7de5253]
  • Miniature Pets is now supported for Mobs stage type [3ee6674]
  • GPS in NPC Stage (it will show a path to reach the NPC) [0d9ec6d]
  • EpicBosses compatibility should now work
Changes :
  • Holograms height is more effective now (based on entity height via NMS, instead of entity's eyes height) [3ee6674]
  • Moving "hologramText" option from config.yml to the language file (line "misc.hologramText")
  • Changes in item name formatting before 1.13
  • Some changes in API, more Javadoc...
  • Changes in quests editing (players progress is kept if you have not edited any stage) [d2f50ac]
  • Disabled debug stick in quests
  • Command reward now accepts multiple commands [510cff8]
Fixes :
  • Max stack size is now handled
  • Fixes in permissions list editor
  • Event priority fixes
  • Various fixes
----------, Feb 18, 2019

Additions :
  • New config option : progressBarTimeoutSeconds. By default on 0, it change the time before the boss bar of mobs stage disappear.
  • Chinese language file is now present by default. To use it, set "lang: cn" in your config.yml. Much thanks to @qsefthuopq for his translation :D
Fixes :
  • Stage mobs optimization
  • Fixed a bug on pages of Quest List
----------, Dec 13, 2018

Additions :
  • hologramsHeight option in config.yml : value added to hologram height (default to 0.0, height is by default computed through entity eye height and scoreboard presence)
Changes :
  • Money reward now accept negative values (operation will be withdraw instead of deposit)
Fixes :
  • Various fixes
Please note that I started to add EpicBosses compatibility in this version, but it should not be used yet !
----------, Dec 10, 2018

Additions :
  • New command in dialog editor : nothinginsert
  • You can now create a specific message for permission requirement
  • SkillAPI class requirement
  • New command : /quests setstage <player> <quest> [newstage]
  • New configuration options : itemNameColor and itemAmountColor, to configure colors for message in Items and Mobs stage types.
  • System of vanilla translations (1.13 and higher) : copy a Minecraft JSON language file (who can be found in the assets folder of your .minecraft) into the BeautyQuests plugin folder, then put his name in "minecraftTranslationsFile" config option. All blocks, items and mobs names will be translated through this file !
Changes :
  • Timer message now shows minuts left ("You must wait x minuts before starting this quest again")
  • Timer can now be configured for each quest
  • Hologram text is now configurable per quest
  • Description messages in Quests menu are now splitted for stages Mobs, Mine and Items
  • Launch item hologram showed only once per NPC
  • Talk item hologram is now disabled if ProtocolLib isn't installed
Fixes :
  • Supports the new dev bulds of WorldGuard for 1.13
  • Chat stage type was not saved properly in config
  • Fixes in dialog editor
  • Fixes with quests editing when cancelled
  • Fix when more than 9 stages on one quest
  • Fix with start dialog if more than 1 quest on one NPC
  • Fix when removing a quest on a NPC with other quests
----------, Dec 3, 2018

Fixes :
  • Fixed bug caused by material name below 1.13
----------, Oct 22, 2018

Fixes :
  • NPC had accounts
  • You can not move items to GUIs anymore
----------, Oct 20, 2018

Make a backup of your quests before upgrading to this version !

Additions :
  • New holograms who shows items above heads of quests NPCs. (If ProtocolLib is enabled, holograms will be showed only if necessary). In config :
    1. holoLaunchItemName: BOOK is the config line for hologram above starter NPC.
    2. holoTalkItemName: COAL is the config line for hologram above stage NPC.
    3. To disable them, don't set anything there.
  • New config option : allowPlayerCancelQuest. If enabled, players will be able to cancel their own quests, by clicking on them in their Quests Menu.
  • Two new Stages Type :
    1. Mine blocks : here you have to break specified blocks
    2. Chat Message : the player has to write something (specified) in the chat. It can be a command as well.
  • /quests start <player> <questid> : new command to start a quest manually for a player
  • Progress bar for mobs stage type (disabled by default, config line : mobsProgressBar) upload_2018-10-20_15-23-1.png
  • New options for quests :
    • You can now choose to disable scoreboard for some quests
    • And hide a quest from dynmap and not-started quest list
  • New help messages
  • Particles and mob from 1.13 now supported !
Changes :
  • Stages GUI reworked :
    • Pages system : you can now create 15 stages for one quest (6 previously).
    • Done and cancel items
    • Demo available on my Discord server
upload_2018-10-20_15-28-13.png
  • You can now choose if you want to disable particles and holograms on some NPC stages. (useful when a player has to find a NPC by himself)
  • Changes in permission reward : now you can choose to remove a permission from a player, and now you can choose a list of permissions and not only one.
  • Rearrangement of Details GUI
Fixes :
  • MythicMobs fixes
  • End fireworks no longer do damage (whew :giggle:)
  • Performance tweaks on Stage NPC particles
  • Fix for non-working plugin if JavaFX was not enabled
  • Minor fixes in dialog editor, items gui and finishing text.
  • Tab completer now supports more arguments
Much much thanks to all players on my Discord server who tested my preview versions, and helped me to find bugs and gave me ideas !
(BeautyQuests now count more than 2k downloads :D)
----------, Oct 20, 2018

Warning : this is a big code update due to 1.13, so ensure that you have backups before using it !

Additions :

  • The 1.13.1 is now supported ! (previous versions too, from 1.8 to 1.12)
  • New option in Item Creator GUI : you can now choose if you want to add ItemFlags to your custom item.
  • Tab completer !
  • Multi-line placeholder for beautyquests_started_ordered : add _x add the end. Max amount of lines is configurable with line "splittedAdvancementPlaceholderMax" of config.yml.
  • New particles shapes : bar and exclamation. (a vertical rod, and an exclamation point) capture20180930202907088.png
Changes :
  • New system of rewards (developers can now create their own)
  • Changes for requirements (now messages are sended if players want to start a quest but they don't have the requirements)
  • The 1.8 no longer supports particles
  • The command resetPlayerQuest now supports a Quest ID argument
Fixes :
  • Fixes on scoreboard system
  • Much other fixes and improvements
Preview builds are released frequently on my Discord server, if you want dev builds with new things early, go on ! (totally free)
----------, Oct 3, 2018

Additions :
  • dynmap integration who shows a marker at each quest starter :
    Code (YAML):
    dynmap:
      markerSetName
    : "Quests"
      markerIcon
    : "bookshelf"
    If you want to disable it, set markerSetName to nothing ("")
  • New option for Kill Mobs stage type : shoot. If enabled, you'll need to kill the mob from afar (with a projectile, like an arrow, a snowball, an egg...). It's the dye item in the main GUI.
  • A config line for choosing the material of the next/previous page item, pageItem (by default it's set to ARROW) idea by @Ender_Griefeur99
  • An item on the Quest Details GUI which allows to return on the Stages GUI. idea by @Sviatoslav
Changes :
  • Minor language changes
  • Items color changes for Quests Menu
Fixes :
  • Much fixes about datas : duplication, errors, NPCs who had accounts...
  • New temporary command to remove duplicated accounts : /quests removeduplicate
  • Fixe on scoreboard errors
I have created a Discord server where you can get help with my plugins : https://discord.gg/H8fXrkD
----------, Aug 27, 2018

This update provide much changes in the code. Please make backups before updating to it !

Additions :

  • Custom stage advancement message (message showed in the scoreboard and in the quests menu) configurable with the sign item.
  • Reimplementation of custom starting message for stages, configurable with the feather item.
  • New message sender for dialogs : "nothing" (if chosed, the message will be sent without any prefix)
  • Small 1.8 support (not all functionnalities are supporteds, like Scoreboards, particles...)
  • Much new options in config :
    • You can now configure a cycle of save (line saveCycle) : every x minuts, a periodic save will be performed.
    • sounds : when enabled, it will allows plugin to send sounds for some actions
    • playerStageStartMessage : if to true, this will prevent plugin to send automatic start message (like Go talk to a NPC named xxx)
    • firstQuest is to choose a quest who'll be started for each player who connect for the first time. Write the ID of this quest on this line
  • {PLAYER} variable in commands rewards
  • New command : /quests save to do a manual save of your quests
Changes :
  • Quests are now saved in their each own file.
  • Quest's end message is now more precise : now it shows the gain of xp, items and money but only if present.
  • The Quests menu has been improved : it shows now finished and non-started quests
  • Changes in behavior of bring back items stage type : now items will be removed from inventory before the dialog starts
Fixes :
  • Much little bugs fixes
  • Stage ending was not taken when you edit a quest
  • Fixes about permissions
  • Scoreboards optimization
And now, last but not least, the big changement that made this update extremely long and turned my brain upside down, the accounts system ! With it, you can create RolePlay servers with several player accounts (or classes) and each account will have their own saved quests ! Needs the hook plugin AccountsHook. Can be disabled in the config file, line accountsHook. Disabled if the plugin is not enabled.

Big thanks to @Ender_Griefeur99, @Jaquie and @Naiste(donator) for testing my beta versions and sending me ideas !
----------, Aug 5, 2018

Additions :
  • * NONE *
Changes :
  • * NONE *
Fixes :
  • Placeholders are now usable in every language message
  • Fix on custom placeholders
  • Fix on advancement placeholder
----------, May 13, 2018

Error in version naming, sorry
----------, May 13, 2018

Additions :
  • Custom logger, who write everything about BeautyQuests in a single file (for debug)
  • New things in API (item utils, etc.)
  • Custom Item Editor (GUI) upload_2018-5-13_11-36-28.png
    • While moving items in a Rewards GUI, you'll be able to open this editor.
    • When an item has the lore "Quest Item" (config.yml, line questItem), you'll not able to drop it.
  • New sub-command : resetPlayerQuest <name> <id> : allows administrators to reset datas of only one quest for a player.
  • New reward type (on stage ending) : execute a command
  • New placeholders :
    • beautyquests_player_inprogress_amount (amount of quests in progress)
    • beautyquests_player_finished_amount (amount of quests finished)
    • beautyquests_total_amount (amount of quests created)
    • beautyquests_advancement_X (advancement of quest with id X for player)
Changes :
  • Big code revamp, performances optimization, ameliorations in updater.
  • 1.9.2, 1.9.4 and 1.10.2 fully supported (yes, it's a little late)
  • Command /quest no longer exists, now to open the list GUI you have to execute the default command (/beautyquests, or aliases) without any sub-argument.
Fixes :
  • Little fixes, language correction
----------, May 13, 2018

Additions :
  • New requirement type : Faction Requirement (plugin Factions required).
  • You can configure a sound for each text of a dialog.
  • New GUI : Quests List, who show all quests in progress for the player. Opened by the command /quest.
  • You can choose in the config file where to show customized particles :
    • By default : particleConfigLocations: [START]
    • Available values (array) : START or TALK
    • upload_2018-4-27_17-0-38.png
Changes :
  • In scoreboards :
    • You can edit the name of the Scoreboard in the language file (line scoreboard.name)
    • If messages are too long, the plugin will automatically split it at spaces.
  • New alias for main command : quetes. Now : [bquests, quests, beautyq, bq, quetes]
Fixes :
  • Optimization of particles runnables (repetitive tasks).
  • Minor bugs
----------, Apr 27, 2018

Additions :
  • You can configure where particle spawn (new line particleShape in config. Only 2 options yet : point and near) can occur lags
  • New system of requirements, an API is now present
  • Two new requirements : job level (for JobsReborn) and permissions required.
Changes :
  • * NONE *
Fixes :
  • Particles bugs fixes
  • Inventories bugs fixes
upload_2018-4-7_15-46-12.png
----------, Apr 7, 2018

A tiny but necessary fix for servers who does not have HolographicDisplays installed.
I'm really sorry for unpleasantness that caused :oops:
----------, Mar 9, 2018

Additions :
  • HolographicDisplays is now supported :
    • Code (Text):
      holoNPC: "§8§lQuest NPC"
    • An hologram like this upload_2018-3-8_15-12-40.png will be showed above the name of the NPC. If you want to disable this, write this in the file :
      Code (Text):
      holoNPC: ""
Changes :
  • CPU optimization (repetitive tasks are lighter)
  • Backup system when you launch a new version for the first time
Fixes :
  • Much fixes on /quests reload
  • Fixes on configuration file
----------, Mar 9, 2018

Additions :
  • SkillAPI experience is now supported :
    • Code (Text):
      skillAPIoverride: true
    • If this line is on true and SkillAPI is loaded on the server, all experience gained will be given to SkillAPI.
Changes :
  • Items are now dropped on floor if your inventory is full.
Fixes :
  • Message on Finish GUI when XP gain is edited
There will be a lot of new plugins support in next updates.
----------, Mar 5, 2018

Additions :
  • /quests edit added : to edit a quest (it will reopen the Quest Creation GUI, but with choosed quest datas) - experimental
Changes :
  • * NONE *
Fixes :
  • Lang omissions
  • MythicMobs stage type problems
  • Shift click in inventories
----------, Mar 1, 2018

Additions :
  • End message added
  • Stage reward : you can add rewards at the end of each stage (items, xp, permission, money, teleportation) and a text sent at the end of the stage.
  • More help messages addeds
  • PlaceholderAPI is now supported ; by example, to make NPC say "Hello SkytAsul" the dialog text will be "Hello %player_name%". More informations here.
  • You can now add a dialog when a quest starts (finally !)
  • Two commands addeds to he Dialog Editor : npcinsert and playerinsert to insert messages to the given index.
  • You can configure the particle showed when a quest can be started (in the config file, lines particleEffect and particleColor)
  • Minor ameliorations (like backups, config formatting...)
Changements :
  • Anvil GUI deleted (useless, and causes too many bugs)
  • Operational API
  • Interdiction of moving and of typing commands is removed ; /unstuck too
  • Permissions rewards are now using Vault, so they are now permanents (if you have any permission/grade plugin compatible with Vault, like LuckPerms, GroupManager...)
  • Reload command now reloads the language file too
  • The command is now /beautyquests, but you still can use /quests. There are four aliases : beautyq, bquests, bq and quests
Fixes :
  • On Mobs stage type
  • On /quests remove
  • Much bugs fixes in the Stages inventories.
  • Minor bugs fixeds.
  • Some English errors are fixed.
Important information : I opened a wiki to help users

I'm working on an edit command, maybe for the 0.5.1 ;)
----------, Feb 4, 2018

THIS UPDATE MAY BE INSTABLE FOR SOME PLAYERS Do backups before installing. Here to download the last stable version.

Additions :
  • API has expanded : you can create your owns stages types (and JavaDoc on some things)
  • New little command : /unstuck when you are stucked in the inventories system (impossibility of move, of doing commands...)
Changements :
  • Inventories system of creation completely reworked. Normally less bugs.
Fixes :
  • Bugs on particles for versions not supported
  • Language mismatch in the GUI of selection/creation of a NPC
  • Bugs in the last inventory (just before creating quest)
  • Bugs when choosing NPC for remove a quest
  • Bug on kill mobs stage if MythicMobs is not enabled
  • Bug in Mob GUI
  • Bug with enable error (on loading config files)
----------, Sep 22, 2017

Additions :
  • New command : /quests seePlayer : to see the datas of a player (quests finisheds and in progress)
Changments :
  • * NONE *
Fixes :
  • Bug fix in scoreboard
  • Bug fix of english language file encoding
  • Bug fix of white message when prefix disabled
----------, Jul 30, 2017

Additions :
  • You can create several quests on one NPC (a GUI for choose, start two quests on the same NPC is impossible) more or less experimental
  • Config option : enablePrefix : if on false the plugin will never show "<Quests>" before plugin messages.
Changements:
  • Minor ameliorations
  • Reload command reloads now quests datas (data.yml) AND config parameters (config.yml)
Fixes:
  • Much bugs fixeds about dependencies
  • Help command fixed
  • When quest is removed the particles disappears
  • Bug fixed when QuestsCreateEvent is cancelled by another plugin using the API
----------, Jul 29, 2017

Additions :
  • Resource updater (send a message to the console if any update is uploaded, can be disabled)
Changes :
  • If a quest launcher (NPC) is removed, now the quest assigned to this NPC is removed.
Fixes :
  • 1.12 is now completely supported, I had not see the bug who was preventing plugin starting.
----------, Jul 4, 2017

Additions :
  • Fireworks when a quest is finished (can be disabled)
  • Two new commands :
    • /quests finishAll : to finish all your quests launched
    • /quests resetPlayer <name> : to reset all quests datas for a player (quests in progress, quests finisheds, timers before new quests)
Changes :
  • Verification of MythicMobs enablement is now stronger
  • Minor changements in config saving
Fixes :
  • Particles could cause some bugs
----------, Jun 29, 2017

Additions :
  • * NONE *
Changes :
  • * NONE *
Fixes :
  • When you launch the plugin for the first time you were got a fatal error. (caused by two misplaced lines of code :confused:)
----------, Jun 21, 2017

Additions :
  • * NONE *
Changes :
  • The quests data are now saved in another config file (data.yml)
Fixes :
  • Config file parameters were not saved by default (at the creation of the config file)
  • Self text (in language file) bug fixed.
  • Bug fixed in console when disconnecting (about scoreboard)
If you have already created some quests with a last version of this plugin, they will be moved to the new file, don't worry.
----------, Jun 20, 2017

Additions :
  • Some particles are showed above the heads of NPC when a quest is available and if you have to talk with this NPC. (can be disabled)
  • Scoreboards to inform you of the quest advancement. (can be disabled)
  • New command : /quests version to see the version of BeautyQuests ;)
  • Some messages forgottens are added in the language file.
Changes :
  • The prefix and the format for NPC/Self/Off texts are moved to the language file.
  • When you edit a quest, the list of players who has finished the quest is preserved.
Fixes :
  • Bugs fixes in the Quest Book.
  • Fix in the API (events)
I hope you enjoy this version and my new format of changelog !
----------, Jun 13, 2017

Changelog :
  • Now you can configure a timer for when a quest is finished. By default it's 5 minutes, it means that you can't restart the same quest without it passed 5 minutes.
  • Added the /quests reload command, with this you can reload all the quests. (for save in the config by example)
  • Bugs fix in kill mobs stage. Much problems when loading this stage from the config.
  • Added some messages in console.
Soon the 1.0, give me some ideas to add in this version !
----------, Jun 9, 2017

Changelog :
  • Added 1.12 support
  • Big bugs are fixed for the other versions than 1.11 and 1.12, especially for the Anvil GUI.
  • Bugs for kill mobs stage are fixed.
  • MythicMobs has now a verification at launch and while the use.
  • Vault is now supported ! You can choose a money reward.
  • Language errors are fixed.
----------, Jun 5, 2017

Much peoples were waiting this, and now it's here...
Changelog :
  • MythicMobs is now supported !
  • You can create a specific stage where you must kill some entities (vanilla or MythicMobs).
  • You can chose a permission reward at the end of the quest creation.
  • Some english errors and language omissions are fixed.
Information : MythicMobs isn't compulsory ! If you don't want to use it and if you didn't install it on your server, the stages who require MythicMobs will be just not functional !
----------, May 31, 2017

Changelog :
  • Now, the quests can require that another quest is completed by the player for start.
  • The quests has IDs.
  • Some bugs are fixed in Create GUI (stages creation).
  • Correction of some english errors in the language file ;)
Announcement :
Very soon BeautyQuests will be compatible with MythicMobs !
A compatibility with McMMO will be implemented later (for the experience).
Maybe a compatibility with an Economy plugin...
----------, May 26, 2017

Changelog :
  • You can create many language file and select one in the configuration file.
  • Now two languages are present by default : the french and the english ! Don't thank me... :D
  • The texts from the quest book (/quests list) are now customizables in the language file.
  • The dialog editor is more simple, there is more messages in within.
  • Two new commands in /quests :
    • remove : to remove a quest
    • help : to get some help
Information FR :
Si vous voulez voir un peu à quoi ressemble le plugin et tester quelques quêtes, je vous redirige vers ce serveur (dont je ne suis pas développeur) : play.tyranium.com
----------, May 25, 2017

Announcement : the plugin will have a compatibility with MythicsMobs ! A specific stage will be created.

Changelog :

  • Now the plugin will send event to the Bukkit API to call an event when they actions occurred : a quest is created, a quest is launched, a quest is finished, a step is finished
  • A major bug is fixed when a player start a dialog with a NPC for a Bring Back Items stage. The NPC could require many times the objects. Fixed !
  • Some bugs are fixed in the Details GUI (for create or edit quests), when you needed have to enter a number the plugin crashed... and other little bugs !
----------, May 24, 2017

Changelog :
  • Instead of simple line of text from the NPCs, now it's a dialog ! You can chose if is the NPC or the player who will say the text, for each line of text !
  • Fixed bug of quests "multiple times", in the config file it will always set false, so you couldn't make multiple times your quests... now it's fixed !
  • Minor ameliorations in the config file
Pour tous les Français qui utilisaient mon plugin avant cette version :
Je vous recommande de supprimer le fichier lang.yml et de le laisser se régénérer tout seul, car maintenant certaines informations dans les messages sont erronées...
----------, May 18, 2017

Changelog :
  • Now you can chose if the quest can be do several times
  • You can prevent a quest for a player if he doesn't has a specific level.
  • New things in quest book
  • Some bugs are fixed
----------, May 17, 2017

Changelog :
  • New command for /quests : list ! (/quests list if you didn't understand ;))
  • Added the quests book for admins ! (you can see the details of the quests)
  • Ameliorations in the config.yml, it will be more light
  • New system of editors (NPC selector, etc...) to be lighter also.
  • When you have to create NPC for quests, now I added an option to move where you want to make spawn your NPC.
That's all, I think...
----------, May 15, 2017

Changelog :
  • No longer need CommandAPI to work
  • No longer need WorldGuard by default, but if WorldGuard isn't loaded on your server the stages who works with WorldGuard will doesn't work
  • Added /quests edit command (experimental, there may be some bugs)
  • Little bugs fix
  • When an error occured when the plugin has been stopped, instead of a long stacktrace, a short message will be sent to the console
----------, May 14, 2017

Require the new version of CommandAPI.

Now the /quests command require a permission.

List of current permissions :
quests.command : Gives access to /quests command (necessary for /quests xxxx)
quests.command.create : Gives access to /quests create (require quests.command)
----------, Apr 24, 2017

Now the language file is finish ! You can customize the create inventories (name, items, messages) and the messages sent to the player during quests.

You can now also create bring back stages (the player must bring back items to NPC).

For admins who don't want to install WorldGuard and WE (it's necessary to launch the plugin), soon the plugin will no longer need WorldGuard by default. But WG will be necessary for create Regions stages ;)
----------, Apr 22, 2017

A langage file is now present !
Some problems with Citizens are fixed.
----------, Apr 20, 2017

Now you can create stages with NPCs !

Details :
- usage of LinkedHashMap and LinkedList for fix the order of the stages in the GUIs and in the config file
- add off message/npc message according to the type of stage started
- minor ameliorations on GUIs
- new stable internal system for selecting NPCs
- add messages on console
...and other tiny ameliorations

The language file is in developpement ! You should no longer have to endure the French ! :D
----------, Apr 14, 2017

Now the quests are functionnal !
They are saving into config.yml AND reload into the plugin when the server starting.
You can create only stage with WorldGuard region for the moment, but the other types comes soon !
----------, Apr 12, 2017

The GUI create is complete ! You can create quests totally with the command /quests create, and it was saved in the config.yml !

Le GUI de création est complet ! Vous pouvez créer des quêtes totallement via la commande /quests create, et ce sera sauvegardé dans le config.yml !
----------, Apr 12, 2017

Resource Information
Author:
----------
Total Downloads: 120,588
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