package me.darki.util; import org.lwjgl.opengl.GL11; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.WorldRenderer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; public class TileEntityRenderPipe extends TileEntitySpecialRenderer { private static final ResourceLocation texture = new ResourceLocation(me.darki.Mixture.MODID, "textures/blocks/pPipe.png"); boolean drawInside = true; float pixel = 1F/16F; float tPixel = 1F/32F; public void renderTileEntityAt(TileEntity tileentity, double translationX, double translationY, double translationZ, float f, int i) { Minecraft.getMinecraft().renderEngine.bindTexture(texture); WorldRenderer wr = Tessellator.getInstance().getWorldRenderer(); GlStateManager.pushAttrib(); GlStateManager.pushMatrix(); wr.setTranslation(translationX, translationY, translationZ); wr.startDrawingQuads(); wr.addVertexWithUV(1-11*pixel/2, 11*pixel/2, 1-11*pixel/2, 5*tPixel, 5*tPixel); wr.addVertexWithUV(1-11*pixel/2, 1-11*pixel/2, 1-11*pixel/2, 5*tPixel, 0*tPixel); wr.addVertexWithUV(11*pixel/2, 1-11*pixel/2, 1-11*pixel/2, 0*tPixel, 0*tPixel); wr.addVertexWithUV(11*pixel/2, 11*pixel/2, 1-11*pixel/2, 0*tPixel, 5*tPixel); wr.addVertexWithUV(1-11*pixel/2, 11*pixel/2, 11*pixel/2, 5*tPixel, 5*tPixel); wr.addVertexWithUV(1-11*pixel/2, 1-11*pixel/2, 11*pixel/2, 5*tPixel, 0*tPixel); wr.addVertexWithUV(1-11*pixel/2, 1-11*pixel/2, 1-11*pixel/2, 0*tPixel, 0*tPixel); wr.addVertexWithUV(1-11*pixel/2, 11*pixel/2, 1-11*pixel/2, 0*tPixel, 5*tPixel); wr.addVertexWithUV(11*pixel/2, 11*pixel/2, 11*pixel/2, 5*tPixel, 5*tPixel); wr.addVertexWithUV(11*pixel/2, 1-11*pixel/2, 11*pixel/2, 5*tPixel, 0*tPixel); wr.addVertexWithUV(1-11*pixel/2, 1-11*pixel/2, 11*pixel/2, 0*tPixel, 0*tPixel); wr.addVertexWithUV(1-11*pixel/2, 11*pixel/2, 11*pixel/2, 0*tPixel, 5*tPixel); wr.addVertexWithUV(11*pixel/2, 11*pixel/2, 1-11*pixel/2, 5*tPixel, 5*tPixel); wr.addVertexWithUV(11*pixel/2, 1-11*pixel/2, 1-11*pixel/2, 5*tPixel, 0*tPixel); wr.addVertexWithUV(11*pixel/2, 1-11*pixel/2, 11*pixel/2, 0*tPixel, 0*tPixel); wr.addVertexWithUV(11*pixel/2, 11*pixel/2, 11*pixel/2, 0*tPixel, 5*tPixel); //Bot wr.addVertexWithUV(1-11*pixel/2, 1-11*pixel/2, 1-11*pixel/2, 5*tPixel, 5*tPixel); wr.addVertexWithUV(1-11*pixel/2, 1-11*pixel/2, 11*pixel/2, 5*tPixel, 0*tPixel); wr.addVertexWithUV(11*pixel/2, 1-11*pixel/2, 11*pixel/2, 0*tPixel, 0*tPixel); wr.addVertexWithUV(11*pixel/2, 1-11*pixel/2, 1-11*pixel/2, 0*tPixel, 5*tPixel); //Top wr.addVertexWithUV(11*pixel/2, 11*pixel/2, 1-11*pixel/2, 5*tPixel, 5*tPixel); wr.addVertexWithUV(11*pixel/2, 11*pixel/2, 11*pixel/2, 5*tPixel, 0*tPixel); wr.addVertexWithUV(1-11*pixel/2, 11*pixel/2, 11*pixel/2, 0*tPixel, 0*tPixel); wr.addVertexWithUV(1-11*pixel/2, 11*pixel/2, 1-11*pixel/2, 0*tPixel, 5*tPixel); if(drawInside){ wr.addVertexWithUV(11*pixel/2, 11*pixel/2, 1-11*pixel/2, 0*tPixel, 5*tPixel); wr.addVertexWithUV(11*pixel/2, 1-11*pixel/2, 1-11*pixel/2, 0*tPixel, 0*tPixel); wr.addVertexWithUV(1-11*pixel/2, 1-11*pixel/2, 1-11*pixel/2, 5*tPixel, 0*tPixel); wr.addVertexWithUV(1-11*pixel/2, 11*pixel/2, 1-11*pixel/2, 5*tPixel, 5*tPixel); wr.addVertexWithUV(1-11*pixel/2, 11*pixel/2, 1-11*pixel/2, 0*tPixel, 5*tPixel); wr.addVertexWithUV(1-11*pixel/2, 1-11*pixel/2, 1-11*pixel/2, 0*tPixel, 0*tPixel); wr.addVertexWithUV(1-11*pixel/2, 1-11*pixel/2, 11*pixel/2, 5*tPixel, 0*tPixel); wr.addVertexWithUV(1-11*pixel/2, 11*pixel/2, 11*pixel/2, 5*tPixel, 5*tPixel); wr.addVertexWithUV(1-11*pixel/2, 11*pixel/2, 11*pixel/2, 0*tPixel, 5*tPixel); wr.addVertexWithUV(1-11*pixel/2, 1-11*pixel/2, 11*pixel/2, 0*tPixel, 0*tPixel); wr.addVertexWithUV(11*pixel/2, 1-11*pixel/2, 11*pixel/2, 5*tPixel, 0*tPixel); wr.addVertexWithUV(11*pixel/2, 11*pixel/2, 11*pixel/2, 5*tPixel, 5*tPixel); wr.addVertexWithUV(11*pixel/2, 11*pixel/2, 11*pixel/2, 0*tPixel, 5*tPixel);; wr.addVertexWithUV(11*pixel/2, 1-11*pixel/2, 11*pixel/2, 0*tPixel, 0*tPixel); wr.addVertexWithUV(11*pixel/2, 1-11*pixel/2, 1-11*pixel/2, 5*tPixel, 0*tPixel); wr.addVertexWithUV(11*pixel/2, 11*pixel/2, 1-11*pixel/2, 5*tPixel, 5*tPixel); //Bot wr.addVertexWithUV(11*pixel/2, 1-11*pixel/2, 1-11*pixel/2, 0*tPixel, 5*tPixel); wr.addVertexWithUV(11*pixel/2, 1-11*pixel/2, 11*pixel/2, 0*tPixel, 0*tPixel); wr.addVertexWithUV(1-11*pixel/2, 1-11*pixel/2, 11*pixel/2, 5*tPixel, 0*tPixel); wr.addVertexWithUV(1-11*pixel/2, 1-11*pixel/2, 1-11*pixel/2, 5*tPixel, 5*tPixel); //Top wr.addVertexWithUV(1-11*pixel/2, 11*pixel/2, 1-11*pixel/2, 0*tPixel, 5*tPixel); wr.addVertexWithUV(1-11*pixel/2, 11*pixel/2, 11*pixel/2, 0*tPixel, 0*tPixel); wr.addVertexWithUV(11*pixel/2, 11*pixel/2, 11*pixel/2, 5*tPixel, 0*tPixel); wr.addVertexWithUV(11*pixel/2, 11*pixel/2, 1-11*pixel/2, 5*tPixel, 5*tPixel); } Tessellator.getInstance().draw(); GlStateManager.popAttrib(); GlStateManager.popMatrix(); } }