From 46e6df67df7f344e45eed29c6dac1594677bbead Mon Sep 17 00:00:00 2001 From: Elenterius Date: Sat, 24 Aug 2024 00:14:48 +0200 Subject: [PATCH] fix: improve render scaling of Flesh Blob models --- .../fleshblob/AbstractFleshBlobRenderer.java | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/github/elenterius/biomancy/client/render/entity/mob/fleshblob/AbstractFleshBlobRenderer.java b/src/main/java/com/github/elenterius/biomancy/client/render/entity/mob/fleshblob/AbstractFleshBlobRenderer.java index d1e0bfa09..a9d8e8ba1 100644 --- a/src/main/java/com/github/elenterius/biomancy/client/render/entity/mob/fleshblob/AbstractFleshBlobRenderer.java +++ b/src/main/java/com/github/elenterius/biomancy/client/render/entity/mob/fleshblob/AbstractFleshBlobRenderer.java @@ -19,16 +19,9 @@ protected AbstractFleshBlobRenderer(EntityRendererProvider.Context context, GeoM shadowRadius = 0.65f; } - @Override - public GeoEntityRenderer withScale(float scale) { - shadowRadius = 0.65f * scale; - return withScale(scale, scale); - } - @Override public void preRender(PoseStack poseStack, T fleshBlob, BakedGeoModel model, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - - withScale(fleshBlob.getBlobScale()); + shadowRadius = 0.65f * fleshBlob.getBlobScale(); AnimationProcessor animationProcessor = getGeoModel().getAnimationProcessor(); @@ -42,11 +35,11 @@ public void preRender(PoseStack poseStack, T fleshBlob, BakedGeoModel model, Mul } @Override - public void scaleModelForRender(float widthScale, float heightScale, PoseStack poseStack, T animatable, BakedGeoModel model, boolean isReRender, float partialTick, int packedLight, int packedOverlay) { - if (!isReRender && (widthScale != 1 || heightScale != 1)) { - poseStack.scale(0.999f, 0.999f, 0.999f); - poseStack.translate(0, 0.001f, 0); - poseStack.scale(widthScale, heightScale, widthScale); + public void scaleModelForRender(float widthScale, float heightScale, PoseStack poseStack, T fleshBlob, BakedGeoModel model, boolean isReRender, float partialTick, int packedLight, int packedOverlay) { + float blobScale = fleshBlob.getBlobScale(); + + if (!isReRender && blobScale != 1) { + poseStack.scale(blobScale, blobScale, blobScale); } }