promotional bannermobile promotional banner

Weave

Patches for Kilt that reduce crashes and improves specific mod compatibility

Weave fixes a collection of problems that can happen when running Forge mods through Kilt alongside native Fabric mods.

Weave tries to keep Forge compatibility active only where it is actually needed, while leaving normal Fabric behavior alone.

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

Feel free to leave a comment about what issue you're facing and if it's something worth looking into I might fix it but I'm kind of doing this for my own modpack, sharing it for others to use is mainly a byproduct of me working on my own thing privately


What does Weave fix?

Better separation between Fabric and Forge mods

Kilt can sometimes apply Forge-specific behavior to native Fabric mods just because Forge-related classes or compatibility code are present.

Weave checks whether Forge behavior is actually needed before allowing those compatibility paths to run.

This helps prevent:

  • Fabric mods being incorrectly treated as Forge mods
  • Multiloader mods accidentally activating Forge behavior
  • Kilt triggering its own compatibility systems
  • Fabric mods containing net.minecraftforge.* compatibility classes being mistaken for actual Forge mods
  • Unrelated Kilt compatibility hooks staying active when they aren't needed

Fewer Kilt mixin conflicts

Some Kilt compatibility mixins only need to exist when a Forge mod actually depends on them.

Weave disables unnecessary compatibility hooks while keeping related Kilt systems together when they are required.

This reduces conflicts between Kilt and native Fabric mods without removing the Forge behavior real Forge mods depend on.


Keybind compatibility fixes

Fabric keybinds could sometimes be passed through Forge-specific key registration and crash, particularly with 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 fixes the affected registry path so loading can continue normally.


Safer startup networking

Some Forge mods can try to send 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.


GeckoLib compatibility improvements

Kilt's Forge GeckoLib compatibility could interfere with native Fabric GeckoLib behavior and cause invalid event casts.

Weave keeps the Fabric and Forge GeckoLib paths separated.


Architectury compatibility improvements

Some Kilt integrations rely on several hooks working together.

Weave prevents only part of those compatibility systems from being enabled, avoiding broken half-active states.


Tooltip compatibility fixes

Forge tooltip hooks could remain active in places where they weren't actually needed.

Weave limits those hooks to the code paths that 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.

If a particle renderer requires Kilt/Forge's normal rendering behavior, Weave automatically keeps it on the safer synchronous rendering path instead of forcing it through an incompatible async renderer.

Particle ticking and rendering are handled separately, so particles can still benefit from asynchronous processing where it is safe.


Forge custom model fixes

Weave improves support for Forge custom models loaded through Kilt.

It also keeps Kilt's related custom-model systems together so models are not left in a partially working state where they load but fail to render correctly.


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 safely handles that specific temporary state.


Fixes corrupted menu text and giant triangles

Kilt can globally replace Minecraft's normal text RenderTypes with Forge versions.

With batched GUI rendering, certain text decorations — especially strikethrough text with shadows — could corrupt rendering and create huge diagonal triangles or streaks across menus.

Weave keeps normal Fabric and vanilla text on Minecraft's normal rendering path unless Forge text behavior is actually required.


Better Kilt + Sodium chunk rebuild concurrency

Kilt normally 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 ModelData behavior, allowing unrelated chunks to rebuild more independently.

Models with custom Forge ModelData behavior remain on Kilt's original safe path.

If Weave cannot safely recognize the expected Kilt code, the optimization simply stays disabled and Kilt's original behavior is used.


Mod-specific compatibility fixes

These fixes were discovered through individual Forge mods, but are handled automatically by Weave.

Bosses Rise

Fixes the Crossbow Pirate failing because it requires access to Minecraft's normally package-private crossbow state when running through Kilt.

Monster Expansion

Fixes a model-loading crash caused by Porting Lib attempting to call clear() on an immutable empty model-element list.

The Weave Team

profile avatar
  • 3
    Projects
  • 297
    Downloads

More from tribes33