diff --git a/src/main/java/org/saturnclient/saturnclient/config/Config.java b/src/main/java/org/saturnclient/saturnclient/config/Config.java index 08a5b90..109deea 100644 --- a/src/main/java/org/saturnclient/saturnclient/config/Config.java +++ b/src/main/java/org/saturnclient/saturnclient/config/Config.java @@ -12,7 +12,7 @@ public class Config { public static Property realisticLogo = Property.bool(false); public static Property saturnTitleScreen = Property.bool(true); - public static Property bendyCloaks = Property.bool(true); + public static Property cloakPhysics = Property.bool(true); public static Property openEmoteWheel = Property.keybinding(GLFW.GLFW_KEY_B); public static Property stagger = Property.bool(true); @@ -25,7 +25,7 @@ public class Config { config.property("Realistic logo", realisticLogo); config.property("Saturn client title screen", saturnTitleScreen); config.property("Open Emote Wheel", openEmoteWheel); - config.property("Bendy Cloaks", bendyCloaks); + config.property("Cloak Physics", cloakPhysics); config.property("Stagger Animations", stagger); // Initialize a sub namespace for theme diff --git a/src/main/java/org/saturnclient/saturnclient/cosmetics/CloakFeatureRenderer.java b/src/main/java/org/saturnclient/saturnclient/cosmetics/CloakFeatureRenderer.java index 7b7b564..2de5496 100644 --- a/src/main/java/org/saturnclient/saturnclient/cosmetics/CloakFeatureRenderer.java +++ b/src/main/java/org/saturnclient/saturnclient/cosmetics/CloakFeatureRenderer.java @@ -3,6 +3,7 @@ package org.saturnclient.saturnclient.cosmetics; import java.util.Arrays; import org.saturnclient.saturnclient.client.player.SaturnPlayer; +import org.saturnclient.saturnclient.config.Config; import org.saturnclient.saturnclient.cosmetics.cloaks.Cloaks; import net.minecraft.client.render.OverlayTexture; @@ -282,8 +283,8 @@ public class CloakFeatureRenderer extends FeatureRenderer= 20) { float value = playerEntityRenderState.field_53537 / 108.0f; - updateSegmentValues(value); + if (Config.cloakPhysics.value) { + updateSegmentValues(value); + } else { + float last = segmentValues[0]; + float maxStep = 0.02f; + float next = value; + + if (next > last) + next = Math.min(next, last + maxStep); + else if (next < last) + next = Math.max(next, last - maxStep); + + Arrays.fill(segmentValues, next); + } lastUpdate = now; }