Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.43 KB | None | 0 0
  1. private void drawLine(Vec3d blockA, Vec3d blockB, int num, int f) {
  2. VertexBuffer tess = Tessellator.getInstance().getBuffer();
  3. blockB.addVector(0, 1, 0);
  4. int d = Math.round((float)blockA.distanceTo(blockB)+0.2f);
  5. blockB.addVector(0, -1, 0);
  6. if(num == 0) {
  7. blockA.addVector(0, -0.02f, 0);
  8. //drawSquare(blockA);
  9. }
  10. tess.begin(7, new VertexFormat());
  11. tess.putBrightness4(15728880, 15728880, 15728880, 15728880);
  12. if(num == 0) {
  13. tess.color(1F, 0F, 0F, 1F);//red
  14. }
  15. else if(num == 1) {
  16. switch(d) {
  17. case 7:
  18. case 6:
  19. case 5:
  20. tess.color(1F, 0F, 0F, 1F);//red
  21. break;
  22. case 4:
  23. tess.color(1F, 0.35F, 0F, 1F);//red-orange
  24. break;
  25. case 3:
  26. tess.color(1F, 0.75F, 0F, 1F);//orange
  27. break;
  28. default:
  29. tess.color(0.75F, 1F, 0F, 1F);//lime
  30. break;
  31. }
  32. }
  33. else {
  34. switch(d) {
  35. case 7:
  36. case 6:
  37. case 5:
  38. tess.color(1F, 0.45F, 0F, 1F);//red-orange
  39. break;
  40. case 4:
  41. tess.color(0.8F, 0.8F, 0F, 1F);//orange
  42. break;
  43. case 3:
  44. tess.color(0.8F, 1F, 0F, 1F);//yellow
  45. break;
  46. default:
  47. tess.color(0F, 1F, 0F, 1F);//green
  48. break;
  49. }
  50. }
  51.  
  52. Vec3d recLong = blockA.subtract(blockB);
  53. Vec3d perpendicular = Vec3d.fromPitchYaw(1.0F, 1.0F);//(recLong.zCoord, recLong.yCoord, -recLong.xCoord);
  54. perpendicular = perpendicular.normalize();
  55.  
  56. float Width = 1f/16f;
  57.  
  58. Vec3d R1 = blockA.subtract(blockB);
  59. Vec3d R2 = blockA.subtract(blockB);
  60. Vec3d R3 = blockA.subtract(blockB);
  61. Vec3d R4 = blockA.subtract(blockB);
  62.  
  63. R1.addVector( blockA.xCoord + perpendicular.xCoord * Width, 0, 0);
  64. R1.addVector(0, 0, blockA.zCoord + perpendicular.zCoord * Width);
  65. R2.addVector( blockA.xCoord - perpendicular.xCoord * Width, 0, 0);
  66. R2.addVector(0, 0, blockA.zCoord - perpendicular.zCoord * Width);
  67. R1.addVector(0, blockA.yCoord - 0.01, 0);
  68. R2.addVector(0, blockA.yCoord - 0.01, 0);
  69.  
  70. R3.addVector(blockB.xCoord + perpendicular.xCoord * Width, 0, 0);
  71. R3.addVector(0, 0, blockB.zCoord + perpendicular.zCoord * Width);
  72. R4.addVector(blockB.xCoord - perpendicular.xCoord * Width, 0, 0);
  73. R4.addVector(0, 0, blockB.zCoord - perpendicular.zCoord * Width);
  74. R3.addVector(0, blockB.yCoord + 0.75, 0);
  75. R4.addVector(0, blockB.yCoord + 0.75, 0);
  76.  
  77. int[] a = { (int) (R1.xCoord + 0.5), (int) R1.yCoord, (int) (R1.zCoord + 0.5)};
  78. int[] b = { (int) (R3.xCoord + 0.5), (int) R3.yCoord, (int) (R3.zCoord + 0.5)};
  79. int[] c = { (int) (R4.xCoord + 0.5), (int) R4.yCoord, (int) (R4.zCoord + 0.5)};
  80. int[] d2 = { (int) (R2.xCoord + 0.5), (int) R2.yCoord, (int) (R2.zCoord + 0.5)};
  81.  
  82. tess.addVertexData(a);
  83. tess.addVertexData(b);
  84. tess.addVertexData(c);
  85. tess.addVertexData(d2);
  86.  
  87. tess.finishDrawing();
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement