Advertisement
Guest User

Untitled

a guest
Dec 4th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.61 KB | None | 0 0
  1. package omtteam.openmodularturrets.client.render.renderers.blockitem;
  2.  
  3. import net.minecraft.client.Minecraft;
  4. import net.minecraft.client.model.ModelBase;
  5. import net.minecraft.util.ResourceLocation;
  6. import omtteam.openmodularturrets.client.render.models.ModelDamageAmp;
  7. import omtteam.openmodularturrets.client.render.models.ModelRedstoneReactor;
  8. import omtteam.openmodularturrets.client.render.models.ModelSolarPanelAddon;
  9. import omtteam.openmodularturrets.reference.Reference;
  10. import omtteam.openmodularturrets.tileentity.turrets.TurretHead;
  11. import omtteam.openmodularturrets.util.TurretHeadUtil;
  12. import org.lwjgl.opengl.GL11;
  13.  
  14. /**
  15. * Created by Keridos on 04/12/16.
  16. * This Class
  17. */
  18. public class TurretRenderHelper {
  19. private final ModelSolarPanelAddon solar;
  20. private final ModelDamageAmp amp;
  21. private final ModelRedstoneReactor reac;
  22.  
  23. public TurretRenderHelper() {
  24. solar = new ModelSolarPanelAddon();
  25. amp = new ModelDamageAmp();
  26. reac = new ModelRedstoneReactor() ;
  27. }
  28.  
  29. public void renderTurretAndAddons(TurretHead te, double x, double y, double z, float scale, int destroyStage, ModelBase model){
  30. int rotation = 0;
  31. GL11.glPushMatrix();
  32. GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F);
  33.  
  34. if (te == null) {
  35. GL11.glScalef(0.7F, -0.7F, -0.7F);
  36. GL11.glTranslatef((float) x + 0.0F, (float) y + 0.4F, (float) z + 0.5F);
  37. GL11.glRotatef(45.0F, 2.5F, -4.5F, -1.0F);
  38. model.renderAll();
  39. GL11.glPopMatrix();
  40. return;
  41. }
  42.  
  43. if (turretHead.shouldConceal) {
  44. GL11.glPopMatrix();
  45. return;
  46. }
  47.  
  48. if (te.getWorld() != null) {
  49. rotation = te.getBlockMetadata();
  50. GL11.glRotatef(rotation * 90, 0.0F, 1.0F, 0.0F);
  51. GL11.glScalef(1.0F, -1F, -1F);
  52. model.setRotationForTarget(turretHead.rotationXY, turretHead.rotationXZ);
  53. model.Base.rotateAngleX = turretHead.baseFitRotationX;
  54. model.Base.rotateAngleY = turretHead.baseFitRotationZ;
  55. model.Pole.rotateAngleX = turretHead.baseFitRotationX;
  56. model.Pole.rotateAngleY = turretHead.baseFitRotationZ;
  57. model.BoxUnder.rotateAngleX = turretHead.baseFitRotationX;
  58. model.renderAll();
  59. }
  60.  
  61.  
  62.  
  63. if (turretHead.base != null) {
  64. if (TurretHeadUtil.hasSolarPanelAddon(turretHead.base)) {
  65. ResourceLocation texturesSolar = (new ResourceLocation(Reference.MOD_ID + ":textures/blocks/addon_solar_panel.png"));
  66. Minecraft.getMinecraft().renderEngine.bindTexture(texturesSolar);
  67. solar.setRotationForTarget(turretHead.rotationXY, turretHead.rotationXZ);
  68. solar.renderAll();
  69. }
  70.  
  71. if (TurretHeadUtil.hasDamageAmpAddon(turretHead.base)) {
  72. ResourceLocation texturesAmp = (new ResourceLocation(Reference.MOD_ID + ":textures/blocks/addon_damage_amp.png"));
  73. Minecraft.getMinecraft().renderEngine.bindTexture(texturesAmp);
  74. amp.setRotationForTarget(turretHead.rotationXY, turretHead.rotationXZ);
  75. amp.renderAll();
  76. }
  77.  
  78. if (TurretHeadUtil.hasRedstoneReactor(turretHead.base)) {
  79. ResourceLocation texturesReac = (new ResourceLocation(Reference.MOD_ID + ":textures/blocks/redstone_reactor.png"));
  80. Minecraft.getMinecraft().renderEngine.bindTexture(texturesReac);
  81. reac.setRotationForTarget(turretHead.rotationXY, turretHead.rotationXZ);
  82. reac.renderAll();
  83. }
  84. }
  85.  
  86. GL11.glPopMatrix();
  87. }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement