Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void drawLine(Vec3d blockA, Vec3d blockB, int num, int f) {
- VertexBuffer tess = Tessellator.getInstance().getBuffer();
- blockB.addVector(0, 1, 0);
- int d = Math.round((float)blockA.distanceTo(blockB)+0.2f);
- blockB.addVector(0, -1, 0);
- if(num == 0) {
- blockA.addVector(0, -0.02f, 0);
- //drawSquare(blockA);
- }
- tess.begin(7, new VertexFormat());
- tess.putBrightness4(15728880, 15728880, 15728880, 15728880);
- if(num == 0) {
- tess.color(1F, 0F, 0F, 1F);//red
- }
- else if(num == 1) {
- switch(d) {
- case 7:
- case 6:
- case 5:
- tess.color(1F, 0F, 0F, 1F);//red
- break;
- case 4:
- tess.color(1F, 0.35F, 0F, 1F);//red-orange
- break;
- case 3:
- tess.color(1F, 0.75F, 0F, 1F);//orange
- break;
- default:
- tess.color(0.75F, 1F, 0F, 1F);//lime
- break;
- }
- }
- else {
- switch(d) {
- case 7:
- case 6:
- case 5:
- tess.color(1F, 0.45F, 0F, 1F);//red-orange
- break;
- case 4:
- tess.color(0.8F, 0.8F, 0F, 1F);//orange
- break;
- case 3:
- tess.color(0.8F, 1F, 0F, 1F);//yellow
- break;
- default:
- tess.color(0F, 1F, 0F, 1F);//green
- break;
- }
- }
- Vec3d recLong = blockA.subtract(blockB);
- Vec3d perpendicular = Vec3d.fromPitchYaw(1.0F, 1.0F);//(recLong.zCoord, recLong.yCoord, -recLong.xCoord);
- perpendicular = perpendicular.normalize();
- float Width = 1f/16f;
- Vec3d R1 = blockA.subtract(blockB);
- Vec3d R2 = blockA.subtract(blockB);
- Vec3d R3 = blockA.subtract(blockB);
- Vec3d R4 = blockA.subtract(blockB);
- R1.addVector( blockA.xCoord + perpendicular.xCoord * Width, 0, 0);
- R1.addVector(0, 0, blockA.zCoord + perpendicular.zCoord * Width);
- R2.addVector( blockA.xCoord - perpendicular.xCoord * Width, 0, 0);
- R2.addVector(0, 0, blockA.zCoord - perpendicular.zCoord * Width);
- R1.addVector(0, blockA.yCoord - 0.01, 0);
- R2.addVector(0, blockA.yCoord - 0.01, 0);
- R3.addVector(blockB.xCoord + perpendicular.xCoord * Width, 0, 0);
- R3.addVector(0, 0, blockB.zCoord + perpendicular.zCoord * Width);
- R4.addVector(blockB.xCoord - perpendicular.xCoord * Width, 0, 0);
- R4.addVector(0, 0, blockB.zCoord - perpendicular.zCoord * Width);
- R3.addVector(0, blockB.yCoord + 0.75, 0);
- R4.addVector(0, blockB.yCoord + 0.75, 0);
- int[] a = { (int) (R1.xCoord + 0.5), (int) R1.yCoord, (int) (R1.zCoord + 0.5)};
- int[] b = { (int) (R3.xCoord + 0.5), (int) R3.yCoord, (int) (R3.zCoord + 0.5)};
- int[] c = { (int) (R4.xCoord + 0.5), (int) R4.yCoord, (int) (R4.zCoord + 0.5)};
- int[] d2 = { (int) (R2.xCoord + 0.5), (int) R2.yCoord, (int) (R2.zCoord + 0.5)};
- tess.addVertexData(a);
- tess.addVertexData(b);
- tess.addVertexData(c);
- tess.addVertexData(d2);
- tess.finishDrawing();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement