Advertisement
Guest User

Untitled

a guest
Aug 9th, 2015
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public class ThaumicGenRenderer extends TileEntitySpecialRenderer {
  2.    
  3.    
  4.     private static final ResourceLocation TEX = new ResourceLocation(Knowledge.MODID+":"+"textures/models/ThaumicGen_model.png");
  5.    
  6.     private ModelThaumicGen model;
  7.    
  8.     public ThaumicGenRenderer() {
  9.         this.model = new ModelThaumicGen();
  10.     }
  11.  
  12.     @Override
  13.     public void renderTileEntityAt(TileEntity te, double x, double y, double z, float f) {
  14.        
  15.        
  16.         GL11.glPushMatrix();
  17.         GL11.glTranslatef((float)x, (float)y, (float)z);
  18.         GL11.glRotatef(0F, 0, 0, 0);
  19.         GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F);
  20.         GL11.glEnable(GL11.GL_BLEND);
  21.         GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
  22.         TileEntityThaumicGen t = (TileEntityThaumicGen)te;
  23.         renderBlockYour(t, t.getWorldObj(), t.xCoord, t.yCoord, t.zCoord, TKBlocks.dummytg);
  24.         //GL11.glDisable(GL11.GL_BLEND);
  25.         GL11.glPopMatrix();
  26.        
  27.     }
  28.    
  29.     private void renderBlockYour(TileEntityThaumicGen te, World world, int i, int j, int k, Block block) {
  30.         TileEntityThaumicGen t = (TileEntityThaumicGen)te;
  31.         Tessellator tessellator = Tessellator.instance;
  32.         float f = block.getLightValue(world, i, j, k);
  33.         int l = world.getLightBrightnessForSkyBlocks(i, j, k, 0);
  34.         int l1 = l % 65536;
  35.         int l2 = l / 65536;
  36.         tessellator.setColorOpaque_F(f, f, f);
  37.         OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)l1, (float)l2);      
  38.         int dir = world.getBlockMetadata(i, j, k);
  39.         switch(t.getFacing().ordinal()) {
  40.         case 2:
  41.             GL11.glRotatef(180, 0, 1, 0);
  42.             GL11.glTranslatef(0F, -1.5F, 1F); // +0.5, -0.5, +1
  43.             break;
  44.         case 3:
  45.             GL11.glRotatef(0, 0, 1, 0);
  46.             GL11.glTranslatef(1F, -1.5F, 0F);
  47.             break;
  48.         case 4:
  49.             GL11.glRotatef(90, 0, 1, 0);
  50.             GL11.glTranslatef(1F, -1.5F, 1F);
  51.             break;
  52.         case 5:
  53.             GL11.glRotatef(270, 0F, 1F, 0F);
  54.             GL11.glTranslatef(0F, -1.5F, 0F);
  55.             break;
  56.         default: break;
  57.         }
  58.         GL11.glRotatef(dir * (-90F), 0F, 1F, 0F);
  59.         GL11.glTranslatef(-0.5F, 0F, -0.5F);
  60.         Minecraft.getMinecraft().renderEngine.bindTexture(TEX);
  61.         this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
  62.         this.model.renderFloor((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
  63.         //this.model.renderGlass((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
  64.        
  65.     }
  66.  
  67. }
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79. public class ModelThaumicGen extends ModelBase {
  80.     public ModelRenderer Jar;
  81.     public ModelRenderer Top;
  82.     public ModelRenderer Bottom;
  83.     public ModelRenderer JarInside;
  84.     public ModelRenderer CoilA;
  85.     public ModelRenderer CoilB;
  86.     public ModelRenderer CoilC;
  87.     public ModelRenderer CoilD;
  88.     public ModelRenderer CoilA_1;
  89.     public ModelRenderer CoilB_1;
  90.     public ModelRenderer CoilC_1;
  91.     public ModelRenderer CoilD_1;
  92.     public ModelRenderer ConnectorA;
  93.     public ModelRenderer ConnectorB;
  94.     public ModelRenderer ConnectorC;
  95.     public ModelRenderer ConnectorD;
  96.     public ModelRenderer TrimFBA;
  97.     public ModelRenderer TrimFBB;
  98.     public ModelRenderer TrimFBC;
  99.     public ModelRenderer TrimFBD;
  100.     public ModelRenderer TrimLRC;
  101.     public ModelRenderer TrimLRD;
  102.     public ModelRenderer TrimLRA;
  103.     public ModelRenderer TrimLRB;
  104.     public ModelRenderer TrimTDA;
  105.     public ModelRenderer TrimTDB;
  106.     public ModelRenderer TrimTDC;
  107.     public ModelRenderer TrimTDD;
  108.     public ModelRenderer ConnectorA_1;
  109.     public ModelRenderer ConnectorB_1;
  110.     public ModelRenderer ConnectorC_1;
  111.     public ModelRenderer ConnectorD_1;
  112.  
  113.     public ModelThaumicGen() {
  114.         this.textureWidth = 64;
  115.         this.textureHeight = 64;
  116.         this.ConnectorA = new ModelRenderer(this, 0, 17);
  117.         this.ConnectorA.setRotationPoint(-7.0F, 18.0F, 0.0F);
  118.         this.ConnectorA.addBox(-1.0F, 0.0F, -3.0F, 2, 4, 6, 0.0F);
  119.         this.setRotateAngle(ConnectorA, 0.0F, 0.0F, -0.19198621771937624F);
  120.         this.TrimFBC = new ModelRenderer(this, 60, 43);
  121.         this.TrimFBC.setRotationPoint(7.0F, -2.0F, -7.0F);
  122.         this.TrimFBC.addBox(-1.0F, 0.0F, 0.0F, 1, 14, 1, 0.0F);
  123.         this.setRotateAngle(TrimFBC, 1.5707963267948966F, 0.0F, 0.0F);
  124.         this.CoilC = new ModelRenderer(this, 56, 20);
  125.         this.CoilC.setRotationPoint(-3.3F, -5.000000000000003F, 3.3F);
  126.         this.CoilC.addBox(-2.0F, 0.0F, 0.0F, 2, 3, 2, 0.0F);
  127.         this.setRotateAngle(CoilC, -0.19198621771937624F, 0.0F, -0.19198621771937624F);
  128.         this.CoilB = new ModelRenderer(this, 56, 20);
  129.         this.CoilB.setRotationPoint(-3.3F, -5.000000000000003F, -3.3F);
  130.         this.CoilB.addBox(-2.0F, 0.0F, -2.0F, 2, 3, 2, 0.0F);
  131.         this.setRotateAngle(CoilB, 0.19198621771937624F, 0.0F, -0.19198621771937624F);
  132.         this.Bottom = new ModelRenderer(this, 0, 0);
  133.         this.Bottom.setRotationPoint(0.0F, 24.0F, 0.0F);
  134.         this.Bottom.addBox(-6.0F, 0.0F, -6.0F, 12, 4, 12, 0.0F);
  135.         this.setRotateAngle(Bottom, 0.0F, 0.0F, 3.141592653589793F);
  136.         this.TrimTDC = new ModelRenderer(this, 60, 43);
  137.         this.TrimTDC.setRotationPoint(7.0F, -2.0F, 6.0F);
  138.         this.TrimTDC.addBox(-1.0F, 0.0F, 0.0F, 1, 20, 1, 0.0F);
  139.         this.Jar = new ModelRenderer(this, 0, 32);
  140.         this.Jar.setRotationPoint(0.0F, -2.4F, 0.0F);
  141.         this.Jar.addBox(-6.0F, 0.0F, -6.0F, 12, 20, 12, 0.0F);
  142.         this.TrimFBA = new ModelRenderer(this, 60, 43);
  143.         this.TrimFBA.setRotationPoint(-6.0F, -2.0F, -7.0F);
  144.         this.TrimFBA.addBox(-1.0F, 0.0F, 0.0F, 1, 14, 1, 0.0F);
  145.         this.setRotateAngle(TrimFBA, 1.5707963267948966F, 0.0F, 0.0F);
  146.         this.TrimTDA = new ModelRenderer(this, 60, 43);
  147.         this.TrimTDA.setRotationPoint(-6.0F, -2.0F, 6.0F);
  148.         this.TrimTDA.addBox(-1.0F, 0.0F, 0.0F, 1, 20, 1, 0.0F);
  149.         this.CoilD = new ModelRenderer(this, 56, 20);
  150.         this.CoilD.setRotationPoint(3.3F, -5.000000000000003F, -3.3F);
  151.         this.CoilD.addBox(0.0F, 0.0F, -2.0F, 2, 3, 2, 0.0F);
  152.         this.setRotateAngle(CoilD, 0.19198621771937624F, 0.0F, 0.19198621771937624F);
  153.         this.CoilD_1 = new ModelRenderer(this, 56, 29);
  154.         this.CoilD_1.setRotationPoint(3.0F, -1.0F, -2.0F);
  155.         this.CoilD_1.addBox(0.0F, -1.4F, -2.0F, 1, 3, 1, 0.0F);
  156.         this.setRotateAngle(CoilD_1, 0.19198621771937624F, 0.0F, 0.19198621771937624F);
  157.         this.CoilA = new ModelRenderer(this, 56, 20);
  158.         this.CoilA.setRotationPoint(3.3F, -5.000000000000003F, 3.3F);
  159.         this.CoilA.addBox(0.0F, 0.0F, 0.0F, 2, 3, 2, 0.0F);
  160.         this.setRotateAngle(CoilA, -0.19198621771937624F, 0.0F, 0.19198621771937624F);
  161.         this.TrimFBB = new ModelRenderer(this, 60, 43);
  162.         this.TrimFBB.setRotationPoint(-6.0F, 19.0F, -7.0F);
  163.         this.TrimFBB.addBox(-1.0F, 0.0F, 0.0F, 1, 14, 1, 0.0F);
  164.         this.setRotateAngle(TrimFBB, 1.5707963267948966F, 0.0F, 0.0F);
  165.         this.ConnectorD = new ModelRenderer(this, 18, 21);
  166.         this.ConnectorD.setRotationPoint(0.0F, 18.0F, -7.0F);
  167.         this.ConnectorD.addBox(-3.0F, 0.0F, -1.0F, 6, 4, 2, 0.0F);
  168.         this.setRotateAngle(ConnectorD, 0.19198621771937624F, 0.0F, 0.0F);
  169.         this.JarInside = new ModelRenderer(this, 28, 0);
  170.         //this.JarInside.setRotationPoint(0.0F, 0.0F, 0.0F);
  171.         this.JarInside.setRotationPoint(0.0F, 10.2F, 0.0F);
  172.         this.JarInside.addBox(-6.0F, 0.0F, -6.0F, 12, 0, 12, 0.0F);
  173.         this.ConnectorA_1 = new ModelRenderer(this, 0, 17);
  174.         this.ConnectorA_1.setRotationPoint(-7.0F, -1.9999999999999791F, 0.0F);
  175.         this.ConnectorA_1.addBox(-1.0F, 0.0F, -3.0F, 2, 4, 6, 0.0F);
  176.         this.setRotateAngle(ConnectorA_1, 0.0F, 0.0F, -2.949606435870417F);
  177.         this.TrimLRA = new ModelRenderer(this, 60, 43);
  178.         this.TrimLRA.setRotationPoint(-6.0F, -2.0F, -7.0F);
  179.         this.TrimLRA.addBox(-1.0F, 0.0F, 0.0F, 1, 12, 1, 0.0F);
  180.         this.setRotateAngle(TrimLRA, 1.5707963267948966F, 1.5707963267948966F, 0.0F);
  181.         this.TrimLRD = new ModelRenderer(this, 60, 43);
  182.         this.TrimLRD.setRotationPoint(-6.0F, 19.0F, -7.0F);
  183.         this.TrimLRD.addBox(-1.0F, 0.0F, 0.0F, 1, 12, 1, 0.0F);
  184.         this.setRotateAngle(TrimLRD, 1.5707963267948966F, 1.5707963267948966F, 0.0F);
  185.         this.CoilB_1 = new ModelRenderer(this, 56, 29);
  186.         this.CoilB_1.setRotationPoint(-2.0F, -1.0F, -2.0F);
  187.         this.CoilB_1.addBox(-2.0F, -1.4F, -2.0F, 1, 3, 1, 0.0F);
  188.         this.setRotateAngle(CoilB_1, 0.19198621771937624F, 0.0F, -0.19198621771937624F);
  189.         this.CoilC_1 = new ModelRenderer(this, 56, 29);
  190.         this.CoilC_1.setRotationPoint(-2.0F, -1.0F, 3.0F);
  191.         this.CoilC_1.addBox(-2.0F, -1.4F, 0.0F, 1, 3, 1, 0.0F);
  192.         this.setRotateAngle(CoilC_1, -0.19198621771937624F, 0.0F, -0.19198621771937624F);
  193.         this.TrimTDD = new ModelRenderer(this, 60, 43);
  194.         this.TrimTDD.mirror = true;
  195.         this.TrimTDD.setRotationPoint(7.0F, -2.0F, -7.0F);
  196.         this.TrimTDD.addBox(-1.0F, 0.0F, 0.0F, 1, 20, 1, 0.0F);
  197.         this.ConnectorC = new ModelRenderer(this, 18, 21);
  198.         this.ConnectorC.setRotationPoint(0.0F, 18.0F, 7.0F);
  199.         this.ConnectorC.addBox(-3.0F, 0.0F, -1.0F, 6, 4, 2, 0.0F);
  200.         this.setRotateAngle(ConnectorC, -0.19198621771937624F, 0.0F, 0.0F);
  201.         this.TrimLRB = new ModelRenderer(this, 60, 43);
  202.         this.TrimLRB.setRotationPoint(-6.0F, -2.0F, 6.0F);
  203.         this.TrimLRB.addBox(-1.0F, 0.0F, 0.0F, 1, 12, 1, 0.0F);
  204.         this.setRotateAngle(TrimLRB, 1.5707963267948966F, 1.5707963267948966F, 0.0F);
  205.         this.ConnectorC_1 = new ModelRenderer(this, 18, 21);
  206.         this.ConnectorC_1.setRotationPoint(0.0F, -1.9999999999999791F, 7.0F);
  207.         this.ConnectorC_1.addBox(-3.0F, 0.0F, -1.0F, 6, 4, 2, 0.0F);
  208.         this.setRotateAngle(ConnectorC_1, -0.19198621771937624F, 0.0F, 3.141592653589793F);
  209.         this.Top = new ModelRenderer(this, 0, 0);
  210.         this.Top.setRotationPoint(0.0F, -8.0F, 0.0F);
  211.         this.Top.addBox(-6.0F, 0.0F, -6.0F, 12, 4, 12, 0.0F);
  212.         this.ConnectorB_1 = new ModelRenderer(this, 0, 17);
  213.         this.ConnectorB_1.setRotationPoint(7.0F, -1.9999999999999791F, 0.0F);
  214.         this.ConnectorB_1.addBox(-1.0F, 0.0F, -3.0F, 2, 4, 6, 0.0F);
  215.         this.setRotateAngle(ConnectorB_1, 0.0F, 0.0F, 2.949606435870417F);
  216.         this.TrimTDB = new ModelRenderer(this, 60, 43);
  217.         this.TrimTDB.setRotationPoint(-6.0F, -2.0F, -7.0F);
  218.         this.TrimTDB.addBox(-1.0F, 0.0F, 0.0F, 1, 20, 1, 0.0F);
  219.         this.ConnectorB = new ModelRenderer(this, 0, 17);
  220.         this.ConnectorB.setRotationPoint(7.0F, 18.0F, 0.0F);
  221.         this.ConnectorB.addBox(-1.0F, 0.0F, -3.0F, 2, 4, 6, 0.0F);
  222.         this.setRotateAngle(ConnectorB, 0.0F, 0.0F, 0.19198621771937624F);
  223.         this.TrimLRC = new ModelRenderer(this, 60, 43);
  224.         this.TrimLRC.setRotationPoint(-6.0F, 19.0F, 6.0F);
  225.         this.TrimLRC.addBox(-1.0F, 0.0F, 0.0F, 1, 12, 1, 0.0F);
  226.         this.setRotateAngle(TrimLRC, 1.5707963267948966F, 1.5707963267948966F, 0.0F);
  227.         this.CoilA_1 = new ModelRenderer(this, 56, 29);
  228.         this.CoilA_1.setRotationPoint(3.0F, -1.0F, 3.0F);
  229.         this.CoilA_1.addBox(0.0F, -1.4F, 0.0F, 1, 3, 1, 0.0F);
  230.         this.setRotateAngle(CoilA_1, -0.19198621771937624F, 0.0F, 0.19198621771937624F);
  231.         this.ConnectorD_1 = new ModelRenderer(this, 18, 21);
  232.         this.ConnectorD_1.setRotationPoint(0.0F, -1.9999999999999791F, -7.0F);
  233.         this.ConnectorD_1.addBox(-3.0F, 0.0F, -1.0F, 6, 4, 2, 0.0F);
  234.         this.setRotateAngle(ConnectorD_1, 0.19198621771937624F, 0.0F, 3.141592653589793F);
  235.         this.TrimFBD = new ModelRenderer(this, 60, 43);
  236.         this.TrimFBD.setRotationPoint(7.0F, 19.0F, -7.0F);
  237.         this.TrimFBD.addBox(-1.0F, 0.0F, 0.0F, 1, 14, 1, 0.0F);
  238.         this.setRotateAngle(TrimFBD, 1.5707963267948966F, 0.0F, 0.0F);
  239.        
  240.     }
  241.  
  242.     @Override
  243.     public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
  244.         this.ConnectorA.render(f5);
  245.         this.TrimFBC.render(f5);
  246.         this.CoilC.render(f5);
  247.         this.CoilB.render(f5);
  248.         this.Bottom.render(f5);
  249.         this.TrimTDC.render(f5);
  250.         this.TrimFBA.render(f5);
  251.         this.TrimTDA.render(f5);
  252.         this.CoilD.render(f5);
  253.         this.CoilD_1.render(f5);
  254.         this.CoilA.render(f5);
  255.         this.TrimFBB.render(f5);
  256.         this.ConnectorD.render(f5);
  257.         this.ConnectorA_1.render(f5);
  258.         this.TrimLRA.render(f5);
  259.         this.TrimLRD.render(f5);
  260.         this.CoilB_1.render(f5);
  261.         this.CoilC_1.render(f5);
  262.         this.TrimTDD.render(f5);
  263.         this.ConnectorC.render(f5);
  264.         this.TrimLRB.render(f5);
  265.         this.ConnectorC_1.render(f5);
  266.         this.Top.render(f5);
  267.         this.ConnectorB_1.render(f5);
  268.         this.TrimTDB.render(f5);
  269.         this.ConnectorB.render(f5);
  270.         this.TrimLRC.render(f5);
  271.         this.CoilA_1.render(f5);
  272.         this.ConnectorD_1.render(f5);
  273.         this.TrimFBD.render(f5);
  274.        
  275.     }
  276.    
  277.    
  278.     public void renderFloor(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
  279.        
  280.         GL11.glPushMatrix();
  281.         GL11.glTranslatef(this.JarInside.offsetX, this.JarInside.offsetY, this.JarInside.offsetZ);
  282.         GL11.glTranslatef(this.JarInside.rotationPointX * f5, this.JarInside.rotationPointY * f5, this.JarInside.rotationPointZ * f5);
  283.         GL11.glScaled(1.07D, 1.0D, 1.07D);
  284.         GL11.glTranslatef(-this.JarInside.offsetX, -this.JarInside.offsetY, -this.JarInside.offsetZ);
  285.         GL11.glTranslatef(-this.JarInside.rotationPointX * f5, -this.JarInside.rotationPointY * f5, -this.JarInside.rotationPointZ * f5);
  286.         this.JarInside.render(f5);
  287.         GL11.glPopMatrix();
  288.     }
  289.    
  290.     public void renderGlass(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
  291.        
  292.        
  293.         GL11.glPushMatrix();
  294.         GL11.glTranslatef(this.Jar.offsetX, this.Jar.offsetY, this.Jar.offsetZ);
  295.         GL11.glTranslatef(this.Jar.rotationPointX * f5, this.Jar.rotationPointY * f5, this.Jar.rotationPointZ * f5);
  296.         GL11.glScaled(1.07D, 1.04D, 1.07D);
  297.         GL11.glTranslatef(-this.Jar.offsetX, -this.Jar.offsetY, -this.Jar.offsetZ);
  298.         GL11.glTranslatef(-this.Jar.rotationPointX * f5, -this.Jar.rotationPointY * f5, -this.Jar.rotationPointZ * f5);
  299.         this.Jar.render(f5);
  300.         GL11.glPopMatrix();
  301.     }
  302.  
  303.     /**
  304.      * This is a helper function from Tabula to set the rotation of model parts
  305.      */
  306.     public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) {
  307.         modelRenderer.rotateAngleX = x;
  308.         modelRenderer.rotateAngleY = y;
  309.         modelRenderer.rotateAngleZ = z;
  310.     }
  311. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement