Tags
Creators
Details
Licensed MIT
Published last year
Updated 8 hours ago
All versions
2.4.0-mc.26.1.2
Release
AbyssalLib 2.4.0-mc.26.1.23 weeks ago 22
Uploaded by
Compatibility
Minecraft: Java Edition
26.1.2
Platforms
Folia
Paper
Changes
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/DecodeContextto 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_speedsandenable_natural_spawningconfig fields to thefeaturessection. - 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
CustomToolcomponent, which behaves similarly to theToolcomponent but for custom blocks. - Added
compressconfig option to the resource-pack section. Enabled by default; currently minifies all JSON, making it useful for packs with a lot of models. - Added
FakePlayerandOfflinePlayerDataAPIs for modifying players while they are offline and for using that data with fake players.
Changes:
RECIPESregistry is now typed, allowing recipes of a specific type to be retrieved usingRECIPES#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-packsnow 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.
Supplementary resources
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:ZbISgrYq:a0qCKeBS"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:ZbISgrYq:a0qCKeBS"
}

