promotional bannermobile promotional banner

ChaosAPI

GPU-accelerated animation and rendering library
Back to Files

[Universal] chaoslib-1.21.1-1.2.0

File namechaoslib-1.21.1-1.2.0-universal.jar
Uploader
ElifianElifian
Uploaded
Jul 27, 2026
Downloads
83
Size
2.0 MB
Mod Loaders
FabricNeoForge
File ID
8520490
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

Fabric

modImplementation "curse.maven:chaosapi-1601428:8520490"

NeoForge

implementation "curse.maven:chaosapi-1601428:8520490"

Learn more about Curse Maven

What's new

Changelog

1.2.0

Added

  • Minecraft 1.20.1 support alongside 1.21.1, from a single source set.
  • A version matrix in versions/<name>.properties that owns every Minecraft, loader and compat coordinate, selected with -Pver=<version>.
  • The bundled mc-preprocess Gradle plugin, which renders the shared sources for the active Minecraft version through //#if directives.
  • A forge module for the 1.20.1 Forge target, next to the existing fabric and neoforge modules.
  • Oculus shader-pack integration on 1.20.1 through ShaderPackCompatHelper and a loader-installed bridge provider, so the Iris API works unchanged on both codepaths.
  • IrisCompat.unlockDepthColorState(), bindDefaultFramebuffer() and restoreFramebuffer(), which reproduce for Oculus what Iris performs natively for core shaders it does not own.
  • GeoAnimationSync, which triggers an animation on the server and replays it on every client tracking the entity.
  • Block break particles that sample a texture the block provides through ChaosBreakParticleProvider instead of its block atlas sprite.
  • ChaosPacket as a common network abstraction on every version.

Changed

  • IrisCompatibleShaderInstance now keeps a custom core shader visible on 1.20.1 as well, where Iris offers no iris$shouldSkipThis opt-out.
  • Fabric render mixins moved from the shared source set into the fabric module, where both version variants of each class now live in one file.
  • ShaderPackCompatHelper and ChaosPacket are no longer guarded by a version condition.
  • The Iris custom shader example is loader-neutral and builds on both versions.
  • The ChaosMerge plugin is bundled with the build instead of being resolved externally.
  • Build output and run directories are collected under the repository root.
  • Javadoc keeps the summary sentence and the parameter tags; the rationale prose was dropped.

Removed

  • The duplicate copies of the Fabric render mixins that the shared source set kept under opposite version guards.
  • The separate 1.20.1 branch and its standalone source tree, now that both versions build from one branch.

1.1.0

This release describes what changed on the 1.21.1 branch since master (1.20.1).

Added

  • Minecraft 1.21.1 and NeoForge 21.1 support.
  • Fabric support with platform-specific entrypoints, services, model discovery, networking, render events, static model support, and metadata.
  • A multi-project layout with common, neoforge, and fabric modules.
  • Shared platform services for lifecycle hooks, registration, networking, render events, shader registration, model discovery, static model integration, and loader checks.
  • ChaosLibBootstrap as the common initialization entrypoint for networking, examples, client config, shader registration, resource reloads, render hooks, Sodium compatibility, and static model discovery.
  • ChaosClientRenderRegistrar for GPU world render dispatch, world light-volume updates, and multipart debug rendering.
  • ChaosNetworkRegistrations for multipart bone sync, melee hit hints, and use hints.
  • ChaosExampleRegistrations and bundled example content for animated entities, multipart entities, and procedural block rendering.
  • Public dev.elifian.chaoslib.api.iris API for optional Iris shader-pack integration.
  • Iris-aware render-layer wrapping for entities, block entities, outlines, and explicit custom render phases.
  • Iris-compatible custom shader support through IrisCompatibleShaderInstance.
  • Dedicated depth-writing shadow render-layer support for translucent and custom entity renderers under Iris shader packs.
  • Shader-pack skinning injection for ChaosLib GPU-rendered geometry.
  • Shader-pack program compilation and fallback handling for ChaosLib GPU rendering.
  • GPU pose retention with shared pose arenas, pose slot stores, pose resampling, and the rendering.retainedGpuPoses option.
  • Batched pose sampling so a frame's poses can be sampled in one dispatch per mesh and animation.
  • Shared GPU poses for objects that animate in step.
  • Streaming instance data through a ring of GPU buffers.
  • Instanced GPU render data storage and shader-pack render dispatch support.
  • Static geo model discovery on both loaders.
  • Fabric static model discovery metadata and Fabric static model rendering path.
  • Sodium compatibility surface, Sodium options integration, GPU skinning controls, and debug overlay.
  • Chloride compatibility bridge.
  • Fabric and NeoForge implementations for static geo baked models.
  • Multipart hit hint handling in the same tick that requested the hint.
  • Swing-strength capture before vanilla resets the value.
  • Centralized build output and run directories.

Changed

  • Loader-independent code, resources, tests, and mixins moved into :common.
  • Loader projects reduced to platform packages, service implementations, metadata, and bridges.
  • Old direct init classes were replaced by service-backed common init classes.
  • ModClientRegistries, ModNetworkRegistries, and ChaosShaderRegistrar were replaced by the bootstrap, render registrar, network registrar, and platform shader services.
  • Embeddium compatibility naming was replaced with Sodium naming.
  • Obsolete Embeddium config flags were removed from the compatibility surface.
  • Legacy shader-mod terminology was normalized to Iris on the 1.21.1 codepath.
  • Entity and block-entity renderers now submit Iris-aware render layers.
  • GPU shader-pack rendering now tracks Iris phases, shadow passes, rendered entity ids, block entity ids, and item ids.
  • Block-entity state handling and world render stages were updated for Fabric.
  • Fabric render hooks, static model path, and model discovery now match the NeoForge feature surface.
  • Static model baking and render-state handling were updated for the 1.21.1 loader split.
  • Multipart entity networking and interaction flow were updated around explicit hint packets.
  • GPU animation dispatch now runs outside the render state where possible.
  • GPU pose storage now grows with explicit compute-write flushing.
  • Build scripts now produce loader-specific artifacts into the shared root build/libs directory.
  • Mod version changed to 1.1.0.
  • DESCRIPTION.md now describes ChaosLib as a Minecraft animation and rendering library with Sodium and Iris compatibility.

Removed

  • The old single-loader source layout.
  • Forge-only src/main ownership of loader-independent code.
  • Legacy Embeddium-named compatibility classes and mixins.
  • Legacy shader-mod mixin and compatibility resource names on the 1.21.1 codepath.
  • Loader-side copies of common tests and resource files after the multiloader split.
  • Obsolete init classes that were replaced by the common bootstrap and platform services.

This mod has no additional files