Some minor Pipe content render improvements
This commit is contained in:
parent
cf87c4229d
commit
d120512934
1 changed files with 30 additions and 24 deletions
|
@ -244,24 +244,27 @@ public class RenderPipe extends TileEntitySpecialRenderer {
|
||||||
if (BuildCraftCore.render == RenderMode.NoDynamic)
|
if (BuildCraftCore.render == RenderMode.NoDynamic)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
initializeDisplayPowerList(tileentity.worldObj);
|
TileGenericPipe pipe = (TileGenericPipe) tileentity;
|
||||||
|
|
||||||
TileGenericPipe pipe = ((TileGenericPipe) tileentity);
|
|
||||||
|
|
||||||
if (pipe.pipe == null)
|
if (pipe.pipe == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (pipe.pipe.transport instanceof PipeTransportItems) {
|
switch (pipe.getPipeType()) {
|
||||||
renderSolids(pipe.pipe, x, y, z);
|
case ITEM:
|
||||||
} else if (pipe.pipe.transport instanceof PipeTransportFluids) {
|
renderSolids(pipe.pipe, x, y, z);
|
||||||
renderFluids(pipe.pipe, x, y, z);
|
break;
|
||||||
} else if (pipe.pipe.transport instanceof PipeTransportPower) {
|
case FLUID:
|
||||||
renderPower(pipe.pipe, x, y, z);
|
renderFluids(pipe.pipe, x, y, z);
|
||||||
|
break;
|
||||||
|
case POWER:
|
||||||
|
renderPower(pipe.pipe, x, y, z);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderPower(Pipe<PipeTransportPower> pipe, double x, double y, double z) {
|
private void renderPower(Pipe<PipeTransportPower> pipe, double x, double y, double z) {
|
||||||
|
initializeDisplayPowerList(pipe.container.worldObj);
|
||||||
|
|
||||||
PipeTransportPower pow = pipe.transport;
|
PipeTransportPower pow = pipe.transport;
|
||||||
|
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
|
@ -299,7 +302,19 @@ public class RenderPipe extends TileEntitySpecialRenderer {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderFluids(Pipe<PipeTransportFluids> pipe, double x, double y, double z) {
|
private void renderFluids(Pipe<PipeTransportFluids> pipe, double x, double y, double z) {
|
||||||
PipeTransportFluids liq = pipe.transport;
|
PipeTransportFluids trans = pipe.transport;
|
||||||
|
|
||||||
|
boolean needsRender = false;
|
||||||
|
for (int i = 0; i < 7; ++i) {
|
||||||
|
FluidStack liquid = trans.renderCache[i];
|
||||||
|
if (liquid != null && liquid.amount > 0) {
|
||||||
|
needsRender = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!needsRender)
|
||||||
|
return;
|
||||||
|
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
|
GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
|
||||||
|
@ -315,11 +330,7 @@ public class RenderPipe extends TileEntitySpecialRenderer {
|
||||||
boolean sides = false, above = false;
|
boolean sides = false, above = false;
|
||||||
|
|
||||||
for (int i = 0; i < 6; ++i) {
|
for (int i = 0; i < 6; ++i) {
|
||||||
// IFluidTank tank = liq.getTanks()[i];
|
FluidStack liquid = trans.renderCache[i];
|
||||||
// FluidStack liquid = tank.getFluid();
|
|
||||||
FluidStack liquid = liq.renderCache[i];
|
|
||||||
// int amount = liquid != null ? liquid.amount : 0;
|
|
||||||
// int amount = liquid != null ? liq.renderAmmount[i] : 0;
|
|
||||||
|
|
||||||
if (liquid != null && liquid.amount > 0) {
|
if (liquid != null && liquid.amount > 0) {
|
||||||
DisplayFluidList d = getListFromBuffer(liquid, pipe.container.worldObj);
|
DisplayFluidList d = getListFromBuffer(liquid, pipe.container.worldObj);
|
||||||
|
@ -328,7 +339,7 @@ public class RenderPipe extends TileEntitySpecialRenderer {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
int stage = (int) ((float) liquid.amount / (float) (liq.getCapacity()) * (LIQUID_STAGES - 1));
|
int stage = (int) ((float) liquid.amount / (float) (trans.getCapacity()) * (LIQUID_STAGES - 1));
|
||||||
|
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
int list = 0;
|
int list = 0;
|
||||||
|
@ -362,18 +373,13 @@ public class RenderPipe extends TileEntitySpecialRenderer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// CENTER
|
// CENTER
|
||||||
// IFluidTank tank = liq.getTanks()[ForgeDirection.Unknown.ordinal()];
|
FluidStack liquid = trans.renderCache[ForgeDirection.UNKNOWN.ordinal()];
|
||||||
// FluidStack liquid = tank.getFluid();
|
|
||||||
FluidStack liquid = liq.renderCache[ForgeDirection.UNKNOWN.ordinal()];
|
|
||||||
|
|
||||||
// int amount = liquid != null ? liquid.amount : 0;
|
|
||||||
// int amount = liquid != null ? liq.renderAmmount[ForgeDirection.Unknown.ordinal()] : 0;
|
|
||||||
if (liquid != null && liquid.amount > 0) {
|
if (liquid != null && liquid.amount > 0) {
|
||||||
// DisplayFluidList d = getListFromBuffer(liq.getTanks()[ForgeDirection.Unknown.ordinal()].getFluid(), pipe.worldObj);
|
|
||||||
DisplayFluidList d = getListFromBuffer(liquid, pipe.container.worldObj);
|
DisplayFluidList d = getListFromBuffer(liquid, pipe.container.worldObj);
|
||||||
|
|
||||||
if (d != null) {
|
if (d != null) {
|
||||||
int stage = (int) ((float) liquid.amount / (float) (liq.getCapacity()) * (LIQUID_STAGES - 1));
|
int stage = (int) ((float) liquid.amount / (float) (trans.getCapacity()) * (LIQUID_STAGES - 1));
|
||||||
|
|
||||||
func_110628_a(TextureMap.field_110575_b);
|
func_110628_a(TextureMap.field_110575_b);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue