Skip to content

Releases: OneLiteFeatherNET/Aves

v1.15.1

14 Jun 13:37

Choose a tag to compare

Changes

This is the first patch release of the 1.15 series. It updates the mycelium-bom dependency to the latest version, bringing an updated version of Minestom. No other changes are included in this release.

v1.15.0

13 Jun 16:36
7fa4409

Choose a tag to compare

Changelog

This release targets Minecraft 26.1. It does not introduce new features or breaking changes at the api level. Internal components have been updated to ensure compatibility with the new version.

v1.14.1

08 Jun 08:47

Choose a tag to compare

Changelog

The 1.14.1 release includes the following changes:

Map related changes

With the merge of #69, the structure of BaseMap has been slightly revamped.

Previously, the builders of each map were stored in an array. While this provided a fixed size, it also made the API more cumbersome to work with. In addition, handling null values in arrays could be awkward in certain situations. The builders are now stored in a list instead, making them easier to manage and use.

Additional changes have been made to the default implementation of AbstractMapProvider. Null handling has been improved and the interface now provides a parameterless teleportToSpawn method. If you choose to use this method, be aware that it does not automatically teleport the player to the instance.

[!NOTE]

This is the last planned release targeting Minecraft 1.21.11!

What's Changed

  • Update Gradle to v9.5.1 by @renovate[bot] in #74
  • refactor(map)!: migrate BaseMap to record and improve map loading by @theEvilReaper in #69
  • Update dependency net.onelitefeather:mycelium-bom to v1.6.7 by @renovate[bot] in #73

Full Changelog: 1.14.0...1.14.1

v1.14.0

10 May 08:29

Choose a tag to compare

Changelog

The 1.14.0 release includes the following changes:

MapProvider

The MapProvider class now provides a teleportToSpawn method that no longer requires a boolean parameter to indicate whether the instance should be changed. This improvement makes it easier to use method references in certain scenarios.

See: #72

Note

This method only teleports the player and does not change the instance.
If your use case requires an instance change, use the overload with the boolean parameter set to true.

HotBarLayout

The library now includes a HotBarLayout class that helps organize item layouts within a player's hotbar. It behaves similarly to the existing InventoryLayout but is limited to a size of 9 and provides a smaller feature set.

Example:

HotBarLayout selectionLayout = new HotBarLayout();
selectionLayout.set(FOURTH_INDEX, ItemStack.builder(Material.CHEST)
        .customName(Component.text("Map selection", NamedTextColor.GREEN))
        .build()
);

Additional details can be found in the pull request: #71

Full Changelog: 1.13.1...1.14.0

v1.13.1

07 Apr 08:00
54dc689

Choose a tag to compare

Changelog

The release of version 1.13.1 is a small fix update that addresses the following issues:

  • Fixed an issue in the InventoryBuilder where the close and open functions were not registered correctly when used in an implementation (#67)
  • The getTimeString method now uses Java’s LocalTime format, making it more resource-friendly (#59)

When using a custom format for the getTimeString method, it is not possible to display times beyond 24 hours due to the use of LocalTime.

Happy coding

v1.13.0

24 Dec 11:16
6531f34

Choose a tag to compare

Changelog

Version 1.13.0 of Aves is the first release targeting Minecraft 1.21.11 and does not require any migration steps.

This release includes an overhaul of the NotNull annotation usage to improve compatibility with Java module descriptors. This change has no impact on the public API or normal usage.

v1.12.0

23 Oct 18:52
ded7ceb

Choose a tag to compare

Changelog

The release of version 1.12.0 is the first to target Minecraft 1.21.10 and Java 25. To use this version, you must update your environment to Java 25. There are no other changes in this release

v1.11.2

12 Oct 12:58
1a194c1

Choose a tag to compare

Changelog

The 1.11.2 release includes updated dependencies and an overhauled usage of some annotations in the map builder. These changes do not require any kind of migration.

What's Changed

  • Update dependency net.onelitefeather:mycelium-bom to v1.4.3 by @renovate[bot] in #39
  • Overhaul annotation usage in the map builder by @theEvilReaper in #40
  • Update actions/setup-java action to v5 by @renovate[bot] in #41
  • Update Gradle to v9.1.0 by @renovate[bot] in #42
  • Update dependency net.onelitefeather:mycelium-bom to v1.4.4 by @renovate[bot] in #43
  • Update gradle/actions action to v5 by @renovate[bot] in #44
  • Remove publishdata plugin usage by @theEvilReaper in #45

Full Changelog: https://github.com/OneLiteFeatherNET/Aves/commits/1.11.2

v1.11.1

10 Aug 09:44
1ca68c6

Choose a tag to compare

Changelog

Version 1.11.1 introduces an important fix to the inventory system and publishes the documentation.

📦 Inventory Fix

In version 1.11.0, the logic flow for processing clicks was overhauled. Due to the lack of tests, we introduced an issue where the basic InventoryLayout did not check whether a click was intended for that specific layout. As a result, any inventory using the static layout did not work correctly. This is now fixed.

📚 Documentation

The project contains in-code documentation to explain each class and its methods.
Unfortunately, the documentation was not being published. This has been corrected in this release.

v1.11.0

20 Jul 13:34
3eaf249

Choose a tag to compare

Changelog

Version 1.11.0 introduces support for Minecraft 1.21.8. The internal mycelium-bom version has been updated accordingly to reflect this change.

📦 Inventory System Breaking Changes

In version 1.9.0, the click handling logic in the inventory system was changed.
That update introduced a potential issue where the click logic was executed after the event was triggered.
This ordering was not ideal and has now been corrected in this release.

Starting with version 1.11.0, the event logic is processed before deciding whether the event should be cancelled or not.
This adjustment helps avoid issues during click handling.

The InventoryClick function now accepts two additional parameters:

  • The clicked ItemStack, which helps reduce redundant inventory access
  • A Consumer<@NotNull ClickHolder>, which receives a ClickHolder reference through accept(..) to perform the appropriate click action

The provided ClickHolder instance is the same as introduced in version 1.9.0.

Below is an example of how to use it:

GlobalInventoryBuilder globalInventoryBuilder = new GlobalInventoryBuilder(Component.text(""), InventoryType.BEACON);
InventoryLayout layout = InventoryLayout.fromType(globalInventoryBuilder.getType());

layout.setItem(0, ItemStack.builder(Material.GRAY_STAINED_GLASS_PANE), (player, slot, click, stack, result) -> {
    result.accept(ClickHolder.cancelClick());
});

layout.setItem(2, ItemStack.builder(Material.GRAY_STAINED_GLASS_PANE), (player, slot, click, stack, result) -> {
    result.accept(ClickHolder.noClick());
});