Fix class cast exceptions

* elytras in skins menu
* zombie villagers
This commit is contained in:
Matthew Messinger 2017-06-16 01:41:36 -04:00
parent 62e77acc38
commit 29f2f5ee58
2 changed files with 15 additions and 14 deletions

View file

@ -2,6 +2,7 @@ package com.minelittlepony.model.pony;
import com.minelittlepony.renderer.PlaneRenderer; import com.minelittlepony.renderer.PlaneRenderer;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.passive.EntityVillager;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
public class ModelVillagerPony extends ModelPlayerPony { public class ModelVillagerPony extends ModelPlayerPony {
@ -10,8 +11,6 @@ public class ModelVillagerPony extends ModelPlayerPony {
public PlaneRenderer VillagerApron; public PlaneRenderer VillagerApron;
public PlaneRenderer VillagerTrinket; public PlaneRenderer VillagerTrinket;
public int profession;
public ModelVillagerPony() { public ModelVillagerPony() {
super(false); super(false);
} }
@ -40,7 +39,9 @@ public class ModelVillagerPony extends ModelPlayerPony {
protected void renderBody(Entity entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scale) { protected void renderBody(Entity entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scale) {
super.renderBody(entityIn, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scale); super.renderBody(entityIn, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scale);
if (entityIn instanceof EntityVillager) {
this.bipedBody.postRender(this.scale); this.bipedBody.postRender(this.scale);
int profession = ((EntityVillager) entityIn).getProfession();
if (profession < 2) { if (profession < 2) {
for (PlaneRenderer aVillagerBagPiece : this.VillagerBagPiece) { for (PlaneRenderer aVillagerBagPiece : this.VillagerBagPiece) {
aVillagerBagPiece.render(this.scale); aVillagerBagPiece.render(this.scale);
@ -51,6 +52,7 @@ public class ModelVillagerPony extends ModelPlayerPony {
this.VillagerApron.render(this.scale); this.VillagerApron.render(this.scale);
} }
} }
}
@Override @Override
protected void initTextures() { protected void initTextures() {

View file

@ -1,8 +1,7 @@
package com.minelittlepony.renderer.layer; package com.minelittlepony.renderer.layer;
import com.minelittlepony.ducks.IRenderPony;
import com.minelittlepony.model.PlayerModel;
import com.minelittlepony.model.pony.ModelHumanPlayer; import com.minelittlepony.model.pony.ModelHumanPlayer;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.renderer.entity.RenderLivingBase; import net.minecraft.client.renderer.entity.RenderLivingBase;
import net.minecraft.client.renderer.entity.layers.LayerRenderer; import net.minecraft.client.renderer.entity.layers.LayerRenderer;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
@ -19,8 +18,8 @@ public abstract class AbstractPonyLayer<T extends EntityLivingBase> implements L
public final void doRenderLayer(T entity, float limbSwing, float limbSwingAmount, float ticks, float ageInTicks, public final void doRenderLayer(T entity, float limbSwing, float limbSwingAmount, float ticks, float ageInTicks,
float netHeadYaw, float headPitch, float scale) { float netHeadYaw, float headPitch, float scale) {
PlayerModel model = ((IRenderPony) renderer).getPony(); ModelBase model = renderer.getMainModel();
if (model.getModel() instanceof ModelHumanPlayer) { if (model instanceof ModelHumanPlayer) {
// render the human layer // render the human layer
layer.doRenderLayer(entity, limbSwing, limbSwingAmount, ticks, ageInTicks, netHeadYaw, headPitch, scale); layer.doRenderLayer(entity, limbSwing, limbSwingAmount, ticks, ageInTicks, netHeadYaw, headPitch, scale);
} else { } else {