resonant-induction/minecraft/liquidmechanics/client/render/RenderSink.java
Rseifert eb923b84db Added sink block
simple, nicer looking way of filling buckets, water viels, cleaning
color off of armor.
2013-01-22 03:36:59 -05:00

74 lines
No EOL
2.3 KiB
Java

package liquidmechanics.client.render;
import liquidmechanics.client.model.ModelSink;
import liquidmechanics.common.LiquidMechanics;
import liquidmechanics.common.tileentity.TileEntitySink;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.client.ForgeHooksClient;
import net.minecraftforge.liquids.LiquidContainerRegistry;
import net.minecraftforge.liquids.LiquidStack;
import org.lwjgl.opengl.GL11;
public class RenderSink extends TileEntitySpecialRenderer
{
int type = 0;
private ModelSink model;
public RenderSink()
{
model = new ModelSink();
}
public void renderWater(LiquidStack stack)
{
if (stack == null || stack.amount <= 1) { return; }
bindTextureByName(LiquidMechanics.RESOURCE_PATH + "blue.png");
float p = 0;
if(stack.amount > 0)p = 0.5f;
if(stack.amount > 500)p=1.5f;
if(stack.amount > 1000)p=2.5f;
if(stack.amount > 1500)p=3.5f;
model.renderLiquid(0.0625F, p);
}
public void renderAModelAt(TileEntitySink te, double d, double d1, double d2, float f)
{
int meta = te.worldObj.getBlockMetadata(te.xCoord, te.yCoord, te.zCoord);
bindTextureByName(LiquidMechanics.RESOURCE_PATH + "Sink.png");
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 3:
GL11.glRotatef(90f, 0f, 1f, 0f);
break;
case 0:
GL11.glRotatef(180f, 0f, 1f, 0f);
break;
case 1:
GL11.glRotatef(270f, 0f, 1f, 0f);
break;
case 2:
GL11.glRotatef(0f, 0f, 1f, 0f);
break;
}
model.render(0.0625F);
renderWater(te.getStack());
GL11.glPopMatrix();
}
@Override
public void renderTileEntityAt(TileEntity tileEntity, double var2, double var4, double var6, float var8)
{
this.renderAModelAt((TileEntitySink) tileEntity, var2, var4, var6, var8);
}
}