diff --git a/src/main/java/com/minelittlepony/client/model/ModelType.java b/src/main/java/com/minelittlepony/client/model/ModelType.java index 71286829..5480eea1 100644 --- a/src/main/java/com/minelittlepony/client/model/ModelType.java +++ b/src/main/java/com/minelittlepony/client/model/ModelType.java @@ -51,6 +51,8 @@ public final class ModelType { public static final ModelKey ENDERMAN = register("enderman", ModelEnderStallion::new); public static final ModelKey> BREEZIE = register("breezie", ModelBreezie::new); + public static final ModelKey> ELYTRA = register("elytra", PonyElytra::new); + public static final ModelKey> ARMOUR_INNER = register("armour_inner", ModelPonyArmour::new); public static final ModelKey> ARMOUR_OUTER = register("armour_outer", ModelPonyArmour::new); diff --git a/src/main/java/com/minelittlepony/client/model/PonyElytra.java b/src/main/java/com/minelittlepony/client/model/PonyElytra.java index 756f9b24..6e0678e3 100644 --- a/src/main/java/com/minelittlepony/client/model/PonyElytra.java +++ b/src/main/java/com/minelittlepony/client/model/PonyElytra.java @@ -7,19 +7,27 @@ import net.minecraft.entity.LivingEntity; import net.minecraft.util.math.Vec3d; import com.google.common.collect.ImmutableList; +import com.minelittlepony.mson.api.ModelContext; +import com.minelittlepony.mson.api.MsonModel; import static com.minelittlepony.model.PonyModelConstants.*; /** * Modified from ModelElytra. */ -public class PonyElytra extends AnimalModel { +public class PonyElytra extends AnimalModel implements MsonModel { public boolean isSneaking; private ModelPart rightWing; private ModelPart leftWing; + @Override + public void init(ModelContext context) { + rightWing = context.findByName("right_wing"); + leftWing = context.findByName("left_wing"); + } + @Override protected Iterable getHeadParts() { return ImmutableList.of(); diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyElytra.java b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyElytra.java index 2561fa7c..aee2c9e3 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyElytra.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/LayerPonyElytra.java @@ -1,10 +1,10 @@ package com.minelittlepony.client.render.entity.feature; import com.minelittlepony.client.model.IPonyModel; +import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.PonyElytra; import com.minelittlepony.client.render.IPonyRender; import com.minelittlepony.model.BodyPart; -import com.mojang.blaze3d.platform.GlStateManager; import net.minecraft.client.network.AbstractClientPlayerEntity; import net.minecraft.client.render.OverlayTexture; @@ -24,7 +24,8 @@ public class LayerPonyElytra & private static final Identifier TEXTURE_ELYTRA = new Identifier("textures/entity/elytra.png"); - private final PonyElytra modelElytra = new PonyElytra<>(); + @SuppressWarnings("unchecked") + private final PonyElytra modelElytra = (PonyElytra)ModelType.ELYTRA.createModel(); public LayerPonyElytra(IPonyRender rp) { super(rp); @@ -35,8 +36,6 @@ public class LayerPonyElytra & ItemStack itemstack = entity.getEquippedStack(EquipmentSlot.CHEST); if (itemstack.getItem() == Items.ELYTRA) { - GlStateManager.color4f(1, 1, 1, 1); - stack.push(); preRenderCallback(stack);