Skip to content

Releases: ZockerAxel/CrazyAdvancementsAPI

Update 2.0.1 - Update to Minecraft 1.18

04 Dec 10:15
Compare
Choose a tag to compare

This version updates CrazyAdvancementsAPI to Minecraft 1.18

API Changes:

Added AdvancementProgress#getCriteriaProgress() which returns an int
Added AdvancementProgress#getRemainingCriteria() which returns an Iterable
AdvancementProgress#getAwardedCriteria() now returns an Iterable instead of a Set
Added AdvancementProgress#isDone() which is equivalent to Advancement#isGranted() but on the AdvancementProgress level

Update 2.0 - Full API Rewrite

22 Nov 19:00
Compare
Choose a tag to compare

It's a big one! In this update the API was rewritten to fix some long-standing issues that could now finally be resolved with a much cleaner codebase.
As this is a full rewrite, a real changelog is not easily created, which simply means that not all changes will be listed here.
Old Save Files will no longer work with this version.
For a full guide on how to use this new version, see https://docs.crazyadvancements.endercentral.eu

General Changes:

  • Added New Command: /setprogress including Tab Completion
  • Removed the File Advancement Manager which loaded Advancements from JSON files

API Changes:

  • Renamed Main Class from CrazyAdvancements to CrazyAdvancementsAPI
  • Added New Class ToastNotification for easier creation of Toasts
  • Added New Class AdvancementsPacket which allows you to send Advancements Packets yourself
  • Changed how Criteria works, Advancements now expect an instance of the Criteria class instead of a Number which also allows for more complex Advancements
  • Changed how Progress is stored for an Advancement
  • Changed where Save Files are located
  • Changed Save File Format
  • Removed SaveMethod
  • Removed Several Events related to Criteria
  • Removed Several Save and Load Methods from AdvancementManager

Update 1.14.3 - Bug Fix for Advancement Completion Messages

19 Jul 12:04
Compare
Choose a tag to compare

Bug Fixes:

  • Fixed a bug that lead to Advancement Completion Messages' hover event having incorrect content
  • Reverted Default Text Color of Advancements from green to white (pre-1.14.2 behavior)

Update 1.14.2 - Update to Minecraft 1.17

19 Jun 15:50
Compare
Choose a tag to compare

This version updates CrazyAdvancementsAPI to Minecraft 1.17

The NMS Reobfuscation by Spigot lead to a few issues that have now been fixed.
As i wanted to release this version as soon as possible, some features are untested in this update which could lead to a few issues in this version, so be sure to report any inconsistencies compared to the old behavior if you encounter any.

Update 1.14.1a

22 Jan 09:22
Compare
Choose a tag to compare

This version is identical to 1.14.1 apart from a (hopefully) fixed pom.xml file

Update 1.14.1

19 Jan 22:42
Compare
Choose a tag to compare

Bug Fixes:

  • Fixed a bug that caused progress not being saved for offline players when they have not been online before

Update 1.14 - Improvements to Packet Size and Save File Size

19 Jan 11:20
Compare
Choose a tag to compare

API Changes:

  • Added AdvancementManager#setHiddenBoolean(boolean hiddenBoolean) and AdvancementManager#getHiddenBoolean(): When set to true, hidden advancements that have not been granted yet will have a line drawn to them when they are in visible range despite not being visible. Can be used to create empty advancement tabs where there are no advancements visible when the tab's only advancement is a hidden root advancement. Defaults to false
  • Added AdvancementManager#setCriterionPrefix(String criterionPrefix) and AdvacementManager#getCriterionPrefix(): Prefix infront of criterion names, Setting it to an empty string reduces save file size and packet size. Should be set before adding advancements or loading progress. Defaults to "criterion.". CHANGING THIS SETTING WILL RESET EVERYBODYS PROGRESS IN THE CURRENT MANAGER IF YOU DO THIS FOR THE FIRST TIME.
  • Added AdvancementManager#setCriterionNamespace(String criterionNamespace), AdvancementManager#setCriterionKey(String criterionKey) and respective getters: The combination of these strings is used as a Namespaced Key that is used in packets sent to the client. Setting it to an empty string reduces packet size. Only works when criteria for advancements have not been generated yet (Use this method before adding advancements). Default to "minecraft" and "impossible"
  • Added Advancement#setSaveMethod(SaveMethod saveMethod) and Advancement#getSaveMethod(): When you don't work with expert features, using the NUMBER Save Method will significantly shrink your save file sizes (only if your advancement requires 2 or more criteria). You can always switch from the DEFAULT to the NUMBER Save Method and your data will be converted automatically. If you want to switch the other way round, you have to load data while it is set to NUMBER and save data while it is set to DEFAULT to prevent save file corruption. Defaults to DEFAULT

Bug Fixes:

  • Fixed a bug that caused progress to never unload when unloading progress
  • Fixed a bug that caused progress not being saved for offline players when they have not been online since their progress was loaded
  • Fixed a bug that caused progress not being saved when players have never been added to the manager in the first place
  • Minor bug fixes