[Universal] chaoslib-1.21.1-1.2.0
Curse Maven Snippet
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>.propertiesthat owns every Minecraft, loader and compat coordinate, selected with-Pver=<version>. - The bundled
mc-preprocessGradle plugin, which renders the shared sources for the active Minecraft version through//#ifdirectives. - A
forgemodule for the 1.20.1 Forge target, next to the existingfabricandneoforgemodules. - Oculus shader-pack integration on 1.20.1 through
ShaderPackCompatHelperand a loader-installed bridge provider, so the Iris API works unchanged on both codepaths. IrisCompat.unlockDepthColorState(),bindDefaultFramebuffer()andrestoreFramebuffer(), 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
ChaosBreakParticleProviderinstead of its block atlas sprite. ChaosPacketas a common network abstraction on every version.
Changed
IrisCompatibleShaderInstancenow keeps a custom core shader visible on 1.20.1 as well, where Iris offers noiris$shouldSkipThisopt-out.- Fabric render mixins moved from the shared source set into the
fabricmodule, where both version variants of each class now live in one file. ShaderPackCompatHelperandChaosPacketare 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, andfabricmodules. - Shared platform services for lifecycle hooks, registration, networking, render events, shader registration, model discovery, static model integration, and loader checks.
ChaosLibBootstrapas the common initialization entrypoint for networking, examples, client config, shader registration, resource reloads, render hooks, Sodium compatibility, and static model discovery.ChaosClientRenderRegistrarfor GPU world render dispatch, world light-volume updates, and multipart debug rendering.ChaosNetworkRegistrationsfor multipart bone sync, melee hit hints, and use hints.ChaosExampleRegistrationsand bundled example content for animated entities, multipart entities, and procedural block rendering.- Public
dev.elifian.chaoslib.api.irisAPI 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.retainedGpuPosesoption. - 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, andChaosShaderRegistrarwere 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/libsdirectory. - Mod version changed to
1.1.0. DESCRIPTION.mdnow describes ChaosLib as a Minecraft animation and rendering library with Sodium and Iris compatibility.
Removed
- The old single-loader source layout.
- Forge-only
src/mainownership 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

