Fix Gate Rendering
Layers!
This commit is contained in:
parent
4a21f4ce24
commit
acef0b4d60
12 changed files with 198 additions and 69 deletions
|
@ -11,7 +11,7 @@ import net.minecraftforge.fluids.Fluid;
|
|||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import buildcraft.core.utils.GL;
|
||||
import buildcraft.core.render.RenderUtils;
|
||||
import buildcraft.core.render.FluidRenderer;
|
||||
|
||||
public abstract class GuiAdvancedInterface extends GuiBuildCraft {
|
||||
|
@ -188,7 +188,7 @@ public abstract class GuiAdvancedInterface extends GuiBuildCraft {
|
|||
@Override
|
||||
public void drawSprite(int cornerX, int cornerY) {
|
||||
if (fluid != null) {
|
||||
GL.color(colorRenderCache);
|
||||
RenderUtils.setGLColorFromInt(colorRenderCache);
|
||||
}
|
||||
super.drawSprite(cornerX, cornerY);
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import buildcraft.core.gui.tooltips.IToolTipProvider;
|
|||
import buildcraft.core.gui.tooltips.ToolTip;
|
||||
import buildcraft.core.gui.tooltips.ToolTipLine;
|
||||
import buildcraft.core.gui.widgets.Widget;
|
||||
import buildcraft.core.utils.GL;
|
||||
import buildcraft.core.render.RenderUtils;
|
||||
import buildcraft.core.utils.SessionVars;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
@ -438,7 +438,7 @@ public abstract class GuiBuildCraft extends GuiContainer {
|
|||
|
||||
protected void drawBackground(int x, int y) {
|
||||
|
||||
GL.color(overlayColor);
|
||||
RenderUtils.setGLColorFromInt(overlayColor);
|
||||
|
||||
mc.renderEngine.bindTexture(LEDGER_TEXTURE);
|
||||
drawTexturedModalRect(x, y, 0, 256 - currentHeight, 4, currentHeight);
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
package buildcraft.core.render;
|
||||
|
||||
import buildcraft.core.render.RenderEntityBlock.RenderInfo;
|
||||
import buildcraft.core.utils.GL;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import net.minecraft.block.Block;
|
||||
|
@ -67,7 +66,7 @@ public class FluidRenderer {
|
|||
return;
|
||||
|
||||
int color = fluidstack.getFluid().getColor(fluidstack);
|
||||
GL.color(color);
|
||||
RenderUtils.setGLColorFromInt(color);
|
||||
}
|
||||
|
||||
public static int[] getFluidDisplayLists(FluidStack fluidStack, World world, boolean flowing) {
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
package buildcraft.core.utils;
|
||||
package buildcraft.core.render;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public class GL {
|
||||
public static void color(int color) {
|
||||
public class RenderUtils {
|
||||
|
||||
public static void setGLColorFromInt(int color) {
|
||||
float red = (float) (color >> 16 & 255) / 255.0F;
|
||||
float green = (float) (color >> 8 & 255) / 255.0F;
|
||||
float blue = (float) (color & 255) / 255.0F;
|
|
@ -17,7 +17,7 @@ import net.minecraftforge.fluids.Fluid;
|
|||
import net.minecraftforge.fluids.FluidStack;
|
||||
import buildcraft.core.DefaultProps;
|
||||
import buildcraft.core.fluids.Tank;
|
||||
import buildcraft.core.utils.GL;
|
||||
import buildcraft.core.render.RenderUtils;
|
||||
import buildcraft.core.utils.StringUtils;
|
||||
import buildcraft.energy.TileEngineIron;
|
||||
import buildcraft.energy.TileEngineWithInventory;
|
||||
|
@ -68,7 +68,7 @@ public class GuiCombustionEngine extends GuiEngine {
|
|||
liquidIcon = fluid.getStillIcon();
|
||||
}
|
||||
mc.renderEngine.bindTexture(BLOCK_TEXTURE);
|
||||
GL.color(tank.colorRenderCache);
|
||||
RenderUtils.setGLColorFromInt(tank.colorRenderCache);
|
||||
|
||||
if (liquidIcon != null) {
|
||||
while (true) {
|
||||
|
|
|
@ -11,7 +11,7 @@ import buildcraft.core.DefaultProps;
|
|||
import buildcraft.core.IInventoryRenderer;
|
||||
import buildcraft.core.fluids.Tank;
|
||||
import buildcraft.core.render.FluidRenderer;
|
||||
import buildcraft.core.utils.GL;
|
||||
import buildcraft.core.render.RenderUtils;
|
||||
import buildcraft.factory.TileRefinery;
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
|
@ -188,7 +188,7 @@ public class RenderRefinery extends TileEntitySpecialRenderer implements IInvent
|
|||
|
||||
if (list1 != null) {
|
||||
bindTexture(FluidRenderer.getFluidSheet(liquid1));
|
||||
GL.color(color1);
|
||||
RenderUtils.setGLColorFromInt(color1);
|
||||
GL11.glCallList(list1[getDisplayListIndex(tile.tank1)]);
|
||||
}
|
||||
}
|
||||
|
@ -200,7 +200,7 @@ public class RenderRefinery extends TileEntitySpecialRenderer implements IInvent
|
|||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef(0, 0, 1);
|
||||
bindTexture(FluidRenderer.getFluidSheet(liquid2));
|
||||
GL.color(color2);
|
||||
RenderUtils.setGLColorFromInt(color2);
|
||||
GL11.glCallList(list2[getDisplayListIndex(tile.tank2)]);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
@ -214,7 +214,7 @@ public class RenderRefinery extends TileEntitySpecialRenderer implements IInvent
|
|||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef(1, 0, 0.5F);
|
||||
bindTexture(FluidRenderer.getFluidSheet(liquidResult));
|
||||
GL.color(colorResult);
|
||||
RenderUtils.setGLColorFromInt(colorResult);
|
||||
GL11.glCallList(list3[getDisplayListIndex(tile.result)]);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
package buildcraft.factory.render;
|
||||
|
||||
import buildcraft.core.render.FluidRenderer;
|
||||
import buildcraft.core.utils.GL;
|
||||
import buildcraft.core.render.RenderUtils;
|
||||
import buildcraft.factory.TileTank;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
@ -41,7 +41,7 @@ public class RenderTank extends TileEntitySpecialRenderer {
|
|||
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
|
||||
|
||||
bindTexture(FluidRenderer.getFluidSheet(liquid));
|
||||
GL.color(color);
|
||||
RenderUtils.setGLColorFromInt(color);
|
||||
|
||||
GL11.glTranslatef((float) x + 0.125F, (float) y + 0.5F, (float) z + 0.125F);
|
||||
GL11.glScalef(0.75F, 0.999F, 0.75F);
|
||||
|
|
|
@ -2,6 +2,7 @@ package buildcraft.transport;
|
|||
|
||||
import buildcraft.BuildCraftTransport;
|
||||
import buildcraft.transport.render.FacadeItemRenderer;
|
||||
import buildcraft.transport.render.GateItemRenderer;
|
||||
import buildcraft.transport.render.PipeItemRenderer;
|
||||
import buildcraft.transport.render.PipeRendererWorld;
|
||||
import buildcraft.transport.render.PlugItemRenderer;
|
||||
|
@ -11,10 +12,12 @@ import cpw.mods.fml.client.registry.RenderingRegistry;
|
|||
import net.minecraftforge.client.MinecraftForgeClient;
|
||||
|
||||
public class TransportProxyClient extends TransportProxy {
|
||||
|
||||
public final static PipeItemRenderer pipeItemRenderer = new PipeItemRenderer();
|
||||
public final static PipeRendererWorld pipeWorldRenderer = new PipeRendererWorld();
|
||||
public final static FacadeItemRenderer facadeItemRenderer = new FacadeItemRenderer();
|
||||
public final static PlugItemRenderer plugItemRenderer = new PlugItemRenderer();
|
||||
public final static GateItemRenderer gateItemRenderer = new GateItemRenderer();
|
||||
|
||||
@Override
|
||||
public void registerTileEntities() {
|
||||
|
@ -64,11 +67,12 @@ public class TransportProxyClient extends TransportProxy {
|
|||
|
||||
MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.facadeItem.itemID, facadeItemRenderer);
|
||||
MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.plugItem.itemID, plugItemRenderer);
|
||||
MinecraftForgeClient.registerItemRenderer(BuildCraftTransport.pipeGate.itemID, gateItemRenderer);
|
||||
TransportProxy.pipeModel = RenderingRegistry.getNextAvailableRenderId();
|
||||
|
||||
RenderingRegistry.registerBlockHandler(pipeWorldRenderer);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setIconProviderFromPipe(ItemPipe item, Pipe dummyPipe) {
|
||||
item.setPipesIcons(dummyPipe.getIconProvider());
|
||||
|
|
|
@ -20,9 +20,6 @@ import net.minecraft.util.Icon;
|
|||
|
||||
public class ItemGate extends ItemBuildCraft {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private Icon[] icons;
|
||||
|
||||
public ItemGate(int id) {
|
||||
super(id);
|
||||
setHasSubtypes(false);
|
||||
|
@ -104,11 +101,6 @@ public class ItemGate extends ItemBuildCraft {
|
|||
|
||||
@Override
|
||||
public Icon getIconIndex(ItemStack stack) {
|
||||
return getIcon(stack, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Icon getIcon(ItemStack stack, int pass) {
|
||||
return getLogic(stack).getIconItem();
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ package buildcraft.transport.render;
|
|||
|
||||
import buildcraft.BuildCraftTransport;
|
||||
import buildcraft.core.CoreConstants;
|
||||
import buildcraft.core.utils.GL;
|
||||
import buildcraft.core.render.RenderUtils;
|
||||
import buildcraft.transport.ItemFacade;
|
||||
import buildcraft.transport.PipeIconProvider;
|
||||
import net.minecraft.block.Block;
|
||||
|
@ -24,7 +24,7 @@ public class FacadeItemRenderer implements IItemRenderer {
|
|||
|
||||
try {
|
||||
int color = Item.itemsList[decodedBlockId].getColorFromItemStack(new ItemStack(decodedBlockId, 1, decodedMeta), 0);
|
||||
GL.color(color);
|
||||
RenderUtils.setGLColorFromInt(color);
|
||||
} catch (Throwable error) {
|
||||
}
|
||||
|
||||
|
|
157
common/buildcraft/transport/render/GateItemRenderer.java
Normal file
157
common/buildcraft/transport/render/GateItemRenderer.java
Normal file
|
@ -0,0 +1,157 @@
|
|||
package buildcraft.transport.render;
|
||||
|
||||
import buildcraft.transport.gates.ItemGate;
|
||||
import java.util.Random;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.client.renderer.entity.RenderItem;
|
||||
import net.minecraft.client.renderer.entity.RenderManager;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.util.Icon;
|
||||
import net.minecraft.client.renderer.ItemRenderer;
|
||||
import net.minecraftforge.client.IItemRenderer;
|
||||
import net.minecraftforge.client.IItemRenderer.ItemRenderType;
|
||||
import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author CovertJaguar <http://www.railcraft.info>
|
||||
*/
|
||||
public class GateItemRenderer implements IItemRenderer {
|
||||
|
||||
RenderItem renderItem = new RenderItem();
|
||||
|
||||
@Override
|
||||
public boolean handleRenderType(ItemStack stack, ItemRenderType type) {
|
||||
if (type == ItemRenderType.INVENTORY || type == ItemRenderType.ENTITY || type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack stack, ItemRendererHelper helper) {
|
||||
if (helper == ItemRendererHelper.ENTITY_BOBBING)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderItem(ItemRenderType type, ItemStack stack, Object... data) {
|
||||
if (type == ItemRenderType.INVENTORY)
|
||||
render(ItemRenderType.INVENTORY, stack);
|
||||
else if (type == ItemRenderType.ENTITY)
|
||||
if (RenderManager.instance.options.fancyGraphics)
|
||||
renderAsEntity(stack, (EntityItem) data[1]);
|
||||
else
|
||||
renderAsEntityFlat(stack);
|
||||
else if (type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON) {
|
||||
renderIn3D(stack);
|
||||
}
|
||||
}
|
||||
|
||||
private void renderIn3D(ItemStack stack) {
|
||||
GL11.glPushMatrix();
|
||||
|
||||
renderLayerIn3D(ItemGate.getLogic(stack).getIconItem());
|
||||
GL11.glScalef(1, 1, 1.05f);
|
||||
renderLayerIn3D(ItemGate.getMaterial(stack).getIconItem());
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
private void renderLayerIn3D(Icon icon) {
|
||||
if (icon == null)
|
||||
return;
|
||||
GL11.glPushMatrix();
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
|
||||
float uv1 = icon.getMinU();
|
||||
float uv2 = icon.getMaxU();
|
||||
float uv3 = icon.getMinV();
|
||||
float uv4 = icon.getMaxV();
|
||||
|
||||
ItemRenderer.renderItemIn2D(tessellator, uv2, uv3, uv1, uv4, icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
private void renderAsEntity(ItemStack stack, EntityItem entity) {
|
||||
GL11.glPushMatrix();
|
||||
byte iterations = 1;
|
||||
if (stack.stackSize > 1)
|
||||
iterations = 2;
|
||||
if (stack.stackSize > 15)
|
||||
iterations = 3;
|
||||
if (stack.stackSize > 31)
|
||||
iterations = 4;
|
||||
|
||||
Random rand = new Random(187L);
|
||||
|
||||
float offsetZ = 0.0625F + 0.021875F;
|
||||
|
||||
GL11.glRotatef((((float) entity.age + 1.0F) / 20.0F + entity.hoverStart) * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F);
|
||||
GL11.glTranslatef(-0.5F, -0.25F, -(offsetZ * (float) iterations / 2.0F));
|
||||
|
||||
for (int count = 0; count < iterations; ++count) {
|
||||
if (count > 0) {
|
||||
float offsetX = (rand.nextFloat() * 2.0F - 1.0F) * 0.3F / 0.5F;
|
||||
float offsetY = (rand.nextFloat() * 2.0F - 1.0F) * 0.3F / 0.5F;
|
||||
float z = (rand.nextFloat() * 2.0F - 1.0F) * 0.3F / 0.5F;
|
||||
GL11.glTranslatef(offsetX, offsetY, offsetZ);
|
||||
} else
|
||||
GL11.glTranslatef(0f, 0f, offsetZ);
|
||||
|
||||
renderIn3D(stack);
|
||||
}
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
private void renderAsEntityFlat(ItemStack stack) {
|
||||
GL11.glPushMatrix();
|
||||
byte iterations = 1;
|
||||
if (stack.stackSize > 1)
|
||||
iterations = 2;
|
||||
if (stack.stackSize > 15)
|
||||
iterations = 3;
|
||||
if (stack.stackSize > 31)
|
||||
iterations = 4;
|
||||
|
||||
Random rand = new Random(187L);
|
||||
|
||||
for (int ii = 0; ii < iterations; ++ii) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glRotatef(180 - RenderManager.instance.playerViewY, 0.0F, 1.0F, 0.0F);
|
||||
|
||||
if (ii > 0) {
|
||||
float var12 = (rand.nextFloat() * 2.0F - 1.0F) * 0.3F;
|
||||
float var13 = (rand.nextFloat() * 2.0F - 1.0F) * 0.3F;
|
||||
float var14 = (rand.nextFloat() * 2.0F - 1.0F) * 0.3F;
|
||||
GL11.glTranslatef(var12, var13, var14);
|
||||
}
|
||||
|
||||
GL11.glTranslatef(0.5f, 0.8f, 0);
|
||||
GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glScalef(1f / 16f, 1f / 16f, 1);
|
||||
|
||||
render(ItemRenderType.ENTITY, stack);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
private void render(ItemRenderType type, ItemStack stack) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
Icon icon = ItemGate.getLogic(stack).getIconItem();
|
||||
renderItem.renderIcon(0, 0, icon, 16, 16);
|
||||
icon = ItemGate.getMaterial(stack).getIconItem();
|
||||
if (icon != null) {
|
||||
if (type == ItemRenderType.ENTITY)
|
||||
GL11.glTranslatef(0, 0, -0.01f);
|
||||
renderItem.renderIcon(0, 0, icon, 16, 16);
|
||||
}
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
|
@ -16,7 +16,7 @@ import buildcraft.core.CoreConstants;
|
|||
import buildcraft.core.render.RenderEntityBlock;
|
||||
import buildcraft.core.render.RenderEntityBlock.RenderInfo;
|
||||
import buildcraft.core.utils.EnumColor;
|
||||
import buildcraft.core.utils.GL;
|
||||
import buildcraft.core.render.RenderUtils;
|
||||
import buildcraft.core.utils.MatrixTranformations;
|
||||
import buildcraft.transport.Pipe;
|
||||
import buildcraft.transport.PipeIconProvider;
|
||||
|
@ -456,7 +456,11 @@ public class PipeRendererTESR extends TileEntitySpecialRenderer {
|
|||
|
||||
bindTexture(TextureMap.locationBlocksTexture);
|
||||
|
||||
renderGate(pipe, pipe.pipe.gate.logic.getIconDark());
|
||||
renderGate(pipe, pipe.pipe.gate.logic.getIconDark(), 0);
|
||||
|
||||
Icon materialIcon = pipe.pipe.gate.material.getIconBlock();
|
||||
if (materialIcon != null)
|
||||
renderGate(pipe, materialIcon, 1);
|
||||
|
||||
RenderHelper.enableStandardItemLighting();
|
||||
|
||||
|
@ -464,9 +468,8 @@ public class PipeRendererTESR extends TileEntitySpecialRenderer {
|
|||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
private void renderGate(TileGenericPipe tile, Icon icon) {
|
||||
float min = CoreConstants.PIPE_MIN_POS + 0.05F;
|
||||
float max = CoreConstants.PIPE_MAX_POS - 0.05F;
|
||||
private void renderGate(TileGenericPipe tile, Icon icon, int layer) {
|
||||
|
||||
|
||||
PipeRenderState state = tile.renderState;
|
||||
|
||||
|
@ -474,12 +477,15 @@ public class PipeRendererTESR extends TileEntitySpecialRenderer {
|
|||
box.texture = icon;
|
||||
|
||||
float[][] zeroState = new float[3][2];
|
||||
float min = CoreConstants.PIPE_MIN_POS + 0.05F;
|
||||
float max = CoreConstants.PIPE_MAX_POS - 0.05F;
|
||||
|
||||
// X START - END
|
||||
zeroState[0][0] = min;
|
||||
zeroState[0][1] = max;
|
||||
// Y START - END
|
||||
zeroState[1][0] = CoreConstants.PIPE_MIN_POS - 0.10F;
|
||||
zeroState[1][1] = CoreConstants.PIPE_MIN_POS + 0.001F;
|
||||
zeroState[1][1] = CoreConstants.PIPE_MIN_POS + 0.001F + 0.01F * layer;
|
||||
// Z START - END
|
||||
zeroState[2][0] = min;
|
||||
zeroState[2][1] = max;
|
||||
|
@ -489,40 +495,12 @@ public class PipeRendererTESR extends TileEntitySpecialRenderer {
|
|||
float[][] rotated = MatrixTranformations.deepClone(zeroState);
|
||||
MatrixTranformations.transform(rotated, direction);
|
||||
|
||||
if (layer != 0)
|
||||
box.setRenderSingleSide(direction.ordinal());
|
||||
box.setBounds(rotated[0][0], rotated[1][0], rotated[2][0], rotated[0][1], rotated[1][1], rotated[2][1]);
|
||||
RenderEntityBlock.INSTANCE.renderBlock(box, tile.worldObj, 0, 0, 0, tile.xCoord, tile.yCoord, tile.zCoord, true, true);
|
||||
}
|
||||
}
|
||||
|
||||
// if (shouldRenderNormalPipeSide(state, ForgeDirection.WEST)) {
|
||||
// box.setBounds(CoreConstants.PIPE_MIN_POS - 0.10F, min, min, CoreConstants.PIPE_MIN_POS + 0.001F, max, max);
|
||||
// RenderEntityBlock.INSTANCE.renderBlock(box, tile.worldObj, 0, 0, 0, tile.xCoord, tile.yCoord, tile.zCoord, true, true);
|
||||
// }
|
||||
//
|
||||
// if (shouldRenderNormalPipeSide(state, ForgeDirection.EAST)) {
|
||||
// box.setBounds(CoreConstants.PIPE_MAX_POS + 0.001F, min, min, CoreConstants.PIPE_MAX_POS + 0.10F, max, max);
|
||||
// RenderEntityBlock.INSTANCE.renderBlock(box, tile.worldObj, 0, 0, 0, tile.xCoord, tile.yCoord, tile.zCoord, true, true);
|
||||
// }
|
||||
//
|
||||
// if (shouldRenderNormalPipeSide(state, ForgeDirection.DOWN)) {
|
||||
// box.setBounds(min, CoreConstants.PIPE_MIN_POS - 0.10F, min, max, CoreConstants.PIPE_MIN_POS + 0.001F, max);
|
||||
// RenderEntityBlock.INSTANCE.renderBlock(box, tile.worldObj, 0, 0, 0, tile.xCoord, tile.yCoord, tile.zCoord, true, true);
|
||||
// }
|
||||
//
|
||||
// if (shouldRenderNormalPipeSide(state, ForgeDirection.UP)) {
|
||||
// box.setBounds(min, CoreConstants.PIPE_MAX_POS + 0.001F, min, max, CoreConstants.PIPE_MAX_POS + 0.10F, max);
|
||||
// RenderEntityBlock.INSTANCE.renderBlock(box, tile.worldObj, 0, 0, 0, tile.xCoord, tile.yCoord, tile.zCoord, true, true);
|
||||
// }
|
||||
//
|
||||
// if (shouldRenderNormalPipeSide(state, ForgeDirection.NORTH)) {
|
||||
// box.setBounds(min, min, CoreConstants.PIPE_MIN_POS - 0.10F, max, max, CoreConstants.PIPE_MIN_POS + 0.001F);
|
||||
// RenderEntityBlock.INSTANCE.renderBlock(box, tile.worldObj, 0, 0, 0, tile.xCoord, tile.yCoord, tile.zCoord, true, true);
|
||||
// }
|
||||
//
|
||||
// if (shouldRenderNormalPipeSide(state, ForgeDirection.SOUTH)) {
|
||||
// box.setBounds(min, min, CoreConstants.PIPE_MAX_POS + 0.001F, max, max, CoreConstants.PIPE_MAX_POS + 0.10F);
|
||||
// RenderEntityBlock.INSTANCE.renderBlock(box, tile.worldObj, 0, 0, 0, tile.xCoord, tile.yCoord, tile.zCoord, true, true);
|
||||
// }
|
||||
}
|
||||
|
||||
private boolean shouldRenderNormalPipeSide(PipeRenderState state, ForgeDirection direction) {
|
||||
|
@ -624,7 +602,6 @@ public class PipeRendererTESR extends TileEntitySpecialRenderer {
|
|||
int i = side.ordinal();
|
||||
|
||||
FluidStack fluidStack = trans.renderCache[i];
|
||||
int color = trans.colorRenderCache[i];
|
||||
|
||||
if (fluidStack == null || fluidStack.amount <= 0)
|
||||
continue;
|
||||
|
@ -666,13 +643,12 @@ public class PipeRendererTESR extends TileEntitySpecialRenderer {
|
|||
default:
|
||||
}
|
||||
bindTexture(TextureMap.locationBlocksTexture);
|
||||
GL.color(color);
|
||||
RenderUtils.setGLColorFromInt(trans.colorRenderCache[i]);
|
||||
GL11.glCallList(list);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
// CENTER
|
||||
FluidStack fluidStack = trans.renderCache[ForgeDirection.UNKNOWN.ordinal()];
|
||||
int color = trans.colorRenderCache[ForgeDirection.UNKNOWN.ordinal()];
|
||||
|
||||
if (fluidStack != null && fluidStack.amount > 0) {
|
||||
DisplayFluidList d = getListFromBuffer(fluidStack, pipe.container.worldObj);
|
||||
|
@ -681,7 +657,7 @@ public class PipeRendererTESR extends TileEntitySpecialRenderer {
|
|||
int stage = (int) ((float) fluidStack.amount / (float) (trans.getCapacity()) * (LIQUID_STAGES - 1));
|
||||
|
||||
bindTexture(TextureMap.locationBlocksTexture);
|
||||
GL.color(color);
|
||||
RenderUtils.setGLColorFromInt(trans.colorRenderCache[ForgeDirection.UNKNOWN.ordinal()]);
|
||||
|
||||
if (above) {
|
||||
GL11.glCallList(d.centerVertical[stage]);
|
||||
|
@ -761,7 +737,7 @@ public class PipeRendererTESR extends TileEntitySpecialRenderer {
|
|||
block.minX = min;
|
||||
block.maxX = max;
|
||||
|
||||
GL.color(color.getLightHex());
|
||||
RenderUtils.setGLColorFromInt(color.getLightHex());
|
||||
RenderEntityBlock.INSTANCE.renderBlock(block, null, 0, 0, 0, false, true);
|
||||
}
|
||||
GL11.glPopMatrix();
|
||||
|
|
Loading…
Reference in a new issue