Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
Weave
Weave is a compatibility and performance layer for Kilt on Minecraft 1.20.1 Fabric.
It fixes compatibility problems that can happen when Forge mods are loaded through Kilt alongside native Fabric mods, while trying to keep Kilt's normal Forge behavior intact wherever it is actually needed.
This MAY or may not improve compatibility with your modpack, testing is done on my own pack with around 1k mods, so I think I'm loading Forge mods in the worst case scenario, I originally built this because I couldn't even LOAD Kilt, specifically because of multi-loader mods that had Forge and Fabric compatibility in one .jar
What Weave Fixes
Better separation between Fabric and Forge mods
Kilt can sometimes apply Forge-specific behavior to native Fabric mods simply because Forge-related classes or compatibility code are present.
Weave checks whether Forge behavior is actually needed before allowing those Kilt compatibility paths to run.
This also prevents:
- Kilt from accidentally triggering its own compatibility systems.
- Native Fabric mods from being treated as Forge mods.
- Multiloader mods from enabling Forge behavior just because they contain optional Forge code.
- Fabric mods that bundle classes under
net.minecraftforge.*from being automatically treated as real Forge mods. - Unrelated Kilt compatibility mixins from remaining active just because another Forge feature is needed elsewhere.
Fewer Kilt mixin conflicts
Some Kilt compatibility mixins only need to exist when a real Forge mod depends on them.
Weave disables unnecessary Kilt compatibility hooks while keeping related compatibility pieces together when they are required.
This reduces conflicts between Kilt and native Fabric mods without removing the Forge behavior that actual Forge mods depend on.
Keybind compatibility fixes
Fabric keybinds could be routed through Forge-specific key registration and cause crashes, including problems involving modifier keys such as Alt.
Weave separates Fabric-owned and Forge-owned key mappings so each uses the correct registration path.
Fixes the FREEZE_DATA startup hang
Kilt could become almost completely stuck while Minecraft was freezing and baking registries during startup.
Weave repairs the affected block-registry path so startup can continue normally.
Safer client startup and networking
Some Forge mods can attempt to send networking packets before Minecraft has fully entered a valid play state.
Weave prevents those calls from running too early and waits until the client is actually ready.
Architectury compatibility improvements
Some Kilt compatibility features depend on multiple hooks working together.
Weave keeps those related pieces enabled or disabled as a group, preventing partially active compatibility systems from leaving broken runtime state behind.
Tooltip compatibility fixes
Forge tooltip hooks could remain active in places where they were not needed and interfere with native Fabric behavior.
Weave limits those hooks to the code paths that actually require them.
AsyncParticles support for Forge particles
Weave adds AsyncParticles support for Forge particles loaded through Kilt.
Forge particles can use asynchronous processing when their renderer is compatible with it. Renderers that require Kilt/Forge's normal rendering path automatically stay on a safer synchronous path instead of being forced through an incompatible renderer.
Particle ticking and rendering are handled separately, so a particle does not necessarily lose asynchronous ticking just because its renderer needs the normal Forge path.
Forge custom model compatibility
Kilt's custom-model system relies on several pieces working together.
Weave keeps those pieces together so Forge custom models are not left in a partially enabled state where they deserialize but fail to render correctly, or vice versa.
Creative Inventory crash fix
Fabric's Creative Inventory can briefly reach a state where its item-group display context has not been created yet.
Kilt compatibility could hit that state and crash.
Weave handles that specific temporary state safely while leaving unrelated errors untouched.
Fixes corrupted text and giant triangles in menus
Kilt can replace Minecraft's normal text RenderTypes with Forge versions globally.
With batched GUI rendering, certain text decorations — especially strikethrough text with shadows — could corrupt the render buffer and create huge diagonal triangles or streaks across menus.
Weave keeps normal Fabric and vanilla text on Minecraft's normal rendering path and only keeps the Forge text path when Forge code actually requires it.
Better Kilt + Sodium chunk rebuild concurrency
Kilt uses a global synchronization lock for certain Forge ModelData lookups during Sodium chunk rebuilding.
Weave narrows that synchronization for models using Forge's normal default getModelData behavior, allowing unrelated chunks to rebuild more independently.
Models with custom Forge ModelData behavior stay on Kilt's original safe path.
Safe optimization fallback
Weave's performance changes are designed to fail safely.
If Weave cannot recognize the exact Kilt code it expects, the optimization simply does not activate and Kilt's original behavior is used instead.
Mod-Specific Compatibility Fixes
These fixes were discovered through individual Forge mods, but they are handled automatically by Weave and do not require modified versions of those mods.
Bosses Rise
Fixes the Crossbow Pirate failing because it needs access to Minecraft's normally package-private crossbow state when running through Kilt.
Weave supplies the required access automatically.
Monster Expansion
Fixes a model-loading crash caused by Porting Lib attempting to call clear() on an immutable empty model-element list.
Weave handles that exact empty-list case safely without hiding unrelated model errors.


