Advertisement
Guest User

Untitled

a guest
May 5th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 15.65 KB | None | 0 0
  1.     // TPW_RULES is the boss, he showed me what's up with OpenGL.
  2.     private void RenderTube(double x, double y, double z, double scale, boolean north,
  3.                             boolean south, boolean west, boolean east, boolean up, boolean down, boolean isItem)
  4.     {
  5.         Minecraft.getMinecraft().renderEngine.bindTexture(LazResource.YATSTUBECORE());
  6.         glPushMatrix();
  7.         glTranslated(x, y, z);
  8.         glScaled(scale, scale, scale);
  9.         glDisable(GL_CULL_FACE);
  10.         if (isItem) glDisable(GL_LIGHTING);
  11.  
  12.         //region Endless OpenGl Commands
  13.         glPushMatrix();
  14.         if (north) {
  15.             //region NORTH ARM
  16.  
  17.             //NORTH ARM FACE 1: WEST
  18.             glBegin(GL_QUADS);
  19.             glTexCoord2f(0.0f, 0.25f);
  20.             glVertex3f(0.25f, 0.75f, 0.0f);
  21.             glTexCoord2f(0.0f, 0.75f);
  22.             glVertex3f(0.25f, 0.25f, 0.0f);
  23.             glTexCoord2f(0.25f, 0.75f);
  24.             glVertex3f(0.25f, 0.25f, 0.25f);
  25.             glTexCoord2f(0.25f, 0.25f);
  26.             glVertex3f(0.25f, 0.75f, 0.25f);
  27.             glEnd();
  28.  
  29.             //NORTH ARM FACE 2: EAST
  30.             glBegin(GL_QUADS);
  31.             glTexCoord2f(0.0f, 0.25f);
  32.             glVertex3f(0.75f, 0.75f, 0.0f);
  33.             glTexCoord2f(0.0f, 0.75f);
  34.             glVertex3f(0.75f, 0.25f, 0.0f);
  35.             glTexCoord2f(0.25f, 0.75f);
  36.             glVertex3f(0.75f, 0.25f, 0.25f);
  37.             glTexCoord2f(0.25f, 0.25f);
  38.             glVertex3f(0.75f, 0.75f, 0.25f);
  39.             glEnd();
  40.  
  41.             //NORTH ARM FACE 3: TOP
  42.             glBegin(GL_QUADS);
  43.             glTexCoord2f(0.25f, 0.0f);
  44.             glVertex3f(0.25f, 0.75f, 0.0f);
  45.             glTexCoord2f(0.25f, 0.25f);
  46.             glVertex3f(0.25f, 0.75f, 0.25f);
  47.             glTexCoord2f(0.75f, 0.25f);
  48.             glVertex3f(0.75f, 0.75f, 0.25f);
  49.             glTexCoord2f(0.75f, 0.0f);
  50.             glVertex3f(0.75f, 0.75f, 0.0f);
  51.             glEnd();
  52.  
  53.             //NORTH ARM FACE 4: BOTTOM
  54.             glBegin(GL_QUADS);
  55.             glTexCoord2f(0.25f, 0.0f);
  56.             glVertex3f(0.25f, 0.25f, 0.0f);
  57.             glTexCoord2f(0.25f, 0.25f);
  58.             glVertex3f(0.25f, 0.25f, 0.25f);
  59.             glTexCoord2f(0.75f, 0.25f);
  60.             glVertex3f(0.75f, 0.25f, 0.25f);
  61.             glTexCoord2f(0.75f, 0.0f);
  62.             glVertex3f(0.75f, 0.25f, 0.0f);
  63.             glEnd();
  64.             //endregion NORTH ARM
  65.         } else {
  66.             //region CORE FACE 1 : NORTH
  67.             glBegin(GL_QUADS);
  68.             glTexCoord2f(0.25f, 0.25f);
  69.             glVertex3f(0.25f, 0.75f, 0.25f);
  70.             glTexCoord2f(0.25f, 0.75f);
  71.             glVertex3f(0.25f, 0.25f, 0.25f);
  72.             glTexCoord2f(0.75f, 0.75f);
  73.             glVertex3f(0.75f, 0.25f, 0.25f);
  74.             glTexCoord2f(0.75f, 0.25f);
  75.             glVertex3f(0.75f, 0.75f, 0.25f);
  76.             glEnd();
  77.             //endregion FACE 1
  78.         }
  79.         glPopMatrix();
  80.         glPushMatrix();
  81.         if (south) {
  82.             //region SOUTH ARM
  83.  
  84.             //SOUTH ARM FACE 1: WEST
  85.             glBegin(GL_QUADS);
  86.             glTexCoord2f(1.0f, 0.25f);
  87.             glVertex3f(0.25f, 0.75f, 1.0f);
  88.             glTexCoord2f(1.0f, 0.75f);
  89.             glVertex3f(0.25f, 0.25f, 1.0f);
  90.             glTexCoord2f(0.75f, 0.75f);
  91.             glVertex3f(0.25f, 0.25f, 0.75f);
  92.             glTexCoord2f(0.75f, 0.25f);
  93.             glVertex3f(0.25f, 0.75f, 0.75f);
  94.             glEnd();
  95.  
  96.             //SOUTH ARM FACE 2: EAST
  97.             glBegin(GL_QUADS);
  98.             glTexCoord2f(1.0f, 0.25f);
  99.             glVertex3f(0.75f, 0.75f, 1.0f);
  100.             glTexCoord2f(1.0f, 0.75f);
  101.             glVertex3f(0.75f, 0.25f, 1.0f);
  102.             glTexCoord2f(0.75f, 0.75f);
  103.             glVertex3f(0.75f, 0.25f, 0.75f);
  104.             glTexCoord2f(0.75f, 0.25f);
  105.             glVertex3f(0.75f, 0.75f, 0.75f);
  106.             glEnd();
  107.  
  108.             //SOUTH ARM FACE 3: TOP
  109.             glBegin(GL_QUADS);
  110.             glTexCoord2f(0.25f, 1.0f);
  111.             glVertex3f(0.25f, 0.75f, 1.0f);
  112.             glTexCoord2f(0.25f, 0.75f);
  113.             glVertex3f(0.25f, 0.75f, 0.75f);
  114.             glTexCoord2f(0.75f, 0.75f);
  115.             glVertex3f(0.75f, 0.75f, 0.75f);
  116.             glTexCoord2f(0.75f, 1.0f);
  117.             glVertex3f(0.75f, 0.75f, 1.0f);
  118.             glEnd();
  119.  
  120.             //SOUTH ARM FACE 4: BOTTOM
  121.             glBegin(GL_QUADS);
  122.             glTexCoord2f(0.25f, 1.0f);
  123.             glVertex3f(0.25f, 0.25f, 1.0f);
  124.             glTexCoord2f(0.25f, 0.75f);
  125.             glVertex3f(0.25f, 0.25f, 0.75f);
  126.             glTexCoord2f(0.75f, 0.75f);
  127.             glVertex3f(0.75f, 0.25f, 0.75f);
  128.             glTexCoord2f(0.75f, 1.0f);
  129.             glVertex3f(0.75f, 0.25f, 1.0f);
  130.             glEnd();
  131.  
  132.             //endregion SOUTH ARM
  133.         } else {
  134.             //region CORE FACE 2 : SOUTH
  135.             glBegin(GL_QUADS);
  136.             glTexCoord2f(0.25f, 0.25f);
  137.             glVertex3f(0.25f, 0.75f, 0.75f);
  138.             glTexCoord2f(0.25f, 0.75f);
  139.             glVertex3f(0.25f, 0.25f, 0.75f);
  140.             glTexCoord2f(0.75f, 0.75f);
  141.             glVertex3f(0.75f, 0.25f, 0.75f);
  142.             glTexCoord2f(0.75f, 0.25f);
  143.             glVertex3f(0.75f, 0.75f, 0.75f);
  144.             glEnd();
  145.             //endregion FACE 2
  146.         }
  147.         glPopMatrix();
  148.         glPushMatrix();
  149.         if (west) {
  150.             //region WEST ARM
  151.  
  152.             //WEST ARM FACE 1: SOUTH
  153.             glBegin(GL_QUADS);
  154.             glTexCoord2f(0.0f, 0.25f);
  155.             glVertex3f(0.0f, 0.75f, 0.75f);
  156.             glTexCoord2f(0.0f, 0.75f);
  157.             glVertex3f(0.0f, 0.25f, 0.75f);
  158.             glTexCoord2f(0.25f, 0.75f);
  159.             glVertex3f(0.25f, 0.25f, 0.75f);
  160.             glTexCoord2f(0.25f, 0.25f);
  161.             glVertex3f(0.25f, 0.75f, 0.75f);
  162.             glEnd();
  163.  
  164.             //WEST ARM FACE 2: NORTH
  165.             glBegin(GL_QUADS);
  166.             glTexCoord2f(0.0f, 0.25f);
  167.             glVertex3f(0.0f, 0.75f, 0.25f);
  168.             glTexCoord2f(0.0f, 0.75f);
  169.             glVertex3f(0.0f, 0.25f, 0.25f);
  170.             glTexCoord2f(0.25f, 0.75f);
  171.             glVertex3f(0.25f, 0.25f, 0.25f);
  172.             glTexCoord2f(0.25f, 0.25f);
  173.             glVertex3f(0.25f, 0.75f, 0.25f);
  174.             glEnd();
  175.  
  176.             //WEST ARM FACE 3: TOP
  177.             glBegin(GL_QUADS);
  178.             glTexCoord2f(0.25f, 0.0f);
  179.             glVertex3f(0.0f, 0.75f, 0.25f);
  180.             glTexCoord2f(0.25f, 0.25f);
  181.             glVertex3f(0.25f, 0.75f, 0.25f);
  182.             glTexCoord2f(0.75f, 0.25f);
  183.             glVertex3f(0.25f, 0.75f, 0.75f);
  184.             glTexCoord2f(0.75f, 0.0f);
  185.             glVertex3f(0.0f, 0.75f, 0.75f);
  186.             glEnd();
  187.  
  188.             //WEST ARM FACE 4: BOTTOM
  189.             glBegin(GL_QUADS);
  190.             glTexCoord2f(0.25f, 0.0f);
  191.             glVertex3f(0.0f, 0.25f, 0.25f);
  192.             glTexCoord2f(0.25f, 0.25f);
  193.             glVertex3f(0.25f, 0.25f, 0.25f);
  194.             glTexCoord2f(0.75f, 0.25f);
  195.             glVertex3f(0.25f, 0.25f, 0.75f);
  196.             glTexCoord2f(0.75f, 0.0f);
  197.             glVertex3f(0.0f, 0.25f, 0.75f);
  198.             glEnd();
  199.  
  200.             //endregion
  201.         } else {
  202.             //region CORE FACE 3 : WEST
  203.             glBegin(GL_QUADS);
  204.             glTexCoord2f(0.25f, 0.25f);
  205.             glVertex3f(0.25f, 0.75f, 0.25f);
  206.             glTexCoord2f(0.25f, 0.75f);
  207.             glVertex3f(0.25f, 0.25f, 0.25f);
  208.             glTexCoord2f(0.75f, 0.75f);
  209.             glVertex3f(0.25f, 0.25f, 0.75f);
  210.             glTexCoord2f(0.75f, 0.25f);
  211.             glVertex3f(0.25f, 0.75f, 0.75f);
  212.             glEnd();
  213.             //endregion FACE 3
  214.         }
  215.         glPopMatrix();
  216.         glPushMatrix();
  217.         if (east) {
  218.             //region EAST ARM
  219.  
  220.             //EAST ARM FACE 1: SOUTH
  221.             glBegin(GL_QUADS);
  222.             glTexCoord2f(1.0f, 0.25f);
  223.             glVertex3f(1.0f, 0.75f, 0.75f);
  224.             glTexCoord2f(1.0f, 0.75f);
  225.             glVertex3f(1.0f, 0.25f, 0.75f);
  226.             glTexCoord2f(0.75f, 0.75f);
  227.             glVertex3f(0.75f, 0.25f, 0.75f);
  228.             glTexCoord2f(0.75f, 0.25f);
  229.             glVertex3f(0.75f, 0.75f, 0.75f);
  230.             glEnd();
  231.  
  232.             //EAST ARM FACE 2: NORTH
  233.             glBegin(GL_QUADS);
  234.             glTexCoord2f(1.0f, 0.25f);
  235.             glVertex3f(1.0f, 0.75f, 0.25f);
  236.             glTexCoord2f(1.0f, 0.75f);
  237.             glVertex3f(1.0f, 0.25f, 0.25f);
  238.             glTexCoord2f(0.75f, 0.75f);
  239.             glVertex3f(0.75f, 0.25f, 0.25f);
  240.             glTexCoord2f(0.75f, 0.25f);
  241.             glVertex3f(0.75f, 0.75f, 0.25f);
  242.             glEnd();
  243.  
  244.             //EAST ARM FACE 3: TOP
  245.             glBegin(GL_QUADS);
  246.             glTexCoord2f(1.0f, 0.25f);
  247.             glVertex3f(1.0f, 0.75f, 0.25f);
  248.             glTexCoord2f(1.0f, 0.75f);
  249.             glVertex3f(1.0f, 0.75f, 0.75f);
  250.             glTexCoord2f(0.75f, 0.75f);
  251.             glVertex3f(0.75f, 0.75f, 0.75f);
  252.             glTexCoord2f(0.75f, 0.25f);
  253.             glVertex3f(0.75f, 0.75f, 0.25f);
  254.             glEnd();
  255.  
  256.             //EAST ARM FACE 4: BOTTOM
  257.             glBegin(GL_QUADS);
  258.             glTexCoord2f(1.0f, 0.25f);
  259.             glVertex3f(1.0f, 0.25f, 0.25f);
  260.             glTexCoord2f(1.0f, 0.75f);
  261.             glVertex3f(1.0f, 0.25f, 0.75f);
  262.             glTexCoord2f(0.75f, 0.75f);
  263.             glVertex3f(0.75f, 0.25f, 0.75f);
  264.             glTexCoord2f(0.75f, 0.25f);
  265.             glVertex3f(0.75f, 0.25f, 0.25f);
  266.             glEnd();
  267.  
  268.             //endregion
  269.         } else {
  270.             //region CORE FACE 4: EAST
  271.             glBegin(GL_QUADS);
  272.             glTexCoord2f(0.25f, 0.25f);
  273.             glVertex3f(0.75f, 0.75f, 0.25f);
  274.             glTexCoord2f(0.25f, 0.75f);
  275.             glVertex3f(0.75f, 0.25f, 0.25f);
  276.             glTexCoord2f(0.75f, 0.75f);
  277.             glVertex3f(0.75f, 0.25f, 0.75f);
  278.             glTexCoord2f(0.75f, 0.25f);
  279.             glVertex3f(0.75f, 0.75f, 0.75f);
  280.             glEnd();
  281.             //endregion
  282.         }
  283.         glPopMatrix();
  284.         glPushMatrix();
  285.         if (up) {
  286.             //region TOP ARM
  287.  
  288.             //TOP ARM FACE 1: NORTH
  289.             glBegin(GL_QUADS);
  290.             glTexCoord2f(0.25f, 0.0f);
  291.             glVertex3f(0.25f, 1.0f, 0.25f);
  292.             glTexCoord2f(0.25f, 0.25f);
  293.             glVertex3f(0.25f, 0.75f, 0.25f);
  294.             glTexCoord2f(0.75f, 0.25f);
  295.             glVertex3f(0.75f, 0.75f, 0.25f);
  296.             glTexCoord2f(0.75f, 0.0f);
  297.             glVertex3f(0.75f, 1.0f, 0.25f);
  298.             glEnd();
  299.  
  300.             //TOP ARM FACE 2: SOUTH
  301.             glBegin(GL_QUADS);
  302.             glTexCoord2f(0.25f, 0.0f);
  303.             glVertex3f(0.25f, 1.0f, 0.75f);
  304.             glTexCoord2f(0.25f, 0.25f);
  305.             glVertex3f(0.25f, 0.75f, 0.75f);
  306.             glTexCoord2f(0.75f, 0.25f);
  307.             glVertex3f(0.75f, 0.75f, 0.75f);
  308.             glTexCoord2f(0.75f, 0.0f);
  309.             glVertex3f(0.75f, 1.0f, 0.75f);
  310.             glEnd();
  311.  
  312.             //TOP ARM FACE 3: WEST
  313.             glBegin(GL_QUADS);
  314.             glTexCoord2f(0.25f, 0.0f);
  315.             glVertex3f(0.25f, 1.0f, 0.25f);
  316.             glTexCoord2f(0.25f, 0.25f);
  317.             glVertex3f(0.25f, 0.75f, 0.25f);
  318.             glTexCoord2f(0.75f, 0.25f);
  319.             glVertex3f(0.25f, 0.75f, 0.75f);
  320.             glTexCoord2f(0.75f, 0.0f);
  321.             glVertex3f(0.25f, 1.0f, 0.75f);
  322.             glEnd();
  323.  
  324.             //TOP ARM FACE 4: EAST
  325.             glBegin(GL_QUADS);
  326.             glTexCoord2f(0.25f, 0.0f);
  327.             glVertex3f(0.75f, 1.0f, 0.25f);
  328.             glTexCoord2f(0.25f, 0.25f);
  329.             glVertex3f(0.75f, 0.75f, 0.25f);
  330.             glTexCoord2f(0.75f, 0.25f);
  331.             glVertex3f(0.75f, 0.75f, 0.75f);
  332.             glTexCoord2f(0.75f, 0.0f);
  333.             glVertex3f(0.75f, 1.0f, 0.75f);
  334.             glEnd();
  335.  
  336.             //endregion
  337.         } else {
  338.             //region CORE FACE 5: TOP
  339.             glBegin(GL_QUADS);
  340.             glTexCoord2f(0.25f, 0.25f);
  341.             glVertex3f(0.25f, 0.75f, 0.25f);
  342.             glTexCoord2f(0.25f, 0.75f);
  343.             glVertex3f(0.25f, 0.75f, 0.75f);
  344.             glTexCoord2f(0.75f, 0.75f);
  345.             glVertex3f(0.75f, 0.75f, 0.75f);
  346.             glTexCoord2f(0.75f, 0.25f);
  347.             glVertex3f(0.75f, 0.75f, 0.25f);
  348.             glEnd();
  349.             //endregion FACE 5
  350.         }
  351.         glPopMatrix();
  352.         glPushMatrix();
  353.         if (down) {
  354.             //region BOTTOM ARM
  355.  
  356.             //BOTTOM ARM FACE 1: NORTH
  357.             glBegin(GL_QUADS);
  358.             glTexCoord2f(0.25f, 1.0f);
  359.             glVertex3f(0.25f, 0.0f, 0.25f);
  360.             glTexCoord2f(0.25f, 0.75f);
  361.             glVertex3f(0.25f, 0.25f, 0.25f);
  362.             glTexCoord2f(0.75f, 0.75f);
  363.             glVertex3f(0.75f, 0.25f, 0.25f);
  364.             glTexCoord2f(0.75f, 1.0f);
  365.             glVertex3f(0.75f, 0.0f, 0.25f);
  366.             glEnd();
  367.  
  368.             //BOTTOM ARM FACE 2: SOUTH
  369.             glBegin(GL_QUADS);
  370.             glTexCoord2f(0.25f, 1.0f);
  371.             glVertex3f(0.25f, 0.0f, 0.75f);
  372.             glTexCoord2f(0.25f, 0.75f);
  373.             glVertex3f(0.25f, 0.25f, 0.75f);
  374.             glTexCoord2f(0.75f, 0.75f);
  375.             glVertex3f(0.75f, 0.25f, 0.75f);
  376.             glTexCoord2f(0.75f, 1.0f);
  377.             glVertex3f(0.75f, 0.0f, 0.75f);
  378.             glEnd();
  379.  
  380.             //BOTTOM ARM FACE 3: WEST
  381.             glBegin(GL_QUADS);
  382.             glTexCoord2f(0.25f, 1.0f);
  383.             glVertex3f(0.25f, 0.0f, 0.25f);
  384.             glTexCoord2f(0.25f, 0.75f);
  385.             glVertex3f(0.25f, 0.25f, 0.25f);
  386.             glTexCoord2f(0.75f, 0.75f);
  387.             glVertex3f(0.25f, 0.25f, 0.75f);
  388.             glTexCoord2f(0.75f, 1.0f);
  389.             glVertex3f(0.25f, 0.0f, 0.75f);
  390.             glEnd();
  391.  
  392.             //BOTTOM ARM FACE 4: EAST
  393.             glBegin(GL_QUADS);
  394.             glTexCoord2f(0.25f, 1.0f);
  395.             glVertex3f(0.75f, 0.0f, 0.25f);
  396.             glTexCoord2f(0.25f, 0.75f);
  397.             glVertex3f(0.75f, 0.25f, 0.25f);
  398.             glTexCoord2f(0.75f, 0.75f);
  399.             glVertex3f(0.75f, 0.25f, 0.75f);
  400.             glTexCoord2f(0.75f, 1.0f);
  401.             glVertex3f(0.75f, 0.0f, 0.75f);
  402.             glEnd();
  403.  
  404.             //endregion
  405.         } else {
  406.             // region CORE FACE 6: BOTTOM
  407.             glBegin(GL_QUADS);
  408.             glTexCoord2f(0.25f, 0.25f);
  409.             glVertex3f(0.25f, 0.25f, 0.25f);
  410.             glTexCoord2f(0.25f, 0.75f);
  411.             glVertex3f(0.25f, 0.25f, 0.75f);
  412.             glTexCoord2f(0.75f, 0.75f);
  413.             glVertex3f(0.75f, 0.25f, 0.75f);
  414.             glTexCoord2f(0.75f, 0.25f);
  415.             glVertex3f(0.75f, 0.25f, 0.25f);
  416.             glEnd();
  417.             //endregion
  418.         }
  419.         glPopMatrix();
  420.         //endregion
  421.  
  422.         // render top/bottom coverings
  423.         if (isItem) {
  424.             {
  425.                 glBegin(GL_QUADS);
  426.                 glTexCoord2f(0.25f, 0.25f);
  427.                 glVertex3f(0.25f, 1f, 0.25f);
  428.                 glTexCoord2f(0.25f, 0.75f);
  429.                 glVertex3f(0.25f, 1f, 0.75f);
  430.                 glTexCoord2f(0.75f, 0.75f);
  431.                 glVertex3f(0.75f, 1f, 0.75f);
  432.                 glTexCoord2f(0.75f, 0.25f);
  433.                 glVertex3f(0.75f, 1f, 0.25f);
  434.                 glEnd();
  435.             }
  436.             {
  437.                 glBegin(GL_QUADS);
  438.                 glTexCoord2f(0.25f, 0.25f);
  439.                 glVertex3f(0.25f, 0f, 0.25f);
  440.                 glTexCoord2f(0.25f, 0.75f);
  441.                 glVertex3f(0.25f, 0f, 0.75f);
  442.                 glTexCoord2f(0.75f, 0.75f);
  443.                 glVertex3f(0.75f, 0f, 0.75f);
  444.                 glTexCoord2f(0.75f, 0.25f);
  445.                 glVertex3f(0.75f, 0f, 0.25f);
  446.                 glEnd();
  447.             }
  448.         }
  449.  
  450.         glEnable(GL_CULL_FACE);
  451.         if (isItem) glEnable(GL_LIGHTING);
  452.         glPopMatrix();
  453.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement