
Quests 3.15.2
Allow your players to do quests in return for rewards
This update fixes a bug where the plugin chat would fail to initialize on Paper 1.16.5 - 1.18.1.
Commit log since v3.15.1
5eb0ffd - Fix Chat class initialization on Paper 1.16.5 - 1.18.1 Check for class actually needed by MiniMessageParser <Krakenied>
5a09ba5 - Add missing options to farming docs <Krakenied>
b216e2b - Prepare for release 3.15.2 Bump version number <Krakenied>
More information
- Documentation: https://quests.leonardobishop.com
- Report a bug: https://github.com/LMBishop/Quests/issues
- Contribute to Quests: https://github.com/LMBishop/Quests/pulls
Hi everyone,
This update is mainly technical. It enhances general plugin performance and version compatibility (from 1.8 to 1.21.1). As always, it also includes several quality of life improvements and many new features, such as: new task types, enhancements to existing ones, new dedicated plugin item types, a visible progress boss bars limit, direct Vault rewards support, and more! Additionally, it addresses several bugs.
New number formatting options utilizing Java's DecimalFormat and DecimalFormatSymbols have been added. These allow you to configure the desired number format displayed in Quests GUIs, placeholders, and beyond. This feature enhances consistency and readability of number displays across your server.
We’ve also introduced 10 new task types: bucketentity, composting, curing, hatching, itembreaking, itemdamaging, itemmending, resurrecting, trading and customfishing_fishing. The configuration details for these tasks can be found in the wiki.
In addition to these new tasks, there are several fixes and improvements to existing ones, including:
- blockbreak:
- Added the item option (along with data and exact-match).
- CoreProtect and PlayerBlockTracker hooks will now prevent task progress from increasing if the check (in the task) is enabled and the required plugin fails to start, preventing potential exploitation.
- Added the coreprotect-block-lookup-delay option to config.yml to delay CoreProtect hook lookups, which can be used to mitigate the fast break and place bug caused by CoreProtect's asynchronicity delays.
- Added the allow-negative-progress option, similar to the one in blockbreak.
- These task types now use an improved item matching system, allowing item, data, and exact-match options usage.
- Added the command-match-mode option to specify how commands should be matched. Possible values: EQUALS, STARTS_WITH, ENDS_WITH.
- The item option is now optional.
- CoreProtect and PlayerBlockTracker options have been added (similar to blockbreak).
- CoreProtect and PlayerBlockTracker hooks will now prevent task progress from increasing if the check (in the task) is enabled and the required plugin fails to start, preventing potential exploitation.
- Added the coreprotect-block-lookup-delay option to config.yml to delay CoreProtect hook lookups, which can be used to mitigate the fast break and place bug caused by CoreProtect's asynchronicity delays.
- Added action option (supports lists). Supported values can be found in Spigot API docs.
- Added hand option (supports lists). Supported values can be found in Spigot API docs.
- Added use-interacted-block-result option (supports lists). Supported values can be found in Spigot API docs. The option ought to be used only in very specific setups.
- Added use-item-in-hand-result option (supports lists). Supported values can be found in Spigot API docs. The option ought to be used only in very specific setups.
- Progress boss bars and action bars will only be displayed when progress changes
- Added the mob option (supports lists), typically used for specifying mobs such as COW or GOAT.
- Added mobkilling-use-wildstacker-hook option to config.yml to disable WildStacker hook.
- Added the name-match-mode option to specify how mob names should be matched. Possible values: EQUALS, STARTS_WITH, ENDS_WITH.
- The ignore-afk option now respects the CMI AFK system.
- The item option is now optional.
- The mode option is required only for 1.20+ versions.
citizens_deliver, citizens_interact, servernpc_deliver, servernpc_interact, znpcsplus_deliver, znpcsplus_interact:
- The npc-id option now supports lists.
ecobosses_killing, ecomobs_killing:
- Added the id-match-mode option to specify how mob IDs should be matched. Possible values: EQUALS, STARTS_WITH, ENDS_WITH.
- Added the name-match-mode option to specify how mob names should be matched. Possible values: EQUALS, STARTS_WITH, ENDS_WITH.
Finally, some other miscellaneous improvements to highlight are:
- Added the cancelstring option (list) to quests, which can be used to specify messages sent to the player when a quest is cancelled.
- Introduced the expirystring option (list) to quests, which can be used to specify messages sent to the player when a quest expires.
- Since cancelcommands already existed, we've added expirycommands for consistency.
- Added the vaultreward option to simplify the creation of quest packs compatible with multiple economy plugins.
The update also provisionally reinstates support for older Java versions via a downgrader. Plugin JARs are now provided in different versions. For example, ! Quests-JDK21 or Quests-3.15.1-84eae15.jar is the recommended JAR for Java 21+ (hence JDK21 and no downgraded in the name). Other downloads contain Quests builds for older Java versions, automatically downgraded. Please note that the quality of the downgrader's output may vary, though it is generally stable. Avoid using these older versions unless absolutely necessary. Some of the older versions may require additional flags in the startup command (for example --add-opens=java.base/java.text=ALL-UNNAMED just after java in Java 17 builds).
For further details on what has changed, see the commit log below.
Commit log since v3.15
f7de2dc - Update parent of pinataparty_hit-(task-type).md <Leonardo Bishop>
2c81c6c - Fix action bar on CraftBukkit (it's not supported) <Krakenied>
d2b5759 - Fix CraftBukkit hex color adapter compatibility <Krakenied>
16794d9 - Fix ItemGetter on CraftBukkit 1.8 Improve setting item unbreakability <Krakenied>
52ded1a - Add expiry commands option <Krakenied>
32aa65f - Add CMI ignore-afk support Closes https://github.com/LMBishop/Quests/issues/566 <Krakenied>
33c409d - Add namespaced enchantments support to 1.13+ and 1.14+ item getters <Krakenied>
f92fc76 - Add composting task type <Krakenied>
46501dd - Make the item option in composting, consume, crafting and smithing optional <Krakenied>
03be381 - Fix config validators descriptions <Krakenied>
80e8af6 - Add spawn reason option to mob killing task type Closes https://github.com/LMBishop/Quests/issues/460 <Krakenied>
888d55b - corrected grammar from enchanting-(task-type) <Léo>
5539b3b - Add Goat support to milking task type Fixes https://github.com/LMBishop/Quests/issues/620 (ignore baby mobs) Closes https://github.com/LMBishop/Quests/issues/607 (goat support) <Krakenied>
92774fc - Fix boss bar ClassNotFoundException on 1.8 Boss bars are supported only on 1.9+ <Krakenied>
7e2124c - Move instanceof Goat check to version specific handler <Krakenied>
587172c - Apparently getEntitySpawnReason method is supported only on Paper + forks <Krakenied>
91b094f - Improve PAPI refresh-ticks option behavior <Krakenied>
68c2739 - Ignore ZNPCsPlus hologram serialization errors Closes https://github.com/LMBishop/Quests/issues/618 <Krakenied>
f62133d - Ensure that the entire holo hasn't been skipped <Krakenied>
2896ac5 - Improve CoreProtect check behaviour even more Add CoreProtect block lookup delay option <Krakenied>
32004ae - Update ServerNPC to latest version <Krakenied>
d2d5202 - Add item option to mining task type <Krakenied>
57b3b3d - Send track advancement on building and mining subtract too <Krakenied>
80b9c51 - Add allow negative progress option to building task type <Krakenied>
4c8f277 - Fix building task type subtract for loop returning instead of continuing <Krakenied>
a5f5df1 - Added lacking information to smithing-(task-type).md <Léo>
d7d5e3e - Try to get progress placeholders by task type too <Krakenied>
7cef6c6 - Validate progress-placeholders task references <Krakenied>
7c8618f - Improve QItemStack placeholder processing <Krakenied>
7735295 - Improve regular expression Adjust invalid task reference finder to it <Krakenied>
2b35e25 - Update parameter in sendTrackAdvancement calls <Krakenied>
c7f18da - This one is actually useless <Krakenied>
69ed205 - Handle null progress properly Fixes https://github.com/LMBishop/Quests/issues/619 <Krakenied>
10fc3ae - Delay Legacy Material Support initialization Do not init it at all if not required <Krakenied>
e418106 - Remove unnecessary HashMap#containsKey call from hot path Related to https://github.com/LMBishop/Quests/issues/629 <Krakenied>
038cc4a - [ci skip] Update Gradle to 8.6 <Krakenied>
d7405ee - Clarity changes to smithing task type + docs Related to https://github.com/LMBishop/Quests/pull/627 <Krakenied>
e0b4ce7 - [ci skip] Fix PyroFishingPro fishing task type docs Related to https://github.com/LMBishop/Quests/issues/607 <Krakenied>
9ccf075 - [ci skip] Update building, mining, mob killing and milking task type docs <Krakenied>
17f88db - Use optimized map implementation for quest progress file if available <Krakenied>
fe0eeea - Update workflows actions Use actions/setup-java@v4 for caching <Krakenied>
1578f94 - Implement hatching task type <Krakenied>
5d60934 - Add CustomFishing compatibility <XiaoMoMi>
16d1ee5 - remove inner class and set priority <XiaoMoMi>
c1a2be9 - Merge task types into one - customfishing_fishing <Krakenied>
2520b64 - Add missing docs Closes https://github.com/LMBishop/Quests/issues/574 <Krakenied>
1b84913 - Fixes almost unreproducible rewards dupe on completion Closes https://github.com/LMBishop/Quests/issues/543 <Krakenied>
c554962 - Fix docs workflow Update actions/deploy-pages to v4 <Krakenied>
a01d4c9 - Fix build workflow node.js deprecation warning Update gradle/wrapper-validation-action to v2 <Krakenied>
f61b8e1 - Make the workflow build the project correctly <Krakenied>
275546e - Add option to disable WildStacker hook <Krakenied>
6380d8e - Update WalkingTaskType.java <IceWolf23>
0047bd0 - Small refactor <Krakenied>
aea6650 - Add string match mode option <Krakenied>
f422da2 - Make shop and item id options in ShopGUIPlus interaction task types optional <Krakenied>
7a4946e - Add more walking task type modes Fix compile <Krakenied>
0166e27 - Bump gradlew to 8.7 Fix compile again <Krakenied>
3627b9a - Update to Paper-API 1.20.5 Java 21 is now required <Krakenied>
5fdb275 - Make CompatUtils work properly with no-relocation Paper <Krakenied>
6cb4b58 - Implement new item task types <Krakenied>
9824687 - Use better map impl for quest progress files Resolves issues with async placeholders parsing <Krakenied>
f4853ee - Add curing task type <Krakenied>
8cc9a4a - Begin work on villager-type and villager-profession options <Krakenied>
ad82f71 - Add resurrecting task type <Krakenied>
cbdef13 - Begin bucket tasks rework <Krakenied>
2bebaf5 - Finished bucket task types rework <Krakenied>
d78629c - Optimize it a bit <Krakenied>
e48e4a8 - Add missing getter to 1.20 version specific handler <Krakenied>
46d0e7b - Do not log the entire boss bar exception Closes https://github.com/LMBishop/Quests/issues/659 Closes https://github.com/LMBishop/Quests/issues/637 <Krakenied>
96e1d3e - Fix auto saving feature due to regression caused by https://github.com/LMBishop/Quests/commit/e5c0237bcb45c5d308e0a2b763f50ac97135c768 <Krakenied>
e46b65f - Further debugging optimization Actually refactor a large amount of code lol <Krakenied>
cbdcd1e - Fix codacy issue <Krakenied>
40394f8 - Add not supported to registration message <Krakenied>
5c62483 - Extract method getting registration message <Krakenied>
832e3e5 - Fix typo <Krakenied>
011fa31 - Remove another unnecessary HashMap#containsKey call from hot path Do not use Object2ObjectArrayMap as it doesn't seem to be enough performance-beneficial <Krakenied>
8338339 - Add removed constructor back <Krakenied>
7f44beb - Add Oraxen support <Krakenied>
b67ffad - Add cancelstring and expirystring options Closes https://github.com/LMBishop/Quests/issues/667 <Krakenied>
d7a0277 - Add docs for tasks introduced in #642 <Krakenied>
a82c96b - Fix locked-display <Krakenied>
87244bd - PyroFishingPro support improvements <Krakenied>
9ba3637 - Update Gradle Wrapper to 8.10 <Krakenied>
22d882e - Do not send track advancement for inventory task if progress didn't change <Krakenied>
de2b720 - Rewrite Gradle files to use DSL which is actually supported by IDEs Change the downgrader to a modern supported one <Krakenied>
16aaa53 - Add number formats Closes https://github.com/LMBishop/Quests/issues/613 <Krakenied>
28ebbfc - Do not reload base configurations twice <Krakenied>
b64b5a8 - Finally fix autosaves after regression caused by https://github.com/LMBishop/Quests/commit/e5c0237bcb45c5d308e0a2b763f50ac97135c768 <Krakenied>
bf93e24 - Improve server version getter <Krakenied>
2c27237 - Add {questcolored} to menu elements and other places <Krakenied>
ce6c0e1 - Allow minus sign usage in quest ids (https://github.com/LMBishop/Quests/issues/683) Add Apache Commons Lang NOTICE.txt to resources <Krakenied>
1e63d03 - Rewrite getEffectiveStartedQuests method <Krakenied>
3113ee8 - Get autostart from config only once <Krakenied>
04f320e - Change condition order for performance reasons <Krakenied>
033ae8f - Rewrite trackNextQuest so autostart Quests are tracked properly Closes https://github.com/LMBishop/Quests/issues/570 <Krakenied>
777be35 - Get rid of this deprecation warning <Krakenied>
9ac04c1 - Add compiler args to build script <Krakenied>
d54be31 - Rewrite trackQuestForPlayer method, so it notifies player about the same quest only once <Krakenied>
80c336d - Track next quest after messaging player about completion <Krakenied>
60dc3d5 - Update ServerNPC API-only JAR <Krakenied>
47b68ec - Add trading task type Closes https://github.com/LMBishop/Quests/issues/565 <Krakenied>
7618389 - Fix autostart for quests with individual option set <Krakenied>
195b631 - Optimize a bit walking task type <Krakenied>
b68f28a - Add dedicated getter for enums <Krakenied>
63c874e - Update some project dependencies <Krakenied>
816e0c7 - Clean up task type manager Mark some TaskType methods as final as they aren't really meant to be overridden <Krakenied>
0f1de95 - Remove Folia dependency as we don't really use it <Krakenied>
ef0a494 - Fix HIDE_ATTRIBUTES for 1.20.5+ Change invalidItemStack to screaming snake case <Krakenied>
68aaae8 - Add support for multiple NPC ids in deliver/interact task types <Krakenied>
6beb010 - Set walking mode accepted values from enum <Krakenied>
7248af6 - Add PBT & CoreProtect support to farming task type Do not increment farming and mining progress if CP or PBT was expected to be used but the hook is not set <Krakenied>
14cca41 - Update CustomFishing to latest version (requires update) <Krakenied>
5567117 - Update jvmdowngrader to 1.1.2 <Krakenied>
e2a644f - Drop items that could not be stored Closes https://github.com/LMBishop/Quests/issues/680 <Krakenied>
121e526 - Add Quests.ShowUnsupportedCount property <Krakenied>
e16d386 - Vault reward integration <Krakenied>
cb2b64e - Bump paper-api to 1.21.1 to ensure compatibility with the latest version <Krakenied>
33fb251 - Add some new boss bar options <Krakenied>
e70150b - Add new options to interact task type <Krakenied>
4f254f5 - A little docs cleanup <Krakenied>
c2cd690 - Get rid of unnecessary streams <Krakenied>
15a080e - Add info about supported open source PlayerBlockTracker implementations to the config <Krakenied>
658a6a2 - Fixed wrong description for replenishing task <Léo>
63c5cd0 - Do not return null for a negative cooldown placeholder Fixes https://github.com/LMBishop/Quests/issues/669 <Krakenied>
1f2f4ad - Fix bad defining items references in the docs <Krakenied>
84eae15 - Prepare for release 3.15.1 Bump version number <Krakenied>
More information
- Documentation: https://quests.leonardobishop.com
- Report a bug: https://github.com/LMBishop/Quests/issues
- Contribute to Quests: https://github.com/LMBishop/Quests/pulls
Hello everyone,
This update adds a bunch of new features including: new task types and improvements to existing ones, support for the experimental Folia, a new quest item type, bossbar / actionbar support, and several bug fixes.
Provisional support for the Folia project has been implemented. Folia is a fork of Paper which adds "regionized multithreading" to the server; Quests should now be able to make use of this new multithreading system.
A new BossBar and ActionBar system as been added, which will allow you to display task progress and progression through both these methods. This can improve player experience by not requiring them to open the quests menu to see how close they are to completing a task. This system uses a new set of placeholders called "progress placeholders", whose purpose is to represent the progress for each task. For now, these must be manually set per quest, but in the future there are plans to automatically provide template strings for each task type, removing the need for manual configuration.
There are 9 new task types: blockitemdropping, projectilelaunching, pyrofishingpro_fishing, ecomobs_killing, znpcsplus_interact, znpcsplus_deliver, servernpc_interact, servernpc_deliver, and pinataparty_hit. The configuration for these tasks can be found on the wiki. In addition to new tasks, there are some fixes and improvements to exiting ones, such as: async support for placeholderapi_evaluate task type, better support for smithing task type, farming and position task type reworks, better mode detection in walking task type, and more.
Finally, some other miscellaneous improvements to highlight are: a new ItemsAdder quest item, time-limit placeholder, addition of "cancelcommands" option in quests, support for namespaced sounds, an improvement error messages, support for '_' and '-' in quest and task IDs, PlaceholderAPI support for GUI titles and fixes, and per-menu GUI trimming options. For a full list of changes, please review the commit log below.
A special thanks to the following people on GitHub for their contributions, they have made up the bulk of this update and without them then these changes would not have happened: Krakenied, Elikill58, NahuLD, svaningelgem, and AfkF24.
Commit log since v3.14.2
593d3af - Add ItemsAdder quest items <LMBishop>
b721847 - Add some config <Elikill58>
e5c0237 - Add support for Folia <NahuLD>
3448146 - Fix issues and wrap up work <NahuLD>
63d8c6b - Remove unused region scheduler <NahuLD>
481773d - Add missing scheduler wrapper methods for future usage <NahuLD>
af949f2 - Fix quest controller ignoring count-towards-limit <LMBishop>
548deb8 - Actually fix counts-towards-limit <LMBishop>
104e1f6 - Fix issues with delay ticks for Folia scheduler <NahuLD>
ae262e0 - Add time limit placeholder (closes #524) <LMBishop>
0f5ccf8 - Make placeholder always return no tracked quest <LMBishop>
86a365d - Add allow negative progress option to mining task <LMBishop>
d8c0362 - Alternative task constraints implementation <Krakenied>
ffa6b7d - Update task types to the new impl <Krakenied>
0d81659 - Some refactor Use new constraints impl <Krakenied>
8642fec - Add alternative raw value ctor <Krakenied>
0b0cd61 - Add alternative single constraint ctor <Krakenied>
dc25526 - Remove finals to keep the project code style <Krakenied>
3e677ae - Clean project and update gitignore <Elikill58>
0de1838 - Remove bungee in gradle <Elikill58>
95d5363 - Add bossbar and full track advancement <Elikill58>
fa3e19f - Fix error <Elikill58>
b30c24a - Add actionbar <Elikill58>
b6802d4 - Prevent possible issue <Elikill58>
ee4e229 - Change default values <Elikill58>
541d53f - Fix 0/1 value <Elikill58>
a67162a - Better support for smithing task type in 1.20 <Krakenied>
edfc159 - Rewrite position task type <Krakenied>
816be92 - Fix build after rebase <Krakenied>
953ca7e - Get rid of tabs <Krakenied>
93e7821 - Fix not deleted bossbar <Elikill58>
a101ba1 - Add missing import <Elikill58>
c7c9acf - Rewrite & optimize boss bar <Krakenied>
1cbede7 - Add dedicated progress placeholders section <Krakenied>
78f8118 - Rewrite title and action bar handles Add hex support to action bar (Paper only feature) <Krakenied>
ae484b6 - Optimize and organize imports <Krakenied>
7f4b9d3 - Add block item dropping task type Closes https://github.com/LMBishop/Quests/issues/544 <Krakenied>
29d15b2 - Organize imports in common project <Krakenied>
41e6964 - Clean up task type registration <Krakenied>
43812ea - Optimize send track advancement method more <Krakenied>
b94b596 - Fix up task type manager <Krakenied>
68010d3 - Add and remove players from the boss bar synchronously <Krakenied>
b462fe2 - Farming task type rework Closes https://github.com/LMBishop/Quests/issues/548 <Krakenied>
15011f6 - Make boss bar color and style customizable <Krakenied>
157a13f - Detect the server version using a long-standing API <Krakenied>
c9d978f - Additional online check in inventory task type Fixes NPE on logout <Krakenied>
ba56278 - [ci-skip] Update Gradle wrapper <Krakenied>
9206827 - Remove expired links from docs <LMBishop>
af2b1f2 - Dynamic boss bar style and color support <Krakenied>
3f22618 - Better required amount detection <Krakenied>
9aa600d - Add cancel commands Partially closes https://github.com/LMBishop/Quests/issues/558 <Krakenied>
9043a4d - Improve item getters Implement separate skull getters <Krakenied>
8ddb69a - Schedule inventory check at location to avoid weird behaviour <Krakenied>
af711c9 - Add PyroFishingPro fishing task type <Krakenied>
d7f1c29 - Nullable block interact task type support <Krakenied>
25d27b2 - Remove unnecessary method calls <Krakenied>
5facd15 - Add useful method overloads <Krakenied>
1b44d06 - Implement projectile launching task type <Krakenied>
5b61fc4 - Fix walking task type not detecting horse mode <Krakenied>
25a2d1a - Bump Gradle wrapper to 8.5 <Krakenied>
ee59747 - Bump checkout and setup-java actions to v4 Improve workflow run condition <Krakenied>
98e55ac - Fix CoreProtect delay caused by queue Closes https://github.com/LMBishop/Quests/issues/162 <Krakenied>
369ded8 - Add namespaced sounds support Closes https://github.com/LMBishop/Quests/issues/585 <Krakenied>
554bb10 - Add namespaced types support to the 1.14+ item getter <Krakenied>
a55916d - Do not try to load tasks with unresolved task type Closes https://github.com/LMBishop/Quests/issues/583 <Krakenied>
e6f0d05 - Add FabledSkyBlock 3 support <Krakenied>
3551c1e - EcoMobs support <Krakenied>
b1bf539 - Add WildStacker support to mob killing and breeding task types Closes https://github.com/LMBishop/Quests/issues/584 <Krakenied>
a184e76 - Also allow '_' and '-' to be used as "characters". <svaningelgem>
65f0ad3 - Reverting back to for-loop because of performance considerations. <svaningelgem>
454c8d4 - List all available categories when you encounter a missing one. <svaningelgem>
597086d - camelCase the variable name. <svaningelgem>
2c96d1a - Add PlaceholderAPI support in GUI titles <AfkF24>
c5f63c4 - Set back button to correct slot if GUI trim is off <AfkF24>
b2918ae - Fix quests occupying pagination row slots <AfkF24>
af1a539 - Add GUI trimming options per GUI type <AfkF24>
e356e1c - Support custom elements in started quests menu <AfkF24>
48ee7a6 - Add async and refresh-ticks options to PAPI task type <Krakenied>
832e99c - Ensure that custom menu element commands are ran from Folia GlobalTickThread Closes https://github.com/LMBishop/Quests/issues/601 <Krakenied>
3c354a0 - Update documentation for release 3.15 <LMBishop>
df3263b - Add ZNPCsPlus support <Krakenied>
4cdb262 - Add ServerNPC support <Krakenied>
399dd21 - Handle empty names in another way <Krakenied>
704ece3 - Do not send track advancement for PAPI task type as it behaves really weird <Krakenied>
0229544 - Add ServerNPC and ZNPCsPlus interact task types too <Krakenied>
604537b - Use current hologram data for ServerNPC task types <Krakenied>
bb6a273 - Another compatibility requirement for ServerNPC tasks <Krakenied>
0cc6541 - Add PinataParty support Closes https://github.com/LMBishop/Quests/issues/518 <Krakenied>
c650dfb - Remove unnecessary classes from IridiumSkyblock JAR to reduce its size <Krakenied>
b636bef - Update documentation <LMBishop>
2343ebc - Bump version number <LMBishop>
More information
- Documentation: https://quests.leonardobishop.com
- Report a bug: https://github.com/LMBishop/Quests/issues
- Contribute to Quests: https://github.com/LMBishop/Quests/pulls
This update fixes an issue where the plugin would crash when attempting to modify quest progress files for offline players. This also fixes events for the ecobosses_killing task type not registering, and fixes errors thrown from the ShopGUIPlus task type.
Commit log since v3.14.1
8a0e5d3 - Add null check for shop and de-duplicate common code <LMBishop>
325b78f - Add @EventHandler annotation to BossKillEvent <LMBishop>
8017642 - Fix some moddata commands blocking the main thread <LMBishop>
01c1457 - Fix broken links in documentation <LMBishop>
3345d07 - Bump version number <LMBishop>
More information
- Documentation: https://quests.leonardobishop.com
- Report a bug: https://github.com/LMBishop/Quests/issues
- Contribute to Quests: https://github.com/LMBishop/Quests/pulls
This update fixes a bug where the plugin would generate errors on older versions of Minecraft.
Commit log since v3.14
b765f1b - Add changelog generator script <LMBishop>
7a7298e - Revert "Optimize TaskUtils#getApplicableTasks method" <LMBishop>
e079568 - Add missing documentation for mobs in taming and breeding tasks <LMBishop>
758fe7f - Bump version number <LMBishop>
More information
- Documentation: https://quests.leonardobishop.com
- Report a bug: https://github.com/LMBishop/Quests/issues
- Contribute to Quests: https://github.com/LMBishop/Quests/pulls
Hi everybody,
This update has a whole lot of bug fixes and technical improvements. To list a few, the Essentials task type breaking on certain versions has been fixed, the breeding task has been improved for server running 1.10+, the walking task now works properly for vehicles, and there have been various performance optimisations made.
Additionally, this update adds a few new task types: replenishing, playerpoints_earn (for the plugin PlayerPoints), and ecobosses_killing (for the plugin EcoBosses). There are also new options for several other task types: blockbreak can now query PlayerBlockTracker (an alternative to CoreProtect), shearing can now be used on entities other than sheep and can be restricted to specific colours, and most tasks which require an item has a new 'exact-match' option.
Finally, the Quests wiki has a new home at https://quests.leonardobishop.com, and documentation is now distributed with the source code. Previously undocumented task types (such as blockshearing and smithing) have now been properly documented, among other missing options.
A special thanks to @Krakenied on GitHub for the majority of these changes! And apologies for my own absence, as usual I am busy at university; however, I have quite a bit of time now over summer to set aside for Quests, so updates and support should be a bit more regular.
(P.S. For those asking, Quests is already compatible with Minecraft version 1.20.x)
Commit log since v3.13.3
9399366 - Replace fastutil Int2ObjectOpenHashMap with hppc IntObjectHashMap Closes https://github.com/LMBishop/Quests/issues/497 without significant plugin JAR file size change <Krakenied>
e06d3f0 - Fix ShopGUIPlus task types Fixes https://github.com/LMBishop/Quests/issues/496 <Krakenied>
5e552ee - Fix Essentials task types Closes https://github.com/LMBishop/Quests/issues/488, https://github.com/LMBishop/Quests/issues/468, https://github.com/LMBishop/Quests/issues/457 and https://github.com/LMBishop/Quests/issues/290 <Krakenied>
efa6d10 - Improve world validation <Krakenied>
59dbcfb - Improve breeding task type 1.10+ versions support <Krakenied>
8cb5b45 - Set block variable before the loop <Krakenied>
4d61a74 - Add allow silk touch option Partially closes https://github.com/LMBishop/Quests/issues/499 <Krakenied>
2c36268 - Remove unnecessary import <Krakenied>
cbbb2fa - Bump paper-api to 1.19.4 <Krakenied>
ab318d1 - PlayerBlockTracker support Closes https://github.com/LMBishop/Quests/issues/499 <Krakenied>
1fb59f1 - Fix PlayerBlockTracker event calling order <Krakenied>
9b186a3 - Fix the event order after task types registration <Krakenied>
97e4ae6 - Fix and improve listener plugin comparing condition <Krakenied>
b110eae - Optimize TaskUtils#getApplicableTasks method <Krakenied>
04c62a2 - Update gradle to 8.0.2 <Krakenied>
04527a2 - Fix MMOItems and Mythic Lib repo <Krakenied>
34a84d7 - Fix CaveVinesPlant not being handled properly <Krakenied>
a37bb72 - Handle vehicles movement separately Closes https://github.com/LMBishop/Quests/issues/464 <Krakenied>
042368e - Add PlayerPoints support Partially closes https://github.com/LMBishop/Quests/issues/494 <Krakenied>
e45785c - Do not register BrewingTaskType for unsupported server versions Closes https://github.com/LMBishop/Quests/issues/503 <Krakenied>
cab640a - Fix frogs and turtles breeding <Krakenied>
b8ef517 - Fix build <Krakenied>
7f72147 - Update gradle to 8.1.1 <Krakenied>
330a71e - TaskUtils improvements <Krakenied>
2e3883f - Use matchEntity method in breeding task type <Krakenied>
4fa851f - Implement replenishing task type <Krakenied>
6f88c39 - Register replenishing task type <Krakenied>
9e7fb30 - Add support for shearing other entities (i.e. mushroom cows and snowmen) <Krakenied>
a77f978 - Building task type refactor <Krakenied>
3f029ab - Interact task type refactor <Krakenied>
b5d0db2 - Mining task type refactor <Krakenied>
e5e3e87 - Mob killing task type refactor <Krakenied>
c7a5e4e - More TaskUtils improvements <Krakenied>
8ba64ad - Command task type refactor More TaskUtils changes <Krakenied>
b8ede73 - Add nullability check <Krakenied>
97ab313 - Refactor mythic mobs killing task type <Krakenied>
189414e - Add missing condition <Krakenied>
4d19504 - Improve brewing stand player detection <Krakenied>
a848ab3 - Quest items refactor <Krakenied>
7e8328d - Add exact match option to brewing task type <Krakenied>
c306daa - Add exact match option to consume task type <Krakenied>
ada3f9a - Remove deprecation <Krakenied>
5b587a8 - Add exact match option to crafting task type <Krakenied>
2393dc0 - Add exact match option to fishing task type <Krakenied>
4211526 - Add exact match option to interact task type <Krakenied>
9a227de - Add exact match option to mob killing task type <Krakenied>
1880b7f - Add exact match option to smelting task type <Krakenied>
d9d2ed4 - Add exact match option to smithing task type <Krakenied>
e855c4b - Set exact match in TaskUtils <Krakenied>
5176fe2 - Improve getConfigBoolean method <Krakenied>
924bba7 - Use getConfigBoolean method <Krakenied>
0086abe - Do not color mythic mobs killing task type mob name Improve matchString performance <Krakenied>
0a78d93 - Add support for custom PlayerBlockTracker forks <Krakenied>
bf939b6 - Bump paper-api to 1.20 <Krakenied>
4949060 - Bump paper-api to 1.20.1 and HikariCP to 5.0.1 <Krakenied>
3755926 - Remove unnecessary deprecation <Krakenied>
a6d0369 - Improve breeding task type description <Krakenied>
6d1cd5f - Update gradle to 8.2 and shadow to 8.1.1 <Krakenied>
114d7c2 - Improve build workflow <Krakenied>
f2b6f3c - Improve inventory task type detection <Krakenied>
4c9a7d8 - Add exact match option to inventory and citizens deliver task types <Krakenied>
0aac85f - Migrate docs to GitHub pages <LMBishop>
a5395de - Update links to wiki <LMBishop>
fb1dda5 - Add missing task types to documentation <LMBishop>
112fe6c - Add ecobosses_killing task type <LMBishop>
8fd02cb - Fix missing dependencies for EcoBosses <LMBishop>
cc557de - Bump version number <LMBishop>
More information
- Documentation: https://quests.leonardobishop.com
- Report a bug: https://github.com/LMBishop/Quests/issues
- Contribute to Quests: https://github.com/LMBishop/Quests/pulls
This update is a largely technical one fixing a lot of bigs and issues. It fixes a duplication glitch with the crafting task type, some issues with the with the smelting, distancefrom, and farming task types, and a rewrite of the menu system. It also adds more granular permissions for commands, see [the wiki page](https://github.com/LMBishop/Quests/wiki/Commands-and-permissions#permissions).
For further details on what has changed, see the commit log below.
## Commit log since v3.13.2
[`84a4b07`](https://github.com/LMBishop/Quests/commit/84a4b07e46b206a58d60d7eb7ef2c831ca3c33cd) - [ci skip] Add distribution status to README \<LMBishop\>
[`0d439ce`](https://github.com/LMBishop/Quests/commit/0d439ce6a06a4c2237af42f431d1dac394eacf54) - Fix IAE in DistancefromTaskType \<Krakenied\>
[`c5fb1a8`](https://github.com/LMBishop/Quests/commit/c5fb1a883750e7ffdc7d5c43cc52f11ee7cc7eb7) - Bump shadow from 7.0.0 to 7.1.2 \<Krakenied\>
[`41da82c`](https://github.com/LMBishop/Quests/commit/41da82ceab24416eb0f05f0201e31b2231bb0350) - Bump gradlew from 7.4 to 7.5.1 \<Krakenied\>
[`0c738b2`](https://github.com/LMBishop/Quests/commit/0c738b2eb13969f420ed515bad3028f396aff0f5) - Fix jitpack being stupid \<Krakenied\>
[`2799ccf`](https://github.com/LMBishop/Quests/commit/2799ccfe196943ecffc02aa8c7bb53399277fab1) - Make authlib non-transitive to hide an IDE warning https://advisory.checkmarx.net/advisory/vulnerability/Cxeb68d52e-5509 \<Krakenied\>
[`94952f8`](https://github.com/LMBishop/Quests/commit/94952f8a06e2c558ddc59bf6c4309449feb3bb05) - Fix ShopGUI+ task types (breaking change) https://github.com/brcdev-minecraft/shopgui-api/releases/tag/3.0.0 \<Krakenied\>
[`e0c4292`](https://github.com/LMBishop/Quests/commit/e0c429295bd7c8c32afb5f8e9b8eae1c68c5f072) - Improve build workflow \<Krakenied\>
[`e1cca69`](https://github.com/LMBishop/Quests/commit/e1cca693ac5a2987d5335e3d7462f322b873343b) - Use citizensapi instead of citizens \<Krakenied\>
[`446de98`](https://github.com/LMBishop/Quests/commit/446de982982889bb045093400926f3b1bb6d4709) - Add color check Part of https://github.com/LMBishop/Quests/issues/434 \<Krakenied\>
[`f80eb1b`](https://github.com/LMBishop/Quests/commit/f80eb1b21b963d180b353292238aba40d405c9a1) - Add missing config validators \<Krakenied\>
[`af4c850`](https://github.com/LMBishop/Quests/commit/af4c850c5826c8238b7cef34b972682b23eaaaba) - Remove redundant suppression \<Krakenied\>
[`fc2008a`](https://github.com/LMBishop/Quests/commit/fc2008ab1e79d961ff1627fd6f9f3abd3c6b91b2) - Improve crafting task type Fixes https://github.com/LMBishop/Quests/issues/430 \<Krakenied\>
[`5d9a3d1`](https://github.com/LMBishop/Quests/commit/5d9a3d1eb1f0615aa50c3de870a061f41658e5f8) - Fix smelting task type as well \<Krakenied\>
[`6be8d85`](https://github.com/LMBishop/Quests/commit/6be8d855bdb901abc1d1da2b15a7ba1807ce4e83) - Fix smelting task type older versions startup error \<Krakenied\>
[`3574d27`](https://github.com/LMBishop/Quests/commit/3574d277ba30fcde325a5a7a405d70b0b869dec0) - Use enhanced switch statement \<Krakenied\>
[`8ed5f8c`](https://github.com/LMBishop/Quests/commit/8ed5f8c564138a7eb84864eeb4ebcf8929f21102) - More crafting task type detection improvements Fixes https://github.com/LMBishop/Quests/issues/430 with ctrl pressed \<Krakenied\>
[`826da67`](https://github.com/LMBishop/Quests/commit/826da674adc55748d85623af1fab5d4e327df732) - Apply fixes to smelting task type as well \<Krakenied\>
[`41f0054`](https://github.com/LMBishop/Quests/commit/41f005443e00760e8fc9187fea665974a2d0a6bc) - Get task amount needed after checking the item \<Krakenied\>
[`5d7c0db`](https://github.com/LMBishop/Quests/commit/5d7c0db9b01327db59d68b03f985a23c3b6fd528) - Move smelting task type item debug logging \<Krakenied\>
[`43588fe`](https://github.com/LMBishop/Quests/commit/43588fef63a1e5caa1582645af7bf8678bb2d5e2) - Apply fixes to smithing task type too Add support for more than 1 result item \<Krakenied\>
[`0fea32c`](https://github.com/LMBishop/Quests/commit/0fea32c58e198680ecc34c7f45f1cf2da14209a7) - Brewing task type rework Closes https://github.com/LMBishop/Quests/issues/434 \<Krakenied\>
[`242f8b9`](https://github.com/LMBishop/Quests/commit/242f8b9e274807fa6a62dc7f39c17b6359f25678) - Optimize adding aliases - use Collections#addAll \<Krakenied\>
[`2ef1b89`](https://github.com/LMBishop/Quests/commit/2ef1b89d104ae2c2a8dcd4b73f1aaf4317380574) - Remove unused imports \<Krakenied\>
[`b191d97`](https://github.com/LMBishop/Quests/commit/b191d978689c0b8efe6aff0ac7c55fc4724f18e4) - Store menu elements in Int2ObjectOpenHashMaps \<Krakenied\>
[`03f8ab7`](https://github.com/LMBishop/Quests/commit/03f8ab7eff378453a46283f6b08b82f14939009b) - Use pattern variables \<Krakenied\>
[`eb5d68c`](https://github.com/LMBishop/Quests/commit/eb5d68c1ba7e11591c0f0f671f7c145e7aa74908) - Use Collections#max to find max element \<Krakenied\>
[`a2c013d`](https://github.com/LMBishop/Quests/commit/a2c013d6b181c5ff1ce9398ae1f301b85c2893f3) - Optimize walking mode validation Lowercasing the mode is not needed because of a config validator \<Krakenied\>
[`c279b19`](https://github.com/LMBishop/Quests/commit/c279b19a00e6eaedd77cbdb11579f96bd00c5a7c) - Some build.gradle changes and updates \<Krakenied\>
[`3861112`](https://github.com/LMBishop/Quests/commit/3861112824b8476d12669378e155a9c0e1609b2b) - Fix MythicMobsKillingTaskType config validators not being added \<Krakenied\>
[`2152026`](https://github.com/LMBishop/Quests/commit/21520266ddf38c61aa47c76d1ef9d9927b9078ba) - Bring support for older ShopGUIPlus versions back Fixes https://github.com/LMBishop/Quests/issues/473 \<Krakenied\>
[`7cb36f6`](https://github.com/LMBishop/Quests/commit/7cb36f6478835555f9e8263e123f569100082274) - Optimize entity-related walking modes validation \<Krakenied\>
[`099519e`](https://github.com/LMBishop/Quests/commit/099519e872848c9f67c59e5c0db53aa66c213137) - Optimize debug logging Fixes https://github.com/LMBishop/Quests/issues/452 \<Krakenied\>
[`bf20ca9`](https://github.com/LMBishop/Quests/commit/bf20ca900b8a581ed84d97697572753c169c541b) - Add block shearing task type Closes https://github.com/LMBishop/Quests/issues/416 \<Krakenied\>
[`606f421`](https://github.com/LMBishop/Quests/commit/606f421a376493b7de65291d6cebda90bed4a5f8) - Optimize debug logging a little more \<Krakenied\>
[`2cad319`](https://github.com/LMBishop/Quests/commit/2cad3195259a4b47fe9d61dd9263762b4dbbe46b) - Fix build badge \<Krakenied\>
[`5743352`](https://github.com/LMBishop/Quests/commit/5743352d1f41d6c097b80e9ac666da474295fcfb) - Add command permissions \<snake\>
[`c7bf2ba`](https://github.com/LMBishop/Quests/commit/c7bf2ba6a6b40a57b4b7046aa8b36f14fcabe850) - Add option for automatically closing GUI (closes #480) \<LMBishop\>
[`7a18c1f`](https://github.com/LMBishop/Quests/commit/7a18c1fd85180b0204664af370002533f98d9978) - Refactor menu code \<LMBishop\>
[`52198a3`](https://github.com/LMBishop/Quests/commit/52198a3c0d04e767d5524feb38114389bd849ba3) - Fixed result of PreStartQuestEvent not being used in further checks \<Tom\>
[`82af8a4`](https://github.com/LMBishop/Quests/commit/82af8a493b6767640101c09185678a725fb83382) - Fix quests not being sorted \<LMBishop\>
[`bc11bfd`](https://github.com/LMBishop/Quests/commit/bc11bfd6be2bd4b3ba151707cc636c1d5a5b8131) - Some improvements to farming and block shearing task types \<Krakenied\>
[`bf186c0`](https://github.com/LMBishop/Quests/commit/bf186c0aca0576c292ab88b8f2230a91a4bfc425) - Additional material validation Closes https://github.com/LMBishop/Quests/issues/445, https://github.com/LMBishop/Quests/issues/349 \<Krakenied\>
[`1451820`](https://github.com/LMBishop/Quests/commit/14518205677e64edf39f344345138ca013316b66) - Legacy pattern doesn't detect § symbol \<Tom\>
[`579287b`](https://github.com/LMBishop/Quests/commit/579287b875b67c4f9450351deb57ee7d10e7b00f) - Use version specific methods to get item in main hand \<Krakenied\>
[`bc8938a`](https://github.com/LMBishop/Quests/commit/bc8938a208222b38e5a20a046e4ff9cf91ef9f12) - Fix ArrayIndexOutOfBoundsException Do not show back menu element when category menu is null \<Krakenied\>
[`5a28efa`](https://github.com/LMBishop/Quests/commit/5a28efa93b1d8959593280f9f4346879a1eef508) - Bump version umber \<LMBishop\>
## More information
* Quests wiki: https://github.com/LMBishop/Quests/wiki
* Report a bug: https://github.com/LMBishop/Quests/issues
* Contribute to Quests: https://github.com/LMBishop/Quests/pulls
This update adds a new smithing task type and fixes a couple of bugs. ShopGUI+ has been updated to their new API so please make sure ShopGUI+ is up-to-date before downloading this. Also, CoreProtect checks have been moved off the main thread to stop locking, however this may result in longer times for block breaks to count towards quests. Also, a bug concerning allow-partial-completion for inventory tasks has been fixed.
## Commit log since v3.13.1
b0f75f4 - Add animal list to breeding task type \<@LMBishop>
5a2b90c - Add interact task type (closes #401) \<@LMBishop>
09ed287 - Change configuration key from animal to mob for breeding type \<@LMBishop>
84eb73f - Remove BrewingCertainTaskType.java \<@LMBishop>
f753a6c - Fix interact task type \<@LMBishop>
2609d06 - [ci skip] Update Java version in README \<@LMBishop>
43c204c - Remove default from allow-partial-completion (closes #413) \<@LMBishop>
92aa72c - Run CoreProtect check async (closes #432) \<@LMBishop>
f4b84d6 - Update ShopGUI+ version (closes #429) \<@LMBishop>
2bc07a0 - Fix enchanting task type bug \<@YoSoyVillaa>
01f1398 - [ci skip] Reword a couple of issue form questions \<@LMBishop>
3c6a18a - Add smithing task type and fix mining CoreProtect bug \<@YoSoyVillaa>
d709ab4 - Bump version number \<@LMBishop>
## More information
* Quests wiki: https://github.com/LMBishop/Quests/wiki
* Report a bug: https://github.com/LMBishop/Quests/issues
* Contribute to Quests: https://github.com/LMBishop/Quests/pulls
This update fixes a couple of bugs where the reverse-if-broken would not work properly for the blockplace task, and where the position task would incorrectly require an invalid option.
Commit log since v3.13
d35afe2 - Fix reverse-if-broken BuildingTaskType NPE <Krakenied>
3642b3c - Remove invalid option from position task type <LMBishop>
615aa14 - [ci skip] Update README.md <LMBishop>
77ab390 - Bump version number <LMBishop>
More information
- Quests wiki: https://github.com/LMBishop/Quests/wiki
- Report a bug: https://github.com/LMBishop/Quests/issues
- Contribute to Quests: https://github.com/LMBishop/Quests/pulls
Hello everybody.
This update adds a new taming task type, and adds more options to the enchanting and mobkilling types. Additionally, this update adds support for quest items from the ExecutableItems plugin.
All task types which end in 'certain' have been merged into their non-certain counterparts. For example, 'blockbreakcertain' and 'blockbreak' are now one task type. This was done as it makes a bit more sense to just have one task type with an optional field. To ensure everybody's configuration does not suddenly break, both names can be used to refer to the same task type. This also comes with a refreshed wiki for each task type. Rather than having all types on one page, each task type now has its own page. You can find them all here: https://github.com/LMBishop/Quests/wiki/Task-types
Additionally, extended problem descriptions can now be viewed by hovering over them on modern Minecraft versions. This should help if you do not understand a specific problem. You can also now give players quest items from a command, please see the wiki on how to do this.
To help with creating tasks, the quests debugger has been added. This is to help you if you find that a specific quest is not working, but no problems have been raised; the debugger will go through exactly what a task type is doing and print it out for you. Finally, an issue where quests progress files failed to load on startup has been fixed.
As always, view the commit log for a full list of changes.
Enjoy!
Commit log since v3.12
0f428e2 - Add taming certain task type <Krakenied>
075419c - Move autostart check to start method (closes #390) <LMBishop>
7cea3ec - [ci skip] Update CONTRIBUTING.md <LMBishop>
cf91503 - Add extended problem descriptions and MiniMessage <LMBishop>
86f2d42 - Fix plugin dependent task types Fixes https://github.com/LMBishop/Quests/issues/397 <Krakenied>
252239e - Use computeIfAbsent exclsively on async thread (closes #404) <LMBishop>
9236145 - Use Paper supplied Adventure rather than shading <LMBishop>
f10a592 - Optimise imports <LMBishop>
611c8bb - Check quest still exists (closes #402) <LMBishop>
ed09b10 - Added items subcommand to give a specific amount of a quest item to a player. <MihaiChirculete>
43060c0 - Removed condition to be a player when using the "items give" subcommand <MihaiChirculete>
3b45ca1 - Changed param to match rest of the plugin style <MihaiChirculete>
4cf5e75 - Check if quest is started in menu (closes #396) <LMBishop>
2fa380b - Add quests debug command <LMBishop>
ba52997 - Add option to configure log history <LMBishop>
75377a3 - Add boolean return type to storage providers <LMBishop>
a69acc5 - Continue instead of return (closes #409) <LMBishop>
f15acd5 - Add some configuration options to debug report <LMBishop>
ccc2706 - Fix ConcurrentModificationException when player data is being loaded <LMBishop>
196410e - Add debug report & quest commands <LMBishop>
cd4dfb9 - Move applicable tasks to TaskUtils and add debug messages <LMBishop>
6551b69 - Refactor config validation for task types <LMBishop>
12ebaa5 - Merge task type certain types with regular types <LMBishop>
c9a47f7 - Add wildcard to debug command <LMBishop>
34f5f42 - Add specific enchantment & level to enchanting task (closes #408) <LMBishop>
ce4675a - Add item option to mobkilling (closes #403) <LMBishop>
77cded0 - Add executableitems quest item (closes #364) <LMBishop>
417a5fa - Add extended description to warning type <LMBishop>
fd8e806 - Bump version number <LMBishop>
More information
- Quests wiki: https://github.com/LMBishop/Quests/wiki
- Report a bug: https://github.com/LMBishop/Quests/issues
- Contribute to Quests: https://github.com/LMBishop/Quests/pulls
This update adds new smelting and smeltingcertain task types. It also adds new options to quests: cancellable, counts towards limit, and time-limit, the latter option meaning quests can now 'expire'. Placeholders have also been added which can get the amount of time remaining, and the time which the player started the quest.
A tool to migrate quests data between storage providers has been added, which is accessible via "/quests admin migratedata".
Finally, a bug concerning the inventory task type not working as expected has been fixed, and a few other bug fixes and improvements.
Enjoy!
Note: the plugin will only start tracking quest start times after this update, so existing players with started quests may find that their quests were started on or around the 1st January 1970, as no data exists for them (yet).
Commit log since v3.11
8110d8e - Add smelting task types <Krakenied>
23aeb21 - Fix partial inventory task type completion <Krakenied>
5258cbf - Add fix for citizens_deliver as well <LMBishop>
43e6479 - Make moddata commands IO async (closes #359) <LMBishop>
894f1c2 - Add quests data migration tool <LMBishop>
18fc66d - Fix concurrent migration protection <LMBishop>
70bac90 - Fix nuvotifier_vote not registering (closes #381) <LMBishop>
d89f808 - Add cancellable and counts towards limit options (closes #383) <LMBishop>
824a0a4 - [ci skip] Update badges link <LMBishop>
89b5cba - [ci skip] Replace broken/inactive badges <LMBishop>
ca46689 - Add started field to progress files & database migration <LMBishop>
ac6e763 - Remove default value from new column <LMBishop>
649bb97 - Add started date placeholder <LMBishop>
8068d1e - Add time-limit option and quest expiry functionality (closes #379) <LMBishop>
af8470a - Fix inventory and citizens deliver task types taking too many items <Krakenied>
ec20c79 - Do not count non-creatures damage <Krakenied>
759575c - Bring MythicMobs 4 support back <Krakenied>
231be0a - Add multiple option to mobkillingcertain (closes #266) <LMBishop>
887589d - Fix migrationInProgress boolean not resetting after error <LMBishop>
55691a6 - Prevent migration from similar mysql databases <LMBishop>
547bb09 - Bump version number <LMBishop>
More information
- Quests wiki: https://github.com/LMBishop/Quests/wiki
- Report a bug: https://github.com/LMBishop/Quests/issues
- Contribute to Quests: https://github.com/LMBishop/Quests/pulls
This update brings several new configurable options and bug fixes.
The farming task now accepts more blocks and a new [URL='https://github.com/LMBishop/Quests/wiki/Task-configuration-layout#farming']mode option [/URL]has been added. Additionally, the inventory and citizens deliver tasks also now support [URL='https://github.com/LMBishop/Quests/wiki/Task-configuration-layout#inventory']partial deliveries[/URL].
Categories may now be hidden from the quests menu, and quests may now have quest-specific items for the [URL='https://github.com/LMBishop/Quests/wiki/Creating-a-quest#completed-display']locked, complete, cooldown or no permission states[/URL]. Custom GUI items may now also have [URL='https://github.com/LMBishop/Quests/wiki/Custom-GUI-items']commands[/URL] attached to them to be executed when the player clicks on it.
The reset and fullreset commands should now be fully functional. Bug fixes have been made for tasks inventory, blockplace, and walking, with an exploit fixed for crafting. Finally, several quality-of-life features such as a command to forcibly open the started menu and cancel all quests have been added, with several other bug fixes and improvements.
Please see the commit log below for the full list of changes.
[SIZE=6][B]Commit log since v3.10.1[/B][/SIZE]
[URL='https://github.com/LMBishop/Quests/commit/4360ca05052ae23c12b1dda3749eff500fee9456']4360ca0[/URL] - Refactor message system (closes #336) <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/c38c4218fda2dc4f05107b1ce6f0f458dc988530']c38c421[/URL] - Add wildcard to quest cancel command (closes #283) <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/ad8cbad7cc90531922f5d68b8be621d18b2b1b3b']ad8cbad[/URL] - Fix reverse-in-broken for BuildingCertainTaskType <Krakenied>
[URL='https://github.com/LMBishop/Quests/commit/c9d3f64619172d6fb34911b295b3ee611b298891']c9d3f64[/URL] - Added command to open the started Quests GUI via console/admin for other users. <ofunny>
[URL='https://github.com/LMBishop/Quests/commit/8182a7793f31cc7acde90dee2493a59da2577484']8182a77[/URL] - Start work on version specific handlers (closes #340) <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/661a35670847bd5f43fcd8f1578e5018fc233917']661a356[/URL] - Fix typo <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/d51066926bcd799fdc30fad011822ef0cbde69d9']d510669[/URL] - [ci skip] Add git hash to development versions <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/3df35969a4450ae63606533e196045e2fcecc79a']3df3596[/URL] - Add status badge to README <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/7df9ada0bb6dd550df07f508ba387c0fc3933e30']7df9ada[/URL] - [ci skip] Move badge to right place <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/b771bac19697cb3e5b03bcc35d9dcfea9b82dd9f']b771bac[/URL] - Fix duplicate hash extension <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/8bc887cb1c1e3839c147022c517d6037bfedd2d3']8bc887c[/URL] - Add commands to custom items (closes ##341) <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/3b736838022d4ee8dadfed8f47096283e7cad4fb']3b73683[/URL] - Add {questid} placeholder to QuestMenuElement (closes #346) <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/d0ca0f47a5fdbcfd12323cc8446c92513b741d72']d0ca0f4[/URL] - Add quest-specific status display items (closes #337) <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/d794ebdc9112c3028fc8b7deea01c89a6d4b9d39']d794ebd[/URL] - Bump spigot-api to 1.17.1 for new events support <Krakenied>
[URL='https://github.com/LMBishop/Quests/commit/abb7edcdbd1e1cd7edf1838d91d215cb47a51d91']abb7edc[/URL] - Add bucket events to inventory task type <Krakenied>
[URL='https://github.com/LMBishop/Quests/commit/b5e2e07b1db77199742b12346fe8e8959e29c427']b5e2e07[/URL] - Fix support for older server versions <Krakenied>
[URL='https://github.com/LMBishop/Quests/commit/526ba8adcfe840727d21bc46812f9b6dda80b35c']526ba8a[/URL] - Fix inventory task type IllegalPluginAccessException PlayerBucketEvent is an abstract class <Krakenied>
[URL='https://github.com/LMBishop/Quests/commit/d0e7b27be3e60cd25328c643d784e77dd5e4e61f']d0e7b27[/URL] - Remove unused import statement <Krakenied>
[URL='https://github.com/LMBishop/Quests/commit/347875ee7b448909f8f34af6e0c1121f2f03f040']347875e[/URL] - Improve error handling for MySQL storage provider <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/60ebf1a896c3ab3fee75920ffdec2f99ef775988']60ebf1a[/URL] - Remove redundant deprecation suppressions <Krakenied>
[URL='https://github.com/LMBishop/Quests/commit/d8688bbec4ab04d2dd333eb7cb56c0efd5ee6bb3']d8688bb[/URL] - Make farming task type plugin field private final instead of public static <Krakenied>
[URL='https://github.com/LMBishop/Quests/commit/f0edeee46353c15c81083708ca52f17fa1d46647']f0edeee[/URL] - Ignore NOTHING inventory actions in crafting task type Fixes [URL]https://github.com/LMBishop/Quests/issues/362[/URL] <Krakenied>
[URL='https://github.com/LMBishop/Quests/commit/1172009251e89bc8728338a864c998ce42bc5207']1172009[/URL] - Add farming task type modes for harvestable blocks support Fixes [URL]https://github.com/LMBishop/Quests/issues/363[/URL] <Krakenied>
[URL='https://github.com/LMBishop/Quests/commit/e1b86ec1b0ce425d08cea79ec63944c49f1223c5']e1b86ec[/URL] - Fix transport method validation Fixes [URL]https://github.com/LMBishop/Quests/issues/358[/URL] and many other possible issues that fortunately didn't happen <Krakenied>
[URL='https://github.com/LMBishop/Quests/commit/c408fdd2697aaa6b7b899880e7f6afdea88836d5']c408fdd[/URL] - Add partial delivery option (closes #360) <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/c659b081b2171129d2dd31a97d27473e9c8afa23']c659b08[/URL] - Add option for hidden categories (closes #355) <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/372302b93be7ea054131428a6c39cfd113d4672f']372302b[/URL] - Update MythicMobs to 5.x (closes #350) <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/13ec48e7b45b4e3c253ac8504e0402b4ab0a147c']13ec48e[/URL] - Update actions workflow to Java 17 <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/a51b0c6ac010b7395b75e31ff9833b43c468acde']a51b0c6[/URL] - Fix reset and fullreset commands (closes #351) <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/05a624b1f92dd713d4c89db6670cc18bdbe1d2d7']05a624b[/URL] - Fix broken path for category custom item commands <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/74fa10e4eaf6717359ff982415b2ae6afb3e28e4']74fa10e[/URL] - Bump version number <LMBishop>
[SIZE=6][B]More information[/B][/SIZE]
[LIST]
[*]Quests wiki: [URL]https://github.com/LMBishop/Quests/wiki[/URL]
[*]Report a bug: [URL]https://github.com/LMBishop/Quests/issues[/URL]
[*]Contribute to Quests: [URL]https://github.com/LMBishop/Quests/pulls[/URL]
[/LIST]
This update fixes the plugin completely breaking when trying to process null strings for PlaceholderAPI, and also fixes the incorrect display %quests_started_list% placeholder when using quest-autostart.
[SIZE=6][B]Commit log since v3.10[/B][/SIZE]
[URL='https://github.com/LMBishop/Quests/commit/f61b8a7343f0dac47a4b93e185c0e05053ee4eb2']f61b8a7[/URL] - Fix quest started PAPI placeholder to work with quest-autostart (closes #323) <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/e0a16aac979aa129227440a05929d89940f632e9']e0a16aa[/URL] - Add QPlayer::getEffectiveStartedQuests method <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/e539a1a9e43eb5c77395162aaa2ecb954457cfb0']e539a1a[/URL] - Bump version number <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/7bcfd0aa298e3a4876ebc1f7093862e4324cc250']7bcfd0a[/URL] - Add null check to PAPI processor (closes #324) <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/96aa867aff1964843a53d894e15db38451315af3']96aa867[/URL] - Revert "Add null check to PAPI processor (closes #324)" <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/44884a2c1ec20313da6088c2997457e430a1151f']44884a2[/URL] - Update PAPI version <LMBishop>
[URL='https://github.com/LMBishop/Quests/commit/d4a087ded742da7e7ba1eee0d994e6fd99ddac17']d4a087d[/URL] - Add null check to PAPI processor (closes #324) <LMBishop>
[SIZE=6][B]More information[/B][/SIZE]
[LIST]
[*]Quests wiki: [URL]https://github.com/LMBishop/Quests/wiki[/URL]
[*]Report a bug: [URL]https://github.com/LMBishop/Quests/issues[/URL]
[*]Contribute to Quests: [URL]https://github.com/LMBishop/Quests/pulls[/URL]
[/LIST]
Hi all,
This update adds a new task type for NuVotifier. It also adds global macros (more on that after), the option to change click actions for the menu in light of the 1.18 update disabling middle-click in survival, and a few bug fixes. I would recommend changing the click action for quest tracking if you run a 1.18 server, a suitable alternative being "DROP".
Global macros allow you to create your own values/placeholders in the main configuration and use them within quests files. This helps reduce repetition across your configuration. They are substituted before the file is parsed, so you should be able to use PAPI placeholders within them.
To see how to use global macros, check this wiki page: https://github.com/LMBishop/Quests/wiki/Global-configurations#global-macros
To see how to change the click actions for the menu, check this subsection of the basic configuration wiki page: https://github.com/LMBishop/Quests/wiki/Basic-options#GUI-actions
Commit log since v3.9.2
cc345e0 - Add NuVotifier task type (closes #299) <LMBishop>
332af25 - Update icon link <LMBishop>
7387280 - Add global macros (closes #316) <LMBishop>
68d1e30 - Version dependencies for ci <LMBishop>
7f556fa - Add check for CTRL+Q drop (closes #317) <LMBishop>
e5d62e7 - Fix quest command's behavior <SirSalad>
f22ddb5 - Add UI button customisation (closes #158, closes #319) <LMBishop>
67faa65 - Surround values by quotes in default config <LMBishop>
a156562 - Add warning on initial start up if there are configuration issues <LMBishop>
f3cef22 - Fix stripping line breaks in config loader <LMBishop>
9219457 - Add defaults to UI actions <LMBishop>
338a814 - Bump version number <LMBishop>
ed46078 - Update gradle wrapper version <LMBishop>
3ae56bf - Fix display of incorrect version <LMBishop>
More information
- Quests wiki: https://github.com/LMBishop/Quests/wiki
- Report a bug: https://github.com/LMBishop/Quests/issues
- Contribute to Quests: https://github.com/LMBishop/Quests/pulls
First and foremost, I am currently very busy with university. I'm not able to spend much time adding features to Quests, so I'm having to prioritise bugfixes over features. This also means I haven't been around to provide support or thoroughly test these changes. Please keep this in mind when opening issues.
This update brings a few changes. Citizen IDs can now be specified as opposed to names in citizen tasks. Specific modes of transport for the walking task can now also be required. Please see the the respective task types in the wiki for instructions. The behaviour of automatic quest tracking should also be improved to automatically track the first available quest upon player login, which should assist with servers who only have one active quest at a time. For the rest of the changes, please review the commit log below.
Enjoy!
(P.S. Quests is probably already fully compatible with 1.18, open an issue if this is not the case.)
Commit log since v3.9.1
2b525ad - Nuke DS_Store
dc81e1e - [ci skip] Clarify issue templates
df22274 - Add citizens ID support (closes #271)
e0cee4c - Add modes of transport (closes #269)
0f20e39 - Fix PAPI task completed placeholder not following config (closes #251)
6f21bc6 - Add cancel shortcut command (closes #283)
bb59cb9 - Add data source configuration (closes #275)
0889f05 - Track first available quest if autotrack is enabled (closes #281)
f74bd08 - Truncate decimals to 2 d.p. (closes #276)
f3912fd - Fix broken mobkillingcertain task type (closes #285)
747726a - Fix suicides counting towards playerkilling (closes #295)
2885d66 - Fix typo in command help menu
e32894d - Bump version number
More information
- Quests wiki: https://github.com/LMBishop/Quests/wiki
- Report a bug: https://github.com/LMBishop/Quests/issues
- Contribute to Quests: https://github.com/LMBishop/Quests/pulls
- Fixed ShopGUI+ task type and add shop-specific requirement #243 <- #254
- Thank you to SirBlobman on GitHub for the fix
- A shop ID must now also be specified, see the wiki
The above survey will be closed within a week of this update.
- Added some new task types: consume, bucketfill, bucketempty #226, #237
- Please see the wiki for usage instructions: https://github.com/LMBishop/Quests/wiki/Task-types
- Please see the wiki for usage instructions: https://github.com/LMBishop/Quests/wiki/Task-types
- Added some new types of quest items: mmoitems and slimefun #221
- These are native integrations with each respective plugin which should have the following benefits:
- Allow for easy configuration of items from other plugins in inventory task etc. without adding unnessecary bloat to the plugin
- Allow the third party plugin to compare the itemstack, rather than quests doing the comparison, hopefully making it more accurate since quests will only directly check the ItemMeta, which could be different depending on how specialised the third party plugin is
- Prevent having to reconfigure the quests every time an item is changed in the third party plugin
- See the wiki on how to define these items: https://github.com/LMBishop/Quests/wiki/Defining-items#manually-defining-items
There are no configuration changes in this update.
- Added quest items & the ability to import items #222
- Quest items can now be defined: see the wiki for info
- You can import items using /q a items import
- Learn how to use reference quest items by viewing the alternative layouts of task types
- Thank you for CoolLord22 on GitHub for this addition
- You can allow different players different quest started limits via permissions
- See the wiki for more info here
- Note: this supercedes the previous quest-started-limit option, however quests will still read from this option if it is defined
- Thank you for CoolLord22 on GitHub for this addition
- This uses Essentials to detect if players are AFK
- You can enable this option here
- Could never replicate the bug in the first place, but I probably found the cause and fixed it
See configuration changes here: https://github.com/LMBishop/Quests/compare/v3.7...v3.8#diff-c957ec11571360042942f142fec931c2334db434131c4dd3138cd4dcd8759203
- Added superiorskyblock2 support (superiorskyblock_level & superiorskyblock_worth) #227
- Added votingplugin support (votingplugin_vote) #228
- Added support to start random quests from specific categories, and for admins to start random quests for players #223
- /q random [category]
- /q a moddata random
- /q a moddata random [category]
See configuration changes here: https://github.com/LMBishop/Quests/compare/v3.6.2...v3.7#diff-c957ec11571360042942f142fec931c2334db434131c4dd3138cd4dcd8759203