From a50d3180656ab92a06dd9133041f5a81b1700db2 Mon Sep 17 00:00:00 2001 From: Sollace Date: Fri, 15 May 2020 13:17:25 +0200 Subject: [PATCH] Make piglin ponies more piggy --- .../client/model/entity/PiglinPonyModel.java | 17 ++ .../client/model/entity/ZomponyModel.java | 2 +- .../models/components/pig_snout.json | 18 ++ .../assets/minelittlepony/models/piglin.json | 193 +++++++++++++++++- .../textures/entity/piglin/piglin_pony.png | Bin 2774 -> 2948 bytes .../entity/piglin/zombified_piglin_pony.png | Bin 4502 -> 4657 bytes 6 files changed, 228 insertions(+), 2 deletions(-) create mode 100644 src/main/resources/assets/minelittlepony/models/components/pig_snout.json diff --git a/src/main/java/com/minelittlepony/client/model/entity/PiglinPonyModel.java b/src/main/java/com/minelittlepony/client/model/entity/PiglinPonyModel.java index da4da4f9..73056805 100644 --- a/src/main/java/com/minelittlepony/client/model/entity/PiglinPonyModel.java +++ b/src/main/java/com/minelittlepony/client/model/entity/PiglinPonyModel.java @@ -1,16 +1,28 @@ package com.minelittlepony.client.model.entity; +import net.minecraft.client.model.ModelPart; import net.minecraft.entity.mob.HostileEntity; import net.minecraft.entity.mob.PiglinEntity; import net.minecraft.util.math.MathHelper; import com.minelittlepony.api.pony.IPony; import com.minelittlepony.client.render.EquineRenderManager; +import com.minelittlepony.mson.api.ModelContext; public class PiglinPonyModel extends ZomponyModel { private PiglinEntity.Activity activity; + private ModelPart leftFlap; + private ModelPart rightFlap; + + @Override + public void init(ModelContext context) { + super.init(context); + leftFlap = context.findByName("left_flap"); + rightFlap = context.findByName("right_flap"); + } + @Override public void updateLivingState(HostileEntity entity, IPony pony, EquineRenderManager.Mode mode) { super.updateLivingState(entity, pony, mode); @@ -51,6 +63,11 @@ public class PiglinPonyModel extends ZomponyModel { helmet.copyPositionAndRotation(head); } + + float progress = ticks * 0.1F + move * 0.5F; + float range = 0.08F + swing * 0.4F; + rightFlap.roll = -0.5235988F - MathHelper.cos(progress * 1.2F) * range; + leftFlap.roll = 0.5235988F + MathHelper.cos(progress) * range; } @Override diff --git a/src/main/java/com/minelittlepony/client/model/entity/ZomponyModel.java b/src/main/java/com/minelittlepony/client/model/entity/ZomponyModel.java index a6cf6e51..e4b5eac0 100644 --- a/src/main/java/com/minelittlepony/client/model/entity/ZomponyModel.java +++ b/src/main/java/com/minelittlepony/client/model/entity/ZomponyModel.java @@ -18,7 +18,7 @@ public class ZomponyModel extends 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 diff --git a/src/main/resources/assets/minelittlepony/textures/entity/piglin/zombified_piglin_pony.png b/src/main/resources/assets/minelittlepony/textures/entity/piglin/zombified_piglin_pony.png index 131fd0264ac166f759f0f8c0137052e8eb8c0e2e..d96addd03e863071afcc6d73799f11793cbd2247 100644 GIT binary patch literal 4657 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 literal 4502 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