Quests

Questing plugin for Minecraft, enabling the addition of goals for players.

GPL-3.0 License

Stars
172
Committers
30

Bot releases are visible (Hide)

Quests - v3.15.2

Published by Krakenied about 2 months ago

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

Quests - v3.15.1

Published by Krakenied about 2 months ago

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.
  • blockplace:
    • Added the allow-negative-progress option, similar to the one in blockbreak.
  • bucketempty, bucketfill:
    • These task types now use an improved item matching system, allowing item, data, and exact-match options usage.
  • command:
    • Added the command-match-mode option to specify how commands should be matched. Possible values: EQUALS, STARTS_WITH, ENDS_WITH.
  • consume, crafting:
    • The item option is now optional.
  • farming:
    • 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.
  • interact:
    • 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.
  • inventory:
    • Progress boss bars and action bars will only be displayed when progress changes
  • milking:
    • Added the mob option (supports lists), typically used for specifying mobs such as COW or GOAT.
  • mobkilling:
    • 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.
  • playtime:
    • The ignore-afk option now respects the CMI AFK system.
  • smithing:
    • 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.
  • mythicmobs_killing:
    • 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 <@LMBishop>
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) <@leogianfagna>
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 <@leogianfagna>
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 <@Xiao-MoMi>
16d1ee5 - remove inner class and set priority <@Xiao-MoMi>
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 <@leogianfagna>
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

Quests - v3.15 Latest Release

Published by LMBishop 8 months ago

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

Quests - v3.14.2

Published by LMBishop over 1 year ago

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

Quests - v3.14.1

Published by LMBishop over 1 year ago

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

Quests - v3.14

Published by LMBishop over 1 year ago

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

Quests - v3.13.3

Published by LMBishop over 1 year ago

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.

For further details on what has changed, see the commit log below.

Commit log since v3.13.2

84a4b07 - [ci skip] Add distribution status to README <@LMBishop>
0d439ce - Fix IAE in DistancefromTaskType <@Krakenied>
c5fb1a8 - Bump shadow from 7.0.0 to 7.1.2 <@Krakenied>
41da82c - Bump gradlew from 7.4 to 7.5.1 <@Krakenied>
0c738b2 - Fix jitpack being stupid <@Krakenied>
2799ccf - Make authlib non-transitive to hide an IDE warning https://advisory.checkmarx.net/advisory/vulnerability/Cxeb68d52e-5509 <@Krakenied>
94952f8 - Fix ShopGUI+ task types (breaking change) https://github.com/brcdev-minecraft/shopgui-api/releases/tag/3.0.0 <@Krakenied>
e0c4292 - Improve build workflow <@Krakenied>
e1cca69 - Use citizensapi instead of citizens <@Krakenied>
446de98 - Add color check Part of https://github.com/LMBishop/Quests/issues/434 <@Krakenied>
f80eb1b - Add missing config validators <@Krakenied>
af4c850 - Remove redundant suppression <@Krakenied>
fc2008a - Improve crafting task type Fixes https://github.com/LMBishop/Quests/issues/430 <@Krakenied>
5d9a3d1 - Fix smelting task type as well <@Krakenied>
6be8d85 - Fix smelting task type older versions startup error <@Krakenied>
3574d27 - Use enhanced switch statement <@Krakenied>
8ed5f8c - More crafting task type detection improvements Fixes https://github.com/LMBishop/Quests/issues/430 with ctrl pressed <@Krakenied>
826da67 - Apply fixes to smelting task type as well <@Krakenied>
41f0054 - Get task amount needed after checking the item <@Krakenied>
5d7c0db - Move smelting task type item debug logging <@Krakenied>
43588fe - Apply fixes to smithing task type too Add support for more than 1 result item <@Krakenied>
0fea32c - Brewing task type rework Closes https://github.com/LMBishop/Quests/issues/434 <@Krakenied>
242f8b9 - Optimize adding aliases - use Collections#addAll <@Krakenied>
2ef1b89 - Remove unused imports <@Krakenied>
b191d97 - Store menu elements in Int2ObjectOpenHashMaps <@Krakenied>
03f8ab7 - Use pattern variables <@Krakenied>
eb5d68c - Use Collections#max to find max element <@Krakenied>
a2c013d - Optimize walking mode validation Lowercasing the mode is not needed because of a config validator <@Krakenied>
c279b19 - Some build.gradle changes and updates <@Krakenied>
3861112 - Fix MythicMobsKillingTaskType config validators not being added <@Krakenied>
2152026 - Bring support for older ShopGUIPlus versions back Fixes https://github.com/LMBishop/Quests/issues/473 <@Krakenied>
7cb36f6 - Optimize entity-related walking modes validation <@Krakenied>
099519e - Optimize debug logging Fixes https://github.com/LMBishop/Quests/issues/452 <@Krakenied>
bf20ca9 - Add block shearing task type Closes https://github.com/LMBishop/Quests/issues/416 <@Krakenied>
606f421 - Optimize debug logging a little more <@Krakenied>
2cad319 - Fix build badge <@Krakenied>
5743352 - Add command permissions <@viasnake>
c7bf2ba - Add option for automatically closing GUI (closes #480) <@LMBishop>
7a18c1f - Refactor menu code <@LMBishop>
52198a3 - Fixed result of PreStartQuestEvent not being used in further checks <@Tom18314>
82af8a4 - Fix quests not being sorted <@LMBishop>
bc11bfd - Some improvements to farming and block shearing task types <@Krakenied>
bf186c0 - Additional material validation Closes https://github.com/LMBishop/Quests/issues/445, https://github.com/LMBishop/Quests/issues/349 <@Krakenied>
1451820 - Legacy pattern doesn't detect ยง symbol <@Tom18314>
579287b - Use version specific methods to get item in main hand <@Krakenied>
bc8938a - Fix ArrayIndexOutOfBoundsException Do not show back menu element when category menu is null <@Krakenied>
5a28efa - Bump version umber <@LMBishop>

More information

Quests - v3.13.2

Published by LMBishop about 2 years ago

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 - v3.13.1

Published by LMBishop over 2 years ago

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 - v3.13

Published by LMBishop over 2 years ago

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

Note

This is the first release of Quests on GitHub. For historical releases, please see the Spigot page.

Related Projects