From 891aa73254fb5827a8a09dcee4beb7bd8aff77b7 Mon Sep 17 00:00:00 2001 From: Sollace Date: Sun, 9 Jul 2023 21:12:32 +0100 Subject: [PATCH] Fixed guardians not rendering correctly --- .../client/hdskins/PonyPreview.java | 2 +- .../client/mixin/IResizeable.java | 8 ++--- .../model/entity/GuardianPonyModel.java | 24 +++++++++++++++ .../client/render/entity/SeaponyRenderer.java | 28 ++++++++++-------- .../entity/elder_guardian/blueball.png | Bin 0 -> 9040 bytes .../textures/entity/guardian/blueball.png | Bin 0 -> 9044 bytes .../textures/entity/seapony.png | Bin 4959 -> 0 bytes 7 files changed, 43 insertions(+), 19 deletions(-) create mode 100644 src/main/resources/assets/minelittlepony/textures/entity/elder_guardian/blueball.png create mode 100644 src/main/resources/assets/minelittlepony/textures/entity/guardian/blueball.png delete mode 100644 src/main/resources/assets/minelittlepony/textures/entity/seapony.png diff --git a/src/main/java/com/minelittlepony/client/hdskins/PonyPreview.java b/src/main/java/com/minelittlepony/client/hdskins/PonyPreview.java index 445d1560..14184253 100644 --- a/src/main/java/com/minelittlepony/client/hdskins/PonyPreview.java +++ b/src/main/java/com/minelittlepony/client/hdskins/PonyPreview.java @@ -31,7 +31,7 @@ class PonyPreview extends PlayerPreview { @Override public Identifier getDefaultSkin(SkinType type, boolean slim) { if (type == MineLPHDSkins.seaponySkinType) { - return DefaultSkinGenerator.generateGreyScale(SeaponyRenderer.TEXTURE, SeaponyRenderer.TEXTURE, getExclusion()); + return DefaultSkinGenerator.generateGreyScale(SeaponyRenderer.SEAPONY, SeaponyRenderer.SEAPONY, getExclusion()); } Wearable wearable = MineLPHDSkins.wearableTypes.getOrDefault(type, Wearable.NONE); diff --git a/src/main/java/com/minelittlepony/client/mixin/IResizeable.java b/src/main/java/com/minelittlepony/client/mixin/IResizeable.java index dbf2911d..ccfb37a1 100644 --- a/src/main/java/com/minelittlepony/client/mixin/IResizeable.java +++ b/src/main/java/com/minelittlepony/client/mixin/IResizeable.java @@ -1,16 +1,12 @@ package com.minelittlepony.client.mixin; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityDimensions; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Accessor; @Mixin(Entity.class) public interface IResizeable { - @Accessor("dimensions") - EntityDimensions getCurrentSize(); - - @Accessor("dimensions") - void setCurrentSize(EntityDimensions size); + @Accessor + void setStandingEyeHeight(float height); } diff --git a/src/main/java/com/minelittlepony/client/model/entity/GuardianPonyModel.java b/src/main/java/com/minelittlepony/client/model/entity/GuardianPonyModel.java index 234344fe..385a8bae 100644 --- a/src/main/java/com/minelittlepony/client/model/entity/GuardianPonyModel.java +++ b/src/main/java/com/minelittlepony/client/model/entity/GuardianPonyModel.java @@ -1,7 +1,10 @@ package com.minelittlepony.client.model.entity; import net.minecraft.client.model.ModelPart; +import net.minecraft.client.render.VertexConsumer; +import net.minecraft.client.render.entity.model.EntityModel; import net.minecraft.client.render.entity.model.GuardianEntityModel; +import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.mob.GuardianEntity; import com.minelittlepony.client.model.IPonyMixinModel; import com.minelittlepony.client.model.entity.race.SeaponyModel; @@ -18,4 +21,25 @@ public class GuardianPonyModel extends GuardianEntityModel implements IPonyMixin public SeaponyModel mixin() { return mixin; } + + @Override + public void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, float red, float green, float blue, float alpha) { + mixin().render(matrices, vertices, light, overlay, red, green, blue, alpha); + } + + @Override + public void animateModel(GuardianEntity entity, float limbAngle, float limbDistance, float tickDelta) { + mixin().animateModel(entity, limbAngle, limbDistance, tickDelta); + } + + @Override + public void copyStateTo(EntityModel copy) { + mixin().copyStateTo(copy); + } + + @Override + public void setAngles(GuardianEntity entity, float limbAngle, float limbSpeed, float animationProgress, float headYaw, float headPitch) { + mixin().setVisible(true); + mixin().setAngles(entity, limbAngle, limbSpeed, animationProgress, headYaw, headPitch); + } } diff --git a/src/main/java/com/minelittlepony/client/render/entity/SeaponyRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/SeaponyRenderer.java index 49fe2888..761fc12f 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/SeaponyRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/SeaponyRenderer.java @@ -11,27 +11,32 @@ import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.entity.EntityRendererFactory; import net.minecraft.client.render.entity.GuardianEntityRenderer; import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.entity.EntityDimensions; import net.minecraft.entity.mob.ElderGuardianEntity; import net.minecraft.entity.mob.GuardianEntity; import net.minecraft.util.Identifier; public class SeaponyRenderer extends GuardianEntityRenderer { - public static final Identifier TEXTURE = new Identifier("minelittlepony", "textures/entity/seapony.png"); + public static final Identifier SEAPONY = new Identifier("minelittlepony", "textures/entity/guardian/blueball.png"); + private static final Identifier SEAPONY_TEXTURES = new Identifier("minelittlepony", "textures/entity/guardian"); + public static final Identifier ELDER_SEAPONY = new Identifier("minelittlepony", "textures/entity/elder_guardian/blueball.png"); + private static final Identifier ELDER_SEAPONY_TEXTURES = new Identifier("minelittlepony", "textures/entity/elder_guardian"); private final AbstractPonyRenderer ponyRenderer; - public SeaponyRenderer(EntityRendererFactory.Context context, float scale) { + private final float scale; + + public SeaponyRenderer(EntityRendererFactory.Context context, TextureSupplier texture, float scale) { super(context); - ponyRenderer = AbstractPonyRenderer.proxy(context, ModelType.GUARDIAN, TextureSupplier.of(TEXTURE), scale, features, m -> model = m); + ponyRenderer = AbstractPonyRenderer.proxy(context, ModelType.GUARDIAN, texture, scale, features, m -> model = m); + this.scale = scale; } public static SeaponyRenderer guardian(EntityRendererFactory.Context context) { - return new SeaponyRenderer(context, 1); + return new SeaponyRenderer(context, TextureSupplier.ofPool(SEAPONY_TEXTURES, TextureSupplier.of(SEAPONY)), 1); } public static SeaponyRenderer elder(EntityRendererFactory.Context context) { - return new SeaponyRenderer(context, 1); + return new SeaponyRenderer(context, TextureSupplier.ofPool(ELDER_SEAPONY_TEXTURES, TextureSupplier.of(SEAPONY)), ElderGuardianEntity.SCALE); } @Override @@ -47,14 +52,13 @@ public class SeaponyRenderer extends GuardianEntityRenderer { @Override public void render(GuardianEntity entity, float entityYaw, float tickDelta, MatrixStack stack, VertexConsumerProvider renderContext, int lightUv) { - IResizeable resize = (IResizeable)entity; - EntityDimensions origin = resize.getCurrentSize(); + ponyRenderer.manager.preRenderCallback(entity, stack, tickDelta); + + float height = entity.getStandingEyeHeight(); // aligns the beam to their horns - resize.setCurrentSize(EntityDimensions.changing(origin.width, entity instanceof ElderGuardianEntity ? 6 : 3)); - + ((IResizeable)entity).setStandingEyeHeight(2 * scale * ponyRenderer.manager.getScaleFactor()); super.render(entity, entityYaw, tickDelta, stack, renderContext, lightUv); - - resize.setCurrentSize(origin); + ((IResizeable)entity).setStandingEyeHeight(height); } } diff --git a/src/main/resources/assets/minelittlepony/textures/entity/elder_guardian/blueball.png b/src/main/resources/assets/minelittlepony/textures/entity/elder_guardian/blueball.png new file mode 100644 index 0000000000000000000000000000000000000000..4fa995cbd0d69d8dcec40efd143e767c2261adbf GIT binary patch literal 9040 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
)QQXyK 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minelittlepony/textures/entity/seapony.png b/src/main/resources/assets/minelittlepony/textures/entity/seapony.png deleted file mode 100644 index 0e41a655b0c34e0b488733dcee8ebc725cdc8d76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4959 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