Fix Vertex Transformer for breaking models (#3132)

* Add setTexture to IVertexConsumer and propagate it.
This commit is contained in:
AlgorithmX2 authored and LexManos committed 2016-08-04 16:37:59 -07:00
1 parent 7c4ffde39c
commit bc6b008364
6 files changed
+35 -1

No files matched your search

@@ -19,6 +19,7 @@
package net.minecraftforge.client.model.pipeline;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.vertex.VertexFormat;
import net.minecraft.util.EnumFacing;
@@ -37,6 +38,6 @@ public interface IVertexConsumer
void setQuadTint(int tint);
void setQuadOrientation(EnumFacing orientation);
void setApplyDiffuseLighting(boolean diffuse);
void setTexture(TextureAtlasSprite texture);
void put(int element, float... data);
}
@@ -102,6 +102,14 @@ public class LightUtil
public static void putBakedQuad(IVertexConsumer consumer, BakedQuad quad)
{
try
{
consumer.setTexture(quad.getSprite());
}
catch(AbstractMethodError e)
{
// catch missing method errors caused by change to IVertexConsumer
}
consumer.setQuadOrientation(quad.getFace());
if(quad.hasTintIndex())
{
@@ -66,6 +66,14 @@ public class UnpackedBakedQuad extends BakedQuad
{
consumer.setQuadTint(getTintIndex());
}
try
{
consumer.setTexture(sprite);
}
catch(AbstractMethodError e)
{
// catch missing method errors caused by change to IVertexConsumer
}
consumer.setQuadOrientation(getFace());
for(int v = 0; v < 4; v++)
{
@@ -20,6 +20,7 @@
package net.minecraftforge.client.model.pipeline;
import net.minecraft.client.renderer.VertexBuffer;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.vertex.VertexFormat;
import net.minecraft.client.renderer.vertex.VertexFormatElement.EnumUsage;
import net.minecraft.util.math.BlockPos;
@@ -77,4 +78,5 @@ public class VertexBufferConsumer implements IVertexConsumer
public void setQuadTint(int tint) {}
public void setQuadOrientation(EnumFacing orientation) {}
public void setApplyDiffuseLighting(boolean diffuse) {}
public void setTexture(TextureAtlasSprite texture ) {}
}
@@ -24,6 +24,7 @@ import javax.vecmath.Vector3f;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.EntityRenderer;
import net.minecraft.client.renderer.color.BlockColors;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.vertex.VertexFormat;
import net.minecraft.client.renderer.vertex.VertexFormatElement;
import net.minecraft.util.EnumFacing;
@@ -262,6 +263,7 @@ public class VertexLighterFlat extends QuadGatheringTransformer
}
public void setQuadOrientation(EnumFacing orientation) {}
public void setQuadCulled() {}
public void setTexture( TextureAtlasSprite texture ) {}
public void setApplyDiffuseLighting(boolean diffuse)
{
this.diffuse = diffuse;
@@ -19,6 +19,7 @@
package net.minecraftforge.client.model.pipeline;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.vertex.VertexFormat;
import net.minecraft.util.EnumFacing;
@@ -41,6 +42,18 @@ public class VertexTransformer implements IVertexConsumer
parent.setQuadTint(tint);
}
public void setTexture(TextureAtlasSprite texture)
{
try
{
parent.setTexture(texture);
}
catch(AbstractMethodError e)
{
// catch missing method errors caused by change to IVertexConsumer
}
}
public void setQuadOrientation(EnumFacing orientation)
{
parent.setQuadOrientation(orientation);