Adjusted Shader effects and added IdentityHider

This commit is contained in:
2025-11-14 16:07:57 +01:00
parent 8c7f3ea7f9
commit f750d9fd20
9 changed files with 225 additions and 40 deletions
@@ -4,4 +4,5 @@ public class ClientData {
public static float SANITY = 80f;
public static float INSANITY = 0f;
public static int TEMPO = 0;
public static boolean IDENTITY_BLIND = false;
}
@@ -0,0 +1,27 @@
package net.fretux.mindmotion.client;
import net.minecraft.client.model.HumanoidModel;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.RenderLivingEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber(modid = "mindmotion", value = Dist.CLIENT)
public class IdentityBlindnessFaceHider {
@SubscribeEvent
public static void hideFaces(RenderLivingEvent.Pre<?, ?> event) {
if (!ClientData.IDENTITY_BLIND) return;
if (event.getRenderer().getModel() instanceof HumanoidModel<?> model) {
model.setAllVisible(false);
}
}
@SubscribeEvent
public static void restoreFaces(RenderLivingEvent.Post<?, ?> event) {
if (event.getRenderer().getModel() instanceof HumanoidModel<?> model) {
model.head.visible = true;
model.hat.visible = true;
}
}
}
@@ -0,0 +1,17 @@
package net.fretux.mindmotion.client;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.RenderNameTagEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber(modid = "mindmotion", value = Dist.CLIENT)
public class IdentityBlindnessRenderer {
@SubscribeEvent
public static void hideNameTags(RenderNameTagEvent event) {
if (ClientData.IDENTITY_BLIND) {
event.setResult(RenderNameTagEvent.Result.DENY);
}
}
}
@@ -90,10 +90,32 @@ public class SanityShaderHandler {
for (PostPass pass : getPasses(chain)) {
EffectInstance effect = pass.getEffect();
if (effect == null) continue;
var uniform = effect.getUniform("Desat");
if (uniform != null) {
uniform.set(currentStrength);
var uDesat = effect.getUniform("Desat");
if (uDesat != null) uDesat.set(currentStrength);
float blur = 0f;
float vig = 0f;
float fog = 0f;
if (sanityPct < 0.5f) {
blur = (0.5f - sanityPct) * 0.6f;
vig = (0.5f - sanityPct) * 0.4f;
fog = (0.5f - sanityPct) * 0.25f;
}
blur += insanityPct * 0.25f;
vig += insanityPct * 0.35f;
fog += insanityPct * 0.35f;
blur = Math.min(blur, 1f);
vig = Math.min(vig, 1f);
fog = Math.min(fog, 1f);
var uBlur = effect.getUniform("BlurAmount");
if (uBlur != null) uBlur.set(blur);
var uVig = effect.getUniform("Vignette");
if (uVig != null) uVig.set(vig);
var uFog = effect.getUniform("FogStrength");
if (uFog != null) uFog.set(fog);
}
} catch (Exception e) {
e.printStackTrace();