Sueta

AbyssalLib

2.5.0-mc.26.3-alpha.9

A plugin library for GUIs, Items, Blocks, Advancements and much more.

·Plugin
  1. 2.5.0-mc.26.3-alpha.9latestVersion 2.5.0-mc.26.3-alpha.9last week
    Custom Attribute and Entity systems no longer use databases. Make sure to delete entity_data.db and entities.db.

    New:

    - Rewritten From-Scratch Entity API - SkinCache#delete(UUID) - Built-in FreeMinecraftModels support for CustomEntity

    Changes:

    - Natural Entity Spawning has been EXTREMELY optimized and actually works now (will be default-enabled once this version leaves alpha stage) - Attribute → CustomAttribute, AttributeInstance → CustomAttributeInstance, AttributeModifier → CustomAttributeModifier
    Javadocs have temporarily been removed from the CustomEntity and CustomAttribute APIs.
    6 downloads
  2. 2.5.0-mc.26.2-alpha.9Version 2.5.0-mc.26.2-alpha.9last week
    Custom Attribute and Entity systems no longer use databases. Make sure to delete entity_data.db and entities.db.

    New:

    - Rewritten From-Scratch Entity API - SkinCache#delete(UUID) - Built-in FreeMinecraftModels support for CustomEntity

    Changes:

    - Natural Entity Spawning has been EXTREMELY optimized and actually works now (will be default-enabled once this version leaves alpha stage) - Attribute → CustomAttribute, AttributeInstance → CustomAttributeInstance, AttributeModifier → CustomAttributeModifier
    Javadocs have temporarily been removed from the CustomEntity and CustomAttribute APIs.
    5 downloads
  3. 2.5.0-mc.26.1.2-alpha.9Version 2.5.0-mc.26.1.2-alpha.9last week
    Custom Attribute and Entity systems no longer use databases. Make sure to delete entity_data.db and entities.db.

    New:

    - Rewritten From-Scratch Entity API - SkinCache#delete(UUID) - Built-in FreeMinecraftModels support for CustomEntity

    Changes:

    - Natural Entity Spawning has been EXTREMELY optimized and actually works now (will be default-enabled once this version leaves alpha stage) - Attribute → CustomAttribute, AttributeInstance → CustomAttributeInstance, AttributeModifier → CustomAttributeModifier
    Javadocs have temporarily been removed from the CustomEntity and CustomAttribute APIs.
    5 downloads
  4. 2.5.0-mc.1.21.11-alpha.9Version 2.5.0-mc.1.21.11-alpha.9last week
    Custom Attribute and Entity systems no longer use databases. Make sure to delete entity_data.db and entities.db.

    New:

    - Rewritten From-Scratch Entity API - SkinCache#delete(UUID) - Built-in FreeMinecraftModels support for CustomEntity

    Changes:

    - Natural Entity Spawning has been EXTREMELY optimized and actually works now (will be default-enabled once this version leaves alpha stage) - Attribute → CustomAttribute, AttributeInstance → CustomAttributeInstance, AttributeModifier → CustomAttributeModifier
    Javadocs have temporarily been removed from the CustomEntity and CustomAttribute APIs.
    6 downloads
  5. 2.5.0-mc.26.3-alpha.8Version 2.5.0-mc.26.3-alpha.8last week

    Changes:

    - The plugins config has comments again - Config API is now more optimized - Config API properly handles order of values
    21 downloads
  6. 2.5.0-mc.26.2-alpha.8Version 2.5.0-mc.26.2-alpha.8last week

    Changes:

    - The plugins config has comments again - Config API is now more optimized - Config API properly handles order of values
    9 downloads
  7. 2.5.0-mc.26.1.2-alpha.8Version 2.5.0-mc.26.1.2-alpha.8last week

    Changes:

    - The plugins config has comments again - Config API is now more optimized - Config API properly handles order of values
    7 downloads
  8. 2.5.0-mc.1.21.11-alpha.8Version 2.5.0-mc.1.21.11-alpha.8last week

    Changes:

    - The plugins config has comments again - Config API is now more optimized - Config API properly handles order of values
    6 downloads
  9. 2.5.0-mc.26.3-alpha.7Version 2.5.0-mc.26.3-alpha.72 weeks ago

    New:

    - ResourcePack#scan to automatically load existing files from resources/resourcepack/ - OfflinePlayerData#fetchSkin[Sync|Async] to load the profiles skin

    Changes:

    - OfflinePlayerData no longer auto fetchs the skin of the profile

    Removal:

    - FakePlayer is now removed
    Note about OfflinePlayerData skins:
    it uses a Skin Cache system, which:
    updates cached skin when player joins.
    invalidates cached skin after 1 day from last update and tries to re-fetch it. (from mojang session server)
    can skip the fetching entirely by passing true in the skipSessionServer argument.
    56 downloads
  10. 2.5.0-mc.26.2-alpha.7Version 2.5.0-mc.26.2-alpha.72 weeks ago

    New:

    - ResourcePack#scan to automatically load existing files from resources/resourcepack/ - OfflinePlayerData#fetchSkin[Sync|Async] to load the profiles skin

    Changes:

    - OfflinePlayerData no longer auto fetchs the skin of the profile

    Removal:

    - FakePlayer is now removed
    Note about OfflinePlayerData skins:
    it uses a Skin Cache system, which:
    updates cached skin when player joins.
    invalidates cached skin after 1 day from last update and tries to re-fetch it. (from mojang session server)
    can skip the fetching entirely by passing true in the skipSessionServer argument.
    30 downloads
  11. 2.5.0-mc.26.1.2-alpha.7Version 2.5.0-mc.26.1.2-alpha.72 weeks ago

    New:

    - ResourcePack#scan to automatically load existing files from resources/resourcepack/ - OfflinePlayerData#fetchSkin[Sync|Async] to load the profiles skin

    Changes:

    - OfflinePlayerData no longer auto fetchs the skin of the profile

    Removal:

    - FakePlayer is now removed
    Note about OfflinePlayerData skins:
    it uses a Skin Cache system, which:
    updates cached skin when player joins.
    invalidates cached skin after 1 day from last update and tries to re-fetch it. (from mojang session server)
    can skip the fetching entirely by passing true in the skipSessionServer argument.
    19 downloads
  12. 2.5.0-mc.1.21.11-alpha.7Version 2.5.0-mc.1.21.11-alpha.72 weeks ago

    New:

    - ResourcePack#scan to automatically load existing files from resources/resourcepack/ - OfflinePlayerData#fetchSkin[Sync|Async] to load the profiles skin

    Changes:

    - OfflinePlayerData no longer auto fetchs the skin of the profile

    Removal:

    - FakePlayer is now removed
    Note about OfflinePlayerData skins:
    it uses a Skin Cache system, which:
    updates cached skin when player joins.
    invalidates cached skin after 1 day from last update and tries to re-fetch it. (from mojang session server)
    can skip the fetching entirely by passing true in the skipSessionServer argument.
    13 downloads
  13. 2.5.0-mc.26.3-alpha.6Version 2.5.0-mc.26.3-alpha.63 weeks ago

    New:

    - BlockManager now has reindexChunks, removeById and unloadById (aswell as ByNamespace variants), unloadById is automatically called if you call DeferredRegistry#unload (this is useful for Plugman compatibility to some extent, call reindexChunks at end of your onEnable if you need plugman compatibility)

    Changes:

    - Block system has been optimized to be capable of handling WAY more loaded blocks, and save times should become lower as unchanged blocks will no longer be saved
    85 downloads
  14. 2.5.0-mc.26.2-alpha.6Version 2.5.0-mc.26.2-alpha.63 weeks ago

    New:

    - BlockManager now has reindexChunks, removeById and unloadById (aswell as ByNamespace variants), unloadById is automatically called if you call DeferredRegistry#unload (this is useful for Plugman compatibility to some extent, call reindexChunks at end of your onEnable if you need plugman compatibility)

    Changes:

    - Block system has been optimized to be capable of handling WAY more loaded blocks, and save times should become lower as unchanged blocks will no longer be saved
    37 downloads
  15. 2.5.0-mc.26.1.2-alpha.6Version 2.5.0-mc.26.1.2-alpha.63 weeks ago

    New:

    - BlockManager now has reindexChunks, removeById and unloadById (aswell as ByNamespace variants), unloadById is automatically called if you call DeferredRegistry#unload (this is useful for Plugman compatibility to some extent, call reindexChunks at end of your onEnable if you need plugman compatibility)

    Changes:

    - Block system has been optimized to be capable of handling WAY more loaded blocks, and save times should become lower as unchanged blocks will no longer be saved
    30 downloads
  16. 2.5.0-mc.1.21.11-alpha.6Version 2.5.0-mc.1.21.11-alpha.63 weeks ago

    New:

    - BlockManager now has reindexChunks, removeById and unloadById (aswell as ByNamespace variants), unloadById is automatically called if you call DeferredRegistry#unload (this is useful for Plugman compatibility to some extent, call reindexChunks at end of your onEnable if you need plugman compatibility)

    Changes:

    - Block system has been optimized to be capable of handling WAY more loaded blocks, and save times should become lower as unchanged blocks will no longer be saved
    33 downloads
  17. 2.5.0-mc.26.3-alpha.4Version 2.5.0-mc.26.3-alpha.43 weeks ago

    Changes:

    - Marked FakePlayer for remova - ItemPredicate now has a vanillaMatching field which bypasses predicate check and uses isSimilar instead (REQUIRES id/material to be set)
    27 downloads
  18. 2.5.0-mc.26.2-alpha.4Version 2.5.0-mc.26.2-alpha.43 weeks ago

    Changes:

    - Marked FakePlayer for remova - ItemPredicate now has a vanillaMatching field which bypasses predicate check and uses isSimilar instead (REQUIRES id/material to be set)
    14 downloads
  19. 2.5.0-mc.26.1.2-alpha.4Version 2.5.0-mc.26.1.2-alpha.43 weeks ago

    Changes:

    - Marked FakePlayer for remova - ItemPredicate now has a vanillaMatching field which bypasses predicate check and uses isSimilar instead (REQUIRES id/material to be set)
    11 downloads
  20. 2.5.0-mc.1.21.11-alpha.4Version 2.5.0-mc.1.21.11-alpha.43 weeks ago

    Changes:

    - Marked FakePlayer for remova - ItemPredicate now has a vanillaMatching field which bypasses predicate check and uses isSimilar instead (REQUIRES id/material to be set)
    7 downloads
  21. 2.5.0-mc.26.3-alpha.3Version 2.5.0-mc.26.3-alpha.3Oct 3, 2026

    New:

    - isValidState on CustomBlock, replaces hardcoded block material check so can be overriden for custom checks.
    102 downloads
  22. 2.5.0-mc.26.2-alpha.3Version 2.5.0-mc.26.2-alpha.3Oct 3, 2026

    New:

    - isValidState on CustomBlock, replaces hardcoded block material check so can be overriden for custom checks.
    69 downloads
  23. 2.5.0-mc.26.1.2-alpha.3Version 2.5.0-mc.26.1.2-alpha.3Oct 3, 2026

    New:

    - isValidState on CustomBlock, replaces hardcoded block material check so can be overriden for custom checks.
    51 downloads
  24. 2.5.0-mc.1.21.11-alpha.3Version 2.5.0-mc.1.21.11-alpha.3Oct 3, 2026

    New:

    - isValidState on CustomBlock, replaces hardcoded block material check so can be overriden for custom checks.
    52 downloads
  25. 2.5.0-mc.26.3-alpha.2Version 2.5.0-mc.26.3-alpha.2Oct 1, 2026

    New:

    - onUnload(String, Object) and postUnload methods on DeferredRegistryModifier. - DeferredRegistry can now be unloaded at any time. - ModelParents and DisplayPerspectives classes containing constants for aiding with RP creation. - BaseCommand can now be unloaded in CommandBus.

    Fixes:

    - Empty itemstacks are serialized/deserialized correctly now (Fixes Relique). - Multiple errors caused on systems using a language other than English.
    27 downloads
  26. 2.5.0-mc.26.2-alpha.2Version 2.5.0-mc.26.2-alpha.2Oct 1, 2026

    New:

    - onUnload(String, Object) and postUnload methods on DeferredRegistryModifier. - DeferredRegistry can now be unloaded at any time. - ModelParents and DisplayPerspectives classes containing constants for aiding with RP creation. - BaseCommand can now be unloaded in CommandBus.

    Fixes:

    - Empty itemstacks are serialized/deserialized correctly now (Fixes Relique). - Multiple errors caused on systems using a language other than English.
    7 downloads
  27. 2.5.0-mc.26.1.2-alpha.2Version 2.5.0-mc.26.1.2-alpha.2Oct 1, 2026

    New:

    - onUnload(String, Object) and postUnload methods on DeferredRegistryModifier. - DeferredRegistry can now be unloaded at any time. - ModelParents and DisplayPerspectives classes containing constants for aiding with RP creation. - BaseCommand can now be unloaded in CommandBus.

    Fixes:

    - Empty itemstacks are serialized/deserialized correctly now (Fixes Relique). - Multiple errors caused on systems using a language other than English.
    6 downloads
  28. 2.5.0-mc.1.21.11-alpha.2Version 2.5.0-mc.1.21.11-alpha.2Oct 1, 2026

    New:

    - onUnload(String, Object) and postUnload methods on DeferredRegistryModifier. - DeferredRegistry can now be unloaded at any time. - ModelParents and DisplayPerspectives classes containing constants for aiding with RP creation. - BaseCommand can now be unloaded in CommandBus.

    Fixes:

    - Empty itemstacks are serialized/deserialized correctly now (Fixes Relique). - Multiple errors caused on systems using a language other than English.
    7 downloads
  29. 2.5.0-mc.26.3-alpha.1Version 2.5.0-mc.26.3-alpha.1Sep 24, 2026

    New:

    * FakePlayerReplaceEvent, fired when a player joins and the FakePlayer is despawned. * AttackAnimation, CushionColor, MobVisible, ProvidesPotteryPatterns, SignFrontText, SignBackText, VillagersFood, Waxed item components.

    Changes:

    * CustomPotionMix automatically uses BrewingRecipe on 26.3+ * teleportRandomly now supports directional_particles field

    Fixes:

    * External Packs now work again. * Various Bugs on FakePlayer/OfflinePlayerData that caused FakePlayer to not spawn at all.
    30 downloads
  30. 2.5.0-mc.26.2-alpha.1Version 2.5.0-mc.26.2-alpha.1Sep 24, 2026

    New:

    * FakePlayerReplaceEvent, fired when a player joins and the FakePlayer is despawned. * AttackAnimation, CushionColor, MobVisible, ProvidesPotteryPatterns, SignFrontText, SignBackText, VillagersFood, Waxed item components.

    Changes:

    * CustomPotionMix automatically uses BrewingRecipe on 26.3+ * teleportRandomly now supports directional_particles field

    Fixes:

    * External Packs now work again. * Various Bugs on FakePlayer/OfflinePlayerData that caused FakePlayer to not spawn at all.
    23 downloads
  31. 2.5.0-mc.26.1.2-alpha.1Version 2.5.0-mc.26.1.2-alpha.1Sep 24, 2026

    New:

    * FakePlayerReplaceEvent, fired when a player joins and the FakePlayer is despawned. * AttackAnimation, CushionColor, MobVisible, ProvidesPotteryPatterns, SignFrontText, SignBackText, VillagersFood, Waxed item components.

    Changes:

    * CustomPotionMix automatically uses BrewingRecipe on 26.3+ * teleportRandomly now supports directional_particles field

    Fixes:

    * External Packs now work again. * Various Bugs on FakePlayer/OfflinePlayerData that caused FakePlayer to not spawn at all.
    17 downloads
  32. 2.5.0-mc.1.21.11-alpha.1Version 2.5.0-mc.1.21.11-alpha.1Sep 24, 2026

    New:

    * FakePlayerReplaceEvent, fired when a player joins and the FakePlayer is despawned. * AttackAnimation, CushionColor, MobVisible, ProvidesPotteryPatterns, SignFrontText, SignBackText, VillagersFood, Waxed item components.

    Changes:

    * CustomPotionMix automatically uses BrewingRecipe on 26.3+ * teleportRandomly now supports directional_particles field

    Fixes:

    * External Packs now work again. * Various Bugs on FakePlayer/OfflinePlayerData that caused FakePlayer to not spawn at all.
    13 downloads
  33. 2.4.0-mc.26.2AbyssalLib 2.4.0-mc.26.2Sep 9, 2026
    The API is now available on the Maven Central Repository.

    New:

    - Codec API now returns DataResult, allowing errors to propagate and partial-success warnings to accumulate. - Added Codec#encodeAsync/decodeAsync, Codec.dispatch, Codec.taggedUnion, Codec.tuple, and much more. - RecordCodecBuilder → RecordBuilder; it has also been rewritten. - Added EncodeContext/DecodeContext to help simplify more complicated codecs. - Reflection API now covers more previously missed features. - Added Menu API, useful for custom containers and crafting UIs, with automatic item movement handling. - Added config options to toggle Item Server-Side Translation Ticking, Item Ticking, and the Energy Network, as well as an option to change the delay of server-side translation ticking. - Added new enable_custom_break_speeds and enable_natural_spawning config fields to the features section. - Added TypedRegistry. - Added placeholders for permissions: - abyssallib:player_has_permission:<permission> — Checks whether the player has the permission (Boolean). - abyssallib:player_has_group:<group> — Checks whether the player belongs to a group (Boolean). - abyssallib:player_groups — Gets all groups the player is in (List of String). - abyssallib:player_group:<index> — Gets the player's group at a specific index in the sorted group list. - abyssallib:player_primary_group — Gets the player's group with the highest weight. This can be inconsistent if multiple groups have the same highest weight. - Added 2 JSON-specific MergeStrategys for replacing or inheriting from existing loot tables, allowing vanilla loot tables to be merged or replaced. - Added custom block breaking, utilizing the value of BlockProperties#hardness. - Added CustomTool component, which behaves similarly to the Tool component but for custom blocks. - Added compress config option to the resource-pack section. Enabled by default; currently minifies all JSON, making it useful for packs with a lot of models. - Added FakePlayer and OfflinePlayerData APIs for modifying players while they are offline and for using that data with fake players.

    Changes:

    - RECIPES registry is now typed, allowing recipes of a specific type to be retrieved using RECIPES#getByType. - Reflection API is now safer. - UpdateChecker now accepts a String vararg of ignored identifiers (e.g. .alpha, .beta, etc.). - Resource Pack Server has been optimized. - external-packs now supports {"path": boolean}, allowing external packs to be exempted from compression. This is required if a pack is already compressed or encrypted.

    Fixes:

    - Default (folder) recipe registration is now delayed by 10 ticks, giving other plugins time to register their items. - Fixed duplicate ghost items caused by SSR and ItemTicker in most cases. - ItemTicker no longer triggers on inventory updates. - PackServer will no longer duplicate packs for the client, as packs now use deterministic UUIDs.
    148 downloads
  34. 2.4.0-mc.26.1.2AbyssalLib 2.4.0-mc.26.1.2Sep 9, 2026
    The API is now available on the Maven Central Repository.

    New:

    - Codec API now returns DataResult, allowing errors to propagate and partial-success warnings to accumulate. - Added Codec#encodeAsync/decodeAsync, Codec.dispatch, Codec.taggedUnion, Codec.tuple, and much more. - RecordCodecBuilder → RecordBuilder; it has also been rewritten. - Added EncodeContext/DecodeContext to help simplify more complicated codecs. - Reflection API now covers more previously missed features. - Added Menu API, useful for custom containers and crafting UIs, with automatic item movement handling. - Added config options to toggle Item Server-Side Translation Ticking, Item Ticking, and the Energy Network, as well as an option to change the delay of server-side translation ticking. - Added new enable_custom_break_speeds and enable_natural_spawning config fields to the features section. - Added TypedRegistry. - Added placeholders for permissions: - abyssallib:player_has_permission:<permission> — Checks whether the player has the permission (Boolean). - abyssallib:player_has_group:<group> — Checks whether the player belongs to a group (Boolean). - abyssallib:player_groups — Gets all groups the player is in (List of String). - abyssallib:player_group:<index> — Gets the player's group at a specific index in the sorted group list. - abyssallib:player_primary_group — Gets the player's group with the highest weight. This can be inconsistent if multiple groups have the same highest weight. - Added 2 JSON-specific MergeStrategys for replacing or inheriting from existing loot tables, allowing vanilla loot tables to be merged or replaced. - Added custom block breaking, utilizing the value of BlockProperties#hardness. - Added CustomTool component, which behaves similarly to the Tool component but for custom blocks. - Added compress config option to the resource-pack section. Enabled by default; currently minifies all JSON, making it useful for packs with a lot of models. - Added FakePlayer and OfflinePlayerData APIs for modifying players while they are offline and for using that data with fake players.

    Changes:

    - RECIPES registry is now typed, allowing recipes of a specific type to be retrieved using RECIPES#getByType. - Reflection API is now safer. - UpdateChecker now accepts a String vararg of ignored identifiers (e.g. .alpha, .beta, etc.). - Resource Pack Server has been optimized. - external-packs now supports {"path": boolean}, allowing external packs to be exempted from compression. This is required if a pack is already compressed or encrypted.

    Fixes:

    - Default (folder) recipe registration is now delayed by 10 ticks, giving other plugins time to register their items. - Fixed duplicate ghost items caused by SSR and ItemTicker in most cases. - ItemTicker no longer triggers on inventory updates. - PackServer will no longer duplicate packs for the client, as packs now use deterministic UUIDs.
    51 downloads
  35. 2.4.0-mc.1.21.11AbyssalLib 2.4.0-mc.1.21.11Sep 9, 2026
    The API is now available on the Maven Central Repository.

    New:

    - Codec API now returns DataResult, allowing errors to propagate and partial-success warnings to accumulate. - Added Codec#encodeAsync/decodeAsync, Codec.dispatch, Codec.taggedUnion, Codec.tuple, and much more. - RecordCodecBuilder → RecordBuilder; it has also been rewritten. - Added EncodeContext/DecodeContext to help simplify more complicated codecs. - Reflection API now covers more previously missed features. - Added Menu API, useful for custom containers and crafting UIs, with automatic item movement handling. - Added config options to toggle Item Server-Side Translation Ticking, Item Ticking, and the Energy Network, as well as an option to change the delay of server-side translation ticking. - Added new enable_custom_break_speeds and enable_natural_spawning config fields to the features section. - Added TypedRegistry. - Added placeholders for permissions: - abyssallib:player_has_permission:<permission> — Checks whether the player has the permission (Boolean). - abyssallib:player_has_group:<group> — Checks whether the player belongs to a group (Boolean). - abyssallib:player_groups — Gets all groups the player is in (List of String). - abyssallib:player_group:<index> — Gets the player's group at a specific index in the sorted group list. - abyssallib:player_primary_group — Gets the player's group with the highest weight. This can be inconsistent if multiple groups have the same highest weight. - Added 2 JSON-specific MergeStrategys for replacing or inheriting from existing loot tables, allowing vanilla loot tables to be merged or replaced. - Added custom block breaking, utilizing the value of BlockProperties#hardness. - Added CustomTool component, which behaves similarly to the Tool component but for custom blocks. - Added compress config option to the resource-pack section. Enabled by default; currently minifies all JSON, making it useful for packs with a lot of models. - Added FakePlayer and OfflinePlayerData APIs for modifying players while they are offline and for using that data with fake players.

    Changes:

    - RECIPES registry is now typed, allowing recipes of a specific type to be retrieved using RECIPES#getByType. - Reflection API is now safer. - UpdateChecker now accepts a String vararg of ignored identifiers (e.g. .alpha, .beta, etc.). - Resource Pack Server has been optimized. - external-packs now supports {"path": boolean}, allowing external packs to be exempted from compression. This is required if a pack is already compressed or encrypted.

    Fixes:

    - Default (folder) recipe registration is now delayed by 10 ticks, giving other plugins time to register their items. - Fixed duplicate ghost items caused by SSR and ItemTicker in most cases. - ItemTicker no longer triggers on inventory updates. - PackServer will no longer duplicate packs for the client, as packs now use deterministic UUIDs.
    60 downloads
  36. 2.4.0-mc.26.2-alpha.6AbyssalLib 2.4.0-mc.26.2-alpha.6Sep 9, 2026

    New:

    - Custom block breaking, utilizes value of BlockProperties#hardness - CustomTool component, behaves similarly to Tool component but for custom blocks - compress config added to resource-pack section, by default true, currently minifies all json so useful for packs with alot of models - FakePlayer and OfflinePlayerData APIs for modification of players that are offline and also using that data for fake players

    Changes:

    - Resource pack server has been optimized a bit - external-packs field now supports {"path": boolean}, this allows for exempting external packs for compression (required if pack is compressed OR encrypted)

    Fixes:

    - PackServer will no longer duplicate packs for client (uses deterministic UUID for packs now)
    21 downloads
  37. 2.4.0-mc.26.1.2-alpha.6AbyssalLib 2.4.0-mc.26.1.2-alpha.6Sep 9, 2026

    New:

    - Custom block breaking, utilizes value of BlockProperties#hardness - CustomTool component, behaves similarly to Tool component but for custom blocks - compress config added to resource-pack section, by default true, currently minifies all json so useful for packs with alot of models - FakePlayer and OfflinePlayerData APIs for modification of players that are offline and also using that data for fake players

    Changes:

    - Resource pack server has been optimized a bit - external-packs field now supports {"path": boolean}, this allows for exempting external packs for compression (required if pack is compressed OR encrypted)

    Fixes:

    - PackServer will no longer duplicate packs for client (uses deterministic UUID for packs now)
    23 downloads
  38. 2.4.0-mc.1.21.11-alpha.6AbyssalLib 2.4.0-mc.1.21.11-alpha.6Sep 9, 2026

    New:

    - Custom block breaking, utilizes value of BlockProperties#hardness - CustomTool component, behaves similarly to Tool component but for custom blocks - compress config added to resource-pack section, by default true, currently minifies all json so useful for packs with alot of models - FakePlayer and OfflinePlayerData APIs for modification of players that are offline and also using that data for fake players

    Changes:

    - Resource pack server has been optimized a bit - external-packs field now supports {"path": boolean}, this allows for exempting external packs for compression (required if pack is compressed OR encrypted)

    Fixes:

    - PackServer will no longer duplicate packs for client (uses deterministic UUID for packs now)
    16 downloads
  39. 2.4.0-mc.26.2-alpha.5AbyssalLib 2.4.0-mc.26.2-alpha.5Aug 17, 2026

    New:

    - Add 2 JSON specific MergeStrategy for replacing/inheriting from existing loot tables that merge/replace vanilla tables
    154 downloads
  40. 2.4.0-mc.26.1.2-alpha.5AbyssalLib 2.4.0-mc.26.1.2-alpha.5Aug 17, 2026

    New:

    - Add 2 JSON specific MergeStrategy for replacing/inheriting from existing loot tables that merge/replace vanilla tables
    55 downloads
  41. 2.4.0-mc.1.21.11-alpha.5AbyssalLib 2.4.0-mc.1.21.11-alpha.5Aug 17, 2026

    New:

    - Add 2 JSON specific MergeStrategy for replacing/inheriting from existing loot tables that merge/replace vanilla tables
    48 downloads
  42. 2.4.0-mc.26.2-alpha.4AbyssalLib 2.4.0-mc.26.2-alpha.4Jul 27, 2026

    Fixes:

    - Recipe registration is delayed by 10 ticks so plugins get time to register items. - Duplicate ghost items caused by SSR and ItemTicker in most cases. - ItemTicker no longer triggers on inventory update
    87 downloads
  43. 2.4.0-mc.26.1.2-alpha.4AbyssalLib 2.4.0-mc.26.1.2-alpha.4Jul 27, 2026

    Fixes:

    - Recipe registration is delayed by 10 ticks so plugins get time to register items. - Duplicate ghost items caused by SSR and ItemTicker in most cases. - ItemTicker no longer triggers on inventory update
    74 downloads
  44. 2.4.0-mc.1.21.11-alpha.4AbyssalLib 2.4.0-mc.1.21.11-alpha.4Jul 27, 2026

    Fixes:

    - Recipe registration is delayed by 10 ticks so plugins get time to register items. - Duplicate ghost items caused by SSR and ItemTicker in most cases. - ItemTicker no longer triggers on inventory update
    43 downloads
  45. 2.4.0-mc.26.2-alpha.3AbyssalLib 2.4.0-mc.26.2-alpha.3Jul 19, 2026

    Fixes:

    - Default (folder) Recipe registration is delayed by 10 ticks so other plugins have time to register items.
    32 downloads
  46. 2.4.0-mc.26.1.2-alpha.3AbyssalLib 2.4.0-mc.26.1.2-alpha.3Jul 19, 2026

    Fixes:

    - Default (folder) Recipe registration is delayed by 10 ticks so other plugins have time to register items.
    40 downloads
  47. 2.4.0-mc.1.21.11-alpha.3AbyssalLib 2.4.0-mc.1.21.11-alpha.3Jul 19, 2026

    Fixes:

    - Default (folder) Recipe registration is delayed by 10 ticks so other plugins have time to register items.
    25 downloads
  48. 2.4.0-mc.26.2-alpha.2AbyssalLib 2.4.0-mc.26.2-alpha.2Jul 11, 2026
    The API is now available on the maven central repository

    New:

    - Menu API (Useful for custom containers/crafting UI's as it handles item movement on its own) - Config options to toggle Item Server-Side Translation Ticking, Item ticking, and Energy network, aswell as option to change delay of server-side translation ticking - Placeholders for Permissions - abyssallib:player_has_permission:<permission> Checks if the player has the permission (Boolean) - abyssallib:player_has_group:<group> Checks if the player belongs to a group (Boolean) - abyssallib:player_groups Gets all the groups the player is in (List of String) - abyssallib:player_group:<index> Gets the players group of a specific index from the sorted group list - abyssallib:player_primary_group Gets the players group that has the highest weight (could be inconsistent if multiple groups use same weight and are highest)
    52 downloads
  49. 2.4.0-mc.26.1.2-alpha.2AbyssalLib 2.4.0-mc.26.1.2-alpha.2Jul 11, 2026
    The API is now available on the maven central repository

    New:

    - Menu API (Useful for custom containers/crafting UI's as it handles item movement on its own) - Config options to toggle Item Server-Side Translation Ticking, Item ticking, and Energy network, aswell as option to change delay of server-side translation ticking - Placeholders for Permissions - abyssallib:player_has_permission:<permission> Checks if the player has the permission (Boolean) - abyssallib:player_has_group:<group> Checks if the player belongs to a group (Boolean) - abyssallib:player_groups Gets all the groups the player is in (List of String) - abyssallib:player_group:<index> Gets the players group of a specific index from the sorted group list - abyssallib:player_primary_group Gets the players group that has the highest weight (could be inconsistent if multiple groups use same weight and are highest)
    72 downloads
  50. 2.4.0-mc.1.21.11-alpha.2AbyssalLib 2.4.0-mc.1.21.11-alpha.2Jul 11, 2026
    The API is now available on the maven central repository

    New:

    - Menu API (Useful for custom containers/crafting UI's as it handles item movement on its own) - Config options to toggle Item Server-Side Translation Ticking, Item ticking, and Energy network, aswell as option to change delay of server-side translation ticking - Placeholders for Permissions - abyssallib:player_has_permission:<permission> Checks if the player has the permission (Boolean) - abyssallib:player_has_group:<group> Checks if the player belongs to a group (Boolean) - abyssallib:player_groups Gets all the groups the player is in (List of String) - abyssallib:player_group:<index> Gets the players group of a specific index from the sorted group list - abyssallib:player_primary_group Gets the players group that has the highest weight (could be inconsistent if multiple groups use same weight and are highest)
    36 downloads
  51. 2.4.0-mc.26.1.2-alpha.1AbyssalLib 2.4.0-mc.26.1.2-alpha.1Jun 5, 2026

    New:

    - Codec API now returns DataResult this allows propagative errors and partial success warnings accumulation) - Codec#encodeAsync/decodeAsync, Codec.dispatch, Codec.taggedUnion, Codec.tuple and much more - RecordCodecBuilder -> RecordBuilder, it has also been rewritten - EncodeContext/DecodeContext to help clean up more complicated codecs. - Reflection API covers more missed features

    Changes:

    - Reflection API is now made safer - UpdateChecker accepts a String vararg of ignored identifiers (e.g .alpha, .beta etc)
    182 downloads
  52. 2.3.9-mc.26.1.2AbyssalLib 2.3.9-mc.26.1.2May 30, 2026

    Fixes:

    - ItemStack deserialization no longer adds custom_data to item if its not defined in the yml/json/etc.
    237 downloads
  53. 2.3.8-mc.26.1.2AbyssalLib 2.3.8-mc.26.1.2May 29, 2026

    Fix:

    - UpdateChecker now works properly
    58 downloads
  54. 2.3.7-mc.26.1.2AbyssalLib 2.3.7-mc.26.1.2May 29, 2026

    Fix:

    - YamlOps properly gets double and long values
    67 downloads
  55. 2.3.6-mc.26.1.2AbyssalLib 2.3.6-mc.26.1.2May 28, 2026

    Changes:

    - Encoder and Decoder are no longer functional interfaces

    Fixes:

    - LootTable no longer cause a crash - ItemMenu now works again
    47 downloads
  56. 2.3.5-mc.26.1.2AbyssalLib 2.3.5-mc.26.1.2May 25, 2026
    [EDIT: DO NOT USE CODEC.OF WITH LAMDA, IT DOESNT WORK] Changes: - Encoder and Decoder are now FunctionalInterface(s) (Codec.of)
    40 downloads
  57. 2.3.4-mc.26.1.2AbyssalLib 2.3.4-mc.26.1.2May 25, 2026

    New:

    - Codec.recursive - Codec#flatXmap - Codec.of overload with access to DynamicOps

    Fixes:

    - Codec#orElse no longer fails for null input
    45 downloads
  58. 2.3.3-mc.26.1.2AbyssalLib 2.3.3-mc.26.1.2May 24, 2026

    New:

    - Simple Recipe API that allows automatically loading registered recipe types from JSON/YAML. - Recipes can now be disabled by making a file in recipes folder with the following content:
    id: "minecraft:diamond_sword"
    disabled: true
    - Recipes can now be replaced if they already exist using the optional replace: <boolean> field
    50 downloads
  59. 2.3.2-mc.26.1.2AbyssalLib 2.3.2-mc.26.1.2May 24, 2026

    New:

    - Tags loaded by TagLoader can now replace existing ones aslong as the ID is the same by setting replace: true. - Loot tables now respect merge_strategy for existing custom loot tables of same id - DeferredRegistry now supports adding modifiers which allow runing logic on elements during and after registration.

    Fixes:

    - ItemMenu now shows correct item count on plugins with no ItemCategory. - ItemMenu now properly hides "hidden" items if no ItemCategory is present
    42 downloads
  60. 2.3.1-mc.26.1.2AbyssalLib 2.3.1-mc.26.1.2May 23, 2026

    Fixes:

    - OminousAmplifier component no longer causes ClassCastException. - GUIs now tick on folia
    93 downloads
  61. 2.3.0-mc.26.1.2AbyssalLib 2.3.0-mc.26.1.2May 23, 2026
    This is the first build with folia compatibility, if you find any errors please report them on either github or discord

    New:

    - Folia is now supported. - Minestom inspired Command API (old annotation registration still works).

    Changes:

    - Scheduler API is now ~4.8x faster. - Structure Block placement speed is now configurable. - onTick and onRandomTick have been moved to CustomBlock from BlockEntity.

    Fixes:

    - RemainderUse component has been fixed.
    35 downloads
  62. 2.2.2-mc.26.1.2AbyssalLib 2.2.2-mc.26.1.2May 14, 2026

    New:

    - ResourcePackCompileEvent so plugins can hook into other plugins packs.

    Changes:

    - ItemPredicate partially matches minecraft:custom_data instead of a 1:1 comparison.
    75 downloads
  63. 2.2.1-mc.26.1.2AbyssalLib 2.2.1-mc.26.1.2May 13, 2026

    Changes:

    - ItemAttributeModifers codec is now flipped to fix serialization.
    44 downloads
  64. 2.2.0-mc.26.1.2AbyssalLib 2.2.0-mc.26.1.2May 13, 2026

    New:

    - Command to send toasts (/abyssallib toast <players> <held|custom> <frame> <title> [subtitle] [item_stack]). - Command to serialize held item, looked at block or looked at entity. - EnumArgument and NbtCompoundArgument for brigadier. - Scheduler API (Realtime, Bukkit and Folia) - Cooldown API.

    Changes:

    - give command now takes player(s) as the first argument. - permission gui command can now take player as optional target.
    36 downloads
  65. 2.1.0-mc.26.1.2AbyssalLib 2.1.0-mc.26.1.2May 7, 2026

    New:

    - ClientItemModifier for client-only item modifications, registered by ItemPacketModifier.registerModifier - Client-only changes are now applied to cursor items too
    29 downloads
  66. 2.0.8-mc.26.1.2AbyssalLib 2.0.8-mc.26.1.2May 6, 2026

    Fix:

    - Vanilla components are now serialized under minecraft namespace, old serialized items can be ported by replacing the namespace of component ids
    64 downloads
  67. 2.0.7-mc.26.1.2AbyssalLib 2.0.7-mc.26.1.2May 6, 2026

    Fix:

    - ConsumeEffect codecs have been fixed (fixes serialization of Deathprotect and Consume components)
    25 downloads
  68. 2.0.6-mc.26.1.2AbyssalLib 2.0.6-mc.26.1.2May 6, 2026

    Fixes:

    - DeathProtect and EnchantableComponent no longer cause error spam - ComponentMap now loads vanilla components properly
    49 downloads
  69. 2.0.5-mc.26.1.2AbyssalLib 2.0.5-mc.26.1.2May 5, 2026

    Changes:

    - Attribute API is now 1:1 with the minecraft Attribute system.
    28 downloads
  70. 2.0.4-mc.26.1.2AbyssalLib 2.0.4-mc.26.1.2May 4, 2026

    Changes:

    - resourcepack host is now enabled by default

    Fixes:

    - No longer causes errors when using Codec.map or similar with Config API
    54 downloads
  71. 2.0.3-mc.26.1.2AbyssalLib 2.0.3-mc.26.1.2Apr 22, 2026

    Fixes:

    - No longer overwrites player inv when using permission gui
    33 downloads
  72. 2.0.2-mc.26.1.2AbyssalLib 2.0.2-mc.26.1.2Apr 18, 2026

    Fixed:

    - Jitpack now uses JDK 25
    32 downloads
  73. 2.0.1-mc26.1.2AbyssalLib 2.0.1-mc26.1.2Apr 18, 2026

    New:

    - Updated to 26.1.2 - added Dye component - added new special model types to RP API to match 26.1

    Changes:

    - updated existing special models in RP API to match new changes of 26.1 - Standard and Dust particle renderer no longer use packet based rendering as that didnt affect them much. - CustomBlock now validates if the block material is the correct custom block material, if not it removes the custom block - AbstractPropertyEntity now uses reflection API
    32 downloads
  74. 2.0.0-mc1.21.11AbyssalLib 2.0.0-mc1.21.11Apr 17, 2026

    Changelog

    Features & Additions

    - Permissions System: Added a Permission API with an in-game GUI and Web Editor (with domain support). Includes custom permission checks (Player#hasPerm) and removes the need for permissions in paper-plugin.yml. - Dynamic Translations: Added ItemTranslationProvider and ServerTranslator global providers/resolvers, allowing developers to add dynamic translations without PlaceholderAPI. - Resource Pack Loading: Implemented configuration phase sending for resource packs. - New Asset Types: Added support for Atlas, BBModelLoader, and Core Shader assets. - Loot Commands: Added a command to set custom loot tables on any container (loot generates upon interaction). Added custom loot table support directly to entities. - Locate Command: Added a locate command for structures, which works exclusively in newly generated chunks. - Dynamic Statistics: Added dynamically generated tracking for entities_killed, blocks_mined, and items_crafted based on namespace and ID.

    Changes & Improvements

    - Asynchronous Item Ticking & GUI Performance: ItemTicker now runs asynchronously. Additionally, GuiManager now creates a ticker specifically for GUIs with a tickInterval greater than 0 (default is 1), improving overall server performance. - Structure Optimization: Improved structure placement performance by ~75% and reduced structure file sizes by ~95%. Increased the StructureBlock size limit to 1028 for X/Y/Z coordinates. - GUI Engine Overhaul: Reworked ItemMenu to utilize ItemCategory systems, allowing categorized item displays (a default category is generated if none is specified by a plugin). Missing plugin icons now default to an apple placeholder. - Particle Performance: Improved the performance of default particle renderers. - Component Handling: Component Maps and custom components now use NbtOps codecs to properly maintain data types natively.

    Fixes

    - Worldgen & Structures: Fixed structure rotation failing to rotate by the origin anchor. Fixed an issue where worldgen would fail for structures extending beyond a 3x3 chunk region. Fixed structure placement not working with processors. - MiniMessage Parsing: Fixed MiniMessage text parsing for Server-Side Rendering (SSR), chat packets (including disguised packets), boss-bars, objectives, and dialogs. - Translation Overrides: Fixed TranslationLoader overriding previously loaded locale files, and fixed a bug where failed translation strings were replaced by their raw keys instead of parsing correctly. - Packet Translation: Fixed PacketTranslator breaking items server-side, allowing custom items to function correctly in recipes. - Block State Adapters: Fixed and added adapters for Nameable, Container, InventoryHolder, Lootable, Lockable, Leaves, and Bed (part/occupied) tile states.

    API & Developer Notes

    - Dependencies: Updated to Kotlin 2.1.0, added kotlinx.coroutines, and added Kotlin API for config and database. - Database Loader: Added a universal Database API and Loader via Config, supporting MariaDB, MongoDB, Redis, PostgreSQL, and H2. - New APIs: Added Scoreboard API, Economy API (requires plugin implementation, not Vault compatible), Advancement & Toast API, and Placeholder API with defaults. - Kotlin DSLs: Added Kotlin DSLs for Blocks and Block Entities (similar to the Item DSL). - Energy Conductor Nodes: Added EnergyConductor for cable-type nodes with simulation mode for insert/extract. Transfers now depend on BlockFace. Custom blocks must manually handle EnergyNetwork registration/unregistration. - Library Migrations: Moved away from ItemBridge, BlockBridge, and Identifier. Use BlockInfo and Adventure Key instead. Direct support for Nexo and ItemsAdder has been removed. - GUI API Adjustments: Added GuiClickContext and GuiDragContext as overrides, replacing the old onDrag and onClick. Added new builder utilities (fill, fillBorder, structure) and new UI layers (ScrollLayer, StateCycleElement, ToggleElement, ProgressBarLayer). - Javadocs: Added extensive Javadoc coverage across the library, linking to PaperMC and Adventure APIs. - Removals & Deprecations: - Deleted the Multiblock API. - Removed deprecated GUI implementations (ListedLayers and PaginatedElements are replaced by LayerStack and PagedLayer). - Removed BlockPileFeature, CaveVineFeature, and RandomPatchFeature. - Removed DamageType.Registrar (use DamageType#register in PluginBootstrap). > Note for devs using particle API; if you spawn a HUGE amount of particles, consider using ItemDisplayRenderer instead as the client wont have to receive a ton of packets (tested with 2500 item displays, client and server performance was good, however particles cause client to disconnect on same configuration)
    135 downloads
  75. 1.9.0-mc1.21.9Jan 29, 2026
    Docs will be updated after v2 as v2 is already nearly done and the Wiki rewrite will take atleast 2-3 days

    New:

    - Structure API along with ingame Structure Block for saving/loading ingame - Worldgen API for generating features with json config support (default has ore, geode, spring and structure and more) - Color API for Color conversions, creation, and more - ItemPredicate for weak stack checks - Transaction and Batch query support for Database - MySQL implementation for Database - A few other useful methods for queries and batch queries - From-scratch Energy API with EnergyUnit support and builtin Energy Network - Loot table API rewritten to be datadriven, can also be now used to replace or merge with vanilla tables - More hooks for CustomBlock, and more properties for it - Almost all loaders can now be used to load relevant object from jar or a folder

    Changes:

    - Particle API now uses ColorProvider instead of Gradient - Tag API now uses ItemPredicate, and has overall been rewritten - DataComponent uses Type instead of ID, this also removes all reflection related to data component API (thus making it faster than before) - CustomBlock#place no longer resets placed blocks state (this also means if calling via API, the vanilla block should be placed before calling CustomBlock#place) - Try utility has been entirely rewritten, any usages must update to new format - insert() no longer refers to INSERT_OR_REPLACE, use new replace() chain - All database operations (player statistics, block manager etc) now use optimized db calls (transactions, batch calls, async calls)

    Removal:

    - Gradient has been removed (replaced by ColorProvider) - Removed Deprecated Energy and Particle API - CustomRecipe class - RECIPE_CHOICES and RECIPE_TYPES registries
    46 downloads
  76. 1.8.0-mc1.21.9AbyssalLib 1.8.0-mc1.21.9Dec 28, 2025
    Docs will now be updated on v2 and will hopefully be more clear
    ---

    New:

    - Rewritten from-scratch Particle API. - Timeline API for animating particles (optional, particles can be animated directly in generator or in your own transformers) - Merge PR [#2](https://github.com/darksoulq/AbyssalLib/pull/2) , Adding Player-aware tooltips and slot validation for Item#onClickInInventory (by [@ynovka](https://github.com/ynovka)) - CTag#set(String, CTag) and CTag#getCompound(String) for setting compound tags ---

    Changes:

    - Old particle API is marked for removal - renamed Item#getRawStack() -> Item#getStack() ([#2](https://github.com/darksoulq/AbyssalLib/pull/2)) ---

    Removal:

    - CustomRecipe class - RECIPE_CHOICES and RECIPE_TYPES registries - Removed Item#getStack()
    55 downloads
  77. 1.7.2-mc1.21.9AbyssalLib 1.7.2-mc1.21.9Dec 25, 2025

    Fix:

    - Kotlin classes no longer cause errors when used
    24 downloads
  78. 1.7.1-mc1.21.9AbyssalLib 1.7.1-mc1.21.9Dec 23, 2025
    Previous version was an accidental bump of patch number and was meant to be 1.7.0, i apologize for the confusion.
    ---

    Fix:

    - Item#onInventoryClick fires for hotbar swapped items now - Plugin Hooks now properly load
    17 downloads
  79. 1.6.8-mc1.21.9AbyssalLib 1.6.8-mc1.21.9Dec 22, 2025

    New:

    - Command /abyssallib reload pack which resends all packs (including external packs) - Config#value method that takes in a Codec for serializing values. - PacketEvent#setPacket so that the packet may be modified in Recieve/Send events - Experimental entity natural spawning system for custom entities. - external_packs: list in config to allow sending packs other than ones registered using ResourcePack#register - InventoryClickType (Bukkit ClickType duplicate) to avoid conflict with ClickType - Item#onClickInInventory and Item#onInventoryTick (tick is untested and may be removed if performance is impacted too much) - ItemBridge and BlockBridge have been vastly improved. ---

    Changes:

    - ItemStack Codec no longer forces YAML format for data: section. - Most save/remove DB operations are now Async (should improve performance) - All permissions have been changed to more standard ones and should now appear in LuckPerms web editor properly
    abyssallib.admin.give -> abyssallib.items.give
    abyssallib.admin.attribute -> abyssallib.attribute.get
    abyssallib.admin.summon -> abyssallib.entity.summon
    abyssallib.player.statistic_self -> abyssallib.statistics.view.self
    abyssallib.player.statistic_all -> abyssallib.statistics.view.all
    abyssallib.player.statistic_self.menu -> abyssallib.statistics.menu.self
    abyssallib.player.statistic_all.menu -> abyssallib.statistics.menu.all
    abyssallib.admin.reload -> abyssallib.reload
    abyssallib.content.items.view (new)
    23 downloads
  80. 1.6.7-mc1.21.9AbyssalLib 1.6.7-mc1.21.9Dec 12, 2025

    New:

    - Network based Energy system in favor of isolated energy system - EnergyNetworkTransferEvent, EnergyNodeChangeEvent, EnergyNodeAddEvent, EnergyNodeRemoveEvent for new Energy API - ItemEnergyNode datacomponent for custom items that supports holding any EnergyNode ---

    Changes:

    - Multiblock API completely overhauled and is now ready for use (docs soon) - Old Energy API completely marked as Deprecated for removal
    24 downloads
  81. 1.6.6-mc1.21.9AbyssalLib 1.6.6-mc1.21.9Dec 11, 2025

    New:

    - ItemsAdder items can now be used in recipes and tags (ia:namespace:id), (Blocks for tags too) - Either<A, B> (kinda just DFU version) aswell as Codec<Either<A, B>> type has been added (Codec.either) - OneOf codec for allowing attempt of many codecs (next-if-previous-failed) (Codec.oneOf) - Item Definitions inside recipes and tags now support data component modifications (e.g
      id: minecraft:stick
      amount: 2
      data:
        minecraft:unbreakable: ""
        minecraft:max_stack_size: 2
      
    check out docs for the format of each component). this also makes it cleaner (as before items wwith amount were defined as {"item:id", amount}). ---

    Changes:

    - Codec.either -> Codec.fallback - EitherCodec -> FallbackCodec ---

    Fix:

    - Codec#list/collection now works as intended on FallbackCodec
    17 downloads
  82. 1.6.5-mc1.21.9AbyssalLib 1.6.5-mc1.21.9Dec 1, 2025
    This is hopefully the last bug that was in CustomBlock API, only server owners need to update to this, there are no API changes
    ---

    FIxes:

    - Only one BlockEntity ticking after chunk is reloaded (or server restarts)
    22 downloads
  83. 1.6.4-mc1.21.9AbyssalLib 1.6.4-mc1.21.9Nov 30, 2025

    New:

    - ListedLayers#reset() and PaginatedElements#reset() [Useful if layer hasnt been added to gui and is being handled by another layer) - Item#onSwapHand, Item#onSlotChange, Item#onDrop, Item#onPickup ([#1](https://github.com/darksoulq/AbyssalLib/issues/1)) ---

    Changes:

    - Item#onUse now has a third argument ClickType showing what type of click it was (left/Right) ([#1](https://github.com/darksoulq/AbyssalLib/issues/1)) ---

    Fixes:

    - BlockInteractionEvent#getInteractionPoint is now Nullable
    18 downloads
  84. 1.6.3-mc1.21.9AbyssalLib 1.6.3-mc1.21.9Nov 27, 2025
    This is a major fix for both the block and entity systems
    ---

    New:

    - Selector.Select type has been added (Component select has NOT been added yet) - BukkitBlockExtensions with (currently) 1 method, Block#getPDC, this calls BlockPersistentData.get(Block) ---

    Fixes:

    - Blocks properly load now. - Selector.Select json output is now ordered - Block/Entity/Multiblock databases no longer duplicate content - BlockEntity superclass Property<>(s) also get saved now - Blocks now get properly removed from database
    19 downloads
  85. 1.6.2-mc1.21.9AbyssalLib 1.6.2-mc1.21.9Nov 25, 2025

    Fixes:

    - Blocks properly get saved - BlockEntity no longer gets overwritten on new block placement
    21 downloads
  86. 1.6.1-mc1.21.9AbyssalLib 1.6.1-mc1.21.9Nov 24, 2025
    CustomRecipe is deprecated and marked for removal as it served no real purpose.
    ---

    Fixes:

    - Plugin Icon items no longer show in give cmd and Item Menu - Default plugin_icon is no longer a missing texture (no resourcepack reset needed) - BlockInteractionEvent is now called and handled correctly ---

    Removal:

    - CustomRecipe#getCodec (had no real use)
    27 downloads
  87. 1.6.0-mc1.21.9AbyssalLib 1.6.0-mc1.21.9Nov 23, 2025
    From now on AbyssalLib will receive smaller updates as well as dev versions (dev only on GitHub) For Developers: you should now add a lang key plugin.<plugin_id> so that you can show a proper name inside ItemMenu (default is plugin_id). Optionally, also add an icon. ---

    New:

    - Statistics Menu, and Item Menu for viewing said content (view permissions in docs) - Namespace#icon for specifying the plugin icon to show in /abyssallib content items (textures/items/icon.png) - EntitySpawner component for items that spawn custom entities - Statistics API for adding custom statistics to players - Command now supports aliases - Codecs for all DataComponents - Codec#collection and Codec#collection(collectionConstructor) (e.g. codec.collection(HashSet::new)) - Entity now supports DataComponent (not Vanilla ones, only custom) - EnergyContainer component (wrapper for SimpleEnergyContainer) - A lot of new codecs in ExtraCodecs and Codecs - oversizedInGui field for ItemDefinition - Kotlin player and entity extensions for various methods - Kotlin GuiBuilder, DamageTypeBuilder, ParticlesBuilder, LootTableBuilder, LootPoolBuilder, RecordCodec - Model now includes guiLight, textureSize, ambientOcclusion - Model.Element now includes shade and lightEmission - Added byte[] data overloads for every single asset so you can load them directly from files (Be warned: when using these you CANNOT edit them via code, e.g. you cannot add more translation keys to a Lang loaded this way) - ResourcePack#unregister (does nothing when using RSPM; reloading RSPM works) ---

    Changes:

    - Added back many constructors to DataComponents to fix component loading - BlockEntity now only serializes variables of type Property<> - BlockManager no longer uses TextUtil.GSON for serialization/deserialization - AttributeModifier → ItemAttributeModifier - Many constructors with easier-to-use versions for DataComponents - DataComponent constructor now accepts subclass Codecs (e.g. Codec<ToolComponent> instead of Codec<DataComponent<Tool>>) - Entity Loading is now fixed - Codec<Component> (TEXT_COMPONENT in Codecs) now uses MiniMessage for serializing/deserializing ---

    Fixes:

    - ItemBridge properly loads items now (also fixes ITEM_STACK codec) - Registry no longer crashes plugin if a duplicate ID is registered (it skips instead) - Item Components randomly not applying - Typo in ItemModel which caused it to replace ItemName - Possibly fixed Entity Spawning ---

    Removal:

    - Logging from SimpleEnergyContainer - WorldMeta
    20 downloads
  88. 1.5.0-mc1.21.8AbyssalLib 1.5.0-mc1.21.8Sep 16, 2025
    Javadoc jar will not be published till i finish refactoring them (likely will be done quickly once i can use my pc)
    New: - Experimental Multiblock API - PaginatedElements#getPage to get current page - Experimental Energy API - Config class as a wrapper to YamlConfiguration - Rewritten Item api (mostly same, only getSettings() is no longer applicable) - Server owners can load recipes using yml files. - Codec API for serialization - ItemBridge for easily getting ItemStacks from different sources based on ID (used in Recipe loading) Removal: - BlockInteractionEvent {buggy and redundant} - Annotation based Config API {Extremely fucked} - CustomBlockBreak {very buggy, and not useful} - ToolType and ToolTier {may or may not be temporary} - MySQL impl of Database API {impl wasnt good} Changes: - Full rewrite of Particles, Shape, Shapes and AnimatedShapes - EventBus.post is now a static method - Classes from /world/level/ moved to /world/ (some more classes were also moved to common/) - Block.java -> CustomBlock.java to resolve name conflict Fixes: - Gui no longer opens if player is sleeping or in a portal
    49 downloads
  89. 1.4.0-mc1.21.7AbyssalLib 1.4.0-mc1.21.7Jul 27, 2025
    New: - Equipment .json loading/creating - Blockstate .json loading/creating - PostEffect .json loading/creating - WaypointStyle loading/creating - Updated to RSPM 1.5.0 Changes: - No longer delays resourcepack generation/registration. Fixed: - McMeta files being created in root of resourcepack
    42 downloads
  90. 1.3.6-mc1.21.7AbyssalLib 1.3.6-mc1.21.7Jul 27, 2025
    New: - McMeta, PackMcMeta and Pack icon support in ResourcePack/Namespace
    32 downloads
  91. 1.3.5-mc1.21.7AbyssalLib 1.3.5-mc1.21.7Jul 26, 2025
    Changes: - BlockManager now only ticks BlockEntities of loaded chunks (should improve performance) - registerTypeAdapter seperate into itself and registerTypeHierarchyAdapter in BlockManager. Fixes: - Error when breaking block - All Blocks sharing same BlockEntity - Blocks not being removed * I apologize for messing up versioning, previous version was meant to be 1.4.0
    39 downloads
  92. 1.3.4-mc1.21.7AbyssalLib 1.3.4-mc1.21.7Jul 22, 2025
    New: - Update to 1.21.7 - BlockBrokenEvent contains fortune level of item and can be used to interrupt drops and handle them manually - Item(s) can be made to place Block(s) using getSettings().blockItem(Block) now - the newer config api! (old one is in .legacy package) - New gui api (no javadocs yet) Fixed: - ItemTag#contains - BlockTag#contains - BlockManager loads blocks properly - TextOffset not working properly Changes: - Removed RecipeAPI (broken) - Item#data changed to #setData and #getData - GuiManager methods are now static - ChatInputHandler methods are now static
    43 downloads
  93. 1.3.3-mc1.21.5AbyssalLib 1.3.3-mc1.21.5Jul 3, 2025
    Fixes: - Blocks not being saved - EntityAttributes db file not being created - Entity db file not being created - Packets causing players to disconnect - TextOffset not working - Bitmaps not loading properly
    60 downloads
  94. 1.3.2-mc1.21.5AbyssalLib 1.3.2-mc1.21.5Jul 2, 2025
    New: - Block(Identifier, Material) constructor Changes: - PlayerAttributes renamed to EntityAttributes (can store attributes for any entity now) Fix: - Static getHandlerList in all custom events
    31 downloads
  95. 1.3.1-mc1.21.5AbyssalLib 1.3.1-mc1.21.5Jun 28, 2025
    New: - Config option features.custom_block_breaking to disable/enable the block hardness mechanic (default false as visuals are buggy) - AttributeModifier and AttributeOperation for PlayerAttribute API (modifiers are unloaded upon restart, they must be manually added back) - Font#glyph has been readded Changes: - Packet API now provides PacketReceiveEvent and PacketSendEvent - PlayerData renamed to PlayerAttribute (now only supports Number (int, float, byte, etc))
    35 downloads
  96. 1.3.0-mc1.21.5AbyssalLib 1.3.0-mc1.21.5Jun 27, 2025
    Changes: - Item and Block API have been rewritten in alot of parts. - Config API has been moved to .legacy in favor of possibly new API - ResourceLocation is now Identifier and made using Identifier#of - ResourcePack API has been rewritten from scratch New: - BaseMap which can be extended to make your own maps - BlockEntity (for Block ticking and data) - ParticleEmitter for dynamic particle source - ItemDisplay capabilities to particle API - PlayerData and Attribute API - DamageType API (not tested, requires BootStrap) - WorldMeta class for easy use of world PDC - DataPack class for loading datapacks from within plugin (requires bootstrap) - BlockProperties which allow setting custom hardness, allowing fortune/requiring silktouch for blocks (will be expanded). - Custom block break handling (has visual bugs) - Experimental entity api (no loot table/ event hooks in-class, need to be handled in respective events for now) - ItemType and ItemTier - experimental packet api - TTF, bitmap char arrays, unihex and space provider support for Font class - TextOffset class for easily getting any offset (gui position etc) - keepAlive to MySQL database Removed: - BlockData removed in favor of BlockEntity - Builtin RecipeViewer and Recipe serialization removed in favor of WIP separate plugin. ** Docs will be updated in july
    36 downloads
  97. 1.2.7-mc1.21.5AbyssalLib 1.2.7-mc1.21.5May 21, 2025
    Changes: - Rewrote GUI API to support multi-player inventories (docs will be updated soon) Fixed: - GUI still ticking after closing
    33 downloads
  98. 1.2.6-mc1.21.5AbyssalLib 1.2.6-mc1.21.5May 19, 2025
    New: - Middle Click now picks the blocks item (if it exists) instead of the vanilla item Changes: - Rewrote Item class (for devs): - There is NO change in how you register the item or create them, but now, instead of passing the Item as an ItemStack, you must call Item#stack() instead - Item no longer extends ItemStack
    34 downloads
  99. 1.2.5-mc1.21.5AbyssalLib 1.2.5-mc1.21.5May 18, 2025
    New: - ResourcePackDeleteEvent and ResourcePackGenerateEvent - Added EventBus#post(Event) for calling events (overlay for bukkits method) - Added a static instance of EventBus in AbyssalLib class, can be used if you dont want to make your own instance Changes: - You need to call GlyphWriter#writeAll(modid) to generate the glyphs into the pack properly now, this MUST be done BEFORE ResourcePack#generate() Docs will be updated shortly to reflect these changes
    29 downloads
  100. 1.2.4-mc1.21.5AbyssalLib 1.2.4-mc1.21.5May 17, 2025
    Changes: - Rewrote Particle API
    27 downloads

Similar projects

Plugin →