2013-01-02 19:55:29 +01:00
|
|
|
package liquidmechanics.client.render;
|
|
|
|
|
2013-01-07 05:15:21 +01:00
|
|
|
import liquidmechanics.api.helpers.LiquidData;
|
|
|
|
import liquidmechanics.api.helpers.LiquidHandler;
|
2013-01-02 19:55:29 +01:00
|
|
|
import liquidmechanics.client.model.ModelPump;
|
|
|
|
import liquidmechanics.common.LiquidMechanics;
|
|
|
|
import liquidmechanics.common.tileentity.TileEntityPump;
|
|
|
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
|
|
|
import net.minecraft.tileentity.TileEntity;
|
|
|
|
|
|
|
|
import org.lwjgl.opengl.GL11;
|
|
|
|
|
|
|
|
public class RenderPump extends TileEntitySpecialRenderer
|
|
|
|
{
|
2013-01-15 06:52:07 +01:00
|
|
|
int type = 0;
|
|
|
|
private ModelPump model;
|
|
|
|
|
|
|
|
public RenderPump()
|
|
|
|
{
|
|
|
|
model = new ModelPump();
|
|
|
|
}
|
2013-01-02 19:55:29 +01:00
|
|
|
|
2013-01-15 06:52:07 +01:00
|
|
|
public void renderAModelAt(TileEntityPump te, double d, double d1, double d2, float f)
|
|
|
|
{
|
|
|
|
int meta = te.worldObj.getBlockMetadata(te.xCoord, te.yCoord, te.zCoord);
|
|
|
|
switch (te.color.ordinal())
|
|
|
|
{
|
2013-01-15 09:09:34 +01:00
|
|
|
case 4:
|
2013-01-15 06:52:07 +01:00
|
|
|
bindTextureByName(LiquidMechanics.RESOURCE_PATH + "pumps/WaterPump.png");
|
|
|
|
break;// water
|
2013-01-15 09:09:34 +01:00
|
|
|
case 1:
|
2013-01-15 06:52:07 +01:00
|
|
|
bindTextureByName(LiquidMechanics.RESOURCE_PATH + "pumps/LavaPump.png");
|
|
|
|
break;// lava
|
2013-01-15 09:09:34 +01:00
|
|
|
case 0:
|
2013-01-15 06:52:07 +01:00
|
|
|
bindTextureByName(LiquidMechanics.RESOURCE_PATH + "pumps/OilPump.png");
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
bindTextureByName(LiquidMechanics.RESOURCE_PATH + "pumps/Pump.png");
|
|
|
|
break;
|
2013-01-02 19:55:29 +01:00
|
|
|
|
2013-01-15 06:52:07 +01:00
|
|
|
}
|
|
|
|
GL11.glPushMatrix();
|
|
|
|
GL11.glTranslatef((float) d + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F);
|
|
|
|
GL11.glScalef(1.0F, -1F, -1F);
|
|
|
|
switch (meta)
|
|
|
|
{
|
|
|
|
case 1:
|
|
|
|
GL11.glRotatef(0f, 0f, 1f, 0f);
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
GL11.glRotatef(90f, 0f, 1f, 0f);
|
|
|
|
break;
|
|
|
|
case 3:
|
|
|
|
GL11.glRotatef(180f, 0f, 1f, 0f);
|
|
|
|
break;
|
|
|
|
case 0:
|
|
|
|
GL11.glRotatef(270f, 0f, 1f, 0f);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
model.renderMain(0.0625F);
|
|
|
|
model.renderC1(0.0625F);
|
|
|
|
model.renderC2(0.0625F);
|
|
|
|
model.renderC3(0.0625F);
|
|
|
|
GL11.glPopMatrix();
|
2013-01-02 19:55:29 +01:00
|
|
|
|
2013-01-15 06:52:07 +01:00
|
|
|
}
|
2013-01-02 19:55:29 +01:00
|
|
|
|
2013-01-15 06:52:07 +01:00
|
|
|
@Override
|
|
|
|
public void renderTileEntityAt(TileEntity tileEntity, double var2, double var4, double var6, float var8)
|
|
|
|
{
|
|
|
|
this.renderAModelAt((TileEntityPump) tileEntity, var2, var4, var6, var8);
|
|
|
|
}
|
2013-01-02 19:55:29 +01:00
|
|
|
|
|
|
|
}
|