Rubidium breaks custom sky colors
alcatrazEscapee opened this issue ยท 1 comments
Brief description from discord:
The strangest thing is when I tp I first see the skycolour blue and then it shades up to the turqoise again eveytime. I wonder if the issue is on my end.
Just confirmed it's TFC with out shaders. When you tp somewhere you can see it happen. It would be cool if it kept those first shades you see for a couple seconds bfore going straight to that same really light teal.
Yes confirmed it was Rubidium and Oculus . TFC perfect. Gonna re work shader set up.
Yup it's Rubidium. It's gotta go. No option I see to change it. I only need to get sildurs going on. Optifine didn't work but I'll keep working.
Caused by Rubidium's MixinClientWorld
as part of fast_biome_colors
feature, here:
@Redirect(method = "getSkyColor", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/CubicSampler;sampleColor(Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/util/CubicSampler$RgbFetcher;)Lnet/minecraft/util/math/Vec3d;")) private Vec3d redirectSampleColor(Vec3d pos, CubicSampler.RgbFetcher rgbFetcher) { World world = (World) (Object) this; return FastCubicSampler.sampleColor(pos, (x, y, z) -> world.getBiomeForNoiseGen(x, y, z).value().getSkyColor(), Function.identity()); }
Rubidium comments out / disables the API which allows other mods to enable/disable certain mixin features, and does not provide an alternative. (filed an issue Rubidium#393, likely to go nowhere.)
In theory, it's possible for the user to disable this themselves, by adding:
mixin.features.fast_biome_colors=false
to .minecraft/config/rubidium-mixins.properties
.
... except this crashes.
... so that's filed as an issue to Sodium (Sodium#1577), as that still occurs on 1.19.3 on Fabric. And that's really the only hope of this getting fixed upstream.
So where does that leave us? We can't get Rubidium to disable this mixin, we can't get ask users to disable it themselves, and it requires a whole lot of invasive mixins to stop Rubidium from overwriting ours that I'm not sure we even want to do because it's a whole lot of invasive mixins that are basically designed to conflict and win.
Which, notably, may crash in it's own right because Rubidium has defaultRequire
set to 1
in their mixins.json