package com.minelittlepony.model.player;

import com.minelittlepony.model.components.BatWings;
import com.minelittlepony.model.components.PegasusWings;
import com.minelittlepony.pony.data.PonyWearable;
import com.minelittlepony.render.model.PonyRenderer;

import net.minecraft.entity.Entity;

import com.minelittlepony.model.capabilities.IModelPegasus;

public class ModelBatpony extends ModelEarthPony implements IModelPegasus {

    public PegasusWings<ModelBatpony> wings;

    public ModelBatpony(boolean smallArms) {
        super(smallArms);
    }

    @Override
    public void init(float yOffset, float stretch) {
        super.init(yOffset, stretch);
        wings = new BatWings<>(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);
    }

    @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()
            .tex(12, 16).box(-4, -6, 1, 2, 2, 2, stretch)  // right ear
              .tex(0, 3).box(-4, -6.49F, 2.49F, 1, 1, 1, stretch)
              .tex(0, 5).box(-3, -6.25F, 1.25F, 1, 1, 1, stretch);

        head.child().flip()
            .tex(12, 16).box( 2, -6, 1, 2, 2, 2, stretch)  // left ear
              .tex(0, 3).box( 3, -6.49F, 2.49F, 1, 1, 1, stretch)
              .tex(0, 5).box( 2, -6.25F, 1.25F, 1, 1, 1, stretch);
    }

    @Override
    public boolean isWearing(PonyWearable wearable) {
        if (wearable == PonyWearable.SADDLE_BAGS) {
            return false;
        }

        return super.isWearing(wearable);
    }
}

@@ -1507,25 +1507,28 @@
 (0, 3).box(-
-4
+3.5F
 , -6.49F, 2.
@@ -1517,36 +1517,37 @@
 (-3.5F, -6.49F, 
-2.49
+1.001
 F, 1, 1, 1, stre
@@ -1583,33 +1583,34 @@
 .box(-3, -6.
-25F, 1.25
+49F, 2.001
 F, 1, 1, 1, 
@@ -1749,17 +1749,20 @@
 3).box( 
-3
+2.5F
 , -6.49F
@@ -1767,12 +1767,13 @@
 9F, 
-2.49
+1.001
 F, 1
@@ -1829,17 +1829,18 @@
  -6.
-25F, 1.25
+49F, 2.001
 F, 1

Change bat pony's ears (again)