diff --git a/src/main/java/com/minelittlepony/client/model/entity/VillagerPonyModel.java b/src/main/java/com/minelittlepony/client/model/entity/VillagerPonyModel.java index e12d1aab..94658fb2 100644 --- a/src/main/java/com/minelittlepony/client/model/entity/VillagerPonyModel.java +++ b/src/main/java/com/minelittlepony/client/model/entity/VillagerPonyModel.java @@ -10,11 +10,13 @@ import net.minecraft.util.math.MathHelper; import net.minecraft.village.VillagerDataContainer; import net.minecraft.village.VillagerProfession; +import com.minelittlepony.pony.IPony; +import com.minelittlepony.pony.meta.Race; import com.minelittlepony.client.model.entity.race.AlicornModel; +import com.minelittlepony.client.render.EquineRenderManager; import com.minelittlepony.client.render.entity.npc.PonyTextures; import com.minelittlepony.model.IPart; import com.minelittlepony.mson.api.ModelContext; -import com.minelittlepony.pony.meta.Race; public class VillagerPonyModel extends AlicornModel implements ModelWithHat { @@ -22,6 +24,7 @@ public class VillagerPonyModel e private ModelPart trinket; private IPart batWings; + private IPart batEars; public VillagerPonyModel() { super(false); @@ -30,10 +33,20 @@ public class VillagerPonyModel e @Override public void init(ModelContext context) { super.init(context); + batWings = context.findByName("bat_wings"); + batEars = context.findByName("bat_ears"); apron = context.findByName("apron"); trinket = context.findByName("trinket"); } + @Override + public void updateLivingState(T entity, IPony pony, EquineRenderManager.Mode mode) { + super.updateLivingState(entity, pony, mode); + + ears.setVisible(pony.getMetadata().getRace() != Race.BATPONY); + batEars.setVisible(pony.getMetadata().getRace() == Race.BATPONY); + } + @Override public IPart getWings() { if (getMetadata().getRace() == Race.BATPONY) { diff --git a/src/main/java/com/minelittlepony/client/render/MagicGlow.java b/src/main/java/com/minelittlepony/client/render/MagicGlow.java index 3e4ce5f9..dab00107 100644 --- a/src/main/java/com/minelittlepony/client/render/MagicGlow.java +++ b/src/main/java/com/minelittlepony/client/render/MagicGlow.java @@ -65,8 +65,8 @@ public class MagicGlow extends RenderPhase { @Override public void startDrawing() { - super.startDrawing(); RenderSystem.blendColor(red, green, blue, alpha); + super.startDrawing(); } @Override diff --git a/src/main/resources/assets/minelittlepony/models/villager.json b/src/main/resources/assets/minelittlepony/models/villager.json index f522fede..53ceb4d7 100644 --- a/src/main/resources/assets/minelittlepony/models/villager.json +++ b/src/main/resources/assets/minelittlepony/models/villager.json @@ -16,6 +16,12 @@ "type": "mson:slot", "name": "ears", "implementation": "com.minelittlepony.client.model.part.PonyEars", + "content": "minelittlepony:components/ears" + }, + { + "type": "mson:slot", + "name": "bat_ears", + "implementation": "com.minelittlepony.client.model.part.PonyEars", "content": "minelittlepony:components/bat_ears" }, { @@ -28,7 +34,7 @@ }, "bat_wings": { "type": "mson:slot", - "name": "wings", + "name": "bat_wings", "implementation": "com.minelittlepony.client.model.part.BatWings", "content": "minelittlepony:components/bat_wings" },