From 0471a007ce34f8003fcfcc8e433e99f1ae3c7232 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Sat, 21 Mar 2026 00:38:41 +0100 Subject: [PATCH] Improved cloak physics --- .../impl/cosmetics/CloakFeatureRenderer.java | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/versions/1.21.4/src/main/java/org/saturnclient/impl/cosmetics/CloakFeatureRenderer.java b/versions/1.21.4/src/main/java/org/saturnclient/impl/cosmetics/CloakFeatureRenderer.java index 7853001..899ed55 100644 --- a/versions/1.21.4/src/main/java/org/saturnclient/impl/cosmetics/CloakFeatureRenderer.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/impl/cosmetics/CloakFeatureRenderer.java @@ -314,25 +314,16 @@ public class CloakFeatureRenderer extends FeatureRenderer= 20) { - float velX = Math.min(1.0f, playerEntityRenderState.field_53537 / 108.0f); + float velX = Math.min(0.6f, playerEntityRenderState.field_53537 / 108.0f); float rawVelY = playerEntityRenderState.field_53536; - float velY = (rawVelY > 4.0f ? rawVelY : 0.0f) / 16; + float velY = (rawVelY > 3.4f ? rawVelY : 0.0f) / 16; float value = playerEntityRenderState.isSwimming ? 0.0f : velX + velY; if (Config.cloakPhysics.value) { - updateSegmentValues(value); + updateSegmentValues(segmentValues[0] + (value - segmentValues[0]) * 0.3f); } 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); + Arrays.fill(segmentValues, segmentValues[0] + (value - segmentValues[0]) * 0.05f); } lastUpdate = now; }