Some cleanup for the tank's render

Still haven't fixed that odd error with the connector rendering on the
wrong face. Though the plan is to remove the connector render as you
can't see it past the pipe.
This commit is contained in:
Rseifert 2013-03-29 14:54:10 -04:00
parent f24732fed4
commit 90539dd231
2 changed files with 183 additions and 183 deletions

View file

@ -335,7 +335,7 @@ public class ModelLiquidTank extends ModelBase
public void renderMain(float f5)
{
// render regardless of sides
Mid.render(f5);
Corner.render(f5);
@ -352,73 +352,73 @@ public class ModelLiquidTank extends ModelBase
C2.render(f5);
CCTop.render(f5);
CCBottom.render(f5);
}
public void renderMeter(TileEntity tee, float f5)
{
TileEntity[] ents = new TileEntity[6];
if (tee instanceof TileEntityTank)
{
ents = ((TileEntityTank) tee).cc;
}
// Front
if (ents[2] instanceof TileEntityPipe)
{
CCFront.render(f5);
}
else
{
GuageT.render(f5);
GuageB.render(f5);
Guage.render(f5);
GuageR.render(f5);
// GuageGlass.render(f5);
GuageL.render(f5);
}
// back
if (ents[3] instanceof TileEntityPipe)
{
CCBack.render(f5);
}
else
{
GuageT3.render(f5);
Guage3.render(f5);
Guage3.render(f5);
GuageR3.render(f5);
// GuageGlass3.render(f5);
GuageL3.render(f5);
}
// right
if (ents[4] instanceof TileEntityPipe)
{
CCRight.render(f5);
}
else
{
GuageT4.render(f5);
Guage4.render(f5);
Guage4.render(f5);
GuageR4.render(f5);
// GuageGlass4.render(f5);
GuageL4.render(f5);
}
// left
if (ents[5] instanceof TileEntityPipe)
{
CCLeft.render(f5);
}
else
{
GuageT2.render(f5);
Guage2.render(f5);
Guage2.render(f5);
GuageR2.render(f5);
// GuageGlass2.render(f5);
GuageL2.render(f5);
TileEntity[] conenctedTiles = new TileEntity[6];
if (tee instanceof TileEntityTank)
{
conenctedTiles = ((TileEntityTank) tee).connectedBlocks;
}
// Front
if (conenctedTiles[2] instanceof TileEntityPipe)
{
CCFront.render(f5);
}
else
{
GuageT.render(f5);
GuageB.render(f5);
Guage.render(f5);
GuageR.render(f5);
// GuageGlass.render(f5);
GuageL.render(f5);
}
// back
if (conenctedTiles[3] instanceof TileEntityPipe)
{
CCBack.render(f5);
}
else
{
GuageT3.render(f5);
Guage3.render(f5);
Guage3.render(f5);
GuageR3.render(f5);
// GuageGlass3.render(f5);
GuageL3.render(f5);
}
// right
if (conenctedTiles[4] instanceof TileEntityPipe)
{
CCRight.render(f5);
}
else
{
GuageT4.render(f5);
Guage4.render(f5);
Guage4.render(f5);
GuageR4.render(f5);
// GuageGlass4.render(f5);
GuageL4.render(f5);
}
// left
if (conenctedTiles[5] instanceof TileEntityPipe)
{
CCLeft.render(f5);
}
else
{
GuageT2.render(f5);
Guage2.render(f5);
Guage2.render(f5);
GuageR2.render(f5);
// GuageGlass2.render(f5);
GuageL2.render(f5);
}
}
}
private void setRotation(ModelRenderer model, float x, float y, float z)

View file

@ -16,137 +16,137 @@ import fluidmech.common.machines.TileEntityTank;
public class RenderTank extends TileEntitySpecialRenderer
{
private ModelLiquidTank model;
private ModelLiquidTankCorner modelC;
private ModelLiquidTank model;
private ModelLiquidTankCorner modelC;
public RenderTank()
{
model = new ModelLiquidTank();
modelC = new ModelLiquidTankCorner();
}
public RenderTank()
{
model = new ModelLiquidTank();
modelC = new ModelLiquidTankCorner();
}
public void renderAModelAt(TileEntityTank te, double d, double d1, double d2, float f)
{
int meta = te.getBlockMetadata();
int guageMeta = meta;
LiquidStack stack = te.getStack();
int pos = 0;
if (stack != null)
{
pos = Math.min((stack.amount / LiquidContainerRegistry.BUCKET_VOLUME), 4);
if (meta == ColorCode.NONE.ordinal())
{
guageMeta = ColorCode.get(stack).ordinal();
}
}
public void renderAModelAt(TileEntityTank te, double d, double d1, double d2, float f)
{
int meta = te.getBlockMetadata();
int guageMeta = meta;
LiquidStack stack = te.getStack();
int pos = 0;
if (stack != null)
{
pos = Math.min((stack.amount / LiquidContainerRegistry.BUCKET_VOLUME), 4);
if (meta == ColorCode.NONE.ordinal())
{
guageMeta = ColorCode.get(stack).ordinal();
}
}
GL11.glPushMatrix();
GL11.glTranslatef((float) d + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F);
GL11.glScalef(1.0F, -1F, -1F);
GL11.glPushMatrix();
GL11.glTranslatef((float) d + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F);
GL11.glScalef(1.0F, -1F, -1F);
if (connectionHelper.corner(te) > 0)
{
bindTextureByName(this.getCornerTexture(meta));
int corner = connectionHelper.corner(te);
switch (corner)
{
case 2:
GL11.glRotatef(270f, 0f, 1f, 0f);
break;
case 3:
GL11.glRotatef(0f, 0f, 1f, 0f);
break;
case 4:
GL11.glRotatef(90f, 0f, 1f, 0f);
break;
case 1:
GL11.glRotatef(180f, 0f, 1f, 0f);
break;
}
modelC.render(0.0625F);
}
else
{
bindTextureByName(this.getTankTexture(meta));
model.renderMain(0.0625F);
bindTextureByName(this.getGuageTexture(guageMeta, pos));
model.renderMeter(te, 0.0625F);
}
GL11.glPopMatrix();
if (connectionHelper.corner(te) > 0)
{
bindTextureByName(this.getCornerTexture(meta));
int corner = connectionHelper.corner(te);
switch (corner)
{
case 2:
GL11.glRotatef(270f, 0f, 1f, 0f);
break;
case 3:
GL11.glRotatef(0f, 0f, 1f, 0f);
break;
case 4:
GL11.glRotatef(90f, 0f, 1f, 0f);
break;
case 1:
GL11.glRotatef(180f, 0f, 1f, 0f);
break;
}
modelC.render(0.0625F);
}
else
{
bindTextureByName(this.getTankTexture(meta));
model.renderMain(0.0625F);
bindTextureByName(this.getGuageTexture(guageMeta, pos));
model.renderMeter(te, 0.0625F);
}
GL11.glPopMatrix();
}
}
public static String getTankTexture(int meta)
{
String type = "";
switch (meta)
{
case 1:
type = "Lava";
break;
case 4:
type = "Water";
break;
case 13:
type = "Milk";
break;
case 14:
type = "Steam";
break;
default:
type = "";
break;
}
public static String getTankTexture(int meta)
{
String type = "";
switch (ColorCode.get(meta))
{
case RED:
type = "Lava";
break;
case BLUE:
type = "Water";
break;
case WHITE:
type = "Milk";
break;
case ORANGE:
type = "Steam";
break;
default:
type = "";
break;
}
return FluidMech.MODEL_TEXTURE_DIRECTORY + "tanks/" + type + "Tank.png";
return FluidMech.MODEL_TEXTURE_DIRECTORY + "tanks/" + type + "Tank.png";
}
}
public static String getGuageTexture(int meta, int pos)
{
String type = "";
switch (meta)
{
case 1:
type = "Lava";
break;
case 12:
type = "Fuel";
break;
default:
type = "";
break;
}
public static String getGuageTexture(int meta, int pos)
{
String type = "";
switch (ColorCode.get(meta))
{
case RED:
type = "Lava";
break;
case BLUE:
type = "Water";
break;
default:
type = "";
break;
}
return FluidMech.MODEL_TEXTURE_DIRECTORY + "tanks/guage/" + pos + type + ".png";
}
return FluidMech.MODEL_TEXTURE_DIRECTORY + "tanks/guage/" + pos + type + ".png";
}
public static String getCornerTexture(int meta)
{
String type = "";
switch (meta)
{
case 1:
type = "Lava";
break;
case 4:
type = "Water";
break;
case 13:
type = "Milk";
break;
default:
type = "";
break;
}
return FluidMech.MODEL_TEXTURE_DIRECTORY + "tanks/Corner" + type + ".png";
public static String getCornerTexture(int meta)
{
String type = "";
switch (ColorCode.get(meta))
{
case RED:
type = "Lava";
break;
case BLUE:
type = "Water";
break;
case WHITE:
type = "Milk";
break;
default:
type = "";
break;
}
return FluidMech.MODEL_TEXTURE_DIRECTORY + "tanks/Corner" + type + ".png";
}
}
@Override
public void renderTileEntityAt(TileEntity tileEntity, double var2, double var4, double var6, float var8)
{
this.renderAModelAt((TileEntityTank) tileEntity, var2, var4, var6, var8);
}
@Override
public void renderTileEntityAt(TileEntity tileEntity, double var2, double var4, double var6, float var8)
{
this.renderAModelAt((TileEntityTank) tileEntity, var2, var4, var6, var8);
}
}