Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // TPW_RULES is the boss, he showed me what's up with OpenGL.
- private void RenderTube(double x, double y, double z, double scale, boolean north,
- boolean south, boolean west, boolean east, boolean up, boolean down, boolean isItem)
- {
- Minecraft.getMinecraft().renderEngine.bindTexture(LazResource.YATSTUBECORE());
- glPushMatrix();
- glTranslated(x, y, z);
- glScaled(scale, scale, scale);
- glDisable(GL_CULL_FACE);
- if (isItem) glDisable(GL_LIGHTING);
- //region Endless OpenGl Commands
- glPushMatrix();
- if (north) {
- //region NORTH ARM
- //NORTH ARM FACE 1: WEST
- glBegin(GL_QUADS);
- glTexCoord2f(0.0f, 0.25f);
- glVertex3f(0.25f, 0.75f, 0.0f);
- glTexCoord2f(0.0f, 0.75f);
- glVertex3f(0.25f, 0.25f, 0.0f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.25f, 0.25f, 0.25f);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.25f, 0.75f, 0.25f);
- glEnd();
- //NORTH ARM FACE 2: EAST
- glBegin(GL_QUADS);
- glTexCoord2f(0.0f, 0.25f);
- glVertex3f(0.75f, 0.75f, 0.0f);
- glTexCoord2f(0.0f, 0.75f);
- glVertex3f(0.75f, 0.25f, 0.0f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.75f, 0.25f, 0.25f);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.75f, 0.75f, 0.25f);
- glEnd();
- //NORTH ARM FACE 3: TOP
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 0.0f);
- glVertex3f(0.25f, 0.75f, 0.0f);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.25f, 0.75f, 0.25f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.75f, 0.75f, 0.25f);
- glTexCoord2f(0.75f, 0.0f);
- glVertex3f(0.75f, 0.75f, 0.0f);
- glEnd();
- //NORTH ARM FACE 4: BOTTOM
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 0.0f);
- glVertex3f(0.25f, 0.25f, 0.0f);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.25f, 0.25f, 0.25f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.75f, 0.25f, 0.25f);
- glTexCoord2f(0.75f, 0.0f);
- glVertex3f(0.75f, 0.25f, 0.0f);
- glEnd();
- //endregion NORTH ARM
- } else {
- //region CORE FACE 1 : NORTH
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.25f, 0.75f, 0.25f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.25f, 0.25f, 0.25f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.75f, 0.25f, 0.25f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.75f, 0.75f, 0.25f);
- glEnd();
- //endregion FACE 1
- }
- glPopMatrix();
- glPushMatrix();
- if (south) {
- //region SOUTH ARM
- //SOUTH ARM FACE 1: WEST
- glBegin(GL_QUADS);
- glTexCoord2f(1.0f, 0.25f);
- glVertex3f(0.25f, 0.75f, 1.0f);
- glTexCoord2f(1.0f, 0.75f);
- glVertex3f(0.25f, 0.25f, 1.0f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.25f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.25f, 0.75f, 0.75f);
- glEnd();
- //SOUTH ARM FACE 2: EAST
- glBegin(GL_QUADS);
- glTexCoord2f(1.0f, 0.25f);
- glVertex3f(0.75f, 0.75f, 1.0f);
- glTexCoord2f(1.0f, 0.75f);
- glVertex3f(0.75f, 0.25f, 1.0f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.75f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.75f, 0.75f, 0.75f);
- glEnd();
- //SOUTH ARM FACE 3: TOP
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 1.0f);
- glVertex3f(0.25f, 0.75f, 1.0f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.25f, 0.75f, 0.75f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.75f, 0.75f, 0.75f);
- glTexCoord2f(0.75f, 1.0f);
- glVertex3f(0.75f, 0.75f, 1.0f);
- glEnd();
- //SOUTH ARM FACE 4: BOTTOM
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 1.0f);
- glVertex3f(0.25f, 0.25f, 1.0f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.25f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.75f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 1.0f);
- glVertex3f(0.75f, 0.25f, 1.0f);
- glEnd();
- //endregion SOUTH ARM
- } else {
- //region CORE FACE 2 : SOUTH
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.25f, 0.75f, 0.75f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.25f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.75f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.75f, 0.75f, 0.75f);
- glEnd();
- //endregion FACE 2
- }
- glPopMatrix();
- glPushMatrix();
- if (west) {
- //region WEST ARM
- //WEST ARM FACE 1: SOUTH
- glBegin(GL_QUADS);
- glTexCoord2f(0.0f, 0.25f);
- glVertex3f(0.0f, 0.75f, 0.75f);
- glTexCoord2f(0.0f, 0.75f);
- glVertex3f(0.0f, 0.25f, 0.75f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.25f, 0.25f, 0.75f);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.25f, 0.75f, 0.75f);
- glEnd();
- //WEST ARM FACE 2: NORTH
- glBegin(GL_QUADS);
- glTexCoord2f(0.0f, 0.25f);
- glVertex3f(0.0f, 0.75f, 0.25f);
- glTexCoord2f(0.0f, 0.75f);
- glVertex3f(0.0f, 0.25f, 0.25f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.25f, 0.25f, 0.25f);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.25f, 0.75f, 0.25f);
- glEnd();
- //WEST ARM FACE 3: TOP
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 0.0f);
- glVertex3f(0.0f, 0.75f, 0.25f);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.25f, 0.75f, 0.25f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.25f, 0.75f, 0.75f);
- glTexCoord2f(0.75f, 0.0f);
- glVertex3f(0.0f, 0.75f, 0.75f);
- glEnd();
- //WEST ARM FACE 4: BOTTOM
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 0.0f);
- glVertex3f(0.0f, 0.25f, 0.25f);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.25f, 0.25f, 0.25f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.25f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 0.0f);
- glVertex3f(0.0f, 0.25f, 0.75f);
- glEnd();
- //endregion
- } else {
- //region CORE FACE 3 : WEST
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.25f, 0.75f, 0.25f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.25f, 0.25f, 0.25f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.25f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.25f, 0.75f, 0.75f);
- glEnd();
- //endregion FACE 3
- }
- glPopMatrix();
- glPushMatrix();
- if (east) {
- //region EAST ARM
- //EAST ARM FACE 1: SOUTH
- glBegin(GL_QUADS);
- glTexCoord2f(1.0f, 0.25f);
- glVertex3f(1.0f, 0.75f, 0.75f);
- glTexCoord2f(1.0f, 0.75f);
- glVertex3f(1.0f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.75f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.75f, 0.75f, 0.75f);
- glEnd();
- //EAST ARM FACE 2: NORTH
- glBegin(GL_QUADS);
- glTexCoord2f(1.0f, 0.25f);
- glVertex3f(1.0f, 0.75f, 0.25f);
- glTexCoord2f(1.0f, 0.75f);
- glVertex3f(1.0f, 0.25f, 0.25f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.75f, 0.25f, 0.25f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.75f, 0.75f, 0.25f);
- glEnd();
- //EAST ARM FACE 3: TOP
- glBegin(GL_QUADS);
- glTexCoord2f(1.0f, 0.25f);
- glVertex3f(1.0f, 0.75f, 0.25f);
- glTexCoord2f(1.0f, 0.75f);
- glVertex3f(1.0f, 0.75f, 0.75f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.75f, 0.75f, 0.75f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.75f, 0.75f, 0.25f);
- glEnd();
- //EAST ARM FACE 4: BOTTOM
- glBegin(GL_QUADS);
- glTexCoord2f(1.0f, 0.25f);
- glVertex3f(1.0f, 0.25f, 0.25f);
- glTexCoord2f(1.0f, 0.75f);
- glVertex3f(1.0f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.75f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.75f, 0.25f, 0.25f);
- glEnd();
- //endregion
- } else {
- //region CORE FACE 4: EAST
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.75f, 0.75f, 0.25f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.75f, 0.25f, 0.25f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.75f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.75f, 0.75f, 0.75f);
- glEnd();
- //endregion
- }
- glPopMatrix();
- glPushMatrix();
- if (up) {
- //region TOP ARM
- //TOP ARM FACE 1: NORTH
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 0.0f);
- glVertex3f(0.25f, 1.0f, 0.25f);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.25f, 0.75f, 0.25f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.75f, 0.75f, 0.25f);
- glTexCoord2f(0.75f, 0.0f);
- glVertex3f(0.75f, 1.0f, 0.25f);
- glEnd();
- //TOP ARM FACE 2: SOUTH
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 0.0f);
- glVertex3f(0.25f, 1.0f, 0.75f);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.25f, 0.75f, 0.75f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.75f, 0.75f, 0.75f);
- glTexCoord2f(0.75f, 0.0f);
- glVertex3f(0.75f, 1.0f, 0.75f);
- glEnd();
- //TOP ARM FACE 3: WEST
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 0.0f);
- glVertex3f(0.25f, 1.0f, 0.25f);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.25f, 0.75f, 0.25f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.25f, 0.75f, 0.75f);
- glTexCoord2f(0.75f, 0.0f);
- glVertex3f(0.25f, 1.0f, 0.75f);
- glEnd();
- //TOP ARM FACE 4: EAST
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 0.0f);
- glVertex3f(0.75f, 1.0f, 0.25f);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.75f, 0.75f, 0.25f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.75f, 0.75f, 0.75f);
- glTexCoord2f(0.75f, 0.0f);
- glVertex3f(0.75f, 1.0f, 0.75f);
- glEnd();
- //endregion
- } else {
- //region CORE FACE 5: TOP
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.25f, 0.75f, 0.25f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.25f, 0.75f, 0.75f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.75f, 0.75f, 0.75f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.75f, 0.75f, 0.25f);
- glEnd();
- //endregion FACE 5
- }
- glPopMatrix();
- glPushMatrix();
- if (down) {
- //region BOTTOM ARM
- //BOTTOM ARM FACE 1: NORTH
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 1.0f);
- glVertex3f(0.25f, 0.0f, 0.25f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.25f, 0.25f, 0.25f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.75f, 0.25f, 0.25f);
- glTexCoord2f(0.75f, 1.0f);
- glVertex3f(0.75f, 0.0f, 0.25f);
- glEnd();
- //BOTTOM ARM FACE 2: SOUTH
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 1.0f);
- glVertex3f(0.25f, 0.0f, 0.75f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.25f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.75f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 1.0f);
- glVertex3f(0.75f, 0.0f, 0.75f);
- glEnd();
- //BOTTOM ARM FACE 3: WEST
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 1.0f);
- glVertex3f(0.25f, 0.0f, 0.25f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.25f, 0.25f, 0.25f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.25f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 1.0f);
- glVertex3f(0.25f, 0.0f, 0.75f);
- glEnd();
- //BOTTOM ARM FACE 4: EAST
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 1.0f);
- glVertex3f(0.75f, 0.0f, 0.25f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.75f, 0.25f, 0.25f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.75f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 1.0f);
- glVertex3f(0.75f, 0.0f, 0.75f);
- glEnd();
- //endregion
- } else {
- // region CORE FACE 6: BOTTOM
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.25f, 0.25f, 0.25f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.25f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.75f, 0.25f, 0.75f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.75f, 0.25f, 0.25f);
- glEnd();
- //endregion
- }
- glPopMatrix();
- //endregion
- // render top/bottom coverings
- if (isItem) {
- {
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.25f, 1f, 0.25f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.25f, 1f, 0.75f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.75f, 1f, 0.75f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.75f, 1f, 0.25f);
- glEnd();
- }
- {
- glBegin(GL_QUADS);
- glTexCoord2f(0.25f, 0.25f);
- glVertex3f(0.25f, 0f, 0.25f);
- glTexCoord2f(0.25f, 0.75f);
- glVertex3f(0.25f, 0f, 0.75f);
- glTexCoord2f(0.75f, 0.75f);
- glVertex3f(0.75f, 0f, 0.75f);
- glTexCoord2f(0.75f, 0.25f);
- glVertex3f(0.75f, 0f, 0.25f);
- glEnd();
- }
- }
- glEnable(GL_CULL_FACE);
- if (isItem) glEnable(GL_LIGHTING);
- glPopMatrix();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement