All Mods Resource Packs Data Packs Shaders Modpacks Plugins
AbyssalLib

AbyssalLib

by darksoul9109 • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions


Features

A general-purpose library providing tools and APIs to simplify plugin development, including:

  • ResourcePack API for easier pack handling and distribution
  • Serverside translations with dynamic updates for items (along with glyphs, placeholders support)
  • Items, blocks, GUIs, and entity API
  • Advancements, toasts, and permissions API
  • Energy, Statistic and Attribute API
  • Scoreboard and placeholder API with extended functionality

And much more.



Advancements

Permissions

Recipe

Item and ServerSide Translation

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.3
Folia Paper
14h ago 1
26.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
1.21.11
Folia Paper
14h ago 1
26.3
Folia Paper
14h ago 1
26.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
1.21.11
Folia Paper
14h ago 1
26.3
Folia Paper
14h ago 1
26.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
1.21.11
Folia Paper
14h ago 1
26.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
1.21.11
Folia Paper
14h ago 1
26.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
1.21.11
Folia Paper
14h ago 1
26.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
1.21.11
Folia Paper
14h ago 1
26.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
1.21.11
Folia Paper
14h ago 1
26.2
Folia Paper
14h ago 1
26.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
1.21.11
Folia Paper
14h ago 1
26.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
1.21.11
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
26.1.2
Folia Paper
14h ago 1
26.1.2
Paper
14h ago 1
26.1.2
Paper
14h ago 1
26.1.2
Paper
14h ago 1
26.1.2
Paper
14h ago 1
26.1.2
Paper
14h ago 1
26.1.2
Paper
14h ago 1
26.1.2
Paper
14h ago 1
26.1.2
Paper
14h ago 1
26.1.2
Paper
14h ago 1
26.1.2
Paper
14h ago 1
26.1.2
Paper
14h ago 1
26.1.2
Paper
14h ago 1
1.21.11
Paper
14h ago 1
1.21.9
Paper
14h ago 1
1.21.x
Paper
14h ago 1
1.21.x
Paper
14h ago 1
1.21.x
Paper
14h ago 1
1.21.x
Paper
14h ago 1
1.21.x
Paper
14h ago 1
1.21.x
Paper
14h ago 1
1.21.x
Paper
14h ago 1
1.21.x
Paper
14h ago 1
1.21.x
Paper
14h ago 1
1.21.x
Paper
14h ago 1
1.21.x
Paper
14h ago 1
1.21.x
Paper
14h ago 1
1.21.x
Paper
14h ago 1
1.21.x
Paper
14h ago 1
1.21.x
Paper
14h ago 1
1.21.x
Paper
14h ago 1
1.21.x
Paper
14h ago 1
1.21.5
Paper
14h ago 1
1.21.5
Paper
14h ago 1
1.21.5
Paper
14h ago 1
1.21.5
Paper
14h ago 1
1.21.5
Paper
14h ago 1
1.21.5
Paper
14h ago 1
1.21.5
Paper
14h ago 1
1.21.5
Paper
14h ago 1
1.21.5
Paper
14h ago 1
1.21.5
Paper
14h ago 1
1.21.5
Paper
14h ago 1
1.21.5
Paper
14h ago 1
1.21.5
Paper
14h ago 1
## **New:**
  • isValidState on CustomBlock, replaces hardcoded block material check so can be overriden for custom checks.

## **New:**
  • isValidState on CustomBlock, replaces hardcoded block material check so can be overriden for custom checks.

## **New:**
  • isValidState on CustomBlock, replaces hardcoded block material check so can be overriden for custom checks.

## **New:**
  • isValidState on CustomBlock, replaces hardcoded block material check so can be overriden for custom checks.

## **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.

## **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.

## **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.

## **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.

## **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.


## **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.


## **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.


## **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.


> 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.
> 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.
> 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.
## **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)
## **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)
## **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)
## **New:**
  • Add 2 JSON specific MergeStrategy for replacing/inheriting from existing loot tables that merge/replace vanilla tables
## **New:**
  • Add 2 JSON specific MergeStrategy for replacing/inheriting from existing loot tables that merge/replace vanilla tables
## **New:**
  • Add 2 JSON specific MergeStrategy for replacing/inheriting from existing loot tables that merge/replace vanilla tables
## **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
## **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
## **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
## **Fixes:**
  • Default (folder) Recipe registration is delayed by 10 ticks so other plugins have time to register items.
## **Fixes:**
  • Default (folder) Recipe registration is delayed by 10 ticks so other plugins have time to register items.
## **Fixes:**
  • Default (folder) Recipe registration is delayed by 10 ticks so other plugins have time to register items.
## **Fixes:**
  • Default (folder) Recipe registration is delayed by 10 ticks so other plugins have time to register items.
> 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)
> 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)
AbyssalLib Icon
Download AbyssalLib
Select game version
Select platform