mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2024-11-26 22:38:00 +01:00
Fixed saddlebags sometimes inheriting the wrong texture
This commit is contained in:
parent
f66f78693f
commit
fc69d2eedc
14 changed files with 35 additions and 20 deletions
|
@ -8,6 +8,7 @@ import com.minelittlepony.render.RenderPony;
|
||||||
import com.minelittlepony.util.math.MathUtil;
|
import com.minelittlepony.util.math.MathUtil;
|
||||||
|
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* I Render Pony now, oky?
|
* I Render Pony now, oky?
|
||||||
|
@ -23,6 +24,8 @@ public interface IRenderPony<T extends EntityLivingBase> {
|
||||||
|
|
||||||
RenderPony<T> getInternalRenderer();
|
RenderPony<T> getInternalRenderer();
|
||||||
|
|
||||||
|
ResourceLocation getTexture(T entity);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called by riders to have their transportation adjust their position.
|
* Called by riders to have their transportation adjust their position.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -118,4 +118,9 @@ public class RenderPonyModel extends RenderPlayerModel<EntityPonyModel> implemen
|
||||||
public RenderPony<EntityPonyModel> getInternalRenderer() {
|
public RenderPony<EntityPonyModel> getInternalRenderer() {
|
||||||
return renderPony;
|
return renderPony;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getTexture(EntityPonyModel entity) {
|
||||||
|
return getEntityTexture(entity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,8 +107,6 @@ public abstract class RenderPonyMob<T extends EntityLiving> extends RenderLiving
|
||||||
return renderPony;
|
return renderPony;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract ResourceLocation getTexture(T entity);
|
|
||||||
|
|
||||||
public abstract static class Proxy<T extends EntityLiving> extends RenderPonyMob<T> {
|
public abstract static class Proxy<T extends EntityLiving> extends RenderPonyMob<T> {
|
||||||
|
|
||||||
public Proxy(List<LayerRenderer<T>> exportedLayers, RenderManager manager, ModelWrapper model) {
|
public Proxy(List<LayerRenderer<T>> exportedLayers, RenderManager manager, ModelWrapper model) {
|
||||||
|
|
|
@ -8,6 +8,7 @@ import net.minecraft.util.ResourceLocation;
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
import com.minelittlepony.ducks.IRenderPony;
|
||||||
import com.minelittlepony.model.AbstractPonyModel;
|
import com.minelittlepony.model.AbstractPonyModel;
|
||||||
import com.minelittlepony.model.BodyPart;
|
import com.minelittlepony.model.BodyPart;
|
||||||
import com.minelittlepony.model.gear.IGear;
|
import com.minelittlepony.model.gear.IGear;
|
||||||
|
@ -30,7 +31,7 @@ public class LayerGear<T extends EntityLivingBase> extends AbstractPonyLayer<T>
|
||||||
new Stetson()
|
new Stetson()
|
||||||
);
|
);
|
||||||
|
|
||||||
public LayerGear(RenderLivingBase<T> renderer) {
|
public <R extends RenderLivingBase<T> & IRenderPony<T>> LayerGear(R renderer) {
|
||||||
super(renderer);
|
super(renderer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,10 +74,12 @@ public class LayerGear<T extends EntityLivingBase> extends AbstractPonyLayer<T>
|
||||||
GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS);
|
GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS);
|
||||||
|
|
||||||
ResourceLocation texture = gear.getTexture(entity);
|
ResourceLocation texture = gear.getTexture(entity);
|
||||||
if (texture != null) {
|
if (texture == null) {
|
||||||
getRenderer().bindTexture(texture);
|
texture = getPonyRenderer().getTexture(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getRenderer().bindTexture(texture);
|
||||||
|
|
||||||
gear.setLivingAnimations(model, entity);
|
gear.setLivingAnimations(model, entity);
|
||||||
gear.setRotationAndAngles(model.isGoingFast(), move, swing, model.getWobbleAmount(), ticks);
|
gear.setRotationAndAngles(model.isGoingFast(), move, swing, model.getWobbleAmount(), ticks);
|
||||||
gear.renderPart(scale);
|
gear.renderPart(scale);
|
||||||
|
|
|
@ -142,6 +142,11 @@ public class RenderPonyPlayer extends RenderPlayer implements IRenderPony<Abstra
|
||||||
return renderPony.getPony(player).getTexture();
|
return renderPony.getPony(player).getTexture();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getTexture(AbstractClientPlayer entity) {
|
||||||
|
return getEntityTexture(entity);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ModelWrapper getModelWrapper() {
|
public ModelWrapper getModelWrapper() {
|
||||||
return renderPony.playerModel;
|
return renderPony.playerModel;
|
||||||
|
@ -156,4 +161,5 @@ public class RenderPonyPlayer extends RenderPlayer implements IRenderPony<Abstra
|
||||||
public RenderPony<AbstractClientPlayer> getInternalRenderer() {
|
public RenderPony<AbstractClientPlayer> getInternalRenderer() {
|
||||||
return renderPony;
|
return renderPony;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,7 +50,7 @@ public class RenderEnderStallion extends RenderPonyMob<EntityEnderman> implement
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ResourceLocation getTexture(EntityEnderman entity) {
|
public ResourceLocation getTexture(EntityEnderman entity) {
|
||||||
return ENDERMAN;
|
return ENDERMAN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ public class RenderPonyGuardian extends RenderGuardian {
|
||||||
|
|
||||||
ponyRenderer = new RenderPonyMob.Proxy<EntityGuardian>(layerRenderers, manager, PMAPI.seapony) {
|
ponyRenderer = new RenderPonyMob.Proxy<EntityGuardian>(layerRenderers, manager, PMAPI.seapony) {
|
||||||
@Override
|
@Override
|
||||||
protected ResourceLocation getTexture(EntityGuardian entity) {
|
public ResourceLocation getTexture(EntityGuardian entity) {
|
||||||
return RenderPonyGuardian.this.getTexture(entity);
|
return RenderPonyGuardian.this.getTexture(entity);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -42,7 +42,7 @@ public abstract class RenderPonyIllager<T extends AbstractIllager> extends Rende
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ResourceLocation getTexture(EntityVindicator entity) {
|
public ResourceLocation getTexture(EntityVindicator entity) {
|
||||||
return VINDICATOR;
|
return VINDICATOR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -54,7 +54,7 @@ public abstract class RenderPonyIllager<T extends AbstractIllager> extends Rende
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ResourceLocation getTexture(EntityEvoker entity) {
|
public ResourceLocation getTexture(EntityEvoker entity) {
|
||||||
return EVOKER;
|
return EVOKER;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -66,7 +66,7 @@ public abstract class RenderPonyIllager<T extends AbstractIllager> extends Rende
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ResourceLocation getTexture(EntityIllusionIllager entity) {
|
public ResourceLocation getTexture(EntityIllusionIllager entity) {
|
||||||
return ILLUSIONIST;
|
return ILLUSIONIST;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ public class RenderPonyPigman extends RenderPonyMob<EntityPigZombie> {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ResourceLocation getTexture(EntityPigZombie entity) {
|
public ResourceLocation getTexture(EntityPigZombie entity) {
|
||||||
return PIGMAN;
|
return PIGMAN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ public class RenderPonySkeleton<Skeleton extends AbstractSkeleton> extends Rende
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ResourceLocation getTexture(Skeleton entity) {
|
public ResourceLocation getTexture(Skeleton entity) {
|
||||||
return SKELETON;
|
return SKELETON;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ public class RenderPonySkeleton<Skeleton extends AbstractSkeleton> extends Rende
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ResourceLocation getTexture(EntityStray entity) {
|
public ResourceLocation getTexture(EntityStray entity) {
|
||||||
return STRAY;
|
return STRAY;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ public class RenderPonySkeleton<Skeleton extends AbstractSkeleton> extends Rende
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ResourceLocation getTexture(EntityWitherSkeleton entity) {
|
public ResourceLocation getTexture(EntityWitherSkeleton entity) {
|
||||||
return WITHER;
|
return WITHER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ public class RenderPonyVillager extends RenderPonyMob<EntityVillager> {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ResourceLocation getTexture(EntityVillager entity) {
|
public ResourceLocation getTexture(EntityVillager entity) {
|
||||||
if ("Derpy".equals(entity.getCustomNameTag())) {
|
if ("Derpy".equals(entity.getCustomNameTag())) {
|
||||||
if (entity.isChild()) {
|
if (entity.isChild()) {
|
||||||
return EGG_2;
|
return EGG_2;
|
||||||
|
|
|
@ -38,7 +38,7 @@ public class RenderPonyWitch extends RenderPonyMob<EntityWitch> {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ResourceLocation getTexture(EntityWitch entity) {
|
public ResourceLocation getTexture(EntityWitch entity) {
|
||||||
return WITCH_TEXTURES;
|
return WITCH_TEXTURES;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@ public class RenderPonyZombie<Zombie extends EntityZombie> extends RenderPonyMob
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ResourceLocation getTexture(Zombie entity) {
|
public ResourceLocation getTexture(Zombie entity) {
|
||||||
return ZOMBIE;
|
return ZOMBIE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ public class RenderPonyZombie<Zombie extends EntityZombie> extends RenderPonyMob
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ResourceLocation getTexture(EntityHusk entity) {
|
public ResourceLocation getTexture(EntityHusk entity) {
|
||||||
return HUSK;
|
return HUSK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ public class RenderPonyZombie<Zombie extends EntityZombie> extends RenderPonyMob
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ResourceLocation getTexture(EntityGiantZombie entity) {
|
public ResourceLocation getTexture(EntityGiantZombie entity) {
|
||||||
return ZOMBIE;
|
return ZOMBIE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ public class RenderPonyZombieVillager extends RenderPonyMob<EntityZombieVillager
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ResourceLocation getTexture(EntityZombieVillager entity) {
|
public ResourceLocation getTexture(EntityZombieVillager entity) {
|
||||||
return PROFESSIONS.supplyTexture(entity.getProfession());
|
return PROFESSIONS.supplyTexture(entity.getProfession());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue