From d20199fffb943862e5b6550ad1dca40214498194 Mon Sep 17 00:00:00 2001 From: Sollace Date: Fri, 24 Aug 2018 17:19:21 +0200 Subject: [PATCH] Added batpony models --- .../java/com/minelittlepony/model/PMAPI.java | 3 ++ .../model/player/ModelBatpony.java | 52 +++++++++++++++++++ .../model/player/PlayerModels.java | 1 + .../minelittlepony/pony/data/PonyRace.java | 2 +- 4 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/minelittlepony/model/player/ModelBatpony.java diff --git a/src/main/java/com/minelittlepony/model/PMAPI.java b/src/main/java/com/minelittlepony/model/PMAPI.java index 7d2a5cb8..00bf27ec 100644 --- a/src/main/java/com/minelittlepony/model/PMAPI.java +++ b/src/main/java/com/minelittlepony/model/PMAPI.java @@ -16,6 +16,9 @@ public interface PMAPI { ModelWrapper pegasus = new ModelWrapper(new ModelPegasus(false)); ModelWrapper pegasusSmall = new ModelWrapper(new ModelPegasus(true)); + ModelWrapper bat = new ModelWrapper(new ModelBatpony(false)); + ModelWrapper batSmall = new ModelWrapper(new ModelBatpony(true)); + ModelWrapper unicorn = new ModelWrapper(new ModelUnicorn(false)); ModelWrapper unicornSmall = new ModelWrapper(new ModelUnicorn(true)); diff --git a/src/main/java/com/minelittlepony/model/player/ModelBatpony.java b/src/main/java/com/minelittlepony/model/player/ModelBatpony.java new file mode 100644 index 00000000..4d473470 --- /dev/null +++ b/src/main/java/com/minelittlepony/model/player/ModelBatpony.java @@ -0,0 +1,52 @@ +package com.minelittlepony.model.player; + +import com.minelittlepony.model.components.PegasusWings; +import com.minelittlepony.render.PonyRenderer; + +import net.minecraft.entity.Entity; + +import com.minelittlepony.model.capabilities.IModelPegasus; + +public class ModelBatpony extends ModelEarthPony implements IModelPegasus { + + public PegasusWings wings; + + public ModelBatpony(boolean smallArms) { + super(smallArms); + } + + @Override + public void init(float yOffset, float stretch) { + super.init(yOffset, stretch); + wings = new PegasusWings<>(this, yOffset, stretch); + } + + @Override + public void setRotationAngles(float move, float swing, float ticks, float headYaw, float headPitch, float scale, Entity entity) { + super.setRotationAngles(move, swing, ticks, headYaw, headPitch, scale, entity); + wings.setRotationAndAngles(rainboom, move, swing, 0, ticks); + saddlebags.sethangingLow(wingsAreOpen()); + } + + @Override + protected void renderBody(Entity entity, float move, float swing, float ticks, float headYaw, float headPitch, float scale) { + super.renderBody(entity, move, swing, ticks, headYaw, headPitch, scale); + wings.renderPart(scale); + } + + + @Override + protected void initEars(PonyRenderer head, float yOffset, float stretch) { + head.child() + .rotate(0, 0, -0.1F) + .tex(14, 16).box(-4, -6, 1, 1, 2, 2, stretch) // right ear + .tex(0, 3).box(-4, -6, 2.5F, 1, 1, 1, stretch) + .tex(0, 5).box(-4, -6.7F, 2, 1, 1, 1, stretch); + + head.child().flip() + .rotate(0, 0, 0.1F) + .tex(14, 16).box( 3, -6, 1, 1, 2, 2, stretch) // left ear + .tex(0, 3).box( 3, -6, 2.5F, 1, 1, 1, stretch) + .tex(0, 5).box( 3, -6.7F, 2, 1, 1, 1, stretch); + } +} diff --git a/src/main/java/com/minelittlepony/model/player/PlayerModels.java b/src/main/java/com/minelittlepony/model/player/PlayerModels.java index 4f86f717..3959c005 100644 --- a/src/main/java/com/minelittlepony/model/player/PlayerModels.java +++ b/src/main/java/com/minelittlepony/model/player/PlayerModels.java @@ -15,6 +15,7 @@ public enum PlayerModels { DEFAULT("default", "slim", () -> PMAPI.earthpony, () -> PMAPI.earthponySmall), EARTH("earthpony", "slimearthpony", () -> PMAPI.earthpony, () -> PMAPI.earthponySmall), PEGASUS("pegasus", "slimpegasus", () -> PMAPI.pegasus, () -> PMAPI.pegasusSmall), + BATPONY("batpony", "slimbatpont", () -> PMAPI.bat, () -> PMAPI.batSmall), UNICORN("unicorn", "slimunicorn", () -> PMAPI.unicorn, () -> PMAPI.unicornSmall), ALICORN("alicorn", "slimalicorn", () -> PMAPI.alicorn, () -> PMAPI.alicornSmall), ZEBRA("zebra", "slimzebra", () -> PMAPI.zebra, () -> PMAPI.zebraSmall), diff --git a/src/main/java/com/minelittlepony/pony/data/PonyRace.java b/src/main/java/com/minelittlepony/pony/data/PonyRace.java index 7a03f79b..3f9f5a01 100644 --- a/src/main/java/com/minelittlepony/pony/data/PonyRace.java +++ b/src/main/java/com/minelittlepony/pony/data/PonyRace.java @@ -14,7 +14,7 @@ public enum PonyRace implements ITriggerPixelMapped { REFORMED_CHANGELING(0xcaed5a, PlayerModels.ALICORN, true, true), GRIFFIN(0xae9145, PlayerModels.PEGASUS, true, false), HIPPOGRIFF(0xd6ddac, PlayerModels.PEGASUS, true, false), - BATPONY(0xdddddd, PlayerModels.PEGASUS, true, false), + BATPONY(0xdddddd, PlayerModels.BATPONY, true, false), SEAPONY(0x3655dd, PlayerModels.SEAPONY, false, true); private boolean wings;