From d13385f2db9d5337bb354c99cdb381028634b787 Mon Sep 17 00:00:00 2001 From: Bob Date: Fri, 18 Sep 2020 23:33:38 +0200 Subject: [PATCH] most of the cyclotron work and some other crunchy garbage --- .../assets/hbm/models/machines/cyclotron.obj | 2842 +++++++++++++++++ .../assets/hbm/textures/blocks/cyclotron.png | Bin 237 -> 345 bytes .../blocks/schrabidic_acid_flowing.png | Bin 0 -> 5986 bytes .../blocks/schrabidic_acid_flowing.png.mcmeta | 5 + .../textures/blocks/schrabidic_acid_still.png | Bin 0 -> 5493 bytes .../blocks/schrabidic_acid_still.png.mcmeta | 45 + .../textures/gui/machine/gui_cyclotron.png | Bin 5266 -> 5281 bytes .../textures/models/machines/cyclotron.png | Bin 3933 -> 4007 bytes src/main/java/com/hbm/blocks/ModBlocks.java | 2 +- .../hbm/blocks/machine/MachineCyclotron.java | 172 +- .../com/hbm/inventory/AssemblerRecipes.java | 5 + .../com/hbm/inventory/CyclotronRecipes.java | 108 + .../com/hbm/inventory/OreDictManager.java | 4 +- .../container/ContainerMachineCyclotron.java | 89 +- .../inventory/gui/GUIMachineCyclotron.java | 39 +- .../java/com/hbm/main/CraftingManager.java | 4 +- src/main/java/com/hbm/main/MainRegistry.java | 1 + .../com/hbm/main/ModEventHandlerClient.java | 18 +- .../java/com/hbm/main/ResourceManager.java | 14 + .../render/tileentity/RenderCyclotron.java | 38 +- .../hbm/render/tileentity/RenderFENSU.java | 2 + .../machine/TileEntityMachineCyclotron.java | 741 ++--- 22 files changed, 3357 insertions(+), 772 deletions(-) create mode 100644 src/main/java/assets/hbm/models/machines/cyclotron.obj create mode 100644 src/main/java/assets/hbm/textures/blocks/schrabidic_acid_flowing.png create mode 100644 src/main/java/assets/hbm/textures/blocks/schrabidic_acid_flowing.png.mcmeta create mode 100644 src/main/java/assets/hbm/textures/blocks/schrabidic_acid_still.png create mode 100644 src/main/java/assets/hbm/textures/blocks/schrabidic_acid_still.png.mcmeta create mode 100644 src/main/java/com/hbm/inventory/CyclotronRecipes.java 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 1b833a95b16eaa1709c9f4c12a4319a1fe77e2dd..d4d0d46b7575da932a0b86bcae9a9c528cc7ab9c 100644 GIT binary patch delta 303 zcmV+~0nq;K0oekOGk*aPNklSWD7394WtP{ zNFymzx(d_VxC{LXw%WkOcGdK|jCH+sxx#?s=Dif2p!89YC6T{M4O(jex~}8#Rn6Yj`4L^$k!6|Z18A)g5de5fMa$ zIF1*dh|KU{x+pN|y?q0qX_`d?P_x&z?IQEH`UHlti_#`?`DBhOI4K zw$Ko;7q$y9-N7^Q wrZE)}k;onHAcO!S>Y8eGN2sfAwH;wvUupY3!$YG@*#H0l07*qoM6N<$g5jc9!2kdN 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 0000000000000000000000000000000000000000..effe665c5eec171eb4128103ebf94c07416cfe06 GIT binary patch literal 5986 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 I+RpL+4|7nOTmS$7 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..5c7a654973e85cb4036600344818d78396f6d948 GIT binary patch literal 5493 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 z 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 literal 0 HcmV?d00001 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 76f167219d4078a506863dae49d35179c05a746e..866cd05fc18f32492c839fcbc1ebbb1c01dfc539 100644 GIT binary patch literal 5281 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 literal 5266 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 Z_c$LavtVOIsHwj_t;}uAUYUBt{TpsRpk)96 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 0402bc82e789008196b9232b49d4e8feb3967499..17a0a7de333b84dda44758a6f23f8e49455a96ad 100644 GIT binary patch literal 4007 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 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; } }