Copycats Sable Light Fix
Fixes incorrect ambient occlusion (AO) on copycat models rendered inside Sable sub-levels.
Mod ID: copycats_sable_light_fix | Version: 1.0.0 | Loader: NeoForge 1.21.1
Description
This mod fixes incorrect ambient occlusion (AO) / smooth lighting on copycat models when they are rendered inside Sable sub-levels.
Works with any mod that provides copycat models: Create, Extra Copycats, Create Connected, and others.
Before / After
| Before (broken AO) | After (fixed AO) |
|---|---|
![]() |
![]() |
How it works
Detection - When
ModelBlockRenderer.tesselateBlock()is called, the mod checks whether the renderedBakedModelis a copycat model (instanceof CopycatModelor by class namecom.fiisadev.extra_copycats.*).Interception - Instead of redirecting
Minecraft.useAmbientOcclusion()(which gets inlined and is invisible to mixins at runtime), the mod redirects the actual call toModelBlockRenderer.tesselateWithAO()insidetesselateBlock().Fallback - If the model is a copycat, the call is redirected to
tesselateWithoutAO()(flat lighting). Otherwise, the originaltesselateWithAO()path is preserved.Safety - The mod uses
try-catch+ class-name fallback so it does not crash if no Copycats mod is installed. It only affects copycat models; all other blocks render with normal AO.Config - Toggle the fix on/off via Mod Menu or
config/copycats_sable_light_fix-client.toml.
Technical details
| Parameter | Value |
|---|---|
| Minecraft | 1.21.1 |
| Loader | NeoForge 21.1.262+ |
| Mixin | Sponge 0.16.4+mixin.0.8.7 |
| Redirect target | ModelBlockRenderer.tesselateWithAO(...) via @Redirect |
| Client-only | Yes |
Dependencies
| Mod | Type |
|---|---|
| NeoForge | Required |
| Minecraft 1.21.1 | Required |
| Sable 2.0+ | Required |
Note: Any Copycats-compatible mod works — Create, Extra Copycats, Create Connected, etc. Not required.
Based on Sable upstream issue #1479.



