diff --git a/src/main/java/assets/hbm/models/machines/cyclotron.obj b/src/main/java/assets/hbm/models/machines/cyclotron.obj new file mode 100644 index 000000000..9f42c3bd2 --- /dev/null +++ b/src/main/java/assets/hbm/models/machines/cyclotron.obj @@ -0,0 +1,2842 @@ +# Blender v2.79 (sub 0) OBJ File: 'cyclotron.blend' +# www.blender.org +o B4 +v -2.375000 2.000000 -0.375000 +v -2.375000 1.000000 -0.375000 +v -2.375000 2.000000 0.375000 +v -2.375000 1.000000 0.375000 +v -2.125000 2.000000 -0.375000 +v -2.125000 1.000000 -0.375000 +v -2.125000 2.000000 0.375000 +v -2.125000 1.000000 0.375000 +vt 0.800000 0.833333 +vt 0.200000 0.166667 +vt 0.800000 0.166667 +vt 1.000000 0.833333 +vt 0.200000 0.833333 +vt 0.000000 0.166667 +vt 0.800000 0.000000 +vt 0.200000 1.000000 +vt 1.000000 0.166667 +vt 0.000000 0.833333 +vt 0.200000 0.000000 +vt 0.800000 1.000000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 3/1/1 2/2/1 4/3/1 +f 4/3/2 7/4/2 3/1/2 +f 1/5/3 6/6/3 2/2/3 +f 2/2/4 8/7/4 4/3/4 +f 3/1/5 5/8/5 1/5/5 +f 3/1/1 1/5/1 2/2/1 +f 4/3/2 8/9/2 7/4/2 +f 1/5/3 5/10/3 6/6/3 +f 2/2/4 6/11/4 8/7/4 +f 3/1/5 7/12/5 5/8/5 +o B2 +v 0.375000 2.000000 -2.375000 +v 0.375000 1.000000 -2.375000 +v -0.375000 2.000000 -2.375000 +v -0.375000 1.000000 -2.375000 +v 0.375000 2.000000 -2.125000 +v 0.375000 1.000000 -2.125000 +v -0.375000 2.000000 -2.125000 +v -0.375000 1.000000 -2.125000 +vt 0.800000 0.833333 +vt 0.200000 0.166667 +vt 0.800000 0.166667 +vt 1.000000 0.833333 +vt 0.200000 0.833333 +vt 0.000000 0.166667 +vt 0.800000 0.000000 +vt 0.200000 1.000000 +vt 1.000000 0.166667 +vt 0.000000 0.833333 +vt 0.200000 0.000000 +vt 0.800000 1.000000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 11/13/6 10/14/6 12/15/6 +f 12/15/7 15/16/7 11/13/7 +f 9/17/8 14/18/8 10/14/8 +f 10/14/9 16/19/9 12/15/9 +f 11/13/10 13/20/10 9/17/10 +f 11/13/6 9/17/6 10/14/6 +f 12/15/7 16/21/7 15/16/7 +f 9/17/8 13/22/8 14/18/8 +f 10/14/9 14/23/9 16/19/9 +f 11/13/10 15/24/10 13/20/10 +o B3 +v 2.375000 2.000000 0.375000 +v 2.375000 1.000000 0.375000 +v 2.375000 2.000000 -0.375000 +v 2.375000 1.000000 -0.375000 +v 2.125000 2.000000 0.375000 +v 2.125000 1.000000 0.375000 +v 2.125000 2.000000 -0.375000 +v 2.125000 1.000000 -0.375000 +vt 0.799940 0.833266 +vt 0.200060 0.166733 +vt 0.799940 0.166733 +vt 0.999900 0.833266 +vt 0.200060 0.833267 +vt 0.000100 0.166733 +vt 0.799940 0.000100 +vt 0.799940 0.999900 +vt 0.200060 0.999900 +vt 0.999900 0.166733 +vt 0.000100 0.833267 +vt 0.200060 0.000100 +vn 1.0000 0.0000 0.0000 +vn -0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 19/25/11 18/26/11 20/27/11 +f 20/27/12 23/28/12 19/25/12 +f 17/29/13 22/30/13 18/26/13 +f 18/26/14 24/31/14 20/27/14 +f 17/29/15 23/32/15 21/33/15 +f 19/25/11 17/29/11 18/26/11 +f 20/27/12 24/34/12 23/28/12 +f 17/29/13 21/35/13 22/30/13 +f 18/26/14 22/36/14 24/31/14 +f 17/29/15 19/25/15 23/32/15 +o B1 +v -0.375000 2.000000 2.375000 +v -0.375000 1.000000 2.375000 +v 0.375000 2.000000 2.375000 +v 0.375000 1.000000 2.375000 +v -0.375000 2.000000 2.125000 +v -0.375000 1.000000 2.125000 +v 0.375000 2.000000 2.125000 +v 0.375000 1.000000 2.125000 +vt 0.800000 0.833333 +vt 0.200000 0.166667 +vt 0.800000 0.166667 +vt 1.000000 0.833333 +vt 0.200000 0.833333 +vt 0.000000 0.166667 +vt 0.200000 0.000000 +vt 0.800000 0.000000 +vt 0.200000 1.000000 +vt 1.000000 0.166667 +vt 0.000000 0.833333 +vt 0.800000 1.000000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 -0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 -0.0000 +s off +f 27/37/16 26/38/16 28/39/16 +f 28/39/17 31/40/17 27/37/17 +f 25/41/18 30/42/18 26/38/18 +f 28/39/19 30/43/19 32/44/19 +f 27/37/20 29/45/20 25/41/20 +f 27/37/16 25/41/16 26/38/16 +f 28/39/17 32/46/17 31/40/17 +f 25/41/18 29/47/18 30/42/18 +f 28/39/19 26/38/19 30/43/19 +f 27/37/20 31/48/20 29/45/20 +o Body +v -2.500000 0.000000 2.500000 +v -2.500000 0.500000 2.500000 +v -2.500000 0.000000 -2.500000 +v -2.500000 0.500000 -2.500000 +v 2.500000 0.000000 2.500000 +v 2.500000 0.500000 2.500000 +v 2.500000 0.000000 -2.500000 +v 2.500000 0.500000 -2.500000 +v -0.000000 2.500000 -2.500000 +v -0.000000 3.000000 -2.500000 +v 0.956708 2.500000 -2.309699 +v 0.956708 3.000000 -2.309699 +v 1.767767 2.500000 -1.767767 +v 1.767767 3.000000 -1.767767 +v 2.309699 2.500000 -0.956709 +v 2.309699 3.000000 -0.956709 +v 2.500000 2.500000 0.000000 +v 2.500000 3.000000 0.000000 +v 2.309699 2.500000 0.956709 +v 2.309699 3.000000 0.956709 +v 1.767767 2.500000 1.767767 +v 1.767767 3.000000 1.767767 +v 0.956708 2.500000 2.309699 +v 0.956708 3.000000 2.309699 +v 0.000000 2.500000 2.500000 +v 0.000000 3.000000 2.500000 +v -0.956708 2.500000 2.309699 +v -0.956708 3.000000 2.309699 +v -1.767767 2.500000 1.767768 +v -1.767767 3.000000 1.767768 +v -2.309699 2.500000 0.956709 +v -2.309699 3.000000 0.956709 +v -2.500000 2.500000 -0.000000 +v -2.500000 3.000000 -0.000000 +v -2.309699 2.500000 -0.956709 +v -2.309699 3.000000 -0.956709 +v -1.767766 2.500000 -1.767768 +v -1.767766 3.000000 -1.767768 +v -0.956708 2.500000 -2.309699 +v -0.956708 3.000000 -2.309699 +v -0.000000 2.500000 -2.250000 +v 0.861038 2.500000 -2.078729 +v 1.590990 2.500000 -1.590990 +v 2.078729 2.500000 -0.861038 +v 2.250000 2.500000 0.000000 +v 2.078729 2.500000 0.861038 +v 1.590990 2.500000 1.590990 +v 0.861038 2.500000 2.078729 +v 0.000000 2.500000 2.250000 +v -0.861037 2.500000 2.078729 +v -1.590990 2.500000 1.590991 +v -2.078729 2.500000 0.861038 +v -2.250000 2.500000 -0.000000 +v -2.078729 2.500000 -0.861038 +v -1.590990 2.500000 -1.590991 +v -0.861037 2.500000 -2.078729 +v 0.765367 3.000000 -1.847759 +v -0.000000 3.000000 -2.000000 +v 1.414213 3.000000 -1.414214 +v 1.847759 3.000000 -0.765367 +v 2.000000 3.000000 0.000000 +v 1.847759 3.000000 0.765367 +v 1.414213 3.000000 1.414213 +v 0.765367 3.000000 1.847759 +v 0.000000 3.000000 2.000000 +v -0.765367 3.000000 1.847759 +v -1.414213 3.000000 1.414214 +v -1.847759 3.000000 0.765367 +v -2.000000 3.000000 -0.000000 +v -1.847759 3.000000 -0.765367 +v -1.414213 3.000000 -1.414214 +v -0.765366 3.000000 -1.847759 +v 0.765367 2.750000 -1.847759 +v -0.000000 2.750000 -2.000000 +v 1.414213 2.750000 -1.414214 +v 1.847759 2.750000 -0.765367 +v 2.000000 2.750000 0.000000 +v 1.847759 2.750000 0.765367 +v 1.414213 2.750000 1.414213 +v 0.765367 2.750000 1.847759 +v 0.000000 2.750000 2.000000 +v -0.765367 2.750000 1.847759 +v -1.414213 2.750000 1.414214 +v -1.847759 2.750000 0.765367 +v -2.000000 2.750000 -0.000000 +v -1.847759 2.750000 -0.765367 +v -1.414213 2.750000 -1.414214 +v -0.765366 2.750000 -1.847759 +v -0.000000 3.750000 -0.250000 +v 0.176777 3.750000 -0.176777 +v 0.000000 2.750000 -0.500000 +v 0.000000 3.500000 -0.500000 +v 0.353553 2.750000 -0.353553 +v 0.353553 3.500000 -0.353553 +v 0.500000 2.750000 0.000000 +v 0.500000 3.500000 0.000000 +v 0.353553 2.750000 0.353553 +v 0.353553 3.500000 0.353553 +v -0.000000 2.750000 0.500000 +v -0.000000 3.500000 0.500000 +v -0.353553 2.750000 0.353553 +v -0.353553 3.500000 0.353553 +v -0.500000 2.750000 -0.000000 +v -0.500000 3.500000 -0.000000 +v -0.353553 2.750000 -0.353553 +v -0.353553 3.500000 -0.353553 +v 0.250000 3.750000 0.000000 +v 0.176777 3.750000 0.176777 +v -0.000000 3.750000 0.250000 +v -0.176777 3.750000 0.176777 +v -0.250000 3.750000 -0.000000 +v -0.176777 3.750000 -0.176777 +v 1.545028 1.625000 1.721805 +v 1.589740 1.625000 1.704017 +v 1.499066 0.500000 1.675843 +v 1.499066 1.500000 1.675843 +v 1.588490 0.500000 1.640267 +v 1.588490 1.500000 1.640267 +v 1.679379 0.500000 1.679379 +v 1.679379 1.500000 1.679379 +v 1.718490 0.500000 1.770267 +v 1.718490 1.500000 1.770267 +v 1.682914 0.500000 1.859691 +v 1.682914 1.500000 1.859691 +v 1.593490 0.500000 1.895267 +v 1.593490 1.500000 1.895267 +v 1.502602 0.500000 1.856155 +v 1.502602 1.500000 1.856155 +v 1.463490 0.500000 1.765267 +v 1.463490 1.500000 1.765267 +v 1.635185 1.625000 1.723573 +v 1.654740 1.625000 1.769017 +v 1.636952 1.625000 1.813729 +v 1.592240 1.625000 1.831517 +v 1.546796 1.625000 1.811961 +v 1.527241 1.625000 1.766517 +v 1.721805 1.625000 1.545028 +v 1.766517 1.625000 1.527240 +v 1.675843 0.500000 1.499066 +v 1.675843 1.500000 1.499066 +v 1.765267 0.500000 1.463490 +v 1.765267 1.500000 1.463490 +v 1.856155 0.500000 1.502602 +v 1.856155 1.500000 1.502602 +v 1.895267 0.500000 1.593490 +v 1.895267 1.500000 1.593490 +v 1.859691 0.500000 1.682914 +v 1.859691 1.500000 1.682914 +v 1.770267 0.500000 1.718490 +v 1.770267 1.500000 1.718490 +v 1.679379 0.500000 1.679379 +v 1.679379 1.500000 1.679379 +v 1.640267 0.500000 1.588490 +v 1.640267 1.500000 1.588490 +v 1.811961 1.625000 1.546796 +v 1.831517 1.625000 1.592240 +v 1.813729 1.625000 1.636952 +v 1.769017 1.625000 1.654740 +v 1.723573 1.625000 1.635184 +v 1.704017 1.625000 1.589740 +v 1.477544 1.734375 1.616048 +v 1.477544 1.765625 1.616048 +v 1.616047 1.765625 1.477545 +v 1.458407 1.718750 1.635185 +v 1.458407 1.781250 1.635185 +v 1.439270 1.765625 1.654321 +v 1.439270 1.734375 1.654321 +v 1.616047 1.734375 1.477545 +v 1.635184 1.718750 1.458408 +v 1.654321 1.734375 1.439271 +v 1.654321 1.765625 1.439271 +v 1.635184 1.781250 1.458408 +v 1.582902 1.625000 1.797952 +v 1.560805 1.625000 1.775855 +v 1.568893 1.625000 1.745670 +v 1.599078 1.625000 1.737582 +v 1.621175 1.625000 1.759679 +v 1.613087 1.625000 1.789864 +v 1.569580 1.695312 1.784631 +v 1.550443 1.679688 1.765494 +v 1.560011 1.671875 1.736789 +v 1.588717 1.679688 1.727221 +v 1.607853 1.695312 1.746357 +v 1.598285 1.703125 1.775062 +v 1.679378 1.781250 1.502602 +v 1.698515 1.765625 1.483466 +v 1.698515 1.734375 1.483466 +v 1.679378 1.718750 1.502602 +v 1.660242 1.734375 1.521739 +v 1.660242 1.765625 1.521739 +v 1.734621 1.760317 1.557845 +v 1.748233 1.746785 1.533184 +v 1.737185 1.719722 1.522135 +v 1.712524 1.706190 1.535748 +v 1.698911 1.719722 1.560409 +v 1.709960 1.746785 1.571457 +v 1.775061 1.703125 1.598285 +v 1.784630 1.695312 1.569581 +v 1.765493 1.679688 1.550444 +v 1.736788 1.671875 1.560012 +v 1.727220 1.679688 1.588717 +v 1.746356 1.695312 1.607854 +v 1.789864 1.625000 1.613088 +v 1.797952 1.625000 1.582902 +v 1.775855 1.625000 1.560805 +v 1.745669 1.625000 1.568894 +v 1.737581 1.625000 1.599079 +v 1.759678 1.625000 1.621176 +v 1.533183 1.746785 1.748234 +v 1.522135 1.719722 1.737185 +v 1.535747 1.706190 1.712525 +v 1.560408 1.719722 1.698912 +v 1.571457 1.746785 1.709961 +v 1.557844 1.760317 1.734622 +v 1.483465 1.765625 1.698516 +v 1.483465 1.734375 1.698516 +v 1.502602 1.718750 1.679379 +v 1.521738 1.734375 1.660242 +v 1.521738 1.765625 1.660242 +v 1.502602 1.781250 1.679379 +v -1.944544 1.500000 1.414214 +v -1.944544 0.500000 1.414214 +v -1.414214 1.500000 1.944544 +v -1.414214 0.500000 1.944544 +v -1.767767 1.750000 1.237437 +v -1.767767 0.500000 1.237437 +v -1.237437 1.750000 1.767767 +v -1.237437 0.500000 1.767767 +v -0.861037 2.500000 -2.078729 +v -1.590990 2.500000 -1.590991 +v -2.078729 2.500000 -0.861038 +v -2.250000 2.500000 -0.000000 +v -2.078729 2.500000 0.861038 +v -1.590990 2.500000 1.590991 +v -0.861037 2.500000 2.078729 +v 0.000000 2.500000 2.250000 +v 0.861038 2.500000 2.078729 +v 1.590990 2.500000 1.590990 +v 2.078729 2.500000 0.861038 +v 2.250000 2.500000 0.000000 +v 2.078729 2.500000 -0.861038 +v 1.590990 2.500000 -1.590990 +v 0.861038 2.500000 -2.078729 +v -0.000000 2.500000 -2.250000 +v -0.176777 3.750000 -0.176777 +v -0.250000 3.750000 -0.000000 +v -0.176777 3.750000 0.176777 +v -0.000000 3.750000 0.250000 +v 0.176777 3.750000 0.176777 +v 0.250000 3.750000 0.000000 +v -0.353553 3.500000 -0.353553 +v -0.500000 3.500000 -0.000000 +v -0.353553 3.500000 0.353553 +v -0.000000 3.500000 0.500000 +v 0.353553 3.500000 0.353553 +v 0.500000 3.500000 0.000000 +v 0.353553 3.500000 -0.353553 +v 0.000000 3.500000 -0.500000 +v 0.176777 3.750000 -0.176777 +v -0.000000 3.750000 -0.250000 +v 0.499999 3.750000 -0.625000 +v 0.588388 3.750000 -0.588388 +v 0.624999 3.750000 -0.500000 +v 0.588388 3.750000 -0.411612 +v 0.499999 3.750000 -0.375000 +v 0.411611 3.750000 -0.411612 +v 0.374999 3.750000 -0.500000 +v 0.411611 3.750000 -0.588388 +v -0.500001 3.750000 -0.625000 +v -0.411612 3.750000 -0.588388 +v -0.375001 3.750000 -0.500000 +v -0.411612 3.750000 -0.411612 +v -0.500001 3.750000 -0.375000 +v -0.588389 3.750000 -0.411612 +v -0.625001 3.750000 -0.500000 +v -0.588389 3.750000 -0.588388 +v 0.499999 3.750000 0.375000 +v 0.588388 3.750000 0.411612 +v 0.624999 3.750000 0.500000 +v 0.588388 3.750000 0.588388 +v 0.499999 3.750000 0.625000 +v 0.411611 3.750000 0.588388 +v 0.374999 3.750000 0.500000 +v 0.411611 3.750000 0.411612 +v -0.500001 3.750000 0.375000 +v -0.411612 3.750000 0.411612 +v -0.375001 3.750000 0.500000 +v -0.411612 3.750000 0.588388 +v -0.500001 3.750000 0.625000 +v -0.588389 3.750000 0.588388 +v -0.625001 3.750000 0.500000 +v -0.588389 3.750000 0.411612 +v 0.499999 3.250000 -0.375000 +v 0.374999 3.250000 -0.500000 +v -0.375001 3.250000 -0.500000 +v -0.500001 3.250000 -0.375000 +v 0.499999 3.250000 0.375000 +v 0.374999 3.250000 0.500000 +v -0.500001 3.250000 0.375000 +v -0.375001 3.250000 0.500000 +v 0.499999 3.500000 -0.375000 +v 0.374999 3.500000 -0.500000 +v -0.375001 3.500000 -0.500000 +v -0.500001 3.500000 -0.375000 +v 0.499999 3.500000 0.375000 +v 0.374999 3.500000 0.500000 +v -0.500001 3.500000 0.375000 +v -0.375001 3.500000 0.500000 +v 2.500000 0.500000 -1.500000 +v 2.500000 0.500000 -0.500000 +v 2.500000 0.500000 0.500000 +v 2.500000 0.500000 1.500000 +v -2.500000 0.500000 1.500000 +v -2.500000 0.500000 0.500000 +v -2.500000 0.500000 -0.500000 +v -2.500000 0.500000 -1.500000 +v -1.500000 0.500000 -2.500000 +v -0.500000 0.500000 -2.500000 +v 0.500000 0.500000 -2.500000 +v 1.500000 0.500000 -2.500000 +v 1.500000 0.500000 2.500000 +v 0.500000 0.500000 2.500000 +v -0.500000 0.500000 2.500000 +v -1.500000 0.500000 2.500000 +v 2.500000 0.750000 -1.500000 +v 2.500000 0.750000 -0.500000 +v 2.500000 0.750000 0.500000 +v 2.500000 0.750000 1.500000 +v -2.500000 0.750000 1.500000 +v -2.500000 0.750000 0.500000 +v -2.500000 0.750000 -0.500000 +v -2.500000 0.750000 -1.500000 +v -1.500000 0.750000 -2.500000 +v -0.500000 0.750000 -2.500000 +v 0.500000 0.750000 -2.500000 +v 1.500000 0.750000 -2.500000 +v 1.500000 0.750000 2.500000 +v 0.500000 0.750000 2.500000 +v -0.500000 0.750000 2.500000 +v -1.500000 0.750000 2.500000 +v 2.500000 1.000000 -1.250000 +v 2.500000 1.000000 -0.750000 +v 2.500000 1.000000 0.750000 +v 2.500000 1.000000 1.250000 +v -2.500000 1.000000 1.250000 +v -2.500000 1.000000 0.750000 +v -2.500000 1.000000 -0.750000 +v -2.500000 1.000000 -1.250000 +v -1.250000 1.000000 -2.500000 +v -0.750000 1.000000 -2.500000 +v 0.750000 1.000000 -2.500000 +v 1.250000 1.000000 -2.500000 +v 1.250000 1.000000 2.500000 +v 0.750000 1.000000 2.500000 +v -0.750000 1.000000 2.500000 +v -1.250000 1.000000 2.500000 +v -1.500000 0.500000 -2.250000 +v -0.500000 0.500000 -2.250000 +v 0.500000 0.500000 -2.250000 +v 1.500000 0.500000 -2.250000 +v -1.250000 0.750000 -2.250000 +v -0.750000 0.750000 -2.250000 +v 0.750000 0.750000 -2.250000 +v 1.250000 0.750000 -2.250000 +v -1.500000 0.500000 2.250000 +v -0.500000 0.500000 2.250000 +v 0.500000 0.500000 2.250000 +v 1.500000 0.500000 2.250000 +v -1.250000 0.750000 2.250000 +v -0.750000 0.750000 2.250000 +v 0.750000 0.750000 2.250000 +v 1.250000 0.750000 2.250000 +v -2.250000 0.500000 1.500000 +v -2.250000 0.500000 0.500000 +v -2.250000 0.500000 -0.500000 +v -2.250000 0.500000 -1.500000 +v -2.250000 0.750000 1.250000 +v -2.250000 0.750000 0.750000 +v -2.250000 0.750000 -0.750000 +v -2.250000 0.750000 -1.250000 +v 2.250000 0.500000 1.500000 +v 2.250000 0.500000 0.500000 +v 2.250000 0.500000 -0.500000 +v 2.250000 0.500000 -1.500000 +v 2.250000 0.750000 1.250000 +v 2.250000 0.750000 0.750000 +v 2.250000 0.750000 -0.750000 +v 2.250000 0.750000 -1.250000 +v 1.944544 1.500000 -1.414214 +v 1.944544 0.500000 -1.414214 +v 1.414214 1.500000 -1.944544 +v 1.414214 0.500000 -1.944544 +v 1.767767 1.750000 -1.237437 +v 1.767767 0.500000 -1.237437 +v 1.237437 1.750000 -1.767767 +v 1.237437 0.500000 -1.767767 +v -1.545028 1.625000 -1.721805 +v -1.589740 1.625000 -1.704017 +v -1.499066 0.500000 -1.675843 +v -1.499066 1.500000 -1.675843 +v -1.588490 0.500000 -1.640267 +v -1.588490 1.500000 -1.640267 +v -1.679379 0.500000 -1.679378 +v -1.679379 1.500000 -1.679378 +v -1.718490 0.500000 -1.770267 +v -1.718490 1.500000 -1.770267 +v -1.682914 0.500000 -1.859691 +v -1.682914 1.500000 -1.859691 +v -1.593490 0.500000 -1.895267 +v -1.593490 1.500000 -1.895267 +v -1.502602 0.500000 -1.856155 +v -1.502602 1.500000 -1.856155 +v -1.463490 0.500000 -1.765267 +v -1.463490 1.500000 -1.765267 +v -1.635185 1.625000 -1.723573 +v -1.654740 1.625000 -1.769017 +v -1.636952 1.625000 -1.813729 +v -1.592240 1.625000 -1.831517 +v -1.546796 1.625000 -1.811961 +v -1.527241 1.625000 -1.766517 +v -1.721805 1.625000 -1.545028 +v -1.766517 1.625000 -1.527240 +v -1.675843 0.500000 -1.499066 +v -1.675843 1.500000 -1.499066 +v -1.765267 0.500000 -1.463490 +v -1.765267 1.500000 -1.463490 +v -1.856155 0.500000 -1.502602 +v -1.856155 1.500000 -1.502602 +v -1.895267 0.500000 -1.593490 +v -1.895267 1.500000 -1.593490 +v -1.859691 0.500000 -1.682914 +v -1.859691 1.500000 -1.682914 +v -1.770267 0.500000 -1.718490 +v -1.770267 1.500000 -1.718490 +v -1.679379 0.500000 -1.679378 +v -1.679379 1.500000 -1.679378 +v -1.640267 0.500000 -1.588490 +v -1.640267 1.500000 -1.588490 +v -1.811961 1.625000 -1.546796 +v -1.831517 1.625000 -1.592240 +v -1.813729 1.625000 -1.636952 +v -1.769017 1.625000 -1.654740 +v -1.723573 1.625000 -1.635184 +v -1.704017 1.625000 -1.589740 +v -1.477544 1.734375 -1.616048 +v -1.477544 1.765625 -1.616048 +v -1.616047 1.765625 -1.477545 +v -1.458407 1.718750 -1.635185 +v -1.458407 1.781250 -1.635185 +v -1.439270 1.765625 -1.654321 +v -1.439270 1.734375 -1.654321 +v -1.616047 1.734375 -1.477545 +v -1.635184 1.718750 -1.458408 +v -1.654321 1.734375 -1.439271 +v -1.654321 1.765625 -1.439271 +v -1.635184 1.781250 -1.458408 +v -1.582902 1.625000 -1.797952 +v -1.560805 1.625000 -1.775855 +v -1.568893 1.625000 -1.745670 +v -1.599078 1.625000 -1.737582 +v -1.621175 1.625000 -1.759679 +v -1.613087 1.625000 -1.789864 +v -1.569580 1.695312 -1.784631 +v -1.550443 1.679688 -1.765494 +v -1.560011 1.671875 -1.736789 +v -1.588717 1.679688 -1.727221 +v -1.607853 1.695312 -1.746357 +v -1.598285 1.703125 -1.775062 +v -1.679378 1.781250 -1.502602 +v -1.698515 1.765625 -1.483465 +v -1.698515 1.734375 -1.483465 +v -1.679378 1.718750 -1.502602 +v -1.660242 1.734375 -1.521739 +v -1.660242 1.765625 -1.521739 +v -1.734621 1.760317 -1.557845 +v -1.748233 1.746785 -1.533184 +v -1.737185 1.719722 -1.522135 +v -1.712524 1.706190 -1.535748 +v -1.698911 1.719722 -1.560409 +v -1.709960 1.746785 -1.571457 +v -1.775061 1.703125 -1.598285 +v -1.784630 1.695312 -1.569581 +v -1.765493 1.679688 -1.550444 +v -1.736788 1.671875 -1.560012 +v -1.727220 1.679688 -1.588717 +v -1.746356 1.695312 -1.607854 +v -1.789864 1.625000 -1.613088 +v -1.797952 1.625000 -1.582902 +v -1.775855 1.625000 -1.560805 +v -1.745669 1.625000 -1.568893 +v -1.737581 1.625000 -1.599079 +v -1.759678 1.625000 -1.621176 +v -1.533183 1.746785 -1.748234 +v -1.522135 1.719722 -1.737185 +v -1.535747 1.706190 -1.712524 +v -1.560408 1.719722 -1.698912 +v -1.571457 1.746785 -1.709961 +v -1.557844 1.760317 -1.734621 +v -1.483465 1.765625 -1.698515 +v -1.483465 1.734375 -1.698515 +v -1.502602 1.718750 -1.679379 +v -1.521738 1.734375 -1.660242 +v -1.521738 1.765625 -1.660242 +v -1.502602 1.781250 -1.679379 +v -0.000000 2.500000 -2.500000 +v -0.000000 3.000000 -2.500000 +v 0.956708 2.500000 -2.309699 +v 0.956708 3.000000 -2.309699 +v 1.767767 2.500000 -1.767767 +v 1.767767 3.000000 -1.767767 +v 2.309699 2.500000 -0.956709 +v 2.309699 3.000000 -0.956709 +v 2.500000 2.500000 0.000000 +v 2.500000 3.000000 0.000000 +v 2.309699 2.500000 0.956709 +v 2.309699 3.000000 0.956709 +v 1.767767 2.500000 1.767767 +v 1.767767 3.000000 1.767767 +v 0.956708 2.500000 2.309699 +v 0.956708 3.000000 2.309699 +v 0.000000 2.500000 2.500000 +v 0.000000 3.000000 2.500000 +v -0.956708 2.500000 2.309699 +v -0.956708 3.000000 2.309699 +v -1.767767 2.500000 1.767768 +v -1.767767 3.000000 1.767768 +v -2.309699 2.500000 0.956709 +v -2.309699 3.000000 0.956709 +v -2.500000 2.500000 -0.000000 +v -2.500000 3.000000 -0.000000 +v -2.309699 2.500000 -0.956709 +v -2.309699 3.000000 -0.956709 +v -1.767766 2.500000 -1.767768 +v -1.767766 3.000000 -1.767768 +v -0.956708 2.500000 -2.309699 +v -0.956708 3.000000 -2.309699 +v 0.765367 3.000000 -1.847759 +v -0.000000 3.000000 -2.000000 +v 1.414213 3.000000 -1.414214 +v 1.847759 3.000000 -0.765367 +v 2.000000 3.000000 0.000000 +v 1.847759 3.000000 0.765367 +v 1.414213 3.000000 1.414213 +v 0.765367 3.000000 1.847759 +v 0.000000 3.000000 2.000000 +v -0.765367 3.000000 1.847759 +v -1.414213 3.000000 1.414214 +v -1.847759 3.000000 0.765367 +v -2.000000 3.000000 -0.000000 +v -1.847759 3.000000 -0.765367 +v -1.414213 3.000000 -1.414214 +v -0.765366 3.000000 -1.847759 +v 0.765367 2.750000 -1.847759 +v -0.000000 2.750000 -2.000000 +v 1.414213 2.750000 -1.414214 +v 1.847759 2.750000 -0.765367 +v 2.000000 2.750000 0.000000 +v 1.847759 2.750000 0.765367 +v 1.414213 2.750000 1.414213 +v 0.765367 2.750000 1.847759 +v 0.000000 2.750000 2.000000 +v -0.765367 2.750000 1.847759 +v -1.414213 2.750000 1.414214 +v -1.847759 2.750000 0.765367 +v -2.000000 2.750000 -0.000000 +v -1.847759 2.750000 -0.765367 +v -1.414213 2.750000 -1.414214 +v -0.765366 2.750000 -1.847759 +v 0.500000 2.750000 -0.625000 +v 0.588388 2.750000 -0.588388 +v 0.625000 2.750000 -0.500000 +v 0.588388 2.750000 -0.411612 +v 0.500000 2.750000 -0.375000 +v 0.411612 2.750000 -0.411612 +v 0.375000 2.750000 -0.500000 +v 0.411612 2.750000 -0.588388 +v -0.500000 2.750000 -0.625000 +v -0.411612 2.750000 -0.588388 +v -0.375000 2.750000 -0.500000 +v -0.411612 2.750000 -0.411612 +v -0.500000 2.750000 -0.375000 +v -0.588388 2.750000 -0.411612 +v -0.625000 2.750000 -0.500000 +v -0.588388 2.750000 -0.588388 +v 0.500000 2.750000 0.375000 +v 0.588388 2.750000 0.411612 +v 0.625000 2.750000 0.500000 +v 0.588388 2.750000 0.588388 +v 0.500000 2.750000 0.625000 +v 0.411612 2.750000 0.588388 +v 0.375000 2.750000 0.500000 +v 0.411612 2.750000 0.411612 +v -0.500000 2.750000 0.375000 +v -0.411612 2.750000 0.411612 +v -0.375000 2.750000 0.500000 +v -0.411612 2.750000 0.588388 +v -0.500000 2.750000 0.625000 +v -0.588388 2.750000 0.588388 +v -0.625000 2.750000 0.500000 +v -0.588388 2.750000 0.411612 +v 0.499999 3.750000 -0.625000 +v 0.588388 3.750000 -0.588388 +v 0.624999 3.750000 -0.500000 +v 0.588388 3.750000 -0.411612 +v 0.499999 3.750000 -0.375000 +v 0.411611 3.750000 -0.411612 +v 0.374999 3.750000 -0.500000 +v 0.411611 3.750000 -0.588388 +v -0.500001 3.750000 -0.625000 +v -0.411612 3.750000 -0.588388 +v -0.375001 3.750000 -0.500000 +v -0.411612 3.750000 -0.411612 +v -0.500001 3.750000 -0.375000 +v -0.588389 3.750000 -0.411612 +v -0.625001 3.750000 -0.500000 +v -0.588389 3.750000 -0.588388 +v 0.499999 3.750000 0.375000 +v 0.588388 3.750000 0.411612 +v 0.624999 3.750000 0.500000 +v 0.588388 3.750000 0.588388 +v 0.499999 3.750000 0.625000 +v 0.411611 3.750000 0.588388 +v 0.374999 3.750000 0.500000 +v 0.411611 3.750000 0.411612 +v -0.500001 3.750000 0.375000 +v -0.411612 3.750000 0.411612 +v -0.375001 3.750000 0.500000 +v -0.411612 3.750000 0.588388 +v -0.500001 3.750000 0.625000 +v -0.588389 3.750000 0.588388 +v -0.625001 3.750000 0.500000 +v -0.588389 3.750000 0.411612 +v -0.000000 0.500000 -2.250000 +v 0.861038 0.500000 -2.078729 +v 1.590990 0.500000 -1.590990 +v 2.078729 0.500000 -0.861038 +v 2.250000 0.500000 0.000000 +v 2.078729 0.500000 0.861038 +v 1.590990 0.500000 1.590990 +v 0.861038 0.500000 2.078729 +v 0.000000 0.500000 2.250000 +v -0.861037 0.500000 2.078729 +v -1.590990 0.500000 1.590991 +v -2.078729 0.500000 0.861038 +v -2.250000 0.500000 -0.000000 +v -2.078729 0.500000 -0.861038 +v -1.590990 0.500000 -1.590991 +v -0.861037 0.500000 -2.078729 +v -1.545028 1.625000 -1.721805 +v -1.589740 1.625000 -1.704017 +v -1.499066 1.500000 -1.675843 +v -1.588490 1.500000 -1.640267 +v -1.679379 1.500000 -1.679378 +v -1.718490 1.500000 -1.770267 +v -1.682914 1.500000 -1.859691 +v -1.593490 1.500000 -1.895267 +v -1.502602 1.500000 -1.856155 +v -1.463490 1.500000 -1.765267 +v -1.635185 1.625000 -1.723573 +v -1.654740 1.625000 -1.769017 +v -1.636952 1.625000 -1.813729 +v -1.592240 1.625000 -1.831517 +v -1.546796 1.625000 -1.811961 +v -1.527241 1.625000 -1.766517 +v -1.721805 1.625000 -1.545028 +v -1.766517 1.625000 -1.527240 +v -1.675843 1.500000 -1.499066 +v -1.765267 1.500000 -1.463490 +v -1.856155 1.500000 -1.502602 +v -1.895267 1.500000 -1.593490 +v -1.859691 1.500000 -1.682914 +v -1.770267 1.500000 -1.718490 +v -1.679379 1.500000 -1.679378 +v -1.640267 1.500000 -1.588490 +v -1.811961 1.625000 -1.546796 +v -1.831517 1.625000 -1.592240 +v -1.813729 1.625000 -1.636952 +v -1.769017 1.625000 -1.654740 +v -1.723573 1.625000 -1.635184 +v -1.704017 1.625000 -1.589740 +v 1.545028 1.625000 1.721805 +v 1.589740 1.625000 1.704017 +v 1.499066 1.500000 1.675843 +v 1.588490 1.500000 1.640267 +v 1.679379 1.500000 1.679379 +v 1.718490 1.500000 1.770267 +v 1.682914 1.500000 1.859691 +v 1.593490 1.500000 1.895267 +v 1.502602 1.500000 1.856155 +v 1.463490 1.500000 1.765267 +v 1.635185 1.625000 1.723573 +v 1.654740 1.625000 1.769017 +v 1.636952 1.625000 1.813729 +v 1.592240 1.625000 1.831517 +v 1.546796 1.625000 1.811961 +v 1.527241 1.625000 1.766517 +v 1.721805 1.625000 1.545028 +v 1.766517 1.625000 1.527240 +v 1.675843 1.500000 1.499066 +v 1.765267 1.500000 1.463490 +v 1.856155 1.500000 1.502602 +v 1.895267 1.500000 1.593490 +v 1.859691 1.500000 1.682914 +v 1.770267 1.500000 1.718490 +v 1.679379 1.500000 1.679379 +v 1.640267 1.500000 1.588490 +v 1.811961 1.625000 1.546796 +v 1.831517 1.625000 1.592240 +v 1.813729 1.625000 1.636952 +v 1.769017 1.625000 1.654740 +v 1.723573 1.625000 1.635184 +v 1.704017 1.625000 1.589740 +vt 0.222222 0.523810 +vt 0.111111 0.523810 +vt 0.000000 0.476190 +vt 0.222222 0.523810 +vt 0.111111 0.523810 +vt 0.000000 0.476190 +vt 0.222222 0.523810 +vt 0.111111 0.523810 +vt -0.000000 0.476190 +vt 0.222222 0.523810 +vt 0.111111 0.523810 +vt 0.000000 0.476190 +vt 0.555556 -0.000000 +vt 0.000000 0.000000 +vt 0.666667 0.547619 +vt 0.569444 0.595238 +vt 0.555556 0.547619 +vt 0.555556 0.500000 +vt 0.659722 0.476190 +vt 0.666667 0.500000 +vt 0.666667 0.500000 +vt 0.562500 0.476190 +vt 0.659722 0.476190 +vt 0.666667 0.500000 +vt 0.562500 0.476190 +vt 0.659722 0.476190 +vt 0.555556 0.500000 +vt 0.659722 0.476190 +vt 0.666667 0.500000 +vt 0.666667 0.500000 +vt 0.562500 0.476190 +vt 0.659722 0.476190 +vt 0.555556 0.500000 +vt 0.659722 0.476190 +vt 0.666667 0.500000 +vt 0.555556 0.500000 +vt 0.659722 0.476190 +vt 0.666667 0.500000 +vt 0.555556 0.500000 +vt 0.659722 0.476190 +vt 0.666667 0.500000 +vt 0.666667 0.500000 +vt 0.562500 0.476190 +vt 0.659722 0.476190 +vt 0.555556 0.500000 +vt 0.659722 0.476190 +vt 0.666667 0.500000 +vt 0.555556 0.500000 +vt 0.659722 0.476190 +vt 0.666667 0.500000 +vt 0.555556 0.500000 +vt 0.659722 0.476190 +vt 0.666667 0.500000 +vt 0.666667 0.500000 +vt 0.562500 0.476190 +vt 0.659722 0.476190 +vt 0.666667 0.500000 +vt 0.562500 0.476190 +vt 0.659722 0.476190 +vt 0.555556 0.500000 +vt 0.659722 0.476190 +vt 0.666667 0.500000 +vt 0.666667 0.500000 +vt 0.562500 0.476190 +vt 0.659722 0.476190 +vt 0.555556 0.547619 +vt 0.652778 0.595238 +vt 0.569444 0.595238 +vt 0.666667 0.547619 +vt 0.569444 0.595238 +vt 0.555556 0.547619 +vt 0.666667 0.547619 +vt 0.569444 0.595238 +vt 0.555556 0.547619 +vt 0.666667 0.547619 +vt 0.569444 0.595238 +vt 0.555556 0.547619 +vt 0.666667 0.547619 +vt 0.569444 0.595238 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.652778 0.595238 +vt 0.569444 0.595238 +vt 0.666667 0.547619 +vt 0.569444 0.595238 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.652778 0.595238 +vt 0.569444 0.595238 +vt 0.666667 0.547619 +vt 0.569444 0.595238 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.652778 0.595238 +vt 0.569444 0.595238 +vt 0.666667 0.547619 +vt 0.569444 0.595238 +vt 0.555556 0.547619 +vt 0.666667 0.547619 +vt 0.569444 0.595238 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.652778 0.595238 +vt 0.569444 0.595238 +vt 0.555556 0.547619 +vt 0.652778 0.595238 +vt 0.569444 0.595238 +vt 0.555556 0.547619 +vt 0.652778 0.595238 +vt 0.569444 0.595238 +vt 0.777778 0.999975 +vt 0.555585 0.809523 +vt 0.777778 0.619073 +vt 0.958333 0.523810 +vt 0.944444 0.488095 +vt 0.986111 0.476190 +vt 0.708333 0.303571 +vt 0.694444 0.297619 +vt 0.708333 0.297619 +vt 0.750000 0.333333 +vt 0.666667 0.357143 +vt 0.666667 0.333333 +vt 0.819444 0.303571 +vt 0.805556 0.297619 +vt 0.819444 0.297619 +vt 0.750000 0.333333 +vt 0.666667 0.357143 +vt 0.666667 0.333333 +vt 0.750000 0.357143 +vt 0.666667 0.333333 +vt 0.750000 0.333333 +vt 0.750000 0.357143 +vt 0.666667 0.333333 +vt 0.750000 0.333333 +vt 0.666667 0.285714 +vt 0.583333 0.190476 +vt 0.666667 0.190476 +vt 0.694444 0.190476 +vt 0.694444 0.309524 +vt 0.583333 0.285714 +vt 0.555556 0.190476 +vt 0.583333 0.309524 +vt 0.576389 0.428571 +vt 0.583333 0.434524 +vt 0.583333 0.446429 +vt 0.555556 0.446429 +vt 0.562500 0.428571 +vt 0.583333 0.434524 +vt 0.576389 0.428571 +vt 0.583333 0.434524 +vt 0.583333 0.446429 +vt 0.555556 0.446429 +vt 0.562500 0.428571 +vt 0.583333 0.434524 +vt 0.777778 0.333333 +vt 0.888889 0.333333 +vt 0.861111 0.380952 +vt 0.777778 0.333333 +vt 0.888889 0.333333 +vt 0.861111 0.380952 +vt 0.777778 0.333333 +vt 0.888889 0.333333 +vt 0.861111 0.380952 +vt 0.777778 0.333333 +vt 0.888889 0.333333 +vt 0.861111 0.380952 +vt 0.777778 0.333333 +vt 0.888889 0.333333 +vt 0.861111 0.380952 +vt 0.777778 0.333333 +vt 0.888889 0.333333 +vt 0.861111 0.380952 +vt 0.777778 0.333333 +vt 0.888889 0.333333 +vt 0.861111 0.380952 +vt 0.777778 0.333333 +vt 0.888889 0.333333 +vt 0.861111 0.380952 +vt 0.805556 0.404762 +vt 0.777778 0.380952 +vt 0.805556 0.380952 +vt 0.861111 0.404762 +vt 0.888889 0.380952 +vt 0.888889 0.404762 +vt 0.805556 0.404762 +vt 0.777778 0.380952 +vt 0.805556 0.380952 +vt 0.861111 0.404762 +vt 0.888889 0.380952 +vt 0.888889 0.404762 +vt 0.805556 0.404762 +vt 0.777778 0.380952 +vt 0.805556 0.380952 +vt 0.861111 0.404762 +vt 0.888889 0.380952 +vt 0.888889 0.404762 +vt 0.805556 0.404762 +vt 0.777778 0.380952 +vt 0.805556 0.380952 +vt 0.861111 0.404762 +vt 0.888889 0.380952 +vt 0.888889 0.404762 +vt 0.861111 0.404762 +vt 0.888889 0.380952 +vt 0.888889 0.404762 +vt 0.805556 0.404762 +vt 0.805556 0.380952 +vt 0.777778 0.380952 +vt 0.805556 0.404762 +vt 0.777778 0.380952 +vt 0.805556 0.380952 +vt 0.861111 0.404762 +vt 0.888889 0.380952 +vt 0.888889 0.404762 +vt 0.805556 0.404762 +vt 0.777778 0.380952 +vt 0.805556 0.380952 +vt 0.861111 0.404762 +vt 0.888889 0.380952 +vt 0.888889 0.404762 +vt 0.805556 0.404762 +vt 0.777778 0.380952 +vt 0.805556 0.380952 +vt 0.861111 0.404762 +vt 0.888889 0.380952 +vt 0.888889 0.404762 +vt 0.888889 0.357143 +vt 0.916667 0.333333 +vt 0.777778 0.357143 +vt 0.750000 0.333333 +vt 0.777778 0.357143 +vt 0.750000 0.333333 +vt 0.888889 0.357143 +vt 0.916667 0.333333 +vt 0.777778 0.357143 +vt 0.750000 0.333333 +vt 0.888889 0.357143 +vt 0.916667 0.333333 +vt 0.777778 0.357143 +vt 0.750000 0.333333 +vt 0.777778 0.357143 +vt 0.750000 0.333333 +vt 0.888889 0.357143 +vt 0.916667 0.333333 +vt 0.888889 0.357143 +vt 0.916667 0.333333 +vt 0.777778 0.357143 +vt 0.750000 0.333333 +vt 0.777778 0.357143 +vt 0.750000 0.333333 +vt 0.888889 0.357143 +vt 0.916667 0.333333 +vt 0.888889 0.357143 +vt 0.916667 0.333333 +vt 0.777778 0.357143 +vt 0.750000 0.333333 +vt 0.888889 0.357143 +vt 0.916667 0.333333 +vt 0.222222 0.976190 +vt 0.333333 1.000000 +vt 0.222222 1.000000 +vt 0.000000 0.714286 +vt 0.027778 0.809524 +vt 0.000000 0.809524 +vt 0.333333 0.547619 +vt 0.333333 0.523810 +vt 0.555556 0.809524 +vt 0.527778 0.714286 +vt 0.555556 0.714286 +vt 0.527778 0.904762 +vt 0.555556 0.904762 +vt 0.555556 1.000000 +vt 0.111111 0.976190 +vt 0.111111 1.000000 +vt 0.000000 1.000000 +vt 0.027778 0.619048 +vt 0.000000 0.619048 +vt 0.000000 0.523810 +vt 0.444444 0.547619 +vt 0.444444 0.523810 +vt 0.555556 0.523810 +vt 0.888889 0.428571 +vt 0.777778 0.428571 +vt 0.777778 0.428571 +vt 0.888889 0.428571 +vt 0.888889 0.428571 +vt 0.777778 0.428571 +vt 0.888889 0.428571 +vt 0.777778 0.428571 +vt 0.527778 0.809524 +vt 0.027778 0.714286 +vt 0.666667 0.285714 +vt 0.583333 0.190476 +vt 0.666667 0.190476 +vt 0.694444 0.190476 +vt 0.694444 0.309524 +vt 0.583333 0.285714 +vt 0.555556 0.190476 +vt 0.583333 0.309524 +vt 0.708333 0.297619 +vt 0.708333 0.303571 +vt 0.694444 0.303571 +vt 0.819444 0.303571 +vt 0.805556 0.297619 +vt 0.819444 0.297619 +vt 0.555556 0.476190 +vt 0.333333 0.523810 +vt 0.555556 0.523810 +vt 0.444444 0.523810 +vt 0.000000 0.523810 +vt 0.555556 0.476190 +vt 0.333333 0.523810 +vt 0.555556 0.523810 +vt 0.444444 0.523810 +vt 0.000000 0.523810 +vt 0.555556 0.476190 +vt 0.333333 0.523810 +vt 0.555556 0.523810 +vt 0.444444 0.523810 +vt -0.000000 0.523810 +vt 0.555556 0.476190 +vt 0.652778 0.595238 +vt 0.562500 0.476190 +vt 0.555556 0.500000 +vt 0.555556 0.500000 +vt 0.562500 0.476190 +vt 0.555556 0.500000 +vt 0.562500 0.476190 +vt 0.562500 0.476190 +vt 0.562500 0.476190 +vt 0.555556 0.500000 +vt 0.562500 0.476190 +vt 0.562500 0.476190 +vt 0.562500 0.476190 +vt 0.555556 0.500000 +vt 0.555556 0.500000 +vt 0.562500 0.476190 +vt 0.555556 0.500000 +vt 0.666667 0.547619 +vt 0.652778 0.595238 +vt 0.652778 0.595238 +vt 0.652778 0.595238 +vt 0.652778 0.595238 +vt 0.666667 0.547619 +vt 0.652778 0.595238 +vt 0.666667 0.547619 +vt 0.652778 0.595238 +vt 0.666667 0.547619 +vt 0.652778 0.595238 +vt 0.652778 0.595238 +vt 0.666667 0.547619 +vt 0.666667 0.547619 +vt 0.666667 0.547619 +vt 0.862808 0.633570 +vt 0.934892 0.674855 +vt 0.983057 0.736641 +vt 0.999971 0.809524 +vt 0.983057 0.882406 +vt 0.934892 0.944193 +vt 0.862807 0.985478 +vt 0.692748 0.985477 +vt 0.620664 0.944193 +vt 0.572498 0.882406 +vt 0.572498 0.736641 +vt 0.620664 0.674855 +vt 0.692748 0.633570 +vt 1.000000 0.488095 +vt 1.000000 0.511905 +vt 0.986111 0.523810 +vt 0.944444 0.511905 +vt 0.958333 0.476190 +vt 0.708333 0.309524 +vt 0.694444 0.309524 +vt 0.701389 0.309524 +vt 0.694444 0.303571 +vt 0.701389 0.297619 +vt 0.750000 0.357143 +vt 0.819444 0.309524 +vt 0.805556 0.309524 +vt 0.812500 0.309524 +vt 0.805556 0.303571 +vt 0.812500 0.297619 +vt 0.750000 0.357143 +vt 0.666667 0.357143 +vt 0.666667 0.357143 +vt 0.555556 0.309524 +vt 0.666667 0.309524 +vt 0.576389 0.452381 +vt 0.555556 0.434524 +vt 0.562500 0.452381 +vt 0.555556 0.446429 +vt 0.562500 0.428571 +vt 0.583333 0.446429 +vt 0.576389 0.452381 +vt 0.562500 0.452381 +vt 0.555556 0.434524 +vt 0.576389 0.428571 +vt 0.576389 0.452381 +vt 0.555556 0.434524 +vt 0.562500 0.452381 +vt 0.555556 0.446429 +vt 0.562500 0.428571 +vt 0.583333 0.446429 +vt 0.576389 0.452381 +vt 0.562500 0.452381 +vt 0.555556 0.434524 +vt 0.576389 0.428571 +vt 0.777778 0.404762 +vt 0.777778 0.404762 +vt 0.777778 0.404762 +vt 0.777778 0.404762 +vt 0.777778 0.404762 +vt 0.777778 0.404762 +vt 0.777778 0.404762 +vt 0.777778 0.404762 +vt 0.333333 0.976190 +vt 0.222222 0.547619 +vt 0.444444 1.000000 +vt 0.444444 0.976190 +vt 0.000000 0.904762 +vt 0.027778 0.904762 +vt 0.111111 0.547619 +vt 0.555556 0.619048 +vt 0.527778 0.619048 +vt 0.777778 0.428571 +vt 0.888889 0.428571 +vt 0.888889 0.428571 +vt 0.777778 0.428571 +vt 0.777778 0.428571 +vt 0.888889 0.428571 +vt 0.777778 0.428571 +vt 0.888889 0.428571 +vt 0.555556 0.309524 +vt 0.666667 0.309524 +vt 0.708333 0.309524 +vt 0.694444 0.309524 +vt 0.701389 0.309524 +vt 0.694444 0.297619 +vt 0.701389 0.297619 +vt 0.819444 0.309524 +vt 0.805556 0.309524 +vt 0.812500 0.309524 +vt 0.805556 0.303571 +vt 0.812500 0.297619 +vt 0.611111 0.333333 +vt 0.597222 0.428571 +vt 0.597222 0.333333 +vt 0.569444 0.333333 +vt 0.555556 0.428571 +vt 0.555556 0.333333 +vt 0.666667 0.333333 +vt 0.652778 0.428571 +vt 0.652778 0.333333 +vt 0.583333 0.333333 +vt 0.569444 0.428571 +vt 0.569444 0.333333 +vt 0.555556 0.428571 +vt 0.555556 0.333333 +vt 0.597222 0.333333 +vt 0.583333 0.428571 +vt 0.583333 0.333333 +vt 0.569444 0.428571 +vt 0.638889 0.333333 +vt 0.625000 0.428571 +vt 0.625000 0.333333 +vt 0.597222 0.333333 +vt 0.583333 0.428571 +vt 0.652778 0.333333 +vt 0.638889 0.428571 +vt 0.611111 0.333333 +vt 0.597222 0.428571 +vt 0.666667 0.333333 +vt 0.652778 0.428571 +vt 0.625000 0.333333 +vt 0.611111 0.428571 +vt 0.583333 0.333333 +vt 0.569444 0.428571 +vt 0.569444 0.333333 +vt 0.569444 0.333333 +vt 0.555556 0.428571 +vt 0.555556 0.333333 +vt 0.638889 0.333333 +vt 0.625000 0.428571 +vt 0.750000 0.190476 +vt 0.847222 0.000000 +vt 0.847222 0.190476 +vt 0.875000 0.547619 +vt 0.840278 0.476190 +vt 0.875000 0.476190 +vt 0.847222 0.190476 +vt 0.944444 0.000000 +vt 0.944444 0.190476 +vt 0.840278 0.547619 +vt 0.805556 0.476190 +vt 0.555556 0.190476 +vt 0.652778 0.000000 +vt 0.652778 0.190476 +vt 0.805556 0.547619 +vt 0.770833 0.476190 +vt 0.944444 0.000000 +vt 0.944444 0.190476 +vt 0.770833 0.547619 +vt 0.736111 0.476190 +vt 0.555556 0.190476 +vt 0.652778 0.000000 +vt 0.652778 0.190476 +vt 0.736111 0.547619 +vt 0.701389 0.476190 +vt 0.750000 0.000000 +vt 0.750000 0.190476 +vt 0.701389 0.547619 +vt 0.666667 0.476190 +vt 0.750000 0.000000 +vt 0.750000 0.190476 +vt 0.944444 0.547619 +vt 0.909722 0.476190 +vt 0.944444 0.476190 +vt 0.847222 -0.000000 +vt 0.847222 0.190476 +vt 0.909722 0.547619 +vt 0.888889 0.285714 +vt 0.875000 0.190476 +vt 0.888889 0.190476 +vt 0.875000 0.285714 +vt 0.868056 0.297619 +vt 0.861111 0.285714 +vt 0.805556 0.285714 +vt 0.791667 0.190476 +vt 0.805556 0.190476 +vt 0.819444 0.285714 +vt 0.812500 0.297619 +vt 0.805556 0.285714 +vt 0.791667 0.285714 +vt 0.777778 0.190476 +vt 0.902778 0.285714 +vt 0.902778 0.190476 +vt 0.847222 0.285714 +vt 0.861111 0.297619 +vt 0.854167 0.297619 +vt 0.777778 0.285714 +vt 0.763889 0.190476 +vt 0.888889 0.285714 +vt 0.902778 0.297619 +vt 0.895833 0.297619 +vt 0.763889 0.285714 +vt 0.750000 0.190476 +vt 0.916667 0.285714 +vt 0.916667 0.190476 +vt 0.902778 0.285714 +vt 0.916667 0.297619 +vt 0.909722 0.297619 +vt 0.750000 0.285714 +vt 0.736111 0.190476 +vt 0.833333 0.285714 +vt 0.826389 0.297619 +vt 0.736111 0.285714 +vt 0.722222 0.190476 +vt 0.881944 0.297619 +vt 0.722222 0.285714 +vt 0.708333 0.190476 +vt 0.847222 0.297619 +vt 0.840278 0.297619 +vt 0.708333 0.285714 +vt 0.694444 0.190476 +vt 0.875000 0.285714 +vt 0.861111 0.190476 +vt 0.861111 0.285714 +vt 0.847222 0.190476 +vt 0.847222 0.285714 +vt 0.833333 0.190476 +vt 0.833333 0.285714 +vt 0.819444 0.190476 +vt 0.819444 0.285714 +vt 0.805556 0.190476 +vt 0.826389 0.327381 +vt 0.833333 0.333333 +vt 0.826389 0.333333 +vt 0.722222 0.327381 +vt 0.715278 0.333333 +vt 0.715278 0.327381 +vt 0.840278 0.327381 +vt 0.833333 0.327381 +vt 0.701389 0.327381 +vt 0.694444 0.333333 +vt 0.694444 0.327381 +vt 0.812500 0.327381 +vt 0.805556 0.333333 +vt 0.805556 0.327381 +vt 0.819444 0.327381 +vt 0.812500 0.333333 +vt 0.708333 0.327381 +vt 0.708333 0.333333 +vt 0.729167 0.327381 +vt 0.722222 0.333333 +vt 0.847222 0.327381 +vt 0.840278 0.333333 +vt 0.701389 0.333333 +vt 0.819444 0.333333 +vt 0.736111 0.327381 +vt 0.729167 0.333333 +vt 0.833333 0.321429 +vt 0.840278 0.321429 +vt 0.847222 0.321429 +vt 0.812500 0.321429 +vt 0.819444 0.321429 +vt 0.826389 0.315476 +vt 0.826389 0.321429 +vt 0.833333 0.315476 +vt 0.840278 0.315476 +vt 0.805556 0.321429 +vt 0.812500 0.315476 +vt 0.826389 0.309524 +vt 0.833333 0.309524 +vt 0.840278 0.309524 +vt 0.847222 0.315476 +vt 0.805556 0.309524 +vt 0.805556 0.315476 +vt 0.819444 0.309524 +vt 0.819444 0.315476 +vt 0.708333 0.309524 +vt 0.715278 0.315476 +vt 0.708333 0.315476 +vt 0.701389 0.315476 +vt 0.694444 0.315476 +vt 0.701389 0.309524 +vt 0.729167 0.315476 +vt 0.736111 0.309524 +vt 0.736111 0.315476 +vt 0.722222 0.315476 +vt 0.729167 0.309524 +vt 0.715278 0.309524 +vt 0.708333 0.321429 +vt 0.715278 0.321429 +vt 0.701389 0.321429 +vt 0.694444 0.321429 +vt 0.729167 0.321429 +vt 0.736111 0.321429 +vt 0.722222 0.321429 +vt 0.847222 0.000000 +vt 0.847222 0.190476 +vt 0.944444 -0.000000 +vt 0.944444 0.190476 +vt 0.944444 0.000000 +vt 0.944444 0.190476 +vt 0.555556 0.190476 +vt 0.652778 0.000000 +vt 0.652778 0.190476 +vt 0.555556 0.190476 +vt 0.652778 0.000000 +vt 0.652778 0.190476 +vt 0.750000 0.000000 +vt 0.750000 0.190476 +vt 0.750000 0.000000 +vt 0.847222 0.000000 +vt 0.701389 0.547619 +vt 0.729167 0.577381 +vt 0.708333 0.577381 +vt 0.840278 0.547619 +vt 0.812500 0.577381 +vt 0.805556 0.547619 +vt 0.673611 0.577381 +vt 0.666667 0.547619 +vt 0.875000 0.547619 +vt 0.847222 0.577381 +vt 0.770833 0.547619 +vt 0.798611 0.577381 +vt 0.777778 0.577381 +vt 0.944444 0.547619 +vt 0.916667 0.577381 +vt 0.909722 0.547619 +vt 0.736111 0.547619 +vt 0.763889 0.577381 +vt 0.743056 0.577381 +vt 0.881944 0.577381 +vt 0.888889 0.285714 +vt 0.875000 0.190476 +vt 0.888889 0.190476 +vt 0.875000 0.285714 +vt 0.868056 0.297619 +vt 0.861111 0.285714 +vt 0.805556 0.285714 +vt 0.791667 0.190476 +vt 0.805556 0.190476 +vt 0.763889 0.285714 +vt 0.756944 0.297619 +vt 0.750000 0.285714 +vt 0.819444 0.285714 +vt 0.812500 0.297619 +vt 0.805556 0.285714 +vt 0.791667 0.285714 +vt 0.777778 0.190476 +vt 0.902778 0.285714 +vt 0.902778 0.190476 +vt 0.847222 0.285714 +vt 0.861111 0.297619 +vt 0.854167 0.297619 +vt 0.777778 0.285714 +vt 0.763889 0.190476 +vt 0.708333 0.285714 +vt 0.701389 0.297619 +vt 0.694444 0.285714 +vt 0.888889 0.285714 +vt 0.902778 0.297619 +vt 0.895833 0.297619 +vt 0.763889 0.285714 +vt 0.750000 0.190476 +vt 0.916667 0.285714 +vt 0.916667 0.190476 +vt 0.902778 0.285714 +vt 0.916667 0.297619 +vt 0.909722 0.297619 +vt 0.750000 0.285714 +vt 0.736111 0.190476 +vt 0.736111 0.285714 +vt 0.750000 0.297619 +vt 0.743056 0.297619 +vt 0.833333 0.285714 +vt 0.826389 0.297619 +vt 0.736111 0.285714 +vt 0.722222 0.190476 +vt 0.881944 0.297619 +vt 0.722222 0.285714 +vt 0.708333 0.190476 +vt 0.777778 0.285714 +vt 0.791667 0.297619 +vt 0.784722 0.297619 +vt 0.847222 0.297619 +vt 0.840278 0.297619 +vt 0.708333 0.285714 +vt 0.694444 0.190476 +vt 0.875000 0.285714 +vt 0.861111 0.190476 +vt 0.722222 0.285714 +vt 0.736111 0.297619 +vt 0.729167 0.297619 +vt 0.861111 0.285714 +vt 0.847222 0.190476 +vt 0.791667 0.285714 +vt 0.805556 0.297619 +vt 0.798611 0.297619 +vt 0.847222 0.285714 +vt 0.833333 0.190476 +vt 0.770833 0.297619 +vt 0.833333 0.285714 +vt 0.819444 0.190476 +vt 0.715278 0.297619 +vt 0.819444 0.285714 +vt 0.805556 0.190476 +vt 0.826389 0.327381 +vt 0.833333 0.333333 +vt 0.826389 0.333333 +vt 0.715278 0.327381 +vt 0.722222 0.333333 +vt 0.715278 0.333333 +vt 0.840278 0.327381 +vt 0.833333 0.327381 +vt 0.701389 0.327381 +vt 0.694444 0.333333 +vt 0.694444 0.327381 +vt 0.812500 0.327381 +vt 0.805556 0.333333 +vt 0.805556 0.327381 +vt 0.819444 0.327381 +vt 0.812500 0.333333 +vt 0.708333 0.327381 +vt 0.708333 0.333333 +vt 0.729167 0.327381 +vt 0.722222 0.327381 +vt 0.847222 0.327381 +vt 0.840278 0.333333 +vt 0.701389 0.333333 +vt 0.819444 0.333333 +vt 0.736111 0.327381 +vt 0.729167 0.333333 +vt 0.826389 0.321429 +vt 0.840278 0.321429 +vt 0.847222 0.321429 +vt 0.805556 0.321429 +vt 0.812500 0.321429 +vt 0.826389 0.315476 +vt 0.833333 0.321429 +vt 0.833333 0.315476 +vt 0.840278 0.315476 +vt 0.805556 0.315476 +vt 0.812500 0.315476 +vt 0.819444 0.321429 +vt 0.826389 0.309524 +vt 0.833333 0.309524 +vt 0.847222 0.309524 +vt 0.847222 0.315476 +vt 0.812500 0.309524 +vt 0.819444 0.309524 +vt 0.819444 0.315476 +vt 0.708333 0.309524 +vt 0.715278 0.315476 +vt 0.708333 0.315476 +vt 0.701389 0.315476 +vt 0.694444 0.309524 +vt 0.694444 0.315476 +vt 0.729167 0.315476 +vt 0.736111 0.309524 +vt 0.736111 0.315476 +vt 0.722222 0.309524 +vt 0.722222 0.315476 +vt 0.715278 0.309524 +vt 0.708333 0.321429 +vt 0.715278 0.321429 +vt 0.701389 0.321429 +vt 0.694444 0.321429 +vt 0.729167 0.321429 +vt 0.736111 0.321429 +vt 0.722222 0.321429 +vt 0.666667 0.547619 +vt 0.555556 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.547619 +vt 0.555556 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.547619 +vt 0.555556 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.547619 +vt 0.555556 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.547619 +vt 0.555556 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.547619 +vt 0.555556 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.547619 +vt 0.555556 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.547619 +vt 0.555556 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.547619 +vt 0.555556 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.547619 +vt 0.555556 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.547619 +vt 0.555556 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.547619 +vt 0.555556 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.547619 +vt 0.555556 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.547619 +vt 0.555556 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.547619 +vt 0.555556 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.547619 +vt 0.555556 0.500000 +vt 0.666667 0.500000 +vt 0.652778 0.595238 +vt 0.569444 0.619048 +vt 0.569444 0.595238 +vt 0.652778 0.595238 +vt 0.569444 0.619048 +vt 0.569444 0.595238 +vt 0.652778 0.595238 +vt 0.569444 0.619048 +vt 0.569444 0.595238 +vt 0.652778 0.595238 +vt 0.569444 0.619048 +vt 0.569444 0.595238 +vt 0.652778 0.595238 +vt 0.569444 0.619048 +vt 0.569444 0.595238 +vt 0.652778 0.595238 +vt 0.569444 0.619048 +vt 0.569444 0.595238 +vt 0.652778 0.595238 +vt 0.569444 0.619048 +vt 0.569444 0.595238 +vt 0.652778 0.595238 +vt 0.569444 0.619048 +vt 0.569444 0.595238 +vt 0.652778 0.595238 +vt 0.569444 0.619048 +vt 0.569444 0.595238 +vt 0.652778 0.595238 +vt 0.569444 0.619048 +vt 0.569444 0.595238 +vt 0.652778 0.595238 +vt 0.569444 0.619048 +vt 0.569444 0.595238 +vt 0.652778 0.595238 +vt 0.569444 0.619048 +vt 0.569444 0.595238 +vt 0.652778 0.595238 +vt 0.569444 0.619048 +vt 0.569444 0.595238 +vt 0.652778 0.595238 +vt 0.569444 0.619048 +vt 0.569444 0.595238 +vt 0.652778 0.595238 +vt 0.569444 0.619048 +vt 0.569444 0.595238 +vt 0.652778 0.595238 +vt 0.569444 0.619048 +vt 0.569444 0.595238 +vt 0.555556 0.428571 +vt 0.555556 0.333333 +vt 0.666667 0.333333 +vt 0.652778 0.428571 +vt 0.652778 0.333333 +vt 0.666667 0.333333 +vt 0.652778 0.428571 +vt 0.652778 0.333333 +vt 0.611111 0.428571 +vt 0.638889 0.428571 +vt 0.638889 0.333333 +vt 0.638889 0.428571 +vt 0.638889 0.333333 +vt 0.625000 0.428571 +vt 0.625000 0.333333 +vt 0.625000 0.428571 +vt 0.625000 0.333333 +vt 0.611111 0.428571 +vt 0.611111 0.333333 +vt 0.611111 0.428571 +vt 0.611111 0.333333 +vt 0.597222 0.428571 +vt 0.583333 0.428571 +vt 0.583333 0.333333 +vt 0.597222 0.428571 +vt 0.597222 0.333333 +vt 0.638889 0.428571 +vt 0.569444 0.428571 +vt 0.583333 0.428571 +vt 0.722222 0.285714 +vt 0.715278 0.297619 +vt 0.708333 0.285714 +vt 0.777778 0.285714 +vt 0.770833 0.297619 +vt 0.763889 0.285714 +vt 0.791667 0.285714 +vt 0.805556 0.297619 +vt 0.798611 0.297619 +vt 0.736111 0.297619 +vt 0.729167 0.297619 +vt 0.791667 0.297619 +vt 0.784722 0.297619 +vt 0.736111 0.285714 +vt 0.750000 0.297619 +vt 0.743056 0.297619 +vt 0.701389 0.297619 +vt 0.694444 0.285714 +vt 0.756944 0.297619 +vt 0.750000 0.285714 +vt 0.666667 0.428571 +vt 0.666667 0.428571 +vt 0.555556 0.000000 +vt 0.555556 0.000000 +vt 0.666667 0.547619 +vt 0.875000 0.297619 +vt 0.819444 0.297619 +vt 0.916667 0.285714 +vt 0.833333 0.297619 +vt 0.888889 0.297619 +vt 0.694444 0.285714 +vt 0.805556 0.285714 +vt 0.847222 0.333333 +vt 0.736111 0.333333 +vt 0.847222 0.309524 +vt 0.812500 0.309524 +vt 0.694444 0.309524 +vt 0.722222 0.309524 +vt 0.555556 0.000000 +vt 0.555556 0.000000 +vt 0.833333 0.577381 +vt 0.694444 0.577381 +vt 0.868056 0.577381 +vt 0.937500 0.577381 +vt 0.902778 0.577381 +vt 0.875000 0.297619 +vt 0.763889 0.297619 +vt 0.819444 0.297619 +vt 0.708333 0.297619 +vt 0.916667 0.285714 +vt 0.833333 0.297619 +vt 0.888889 0.297619 +vt 0.694444 0.285714 +vt 0.805556 0.285714 +vt 0.777778 0.297619 +vt 0.722222 0.297619 +vt 0.805556 0.285714 +vt 0.847222 0.333333 +vt 0.736111 0.333333 +vt 0.840278 0.309524 +vt 0.805556 0.309524 +vt 0.701389 0.309524 +vt 0.729167 0.309524 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.555556 0.547619 +vt 0.652778 0.619048 +vt 0.652778 0.619048 +vt 0.652778 0.619048 +vt 0.652778 0.619048 +vt 0.652778 0.619048 +vt 0.652778 0.619048 +vt 0.652778 0.619048 +vt 0.652778 0.619048 +vt 0.652778 0.619048 +vt 0.652778 0.619048 +vt 0.652778 0.619048 +vt 0.652778 0.619048 +vt 0.652778 0.619048 +vt 0.652778 0.619048 +vt 0.652778 0.619048 +vt 0.652778 0.619048 +vt 0.666667 0.428571 +vt 0.666667 0.428571 +vt 0.722222 0.297619 +vt 0.777778 0.297619 +vt 0.805556 0.285714 +vt 0.708333 0.297619 +vt 0.763889 0.297619 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn -0.5000 0.7071 0.5000 +vn 0.5774 0.5774 -0.5774 +vn 0.7071 0.7071 0.0000 +vn 0.5774 0.5774 0.5774 +vn -0.5774 0.5774 -0.5774 +vn 0.0000 0.7071 -0.7071 +vn -0.7071 0.7071 0.0000 +vn -0.5774 0.5774 0.5774 +vn 0.0000 0.7071 0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.5000 0.7071 -0.5000 +vn 0.3827 0.0000 -0.9239 +vn -0.3827 0.0000 0.9239 +vn -0.3827 0.0000 -0.9239 +vn 0.3827 0.0000 0.9239 +vn -0.9239 0.0000 -0.3827 +vn 0.9999 0.0000 -0.0139 +vn 0.8908 0.4542 -0.0095 +vn 0.6273 0.4613 0.6273 +vn 0.0139 0.0000 -0.9999 +vn -0.8908 0.4542 0.0095 +vn -0.6273 0.4613 -0.6273 +vn -0.0095 0.4542 0.8908 +vn -0.0163 0.4541 0.8908 +vn 0.6324 0.4472 -0.6324 +vn 0.0163 0.4541 -0.8908 +vn 0.0095 0.4542 -0.8908 +vn -0.0139 0.0000 0.9999 +vn -0.6324 0.4472 0.6324 +vn -0.8908 0.4541 0.0163 +vn 0.8908 0.4541 -0.0163 +vn -0.9999 0.0000 0.0139 +vn 0.0887 0.9921 0.0887 +vn 0.6124 0.5000 -0.6124 +vn 0.6501 0.5268 -0.5476 +vn 0.5829 -0.4652 -0.6661 +vn -0.6661 -0.4652 0.5829 +vn -0.0963 -0.9907 -0.0963 +vn -0.5476 0.5268 0.6501 +vn -0.6124 -0.5000 0.6124 +vn -0.6124 0.5000 0.6124 +vn 0.6124 -0.5000 -0.6124 +vn 0.7841 0.4827 -0.3901 +vn 0.4846 -0.3745 -0.7905 +vn -0.3535 -0.8660 -0.3535 +vn -0.7905 -0.3745 0.4846 +vn -0.3901 0.4827 0.7841 +vn 0.6124 0.5000 0.6124 +vn 0.3535 0.8660 0.3535 +vn 0.9284 0.2786 -0.2458 +vn 0.3727 -0.2162 -0.9024 +vn -0.9024 -0.2162 0.3727 +vn 0.6830 0.2588 0.6830 +vn 0.9704 0.1477 -0.1909 +vn 0.3295 -0.1151 -0.9371 +vn -0.6124 -0.5000 -0.6124 +vn -0.6830 -0.2588 -0.6830 +vn -0.1909 0.1477 0.9704 +vn -0.2458 0.2786 0.9284 +vn -0.9371 -0.1151 0.3295 +vn 0.9239 0.0000 0.3827 +vn -0.9239 0.0000 0.3827 +vn 0.9239 0.0000 -0.3827 +vn 0.5000 0.7071 0.5000 +vn -0.5000 0.7071 -0.5000 +vn -0.0887 0.9921 -0.0887 +vn -0.5829 -0.4652 0.6661 +vn -0.6501 0.5268 0.5476 +vn 0.6661 -0.4652 -0.5829 +vn 0.0963 -0.9907 0.0963 +vn 0.5476 0.5268 -0.6501 +vn -0.3535 0.8660 -0.3535 +vn -0.4846 -0.3745 0.7905 +vn 0.3535 -0.8660 0.3535 +vn 0.7905 -0.3745 -0.4846 +vn -0.6124 0.5000 -0.6124 +vn -0.7841 0.4827 0.3901 +vn -0.9284 0.2786 0.2458 +vn -0.3727 -0.2162 0.9024 +vn 0.6124 -0.5000 0.6124 +vn 0.9024 -0.2162 -0.3727 +vn 0.3901 0.4827 -0.7841 +vn -0.6830 0.2588 -0.6830 +vn -0.9704 0.1477 0.1909 +vn 0.6830 -0.2588 0.6830 +vn 0.9371 -0.1151 -0.3295 +vn 0.1909 0.1477 -0.9704 +vn 0.2458 0.2786 -0.9284 +vn -0.3295 -0.1151 0.9371 +s off +f 347/49/21 348/50/21 35/51/21 +f 351/52/22 352/53/22 39/54/22 +f 343/55/23 344/56/23 37/57/23 +f 355/58/24 356/59/24 33/60/24 +f 39/61/25 33/60/25 35/62/25 +f 52/63/26 95/64/26 54/65/26 +f 49/66/25 76/67/25 47/68/25 +f 57/69/25 82/70/25 81/71/25 +f 67/72/25 87/73/25 86/74/25 +f 45/75/25 74/76/25 43/77/25 +f 53/78/25 80/79/25 79/80/25 +f 65/81/25 84/82/25 63/83/25 +f 51/84/25 77/85/25 49/86/25 +f 61/87/25 82/88/25 59/89/25 +f 69/90/25 88/91/25 87/92/25 +f 47/93/25 75/94/25 45/95/25 +f 57/96/25 80/97/25 55/98/25 +f 43/99/25 73/100/25 41/101/25 +f 65/102/25 86/103/25 85/104/25 +f 51/105/25 79/106/25 78/107/25 +f 63/108/25 83/109/25 61/110/25 +f 71/111/25 73/112/25 88/113/25 +f 64/114/26 99/115/26 100/116/26 +f 72/117/26 90/118/26 42/119/26 +f 48/120/26 93/121/26 50/122/26 +f 58/123/26 98/124/26 60/125/26 +f 68/126/26 103/127/26 70/128/26 +f 46/129/26 89/130/26 91/131/26 +f 54/132/26 96/133/26 56/134/26 +f 66/135/26 100/136/26 101/137/26 +f 50/138/26 94/139/26 52/140/26 +f 62/141/26 98/142/26 99/143/26 +f 70/144/26 104/145/26 72/146/26 +f 46/147/26 92/148/26 48/149/26 +f 58/150/26 96/151/26 97/152/26 +f 44/153/26 90/154/26 89/155/26 +f 68/156/26 101/157/26 102/158/26 +f 115/159/26 111/160/26 107/161/26 +f 143/162/26 141/163/26 139/164/26 +f 163/165/26 166/166/26 164/167/26 +f 330/168/24 340/169/24 332/170/24 +f 187/171/26 190/172/26 188/173/26 +f 325/174/23 337/175/23 329/176/23 +f 339/177/21 328/178/21 331/179/21 +f 335/180/22 326/181/22 327/182/22 +f 255/183/27 254/184/27 256/185/27 +f 255/183/28 260/186/28 259/187/28 +f 253/188/29 258/189/29 254/184/29 +f 255/183/30 257/190/30 253/188/30 +f 296/191/26 295/192/26 294/193/26 +f 306/194/26 304/195/26 302/196/26 +f 312/197/26 311/198/26 310/199/26 +f 322/200/26 320/201/26 318/202/26 +f 348/203/21 347/204/21 379/205/21 +f 346/206/21 345/207/21 377/208/21 +f 356/209/24 355/210/24 387/211/24 +f 354/212/24 353/213/24 385/214/24 +f 344/215/23 343/216/23 375/217/23 +f 342/218/23 341/219/23 373/220/23 +f 352/221/22 351/222/22 383/223/22 +f 350/224/22 349/225/22 381/226/22 +f 412/227/31 364/228/31 380/229/31 +f 379/205/32 412/227/32 380/229/32 +f 411/230/33 363/231/33 407/232/33 +f 410/233/31 362/234/31 378/235/31 +f 377/208/32 410/233/32 378/235/32 +f 409/236/33 361/237/33 405/238/33 +f 401/239/34 372/240/34 388/241/34 +f 402/242/35 388/241/35 387/211/35 +f 402/242/31 371/243/31 398/244/31 +f 403/245/34 370/246/34 386/247/34 +f 404/248/35 386/247/35 385/214/35 +f 404/248/31 369/249/31 400/250/31 +f 418/251/34 359/252/34 414/253/34 +f 375/217/36 417/254/36 376/255/36 +f 417/254/37 360/256/37 376/255/37 +f 419/257/37 358/258/37 374/259/37 +f 420/260/36 374/259/36 373/220/36 +f 420/260/34 357/261/34 416/262/34 +f 396/263/33 368/264/33 384/265/33 +f 383/223/38 396/263/38 384/265/38 +f 395/266/37 367/267/37 391/268/37 +f 394/269/33 366/270/33 382/271/33 +f 381/226/38 394/269/38 382/271/38 +f 393/272/37 365/273/37 389/274/37 +f 367/275/21 351/222/21 391/276/21 +f 366/277/23 390/278/23 350/224/23 +f 364/279/22 408/280/22 348/203/22 +f 357/281/22 341/219/22 416/282/22 +f 368/283/23 392/284/23 352/221/23 +f 359/285/22 343/216/22 414/286/22 +f 358/287/24 415/288/24 342/218/24 +f 360/289/24 413/290/24 344/215/24 +f 369/291/23 353/213/23 400/292/23 +f 371/293/23 355/210/23 398/294/23 +f 370/295/21 399/296/21 354/212/21 +f 372/297/21 397/298/21 356/209/21 +f 361/299/24 345/207/24 405/300/24 +f 363/301/24 347/204/24 407/302/24 +f 362/303/22 406/304/22 346/206/22 +f 365/305/21 349/225/21 389/306/21 +f 390/307/26 351/308/26 350/309/26 +f 346/310/26 407/311/26 347/312/26 +f 399/313/26 355/58/26 354/314/26 +f 342/315/26 414/316/26 343/317/26 +f 416/318/26 341/319/26 40/320/26 +f 389/321/26 349/322/26 36/323/26 +f 405/324/26 345/325/26 34/326/26 +f 400/327/26 353/328/26 38/329/26 +f 400/330/22 403/245/22 404/248/22 +f 395/266/24 392/331/24 396/263/24 +f 418/251/21 413/332/21 417/254/21 +f 416/333/21 419/257/21 420/260/21 +f 389/334/24 394/269/24 393/272/24 +f 411/230/23 408/335/23 412/227/23 +f 405/336/23 410/233/23 409/236/23 +f 402/242/22 397/337/22 401/239/22 +f 414/316/26 415/338/26 406/339/26 +f 423/340/39 422/341/39 424/342/39 +f 423/340/29 428/343/29 427/344/29 +f 421/345/28 426/346/28 422/341/28 +f 423/340/40 425/347/40 421/345/40 +f 448/348/26 447/349/26 451/350/26 +f 471/351/26 474/352/26 472/353/26 +f 35/51/21 33/354/21 346/355/21 +f 33/354/21 34/356/21 345/357/21 +f 345/357/21 346/355/21 33/354/21 +f 346/355/21 347/49/21 35/51/21 +f 348/50/21 36/358/21 35/51/21 +f 39/54/22 35/359/22 350/360/22 +f 35/359/22 36/361/22 349/362/22 +f 349/362/22 350/360/22 35/359/22 +f 350/360/22 351/52/22 39/54/22 +f 352/53/22 40/363/22 39/54/22 +f 37/57/23 39/364/23 342/365/23 +f 39/364/23 40/366/23 341/367/23 +f 341/367/23 342/365/23 39/364/23 +f 342/365/23 343/55/23 37/57/23 +f 344/56/23 38/368/23 37/57/23 +f 33/60/24 37/369/24 354/314/24 +f 37/369/24 38/329/24 353/328/24 +f 353/328/24 354/314/24 37/369/24 +f 354/314/24 355/58/24 33/60/24 +f 356/59/24 34/326/24 33/60/24 +f 39/61/25 37/369/25 33/60/25 +f 52/63/26 94/370/26 95/64/26 +f 49/66/25 77/371/25 76/67/25 +f 57/69/25 59/372/25 82/70/25 +f 67/72/25 69/373/25 87/73/25 +f 45/75/25 75/374/25 74/76/25 +f 53/78/25 55/375/25 80/79/25 +f 65/81/25 85/376/25 84/82/25 +f 51/84/25 78/377/25 77/85/25 +f 61/87/25 83/378/25 82/88/25 +f 69/90/25 71/379/25 88/91/25 +f 47/93/25 76/380/25 75/94/25 +f 57/96/25 81/381/25 80/97/25 +f 43/99/25 74/382/25 73/100/25 +f 65/102/25 67/383/25 86/103/25 +f 51/105/25 53/384/25 79/106/25 +f 63/108/25 84/385/25 83/109/25 +f 71/111/25 41/386/25 73/112/25 +f 64/114/26 62/387/26 99/115/26 +f 72/117/26 104/388/26 90/118/26 +f 48/120/26 92/389/26 93/121/26 +f 58/123/26 97/390/26 98/124/26 +f 68/126/26 102/391/26 103/127/26 +f 46/129/26 44/392/26 89/130/26 +f 54/132/26 95/393/26 96/133/26 +f 66/135/26 64/394/26 100/136/26 +f 50/138/26 93/395/26 94/139/26 +f 62/141/26 60/396/26 98/142/26 +f 70/144/26 103/397/26 104/145/26 +f 46/147/26 91/398/26 92/148/26 +f 58/150/26 56/399/26 96/151/26 +f 44/153/26 42/400/26 90/154/26 +f 68/156/26 66/401/26 101/157/26 +f 107/161/26 105/402/26 106/403/26 +f 106/403/26 120/404/26 107/161/26 +f 120/404/26 119/405/26 107/161/26 +f 119/405/26 118/406/26 115/159/26 +f 118/406/26 117/407/26 115/159/26 +f 117/407/26 116/408/26 115/159/26 +f 115/159/26 114/409/26 113/410/26 +f 113/410/26 112/411/26 111/160/26 +f 111/160/26 110/412/26 109/413/26 +f 109/413/26 108/414/26 107/161/26 +f 115/159/26 113/410/26 111/160/26 +f 111/160/26 109/413/26 107/161/26 +f 107/161/26 119/405/26 115/159/26 +f 139/164/26 122/415/26 121/416/26 +f 121/416/26 144/417/26 143/162/26 +f 143/162/26 142/418/26 141/163/26 +f 141/163/26 140/419/26 139/164/26 +f 139/164/26 121/416/26 143/162/26 +f 163/165/26 146/420/26 168/421/26 +f 146/420/26 145/422/26 168/421/26 +f 168/421/26 167/423/26 163/165/26 +f 167/423/26 166/166/26 163/165/26 +f 166/166/26 165/424/26 164/167/26 +f 330/168/24 338/425/24 340/169/24 +f 187/171/26 170/426/26 192/427/26 +f 170/426/26 169/428/26 192/427/26 +f 192/427/26 191/429/26 187/171/26 +f 191/429/26 190/172/26 187/171/26 +f 190/172/26 189/430/26 188/173/26 +f 325/174/23 333/431/23 337/175/23 +f 339/177/21 336/432/21 328/178/21 +f 335/180/22 334/433/22 326/181/22 +f 255/183/27 253/188/27 254/184/27 +f 255/183/28 256/185/28 260/186/28 +f 253/188/29 257/434/29 258/189/29 +f 255/183/30 259/435/30 257/190/30 +f 294/193/26 293/436/26 298/437/26 +f 293/436/26 300/438/26 298/437/26 +f 300/438/26 299/439/26 298/437/26 +f 298/437/26 297/440/26 294/193/26 +f 297/440/26 296/191/26 294/193/26 +f 302/196/26 301/441/26 308/442/26 +f 308/442/26 307/443/26 302/196/26 +f 307/443/26 306/194/26 302/196/26 +f 306/194/26 305/444/26 304/195/26 +f 304/195/26 303/445/26 302/196/26 +f 310/199/26 309/446/26 314/447/26 +f 309/446/26 316/448/26 314/447/26 +f 316/448/26 315/449/26 314/447/26 +f 314/447/26 313/450/26 310/199/26 +f 313/450/26 312/197/26 310/199/26 +f 318/202/26 317/451/26 324/452/26 +f 324/452/26 323/453/26 318/202/26 +f 323/453/26 322/200/26 318/202/26 +f 322/200/26 321/454/26 320/201/26 +f 320/201/26 319/455/26 318/202/26 +f 347/204/21 363/301/21 379/205/21 +f 379/205/21 380/229/21 348/203/21 +f 380/229/21 364/279/21 348/203/21 +f 345/207/21 361/299/21 377/208/21 +f 377/208/21 378/235/21 346/206/21 +f 378/235/21 362/303/21 346/206/21 +f 355/210/24 371/293/24 387/211/24 +f 387/211/24 388/241/24 356/209/24 +f 388/241/24 372/297/24 356/209/24 +f 353/213/24 369/291/24 385/214/24 +f 385/214/24 386/247/24 354/212/24 +f 386/247/24 370/295/24 354/212/24 +f 343/216/23 359/285/23 375/217/23 +f 375/217/23 376/255/23 344/215/23 +f 376/255/23 360/289/23 344/215/23 +f 341/219/23 357/281/23 373/220/23 +f 373/220/23 374/259/23 342/218/23 +f 374/259/23 358/287/23 342/218/23 +f 351/222/22 367/275/22 383/223/22 +f 383/223/22 384/265/22 352/221/22 +f 384/265/22 368/283/22 352/221/22 +f 349/225/22 365/305/22 381/226/22 +f 381/226/22 382/271/22 350/224/22 +f 382/271/22 366/277/22 350/224/22 +f 412/227/31 408/456/31 364/228/31 +f 379/205/32 411/230/32 412/227/32 +f 411/230/33 379/205/33 363/231/33 +f 410/233/31 406/457/31 362/234/31 +f 377/208/32 409/236/32 410/233/32 +f 409/236/33 377/208/33 361/237/33 +f 401/239/34 397/458/34 372/240/34 +f 402/242/35 401/239/35 388/241/35 +f 402/242/31 387/211/31 371/243/31 +f 403/245/34 399/459/34 370/246/34 +f 404/248/35 403/245/35 386/247/35 +f 404/248/31 385/214/31 369/249/31 +f 418/251/34 375/217/34 359/252/34 +f 375/217/36 418/251/36 417/254/36 +f 417/254/37 413/460/37 360/256/37 +f 419/257/37 415/461/37 358/258/37 +f 420/260/36 419/257/36 374/259/36 +f 420/260/34 373/220/34 357/261/34 +f 396/263/33 392/462/33 368/264/33 +f 383/223/38 395/266/38 396/263/38 +f 395/266/37 383/223/37 367/267/37 +f 394/269/33 390/463/33 366/270/33 +f 381/226/38 393/272/38 394/269/38 +f 393/272/37 381/226/37 365/273/37 +f 390/307/26 391/464/26 351/308/26 +f 346/310/26 406/339/26 407/311/26 +f 399/313/26 398/465/26 355/58/26 +f 342/315/26 415/338/26 414/316/26 +f 40/320/26 352/466/26 392/467/26 +f 392/467/26 416/318/26 40/320/26 +f 36/323/26 348/468/26 408/469/26 +f 408/469/26 389/321/26 36/323/26 +f 34/326/26 356/59/26 397/470/26 +f 397/470/26 405/324/26 34/326/26 +f 38/329/26 344/471/26 413/472/26 +f 413/472/26 400/327/26 38/329/26 +f 400/330/22 399/473/22 403/245/22 +f 395/266/24 391/474/24 392/331/24 +f 418/251/21 414/475/21 413/332/21 +f 416/333/21 415/476/21 419/257/21 +f 389/334/24 390/477/24 394/269/24 +f 411/230/23 407/478/23 408/335/23 +f 405/336/23 406/479/23 410/233/23 +f 402/242/22 398/480/22 397/337/22 +f 392/467/26 391/464/26 416/318/26 +f 391/464/26 390/307/26 415/338/26 +f 416/318/26 391/464/26 415/338/26 +f 390/307/26 389/321/26 408/469/26 +f 390/307/26 408/469/26 407/311/26 +f 390/307/26 407/311/26 415/338/26 +f 407/311/26 406/339/26 415/338/26 +f 406/339/26 405/324/26 397/470/26 +f 398/465/26 399/313/26 406/339/26 +f 399/313/26 400/327/26 414/316/26 +f 406/339/26 399/313/26 414/316/26 +f 406/339/26 397/470/26 398/465/26 +f 400/327/26 413/472/26 414/316/26 +f 423/340/39 421/345/39 422/341/39 +f 423/340/29 424/342/29 428/343/29 +f 421/345/28 425/481/28 426/346/28 +f 423/340/40 427/482/40 425/347/40 +f 447/349/26 430/483/26 452/484/26 +f 430/483/26 429/485/26 452/484/26 +f 452/484/26 451/350/26 447/349/26 +f 451/350/26 450/486/26 448/348/26 +f 450/486/26 449/487/26 448/348/26 +f 471/351/26 454/488/26 476/489/26 +f 454/488/26 453/490/26 476/489/26 +f 476/489/26 475/491/26 471/351/26 +f 475/491/26 474/352/26 471/351/26 +f 474/352/26 473/492/26 472/353/26 +s 1 +f 602/493/39 635/494/23 603/495/23 +f 611/496/23 644/497/28 612/498/28 +f 624/499/29 649/500/22 617/501/22 +f 610/502/39 643/503/23 611/496/23 +f 623/504/21 656/505/29 624/506/29 +f 609/507/22 642/508/39 610/502/39 +f 622/509/27 655/510/21 623/504/21 +f 608/511/29 633/512/22 601/513/22 +f 621/514/24 654/515/27 622/509/27 +f 607/516/21 640/517/29 608/511/29 +f 620/518/28 653/519/24 621/514/24 +f 606/520/27 639/521/21 607/516/21 +f 619/522/23 652/523/28 620/518/28 +f 632/524/29 657/525/22 625/526/22 +f 605/527/24 638/528/27 606/529/27 +f 618/530/39 651/531/23 619/522/23 +f 274/532/39 666/533/41 275/534/41 +f 124/535/22 125/536/39 123/537/22 +f 267/538/42 673/539/24 268/540/24 +f 126/541/39 127/542/23 125/536/39 +f 276/543/22 680/544/43 261/545/43 +f 128/546/23 129/547/28 127/542/23 +f 275/534/41 665/548/22 276/549/22 +f 130/550/28 131/551/24 129/547/28 +f 268/552/24 672/553/44 269/554/44 +f 132/555/24 133/556/27 131/551/24 +f 261/545/43 679/557/29 262/558/29 +f 134/559/27 135/560/21 133/556/27 +f 269/554/44 671/561/28 270/562/28 +f 136/563/21 137/564/29 135/565/21 +f 262/558/29 678/566/45 263/567/45 +f 138/568/29 123/537/22 137/564/29 +f 176/569/39 177/570/46 175/571/39 +f 734/572/47 741/573/48 735/574/48 +f 148/575/29 149/576/49 147/577/29 +f 738/578/50 729/579/51 731/580/51 +f 150/581/49 151/582/39 149/576/49 +f 174/583/49 175/571/39 173/584/49 +f 736/585/52 741/586/48 742/587/53 +f 152/588/39 153/589/46 151/582/39 +f 733/590/54 730/591/55 739/592/54 +f 154/593/46 155/594/28 153/589/46 +f 172/595/29 173/584/49 171/596/29 +f 732/597/56 729/598/51 730/599/55 +f 156/600/28 157/601/57 155/594/28 +f 737/602/58 744/603/59 738/578/50 +f 158/604/57 159/605/27 157/601/57 +f 733/590/54 740/606/60 734/572/47 +f 160/607/27 161/608/61 159/605/27 +f 737/602/58 742/609/53 743/610/58 +f 162/611/61 147/612/29 161/608/61 +f 178/613/46 179/614/28 177/570/46 +f 180/615/28 181/616/57 179/614/28 +f 182/617/57 183/618/27 181/616/57 +f 184/619/27 185/620/61 183/618/27 +f 186/621/61 171/622/29 185/620/61 +f 217/623/62 203/624/63 204/625/26 +f 251/626/64 197/627/26 252/628/62 +f 219/629/65 203/624/63 218/630/64 +f 248/631/66 196/632/25 249/633/67 +f 221/634/66 201/635/25 220/636/67 +f 222/637/68 200/638/69 221/634/66 +f 247/639/68 197/627/26 198/640/70 +f 250/641/65 194/642/63 251/626/64 +f 220/643/67 202/644/71 219/629/65 +f 247/639/68 199/645/69 248/631/66 +f 222/637/68 204/625/26 195/646/70 +f 249/647/67 193/648/71 250/641/65 +f 217/623/62 224/649/72 218/630/64 +f 218/630/64 225/650/73 219/629/65 +f 219/629/65 226/651/74 220/643/67 +f 220/636/67 227/652/75 221/634/66 +f 227/652/75 222/637/68 221/634/66 +f 228/653/76 217/623/62 222/637/68 +f 229/654/77 224/649/72 223/655/78 +f 230/656/79 225/650/73 224/649/72 +f 231/657/80 226/651/74 225/650/73 +f 226/658/74 233/659/81 227/652/75 +f 233/659/81 228/653/76 227/652/75 +f 228/653/76 229/654/77 223/655/78 +f 235/660/82 230/656/79 229/654/77 +f 236/661/83 231/657/80 230/656/79 +f 237/662/84 232/663/85 231/657/80 +f 238/664/86 233/659/81 232/665/85 +f 233/659/81 240/666/87 234/667/88 +f 234/667/88 235/660/82 229/654/77 +f 205/668/87 216/669/77 211/670/88 +f 212/671/81 205/668/87 211/670/88 +f 213/672/85 206/673/89 212/671/81 +f 214/674/80 207/675/86 213/676/85 +f 215/677/79 208/678/84 214/674/80 +f 210/679/82 215/677/79 216/669/77 +f 241/680/76 216/669/77 246/681/78 +f 212/671/81 241/680/76 242/682/75 +f 243/683/74 212/671/81 242/682/75 +f 244/684/73 213/676/85 243/685/74 +f 215/677/79 244/684/73 245/686/72 +f 216/669/77 245/686/72 246/681/78 +f 241/680/76 252/628/62 247/639/68 +f 242/682/75 247/639/68 248/631/66 +f 249/633/67 242/682/75 248/631/66 +f 250/641/65 243/685/74 249/647/67 +f 251/626/64 244/684/73 250/641/65 +f 252/628/62 245/686/72 251/626/64 +f 270/562/28 670/687/90 271/688/90 +f 263/567/45 677/689/21 264/690/21 +f 271/688/90 669/691/23 272/692/23 +f 264/693/21 676/694/91 265/695/91 +f 272/696/23 668/697/92 273/698/92 +f 265/695/91 675/699/27 266/700/27 +f 273/698/92 667/701/39 274/532/39 +f 266/700/27 674/702/42 267/538/42 +f 285/703/30 280/704/38 279/705/30 +f 289/706/40 282/707/32 288/708/32 +f 285/703/30 278/709/36 284/710/36 +f 290/711/35 291/712/40 289/706/40 +f 287/713/93 282/714/32 281/715/93 +f 284/716/36 277/717/94 283/718/94 +f 286/719/38 281/720/93 280/721/38 +f 283/718/94 292/722/35 290/711/35 +f 460/723/27 461/724/61 459/725/27 +f 702/726/50 709/727/51 703/728/51 +f 432/729/28 433/730/57 431/731/28 +f 718/732/47 725/733/48 719/734/48 +f 706/735/47 697/736/48 699/737/48 +f 434/738/57 435/739/27 433/730/57 +f 458/740/57 459/725/27 457/741/57 +f 704/742/56 709/743/51 710/744/55 +f 436/745/27 437/746/61 435/739/27 +f 722/747/50 713/748/51 715/749/51 +f 701/750/58 698/751/53 707/752/58 +f 438/753/61 439/754/29 437/746/61 +f 456/755/28 457/741/57 455/756/28 +f 700/757/52 697/758/48 698/759/53 +f 440/760/29 441/761/49 439/754/29 +f 720/762/52 725/763/48 726/764/53 +f 705/765/54 712/766/60 706/735/47 +f 442/767/49 443/768/39 441/761/49 +f 701/750/58 708/769/59 702/726/50 +f 444/770/39 445/771/46 443/768/39 +f 717/772/54 714/773/55 723/774/54 +f 705/765/54 710/775/55 711/776/54 +f 446/777/46 431/778/28 445/771/46 +f 462/779/61 463/780/29 461/724/61 +f 721/781/58 726/782/53 727/783/58 +f 464/784/29 465/785/49 463/780/29 +f 716/786/56 713/787/51 714/788/55 +f 466/789/49 467/790/39 465/785/49 +f 717/772/54 724/791/60 718/732/47 +f 468/792/39 469/793/46 467/790/39 +f 721/781/58 728/794/59 722/747/50 +f 470/795/46 455/796/28 469/793/46 +f 501/797/95 487/798/70 488/799/26 +f 536/800/95 478/801/70 481/802/26 +f 503/803/96 487/798/70 502/804/97 +f 532/805/98 480/806/25 533/807/99 +f 505/808/98 485/809/25 504/810/99 +f 506/811/100 484/812/71 505/808/98 +f 531/813/100 481/802/26 482/814/63 +f 534/815/96 478/801/70 535/816/97 +f 504/817/99 486/818/69 503/803/96 +f 531/813/100 483/819/71 532/805/98 +f 501/797/95 479/820/63 506/811/100 +f 533/821/99 477/822/69 534/815/96 +f 507/823/101 502/804/97 501/797/95 +f 502/804/97 509/824/102 503/803/96 +f 503/803/96 510/825/103 504/817/99 +f 510/826/103 505/808/98 504/810/99 +f 511/827/104 506/811/100 505/808/98 +f 506/811/100 507/823/101 501/797/95 +f 513/828/105 508/829/106 507/823/101 +f 514/830/107 509/824/102 508/829/106 +f 515/831/108 510/825/103 509/824/102 +f 516/832/109 511/827/104 510/826/103 +f 517/833/110 512/834/111 511/827/104 +f 512/834/111 513/828/105 507/823/101 +f 519/835/112 514/830/107 513/828/105 +f 520/836/113 515/831/108 514/830/107 +f 515/831/108 522/837/114 516/838/109 +f 516/832/109 523/839/115 517/833/110 +f 517/833/110 524/840/116 518/841/117 +f 518/841/117 519/835/112 513/828/105 +f 489/842/116 500/843/105 495/844/117 +f 496/845/110 489/842/116 495/844/117 +f 491/846/114 496/845/110 497/847/109 +f 498/848/108 491/849/114 497/850/109 +f 493/851/113 498/848/108 499/852/107 +f 494/853/112 499/852/107 500/843/105 +f 525/854/111 500/843/105 530/855/101 +f 496/845/110 525/854/111 526/856/104 +f 497/847/109 526/856/104 527/857/103 +f 528/858/102 497/850/109 527/859/103 +f 499/852/107 528/858/102 529/860/106 +f 500/843/105 529/860/106 530/855/101 +f 525/854/111 536/800/95 531/813/100 +f 526/856/104 531/813/100 532/805/98 +f 527/857/103 532/805/98 533/807/99 +f 534/815/96 527/859/103 533/821/99 +f 535/816/97 528/858/102 534/815/96 +f 530/855/101 535/816/97 536/800/95 +f 538/861/22 539/862/41 537/863/22 +f 540/864/41 541/865/39 539/866/41 +f 542/867/39 543/868/92 541/869/39 +f 544/870/92 545/871/23 543/872/92 +f 546/873/23 547/874/90 545/875/23 +f 548/876/90 549/877/28 547/878/90 +f 550/879/28 551/880/44 549/881/28 +f 552/882/44 553/883/24 551/884/44 +f 554/885/24 555/886/42 553/887/24 +f 556/888/42 557/889/27 555/890/42 +f 558/891/27 559/892/91 557/893/27 +f 560/894/91 561/895/21 559/896/91 +f 562/897/21 563/898/45 561/899/21 +f 564/900/45 565/901/29 563/902/45 +f 566/903/29 567/904/43 565/905/29 +f 568/906/43 537/907/22 567/908/43 +f 569/909/42 587/910/27 571/911/27 +f 578/912/41 595/913/39 579/914/39 +f 571/915/27 588/916/91 572/917/91 +f 579/918/39 596/919/92 580/920/92 +f 572/921/91 589/922/21 573/923/21 +f 580/924/92 597/925/23 581/926/23 +f 573/927/21 590/928/45 574/929/45 +f 581/930/23 598/931/90 582/932/90 +f 574/933/45 591/934/29 575/935/29 +f 582/936/90 599/937/28 583/938/28 +f 575/939/29 592/940/43 576/941/43 +f 583/942/28 600/943/44 584/944/44 +f 576/945/43 593/946/22 577/947/22 +f 570/948/24 585/949/42 569/950/42 +f 584/951/44 586/952/24 570/953/24 +f 577/954/22 594/955/41 578/956/41 +f 625/526/22 658/957/39 626/958/39 +f 612/959/28 645/960/24 613/961/24 +f 626/962/39 659/963/23 627/964/23 +f 601/513/22 634/965/39 602/493/39 +f 613/961/24 646/966/27 614/967/27 +f 627/964/23 660/968/28 628/969/28 +f 614/967/27 647/970/21 615/971/21 +f 628/969/28 661/972/24 629/973/24 +f 615/971/21 648/974/29 616/975/29 +f 629/973/24 662/976/27 630/977/27 +f 616/975/29 641/978/22 609/507/22 +f 603/495/23 636/979/28 604/980/28 +f 630/977/27 663/981/21 631/982/21 +f 617/501/22 650/983/39 618/530/39 +f 604/980/28 637/984/24 605/527/24 +f 631/982/21 664/985/29 632/524/29 +f 689/986/54 696/987/60 690/988/47 +f 685/989/58 692/990/59 686/991/50 +f 684/992/52 681/993/48 682/994/53 +f 689/986/54 694/995/55 695/996/54 +f 685/989/58 682/997/53 691/998/58 +f 688/999/56 693/1000/51 694/1001/55 +f 690/988/47 681/1002/48 683/1003/48 +f 686/991/50 693/1004/51 687/1005/51 +f 602/493/39 634/965/39 635/494/23 +f 611/496/23 643/503/23 644/497/28 +f 624/499/29 656/1006/29 649/500/22 +f 610/502/39 642/508/39 643/503/23 +f 623/504/21 655/510/21 656/505/29 +f 609/507/22 641/978/22 642/508/39 +f 622/509/27 654/515/27 655/510/21 +f 608/511/29 640/517/29 633/512/22 +f 621/514/24 653/519/24 654/515/27 +f 607/516/21 639/521/21 640/517/29 +f 620/518/28 652/523/28 653/519/24 +f 606/520/27 638/1007/27 639/521/21 +f 619/522/23 651/531/23 652/523/28 +f 632/524/29 664/985/29 657/525/22 +f 605/527/24 637/984/24 638/528/27 +f 618/530/39 650/983/39 651/531/23 +f 274/532/39 667/701/39 666/533/41 +f 124/535/22 126/541/39 125/536/39 +f 267/538/42 674/702/42 673/539/24 +f 126/541/39 128/546/23 127/542/23 +f 276/543/22 665/1008/22 680/544/43 +f 128/546/23 130/550/28 129/547/28 +f 275/534/41 666/533/41 665/548/22 +f 130/550/28 132/555/24 131/551/24 +f 268/552/24 673/1009/24 672/553/44 +f 132/555/24 134/559/27 133/556/27 +f 261/545/43 680/544/43 679/557/29 +f 134/559/27 136/1010/21 135/560/21 +f 269/554/44 672/553/44 671/561/28 +f 136/563/21 138/568/29 137/564/29 +f 262/558/29 679/557/29 678/566/45 +f 138/568/29 124/535/22 123/537/22 +f 176/569/39 178/613/46 177/570/46 +f 734/572/47 740/1011/60 741/573/48 +f 148/575/29 150/581/49 149/576/49 +f 738/578/50 744/1012/59 729/579/51 +f 150/581/49 152/588/39 151/582/39 +f 174/583/49 176/569/39 175/571/39 +f 736/585/52 735/574/48 741/586/48 +f 152/588/39 154/593/46 153/589/46 +f 733/590/54 732/597/56 730/591/55 +f 154/593/46 156/600/28 155/594/28 +f 172/595/29 174/583/49 173/584/49 +f 732/597/56 731/1013/51 729/598/51 +f 156/600/28 158/604/57 157/601/57 +f 737/602/58 743/1014/58 744/603/59 +f 158/604/57 160/607/27 159/605/27 +f 733/590/54 739/1015/54 740/606/60 +f 160/607/27 162/611/61 161/608/61 +f 737/602/58 736/585/52 742/609/53 +f 162/611/61 148/1016/29 147/612/29 +f 178/613/46 180/615/28 179/614/28 +f 180/615/28 182/617/57 181/616/57 +f 182/617/57 184/619/27 183/618/27 +f 184/619/27 186/621/61 185/620/61 +f 186/621/61 172/1017/29 171/622/29 +f 217/623/62 218/630/64 203/624/63 +f 251/626/64 194/642/63 197/627/26 +f 219/629/65 202/644/71 203/624/63 +f 248/631/66 199/645/69 196/632/25 +f 221/634/66 200/638/69 201/635/25 +f 222/637/68 195/646/70 200/638/69 +f 247/639/68 252/628/62 197/627/26 +f 250/641/65 193/648/71 194/642/63 +f 220/643/67 201/1018/25 202/644/71 +f 247/639/68 198/640/70 199/645/69 +f 222/637/68 217/623/62 204/625/26 +f 249/647/67 196/1019/25 193/648/71 +f 217/623/62 223/655/78 224/649/72 +f 218/630/64 224/649/72 225/650/73 +f 219/629/65 225/650/73 226/651/74 +f 220/636/67 226/658/74 227/652/75 +f 227/652/75 228/653/76 222/637/68 +f 228/653/76 223/655/78 217/623/62 +f 229/654/77 230/656/79 224/649/72 +f 230/656/79 231/657/80 225/650/73 +f 231/657/80 232/663/85 226/651/74 +f 226/658/74 232/665/85 233/659/81 +f 233/659/81 234/667/88 228/653/76 +f 228/653/76 234/667/88 229/654/77 +f 235/660/82 236/661/83 230/656/79 +f 236/661/83 237/662/84 231/657/80 +f 237/662/84 238/1020/86 232/663/85 +f 238/664/86 239/1021/89 233/659/81 +f 233/659/81 239/1021/89 240/666/87 +f 234/667/88 240/666/87 235/660/82 +f 205/668/87 210/679/82 216/669/77 +f 212/671/81 206/673/89 205/668/87 +f 213/672/85 207/1022/86 206/673/89 +f 214/674/80 208/678/84 207/675/86 +f 215/677/79 209/1023/83 208/678/84 +f 210/679/82 209/1023/83 215/677/79 +f 241/680/76 211/670/88 216/669/77 +f 212/671/81 211/670/88 241/680/76 +f 243/683/74 213/672/85 212/671/81 +f 244/684/73 214/674/80 213/676/85 +f 215/677/79 214/674/80 244/684/73 +f 216/669/77 215/677/79 245/686/72 +f 241/680/76 246/681/78 252/628/62 +f 242/682/75 241/680/76 247/639/68 +f 249/633/67 243/683/74 242/682/75 +f 250/641/65 244/684/73 243/685/74 +f 251/626/64 245/686/72 244/684/73 +f 252/628/62 246/681/78 245/686/72 +f 270/562/28 671/561/28 670/687/90 +f 263/567/45 678/566/45 677/689/21 +f 271/688/90 670/687/90 669/691/23 +f 264/693/21 677/1024/21 676/694/91 +f 272/696/23 669/1025/23 668/697/92 +f 265/695/91 676/694/91 675/699/27 +f 273/698/92 668/697/92 667/701/39 +f 266/700/27 675/699/27 674/702/42 +f 285/703/30 286/719/38 280/704/38 +f 289/706/40 291/1026/40 282/707/32 +f 285/703/30 279/1027/30 278/709/36 +f 290/711/35 292/1028/35 291/712/40 +f 287/713/93 288/708/32 282/714/32 +f 284/716/36 278/1029/36 277/717/94 +f 286/719/38 287/713/93 281/720/93 +f 283/718/94 277/1030/94 292/722/35 +f 460/723/27 462/779/61 461/724/61 +f 702/726/50 708/1031/59 709/727/51 +f 432/729/28 434/738/57 433/730/57 +f 718/732/47 724/1032/60 725/733/48 +f 706/735/47 712/1033/60 697/736/48 +f 434/738/57 436/745/27 435/739/27 +f 458/740/57 460/723/27 459/725/27 +f 704/742/56 703/728/51 709/743/51 +f 436/745/27 438/753/61 437/746/61 +f 722/747/50 728/1034/59 713/748/51 +f 701/750/58 700/757/52 698/751/53 +f 438/753/61 440/760/29 439/754/29 +f 456/755/28 458/740/57 457/741/57 +f 700/757/52 699/1035/48 697/758/48 +f 440/760/29 442/767/49 441/761/49 +f 720/762/52 719/734/48 725/763/48 +f 705/765/54 711/1036/54 712/766/60 +f 442/767/49 444/770/39 443/768/39 +f 701/750/58 707/1037/58 708/769/59 +f 444/770/39 446/777/46 445/771/46 +f 717/772/54 716/786/56 714/773/55 +f 705/765/54 704/742/56 710/775/55 +f 446/777/46 432/1038/28 431/778/28 +f 462/779/61 464/784/29 463/780/29 +f 721/781/58 720/762/52 726/782/53 +f 464/784/29 466/789/49 465/785/49 +f 716/786/56 715/1039/51 713/787/51 +f 466/789/49 468/792/39 467/790/39 +f 717/772/54 723/1040/54 724/791/60 +f 468/792/39 470/795/46 469/793/46 +f 721/781/58 727/1041/58 728/794/59 +f 470/795/46 456/1042/28 455/796/28 +f 501/797/95 502/804/97 487/798/70 +f 536/800/95 535/816/97 478/801/70 +f 503/803/96 486/818/69 487/798/70 +f 532/805/98 483/819/71 480/806/25 +f 505/808/98 484/812/71 485/809/25 +f 506/811/100 479/820/63 484/812/71 +f 531/813/100 536/800/95 481/802/26 +f 534/815/96 477/822/69 478/801/70 +f 504/817/99 485/1043/25 486/818/69 +f 531/813/100 482/814/63 483/819/71 +f 501/797/95 488/799/26 479/820/63 +f 533/821/99 480/1044/25 477/822/69 +f 507/823/101 508/829/106 502/804/97 +f 502/804/97 508/829/106 509/824/102 +f 503/803/96 509/824/102 510/825/103 +f 510/826/103 511/827/104 505/808/98 +f 511/827/104 512/834/111 506/811/100 +f 506/811/100 512/834/111 507/823/101 +f 513/828/105 514/830/107 508/829/106 +f 514/830/107 515/831/108 509/824/102 +f 515/831/108 516/838/109 510/825/103 +f 516/832/109 517/833/110 511/827/104 +f 517/833/110 518/841/117 512/834/111 +f 512/834/111 518/841/117 513/828/105 +f 519/835/112 520/836/113 514/830/107 +f 520/836/113 521/1045/118 515/831/108 +f 515/831/108 521/1045/118 522/837/114 +f 516/832/109 522/1046/114 523/839/115 +f 517/833/110 523/839/115 524/840/116 +f 518/841/117 524/840/116 519/835/112 +f 489/842/116 494/853/112 500/843/105 +f 496/845/110 490/1047/115 489/842/116 +f 491/846/114 490/1047/115 496/845/110 +f 498/848/108 492/1048/118 491/849/114 +f 493/851/113 492/1048/118 498/848/108 +f 494/853/112 493/851/113 499/852/107 +f 525/854/111 495/844/117 500/843/105 +f 496/845/110 495/844/117 525/854/111 +f 497/847/109 496/845/110 526/856/104 +f 528/858/102 498/848/108 497/850/109 +f 499/852/107 498/848/108 528/858/102 +f 500/843/105 499/852/107 529/860/106 +f 525/854/111 530/855/101 536/800/95 +f 526/856/104 525/854/111 531/813/100 +f 527/857/103 526/856/104 532/805/98 +f 534/815/96 528/858/102 527/859/103 +f 535/816/97 529/860/106 528/858/102 +f 530/855/101 529/860/106 535/816/97 +f 538/861/22 540/1049/41 539/862/41 +f 540/864/41 542/1050/39 541/865/39 +f 542/867/39 544/1051/92 543/868/92 +f 544/870/92 546/1052/23 545/871/23 +f 546/873/23 548/1053/90 547/874/90 +f 548/876/90 550/1054/28 549/877/28 +f 550/879/28 552/1055/44 551/880/44 +f 552/882/44 554/1056/24 553/883/24 +f 554/885/24 556/1057/42 555/886/42 +f 556/888/42 558/1058/27 557/889/27 +f 558/891/27 560/1059/91 559/892/91 +f 560/894/91 562/1060/21 561/895/21 +f 562/897/21 564/1061/45 563/898/45 +f 564/900/45 566/1062/29 565/901/29 +f 566/903/29 568/1063/43 567/904/43 +f 568/906/43 538/1064/22 537/907/22 +f 569/909/42 585/1065/42 587/910/27 +f 578/912/41 594/1066/41 595/913/39 +f 571/915/27 587/1067/27 588/916/91 +f 579/918/39 595/1068/39 596/919/92 +f 572/921/91 588/1069/91 589/922/21 +f 580/924/92 596/1070/92 597/925/23 +f 573/927/21 589/1071/21 590/928/45 +f 581/930/23 597/1072/23 598/931/90 +f 574/933/45 590/1073/45 591/934/29 +f 582/936/90 598/1074/90 599/937/28 +f 575/939/29 591/1075/29 592/940/43 +f 583/942/28 599/1076/28 600/943/44 +f 576/945/43 592/1077/43 593/946/22 +f 570/948/24 586/1078/24 585/949/42 +f 584/951/44 600/1079/44 586/952/24 +f 577/954/22 593/1080/22 594/955/41 +f 625/526/22 657/525/22 658/957/39 +f 612/959/28 644/1081/28 645/960/24 +f 626/962/39 658/1082/39 659/963/23 +f 601/513/22 633/512/22 634/965/39 +f 613/961/24 645/960/24 646/966/27 +f 627/964/23 659/963/23 660/968/28 +f 614/967/27 646/966/27 647/970/21 +f 628/969/28 660/968/28 661/972/24 +f 615/971/21 647/970/21 648/974/29 +f 629/973/24 661/972/24 662/976/27 +f 616/975/29 648/974/29 641/978/22 +f 603/495/23 635/494/23 636/979/28 +f 630/977/27 662/976/27 663/981/21 +f 617/501/22 649/500/22 650/983/39 +f 604/980/28 636/979/28 637/984/24 +f 631/982/21 663/981/21 664/985/29 +f 689/986/54 695/1083/54 696/987/60 +f 685/989/58 691/1084/58 692/990/59 +f 684/992/52 683/1085/48 681/993/48 +f 689/986/54 688/999/56 694/995/55 +f 685/989/58 684/992/52 682/997/53 +f 688/999/56 687/1005/51 693/1000/51 +f 690/988/47 696/1086/60 681/1002/48 +f 686/991/50 692/1087/59 693/1004/51 diff --git a/src/main/java/assets/hbm/textures/blocks/cyclotron.png b/src/main/java/assets/hbm/textures/blocks/cyclotron.png index 1b833a95b..d4d0d46b7 100644 Binary files a/src/main/java/assets/hbm/textures/blocks/cyclotron.png and b/src/main/java/assets/hbm/textures/blocks/cyclotron.png differ diff --git a/src/main/java/assets/hbm/textures/blocks/schrabidic_acid_flowing.png b/src/main/java/assets/hbm/textures/blocks/schrabidic_acid_flowing.png new file mode 100644 index 000000000..effe665c5 Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/schrabidic_acid_flowing.png differ diff --git a/src/main/java/assets/hbm/textures/blocks/schrabidic_acid_flowing.png.mcmeta b/src/main/java/assets/hbm/textures/blocks/schrabidic_acid_flowing.png.mcmeta new file mode 100644 index 000000000..df9c61a80 --- /dev/null +++ b/src/main/java/assets/hbm/textures/blocks/schrabidic_acid_flowing.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 3 + } +} diff --git a/src/main/java/assets/hbm/textures/blocks/schrabidic_acid_still.png b/src/main/java/assets/hbm/textures/blocks/schrabidic_acid_still.png new file mode 100644 index 000000000..5c7a65497 Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/schrabidic_acid_still.png differ diff --git a/src/main/java/assets/hbm/textures/blocks/schrabidic_acid_still.png.mcmeta b/src/main/java/assets/hbm/textures/blocks/schrabidic_acid_still.png.mcmeta new file mode 100644 index 000000000..55438bf34 --- /dev/null +++ b/src/main/java/assets/hbm/textures/blocks/schrabidic_acid_still.png.mcmeta @@ -0,0 +1,45 @@ +{ + "animation": { + "frametime": 2, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 18, + 17, + 16, + 15, + 14, + 13, + 12, + 11, + 10, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1 + ] + } +} \ No newline at end of file diff --git a/src/main/java/assets/hbm/textures/gui/machine/gui_cyclotron.png b/src/main/java/assets/hbm/textures/gui/machine/gui_cyclotron.png index 76f167219..866cd05fc 100644 Binary files a/src/main/java/assets/hbm/textures/gui/machine/gui_cyclotron.png and b/src/main/java/assets/hbm/textures/gui/machine/gui_cyclotron.png differ diff --git a/src/main/java/assets/hbm/textures/models/machines/cyclotron.png b/src/main/java/assets/hbm/textures/models/machines/cyclotron.png index 0402bc82e..17a0a7de3 100644 Binary files a/src/main/java/assets/hbm/textures/models/machines/cyclotron.png and b/src/main/java/assets/hbm/textures/models/machines/cyclotron.png differ diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index e9aa56ac8..83f70739e 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1820,7 +1820,7 @@ public class ModBlocks { GameRegistry.registerBlock(machine_generator, machine_generator.getUnlocalizedName()); GameRegistry.registerBlock(machine_controller, machine_controller.getUnlocalizedName()); GameRegistry.registerBlock(machine_reactor_small, machine_reactor_small.getUnlocalizedName()); - GameRegistry.registerBlock(machine_industrial_generator, machine_industrial_generator.getUnlocalizedName()); + //GameRegistry.registerBlock(machine_industrial_generator, machine_industrial_generator.getUnlocalizedName()); GameRegistry.registerBlock(machine_radgen, machine_radgen.getUnlocalizedName()); GameRegistry.registerBlock(machine_cyclotron, machine_cyclotron.getUnlocalizedName()); GameRegistry.registerBlock(machine_rtg_grey, machine_rtg_grey.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/MachineCyclotron.java b/src/main/java/com/hbm/blocks/machine/MachineCyclotron.java index cefaca11b..b65e555d3 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCyclotron.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCyclotron.java @@ -1,43 +1,49 @@ package com.hbm.blocks.machine; -import java.util.Random; - +import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; -import com.hbm.handler.MultiblockHandler; -import com.hbm.interfaces.IMultiblock; import com.hbm.main.MainRegistry; -import com.hbm.tileentity.machine.TileEntityDummy; import com.hbm.tileentity.machine.TileEntityMachineCyclotron; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -public class MachineCyclotron extends BlockContainer implements IMultiblock { +public class MachineCyclotron extends BlockDummyable { - private final Random field_149933_a = new Random(); - private Random rand; - private static boolean keepInventory; + public MachineCyclotron(Material mat) { + super(mat); + } - public MachineCyclotron(Material p_i45386_1_) { - super(p_i45386_1_); - rand = new Random(); + @Override + public TileEntity createNewTileEntity(World world, int meta) { + + if(meta >= 12) + return new TileEntityMachineCyclotron(); + + return null; } @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) - { - return Item.getItemFromBlock(ModBlocks.machine_cyclotron); - } + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) + { + return true; + } else if(!player.isSneaking()) + { + int[] pos = this.findCore(world, x, y, z); + + if(pos == null) + return false; + + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_machine_cyclotron, world, pos[0], pos[1], pos[2]); + return true; + } else { + return false; + } + } @Override public int getRenderType() { @@ -53,124 +59,14 @@ public class MachineCyclotron extends BlockContainer implements IMultiblock { public boolean renderAsNormalBlock() { return false; } - + @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) - { - return true; - } else if(!player.isSneaking()) - { - TileEntityMachineCyclotron entity = (TileEntityMachineCyclotron) world.getTileEntity(x, y, z); - if(entity != null) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_machine_cyclotron, world, x, y, z); - } - return true; - } else { - return false; - } + public int[] getDimensions() { + return new int[] {2, 0, 2, 2, 2, 2}; } @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityMachineCyclotron(); - } - - @Override - public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) - { - if (!keepInventory) - { - TileEntityMachineCyclotron tileentityfurnace = (TileEntityMachineCyclotron)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); - - if (tileentityfurnace != null) - { - for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) - { - ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); - - if (itemstack != null) - { - float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - - while (itemstack.stackSize > 0) - { - int j1 = this.field_149933_a.nextInt(21) + 10; - - if (j1 > itemstack.stackSize) - { - j1 = itemstack.stackSize; - } - - itemstack.stackSize -= j1; - EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); - - if (itemstack.hasTagCompound()) - { - entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); - } - - float f3 = 0.05F; - entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3; - entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F; - entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3; - p_149749_1_.spawnEntityInWorld(entityitem); - } - } - } - - p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); - } - } - - super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.cyclDimension)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.cyclDimension, ModBlocks.dummy_block_cyclotron); - - DummyBlockCyclotron.safeBreak = true; - world.setBlock(x, y, z + 1, ModBlocks.dummy_port_cyclotron); - TileEntity te = world.getTileEntity(x, y, z + 1); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x, y, z - 1, ModBlocks.dummy_port_cyclotron); - TileEntity te2 = world.getTileEntity(x, y, z - 1); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x + 1, y, z, ModBlocks.dummy_port_cyclotron); - TileEntity te3 = world.getTileEntity(x + 1, y, z); - if(te3 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te3; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 1, y, z, ModBlocks.dummy_port_cyclotron); - TileEntity te4 = world.getTileEntity(x - 1, y, z); - if(te4 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te4; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockCyclotron.safeBreak = false; - - } else - world.func_147480_a(x, y, z, true); + public int getOffset() { + return 2; } } diff --git a/src/main/java/com/hbm/inventory/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/AssemblerRecipes.java index 9ec3a562b..b95fe3140 100644 --- a/src/main/java/com/hbm/inventory/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/AssemblerRecipes.java @@ -501,6 +501,11 @@ public class AssemblerRecipes { private static void makeRecipe(ComparableStack out, AStack[] in, int duration) { + if(out == null || Item.itemRegistry.getNameForObject(out.item) == null) { + MainRegistry.logger.error("Canceling assembler registration, item was null!"); + return; + } + recipes.put(out, in); time.put(out, duration); } diff --git a/src/main/java/com/hbm/inventory/CyclotronRecipes.java b/src/main/java/com/hbm/inventory/CyclotronRecipes.java new file mode 100644 index 000000000..08a84c52c --- /dev/null +++ b/src/main/java/com/hbm/inventory/CyclotronRecipes.java @@ -0,0 +1,108 @@ +package com.hbm.inventory; + +import java.util.HashMap; + +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.RecipesCommon.OreDictStack; +import com.hbm.items.ModItems; + +import net.minecraft.item.ItemStack; + +public class CyclotronRecipes { + + private static HashMap lithium = new HashMap(); + private static HashMap beryllium = new HashMap(); + private static HashMap carbon = new HashMap(); + private static HashMap copper = new HashMap(); + private static HashMap plutonium = new HashMap(); + + public static void register() { + + /// LITHIUM START /// + lithium.put("dustNetherQuartz", new ItemStack(ModItems.powder_fire)); + lithium.put("dustPhosphorus", new ItemStack(ModItems.sulfur)); + lithium.put("dustIron", new ItemStack(ModItems.powder_cobalt)); + lithium.put("dustGold", new ItemStack(ModItems.nugget_mercury)); + lithium.put("dustPolonium", new ItemStack(ModItems.powder_astatine)); + lithium.put("dustLanthanium", new ItemStack(ModItems.powder_cerium)); + lithium.put("dustActinium", new ItemStack(ModItems.powder_thorium)); + lithium.put("dustUranium", new ItemStack(ModItems.powder_neptunium)); + lithium.put("dustNeptunium", new ItemStack(ModItems.powder_plutonium)); + /// LITHIUM END /// + + /// BERYLLIUM START /// + beryllium.put("dustNetherQuartz", new ItemStack(ModItems.sulfur)); + beryllium.put(new ComparableStack(ModItems.powder_strontium), new ItemStack(ModItems.powder_niobium)); + beryllium.put(new ComparableStack(ModItems.powder_cerium), new ItemStack(ModItems.powder_neodymium)); + beryllium.put("dustThorium", new ItemStack(ModItems.powder_uranium)); + /// BERYLLIUM END /// + + /// CARBON START /// + carbon.put("dustSulfur", new ItemStack(ModItems.powder_titanium)); + carbon.put("dustTitanium", new ItemStack(ModItems.powder_iron)); + carbon.put(new ComparableStack(ModItems.powder_caesium), new ItemStack(ModItems.powder_lanthanium)); + carbon.put(new ComparableStack(ModItems.powder_neodymium), new ItemStack(ModItems.powder_gold)); + carbon.put(new ComparableStack(ModItems.nugget_mercury), new ItemStack(ModItems.powder_polonium)); + carbon.put(new ComparableStack(ModItems.powder_astatine), new ItemStack(ModItems.powder_actinium)); + /// CARBON END /// + + /// COPPER START /// + copper.put("dustBeryllium", new ItemStack(ModItems.powder_quartz)); + copper.put("dustCoal", new ItemStack(ModItems.powder_bromine)); + copper.put("dustTitanium", new ItemStack(ModItems.powder_strontium)); + copper.put("dustIron", new ItemStack(ModItems.powder_niobium)); + copper.put(new ComparableStack(ModItems.powder_bromine), new ItemStack(ModItems.powder_iodine)); + copper.put(new ComparableStack(ModItems.powder_strontium), new ItemStack(ModItems.powder_neodymium)); + copper.put(new ComparableStack(ModItems.powder_niobium), new ItemStack(ModItems.powder_caesium)); + copper.put(new ComparableStack(ModItems.powder_iodine), new ItemStack(ModItems.powder_polonium)); + copper.put(new ComparableStack(ModItems.powder_caesium), new ItemStack(ModItems.powder_actinium)); + copper.put("dustGold", new ItemStack(ModItems.powder_uranium)); + /// COPPER END /// + + /// PLUTONIUM START /// + plutonium.put("dustPhosphorus", new ItemStack(ModItems.powder_tennessine)); + plutonium.put("dustPlutonium", new ItemStack(ModItems.powder_tennessine)); + /// PLUTONIUM END /// + + ///TODO: fictional elements + } + + public static ItemStack getOutput(ItemStack stack, ItemStack box) { + + if(stack == null || stack.getItem() == null || box == null) + return null; + + HashMap pool = null; + + if(box.getItem() == ModItems.part_lithium) { + pool = lithium; + } else if(box.getItem() == ModItems.part_beryllium) { + pool = beryllium; + } else if(box.getItem() == ModItems.part_carbon) { + pool = carbon; + } else if(box.getItem() == ModItems.part_copper) { + pool = copper; + } else if(box.getItem() == ModItems.part_plutonium) { + pool = plutonium; + } + + if(pool == null) + return null; + + ComparableStack comp = new ComparableStack(stack.getItem(), 1, stack.getItemDamage()); + + if(pool.containsKey(comp)) + return pool.get(comp).copy(); + + String[] dictKeys = comp.getDictKeys(); + + for(String key : dictKeys) { + + if(pool.containsKey(key)) + return pool.get(key).copy(); + } + + return null; + } +} diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 5c5f8d58f..4d963e840 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -60,8 +60,9 @@ public class OreDictManager { OreDictionary.registerOre("ingotDineutronium", ModItems.ingot_dineutronium); OreDictionary.registerOre("ingotStarmetal", ModItems.ingot_starmetal); OreDictionary.registerOre("ingotAsbestos", ModItems.ingot_asbestos); - + OreDictionary.registerOre("nuggetLead", ModItems.nugget_lead); + OreDictionary.registerOre("nuggetBeryllium", ModItems.nugget_beryllium); OreDictionary.registerOre("nuggetUranium", ModItems.nugget_uranium); OreDictionary.registerOre("nuggetUranium233", ModItems.nugget_u233); OreDictionary.registerOre("nuggetUranium235", ModItems.nugget_u235); @@ -141,6 +142,7 @@ public class OreDictManager { OreDictionary.registerOre("dustNeptunium", ModItems.powder_neptunium); OreDictionary.registerOre("dustPolonium", ModItems.powder_polonium); OreDictionary.registerOre("dustAsbestos", ModItems.powder_asbestos); + OreDictionary.registerOre("dustPhosphorus", ModItems.powder_fire); OreDictionary.registerOre("dustNeptunium", ModItems.powder_neptunium); OreDictionary.registerOre("dustIodine", ModItems.powder_iodine); diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineCyclotron.java b/src/main/java/com/hbm/inventory/container/ContainerMachineCyclotron.java index 7e80f2f4e..29e7bfe93 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineCyclotron.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineCyclotron.java @@ -6,42 +6,42 @@ import com.hbm.tileentity.machine.TileEntityMachineCyclotron; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; -import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class ContainerMachineCyclotron extends Container { - private TileEntityMachineCyclotron testNuke; - private int progress; + private TileEntityMachineCyclotron cyclotron; - public ContainerMachineCyclotron(InventoryPlayer invPlayer, TileEntityMachineCyclotron tedf) { - progress = 0; + public ContainerMachineCyclotron(InventoryPlayer invPlayer, TileEntityMachineCyclotron tile) { - testNuke = tedf; + cyclotron = tile; //Input - this.addSlotToContainer(new Slot(tedf, 0, 8, 18)); - this.addSlotToContainer(new Slot(tedf, 1, 8, 36)); - this.addSlotToContainer(new Slot(tedf, 2, 8, 54)); + this.addSlotToContainer(new Slot(tile, 0, 17, 18)); + this.addSlotToContainer(new Slot(tile, 1, 17, 36)); + this.addSlotToContainer(new Slot(tile, 2, 17, 54)); //Targets - this.addSlotToContainer(new Slot(tedf, 3, 80, 72)); - this.addSlotToContainer(new Slot(tedf, 4, 98, 72)); - this.addSlotToContainer(new Slot(tedf, 5, 116, 72)); - //Tech - this.addSlotToContainer(new Slot(tedf, 6, 8, 81)); - this.addSlotToContainer(new Slot(tedf, 7, 26, 81)); - this.addSlotToContainer(new Slot(tedf, 8, 44, 81)); - //Battery - this.addSlotToContainer(new Slot(tedf, 9, 152, 108)); - //Cell - this.addSlotToContainer(new Slot(tedf, 10, 8, 108)); + this.addSlotToContainer(new Slot(tile, 3, 107, 18)); + this.addSlotToContainer(new Slot(tile, 4, 107, 36)); + this.addSlotToContainer(new Slot(tile, 5, 107, 54)); //Output - this.addSlotToContainer(new SlotMachineOutput(tedf, 11, 44, 108)); - this.addSlotToContainer(new SlotMachineOutput(tedf, 12, 62, 108)); - this.addSlotToContainer(new SlotMachineOutput(tedf, 13, 80, 108)); - this.addSlotToContainer(new SlotMachineOutput(tedf, 14, 98, 108)); - this.addSlotToContainer(new SlotMachineOutput(tedf, 15, 116, 108)); + this.addSlotToContainer(new SlotMachineOutput(tile, 6, 143, 18)); + this.addSlotToContainer(new SlotMachineOutput(tile, 7, 143, 36)); + this.addSlotToContainer(new SlotMachineOutput(tile, 8, 143, 54)); + //AMAT In + this.addSlotToContainer(new Slot(tile, 9, 143, 90)); + //AMAT Out + this.addSlotToContainer(new SlotMachineOutput(tile, 10, 143, 108)); + //Coolant In + this.addSlotToContainer(new Slot(tile, 11, 62, 72)); + //Coolant Out + this.addSlotToContainer(new SlotMachineOutput(tile, 12, 62, 90)); + //Battery + this.addSlotToContainer(new Slot(tile, 13, 62, 108)); + //Upgrades + this.addSlotToContainer(new Slot(tile, 14, 17, 90)); + this.addSlotToContainer(new Slot(tile, 15, 17, 108)); for(int i = 0; i < 3; i++) { @@ -57,16 +57,10 @@ public class ContainerMachineCyclotron extends Container { } } - @Override - public void addCraftingToCrafters(ICrafting crafting) { - super.addCraftingToCrafters(crafting); - crafting.sendProgressBarUpdate(this, 0, this.testNuke.progress); - } - @Override public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { - ItemStack var3 = null; + /*ItemStack var3 = null; Slot var4 = (Slot) this.inventorySlots.get(par2); if (var4 != null && var4.getHasStack()) @@ -95,36 +89,13 @@ public class ContainerMachineCyclotron extends Container { } } - return var3; + return var3;*/ + + return null; } @Override public boolean canInteractWith(EntityPlayer player) { - return testNuke.isUseableByPlayer(player); - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - - for(int i = 0; i < this.crafters.size(); i++) - { - ICrafting par1 = (ICrafting)this.crafters.get(i); - - if(this.progress != this.testNuke.progress) - { - par1.sendProgressBarUpdate(this, 0, this.testNuke.progress); - } - } - - this.progress = this.testNuke.progress; - } - - @Override - public void updateProgressBar(int i, int j) { - if(i == 0) - { - testNuke.progress = j; - } + return cyclotron.isUseableByPlayer(player); } } diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineCyclotron.java b/src/main/java/com/hbm/inventory/gui/GUIMachineCyclotron.java index 4d3013510..3b433a81e 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineCyclotron.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineCyclotron.java @@ -4,21 +4,24 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineCyclotron; import com.hbm.lib.RefStrings; +import com.hbm.packet.AuxButtonPacket; +import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.machine.TileEntityMachineCyclotron; import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.ResourceLocation; public class GUIMachineCyclotron extends GuiInfoContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_cyclotron.png"); - private TileEntityMachineCyclotron diFurnace; + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/machine/gui_cyclotron.png"); + private TileEntityMachineCyclotron cyclotron; - public GUIMachineCyclotron(InventoryPlayer invPlayer, TileEntityMachineCyclotron tedf) { - super(new ContainerMachineCyclotron(invPlayer, tedf)); - diFurnace = tedf; + public GUIMachineCyclotron(InventoryPlayer invPlayer, TileEntityMachineCyclotron tile) { + super(new ContainerMachineCyclotron(invPlayer, tile)); + cyclotron = tile; this.xSize = 176; this.ySize = 222; @@ -28,27 +31,41 @@ public class GUIMachineCyclotron extends GuiInfoContainer { public void drawScreen(int mouseX, int mouseY, float f) { super.drawScreen(mouseX, mouseY, f); - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 106 - 88, 16, 88, diFurnace.power, diFurnace.maxPower); + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 106 - 88, 16, 88, cyclotron.power, cyclotron.maxPower); } @Override protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + String name = this.cyclotron.hasCustomInventoryName() ? this.cyclotron.getInventoryName() : I18n.format(this.cyclotron.getInventoryName()); this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } + @Override + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + if(guiLeft + 97 <= x && guiLeft + 97 + 18 > x && guiTop + 107 < y && guiTop + 107 + 18 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(cyclotron.xCoord, cyclotron.yCoord, cyclotron.zCoord, 0, 0)); + } + } + @Override protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - int k = (int)diFurnace.getPowerScaled(88); - drawTexturedModalRect(guiLeft + 152, guiTop + 106 - k, 212, 88 - k, 16, k); + int k = (int)cyclotron.getPowerScaled(52); + drawTexturedModalRect(guiLeft + 80, guiTop + 124 - k, 212, 52 - k, 7, k); - int l = diFurnace.getProgressScaled(36); - drawTexturedModalRect(guiLeft + 61, guiTop + 26, 176, 0, l, 36); + int l = cyclotron.getProgressScaled(36); + drawTexturedModalRect(guiLeft + 52, guiTop + 26, 176, 0, l, 36); + + if(cyclotron.isOn) + drawTexturedModalRect(guiLeft + 97, guiTop + 107, 219, 0, 18, 18); } } diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 8e0fdea99..83e6ec28c 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -877,7 +877,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.ammo_5mm_explosive, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_5mm, 'A', ModItems.ingot_semtex }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_5mm_du, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_5mm, 'A', ModItems.ingot_u238 }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_5mm_star, 4), new Object[] { " B ", "BAB", " B ", 'B', ModItems.ammo_5mm_du, 'A', ModItems.ingot_starmetal }); - GameRegistry.addRecipe(new ItemStack(ModItems.ammo_5mm_chlorophyte, 4), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_5mm_du, 'A', ModItems.pellet_chlorophyte }); + GameRegistry.addRecipe(new ItemStack(ModItems.ammo_5mm_chlorophyte, 4), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_5mm, 'A', ModItems.pellet_chlorophyte }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_9mm_ap, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_9mm, 'A', ModItems.ingot_dura_steel }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_9mm_du, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_9mm, 'A', ModItems.ingot_u238 }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_9mm_chlorophyte, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_9mm, 'A', ModItems.pellet_chlorophyte }); @@ -894,7 +894,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50ae_ap, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50ae, 'A', ModItems.ingot_dura_steel }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50ae_du, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50ae, 'A', ModItems.ingot_u238 }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50ae_star, 4), new Object[] { " B ", "BAB", " B ", 'B', ModItems.ammo_50ae_du, 'A', ModItems.ingot_starmetal }); - GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50ae_chlorophyte, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50ae_du, 'A', ModItems.pellet_chlorophyte }); + GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50ae_chlorophyte, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50ae, 'A', ModItems.pellet_chlorophyte }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_556_phosphorus, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_556, 'A', ModItems.ingot_phosphorus }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_556_ap, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_556, 'A', ModItems.ingot_dura_steel }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_556_du, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_556, 'A', ModItems.ingot_u238 }); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 67526e178..17404635e 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -918,6 +918,7 @@ public class MainRegistry { BreederRecipes.registerFuels(); BreederRecipes.registerRecipes(); AssemblerRecipes.loadRecipes(); + CyclotronRecipes.register(); MagicRecipes.register(); TileEntityNukeCustom.registerBombItems(); diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 4bff8d574..a31a0c5ad 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -301,21 +301,7 @@ public class ModEventHandlerClient { public void onRenderWorldLastEvent(RenderWorldLastEvent event) { /* - * what a fucking moron can't even say sorry to some internet retard and has to resort to spending - * hours with modeling a fucking orbital module so he can attach a message to it which is rendered - * in the world at an unreachable space as if anyone's going to read that - * - * the 1.12 port def doesn't need any of this, no idea what to do now that i have the oribtal module <=== correction: the floaty orbital module is kinda fun to have, the attached message is obsolete though - * modeled and textured or with render-in-world technology. i'm 90% sure it was a huge waste of time - * (as is almost everything i do, why have nice things when you can mope and dick around ad infinitum) - * but at least i can p r e t e n d that i was productive in the last couple of days. cyclotron - * overhaul? new turrets? the new silo hatch i promised? nah, i gotta waste time like the retard - * that i am. thinking about it, leaving this note here will make me look like an even bigger - * dumbass, but at this point, why care? - * - * and the retard that i am, i realized 5 hours in that i forgot to add the small cupola window to the - * orbital module, and adding that would mean i'd have to expand the texture and in term redo the UV, - * but who has time for that considering this model is basically useless anyway? + * my ass is heavy */ GL11.glPushMatrix(); @@ -355,7 +341,7 @@ public class ModEventHandlerClient { GL11.glRotated(System.currentTimeMillis() * 0.025 % 360, 0, -1, 0); - String msg = "nosta pls am sorry the server is going to hell"; + String msg = "your ad here"; GL11.glTranslated(0, 3.75, 0); GL11.glRotated(180, 1, 0, 0); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 148b71501..ad73612d0 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -81,6 +81,9 @@ public class ResourceManager { //Crystallizer public static final IModelCustom crystallizer = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/crystallizer.obj")); + //Cyclotron + public static final IModelCustom cyclotron = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/cyclotron.obj")); + //RTG public static final IModelCustom rtg = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/rtg.obj")); @@ -259,6 +262,17 @@ public class ResourceManager { public static final ResourceLocation crystallizer_spinner_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/crystallizer_spinner.png"); public static final ResourceLocation crystallizer_window_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/crystallizer_window.png"); + //Cyclotron + public static final ResourceLocation cyclotron_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/cyclotron.png"); + public static final ResourceLocation cyclotron_ashes = new ResourceLocation(RefStrings.MODID, "textures/models/machines/cyclotron_ashes.png"); + public static final ResourceLocation cyclotron_ashes_filled = new ResourceLocation(RefStrings.MODID, "textures/models/machines/cyclotron_ashes_filled.png"); + public static final ResourceLocation cyclotron_book = new ResourceLocation(RefStrings.MODID, "textures/models/machines/cyclotron_book.png"); + public static final ResourceLocation cyclotron_book_filled = new ResourceLocation(RefStrings.MODID, "textures/models/machines/cyclotron_book_filled.png"); + public static final ResourceLocation cyclotron_gavel = new ResourceLocation(RefStrings.MODID, "textures/models/machines/cyclotron_gavel.png"); + public static final ResourceLocation cyclotron_gavel_filled = new ResourceLocation(RefStrings.MODID, "textures/models/machines/cyclotron_gavel_filled.png"); + public static final ResourceLocation cyclotron_coin = new ResourceLocation(RefStrings.MODID, "textures/models/machines/cyclotron_coin.png"); + public static final ResourceLocation cyclotron_coin_filled = new ResourceLocation(RefStrings.MODID, "textures/models/machines/cyclotron_coin_filled.png"); + //RTG public static final ResourceLocation rtg_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/rtg.png"); public static final ResourceLocation rtg_cell_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/rtg_cell.png"); diff --git a/src/main/java/com/hbm/render/tileentity/RenderCyclotron.java b/src/main/java/com/hbm/render/tileentity/RenderCyclotron.java index 703b2cc8f..d2e5b9137 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderCyclotron.java +++ b/src/main/java/com/hbm/render/tileentity/RenderCyclotron.java @@ -2,38 +2,38 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; -import com.hbm.lib.RefStrings; +import com.hbm.main.ResourceManager; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.model.AdvancedModelLoader; -import net.minecraftforge.client.model.IModelCustom; public class RenderCyclotron extends TileEntitySpecialRenderer { - private static final ResourceLocation body = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/cyclotron.obj"); - private IModelCustom genModel; - private ResourceLocation genTexture; - - public RenderCyclotron() - { - genModel = AdvancedModelLoader.loadModel(body); - genTexture = new ResourceLocation(RefStrings.MODID, "textures/models/cyclotronTexture.png"); - } - @Override - public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) - { + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + GL11.glPushMatrix(); GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glRotatef(180, 0F, 1F, 0F); + GL11.glShadeModel(GL11.GL_SMOOTH); - bindTexture(genTexture); + bindTexture(ResourceManager.cyclotron_tex); + ResourceManager.cyclotron.renderPart("Body"); - genModel.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + + bindTexture(ResourceManager.cyclotron_ashes_filled); + ResourceManager.cyclotron.renderPart("B1"); + bindTexture(ResourceManager.cyclotron_book_filled); + ResourceManager.cyclotron.renderPart("B2"); + bindTexture(ResourceManager.cyclotron_gavel_filled); + ResourceManager.cyclotron.renderPart("B3"); + bindTexture(ResourceManager.cyclotron_coin_filled); + ResourceManager.cyclotron.renderPart("B4"); + + GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/tileentity/RenderFENSU.java b/src/main/java/com/hbm/render/tileentity/RenderFENSU.java index 84f55babc..806ffbdfe 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderFENSU.java +++ b/src/main/java/com/hbm/render/tileentity/RenderFENSU.java @@ -22,6 +22,8 @@ public class RenderFENSU extends TileEntitySpecialRenderer { GL11.glEnable(GL11.GL_CULL_FACE); GL11.glEnable(GL11.GL_LIGHTING); + GL11.glShadeModel(GL11.GL_SMOOTH); + switch(te.getBlockMetadata() - BlockDummyable.offset) { case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java index c5495c618..523e4e60b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java @@ -1,211 +1,56 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; -import java.util.Random; -import com.hbm.config.BombConfig; -import com.hbm.entity.effect.EntityBlackHole; -import com.hbm.entity.effect.EntityCloudFleija; -import com.hbm.entity.logic.EntityNukeExplosionMK3; -import com.hbm.entity.logic.EntityNukeExplosionMK4; -import com.hbm.explosion.ExplosionChaos; -import com.hbm.explosion.ExplosionLarge; -import com.hbm.explosion.ExplosionParticleB; -import com.hbm.explosion.ExplosionThermo; -import com.hbm.interfaces.IConsumer; -import com.hbm.interfaces.ISource; -import com.hbm.inventory.MachineRecipes; +import com.hbm.handler.FluidTypeHandler.FluidType; +import com.hbm.interfaces.IFluidAcceptor; +import com.hbm.interfaces.IFluidSource; +import com.hbm.inventory.CyclotronRecipes; +import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; import com.hbm.lib.Library; -import com.hbm.packet.AuxElectricityPacket; -import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityMachineBase; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; - -public class TileEntityMachineCyclotron extends TileEntity implements ISidedInventory, ISource { - - private ItemStack slots[]; +public class TileEntityMachineCyclotron extends TileEntityMachineBase implements IFluidSource, IFluidAcceptor { + public long power; + public static final long maxPower = 100000000; + public int consumption = 1000000; + + public boolean isOn; + + private int age; + public int progress; - public int soundCycle = 0; - public static final long maxPower = 10000000; - public static final int processTime = 690; - public boolean isOn = false; - public int age = 0; - public List list = new ArrayList(); - Random rand = new Random(); - - private static final int[] slots_top = new int[] { 0 }; - private static final int[] slots_bottom = new int[] { 0, 0 }; - private static final int[] slots_side = new int[] { 0 }; - - private String customName; + public static final int duration = 690; + + public FluidTank coolant; + public FluidTank amat; + + public List list = new ArrayList(); public TileEntityMachineCyclotron() { - slots = new ItemStack[16]; + super(16); + + coolant = new FluidTank(FluidType.COOLANT, 32000, 0); + amat = new FluidTank(FluidType.AMAT, 8000, 1); } @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if (slots[i] != null) { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.cyclotron"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { - return false; - } else { - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64; - } - } - - // You scrubs aren't needed for anything (right now) - @Override - public void openInventory() { - } - - @Override - public void closeInventory() { - } - - @Override - public boolean isItemValidForSlot(int i, ItemStack stack) { - return false; - } - - @Override - public ItemStack decrStackSize(int i, int j) { - if (slots[i] != null) { - if (slots[i].stackSize <= j) { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) { - slots[i] = null; - } - - return itemStack1; - } else { - return null; - } - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); - - this.power = nbt.getLong("power"); - this.progress = nbt.getInteger("progress"); - this.isOn = nbt.getBoolean("isOn"); - slots = new ItemStack[getSizeInventory()]; - - for (int i = 0; i < list.tagCount(); i++) { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if (b0 >= 0 && b0 < slots.length) { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setLong("power", power); - nbt.setInteger("progress", progress); - nbt.setBoolean("isOn", isOn); - NBTTagList list = new NBTTagList(); - - for (int i = 0; i < slots.length; i++) { - if (slots[i] != null) { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte) i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); - } - - @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) { - return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); - } - - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - return this.isItemValidForSlot(i, itemStack); - } - - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { - return false; + public String getName() { + return "container.machineCyclotron"; } @Override public void updateEntity() { - if (!worldObj.isRemote) { - + if(!worldObj.isRemote) { + age++; if(age >= 20) { @@ -213,390 +58,236 @@ public class TileEntityMachineCyclotron extends TileEntity implements ISidedInve } if(age == 9 || age == 19) - ffgeuaInit(); + fillFluidInit(amat.getTankType()); - if(!isOn && hasFuse() && getHeatLevel() != 4 && hasEnergy() && (isPart(slots[0]) || isPart(slots[1]) || isPart(slots[2]))) { - isOn = true; - slots[6] = null; - } - - if(isOn && (!hasFuse() || (!isPart(slots[0]) && !isPart(slots[1]) && !isPart(slots[2])))) { - isOn = false; - } + this.power = Library.chargeTEFromItems(slots, 13, power, maxPower); + this.coolant.loadTank(11, 12, slots); + this.amat.unloadTank(9, 10, slots); if(isOn) { - - this.power += getPower(slots[0]); - this.power += getPower(slots[1]); - this.power += getPower(slots[2]); - if(this.power > maxPower) - power = maxPower; - if(progress < processTime) { + if(canProcess()) { + progress++; + power -= consumption; + + if(progress >= duration) { + process(); + progress = 0; + this.markDirty(); + } + + if(coolant.getFill() > 0) { + + if(worldObj.rand.nextInt(3) == 0) + coolant.setFill(coolant.getFill() - 1); + + } else { + worldObj.newExplosion(null, xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, 25, true, true); + } + } else { progress = 0; - process(); - } - - if(slots[7] != null) { - slots[7].setItemDamage(slots[7].getItemDamage() + 1); - if(slots[7].getItemDamage() >= slots[7].getMaxDamage()) - slots[7] = null; - } - - if(getCoolantTicksLeft() == 100) { - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.shutdown", 10.0F, 1.0F); - } - - if(getHeatLevel() == 1) { - ExplosionChaos.flameDeath(worldObj, this.xCoord, this.yCoord, zCoord, 15); - } - - if(getHeatLevel() == 2) { - ExplosionChaos.flameDeath(worldObj, this.xCoord, this.yCoord, zCoord, 25); - ExplosionChaos.burn(worldObj, this.xCoord, this.yCoord, zCoord, 7); - ExplosionThermo.setEntitiesOnFire(worldObj, this.xCoord, this.yCoord, zCoord, 7); - } - - if(getHeatLevel() == 3) { - ExplosionChaos.flameDeath(worldObj, this.xCoord, this.yCoord, zCoord, 35); - ExplosionChaos.burn(worldObj, this.xCoord, this.yCoord, zCoord, 15); - ExplosionThermo.setEntitiesOnFire(worldObj, this.xCoord, this.yCoord, zCoord, 25); - ExplosionThermo.scorchLight(worldObj, this.xCoord, this.yCoord, zCoord, 5); - if(rand.nextInt(50) == 0) - ExplosionLarge.spawnTracers(worldObj, xCoord + 0.5, yCoord + 5, zCoord + 0.5, 3); - } - - if(getHeatLevel() == 4) { - int i = rand.nextInt(4); - - worldObj.setBlock(xCoord, yCoord, zCoord, Blocks.air); - - if(i == 0) { - ExplosionLarge.explodeFire(worldObj, xCoord, yCoord, zCoord, 35 + rand.nextInt(21), true, true, true); - } - if(i == 1) { - worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, (int)(BombConfig.fatmanRadius * 1.5), xCoord, yCoord, zCoord)); - ExplosionParticleB.spawnMush(worldObj, xCoord, yCoord - 3, zCoord); - } - if(i == 2) { - - EntityNukeExplosionMK3 entity = new EntityNukeExplosionMK3(worldObj); - entity.posX = this.xCoord; - entity.posY = this.yCoord; - entity.posZ = this.zCoord; - int j = 15 + rand.nextInt(21); - entity.destructionRange = j; - entity.speed = 25; - entity.coefficient = 1.0F; - entity.waste = false; - - worldObj.spawnEntityInWorld(entity); - - EntityCloudFleija cloud = new EntityCloudFleija(worldObj, j); - cloud.posX = xCoord; - cloud.posY = yCoord; - cloud.posZ = zCoord; - worldObj.spawnEntityInWorld(cloud); - } - if(i == 3) { - EntityBlackHole bl = new EntityBlackHole(worldObj, 1.5F + rand.nextFloat()); - bl.posX = xCoord + 0.5F; - bl.posY = yCoord + 3.5F; - bl.posZ = zCoord + 0.5F; - worldObj.spawnEntityInWorld(bl); - } } } else { progress = 0; } - power = Library.chargeItemsFromTE(slots, 9, power, maxPower); - PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + + NBTTagCompound data = new NBTTagCompound(); + data.setLong("power", power); + data.setInteger("progress", progress); + data.setBoolean("isOn", isOn); + this.networkPack(data, 25); + + this.coolant.updateTank(xCoord, yCoord, zCoord, this.worldObj.provider.dimensionId); + this.amat.updateTank(xCoord, yCoord, zCoord, this.worldObj.provider.dimensionId); } } + public void networkUnpack(NBTTagCompound data) { + this.isOn = data.getBoolean("isOn"); + this.power = data.getLong("power"); + this.progress = data.getInteger("progress"); + } + + public void handleButtonPacket(int value, int meta) { + + System.out.println("Before: " + isOn); + + if(this.isOn) + this.isOn = false; + else + this.isOn = true; + + System.out.println("After: " + isOn); + } + + public boolean canProcess() { + + if(power < consumption) + return false; + + for(int i = 0; i < 3; i++) { + + ItemStack out = CyclotronRecipes.getOutput(slots[i + 3], slots[i]); + + if(out == null) + continue; + + if(slots[i + 6] == null) + return true; + + if(slots[i + 6].getItem() == out.getItem() && slots[i + 6].getItemDamage() == out.getItemDamage() && slots[i + 6].stackSize < out.getMaxStackSize()) + return true; + } + + return false; + } + public void process() { - ItemStack stack1 = MachineRecipes.getCyclotronOutput(slots[0], slots[3]); - ItemStack stack2 = MachineRecipes.getCyclotronOutput(slots[1], slots[4]); - ItemStack stack3 = MachineRecipes.getCyclotronOutput(slots[2], slots[5]); - if(stack1 != null && hasSpaceForItem(stack1.getItem())) { - addItemPlox(stack1.getItem()); - slots[0].stackSize--; - slots[3].stackSize--; - if(slots[0].stackSize <= 0) - slots[0] = null; - if(slots[3].stackSize <= 0) - slots[3] = null; - } - if(stack2 != null && hasSpaceForItem(stack2.getItem())) { - addItemPlox(stack2.getItem()); - slots[1].stackSize--; - slots[4].stackSize--; - if(slots[1].stackSize <= 0) - slots[1] = null; - if(slots[4].stackSize <= 0) - slots[4] = null; - } - if(stack3 != null && hasSpaceForItem(stack3.getItem())) { - addItemPlox(stack3.getItem()); - slots[2].stackSize--; - slots[5].stackSize--; - if(slots[2].stackSize <= 0) - slots[2] = null; - if(slots[5].stackSize <= 0) - slots[5] = null; - } + int amat = 0; - if(slots[0] != null && stack1 == null) { - if(rand.nextInt(100) < getAmatChance(slots[0])) - if(hasSpaceForItem(ModItems.cell_antimatter) && useCell()) - addItemPlox(ModItems.cell_antimatter); - - slots[0].stackSize--; - if(slots[0].stackSize <= 0) - slots[0] = null; - - } - - if(slots[1] != null && stack1 == null) { - if(rand.nextInt(100) < getAmatChance(slots[1])) - if(hasSpaceForItem(ModItems.cell_antimatter) && useCell()) - addItemPlox(ModItems.cell_antimatter); + for(int i = 0; i < 3; i++) { - slots[1].stackSize--; - if(slots[1].stackSize <= 0) - slots[1] = null; - + ItemStack out = CyclotronRecipes.getOutput(slots[i + 3], slots[i]); + + if(out == null) + continue; + + if(slots[i + 6] == null) { + + amat += this.getAmat(slots[i]); + this.decrStackSize(i, 1); + this.decrStackSize(i + 3, 1); + slots[i + 6] = out; + continue; + } + + if(slots[i + 6].getItem() == out.getItem() && slots[i + 6].getItemDamage() == out.getItemDamage() && slots[i + 6].stackSize < out.getMaxStackSize()) { + + amat += this.getAmat(slots[i]); + this.decrStackSize(i, 1); + this.decrStackSize(i + 3, 1); + slots[i + 6].stackSize++; + } } - if(slots[2] != null && stack1 == null) { - if(rand.nextInt(100) < getAmatChance(slots[2])) - if(hasSpaceForItem(ModItems.cell_antimatter) && useCell()) - addItemPlox(ModItems.cell_antimatter); + this.amat.setFill(this.amat.getFill() + amat); + if(this.amat.getFill() > this.amat.getMaxFill()) + this.amat.setFill(this.amat.getMaxFill()); + } + + public int getAmat(ItemStack stack) { + + //TODO: move to cyclotron recipe handler and register it on a per-recipe basis + + if(stack == null) + return 0; + + if(stack.getItem() == ModItems.part_lithium) + return 50; + if(stack.getItem() == ModItems.part_beryllium) + return 25; + if(stack.getItem() == ModItems.part_carbon) + return 10; + if(stack.getItem() == ModItems.part_copper) + return 15; + if(stack.getItem() == ModItems.part_plutonium) + return 100; + + return 0; + } - slots[2].stackSize--; - if(slots[2].stackSize <= 0) - slots[2] = null; - - } - } - - public boolean hasSpaceForItem(Item item) { - - if(slots[11] == null || slots[12] == null || slots[13] == null || slots[14] == null || slots[15] == null) - return true; - - if(slots[11] != null && slots[11].getItem() == item && slots[11].stackSize < slots[11].getMaxStackSize()) - return true; - if(slots[12] != null && slots[12].getItem() == item && slots[12].stackSize < slots[12].getMaxStackSize()) - return true; - if(slots[13] != null && slots[13].getItem() == item && slots[13].stackSize < slots[13].getMaxStackSize()) - return true; - if(slots[14] != null && slots[14].getItem() == item && slots[14].stackSize < slots[14].getMaxStackSize()) - return true; - if(slots[15] != null && slots[15].getItem() == item && slots[15].stackSize < slots[15].getMaxStackSize()) - return true; - - return false; - } - - public boolean useCell() { - if(slots[10] != null && slots[10].getItem() == ModItems.cell_empty) { - slots[10].stackSize--; - if(slots[10].stackSize <= 0) - slots[10] = null; - return true; - } - return false; - } - - public void addItemPlox(Item item) { - if(slots[11] != null && slots[11].getItem() == item && slots[11].stackSize < slots[11].getMaxStackSize()) { - slots[11].stackSize++; - return; - } - if(slots[12] != null && slots[12].getItem() == item && slots[12].stackSize < slots[12].getMaxStackSize()) { - slots[12].stackSize++; - return; - } - if(slots[13] != null && slots[13].getItem() == item && slots[13].stackSize < slots[13].getMaxStackSize()) { - slots[13].stackSize++; - return; - } - if(slots[14] != null && slots[14].getItem() == item && slots[14].stackSize < slots[14].getMaxStackSize()) { - slots[14].stackSize++; - return; - } - if(slots[15] != null && slots[15].getItem() == item && slots[15].stackSize < slots[15].getMaxStackSize()) { - slots[15].stackSize++; - return; - } - if(slots[11] == null) { - slots[11] = new ItemStack(item, 1); - return; - } - if(slots[12] == null) { - slots[12] = new ItemStack(item, 1); - return; - } - if(slots[13] == null) { - slots[13] = new ItemStack(item, 1); - return; - } - if(slots[14] == null) { - slots[14] = new ItemStack(item, 1); - return; - } - if(slots[15] == null) { - slots[15] = new ItemStack(item, 1); - return; - } - } - - public boolean hasFuse() { - return slots[8] != null && (slots[8].getItem() == ModItems.fuse || slots[8].getItem() == ModItems.screwdriver); - } - - public boolean hasEnergy() { - return slots[6] != null && slots[6].getItem() == ModItems.crystal_energy; - } - - public int getHeatLevel() { - if(slots[7] != null && slots[7].getItem() == ModItems.pellet_coolant) { - int i = (slots[7].getItemDamage() * 100) / slots[7].getMaxDamage(); - if(i < 75) - return 0; - if(i < 85) - return 1; - if(i < 95) - return 2; - return 3; - } - - return 4; - } - - public int getCoolantTicksLeft() { - if(slots[7] != null && slots[7].getItem() == ModItems.pellet_coolant) { - int i = slots[7].getMaxDamage() - slots[7].getItemDamage(); - return i; - } - - return 0; - } - - public boolean isPart(ItemStack stack) { - if(stack != null) { - if(stack.getItem() == ModItems.part_lithium) - return true; - if(stack.getItem() == ModItems.part_beryllium) - return true; - if(stack.getItem() == ModItems.part_carbon) - return true; - if(stack.getItem() == ModItems.part_copper) - return true; - if(stack.getItem() == ModItems.part_plutonium) - return true; - } - return false; - } - - public int getPower(ItemStack stack) { - if(stack != null) { - if(stack.getItem() == ModItems.part_lithium) - return 250; - if(stack.getItem() == ModItems.part_beryllium) - return 350; - if(stack.getItem() == ModItems.part_carbon) - return 600; - if(stack.getItem() == ModItems.part_copper) - return 750; - if(stack.getItem() == ModItems.part_plutonium) - return 1000; - } - return 0; - } - - public int getAmatChance(ItemStack stack) { - if(stack != null) { - if(stack.getItem() == ModItems.part_lithium) - return 2; - if(stack.getItem() == ModItems.part_beryllium) - return 3; - if(stack.getItem() == ModItems.part_carbon) - return 6; - if(stack.getItem() == ModItems.part_copper) - return 29; - if(stack.getItem() == ModItems.part_plutonium) - return 94; - } - return 0; - } - public long getPowerScaled(long i) { return (power * i) / maxPower; } - + public int getProgressScaled(int i) { - return (progress * i) / processTime; + return (progress * i) / duration; } @Override - public void ffgeua(int x, int y, int z, boolean newTact) { + public void setFillstate(int fill, int index) { + if(index == 0) + coolant.setFill(fill); + else if(index == 1) + amat.setFill(fill); + } + + @Override + public void setFluidFill(int fill, FluidType type) { + if(type == FluidType.COOLANT) + coolant.setFill(fill); + else if(type == FluidType.AMAT) + amat.setFill(fill); + } + + @Override + public void setType(FluidType type, int index) { + if(index == 0) + coolant.setTankType(type); + else if(index == 1) + coolant.setTankType(type); + } + + @Override + public List getTanks() { + return Arrays.asList(new FluidTank[] {coolant, amat}); + } + + @Override + public int getFluidFill(FluidType type) { + if(type == FluidType.COOLANT) + return coolant.getFill(); + else if(type == FluidType.AMAT) + return amat.getFill(); - Library.ffgeua(x, y, z, newTact, this, worldObj); + return 0; } @Override - public void ffgeuaInit() { - ffgeua(this.xCoord + 2, this.yCoord, this.zCoord, getTact()); - ffgeua(this.xCoord - 2, this.yCoord, this.zCoord, getTact()); - ffgeua(this.xCoord, this.yCoord, this.zCoord + 2, getTact()); - ffgeua(this.xCoord, this.yCoord, this.zCoord - 2, getTact()); + public void fillFluidInit(FluidType type) { + + fillFluid(xCoord + 3, yCoord, zCoord + 1, getTact(), type); + fillFluid(xCoord + 3, yCoord, zCoord - 1, getTact(), type); + fillFluid(xCoord - 3, yCoord, zCoord + 1, getTact(), type); + fillFluid(xCoord - 3, yCoord, zCoord - 1, getTact(), type); + + fillFluid(xCoord + 1, yCoord, zCoord + 3, getTact(), type); + fillFluid(xCoord - 1, yCoord, zCoord + 3, getTact(), type); + fillFluid(xCoord + 1, yCoord, zCoord - 3, getTact(), type); + fillFluid(xCoord - 1, yCoord, zCoord - 3, getTact(), type); } + @Override + public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { + Library.transmitFluid(x, y, z, newTact, this, worldObj, type); + } + @Override public boolean getTact() { - if (age >= 0 && age < 10) { - return true; - } - - return false; - } - - @Override - public AxisAlignedBB getRenderBoundingBox() { - return TileEntity.INFINITE_EXTENT_AABB; - } - - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { - return 65536.0D; + return age >= 0 && age < 10; } @Override - public long getSPower() { - return power; - } - - @Override - public void setSPower(long i) { - this.power = i; - } - - @Override - public List getList() { + public List getFluidList(FluidType type) { return list; } @Override - public void clearList() { - this.list.clear(); + public void clearFluidList(FluidType type) { + list.clear(); + } + + @Override + public int getMaxFluidFill(FluidType type) { + + if(type == FluidType.COOLANT) + return coolant.getMaxFill(); + + return 0; } }